| %ifidn __OUTPUT_FORMAT__,obj |
| section code use32 class=code align=64 |
| %elifidn __OUTPUT_FORMAT__,win32 |
| %ifdef __YASM_VERSION_ID__ |
| %if __YASM_VERSION_ID__ < 01010000h |
| %error yasm version 1.1.0 or later needed. |
| %endif |
| ; Yasm automatically includes .00 and complains about redefining it. |
| ; https://www.tortall.net/projects/yasm/manual/html/objfmt-win32-safeseh.html |
| %else |
| $@feat.00 equ 1 |
| %endif |
| section .text code align=64 |
| %else |
| section .text code |
| %endif |
| ;extern _OPENSSL_ia32cap_P |
| global _sha512_block_data_order |
| align 16 |
| _sha512_block_data_order: |
| L$_sha512_block_data_order_begin: |
| push ebp |
| push ebx |
| push esi |
| push edi |
| mov esi,DWORD [20+esp] |
| mov edi,DWORD [24+esp] |
| mov eax,DWORD [28+esp] |
| mov ebx,esp |
| call L$000pic_point |
| L$000pic_point: |
| pop ebp |
| lea ebp,[(L$001K512-L$000pic_point)+ebp] |
| sub esp,16 |
| and esp,-64 |
| shl eax,7 |
| add eax,edi |
| mov DWORD [esp],esi |
| mov DWORD [4+esp],edi |
| mov DWORD [8+esp],eax |
| mov DWORD [12+esp],ebx |
| lea edx,[_OPENSSL_ia32cap_P] |
| mov ecx,DWORD [edx] |
| test ecx,67108864 |
| jz NEAR L$002loop_x86 |
| mov edx,DWORD [4+edx] |
| movq mm0,[esi] |
| and ecx,16777216 |
| movq mm1,[8+esi] |
| and edx,512 |
| movq mm2,[16+esi] |
| or ecx,edx |
| movq mm3,[24+esi] |
| movq mm4,[32+esi] |
| movq mm5,[40+esi] |
| movq mm6,[48+esi] |
| movq mm7,[56+esi] |
| cmp ecx,16777728 |
| je NEAR L$003SSSE3 |
| sub esp,80 |
| jmp NEAR L$004loop_sse2 |
| align 16 |
| L$004loop_sse2: |
| movq [8+esp],mm1 |
| movq [16+esp],mm2 |
| movq [24+esp],mm3 |
| movq [40+esp],mm5 |
| movq [48+esp],mm6 |
| pxor mm2,mm1 |
| movq [56+esp],mm7 |
| movq mm3,mm0 |
| mov eax,DWORD [edi] |
| mov ebx,DWORD [4+edi] |
| add edi,8 |
| mov edx,15 |
| bswap eax |
| bswap ebx |
| jmp NEAR L$00500_14_sse2 |
| align 16 |
| L$00500_14_sse2: |
| movd mm1,eax |
| mov eax,DWORD [edi] |
| movd mm7,ebx |
| mov ebx,DWORD [4+edi] |
| add edi,8 |
| bswap eax |
| bswap ebx |
| punpckldq mm7,mm1 |
| movq mm1,mm4 |
| pxor mm5,mm6 |
| psrlq mm1,14 |
| movq [32+esp],mm4 |
| pand mm5,mm4 |
| psllq mm4,23 |
| movq mm0,mm3 |
| movq [72+esp],mm7 |
| movq mm3,mm1 |
| psrlq mm1,4 |
| pxor mm5,mm6 |
| pxor mm3,mm4 |
| psllq mm4,23 |
| pxor mm3,mm1 |
| movq [esp],mm0 |
| paddq mm7,mm5 |
| pxor mm3,mm4 |
| psrlq mm1,23 |
| paddq mm7,[56+esp] |
| pxor mm3,mm1 |
| psllq mm4,4 |
| paddq mm7,[ebp] |
| pxor mm3,mm4 |
| movq mm4,[24+esp] |
| paddq mm3,mm7 |
| movq mm5,mm0 |
| psrlq mm5,28 |
| paddq mm4,mm3 |
| movq mm6,mm0 |
| movq mm7,mm5 |
| psllq mm6,25 |
| movq mm1,[8+esp] |
| psrlq mm5,6 |
| pxor mm7,mm6 |
| sub esp,8 |
| psllq mm6,5 |
| pxor mm7,mm5 |
| pxor mm0,mm1 |
| psrlq mm5,5 |
| pxor mm7,mm6 |
| pand mm2,mm0 |
| psllq mm6,6 |
| pxor mm7,mm5 |
| pxor mm2,mm1 |
| pxor mm6,mm7 |
| movq mm5,[40+esp] |
| paddq mm3,mm2 |
| movq mm2,mm0 |
| add ebp,8 |
| paddq mm3,mm6 |
| movq mm6,[48+esp] |
| dec edx |
| jnz NEAR L$00500_14_sse2 |
| movd mm1,eax |
| movd mm7,ebx |
| punpckldq mm7,mm1 |
| movq mm1,mm4 |
| pxor mm5,mm6 |
| psrlq mm1,14 |
| movq [32+esp],mm4 |
| pand mm5,mm4 |
| psllq mm4,23 |
| movq mm0,mm3 |
| movq [72+esp],mm7 |
| movq mm3,mm1 |
| psrlq mm1,4 |
| pxor mm5,mm6 |
| pxor mm3,mm4 |
| psllq mm4,23 |
| pxor mm3,mm1 |
| movq [esp],mm0 |
| paddq mm7,mm5 |
| pxor mm3,mm4 |
| psrlq mm1,23 |
| paddq mm7,[56+esp] |
| pxor mm3,mm1 |
| psllq mm4,4 |
| paddq mm7,[ebp] |
| pxor mm3,mm4 |
| movq mm4,[24+esp] |
| paddq mm3,mm7 |
| movq mm5,mm0 |
| psrlq mm5,28 |
| paddq mm4,mm3 |
| movq mm6,mm0 |
| movq mm7,mm5 |
| psllq mm6,25 |
| movq mm1,[8+esp] |
| psrlq mm5,6 |
| pxor mm7,mm6 |
| sub esp,8 |
| psllq mm6,5 |
| pxor mm7,mm5 |
| pxor mm0,mm1 |
| psrlq mm5,5 |
| pxor mm7,mm6 |
| pand mm2,mm0 |
| psllq mm6,6 |
| pxor mm7,mm5 |
| pxor mm2,mm1 |
| pxor mm6,mm7 |
| movq mm7,[192+esp] |
| paddq mm3,mm2 |
| movq mm2,mm0 |
| add ebp,8 |
| paddq mm3,mm6 |
| pxor mm0,mm0 |
| mov edx,32 |
| jmp NEAR L$00616_79_sse2 |
| align 16 |
| L$00616_79_sse2: |
| movq mm5,[88+esp] |
| movq mm1,mm7 |
| psrlq mm7,1 |
| movq mm6,mm5 |
| psrlq mm5,6 |
| psllq mm1,56 |
| paddq mm0,mm3 |
| movq mm3,mm7 |
| psrlq mm7,6 |
| pxor mm3,mm1 |
| psllq mm1,7 |
| pxor mm3,mm7 |
| psrlq mm7,1 |
| pxor mm3,mm1 |
| movq mm1,mm5 |
| psrlq mm5,13 |
| pxor mm7,mm3 |
| psllq mm6,3 |
| pxor mm1,mm5 |
| paddq mm7,[200+esp] |
| pxor mm1,mm6 |
| psrlq mm5,42 |
| paddq mm7,[128+esp] |
| pxor mm1,mm5 |
| psllq mm6,42 |
| movq mm5,[40+esp] |
| pxor mm1,mm6 |
| movq mm6,[48+esp] |
| paddq mm7,mm1 |
| movq mm1,mm4 |
| pxor mm5,mm6 |
| psrlq mm1,14 |
| movq [32+esp],mm4 |
| pand mm5,mm4 |
| psllq mm4,23 |
| movq [72+esp],mm7 |
| movq mm3,mm1 |
| psrlq mm1,4 |
| pxor mm5,mm6 |
| pxor mm3,mm4 |
| psllq mm4,23 |
| pxor mm3,mm1 |
| movq [esp],mm0 |
| paddq mm7,mm5 |
| pxor mm3,mm4 |
| psrlq mm1,23 |
| paddq mm7,[56+esp] |
| pxor mm3,mm1 |
| psllq mm4,4 |
| paddq mm7,[ebp] |
| pxor mm3,mm4 |
| movq mm4,[24+esp] |
| paddq mm3,mm7 |
| movq mm5,mm0 |
| psrlq mm5,28 |
| paddq mm4,mm3 |
| movq mm6,mm0 |
| movq mm7,mm5 |
| psllq mm6,25 |
| movq mm1,[8+esp] |
| psrlq mm5,6 |
| pxor mm7,mm6 |
| sub esp,8 |
| psllq mm6,5 |
| pxor mm7,mm5 |
| pxor mm0,mm1 |
| psrlq mm5,5 |
| pxor mm7,mm6 |
| pand mm2,mm0 |
| psllq mm6,6 |
| pxor mm7,mm5 |
| pxor mm2,mm1 |
| pxor mm6,mm7 |
| movq mm7,[192+esp] |
| paddq mm2,mm6 |
| add ebp,8 |
| movq mm5,[88+esp] |
| movq mm1,mm7 |
| psrlq mm7,1 |
| movq mm6,mm5 |
| psrlq mm5,6 |
| psllq mm1,56 |
| paddq mm2,mm3 |
| movq mm3,mm7 |
| psrlq mm7,6 |
| pxor mm3,mm1 |
| psllq mm1,7 |
| pxor mm3,mm7 |
| psrlq mm7,1 |
| pxor mm3,mm1 |
| movq mm1,mm5 |
| psrlq mm5,13 |
| pxor mm7,mm3 |
| psllq mm6,3 |
| pxor mm1,mm5 |
| paddq mm7,[200+esp] |
| pxor mm1,mm6 |
| psrlq mm5,42 |
| paddq mm7,[128+esp] |
| pxor mm1,mm5 |
| psllq mm6,42 |
| movq mm5,[40+esp] |
| pxor mm1,mm6 |
| movq mm6,[48+esp] |
| paddq mm7,mm1 |
| movq mm1,mm4 |
| pxor mm5,mm6 |
| psrlq mm1,14 |
| movq [32+esp],mm4 |
| pand mm5,mm4 |
| psllq mm4,23 |
| movq [72+esp],mm7 |
| movq mm3,mm1 |
| psrlq mm1,4 |
| pxor mm5,mm6 |
| pxor mm3,mm4 |
| psllq mm4,23 |
| pxor mm3,mm1 |
| movq [esp],mm2 |
| paddq mm7,mm5 |
| pxor mm3,mm4 |
| psrlq mm1,23 |
| paddq mm7,[56+esp] |
| pxor mm3,mm1 |
| psllq mm4,4 |
| paddq mm7,[ebp] |
| pxor mm3,mm4 |
| movq mm4,[24+esp] |
| paddq mm3,mm7 |
| movq mm5,mm2 |
| psrlq mm5,28 |
| paddq mm4,mm3 |
| movq mm6,mm2 |
| movq mm7,mm5 |
| psllq mm6,25 |
| movq mm1,[8+esp] |
| psrlq mm5,6 |
| pxor mm7,mm6 |
| sub esp,8 |
| psllq mm6,5 |
| pxor mm7,mm5 |
| pxor mm2,mm1 |
| psrlq mm5,5 |
| pxor mm7,mm6 |
| pand mm0,mm2 |
| psllq mm6,6 |
| pxor mm7,mm5 |
| pxor mm0,mm1 |
| pxor mm6,mm7 |
| movq mm7,[192+esp] |
| paddq mm0,mm6 |
| add ebp,8 |
| dec edx |
| jnz NEAR L$00616_79_sse2 |
| paddq mm0,mm3 |
| movq mm1,[8+esp] |
| movq mm3,[24+esp] |
| movq mm5,[40+esp] |
| movq mm6,[48+esp] |
| movq mm7,[56+esp] |
| pxor mm2,mm1 |
| paddq mm0,[esi] |
| paddq mm1,[8+esi] |
| paddq mm2,[16+esi] |
| paddq mm3,[24+esi] |
| paddq mm4,[32+esi] |
| paddq mm5,[40+esi] |
| paddq mm6,[48+esi] |
| paddq mm7,[56+esi] |
| mov eax,640 |
| movq [esi],mm0 |
| movq [8+esi],mm1 |
| movq [16+esi],mm2 |
| movq [24+esi],mm3 |
| movq [32+esi],mm4 |
| movq [40+esi],mm5 |
| movq [48+esi],mm6 |
| movq [56+esi],mm7 |
| lea esp,[eax*1+esp] |
| sub ebp,eax |
| cmp edi,DWORD [88+esp] |
| jb NEAR L$004loop_sse2 |
| mov esp,DWORD [92+esp] |
| emms |
| pop edi |
| pop esi |
| pop ebx |
| pop ebp |
| ret |
| align 32 |
| L$003SSSE3: |
| lea edx,[esp-64] |
| sub esp,256 |
| movdqa xmm1,[640+ebp] |
| movdqu xmm0,[edi] |
| db 102,15,56,0,193 |
| movdqa xmm3,[ebp] |
| movdqa xmm2,xmm1 |
| movdqu xmm1,[16+edi] |
| paddq xmm3,xmm0 |
| db 102,15,56,0,202 |
| movdqa [edx-128],xmm3 |
| movdqa xmm4,[16+ebp] |
| movdqa xmm3,xmm2 |
| movdqu xmm2,[32+edi] |
| paddq xmm4,xmm1 |
| db 102,15,56,0,211 |
| movdqa [edx-112],xmm4 |
| movdqa xmm5,[32+ebp] |
| movdqa xmm4,xmm3 |
| movdqu xmm3,[48+edi] |
| paddq xmm5,xmm2 |
| db 102,15,56,0,220 |
| movdqa [edx-96],xmm5 |
| movdqa xmm6,[48+ebp] |
| movdqa xmm5,xmm4 |
| movdqu xmm4,[64+edi] |
| paddq xmm6,xmm3 |
| db 102,15,56,0,229 |
| movdqa [edx-80],xmm6 |
| movdqa xmm7,[64+ebp] |
| movdqa xmm6,xmm5 |
| movdqu xmm5,[80+edi] |
| paddq xmm7,xmm4 |
| db 102,15,56,0,238 |
| movdqa [edx-64],xmm7 |
| movdqa [edx],xmm0 |
| movdqa xmm0,[80+ebp] |
| movdqa xmm7,xmm6 |
| movdqu xmm6,[96+edi] |
| paddq xmm0,xmm5 |
| db 102,15,56,0,247 |
| movdqa [edx-48],xmm0 |
| movdqa [16+edx],xmm1 |
| movdqa xmm1,[96+ebp] |
| movdqa xmm0,xmm7 |
| movdqu xmm7,[112+edi] |
| paddq xmm1,xmm6 |
| db 102,15,56,0,248 |
| movdqa [edx-32],xmm1 |
| movdqa [32+edx],xmm2 |
| movdqa xmm2,[112+ebp] |
| movdqa xmm0,[edx] |
| paddq xmm2,xmm7 |
| movdqa [edx-16],xmm2 |
| nop |
| align 32 |
| L$007loop_ssse3: |
| movdqa xmm2,[16+edx] |
| movdqa [48+edx],xmm3 |
| lea ebp,[128+ebp] |
| movq [8+esp],mm1 |
| mov ebx,edi |
| movq [16+esp],mm2 |
| lea edi,[128+edi] |
| movq [24+esp],mm3 |
| cmp edi,eax |
| movq [40+esp],mm5 |
| cmovb ebx,edi |
| movq [48+esp],mm6 |
| mov ecx,4 |
| pxor mm2,mm1 |
| movq [56+esp],mm7 |
| pxor mm3,mm3 |
| jmp NEAR L$00800_47_ssse3 |
| align 32 |
| L$00800_47_ssse3: |
| movdqa xmm3,xmm5 |
| movdqa xmm1,xmm2 |
| db 102,15,58,15,208,8 |
| movdqa [edx],xmm4 |
| db 102,15,58,15,220,8 |
| movdqa xmm4,xmm2 |
| psrlq xmm2,7 |
| paddq xmm0,xmm3 |
| movdqa xmm3,xmm4 |
| psrlq xmm4,1 |
| psllq xmm3,56 |
| pxor xmm2,xmm4 |
| psrlq xmm4,7 |
| pxor xmm2,xmm3 |
| psllq xmm3,7 |
| pxor xmm2,xmm4 |
| movdqa xmm4,xmm7 |
| pxor xmm2,xmm3 |
| movdqa xmm3,xmm7 |
| psrlq xmm4,6 |
| paddq xmm0,xmm2 |
| movdqa xmm2,xmm7 |
| psrlq xmm3,19 |
| psllq xmm2,3 |
| pxor xmm4,xmm3 |
| psrlq xmm3,42 |
| pxor xmm4,xmm2 |
| psllq xmm2,42 |
| pxor xmm4,xmm3 |
| movdqa xmm3,[32+edx] |
| pxor xmm4,xmm2 |
| movdqa xmm2,[ebp] |
| movq mm1,mm4 |
| paddq xmm0,xmm4 |
| movq mm7,[edx-128] |
| pxor mm5,mm6 |
| psrlq mm1,14 |
| movq [32+esp],mm4 |
| paddq xmm2,xmm0 |
| pand mm5,mm4 |
| psllq mm4,23 |
| paddq mm0,mm3 |
| movq mm3,mm1 |
| psrlq mm1,4 |
| pxor mm5,mm6 |
| pxor mm3,mm4 |
| psllq mm4,23 |
| pxor mm3,mm1 |
| movq [esp],mm0 |
| paddq mm7,mm5 |
| pxor mm3,mm4 |
| psrlq mm1,23 |
| paddq mm7,[56+esp] |
| pxor mm3,mm1 |
| psllq mm4,4 |
| pxor mm3,mm4 |
| movq mm4,[24+esp] |
| paddq mm3,mm7 |
| movq mm5,mm0 |
| psrlq mm5,28 |
| paddq mm4,mm3 |
| movq mm6,mm0 |
| movq mm7,mm5 |
| psllq mm6,25 |
| movq mm1,[8+esp] |
| psrlq mm5,6 |
| pxor mm7,mm6 |
| psllq mm6,5 |
| pxor mm7,mm5 |
| pxor mm0,mm1 |
| psrlq mm5,5 |
| pxor mm7,mm6 |
| pand mm2,mm0 |
| psllq mm6,6 |
| pxor mm7,mm5 |
| pxor mm2,mm1 |
| pxor mm6,mm7 |
| movq mm5,[32+esp] |
| paddq mm2,mm6 |
| movq mm6,[40+esp] |
| movq mm1,mm4 |
| movq mm7,[edx-120] |
| pxor mm5,mm6 |
| psrlq mm1,14 |
| movq [24+esp],mm4 |
| pand mm5,mm4 |
| psllq mm4,23 |
| paddq mm2,mm3 |
| movq mm3,mm1 |
| psrlq mm1,4 |
| pxor mm5,mm6 |
| pxor mm3,mm4 |
| psllq mm4,23 |
| pxor mm3,mm1 |
| movq [56+esp],mm2 |
| paddq mm7,mm5 |
| pxor mm3,mm4 |
| psrlq mm1,23 |
| paddq mm7,[48+esp] |
| pxor mm3,mm1 |
| psllq mm4,4 |
| pxor mm3,mm4 |
| movq mm4,[16+esp] |
| paddq mm3,mm7 |
| movq mm5,mm2 |
| psrlq mm5,28 |
| paddq mm4,mm3 |
| movq mm6,mm2 |
| movq mm7,mm5 |
| psllq mm6,25 |
| movq mm1,[esp] |
| psrlq mm5,6 |
| pxor mm7,mm6 |
| psllq mm6,5 |
| pxor mm7,mm5 |
| pxor mm2,mm1 |
| psrlq mm5,5 |
| pxor mm7,mm6 |
| pand mm0,mm2 |
| psllq mm6,6 |
| pxor mm7,mm5 |
| pxor mm0,mm1 |
| pxor mm6,mm7 |
| movq mm5,[24+esp] |
| paddq mm0,mm6 |
| movq mm6,[32+esp] |
| movdqa [edx-128],xmm2 |
| movdqa xmm4,xmm6 |
| movdqa xmm2,xmm3 |
| db 102,15,58,15,217,8 |
| movdqa [16+edx],xmm5 |
| db 102,15,58,15,229,8 |
| movdqa xmm5,xmm3 |
| psrlq xmm3,7 |
| paddq xmm1,xmm4 |
| movdqa xmm4,xmm5 |
| psrlq xmm5,1 |
| psllq xmm4,56 |
| pxor xmm3,xmm5 |
| psrlq xmm5,7 |
| pxor xmm3,xmm4 |
| psllq xmm4,7 |
| pxor xmm3,xmm5 |
| movdqa xmm5,xmm0 |
| pxor xmm3,xmm4 |
| movdqa xmm4,xmm0 |
| psrlq xmm5,6 |
| paddq xmm1,xmm3 |
| movdqa xmm3,xmm0 |
| psrlq xmm4,19 |
| psllq xmm3,3 |
| pxor xmm5,xmm4 |
| psrlq xmm4,42 |
| pxor xmm5,xmm3 |
| psllq xmm3,42 |
| pxor xmm5,xmm4 |
| movdqa xmm4,[48+edx] |
| pxor xmm5,xmm3 |
| movdqa xmm3,[16+ebp] |
| movq mm1,mm4 |
| paddq xmm1,xmm5 |
| movq mm7,[edx-112] |
| pxor mm5,mm6 |
| psrlq mm1,14 |
| movq [16+esp],mm4 |
| paddq xmm3,xmm1 |
| pand mm5,mm4 |
| psllq mm4,23 |
| paddq mm0,mm3 |
| movq mm3,mm1 |
| psrlq mm1,4 |
| pxor mm5,mm6 |
| pxor mm3,mm4 |
| psllq mm4,23 |
| pxor mm3,mm1 |
| movq [48+esp],mm0 |
| paddq mm7,mm5 |
| pxor mm3,mm4 |
| psrlq mm1,23 |
| paddq mm7,[40+esp] |
| pxor mm3,mm1 |
| psllq mm4,4 |
| pxor mm3,mm4 |
| movq mm4,[8+esp] |
| paddq mm3,mm7 |
| movq mm5,mm0 |
| psrlq mm5,28 |
| paddq mm4,mm3 |
| movq mm6,mm0 |
| movq mm7,mm5 |
| psllq mm6,25 |
| movq mm1,[56+esp] |
| psrlq mm5,6 |
| pxor mm7,mm6 |
| psllq mm6,5 |
| pxor mm7,mm5 |
| pxor mm0,mm1 |
| psrlq mm5,5 |
| pxor mm7,mm6 |
| pand mm2,mm0 |
| psllq mm6,6 |
| pxor mm7,mm5 |
| pxor mm2,mm1 |
| pxor mm6,mm7 |
| movq mm5,[16+esp] |
| paddq mm2,mm6 |
| movq mm6,[24+esp] |
| movq mm1,mm4 |
| movq mm7,[edx-104] |
| pxor mm5,mm6 |
| psrlq mm1,14 |
| movq [8+esp],mm4 |
| pand mm5,mm4 |
| psllq mm4,23 |
| paddq mm2,mm3 |
| movq mm3,mm1 |
| psrlq mm1,4 |
| pxor mm5,mm6 |
| pxor mm3,mm4 |
| psllq mm4,23 |
| pxor mm3,mm1 |
| movq [40+esp],mm2 |
| paddq mm7,mm5 |
| pxor mm3,mm4 |
| psrlq mm1,23 |
| paddq mm7,[32+esp] |
| pxor mm3,mm1 |
| psllq mm4,4 |
| pxor mm3,mm4 |
| movq mm4,[esp] |
| paddq mm3,mm7 |
| movq mm5,mm2 |
| psrlq mm5,28 |
| paddq mm4,mm3 |
| movq mm6,mm2 |
| movq mm7,mm5 |
| psllq mm6,25 |
| movq mm1,[48+esp] |
| psrlq mm5,6 |
| pxor mm7,mm6 |
| psllq mm6,5 |
| pxor mm7,mm5 |
| pxor mm2,mm1 |
| psrlq mm5,5 |
| pxor mm7,mm6 |
| pand mm0,mm2 |
| psllq mm6,6 |
| pxor mm7,mm5 |
| pxor mm0,mm1 |
| pxor mm6,mm7 |
| movq mm5,[8+esp] |
| paddq mm0,mm6 |
| movq mm6,[16+esp] |
| movdqa [edx-112],xmm3 |
| movdqa xmm5,xmm7 |
| movdqa xmm3,xmm4 |
| db 102,15,58,15,226,8 |
| movdqa [32+edx],xmm6 |
| db 102,15,58,15,238,8 |
| movdqa xmm6,xmm4 |
| psrlq xmm4,7 |
| paddq xmm2,xmm5 |
| movdqa xmm5,xmm6 |
| psrlq xmm6,1 |
| psllq xmm5,56 |
| pxor xmm4,xmm6 |
| psrlq xmm6,7 |
| pxor xmm4,xmm5 |
| psllq xmm5,7 |
| pxor xmm4,xmm6 |
| movdqa xmm6,xmm1 |
| pxor xmm4,xmm5 |
| movdqa xmm5,xmm1 |
| psrlq xmm6,6 |
| paddq xmm2,xmm4 |
| movdqa xmm4,xmm1 |
| psrlq xmm5,19 |
| psllq xmm4,3 |
| pxor xmm6,xmm5 |
| psrlq xmm5,42 |
| pxor xmm6,xmm4 |
| psllq xmm4,42 |
| pxor xmm6,xmm5 |
| movdqa xmm5,[edx] |
| pxor xmm6,xmm4 |
| movdqa xmm4,[32+ebp] |
| movq mm1,mm4 |
| paddq xmm2,xmm6 |
| movq mm7,[edx-96] |
| pxor mm5,mm6 |
| psrlq mm1,14 |
| movq [esp],mm4 |
| paddq xmm4,xmm2 |
| pand mm5,mm4 |
| psllq mm4,23 |
| paddq mm0,mm3 |
| movq mm3,mm1 |
| psrlq mm1,4 |
| pxor mm5,mm6 |
| pxor mm3,mm4 |
| psllq mm4,23 |
| pxor mm3,mm1 |
| movq [32+esp],mm0 |
| paddq mm7,mm5 |
| pxor mm3,mm4 |
| psrlq mm1,23 |
| paddq mm7,[24+esp] |
| pxor mm3,mm1 |
| psllq mm4,4 |
| pxor mm3,mm4 |
| movq mm4,[56+esp] |
| paddq mm3,mm7 |
| movq mm5,mm0 |
| psrlq mm5,28 |
| paddq mm4,mm3 |
| movq mm6,mm0 |
| movq mm7,mm5 |
| psllq mm6,25 |
| movq mm1,[40+esp] |
| psrlq mm5,6 |
| pxor mm7,mm6 |
| psllq mm6,5 |
| pxor mm7,mm5 |
| pxor mm0,mm1 |
| psrlq mm5,5 |
| pxor mm7,mm6 |
| pand mm2,mm0 |
| psllq mm6,6 |
| pxor mm7,mm5 |
| pxor mm2,mm1 |
| pxor mm6,mm7 |
| movq mm5,[esp] |
| paddq mm2,mm6 |
| movq mm6,[8+esp] |
| movq mm1,mm4 |
| movq mm7,[edx-88] |
| pxor mm5,mm6 |
| psrlq mm1,14 |
| movq [56+esp],mm4 |
| pand mm5,mm4 |
| psllq mm4,23 |
| paddq mm2,mm3 |
| movq mm3,mm1 |
| psrlq mm1,4 |
| pxor mm5,mm6 |
| pxor mm3,mm4 |
| psllq mm4,23 |
| pxor mm3,mm1 |
| movq [24+esp],mm2 |
| paddq mm7,mm5 |
| pxor mm3,mm4 |
| psrlq mm1,23 |
| paddq mm7,[16+esp] |
| pxor mm3,mm1 |
| psllq mm4,4 |
| pxor mm3,mm4 |
| movq mm4,[48+esp] |
| paddq mm3,mm7 |
| movq mm5,mm2 |
| psrlq mm5,28 |
| paddq mm4,mm3 |
| movq mm6,mm2 |
| movq mm7,mm5 |
| psllq mm6,25 |
| movq mm1,[32+esp] |
| psrlq mm5,6 |
| pxor mm7,mm6 |
| psllq mm6,5 |
| pxor mm7,mm5 |
| pxor mm2,mm1 |
| psrlq mm5,5 |
| pxor mm7,mm6 |
| pand mm0,mm2 |
| psllq mm6,6 |
| pxor mm7,mm5 |
| pxor mm0,mm1 |
| pxor mm6,mm7 |
| movq mm5,[56+esp] |
| paddq mm0,mm6 |
| movq mm6,[esp] |
| movdqa [edx-96],xmm4 |
| movdqa xmm6,xmm0 |
| movdqa xmm4,xmm5 |
| db 102,15,58,15,235,8 |
| movdqa [48+edx],xmm7 |
| db 102,15,58,15,247,8 |
| movdqa xmm7,xmm5 |
| psrlq xmm5,7 |
| paddq xmm3,xmm6 |
| movdqa xmm6,xmm7 |
| psrlq xmm7,1 |
| psllq xmm6,56 |
| pxor xmm5,xmm7 |
| psrlq xmm7,7 |
| pxor xmm5,xmm6 |
| psllq xmm6,7 |
| pxor xmm5,xmm7 |
| movdqa xmm7,xmm2 |
| pxor xmm5,xmm6 |
| movdqa xmm6,xmm2 |
| psrlq xmm7,6 |
| paddq xmm3,xmm5 |
| movdqa xmm5,xmm2 |
| psrlq xmm6,19 |
| psllq xmm5,3 |
| pxor xmm7,xmm6 |
| psrlq xmm6,42 |
| pxor xmm7,xmm5 |
| psllq xmm5,42 |
| pxor xmm7,xmm6 |
| movdqa xmm6,[16+edx] |
| pxor xmm7,xmm5 |
| movdqa xmm5,[48+ebp] |
| movq mm1,mm4 |
| paddq xmm3,xmm7 |
| movq mm7,[edx-80] |
| pxor mm5,mm6 |
| psrlq mm1,14 |
| movq [48+esp],mm4 |
| paddq xmm5,xmm3 |
| pand mm5,mm4 |
| psllq mm4,23 |
| paddq mm0,mm3 |
| movq mm3,mm1 |
| psrlq mm1,4 |
| pxor mm5,mm6 |
| pxor mm3,mm4 |
| psllq mm4,23 |
| pxor mm3,mm1 |
| movq [16+esp],mm0 |
| paddq mm7,mm5 |
| pxor mm3,mm4 |
| psrlq mm1,23 |
| paddq mm7,[8+esp] |
| pxor mm3,mm1 |
| psllq mm4,4 |
| pxor mm3,mm4 |
| movq mm4,[40+esp] |
| paddq mm3,mm7 |
| movq mm5,mm0 |
| psrlq mm5,28 |
| paddq mm4,mm3 |
| movq mm6,mm0 |
| movq mm7,mm5 |
| psllq mm6,25 |
| movq mm1,[24+esp] |
| psrlq mm5,6 |
| pxor mm7,mm6 |
| psllq mm6,5 |
| pxor mm7,mm5 |
| pxor mm0,mm1 |
| psrlq mm5,5 |
| pxor mm7,mm6 |
| pand mm2,mm0 |
| psllq mm6,6 |
| pxor mm7,mm5 |
| pxor mm2,mm1 |
| pxor mm6,mm7 |
| movq mm5,[48+esp] |
| paddq mm2,mm6 |
| movq mm6,[56+esp] |
| movq mm1,mm4 |
| movq mm7,[edx-72] |
| pxor mm5,mm6 |
| psrlq mm1,14 |
| movq [40+esp],mm4 |
| pand mm5,mm4 |
| psllq mm4,23 |
| paddq mm2,mm3 |
| movq mm3,mm1 |
| psrlq mm1,4 |
| pxor mm5,mm6 |
| pxor mm3,mm4 |
| psllq mm4,23 |
| pxor mm3,mm1 |
| movq [8+esp],mm2 |
| paddq mm7,mm5 |
| pxor mm3,mm4 |
| psrlq mm1,23 |
| paddq mm7,[esp] |
| pxor mm3,mm1 |
| psllq mm4,4 |
| pxor mm3,mm4 |
| movq mm4,[32+esp] |
| paddq mm3,mm7 |
| movq mm5,mm2 |
| psrlq mm5,28 |
| paddq mm4,mm3 |
| movq mm6,mm2 |
| movq mm7,mm5 |
| psllq mm6,25 |
| movq mm1,[16+esp] |
| psrlq mm5,6 |
| pxor mm7,mm6 |
| psllq mm6,5 |
| pxor mm7,mm5 |
| pxor mm2,mm1 |
| psrlq mm5,5 |
| pxor mm7,mm6 |
| pand mm0,mm2 |
| psllq mm6,6 |
| pxor mm7,mm5 |
| pxor mm0,mm1 |
| pxor mm6,mm7 |
| movq mm5,[40+esp] |
| paddq mm0,mm6 |
| movq mm6,[48+esp] |
| movdqa [edx-80],xmm5 |
| movdqa xmm7,xmm1 |
| movdqa xmm5,xmm6 |
| db 102,15,58,15,244,8 |
| movdqa [edx],xmm0 |
| db 102,15,58,15,248,8 |
| movdqa xmm0,xmm6 |
| psrlq xmm6,7 |
| paddq xmm4,xmm7 |
| movdqa xmm7,xmm0 |
| psrlq xmm0,1 |
| psllq xmm7,56 |
| pxor xmm6,xmm0 |
| psrlq xmm0,7 |
| pxor xmm6,xmm7 |
| psllq xmm7,7 |
| pxor xmm6,xmm0 |
| movdqa xmm0,xmm3 |
| pxor xmm6,xmm7 |
| movdqa xmm7,xmm3 |
| psrlq xmm0,6 |
| paddq xmm4,xmm6 |
| movdqa xmm6,xmm3 |
| psrlq xmm7,19 |
| psllq xmm6,3 |
| pxor xmm0,xmm7 |
| psrlq xmm7,42 |
| pxor xmm0,xmm6 |
| psllq xmm6,42 |
| pxor xmm0,xmm7 |
| movdqa xmm7,[32+edx] |
| pxor xmm0,xmm6 |
| movdqa xmm6,[64+ebp] |
| movq mm1,mm4 |
| paddq xmm4,xmm0 |
| movq mm7,[edx-64] |
| pxor mm5,mm6 |
| psrlq mm1,14 |
| movq [32+esp],mm4 |
| paddq xmm6,xmm4 |
| pand mm5,mm4 |
| psllq mm4,23 |
| paddq mm0,mm3 |
| movq mm3,mm1 |
| psrlq mm1,4 |
| pxor mm5,mm6 |
| pxor mm3,mm4 |
| psllq mm4,23 |
| pxor mm3,mm1 |
| movq [esp],mm0 |
| paddq mm7,mm5 |
| pxor mm3,mm4 |
| psrlq mm1,23 |
| paddq mm7,[56+esp] |
| pxor mm3,mm1 |
| psllq mm4,4 |
| pxor mm3,mm4 |
| movq mm4,[24+esp] |
| paddq mm3,mm7 |
| movq mm5,mm0 |
| psrlq mm5,28 |
| paddq mm4,mm3 |
| movq mm6,mm0 |
| movq mm7,mm5 |
| psllq mm6,25 |
| movq mm1,[8+esp] |
| psrlq mm5,6 |
| pxor mm7,mm6 |
| psllq mm6,5 |
| pxor mm7,mm5 |
| pxor mm0,mm1 |
| psrlq mm5,5 |
| pxor mm7,mm6 |
| pand mm2,mm0 |
| psllq mm6,6 |
| pxor mm7,mm5 |
| pxor mm2,mm1 |
| pxor mm6,mm7 |
| movq mm5,[32+esp] |
| paddq mm2,mm6 |
| movq mm6,[40+esp] |
| movq mm1,mm4 |
| movq mm7,[edx-56] |
| pxor mm5,mm6 |
| psrlq mm1,14 |
| movq [24+esp],mm4 |
| pand mm5,mm4 |
| psllq mm4,23 |
| paddq mm2,mm3 |
| movq mm3,mm1 |
| psrlq mm1,4 |
| pxor mm5,mm6 |
| pxor mm3,mm4 |
| psllq mm4,23 |
| pxor mm3,mm1 |
| movq [56+esp],mm2 |
| paddq mm7,mm5 |
| pxor mm3,mm4 |
| psrlq mm1,23 |
| paddq mm7,[48+esp] |
| pxor mm3,mm1 |
| psllq mm4,4 |
| pxor mm3,mm4 |
| movq mm4,[16+esp] |
| paddq mm3,mm7 |
| movq mm5,mm2 |
| psrlq mm5,28 |
| paddq mm4,mm3 |
| movq mm6,mm2 |
| movq mm7,mm5 |
| psllq mm6,25 |
| movq mm1,[esp] |
| psrlq mm5,6 |
| pxor mm7,mm6 |
| psllq mm6,5 |
| pxor mm7,mm5 |
| pxor mm2,mm1 |
| psrlq mm5,5 |
| pxor mm7,mm6 |
| pand mm0,mm2 |
| psllq mm6,6 |
| pxor mm7,mm5 |
| pxor mm0,mm1 |
| pxor mm6,mm7 |
| movq mm5,[24+esp] |
| paddq mm0,mm6 |
| movq mm6,[32+esp] |
| movdqa [edx-64],xmm6 |
| movdqa xmm0,xmm2 |
| movdqa xmm6,xmm7 |
| db 102,15,58,15,253,8 |
| movdqa [16+edx],xmm1 |
| db 102,15,58,15,193,8 |
| movdqa xmm1,xmm7 |
| psrlq xmm7,7 |
| paddq xmm5,xmm0 |
| movdqa xmm0,xmm1 |
| psrlq xmm1,1 |
| psllq xmm0,56 |
| pxor xmm7,xmm1 |
| psrlq xmm1,7 |
| pxor xmm7,xmm0 |
| psllq xmm0,7 |
| pxor xmm7,xmm1 |
| movdqa xmm1,xmm4 |
| pxor xmm7,xmm0 |
| movdqa xmm0,xmm4 |
| psrlq xmm1,6 |
| paddq xmm5,xmm7 |
| movdqa xmm7,xmm4 |
| psrlq xmm0,19 |
| psllq xmm7,3 |
| pxor xmm1,xmm0 |
| psrlq xmm0,42 |
| pxor xmm1,xmm7 |
| psllq xmm7,42 |
| pxor xmm1,xmm0 |
| movdqa xmm0,[48+edx] |
| pxor xmm1,xmm7 |
| movdqa xmm7,[80+ebp] |
| movq mm1,mm4 |
| paddq xmm5,xmm1 |
| movq mm7,[edx-48] |
| pxor mm5,mm6 |
| psrlq mm1,14 |
| movq [16+esp],mm4 |
| paddq xmm7,xmm5 |
| pand mm5,mm4 |
| psllq mm4,23 |
| paddq mm0,mm3 |
| movq mm3,mm1 |
| psrlq mm1,4 |
| pxor mm5,mm6 |
| pxor mm3,mm4 |
| psllq mm4,23 |
| pxor mm3,mm1 |
| movq [48+esp],mm0 |
| paddq mm7,mm5 |
| pxor mm3,mm4 |
| psrlq mm1,23 |
| paddq mm7,[40+esp] |
| pxor mm3,mm1 |
| psllq mm4,4 |
| pxor mm3,mm4 |
| movq mm4,[8+esp] |
| paddq mm3,mm7 |
| movq mm5,mm0 |
| psrlq mm5,28 |
| paddq mm4,mm3 |
| movq mm6,mm0 |
| movq mm7,mm5 |
| psllq mm6,25 |
| movq mm1,[56+esp] |
| psrlq mm5,6 |
| pxor mm7,mm6 |
| psllq mm6,5 |
| pxor mm7,mm5 |
| pxor mm0,mm1 |
| psrlq mm5,5 |
| pxor mm7,mm6 |
| pand mm2,mm0 |
| psllq mm6,6 |
| pxor mm7,mm5 |
| pxor mm2,mm1 |
| pxor mm6,mm7 |
| movq mm5,[16+esp] |
| paddq mm2,mm6 |
| movq mm6,[24+esp] |
| movq mm1,mm4 |
| movq mm7,[edx-40] |
| pxor mm5,mm6 |
| psrlq mm1,14 |
| movq [8+esp],mm4 |
| pand mm5,mm4 |
| psllq mm4,23 |
| paddq mm2,mm3 |
| movq mm3,mm1 |
| psrlq mm1,4 |
| pxor mm5,mm6 |
| pxor mm3,mm4 |
| psllq mm4,23 |
| pxor mm3,mm1 |
| movq [40+esp],mm2 |
| paddq mm7,mm5 |
| pxor mm3,mm4 |
| psrlq mm1,23 |
| paddq mm7,[32+esp] |
| pxor mm3,mm1 |
| psllq mm4,4 |
| pxor mm3,mm4 |
| movq mm4,[esp] |
| paddq mm3,mm7 |
| movq mm5,mm2 |
| psrlq mm5,28 |
| paddq mm4,mm3 |
| movq mm6,mm2 |
| movq mm7,mm5 |
| psllq mm6,25 |
| movq mm1,[48+esp] |
| psrlq mm5,6 |
| pxor mm7,mm6 |
| psllq mm6,5 |
| pxor mm7,mm5 |
| pxor mm2,mm1 |
| psrlq mm5,5 |
| pxor mm7,mm6 |
| pand mm0,mm2 |
| psllq mm6,6 |
| pxor mm7,mm5 |
| pxor mm0,mm1 |
| pxor mm6,mm7 |
| movq mm5,[8+esp] |
| paddq mm0,mm6 |
| movq mm6,[16+esp] |
| movdqa [edx-48],xmm7 |
| movdqa xmm1,xmm3 |
| movdqa xmm7,xmm0 |
| db 102,15,58,15,198,8 |
| movdqa [32+edx],xmm2 |
| db 102,15,58,15,202,8 |
| movdqa xmm2,xmm0 |
| psrlq xmm0,7 |
| paddq xmm6,xmm1 |
| movdqa xmm1,xmm2 |
| psrlq xmm2,1 |
| psllq xmm1,56 |
| pxor xmm0,xmm2 |
| psrlq xmm2,7 |
| pxor xmm0,xmm1 |
| psllq xmm1,7 |
| pxor xmm0,xmm2 |
| movdqa xmm2,xmm5 |
| pxor xmm0,xmm1 |
| movdqa xmm1,xmm5 |
| psrlq xmm2,6 |
| paddq xmm6,xmm0 |
| movdqa xmm0,xmm5 |
| psrlq xmm1,19 |
| psllq xmm0,3 |
| pxor xmm2,xmm1 |
| psrlq xmm1,42 |
| pxor xmm2,xmm0 |
| psllq xmm0,42 |
| pxor xmm2,xmm1 |
| movdqa xmm1,[edx] |
| pxor xmm2,xmm0 |
| movdqa xmm0,[96+ebp] |
| movq mm1,mm4 |
| paddq xmm6,xmm2 |
| movq mm7,[edx-32] |
| pxor mm5,mm6 |
| psrlq mm1,14 |
| movq [esp],mm4 |
| paddq xmm0,xmm6 |
| pand mm5,mm4 |
| psllq mm4,23 |
| paddq mm0,mm3 |
| movq mm3,mm1 |
| psrlq mm1,4 |
| pxor mm5,mm6 |
| pxor mm3,mm4 |
| psllq mm4,23 |
| pxor mm3,mm1 |
| movq [32+esp],mm0 |
| paddq mm7,mm5 |
| pxor mm3,mm4 |
| psrlq mm1,23 |
| paddq mm7,[24+esp] |
| pxor mm3,mm1 |
| psllq mm4,4 |
| pxor mm3,mm4 |
| movq mm4,[56+esp] |
| paddq mm3,mm7 |
| movq mm5,mm0 |
| psrlq mm5,28 |
| paddq mm4,mm3 |
| movq mm6,mm0 |
| movq mm7,mm5 |
| psllq mm6,25 |
| movq mm1,[40+esp] |
| psrlq mm5,6 |
| pxor mm7,mm6 |
| psllq mm6,5 |
| pxor mm7,mm5 |
| pxor mm0,mm1 |
| psrlq mm5,5 |
| pxor mm7,mm6 |
| pand mm2,mm0 |
| psllq mm6,6 |
| pxor mm7,mm5 |
| pxor mm2,mm1 |
| pxor mm6,mm7 |
| movq mm5,[esp] |
| paddq mm2,mm6 |
| movq mm6,[8+esp] |
| movq mm1,mm4 |
| movq mm7,[edx-24] |
| pxor mm5,mm6 |
| psrlq mm1,14 |
| movq [56+esp],mm4 |
| pand mm5,mm4 |
| psllq mm4,23 |
| paddq mm2,mm3 |
| movq mm3,mm1 |
| psrlq mm1,4 |
| pxor mm5,mm6 |
| pxor mm3,mm4 |
| psllq mm4,23 |
| pxor mm3,mm1 |
| movq [24+esp],mm2 |
| paddq mm7,mm5 |
| pxor mm3,mm4 |
| psrlq mm1,23 |
| paddq mm7,[16+esp] |
| pxor mm3,mm1 |
| psllq mm4,4 |
| pxor mm3,mm4 |
| movq mm4,[48+esp] |
| paddq mm3,mm7 |
| movq mm5,mm2 |
| psrlq mm5,28 |
| paddq mm4,mm3 |
| movq mm6,mm2 |
| movq mm7,mm5 |
| psllq mm6,25 |
| movq mm1,[32+esp] |
| psrlq mm5,6 |
| pxor mm7,mm6 |
| psllq mm6,5 |
| pxor mm7,mm5 |
| pxor mm2,mm1 |
| psrlq mm5,5 |
| pxor mm7,mm6 |
| pand mm0,mm2 |
| psllq mm6,6 |
| pxor mm7,mm5 |
| pxor mm0,mm1 |
| pxor mm6,mm7 |
| movq mm5,[56+esp] |
| paddq mm0,mm6 |
| movq mm6,[esp] |
| movdqa [edx-32],xmm0 |
| movdqa xmm2,xmm4 |
| movdqa xmm0,xmm1 |
| db 102,15,58,15,207,8 |
| movdqa [48+edx],xmm3 |
| db 102,15,58,15,211,8 |
| movdqa xmm3,xmm1 |
| psrlq xmm1,7 |
| paddq xmm7,xmm2 |
| movdqa xmm2,xmm3 |
| psrlq xmm3,1 |
| psllq xmm2,56 |
| pxor xmm1,xmm3 |
| psrlq xmm3,7 |
| pxor xmm1,xmm2 |
| psllq xmm2,7 |
| pxor xmm1,xmm3 |
| movdqa xmm3,xmm6 |
| pxor xmm1,xmm2 |
| movdqa xmm2,xmm6 |
| psrlq xmm3,6 |
| paddq xmm7,xmm1 |
| movdqa xmm1,xmm6 |
| psrlq xmm2,19 |
| psllq xmm1,3 |
| pxor xmm3,xmm2 |
| psrlq xmm2,42 |
| pxor xmm3,xmm1 |
| psllq xmm1,42 |
| pxor xmm3,xmm2 |
| movdqa xmm2,[16+edx] |
| pxor xmm3,xmm1 |
| movdqa xmm1,[112+ebp] |
| movq mm1,mm4 |
| paddq xmm7,xmm3 |
| movq mm7,[edx-16] |
| pxor mm5,mm6 |
| psrlq mm1,14 |
| movq [48+esp],mm4 |
| paddq xmm1,xmm7 |
| pand mm5,mm4 |
| psllq mm4,23 |
| paddq mm0,mm3 |
| movq mm3,mm1 |
| psrlq mm1,4 |
| pxor mm5,mm6 |
| pxor mm3,mm4 |
| psllq mm4,23 |
| pxor mm3,mm1 |
| movq [16+esp],mm0 |
| paddq mm7,mm5 |
| pxor mm3,mm4 |
| psrlq mm1,23 |
| paddq mm7,[8+esp] |
| pxor mm3,mm1 |
| psllq mm4,4 |
| pxor mm3,mm4 |
| movq mm4,[40+esp] |
| paddq mm3,mm7 |
| movq mm5,mm0 |
| psrlq mm5,28 |
| paddq mm4,mm3 |
| movq mm6,mm0 |
| movq mm7,mm5 |
| psllq mm6,25 |
| movq mm1,[24+esp] |
| psrlq mm5,6 |
| pxor mm7,mm6 |
| psllq mm6,5 |
| pxor mm7,mm5 |
| pxor mm0,mm1 |
| psrlq mm5,5 |
| pxor mm7,mm6 |
| pand mm2,mm0 |
| psllq mm6,6 |
| pxor mm7,mm5 |
| pxor mm2,mm1 |
| pxor mm6,mm7 |
| movq mm5,[48+esp] |
| paddq mm2,mm6 |
| movq mm6,[56+esp] |
| movq mm1,mm4 |
| movq mm7,[edx-8] |
| pxor mm5,mm6 |
| psrlq mm1,14 |
| movq [40+esp],mm4 |
| pand mm5,mm4 |
| psllq mm4,23 |
| paddq mm2,mm3 |
| movq mm3,mm1 |
| psrlq mm1,4 |
| pxor mm5,mm6 |
| pxor mm3,mm4 |
| psllq mm4,23 |
| pxor mm3,mm1 |
| movq [8+esp],mm2 |
| paddq mm7,mm5 |
| pxor mm3,mm4 |
| psrlq mm1,23 |
| paddq mm7,[esp] |
| pxor mm3,mm1 |
| psllq mm4,4 |
| pxor mm3,mm4 |
| movq mm4,[32+esp] |
| paddq mm3,mm7 |
| movq mm5,mm2 |
| psrlq mm5,28 |
| paddq mm4,mm3 |
| movq mm6,mm2 |
| movq mm7,mm5 |
| psllq mm6,25 |
| movq mm1,[16+esp] |
| psrlq mm5,6 |
| pxor mm7,mm6 |
| psllq mm6,5 |
| pxor mm7,mm5 |
| pxor mm2,mm1 |
| psrlq mm5,5 |
| pxor mm7,mm6 |
| pand mm0,mm2 |
| psllq mm6,6 |
| pxor mm7,mm5 |
| pxor mm0,mm1 |
| pxor mm6,mm7 |
| movq mm5,[40+esp] |
| paddq mm0,mm6 |
| movq mm6,[48+esp] |
| movdqa [edx-16],xmm1 |
| lea ebp,[128+ebp] |
| dec ecx |
| jnz NEAR L$00800_47_ssse3 |
| movdqa xmm1,[ebp] |
| lea ebp,[ebp-640] |
| movdqu xmm0,[ebx] |
| db 102,15,56,0,193 |
| movdqa xmm3,[ebp] |
| movdqa xmm2,xmm1 |
| movdqu xmm1,[16+ebx] |
| paddq xmm3,xmm0 |
| db 102,15,56,0,202 |
| movq mm1,mm4 |
| movq mm7,[edx-128] |
| pxor mm5,mm6 |
| psrlq mm1,14 |
| movq [32+esp],mm4 |
| pand mm5,mm4 |
| psllq mm4,23 |
| paddq mm0,mm3 |
| movq mm3,mm1 |
| psrlq mm1,4 |
| pxor mm5,mm6 |
| pxor mm3,mm4 |
| psllq mm4,23 |
| pxor mm3,mm1 |
| movq [esp],mm0 |
| paddq mm7,mm5 |
| pxor mm3,mm4 |
| psrlq mm1,23 |
| paddq mm7,[56+esp] |
| pxor mm3,mm1 |
| psllq mm4,4 |
| pxor mm3,mm4 |
| movq mm4,[24+esp] |
| paddq mm3,mm7 |
| movq mm5,mm0 |
| psrlq mm5,28 |
| paddq mm4,mm3 |
| movq mm6,mm0 |
| movq mm7,mm5 |
| psllq mm6,25 |
| movq mm1,[8+esp] |
| psrlq mm5,6 |
| pxor mm7,mm6 |
| psllq mm6,5 |
| pxor mm7,mm5 |
| pxor mm0,mm1 |
| psrlq mm5,5 |
| pxor mm7,mm6 |
| pand mm2,mm0 |
| psllq mm6,6 |
| pxor mm7,mm5 |
| pxor mm2,mm1 |
| pxor mm6,mm7 |
| movq mm5,[32+esp] |
| paddq mm2,mm6 |
| movq mm6,[40+esp] |
| movq mm1,mm4 |
| movq mm7,[edx-120] |
| pxor mm5,mm6 |
| psrlq mm1,14 |
| movq [24+esp],mm4 |
| pand mm5,mm4 |
| psllq mm4,23 |
| paddq mm2,mm3 |
| movq mm3,mm1 |
| psrlq mm1,4 |
| pxor mm5,mm6 |
| pxor mm3,mm4 |
| psllq mm4,23 |
| pxor mm3,mm1 |
| movq [56+esp],mm2 |
| paddq mm7,mm5 |
| pxor mm3,mm4 |
| psrlq mm1,23 |
| paddq mm7,[48+esp] |
| pxor mm3,mm1 |
| psllq mm4,4 |
| pxor mm3,mm4 |
| movq mm4,[16+esp] |
| paddq mm3,mm7 |
| movq mm5,mm2 |
| psrlq mm5,28 |
| paddq mm4,mm3 |
| movq mm6,mm2 |
| movq mm7,mm5 |
| psllq mm6,25 |
| movq mm1,[esp] |
| psrlq mm5,6 |
| pxor mm7,mm6 |
| psllq mm6,5 |
| pxor mm7,mm5 |
| pxor mm2,mm1 |
| psrlq mm5,5 |
| pxor mm7,mm6 |
| pand mm0,mm2 |
| psllq mm6,6 |
| pxor mm7,mm5 |
| pxor mm0,mm1 |
| pxor mm6,mm7 |
| movq mm5,[24+esp] |
| paddq mm0,mm6 |
| movq mm6,[32+esp] |
| movdqa [edx-128],xmm3 |
| movdqa xmm4,[16+ebp] |
| movdqa xmm3,xmm2 |
| movdqu xmm2,[32+ebx] |
| paddq xmm4,xmm1 |
| db 102,15,56,0,211 |
| movq mm1,mm4 |
| movq mm7,[edx-112] |
| pxor mm5,mm6 |
| psrlq mm1,14 |
| movq [16+esp],mm4 |
| pand mm5,mm4 |
| psllq mm4,23 |
| paddq mm0,mm3 |
| movq mm3,mm1 |
| psrlq mm1,4 |
| pxor mm5,mm6 |
| pxor mm3,mm4 |
| psllq mm4,23 |
| pxor mm3,mm1 |
| movq [48+esp],mm0 |
| paddq mm7,mm5 |
| pxor mm3,mm4 |
| psrlq mm1,23 |
| paddq mm7,[40+esp] |
| pxor mm3,mm1 |
| psllq mm4,4 |
| pxor mm3,mm4 |
| movq mm4,[8+esp] |
| paddq mm3,mm7 |
| movq mm5,mm0 |
| psrlq mm5,28 |
| paddq mm4,mm3 |
| movq mm6,mm0 |
| movq mm7,mm5 |
| psllq mm6,25 |
| movq mm1,[56+esp] |
| psrlq mm5,6 |
| pxor mm7,mm6 |
| psllq mm6,5 |
| pxor mm7,mm5 |
| pxor mm0,mm1 |
| psrlq mm5,5 |
| pxor mm7,mm6 |
| pand mm2,mm0 |
| psllq mm6,6 |
| pxor mm7,mm5 |
| pxor mm2,mm1 |
| pxor mm6,mm7 |
| movq mm5,[16+esp] |
| paddq mm2,mm6 |
| movq mm6,[24+esp] |
| movq mm1,mm4 |
| movq mm7,[edx-104] |
| pxor mm5,mm6 |
| psrlq mm1,14 |
| movq [8+esp],mm4 |
| pand mm5,mm4 |
| psllq mm4,23 |
| paddq mm2,mm3 |
| movq mm3,mm1 |
| psrlq mm1,4 |
| pxor mm5,mm6 |
| pxor mm3,mm4 |
| psllq mm4,23 |
| pxor mm3,mm1 |
| movq [40+esp],mm2 |
| paddq mm7,mm5 |
| pxor mm3,mm4 |
| psrlq mm1,23 |
| paddq mm7,[32+esp] |
| pxor mm3,mm1 |
| psllq mm4,4 |
| pxor mm3,mm4 |
| movq mm4,[esp] |
| paddq mm3,mm7 |
| movq mm5,mm2 |
| psrlq mm5,28 |
| paddq mm4,mm3 |
| movq mm6,mm2 |
| movq mm7,mm5 |
| psllq mm6,25 |
| movq mm1,[48+esp] |
| psrlq mm5,6 |
| pxor mm7,mm6 |
| psllq mm6,5 |
| pxor mm7,mm5 |
| pxor mm2,mm1 |
| psrlq mm5,5 |
| pxor mm7,mm6 |
| pand mm0,mm2 |
| psllq mm6,6 |
| pxor mm7,mm5 |
| pxor mm0,mm1 |
| pxor mm6,mm7 |
| movq mm5,[8+esp] |
| paddq mm0,mm6 |
| movq mm6,[16+esp] |
| movdqa [edx-112],xmm4 |
| movdqa xmm5,[32+ebp] |
| movdqa xmm4,xmm3 |
| movdqu xmm3,[48+ebx] |
| paddq xmm5,xmm2 |
| db 102,15,56,0,220 |
| movq mm1,mm4 |
| movq mm7,[edx-96] |
| pxor mm5,mm6 |
| psrlq mm1,14 |
| movq [esp],mm4 |
| pand mm5,mm4 |
| psllq mm4,23 |
| paddq mm0,mm3 |
| movq mm3,mm1 |
| psrlq mm1,4 |
| pxor mm5,mm6 |
| pxor mm3,mm4 |
| psllq mm4,23 |
| pxor mm3,mm1 |
| movq [32+esp],mm0 |
| paddq mm7,mm5 |
| pxor mm3,mm4 |
| psrlq mm1,23 |
| paddq mm7,[24+esp] |
| pxor mm3,mm1 |
| psllq mm4,4 |
| pxor mm3,mm4 |
| movq mm4,[56+esp] |
| paddq mm3,mm7 |
| movq mm5,mm0 |
| psrlq mm5,28 |
| paddq mm4,mm3 |
| movq mm6,mm0 |
| movq mm7,mm5 |
| psllq mm6,25 |
| movq mm1,[40+esp] |
| psrlq mm5,6 |
| pxor mm7,mm6 |
| psllq mm6,5 |
| pxor mm7,mm5 |
| pxor mm0,mm1 |
| psrlq mm5,5 |
| pxor mm7,mm6 |
| pand mm2,mm0 |
| psllq mm6,6 |
| pxor mm7,mm5 |
| pxor mm2,mm1 |
| pxor mm6,mm7 |
| movq mm5,[esp] |
| paddq mm2,mm6 |
| movq mm6,[8+esp] |
| movq mm1,mm4 |
| movq mm7,[edx-88] |
| pxor mm5,mm6 |
| psrlq mm1,14 |
| movq [56+esp],mm4 |
| pand mm5,mm4 |
| psllq mm4,23 |
| paddq mm2,mm3 |
| movq mm3,mm1 |
| psrlq mm1,4 |
| pxor mm5,mm6 |
| pxor mm3,mm4 |
| psllq mm4,23 |
| pxor mm3,mm1 |
| movq [24+esp],mm2 |
| paddq mm7,mm5 |
| pxor mm3,mm4 |
| psrlq mm1,23 |
| paddq mm7,[16+esp] |
| pxor mm3,mm1 |
| psllq mm4,4 |
| pxor mm3,mm4 |
| movq mm4,[48+esp] |
| paddq mm3,mm7 |
| movq mm5,mm2 |
| psrlq mm5,28 |
| paddq mm4,mm3 |
| movq mm6,mm2 |
| movq mm7,mm5 |
| psllq mm6,25 |
| movq mm1,[32+esp] |
| psrlq mm5,6 |
| pxor mm7,mm6 |
| psllq mm6,5 |
| pxor mm7,mm5 |
| pxor mm2,mm1 |
| psrlq mm5,5 |
| pxor mm7,mm6 |
| pand mm0,mm2 |
| psllq mm6,6 |
| pxor mm7,mm5 |
| pxor mm0,mm1 |
| pxor mm6,mm7 |
| movq mm5,[56+esp] |
| paddq mm0,mm6 |
| movq mm6,[esp] |
| movdqa [edx-96],xmm5 |
| movdqa xmm6,[48+ebp] |
| movdqa xmm5,xmm4 |
| movdqu xmm4,[64+ebx] |
| paddq xmm6,xmm3 |
| db 102,15,56,0,229 |
| movq mm1,mm4 |
| movq mm7,[edx-80] |
| pxor mm5,mm6 |
| psrlq mm1,14 |
| movq [48+esp],mm4 |
| pand mm5,mm4 |
| psllq mm4,23 |
| paddq mm0,mm3 |
| movq mm3,mm1 |
| psrlq mm1,4 |
| pxor mm5,mm6 |
| pxor mm3,mm4 |
| psllq mm4,23 |
| pxor mm3,mm1 |
| movq [16+esp],mm0 |
| paddq mm7,mm5 |
| pxor mm3,mm4 |
| psrlq mm1,23 |
| paddq mm7,[8+esp] |
| pxor mm3,mm1 |
| psllq mm4,4 |
| pxor mm3,mm4 |
| movq mm4,[40+esp] |
| paddq mm3,mm7 |
| movq mm5,mm0 |
| psrlq mm5,28 |
| paddq mm4,mm3 |
| movq mm6,mm0 |
| movq mm7,mm5 |
| psllq mm6,25 |
| movq mm1,[24+esp] |
| psrlq mm5,6 |
| pxor mm7,mm6 |
| psllq mm6,5 |
| pxor mm7,mm5 |
| pxor mm0,mm1 |
| psrlq mm5,5 |
| pxor mm7,mm6 |
| pand mm2,mm0 |
| psllq mm6,6 |
| pxor mm7,mm5 |
| pxor mm2,mm1 |
| pxor mm6,mm7 |
| movq mm5,[48+esp] |
| paddq mm2,mm6 |
| movq mm6,[56+esp] |
| movq mm1,mm4 |
| movq mm7,[edx-72] |
| pxor mm5,mm6 |
| psrlq mm1,14 |
| movq [40+esp],mm4 |
| pand mm5,mm4 |
| psllq mm4,23 |
| paddq mm2,mm3 |
| movq mm3,mm1 |
| psrlq mm1,4 |
| pxor mm5,mm6 |
| pxor mm3,mm4 |
| psllq mm4,23 |
| pxor mm3,mm1 |
| movq [8+esp],mm2 |
| paddq mm7,mm5 |
| pxor mm3,mm4 |
| psrlq mm1,23 |
| paddq mm7,[esp] |
| pxor mm3,mm1 |
| psllq mm4,4 |
| pxor mm3,mm4 |
| movq mm4,[32+esp] |
| paddq mm3,mm7 |
| movq mm5,mm2 |
| psrlq mm5,28 |
| paddq mm4,mm3 |
| movq mm6,mm2 |
| movq mm7,mm5 |
| psllq mm6,25 |
| movq mm1,[16+esp] |
| psrlq mm5,6 |
| pxor mm7,mm6 |
| psllq mm6,5 |
| pxor mm7,mm5 |
| pxor mm2,mm1 |
| psrlq mm5,5 |
| pxor mm7,mm6 |
| pand mm0,mm2 |
| psllq mm6,6 |
| pxor mm7,mm5 |
| pxor mm0,mm1 |
| pxor mm6,mm7 |
| movq mm5,[40+esp] |
| paddq mm0,mm6 |
| movq mm6,[48+esp] |
| movdqa [edx-80],xmm6 |
| movdqa xmm7,[64+ebp] |
| movdqa xmm6,xmm5 |
| movdqu xmm5,[80+ebx] |
| paddq xmm7,xmm4 |
| db 102,15,56,0,238 |
| movq mm1,mm4 |
| movq mm7,[edx-64] |
| pxor mm5,mm6 |
| psrlq mm1,14 |
| movq [32+esp],mm4 |
| pand mm5,mm4 |
| psllq mm4,23 |
| paddq mm0,mm3 |
| movq mm3,mm1 |
| psrlq mm1,4 |
| pxor mm5,mm6 |
| pxor mm3,mm4 |
| psllq mm4,23 |
| pxor mm3,mm1 |
| movq [esp],mm0 |
| paddq mm7,mm5 |
| pxor mm3,mm4 |
| psrlq mm1,23 |
| paddq mm7,[56+esp] |
| pxor mm3,mm1 |
| psllq mm4,4 |
| pxor mm3,mm4 |
| movq mm4,[24+esp] |
| paddq mm3,mm7 |
| movq mm5,mm0 |
| psrlq mm5,28 |
| paddq mm4,mm3 |
| movq mm6,mm0 |
| movq mm7,mm5 |
| psllq mm6,25 |
| movq mm1,[8+esp] |
| psrlq mm5,6 |
| pxor mm7,mm6 |
| psllq mm6,5 |
| pxor mm7,mm5 |
| pxor mm0,mm1 |
| psrlq mm5,5 |
| pxor mm7,mm6 |
| pand mm2,mm0 |
| psllq mm6,6 |
| pxor mm7,mm5 |
| pxor mm2,mm1 |
| pxor mm6,mm7 |
| movq mm5,[32+esp] |
| paddq mm2,mm6 |
| movq mm6,[40+esp] |
| movq mm1,mm4 |
| movq mm7,[edx-56] |
| pxor mm5,mm6 |
| psrlq mm1,14 |
| movq [24+esp],mm4 |
| pand mm5,mm4 |
| psllq mm4,23 |
| paddq mm2,mm3 |
| movq mm3,mm1 |
| psrlq mm1,4 |
| pxor mm5,mm6 |
| pxor mm3,mm4 |
| psllq mm4,23 |
| pxor mm3,mm1 |
| movq [56+esp],mm2 |
| paddq mm7,mm5 |
| pxor mm3,mm4 |
| psrlq mm1,23 |
| paddq mm7,[48+esp] |
| pxor mm3,mm1 |
| psllq mm4,4 |
| pxor mm3,mm4 |
| movq mm4,[16+esp] |
| paddq mm3,mm7 |
| movq mm5,mm2 |
| psrlq mm5,28 |
| paddq mm4,mm3 |
| movq mm6,mm2 |
| movq mm7,mm5 |
| psllq mm6,25 |
| movq mm1,[esp] |
| psrlq mm5,6 |
| pxor mm7,mm6 |
| psllq mm6,5 |
| pxor mm7,mm5 |
| pxor mm2,mm1 |
| psrlq mm5,5 |
| pxor mm7,mm6 |
| pand mm0,mm2 |
| psllq mm6,6 |
| pxor mm7,mm5 |
| pxor mm0,mm1 |
| pxor mm6,mm7 |
| movq mm5,[24+esp] |
| paddq mm0,mm6 |
| movq mm6,[32+esp] |
| movdqa [edx-64],xmm7 |
| movdqa [edx],xmm0 |
| movdqa xmm0,[80+ebp] |
| movdqa xmm7,xmm6 |
| movdqu xmm6,[96+ebx] |
| paddq xmm0,xmm5 |
| db 102,15,56,0,247 |
| movq mm1,mm4 |
| movq mm7,[edx-48] |
| pxor mm5,mm6 |
| psrlq mm1,14 |
| movq [16+esp],mm4 |
| pand mm5,mm4 |
| psllq mm4,23 |
| paddq mm0,mm3 |
| movq mm3,mm1 |
| psrlq mm1,4 |
| pxor mm5,mm6 |
| pxor mm3,mm4 |
| psllq mm4,23 |
| pxor mm3,mm1 |
| movq [48+esp],mm0 |
| paddq mm7,mm5 |
| pxor mm3,mm4 |
| psrlq mm1,23 |
| paddq mm7,[40+esp] |
| pxor mm3,mm1 |
| psllq mm4,4 |
| pxor mm3,mm4 |
| movq mm4,[8+esp] |
| paddq mm3,mm7 |
| movq mm5,mm0 |
| psrlq mm5,28 |
| paddq mm4,mm3 |
| movq mm6,mm0 |
| movq mm7,mm5 |
| psllq mm6,25 |
| movq mm1,[56+esp] |
| psrlq mm5,6 |
| pxor mm7,mm6 |
| psllq mm6,5 |
| pxor mm7,mm5 |
| pxor mm0,mm1 |
| psrlq mm5,5 |
| pxor mm7,mm6 |
| pand mm2,mm0 |
| psllq mm6,6 |
| pxor mm7,mm5 |
| pxor mm2,mm1 |
| pxor mm6,mm7 |
| movq mm5,[16+esp] |
| paddq mm2,mm6 |
| movq mm6,[24+esp] |
| movq mm1,mm4 |
| movq mm7,[edx-40] |
| pxor mm5,mm6 |
| psrlq mm1,14 |
| movq [8+esp],mm4 |
| pand mm5,mm4 |
| psllq mm4,23 |
| paddq mm2,mm3 |
| movq mm3,mm1 |
| psrlq mm1,4 |
| pxor mm5,mm6 |
| pxor mm3,mm4 |
| psllq mm4,23 |
| pxor mm3,mm1 |
| movq [40+esp],mm2 |
| paddq mm7,mm5 |
| pxor mm3,mm4 |
| psrlq mm1,23 |
| paddq mm7,[32+esp] |
| pxor mm3,mm1 |
| psllq mm4,4 |
| pxor mm3,mm4 |
| movq mm4,[esp] |
| paddq mm3,mm7 |
| movq mm5,mm2 |
| psrlq mm5,28 |
| paddq mm4,mm3 |
| movq mm6,mm2 |
| movq mm7,mm5 |
| psllq mm6,25 |
| movq mm1,[48+esp] |
| psrlq mm5,6 |
| pxor mm7,mm6 |
| psllq mm6,5 |
| pxor mm7,mm5 |
| pxor mm2,mm1 |
| psrlq mm5,5 |
| pxor mm7,mm6 |
| pand mm0,mm2 |
| psllq mm6,6 |
| pxor mm7,mm5 |
| pxor mm0,mm1 |
| pxor mm6,mm7 |
| movq mm5,[8+esp] |
| paddq mm0,mm6 |
| movq mm6,[16+esp] |
| movdqa [edx-48],xmm0 |
| movdqa [16+edx],xmm1 |
| movdqa xmm1,[96+ebp] |
| movdqa xmm0,xmm7 |
| movdqu xmm7,[112+ebx] |
| paddq xmm1,xmm6 |
| db 102,15,56,0,248 |
| movq mm1,mm4 |
| movq mm7,[edx-32] |
| pxor mm5,mm6 |
| psrlq mm1,14 |
| movq [esp],mm4 |
| pand mm5,mm4 |
| psllq mm4,23 |
| paddq mm0,mm3 |
| movq mm3,mm1 |
| psrlq mm1,4 |
| pxor mm5,mm6 |
| pxor mm3,mm4 |
| psllq mm4,23 |
| pxor mm3,mm1 |
| movq [32+esp],mm0 |
| paddq mm7,mm5 |
| pxor mm3,mm4 |
| psrlq mm1,23 |
| paddq mm7,[24+esp] |
| pxor mm3,mm1 |
| psllq mm4,4 |
| pxor mm3,mm4 |
| movq mm4,[56+esp] |
| paddq mm3,mm7 |
| movq mm5,mm0 |
| psrlq mm5,28 |
| paddq mm4,mm3 |
| movq mm6,mm0 |
| movq mm7,mm5 |
| psllq mm6,25 |
| movq mm1,[40+esp] |
| psrlq mm5,6 |
| pxor mm7,mm6 |
| psllq mm6,5 |
| pxor mm7,mm5 |
| pxor mm0,mm1 |
| psrlq mm5,5 |
| pxor mm7,mm6 |
| pand mm2,mm0 |
| psllq mm6,6 |
| pxor mm7,mm5 |
| pxor mm2,mm1 |
| pxor mm6,mm7 |
| movq mm5,[esp] |
| paddq mm2,mm6 |
| movq mm6,[8+esp] |
| movq mm1,mm4 |
| movq mm7,[edx-24] |
| pxor mm5,mm6 |
| psrlq mm1,14 |
| movq [56+esp],mm4 |
| pand mm5,mm4 |
| psllq mm4,23 |
| paddq mm2,mm3 |
| movq mm3,mm1 |
| psrlq mm1,4 |
| pxor mm5,mm6 |
| pxor mm3,mm4 |
| psllq mm4,23 |
| pxor mm3,mm1 |
| movq [24+esp],mm2 |
| paddq mm7,mm5 |
| pxor mm3,mm4 |
| psrlq mm1,23 |
| paddq mm7,[16+esp] |
| pxor mm3,mm1 |
| psllq mm4,4 |
| pxor mm3,mm4 |
| movq mm4,[48+esp] |
| paddq mm3,mm7 |
| movq mm5,mm2 |
| psrlq mm5,28 |
| paddq mm4,mm3 |
| movq mm6,mm2 |
| movq mm7,mm5 |
| psllq mm6,25 |
| movq mm1,[32+esp] |
| psrlq mm5,6 |
| pxor mm7,mm6 |
| psllq mm6,5 |
| pxor mm7,mm5 |
| pxor mm2,mm1 |
| psrlq mm5,5 |
| pxor mm7,mm6 |
| pand mm0,mm2 |
| psllq mm6,6 |
| pxor mm7,mm5 |
| pxor mm0,mm1 |
| pxor mm6,mm7 |
| movq mm5,[56+esp] |
| paddq mm0,mm6 |
| movq mm6,[esp] |
| movdqa [edx-32],xmm1 |
| movdqa [32+edx],xmm2 |
| movdqa xmm2,[112+ebp] |
| movdqa xmm0,[edx] |
| paddq xmm2,xmm7 |
| movq mm1,mm4 |
| movq mm7,[edx-16] |
| pxor mm5,mm6 |
| psrlq mm1,14 |
| movq [48+esp],mm4 |
| pand mm5,mm4 |
| psllq mm4,23 |
| paddq mm0,mm3 |
| movq mm3,mm1 |
| psrlq mm1,4 |
| pxor mm5,mm6 |
| pxor mm3,mm4 |
| psllq mm4,23 |
| pxor mm3,mm1 |
| movq [16+esp],mm0 |
| paddq mm7,mm5 |
| pxor mm3,mm4 |
| psrlq mm1,23 |
| paddq mm7,[8+esp] |
| pxor mm3,mm1 |
| psllq mm4,4 |
| pxor mm3,mm4 |
| movq mm4,[40+esp] |
| paddq mm3,mm7 |
| movq mm5,mm0 |
| psrlq mm5,28 |
| paddq mm4,mm3 |
| movq mm6,mm0 |
| movq mm7,mm5 |
| psllq mm6,25 |
| movq mm1,[24+esp] |
| psrlq mm5,6 |
| pxor mm7,mm6 |
| psllq mm6,5 |
| pxor mm7,mm5 |
| pxor mm0,mm1 |
| psrlq mm5,5 |
| pxor mm7,mm6 |
| pand mm2,mm0 |
| psllq mm6,6 |
| pxor mm7,mm5 |
| pxor mm2,mm1 |
| pxor mm6,mm7 |
| movq mm5,[48+esp] |
| paddq mm2,mm6 |
| movq mm6,[56+esp] |
| movq mm1,mm4 |
| movq mm7,[edx-8] |
| pxor mm5,mm6 |
| psrlq mm1,14 |
| movq [40+esp],mm4 |
| pand mm5,mm4 |
| psllq mm4,23 |
| paddq mm2,mm3 |
| movq mm3,mm1 |
| psrlq mm1,4 |
| pxor mm5,mm6 |
| pxor mm3,mm4 |
| psllq mm4,23 |
| pxor mm3,mm1 |
| movq [8+esp],mm2 |
| paddq mm7,mm5 |
| pxor mm3,mm4 |
| psrlq mm1,23 |
| paddq mm7,[esp] |
| pxor mm3,mm1 |
| psllq mm4,4 |
| pxor mm3,mm4 |
| movq mm4,[32+esp] |
| paddq mm3,mm7 |
| movq mm5,mm2 |
| psrlq mm5,28 |
| paddq mm4,mm3 |
| movq mm6,mm2 |
| movq mm7,mm5 |
| psllq mm6,25 |
| movq mm1,[16+esp] |
| psrlq mm5,6 |
| pxor mm7,mm6 |
| psllq mm6,5 |
| pxor mm7,mm5 |
| pxor mm2,mm1 |
| psrlq mm5,5 |
| pxor mm7,mm6 |
| pand mm0,mm2 |
| psllq mm6,6 |
| pxor mm7,mm5 |
| pxor mm0,mm1 |
| pxor mm6,mm7 |
| movq mm5,[40+esp] |
| paddq mm0,mm6 |
| movq mm6,[48+esp] |
| movdqa [edx-16],xmm2 |
| movq mm1,[8+esp] |
| paddq mm0,mm3 |
| movq mm3,[24+esp] |
| movq mm7,[56+esp] |
| pxor mm2,mm1 |
| paddq mm0,[esi] |
| paddq mm1,[8+esi] |
| paddq mm2,[16+esi] |
| paddq mm3,[24+esi] |
| paddq mm4,[32+esi] |
| paddq mm5,[40+esi] |
| paddq mm6,[48+esi] |
| paddq mm7,[56+esi] |
| movq [esi],mm0 |
| movq [8+esi],mm1 |
| movq [16+esi],mm2 |
| movq [24+esi],mm3 |
| movq [32+esi],mm4 |
| movq [40+esi],mm5 |
| movq [48+esi],mm6 |
| movq [56+esi],mm7 |
| cmp edi,eax |
| jb NEAR L$007loop_ssse3 |
| mov esp,DWORD [76+edx] |
| emms |
| pop edi |
| pop esi |
| pop ebx |
| pop ebp |
| ret |
| align 16 |
| L$002loop_x86: |
| mov eax,DWORD [edi] |
| mov ebx,DWORD [4+edi] |
| mov ecx,DWORD [8+edi] |
| mov edx,DWORD [12+edi] |
| bswap eax |
| bswap ebx |
| bswap ecx |
| bswap edx |
| push eax |
| push ebx |
| push ecx |
| push edx |
| mov eax,DWORD [16+edi] |
| mov ebx,DWORD [20+edi] |
| mov ecx,DWORD [24+edi] |
| mov edx,DWORD [28+edi] |
| bswap eax |
| bswap ebx |
| bswap ecx |
| bswap edx |
| push eax |
| push ebx |
| push ecx |
| push edx |
| mov eax,DWORD [32+edi] |
| mov ebx,DWORD [36+edi] |
| mov ecx,DWORD [40+edi] |
| mov edx,DWORD [44+edi] |
| bswap eax |
| bswap ebx |
| bswap ecx |
| bswap edx |
| push eax |
| push ebx |
| push ecx |
| push edx |
| mov eax,DWORD [48+edi] |
| mov ebx,DWORD [52+edi] |
| mov ecx,DWORD [56+edi] |
| mov edx,DWORD [60+edi] |
| bswap eax |
| bswap ebx |
| bswap ecx |
| bswap edx |
| push eax |
| push ebx |
| push ecx |
| push edx |
| mov eax,DWORD [64+edi] |
| mov ebx,DWORD [68+edi] |
| mov ecx,DWORD [72+edi] |
| mov edx,DWORD [76+edi] |
| bswap eax |
| bswap ebx |
| bswap ecx |
| bswap edx |
| push eax |
| push ebx |
| push ecx |
| push edx |
| mov eax,DWORD [80+edi] |
| mov ebx,DWORD [84+edi] |
| mov ecx,DWORD [88+edi] |
| mov edx,DWORD [92+edi] |
| bswap eax |
| bswap ebx |
| bswap ecx |
| bswap edx |
| push eax |
| push ebx |
| push ecx |
| push edx |
| mov eax,DWORD [96+edi] |
| mov ebx,DWORD [100+edi] |
| mov ecx,DWORD [104+edi] |
| mov edx,DWORD [108+edi] |
| bswap eax |
| bswap ebx |
| bswap ecx |
| bswap edx |
| push eax |
| push ebx |
| push ecx |
| push edx |
| mov eax,DWORD [112+edi] |
| mov ebx,DWORD [116+edi] |
| mov ecx,DWORD [120+edi] |
| mov edx,DWORD [124+edi] |
| bswap eax |
| bswap ebx |
| bswap ecx |
| bswap edx |
| push eax |
| push ebx |
| push ecx |
| push edx |
| add edi,128 |
| sub esp,72 |
| mov DWORD [204+esp],edi |
| lea edi,[8+esp] |
| mov ecx,16 |
| dd 2784229001 |
| align 16 |
| L$00900_15_x86: |
| mov ecx,DWORD [40+esp] |
| mov edx,DWORD [44+esp] |
| mov esi,ecx |
| shr ecx,9 |
| mov edi,edx |
| shr edx,9 |
| mov ebx,ecx |
| shl esi,14 |
| mov eax,edx |
| shl edi,14 |
| xor ebx,esi |
| shr ecx,5 |
| xor eax,edi |
| shr edx,5 |
| xor eax,ecx |
| shl esi,4 |
| xor ebx,edx |
| shl edi,4 |
| xor ebx,esi |
| shr ecx,4 |
| xor eax,edi |
| shr edx,4 |
| xor eax,ecx |
| shl esi,5 |
| xor ebx,edx |
| shl edi,5 |
| xor eax,esi |
| xor ebx,edi |
| mov ecx,DWORD [48+esp] |
| mov edx,DWORD [52+esp] |
| mov esi,DWORD [56+esp] |
| mov edi,DWORD [60+esp] |
| add eax,DWORD [64+esp] |
| adc ebx,DWORD [68+esp] |
| xor ecx,esi |
| xor edx,edi |
| and ecx,DWORD [40+esp] |
| and edx,DWORD [44+esp] |
| add eax,DWORD [192+esp] |
| adc ebx,DWORD [196+esp] |
| xor ecx,esi |
| xor edx,edi |
| mov esi,DWORD [ebp] |
| mov edi,DWORD [4+ebp] |
| add eax,ecx |
| adc ebx,edx |
| mov ecx,DWORD [32+esp] |
| mov edx,DWORD [36+esp] |
| add eax,esi |
| adc ebx,edi |
| mov DWORD [esp],eax |
| mov DWORD [4+esp],ebx |
| add eax,ecx |
| adc ebx,edx |
| mov ecx,DWORD [8+esp] |
| mov edx,DWORD [12+esp] |
| mov DWORD [32+esp],eax |
| mov DWORD [36+esp],ebx |
| mov esi,ecx |
| shr ecx,2 |
| mov edi,edx |
| shr edx,2 |
| mov ebx,ecx |
| shl esi,4 |
| mov eax,edx |
| shl edi,4 |
| xor ebx,esi |
| shr ecx,5 |
| xor eax,edi |
| shr edx,5 |
| xor ebx,ecx |
| shl esi,21 |
| xor eax,edx |
| shl edi,21 |
| xor eax,esi |
| shr ecx,21 |
| xor ebx,edi |
| shr edx,21 |
| xor eax,ecx |
| shl esi,5 |
| xor ebx,edx |
| shl edi,5 |
| xor eax,esi |
| xor ebx,edi |
| mov ecx,DWORD [8+esp] |
| mov edx,DWORD [12+esp] |
| mov esi,DWORD [16+esp] |
| mov edi,DWORD [20+esp] |
| add eax,DWORD [esp] |
| adc ebx,DWORD [4+esp] |
| or ecx,esi |
| or edx,edi |
| and ecx,DWORD [24+esp] |
| and edx,DWORD [28+esp] |
| and esi,DWORD [8+esp] |
| and edi,DWORD [12+esp] |
| or ecx,esi |
| or edx,edi |
| add eax,ecx |
| adc ebx,edx |
| mov DWORD [esp],eax |
| mov DWORD [4+esp],ebx |
| mov dl,BYTE [ebp] |
| sub esp,8 |
| lea ebp,[8+ebp] |
| cmp dl,148 |
| jne NEAR L$00900_15_x86 |
| align 16 |
| L$01016_79_x86: |
| mov ecx,DWORD [312+esp] |
| mov edx,DWORD [316+esp] |
| mov esi,ecx |
| shr ecx,1 |
| mov edi,edx |
| shr edx,1 |
| mov eax,ecx |
| shl esi,24 |
| mov ebx,edx |
| shl edi,24 |
| xor ebx,esi |
| shr ecx,6 |
| xor eax,edi |
| shr edx,6 |
| xor eax,ecx |
| shl esi,7 |
| xor ebx,edx |
| shl edi,1 |
| xor ebx,esi |
| shr ecx,1 |
| xor eax,edi |
| shr edx,1 |
| xor eax,ecx |
| shl edi,6 |
| xor ebx,edx |
| xor eax,edi |
| mov DWORD [esp],eax |
| mov DWORD [4+esp],ebx |
| mov ecx,DWORD [208+esp] |
| mov edx,DWORD [212+esp] |
| mov esi,ecx |
| shr ecx,6 |
| mov edi,edx |
| shr edx,6 |
| mov eax,ecx |
| shl esi,3 |
| mov ebx,edx |
| shl edi,3 |
| xor eax,esi |
| shr ecx,13 |
| xor ebx,edi |
| shr edx,13 |
| xor eax,ecx |
| shl esi,10 |
| xor ebx,edx |
| shl edi,10 |
| xor ebx,esi |
| shr ecx,10 |
| xor eax,edi |
| shr edx,10 |
| xor ebx,ecx |
| shl edi,13 |
| xor eax,edx |
| xor eax,edi |
| mov ecx,DWORD [320+esp] |
| mov edx,DWORD [324+esp] |
| add eax,DWORD [esp] |
| adc ebx,DWORD [4+esp] |
| mov esi,DWORD [248+esp] |
| mov edi,DWORD [252+esp] |
| add eax,ecx |
| adc ebx,edx |
| add eax,esi |
| adc ebx,edi |
| mov DWORD [192+esp],eax |
| mov DWORD [196+esp],ebx |
| mov ecx,DWORD [40+esp] |
| mov edx,DWORD [44+esp] |
| mov esi,ecx |
| shr ecx,9 |
| mov edi,edx |
| shr edx,9 |
| mov ebx,ecx |
| shl esi,14 |
| mov eax,edx |
| shl edi,14 |
| xor ebx,esi |
| shr ecx,5 |
| xor eax,edi |
| shr edx,5 |
| xor eax,ecx |
| shl esi,4 |
| xor ebx,edx |
| shl edi,4 |
| xor ebx,esi |
| shr ecx,4 |
| xor eax,edi |
| shr edx,4 |
| xor eax,ecx |
| shl esi,5 |
| xor ebx,edx |
| shl edi,5 |
| xor eax,esi |
| xor ebx,edi |
| mov ecx,DWORD [48+esp] |
| mov edx,DWORD [52+esp] |
| mov esi,DWORD [56+esp] |
| mov edi,DWORD [60+esp] |
| add eax,DWORD [64+esp] |
| adc ebx,DWORD [68+esp] |
| xor ecx,esi |
| xor edx,edi |
| and ecx,DWORD [40+esp] |
| and edx,DWORD [44+esp] |
| add eax,DWORD [192+esp] |
| adc ebx,DWORD [196+esp] |
| xor ecx,esi |
| xor edx,edi |
| mov esi,DWORD [ebp] |
| mov edi,DWORD [4+ebp] |
| add eax,ecx |
| adc ebx,edx |
| mov ecx,DWORD [32+esp] |
| mov edx,DWORD [36+esp] |
| add eax,esi |
| adc ebx,edi |
| mov DWORD [esp],eax |
| mov DWORD [4+esp],ebx |
| add eax,ecx |
| adc ebx,edx |
| mov ecx,DWORD [8+esp] |
| mov edx,DWORD [12+esp] |
| mov DWORD [32+esp],eax |
| mov DWORD [36+esp],ebx |
| mov esi,ecx |
| shr ecx,2 |
| mov edi,edx |
| shr edx,2 |
| mov ebx,ecx |
| shl esi,4 |
| mov eax,edx |
| shl edi,4 |
| xor ebx,esi |
| shr ecx,5 |
| xor eax,edi |
| shr edx,5 |
| xor ebx,ecx |
| shl esi,21 |
| xor eax,edx |
| shl edi,21 |
| xor eax,esi |
| shr ecx,21 |
| xor ebx,edi |
| shr edx,21 |
| xor eax,ecx |
| shl esi,5 |
| xor ebx,edx |
| shl edi,5 |
| xor eax,esi |
| xor ebx,edi |
| mov ecx,DWORD [8+esp] |
| mov edx,DWORD [12+esp] |
| mov esi,DWORD [16+esp] |
| mov edi,DWORD [20+esp] |
| add eax,DWORD [esp] |
| adc ebx,DWORD [4+esp] |
| or ecx,esi |
| or edx,edi |
| and ecx,DWORD [24+esp] |
| and edx,DWORD [28+esp] |
| and esi,DWORD [8+esp] |
| and edi,DWORD [12+esp] |
| or ecx,esi |
| or edx,edi |
| add eax,ecx |
| adc ebx,edx |
| mov DWORD [esp],eax |
| mov DWORD [4+esp],ebx |
| mov dl,BYTE [ebp] |
| sub esp,8 |
| lea ebp,[8+ebp] |
| cmp dl,23 |
| jne NEAR L$01016_79_x86 |
| mov esi,DWORD [840+esp] |
| mov edi,DWORD [844+esp] |
| mov eax,DWORD [esi] |
| mov ebx,DWORD [4+esi] |
| mov ecx,DWORD [8+esi] |
| mov edx,DWORD [12+esi] |
| add eax,DWORD [8+esp] |
| adc ebx,DWORD [12+esp] |
| mov DWORD [esi],eax |
| mov DWORD [4+esi],ebx |
| add ecx,DWORD [16+esp] |
| adc edx,DWORD [20+esp] |
| mov DWORD [8+esi],ecx |
| mov DWORD [12+esi],edx |
| mov eax,DWORD [16+esi] |
| mov ebx,DWORD [20+esi] |
| mov ecx,DWORD [24+esi] |
| mov edx,DWORD [28+esi] |
| add eax,DWORD [24+esp] |
| adc ebx,DWORD [28+esp] |
| mov DWORD [16+esi],eax |
| mov DWORD [20+esi],ebx |
| add ecx,DWORD [32+esp] |
| adc edx,DWORD [36+esp] |
| mov DWORD [24+esi],ecx |
| mov DWORD [28+esi],edx |
| mov eax,DWORD [32+esi] |
| mov ebx,DWORD [36+esi] |
| mov ecx,DWORD [40+esi] |
| mov edx,DWORD [44+esi] |
| add eax,DWORD [40+esp] |
| adc ebx,DWORD [44+esp] |
| mov DWORD [32+esi],eax |
| mov DWORD [36+esi],ebx |
| add ecx,DWORD [48+esp] |
| adc edx,DWORD [52+esp] |
| mov DWORD [40+esi],ecx |
| mov DWORD [44+esi],edx |
| mov eax,DWORD [48+esi] |
| mov ebx,DWORD [52+esi] |
| mov ecx,DWORD [56+esi] |
| mov edx,DWORD [60+esi] |
| add eax,DWORD [56+esp] |
| adc ebx,DWORD [60+esp] |
| mov DWORD [48+esi],eax |
| mov DWORD [52+esi],ebx |
| add ecx,DWORD [64+esp] |
| adc edx,DWORD [68+esp] |
| mov DWORD [56+esi],ecx |
| mov DWORD [60+esi],edx |
| add esp,840 |
| sub ebp,640 |
| cmp edi,DWORD [8+esp] |
| jb NEAR L$002loop_x86 |
| mov esp,DWORD [12+esp] |
| pop edi |
| pop esi |
| pop ebx |
| pop ebp |
| ret |
| align 64 |
| L$001K512: |
| dd 3609767458,1116352408 |
| dd 602891725,1899447441 |
| dd 3964484399,3049323471 |
| dd 2173295548,3921009573 |
| dd 4081628472,961987163 |
| dd 3053834265,1508970993 |
| dd 2937671579,2453635748 |
| dd 3664609560,2870763221 |
| dd 2734883394,3624381080 |
| dd 1164996542,310598401 |
| dd 1323610764,607225278 |
| dd 3590304994,1426881987 |
| dd 4068182383,1925078388 |
| dd 991336113,2162078206 |
| dd 633803317,2614888103 |
| dd 3479774868,3248222580 |
| dd 2666613458,3835390401 |
| dd 944711139,4022224774 |
| dd 2341262773,264347078 |
| dd 2007800933,604807628 |
| dd 1495990901,770255983 |
| dd 1856431235,1249150122 |
| dd 3175218132,1555081692 |
| dd 2198950837,1996064986 |
| dd 3999719339,2554220882 |
| dd 766784016,2821834349 |
| dd 2566594879,2952996808 |
| dd 3203337956,3210313671 |
| dd 1034457026,3336571891 |
| dd 2466948901,3584528711 |
| dd 3758326383,113926993 |
| dd 168717936,338241895 |
| dd 1188179964,666307205 |
| dd 1546045734,773529912 |
| dd 1522805485,1294757372 |
| dd 2643833823,1396182291 |
| dd 2343527390,1695183700 |
| dd 1014477480,1986661051 |
| dd 1206759142,2177026350 |
| dd 344077627,2456956037 |
| dd 1290863460,2730485921 |
| dd 3158454273,2820302411 |
| dd 3505952657,3259730800 |
| dd 106217008,3345764771 |
| dd 3606008344,3516065817 |
| dd 1432725776,3600352804 |
| dd 1467031594,4094571909 |
| dd 851169720,275423344 |
| dd 3100823752,430227734 |
| dd 1363258195,506948616 |
| dd 3750685593,659060556 |
| dd 3785050280,883997877 |
| dd 3318307427,958139571 |
| dd 3812723403,1322822218 |
| dd 2003034995,1537002063 |
| dd 3602036899,1747873779 |
| dd 1575990012,1955562222 |
| dd 1125592928,2024104815 |
| dd 2716904306,2227730452 |
| dd 442776044,2361852424 |
| dd 593698344,2428436474 |
| dd 3733110249,2756734187 |
| dd 2999351573,3204031479 |
| dd 3815920427,3329325298 |
| dd 3928383900,3391569614 |
| dd 566280711,3515267271 |
| dd 3454069534,3940187606 |
| dd 4000239992,4118630271 |
| dd 1914138554,116418474 |
| dd 2731055270,174292421 |
| dd 3203993006,289380356 |
| dd 320620315,460393269 |
| dd 587496836,685471733 |
| dd 1086792851,852142971 |
| dd 365543100,1017036298 |
| dd 2618297676,1126000580 |
| dd 3409855158,1288033470 |
| dd 4234509866,1501505948 |
| dd 987167468,1607167915 |
| dd 1246189591,1816402316 |
| dd 67438087,66051 |
| dd 202182159,134810123 |
| db 83,72,65,53,49,50,32,98,108,111,99,107,32,116,114,97 |
| db 110,115,102,111,114,109,32,102,111,114,32,120,56,54,44,32 |
| db 67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97 |
| db 112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103 |
| db 62,0 |
| segment .bss |
| common _OPENSSL_ia32cap_P 16 |