Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(114)

Side by Side Diff: third_party/boringssl/win-x86/crypto/sha/sha256-586.asm

Issue 683113005: Update from chromium https://crrev.com/302282 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
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 jmp NEAR L$002loop
43 align 16
44 L$002loop:
45 mov eax,DWORD [edi]
46 mov ebx,DWORD [4+edi]
47 mov ecx,DWORD [8+edi]
48 bswap eax
49 mov edx,DWORD [12+edi]
50 bswap ebx
51 push eax
52 bswap ecx
53 push ebx
54 bswap edx
55 push ecx
56 push edx
57 mov eax,DWORD [16+edi]
58 mov ebx,DWORD [20+edi]
59 mov ecx,DWORD [24+edi]
60 bswap eax
61 mov edx,DWORD [28+edi]
62 bswap ebx
63 push eax
64 bswap ecx
65 push ebx
66 bswap edx
67 push ecx
68 push edx
69 mov eax,DWORD [32+edi]
70 mov ebx,DWORD [36+edi]
71 mov ecx,DWORD [40+edi]
72 bswap eax
73 mov edx,DWORD [44+edi]
74 bswap ebx
75 push eax
76 bswap ecx
77 push ebx
78 bswap edx
79 push ecx
80 push edx
81 mov eax,DWORD [48+edi]
82 mov ebx,DWORD [52+edi]
83 mov ecx,DWORD [56+edi]
84 bswap eax
85 mov edx,DWORD [60+edi]
86 bswap ebx
87 push eax
88 bswap ecx
89 push ebx
90 bswap edx
91 push ecx
92 push edx
93 add edi,64
94 lea esp,[esp-36]
95 mov DWORD [104+esp],edi
96 mov eax,DWORD [esi]
97 mov ebx,DWORD [4+esi]
98 mov ecx,DWORD [8+esi]
99 mov edi,DWORD [12+esi]
100 mov DWORD [8+esp],ebx
101 xor ebx,ecx
102 mov DWORD [12+esp],ecx
103 mov DWORD [16+esp],edi
104 mov DWORD [esp],ebx
105 mov edx,DWORD [16+esi]
106 mov ebx,DWORD [20+esi]
107 mov ecx,DWORD [24+esi]
108 mov edi,DWORD [28+esi]
109 mov DWORD [24+esp],ebx
110 mov DWORD [28+esp],ecx
111 mov DWORD [32+esp],edi
112 align 16
113 L$00300_15:
114 mov ecx,edx
115 mov esi,DWORD [24+esp]
116 ror ecx,14
117 mov edi,DWORD [28+esp]
118 xor ecx,edx
119 xor esi,edi
120 mov ebx,DWORD [96+esp]
121 ror ecx,5
122 and esi,edx
123 mov DWORD [20+esp],edx
124 xor edx,ecx
125 add ebx,DWORD [32+esp]
126 xor esi,edi
127 ror edx,6
128 mov ecx,eax
129 add ebx,esi
130 ror ecx,9
131 add ebx,edx
132 mov edi,DWORD [8+esp]
133 xor ecx,eax
134 mov DWORD [4+esp],eax
135 lea esp,[esp-4]
136 ror ecx,11
137 mov esi,DWORD [ebp]
138 xor ecx,eax
139 mov edx,DWORD [20+esp]
140 xor eax,edi
141 ror ecx,2
142 add ebx,esi
143 mov DWORD [esp],eax
144 add edx,ebx
145 and eax,DWORD [4+esp]
146 add ebx,ecx
147 xor eax,edi
148 add ebp,4
149 add eax,ebx
150 cmp esi,3248222580
151 jne NEAR L$00300_15
152 mov ecx,DWORD [156+esp]
153 jmp NEAR L$00416_63
154 align 16
155 L$00416_63:
156 mov ebx,ecx
157 mov esi,DWORD [104+esp]
158 ror ecx,11
159 mov edi,esi
160 ror esi,2
161 xor ecx,ebx
162 shr ebx,3
163 ror ecx,7
164 xor esi,edi
165 xor ebx,ecx
166 ror esi,17
167 add ebx,DWORD [160+esp]
168 shr edi,10
169 add ebx,DWORD [124+esp]
170 mov ecx,edx
171 xor edi,esi
172 mov esi,DWORD [24+esp]
173 ror ecx,14
174 add ebx,edi
175 mov edi,DWORD [28+esp]
176 xor ecx,edx
177 xor esi,edi
178 mov DWORD [96+esp],ebx
179 ror ecx,5
180 and esi,edx
181 mov DWORD [20+esp],edx
182 xor edx,ecx
183 add ebx,DWORD [32+esp]
184 xor esi,edi
185 ror edx,6
186 mov ecx,eax
187 add ebx,esi
188 ror ecx,9
189 add ebx,edx
190 mov edi,DWORD [8+esp]
191 xor ecx,eax
192 mov DWORD [4+esp],eax
193 lea esp,[esp-4]
194 ror ecx,11
195 mov esi,DWORD [ebp]
196 xor ecx,eax
197 mov edx,DWORD [20+esp]
198 xor eax,edi
199 ror ecx,2
200 add ebx,esi
201 mov DWORD [esp],eax
202 add edx,ebx
203 and eax,DWORD [4+esp]
204 add ebx,ecx
205 xor eax,edi
206 mov ecx,DWORD [156+esp]
207 add ebp,4
208 add eax,ebx
209 cmp esi,3329325298
210 jne NEAR L$00416_63
211 mov esi,DWORD [356+esp]
212 mov ebx,DWORD [8+esp]
213 mov ecx,DWORD [16+esp]
214 add eax,DWORD [esi]
215 add ebx,DWORD [4+esi]
216 add edi,DWORD [8+esi]
217 add ecx,DWORD [12+esi]
218 mov DWORD [esi],eax
219 mov DWORD [4+esi],ebx
220 mov DWORD [8+esi],edi
221 mov DWORD [12+esi],ecx
222 mov eax,DWORD [24+esp]
223 mov ebx,DWORD [28+esp]
224 mov ecx,DWORD [32+esp]
225 mov edi,DWORD [360+esp]
226 add edx,DWORD [16+esi]
227 add eax,DWORD [20+esi]
228 add ebx,DWORD [24+esi]
229 add ecx,DWORD [28+esi]
230 mov DWORD [16+esi],edx
231 mov DWORD [20+esi],eax
232 mov DWORD [24+esi],ebx
233 mov DWORD [28+esi],ecx
234 lea esp,[356+esp]
235 sub ebp,256
236 cmp edi,DWORD [8+esp]
237 jb NEAR L$002loop
238 mov esp,DWORD [12+esp]
239 pop edi
240 pop esi
241 pop ebx
242 pop ebp
243 ret
244 align 32
245 L$005loop_shrd:
246 mov eax,DWORD [edi]
247 mov ebx,DWORD [4+edi]
248 mov ecx,DWORD [8+edi]
249 bswap eax
250 mov edx,DWORD [12+edi]
251 bswap ebx
252 push eax
253 bswap ecx
254 push ebx
255 bswap edx
256 push ecx
257 push edx
258 mov eax,DWORD [16+edi]
259 mov ebx,DWORD [20+edi]
260 mov ecx,DWORD [24+edi]
261 bswap eax
262 mov edx,DWORD [28+edi]
263 bswap ebx
264 push eax
265 bswap ecx
266 push ebx
267 bswap edx
268 push ecx
269 push edx
270 mov eax,DWORD [32+edi]
271 mov ebx,DWORD [36+edi]
272 mov ecx,DWORD [40+edi]
273 bswap eax
274 mov edx,DWORD [44+edi]
275 bswap ebx
276 push eax
277 bswap ecx
278 push ebx
279 bswap edx
280 push ecx
281 push edx
282 mov eax,DWORD [48+edi]
283 mov ebx,DWORD [52+edi]
284 mov ecx,DWORD [56+edi]
285 bswap eax
286 mov edx,DWORD [60+edi]
287 bswap ebx
288 push eax
289 bswap ecx
290 push ebx
291 bswap edx
292 push ecx
293 push edx
294 add edi,64
295 lea esp,[esp-36]
296 mov DWORD [104+esp],edi
297 mov eax,DWORD [esi]
298 mov ebx,DWORD [4+esi]
299 mov ecx,DWORD [8+esi]
300 mov edi,DWORD [12+esi]
301 mov DWORD [8+esp],ebx
302 xor ebx,ecx
303 mov DWORD [12+esp],ecx
304 mov DWORD [16+esp],edi
305 mov DWORD [esp],ebx
306 mov edx,DWORD [16+esi]
307 mov ebx,DWORD [20+esi]
308 mov ecx,DWORD [24+esi]
309 mov edi,DWORD [28+esi]
310 mov DWORD [24+esp],ebx
311 mov DWORD [28+esp],ecx
312 mov DWORD [32+esp],edi
313 align 16
314 L$00600_15_shrd:
315 mov ecx,edx
316 mov esi,DWORD [24+esp]
317 shrd ecx,ecx,14
318 mov edi,DWORD [28+esp]
319 xor ecx,edx
320 xor esi,edi
321 mov ebx,DWORD [96+esp]
322 shrd ecx,ecx,5
323 and esi,edx
324 mov DWORD [20+esp],edx
325 xor edx,ecx
326 add ebx,DWORD [32+esp]
327 xor esi,edi
328 shrd edx,edx,6
329 mov ecx,eax
330 add ebx,esi
331 shrd ecx,ecx,9
332 add ebx,edx
333 mov edi,DWORD [8+esp]
334 xor ecx,eax
335 mov DWORD [4+esp],eax
336 lea esp,[esp-4]
337 shrd ecx,ecx,11
338 mov esi,DWORD [ebp]
339 xor ecx,eax
340 mov edx,DWORD [20+esp]
341 xor eax,edi
342 shrd ecx,ecx,2
343 add ebx,esi
344 mov DWORD [esp],eax
345 add edx,ebx
346 and eax,DWORD [4+esp]
347 add ebx,ecx
348 xor eax,edi
349 add ebp,4
350 add eax,ebx
351 cmp esi,3248222580
352 jne NEAR L$00600_15_shrd
353 mov ecx,DWORD [156+esp]
354 jmp NEAR L$00716_63_shrd
355 align 16
356 L$00716_63_shrd:
357 mov ebx,ecx
358 mov esi,DWORD [104+esp]
359 shrd ecx,ecx,11
360 mov edi,esi
361 shrd esi,esi,2
362 xor ecx,ebx
363 shr ebx,3
364 shrd ecx,ecx,7
365 xor esi,edi
366 xor ebx,ecx
367 shrd esi,esi,17
368 add ebx,DWORD [160+esp]
369 shr edi,10
370 add ebx,DWORD [124+esp]
371 mov ecx,edx
372 xor edi,esi
373 mov esi,DWORD [24+esp]
374 shrd ecx,ecx,14
375 add ebx,edi
376 mov edi,DWORD [28+esp]
377 xor ecx,edx
378 xor esi,edi
379 mov DWORD [96+esp],ebx
380 shrd ecx,ecx,5
381 and esi,edx
382 mov DWORD [20+esp],edx
383 xor edx,ecx
384 add ebx,DWORD [32+esp]
385 xor esi,edi
386 shrd edx,edx,6
387 mov ecx,eax
388 add ebx,esi
389 shrd ecx,ecx,9
390 add ebx,edx
391 mov edi,DWORD [8+esp]
392 xor ecx,eax
393 mov DWORD [4+esp],eax
394 lea esp,[esp-4]
395 shrd ecx,ecx,11
396 mov esi,DWORD [ebp]
397 xor ecx,eax
398 mov edx,DWORD [20+esp]
399 xor eax,edi
400 shrd ecx,ecx,2
401 add ebx,esi
402 mov DWORD [esp],eax
403 add edx,ebx
404 and eax,DWORD [4+esp]
405 add ebx,ecx
406 xor eax,edi
407 mov ecx,DWORD [156+esp]
408 add ebp,4
409 add eax,ebx
410 cmp esi,3329325298
411 jne NEAR L$00716_63_shrd
412 mov esi,DWORD [356+esp]
413 mov ebx,DWORD [8+esp]
414 mov ecx,DWORD [16+esp]
415 add eax,DWORD [esi]
416 add ebx,DWORD [4+esi]
417 add edi,DWORD [8+esi]
418 add ecx,DWORD [12+esi]
419 mov DWORD [esi],eax
420 mov DWORD [4+esi],ebx
421 mov DWORD [8+esi],edi
422 mov DWORD [12+esi],ecx
423 mov eax,DWORD [24+esp]
424 mov ebx,DWORD [28+esp]
425 mov ecx,DWORD [32+esp]
426 mov edi,DWORD [360+esp]
427 add edx,DWORD [16+esi]
428 add eax,DWORD [20+esi]
429 add ebx,DWORD [24+esi]
430 add ecx,DWORD [28+esi]
431 mov DWORD [16+esi],edx
432 mov DWORD [20+esi],eax
433 mov DWORD [24+esi],ebx
434 mov DWORD [28+esi],ecx
435 lea esp,[356+esp]
436 sub ebp,256
437 cmp edi,DWORD [8+esp]
438 jb NEAR L$005loop_shrd
439 mov esp,DWORD [12+esp]
440 pop edi
441 pop esi
442 pop ebx
443 pop ebp
444 ret
445 align 64
446 L$001K256:
447 dd 1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635 748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2 614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150 122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891 ,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,169518 3700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,334576477 1,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,88399 7877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452 ,2361852424,2428436474,2756734187,3204031479,3329325298
448 dd 66051,67438087,134810123,202182159
449 db 83,72,65,50,53,54,32,98,108,111,99,107,32,116,114,97
450 db 110,115,102,111,114,109,32,102,111,114,32,120,56,54,44,32
451 db 67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97
452 db 112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103
453 db 62,0
454 align 16
455 L$008unrolled:
456 lea esp,[esp-96]
457 mov eax,DWORD [esi]
458 mov ebp,DWORD [4+esi]
459 mov ecx,DWORD [8+esi]
460 mov ebx,DWORD [12+esi]
461 mov DWORD [4+esp],ebp
462 xor ebp,ecx
463 mov DWORD [8+esp],ecx
464 mov DWORD [12+esp],ebx
465 mov edx,DWORD [16+esi]
466 mov ebx,DWORD [20+esi]
467 mov ecx,DWORD [24+esi]
468 mov esi,DWORD [28+esi]
469 mov DWORD [20+esp],ebx
470 mov DWORD [24+esp],ecx
471 mov DWORD [28+esp],esi
472 jmp NEAR L$009grand_loop
473 align 16
474 L$009grand_loop:
475 mov ebx,DWORD [edi]
476 mov ecx,DWORD [4+edi]
477 bswap ebx
478 mov esi,DWORD [8+edi]
479 bswap ecx
480 mov DWORD [32+esp],ebx
481 bswap esi
482 mov DWORD [36+esp],ecx
483 mov DWORD [40+esp],esi
484 mov ebx,DWORD [12+edi]
485 mov ecx,DWORD [16+edi]
486 bswap ebx
487 mov esi,DWORD [20+edi]
488 bswap ecx
489 mov DWORD [44+esp],ebx
490 bswap esi
491 mov DWORD [48+esp],ecx
492 mov DWORD [52+esp],esi
493 mov ebx,DWORD [24+edi]
494 mov ecx,DWORD [28+edi]
495 bswap ebx
496 mov esi,DWORD [32+edi]
497 bswap ecx
498 mov DWORD [56+esp],ebx
499 bswap esi
500 mov DWORD [60+esp],ecx
501 mov DWORD [64+esp],esi
502 mov ebx,DWORD [36+edi]
503 mov ecx,DWORD [40+edi]
504 bswap ebx
505 mov esi,DWORD [44+edi]
506 bswap ecx
507 mov DWORD [68+esp],ebx
508 bswap esi
509 mov DWORD [72+esp],ecx
510 mov DWORD [76+esp],esi
511 mov ebx,DWORD [48+edi]
512 mov ecx,DWORD [52+edi]
513 bswap ebx
514 mov esi,DWORD [56+edi]
515 bswap ecx
516 mov DWORD [80+esp],ebx
517 bswap esi
518 mov DWORD [84+esp],ecx
519 mov DWORD [88+esp],esi
520 mov ebx,DWORD [60+edi]
521 add edi,64
522 bswap ebx
523 mov DWORD [100+esp],edi
524 mov DWORD [92+esp],ebx
525 mov ecx,edx
526 mov esi,DWORD [20+esp]
527 ror edx,14
528 mov edi,DWORD [24+esp]
529 xor edx,ecx
530 mov ebx,DWORD [32+esp]
531 xor esi,edi
532 ror edx,5
533 and esi,ecx
534 mov DWORD [16+esp],ecx
535 xor edx,ecx
536 add ebx,DWORD [28+esp]
537 xor edi,esi
538 ror edx,6
539 mov ecx,eax
540 add ebx,edi
541 ror ecx,9
542 mov esi,eax
543 mov edi,DWORD [4+esp]
544 xor ecx,eax
545 mov DWORD [esp],eax
546 xor eax,edi
547 ror ecx,11
548 and ebp,eax
549 lea edx,[1116352408+edx*1+ebx]
550 xor ecx,esi
551 xor ebp,edi
552 ror ecx,2
553 add ebp,edx
554 add edx,DWORD [12+esp]
555 add ebp,ecx
556 mov esi,edx
557 mov ecx,DWORD [16+esp]
558 ror edx,14
559 mov edi,DWORD [20+esp]
560 xor edx,esi
561 mov ebx,DWORD [36+esp]
562 xor ecx,edi
563 ror edx,5
564 and ecx,esi
565 mov DWORD [12+esp],esi
566 xor edx,esi
567 add ebx,DWORD [24+esp]
568 xor edi,ecx
569 ror edx,6
570 mov esi,ebp
571 add ebx,edi
572 ror esi,9
573 mov ecx,ebp
574 mov edi,DWORD [esp]
575 xor esi,ebp
576 mov DWORD [28+esp],ebp
577 xor ebp,edi
578 ror esi,11
579 and eax,ebp
580 lea edx,[1899447441+edx*1+ebx]
581 xor esi,ecx
582 xor eax,edi
583 ror esi,2
584 add eax,edx
585 add edx,DWORD [8+esp]
586 add eax,esi
587 mov ecx,edx
588 mov esi,DWORD [12+esp]
589 ror edx,14
590 mov edi,DWORD [16+esp]
591 xor edx,ecx
592 mov ebx,DWORD [40+esp]
593 xor esi,edi
594 ror edx,5
595 and esi,ecx
596 mov DWORD [8+esp],ecx
597 xor edx,ecx
598 add ebx,DWORD [20+esp]
599 xor edi,esi
600 ror edx,6
601 mov ecx,eax
602 add ebx,edi
603 ror ecx,9
604 mov esi,eax
605 mov edi,DWORD [28+esp]
606 xor ecx,eax
607 mov DWORD [24+esp],eax
608 xor eax,edi
609 ror ecx,11
610 and ebp,eax
611 lea edx,[3049323471+edx*1+ebx]
612 xor ecx,esi
613 xor ebp,edi
614 ror ecx,2
615 add ebp,edx
616 add edx,DWORD [4+esp]
617 add ebp,ecx
618 mov esi,edx
619 mov ecx,DWORD [8+esp]
620 ror edx,14
621 mov edi,DWORD [12+esp]
622 xor edx,esi
623 mov ebx,DWORD [44+esp]
624 xor ecx,edi
625 ror edx,5
626 and ecx,esi
627 mov DWORD [4+esp],esi
628 xor edx,esi
629 add ebx,DWORD [16+esp]
630 xor edi,ecx
631 ror edx,6
632 mov esi,ebp
633 add ebx,edi
634 ror esi,9
635 mov ecx,ebp
636 mov edi,DWORD [24+esp]
637 xor esi,ebp
638 mov DWORD [20+esp],ebp
639 xor ebp,edi
640 ror esi,11
641 and eax,ebp
642 lea edx,[3921009573+edx*1+ebx]
643 xor esi,ecx
644 xor eax,edi
645 ror esi,2
646 add eax,edx
647 add edx,DWORD [esp]
648 add eax,esi
649 mov ecx,edx
650 mov esi,DWORD [4+esp]
651 ror edx,14
652 mov edi,DWORD [8+esp]
653 xor edx,ecx
654 mov ebx,DWORD [48+esp]
655 xor esi,edi
656 ror edx,5
657 and esi,ecx
658 mov DWORD [esp],ecx
659 xor edx,ecx
660 add ebx,DWORD [12+esp]
661 xor edi,esi
662 ror edx,6
663 mov ecx,eax
664 add ebx,edi
665 ror ecx,9
666 mov esi,eax
667 mov edi,DWORD [20+esp]
668 xor ecx,eax
669 mov DWORD [16+esp],eax
670 xor eax,edi
671 ror ecx,11
672 and ebp,eax
673 lea edx,[961987163+edx*1+ebx]
674 xor ecx,esi
675 xor ebp,edi
676 ror ecx,2
677 add ebp,edx
678 add edx,DWORD [28+esp]
679 add ebp,ecx
680 mov esi,edx
681 mov ecx,DWORD [esp]
682 ror edx,14
683 mov edi,DWORD [4+esp]
684 xor edx,esi
685 mov ebx,DWORD [52+esp]
686 xor ecx,edi
687 ror edx,5
688 and ecx,esi
689 mov DWORD [28+esp],esi
690 xor edx,esi
691 add ebx,DWORD [8+esp]
692 xor edi,ecx
693 ror edx,6
694 mov esi,ebp
695 add ebx,edi
696 ror esi,9
697 mov ecx,ebp
698 mov edi,DWORD [16+esp]
699 xor esi,ebp
700 mov DWORD [12+esp],ebp
701 xor ebp,edi
702 ror esi,11
703 and eax,ebp
704 lea edx,[1508970993+edx*1+ebx]
705 xor esi,ecx
706 xor eax,edi
707 ror esi,2
708 add eax,edx
709 add edx,DWORD [24+esp]
710 add eax,esi
711 mov ecx,edx
712 mov esi,DWORD [28+esp]
713 ror edx,14
714 mov edi,DWORD [esp]
715 xor edx,ecx
716 mov ebx,DWORD [56+esp]
717 xor esi,edi
718 ror edx,5
719 and esi,ecx
720 mov DWORD [24+esp],ecx
721 xor edx,ecx
722 add ebx,DWORD [4+esp]
723 xor edi,esi
724 ror edx,6
725 mov ecx,eax
726 add ebx,edi
727 ror ecx,9
728 mov esi,eax
729 mov edi,DWORD [12+esp]
730 xor ecx,eax
731 mov DWORD [8+esp],eax
732 xor eax,edi
733 ror ecx,11
734 and ebp,eax
735 lea edx,[2453635748+edx*1+ebx]
736 xor ecx,esi
737 xor ebp,edi
738 ror ecx,2
739 add ebp,edx
740 add edx,DWORD [20+esp]
741 add ebp,ecx
742 mov esi,edx
743 mov ecx,DWORD [24+esp]
744 ror edx,14
745 mov edi,DWORD [28+esp]
746 xor edx,esi
747 mov ebx,DWORD [60+esp]
748 xor ecx,edi
749 ror edx,5
750 and ecx,esi
751 mov DWORD [20+esp],esi
752 xor edx,esi
753 add ebx,DWORD [esp]
754 xor edi,ecx
755 ror edx,6
756 mov esi,ebp
757 add ebx,edi
758 ror esi,9
759 mov ecx,ebp
760 mov edi,DWORD [8+esp]
761 xor esi,ebp
762 mov DWORD [4+esp],ebp
763 xor ebp,edi
764 ror esi,11
765 and eax,ebp
766 lea edx,[2870763221+edx*1+ebx]
767 xor esi,ecx
768 xor eax,edi
769 ror esi,2
770 add eax,edx
771 add edx,DWORD [16+esp]
772 add eax,esi
773 mov ecx,edx
774 mov esi,DWORD [20+esp]
775 ror edx,14
776 mov edi,DWORD [24+esp]
777 xor edx,ecx
778 mov ebx,DWORD [64+esp]
779 xor esi,edi
780 ror edx,5
781 and esi,ecx
782 mov DWORD [16+esp],ecx
783 xor edx,ecx
784 add ebx,DWORD [28+esp]
785 xor edi,esi
786 ror edx,6
787 mov ecx,eax
788 add ebx,edi
789 ror ecx,9
790 mov esi,eax
791 mov edi,DWORD [4+esp]
792 xor ecx,eax
793 mov DWORD [esp],eax
794 xor eax,edi
795 ror ecx,11
796 and ebp,eax
797 lea edx,[3624381080+edx*1+ebx]
798 xor ecx,esi
799 xor ebp,edi
800 ror ecx,2
801 add ebp,edx
802 add edx,DWORD [12+esp]
803 add ebp,ecx
804 mov esi,edx
805 mov ecx,DWORD [16+esp]
806 ror edx,14
807 mov edi,DWORD [20+esp]
808 xor edx,esi
809 mov ebx,DWORD [68+esp]
810 xor ecx,edi
811 ror edx,5
812 and ecx,esi
813 mov DWORD [12+esp],esi
814 xor edx,esi
815 add ebx,DWORD [24+esp]
816 xor edi,ecx
817 ror edx,6
818 mov esi,ebp
819 add ebx,edi
820 ror esi,9
821 mov ecx,ebp
822 mov edi,DWORD [esp]
823 xor esi,ebp
824 mov DWORD [28+esp],ebp
825 xor ebp,edi
826 ror esi,11
827 and eax,ebp
828 lea edx,[310598401+edx*1+ebx]
829 xor esi,ecx
830 xor eax,edi
831 ror esi,2
832 add eax,edx
833 add edx,DWORD [8+esp]
834 add eax,esi
835 mov ecx,edx
836 mov esi,DWORD [12+esp]
837 ror edx,14
838 mov edi,DWORD [16+esp]
839 xor edx,ecx
840 mov ebx,DWORD [72+esp]
841 xor esi,edi
842 ror edx,5
843 and esi,ecx
844 mov DWORD [8+esp],ecx
845 xor edx,ecx
846 add ebx,DWORD [20+esp]
847 xor edi,esi
848 ror edx,6
849 mov ecx,eax
850 add ebx,edi
851 ror ecx,9
852 mov esi,eax
853 mov edi,DWORD [28+esp]
854 xor ecx,eax
855 mov DWORD [24+esp],eax
856 xor eax,edi
857 ror ecx,11
858 and ebp,eax
859 lea edx,[607225278+edx*1+ebx]
860 xor ecx,esi
861 xor ebp,edi
862 ror ecx,2
863 add ebp,edx
864 add edx,DWORD [4+esp]
865 add ebp,ecx
866 mov esi,edx
867 mov ecx,DWORD [8+esp]
868 ror edx,14
869 mov edi,DWORD [12+esp]
870 xor edx,esi
871 mov ebx,DWORD [76+esp]
872 xor ecx,edi
873 ror edx,5
874 and ecx,esi
875 mov DWORD [4+esp],esi
876 xor edx,esi
877 add ebx,DWORD [16+esp]
878 xor edi,ecx
879 ror edx,6
880 mov esi,ebp
881 add ebx,edi
882 ror esi,9
883 mov ecx,ebp
884 mov edi,DWORD [24+esp]
885 xor esi,ebp
886 mov DWORD [20+esp],ebp
887 xor ebp,edi
888 ror esi,11
889 and eax,ebp
890 lea edx,[1426881987+edx*1+ebx]
891 xor esi,ecx
892 xor eax,edi
893 ror esi,2
894 add eax,edx
895 add edx,DWORD [esp]
896 add eax,esi
897 mov ecx,edx
898 mov esi,DWORD [4+esp]
899 ror edx,14
900 mov edi,DWORD [8+esp]
901 xor edx,ecx
902 mov ebx,DWORD [80+esp]
903 xor esi,edi
904 ror edx,5
905 and esi,ecx
906 mov DWORD [esp],ecx
907 xor edx,ecx
908 add ebx,DWORD [12+esp]
909 xor edi,esi
910 ror edx,6
911 mov ecx,eax
912 add ebx,edi
913 ror ecx,9
914 mov esi,eax
915 mov edi,DWORD [20+esp]
916 xor ecx,eax
917 mov DWORD [16+esp],eax
918 xor eax,edi
919 ror ecx,11
920 and ebp,eax
921 lea edx,[1925078388+edx*1+ebx]
922 xor ecx,esi
923 xor ebp,edi
924 ror ecx,2
925 add ebp,edx
926 add edx,DWORD [28+esp]
927 add ebp,ecx
928 mov esi,edx
929 mov ecx,DWORD [esp]
930 ror edx,14
931 mov edi,DWORD [4+esp]
932 xor edx,esi
933 mov ebx,DWORD [84+esp]
934 xor ecx,edi
935 ror edx,5
936 and ecx,esi
937 mov DWORD [28+esp],esi
938 xor edx,esi
939 add ebx,DWORD [8+esp]
940 xor edi,ecx
941 ror edx,6
942 mov esi,ebp
943 add ebx,edi
944 ror esi,9
945 mov ecx,ebp
946 mov edi,DWORD [16+esp]
947 xor esi,ebp
948 mov DWORD [12+esp],ebp
949 xor ebp,edi
950 ror esi,11
951 and eax,ebp
952 lea edx,[2162078206+edx*1+ebx]
953 xor esi,ecx
954 xor eax,edi
955 ror esi,2
956 add eax,edx
957 add edx,DWORD [24+esp]
958 add eax,esi
959 mov ecx,edx
960 mov esi,DWORD [28+esp]
961 ror edx,14
962 mov edi,DWORD [esp]
963 xor edx,ecx
964 mov ebx,DWORD [88+esp]
965 xor esi,edi
966 ror edx,5
967 and esi,ecx
968 mov DWORD [24+esp],ecx
969 xor edx,ecx
970 add ebx,DWORD [4+esp]
971 xor edi,esi
972 ror edx,6
973 mov ecx,eax
974 add ebx,edi
975 ror ecx,9
976 mov esi,eax
977 mov edi,DWORD [12+esp]
978 xor ecx,eax
979 mov DWORD [8+esp],eax
980 xor eax,edi
981 ror ecx,11
982 and ebp,eax
983 lea edx,[2614888103+edx*1+ebx]
984 xor ecx,esi
985 xor ebp,edi
986 ror ecx,2
987 add ebp,edx
988 add edx,DWORD [20+esp]
989 add ebp,ecx
990 mov esi,edx
991 mov ecx,DWORD [24+esp]
992 ror edx,14
993 mov edi,DWORD [28+esp]
994 xor edx,esi
995 mov ebx,DWORD [92+esp]
996 xor ecx,edi
997 ror edx,5
998 and ecx,esi
999 mov DWORD [20+esp],esi
1000 xor edx,esi
1001 add ebx,DWORD [esp]
1002 xor edi,ecx
1003 ror edx,6
1004 mov esi,ebp
1005 add ebx,edi
1006 ror esi,9
1007 mov ecx,ebp
1008 mov edi,DWORD [8+esp]
1009 xor esi,ebp
1010 mov DWORD [4+esp],ebp
1011 xor ebp,edi
1012 ror esi,11
1013 and eax,ebp
1014 lea edx,[3248222580+edx*1+ebx]
1015 xor esi,ecx
1016 xor eax,edi
1017 mov ecx,DWORD [36+esp]
1018 ror esi,2
1019 add eax,edx
1020 add edx,DWORD [16+esp]
1021 add eax,esi
1022 mov esi,DWORD [88+esp]
1023 mov ebx,ecx
1024 ror ecx,11
1025 mov edi,esi
1026 ror esi,2
1027 xor ecx,ebx
1028 shr ebx,3
1029 ror ecx,7
1030 xor esi,edi
1031 xor ebx,ecx
1032 ror esi,17
1033 add ebx,DWORD [32+esp]
1034 shr edi,10
1035 add ebx,DWORD [68+esp]
1036 mov ecx,edx
1037 xor edi,esi
1038 mov esi,DWORD [20+esp]
1039 ror edx,14
1040 add ebx,edi
1041 mov edi,DWORD [24+esp]
1042 xor edx,ecx
1043 mov DWORD [32+esp],ebx
1044 xor esi,edi
1045 ror edx,5
1046 and esi,ecx
1047 mov DWORD [16+esp],ecx
1048 xor edx,ecx
1049 add ebx,DWORD [28+esp]
1050 xor edi,esi
1051 ror edx,6
1052 mov ecx,eax
1053 add ebx,edi
1054 ror ecx,9
1055 mov esi,eax
1056 mov edi,DWORD [4+esp]
1057 xor ecx,eax
1058 mov DWORD [esp],eax
1059 xor eax,edi
1060 ror ecx,11
1061 and ebp,eax
1062 lea edx,[3835390401+edx*1+ebx]
1063 xor ecx,esi
1064 xor ebp,edi
1065 mov esi,DWORD [40+esp]
1066 ror ecx,2
1067 add ebp,edx
1068 add edx,DWORD [12+esp]
1069 add ebp,ecx
1070 mov ecx,DWORD [92+esp]
1071 mov ebx,esi
1072 ror esi,11
1073 mov edi,ecx
1074 ror ecx,2
1075 xor esi,ebx
1076 shr ebx,3
1077 ror esi,7
1078 xor ecx,edi
1079 xor ebx,esi
1080 ror ecx,17
1081 add ebx,DWORD [36+esp]
1082 shr edi,10
1083 add ebx,DWORD [72+esp]
1084 mov esi,edx
1085 xor edi,ecx
1086 mov ecx,DWORD [16+esp]
1087 ror edx,14
1088 add ebx,edi
1089 mov edi,DWORD [20+esp]
1090 xor edx,esi
1091 mov DWORD [36+esp],ebx
1092 xor ecx,edi
1093 ror edx,5
1094 and ecx,esi
1095 mov DWORD [12+esp],esi
1096 xor edx,esi
1097 add ebx,DWORD [24+esp]
1098 xor edi,ecx
1099 ror edx,6
1100 mov esi,ebp
1101 add ebx,edi
1102 ror esi,9
1103 mov ecx,ebp
1104 mov edi,DWORD [esp]
1105 xor esi,ebp
1106 mov DWORD [28+esp],ebp
1107 xor ebp,edi
1108 ror esi,11
1109 and eax,ebp
1110 lea edx,[4022224774+edx*1+ebx]
1111 xor esi,ecx
1112 xor eax,edi
1113 mov ecx,DWORD [44+esp]
1114 ror esi,2
1115 add eax,edx
1116 add edx,DWORD [8+esp]
1117 add eax,esi
1118 mov esi,DWORD [32+esp]
1119 mov ebx,ecx
1120 ror ecx,11
1121 mov edi,esi
1122 ror esi,2
1123 xor ecx,ebx
1124 shr ebx,3
1125 ror ecx,7
1126 xor esi,edi
1127 xor ebx,ecx
1128 ror esi,17
1129 add ebx,DWORD [40+esp]
1130 shr edi,10
1131 add ebx,DWORD [76+esp]
1132 mov ecx,edx
1133 xor edi,esi
1134 mov esi,DWORD [12+esp]
1135 ror edx,14
1136 add ebx,edi
1137 mov edi,DWORD [16+esp]
1138 xor edx,ecx
1139 mov DWORD [40+esp],ebx
1140 xor esi,edi
1141 ror edx,5
1142 and esi,ecx
1143 mov DWORD [8+esp],ecx
1144 xor edx,ecx
1145 add ebx,DWORD [20+esp]
1146 xor edi,esi
1147 ror edx,6
1148 mov ecx,eax
1149 add ebx,edi
1150 ror ecx,9
1151 mov esi,eax
1152 mov edi,DWORD [28+esp]
1153 xor ecx,eax
1154 mov DWORD [24+esp],eax
1155 xor eax,edi
1156 ror ecx,11
1157 and ebp,eax
1158 lea edx,[264347078+edx*1+ebx]
1159 xor ecx,esi
1160 xor ebp,edi
1161 mov esi,DWORD [48+esp]
1162 ror ecx,2
1163 add ebp,edx
1164 add edx,DWORD [4+esp]
1165 add ebp,ecx
1166 mov ecx,DWORD [36+esp]
1167 mov ebx,esi
1168 ror esi,11
1169 mov edi,ecx
1170 ror ecx,2
1171 xor esi,ebx
1172 shr ebx,3
1173 ror esi,7
1174 xor ecx,edi
1175 xor ebx,esi
1176 ror ecx,17
1177 add ebx,DWORD [44+esp]
1178 shr edi,10
1179 add ebx,DWORD [80+esp]
1180 mov esi,edx
1181 xor edi,ecx
1182 mov ecx,DWORD [8+esp]
1183 ror edx,14
1184 add ebx,edi
1185 mov edi,DWORD [12+esp]
1186 xor edx,esi
1187 mov DWORD [44+esp],ebx
1188 xor ecx,edi
1189 ror edx,5
1190 and ecx,esi
1191 mov DWORD [4+esp],esi
1192 xor edx,esi
1193 add ebx,DWORD [16+esp]
1194 xor edi,ecx
1195 ror edx,6
1196 mov esi,ebp
1197 add ebx,edi
1198 ror esi,9
1199 mov ecx,ebp
1200 mov edi,DWORD [24+esp]
1201 xor esi,ebp
1202 mov DWORD [20+esp],ebp
1203 xor ebp,edi
1204 ror esi,11
1205 and eax,ebp
1206 lea edx,[604807628+edx*1+ebx]
1207 xor esi,ecx
1208 xor eax,edi
1209 mov ecx,DWORD [52+esp]
1210 ror esi,2
1211 add eax,edx
1212 add edx,DWORD [esp]
1213 add eax,esi
1214 mov esi,DWORD [40+esp]
1215 mov ebx,ecx
1216 ror ecx,11
1217 mov edi,esi
1218 ror esi,2
1219 xor ecx,ebx
1220 shr ebx,3
1221 ror ecx,7
1222 xor esi,edi
1223 xor ebx,ecx
1224 ror esi,17
1225 add ebx,DWORD [48+esp]
1226 shr edi,10
1227 add ebx,DWORD [84+esp]
1228 mov ecx,edx
1229 xor edi,esi
1230 mov esi,DWORD [4+esp]
1231 ror edx,14
1232 add ebx,edi
1233 mov edi,DWORD [8+esp]
1234 xor edx,ecx
1235 mov DWORD [48+esp],ebx
1236 xor esi,edi
1237 ror edx,5
1238 and esi,ecx
1239 mov DWORD [esp],ecx
1240 xor edx,ecx
1241 add ebx,DWORD [12+esp]
1242 xor edi,esi
1243 ror edx,6
1244 mov ecx,eax
1245 add ebx,edi
1246 ror ecx,9
1247 mov esi,eax
1248 mov edi,DWORD [20+esp]
1249 xor ecx,eax
1250 mov DWORD [16+esp],eax
1251 xor eax,edi
1252 ror ecx,11
1253 and ebp,eax
1254 lea edx,[770255983+edx*1+ebx]
1255 xor ecx,esi
1256 xor ebp,edi
1257 mov esi,DWORD [56+esp]
1258 ror ecx,2
1259 add ebp,edx
1260 add edx,DWORD [28+esp]
1261 add ebp,ecx
1262 mov ecx,DWORD [44+esp]
1263 mov ebx,esi
1264 ror esi,11
1265 mov edi,ecx
1266 ror ecx,2
1267 xor esi,ebx
1268 shr ebx,3
1269 ror esi,7
1270 xor ecx,edi
1271 xor ebx,esi
1272 ror ecx,17
1273 add ebx,DWORD [52+esp]
1274 shr edi,10
1275 add ebx,DWORD [88+esp]
1276 mov esi,edx
1277 xor edi,ecx
1278 mov ecx,DWORD [esp]
1279 ror edx,14
1280 add ebx,edi
1281 mov edi,DWORD [4+esp]
1282 xor edx,esi
1283 mov DWORD [52+esp],ebx
1284 xor ecx,edi
1285 ror edx,5
1286 and ecx,esi
1287 mov DWORD [28+esp],esi
1288 xor edx,esi
1289 add ebx,DWORD [8+esp]
1290 xor edi,ecx
1291 ror edx,6
1292 mov esi,ebp
1293 add ebx,edi
1294 ror esi,9
1295 mov ecx,ebp
1296 mov edi,DWORD [16+esp]
1297 xor esi,ebp
1298 mov DWORD [12+esp],ebp
1299 xor ebp,edi
1300 ror esi,11
1301 and eax,ebp
1302 lea edx,[1249150122+edx*1+ebx]
1303 xor esi,ecx
1304 xor eax,edi
1305 mov ecx,DWORD [60+esp]
1306 ror esi,2
1307 add eax,edx
1308 add edx,DWORD [24+esp]
1309 add eax,esi
1310 mov esi,DWORD [48+esp]
1311 mov ebx,ecx
1312 ror ecx,11
1313 mov edi,esi
1314 ror esi,2
1315 xor ecx,ebx
1316 shr ebx,3
1317 ror ecx,7
1318 xor esi,edi
1319 xor ebx,ecx
1320 ror esi,17
1321 add ebx,DWORD [56+esp]
1322 shr edi,10
1323 add ebx,DWORD [92+esp]
1324 mov ecx,edx
1325 xor edi,esi
1326 mov esi,DWORD [28+esp]
1327 ror edx,14
1328 add ebx,edi
1329 mov edi,DWORD [esp]
1330 xor edx,ecx
1331 mov DWORD [56+esp],ebx
1332 xor esi,edi
1333 ror edx,5
1334 and esi,ecx
1335 mov DWORD [24+esp],ecx
1336 xor edx,ecx
1337 add ebx,DWORD [4+esp]
1338 xor edi,esi
1339 ror edx,6
1340 mov ecx,eax
1341 add ebx,edi
1342 ror ecx,9
1343 mov esi,eax
1344 mov edi,DWORD [12+esp]
1345 xor ecx,eax
1346 mov DWORD [8+esp],eax
1347 xor eax,edi
1348 ror ecx,11
1349 and ebp,eax
1350 lea edx,[1555081692+edx*1+ebx]
1351 xor ecx,esi
1352 xor ebp,edi
1353 mov esi,DWORD [64+esp]
1354 ror ecx,2
1355 add ebp,edx
1356 add edx,DWORD [20+esp]
1357 add ebp,ecx
1358 mov ecx,DWORD [52+esp]
1359 mov ebx,esi
1360 ror esi,11
1361 mov edi,ecx
1362 ror ecx,2
1363 xor esi,ebx
1364 shr ebx,3
1365 ror esi,7
1366 xor ecx,edi
1367 xor ebx,esi
1368 ror ecx,17
1369 add ebx,DWORD [60+esp]
1370 shr edi,10
1371 add ebx,DWORD [32+esp]
1372 mov esi,edx
1373 xor edi,ecx
1374 mov ecx,DWORD [24+esp]
1375 ror edx,14
1376 add ebx,edi
1377 mov edi,DWORD [28+esp]
1378 xor edx,esi
1379 mov DWORD [60+esp],ebx
1380 xor ecx,edi
1381 ror edx,5
1382 and ecx,esi
1383 mov DWORD [20+esp],esi
1384 xor edx,esi
1385 add ebx,DWORD [esp]
1386 xor edi,ecx
1387 ror edx,6
1388 mov esi,ebp
1389 add ebx,edi
1390 ror esi,9
1391 mov ecx,ebp
1392 mov edi,DWORD [8+esp]
1393 xor esi,ebp
1394 mov DWORD [4+esp],ebp
1395 xor ebp,edi
1396 ror esi,11
1397 and eax,ebp
1398 lea edx,[1996064986+edx*1+ebx]
1399 xor esi,ecx
1400 xor eax,edi
1401 mov ecx,DWORD [68+esp]
1402 ror esi,2
1403 add eax,edx
1404 add edx,DWORD [16+esp]
1405 add eax,esi
1406 mov esi,DWORD [56+esp]
1407 mov ebx,ecx
1408 ror ecx,11
1409 mov edi,esi
1410 ror esi,2
1411 xor ecx,ebx
1412 shr ebx,3
1413 ror ecx,7
1414 xor esi,edi
1415 xor ebx,ecx
1416 ror esi,17
1417 add ebx,DWORD [64+esp]
1418 shr edi,10
1419 add ebx,DWORD [36+esp]
1420 mov ecx,edx
1421 xor edi,esi
1422 mov esi,DWORD [20+esp]
1423 ror edx,14
1424 add ebx,edi
1425 mov edi,DWORD [24+esp]
1426 xor edx,ecx
1427 mov DWORD [64+esp],ebx
1428 xor esi,edi
1429 ror edx,5
1430 and esi,ecx
1431 mov DWORD [16+esp],ecx
1432 xor edx,ecx
1433 add ebx,DWORD [28+esp]
1434 xor edi,esi
1435 ror edx,6
1436 mov ecx,eax
1437 add ebx,edi
1438 ror ecx,9
1439 mov esi,eax
1440 mov edi,DWORD [4+esp]
1441 xor ecx,eax
1442 mov DWORD [esp],eax
1443 xor eax,edi
1444 ror ecx,11
1445 and ebp,eax
1446 lea edx,[2554220882+edx*1+ebx]
1447 xor ecx,esi
1448 xor ebp,edi
1449 mov esi,DWORD [72+esp]
1450 ror ecx,2
1451 add ebp,edx
1452 add edx,DWORD [12+esp]
1453 add ebp,ecx
1454 mov ecx,DWORD [60+esp]
1455 mov ebx,esi
1456 ror esi,11
1457 mov edi,ecx
1458 ror ecx,2
1459 xor esi,ebx
1460 shr ebx,3
1461 ror esi,7
1462 xor ecx,edi
1463 xor ebx,esi
1464 ror ecx,17
1465 add ebx,DWORD [68+esp]
1466 shr edi,10
1467 add ebx,DWORD [40+esp]
1468 mov esi,edx
1469 xor edi,ecx
1470 mov ecx,DWORD [16+esp]
1471 ror edx,14
1472 add ebx,edi
1473 mov edi,DWORD [20+esp]
1474 xor edx,esi
1475 mov DWORD [68+esp],ebx
1476 xor ecx,edi
1477 ror edx,5
1478 and ecx,esi
1479 mov DWORD [12+esp],esi
1480 xor edx,esi
1481 add ebx,DWORD [24+esp]
1482 xor edi,ecx
1483 ror edx,6
1484 mov esi,ebp
1485 add ebx,edi
1486 ror esi,9
1487 mov ecx,ebp
1488 mov edi,DWORD [esp]
1489 xor esi,ebp
1490 mov DWORD [28+esp],ebp
1491 xor ebp,edi
1492 ror esi,11
1493 and eax,ebp
1494 lea edx,[2821834349+edx*1+ebx]
1495 xor esi,ecx
1496 xor eax,edi
1497 mov ecx,DWORD [76+esp]
1498 ror esi,2
1499 add eax,edx
1500 add edx,DWORD [8+esp]
1501 add eax,esi
1502 mov esi,DWORD [64+esp]
1503 mov ebx,ecx
1504 ror ecx,11
1505 mov edi,esi
1506 ror esi,2
1507 xor ecx,ebx
1508 shr ebx,3
1509 ror ecx,7
1510 xor esi,edi
1511 xor ebx,ecx
1512 ror esi,17
1513 add ebx,DWORD [72+esp]
1514 shr edi,10
1515 add ebx,DWORD [44+esp]
1516 mov ecx,edx
1517 xor edi,esi
1518 mov esi,DWORD [12+esp]
1519 ror edx,14
1520 add ebx,edi
1521 mov edi,DWORD [16+esp]
1522 xor edx,ecx
1523 mov DWORD [72+esp],ebx
1524 xor esi,edi
1525 ror edx,5
1526 and esi,ecx
1527 mov DWORD [8+esp],ecx
1528 xor edx,ecx
1529 add ebx,DWORD [20+esp]
1530 xor edi,esi
1531 ror edx,6
1532 mov ecx,eax
1533 add ebx,edi
1534 ror ecx,9
1535 mov esi,eax
1536 mov edi,DWORD [28+esp]
1537 xor ecx,eax
1538 mov DWORD [24+esp],eax
1539 xor eax,edi
1540 ror ecx,11
1541 and ebp,eax
1542 lea edx,[2952996808+edx*1+ebx]
1543 xor ecx,esi
1544 xor ebp,edi
1545 mov esi,DWORD [80+esp]
1546 ror ecx,2
1547 add ebp,edx
1548 add edx,DWORD [4+esp]
1549 add ebp,ecx
1550 mov ecx,DWORD [68+esp]
1551 mov ebx,esi
1552 ror esi,11
1553 mov edi,ecx
1554 ror ecx,2
1555 xor esi,ebx
1556 shr ebx,3
1557 ror esi,7
1558 xor ecx,edi
1559 xor ebx,esi
1560 ror ecx,17
1561 add ebx,DWORD [76+esp]
1562 shr edi,10
1563 add ebx,DWORD [48+esp]
1564 mov esi,edx
1565 xor edi,ecx
1566 mov ecx,DWORD [8+esp]
1567 ror edx,14
1568 add ebx,edi
1569 mov edi,DWORD [12+esp]
1570 xor edx,esi
1571 mov DWORD [76+esp],ebx
1572 xor ecx,edi
1573 ror edx,5
1574 and ecx,esi
1575 mov DWORD [4+esp],esi
1576 xor edx,esi
1577 add ebx,DWORD [16+esp]
1578 xor edi,ecx
1579 ror edx,6
1580 mov esi,ebp
1581 add ebx,edi
1582 ror esi,9
1583 mov ecx,ebp
1584 mov edi,DWORD [24+esp]
1585 xor esi,ebp
1586 mov DWORD [20+esp],ebp
1587 xor ebp,edi
1588 ror esi,11
1589 and eax,ebp
1590 lea edx,[3210313671+edx*1+ebx]
1591 xor esi,ecx
1592 xor eax,edi
1593 mov ecx,DWORD [84+esp]
1594 ror esi,2
1595 add eax,edx
1596 add edx,DWORD [esp]
1597 add eax,esi
1598 mov esi,DWORD [72+esp]
1599 mov ebx,ecx
1600 ror ecx,11
1601 mov edi,esi
1602 ror esi,2
1603 xor ecx,ebx
1604 shr ebx,3
1605 ror ecx,7
1606 xor esi,edi
1607 xor ebx,ecx
1608 ror esi,17
1609 add ebx,DWORD [80+esp]
1610 shr edi,10
1611 add ebx,DWORD [52+esp]
1612 mov ecx,edx
1613 xor edi,esi
1614 mov esi,DWORD [4+esp]
1615 ror edx,14
1616 add ebx,edi
1617 mov edi,DWORD [8+esp]
1618 xor edx,ecx
1619 mov DWORD [80+esp],ebx
1620 xor esi,edi
1621 ror edx,5
1622 and esi,ecx
1623 mov DWORD [esp],ecx
1624 xor edx,ecx
1625 add ebx,DWORD [12+esp]
1626 xor edi,esi
1627 ror edx,6
1628 mov ecx,eax
1629 add ebx,edi
1630 ror ecx,9
1631 mov esi,eax
1632 mov edi,DWORD [20+esp]
1633 xor ecx,eax
1634 mov DWORD [16+esp],eax
1635 xor eax,edi
1636 ror ecx,11
1637 and ebp,eax
1638 lea edx,[3336571891+edx*1+ebx]
1639 xor ecx,esi
1640 xor ebp,edi
1641 mov esi,DWORD [88+esp]
1642 ror ecx,2
1643 add ebp,edx
1644 add edx,DWORD [28+esp]
1645 add ebp,ecx
1646 mov ecx,DWORD [76+esp]
1647 mov ebx,esi
1648 ror esi,11
1649 mov edi,ecx
1650 ror ecx,2
1651 xor esi,ebx
1652 shr ebx,3
1653 ror esi,7
1654 xor ecx,edi
1655 xor ebx,esi
1656 ror ecx,17
1657 add ebx,DWORD [84+esp]
1658 shr edi,10
1659 add ebx,DWORD [56+esp]
1660 mov esi,edx
1661 xor edi,ecx
1662 mov ecx,DWORD [esp]
1663 ror edx,14
1664 add ebx,edi
1665 mov edi,DWORD [4+esp]
1666 xor edx,esi
1667 mov DWORD [84+esp],ebx
1668 xor ecx,edi
1669 ror edx,5
1670 and ecx,esi
1671 mov DWORD [28+esp],esi
1672 xor edx,esi
1673 add ebx,DWORD [8+esp]
1674 xor edi,ecx
1675 ror edx,6
1676 mov esi,ebp
1677 add ebx,edi
1678 ror esi,9
1679 mov ecx,ebp
1680 mov edi,DWORD [16+esp]
1681 xor esi,ebp
1682 mov DWORD [12+esp],ebp
1683 xor ebp,edi
1684 ror esi,11
1685 and eax,ebp
1686 lea edx,[3584528711+edx*1+ebx]
1687 xor esi,ecx
1688 xor eax,edi
1689 mov ecx,DWORD [92+esp]
1690 ror esi,2
1691 add eax,edx
1692 add edx,DWORD [24+esp]
1693 add eax,esi
1694 mov esi,DWORD [80+esp]
1695 mov ebx,ecx
1696 ror ecx,11
1697 mov edi,esi
1698 ror esi,2
1699 xor ecx,ebx
1700 shr ebx,3
1701 ror ecx,7
1702 xor esi,edi
1703 xor ebx,ecx
1704 ror esi,17
1705 add ebx,DWORD [88+esp]
1706 shr edi,10
1707 add ebx,DWORD [60+esp]
1708 mov ecx,edx
1709 xor edi,esi
1710 mov esi,DWORD [28+esp]
1711 ror edx,14
1712 add ebx,edi
1713 mov edi,DWORD [esp]
1714 xor edx,ecx
1715 mov DWORD [88+esp],ebx
1716 xor esi,edi
1717 ror edx,5
1718 and esi,ecx
1719 mov DWORD [24+esp],ecx
1720 xor edx,ecx
1721 add ebx,DWORD [4+esp]
1722 xor edi,esi
1723 ror edx,6
1724 mov ecx,eax
1725 add ebx,edi
1726 ror ecx,9
1727 mov esi,eax
1728 mov edi,DWORD [12+esp]
1729 xor ecx,eax
1730 mov DWORD [8+esp],eax
1731 xor eax,edi
1732 ror ecx,11
1733 and ebp,eax
1734 lea edx,[113926993+edx*1+ebx]
1735 xor ecx,esi
1736 xor ebp,edi
1737 mov esi,DWORD [32+esp]
1738 ror ecx,2
1739 add ebp,edx
1740 add edx,DWORD [20+esp]
1741 add ebp,ecx
1742 mov ecx,DWORD [84+esp]
1743 mov ebx,esi
1744 ror esi,11
1745 mov edi,ecx
1746 ror ecx,2
1747 xor esi,ebx
1748 shr ebx,3
1749 ror esi,7
1750 xor ecx,edi
1751 xor ebx,esi
1752 ror ecx,17
1753 add ebx,DWORD [92+esp]
1754 shr edi,10
1755 add ebx,DWORD [64+esp]
1756 mov esi,edx
1757 xor edi,ecx
1758 mov ecx,DWORD [24+esp]
1759 ror edx,14
1760 add ebx,edi
1761 mov edi,DWORD [28+esp]
1762 xor edx,esi
1763 mov DWORD [92+esp],ebx
1764 xor ecx,edi
1765 ror edx,5
1766 and ecx,esi
1767 mov DWORD [20+esp],esi
1768 xor edx,esi
1769 add ebx,DWORD [esp]
1770 xor edi,ecx
1771 ror edx,6
1772 mov esi,ebp
1773 add ebx,edi
1774 ror esi,9
1775 mov ecx,ebp
1776 mov edi,DWORD [8+esp]
1777 xor esi,ebp
1778 mov DWORD [4+esp],ebp
1779 xor ebp,edi
1780 ror esi,11
1781 and eax,ebp
1782 lea edx,[338241895+edx*1+ebx]
1783 xor esi,ecx
1784 xor eax,edi
1785 mov ecx,DWORD [36+esp]
1786 ror esi,2
1787 add eax,edx
1788 add edx,DWORD [16+esp]
1789 add eax,esi
1790 mov esi,DWORD [88+esp]
1791 mov ebx,ecx
1792 ror ecx,11
1793 mov edi,esi
1794 ror esi,2
1795 xor ecx,ebx
1796 shr ebx,3
1797 ror ecx,7
1798 xor esi,edi
1799 xor ebx,ecx
1800 ror esi,17
1801 add ebx,DWORD [32+esp]
1802 shr edi,10
1803 add ebx,DWORD [68+esp]
1804 mov ecx,edx
1805 xor edi,esi
1806 mov esi,DWORD [20+esp]
1807 ror edx,14
1808 add ebx,edi
1809 mov edi,DWORD [24+esp]
1810 xor edx,ecx
1811 mov DWORD [32+esp],ebx
1812 xor esi,edi
1813 ror edx,5
1814 and esi,ecx
1815 mov DWORD [16+esp],ecx
1816 xor edx,ecx
1817 add ebx,DWORD [28+esp]
1818 xor edi,esi
1819 ror edx,6
1820 mov ecx,eax
1821 add ebx,edi
1822 ror ecx,9
1823 mov esi,eax
1824 mov edi,DWORD [4+esp]
1825 xor ecx,eax
1826 mov DWORD [esp],eax
1827 xor eax,edi
1828 ror ecx,11
1829 and ebp,eax
1830 lea edx,[666307205+edx*1+ebx]
1831 xor ecx,esi
1832 xor ebp,edi
1833 mov esi,DWORD [40+esp]
1834 ror ecx,2
1835 add ebp,edx
1836 add edx,DWORD [12+esp]
1837 add ebp,ecx
1838 mov ecx,DWORD [92+esp]
1839 mov ebx,esi
1840 ror esi,11
1841 mov edi,ecx
1842 ror ecx,2
1843 xor esi,ebx
1844 shr ebx,3
1845 ror esi,7
1846 xor ecx,edi
1847 xor ebx,esi
1848 ror ecx,17
1849 add ebx,DWORD [36+esp]
1850 shr edi,10
1851 add ebx,DWORD [72+esp]
1852 mov esi,edx
1853 xor edi,ecx
1854 mov ecx,DWORD [16+esp]
1855 ror edx,14
1856 add ebx,edi
1857 mov edi,DWORD [20+esp]
1858 xor edx,esi
1859 mov DWORD [36+esp],ebx
1860 xor ecx,edi
1861 ror edx,5
1862 and ecx,esi
1863 mov DWORD [12+esp],esi
1864 xor edx,esi
1865 add ebx,DWORD [24+esp]
1866 xor edi,ecx
1867 ror edx,6
1868 mov esi,ebp
1869 add ebx,edi
1870 ror esi,9
1871 mov ecx,ebp
1872 mov edi,DWORD [esp]
1873 xor esi,ebp
1874 mov DWORD [28+esp],ebp
1875 xor ebp,edi
1876 ror esi,11
1877 and eax,ebp
1878 lea edx,[773529912+edx*1+ebx]
1879 xor esi,ecx
1880 xor eax,edi
1881 mov ecx,DWORD [44+esp]
1882 ror esi,2
1883 add eax,edx
1884 add edx,DWORD [8+esp]
1885 add eax,esi
1886 mov esi,DWORD [32+esp]
1887 mov ebx,ecx
1888 ror ecx,11
1889 mov edi,esi
1890 ror esi,2
1891 xor ecx,ebx
1892 shr ebx,3
1893 ror ecx,7
1894 xor esi,edi
1895 xor ebx,ecx
1896 ror esi,17
1897 add ebx,DWORD [40+esp]
1898 shr edi,10
1899 add ebx,DWORD [76+esp]
1900 mov ecx,edx
1901 xor edi,esi
1902 mov esi,DWORD [12+esp]
1903 ror edx,14
1904 add ebx,edi
1905 mov edi,DWORD [16+esp]
1906 xor edx,ecx
1907 mov DWORD [40+esp],ebx
1908 xor esi,edi
1909 ror edx,5
1910 and esi,ecx
1911 mov DWORD [8+esp],ecx
1912 xor edx,ecx
1913 add ebx,DWORD [20+esp]
1914 xor edi,esi
1915 ror edx,6
1916 mov ecx,eax
1917 add ebx,edi
1918 ror ecx,9
1919 mov esi,eax
1920 mov edi,DWORD [28+esp]
1921 xor ecx,eax
1922 mov DWORD [24+esp],eax
1923 xor eax,edi
1924 ror ecx,11
1925 and ebp,eax
1926 lea edx,[1294757372+edx*1+ebx]
1927 xor ecx,esi
1928 xor ebp,edi
1929 mov esi,DWORD [48+esp]
1930 ror ecx,2
1931 add ebp,edx
1932 add edx,DWORD [4+esp]
1933 add ebp,ecx
1934 mov ecx,DWORD [36+esp]
1935 mov ebx,esi
1936 ror esi,11
1937 mov edi,ecx
1938 ror ecx,2
1939 xor esi,ebx
1940 shr ebx,3
1941 ror esi,7
1942 xor ecx,edi
1943 xor ebx,esi
1944 ror ecx,17
1945 add ebx,DWORD [44+esp]
1946 shr edi,10
1947 add ebx,DWORD [80+esp]
1948 mov esi,edx
1949 xor edi,ecx
1950 mov ecx,DWORD [8+esp]
1951 ror edx,14
1952 add ebx,edi
1953 mov edi,DWORD [12+esp]
1954 xor edx,esi
1955 mov DWORD [44+esp],ebx
1956 xor ecx,edi
1957 ror edx,5
1958 and ecx,esi
1959 mov DWORD [4+esp],esi
1960 xor edx,esi
1961 add ebx,DWORD [16+esp]
1962 xor edi,ecx
1963 ror edx,6
1964 mov esi,ebp
1965 add ebx,edi
1966 ror esi,9
1967 mov ecx,ebp
1968 mov edi,DWORD [24+esp]
1969 xor esi,ebp
1970 mov DWORD [20+esp],ebp
1971 xor ebp,edi
1972 ror esi,11
1973 and eax,ebp
1974 lea edx,[1396182291+edx*1+ebx]
1975 xor esi,ecx
1976 xor eax,edi
1977 mov ecx,DWORD [52+esp]
1978 ror esi,2
1979 add eax,edx
1980 add edx,DWORD [esp]
1981 add eax,esi
1982 mov esi,DWORD [40+esp]
1983 mov ebx,ecx
1984 ror ecx,11
1985 mov edi,esi
1986 ror esi,2
1987 xor ecx,ebx
1988 shr ebx,3
1989 ror ecx,7
1990 xor esi,edi
1991 xor ebx,ecx
1992 ror esi,17
1993 add ebx,DWORD [48+esp]
1994 shr edi,10
1995 add ebx,DWORD [84+esp]
1996 mov ecx,edx
1997 xor edi,esi
1998 mov esi,DWORD [4+esp]
1999 ror edx,14
2000 add ebx,edi
2001 mov edi,DWORD [8+esp]
2002 xor edx,ecx
2003 mov DWORD [48+esp],ebx
2004 xor esi,edi
2005 ror edx,5
2006 and esi,ecx
2007 mov DWORD [esp],ecx
2008 xor edx,ecx
2009 add ebx,DWORD [12+esp]
2010 xor edi,esi
2011 ror edx,6
2012 mov ecx,eax
2013 add ebx,edi
2014 ror ecx,9
2015 mov esi,eax
2016 mov edi,DWORD [20+esp]
2017 xor ecx,eax
2018 mov DWORD [16+esp],eax
2019 xor eax,edi
2020 ror ecx,11
2021 and ebp,eax
2022 lea edx,[1695183700+edx*1+ebx]
2023 xor ecx,esi
2024 xor ebp,edi
2025 mov esi,DWORD [56+esp]
2026 ror ecx,2
2027 add ebp,edx
2028 add edx,DWORD [28+esp]
2029 add ebp,ecx
2030 mov ecx,DWORD [44+esp]
2031 mov ebx,esi
2032 ror esi,11
2033 mov edi,ecx
2034 ror ecx,2
2035 xor esi,ebx
2036 shr ebx,3
2037 ror esi,7
2038 xor ecx,edi
2039 xor ebx,esi
2040 ror ecx,17
2041 add ebx,DWORD [52+esp]
2042 shr edi,10
2043 add ebx,DWORD [88+esp]
2044 mov esi,edx
2045 xor edi,ecx
2046 mov ecx,DWORD [esp]
2047 ror edx,14
2048 add ebx,edi
2049 mov edi,DWORD [4+esp]
2050 xor edx,esi
2051 mov DWORD [52+esp],ebx
2052 xor ecx,edi
2053 ror edx,5
2054 and ecx,esi
2055 mov DWORD [28+esp],esi
2056 xor edx,esi
2057 add ebx,DWORD [8+esp]
2058 xor edi,ecx
2059 ror edx,6
2060 mov esi,ebp
2061 add ebx,edi
2062 ror esi,9
2063 mov ecx,ebp
2064 mov edi,DWORD [16+esp]
2065 xor esi,ebp
2066 mov DWORD [12+esp],ebp
2067 xor ebp,edi
2068 ror esi,11
2069 and eax,ebp
2070 lea edx,[1986661051+edx*1+ebx]
2071 xor esi,ecx
2072 xor eax,edi
2073 mov ecx,DWORD [60+esp]
2074 ror esi,2
2075 add eax,edx
2076 add edx,DWORD [24+esp]
2077 add eax,esi
2078 mov esi,DWORD [48+esp]
2079 mov ebx,ecx
2080 ror ecx,11
2081 mov edi,esi
2082 ror esi,2
2083 xor ecx,ebx
2084 shr ebx,3
2085 ror ecx,7
2086 xor esi,edi
2087 xor ebx,ecx
2088 ror esi,17
2089 add ebx,DWORD [56+esp]
2090 shr edi,10
2091 add ebx,DWORD [92+esp]
2092 mov ecx,edx
2093 xor edi,esi
2094 mov esi,DWORD [28+esp]
2095 ror edx,14
2096 add ebx,edi
2097 mov edi,DWORD [esp]
2098 xor edx,ecx
2099 mov DWORD [56+esp],ebx
2100 xor esi,edi
2101 ror edx,5
2102 and esi,ecx
2103 mov DWORD [24+esp],ecx
2104 xor edx,ecx
2105 add ebx,DWORD [4+esp]
2106 xor edi,esi
2107 ror edx,6
2108 mov ecx,eax
2109 add ebx,edi
2110 ror ecx,9
2111 mov esi,eax
2112 mov edi,DWORD [12+esp]
2113 xor ecx,eax
2114 mov DWORD [8+esp],eax
2115 xor eax,edi
2116 ror ecx,11
2117 and ebp,eax
2118 lea edx,[2177026350+edx*1+ebx]
2119 xor ecx,esi
2120 xor ebp,edi
2121 mov esi,DWORD [64+esp]
2122 ror ecx,2
2123 add ebp,edx
2124 add edx,DWORD [20+esp]
2125 add ebp,ecx
2126 mov ecx,DWORD [52+esp]
2127 mov ebx,esi
2128 ror esi,11
2129 mov edi,ecx
2130 ror ecx,2
2131 xor esi,ebx
2132 shr ebx,3
2133 ror esi,7
2134 xor ecx,edi
2135 xor ebx,esi
2136 ror ecx,17
2137 add ebx,DWORD [60+esp]
2138 shr edi,10
2139 add ebx,DWORD [32+esp]
2140 mov esi,edx
2141 xor edi,ecx
2142 mov ecx,DWORD [24+esp]
2143 ror edx,14
2144 add ebx,edi
2145 mov edi,DWORD [28+esp]
2146 xor edx,esi
2147 mov DWORD [60+esp],ebx
2148 xor ecx,edi
2149 ror edx,5
2150 and ecx,esi
2151 mov DWORD [20+esp],esi
2152 xor edx,esi
2153 add ebx,DWORD [esp]
2154 xor edi,ecx
2155 ror edx,6
2156 mov esi,ebp
2157 add ebx,edi
2158 ror esi,9
2159 mov ecx,ebp
2160 mov edi,DWORD [8+esp]
2161 xor esi,ebp
2162 mov DWORD [4+esp],ebp
2163 xor ebp,edi
2164 ror esi,11
2165 and eax,ebp
2166 lea edx,[2456956037+edx*1+ebx]
2167 xor esi,ecx
2168 xor eax,edi
2169 mov ecx,DWORD [68+esp]
2170 ror esi,2
2171 add eax,edx
2172 add edx,DWORD [16+esp]
2173 add eax,esi
2174 mov esi,DWORD [56+esp]
2175 mov ebx,ecx
2176 ror ecx,11
2177 mov edi,esi
2178 ror esi,2
2179 xor ecx,ebx
2180 shr ebx,3
2181 ror ecx,7
2182 xor esi,edi
2183 xor ebx,ecx
2184 ror esi,17
2185 add ebx,DWORD [64+esp]
2186 shr edi,10
2187 add ebx,DWORD [36+esp]
2188 mov ecx,edx
2189 xor edi,esi
2190 mov esi,DWORD [20+esp]
2191 ror edx,14
2192 add ebx,edi
2193 mov edi,DWORD [24+esp]
2194 xor edx,ecx
2195 mov DWORD [64+esp],ebx
2196 xor esi,edi
2197 ror edx,5
2198 and esi,ecx
2199 mov DWORD [16+esp],ecx
2200 xor edx,ecx
2201 add ebx,DWORD [28+esp]
2202 xor edi,esi
2203 ror edx,6
2204 mov ecx,eax
2205 add ebx,edi
2206 ror ecx,9
2207 mov esi,eax
2208 mov edi,DWORD [4+esp]
2209 xor ecx,eax
2210 mov DWORD [esp],eax
2211 xor eax,edi
2212 ror ecx,11
2213 and ebp,eax
2214 lea edx,[2730485921+edx*1+ebx]
2215 xor ecx,esi
2216 xor ebp,edi
2217 mov esi,DWORD [72+esp]
2218 ror ecx,2
2219 add ebp,edx
2220 add edx,DWORD [12+esp]
2221 add ebp,ecx
2222 mov ecx,DWORD [60+esp]
2223 mov ebx,esi
2224 ror esi,11
2225 mov edi,ecx
2226 ror ecx,2
2227 xor esi,ebx
2228 shr ebx,3
2229 ror esi,7
2230 xor ecx,edi
2231 xor ebx,esi
2232 ror ecx,17
2233 add ebx,DWORD [68+esp]
2234 shr edi,10
2235 add ebx,DWORD [40+esp]
2236 mov esi,edx
2237 xor edi,ecx
2238 mov ecx,DWORD [16+esp]
2239 ror edx,14
2240 add ebx,edi
2241 mov edi,DWORD [20+esp]
2242 xor edx,esi
2243 mov DWORD [68+esp],ebx
2244 xor ecx,edi
2245 ror edx,5
2246 and ecx,esi
2247 mov DWORD [12+esp],esi
2248 xor edx,esi
2249 add ebx,DWORD [24+esp]
2250 xor edi,ecx
2251 ror edx,6
2252 mov esi,ebp
2253 add ebx,edi
2254 ror esi,9
2255 mov ecx,ebp
2256 mov edi,DWORD [esp]
2257 xor esi,ebp
2258 mov DWORD [28+esp],ebp
2259 xor ebp,edi
2260 ror esi,11
2261 and eax,ebp
2262 lea edx,[2820302411+edx*1+ebx]
2263 xor esi,ecx
2264 xor eax,edi
2265 mov ecx,DWORD [76+esp]
2266 ror esi,2
2267 add eax,edx
2268 add edx,DWORD [8+esp]
2269 add eax,esi
2270 mov esi,DWORD [64+esp]
2271 mov ebx,ecx
2272 ror ecx,11
2273 mov edi,esi
2274 ror esi,2
2275 xor ecx,ebx
2276 shr ebx,3
2277 ror ecx,7
2278 xor esi,edi
2279 xor ebx,ecx
2280 ror esi,17
2281 add ebx,DWORD [72+esp]
2282 shr edi,10
2283 add ebx,DWORD [44+esp]
2284 mov ecx,edx
2285 xor edi,esi
2286 mov esi,DWORD [12+esp]
2287 ror edx,14
2288 add ebx,edi
2289 mov edi,DWORD [16+esp]
2290 xor edx,ecx
2291 mov DWORD [72+esp],ebx
2292 xor esi,edi
2293 ror edx,5
2294 and esi,ecx
2295 mov DWORD [8+esp],ecx
2296 xor edx,ecx
2297 add ebx,DWORD [20+esp]
2298 xor edi,esi
2299 ror edx,6
2300 mov ecx,eax
2301 add ebx,edi
2302 ror ecx,9
2303 mov esi,eax
2304 mov edi,DWORD [28+esp]
2305 xor ecx,eax
2306 mov DWORD [24+esp],eax
2307 xor eax,edi
2308 ror ecx,11
2309 and ebp,eax
2310 lea edx,[3259730800+edx*1+ebx]
2311 xor ecx,esi
2312 xor ebp,edi
2313 mov esi,DWORD [80+esp]
2314 ror ecx,2
2315 add ebp,edx
2316 add edx,DWORD [4+esp]
2317 add ebp,ecx
2318 mov ecx,DWORD [68+esp]
2319 mov ebx,esi
2320 ror esi,11
2321 mov edi,ecx
2322 ror ecx,2
2323 xor esi,ebx
2324 shr ebx,3
2325 ror esi,7
2326 xor ecx,edi
2327 xor ebx,esi
2328 ror ecx,17
2329 add ebx,DWORD [76+esp]
2330 shr edi,10
2331 add ebx,DWORD [48+esp]
2332 mov esi,edx
2333 xor edi,ecx
2334 mov ecx,DWORD [8+esp]
2335 ror edx,14
2336 add ebx,edi
2337 mov edi,DWORD [12+esp]
2338 xor edx,esi
2339 mov DWORD [76+esp],ebx
2340 xor ecx,edi
2341 ror edx,5
2342 and ecx,esi
2343 mov DWORD [4+esp],esi
2344 xor edx,esi
2345 add ebx,DWORD [16+esp]
2346 xor edi,ecx
2347 ror edx,6
2348 mov esi,ebp
2349 add ebx,edi
2350 ror esi,9
2351 mov ecx,ebp
2352 mov edi,DWORD [24+esp]
2353 xor esi,ebp
2354 mov DWORD [20+esp],ebp
2355 xor ebp,edi
2356 ror esi,11
2357 and eax,ebp
2358 lea edx,[3345764771+edx*1+ebx]
2359 xor esi,ecx
2360 xor eax,edi
2361 mov ecx,DWORD [84+esp]
2362 ror esi,2
2363 add eax,edx
2364 add edx,DWORD [esp]
2365 add eax,esi
2366 mov esi,DWORD [72+esp]
2367 mov ebx,ecx
2368 ror ecx,11
2369 mov edi,esi
2370 ror esi,2
2371 xor ecx,ebx
2372 shr ebx,3
2373 ror ecx,7
2374 xor esi,edi
2375 xor ebx,ecx
2376 ror esi,17
2377 add ebx,DWORD [80+esp]
2378 shr edi,10
2379 add ebx,DWORD [52+esp]
2380 mov ecx,edx
2381 xor edi,esi
2382 mov esi,DWORD [4+esp]
2383 ror edx,14
2384 add ebx,edi
2385 mov edi,DWORD [8+esp]
2386 xor edx,ecx
2387 mov DWORD [80+esp],ebx
2388 xor esi,edi
2389 ror edx,5
2390 and esi,ecx
2391 mov DWORD [esp],ecx
2392 xor edx,ecx
2393 add ebx,DWORD [12+esp]
2394 xor edi,esi
2395 ror edx,6
2396 mov ecx,eax
2397 add ebx,edi
2398 ror ecx,9
2399 mov esi,eax
2400 mov edi,DWORD [20+esp]
2401 xor ecx,eax
2402 mov DWORD [16+esp],eax
2403 xor eax,edi
2404 ror ecx,11
2405 and ebp,eax
2406 lea edx,[3516065817+edx*1+ebx]
2407 xor ecx,esi
2408 xor ebp,edi
2409 mov esi,DWORD [88+esp]
2410 ror ecx,2
2411 add ebp,edx
2412 add edx,DWORD [28+esp]
2413 add ebp,ecx
2414 mov ecx,DWORD [76+esp]
2415 mov ebx,esi
2416 ror esi,11
2417 mov edi,ecx
2418 ror ecx,2
2419 xor esi,ebx
2420 shr ebx,3
2421 ror esi,7
2422 xor ecx,edi
2423 xor ebx,esi
2424 ror ecx,17
2425 add ebx,DWORD [84+esp]
2426 shr edi,10
2427 add ebx,DWORD [56+esp]
2428 mov esi,edx
2429 xor edi,ecx
2430 mov ecx,DWORD [esp]
2431 ror edx,14
2432 add ebx,edi
2433 mov edi,DWORD [4+esp]
2434 xor edx,esi
2435 mov DWORD [84+esp],ebx
2436 xor ecx,edi
2437 ror edx,5
2438 and ecx,esi
2439 mov DWORD [28+esp],esi
2440 xor edx,esi
2441 add ebx,DWORD [8+esp]
2442 xor edi,ecx
2443 ror edx,6
2444 mov esi,ebp
2445 add ebx,edi
2446 ror esi,9
2447 mov ecx,ebp
2448 mov edi,DWORD [16+esp]
2449 xor esi,ebp
2450 mov DWORD [12+esp],ebp
2451 xor ebp,edi
2452 ror esi,11
2453 and eax,ebp
2454 lea edx,[3600352804+edx*1+ebx]
2455 xor esi,ecx
2456 xor eax,edi
2457 mov ecx,DWORD [92+esp]
2458 ror esi,2
2459 add eax,edx
2460 add edx,DWORD [24+esp]
2461 add eax,esi
2462 mov esi,DWORD [80+esp]
2463 mov ebx,ecx
2464 ror ecx,11
2465 mov edi,esi
2466 ror esi,2
2467 xor ecx,ebx
2468 shr ebx,3
2469 ror ecx,7
2470 xor esi,edi
2471 xor ebx,ecx
2472 ror esi,17
2473 add ebx,DWORD [88+esp]
2474 shr edi,10
2475 add ebx,DWORD [60+esp]
2476 mov ecx,edx
2477 xor edi,esi
2478 mov esi,DWORD [28+esp]
2479 ror edx,14
2480 add ebx,edi
2481 mov edi,DWORD [esp]
2482 xor edx,ecx
2483 mov DWORD [88+esp],ebx
2484 xor esi,edi
2485 ror edx,5
2486 and esi,ecx
2487 mov DWORD [24+esp],ecx
2488 xor edx,ecx
2489 add ebx,DWORD [4+esp]
2490 xor edi,esi
2491 ror edx,6
2492 mov ecx,eax
2493 add ebx,edi
2494 ror ecx,9
2495 mov esi,eax
2496 mov edi,DWORD [12+esp]
2497 xor ecx,eax
2498 mov DWORD [8+esp],eax
2499 xor eax,edi
2500 ror ecx,11
2501 and ebp,eax
2502 lea edx,[4094571909+edx*1+ebx]
2503 xor ecx,esi
2504 xor ebp,edi
2505 mov esi,DWORD [32+esp]
2506 ror ecx,2
2507 add ebp,edx
2508 add edx,DWORD [20+esp]
2509 add ebp,ecx
2510 mov ecx,DWORD [84+esp]
2511 mov ebx,esi
2512 ror esi,11
2513 mov edi,ecx
2514 ror ecx,2
2515 xor esi,ebx
2516 shr ebx,3
2517 ror esi,7
2518 xor ecx,edi
2519 xor ebx,esi
2520 ror ecx,17
2521 add ebx,DWORD [92+esp]
2522 shr edi,10
2523 add ebx,DWORD [64+esp]
2524 mov esi,edx
2525 xor edi,ecx
2526 mov ecx,DWORD [24+esp]
2527 ror edx,14
2528 add ebx,edi
2529 mov edi,DWORD [28+esp]
2530 xor edx,esi
2531 mov DWORD [92+esp],ebx
2532 xor ecx,edi
2533 ror edx,5
2534 and ecx,esi
2535 mov DWORD [20+esp],esi
2536 xor edx,esi
2537 add ebx,DWORD [esp]
2538 xor edi,ecx
2539 ror edx,6
2540 mov esi,ebp
2541 add ebx,edi
2542 ror esi,9
2543 mov ecx,ebp
2544 mov edi,DWORD [8+esp]
2545 xor esi,ebp
2546 mov DWORD [4+esp],ebp
2547 xor ebp,edi
2548 ror esi,11
2549 and eax,ebp
2550 lea edx,[275423344+edx*1+ebx]
2551 xor esi,ecx
2552 xor eax,edi
2553 mov ecx,DWORD [36+esp]
2554 ror esi,2
2555 add eax,edx
2556 add edx,DWORD [16+esp]
2557 add eax,esi
2558 mov esi,DWORD [88+esp]
2559 mov ebx,ecx
2560 ror ecx,11
2561 mov edi,esi
2562 ror esi,2
2563 xor ecx,ebx
2564 shr ebx,3
2565 ror ecx,7
2566 xor esi,edi
2567 xor ebx,ecx
2568 ror esi,17
2569 add ebx,DWORD [32+esp]
2570 shr edi,10
2571 add ebx,DWORD [68+esp]
2572 mov ecx,edx
2573 xor edi,esi
2574 mov esi,DWORD [20+esp]
2575 ror edx,14
2576 add ebx,edi
2577 mov edi,DWORD [24+esp]
2578 xor edx,ecx
2579 mov DWORD [32+esp],ebx
2580 xor esi,edi
2581 ror edx,5
2582 and esi,ecx
2583 mov DWORD [16+esp],ecx
2584 xor edx,ecx
2585 add ebx,DWORD [28+esp]
2586 xor edi,esi
2587 ror edx,6
2588 mov ecx,eax
2589 add ebx,edi
2590 ror ecx,9
2591 mov esi,eax
2592 mov edi,DWORD [4+esp]
2593 xor ecx,eax
2594 mov DWORD [esp],eax
2595 xor eax,edi
2596 ror ecx,11
2597 and ebp,eax
2598 lea edx,[430227734+edx*1+ebx]
2599 xor ecx,esi
2600 xor ebp,edi
2601 mov esi,DWORD [40+esp]
2602 ror ecx,2
2603 add ebp,edx
2604 add edx,DWORD [12+esp]
2605 add ebp,ecx
2606 mov ecx,DWORD [92+esp]
2607 mov ebx,esi
2608 ror esi,11
2609 mov edi,ecx
2610 ror ecx,2
2611 xor esi,ebx
2612 shr ebx,3
2613 ror esi,7
2614 xor ecx,edi
2615 xor ebx,esi
2616 ror ecx,17
2617 add ebx,DWORD [36+esp]
2618 shr edi,10
2619 add ebx,DWORD [72+esp]
2620 mov esi,edx
2621 xor edi,ecx
2622 mov ecx,DWORD [16+esp]
2623 ror edx,14
2624 add ebx,edi
2625 mov edi,DWORD [20+esp]
2626 xor edx,esi
2627 mov DWORD [36+esp],ebx
2628 xor ecx,edi
2629 ror edx,5
2630 and ecx,esi
2631 mov DWORD [12+esp],esi
2632 xor edx,esi
2633 add ebx,DWORD [24+esp]
2634 xor edi,ecx
2635 ror edx,6
2636 mov esi,ebp
2637 add ebx,edi
2638 ror esi,9
2639 mov ecx,ebp
2640 mov edi,DWORD [esp]
2641 xor esi,ebp
2642 mov DWORD [28+esp],ebp
2643 xor ebp,edi
2644 ror esi,11
2645 and eax,ebp
2646 lea edx,[506948616+edx*1+ebx]
2647 xor esi,ecx
2648 xor eax,edi
2649 mov ecx,DWORD [44+esp]
2650 ror esi,2
2651 add eax,edx
2652 add edx,DWORD [8+esp]
2653 add eax,esi
2654 mov esi,DWORD [32+esp]
2655 mov ebx,ecx
2656 ror ecx,11
2657 mov edi,esi
2658 ror esi,2
2659 xor ecx,ebx
2660 shr ebx,3
2661 ror ecx,7
2662 xor esi,edi
2663 xor ebx,ecx
2664 ror esi,17
2665 add ebx,DWORD [40+esp]
2666 shr edi,10
2667 add ebx,DWORD [76+esp]
2668 mov ecx,edx
2669 xor edi,esi
2670 mov esi,DWORD [12+esp]
2671 ror edx,14
2672 add ebx,edi
2673 mov edi,DWORD [16+esp]
2674 xor edx,ecx
2675 mov DWORD [40+esp],ebx
2676 xor esi,edi
2677 ror edx,5
2678 and esi,ecx
2679 mov DWORD [8+esp],ecx
2680 xor edx,ecx
2681 add ebx,DWORD [20+esp]
2682 xor edi,esi
2683 ror edx,6
2684 mov ecx,eax
2685 add ebx,edi
2686 ror ecx,9
2687 mov esi,eax
2688 mov edi,DWORD [28+esp]
2689 xor ecx,eax
2690 mov DWORD [24+esp],eax
2691 xor eax,edi
2692 ror ecx,11
2693 and ebp,eax
2694 lea edx,[659060556+edx*1+ebx]
2695 xor ecx,esi
2696 xor ebp,edi
2697 mov esi,DWORD [48+esp]
2698 ror ecx,2
2699 add ebp,edx
2700 add edx,DWORD [4+esp]
2701 add ebp,ecx
2702 mov ecx,DWORD [36+esp]
2703 mov ebx,esi
2704 ror esi,11
2705 mov edi,ecx
2706 ror ecx,2
2707 xor esi,ebx
2708 shr ebx,3
2709 ror esi,7
2710 xor ecx,edi
2711 xor ebx,esi
2712 ror ecx,17
2713 add ebx,DWORD [44+esp]
2714 shr edi,10
2715 add ebx,DWORD [80+esp]
2716 mov esi,edx
2717 xor edi,ecx
2718 mov ecx,DWORD [8+esp]
2719 ror edx,14
2720 add ebx,edi
2721 mov edi,DWORD [12+esp]
2722 xor edx,esi
2723 mov DWORD [44+esp],ebx
2724 xor ecx,edi
2725 ror edx,5
2726 and ecx,esi
2727 mov DWORD [4+esp],esi
2728 xor edx,esi
2729 add ebx,DWORD [16+esp]
2730 xor edi,ecx
2731 ror edx,6
2732 mov esi,ebp
2733 add ebx,edi
2734 ror esi,9
2735 mov ecx,ebp
2736 mov edi,DWORD [24+esp]
2737 xor esi,ebp
2738 mov DWORD [20+esp],ebp
2739 xor ebp,edi
2740 ror esi,11
2741 and eax,ebp
2742 lea edx,[883997877+edx*1+ebx]
2743 xor esi,ecx
2744 xor eax,edi
2745 mov ecx,DWORD [52+esp]
2746 ror esi,2
2747 add eax,edx
2748 add edx,DWORD [esp]
2749 add eax,esi
2750 mov esi,DWORD [40+esp]
2751 mov ebx,ecx
2752 ror ecx,11
2753 mov edi,esi
2754 ror esi,2
2755 xor ecx,ebx
2756 shr ebx,3
2757 ror ecx,7
2758 xor esi,edi
2759 xor ebx,ecx
2760 ror esi,17
2761 add ebx,DWORD [48+esp]
2762 shr edi,10
2763 add ebx,DWORD [84+esp]
2764 mov ecx,edx
2765 xor edi,esi
2766 mov esi,DWORD [4+esp]
2767 ror edx,14
2768 add ebx,edi
2769 mov edi,DWORD [8+esp]
2770 xor edx,ecx
2771 mov DWORD [48+esp],ebx
2772 xor esi,edi
2773 ror edx,5
2774 and esi,ecx
2775 mov DWORD [esp],ecx
2776 xor edx,ecx
2777 add ebx,DWORD [12+esp]
2778 xor edi,esi
2779 ror edx,6
2780 mov ecx,eax
2781 add ebx,edi
2782 ror ecx,9
2783 mov esi,eax
2784 mov edi,DWORD [20+esp]
2785 xor ecx,eax
2786 mov DWORD [16+esp],eax
2787 xor eax,edi
2788 ror ecx,11
2789 and ebp,eax
2790 lea edx,[958139571+edx*1+ebx]
2791 xor ecx,esi
2792 xor ebp,edi
2793 mov esi,DWORD [56+esp]
2794 ror ecx,2
2795 add ebp,edx
2796 add edx,DWORD [28+esp]
2797 add ebp,ecx
2798 mov ecx,DWORD [44+esp]
2799 mov ebx,esi
2800 ror esi,11
2801 mov edi,ecx
2802 ror ecx,2
2803 xor esi,ebx
2804 shr ebx,3
2805 ror esi,7
2806 xor ecx,edi
2807 xor ebx,esi
2808 ror ecx,17
2809 add ebx,DWORD [52+esp]
2810 shr edi,10
2811 add ebx,DWORD [88+esp]
2812 mov esi,edx
2813 xor edi,ecx
2814 mov ecx,DWORD [esp]
2815 ror edx,14
2816 add ebx,edi
2817 mov edi,DWORD [4+esp]
2818 xor edx,esi
2819 mov DWORD [52+esp],ebx
2820 xor ecx,edi
2821 ror edx,5
2822 and ecx,esi
2823 mov DWORD [28+esp],esi
2824 xor edx,esi
2825 add ebx,DWORD [8+esp]
2826 xor edi,ecx
2827 ror edx,6
2828 mov esi,ebp
2829 add ebx,edi
2830 ror esi,9
2831 mov ecx,ebp
2832 mov edi,DWORD [16+esp]
2833 xor esi,ebp
2834 mov DWORD [12+esp],ebp
2835 xor ebp,edi
2836 ror esi,11
2837 and eax,ebp
2838 lea edx,[1322822218+edx*1+ebx]
2839 xor esi,ecx
2840 xor eax,edi
2841 mov ecx,DWORD [60+esp]
2842 ror esi,2
2843 add eax,edx
2844 add edx,DWORD [24+esp]
2845 add eax,esi
2846 mov esi,DWORD [48+esp]
2847 mov ebx,ecx
2848 ror ecx,11
2849 mov edi,esi
2850 ror esi,2
2851 xor ecx,ebx
2852 shr ebx,3
2853 ror ecx,7
2854 xor esi,edi
2855 xor ebx,ecx
2856 ror esi,17
2857 add ebx,DWORD [56+esp]
2858 shr edi,10
2859 add ebx,DWORD [92+esp]
2860 mov ecx,edx
2861 xor edi,esi
2862 mov esi,DWORD [28+esp]
2863 ror edx,14
2864 add ebx,edi
2865 mov edi,DWORD [esp]
2866 xor edx,ecx
2867 mov DWORD [56+esp],ebx
2868 xor esi,edi
2869 ror edx,5
2870 and esi,ecx
2871 mov DWORD [24+esp],ecx
2872 xor edx,ecx
2873 add ebx,DWORD [4+esp]
2874 xor edi,esi
2875 ror edx,6
2876 mov ecx,eax
2877 add ebx,edi
2878 ror ecx,9
2879 mov esi,eax
2880 mov edi,DWORD [12+esp]
2881 xor ecx,eax
2882 mov DWORD [8+esp],eax
2883 xor eax,edi
2884 ror ecx,11
2885 and ebp,eax
2886 lea edx,[1537002063+edx*1+ebx]
2887 xor ecx,esi
2888 xor ebp,edi
2889 mov esi,DWORD [64+esp]
2890 ror ecx,2
2891 add ebp,edx
2892 add edx,DWORD [20+esp]
2893 add ebp,ecx
2894 mov ecx,DWORD [52+esp]
2895 mov ebx,esi
2896 ror esi,11
2897 mov edi,ecx
2898 ror ecx,2
2899 xor esi,ebx
2900 shr ebx,3
2901 ror esi,7
2902 xor ecx,edi
2903 xor ebx,esi
2904 ror ecx,17
2905 add ebx,DWORD [60+esp]
2906 shr edi,10
2907 add ebx,DWORD [32+esp]
2908 mov esi,edx
2909 xor edi,ecx
2910 mov ecx,DWORD [24+esp]
2911 ror edx,14
2912 add ebx,edi
2913 mov edi,DWORD [28+esp]
2914 xor edx,esi
2915 mov DWORD [60+esp],ebx
2916 xor ecx,edi
2917 ror edx,5
2918 and ecx,esi
2919 mov DWORD [20+esp],esi
2920 xor edx,esi
2921 add ebx,DWORD [esp]
2922 xor edi,ecx
2923 ror edx,6
2924 mov esi,ebp
2925 add ebx,edi
2926 ror esi,9
2927 mov ecx,ebp
2928 mov edi,DWORD [8+esp]
2929 xor esi,ebp
2930 mov DWORD [4+esp],ebp
2931 xor ebp,edi
2932 ror esi,11
2933 and eax,ebp
2934 lea edx,[1747873779+edx*1+ebx]
2935 xor esi,ecx
2936 xor eax,edi
2937 mov ecx,DWORD [68+esp]
2938 ror esi,2
2939 add eax,edx
2940 add edx,DWORD [16+esp]
2941 add eax,esi
2942 mov esi,DWORD [56+esp]
2943 mov ebx,ecx
2944 ror ecx,11
2945 mov edi,esi
2946 ror esi,2
2947 xor ecx,ebx
2948 shr ebx,3
2949 ror ecx,7
2950 xor esi,edi
2951 xor ebx,ecx
2952 ror esi,17
2953 add ebx,DWORD [64+esp]
2954 shr edi,10
2955 add ebx,DWORD [36+esp]
2956 mov ecx,edx
2957 xor edi,esi
2958 mov esi,DWORD [20+esp]
2959 ror edx,14
2960 add ebx,edi
2961 mov edi,DWORD [24+esp]
2962 xor edx,ecx
2963 mov DWORD [64+esp],ebx
2964 xor esi,edi
2965 ror edx,5
2966 and esi,ecx
2967 mov DWORD [16+esp],ecx
2968 xor edx,ecx
2969 add ebx,DWORD [28+esp]
2970 xor edi,esi
2971 ror edx,6
2972 mov ecx,eax
2973 add ebx,edi
2974 ror ecx,9
2975 mov esi,eax
2976 mov edi,DWORD [4+esp]
2977 xor ecx,eax
2978 mov DWORD [esp],eax
2979 xor eax,edi
2980 ror ecx,11
2981 and ebp,eax
2982 lea edx,[1955562222+edx*1+ebx]
2983 xor ecx,esi
2984 xor ebp,edi
2985 mov esi,DWORD [72+esp]
2986 ror ecx,2
2987 add ebp,edx
2988 add edx,DWORD [12+esp]
2989 add ebp,ecx
2990 mov ecx,DWORD [60+esp]
2991 mov ebx,esi
2992 ror esi,11
2993 mov edi,ecx
2994 ror ecx,2
2995 xor esi,ebx
2996 shr ebx,3
2997 ror esi,7
2998 xor ecx,edi
2999 xor ebx,esi
3000 ror ecx,17
3001 add ebx,DWORD [68+esp]
3002 shr edi,10
3003 add ebx,DWORD [40+esp]
3004 mov esi,edx
3005 xor edi,ecx
3006 mov ecx,DWORD [16+esp]
3007 ror edx,14
3008 add ebx,edi
3009 mov edi,DWORD [20+esp]
3010 xor edx,esi
3011 mov DWORD [68+esp],ebx
3012 xor ecx,edi
3013 ror edx,5
3014 and ecx,esi
3015 mov DWORD [12+esp],esi
3016 xor edx,esi
3017 add ebx,DWORD [24+esp]
3018 xor edi,ecx
3019 ror edx,6
3020 mov esi,ebp
3021 add ebx,edi
3022 ror esi,9
3023 mov ecx,ebp
3024 mov edi,DWORD [esp]
3025 xor esi,ebp
3026 mov DWORD [28+esp],ebp
3027 xor ebp,edi
3028 ror esi,11
3029 and eax,ebp
3030 lea edx,[2024104815+edx*1+ebx]
3031 xor esi,ecx
3032 xor eax,edi
3033 mov ecx,DWORD [76+esp]
3034 ror esi,2
3035 add eax,edx
3036 add edx,DWORD [8+esp]
3037 add eax,esi
3038 mov esi,DWORD [64+esp]
3039 mov ebx,ecx
3040 ror ecx,11
3041 mov edi,esi
3042 ror esi,2
3043 xor ecx,ebx
3044 shr ebx,3
3045 ror ecx,7
3046 xor esi,edi
3047 xor ebx,ecx
3048 ror esi,17
3049 add ebx,DWORD [72+esp]
3050 shr edi,10
3051 add ebx,DWORD [44+esp]
3052 mov ecx,edx
3053 xor edi,esi
3054 mov esi,DWORD [12+esp]
3055 ror edx,14
3056 add ebx,edi
3057 mov edi,DWORD [16+esp]
3058 xor edx,ecx
3059 mov DWORD [72+esp],ebx
3060 xor esi,edi
3061 ror edx,5
3062 and esi,ecx
3063 mov DWORD [8+esp],ecx
3064 xor edx,ecx
3065 add ebx,DWORD [20+esp]
3066 xor edi,esi
3067 ror edx,6
3068 mov ecx,eax
3069 add ebx,edi
3070 ror ecx,9
3071 mov esi,eax
3072 mov edi,DWORD [28+esp]
3073 xor ecx,eax
3074 mov DWORD [24+esp],eax
3075 xor eax,edi
3076 ror ecx,11
3077 and ebp,eax
3078 lea edx,[2227730452+edx*1+ebx]
3079 xor ecx,esi
3080 xor ebp,edi
3081 mov esi,DWORD [80+esp]
3082 ror ecx,2
3083 add ebp,edx
3084 add edx,DWORD [4+esp]
3085 add ebp,ecx
3086 mov ecx,DWORD [68+esp]
3087 mov ebx,esi
3088 ror esi,11
3089 mov edi,ecx
3090 ror ecx,2
3091 xor esi,ebx
3092 shr ebx,3
3093 ror esi,7
3094 xor ecx,edi
3095 xor ebx,esi
3096 ror ecx,17
3097 add ebx,DWORD [76+esp]
3098 shr edi,10
3099 add ebx,DWORD [48+esp]
3100 mov esi,edx
3101 xor edi,ecx
3102 mov ecx,DWORD [8+esp]
3103 ror edx,14
3104 add ebx,edi
3105 mov edi,DWORD [12+esp]
3106 xor edx,esi
3107 mov DWORD [76+esp],ebx
3108 xor ecx,edi
3109 ror edx,5
3110 and ecx,esi
3111 mov DWORD [4+esp],esi
3112 xor edx,esi
3113 add ebx,DWORD [16+esp]
3114 xor edi,ecx
3115 ror edx,6
3116 mov esi,ebp
3117 add ebx,edi
3118 ror esi,9
3119 mov ecx,ebp
3120 mov edi,DWORD [24+esp]
3121 xor esi,ebp
3122 mov DWORD [20+esp],ebp
3123 xor ebp,edi
3124 ror esi,11
3125 and eax,ebp
3126 lea edx,[2361852424+edx*1+ebx]
3127 xor esi,ecx
3128 xor eax,edi
3129 mov ecx,DWORD [84+esp]
3130 ror esi,2
3131 add eax,edx
3132 add edx,DWORD [esp]
3133 add eax,esi
3134 mov esi,DWORD [72+esp]
3135 mov ebx,ecx
3136 ror ecx,11
3137 mov edi,esi
3138 ror esi,2
3139 xor ecx,ebx
3140 shr ebx,3
3141 ror ecx,7
3142 xor esi,edi
3143 xor ebx,ecx
3144 ror esi,17
3145 add ebx,DWORD [80+esp]
3146 shr edi,10
3147 add ebx,DWORD [52+esp]
3148 mov ecx,edx
3149 xor edi,esi
3150 mov esi,DWORD [4+esp]
3151 ror edx,14
3152 add ebx,edi
3153 mov edi,DWORD [8+esp]
3154 xor edx,ecx
3155 mov DWORD [80+esp],ebx
3156 xor esi,edi
3157 ror edx,5
3158 and esi,ecx
3159 mov DWORD [esp],ecx
3160 xor edx,ecx
3161 add ebx,DWORD [12+esp]
3162 xor edi,esi
3163 ror edx,6
3164 mov ecx,eax
3165 add ebx,edi
3166 ror ecx,9
3167 mov esi,eax
3168 mov edi,DWORD [20+esp]
3169 xor ecx,eax
3170 mov DWORD [16+esp],eax
3171 xor eax,edi
3172 ror ecx,11
3173 and ebp,eax
3174 lea edx,[2428436474+edx*1+ebx]
3175 xor ecx,esi
3176 xor ebp,edi
3177 mov esi,DWORD [88+esp]
3178 ror ecx,2
3179 add ebp,edx
3180 add edx,DWORD [28+esp]
3181 add ebp,ecx
3182 mov ecx,DWORD [76+esp]
3183 mov ebx,esi
3184 ror esi,11
3185 mov edi,ecx
3186 ror ecx,2
3187 xor esi,ebx
3188 shr ebx,3
3189 ror esi,7
3190 xor ecx,edi
3191 xor ebx,esi
3192 ror ecx,17
3193 add ebx,DWORD [84+esp]
3194 shr edi,10
3195 add ebx,DWORD [56+esp]
3196 mov esi,edx
3197 xor edi,ecx
3198 mov ecx,DWORD [esp]
3199 ror edx,14
3200 add ebx,edi
3201 mov edi,DWORD [4+esp]
3202 xor edx,esi
3203 mov DWORD [84+esp],ebx
3204 xor ecx,edi
3205 ror edx,5
3206 and ecx,esi
3207 mov DWORD [28+esp],esi
3208 xor edx,esi
3209 add ebx,DWORD [8+esp]
3210 xor edi,ecx
3211 ror edx,6
3212 mov esi,ebp
3213 add ebx,edi
3214 ror esi,9
3215 mov ecx,ebp
3216 mov edi,DWORD [16+esp]
3217 xor esi,ebp
3218 mov DWORD [12+esp],ebp
3219 xor ebp,edi
3220 ror esi,11
3221 and eax,ebp
3222 lea edx,[2756734187+edx*1+ebx]
3223 xor esi,ecx
3224 xor eax,edi
3225 mov ecx,DWORD [92+esp]
3226 ror esi,2
3227 add eax,edx
3228 add edx,DWORD [24+esp]
3229 add eax,esi
3230 mov esi,DWORD [80+esp]
3231 mov ebx,ecx
3232 ror ecx,11
3233 mov edi,esi
3234 ror esi,2
3235 xor ecx,ebx
3236 shr ebx,3
3237 ror ecx,7
3238 xor esi,edi
3239 xor ebx,ecx
3240 ror esi,17
3241 add ebx,DWORD [88+esp]
3242 shr edi,10
3243 add ebx,DWORD [60+esp]
3244 mov ecx,edx
3245 xor edi,esi
3246 mov esi,DWORD [28+esp]
3247 ror edx,14
3248 add ebx,edi
3249 mov edi,DWORD [esp]
3250 xor edx,ecx
3251 xor esi,edi
3252 ror edx,5
3253 and esi,ecx
3254 mov DWORD [24+esp],ecx
3255 xor edx,ecx
3256 add ebx,DWORD [4+esp]
3257 xor edi,esi
3258 ror edx,6
3259 mov ecx,eax
3260 add ebx,edi
3261 ror ecx,9
3262 mov esi,eax
3263 mov edi,DWORD [12+esp]
3264 xor ecx,eax
3265 mov DWORD [8+esp],eax
3266 xor eax,edi
3267 ror ecx,11
3268 and ebp,eax
3269 lea edx,[3204031479+edx*1+ebx]
3270 xor ecx,esi
3271 xor ebp,edi
3272 mov esi,DWORD [32+esp]
3273 ror ecx,2
3274 add ebp,edx
3275 add edx,DWORD [20+esp]
3276 add ebp,ecx
3277 mov ecx,DWORD [84+esp]
3278 mov ebx,esi
3279 ror esi,11
3280 mov edi,ecx
3281 ror ecx,2
3282 xor esi,ebx
3283 shr ebx,3
3284 ror esi,7
3285 xor ecx,edi
3286 xor ebx,esi
3287 ror ecx,17
3288 add ebx,DWORD [92+esp]
3289 shr edi,10
3290 add ebx,DWORD [64+esp]
3291 mov esi,edx
3292 xor edi,ecx
3293 mov ecx,DWORD [24+esp]
3294 ror edx,14
3295 add ebx,edi
3296 mov edi,DWORD [28+esp]
3297 xor edx,esi
3298 xor ecx,edi
3299 ror edx,5
3300 and ecx,esi
3301 mov DWORD [20+esp],esi
3302 xor edx,esi
3303 add ebx,DWORD [esp]
3304 xor edi,ecx
3305 ror edx,6
3306 mov esi,ebp
3307 add ebx,edi
3308 ror esi,9
3309 mov ecx,ebp
3310 mov edi,DWORD [8+esp]
3311 xor esi,ebp
3312 mov DWORD [4+esp],ebp
3313 xor ebp,edi
3314 ror esi,11
3315 and eax,ebp
3316 lea edx,[3329325298+edx*1+ebx]
3317 xor esi,ecx
3318 xor eax,edi
3319 ror esi,2
3320 add eax,edx
3321 add edx,DWORD [16+esp]
3322 add eax,esi
3323 mov esi,DWORD [96+esp]
3324 xor ebp,edi
3325 mov ecx,DWORD [12+esp]
3326 add eax,DWORD [esi]
3327 add ebp,DWORD [4+esi]
3328 add edi,DWORD [8+esi]
3329 add ecx,DWORD [12+esi]
3330 mov DWORD [esi],eax
3331 mov DWORD [4+esi],ebp
3332 mov DWORD [8+esi],edi
3333 mov DWORD [12+esi],ecx
3334 mov DWORD [4+esp],ebp
3335 xor ebp,edi
3336 mov DWORD [8+esp],edi
3337 mov DWORD [12+esp],ecx
3338 mov edi,DWORD [20+esp]
3339 mov ebx,DWORD [24+esp]
3340 mov ecx,DWORD [28+esp]
3341 add edx,DWORD [16+esi]
3342 add edi,DWORD [20+esi]
3343 add ebx,DWORD [24+esi]
3344 add ecx,DWORD [28+esi]
3345 mov DWORD [16+esi],edx
3346 mov DWORD [20+esi],edi
3347 mov DWORD [24+esi],ebx
3348 mov DWORD [28+esi],ecx
3349 mov DWORD [20+esp],edi
3350 mov edi,DWORD [100+esp]
3351 mov DWORD [24+esp],ebx
3352 mov DWORD [28+esp],ecx
3353 cmp edi,DWORD [104+esp]
3354 jb NEAR L$009grand_loop
3355 mov esp,DWORD [108+esp]
3356 pop edi
3357 pop esi
3358 pop ebx
3359 pop ebp
3360 ret
3361 segment .bss
3362 common _OPENSSL_ia32cap_P 16
OLDNEW
« no previous file with comments | « third_party/boringssl/win-x86/crypto/sha/sha1-586.asm ('k') | third_party/boringssl/win-x86/crypto/sha/sha512-586.asm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698