Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / third_party / boringssl / win-x86 / crypto / sha / sha512-586.asm
blob88ed0b380d088240d85064c1660bf94f5444496f
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 _sha512_block_data_order
19 align 16
20 _sha512_block_data_order:
21 L$_sha512_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$001K512-L$000pic_point)+ebp]
34 sub esp,16
35 and esp,-64
36 shl eax,7
37 add eax,edi
38 mov DWORD [esp],esi
39 mov DWORD [4+esp],edi
40 mov DWORD [8+esp],eax
41 mov DWORD [12+esp],ebx
42 lea edx,[_OPENSSL_ia32cap_P]
43 mov ecx,DWORD [edx]
44 test ecx,67108864
45 jz NEAR L$002loop_x86
46 mov edx,DWORD [4+edx]
47 movq mm0,[esi]
48 and ecx,16777216
49 movq mm1,[8+esi]
50 and edx,512
51 movq mm2,[16+esi]
52 or ecx,edx
53 movq mm3,[24+esi]
54 movq mm4,[32+esi]
55 movq mm5,[40+esi]
56 movq mm6,[48+esi]
57 movq mm7,[56+esi]
58 cmp ecx,16777728
59 je NEAR L$003SSSE3
60 sub esp,80
61 jmp NEAR L$004loop_sse2
62 align 16
63 L$004loop_sse2:
64 movq [8+esp],mm1
65 movq [16+esp],mm2
66 movq [24+esp],mm3
67 movq [40+esp],mm5
68 movq [48+esp],mm6
69 pxor mm2,mm1
70 movq [56+esp],mm7
71 movq mm3,mm0
72 mov eax,DWORD [edi]
73 mov ebx,DWORD [4+edi]
74 add edi,8
75 mov edx,15
76 bswap eax
77 bswap ebx
78 jmp NEAR L$00500_14_sse2
79 align 16
80 L$00500_14_sse2:
81 movd mm1,eax
82 mov eax,DWORD [edi]
83 movd mm7,ebx
84 mov ebx,DWORD [4+edi]
85 add edi,8
86 bswap eax
87 bswap ebx
88 punpckldq mm7,mm1
89 movq mm1,mm4
90 pxor mm5,mm6
91 psrlq mm1,14
92 movq [32+esp],mm4
93 pand mm5,mm4
94 psllq mm4,23
95 movq mm0,mm3
96 movq [72+esp],mm7
97 movq mm3,mm1
98 psrlq mm1,4
99 pxor mm5,mm6
100 pxor mm3,mm4
101 psllq mm4,23
102 pxor mm3,mm1
103 movq [esp],mm0
104 paddq mm7,mm5
105 pxor mm3,mm4
106 psrlq mm1,23
107 paddq mm7,[56+esp]
108 pxor mm3,mm1
109 psllq mm4,4
110 paddq mm7,[ebp]
111 pxor mm3,mm4
112 movq mm4,[24+esp]
113 paddq mm3,mm7
114 movq mm5,mm0
115 psrlq mm5,28
116 paddq mm4,mm3
117 movq mm6,mm0
118 movq mm7,mm5
119 psllq mm6,25
120 movq mm1,[8+esp]
121 psrlq mm5,6
122 pxor mm7,mm6
123 sub esp,8
124 psllq mm6,5
125 pxor mm7,mm5
126 pxor mm0,mm1
127 psrlq mm5,5
128 pxor mm7,mm6
129 pand mm2,mm0
130 psllq mm6,6
131 pxor mm7,mm5
132 pxor mm2,mm1
133 pxor mm6,mm7
134 movq mm5,[40+esp]
135 paddq mm3,mm2
136 movq mm2,mm0
137 add ebp,8
138 paddq mm3,mm6
139 movq mm6,[48+esp]
140 dec edx
141 jnz NEAR L$00500_14_sse2
142 movd mm1,eax
143 movd mm7,ebx
144 punpckldq mm7,mm1
145 movq mm1,mm4
146 pxor mm5,mm6
147 psrlq mm1,14
148 movq [32+esp],mm4
149 pand mm5,mm4
150 psllq mm4,23
151 movq mm0,mm3
152 movq [72+esp],mm7
153 movq mm3,mm1
154 psrlq mm1,4
155 pxor mm5,mm6
156 pxor mm3,mm4
157 psllq mm4,23
158 pxor mm3,mm1
159 movq [esp],mm0
160 paddq mm7,mm5
161 pxor mm3,mm4
162 psrlq mm1,23
163 paddq mm7,[56+esp]
164 pxor mm3,mm1
165 psllq mm4,4
166 paddq mm7,[ebp]
167 pxor mm3,mm4
168 movq mm4,[24+esp]
169 paddq mm3,mm7
170 movq mm5,mm0
171 psrlq mm5,28
172 paddq mm4,mm3
173 movq mm6,mm0
174 movq mm7,mm5
175 psllq mm6,25
176 movq mm1,[8+esp]
177 psrlq mm5,6
178 pxor mm7,mm6
179 sub esp,8
180 psllq mm6,5
181 pxor mm7,mm5
182 pxor mm0,mm1
183 psrlq mm5,5
184 pxor mm7,mm6
185 pand mm2,mm0
186 psllq mm6,6
187 pxor mm7,mm5
188 pxor mm2,mm1
189 pxor mm6,mm7
190 movq mm7,[192+esp]
191 paddq mm3,mm2
192 movq mm2,mm0
193 add ebp,8
194 paddq mm3,mm6
195 pxor mm0,mm0
196 mov edx,32
197 jmp NEAR L$00616_79_sse2
198 align 16
199 L$00616_79_sse2:
200 movq mm5,[88+esp]
201 movq mm1,mm7
202 psrlq mm7,1
203 movq mm6,mm5
204 psrlq mm5,6
205 psllq mm1,56
206 paddq mm0,mm3
207 movq mm3,mm7
208 psrlq mm7,6
209 pxor mm3,mm1
210 psllq mm1,7
211 pxor mm3,mm7
212 psrlq mm7,1
213 pxor mm3,mm1
214 movq mm1,mm5
215 psrlq mm5,13
216 pxor mm7,mm3
217 psllq mm6,3
218 pxor mm1,mm5
219 paddq mm7,[200+esp]
220 pxor mm1,mm6
221 psrlq mm5,42
222 paddq mm7,[128+esp]
223 pxor mm1,mm5
224 psllq mm6,42
225 movq mm5,[40+esp]
226 pxor mm1,mm6
227 movq mm6,[48+esp]
228 paddq mm7,mm1
229 movq mm1,mm4
230 pxor mm5,mm6
231 psrlq mm1,14
232 movq [32+esp],mm4
233 pand mm5,mm4
234 psllq mm4,23
235 movq [72+esp],mm7
236 movq mm3,mm1
237 psrlq mm1,4
238 pxor mm5,mm6
239 pxor mm3,mm4
240 psllq mm4,23
241 pxor mm3,mm1
242 movq [esp],mm0
243 paddq mm7,mm5
244 pxor mm3,mm4
245 psrlq mm1,23
246 paddq mm7,[56+esp]
247 pxor mm3,mm1
248 psllq mm4,4
249 paddq mm7,[ebp]
250 pxor mm3,mm4
251 movq mm4,[24+esp]
252 paddq mm3,mm7
253 movq mm5,mm0
254 psrlq mm5,28
255 paddq mm4,mm3
256 movq mm6,mm0
257 movq mm7,mm5
258 psllq mm6,25
259 movq mm1,[8+esp]
260 psrlq mm5,6
261 pxor mm7,mm6
262 sub esp,8
263 psllq mm6,5
264 pxor mm7,mm5
265 pxor mm0,mm1
266 psrlq mm5,5
267 pxor mm7,mm6
268 pand mm2,mm0
269 psllq mm6,6
270 pxor mm7,mm5
271 pxor mm2,mm1
272 pxor mm6,mm7
273 movq mm7,[192+esp]
274 paddq mm2,mm6
275 add ebp,8
276 movq mm5,[88+esp]
277 movq mm1,mm7
278 psrlq mm7,1
279 movq mm6,mm5
280 psrlq mm5,6
281 psllq mm1,56
282 paddq mm2,mm3
283 movq mm3,mm7
284 psrlq mm7,6
285 pxor mm3,mm1
286 psllq mm1,7
287 pxor mm3,mm7
288 psrlq mm7,1
289 pxor mm3,mm1
290 movq mm1,mm5
291 psrlq mm5,13
292 pxor mm7,mm3
293 psllq mm6,3
294 pxor mm1,mm5
295 paddq mm7,[200+esp]
296 pxor mm1,mm6
297 psrlq mm5,42
298 paddq mm7,[128+esp]
299 pxor mm1,mm5
300 psllq mm6,42
301 movq mm5,[40+esp]
302 pxor mm1,mm6
303 movq mm6,[48+esp]
304 paddq mm7,mm1
305 movq mm1,mm4
306 pxor mm5,mm6
307 psrlq mm1,14
308 movq [32+esp],mm4
309 pand mm5,mm4
310 psllq mm4,23
311 movq [72+esp],mm7
312 movq mm3,mm1
313 psrlq mm1,4
314 pxor mm5,mm6
315 pxor mm3,mm4
316 psllq mm4,23
317 pxor mm3,mm1
318 movq [esp],mm2
319 paddq mm7,mm5
320 pxor mm3,mm4
321 psrlq mm1,23
322 paddq mm7,[56+esp]
323 pxor mm3,mm1
324 psllq mm4,4
325 paddq mm7,[ebp]
326 pxor mm3,mm4
327 movq mm4,[24+esp]
328 paddq mm3,mm7
329 movq mm5,mm2
330 psrlq mm5,28
331 paddq mm4,mm3
332 movq mm6,mm2
333 movq mm7,mm5
334 psllq mm6,25
335 movq mm1,[8+esp]
336 psrlq mm5,6
337 pxor mm7,mm6
338 sub esp,8
339 psllq mm6,5
340 pxor mm7,mm5
341 pxor mm2,mm1
342 psrlq mm5,5
343 pxor mm7,mm6
344 pand mm0,mm2
345 psllq mm6,6
346 pxor mm7,mm5
347 pxor mm0,mm1
348 pxor mm6,mm7
349 movq mm7,[192+esp]
350 paddq mm0,mm6
351 add ebp,8
352 dec edx
353 jnz NEAR L$00616_79_sse2
354 paddq mm0,mm3
355 movq mm1,[8+esp]
356 movq mm3,[24+esp]
357 movq mm5,[40+esp]
358 movq mm6,[48+esp]
359 movq mm7,[56+esp]
360 pxor mm2,mm1
361 paddq mm0,[esi]
362 paddq mm1,[8+esi]
363 paddq mm2,[16+esi]
364 paddq mm3,[24+esi]
365 paddq mm4,[32+esi]
366 paddq mm5,[40+esi]
367 paddq mm6,[48+esi]
368 paddq mm7,[56+esi]
369 mov eax,640
370 movq [esi],mm0
371 movq [8+esi],mm1
372 movq [16+esi],mm2
373 movq [24+esi],mm3
374 movq [32+esi],mm4
375 movq [40+esi],mm5
376 movq [48+esi],mm6
377 movq [56+esi],mm7
378 lea esp,[eax*1+esp]
379 sub ebp,eax
380 cmp edi,DWORD [88+esp]
381 jb NEAR L$004loop_sse2
382 mov esp,DWORD [92+esp]
383 emms
384 pop edi
385 pop esi
386 pop ebx
387 pop ebp
389 align 32
390 L$003SSSE3:
391 lea edx,[esp-64]
392 sub esp,256
393 movdqa xmm1,[640+ebp]
394 movdqu xmm0,[edi]
395 db 102,15,56,0,193
396 movdqa xmm3,[ebp]
397 movdqa xmm2,xmm1
398 movdqu xmm1,[16+edi]
399 paddq xmm3,xmm0
400 db 102,15,56,0,202
401 movdqa [edx-128],xmm3
402 movdqa xmm4,[16+ebp]
403 movdqa xmm3,xmm2
404 movdqu xmm2,[32+edi]
405 paddq xmm4,xmm1
406 db 102,15,56,0,211
407 movdqa [edx-112],xmm4
408 movdqa xmm5,[32+ebp]
409 movdqa xmm4,xmm3
410 movdqu xmm3,[48+edi]
411 paddq xmm5,xmm2
412 db 102,15,56,0,220
413 movdqa [edx-96],xmm5
414 movdqa xmm6,[48+ebp]
415 movdqa xmm5,xmm4
416 movdqu xmm4,[64+edi]
417 paddq xmm6,xmm3
418 db 102,15,56,0,229
419 movdqa [edx-80],xmm6
420 movdqa xmm7,[64+ebp]
421 movdqa xmm6,xmm5
422 movdqu xmm5,[80+edi]
423 paddq xmm7,xmm4
424 db 102,15,56,0,238
425 movdqa [edx-64],xmm7
426 movdqa [edx],xmm0
427 movdqa xmm0,[80+ebp]
428 movdqa xmm7,xmm6
429 movdqu xmm6,[96+edi]
430 paddq xmm0,xmm5
431 db 102,15,56,0,247
432 movdqa [edx-48],xmm0
433 movdqa [16+edx],xmm1
434 movdqa xmm1,[96+ebp]
435 movdqa xmm0,xmm7
436 movdqu xmm7,[112+edi]
437 paddq xmm1,xmm6
438 db 102,15,56,0,248
439 movdqa [edx-32],xmm1
440 movdqa [32+edx],xmm2
441 movdqa xmm2,[112+ebp]
442 movdqa xmm0,[edx]
443 paddq xmm2,xmm7
444 movdqa [edx-16],xmm2
446 align 32
447 L$007loop_ssse3:
448 movdqa xmm2,[16+edx]
449 movdqa [48+edx],xmm3
450 lea ebp,[128+ebp]
451 movq [8+esp],mm1
452 mov ebx,edi
453 movq [16+esp],mm2
454 lea edi,[128+edi]
455 movq [24+esp],mm3
456 cmp edi,eax
457 movq [40+esp],mm5
458 cmovb ebx,edi
459 movq [48+esp],mm6
460 mov ecx,4
461 pxor mm2,mm1
462 movq [56+esp],mm7
463 pxor mm3,mm3
464 jmp NEAR L$00800_47_ssse3
465 align 32
466 L$00800_47_ssse3:
467 movdqa xmm3,xmm5
468 movdqa xmm1,xmm2
469 db 102,15,58,15,208,8
470 movdqa [edx],xmm4
471 db 102,15,58,15,220,8
472 movdqa xmm4,xmm2
473 psrlq xmm2,7
474 paddq xmm0,xmm3
475 movdqa xmm3,xmm4
476 psrlq xmm4,1
477 psllq xmm3,56
478 pxor xmm2,xmm4
479 psrlq xmm4,7
480 pxor xmm2,xmm3
481 psllq xmm3,7
482 pxor xmm2,xmm4
483 movdqa xmm4,xmm7
484 pxor xmm2,xmm3
485 movdqa xmm3,xmm7
486 psrlq xmm4,6
487 paddq xmm0,xmm2
488 movdqa xmm2,xmm7
489 psrlq xmm3,19
490 psllq xmm2,3
491 pxor xmm4,xmm3
492 psrlq xmm3,42
493 pxor xmm4,xmm2
494 psllq xmm2,42
495 pxor xmm4,xmm3
496 movdqa xmm3,[32+edx]
497 pxor xmm4,xmm2
498 movdqa xmm2,[ebp]
499 movq mm1,mm4
500 paddq xmm0,xmm4
501 movq mm7,[edx-128]
502 pxor mm5,mm6
503 psrlq mm1,14
504 movq [32+esp],mm4
505 paddq xmm2,xmm0
506 pand mm5,mm4
507 psllq mm4,23
508 paddq mm0,mm3
509 movq mm3,mm1
510 psrlq mm1,4
511 pxor mm5,mm6
512 pxor mm3,mm4
513 psllq mm4,23
514 pxor mm3,mm1
515 movq [esp],mm0
516 paddq mm7,mm5
517 pxor mm3,mm4
518 psrlq mm1,23
519 paddq mm7,[56+esp]
520 pxor mm3,mm1
521 psllq mm4,4
522 pxor mm3,mm4
523 movq mm4,[24+esp]
524 paddq mm3,mm7
525 movq mm5,mm0
526 psrlq mm5,28
527 paddq mm4,mm3
528 movq mm6,mm0
529 movq mm7,mm5
530 psllq mm6,25
531 movq mm1,[8+esp]
532 psrlq mm5,6
533 pxor mm7,mm6
534 psllq mm6,5
535 pxor mm7,mm5
536 pxor mm0,mm1
537 psrlq mm5,5
538 pxor mm7,mm6
539 pand mm2,mm0
540 psllq mm6,6
541 pxor mm7,mm5
542 pxor mm2,mm1
543 pxor mm6,mm7
544 movq mm5,[32+esp]
545 paddq mm2,mm6
546 movq mm6,[40+esp]
547 movq mm1,mm4
548 movq mm7,[edx-120]
549 pxor mm5,mm6
550 psrlq mm1,14
551 movq [24+esp],mm4
552 pand mm5,mm4
553 psllq mm4,23
554 paddq mm2,mm3
555 movq mm3,mm1
556 psrlq mm1,4
557 pxor mm5,mm6
558 pxor mm3,mm4
559 psllq mm4,23
560 pxor mm3,mm1
561 movq [56+esp],mm2
562 paddq mm7,mm5
563 pxor mm3,mm4
564 psrlq mm1,23
565 paddq mm7,[48+esp]
566 pxor mm3,mm1
567 psllq mm4,4
568 pxor mm3,mm4
569 movq mm4,[16+esp]
570 paddq mm3,mm7
571 movq mm5,mm2
572 psrlq mm5,28
573 paddq mm4,mm3
574 movq mm6,mm2
575 movq mm7,mm5
576 psllq mm6,25
577 movq mm1,[esp]
578 psrlq mm5,6
579 pxor mm7,mm6
580 psllq mm6,5
581 pxor mm7,mm5
582 pxor mm2,mm1
583 psrlq mm5,5
584 pxor mm7,mm6
585 pand mm0,mm2
586 psllq mm6,6
587 pxor mm7,mm5
588 pxor mm0,mm1
589 pxor mm6,mm7
590 movq mm5,[24+esp]
591 paddq mm0,mm6
592 movq mm6,[32+esp]
593 movdqa [edx-128],xmm2
594 movdqa xmm4,xmm6
595 movdqa xmm2,xmm3
596 db 102,15,58,15,217,8
597 movdqa [16+edx],xmm5
598 db 102,15,58,15,229,8
599 movdqa xmm5,xmm3
600 psrlq xmm3,7
601 paddq xmm1,xmm4
602 movdqa xmm4,xmm5
603 psrlq xmm5,1
604 psllq xmm4,56
605 pxor xmm3,xmm5
606 psrlq xmm5,7
607 pxor xmm3,xmm4
608 psllq xmm4,7
609 pxor xmm3,xmm5
610 movdqa xmm5,xmm0
611 pxor xmm3,xmm4
612 movdqa xmm4,xmm0
613 psrlq xmm5,6
614 paddq xmm1,xmm3
615 movdqa xmm3,xmm0
616 psrlq xmm4,19
617 psllq xmm3,3
618 pxor xmm5,xmm4
619 psrlq xmm4,42
620 pxor xmm5,xmm3
621 psllq xmm3,42
622 pxor xmm5,xmm4
623 movdqa xmm4,[48+edx]
624 pxor xmm5,xmm3
625 movdqa xmm3,[16+ebp]
626 movq mm1,mm4
627 paddq xmm1,xmm5
628 movq mm7,[edx-112]
629 pxor mm5,mm6
630 psrlq mm1,14
631 movq [16+esp],mm4
632 paddq xmm3,xmm1
633 pand mm5,mm4
634 psllq mm4,23
635 paddq mm0,mm3
636 movq mm3,mm1
637 psrlq mm1,4
638 pxor mm5,mm6
639 pxor mm3,mm4
640 psllq mm4,23
641 pxor mm3,mm1
642 movq [48+esp],mm0
643 paddq mm7,mm5
644 pxor mm3,mm4
645 psrlq mm1,23
646 paddq mm7,[40+esp]
647 pxor mm3,mm1
648 psllq mm4,4
649 pxor mm3,mm4
650 movq mm4,[8+esp]
651 paddq mm3,mm7
652 movq mm5,mm0
653 psrlq mm5,28
654 paddq mm4,mm3
655 movq mm6,mm0
656 movq mm7,mm5
657 psllq mm6,25
658 movq mm1,[56+esp]
659 psrlq mm5,6
660 pxor mm7,mm6
661 psllq mm6,5
662 pxor mm7,mm5
663 pxor mm0,mm1
664 psrlq mm5,5
665 pxor mm7,mm6
666 pand mm2,mm0
667 psllq mm6,6
668 pxor mm7,mm5
669 pxor mm2,mm1
670 pxor mm6,mm7
671 movq mm5,[16+esp]
672 paddq mm2,mm6
673 movq mm6,[24+esp]
674 movq mm1,mm4
675 movq mm7,[edx-104]
676 pxor mm5,mm6
677 psrlq mm1,14
678 movq [8+esp],mm4
679 pand mm5,mm4
680 psllq mm4,23
681 paddq mm2,mm3
682 movq mm3,mm1
683 psrlq mm1,4
684 pxor mm5,mm6
685 pxor mm3,mm4
686 psllq mm4,23
687 pxor mm3,mm1
688 movq [40+esp],mm2
689 paddq mm7,mm5
690 pxor mm3,mm4
691 psrlq mm1,23
692 paddq mm7,[32+esp]
693 pxor mm3,mm1
694 psllq mm4,4
695 pxor mm3,mm4
696 movq mm4,[esp]
697 paddq mm3,mm7
698 movq mm5,mm2
699 psrlq mm5,28
700 paddq mm4,mm3
701 movq mm6,mm2
702 movq mm7,mm5
703 psllq mm6,25
704 movq mm1,[48+esp]
705 psrlq mm5,6
706 pxor mm7,mm6
707 psllq mm6,5
708 pxor mm7,mm5
709 pxor mm2,mm1
710 psrlq mm5,5
711 pxor mm7,mm6
712 pand mm0,mm2
713 psllq mm6,6
714 pxor mm7,mm5
715 pxor mm0,mm1
716 pxor mm6,mm7
717 movq mm5,[8+esp]
718 paddq mm0,mm6
719 movq mm6,[16+esp]
720 movdqa [edx-112],xmm3
721 movdqa xmm5,xmm7
722 movdqa xmm3,xmm4
723 db 102,15,58,15,226,8
724 movdqa [32+edx],xmm6
725 db 102,15,58,15,238,8
726 movdqa xmm6,xmm4
727 psrlq xmm4,7
728 paddq xmm2,xmm5
729 movdqa xmm5,xmm6
730 psrlq xmm6,1
731 psllq xmm5,56
732 pxor xmm4,xmm6
733 psrlq xmm6,7
734 pxor xmm4,xmm5
735 psllq xmm5,7
736 pxor xmm4,xmm6
737 movdqa xmm6,xmm1
738 pxor xmm4,xmm5
739 movdqa xmm5,xmm1
740 psrlq xmm6,6
741 paddq xmm2,xmm4
742 movdqa xmm4,xmm1
743 psrlq xmm5,19
744 psllq xmm4,3
745 pxor xmm6,xmm5
746 psrlq xmm5,42
747 pxor xmm6,xmm4
748 psllq xmm4,42
749 pxor xmm6,xmm5
750 movdqa xmm5,[edx]
751 pxor xmm6,xmm4
752 movdqa xmm4,[32+ebp]
753 movq mm1,mm4
754 paddq xmm2,xmm6
755 movq mm7,[edx-96]
756 pxor mm5,mm6
757 psrlq mm1,14
758 movq [esp],mm4
759 paddq xmm4,xmm2
760 pand mm5,mm4
761 psllq mm4,23
762 paddq mm0,mm3
763 movq mm3,mm1
764 psrlq mm1,4
765 pxor mm5,mm6
766 pxor mm3,mm4
767 psllq mm4,23
768 pxor mm3,mm1
769 movq [32+esp],mm0
770 paddq mm7,mm5
771 pxor mm3,mm4
772 psrlq mm1,23
773 paddq mm7,[24+esp]
774 pxor mm3,mm1
775 psllq mm4,4
776 pxor mm3,mm4
777 movq mm4,[56+esp]
778 paddq mm3,mm7
779 movq mm5,mm0
780 psrlq mm5,28
781 paddq mm4,mm3
782 movq mm6,mm0
783 movq mm7,mm5
784 psllq mm6,25
785 movq mm1,[40+esp]
786 psrlq mm5,6
787 pxor mm7,mm6
788 psllq mm6,5
789 pxor mm7,mm5
790 pxor mm0,mm1
791 psrlq mm5,5
792 pxor mm7,mm6
793 pand mm2,mm0
794 psllq mm6,6
795 pxor mm7,mm5
796 pxor mm2,mm1
797 pxor mm6,mm7
798 movq mm5,[esp]
799 paddq mm2,mm6
800 movq mm6,[8+esp]
801 movq mm1,mm4
802 movq mm7,[edx-88]
803 pxor mm5,mm6
804 psrlq mm1,14
805 movq [56+esp],mm4
806 pand mm5,mm4
807 psllq mm4,23
808 paddq mm2,mm3
809 movq mm3,mm1
810 psrlq mm1,4
811 pxor mm5,mm6
812 pxor mm3,mm4
813 psllq mm4,23
814 pxor mm3,mm1
815 movq [24+esp],mm2
816 paddq mm7,mm5
817 pxor mm3,mm4
818 psrlq mm1,23
819 paddq mm7,[16+esp]
820 pxor mm3,mm1
821 psllq mm4,4
822 pxor mm3,mm4
823 movq mm4,[48+esp]
824 paddq mm3,mm7
825 movq mm5,mm2
826 psrlq mm5,28
827 paddq mm4,mm3
828 movq mm6,mm2
829 movq mm7,mm5
830 psllq mm6,25
831 movq mm1,[32+esp]
832 psrlq mm5,6
833 pxor mm7,mm6
834 psllq mm6,5
835 pxor mm7,mm5
836 pxor mm2,mm1
837 psrlq mm5,5
838 pxor mm7,mm6
839 pand mm0,mm2
840 psllq mm6,6
841 pxor mm7,mm5
842 pxor mm0,mm1
843 pxor mm6,mm7
844 movq mm5,[56+esp]
845 paddq mm0,mm6
846 movq mm6,[esp]
847 movdqa [edx-96],xmm4
848 movdqa xmm6,xmm0
849 movdqa xmm4,xmm5
850 db 102,15,58,15,235,8
851 movdqa [48+edx],xmm7
852 db 102,15,58,15,247,8
853 movdqa xmm7,xmm5
854 psrlq xmm5,7
855 paddq xmm3,xmm6
856 movdqa xmm6,xmm7
857 psrlq xmm7,1
858 psllq xmm6,56
859 pxor xmm5,xmm7
860 psrlq xmm7,7
861 pxor xmm5,xmm6
862 psllq xmm6,7
863 pxor xmm5,xmm7
864 movdqa xmm7,xmm2
865 pxor xmm5,xmm6
866 movdqa xmm6,xmm2
867 psrlq xmm7,6
868 paddq xmm3,xmm5
869 movdqa xmm5,xmm2
870 psrlq xmm6,19
871 psllq xmm5,3
872 pxor xmm7,xmm6
873 psrlq xmm6,42
874 pxor xmm7,xmm5
875 psllq xmm5,42
876 pxor xmm7,xmm6
877 movdqa xmm6,[16+edx]
878 pxor xmm7,xmm5
879 movdqa xmm5,[48+ebp]
880 movq mm1,mm4
881 paddq xmm3,xmm7
882 movq mm7,[edx-80]
883 pxor mm5,mm6
884 psrlq mm1,14
885 movq [48+esp],mm4
886 paddq xmm5,xmm3
887 pand mm5,mm4
888 psllq mm4,23
889 paddq mm0,mm3
890 movq mm3,mm1
891 psrlq mm1,4
892 pxor mm5,mm6
893 pxor mm3,mm4
894 psllq mm4,23
895 pxor mm3,mm1
896 movq [16+esp],mm0
897 paddq mm7,mm5
898 pxor mm3,mm4
899 psrlq mm1,23
900 paddq mm7,[8+esp]
901 pxor mm3,mm1
902 psllq mm4,4
903 pxor mm3,mm4
904 movq mm4,[40+esp]
905 paddq mm3,mm7
906 movq mm5,mm0
907 psrlq mm5,28
908 paddq mm4,mm3
909 movq mm6,mm0
910 movq mm7,mm5
911 psllq mm6,25
912 movq mm1,[24+esp]
913 psrlq mm5,6
914 pxor mm7,mm6
915 psllq mm6,5
916 pxor mm7,mm5
917 pxor mm0,mm1
918 psrlq mm5,5
919 pxor mm7,mm6
920 pand mm2,mm0
921 psllq mm6,6
922 pxor mm7,mm5
923 pxor mm2,mm1
924 pxor mm6,mm7
925 movq mm5,[48+esp]
926 paddq mm2,mm6
927 movq mm6,[56+esp]
928 movq mm1,mm4
929 movq mm7,[edx-72]
930 pxor mm5,mm6
931 psrlq mm1,14
932 movq [40+esp],mm4
933 pand mm5,mm4
934 psllq mm4,23
935 paddq mm2,mm3
936 movq mm3,mm1
937 psrlq mm1,4
938 pxor mm5,mm6
939 pxor mm3,mm4
940 psllq mm4,23
941 pxor mm3,mm1
942 movq [8+esp],mm2
943 paddq mm7,mm5
944 pxor mm3,mm4
945 psrlq mm1,23
946 paddq mm7,[esp]
947 pxor mm3,mm1
948 psllq mm4,4
949 pxor mm3,mm4
950 movq mm4,[32+esp]
951 paddq mm3,mm7
952 movq mm5,mm2
953 psrlq mm5,28
954 paddq mm4,mm3
955 movq mm6,mm2
956 movq mm7,mm5
957 psllq mm6,25
958 movq mm1,[16+esp]
959 psrlq mm5,6
960 pxor mm7,mm6
961 psllq mm6,5
962 pxor mm7,mm5
963 pxor mm2,mm1
964 psrlq mm5,5
965 pxor mm7,mm6
966 pand mm0,mm2
967 psllq mm6,6
968 pxor mm7,mm5
969 pxor mm0,mm1
970 pxor mm6,mm7
971 movq mm5,[40+esp]
972 paddq mm0,mm6
973 movq mm6,[48+esp]
974 movdqa [edx-80],xmm5
975 movdqa xmm7,xmm1
976 movdqa xmm5,xmm6
977 db 102,15,58,15,244,8
978 movdqa [edx],xmm0
979 db 102,15,58,15,248,8
980 movdqa xmm0,xmm6
981 psrlq xmm6,7
982 paddq xmm4,xmm7
983 movdqa xmm7,xmm0
984 psrlq xmm0,1
985 psllq xmm7,56
986 pxor xmm6,xmm0
987 psrlq xmm0,7
988 pxor xmm6,xmm7
989 psllq xmm7,7
990 pxor xmm6,xmm0
991 movdqa xmm0,xmm3
992 pxor xmm6,xmm7
993 movdqa xmm7,xmm3
994 psrlq xmm0,6
995 paddq xmm4,xmm6
996 movdqa xmm6,xmm3
997 psrlq xmm7,19
998 psllq xmm6,3
999 pxor xmm0,xmm7
1000 psrlq xmm7,42
1001 pxor xmm0,xmm6
1002 psllq xmm6,42
1003 pxor xmm0,xmm7
1004 movdqa xmm7,[32+edx]
1005 pxor xmm0,xmm6
1006 movdqa xmm6,[64+ebp]
1007 movq mm1,mm4
1008 paddq xmm4,xmm0
1009 movq mm7,[edx-64]
1010 pxor mm5,mm6
1011 psrlq mm1,14
1012 movq [32+esp],mm4
1013 paddq xmm6,xmm4
1014 pand mm5,mm4
1015 psllq mm4,23
1016 paddq mm0,mm3
1017 movq mm3,mm1
1018 psrlq mm1,4
1019 pxor mm5,mm6
1020 pxor mm3,mm4
1021 psllq mm4,23
1022 pxor mm3,mm1
1023 movq [esp],mm0
1024 paddq mm7,mm5
1025 pxor mm3,mm4
1026 psrlq mm1,23
1027 paddq mm7,[56+esp]
1028 pxor mm3,mm1
1029 psllq mm4,4
1030 pxor mm3,mm4
1031 movq mm4,[24+esp]
1032 paddq mm3,mm7
1033 movq mm5,mm0
1034 psrlq mm5,28
1035 paddq mm4,mm3
1036 movq mm6,mm0
1037 movq mm7,mm5
1038 psllq mm6,25
1039 movq mm1,[8+esp]
1040 psrlq mm5,6
1041 pxor mm7,mm6
1042 psllq mm6,5
1043 pxor mm7,mm5
1044 pxor mm0,mm1
1045 psrlq mm5,5
1046 pxor mm7,mm6
1047 pand mm2,mm0
1048 psllq mm6,6
1049 pxor mm7,mm5
1050 pxor mm2,mm1
1051 pxor mm6,mm7
1052 movq mm5,[32+esp]
1053 paddq mm2,mm6
1054 movq mm6,[40+esp]
1055 movq mm1,mm4
1056 movq mm7,[edx-56]
1057 pxor mm5,mm6
1058 psrlq mm1,14
1059 movq [24+esp],mm4
1060 pand mm5,mm4
1061 psllq mm4,23
1062 paddq mm2,mm3
1063 movq mm3,mm1
1064 psrlq mm1,4
1065 pxor mm5,mm6
1066 pxor mm3,mm4
1067 psllq mm4,23
1068 pxor mm3,mm1
1069 movq [56+esp],mm2
1070 paddq mm7,mm5
1071 pxor mm3,mm4
1072 psrlq mm1,23
1073 paddq mm7,[48+esp]
1074 pxor mm3,mm1
1075 psllq mm4,4
1076 pxor mm3,mm4
1077 movq mm4,[16+esp]
1078 paddq mm3,mm7
1079 movq mm5,mm2
1080 psrlq mm5,28
1081 paddq mm4,mm3
1082 movq mm6,mm2
1083 movq mm7,mm5
1084 psllq mm6,25
1085 movq mm1,[esp]
1086 psrlq mm5,6
1087 pxor mm7,mm6
1088 psllq mm6,5
1089 pxor mm7,mm5
1090 pxor mm2,mm1
1091 psrlq mm5,5
1092 pxor mm7,mm6
1093 pand mm0,mm2
1094 psllq mm6,6
1095 pxor mm7,mm5
1096 pxor mm0,mm1
1097 pxor mm6,mm7
1098 movq mm5,[24+esp]
1099 paddq mm0,mm6
1100 movq mm6,[32+esp]
1101 movdqa [edx-64],xmm6
1102 movdqa xmm0,xmm2
1103 movdqa xmm6,xmm7
1104 db 102,15,58,15,253,8
1105 movdqa [16+edx],xmm1
1106 db 102,15,58,15,193,8
1107 movdqa xmm1,xmm7
1108 psrlq xmm7,7
1109 paddq xmm5,xmm0
1110 movdqa xmm0,xmm1
1111 psrlq xmm1,1
1112 psllq xmm0,56
1113 pxor xmm7,xmm1
1114 psrlq xmm1,7
1115 pxor xmm7,xmm0
1116 psllq xmm0,7
1117 pxor xmm7,xmm1
1118 movdqa xmm1,xmm4
1119 pxor xmm7,xmm0
1120 movdqa xmm0,xmm4
1121 psrlq xmm1,6
1122 paddq xmm5,xmm7
1123 movdqa xmm7,xmm4
1124 psrlq xmm0,19
1125 psllq xmm7,3
1126 pxor xmm1,xmm0
1127 psrlq xmm0,42
1128 pxor xmm1,xmm7
1129 psllq xmm7,42
1130 pxor xmm1,xmm0
1131 movdqa xmm0,[48+edx]
1132 pxor xmm1,xmm7
1133 movdqa xmm7,[80+ebp]
1134 movq mm1,mm4
1135 paddq xmm5,xmm1
1136 movq mm7,[edx-48]
1137 pxor mm5,mm6
1138 psrlq mm1,14
1139 movq [16+esp],mm4
1140 paddq xmm7,xmm5
1141 pand mm5,mm4
1142 psllq mm4,23
1143 paddq mm0,mm3
1144 movq mm3,mm1
1145 psrlq mm1,4
1146 pxor mm5,mm6
1147 pxor mm3,mm4
1148 psllq mm4,23
1149 pxor mm3,mm1
1150 movq [48+esp],mm0
1151 paddq mm7,mm5
1152 pxor mm3,mm4
1153 psrlq mm1,23
1154 paddq mm7,[40+esp]
1155 pxor mm3,mm1
1156 psllq mm4,4
1157 pxor mm3,mm4
1158 movq mm4,[8+esp]
1159 paddq mm3,mm7
1160 movq mm5,mm0
1161 psrlq mm5,28
1162 paddq mm4,mm3
1163 movq mm6,mm0
1164 movq mm7,mm5
1165 psllq mm6,25
1166 movq mm1,[56+esp]
1167 psrlq mm5,6
1168 pxor mm7,mm6
1169 psllq mm6,5
1170 pxor mm7,mm5
1171 pxor mm0,mm1
1172 psrlq mm5,5
1173 pxor mm7,mm6
1174 pand mm2,mm0
1175 psllq mm6,6
1176 pxor mm7,mm5
1177 pxor mm2,mm1
1178 pxor mm6,mm7
1179 movq mm5,[16+esp]
1180 paddq mm2,mm6
1181 movq mm6,[24+esp]
1182 movq mm1,mm4
1183 movq mm7,[edx-40]
1184 pxor mm5,mm6
1185 psrlq mm1,14
1186 movq [8+esp],mm4
1187 pand mm5,mm4
1188 psllq mm4,23
1189 paddq mm2,mm3
1190 movq mm3,mm1
1191 psrlq mm1,4
1192 pxor mm5,mm6
1193 pxor mm3,mm4
1194 psllq mm4,23
1195 pxor mm3,mm1
1196 movq [40+esp],mm2
1197 paddq mm7,mm5
1198 pxor mm3,mm4
1199 psrlq mm1,23
1200 paddq mm7,[32+esp]
1201 pxor mm3,mm1
1202 psllq mm4,4
1203 pxor mm3,mm4
1204 movq mm4,[esp]
1205 paddq mm3,mm7
1206 movq mm5,mm2
1207 psrlq mm5,28
1208 paddq mm4,mm3
1209 movq mm6,mm2
1210 movq mm7,mm5
1211 psllq mm6,25
1212 movq mm1,[48+esp]
1213 psrlq mm5,6
1214 pxor mm7,mm6
1215 psllq mm6,5
1216 pxor mm7,mm5
1217 pxor mm2,mm1
1218 psrlq mm5,5
1219 pxor mm7,mm6
1220 pand mm0,mm2
1221 psllq mm6,6
1222 pxor mm7,mm5
1223 pxor mm0,mm1
1224 pxor mm6,mm7
1225 movq mm5,[8+esp]
1226 paddq mm0,mm6
1227 movq mm6,[16+esp]
1228 movdqa [edx-48],xmm7
1229 movdqa xmm1,xmm3
1230 movdqa xmm7,xmm0
1231 db 102,15,58,15,198,8
1232 movdqa [32+edx],xmm2
1233 db 102,15,58,15,202,8
1234 movdqa xmm2,xmm0
1235 psrlq xmm0,7
1236 paddq xmm6,xmm1
1237 movdqa xmm1,xmm2
1238 psrlq xmm2,1
1239 psllq xmm1,56
1240 pxor xmm0,xmm2
1241 psrlq xmm2,7
1242 pxor xmm0,xmm1
1243 psllq xmm1,7
1244 pxor xmm0,xmm2
1245 movdqa xmm2,xmm5
1246 pxor xmm0,xmm1
1247 movdqa xmm1,xmm5
1248 psrlq xmm2,6
1249 paddq xmm6,xmm0
1250 movdqa xmm0,xmm5
1251 psrlq xmm1,19
1252 psllq xmm0,3
1253 pxor xmm2,xmm1
1254 psrlq xmm1,42
1255 pxor xmm2,xmm0
1256 psllq xmm0,42
1257 pxor xmm2,xmm1
1258 movdqa xmm1,[edx]
1259 pxor xmm2,xmm0
1260 movdqa xmm0,[96+ebp]
1261 movq mm1,mm4
1262 paddq xmm6,xmm2
1263 movq mm7,[edx-32]
1264 pxor mm5,mm6
1265 psrlq mm1,14
1266 movq [esp],mm4
1267 paddq xmm0,xmm6
1268 pand mm5,mm4
1269 psllq mm4,23
1270 paddq mm0,mm3
1271 movq mm3,mm1
1272 psrlq mm1,4
1273 pxor mm5,mm6
1274 pxor mm3,mm4
1275 psllq mm4,23
1276 pxor mm3,mm1
1277 movq [32+esp],mm0
1278 paddq mm7,mm5
1279 pxor mm3,mm4
1280 psrlq mm1,23
1281 paddq mm7,[24+esp]
1282 pxor mm3,mm1
1283 psllq mm4,4
1284 pxor mm3,mm4
1285 movq mm4,[56+esp]
1286 paddq mm3,mm7
1287 movq mm5,mm0
1288 psrlq mm5,28
1289 paddq mm4,mm3
1290 movq mm6,mm0
1291 movq mm7,mm5
1292 psllq mm6,25
1293 movq mm1,[40+esp]
1294 psrlq mm5,6
1295 pxor mm7,mm6
1296 psllq mm6,5
1297 pxor mm7,mm5
1298 pxor mm0,mm1
1299 psrlq mm5,5
1300 pxor mm7,mm6
1301 pand mm2,mm0
1302 psllq mm6,6
1303 pxor mm7,mm5
1304 pxor mm2,mm1
1305 pxor mm6,mm7
1306 movq mm5,[esp]
1307 paddq mm2,mm6
1308 movq mm6,[8+esp]
1309 movq mm1,mm4
1310 movq mm7,[edx-24]
1311 pxor mm5,mm6
1312 psrlq mm1,14
1313 movq [56+esp],mm4
1314 pand mm5,mm4
1315 psllq mm4,23
1316 paddq mm2,mm3
1317 movq mm3,mm1
1318 psrlq mm1,4
1319 pxor mm5,mm6
1320 pxor mm3,mm4
1321 psllq mm4,23
1322 pxor mm3,mm1
1323 movq [24+esp],mm2
1324 paddq mm7,mm5
1325 pxor mm3,mm4
1326 psrlq mm1,23
1327 paddq mm7,[16+esp]
1328 pxor mm3,mm1
1329 psllq mm4,4
1330 pxor mm3,mm4
1331 movq mm4,[48+esp]
1332 paddq mm3,mm7
1333 movq mm5,mm2
1334 psrlq mm5,28
1335 paddq mm4,mm3
1336 movq mm6,mm2
1337 movq mm7,mm5
1338 psllq mm6,25
1339 movq mm1,[32+esp]
1340 psrlq mm5,6
1341 pxor mm7,mm6
1342 psllq mm6,5
1343 pxor mm7,mm5
1344 pxor mm2,mm1
1345 psrlq mm5,5
1346 pxor mm7,mm6
1347 pand mm0,mm2
1348 psllq mm6,6
1349 pxor mm7,mm5
1350 pxor mm0,mm1
1351 pxor mm6,mm7
1352 movq mm5,[56+esp]
1353 paddq mm0,mm6
1354 movq mm6,[esp]
1355 movdqa [edx-32],xmm0
1356 movdqa xmm2,xmm4
1357 movdqa xmm0,xmm1
1358 db 102,15,58,15,207,8
1359 movdqa [48+edx],xmm3
1360 db 102,15,58,15,211,8
1361 movdqa xmm3,xmm1
1362 psrlq xmm1,7
1363 paddq xmm7,xmm2
1364 movdqa xmm2,xmm3
1365 psrlq xmm3,1
1366 psllq xmm2,56
1367 pxor xmm1,xmm3
1368 psrlq xmm3,7
1369 pxor xmm1,xmm2
1370 psllq xmm2,7
1371 pxor xmm1,xmm3
1372 movdqa xmm3,xmm6
1373 pxor xmm1,xmm2
1374 movdqa xmm2,xmm6
1375 psrlq xmm3,6
1376 paddq xmm7,xmm1
1377 movdqa xmm1,xmm6
1378 psrlq xmm2,19
1379 psllq xmm1,3
1380 pxor xmm3,xmm2
1381 psrlq xmm2,42
1382 pxor xmm3,xmm1
1383 psllq xmm1,42
1384 pxor xmm3,xmm2
1385 movdqa xmm2,[16+edx]
1386 pxor xmm3,xmm1
1387 movdqa xmm1,[112+ebp]
1388 movq mm1,mm4
1389 paddq xmm7,xmm3
1390 movq mm7,[edx-16]
1391 pxor mm5,mm6
1392 psrlq mm1,14
1393 movq [48+esp],mm4
1394 paddq xmm1,xmm7
1395 pand mm5,mm4
1396 psllq mm4,23
1397 paddq mm0,mm3
1398 movq mm3,mm1
1399 psrlq mm1,4
1400 pxor mm5,mm6
1401 pxor mm3,mm4
1402 psllq mm4,23
1403 pxor mm3,mm1
1404 movq [16+esp],mm0
1405 paddq mm7,mm5
1406 pxor mm3,mm4
1407 psrlq mm1,23
1408 paddq mm7,[8+esp]
1409 pxor mm3,mm1
1410 psllq mm4,4
1411 pxor mm3,mm4
1412 movq mm4,[40+esp]
1413 paddq mm3,mm7
1414 movq mm5,mm0
1415 psrlq mm5,28
1416 paddq mm4,mm3
1417 movq mm6,mm0
1418 movq mm7,mm5
1419 psllq mm6,25
1420 movq mm1,[24+esp]
1421 psrlq mm5,6
1422 pxor mm7,mm6
1423 psllq mm6,5
1424 pxor mm7,mm5
1425 pxor mm0,mm1
1426 psrlq mm5,5
1427 pxor mm7,mm6
1428 pand mm2,mm0
1429 psllq mm6,6
1430 pxor mm7,mm5
1431 pxor mm2,mm1
1432 pxor mm6,mm7
1433 movq mm5,[48+esp]
1434 paddq mm2,mm6
1435 movq mm6,[56+esp]
1436 movq mm1,mm4
1437 movq mm7,[edx-8]
1438 pxor mm5,mm6
1439 psrlq mm1,14
1440 movq [40+esp],mm4
1441 pand mm5,mm4
1442 psllq mm4,23
1443 paddq mm2,mm3
1444 movq mm3,mm1
1445 psrlq mm1,4
1446 pxor mm5,mm6
1447 pxor mm3,mm4
1448 psllq mm4,23
1449 pxor mm3,mm1
1450 movq [8+esp],mm2
1451 paddq mm7,mm5
1452 pxor mm3,mm4
1453 psrlq mm1,23
1454 paddq mm7,[esp]
1455 pxor mm3,mm1
1456 psllq mm4,4
1457 pxor mm3,mm4
1458 movq mm4,[32+esp]
1459 paddq mm3,mm7
1460 movq mm5,mm2
1461 psrlq mm5,28
1462 paddq mm4,mm3
1463 movq mm6,mm2
1464 movq mm7,mm5
1465 psllq mm6,25
1466 movq mm1,[16+esp]
1467 psrlq mm5,6
1468 pxor mm7,mm6
1469 psllq mm6,5
1470 pxor mm7,mm5
1471 pxor mm2,mm1
1472 psrlq mm5,5
1473 pxor mm7,mm6
1474 pand mm0,mm2
1475 psllq mm6,6
1476 pxor mm7,mm5
1477 pxor mm0,mm1
1478 pxor mm6,mm7
1479 movq mm5,[40+esp]
1480 paddq mm0,mm6
1481 movq mm6,[48+esp]
1482 movdqa [edx-16],xmm1
1483 lea ebp,[128+ebp]
1484 dec ecx
1485 jnz NEAR L$00800_47_ssse3
1486 movdqa xmm1,[ebp]
1487 lea ebp,[ebp-640]
1488 movdqu xmm0,[ebx]
1489 db 102,15,56,0,193
1490 movdqa xmm3,[ebp]
1491 movdqa xmm2,xmm1
1492 movdqu xmm1,[16+ebx]
1493 paddq xmm3,xmm0
1494 db 102,15,56,0,202
1495 movq mm1,mm4
1496 movq mm7,[edx-128]
1497 pxor mm5,mm6
1498 psrlq mm1,14
1499 movq [32+esp],mm4
1500 pand mm5,mm4
1501 psllq mm4,23
1502 paddq mm0,mm3
1503 movq mm3,mm1
1504 psrlq mm1,4
1505 pxor mm5,mm6
1506 pxor mm3,mm4
1507 psllq mm4,23
1508 pxor mm3,mm1
1509 movq [esp],mm0
1510 paddq mm7,mm5
1511 pxor mm3,mm4
1512 psrlq mm1,23
1513 paddq mm7,[56+esp]
1514 pxor mm3,mm1
1515 psllq mm4,4
1516 pxor mm3,mm4
1517 movq mm4,[24+esp]
1518 paddq mm3,mm7
1519 movq mm5,mm0
1520 psrlq mm5,28
1521 paddq mm4,mm3
1522 movq mm6,mm0
1523 movq mm7,mm5
1524 psllq mm6,25
1525 movq mm1,[8+esp]
1526 psrlq mm5,6
1527 pxor mm7,mm6
1528 psllq mm6,5
1529 pxor mm7,mm5
1530 pxor mm0,mm1
1531 psrlq mm5,5
1532 pxor mm7,mm6
1533 pand mm2,mm0
1534 psllq mm6,6
1535 pxor mm7,mm5
1536 pxor mm2,mm1
1537 pxor mm6,mm7
1538 movq mm5,[32+esp]
1539 paddq mm2,mm6
1540 movq mm6,[40+esp]
1541 movq mm1,mm4
1542 movq mm7,[edx-120]
1543 pxor mm5,mm6
1544 psrlq mm1,14
1545 movq [24+esp],mm4
1546 pand mm5,mm4
1547 psllq mm4,23
1548 paddq mm2,mm3
1549 movq mm3,mm1
1550 psrlq mm1,4
1551 pxor mm5,mm6
1552 pxor mm3,mm4
1553 psllq mm4,23
1554 pxor mm3,mm1
1555 movq [56+esp],mm2
1556 paddq mm7,mm5
1557 pxor mm3,mm4
1558 psrlq mm1,23
1559 paddq mm7,[48+esp]
1560 pxor mm3,mm1
1561 psllq mm4,4
1562 pxor mm3,mm4
1563 movq mm4,[16+esp]
1564 paddq mm3,mm7
1565 movq mm5,mm2
1566 psrlq mm5,28
1567 paddq mm4,mm3
1568 movq mm6,mm2
1569 movq mm7,mm5
1570 psllq mm6,25
1571 movq mm1,[esp]
1572 psrlq mm5,6
1573 pxor mm7,mm6
1574 psllq mm6,5
1575 pxor mm7,mm5
1576 pxor mm2,mm1
1577 psrlq mm5,5
1578 pxor mm7,mm6
1579 pand mm0,mm2
1580 psllq mm6,6
1581 pxor mm7,mm5
1582 pxor mm0,mm1
1583 pxor mm6,mm7
1584 movq mm5,[24+esp]
1585 paddq mm0,mm6
1586 movq mm6,[32+esp]
1587 movdqa [edx-128],xmm3
1588 movdqa xmm4,[16+ebp]
1589 movdqa xmm3,xmm2
1590 movdqu xmm2,[32+ebx]
1591 paddq xmm4,xmm1
1592 db 102,15,56,0,211
1593 movq mm1,mm4
1594 movq mm7,[edx-112]
1595 pxor mm5,mm6
1596 psrlq mm1,14
1597 movq [16+esp],mm4
1598 pand mm5,mm4
1599 psllq mm4,23
1600 paddq mm0,mm3
1601 movq mm3,mm1
1602 psrlq mm1,4
1603 pxor mm5,mm6
1604 pxor mm3,mm4
1605 psllq mm4,23
1606 pxor mm3,mm1
1607 movq [48+esp],mm0
1608 paddq mm7,mm5
1609 pxor mm3,mm4
1610 psrlq mm1,23
1611 paddq mm7,[40+esp]
1612 pxor mm3,mm1
1613 psllq mm4,4
1614 pxor mm3,mm4
1615 movq mm4,[8+esp]
1616 paddq mm3,mm7
1617 movq mm5,mm0
1618 psrlq mm5,28
1619 paddq mm4,mm3
1620 movq mm6,mm0
1621 movq mm7,mm5
1622 psllq mm6,25
1623 movq mm1,[56+esp]
1624 psrlq mm5,6
1625 pxor mm7,mm6
1626 psllq mm6,5
1627 pxor mm7,mm5
1628 pxor mm0,mm1
1629 psrlq mm5,5
1630 pxor mm7,mm6
1631 pand mm2,mm0
1632 psllq mm6,6
1633 pxor mm7,mm5
1634 pxor mm2,mm1
1635 pxor mm6,mm7
1636 movq mm5,[16+esp]
1637 paddq mm2,mm6
1638 movq mm6,[24+esp]
1639 movq mm1,mm4
1640 movq mm7,[edx-104]
1641 pxor mm5,mm6
1642 psrlq mm1,14
1643 movq [8+esp],mm4
1644 pand mm5,mm4
1645 psllq mm4,23
1646 paddq mm2,mm3
1647 movq mm3,mm1
1648 psrlq mm1,4
1649 pxor mm5,mm6
1650 pxor mm3,mm4
1651 psllq mm4,23
1652 pxor mm3,mm1
1653 movq [40+esp],mm2
1654 paddq mm7,mm5
1655 pxor mm3,mm4
1656 psrlq mm1,23
1657 paddq mm7,[32+esp]
1658 pxor mm3,mm1
1659 psllq mm4,4
1660 pxor mm3,mm4
1661 movq mm4,[esp]
1662 paddq mm3,mm7
1663 movq mm5,mm2
1664 psrlq mm5,28
1665 paddq mm4,mm3
1666 movq mm6,mm2
1667 movq mm7,mm5
1668 psllq mm6,25
1669 movq mm1,[48+esp]
1670 psrlq mm5,6
1671 pxor mm7,mm6
1672 psllq mm6,5
1673 pxor mm7,mm5
1674 pxor mm2,mm1
1675 psrlq mm5,5
1676 pxor mm7,mm6
1677 pand mm0,mm2
1678 psllq mm6,6
1679 pxor mm7,mm5
1680 pxor mm0,mm1
1681 pxor mm6,mm7
1682 movq mm5,[8+esp]
1683 paddq mm0,mm6
1684 movq mm6,[16+esp]
1685 movdqa [edx-112],xmm4
1686 movdqa xmm5,[32+ebp]
1687 movdqa xmm4,xmm3
1688 movdqu xmm3,[48+ebx]
1689 paddq xmm5,xmm2
1690 db 102,15,56,0,220
1691 movq mm1,mm4
1692 movq mm7,[edx-96]
1693 pxor mm5,mm6
1694 psrlq mm1,14
1695 movq [esp],mm4
1696 pand mm5,mm4
1697 psllq mm4,23
1698 paddq mm0,mm3
1699 movq mm3,mm1
1700 psrlq mm1,4
1701 pxor mm5,mm6
1702 pxor mm3,mm4
1703 psllq mm4,23
1704 pxor mm3,mm1
1705 movq [32+esp],mm0
1706 paddq mm7,mm5
1707 pxor mm3,mm4
1708 psrlq mm1,23
1709 paddq mm7,[24+esp]
1710 pxor mm3,mm1
1711 psllq mm4,4
1712 pxor mm3,mm4
1713 movq mm4,[56+esp]
1714 paddq mm3,mm7
1715 movq mm5,mm0
1716 psrlq mm5,28
1717 paddq mm4,mm3
1718 movq mm6,mm0
1719 movq mm7,mm5
1720 psllq mm6,25
1721 movq mm1,[40+esp]
1722 psrlq mm5,6
1723 pxor mm7,mm6
1724 psllq mm6,5
1725 pxor mm7,mm5
1726 pxor mm0,mm1
1727 psrlq mm5,5
1728 pxor mm7,mm6
1729 pand mm2,mm0
1730 psllq mm6,6
1731 pxor mm7,mm5
1732 pxor mm2,mm1
1733 pxor mm6,mm7
1734 movq mm5,[esp]
1735 paddq mm2,mm6
1736 movq mm6,[8+esp]
1737 movq mm1,mm4
1738 movq mm7,[edx-88]
1739 pxor mm5,mm6
1740 psrlq mm1,14
1741 movq [56+esp],mm4
1742 pand mm5,mm4
1743 psllq mm4,23
1744 paddq mm2,mm3
1745 movq mm3,mm1
1746 psrlq mm1,4
1747 pxor mm5,mm6
1748 pxor mm3,mm4
1749 psllq mm4,23
1750 pxor mm3,mm1
1751 movq [24+esp],mm2
1752 paddq mm7,mm5
1753 pxor mm3,mm4
1754 psrlq mm1,23
1755 paddq mm7,[16+esp]
1756 pxor mm3,mm1
1757 psllq mm4,4
1758 pxor mm3,mm4
1759 movq mm4,[48+esp]
1760 paddq mm3,mm7
1761 movq mm5,mm2
1762 psrlq mm5,28
1763 paddq mm4,mm3
1764 movq mm6,mm2
1765 movq mm7,mm5
1766 psllq mm6,25
1767 movq mm1,[32+esp]
1768 psrlq mm5,6
1769 pxor mm7,mm6
1770 psllq mm6,5
1771 pxor mm7,mm5
1772 pxor mm2,mm1
1773 psrlq mm5,5
1774 pxor mm7,mm6
1775 pand mm0,mm2
1776 psllq mm6,6
1777 pxor mm7,mm5
1778 pxor mm0,mm1
1779 pxor mm6,mm7
1780 movq mm5,[56+esp]
1781 paddq mm0,mm6
1782 movq mm6,[esp]
1783 movdqa [edx-96],xmm5
1784 movdqa xmm6,[48+ebp]
1785 movdqa xmm5,xmm4
1786 movdqu xmm4,[64+ebx]
1787 paddq xmm6,xmm3
1788 db 102,15,56,0,229
1789 movq mm1,mm4
1790 movq mm7,[edx-80]
1791 pxor mm5,mm6
1792 psrlq mm1,14
1793 movq [48+esp],mm4
1794 pand mm5,mm4
1795 psllq mm4,23
1796 paddq mm0,mm3
1797 movq mm3,mm1
1798 psrlq mm1,4
1799 pxor mm5,mm6
1800 pxor mm3,mm4
1801 psllq mm4,23
1802 pxor mm3,mm1
1803 movq [16+esp],mm0
1804 paddq mm7,mm5
1805 pxor mm3,mm4
1806 psrlq mm1,23
1807 paddq mm7,[8+esp]
1808 pxor mm3,mm1
1809 psllq mm4,4
1810 pxor mm3,mm4
1811 movq mm4,[40+esp]
1812 paddq mm3,mm7
1813 movq mm5,mm0
1814 psrlq mm5,28
1815 paddq mm4,mm3
1816 movq mm6,mm0
1817 movq mm7,mm5
1818 psllq mm6,25
1819 movq mm1,[24+esp]
1820 psrlq mm5,6
1821 pxor mm7,mm6
1822 psllq mm6,5
1823 pxor mm7,mm5
1824 pxor mm0,mm1
1825 psrlq mm5,5
1826 pxor mm7,mm6
1827 pand mm2,mm0
1828 psllq mm6,6
1829 pxor mm7,mm5
1830 pxor mm2,mm1
1831 pxor mm6,mm7
1832 movq mm5,[48+esp]
1833 paddq mm2,mm6
1834 movq mm6,[56+esp]
1835 movq mm1,mm4
1836 movq mm7,[edx-72]
1837 pxor mm5,mm6
1838 psrlq mm1,14
1839 movq [40+esp],mm4
1840 pand mm5,mm4
1841 psllq mm4,23
1842 paddq mm2,mm3
1843 movq mm3,mm1
1844 psrlq mm1,4
1845 pxor mm5,mm6
1846 pxor mm3,mm4
1847 psllq mm4,23
1848 pxor mm3,mm1
1849 movq [8+esp],mm2
1850 paddq mm7,mm5
1851 pxor mm3,mm4
1852 psrlq mm1,23
1853 paddq mm7,[esp]
1854 pxor mm3,mm1
1855 psllq mm4,4
1856 pxor mm3,mm4
1857 movq mm4,[32+esp]
1858 paddq mm3,mm7
1859 movq mm5,mm2
1860 psrlq mm5,28
1861 paddq mm4,mm3
1862 movq mm6,mm2
1863 movq mm7,mm5
1864 psllq mm6,25
1865 movq mm1,[16+esp]
1866 psrlq mm5,6
1867 pxor mm7,mm6
1868 psllq mm6,5
1869 pxor mm7,mm5
1870 pxor mm2,mm1
1871 psrlq mm5,5
1872 pxor mm7,mm6
1873 pand mm0,mm2
1874 psllq mm6,6
1875 pxor mm7,mm5
1876 pxor mm0,mm1
1877 pxor mm6,mm7
1878 movq mm5,[40+esp]
1879 paddq mm0,mm6
1880 movq mm6,[48+esp]
1881 movdqa [edx-80],xmm6
1882 movdqa xmm7,[64+ebp]
1883 movdqa xmm6,xmm5
1884 movdqu xmm5,[80+ebx]
1885 paddq xmm7,xmm4
1886 db 102,15,56,0,238
1887 movq mm1,mm4
1888 movq mm7,[edx-64]
1889 pxor mm5,mm6
1890 psrlq mm1,14
1891 movq [32+esp],mm4
1892 pand mm5,mm4
1893 psllq mm4,23
1894 paddq mm0,mm3
1895 movq mm3,mm1
1896 psrlq mm1,4
1897 pxor mm5,mm6
1898 pxor mm3,mm4
1899 psllq mm4,23
1900 pxor mm3,mm1
1901 movq [esp],mm0
1902 paddq mm7,mm5
1903 pxor mm3,mm4
1904 psrlq mm1,23
1905 paddq mm7,[56+esp]
1906 pxor mm3,mm1
1907 psllq mm4,4
1908 pxor mm3,mm4
1909 movq mm4,[24+esp]
1910 paddq mm3,mm7
1911 movq mm5,mm0
1912 psrlq mm5,28
1913 paddq mm4,mm3
1914 movq mm6,mm0
1915 movq mm7,mm5
1916 psllq mm6,25
1917 movq mm1,[8+esp]
1918 psrlq mm5,6
1919 pxor mm7,mm6
1920 psllq mm6,5
1921 pxor mm7,mm5
1922 pxor mm0,mm1
1923 psrlq mm5,5
1924 pxor mm7,mm6
1925 pand mm2,mm0
1926 psllq mm6,6
1927 pxor mm7,mm5
1928 pxor mm2,mm1
1929 pxor mm6,mm7
1930 movq mm5,[32+esp]
1931 paddq mm2,mm6
1932 movq mm6,[40+esp]
1933 movq mm1,mm4
1934 movq mm7,[edx-56]
1935 pxor mm5,mm6
1936 psrlq mm1,14
1937 movq [24+esp],mm4
1938 pand mm5,mm4
1939 psllq mm4,23
1940 paddq mm2,mm3
1941 movq mm3,mm1
1942 psrlq mm1,4
1943 pxor mm5,mm6
1944 pxor mm3,mm4
1945 psllq mm4,23
1946 pxor mm3,mm1
1947 movq [56+esp],mm2
1948 paddq mm7,mm5
1949 pxor mm3,mm4
1950 psrlq mm1,23
1951 paddq mm7,[48+esp]
1952 pxor mm3,mm1
1953 psllq mm4,4
1954 pxor mm3,mm4
1955 movq mm4,[16+esp]
1956 paddq mm3,mm7
1957 movq mm5,mm2
1958 psrlq mm5,28
1959 paddq mm4,mm3
1960 movq mm6,mm2
1961 movq mm7,mm5
1962 psllq mm6,25
1963 movq mm1,[esp]
1964 psrlq mm5,6
1965 pxor mm7,mm6
1966 psllq mm6,5
1967 pxor mm7,mm5
1968 pxor mm2,mm1
1969 psrlq mm5,5
1970 pxor mm7,mm6
1971 pand mm0,mm2
1972 psllq mm6,6
1973 pxor mm7,mm5
1974 pxor mm0,mm1
1975 pxor mm6,mm7
1976 movq mm5,[24+esp]
1977 paddq mm0,mm6
1978 movq mm6,[32+esp]
1979 movdqa [edx-64],xmm7
1980 movdqa [edx],xmm0
1981 movdqa xmm0,[80+ebp]
1982 movdqa xmm7,xmm6
1983 movdqu xmm6,[96+ebx]
1984 paddq xmm0,xmm5
1985 db 102,15,56,0,247
1986 movq mm1,mm4
1987 movq mm7,[edx-48]
1988 pxor mm5,mm6
1989 psrlq mm1,14
1990 movq [16+esp],mm4
1991 pand mm5,mm4
1992 psllq mm4,23
1993 paddq mm0,mm3
1994 movq mm3,mm1
1995 psrlq mm1,4
1996 pxor mm5,mm6
1997 pxor mm3,mm4
1998 psllq mm4,23
1999 pxor mm3,mm1
2000 movq [48+esp],mm0
2001 paddq mm7,mm5
2002 pxor mm3,mm4
2003 psrlq mm1,23
2004 paddq mm7,[40+esp]
2005 pxor mm3,mm1
2006 psllq mm4,4
2007 pxor mm3,mm4
2008 movq mm4,[8+esp]
2009 paddq mm3,mm7
2010 movq mm5,mm0
2011 psrlq mm5,28
2012 paddq mm4,mm3
2013 movq mm6,mm0
2014 movq mm7,mm5
2015 psllq mm6,25
2016 movq mm1,[56+esp]
2017 psrlq mm5,6
2018 pxor mm7,mm6
2019 psllq mm6,5
2020 pxor mm7,mm5
2021 pxor mm0,mm1
2022 psrlq mm5,5
2023 pxor mm7,mm6
2024 pand mm2,mm0
2025 psllq mm6,6
2026 pxor mm7,mm5
2027 pxor mm2,mm1
2028 pxor mm6,mm7
2029 movq mm5,[16+esp]
2030 paddq mm2,mm6
2031 movq mm6,[24+esp]
2032 movq mm1,mm4
2033 movq mm7,[edx-40]
2034 pxor mm5,mm6
2035 psrlq mm1,14
2036 movq [8+esp],mm4
2037 pand mm5,mm4
2038 psllq mm4,23
2039 paddq mm2,mm3
2040 movq mm3,mm1
2041 psrlq mm1,4
2042 pxor mm5,mm6
2043 pxor mm3,mm4
2044 psllq mm4,23
2045 pxor mm3,mm1
2046 movq [40+esp],mm2
2047 paddq mm7,mm5
2048 pxor mm3,mm4
2049 psrlq mm1,23
2050 paddq mm7,[32+esp]
2051 pxor mm3,mm1
2052 psllq mm4,4
2053 pxor mm3,mm4
2054 movq mm4,[esp]
2055 paddq mm3,mm7
2056 movq mm5,mm2
2057 psrlq mm5,28
2058 paddq mm4,mm3
2059 movq mm6,mm2
2060 movq mm7,mm5
2061 psllq mm6,25
2062 movq mm1,[48+esp]
2063 psrlq mm5,6
2064 pxor mm7,mm6
2065 psllq mm6,5
2066 pxor mm7,mm5
2067 pxor mm2,mm1
2068 psrlq mm5,5
2069 pxor mm7,mm6
2070 pand mm0,mm2
2071 psllq mm6,6
2072 pxor mm7,mm5
2073 pxor mm0,mm1
2074 pxor mm6,mm7
2075 movq mm5,[8+esp]
2076 paddq mm0,mm6
2077 movq mm6,[16+esp]
2078 movdqa [edx-48],xmm0
2079 movdqa [16+edx],xmm1
2080 movdqa xmm1,[96+ebp]
2081 movdqa xmm0,xmm7
2082 movdqu xmm7,[112+ebx]
2083 paddq xmm1,xmm6
2084 db 102,15,56,0,248
2085 movq mm1,mm4
2086 movq mm7,[edx-32]
2087 pxor mm5,mm6
2088 psrlq mm1,14
2089 movq [esp],mm4
2090 pand mm5,mm4
2091 psllq mm4,23
2092 paddq mm0,mm3
2093 movq mm3,mm1
2094 psrlq mm1,4
2095 pxor mm5,mm6
2096 pxor mm3,mm4
2097 psllq mm4,23
2098 pxor mm3,mm1
2099 movq [32+esp],mm0
2100 paddq mm7,mm5
2101 pxor mm3,mm4
2102 psrlq mm1,23
2103 paddq mm7,[24+esp]
2104 pxor mm3,mm1
2105 psllq mm4,4
2106 pxor mm3,mm4
2107 movq mm4,[56+esp]
2108 paddq mm3,mm7
2109 movq mm5,mm0
2110 psrlq mm5,28
2111 paddq mm4,mm3
2112 movq mm6,mm0
2113 movq mm7,mm5
2114 psllq mm6,25
2115 movq mm1,[40+esp]
2116 psrlq mm5,6
2117 pxor mm7,mm6
2118 psllq mm6,5
2119 pxor mm7,mm5
2120 pxor mm0,mm1
2121 psrlq mm5,5
2122 pxor mm7,mm6
2123 pand mm2,mm0
2124 psllq mm6,6
2125 pxor mm7,mm5
2126 pxor mm2,mm1
2127 pxor mm6,mm7
2128 movq mm5,[esp]
2129 paddq mm2,mm6
2130 movq mm6,[8+esp]
2131 movq mm1,mm4
2132 movq mm7,[edx-24]
2133 pxor mm5,mm6
2134 psrlq mm1,14
2135 movq [56+esp],mm4
2136 pand mm5,mm4
2137 psllq mm4,23
2138 paddq mm2,mm3
2139 movq mm3,mm1
2140 psrlq mm1,4
2141 pxor mm5,mm6
2142 pxor mm3,mm4
2143 psllq mm4,23
2144 pxor mm3,mm1
2145 movq [24+esp],mm2
2146 paddq mm7,mm5
2147 pxor mm3,mm4
2148 psrlq mm1,23
2149 paddq mm7,[16+esp]
2150 pxor mm3,mm1
2151 psllq mm4,4
2152 pxor mm3,mm4
2153 movq mm4,[48+esp]
2154 paddq mm3,mm7
2155 movq mm5,mm2
2156 psrlq mm5,28
2157 paddq mm4,mm3
2158 movq mm6,mm2
2159 movq mm7,mm5
2160 psllq mm6,25
2161 movq mm1,[32+esp]
2162 psrlq mm5,6
2163 pxor mm7,mm6
2164 psllq mm6,5
2165 pxor mm7,mm5
2166 pxor mm2,mm1
2167 psrlq mm5,5
2168 pxor mm7,mm6
2169 pand mm0,mm2
2170 psllq mm6,6
2171 pxor mm7,mm5
2172 pxor mm0,mm1
2173 pxor mm6,mm7
2174 movq mm5,[56+esp]
2175 paddq mm0,mm6
2176 movq mm6,[esp]
2177 movdqa [edx-32],xmm1
2178 movdqa [32+edx],xmm2
2179 movdqa xmm2,[112+ebp]
2180 movdqa xmm0,[edx]
2181 paddq xmm2,xmm7
2182 movq mm1,mm4
2183 movq mm7,[edx-16]
2184 pxor mm5,mm6
2185 psrlq mm1,14
2186 movq [48+esp],mm4
2187 pand mm5,mm4
2188 psllq mm4,23
2189 paddq mm0,mm3
2190 movq mm3,mm1
2191 psrlq mm1,4
2192 pxor mm5,mm6
2193 pxor mm3,mm4
2194 psllq mm4,23
2195 pxor mm3,mm1
2196 movq [16+esp],mm0
2197 paddq mm7,mm5
2198 pxor mm3,mm4
2199 psrlq mm1,23
2200 paddq mm7,[8+esp]
2201 pxor mm3,mm1
2202 psllq mm4,4
2203 pxor mm3,mm4
2204 movq mm4,[40+esp]
2205 paddq mm3,mm7
2206 movq mm5,mm0
2207 psrlq mm5,28
2208 paddq mm4,mm3
2209 movq mm6,mm0
2210 movq mm7,mm5
2211 psllq mm6,25
2212 movq mm1,[24+esp]
2213 psrlq mm5,6
2214 pxor mm7,mm6
2215 psllq mm6,5
2216 pxor mm7,mm5
2217 pxor mm0,mm1
2218 psrlq mm5,5
2219 pxor mm7,mm6
2220 pand mm2,mm0
2221 psllq mm6,6
2222 pxor mm7,mm5
2223 pxor mm2,mm1
2224 pxor mm6,mm7
2225 movq mm5,[48+esp]
2226 paddq mm2,mm6
2227 movq mm6,[56+esp]
2228 movq mm1,mm4
2229 movq mm7,[edx-8]
2230 pxor mm5,mm6
2231 psrlq mm1,14
2232 movq [40+esp],mm4
2233 pand mm5,mm4
2234 psllq mm4,23
2235 paddq mm2,mm3
2236 movq mm3,mm1
2237 psrlq mm1,4
2238 pxor mm5,mm6
2239 pxor mm3,mm4
2240 psllq mm4,23
2241 pxor mm3,mm1
2242 movq [8+esp],mm2
2243 paddq mm7,mm5
2244 pxor mm3,mm4
2245 psrlq mm1,23
2246 paddq mm7,[esp]
2247 pxor mm3,mm1
2248 psllq mm4,4
2249 pxor mm3,mm4
2250 movq mm4,[32+esp]
2251 paddq mm3,mm7
2252 movq mm5,mm2
2253 psrlq mm5,28
2254 paddq mm4,mm3
2255 movq mm6,mm2
2256 movq mm7,mm5
2257 psllq mm6,25
2258 movq mm1,[16+esp]
2259 psrlq mm5,6
2260 pxor mm7,mm6
2261 psllq mm6,5
2262 pxor mm7,mm5
2263 pxor mm2,mm1
2264 psrlq mm5,5
2265 pxor mm7,mm6
2266 pand mm0,mm2
2267 psllq mm6,6
2268 pxor mm7,mm5
2269 pxor mm0,mm1
2270 pxor mm6,mm7
2271 movq mm5,[40+esp]
2272 paddq mm0,mm6
2273 movq mm6,[48+esp]
2274 movdqa [edx-16],xmm2
2275 movq mm1,[8+esp]
2276 paddq mm0,mm3
2277 movq mm3,[24+esp]
2278 movq mm7,[56+esp]
2279 pxor mm2,mm1
2280 paddq mm0,[esi]
2281 paddq mm1,[8+esi]
2282 paddq mm2,[16+esi]
2283 paddq mm3,[24+esi]
2284 paddq mm4,[32+esi]
2285 paddq mm5,[40+esi]
2286 paddq mm6,[48+esi]
2287 paddq mm7,[56+esi]
2288 movq [esi],mm0
2289 movq [8+esi],mm1
2290 movq [16+esi],mm2
2291 movq [24+esi],mm3
2292 movq [32+esi],mm4
2293 movq [40+esi],mm5
2294 movq [48+esi],mm6
2295 movq [56+esi],mm7
2296 cmp edi,eax
2297 jb NEAR L$007loop_ssse3
2298 mov esp,DWORD [76+edx]
2299 emms
2300 pop edi
2301 pop esi
2302 pop ebx
2303 pop ebp
2305 align 16
2306 L$002loop_x86:
2307 mov eax,DWORD [edi]
2308 mov ebx,DWORD [4+edi]
2309 mov ecx,DWORD [8+edi]
2310 mov edx,DWORD [12+edi]
2311 bswap eax
2312 bswap ebx
2313 bswap ecx
2314 bswap edx
2315 push eax
2316 push ebx
2317 push ecx
2318 push edx
2319 mov eax,DWORD [16+edi]
2320 mov ebx,DWORD [20+edi]
2321 mov ecx,DWORD [24+edi]
2322 mov edx,DWORD [28+edi]
2323 bswap eax
2324 bswap ebx
2325 bswap ecx
2326 bswap edx
2327 push eax
2328 push ebx
2329 push ecx
2330 push edx
2331 mov eax,DWORD [32+edi]
2332 mov ebx,DWORD [36+edi]
2333 mov ecx,DWORD [40+edi]
2334 mov edx,DWORD [44+edi]
2335 bswap eax
2336 bswap ebx
2337 bswap ecx
2338 bswap edx
2339 push eax
2340 push ebx
2341 push ecx
2342 push edx
2343 mov eax,DWORD [48+edi]
2344 mov ebx,DWORD [52+edi]
2345 mov ecx,DWORD [56+edi]
2346 mov edx,DWORD [60+edi]
2347 bswap eax
2348 bswap ebx
2349 bswap ecx
2350 bswap edx
2351 push eax
2352 push ebx
2353 push ecx
2354 push edx
2355 mov eax,DWORD [64+edi]
2356 mov ebx,DWORD [68+edi]
2357 mov ecx,DWORD [72+edi]
2358 mov edx,DWORD [76+edi]
2359 bswap eax
2360 bswap ebx
2361 bswap ecx
2362 bswap edx
2363 push eax
2364 push ebx
2365 push ecx
2366 push edx
2367 mov eax,DWORD [80+edi]
2368 mov ebx,DWORD [84+edi]
2369 mov ecx,DWORD [88+edi]
2370 mov edx,DWORD [92+edi]
2371 bswap eax
2372 bswap ebx
2373 bswap ecx
2374 bswap edx
2375 push eax
2376 push ebx
2377 push ecx
2378 push edx
2379 mov eax,DWORD [96+edi]
2380 mov ebx,DWORD [100+edi]
2381 mov ecx,DWORD [104+edi]
2382 mov edx,DWORD [108+edi]
2383 bswap eax
2384 bswap ebx
2385 bswap ecx
2386 bswap edx
2387 push eax
2388 push ebx
2389 push ecx
2390 push edx
2391 mov eax,DWORD [112+edi]
2392 mov ebx,DWORD [116+edi]
2393 mov ecx,DWORD [120+edi]
2394 mov edx,DWORD [124+edi]
2395 bswap eax
2396 bswap ebx
2397 bswap ecx
2398 bswap edx
2399 push eax
2400 push ebx
2401 push ecx
2402 push edx
2403 add edi,128
2404 sub esp,72
2405 mov DWORD [204+esp],edi
2406 lea edi,[8+esp]
2407 mov ecx,16
2408 dd 2784229001
2409 align 16
2410 L$00900_15_x86:
2411 mov ecx,DWORD [40+esp]
2412 mov edx,DWORD [44+esp]
2413 mov esi,ecx
2414 shr ecx,9
2415 mov edi,edx
2416 shr edx,9
2417 mov ebx,ecx
2418 shl esi,14
2419 mov eax,edx
2420 shl edi,14
2421 xor ebx,esi
2422 shr ecx,5
2423 xor eax,edi
2424 shr edx,5
2425 xor eax,ecx
2426 shl esi,4
2427 xor ebx,edx
2428 shl edi,4
2429 xor ebx,esi
2430 shr ecx,4
2431 xor eax,edi
2432 shr edx,4
2433 xor eax,ecx
2434 shl esi,5
2435 xor ebx,edx
2436 shl edi,5
2437 xor eax,esi
2438 xor ebx,edi
2439 mov ecx,DWORD [48+esp]
2440 mov edx,DWORD [52+esp]
2441 mov esi,DWORD [56+esp]
2442 mov edi,DWORD [60+esp]
2443 add eax,DWORD [64+esp]
2444 adc ebx,DWORD [68+esp]
2445 xor ecx,esi
2446 xor edx,edi
2447 and ecx,DWORD [40+esp]
2448 and edx,DWORD [44+esp]
2449 add eax,DWORD [192+esp]
2450 adc ebx,DWORD [196+esp]
2451 xor ecx,esi
2452 xor edx,edi
2453 mov esi,DWORD [ebp]
2454 mov edi,DWORD [4+ebp]
2455 add eax,ecx
2456 adc ebx,edx
2457 mov ecx,DWORD [32+esp]
2458 mov edx,DWORD [36+esp]
2459 add eax,esi
2460 adc ebx,edi
2461 mov DWORD [esp],eax
2462 mov DWORD [4+esp],ebx
2463 add eax,ecx
2464 adc ebx,edx
2465 mov ecx,DWORD [8+esp]
2466 mov edx,DWORD [12+esp]
2467 mov DWORD [32+esp],eax
2468 mov DWORD [36+esp],ebx
2469 mov esi,ecx
2470 shr ecx,2
2471 mov edi,edx
2472 shr edx,2
2473 mov ebx,ecx
2474 shl esi,4
2475 mov eax,edx
2476 shl edi,4
2477 xor ebx,esi
2478 shr ecx,5
2479 xor eax,edi
2480 shr edx,5
2481 xor ebx,ecx
2482 shl esi,21
2483 xor eax,edx
2484 shl edi,21
2485 xor eax,esi
2486 shr ecx,21
2487 xor ebx,edi
2488 shr edx,21
2489 xor eax,ecx
2490 shl esi,5
2491 xor ebx,edx
2492 shl edi,5
2493 xor eax,esi
2494 xor ebx,edi
2495 mov ecx,DWORD [8+esp]
2496 mov edx,DWORD [12+esp]
2497 mov esi,DWORD [16+esp]
2498 mov edi,DWORD [20+esp]
2499 add eax,DWORD [esp]
2500 adc ebx,DWORD [4+esp]
2501 or ecx,esi
2502 or edx,edi
2503 and ecx,DWORD [24+esp]
2504 and edx,DWORD [28+esp]
2505 and esi,DWORD [8+esp]
2506 and edi,DWORD [12+esp]
2507 or ecx,esi
2508 or edx,edi
2509 add eax,ecx
2510 adc ebx,edx
2511 mov DWORD [esp],eax
2512 mov DWORD [4+esp],ebx
2513 mov dl,BYTE [ebp]
2514 sub esp,8
2515 lea ebp,[8+ebp]
2516 cmp dl,148
2517 jne NEAR L$00900_15_x86
2518 align 16
2519 L$01016_79_x86:
2520 mov ecx,DWORD [312+esp]
2521 mov edx,DWORD [316+esp]
2522 mov esi,ecx
2523 shr ecx,1
2524 mov edi,edx
2525 shr edx,1
2526 mov eax,ecx
2527 shl esi,24
2528 mov ebx,edx
2529 shl edi,24
2530 xor ebx,esi
2531 shr ecx,6
2532 xor eax,edi
2533 shr edx,6
2534 xor eax,ecx
2535 shl esi,7
2536 xor ebx,edx
2537 shl edi,1
2538 xor ebx,esi
2539 shr ecx,1
2540 xor eax,edi
2541 shr edx,1
2542 xor eax,ecx
2543 shl edi,6
2544 xor ebx,edx
2545 xor eax,edi
2546 mov DWORD [esp],eax
2547 mov DWORD [4+esp],ebx
2548 mov ecx,DWORD [208+esp]
2549 mov edx,DWORD [212+esp]
2550 mov esi,ecx
2551 shr ecx,6
2552 mov edi,edx
2553 shr edx,6
2554 mov eax,ecx
2555 shl esi,3
2556 mov ebx,edx
2557 shl edi,3
2558 xor eax,esi
2559 shr ecx,13
2560 xor ebx,edi
2561 shr edx,13
2562 xor eax,ecx
2563 shl esi,10
2564 xor ebx,edx
2565 shl edi,10
2566 xor ebx,esi
2567 shr ecx,10
2568 xor eax,edi
2569 shr edx,10
2570 xor ebx,ecx
2571 shl edi,13
2572 xor eax,edx
2573 xor eax,edi
2574 mov ecx,DWORD [320+esp]
2575 mov edx,DWORD [324+esp]
2576 add eax,DWORD [esp]
2577 adc ebx,DWORD [4+esp]
2578 mov esi,DWORD [248+esp]
2579 mov edi,DWORD [252+esp]
2580 add eax,ecx
2581 adc ebx,edx
2582 add eax,esi
2583 adc ebx,edi
2584 mov DWORD [192+esp],eax
2585 mov DWORD [196+esp],ebx
2586 mov ecx,DWORD [40+esp]
2587 mov edx,DWORD [44+esp]
2588 mov esi,ecx
2589 shr ecx,9
2590 mov edi,edx
2591 shr edx,9
2592 mov ebx,ecx
2593 shl esi,14
2594 mov eax,edx
2595 shl edi,14
2596 xor ebx,esi
2597 shr ecx,5
2598 xor eax,edi
2599 shr edx,5
2600 xor eax,ecx
2601 shl esi,4
2602 xor ebx,edx
2603 shl edi,4
2604 xor ebx,esi
2605 shr ecx,4
2606 xor eax,edi
2607 shr edx,4
2608 xor eax,ecx
2609 shl esi,5
2610 xor ebx,edx
2611 shl edi,5
2612 xor eax,esi
2613 xor ebx,edi
2614 mov ecx,DWORD [48+esp]
2615 mov edx,DWORD [52+esp]
2616 mov esi,DWORD [56+esp]
2617 mov edi,DWORD [60+esp]
2618 add eax,DWORD [64+esp]
2619 adc ebx,DWORD [68+esp]
2620 xor ecx,esi
2621 xor edx,edi
2622 and ecx,DWORD [40+esp]
2623 and edx,DWORD [44+esp]
2624 add eax,DWORD [192+esp]
2625 adc ebx,DWORD [196+esp]
2626 xor ecx,esi
2627 xor edx,edi
2628 mov esi,DWORD [ebp]
2629 mov edi,DWORD [4+ebp]
2630 add eax,ecx
2631 adc ebx,edx
2632 mov ecx,DWORD [32+esp]
2633 mov edx,DWORD [36+esp]
2634 add eax,esi
2635 adc ebx,edi
2636 mov DWORD [esp],eax
2637 mov DWORD [4+esp],ebx
2638 add eax,ecx
2639 adc ebx,edx
2640 mov ecx,DWORD [8+esp]
2641 mov edx,DWORD [12+esp]
2642 mov DWORD [32+esp],eax
2643 mov DWORD [36+esp],ebx
2644 mov esi,ecx
2645 shr ecx,2
2646 mov edi,edx
2647 shr edx,2
2648 mov ebx,ecx
2649 shl esi,4
2650 mov eax,edx
2651 shl edi,4
2652 xor ebx,esi
2653 shr ecx,5
2654 xor eax,edi
2655 shr edx,5
2656 xor ebx,ecx
2657 shl esi,21
2658 xor eax,edx
2659 shl edi,21
2660 xor eax,esi
2661 shr ecx,21
2662 xor ebx,edi
2663 shr edx,21
2664 xor eax,ecx
2665 shl esi,5
2666 xor ebx,edx
2667 shl edi,5
2668 xor eax,esi
2669 xor ebx,edi
2670 mov ecx,DWORD [8+esp]
2671 mov edx,DWORD [12+esp]
2672 mov esi,DWORD [16+esp]
2673 mov edi,DWORD [20+esp]
2674 add eax,DWORD [esp]
2675 adc ebx,DWORD [4+esp]
2676 or ecx,esi
2677 or edx,edi
2678 and ecx,DWORD [24+esp]
2679 and edx,DWORD [28+esp]
2680 and esi,DWORD [8+esp]
2681 and edi,DWORD [12+esp]
2682 or ecx,esi
2683 or edx,edi
2684 add eax,ecx
2685 adc ebx,edx
2686 mov DWORD [esp],eax
2687 mov DWORD [4+esp],ebx
2688 mov dl,BYTE [ebp]
2689 sub esp,8
2690 lea ebp,[8+ebp]
2691 cmp dl,23
2692 jne NEAR L$01016_79_x86
2693 mov esi,DWORD [840+esp]
2694 mov edi,DWORD [844+esp]
2695 mov eax,DWORD [esi]
2696 mov ebx,DWORD [4+esi]
2697 mov ecx,DWORD [8+esi]
2698 mov edx,DWORD [12+esi]
2699 add eax,DWORD [8+esp]
2700 adc ebx,DWORD [12+esp]
2701 mov DWORD [esi],eax
2702 mov DWORD [4+esi],ebx
2703 add ecx,DWORD [16+esp]
2704 adc edx,DWORD [20+esp]
2705 mov DWORD [8+esi],ecx
2706 mov DWORD [12+esi],edx
2707 mov eax,DWORD [16+esi]
2708 mov ebx,DWORD [20+esi]
2709 mov ecx,DWORD [24+esi]
2710 mov edx,DWORD [28+esi]
2711 add eax,DWORD [24+esp]
2712 adc ebx,DWORD [28+esp]
2713 mov DWORD [16+esi],eax
2714 mov DWORD [20+esi],ebx
2715 add ecx,DWORD [32+esp]
2716 adc edx,DWORD [36+esp]
2717 mov DWORD [24+esi],ecx
2718 mov DWORD [28+esi],edx
2719 mov eax,DWORD [32+esi]
2720 mov ebx,DWORD [36+esi]
2721 mov ecx,DWORD [40+esi]
2722 mov edx,DWORD [44+esi]
2723 add eax,DWORD [40+esp]
2724 adc ebx,DWORD [44+esp]
2725 mov DWORD [32+esi],eax
2726 mov DWORD [36+esi],ebx
2727 add ecx,DWORD [48+esp]
2728 adc edx,DWORD [52+esp]
2729 mov DWORD [40+esi],ecx
2730 mov DWORD [44+esi],edx
2731 mov eax,DWORD [48+esi]
2732 mov ebx,DWORD [52+esi]
2733 mov ecx,DWORD [56+esi]
2734 mov edx,DWORD [60+esi]
2735 add eax,DWORD [56+esp]
2736 adc ebx,DWORD [60+esp]
2737 mov DWORD [48+esi],eax
2738 mov DWORD [52+esi],ebx
2739 add ecx,DWORD [64+esp]
2740 adc edx,DWORD [68+esp]
2741 mov DWORD [56+esi],ecx
2742 mov DWORD [60+esi],edx
2743 add esp,840
2744 sub ebp,640
2745 cmp edi,DWORD [8+esp]
2746 jb NEAR L$002loop_x86
2747 mov esp,DWORD [12+esp]
2748 pop edi
2749 pop esi
2750 pop ebx
2751 pop ebp
2753 align 64
2754 L$001K512:
2755 dd 3609767458,1116352408
2756 dd 602891725,1899447441
2757 dd 3964484399,3049323471
2758 dd 2173295548,3921009573
2759 dd 4081628472,961987163
2760 dd 3053834265,1508970993
2761 dd 2937671579,2453635748
2762 dd 3664609560,2870763221
2763 dd 2734883394,3624381080
2764 dd 1164996542,310598401
2765 dd 1323610764,607225278
2766 dd 3590304994,1426881987
2767 dd 4068182383,1925078388
2768 dd 991336113,2162078206
2769 dd 633803317,2614888103
2770 dd 3479774868,3248222580
2771 dd 2666613458,3835390401
2772 dd 944711139,4022224774
2773 dd 2341262773,264347078
2774 dd 2007800933,604807628
2775 dd 1495990901,770255983
2776 dd 1856431235,1249150122
2777 dd 3175218132,1555081692
2778 dd 2198950837,1996064986
2779 dd 3999719339,2554220882
2780 dd 766784016,2821834349
2781 dd 2566594879,2952996808
2782 dd 3203337956,3210313671
2783 dd 1034457026,3336571891
2784 dd 2466948901,3584528711
2785 dd 3758326383,113926993
2786 dd 168717936,338241895
2787 dd 1188179964,666307205
2788 dd 1546045734,773529912
2789 dd 1522805485,1294757372
2790 dd 2643833823,1396182291
2791 dd 2343527390,1695183700
2792 dd 1014477480,1986661051
2793 dd 1206759142,2177026350
2794 dd 344077627,2456956037
2795 dd 1290863460,2730485921
2796 dd 3158454273,2820302411
2797 dd 3505952657,3259730800
2798 dd 106217008,3345764771
2799 dd 3606008344,3516065817
2800 dd 1432725776,3600352804
2801 dd 1467031594,4094571909
2802 dd 851169720,275423344
2803 dd 3100823752,430227734
2804 dd 1363258195,506948616
2805 dd 3750685593,659060556
2806 dd 3785050280,883997877
2807 dd 3318307427,958139571
2808 dd 3812723403,1322822218
2809 dd 2003034995,1537002063
2810 dd 3602036899,1747873779
2811 dd 1575990012,1955562222
2812 dd 1125592928,2024104815
2813 dd 2716904306,2227730452
2814 dd 442776044,2361852424
2815 dd 593698344,2428436474
2816 dd 3733110249,2756734187
2817 dd 2999351573,3204031479
2818 dd 3815920427,3329325298
2819 dd 3928383900,3391569614
2820 dd 566280711,3515267271
2821 dd 3454069534,3940187606
2822 dd 4000239992,4118630271
2823 dd 1914138554,116418474
2824 dd 2731055270,174292421
2825 dd 3203993006,289380356
2826 dd 320620315,460393269
2827 dd 587496836,685471733
2828 dd 1086792851,852142971
2829 dd 365543100,1017036298
2830 dd 2618297676,1126000580
2831 dd 3409855158,1288033470
2832 dd 4234509866,1501505948
2833 dd 987167468,1607167915
2834 dd 1246189591,1816402316
2835 dd 67438087,66051
2836 dd 202182159,134810123
2837 db 83,72,65,53,49,50,32,98,108,111,99,107,32,116,114,97
2838 db 110,115,102,111,114,109,32,102,111,114,32,120,56,54,44,32
2839 db 67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97
2840 db 112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103
2841 db 62,0
2842 segment .bss
2843 common _OPENSSL_ia32cap_P 16