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

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

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

Powered by Google App Engine
This is Rietveld 408576698