Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / third_party / boringssl / win-x86 / crypto / sha / sha256-586.asm
blobfe36bc5c9adc85c5d5b05b2221d88b122d81b1e9
1 %ifidn __OUTPUT_FORMAT__,obj
2 section code use32 class=code align=64
3 %elifidn __OUTPUT_FORMAT__,win32
4 %ifdef __YASM_VERSION_ID__
5 %if __YASM_VERSION_ID__ < 01010000h
6 %error yasm version 1.1.0 or later needed.
7 %endif
8 ; Yasm automatically includes .00 and complains about redefining it.
9 ; https://www.tortall.net/projects/yasm/manual/html/objfmt-win32-safeseh.html
10 %else
11 $@feat.00 equ 1
12 %endif
13 section .text code align=64
14 %else
15 section .text code
16 %endif
17 ;extern _OPENSSL_ia32cap_P
18 global _sha256_block_data_order
19 align 16
20 _sha256_block_data_order:
21 L$_sha256_block_data_order_begin:
22 push ebp
23 push ebx
24 push esi
25 push edi
26 mov esi,DWORD [20+esp]
27 mov edi,DWORD [24+esp]
28 mov eax,DWORD [28+esp]
29 mov ebx,esp
30 call L$000pic_point
31 L$000pic_point:
32 pop ebp
33 lea ebp,[(L$001K256-L$000pic_point)+ebp]
34 sub esp,16
35 and esp,-64
36 shl eax,6
37 add eax,edi
38 mov DWORD [esp],esi
39 mov DWORD [4+esp],edi
40 mov DWORD [8+esp],eax
41 mov DWORD [12+esp],ebx
42 lea edx,[_OPENSSL_ia32cap_P]
43 mov ecx,DWORD [edx]
44 mov ebx,DWORD [4+edx]
45 test ecx,1048576
46 jnz NEAR L$002loop
47 mov edx,DWORD [8+edx]
48 test ecx,16777216
49 jz NEAR L$003no_xmm
50 and ecx,1073741824
51 and ebx,268435968
52 test edx,536870912
53 jnz NEAR L$004shaext
54 or ecx,ebx
55 and ecx,1342177280
56 cmp ecx,1342177280
57 test ebx,512
58 jnz NEAR L$005SSSE3
59 L$003no_xmm:
60 sub eax,edi
61 cmp eax,256
62 jae NEAR L$006unrolled
63 jmp NEAR L$002loop
64 align 16
65 L$002loop:
66 mov eax,DWORD [edi]
67 mov ebx,DWORD [4+edi]
68 mov ecx,DWORD [8+edi]
69 bswap eax
70 mov edx,DWORD [12+edi]
71 bswap ebx
72 push eax
73 bswap ecx
74 push ebx
75 bswap edx
76 push ecx
77 push edx
78 mov eax,DWORD [16+edi]
79 mov ebx,DWORD [20+edi]
80 mov ecx,DWORD [24+edi]
81 bswap eax
82 mov edx,DWORD [28+edi]
83 bswap ebx
84 push eax
85 bswap ecx
86 push ebx
87 bswap edx
88 push ecx
89 push edx
90 mov eax,DWORD [32+edi]
91 mov ebx,DWORD [36+edi]
92 mov ecx,DWORD [40+edi]
93 bswap eax
94 mov edx,DWORD [44+edi]
95 bswap ebx
96 push eax
97 bswap ecx
98 push ebx
99 bswap edx
100 push ecx
101 push edx
102 mov eax,DWORD [48+edi]
103 mov ebx,DWORD [52+edi]
104 mov ecx,DWORD [56+edi]
105 bswap eax
106 mov edx,DWORD [60+edi]
107 bswap ebx
108 push eax
109 bswap ecx
110 push ebx
111 bswap edx
112 push ecx
113 push edx
114 add edi,64
115 lea esp,[esp-36]
116 mov DWORD [104+esp],edi
117 mov eax,DWORD [esi]
118 mov ebx,DWORD [4+esi]
119 mov ecx,DWORD [8+esi]
120 mov edi,DWORD [12+esi]
121 mov DWORD [8+esp],ebx
122 xor ebx,ecx
123 mov DWORD [12+esp],ecx
124 mov DWORD [16+esp],edi
125 mov DWORD [esp],ebx
126 mov edx,DWORD [16+esi]
127 mov ebx,DWORD [20+esi]
128 mov ecx,DWORD [24+esi]
129 mov edi,DWORD [28+esi]
130 mov DWORD [24+esp],ebx
131 mov DWORD [28+esp],ecx
132 mov DWORD [32+esp],edi
133 align 16
134 L$00700_15:
135 mov ecx,edx
136 mov esi,DWORD [24+esp]
137 ror ecx,14
138 mov edi,DWORD [28+esp]
139 xor ecx,edx
140 xor esi,edi
141 mov ebx,DWORD [96+esp]
142 ror ecx,5
143 and esi,edx
144 mov DWORD [20+esp],edx
145 xor edx,ecx
146 add ebx,DWORD [32+esp]
147 xor esi,edi
148 ror edx,6
149 mov ecx,eax
150 add ebx,esi
151 ror ecx,9
152 add ebx,edx
153 mov edi,DWORD [8+esp]
154 xor ecx,eax
155 mov DWORD [4+esp],eax
156 lea esp,[esp-4]
157 ror ecx,11
158 mov esi,DWORD [ebp]
159 xor ecx,eax
160 mov edx,DWORD [20+esp]
161 xor eax,edi
162 ror ecx,2
163 add ebx,esi
164 mov DWORD [esp],eax
165 add edx,ebx
166 and eax,DWORD [4+esp]
167 add ebx,ecx
168 xor eax,edi
169 add ebp,4
170 add eax,ebx
171 cmp esi,3248222580
172 jne NEAR L$00700_15
173 mov ecx,DWORD [156+esp]
174 jmp NEAR L$00816_63
175 align 16
176 L$00816_63:
177 mov ebx,ecx
178 mov esi,DWORD [104+esp]
179 ror ecx,11
180 mov edi,esi
181 ror esi,2
182 xor ecx,ebx
183 shr ebx,3
184 ror ecx,7
185 xor esi,edi
186 xor ebx,ecx
187 ror esi,17
188 add ebx,DWORD [160+esp]
189 shr edi,10
190 add ebx,DWORD [124+esp]
191 mov ecx,edx
192 xor edi,esi
193 mov esi,DWORD [24+esp]
194 ror ecx,14
195 add ebx,edi
196 mov edi,DWORD [28+esp]
197 xor ecx,edx
198 xor esi,edi
199 mov DWORD [96+esp],ebx
200 ror ecx,5
201 and esi,edx
202 mov DWORD [20+esp],edx
203 xor edx,ecx
204 add ebx,DWORD [32+esp]
205 xor esi,edi
206 ror edx,6
207 mov ecx,eax
208 add ebx,esi
209 ror ecx,9
210 add ebx,edx
211 mov edi,DWORD [8+esp]
212 xor ecx,eax
213 mov DWORD [4+esp],eax
214 lea esp,[esp-4]
215 ror ecx,11
216 mov esi,DWORD [ebp]
217 xor ecx,eax
218 mov edx,DWORD [20+esp]
219 xor eax,edi
220 ror ecx,2
221 add ebx,esi
222 mov DWORD [esp],eax
223 add edx,ebx
224 and eax,DWORD [4+esp]
225 add ebx,ecx
226 xor eax,edi
227 mov ecx,DWORD [156+esp]
228 add ebp,4
229 add eax,ebx
230 cmp esi,3329325298
231 jne NEAR L$00816_63
232 mov esi,DWORD [356+esp]
233 mov ebx,DWORD [8+esp]
234 mov ecx,DWORD [16+esp]
235 add eax,DWORD [esi]
236 add ebx,DWORD [4+esi]
237 add edi,DWORD [8+esi]
238 add ecx,DWORD [12+esi]
239 mov DWORD [esi],eax
240 mov DWORD [4+esi],ebx
241 mov DWORD [8+esi],edi
242 mov DWORD [12+esi],ecx
243 mov eax,DWORD [24+esp]
244 mov ebx,DWORD [28+esp]
245 mov ecx,DWORD [32+esp]
246 mov edi,DWORD [360+esp]
247 add edx,DWORD [16+esi]
248 add eax,DWORD [20+esi]
249 add ebx,DWORD [24+esi]
250 add ecx,DWORD [28+esi]
251 mov DWORD [16+esi],edx
252 mov DWORD [20+esi],eax
253 mov DWORD [24+esi],ebx
254 mov DWORD [28+esi],ecx
255 lea esp,[356+esp]
256 sub ebp,256
257 cmp edi,DWORD [8+esp]
258 jb NEAR L$002loop
259 mov esp,DWORD [12+esp]
260 pop edi
261 pop esi
262 pop ebx
263 pop ebp
265 align 64
266 L$001K256:
267 dd 1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298
268 dd 66051,67438087,134810123,202182159
269 db 83,72,65,50,53,54,32,98,108,111,99,107,32,116,114,97
270 db 110,115,102,111,114,109,32,102,111,114,32,120,56,54,44,32
271 db 67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97
272 db 112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103
273 db 62,0
274 align 16
275 L$006unrolled:
276 lea esp,[esp-96]
277 mov eax,DWORD [esi]
278 mov ebp,DWORD [4+esi]
279 mov ecx,DWORD [8+esi]
280 mov ebx,DWORD [12+esi]
281 mov DWORD [4+esp],ebp
282 xor ebp,ecx
283 mov DWORD [8+esp],ecx
284 mov DWORD [12+esp],ebx
285 mov edx,DWORD [16+esi]
286 mov ebx,DWORD [20+esi]
287 mov ecx,DWORD [24+esi]
288 mov esi,DWORD [28+esi]
289 mov DWORD [20+esp],ebx
290 mov DWORD [24+esp],ecx
291 mov DWORD [28+esp],esi
292 jmp NEAR L$009grand_loop
293 align 16
294 L$009grand_loop:
295 mov ebx,DWORD [edi]
296 mov ecx,DWORD [4+edi]
297 bswap ebx
298 mov esi,DWORD [8+edi]
299 bswap ecx
300 mov DWORD [32+esp],ebx
301 bswap esi
302 mov DWORD [36+esp],ecx
303 mov DWORD [40+esp],esi
304 mov ebx,DWORD [12+edi]
305 mov ecx,DWORD [16+edi]
306 bswap ebx
307 mov esi,DWORD [20+edi]
308 bswap ecx
309 mov DWORD [44+esp],ebx
310 bswap esi
311 mov DWORD [48+esp],ecx
312 mov DWORD [52+esp],esi
313 mov ebx,DWORD [24+edi]
314 mov ecx,DWORD [28+edi]
315 bswap ebx
316 mov esi,DWORD [32+edi]
317 bswap ecx
318 mov DWORD [56+esp],ebx
319 bswap esi
320 mov DWORD [60+esp],ecx
321 mov DWORD [64+esp],esi
322 mov ebx,DWORD [36+edi]
323 mov ecx,DWORD [40+edi]
324 bswap ebx
325 mov esi,DWORD [44+edi]
326 bswap ecx
327 mov DWORD [68+esp],ebx
328 bswap esi
329 mov DWORD [72+esp],ecx
330 mov DWORD [76+esp],esi
331 mov ebx,DWORD [48+edi]
332 mov ecx,DWORD [52+edi]
333 bswap ebx
334 mov esi,DWORD [56+edi]
335 bswap ecx
336 mov DWORD [80+esp],ebx
337 bswap esi
338 mov DWORD [84+esp],ecx
339 mov DWORD [88+esp],esi
340 mov ebx,DWORD [60+edi]
341 add edi,64
342 bswap ebx
343 mov DWORD [100+esp],edi
344 mov DWORD [92+esp],ebx
345 mov ecx,edx
346 mov esi,DWORD [20+esp]
347 ror edx,14
348 mov edi,DWORD [24+esp]
349 xor edx,ecx
350 mov ebx,DWORD [32+esp]
351 xor esi,edi
352 ror edx,5
353 and esi,ecx
354 mov DWORD [16+esp],ecx
355 xor edx,ecx
356 add ebx,DWORD [28+esp]
357 xor edi,esi
358 ror edx,6
359 mov ecx,eax
360 add ebx,edi
361 ror ecx,9
362 mov esi,eax
363 mov edi,DWORD [4+esp]
364 xor ecx,eax
365 mov DWORD [esp],eax
366 xor eax,edi
367 ror ecx,11
368 and ebp,eax
369 lea edx,[1116352408+edx*1+ebx]
370 xor ecx,esi
371 xor ebp,edi
372 ror ecx,2
373 add ebp,edx
374 add edx,DWORD [12+esp]
375 add ebp,ecx
376 mov esi,edx
377 mov ecx,DWORD [16+esp]
378 ror edx,14
379 mov edi,DWORD [20+esp]
380 xor edx,esi
381 mov ebx,DWORD [36+esp]
382 xor ecx,edi
383 ror edx,5
384 and ecx,esi
385 mov DWORD [12+esp],esi
386 xor edx,esi
387 add ebx,DWORD [24+esp]
388 xor edi,ecx
389 ror edx,6
390 mov esi,ebp
391 add ebx,edi
392 ror esi,9
393 mov ecx,ebp
394 mov edi,DWORD [esp]
395 xor esi,ebp
396 mov DWORD [28+esp],ebp
397 xor ebp,edi
398 ror esi,11
399 and eax,ebp
400 lea edx,[1899447441+edx*1+ebx]
401 xor esi,ecx
402 xor eax,edi
403 ror esi,2
404 add eax,edx
405 add edx,DWORD [8+esp]
406 add eax,esi
407 mov ecx,edx
408 mov esi,DWORD [12+esp]
409 ror edx,14
410 mov edi,DWORD [16+esp]
411 xor edx,ecx
412 mov ebx,DWORD [40+esp]
413 xor esi,edi
414 ror edx,5
415 and esi,ecx
416 mov DWORD [8+esp],ecx
417 xor edx,ecx
418 add ebx,DWORD [20+esp]
419 xor edi,esi
420 ror edx,6
421 mov ecx,eax
422 add ebx,edi
423 ror ecx,9
424 mov esi,eax
425 mov edi,DWORD [28+esp]
426 xor ecx,eax
427 mov DWORD [24+esp],eax
428 xor eax,edi
429 ror ecx,11
430 and ebp,eax
431 lea edx,[3049323471+edx*1+ebx]
432 xor ecx,esi
433 xor ebp,edi
434 ror ecx,2
435 add ebp,edx
436 add edx,DWORD [4+esp]
437 add ebp,ecx
438 mov esi,edx
439 mov ecx,DWORD [8+esp]
440 ror edx,14
441 mov edi,DWORD [12+esp]
442 xor edx,esi
443 mov ebx,DWORD [44+esp]
444 xor ecx,edi
445 ror edx,5
446 and ecx,esi
447 mov DWORD [4+esp],esi
448 xor edx,esi
449 add ebx,DWORD [16+esp]
450 xor edi,ecx
451 ror edx,6
452 mov esi,ebp
453 add ebx,edi
454 ror esi,9
455 mov ecx,ebp
456 mov edi,DWORD [24+esp]
457 xor esi,ebp
458 mov DWORD [20+esp],ebp
459 xor ebp,edi
460 ror esi,11
461 and eax,ebp
462 lea edx,[3921009573+edx*1+ebx]
463 xor esi,ecx
464 xor eax,edi
465 ror esi,2
466 add eax,edx
467 add edx,DWORD [esp]
468 add eax,esi
469 mov ecx,edx
470 mov esi,DWORD [4+esp]
471 ror edx,14
472 mov edi,DWORD [8+esp]
473 xor edx,ecx
474 mov ebx,DWORD [48+esp]
475 xor esi,edi
476 ror edx,5
477 and esi,ecx
478 mov DWORD [esp],ecx
479 xor edx,ecx
480 add ebx,DWORD [12+esp]
481 xor edi,esi
482 ror edx,6
483 mov ecx,eax
484 add ebx,edi
485 ror ecx,9
486 mov esi,eax
487 mov edi,DWORD [20+esp]
488 xor ecx,eax
489 mov DWORD [16+esp],eax
490 xor eax,edi
491 ror ecx,11
492 and ebp,eax
493 lea edx,[961987163+edx*1+ebx]
494 xor ecx,esi
495 xor ebp,edi
496 ror ecx,2
497 add ebp,edx
498 add edx,DWORD [28+esp]
499 add ebp,ecx
500 mov esi,edx
501 mov ecx,DWORD [esp]
502 ror edx,14
503 mov edi,DWORD [4+esp]
504 xor edx,esi
505 mov ebx,DWORD [52+esp]
506 xor ecx,edi
507 ror edx,5
508 and ecx,esi
509 mov DWORD [28+esp],esi
510 xor edx,esi
511 add ebx,DWORD [8+esp]
512 xor edi,ecx
513 ror edx,6
514 mov esi,ebp
515 add ebx,edi
516 ror esi,9
517 mov ecx,ebp
518 mov edi,DWORD [16+esp]
519 xor esi,ebp
520 mov DWORD [12+esp],ebp
521 xor ebp,edi
522 ror esi,11
523 and eax,ebp
524 lea edx,[1508970993+edx*1+ebx]
525 xor esi,ecx
526 xor eax,edi
527 ror esi,2
528 add eax,edx
529 add edx,DWORD [24+esp]
530 add eax,esi
531 mov ecx,edx
532 mov esi,DWORD [28+esp]
533 ror edx,14
534 mov edi,DWORD [esp]
535 xor edx,ecx
536 mov ebx,DWORD [56+esp]
537 xor esi,edi
538 ror edx,5
539 and esi,ecx
540 mov DWORD [24+esp],ecx
541 xor edx,ecx
542 add ebx,DWORD [4+esp]
543 xor edi,esi
544 ror edx,6
545 mov ecx,eax
546 add ebx,edi
547 ror ecx,9
548 mov esi,eax
549 mov edi,DWORD [12+esp]
550 xor ecx,eax
551 mov DWORD [8+esp],eax
552 xor eax,edi
553 ror ecx,11
554 and ebp,eax
555 lea edx,[2453635748+edx*1+ebx]
556 xor ecx,esi
557 xor ebp,edi
558 ror ecx,2
559 add ebp,edx
560 add edx,DWORD [20+esp]
561 add ebp,ecx
562 mov esi,edx
563 mov ecx,DWORD [24+esp]
564 ror edx,14
565 mov edi,DWORD [28+esp]
566 xor edx,esi
567 mov ebx,DWORD [60+esp]
568 xor ecx,edi
569 ror edx,5
570 and ecx,esi
571 mov DWORD [20+esp],esi
572 xor edx,esi
573 add ebx,DWORD [esp]
574 xor edi,ecx
575 ror edx,6
576 mov esi,ebp
577 add ebx,edi
578 ror esi,9
579 mov ecx,ebp
580 mov edi,DWORD [8+esp]
581 xor esi,ebp
582 mov DWORD [4+esp],ebp
583 xor ebp,edi
584 ror esi,11
585 and eax,ebp
586 lea edx,[2870763221+edx*1+ebx]
587 xor esi,ecx
588 xor eax,edi
589 ror esi,2
590 add eax,edx
591 add edx,DWORD [16+esp]
592 add eax,esi
593 mov ecx,edx
594 mov esi,DWORD [20+esp]
595 ror edx,14
596 mov edi,DWORD [24+esp]
597 xor edx,ecx
598 mov ebx,DWORD [64+esp]
599 xor esi,edi
600 ror edx,5
601 and esi,ecx
602 mov DWORD [16+esp],ecx
603 xor edx,ecx
604 add ebx,DWORD [28+esp]
605 xor edi,esi
606 ror edx,6
607 mov ecx,eax
608 add ebx,edi
609 ror ecx,9
610 mov esi,eax
611 mov edi,DWORD [4+esp]
612 xor ecx,eax
613 mov DWORD [esp],eax
614 xor eax,edi
615 ror ecx,11
616 and ebp,eax
617 lea edx,[3624381080+edx*1+ebx]
618 xor ecx,esi
619 xor ebp,edi
620 ror ecx,2
621 add ebp,edx
622 add edx,DWORD [12+esp]
623 add ebp,ecx
624 mov esi,edx
625 mov ecx,DWORD [16+esp]
626 ror edx,14
627 mov edi,DWORD [20+esp]
628 xor edx,esi
629 mov ebx,DWORD [68+esp]
630 xor ecx,edi
631 ror edx,5
632 and ecx,esi
633 mov DWORD [12+esp],esi
634 xor edx,esi
635 add ebx,DWORD [24+esp]
636 xor edi,ecx
637 ror edx,6
638 mov esi,ebp
639 add ebx,edi
640 ror esi,9
641 mov ecx,ebp
642 mov edi,DWORD [esp]
643 xor esi,ebp
644 mov DWORD [28+esp],ebp
645 xor ebp,edi
646 ror esi,11
647 and eax,ebp
648 lea edx,[310598401+edx*1+ebx]
649 xor esi,ecx
650 xor eax,edi
651 ror esi,2
652 add eax,edx
653 add edx,DWORD [8+esp]
654 add eax,esi
655 mov ecx,edx
656 mov esi,DWORD [12+esp]
657 ror edx,14
658 mov edi,DWORD [16+esp]
659 xor edx,ecx
660 mov ebx,DWORD [72+esp]
661 xor esi,edi
662 ror edx,5
663 and esi,ecx
664 mov DWORD [8+esp],ecx
665 xor edx,ecx
666 add ebx,DWORD [20+esp]
667 xor edi,esi
668 ror edx,6
669 mov ecx,eax
670 add ebx,edi
671 ror ecx,9
672 mov esi,eax
673 mov edi,DWORD [28+esp]
674 xor ecx,eax
675 mov DWORD [24+esp],eax
676 xor eax,edi
677 ror ecx,11
678 and ebp,eax
679 lea edx,[607225278+edx*1+ebx]
680 xor ecx,esi
681 xor ebp,edi
682 ror ecx,2
683 add ebp,edx
684 add edx,DWORD [4+esp]
685 add ebp,ecx
686 mov esi,edx
687 mov ecx,DWORD [8+esp]
688 ror edx,14
689 mov edi,DWORD [12+esp]
690 xor edx,esi
691 mov ebx,DWORD [76+esp]
692 xor ecx,edi
693 ror edx,5
694 and ecx,esi
695 mov DWORD [4+esp],esi
696 xor edx,esi
697 add ebx,DWORD [16+esp]
698 xor edi,ecx
699 ror edx,6
700 mov esi,ebp
701 add ebx,edi
702 ror esi,9
703 mov ecx,ebp
704 mov edi,DWORD [24+esp]
705 xor esi,ebp
706 mov DWORD [20+esp],ebp
707 xor ebp,edi
708 ror esi,11
709 and eax,ebp
710 lea edx,[1426881987+edx*1+ebx]
711 xor esi,ecx
712 xor eax,edi
713 ror esi,2
714 add eax,edx
715 add edx,DWORD [esp]
716 add eax,esi
717 mov ecx,edx
718 mov esi,DWORD [4+esp]
719 ror edx,14
720 mov edi,DWORD [8+esp]
721 xor edx,ecx
722 mov ebx,DWORD [80+esp]
723 xor esi,edi
724 ror edx,5
725 and esi,ecx
726 mov DWORD [esp],ecx
727 xor edx,ecx
728 add ebx,DWORD [12+esp]
729 xor edi,esi
730 ror edx,6
731 mov ecx,eax
732 add ebx,edi
733 ror ecx,9
734 mov esi,eax
735 mov edi,DWORD [20+esp]
736 xor ecx,eax
737 mov DWORD [16+esp],eax
738 xor eax,edi
739 ror ecx,11
740 and ebp,eax
741 lea edx,[1925078388+edx*1+ebx]
742 xor ecx,esi
743 xor ebp,edi
744 ror ecx,2
745 add ebp,edx
746 add edx,DWORD [28+esp]
747 add ebp,ecx
748 mov esi,edx
749 mov ecx,DWORD [esp]
750 ror edx,14
751 mov edi,DWORD [4+esp]
752 xor edx,esi
753 mov ebx,DWORD [84+esp]
754 xor ecx,edi
755 ror edx,5
756 and ecx,esi
757 mov DWORD [28+esp],esi
758 xor edx,esi
759 add ebx,DWORD [8+esp]
760 xor edi,ecx
761 ror edx,6
762 mov esi,ebp
763 add ebx,edi
764 ror esi,9
765 mov ecx,ebp
766 mov edi,DWORD [16+esp]
767 xor esi,ebp
768 mov DWORD [12+esp],ebp
769 xor ebp,edi
770 ror esi,11
771 and eax,ebp
772 lea edx,[2162078206+edx*1+ebx]
773 xor esi,ecx
774 xor eax,edi
775 ror esi,2
776 add eax,edx
777 add edx,DWORD [24+esp]
778 add eax,esi
779 mov ecx,edx
780 mov esi,DWORD [28+esp]
781 ror edx,14
782 mov edi,DWORD [esp]
783 xor edx,ecx
784 mov ebx,DWORD [88+esp]
785 xor esi,edi
786 ror edx,5
787 and esi,ecx
788 mov DWORD [24+esp],ecx
789 xor edx,ecx
790 add ebx,DWORD [4+esp]
791 xor edi,esi
792 ror edx,6
793 mov ecx,eax
794 add ebx,edi
795 ror ecx,9
796 mov esi,eax
797 mov edi,DWORD [12+esp]
798 xor ecx,eax
799 mov DWORD [8+esp],eax
800 xor eax,edi
801 ror ecx,11
802 and ebp,eax
803 lea edx,[2614888103+edx*1+ebx]
804 xor ecx,esi
805 xor ebp,edi
806 ror ecx,2
807 add ebp,edx
808 add edx,DWORD [20+esp]
809 add ebp,ecx
810 mov esi,edx
811 mov ecx,DWORD [24+esp]
812 ror edx,14
813 mov edi,DWORD [28+esp]
814 xor edx,esi
815 mov ebx,DWORD [92+esp]
816 xor ecx,edi
817 ror edx,5
818 and ecx,esi
819 mov DWORD [20+esp],esi
820 xor edx,esi
821 add ebx,DWORD [esp]
822 xor edi,ecx
823 ror edx,6
824 mov esi,ebp
825 add ebx,edi
826 ror esi,9
827 mov ecx,ebp
828 mov edi,DWORD [8+esp]
829 xor esi,ebp
830 mov DWORD [4+esp],ebp
831 xor ebp,edi
832 ror esi,11
833 and eax,ebp
834 lea edx,[3248222580+edx*1+ebx]
835 xor esi,ecx
836 xor eax,edi
837 mov ecx,DWORD [36+esp]
838 ror esi,2
839 add eax,edx
840 add edx,DWORD [16+esp]
841 add eax,esi
842 mov esi,DWORD [88+esp]
843 mov ebx,ecx
844 ror ecx,11
845 mov edi,esi
846 ror esi,2
847 xor ecx,ebx
848 shr ebx,3
849 ror ecx,7
850 xor esi,edi
851 xor ebx,ecx
852 ror esi,17
853 add ebx,DWORD [32+esp]
854 shr edi,10
855 add ebx,DWORD [68+esp]
856 mov ecx,edx
857 xor edi,esi
858 mov esi,DWORD [20+esp]
859 ror edx,14
860 add ebx,edi
861 mov edi,DWORD [24+esp]
862 xor edx,ecx
863 mov DWORD [32+esp],ebx
864 xor esi,edi
865 ror edx,5
866 and esi,ecx
867 mov DWORD [16+esp],ecx
868 xor edx,ecx
869 add ebx,DWORD [28+esp]
870 xor edi,esi
871 ror edx,6
872 mov ecx,eax
873 add ebx,edi
874 ror ecx,9
875 mov esi,eax
876 mov edi,DWORD [4+esp]
877 xor ecx,eax
878 mov DWORD [esp],eax
879 xor eax,edi
880 ror ecx,11
881 and ebp,eax
882 lea edx,[3835390401+edx*1+ebx]
883 xor ecx,esi
884 xor ebp,edi
885 mov esi,DWORD [40+esp]
886 ror ecx,2
887 add ebp,edx
888 add edx,DWORD [12+esp]
889 add ebp,ecx
890 mov ecx,DWORD [92+esp]
891 mov ebx,esi
892 ror esi,11
893 mov edi,ecx
894 ror ecx,2
895 xor esi,ebx
896 shr ebx,3
897 ror esi,7
898 xor ecx,edi
899 xor ebx,esi
900 ror ecx,17
901 add ebx,DWORD [36+esp]
902 shr edi,10
903 add ebx,DWORD [72+esp]
904 mov esi,edx
905 xor edi,ecx
906 mov ecx,DWORD [16+esp]
907 ror edx,14
908 add ebx,edi
909 mov edi,DWORD [20+esp]
910 xor edx,esi
911 mov DWORD [36+esp],ebx
912 xor ecx,edi
913 ror edx,5
914 and ecx,esi
915 mov DWORD [12+esp],esi
916 xor edx,esi
917 add ebx,DWORD [24+esp]
918 xor edi,ecx
919 ror edx,6
920 mov esi,ebp
921 add ebx,edi
922 ror esi,9
923 mov ecx,ebp
924 mov edi,DWORD [esp]
925 xor esi,ebp
926 mov DWORD [28+esp],ebp
927 xor ebp,edi
928 ror esi,11
929 and eax,ebp
930 lea edx,[4022224774+edx*1+ebx]
931 xor esi,ecx
932 xor eax,edi
933 mov ecx,DWORD [44+esp]
934 ror esi,2
935 add eax,edx
936 add edx,DWORD [8+esp]
937 add eax,esi
938 mov esi,DWORD [32+esp]
939 mov ebx,ecx
940 ror ecx,11
941 mov edi,esi
942 ror esi,2
943 xor ecx,ebx
944 shr ebx,3
945 ror ecx,7
946 xor esi,edi
947 xor ebx,ecx
948 ror esi,17
949 add ebx,DWORD [40+esp]
950 shr edi,10
951 add ebx,DWORD [76+esp]
952 mov ecx,edx
953 xor edi,esi
954 mov esi,DWORD [12+esp]
955 ror edx,14
956 add ebx,edi
957 mov edi,DWORD [16+esp]
958 xor edx,ecx
959 mov DWORD [40+esp],ebx
960 xor esi,edi
961 ror edx,5
962 and esi,ecx
963 mov DWORD [8+esp],ecx
964 xor edx,ecx
965 add ebx,DWORD [20+esp]
966 xor edi,esi
967 ror edx,6
968 mov ecx,eax
969 add ebx,edi
970 ror ecx,9
971 mov esi,eax
972 mov edi,DWORD [28+esp]
973 xor ecx,eax
974 mov DWORD [24+esp],eax
975 xor eax,edi
976 ror ecx,11
977 and ebp,eax
978 lea edx,[264347078+edx*1+ebx]
979 xor ecx,esi
980 xor ebp,edi
981 mov esi,DWORD [48+esp]
982 ror ecx,2
983 add ebp,edx
984 add edx,DWORD [4+esp]
985 add ebp,ecx
986 mov ecx,DWORD [36+esp]
987 mov ebx,esi
988 ror esi,11
989 mov edi,ecx
990 ror ecx,2
991 xor esi,ebx
992 shr ebx,3
993 ror esi,7
994 xor ecx,edi
995 xor ebx,esi
996 ror ecx,17
997 add ebx,DWORD [44+esp]
998 shr edi,10
999 add ebx,DWORD [80+esp]
1000 mov esi,edx
1001 xor edi,ecx
1002 mov ecx,DWORD [8+esp]
1003 ror edx,14
1004 add ebx,edi
1005 mov edi,DWORD [12+esp]
1006 xor edx,esi
1007 mov DWORD [44+esp],ebx
1008 xor ecx,edi
1009 ror edx,5
1010 and ecx,esi
1011 mov DWORD [4+esp],esi
1012 xor edx,esi
1013 add ebx,DWORD [16+esp]
1014 xor edi,ecx
1015 ror edx,6
1016 mov esi,ebp
1017 add ebx,edi
1018 ror esi,9
1019 mov ecx,ebp
1020 mov edi,DWORD [24+esp]
1021 xor esi,ebp
1022 mov DWORD [20+esp],ebp
1023 xor ebp,edi
1024 ror esi,11
1025 and eax,ebp
1026 lea edx,[604807628+edx*1+ebx]
1027 xor esi,ecx
1028 xor eax,edi
1029 mov ecx,DWORD [52+esp]
1030 ror esi,2
1031 add eax,edx
1032 add edx,DWORD [esp]
1033 add eax,esi
1034 mov esi,DWORD [40+esp]
1035 mov ebx,ecx
1036 ror ecx,11
1037 mov edi,esi
1038 ror esi,2
1039 xor ecx,ebx
1040 shr ebx,3
1041 ror ecx,7
1042 xor esi,edi
1043 xor ebx,ecx
1044 ror esi,17
1045 add ebx,DWORD [48+esp]
1046 shr edi,10
1047 add ebx,DWORD [84+esp]
1048 mov ecx,edx
1049 xor edi,esi
1050 mov esi,DWORD [4+esp]
1051 ror edx,14
1052 add ebx,edi
1053 mov edi,DWORD [8+esp]
1054 xor edx,ecx
1055 mov DWORD [48+esp],ebx
1056 xor esi,edi
1057 ror edx,5
1058 and esi,ecx
1059 mov DWORD [esp],ecx
1060 xor edx,ecx
1061 add ebx,DWORD [12+esp]
1062 xor edi,esi
1063 ror edx,6
1064 mov ecx,eax
1065 add ebx,edi
1066 ror ecx,9
1067 mov esi,eax
1068 mov edi,DWORD [20+esp]
1069 xor ecx,eax
1070 mov DWORD [16+esp],eax
1071 xor eax,edi
1072 ror ecx,11
1073 and ebp,eax
1074 lea edx,[770255983+edx*1+ebx]
1075 xor ecx,esi
1076 xor ebp,edi
1077 mov esi,DWORD [56+esp]
1078 ror ecx,2
1079 add ebp,edx
1080 add edx,DWORD [28+esp]
1081 add ebp,ecx
1082 mov ecx,DWORD [44+esp]
1083 mov ebx,esi
1084 ror esi,11
1085 mov edi,ecx
1086 ror ecx,2
1087 xor esi,ebx
1088 shr ebx,3
1089 ror esi,7
1090 xor ecx,edi
1091 xor ebx,esi
1092 ror ecx,17
1093 add ebx,DWORD [52+esp]
1094 shr edi,10
1095 add ebx,DWORD [88+esp]
1096 mov esi,edx
1097 xor edi,ecx
1098 mov ecx,DWORD [esp]
1099 ror edx,14
1100 add ebx,edi
1101 mov edi,DWORD [4+esp]
1102 xor edx,esi
1103 mov DWORD [52+esp],ebx
1104 xor ecx,edi
1105 ror edx,5
1106 and ecx,esi
1107 mov DWORD [28+esp],esi
1108 xor edx,esi
1109 add ebx,DWORD [8+esp]
1110 xor edi,ecx
1111 ror edx,6
1112 mov esi,ebp
1113 add ebx,edi
1114 ror esi,9
1115 mov ecx,ebp
1116 mov edi,DWORD [16+esp]
1117 xor esi,ebp
1118 mov DWORD [12+esp],ebp
1119 xor ebp,edi
1120 ror esi,11
1121 and eax,ebp
1122 lea edx,[1249150122+edx*1+ebx]
1123 xor esi,ecx
1124 xor eax,edi
1125 mov ecx,DWORD [60+esp]
1126 ror esi,2
1127 add eax,edx
1128 add edx,DWORD [24+esp]
1129 add eax,esi
1130 mov esi,DWORD [48+esp]
1131 mov ebx,ecx
1132 ror ecx,11
1133 mov edi,esi
1134 ror esi,2
1135 xor ecx,ebx
1136 shr ebx,3
1137 ror ecx,7
1138 xor esi,edi
1139 xor ebx,ecx
1140 ror esi,17
1141 add ebx,DWORD [56+esp]
1142 shr edi,10
1143 add ebx,DWORD [92+esp]
1144 mov ecx,edx
1145 xor edi,esi
1146 mov esi,DWORD [28+esp]
1147 ror edx,14
1148 add ebx,edi
1149 mov edi,DWORD [esp]
1150 xor edx,ecx
1151 mov DWORD [56+esp],ebx
1152 xor esi,edi
1153 ror edx,5
1154 and esi,ecx
1155 mov DWORD [24+esp],ecx
1156 xor edx,ecx
1157 add ebx,DWORD [4+esp]
1158 xor edi,esi
1159 ror edx,6
1160 mov ecx,eax
1161 add ebx,edi
1162 ror ecx,9
1163 mov esi,eax
1164 mov edi,DWORD [12+esp]
1165 xor ecx,eax
1166 mov DWORD [8+esp],eax
1167 xor eax,edi
1168 ror ecx,11
1169 and ebp,eax
1170 lea edx,[1555081692+edx*1+ebx]
1171 xor ecx,esi
1172 xor ebp,edi
1173 mov esi,DWORD [64+esp]
1174 ror ecx,2
1175 add ebp,edx
1176 add edx,DWORD [20+esp]
1177 add ebp,ecx
1178 mov ecx,DWORD [52+esp]
1179 mov ebx,esi
1180 ror esi,11
1181 mov edi,ecx
1182 ror ecx,2
1183 xor esi,ebx
1184 shr ebx,3
1185 ror esi,7
1186 xor ecx,edi
1187 xor ebx,esi
1188 ror ecx,17
1189 add ebx,DWORD [60+esp]
1190 shr edi,10
1191 add ebx,DWORD [32+esp]
1192 mov esi,edx
1193 xor edi,ecx
1194 mov ecx,DWORD [24+esp]
1195 ror edx,14
1196 add ebx,edi
1197 mov edi,DWORD [28+esp]
1198 xor edx,esi
1199 mov DWORD [60+esp],ebx
1200 xor ecx,edi
1201 ror edx,5
1202 and ecx,esi
1203 mov DWORD [20+esp],esi
1204 xor edx,esi
1205 add ebx,DWORD [esp]
1206 xor edi,ecx
1207 ror edx,6
1208 mov esi,ebp
1209 add ebx,edi
1210 ror esi,9
1211 mov ecx,ebp
1212 mov edi,DWORD [8+esp]
1213 xor esi,ebp
1214 mov DWORD [4+esp],ebp
1215 xor ebp,edi
1216 ror esi,11
1217 and eax,ebp
1218 lea edx,[1996064986+edx*1+ebx]
1219 xor esi,ecx
1220 xor eax,edi
1221 mov ecx,DWORD [68+esp]
1222 ror esi,2
1223 add eax,edx
1224 add edx,DWORD [16+esp]
1225 add eax,esi
1226 mov esi,DWORD [56+esp]
1227 mov ebx,ecx
1228 ror ecx,11
1229 mov edi,esi
1230 ror esi,2
1231 xor ecx,ebx
1232 shr ebx,3
1233 ror ecx,7
1234 xor esi,edi
1235 xor ebx,ecx
1236 ror esi,17
1237 add ebx,DWORD [64+esp]
1238 shr edi,10
1239 add ebx,DWORD [36+esp]
1240 mov ecx,edx
1241 xor edi,esi
1242 mov esi,DWORD [20+esp]
1243 ror edx,14
1244 add ebx,edi
1245 mov edi,DWORD [24+esp]
1246 xor edx,ecx
1247 mov DWORD [64+esp],ebx
1248 xor esi,edi
1249 ror edx,5
1250 and esi,ecx
1251 mov DWORD [16+esp],ecx
1252 xor edx,ecx
1253 add ebx,DWORD [28+esp]
1254 xor edi,esi
1255 ror edx,6
1256 mov ecx,eax
1257 add ebx,edi
1258 ror ecx,9
1259 mov esi,eax
1260 mov edi,DWORD [4+esp]
1261 xor ecx,eax
1262 mov DWORD [esp],eax
1263 xor eax,edi
1264 ror ecx,11
1265 and ebp,eax
1266 lea edx,[2554220882+edx*1+ebx]
1267 xor ecx,esi
1268 xor ebp,edi
1269 mov esi,DWORD [72+esp]
1270 ror ecx,2
1271 add ebp,edx
1272 add edx,DWORD [12+esp]
1273 add ebp,ecx
1274 mov ecx,DWORD [60+esp]
1275 mov ebx,esi
1276 ror esi,11
1277 mov edi,ecx
1278 ror ecx,2
1279 xor esi,ebx
1280 shr ebx,3
1281 ror esi,7
1282 xor ecx,edi
1283 xor ebx,esi
1284 ror ecx,17
1285 add ebx,DWORD [68+esp]
1286 shr edi,10
1287 add ebx,DWORD [40+esp]
1288 mov esi,edx
1289 xor edi,ecx
1290 mov ecx,DWORD [16+esp]
1291 ror edx,14
1292 add ebx,edi
1293 mov edi,DWORD [20+esp]
1294 xor edx,esi
1295 mov DWORD [68+esp],ebx
1296 xor ecx,edi
1297 ror edx,5
1298 and ecx,esi
1299 mov DWORD [12+esp],esi
1300 xor edx,esi
1301 add ebx,DWORD [24+esp]
1302 xor edi,ecx
1303 ror edx,6
1304 mov esi,ebp
1305 add ebx,edi
1306 ror esi,9
1307 mov ecx,ebp
1308 mov edi,DWORD [esp]
1309 xor esi,ebp
1310 mov DWORD [28+esp],ebp
1311 xor ebp,edi
1312 ror esi,11
1313 and eax,ebp
1314 lea edx,[2821834349+edx*1+ebx]
1315 xor esi,ecx
1316 xor eax,edi
1317 mov ecx,DWORD [76+esp]
1318 ror esi,2
1319 add eax,edx
1320 add edx,DWORD [8+esp]
1321 add eax,esi
1322 mov esi,DWORD [64+esp]
1323 mov ebx,ecx
1324 ror ecx,11
1325 mov edi,esi
1326 ror esi,2
1327 xor ecx,ebx
1328 shr ebx,3
1329 ror ecx,7
1330 xor esi,edi
1331 xor ebx,ecx
1332 ror esi,17
1333 add ebx,DWORD [72+esp]
1334 shr edi,10
1335 add ebx,DWORD [44+esp]
1336 mov ecx,edx
1337 xor edi,esi
1338 mov esi,DWORD [12+esp]
1339 ror edx,14
1340 add ebx,edi
1341 mov edi,DWORD [16+esp]
1342 xor edx,ecx
1343 mov DWORD [72+esp],ebx
1344 xor esi,edi
1345 ror edx,5
1346 and esi,ecx
1347 mov DWORD [8+esp],ecx
1348 xor edx,ecx
1349 add ebx,DWORD [20+esp]
1350 xor edi,esi
1351 ror edx,6
1352 mov ecx,eax
1353 add ebx,edi
1354 ror ecx,9
1355 mov esi,eax
1356 mov edi,DWORD [28+esp]
1357 xor ecx,eax
1358 mov DWORD [24+esp],eax
1359 xor eax,edi
1360 ror ecx,11
1361 and ebp,eax
1362 lea edx,[2952996808+edx*1+ebx]
1363 xor ecx,esi
1364 xor ebp,edi
1365 mov esi,DWORD [80+esp]
1366 ror ecx,2
1367 add ebp,edx
1368 add edx,DWORD [4+esp]
1369 add ebp,ecx
1370 mov ecx,DWORD [68+esp]
1371 mov ebx,esi
1372 ror esi,11
1373 mov edi,ecx
1374 ror ecx,2
1375 xor esi,ebx
1376 shr ebx,3
1377 ror esi,7
1378 xor ecx,edi
1379 xor ebx,esi
1380 ror ecx,17
1381 add ebx,DWORD [76+esp]
1382 shr edi,10
1383 add ebx,DWORD [48+esp]
1384 mov esi,edx
1385 xor edi,ecx
1386 mov ecx,DWORD [8+esp]
1387 ror edx,14
1388 add ebx,edi
1389 mov edi,DWORD [12+esp]
1390 xor edx,esi
1391 mov DWORD [76+esp],ebx
1392 xor ecx,edi
1393 ror edx,5
1394 and ecx,esi
1395 mov DWORD [4+esp],esi
1396 xor edx,esi
1397 add ebx,DWORD [16+esp]
1398 xor edi,ecx
1399 ror edx,6
1400 mov esi,ebp
1401 add ebx,edi
1402 ror esi,9
1403 mov ecx,ebp
1404 mov edi,DWORD [24+esp]
1405 xor esi,ebp
1406 mov DWORD [20+esp],ebp
1407 xor ebp,edi
1408 ror esi,11
1409 and eax,ebp
1410 lea edx,[3210313671+edx*1+ebx]
1411 xor esi,ecx
1412 xor eax,edi
1413 mov ecx,DWORD [84+esp]
1414 ror esi,2
1415 add eax,edx
1416 add edx,DWORD [esp]
1417 add eax,esi
1418 mov esi,DWORD [72+esp]
1419 mov ebx,ecx
1420 ror ecx,11
1421 mov edi,esi
1422 ror esi,2
1423 xor ecx,ebx
1424 shr ebx,3
1425 ror ecx,7
1426 xor esi,edi
1427 xor ebx,ecx
1428 ror esi,17
1429 add ebx,DWORD [80+esp]
1430 shr edi,10
1431 add ebx,DWORD [52+esp]
1432 mov ecx,edx
1433 xor edi,esi
1434 mov esi,DWORD [4+esp]
1435 ror edx,14
1436 add ebx,edi
1437 mov edi,DWORD [8+esp]
1438 xor edx,ecx
1439 mov DWORD [80+esp],ebx
1440 xor esi,edi
1441 ror edx,5
1442 and esi,ecx
1443 mov DWORD [esp],ecx
1444 xor edx,ecx
1445 add ebx,DWORD [12+esp]
1446 xor edi,esi
1447 ror edx,6
1448 mov ecx,eax
1449 add ebx,edi
1450 ror ecx,9
1451 mov esi,eax
1452 mov edi,DWORD [20+esp]
1453 xor ecx,eax
1454 mov DWORD [16+esp],eax
1455 xor eax,edi
1456 ror ecx,11
1457 and ebp,eax
1458 lea edx,[3336571891+edx*1+ebx]
1459 xor ecx,esi
1460 xor ebp,edi
1461 mov esi,DWORD [88+esp]
1462 ror ecx,2
1463 add ebp,edx
1464 add edx,DWORD [28+esp]
1465 add ebp,ecx
1466 mov ecx,DWORD [76+esp]
1467 mov ebx,esi
1468 ror esi,11
1469 mov edi,ecx
1470 ror ecx,2
1471 xor esi,ebx
1472 shr ebx,3
1473 ror esi,7
1474 xor ecx,edi
1475 xor ebx,esi
1476 ror ecx,17
1477 add ebx,DWORD [84+esp]
1478 shr edi,10
1479 add ebx,DWORD [56+esp]
1480 mov esi,edx
1481 xor edi,ecx
1482 mov ecx,DWORD [esp]
1483 ror edx,14
1484 add ebx,edi
1485 mov edi,DWORD [4+esp]
1486 xor edx,esi
1487 mov DWORD [84+esp],ebx
1488 xor ecx,edi
1489 ror edx,5
1490 and ecx,esi
1491 mov DWORD [28+esp],esi
1492 xor edx,esi
1493 add ebx,DWORD [8+esp]
1494 xor edi,ecx
1495 ror edx,6
1496 mov esi,ebp
1497 add ebx,edi
1498 ror esi,9
1499 mov ecx,ebp
1500 mov edi,DWORD [16+esp]
1501 xor esi,ebp
1502 mov DWORD [12+esp],ebp
1503 xor ebp,edi
1504 ror esi,11
1505 and eax,ebp
1506 lea edx,[3584528711+edx*1+ebx]
1507 xor esi,ecx
1508 xor eax,edi
1509 mov ecx,DWORD [92+esp]
1510 ror esi,2
1511 add eax,edx
1512 add edx,DWORD [24+esp]
1513 add eax,esi
1514 mov esi,DWORD [80+esp]
1515 mov ebx,ecx
1516 ror ecx,11
1517 mov edi,esi
1518 ror esi,2
1519 xor ecx,ebx
1520 shr ebx,3
1521 ror ecx,7
1522 xor esi,edi
1523 xor ebx,ecx
1524 ror esi,17
1525 add ebx,DWORD [88+esp]
1526 shr edi,10
1527 add ebx,DWORD [60+esp]
1528 mov ecx,edx
1529 xor edi,esi
1530 mov esi,DWORD [28+esp]
1531 ror edx,14
1532 add ebx,edi
1533 mov edi,DWORD [esp]
1534 xor edx,ecx
1535 mov DWORD [88+esp],ebx
1536 xor esi,edi
1537 ror edx,5
1538 and esi,ecx
1539 mov DWORD [24+esp],ecx
1540 xor edx,ecx
1541 add ebx,DWORD [4+esp]
1542 xor edi,esi
1543 ror edx,6
1544 mov ecx,eax
1545 add ebx,edi
1546 ror ecx,9
1547 mov esi,eax
1548 mov edi,DWORD [12+esp]
1549 xor ecx,eax
1550 mov DWORD [8+esp],eax
1551 xor eax,edi
1552 ror ecx,11
1553 and ebp,eax
1554 lea edx,[113926993+edx*1+ebx]
1555 xor ecx,esi
1556 xor ebp,edi
1557 mov esi,DWORD [32+esp]
1558 ror ecx,2
1559 add ebp,edx
1560 add edx,DWORD [20+esp]
1561 add ebp,ecx
1562 mov ecx,DWORD [84+esp]
1563 mov ebx,esi
1564 ror esi,11
1565 mov edi,ecx
1566 ror ecx,2
1567 xor esi,ebx
1568 shr ebx,3
1569 ror esi,7
1570 xor ecx,edi
1571 xor ebx,esi
1572 ror ecx,17
1573 add ebx,DWORD [92+esp]
1574 shr edi,10
1575 add ebx,DWORD [64+esp]
1576 mov esi,edx
1577 xor edi,ecx
1578 mov ecx,DWORD [24+esp]
1579 ror edx,14
1580 add ebx,edi
1581 mov edi,DWORD [28+esp]
1582 xor edx,esi
1583 mov DWORD [92+esp],ebx
1584 xor ecx,edi
1585 ror edx,5
1586 and ecx,esi
1587 mov DWORD [20+esp],esi
1588 xor edx,esi
1589 add ebx,DWORD [esp]
1590 xor edi,ecx
1591 ror edx,6
1592 mov esi,ebp
1593 add ebx,edi
1594 ror esi,9
1595 mov ecx,ebp
1596 mov edi,DWORD [8+esp]
1597 xor esi,ebp
1598 mov DWORD [4+esp],ebp
1599 xor ebp,edi
1600 ror esi,11
1601 and eax,ebp
1602 lea edx,[338241895+edx*1+ebx]
1603 xor esi,ecx
1604 xor eax,edi
1605 mov ecx,DWORD [36+esp]
1606 ror esi,2
1607 add eax,edx
1608 add edx,DWORD [16+esp]
1609 add eax,esi
1610 mov esi,DWORD [88+esp]
1611 mov ebx,ecx
1612 ror ecx,11
1613 mov edi,esi
1614 ror esi,2
1615 xor ecx,ebx
1616 shr ebx,3
1617 ror ecx,7
1618 xor esi,edi
1619 xor ebx,ecx
1620 ror esi,17
1621 add ebx,DWORD [32+esp]
1622 shr edi,10
1623 add ebx,DWORD [68+esp]
1624 mov ecx,edx
1625 xor edi,esi
1626 mov esi,DWORD [20+esp]
1627 ror edx,14
1628 add ebx,edi
1629 mov edi,DWORD [24+esp]
1630 xor edx,ecx
1631 mov DWORD [32+esp],ebx
1632 xor esi,edi
1633 ror edx,5
1634 and esi,ecx
1635 mov DWORD [16+esp],ecx
1636 xor edx,ecx
1637 add ebx,DWORD [28+esp]
1638 xor edi,esi
1639 ror edx,6
1640 mov ecx,eax
1641 add ebx,edi
1642 ror ecx,9
1643 mov esi,eax
1644 mov edi,DWORD [4+esp]
1645 xor ecx,eax
1646 mov DWORD [esp],eax
1647 xor eax,edi
1648 ror ecx,11
1649 and ebp,eax
1650 lea edx,[666307205+edx*1+ebx]
1651 xor ecx,esi
1652 xor ebp,edi
1653 mov esi,DWORD [40+esp]
1654 ror ecx,2
1655 add ebp,edx
1656 add edx,DWORD [12+esp]
1657 add ebp,ecx
1658 mov ecx,DWORD [92+esp]
1659 mov ebx,esi
1660 ror esi,11
1661 mov edi,ecx
1662 ror ecx,2
1663 xor esi,ebx
1664 shr ebx,3
1665 ror esi,7
1666 xor ecx,edi
1667 xor ebx,esi
1668 ror ecx,17
1669 add ebx,DWORD [36+esp]
1670 shr edi,10
1671 add ebx,DWORD [72+esp]
1672 mov esi,edx
1673 xor edi,ecx
1674 mov ecx,DWORD [16+esp]
1675 ror edx,14
1676 add ebx,edi
1677 mov edi,DWORD [20+esp]
1678 xor edx,esi
1679 mov DWORD [36+esp],ebx
1680 xor ecx,edi
1681 ror edx,5
1682 and ecx,esi
1683 mov DWORD [12+esp],esi
1684 xor edx,esi
1685 add ebx,DWORD [24+esp]
1686 xor edi,ecx
1687 ror edx,6
1688 mov esi,ebp
1689 add ebx,edi
1690 ror esi,9
1691 mov ecx,ebp
1692 mov edi,DWORD [esp]
1693 xor esi,ebp
1694 mov DWORD [28+esp],ebp
1695 xor ebp,edi
1696 ror esi,11
1697 and eax,ebp
1698 lea edx,[773529912+edx*1+ebx]
1699 xor esi,ecx
1700 xor eax,edi
1701 mov ecx,DWORD [44+esp]
1702 ror esi,2
1703 add eax,edx
1704 add edx,DWORD [8+esp]
1705 add eax,esi
1706 mov esi,DWORD [32+esp]
1707 mov ebx,ecx
1708 ror ecx,11
1709 mov edi,esi
1710 ror esi,2
1711 xor ecx,ebx
1712 shr ebx,3
1713 ror ecx,7
1714 xor esi,edi
1715 xor ebx,ecx
1716 ror esi,17
1717 add ebx,DWORD [40+esp]
1718 shr edi,10
1719 add ebx,DWORD [76+esp]
1720 mov ecx,edx
1721 xor edi,esi
1722 mov esi,DWORD [12+esp]
1723 ror edx,14
1724 add ebx,edi
1725 mov edi,DWORD [16+esp]
1726 xor edx,ecx
1727 mov DWORD [40+esp],ebx
1728 xor esi,edi
1729 ror edx,5
1730 and esi,ecx
1731 mov DWORD [8+esp],ecx
1732 xor edx,ecx
1733 add ebx,DWORD [20+esp]
1734 xor edi,esi
1735 ror edx,6
1736 mov ecx,eax
1737 add ebx,edi
1738 ror ecx,9
1739 mov esi,eax
1740 mov edi,DWORD [28+esp]
1741 xor ecx,eax
1742 mov DWORD [24+esp],eax
1743 xor eax,edi
1744 ror ecx,11
1745 and ebp,eax
1746 lea edx,[1294757372+edx*1+ebx]
1747 xor ecx,esi
1748 xor ebp,edi
1749 mov esi,DWORD [48+esp]
1750 ror ecx,2
1751 add ebp,edx
1752 add edx,DWORD [4+esp]
1753 add ebp,ecx
1754 mov ecx,DWORD [36+esp]
1755 mov ebx,esi
1756 ror esi,11
1757 mov edi,ecx
1758 ror ecx,2
1759 xor esi,ebx
1760 shr ebx,3
1761 ror esi,7
1762 xor ecx,edi
1763 xor ebx,esi
1764 ror ecx,17
1765 add ebx,DWORD [44+esp]
1766 shr edi,10
1767 add ebx,DWORD [80+esp]
1768 mov esi,edx
1769 xor edi,ecx
1770 mov ecx,DWORD [8+esp]
1771 ror edx,14
1772 add ebx,edi
1773 mov edi,DWORD [12+esp]
1774 xor edx,esi
1775 mov DWORD [44+esp],ebx
1776 xor ecx,edi
1777 ror edx,5
1778 and ecx,esi
1779 mov DWORD [4+esp],esi
1780 xor edx,esi
1781 add ebx,DWORD [16+esp]
1782 xor edi,ecx
1783 ror edx,6
1784 mov esi,ebp
1785 add ebx,edi
1786 ror esi,9
1787 mov ecx,ebp
1788 mov edi,DWORD [24+esp]
1789 xor esi,ebp
1790 mov DWORD [20+esp],ebp
1791 xor ebp,edi
1792 ror esi,11
1793 and eax,ebp
1794 lea edx,[1396182291+edx*1+ebx]
1795 xor esi,ecx
1796 xor eax,edi
1797 mov ecx,DWORD [52+esp]
1798 ror esi,2
1799 add eax,edx
1800 add edx,DWORD [esp]
1801 add eax,esi
1802 mov esi,DWORD [40+esp]
1803 mov ebx,ecx
1804 ror ecx,11
1805 mov edi,esi
1806 ror esi,2
1807 xor ecx,ebx
1808 shr ebx,3
1809 ror ecx,7
1810 xor esi,edi
1811 xor ebx,ecx
1812 ror esi,17
1813 add ebx,DWORD [48+esp]
1814 shr edi,10
1815 add ebx,DWORD [84+esp]
1816 mov ecx,edx
1817 xor edi,esi
1818 mov esi,DWORD [4+esp]
1819 ror edx,14
1820 add ebx,edi
1821 mov edi,DWORD [8+esp]
1822 xor edx,ecx
1823 mov DWORD [48+esp],ebx
1824 xor esi,edi
1825 ror edx,5
1826 and esi,ecx
1827 mov DWORD [esp],ecx
1828 xor edx,ecx
1829 add ebx,DWORD [12+esp]
1830 xor edi,esi
1831 ror edx,6
1832 mov ecx,eax
1833 add ebx,edi
1834 ror ecx,9
1835 mov esi,eax
1836 mov edi,DWORD [20+esp]
1837 xor ecx,eax
1838 mov DWORD [16+esp],eax
1839 xor eax,edi
1840 ror ecx,11
1841 and ebp,eax
1842 lea edx,[1695183700+edx*1+ebx]
1843 xor ecx,esi
1844 xor ebp,edi
1845 mov esi,DWORD [56+esp]
1846 ror ecx,2
1847 add ebp,edx
1848 add edx,DWORD [28+esp]
1849 add ebp,ecx
1850 mov ecx,DWORD [44+esp]
1851 mov ebx,esi
1852 ror esi,11
1853 mov edi,ecx
1854 ror ecx,2
1855 xor esi,ebx
1856 shr ebx,3
1857 ror esi,7
1858 xor ecx,edi
1859 xor ebx,esi
1860 ror ecx,17
1861 add ebx,DWORD [52+esp]
1862 shr edi,10
1863 add ebx,DWORD [88+esp]
1864 mov esi,edx
1865 xor edi,ecx
1866 mov ecx,DWORD [esp]
1867 ror edx,14
1868 add ebx,edi
1869 mov edi,DWORD [4+esp]
1870 xor edx,esi
1871 mov DWORD [52+esp],ebx
1872 xor ecx,edi
1873 ror edx,5
1874 and ecx,esi
1875 mov DWORD [28+esp],esi
1876 xor edx,esi
1877 add ebx,DWORD [8+esp]
1878 xor edi,ecx
1879 ror edx,6
1880 mov esi,ebp
1881 add ebx,edi
1882 ror esi,9
1883 mov ecx,ebp
1884 mov edi,DWORD [16+esp]
1885 xor esi,ebp
1886 mov DWORD [12+esp],ebp
1887 xor ebp,edi
1888 ror esi,11
1889 and eax,ebp
1890 lea edx,[1986661051+edx*1+ebx]
1891 xor esi,ecx
1892 xor eax,edi
1893 mov ecx,DWORD [60+esp]
1894 ror esi,2
1895 add eax,edx
1896 add edx,DWORD [24+esp]
1897 add eax,esi
1898 mov esi,DWORD [48+esp]
1899 mov ebx,ecx
1900 ror ecx,11
1901 mov edi,esi
1902 ror esi,2
1903 xor ecx,ebx
1904 shr ebx,3
1905 ror ecx,7
1906 xor esi,edi
1907 xor ebx,ecx
1908 ror esi,17
1909 add ebx,DWORD [56+esp]
1910 shr edi,10
1911 add ebx,DWORD [92+esp]
1912 mov ecx,edx
1913 xor edi,esi
1914 mov esi,DWORD [28+esp]
1915 ror edx,14
1916 add ebx,edi
1917 mov edi,DWORD [esp]
1918 xor edx,ecx
1919 mov DWORD [56+esp],ebx
1920 xor esi,edi
1921 ror edx,5
1922 and esi,ecx
1923 mov DWORD [24+esp],ecx
1924 xor edx,ecx
1925 add ebx,DWORD [4+esp]
1926 xor edi,esi
1927 ror edx,6
1928 mov ecx,eax
1929 add ebx,edi
1930 ror ecx,9
1931 mov esi,eax
1932 mov edi,DWORD [12+esp]
1933 xor ecx,eax
1934 mov DWORD [8+esp],eax
1935 xor eax,edi
1936 ror ecx,11
1937 and ebp,eax
1938 lea edx,[2177026350+edx*1+ebx]
1939 xor ecx,esi
1940 xor ebp,edi
1941 mov esi,DWORD [64+esp]
1942 ror ecx,2
1943 add ebp,edx
1944 add edx,DWORD [20+esp]
1945 add ebp,ecx
1946 mov ecx,DWORD [52+esp]
1947 mov ebx,esi
1948 ror esi,11
1949 mov edi,ecx
1950 ror ecx,2
1951 xor esi,ebx
1952 shr ebx,3
1953 ror esi,7
1954 xor ecx,edi
1955 xor ebx,esi
1956 ror ecx,17
1957 add ebx,DWORD [60+esp]
1958 shr edi,10
1959 add ebx,DWORD [32+esp]
1960 mov esi,edx
1961 xor edi,ecx
1962 mov ecx,DWORD [24+esp]
1963 ror edx,14
1964 add ebx,edi
1965 mov edi,DWORD [28+esp]
1966 xor edx,esi
1967 mov DWORD [60+esp],ebx
1968 xor ecx,edi
1969 ror edx,5
1970 and ecx,esi
1971 mov DWORD [20+esp],esi
1972 xor edx,esi
1973 add ebx,DWORD [esp]
1974 xor edi,ecx
1975 ror edx,6
1976 mov esi,ebp
1977 add ebx,edi
1978 ror esi,9
1979 mov ecx,ebp
1980 mov edi,DWORD [8+esp]
1981 xor esi,ebp
1982 mov DWORD [4+esp],ebp
1983 xor ebp,edi
1984 ror esi,11
1985 and eax,ebp
1986 lea edx,[2456956037+edx*1+ebx]
1987 xor esi,ecx
1988 xor eax,edi
1989 mov ecx,DWORD [68+esp]
1990 ror esi,2
1991 add eax,edx
1992 add edx,DWORD [16+esp]
1993 add eax,esi
1994 mov esi,DWORD [56+esp]
1995 mov ebx,ecx
1996 ror ecx,11
1997 mov edi,esi
1998 ror esi,2
1999 xor ecx,ebx
2000 shr ebx,3
2001 ror ecx,7
2002 xor esi,edi
2003 xor ebx,ecx
2004 ror esi,17
2005 add ebx,DWORD [64+esp]
2006 shr edi,10
2007 add ebx,DWORD [36+esp]
2008 mov ecx,edx
2009 xor edi,esi
2010 mov esi,DWORD [20+esp]
2011 ror edx,14
2012 add ebx,edi
2013 mov edi,DWORD [24+esp]
2014 xor edx,ecx
2015 mov DWORD [64+esp],ebx
2016 xor esi,edi
2017 ror edx,5
2018 and esi,ecx
2019 mov DWORD [16+esp],ecx
2020 xor edx,ecx
2021 add ebx,DWORD [28+esp]
2022 xor edi,esi
2023 ror edx,6
2024 mov ecx,eax
2025 add ebx,edi
2026 ror ecx,9
2027 mov esi,eax
2028 mov edi,DWORD [4+esp]
2029 xor ecx,eax
2030 mov DWORD [esp],eax
2031 xor eax,edi
2032 ror ecx,11
2033 and ebp,eax
2034 lea edx,[2730485921+edx*1+ebx]
2035 xor ecx,esi
2036 xor ebp,edi
2037 mov esi,DWORD [72+esp]
2038 ror ecx,2
2039 add ebp,edx
2040 add edx,DWORD [12+esp]
2041 add ebp,ecx
2042 mov ecx,DWORD [60+esp]
2043 mov ebx,esi
2044 ror esi,11
2045 mov edi,ecx
2046 ror ecx,2
2047 xor esi,ebx
2048 shr ebx,3
2049 ror esi,7
2050 xor ecx,edi
2051 xor ebx,esi
2052 ror ecx,17
2053 add ebx,DWORD [68+esp]
2054 shr edi,10
2055 add ebx,DWORD [40+esp]
2056 mov esi,edx
2057 xor edi,ecx
2058 mov ecx,DWORD [16+esp]
2059 ror edx,14
2060 add ebx,edi
2061 mov edi,DWORD [20+esp]
2062 xor edx,esi
2063 mov DWORD [68+esp],ebx
2064 xor ecx,edi
2065 ror edx,5
2066 and ecx,esi
2067 mov DWORD [12+esp],esi
2068 xor edx,esi
2069 add ebx,DWORD [24+esp]
2070 xor edi,ecx
2071 ror edx,6
2072 mov esi,ebp
2073 add ebx,edi
2074 ror esi,9
2075 mov ecx,ebp
2076 mov edi,DWORD [esp]
2077 xor esi,ebp
2078 mov DWORD [28+esp],ebp
2079 xor ebp,edi
2080 ror esi,11
2081 and eax,ebp
2082 lea edx,[2820302411+edx*1+ebx]
2083 xor esi,ecx
2084 xor eax,edi
2085 mov ecx,DWORD [76+esp]
2086 ror esi,2
2087 add eax,edx
2088 add edx,DWORD [8+esp]
2089 add eax,esi
2090 mov esi,DWORD [64+esp]
2091 mov ebx,ecx
2092 ror ecx,11
2093 mov edi,esi
2094 ror esi,2
2095 xor ecx,ebx
2096 shr ebx,3
2097 ror ecx,7
2098 xor esi,edi
2099 xor ebx,ecx
2100 ror esi,17
2101 add ebx,DWORD [72+esp]
2102 shr edi,10
2103 add ebx,DWORD [44+esp]
2104 mov ecx,edx
2105 xor edi,esi
2106 mov esi,DWORD [12+esp]
2107 ror edx,14
2108 add ebx,edi
2109 mov edi,DWORD [16+esp]
2110 xor edx,ecx
2111 mov DWORD [72+esp],ebx
2112 xor esi,edi
2113 ror edx,5
2114 and esi,ecx
2115 mov DWORD [8+esp],ecx
2116 xor edx,ecx
2117 add ebx,DWORD [20+esp]
2118 xor edi,esi
2119 ror edx,6
2120 mov ecx,eax
2121 add ebx,edi
2122 ror ecx,9
2123 mov esi,eax
2124 mov edi,DWORD [28+esp]
2125 xor ecx,eax
2126 mov DWORD [24+esp],eax
2127 xor eax,edi
2128 ror ecx,11
2129 and ebp,eax
2130 lea edx,[3259730800+edx*1+ebx]
2131 xor ecx,esi
2132 xor ebp,edi
2133 mov esi,DWORD [80+esp]
2134 ror ecx,2
2135 add ebp,edx
2136 add edx,DWORD [4+esp]
2137 add ebp,ecx
2138 mov ecx,DWORD [68+esp]
2139 mov ebx,esi
2140 ror esi,11
2141 mov edi,ecx
2142 ror ecx,2
2143 xor esi,ebx
2144 shr ebx,3
2145 ror esi,7
2146 xor ecx,edi
2147 xor ebx,esi
2148 ror ecx,17
2149 add ebx,DWORD [76+esp]
2150 shr edi,10
2151 add ebx,DWORD [48+esp]
2152 mov esi,edx
2153 xor edi,ecx
2154 mov ecx,DWORD [8+esp]
2155 ror edx,14
2156 add ebx,edi
2157 mov edi,DWORD [12+esp]
2158 xor edx,esi
2159 mov DWORD [76+esp],ebx
2160 xor ecx,edi
2161 ror edx,5
2162 and ecx,esi
2163 mov DWORD [4+esp],esi
2164 xor edx,esi
2165 add ebx,DWORD [16+esp]
2166 xor edi,ecx
2167 ror edx,6
2168 mov esi,ebp
2169 add ebx,edi
2170 ror esi,9
2171 mov ecx,ebp
2172 mov edi,DWORD [24+esp]
2173 xor esi,ebp
2174 mov DWORD [20+esp],ebp
2175 xor ebp,edi
2176 ror esi,11
2177 and eax,ebp
2178 lea edx,[3345764771+edx*1+ebx]
2179 xor esi,ecx
2180 xor eax,edi
2181 mov ecx,DWORD [84+esp]
2182 ror esi,2
2183 add eax,edx
2184 add edx,DWORD [esp]
2185 add eax,esi
2186 mov esi,DWORD [72+esp]
2187 mov ebx,ecx
2188 ror ecx,11
2189 mov edi,esi
2190 ror esi,2
2191 xor ecx,ebx
2192 shr ebx,3
2193 ror ecx,7
2194 xor esi,edi
2195 xor ebx,ecx
2196 ror esi,17
2197 add ebx,DWORD [80+esp]
2198 shr edi,10
2199 add ebx,DWORD [52+esp]
2200 mov ecx,edx
2201 xor edi,esi
2202 mov esi,DWORD [4+esp]
2203 ror edx,14
2204 add ebx,edi
2205 mov edi,DWORD [8+esp]
2206 xor edx,ecx
2207 mov DWORD [80+esp],ebx
2208 xor esi,edi
2209 ror edx,5
2210 and esi,ecx
2211 mov DWORD [esp],ecx
2212 xor edx,ecx
2213 add ebx,DWORD [12+esp]
2214 xor edi,esi
2215 ror edx,6
2216 mov ecx,eax
2217 add ebx,edi
2218 ror ecx,9
2219 mov esi,eax
2220 mov edi,DWORD [20+esp]
2221 xor ecx,eax
2222 mov DWORD [16+esp],eax
2223 xor eax,edi
2224 ror ecx,11
2225 and ebp,eax
2226 lea edx,[3516065817+edx*1+ebx]
2227 xor ecx,esi
2228 xor ebp,edi
2229 mov esi,DWORD [88+esp]
2230 ror ecx,2
2231 add ebp,edx
2232 add edx,DWORD [28+esp]
2233 add ebp,ecx
2234 mov ecx,DWORD [76+esp]
2235 mov ebx,esi
2236 ror esi,11
2237 mov edi,ecx
2238 ror ecx,2
2239 xor esi,ebx
2240 shr ebx,3
2241 ror esi,7
2242 xor ecx,edi
2243 xor ebx,esi
2244 ror ecx,17
2245 add ebx,DWORD [84+esp]
2246 shr edi,10
2247 add ebx,DWORD [56+esp]
2248 mov esi,edx
2249 xor edi,ecx
2250 mov ecx,DWORD [esp]
2251 ror edx,14
2252 add ebx,edi
2253 mov edi,DWORD [4+esp]
2254 xor edx,esi
2255 mov DWORD [84+esp],ebx
2256 xor ecx,edi
2257 ror edx,5
2258 and ecx,esi
2259 mov DWORD [28+esp],esi
2260 xor edx,esi
2261 add ebx,DWORD [8+esp]
2262 xor edi,ecx
2263 ror edx,6
2264 mov esi,ebp
2265 add ebx,edi
2266 ror esi,9
2267 mov ecx,ebp
2268 mov edi,DWORD [16+esp]
2269 xor esi,ebp
2270 mov DWORD [12+esp],ebp
2271 xor ebp,edi
2272 ror esi,11
2273 and eax,ebp
2274 lea edx,[3600352804+edx*1+ebx]
2275 xor esi,ecx
2276 xor eax,edi
2277 mov ecx,DWORD [92+esp]
2278 ror esi,2
2279 add eax,edx
2280 add edx,DWORD [24+esp]
2281 add eax,esi
2282 mov esi,DWORD [80+esp]
2283 mov ebx,ecx
2284 ror ecx,11
2285 mov edi,esi
2286 ror esi,2
2287 xor ecx,ebx
2288 shr ebx,3
2289 ror ecx,7
2290 xor esi,edi
2291 xor ebx,ecx
2292 ror esi,17
2293 add ebx,DWORD [88+esp]
2294 shr edi,10
2295 add ebx,DWORD [60+esp]
2296 mov ecx,edx
2297 xor edi,esi
2298 mov esi,DWORD [28+esp]
2299 ror edx,14
2300 add ebx,edi
2301 mov edi,DWORD [esp]
2302 xor edx,ecx
2303 mov DWORD [88+esp],ebx
2304 xor esi,edi
2305 ror edx,5
2306 and esi,ecx
2307 mov DWORD [24+esp],ecx
2308 xor edx,ecx
2309 add ebx,DWORD [4+esp]
2310 xor edi,esi
2311 ror edx,6
2312 mov ecx,eax
2313 add ebx,edi
2314 ror ecx,9
2315 mov esi,eax
2316 mov edi,DWORD [12+esp]
2317 xor ecx,eax
2318 mov DWORD [8+esp],eax
2319 xor eax,edi
2320 ror ecx,11
2321 and ebp,eax
2322 lea edx,[4094571909+edx*1+ebx]
2323 xor ecx,esi
2324 xor ebp,edi
2325 mov esi,DWORD [32+esp]
2326 ror ecx,2
2327 add ebp,edx
2328 add edx,DWORD [20+esp]
2329 add ebp,ecx
2330 mov ecx,DWORD [84+esp]
2331 mov ebx,esi
2332 ror esi,11
2333 mov edi,ecx
2334 ror ecx,2
2335 xor esi,ebx
2336 shr ebx,3
2337 ror esi,7
2338 xor ecx,edi
2339 xor ebx,esi
2340 ror ecx,17
2341 add ebx,DWORD [92+esp]
2342 shr edi,10
2343 add ebx,DWORD [64+esp]
2344 mov esi,edx
2345 xor edi,ecx
2346 mov ecx,DWORD [24+esp]
2347 ror edx,14
2348 add ebx,edi
2349 mov edi,DWORD [28+esp]
2350 xor edx,esi
2351 mov DWORD [92+esp],ebx
2352 xor ecx,edi
2353 ror edx,5
2354 and ecx,esi
2355 mov DWORD [20+esp],esi
2356 xor edx,esi
2357 add ebx,DWORD [esp]
2358 xor edi,ecx
2359 ror edx,6
2360 mov esi,ebp
2361 add ebx,edi
2362 ror esi,9
2363 mov ecx,ebp
2364 mov edi,DWORD [8+esp]
2365 xor esi,ebp
2366 mov DWORD [4+esp],ebp
2367 xor ebp,edi
2368 ror esi,11
2369 and eax,ebp
2370 lea edx,[275423344+edx*1+ebx]
2371 xor esi,ecx
2372 xor eax,edi
2373 mov ecx,DWORD [36+esp]
2374 ror esi,2
2375 add eax,edx
2376 add edx,DWORD [16+esp]
2377 add eax,esi
2378 mov esi,DWORD [88+esp]
2379 mov ebx,ecx
2380 ror ecx,11
2381 mov edi,esi
2382 ror esi,2
2383 xor ecx,ebx
2384 shr ebx,3
2385 ror ecx,7
2386 xor esi,edi
2387 xor ebx,ecx
2388 ror esi,17
2389 add ebx,DWORD [32+esp]
2390 shr edi,10
2391 add ebx,DWORD [68+esp]
2392 mov ecx,edx
2393 xor edi,esi
2394 mov esi,DWORD [20+esp]
2395 ror edx,14
2396 add ebx,edi
2397 mov edi,DWORD [24+esp]
2398 xor edx,ecx
2399 mov DWORD [32+esp],ebx
2400 xor esi,edi
2401 ror edx,5
2402 and esi,ecx
2403 mov DWORD [16+esp],ecx
2404 xor edx,ecx
2405 add ebx,DWORD [28+esp]
2406 xor edi,esi
2407 ror edx,6
2408 mov ecx,eax
2409 add ebx,edi
2410 ror ecx,9
2411 mov esi,eax
2412 mov edi,DWORD [4+esp]
2413 xor ecx,eax
2414 mov DWORD [esp],eax
2415 xor eax,edi
2416 ror ecx,11
2417 and ebp,eax
2418 lea edx,[430227734+edx*1+ebx]
2419 xor ecx,esi
2420 xor ebp,edi
2421 mov esi,DWORD [40+esp]
2422 ror ecx,2
2423 add ebp,edx
2424 add edx,DWORD [12+esp]
2425 add ebp,ecx
2426 mov ecx,DWORD [92+esp]
2427 mov ebx,esi
2428 ror esi,11
2429 mov edi,ecx
2430 ror ecx,2
2431 xor esi,ebx
2432 shr ebx,3
2433 ror esi,7
2434 xor ecx,edi
2435 xor ebx,esi
2436 ror ecx,17
2437 add ebx,DWORD [36+esp]
2438 shr edi,10
2439 add ebx,DWORD [72+esp]
2440 mov esi,edx
2441 xor edi,ecx
2442 mov ecx,DWORD [16+esp]
2443 ror edx,14
2444 add ebx,edi
2445 mov edi,DWORD [20+esp]
2446 xor edx,esi
2447 mov DWORD [36+esp],ebx
2448 xor ecx,edi
2449 ror edx,5
2450 and ecx,esi
2451 mov DWORD [12+esp],esi
2452 xor edx,esi
2453 add ebx,DWORD [24+esp]
2454 xor edi,ecx
2455 ror edx,6
2456 mov esi,ebp
2457 add ebx,edi
2458 ror esi,9
2459 mov ecx,ebp
2460 mov edi,DWORD [esp]
2461 xor esi,ebp
2462 mov DWORD [28+esp],ebp
2463 xor ebp,edi
2464 ror esi,11
2465 and eax,ebp
2466 lea edx,[506948616+edx*1+ebx]
2467 xor esi,ecx
2468 xor eax,edi
2469 mov ecx,DWORD [44+esp]
2470 ror esi,2
2471 add eax,edx
2472 add edx,DWORD [8+esp]
2473 add eax,esi
2474 mov esi,DWORD [32+esp]
2475 mov ebx,ecx
2476 ror ecx,11
2477 mov edi,esi
2478 ror esi,2
2479 xor ecx,ebx
2480 shr ebx,3
2481 ror ecx,7
2482 xor esi,edi
2483 xor ebx,ecx
2484 ror esi,17
2485 add ebx,DWORD [40+esp]
2486 shr edi,10
2487 add ebx,DWORD [76+esp]
2488 mov ecx,edx
2489 xor edi,esi
2490 mov esi,DWORD [12+esp]
2491 ror edx,14
2492 add ebx,edi
2493 mov edi,DWORD [16+esp]
2494 xor edx,ecx
2495 mov DWORD [40+esp],ebx
2496 xor esi,edi
2497 ror edx,5
2498 and esi,ecx
2499 mov DWORD [8+esp],ecx
2500 xor edx,ecx
2501 add ebx,DWORD [20+esp]
2502 xor edi,esi
2503 ror edx,6
2504 mov ecx,eax
2505 add ebx,edi
2506 ror ecx,9
2507 mov esi,eax
2508 mov edi,DWORD [28+esp]
2509 xor ecx,eax
2510 mov DWORD [24+esp],eax
2511 xor eax,edi
2512 ror ecx,11
2513 and ebp,eax
2514 lea edx,[659060556+edx*1+ebx]
2515 xor ecx,esi
2516 xor ebp,edi
2517 mov esi,DWORD [48+esp]
2518 ror ecx,2
2519 add ebp,edx
2520 add edx,DWORD [4+esp]
2521 add ebp,ecx
2522 mov ecx,DWORD [36+esp]
2523 mov ebx,esi
2524 ror esi,11
2525 mov edi,ecx
2526 ror ecx,2
2527 xor esi,ebx
2528 shr ebx,3
2529 ror esi,7
2530 xor ecx,edi
2531 xor ebx,esi
2532 ror ecx,17
2533 add ebx,DWORD [44+esp]
2534 shr edi,10
2535 add ebx,DWORD [80+esp]
2536 mov esi,edx
2537 xor edi,ecx
2538 mov ecx,DWORD [8+esp]
2539 ror edx,14
2540 add ebx,edi
2541 mov edi,DWORD [12+esp]
2542 xor edx,esi
2543 mov DWORD [44+esp],ebx
2544 xor ecx,edi
2545 ror edx,5
2546 and ecx,esi
2547 mov DWORD [4+esp],esi
2548 xor edx,esi
2549 add ebx,DWORD [16+esp]
2550 xor edi,ecx
2551 ror edx,6
2552 mov esi,ebp
2553 add ebx,edi
2554 ror esi,9
2555 mov ecx,ebp
2556 mov edi,DWORD [24+esp]
2557 xor esi,ebp
2558 mov DWORD [20+esp],ebp
2559 xor ebp,edi
2560 ror esi,11
2561 and eax,ebp
2562 lea edx,[883997877+edx*1+ebx]
2563 xor esi,ecx
2564 xor eax,edi
2565 mov ecx,DWORD [52+esp]
2566 ror esi,2
2567 add eax,edx
2568 add edx,DWORD [esp]
2569 add eax,esi
2570 mov esi,DWORD [40+esp]
2571 mov ebx,ecx
2572 ror ecx,11
2573 mov edi,esi
2574 ror esi,2
2575 xor ecx,ebx
2576 shr ebx,3
2577 ror ecx,7
2578 xor esi,edi
2579 xor ebx,ecx
2580 ror esi,17
2581 add ebx,DWORD [48+esp]
2582 shr edi,10
2583 add ebx,DWORD [84+esp]
2584 mov ecx,edx
2585 xor edi,esi
2586 mov esi,DWORD [4+esp]
2587 ror edx,14
2588 add ebx,edi
2589 mov edi,DWORD [8+esp]
2590 xor edx,ecx
2591 mov DWORD [48+esp],ebx
2592 xor esi,edi
2593 ror edx,5
2594 and esi,ecx
2595 mov DWORD [esp],ecx
2596 xor edx,ecx
2597 add ebx,DWORD [12+esp]
2598 xor edi,esi
2599 ror edx,6
2600 mov ecx,eax
2601 add ebx,edi
2602 ror ecx,9
2603 mov esi,eax
2604 mov edi,DWORD [20+esp]
2605 xor ecx,eax
2606 mov DWORD [16+esp],eax
2607 xor eax,edi
2608 ror ecx,11
2609 and ebp,eax
2610 lea edx,[958139571+edx*1+ebx]
2611 xor ecx,esi
2612 xor ebp,edi
2613 mov esi,DWORD [56+esp]
2614 ror ecx,2
2615 add ebp,edx
2616 add edx,DWORD [28+esp]
2617 add ebp,ecx
2618 mov ecx,DWORD [44+esp]
2619 mov ebx,esi
2620 ror esi,11
2621 mov edi,ecx
2622 ror ecx,2
2623 xor esi,ebx
2624 shr ebx,3
2625 ror esi,7
2626 xor ecx,edi
2627 xor ebx,esi
2628 ror ecx,17
2629 add ebx,DWORD [52+esp]
2630 shr edi,10
2631 add ebx,DWORD [88+esp]
2632 mov esi,edx
2633 xor edi,ecx
2634 mov ecx,DWORD [esp]
2635 ror edx,14
2636 add ebx,edi
2637 mov edi,DWORD [4+esp]
2638 xor edx,esi
2639 mov DWORD [52+esp],ebx
2640 xor ecx,edi
2641 ror edx,5
2642 and ecx,esi
2643 mov DWORD [28+esp],esi
2644 xor edx,esi
2645 add ebx,DWORD [8+esp]
2646 xor edi,ecx
2647 ror edx,6
2648 mov esi,ebp
2649 add ebx,edi
2650 ror esi,9
2651 mov ecx,ebp
2652 mov edi,DWORD [16+esp]
2653 xor esi,ebp
2654 mov DWORD [12+esp],ebp
2655 xor ebp,edi
2656 ror esi,11
2657 and eax,ebp
2658 lea edx,[1322822218+edx*1+ebx]
2659 xor esi,ecx
2660 xor eax,edi
2661 mov ecx,DWORD [60+esp]
2662 ror esi,2
2663 add eax,edx
2664 add edx,DWORD [24+esp]
2665 add eax,esi
2666 mov esi,DWORD [48+esp]
2667 mov ebx,ecx
2668 ror ecx,11
2669 mov edi,esi
2670 ror esi,2
2671 xor ecx,ebx
2672 shr ebx,3
2673 ror ecx,7
2674 xor esi,edi
2675 xor ebx,ecx
2676 ror esi,17
2677 add ebx,DWORD [56+esp]
2678 shr edi,10
2679 add ebx,DWORD [92+esp]
2680 mov ecx,edx
2681 xor edi,esi
2682 mov esi,DWORD [28+esp]
2683 ror edx,14
2684 add ebx,edi
2685 mov edi,DWORD [esp]
2686 xor edx,ecx
2687 mov DWORD [56+esp],ebx
2688 xor esi,edi
2689 ror edx,5
2690 and esi,ecx
2691 mov DWORD [24+esp],ecx
2692 xor edx,ecx
2693 add ebx,DWORD [4+esp]
2694 xor edi,esi
2695 ror edx,6
2696 mov ecx,eax
2697 add ebx,edi
2698 ror ecx,9
2699 mov esi,eax
2700 mov edi,DWORD [12+esp]
2701 xor ecx,eax
2702 mov DWORD [8+esp],eax
2703 xor eax,edi
2704 ror ecx,11
2705 and ebp,eax
2706 lea edx,[1537002063+edx*1+ebx]
2707 xor ecx,esi
2708 xor ebp,edi
2709 mov esi,DWORD [64+esp]
2710 ror ecx,2
2711 add ebp,edx
2712 add edx,DWORD [20+esp]
2713 add ebp,ecx
2714 mov ecx,DWORD [52+esp]
2715 mov ebx,esi
2716 ror esi,11
2717 mov edi,ecx
2718 ror ecx,2
2719 xor esi,ebx
2720 shr ebx,3
2721 ror esi,7
2722 xor ecx,edi
2723 xor ebx,esi
2724 ror ecx,17
2725 add ebx,DWORD [60+esp]
2726 shr edi,10
2727 add ebx,DWORD [32+esp]
2728 mov esi,edx
2729 xor edi,ecx
2730 mov ecx,DWORD [24+esp]
2731 ror edx,14
2732 add ebx,edi
2733 mov edi,DWORD [28+esp]
2734 xor edx,esi
2735 mov DWORD [60+esp],ebx
2736 xor ecx,edi
2737 ror edx,5
2738 and ecx,esi
2739 mov DWORD [20+esp],esi
2740 xor edx,esi
2741 add ebx,DWORD [esp]
2742 xor edi,ecx
2743 ror edx,6
2744 mov esi,ebp
2745 add ebx,edi
2746 ror esi,9
2747 mov ecx,ebp
2748 mov edi,DWORD [8+esp]
2749 xor esi,ebp
2750 mov DWORD [4+esp],ebp
2751 xor ebp,edi
2752 ror esi,11
2753 and eax,ebp
2754 lea edx,[1747873779+edx*1+ebx]
2755 xor esi,ecx
2756 xor eax,edi
2757 mov ecx,DWORD [68+esp]
2758 ror esi,2
2759 add eax,edx
2760 add edx,DWORD [16+esp]
2761 add eax,esi
2762 mov esi,DWORD [56+esp]
2763 mov ebx,ecx
2764 ror ecx,11
2765 mov edi,esi
2766 ror esi,2
2767 xor ecx,ebx
2768 shr ebx,3
2769 ror ecx,7
2770 xor esi,edi
2771 xor ebx,ecx
2772 ror esi,17
2773 add ebx,DWORD [64+esp]
2774 shr edi,10
2775 add ebx,DWORD [36+esp]
2776 mov ecx,edx
2777 xor edi,esi
2778 mov esi,DWORD [20+esp]
2779 ror edx,14
2780 add ebx,edi
2781 mov edi,DWORD [24+esp]
2782 xor edx,ecx
2783 mov DWORD [64+esp],ebx
2784 xor esi,edi
2785 ror edx,5
2786 and esi,ecx
2787 mov DWORD [16+esp],ecx
2788 xor edx,ecx
2789 add ebx,DWORD [28+esp]
2790 xor edi,esi
2791 ror edx,6
2792 mov ecx,eax
2793 add ebx,edi
2794 ror ecx,9
2795 mov esi,eax
2796 mov edi,DWORD [4+esp]
2797 xor ecx,eax
2798 mov DWORD [esp],eax
2799 xor eax,edi
2800 ror ecx,11
2801 and ebp,eax
2802 lea edx,[1955562222+edx*1+ebx]
2803 xor ecx,esi
2804 xor ebp,edi
2805 mov esi,DWORD [72+esp]
2806 ror ecx,2
2807 add ebp,edx
2808 add edx,DWORD [12+esp]
2809 add ebp,ecx
2810 mov ecx,DWORD [60+esp]
2811 mov ebx,esi
2812 ror esi,11
2813 mov edi,ecx
2814 ror ecx,2
2815 xor esi,ebx
2816 shr ebx,3
2817 ror esi,7
2818 xor ecx,edi
2819 xor ebx,esi
2820 ror ecx,17
2821 add ebx,DWORD [68+esp]
2822 shr edi,10
2823 add ebx,DWORD [40+esp]
2824 mov esi,edx
2825 xor edi,ecx
2826 mov ecx,DWORD [16+esp]
2827 ror edx,14
2828 add ebx,edi
2829 mov edi,DWORD [20+esp]
2830 xor edx,esi
2831 mov DWORD [68+esp],ebx
2832 xor ecx,edi
2833 ror edx,5
2834 and ecx,esi
2835 mov DWORD [12+esp],esi
2836 xor edx,esi
2837 add ebx,DWORD [24+esp]
2838 xor edi,ecx
2839 ror edx,6
2840 mov esi,ebp
2841 add ebx,edi
2842 ror esi,9
2843 mov ecx,ebp
2844 mov edi,DWORD [esp]
2845 xor esi,ebp
2846 mov DWORD [28+esp],ebp
2847 xor ebp,edi
2848 ror esi,11
2849 and eax,ebp
2850 lea edx,[2024104815+edx*1+ebx]
2851 xor esi,ecx
2852 xor eax,edi
2853 mov ecx,DWORD [76+esp]
2854 ror esi,2
2855 add eax,edx
2856 add edx,DWORD [8+esp]
2857 add eax,esi
2858 mov esi,DWORD [64+esp]
2859 mov ebx,ecx
2860 ror ecx,11
2861 mov edi,esi
2862 ror esi,2
2863 xor ecx,ebx
2864 shr ebx,3
2865 ror ecx,7
2866 xor esi,edi
2867 xor ebx,ecx
2868 ror esi,17
2869 add ebx,DWORD [72+esp]
2870 shr edi,10
2871 add ebx,DWORD [44+esp]
2872 mov ecx,edx
2873 xor edi,esi
2874 mov esi,DWORD [12+esp]
2875 ror edx,14
2876 add ebx,edi
2877 mov edi,DWORD [16+esp]
2878 xor edx,ecx
2879 mov DWORD [72+esp],ebx
2880 xor esi,edi
2881 ror edx,5
2882 and esi,ecx
2883 mov DWORD [8+esp],ecx
2884 xor edx,ecx
2885 add ebx,DWORD [20+esp]
2886 xor edi,esi
2887 ror edx,6
2888 mov ecx,eax
2889 add ebx,edi
2890 ror ecx,9
2891 mov esi,eax
2892 mov edi,DWORD [28+esp]
2893 xor ecx,eax
2894 mov DWORD [24+esp],eax
2895 xor eax,edi
2896 ror ecx,11
2897 and ebp,eax
2898 lea edx,[2227730452+edx*1+ebx]
2899 xor ecx,esi
2900 xor ebp,edi
2901 mov esi,DWORD [80+esp]
2902 ror ecx,2
2903 add ebp,edx
2904 add edx,DWORD [4+esp]
2905 add ebp,ecx
2906 mov ecx,DWORD [68+esp]
2907 mov ebx,esi
2908 ror esi,11
2909 mov edi,ecx
2910 ror ecx,2
2911 xor esi,ebx
2912 shr ebx,3
2913 ror esi,7
2914 xor ecx,edi
2915 xor ebx,esi
2916 ror ecx,17
2917 add ebx,DWORD [76+esp]
2918 shr edi,10
2919 add ebx,DWORD [48+esp]
2920 mov esi,edx
2921 xor edi,ecx
2922 mov ecx,DWORD [8+esp]
2923 ror edx,14
2924 add ebx,edi
2925 mov edi,DWORD [12+esp]
2926 xor edx,esi
2927 mov DWORD [76+esp],ebx
2928 xor ecx,edi
2929 ror edx,5
2930 and ecx,esi
2931 mov DWORD [4+esp],esi
2932 xor edx,esi
2933 add ebx,DWORD [16+esp]
2934 xor edi,ecx
2935 ror edx,6
2936 mov esi,ebp
2937 add ebx,edi
2938 ror esi,9
2939 mov ecx,ebp
2940 mov edi,DWORD [24+esp]
2941 xor esi,ebp
2942 mov DWORD [20+esp],ebp
2943 xor ebp,edi
2944 ror esi,11
2945 and eax,ebp
2946 lea edx,[2361852424+edx*1+ebx]
2947 xor esi,ecx
2948 xor eax,edi
2949 mov ecx,DWORD [84+esp]
2950 ror esi,2
2951 add eax,edx
2952 add edx,DWORD [esp]
2953 add eax,esi
2954 mov esi,DWORD [72+esp]
2955 mov ebx,ecx
2956 ror ecx,11
2957 mov edi,esi
2958 ror esi,2
2959 xor ecx,ebx
2960 shr ebx,3
2961 ror ecx,7
2962 xor esi,edi
2963 xor ebx,ecx
2964 ror esi,17
2965 add ebx,DWORD [80+esp]
2966 shr edi,10
2967 add ebx,DWORD [52+esp]
2968 mov ecx,edx
2969 xor edi,esi
2970 mov esi,DWORD [4+esp]
2971 ror edx,14
2972 add ebx,edi
2973 mov edi,DWORD [8+esp]
2974 xor edx,ecx
2975 mov DWORD [80+esp],ebx
2976 xor esi,edi
2977 ror edx,5
2978 and esi,ecx
2979 mov DWORD [esp],ecx
2980 xor edx,ecx
2981 add ebx,DWORD [12+esp]
2982 xor edi,esi
2983 ror edx,6
2984 mov ecx,eax
2985 add ebx,edi
2986 ror ecx,9
2987 mov esi,eax
2988 mov edi,DWORD [20+esp]
2989 xor ecx,eax
2990 mov DWORD [16+esp],eax
2991 xor eax,edi
2992 ror ecx,11
2993 and ebp,eax
2994 lea edx,[2428436474+edx*1+ebx]
2995 xor ecx,esi
2996 xor ebp,edi
2997 mov esi,DWORD [88+esp]
2998 ror ecx,2
2999 add ebp,edx
3000 add edx,DWORD [28+esp]
3001 add ebp,ecx
3002 mov ecx,DWORD [76+esp]
3003 mov ebx,esi
3004 ror esi,11
3005 mov edi,ecx
3006 ror ecx,2
3007 xor esi,ebx
3008 shr ebx,3
3009 ror esi,7
3010 xor ecx,edi
3011 xor ebx,esi
3012 ror ecx,17
3013 add ebx,DWORD [84+esp]
3014 shr edi,10
3015 add ebx,DWORD [56+esp]
3016 mov esi,edx
3017 xor edi,ecx
3018 mov ecx,DWORD [esp]
3019 ror edx,14
3020 add ebx,edi
3021 mov edi,DWORD [4+esp]
3022 xor edx,esi
3023 mov DWORD [84+esp],ebx
3024 xor ecx,edi
3025 ror edx,5
3026 and ecx,esi
3027 mov DWORD [28+esp],esi
3028 xor edx,esi
3029 add ebx,DWORD [8+esp]
3030 xor edi,ecx
3031 ror edx,6
3032 mov esi,ebp
3033 add ebx,edi
3034 ror esi,9
3035 mov ecx,ebp
3036 mov edi,DWORD [16+esp]
3037 xor esi,ebp
3038 mov DWORD [12+esp],ebp
3039 xor ebp,edi
3040 ror esi,11
3041 and eax,ebp
3042 lea edx,[2756734187+edx*1+ebx]
3043 xor esi,ecx
3044 xor eax,edi
3045 mov ecx,DWORD [92+esp]
3046 ror esi,2
3047 add eax,edx
3048 add edx,DWORD [24+esp]
3049 add eax,esi
3050 mov esi,DWORD [80+esp]
3051 mov ebx,ecx
3052 ror ecx,11
3053 mov edi,esi
3054 ror esi,2
3055 xor ecx,ebx
3056 shr ebx,3
3057 ror ecx,7
3058 xor esi,edi
3059 xor ebx,ecx
3060 ror esi,17
3061 add ebx,DWORD [88+esp]
3062 shr edi,10
3063 add ebx,DWORD [60+esp]
3064 mov ecx,edx
3065 xor edi,esi
3066 mov esi,DWORD [28+esp]
3067 ror edx,14
3068 add ebx,edi
3069 mov edi,DWORD [esp]
3070 xor edx,ecx
3071 xor esi,edi
3072 ror edx,5
3073 and esi,ecx
3074 mov DWORD [24+esp],ecx
3075 xor edx,ecx
3076 add ebx,DWORD [4+esp]
3077 xor edi,esi
3078 ror edx,6
3079 mov ecx,eax
3080 add ebx,edi
3081 ror ecx,9
3082 mov esi,eax
3083 mov edi,DWORD [12+esp]
3084 xor ecx,eax
3085 mov DWORD [8+esp],eax
3086 xor eax,edi
3087 ror ecx,11
3088 and ebp,eax
3089 lea edx,[3204031479+edx*1+ebx]
3090 xor ecx,esi
3091 xor ebp,edi
3092 mov esi,DWORD [32+esp]
3093 ror ecx,2
3094 add ebp,edx
3095 add edx,DWORD [20+esp]
3096 add ebp,ecx
3097 mov ecx,DWORD [84+esp]
3098 mov ebx,esi
3099 ror esi,11
3100 mov edi,ecx
3101 ror ecx,2
3102 xor esi,ebx
3103 shr ebx,3
3104 ror esi,7
3105 xor ecx,edi
3106 xor ebx,esi
3107 ror ecx,17
3108 add ebx,DWORD [92+esp]
3109 shr edi,10
3110 add ebx,DWORD [64+esp]
3111 mov esi,edx
3112 xor edi,ecx
3113 mov ecx,DWORD [24+esp]
3114 ror edx,14
3115 add ebx,edi
3116 mov edi,DWORD [28+esp]
3117 xor edx,esi
3118 xor ecx,edi
3119 ror edx,5
3120 and ecx,esi
3121 mov DWORD [20+esp],esi
3122 xor edx,esi
3123 add ebx,DWORD [esp]
3124 xor edi,ecx
3125 ror edx,6
3126 mov esi,ebp
3127 add ebx,edi
3128 ror esi,9
3129 mov ecx,ebp
3130 mov edi,DWORD [8+esp]
3131 xor esi,ebp
3132 mov DWORD [4+esp],ebp
3133 xor ebp,edi
3134 ror esi,11
3135 and eax,ebp
3136 lea edx,[3329325298+edx*1+ebx]
3137 xor esi,ecx
3138 xor eax,edi
3139 ror esi,2
3140 add eax,edx
3141 add edx,DWORD [16+esp]
3142 add eax,esi
3143 mov esi,DWORD [96+esp]
3144 xor ebp,edi
3145 mov ecx,DWORD [12+esp]
3146 add eax,DWORD [esi]
3147 add ebp,DWORD [4+esi]
3148 add edi,DWORD [8+esi]
3149 add ecx,DWORD [12+esi]
3150 mov DWORD [esi],eax
3151 mov DWORD [4+esi],ebp
3152 mov DWORD [8+esi],edi
3153 mov DWORD [12+esi],ecx
3154 mov DWORD [4+esp],ebp
3155 xor ebp,edi
3156 mov DWORD [8+esp],edi
3157 mov DWORD [12+esp],ecx
3158 mov edi,DWORD [20+esp]
3159 mov ebx,DWORD [24+esp]
3160 mov ecx,DWORD [28+esp]
3161 add edx,DWORD [16+esi]
3162 add edi,DWORD [20+esi]
3163 add ebx,DWORD [24+esi]
3164 add ecx,DWORD [28+esi]
3165 mov DWORD [16+esi],edx
3166 mov DWORD [20+esi],edi
3167 mov DWORD [24+esi],ebx
3168 mov DWORD [28+esi],ecx
3169 mov DWORD [20+esp],edi
3170 mov edi,DWORD [100+esp]
3171 mov DWORD [24+esp],ebx
3172 mov DWORD [28+esp],ecx
3173 cmp edi,DWORD [104+esp]
3174 jb NEAR L$009grand_loop
3175 mov esp,DWORD [108+esp]
3176 pop edi
3177 pop esi
3178 pop ebx
3179 pop ebp
3181 align 32
3182 L$004shaext:
3183 sub esp,32
3184 movdqu xmm1,[esi]
3185 lea ebp,[128+ebp]
3186 movdqu xmm2,[16+esi]
3187 movdqa xmm7,[128+ebp]
3188 pshufd xmm0,xmm1,27
3189 pshufd xmm1,xmm1,177
3190 pshufd xmm2,xmm2,27
3191 db 102,15,58,15,202,8
3192 punpcklqdq xmm2,xmm0
3193 jmp NEAR L$010loop_shaext
3194 align 16
3195 L$010loop_shaext:
3196 movdqu xmm3,[edi]
3197 movdqu xmm4,[16+edi]
3198 movdqu xmm5,[32+edi]
3199 db 102,15,56,0,223
3200 movdqu xmm6,[48+edi]
3201 movdqa [16+esp],xmm2
3202 movdqa xmm0,[ebp-128]
3203 paddd xmm0,xmm3
3204 db 102,15,56,0,231
3205 db 15,56,203,209
3206 pshufd xmm0,xmm0,14
3208 movdqa [esp],xmm1
3209 db 15,56,203,202
3210 movdqa xmm0,[ebp-112]
3211 paddd xmm0,xmm4
3212 db 102,15,56,0,239
3213 db 15,56,203,209
3214 pshufd xmm0,xmm0,14
3215 lea edi,[64+edi]
3216 db 15,56,204,220
3217 db 15,56,203,202
3218 movdqa xmm0,[ebp-96]
3219 paddd xmm0,xmm5
3220 db 102,15,56,0,247
3221 db 15,56,203,209
3222 pshufd xmm0,xmm0,14
3223 movdqa xmm7,xmm6
3224 db 102,15,58,15,253,4
3226 paddd xmm3,xmm7
3227 db 15,56,204,229
3228 db 15,56,203,202
3229 movdqa xmm0,[ebp-80]
3230 paddd xmm0,xmm6
3231 db 15,56,205,222
3232 db 15,56,203,209
3233 pshufd xmm0,xmm0,14
3234 movdqa xmm7,xmm3
3235 db 102,15,58,15,254,4
3237 paddd xmm4,xmm7
3238 db 15,56,204,238
3239 db 15,56,203,202
3240 movdqa xmm0,[ebp-64]
3241 paddd xmm0,xmm3
3242 db 15,56,205,227
3243 db 15,56,203,209
3244 pshufd xmm0,xmm0,14
3245 movdqa xmm7,xmm4
3246 db 102,15,58,15,251,4
3248 paddd xmm5,xmm7
3249 db 15,56,204,243
3250 db 15,56,203,202
3251 movdqa xmm0,[ebp-48]
3252 paddd xmm0,xmm4
3253 db 15,56,205,236
3254 db 15,56,203,209
3255 pshufd xmm0,xmm0,14
3256 movdqa xmm7,xmm5
3257 db 102,15,58,15,252,4
3259 paddd xmm6,xmm7
3260 db 15,56,204,220
3261 db 15,56,203,202
3262 movdqa xmm0,[ebp-32]
3263 paddd xmm0,xmm5
3264 db 15,56,205,245
3265 db 15,56,203,209
3266 pshufd xmm0,xmm0,14
3267 movdqa xmm7,xmm6
3268 db 102,15,58,15,253,4
3270 paddd xmm3,xmm7
3271 db 15,56,204,229
3272 db 15,56,203,202
3273 movdqa xmm0,[ebp-16]
3274 paddd xmm0,xmm6
3275 db 15,56,205,222
3276 db 15,56,203,209
3277 pshufd xmm0,xmm0,14
3278 movdqa xmm7,xmm3
3279 db 102,15,58,15,254,4
3281 paddd xmm4,xmm7
3282 db 15,56,204,238
3283 db 15,56,203,202
3284 movdqa xmm0,[ebp]
3285 paddd xmm0,xmm3
3286 db 15,56,205,227
3287 db 15,56,203,209
3288 pshufd xmm0,xmm0,14
3289 movdqa xmm7,xmm4
3290 db 102,15,58,15,251,4
3292 paddd xmm5,xmm7
3293 db 15,56,204,243
3294 db 15,56,203,202
3295 movdqa xmm0,[16+ebp]
3296 paddd xmm0,xmm4
3297 db 15,56,205,236
3298 db 15,56,203,209
3299 pshufd xmm0,xmm0,14
3300 movdqa xmm7,xmm5
3301 db 102,15,58,15,252,4
3303 paddd xmm6,xmm7
3304 db 15,56,204,220
3305 db 15,56,203,202
3306 movdqa xmm0,[32+ebp]
3307 paddd xmm0,xmm5
3308 db 15,56,205,245
3309 db 15,56,203,209
3310 pshufd xmm0,xmm0,14
3311 movdqa xmm7,xmm6
3312 db 102,15,58,15,253,4
3314 paddd xmm3,xmm7
3315 db 15,56,204,229
3316 db 15,56,203,202
3317 movdqa xmm0,[48+ebp]
3318 paddd xmm0,xmm6
3319 db 15,56,205,222
3320 db 15,56,203,209
3321 pshufd xmm0,xmm0,14
3322 movdqa xmm7,xmm3
3323 db 102,15,58,15,254,4
3325 paddd xmm4,xmm7
3326 db 15,56,204,238
3327 db 15,56,203,202
3328 movdqa xmm0,[64+ebp]
3329 paddd xmm0,xmm3
3330 db 15,56,205,227
3331 db 15,56,203,209
3332 pshufd xmm0,xmm0,14
3333 movdqa xmm7,xmm4
3334 db 102,15,58,15,251,4
3336 paddd xmm5,xmm7
3337 db 15,56,204,243
3338 db 15,56,203,202
3339 movdqa xmm0,[80+ebp]
3340 paddd xmm0,xmm4
3341 db 15,56,205,236
3342 db 15,56,203,209
3343 pshufd xmm0,xmm0,14
3344 movdqa xmm7,xmm5
3345 db 102,15,58,15,252,4
3346 db 15,56,203,202
3347 paddd xmm6,xmm7
3348 movdqa xmm0,[96+ebp]
3349 paddd xmm0,xmm5
3350 db 15,56,203,209
3351 pshufd xmm0,xmm0,14
3352 db 15,56,205,245
3353 movdqa xmm7,[128+ebp]
3354 db 15,56,203,202
3355 movdqa xmm0,[112+ebp]
3356 paddd xmm0,xmm6
3358 db 15,56,203,209
3359 pshufd xmm0,xmm0,14
3360 cmp eax,edi
3362 db 15,56,203,202
3363 paddd xmm2,[16+esp]
3364 paddd xmm1,[esp]
3365 jnz NEAR L$010loop_shaext
3366 pshufd xmm2,xmm2,177
3367 pshufd xmm7,xmm1,27
3368 pshufd xmm1,xmm1,177
3369 punpckhqdq xmm1,xmm2
3370 db 102,15,58,15,215,8
3371 mov esp,DWORD [44+esp]
3372 movdqu [esi],xmm1
3373 movdqu [16+esi],xmm2
3374 pop edi
3375 pop esi
3376 pop ebx
3377 pop ebp
3379 align 32
3380 L$005SSSE3:
3381 lea esp,[esp-96]
3382 mov eax,DWORD [esi]
3383 mov ebx,DWORD [4+esi]
3384 mov ecx,DWORD [8+esi]
3385 mov edi,DWORD [12+esi]
3386 mov DWORD [4+esp],ebx
3387 xor ebx,ecx
3388 mov DWORD [8+esp],ecx
3389 mov DWORD [12+esp],edi
3390 mov edx,DWORD [16+esi]
3391 mov edi,DWORD [20+esi]
3392 mov ecx,DWORD [24+esi]
3393 mov esi,DWORD [28+esi]
3394 mov DWORD [20+esp],edi
3395 mov edi,DWORD [100+esp]
3396 mov DWORD [24+esp],ecx
3397 mov DWORD [28+esp],esi
3398 movdqa xmm7,[256+ebp]
3399 jmp NEAR L$011grand_ssse3
3400 align 16
3401 L$011grand_ssse3:
3402 movdqu xmm0,[edi]
3403 movdqu xmm1,[16+edi]
3404 movdqu xmm2,[32+edi]
3405 movdqu xmm3,[48+edi]
3406 add edi,64
3407 db 102,15,56,0,199
3408 mov DWORD [100+esp],edi
3409 db 102,15,56,0,207
3410 movdqa xmm4,[ebp]
3411 db 102,15,56,0,215
3412 movdqa xmm5,[16+ebp]
3413 paddd xmm4,xmm0
3414 db 102,15,56,0,223
3415 movdqa xmm6,[32+ebp]
3416 paddd xmm5,xmm1
3417 movdqa xmm7,[48+ebp]
3418 movdqa [32+esp],xmm4
3419 paddd xmm6,xmm2
3420 movdqa [48+esp],xmm5
3421 paddd xmm7,xmm3
3422 movdqa [64+esp],xmm6
3423 movdqa [80+esp],xmm7
3424 jmp NEAR L$012ssse3_00_47
3425 align 16
3426 L$012ssse3_00_47:
3427 add ebp,64
3428 mov ecx,edx
3429 movdqa xmm4,xmm1
3430 ror edx,14
3431 mov esi,DWORD [20+esp]
3432 movdqa xmm7,xmm3
3433 xor edx,ecx
3434 mov edi,DWORD [24+esp]
3435 db 102,15,58,15,224,4
3436 xor esi,edi
3437 ror edx,5
3438 and esi,ecx
3439 db 102,15,58,15,250,4
3440 mov DWORD [16+esp],ecx
3441 xor edx,ecx
3442 xor edi,esi
3443 movdqa xmm5,xmm4
3444 ror edx,6
3445 mov ecx,eax
3446 movdqa xmm6,xmm4
3447 add edx,edi
3448 mov edi,DWORD [4+esp]
3449 psrld xmm4,3
3450 mov esi,eax
3451 ror ecx,9
3452 paddd xmm0,xmm7
3453 mov DWORD [esp],eax
3454 xor ecx,eax
3455 psrld xmm6,7
3456 xor eax,edi
3457 add edx,DWORD [28+esp]
3458 ror ecx,11
3459 and ebx,eax
3460 pshufd xmm7,xmm3,250
3461 xor ecx,esi
3462 add edx,DWORD [32+esp]
3463 pslld xmm5,14
3464 xor ebx,edi
3465 ror ecx,2
3466 pxor xmm4,xmm6
3467 add ebx,edx
3468 add edx,DWORD [12+esp]
3469 psrld xmm6,11
3470 add ebx,ecx
3471 mov ecx,edx
3472 ror edx,14
3473 pxor xmm4,xmm5
3474 mov esi,DWORD [16+esp]
3475 xor edx,ecx
3476 pslld xmm5,11
3477 mov edi,DWORD [20+esp]
3478 xor esi,edi
3479 ror edx,5
3480 pxor xmm4,xmm6
3481 and esi,ecx
3482 mov DWORD [12+esp],ecx
3483 movdqa xmm6,xmm7
3484 xor edx,ecx
3485 xor edi,esi
3486 ror edx,6
3487 pxor xmm4,xmm5
3488 mov ecx,ebx
3489 add edx,edi
3490 psrld xmm7,10
3491 mov edi,DWORD [esp]
3492 mov esi,ebx
3493 ror ecx,9
3494 paddd xmm0,xmm4
3495 mov DWORD [28+esp],ebx
3496 xor ecx,ebx
3497 psrlq xmm6,17
3498 xor ebx,edi
3499 add edx,DWORD [24+esp]
3500 ror ecx,11
3501 pxor xmm7,xmm6
3502 and eax,ebx
3503 xor ecx,esi
3504 psrlq xmm6,2
3505 add edx,DWORD [36+esp]
3506 xor eax,edi
3507 ror ecx,2
3508 pxor xmm7,xmm6
3509 add eax,edx
3510 add edx,DWORD [8+esp]
3511 pshufd xmm7,xmm7,128
3512 add eax,ecx
3513 mov ecx,edx
3514 ror edx,14
3515 mov esi,DWORD [12+esp]
3516 xor edx,ecx
3517 mov edi,DWORD [16+esp]
3518 xor esi,edi
3519 ror edx,5
3520 and esi,ecx
3521 psrldq xmm7,8
3522 mov DWORD [8+esp],ecx
3523 xor edx,ecx
3524 xor edi,esi
3525 paddd xmm0,xmm7
3526 ror edx,6
3527 mov ecx,eax
3528 add edx,edi
3529 mov edi,DWORD [28+esp]
3530 mov esi,eax
3531 ror ecx,9
3532 mov DWORD [24+esp],eax
3533 pshufd xmm7,xmm0,80
3534 xor ecx,eax
3535 xor eax,edi
3536 add edx,DWORD [20+esp]
3537 movdqa xmm6,xmm7
3538 ror ecx,11
3539 psrld xmm7,10
3540 and ebx,eax
3541 psrlq xmm6,17
3542 xor ecx,esi
3543 add edx,DWORD [40+esp]
3544 xor ebx,edi
3545 ror ecx,2
3546 pxor xmm7,xmm6
3547 add ebx,edx
3548 add edx,DWORD [4+esp]
3549 psrlq xmm6,2
3550 add ebx,ecx
3551 mov ecx,edx
3552 ror edx,14
3553 pxor xmm7,xmm6
3554 mov esi,DWORD [8+esp]
3555 xor edx,ecx
3556 mov edi,DWORD [12+esp]
3557 pshufd xmm7,xmm7,8
3558 xor esi,edi
3559 ror edx,5
3560 movdqa xmm6,[ebp]
3561 and esi,ecx
3562 mov DWORD [4+esp],ecx
3563 pslldq xmm7,8
3564 xor edx,ecx
3565 xor edi,esi
3566 ror edx,6
3567 mov ecx,ebx
3568 add edx,edi
3569 mov edi,DWORD [24+esp]
3570 mov esi,ebx
3571 ror ecx,9
3572 paddd xmm0,xmm7
3573 mov DWORD [20+esp],ebx
3574 xor ecx,ebx
3575 xor ebx,edi
3576 add edx,DWORD [16+esp]
3577 paddd xmm6,xmm0
3578 ror ecx,11
3579 and eax,ebx
3580 xor ecx,esi
3581 add edx,DWORD [44+esp]
3582 xor eax,edi
3583 ror ecx,2
3584 add eax,edx
3585 add edx,DWORD [esp]
3586 add eax,ecx
3587 movdqa [32+esp],xmm6
3588 mov ecx,edx
3589 movdqa xmm4,xmm2
3590 ror edx,14
3591 mov esi,DWORD [4+esp]
3592 movdqa xmm7,xmm0
3593 xor edx,ecx
3594 mov edi,DWORD [8+esp]
3595 db 102,15,58,15,225,4
3596 xor esi,edi
3597 ror edx,5
3598 and esi,ecx
3599 db 102,15,58,15,251,4
3600 mov DWORD [esp],ecx
3601 xor edx,ecx
3602 xor edi,esi
3603 movdqa xmm5,xmm4
3604 ror edx,6
3605 mov ecx,eax
3606 movdqa xmm6,xmm4
3607 add edx,edi
3608 mov edi,DWORD [20+esp]
3609 psrld xmm4,3
3610 mov esi,eax
3611 ror ecx,9
3612 paddd xmm1,xmm7
3613 mov DWORD [16+esp],eax
3614 xor ecx,eax
3615 psrld xmm6,7
3616 xor eax,edi
3617 add edx,DWORD [12+esp]
3618 ror ecx,11
3619 and ebx,eax
3620 pshufd xmm7,xmm0,250
3621 xor ecx,esi
3622 add edx,DWORD [48+esp]
3623 pslld xmm5,14
3624 xor ebx,edi
3625 ror ecx,2
3626 pxor xmm4,xmm6
3627 add ebx,edx
3628 add edx,DWORD [28+esp]
3629 psrld xmm6,11
3630 add ebx,ecx
3631 mov ecx,edx
3632 ror edx,14
3633 pxor xmm4,xmm5
3634 mov esi,DWORD [esp]
3635 xor edx,ecx
3636 pslld xmm5,11
3637 mov edi,DWORD [4+esp]
3638 xor esi,edi
3639 ror edx,5
3640 pxor xmm4,xmm6
3641 and esi,ecx
3642 mov DWORD [28+esp],ecx
3643 movdqa xmm6,xmm7
3644 xor edx,ecx
3645 xor edi,esi
3646 ror edx,6
3647 pxor xmm4,xmm5
3648 mov ecx,ebx
3649 add edx,edi
3650 psrld xmm7,10
3651 mov edi,DWORD [16+esp]
3652 mov esi,ebx
3653 ror ecx,9
3654 paddd xmm1,xmm4
3655 mov DWORD [12+esp],ebx
3656 xor ecx,ebx
3657 psrlq xmm6,17
3658 xor ebx,edi
3659 add edx,DWORD [8+esp]
3660 ror ecx,11
3661 pxor xmm7,xmm6
3662 and eax,ebx
3663 xor ecx,esi
3664 psrlq xmm6,2
3665 add edx,DWORD [52+esp]
3666 xor eax,edi
3667 ror ecx,2
3668 pxor xmm7,xmm6
3669 add eax,edx
3670 add edx,DWORD [24+esp]
3671 pshufd xmm7,xmm7,128
3672 add eax,ecx
3673 mov ecx,edx
3674 ror edx,14
3675 mov esi,DWORD [28+esp]
3676 xor edx,ecx
3677 mov edi,DWORD [esp]
3678 xor esi,edi
3679 ror edx,5
3680 and esi,ecx
3681 psrldq xmm7,8
3682 mov DWORD [24+esp],ecx
3683 xor edx,ecx
3684 xor edi,esi
3685 paddd xmm1,xmm7
3686 ror edx,6
3687 mov ecx,eax
3688 add edx,edi
3689 mov edi,DWORD [12+esp]
3690 mov esi,eax
3691 ror ecx,9
3692 mov DWORD [8+esp],eax
3693 pshufd xmm7,xmm1,80
3694 xor ecx,eax
3695 xor eax,edi
3696 add edx,DWORD [4+esp]
3697 movdqa xmm6,xmm7
3698 ror ecx,11
3699 psrld xmm7,10
3700 and ebx,eax
3701 psrlq xmm6,17
3702 xor ecx,esi
3703 add edx,DWORD [56+esp]
3704 xor ebx,edi
3705 ror ecx,2
3706 pxor xmm7,xmm6
3707 add ebx,edx
3708 add edx,DWORD [20+esp]
3709 psrlq xmm6,2
3710 add ebx,ecx
3711 mov ecx,edx
3712 ror edx,14
3713 pxor xmm7,xmm6
3714 mov esi,DWORD [24+esp]
3715 xor edx,ecx
3716 mov edi,DWORD [28+esp]
3717 pshufd xmm7,xmm7,8
3718 xor esi,edi
3719 ror edx,5
3720 movdqa xmm6,[16+ebp]
3721 and esi,ecx
3722 mov DWORD [20+esp],ecx
3723 pslldq xmm7,8
3724 xor edx,ecx
3725 xor edi,esi
3726 ror edx,6
3727 mov ecx,ebx
3728 add edx,edi
3729 mov edi,DWORD [8+esp]
3730 mov esi,ebx
3731 ror ecx,9
3732 paddd xmm1,xmm7
3733 mov DWORD [4+esp],ebx
3734 xor ecx,ebx
3735 xor ebx,edi
3736 add edx,DWORD [esp]
3737 paddd xmm6,xmm1
3738 ror ecx,11
3739 and eax,ebx
3740 xor ecx,esi
3741 add edx,DWORD [60+esp]
3742 xor eax,edi
3743 ror ecx,2
3744 add eax,edx
3745 add edx,DWORD [16+esp]
3746 add eax,ecx
3747 movdqa [48+esp],xmm6
3748 mov ecx,edx
3749 movdqa xmm4,xmm3
3750 ror edx,14
3751 mov esi,DWORD [20+esp]
3752 movdqa xmm7,xmm1
3753 xor edx,ecx
3754 mov edi,DWORD [24+esp]
3755 db 102,15,58,15,226,4
3756 xor esi,edi
3757 ror edx,5
3758 and esi,ecx
3759 db 102,15,58,15,248,4
3760 mov DWORD [16+esp],ecx
3761 xor edx,ecx
3762 xor edi,esi
3763 movdqa xmm5,xmm4
3764 ror edx,6
3765 mov ecx,eax
3766 movdqa xmm6,xmm4
3767 add edx,edi
3768 mov edi,DWORD [4+esp]
3769 psrld xmm4,3
3770 mov esi,eax
3771 ror ecx,9
3772 paddd xmm2,xmm7
3773 mov DWORD [esp],eax
3774 xor ecx,eax
3775 psrld xmm6,7
3776 xor eax,edi
3777 add edx,DWORD [28+esp]
3778 ror ecx,11
3779 and ebx,eax
3780 pshufd xmm7,xmm1,250
3781 xor ecx,esi
3782 add edx,DWORD [64+esp]
3783 pslld xmm5,14
3784 xor ebx,edi
3785 ror ecx,2
3786 pxor xmm4,xmm6
3787 add ebx,edx
3788 add edx,DWORD [12+esp]
3789 psrld xmm6,11
3790 add ebx,ecx
3791 mov ecx,edx
3792 ror edx,14
3793 pxor xmm4,xmm5
3794 mov esi,DWORD [16+esp]
3795 xor edx,ecx
3796 pslld xmm5,11
3797 mov edi,DWORD [20+esp]
3798 xor esi,edi
3799 ror edx,5
3800 pxor xmm4,xmm6
3801 and esi,ecx
3802 mov DWORD [12+esp],ecx
3803 movdqa xmm6,xmm7
3804 xor edx,ecx
3805 xor edi,esi
3806 ror edx,6
3807 pxor xmm4,xmm5
3808 mov ecx,ebx
3809 add edx,edi
3810 psrld xmm7,10
3811 mov edi,DWORD [esp]
3812 mov esi,ebx
3813 ror ecx,9
3814 paddd xmm2,xmm4
3815 mov DWORD [28+esp],ebx
3816 xor ecx,ebx
3817 psrlq xmm6,17
3818 xor ebx,edi
3819 add edx,DWORD [24+esp]
3820 ror ecx,11
3821 pxor xmm7,xmm6
3822 and eax,ebx
3823 xor ecx,esi
3824 psrlq xmm6,2
3825 add edx,DWORD [68+esp]
3826 xor eax,edi
3827 ror ecx,2
3828 pxor xmm7,xmm6
3829 add eax,edx
3830 add edx,DWORD [8+esp]
3831 pshufd xmm7,xmm7,128
3832 add eax,ecx
3833 mov ecx,edx
3834 ror edx,14
3835 mov esi,DWORD [12+esp]
3836 xor edx,ecx
3837 mov edi,DWORD [16+esp]
3838 xor esi,edi
3839 ror edx,5
3840 and esi,ecx
3841 psrldq xmm7,8
3842 mov DWORD [8+esp],ecx
3843 xor edx,ecx
3844 xor edi,esi
3845 paddd xmm2,xmm7
3846 ror edx,6
3847 mov ecx,eax
3848 add edx,edi
3849 mov edi,DWORD [28+esp]
3850 mov esi,eax
3851 ror ecx,9
3852 mov DWORD [24+esp],eax
3853 pshufd xmm7,xmm2,80
3854 xor ecx,eax
3855 xor eax,edi
3856 add edx,DWORD [20+esp]
3857 movdqa xmm6,xmm7
3858 ror ecx,11
3859 psrld xmm7,10
3860 and ebx,eax
3861 psrlq xmm6,17
3862 xor ecx,esi
3863 add edx,DWORD [72+esp]
3864 xor ebx,edi
3865 ror ecx,2
3866 pxor xmm7,xmm6
3867 add ebx,edx
3868 add edx,DWORD [4+esp]
3869 psrlq xmm6,2
3870 add ebx,ecx
3871 mov ecx,edx
3872 ror edx,14
3873 pxor xmm7,xmm6
3874 mov esi,DWORD [8+esp]
3875 xor edx,ecx
3876 mov edi,DWORD [12+esp]
3877 pshufd xmm7,xmm7,8
3878 xor esi,edi
3879 ror edx,5
3880 movdqa xmm6,[32+ebp]
3881 and esi,ecx
3882 mov DWORD [4+esp],ecx
3883 pslldq xmm7,8
3884 xor edx,ecx
3885 xor edi,esi
3886 ror edx,6
3887 mov ecx,ebx
3888 add edx,edi
3889 mov edi,DWORD [24+esp]
3890 mov esi,ebx
3891 ror ecx,9
3892 paddd xmm2,xmm7
3893 mov DWORD [20+esp],ebx
3894 xor ecx,ebx
3895 xor ebx,edi
3896 add edx,DWORD [16+esp]
3897 paddd xmm6,xmm2
3898 ror ecx,11
3899 and eax,ebx
3900 xor ecx,esi
3901 add edx,DWORD [76+esp]
3902 xor eax,edi
3903 ror ecx,2
3904 add eax,edx
3905 add edx,DWORD [esp]
3906 add eax,ecx
3907 movdqa [64+esp],xmm6
3908 mov ecx,edx
3909 movdqa xmm4,xmm0
3910 ror edx,14
3911 mov esi,DWORD [4+esp]
3912 movdqa xmm7,xmm2
3913 xor edx,ecx
3914 mov edi,DWORD [8+esp]
3915 db 102,15,58,15,227,4
3916 xor esi,edi
3917 ror edx,5
3918 and esi,ecx
3919 db 102,15,58,15,249,4
3920 mov DWORD [esp],ecx
3921 xor edx,ecx
3922 xor edi,esi
3923 movdqa xmm5,xmm4
3924 ror edx,6
3925 mov ecx,eax
3926 movdqa xmm6,xmm4
3927 add edx,edi
3928 mov edi,DWORD [20+esp]
3929 psrld xmm4,3
3930 mov esi,eax
3931 ror ecx,9
3932 paddd xmm3,xmm7
3933 mov DWORD [16+esp],eax
3934 xor ecx,eax
3935 psrld xmm6,7
3936 xor eax,edi
3937 add edx,DWORD [12+esp]
3938 ror ecx,11
3939 and ebx,eax
3940 pshufd xmm7,xmm2,250
3941 xor ecx,esi
3942 add edx,DWORD [80+esp]
3943 pslld xmm5,14
3944 xor ebx,edi
3945 ror ecx,2
3946 pxor xmm4,xmm6
3947 add ebx,edx
3948 add edx,DWORD [28+esp]
3949 psrld xmm6,11
3950 add ebx,ecx
3951 mov ecx,edx
3952 ror edx,14
3953 pxor xmm4,xmm5
3954 mov esi,DWORD [esp]
3955 xor edx,ecx
3956 pslld xmm5,11
3957 mov edi,DWORD [4+esp]
3958 xor esi,edi
3959 ror edx,5
3960 pxor xmm4,xmm6
3961 and esi,ecx
3962 mov DWORD [28+esp],ecx
3963 movdqa xmm6,xmm7
3964 xor edx,ecx
3965 xor edi,esi
3966 ror edx,6
3967 pxor xmm4,xmm5
3968 mov ecx,ebx
3969 add edx,edi
3970 psrld xmm7,10
3971 mov edi,DWORD [16+esp]
3972 mov esi,ebx
3973 ror ecx,9
3974 paddd xmm3,xmm4
3975 mov DWORD [12+esp],ebx
3976 xor ecx,ebx
3977 psrlq xmm6,17
3978 xor ebx,edi
3979 add edx,DWORD [8+esp]
3980 ror ecx,11
3981 pxor xmm7,xmm6
3982 and eax,ebx
3983 xor ecx,esi
3984 psrlq xmm6,2
3985 add edx,DWORD [84+esp]
3986 xor eax,edi
3987 ror ecx,2
3988 pxor xmm7,xmm6
3989 add eax,edx
3990 add edx,DWORD [24+esp]
3991 pshufd xmm7,xmm7,128
3992 add eax,ecx
3993 mov ecx,edx
3994 ror edx,14
3995 mov esi,DWORD [28+esp]
3996 xor edx,ecx
3997 mov edi,DWORD [esp]
3998 xor esi,edi
3999 ror edx,5
4000 and esi,ecx
4001 psrldq xmm7,8
4002 mov DWORD [24+esp],ecx
4003 xor edx,ecx
4004 xor edi,esi
4005 paddd xmm3,xmm7
4006 ror edx,6
4007 mov ecx,eax
4008 add edx,edi
4009 mov edi,DWORD [12+esp]
4010 mov esi,eax
4011 ror ecx,9
4012 mov DWORD [8+esp],eax
4013 pshufd xmm7,xmm3,80
4014 xor ecx,eax
4015 xor eax,edi
4016 add edx,DWORD [4+esp]
4017 movdqa xmm6,xmm7
4018 ror ecx,11
4019 psrld xmm7,10
4020 and ebx,eax
4021 psrlq xmm6,17
4022 xor ecx,esi
4023 add edx,DWORD [88+esp]
4024 xor ebx,edi
4025 ror ecx,2
4026 pxor xmm7,xmm6
4027 add ebx,edx
4028 add edx,DWORD [20+esp]
4029 psrlq xmm6,2
4030 add ebx,ecx
4031 mov ecx,edx
4032 ror edx,14
4033 pxor xmm7,xmm6
4034 mov esi,DWORD [24+esp]
4035 xor edx,ecx
4036 mov edi,DWORD [28+esp]
4037 pshufd xmm7,xmm7,8
4038 xor esi,edi
4039 ror edx,5
4040 movdqa xmm6,[48+ebp]
4041 and esi,ecx
4042 mov DWORD [20+esp],ecx
4043 pslldq xmm7,8
4044 xor edx,ecx
4045 xor edi,esi
4046 ror edx,6
4047 mov ecx,ebx
4048 add edx,edi
4049 mov edi,DWORD [8+esp]
4050 mov esi,ebx
4051 ror ecx,9
4052 paddd xmm3,xmm7
4053 mov DWORD [4+esp],ebx
4054 xor ecx,ebx
4055 xor ebx,edi
4056 add edx,DWORD [esp]
4057 paddd xmm6,xmm3
4058 ror ecx,11
4059 and eax,ebx
4060 xor ecx,esi
4061 add edx,DWORD [92+esp]
4062 xor eax,edi
4063 ror ecx,2
4064 add eax,edx
4065 add edx,DWORD [16+esp]
4066 add eax,ecx
4067 movdqa [80+esp],xmm6
4068 cmp DWORD [64+ebp],66051
4069 jne NEAR L$012ssse3_00_47
4070 mov ecx,edx
4071 ror edx,14
4072 mov esi,DWORD [20+esp]
4073 xor edx,ecx
4074 mov edi,DWORD [24+esp]
4075 xor esi,edi
4076 ror edx,5
4077 and esi,ecx
4078 mov DWORD [16+esp],ecx
4079 xor edx,ecx
4080 xor edi,esi
4081 ror edx,6
4082 mov ecx,eax
4083 add edx,edi
4084 mov edi,DWORD [4+esp]
4085 mov esi,eax
4086 ror ecx,9
4087 mov DWORD [esp],eax
4088 xor ecx,eax
4089 xor eax,edi
4090 add edx,DWORD [28+esp]
4091 ror ecx,11
4092 and ebx,eax
4093 xor ecx,esi
4094 add edx,DWORD [32+esp]
4095 xor ebx,edi
4096 ror ecx,2
4097 add ebx,edx
4098 add edx,DWORD [12+esp]
4099 add ebx,ecx
4100 mov ecx,edx
4101 ror edx,14
4102 mov esi,DWORD [16+esp]
4103 xor edx,ecx
4104 mov edi,DWORD [20+esp]
4105 xor esi,edi
4106 ror edx,5
4107 and esi,ecx
4108 mov DWORD [12+esp],ecx
4109 xor edx,ecx
4110 xor edi,esi
4111 ror edx,6
4112 mov ecx,ebx
4113 add edx,edi
4114 mov edi,DWORD [esp]
4115 mov esi,ebx
4116 ror ecx,9
4117 mov DWORD [28+esp],ebx
4118 xor ecx,ebx
4119 xor ebx,edi
4120 add edx,DWORD [24+esp]
4121 ror ecx,11
4122 and eax,ebx
4123 xor ecx,esi
4124 add edx,DWORD [36+esp]
4125 xor eax,edi
4126 ror ecx,2
4127 add eax,edx
4128 add edx,DWORD [8+esp]
4129 add eax,ecx
4130 mov ecx,edx
4131 ror edx,14
4132 mov esi,DWORD [12+esp]
4133 xor edx,ecx
4134 mov edi,DWORD [16+esp]
4135 xor esi,edi
4136 ror edx,5
4137 and esi,ecx
4138 mov DWORD [8+esp],ecx
4139 xor edx,ecx
4140 xor edi,esi
4141 ror edx,6
4142 mov ecx,eax
4143 add edx,edi
4144 mov edi,DWORD [28+esp]
4145 mov esi,eax
4146 ror ecx,9
4147 mov DWORD [24+esp],eax
4148 xor ecx,eax
4149 xor eax,edi
4150 add edx,DWORD [20+esp]
4151 ror ecx,11
4152 and ebx,eax
4153 xor ecx,esi
4154 add edx,DWORD [40+esp]
4155 xor ebx,edi
4156 ror ecx,2
4157 add ebx,edx
4158 add edx,DWORD [4+esp]
4159 add ebx,ecx
4160 mov ecx,edx
4161 ror edx,14
4162 mov esi,DWORD [8+esp]
4163 xor edx,ecx
4164 mov edi,DWORD [12+esp]
4165 xor esi,edi
4166 ror edx,5
4167 and esi,ecx
4168 mov DWORD [4+esp],ecx
4169 xor edx,ecx
4170 xor edi,esi
4171 ror edx,6
4172 mov ecx,ebx
4173 add edx,edi
4174 mov edi,DWORD [24+esp]
4175 mov esi,ebx
4176 ror ecx,9
4177 mov DWORD [20+esp],ebx
4178 xor ecx,ebx
4179 xor ebx,edi
4180 add edx,DWORD [16+esp]
4181 ror ecx,11
4182 and eax,ebx
4183 xor ecx,esi
4184 add edx,DWORD [44+esp]
4185 xor eax,edi
4186 ror ecx,2
4187 add eax,edx
4188 add edx,DWORD [esp]
4189 add eax,ecx
4190 mov ecx,edx
4191 ror edx,14
4192 mov esi,DWORD [4+esp]
4193 xor edx,ecx
4194 mov edi,DWORD [8+esp]
4195 xor esi,edi
4196 ror edx,5
4197 and esi,ecx
4198 mov DWORD [esp],ecx
4199 xor edx,ecx
4200 xor edi,esi
4201 ror edx,6
4202 mov ecx,eax
4203 add edx,edi
4204 mov edi,DWORD [20+esp]
4205 mov esi,eax
4206 ror ecx,9
4207 mov DWORD [16+esp],eax
4208 xor ecx,eax
4209 xor eax,edi
4210 add edx,DWORD [12+esp]
4211 ror ecx,11
4212 and ebx,eax
4213 xor ecx,esi
4214 add edx,DWORD [48+esp]
4215 xor ebx,edi
4216 ror ecx,2
4217 add ebx,edx
4218 add edx,DWORD [28+esp]
4219 add ebx,ecx
4220 mov ecx,edx
4221 ror edx,14
4222 mov esi,DWORD [esp]
4223 xor edx,ecx
4224 mov edi,DWORD [4+esp]
4225 xor esi,edi
4226 ror edx,5
4227 and esi,ecx
4228 mov DWORD [28+esp],ecx
4229 xor edx,ecx
4230 xor edi,esi
4231 ror edx,6
4232 mov ecx,ebx
4233 add edx,edi
4234 mov edi,DWORD [16+esp]
4235 mov esi,ebx
4236 ror ecx,9
4237 mov DWORD [12+esp],ebx
4238 xor ecx,ebx
4239 xor ebx,edi
4240 add edx,DWORD [8+esp]
4241 ror ecx,11
4242 and eax,ebx
4243 xor ecx,esi
4244 add edx,DWORD [52+esp]
4245 xor eax,edi
4246 ror ecx,2
4247 add eax,edx
4248 add edx,DWORD [24+esp]
4249 add eax,ecx
4250 mov ecx,edx
4251 ror edx,14
4252 mov esi,DWORD [28+esp]
4253 xor edx,ecx
4254 mov edi,DWORD [esp]
4255 xor esi,edi
4256 ror edx,5
4257 and esi,ecx
4258 mov DWORD [24+esp],ecx
4259 xor edx,ecx
4260 xor edi,esi
4261 ror edx,6
4262 mov ecx,eax
4263 add edx,edi
4264 mov edi,DWORD [12+esp]
4265 mov esi,eax
4266 ror ecx,9
4267 mov DWORD [8+esp],eax
4268 xor ecx,eax
4269 xor eax,edi
4270 add edx,DWORD [4+esp]
4271 ror ecx,11
4272 and ebx,eax
4273 xor ecx,esi
4274 add edx,DWORD [56+esp]
4275 xor ebx,edi
4276 ror ecx,2
4277 add ebx,edx
4278 add edx,DWORD [20+esp]
4279 add ebx,ecx
4280 mov ecx,edx
4281 ror edx,14
4282 mov esi,DWORD [24+esp]
4283 xor edx,ecx
4284 mov edi,DWORD [28+esp]
4285 xor esi,edi
4286 ror edx,5
4287 and esi,ecx
4288 mov DWORD [20+esp],ecx
4289 xor edx,ecx
4290 xor edi,esi
4291 ror edx,6
4292 mov ecx,ebx
4293 add edx,edi
4294 mov edi,DWORD [8+esp]
4295 mov esi,ebx
4296 ror ecx,9
4297 mov DWORD [4+esp],ebx
4298 xor ecx,ebx
4299 xor ebx,edi
4300 add edx,DWORD [esp]
4301 ror ecx,11
4302 and eax,ebx
4303 xor ecx,esi
4304 add edx,DWORD [60+esp]
4305 xor eax,edi
4306 ror ecx,2
4307 add eax,edx
4308 add edx,DWORD [16+esp]
4309 add eax,ecx
4310 mov ecx,edx
4311 ror edx,14
4312 mov esi,DWORD [20+esp]
4313 xor edx,ecx
4314 mov edi,DWORD [24+esp]
4315 xor esi,edi
4316 ror edx,5
4317 and esi,ecx
4318 mov DWORD [16+esp],ecx
4319 xor edx,ecx
4320 xor edi,esi
4321 ror edx,6
4322 mov ecx,eax
4323 add edx,edi
4324 mov edi,DWORD [4+esp]
4325 mov esi,eax
4326 ror ecx,9
4327 mov DWORD [esp],eax
4328 xor ecx,eax
4329 xor eax,edi
4330 add edx,DWORD [28+esp]
4331 ror ecx,11
4332 and ebx,eax
4333 xor ecx,esi
4334 add edx,DWORD [64+esp]
4335 xor ebx,edi
4336 ror ecx,2
4337 add ebx,edx
4338 add edx,DWORD [12+esp]
4339 add ebx,ecx
4340 mov ecx,edx
4341 ror edx,14
4342 mov esi,DWORD [16+esp]
4343 xor edx,ecx
4344 mov edi,DWORD [20+esp]
4345 xor esi,edi
4346 ror edx,5
4347 and esi,ecx
4348 mov DWORD [12+esp],ecx
4349 xor edx,ecx
4350 xor edi,esi
4351 ror edx,6
4352 mov ecx,ebx
4353 add edx,edi
4354 mov edi,DWORD [esp]
4355 mov esi,ebx
4356 ror ecx,9
4357 mov DWORD [28+esp],ebx
4358 xor ecx,ebx
4359 xor ebx,edi
4360 add edx,DWORD [24+esp]
4361 ror ecx,11
4362 and eax,ebx
4363 xor ecx,esi
4364 add edx,DWORD [68+esp]
4365 xor eax,edi
4366 ror ecx,2
4367 add eax,edx
4368 add edx,DWORD [8+esp]
4369 add eax,ecx
4370 mov ecx,edx
4371 ror edx,14
4372 mov esi,DWORD [12+esp]
4373 xor edx,ecx
4374 mov edi,DWORD [16+esp]
4375 xor esi,edi
4376 ror edx,5
4377 and esi,ecx
4378 mov DWORD [8+esp],ecx
4379 xor edx,ecx
4380 xor edi,esi
4381 ror edx,6
4382 mov ecx,eax
4383 add edx,edi
4384 mov edi,DWORD [28+esp]
4385 mov esi,eax
4386 ror ecx,9
4387 mov DWORD [24+esp],eax
4388 xor ecx,eax
4389 xor eax,edi
4390 add edx,DWORD [20+esp]
4391 ror ecx,11
4392 and ebx,eax
4393 xor ecx,esi
4394 add edx,DWORD [72+esp]
4395 xor ebx,edi
4396 ror ecx,2
4397 add ebx,edx
4398 add edx,DWORD [4+esp]
4399 add ebx,ecx
4400 mov ecx,edx
4401 ror edx,14
4402 mov esi,DWORD [8+esp]
4403 xor edx,ecx
4404 mov edi,DWORD [12+esp]
4405 xor esi,edi
4406 ror edx,5
4407 and esi,ecx
4408 mov DWORD [4+esp],ecx
4409 xor edx,ecx
4410 xor edi,esi
4411 ror edx,6
4412 mov ecx,ebx
4413 add edx,edi
4414 mov edi,DWORD [24+esp]
4415 mov esi,ebx
4416 ror ecx,9
4417 mov DWORD [20+esp],ebx
4418 xor ecx,ebx
4419 xor ebx,edi
4420 add edx,DWORD [16+esp]
4421 ror ecx,11
4422 and eax,ebx
4423 xor ecx,esi
4424 add edx,DWORD [76+esp]
4425 xor eax,edi
4426 ror ecx,2
4427 add eax,edx
4428 add edx,DWORD [esp]
4429 add eax,ecx
4430 mov ecx,edx
4431 ror edx,14
4432 mov esi,DWORD [4+esp]
4433 xor edx,ecx
4434 mov edi,DWORD [8+esp]
4435 xor esi,edi
4436 ror edx,5
4437 and esi,ecx
4438 mov DWORD [esp],ecx
4439 xor edx,ecx
4440 xor edi,esi
4441 ror edx,6
4442 mov ecx,eax
4443 add edx,edi
4444 mov edi,DWORD [20+esp]
4445 mov esi,eax
4446 ror ecx,9
4447 mov DWORD [16+esp],eax
4448 xor ecx,eax
4449 xor eax,edi
4450 add edx,DWORD [12+esp]
4451 ror ecx,11
4452 and ebx,eax
4453 xor ecx,esi
4454 add edx,DWORD [80+esp]
4455 xor ebx,edi
4456 ror ecx,2
4457 add ebx,edx
4458 add edx,DWORD [28+esp]
4459 add ebx,ecx
4460 mov ecx,edx
4461 ror edx,14
4462 mov esi,DWORD [esp]
4463 xor edx,ecx
4464 mov edi,DWORD [4+esp]
4465 xor esi,edi
4466 ror edx,5
4467 and esi,ecx
4468 mov DWORD [28+esp],ecx
4469 xor edx,ecx
4470 xor edi,esi
4471 ror edx,6
4472 mov ecx,ebx
4473 add edx,edi
4474 mov edi,DWORD [16+esp]
4475 mov esi,ebx
4476 ror ecx,9
4477 mov DWORD [12+esp],ebx
4478 xor ecx,ebx
4479 xor ebx,edi
4480 add edx,DWORD [8+esp]
4481 ror ecx,11
4482 and eax,ebx
4483 xor ecx,esi
4484 add edx,DWORD [84+esp]
4485 xor eax,edi
4486 ror ecx,2
4487 add eax,edx
4488 add edx,DWORD [24+esp]
4489 add eax,ecx
4490 mov ecx,edx
4491 ror edx,14
4492 mov esi,DWORD [28+esp]
4493 xor edx,ecx
4494 mov edi,DWORD [esp]
4495 xor esi,edi
4496 ror edx,5
4497 and esi,ecx
4498 mov DWORD [24+esp],ecx
4499 xor edx,ecx
4500 xor edi,esi
4501 ror edx,6
4502 mov ecx,eax
4503 add edx,edi
4504 mov edi,DWORD [12+esp]
4505 mov esi,eax
4506 ror ecx,9
4507 mov DWORD [8+esp],eax
4508 xor ecx,eax
4509 xor eax,edi
4510 add edx,DWORD [4+esp]
4511 ror ecx,11
4512 and ebx,eax
4513 xor ecx,esi
4514 add edx,DWORD [88+esp]
4515 xor ebx,edi
4516 ror ecx,2
4517 add ebx,edx
4518 add edx,DWORD [20+esp]
4519 add ebx,ecx
4520 mov ecx,edx
4521 ror edx,14
4522 mov esi,DWORD [24+esp]
4523 xor edx,ecx
4524 mov edi,DWORD [28+esp]
4525 xor esi,edi
4526 ror edx,5
4527 and esi,ecx
4528 mov DWORD [20+esp],ecx
4529 xor edx,ecx
4530 xor edi,esi
4531 ror edx,6
4532 mov ecx,ebx
4533 add edx,edi
4534 mov edi,DWORD [8+esp]
4535 mov esi,ebx
4536 ror ecx,9
4537 mov DWORD [4+esp],ebx
4538 xor ecx,ebx
4539 xor ebx,edi
4540 add edx,DWORD [esp]
4541 ror ecx,11
4542 and eax,ebx
4543 xor ecx,esi
4544 add edx,DWORD [92+esp]
4545 xor eax,edi
4546 ror ecx,2
4547 add eax,edx
4548 add edx,DWORD [16+esp]
4549 add eax,ecx
4550 mov esi,DWORD [96+esp]
4551 xor ebx,edi
4552 mov ecx,DWORD [12+esp]
4553 add eax,DWORD [esi]
4554 add ebx,DWORD [4+esi]
4555 add edi,DWORD [8+esi]
4556 add ecx,DWORD [12+esi]
4557 mov DWORD [esi],eax
4558 mov DWORD [4+esi],ebx
4559 mov DWORD [8+esi],edi
4560 mov DWORD [12+esi],ecx
4561 mov DWORD [4+esp],ebx
4562 xor ebx,edi
4563 mov DWORD [8+esp],edi
4564 mov DWORD [12+esp],ecx
4565 mov edi,DWORD [20+esp]
4566 mov ecx,DWORD [24+esp]
4567 add edx,DWORD [16+esi]
4568 add edi,DWORD [20+esi]
4569 add ecx,DWORD [24+esi]
4570 mov DWORD [16+esi],edx
4571 mov DWORD [20+esi],edi
4572 mov DWORD [20+esp],edi
4573 mov edi,DWORD [28+esp]
4574 mov DWORD [24+esi],ecx
4575 add edi,DWORD [28+esi]
4576 mov DWORD [24+esp],ecx
4577 mov DWORD [28+esi],edi
4578 mov DWORD [28+esp],edi
4579 mov edi,DWORD [100+esp]
4580 movdqa xmm7,[64+ebp]
4581 sub ebp,192
4582 cmp edi,DWORD [104+esp]
4583 jb NEAR L$011grand_ssse3
4584 mov esp,DWORD [108+esp]
4585 pop edi
4586 pop esi
4587 pop ebx
4588 pop ebp
4590 segment .bss
4591 common _OPENSSL_ia32cap_P 16