mirror of https://github.com/lukechilds/node.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2849 lines
49 KiB
2849 lines
49 KiB
TITLE sha512-586.asm
|
|
IF @Version LT 800
|
|
ECHO MASM version 8.00 or later is strongly recommended.
|
|
ENDIF
|
|
.686
|
|
.XMM
|
|
IF @Version LT 800
|
|
XMMWORD STRUCT 16
|
|
DQ 2 dup (?)
|
|
XMMWORD ENDS
|
|
ENDIF
|
|
|
|
.MODEL FLAT
|
|
OPTION DOTNAME
|
|
IF @Version LT 800
|
|
.text$ SEGMENT PAGE 'CODE'
|
|
ELSE
|
|
.text$ SEGMENT ALIGN(64) 'CODE'
|
|
ENDIF
|
|
;EXTERN _OPENSSL_ia32cap_P:NEAR
|
|
ALIGN 16
|
|
_sha512_block_data_order PROC PUBLIC
|
|
$L_sha512_block_data_order_begin::
|
|
push ebp
|
|
push ebx
|
|
push esi
|
|
push edi
|
|
mov esi,DWORD PTR 20[esp]
|
|
mov edi,DWORD PTR 24[esp]
|
|
mov eax,DWORD PTR 28[esp]
|
|
mov ebx,esp
|
|
call $L000pic_point
|
|
$L000pic_point:
|
|
pop ebp
|
|
lea ebp,DWORD PTR ($L001K512-$L000pic_point)[ebp]
|
|
sub esp,16
|
|
and esp,-64
|
|
shl eax,7
|
|
add eax,edi
|
|
mov DWORD PTR [esp],esi
|
|
mov DWORD PTR 4[esp],edi
|
|
mov DWORD PTR 8[esp],eax
|
|
mov DWORD PTR 12[esp],ebx
|
|
lea edx,DWORD PTR _OPENSSL_ia32cap_P
|
|
mov ecx,DWORD PTR [edx]
|
|
test ecx,67108864
|
|
jz $L002loop_x86
|
|
mov edx,DWORD PTR 4[edx]
|
|
movq mm0,QWORD PTR [esi]
|
|
and ecx,16777216
|
|
movq mm1,QWORD PTR 8[esi]
|
|
and edx,512
|
|
movq mm2,QWORD PTR 16[esi]
|
|
or ecx,edx
|
|
movq mm3,QWORD PTR 24[esi]
|
|
movq mm4,QWORD PTR 32[esi]
|
|
movq mm5,QWORD PTR 40[esi]
|
|
movq mm6,QWORD PTR 48[esi]
|
|
movq mm7,QWORD PTR 56[esi]
|
|
cmp ecx,16777728
|
|
je $L003SSSE3
|
|
sub esp,80
|
|
jmp $L004loop_sse2
|
|
ALIGN 16
|
|
$L004loop_sse2:
|
|
movq QWORD PTR 8[esp],mm1
|
|
movq QWORD PTR 16[esp],mm2
|
|
movq QWORD PTR 24[esp],mm3
|
|
movq QWORD PTR 40[esp],mm5
|
|
movq QWORD PTR 48[esp],mm6
|
|
pxor mm2,mm1
|
|
movq QWORD PTR 56[esp],mm7
|
|
movq mm3,mm0
|
|
mov eax,DWORD PTR [edi]
|
|
mov ebx,DWORD PTR 4[edi]
|
|
add edi,8
|
|
mov edx,15
|
|
bswap eax
|
|
bswap ebx
|
|
jmp $L00500_14_sse2
|
|
ALIGN 16
|
|
$L00500_14_sse2:
|
|
movd mm1,eax
|
|
mov eax,DWORD PTR [edi]
|
|
movd mm7,ebx
|
|
mov ebx,DWORD PTR 4[edi]
|
|
add edi,8
|
|
bswap eax
|
|
bswap ebx
|
|
punpckldq mm7,mm1
|
|
movq mm1,mm4
|
|
pxor mm5,mm6
|
|
psrlq mm1,14
|
|
movq QWORD PTR 32[esp],mm4
|
|
pand mm5,mm4
|
|
psllq mm4,23
|
|
movq mm0,mm3
|
|
movq QWORD PTR 72[esp],mm7
|
|
movq mm3,mm1
|
|
psrlq mm1,4
|
|
pxor mm5,mm6
|
|
pxor mm3,mm4
|
|
psllq mm4,23
|
|
pxor mm3,mm1
|
|
movq QWORD PTR [esp],mm0
|
|
paddq mm7,mm5
|
|
pxor mm3,mm4
|
|
psrlq mm1,23
|
|
paddq mm7,QWORD PTR 56[esp]
|
|
pxor mm3,mm1
|
|
psllq mm4,4
|
|
paddq mm7,QWORD PTR [ebp]
|
|
pxor mm3,mm4
|
|
movq mm4,QWORD PTR 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,QWORD PTR 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,QWORD PTR 40[esp]
|
|
paddq mm3,mm2
|
|
movq mm2,mm0
|
|
add ebp,8
|
|
paddq mm3,mm6
|
|
movq mm6,QWORD PTR 48[esp]
|
|
dec edx
|
|
jnz $L00500_14_sse2
|
|
movd mm1,eax
|
|
movd mm7,ebx
|
|
punpckldq mm7,mm1
|
|
movq mm1,mm4
|
|
pxor mm5,mm6
|
|
psrlq mm1,14
|
|
movq QWORD PTR 32[esp],mm4
|
|
pand mm5,mm4
|
|
psllq mm4,23
|
|
movq mm0,mm3
|
|
movq QWORD PTR 72[esp],mm7
|
|
movq mm3,mm1
|
|
psrlq mm1,4
|
|
pxor mm5,mm6
|
|
pxor mm3,mm4
|
|
psllq mm4,23
|
|
pxor mm3,mm1
|
|
movq QWORD PTR [esp],mm0
|
|
paddq mm7,mm5
|
|
pxor mm3,mm4
|
|
psrlq mm1,23
|
|
paddq mm7,QWORD PTR 56[esp]
|
|
pxor mm3,mm1
|
|
psllq mm4,4
|
|
paddq mm7,QWORD PTR [ebp]
|
|
pxor mm3,mm4
|
|
movq mm4,QWORD PTR 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,QWORD PTR 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,QWORD PTR 192[esp]
|
|
paddq mm3,mm2
|
|
movq mm2,mm0
|
|
add ebp,8
|
|
paddq mm3,mm6
|
|
pxor mm0,mm0
|
|
mov edx,32
|
|
jmp $L00616_79_sse2
|
|
ALIGN 16
|
|
$L00616_79_sse2:
|
|
movq mm5,QWORD PTR 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,QWORD PTR 200[esp]
|
|
pxor mm1,mm6
|
|
psrlq mm5,42
|
|
paddq mm7,QWORD PTR 128[esp]
|
|
pxor mm1,mm5
|
|
psllq mm6,42
|
|
movq mm5,QWORD PTR 40[esp]
|
|
pxor mm1,mm6
|
|
movq mm6,QWORD PTR 48[esp]
|
|
paddq mm7,mm1
|
|
movq mm1,mm4
|
|
pxor mm5,mm6
|
|
psrlq mm1,14
|
|
movq QWORD PTR 32[esp],mm4
|
|
pand mm5,mm4
|
|
psllq mm4,23
|
|
movq QWORD PTR 72[esp],mm7
|
|
movq mm3,mm1
|
|
psrlq mm1,4
|
|
pxor mm5,mm6
|
|
pxor mm3,mm4
|
|
psllq mm4,23
|
|
pxor mm3,mm1
|
|
movq QWORD PTR [esp],mm0
|
|
paddq mm7,mm5
|
|
pxor mm3,mm4
|
|
psrlq mm1,23
|
|
paddq mm7,QWORD PTR 56[esp]
|
|
pxor mm3,mm1
|
|
psllq mm4,4
|
|
paddq mm7,QWORD PTR [ebp]
|
|
pxor mm3,mm4
|
|
movq mm4,QWORD PTR 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,QWORD PTR 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,QWORD PTR 192[esp]
|
|
paddq mm2,mm6
|
|
add ebp,8
|
|
movq mm5,QWORD PTR 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,QWORD PTR 200[esp]
|
|
pxor mm1,mm6
|
|
psrlq mm5,42
|
|
paddq mm7,QWORD PTR 128[esp]
|
|
pxor mm1,mm5
|
|
psllq mm6,42
|
|
movq mm5,QWORD PTR 40[esp]
|
|
pxor mm1,mm6
|
|
movq mm6,QWORD PTR 48[esp]
|
|
paddq mm7,mm1
|
|
movq mm1,mm4
|
|
pxor mm5,mm6
|
|
psrlq mm1,14
|
|
movq QWORD PTR 32[esp],mm4
|
|
pand mm5,mm4
|
|
psllq mm4,23
|
|
movq QWORD PTR 72[esp],mm7
|
|
movq mm3,mm1
|
|
psrlq mm1,4
|
|
pxor mm5,mm6
|
|
pxor mm3,mm4
|
|
psllq mm4,23
|
|
pxor mm3,mm1
|
|
movq QWORD PTR [esp],mm2
|
|
paddq mm7,mm5
|
|
pxor mm3,mm4
|
|
psrlq mm1,23
|
|
paddq mm7,QWORD PTR 56[esp]
|
|
pxor mm3,mm1
|
|
psllq mm4,4
|
|
paddq mm7,QWORD PTR [ebp]
|
|
pxor mm3,mm4
|
|
movq mm4,QWORD PTR 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,QWORD PTR 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,QWORD PTR 192[esp]
|
|
paddq mm0,mm6
|
|
add ebp,8
|
|
dec edx
|
|
jnz $L00616_79_sse2
|
|
paddq mm0,mm3
|
|
movq mm1,QWORD PTR 8[esp]
|
|
movq mm3,QWORD PTR 24[esp]
|
|
movq mm5,QWORD PTR 40[esp]
|
|
movq mm6,QWORD PTR 48[esp]
|
|
movq mm7,QWORD PTR 56[esp]
|
|
pxor mm2,mm1
|
|
paddq mm0,QWORD PTR [esi]
|
|
paddq mm1,QWORD PTR 8[esi]
|
|
paddq mm2,QWORD PTR 16[esi]
|
|
paddq mm3,QWORD PTR 24[esi]
|
|
paddq mm4,QWORD PTR 32[esi]
|
|
paddq mm5,QWORD PTR 40[esi]
|
|
paddq mm6,QWORD PTR 48[esi]
|
|
paddq mm7,QWORD PTR 56[esi]
|
|
mov eax,640
|
|
movq QWORD PTR [esi],mm0
|
|
movq QWORD PTR 8[esi],mm1
|
|
movq QWORD PTR 16[esi],mm2
|
|
movq QWORD PTR 24[esi],mm3
|
|
movq QWORD PTR 32[esi],mm4
|
|
movq QWORD PTR 40[esi],mm5
|
|
movq QWORD PTR 48[esi],mm6
|
|
movq QWORD PTR 56[esi],mm7
|
|
lea esp,DWORD PTR [eax*1+esp]
|
|
sub ebp,eax
|
|
cmp edi,DWORD PTR 88[esp]
|
|
jb $L004loop_sse2
|
|
mov esp,DWORD PTR 92[esp]
|
|
emms
|
|
pop edi
|
|
pop esi
|
|
pop ebx
|
|
pop ebp
|
|
ret
|
|
ALIGN 32
|
|
$L003SSSE3:
|
|
lea edx,DWORD PTR [esp-64]
|
|
sub esp,256
|
|
movdqa xmm1,XMMWORD PTR 640[ebp]
|
|
movdqu xmm0,XMMWORD PTR [edi]
|
|
DB 102,15,56,0,193
|
|
movdqa xmm3,XMMWORD PTR [ebp]
|
|
movdqa xmm2,xmm1
|
|
movdqu xmm1,XMMWORD PTR 16[edi]
|
|
paddq xmm3,xmm0
|
|
DB 102,15,56,0,202
|
|
movdqa XMMWORD PTR [edx-128],xmm3
|
|
movdqa xmm4,XMMWORD PTR 16[ebp]
|
|
movdqa xmm3,xmm2
|
|
movdqu xmm2,XMMWORD PTR 32[edi]
|
|
paddq xmm4,xmm1
|
|
DB 102,15,56,0,211
|
|
movdqa XMMWORD PTR [edx-112],xmm4
|
|
movdqa xmm5,XMMWORD PTR 32[ebp]
|
|
movdqa xmm4,xmm3
|
|
movdqu xmm3,XMMWORD PTR 48[edi]
|
|
paddq xmm5,xmm2
|
|
DB 102,15,56,0,220
|
|
movdqa XMMWORD PTR [edx-96],xmm5
|
|
movdqa xmm6,XMMWORD PTR 48[ebp]
|
|
movdqa xmm5,xmm4
|
|
movdqu xmm4,XMMWORD PTR 64[edi]
|
|
paddq xmm6,xmm3
|
|
DB 102,15,56,0,229
|
|
movdqa XMMWORD PTR [edx-80],xmm6
|
|
movdqa xmm7,XMMWORD PTR 64[ebp]
|
|
movdqa xmm6,xmm5
|
|
movdqu xmm5,XMMWORD PTR 80[edi]
|
|
paddq xmm7,xmm4
|
|
DB 102,15,56,0,238
|
|
movdqa XMMWORD PTR [edx-64],xmm7
|
|
movdqa XMMWORD PTR [edx],xmm0
|
|
movdqa xmm0,XMMWORD PTR 80[ebp]
|
|
movdqa xmm7,xmm6
|
|
movdqu xmm6,XMMWORD PTR 96[edi]
|
|
paddq xmm0,xmm5
|
|
DB 102,15,56,0,247
|
|
movdqa XMMWORD PTR [edx-48],xmm0
|
|
movdqa XMMWORD PTR 16[edx],xmm1
|
|
movdqa xmm1,XMMWORD PTR 96[ebp]
|
|
movdqa xmm0,xmm7
|
|
movdqu xmm7,XMMWORD PTR 112[edi]
|
|
paddq xmm1,xmm6
|
|
DB 102,15,56,0,248
|
|
movdqa XMMWORD PTR [edx-32],xmm1
|
|
movdqa XMMWORD PTR 32[edx],xmm2
|
|
movdqa xmm2,XMMWORD PTR 112[ebp]
|
|
movdqa xmm0,XMMWORD PTR [edx]
|
|
paddq xmm2,xmm7
|
|
movdqa XMMWORD PTR [edx-16],xmm2
|
|
nop
|
|
ALIGN 32
|
|
$L007loop_ssse3:
|
|
movdqa xmm2,XMMWORD PTR 16[edx]
|
|
movdqa XMMWORD PTR 48[edx],xmm3
|
|
lea ebp,DWORD PTR 128[ebp]
|
|
movq QWORD PTR 8[esp],mm1
|
|
mov ebx,edi
|
|
movq QWORD PTR 16[esp],mm2
|
|
lea edi,DWORD PTR 128[edi]
|
|
movq QWORD PTR 24[esp],mm3
|
|
cmp edi,eax
|
|
movq QWORD PTR 40[esp],mm5
|
|
cmovb ebx,edi
|
|
movq QWORD PTR 48[esp],mm6
|
|
mov ecx,4
|
|
pxor mm2,mm1
|
|
movq QWORD PTR 56[esp],mm7
|
|
pxor mm3,mm3
|
|
jmp $L00800_47_ssse3
|
|
ALIGN 32
|
|
$L00800_47_ssse3:
|
|
movdqa xmm3,xmm5
|
|
movdqa xmm1,xmm2
|
|
DB 102,15,58,15,208,8
|
|
movdqa XMMWORD PTR [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,XMMWORD PTR 32[edx]
|
|
pxor xmm4,xmm2
|
|
movdqa xmm2,XMMWORD PTR [ebp]
|
|
movq mm1,mm4
|
|
paddq xmm0,xmm4
|
|
movq mm7,QWORD PTR [edx-128]
|
|
pxor mm5,mm6
|
|
psrlq mm1,14
|
|
movq QWORD PTR 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 QWORD PTR [esp],mm0
|
|
paddq mm7,mm5
|
|
pxor mm3,mm4
|
|
psrlq mm1,23
|
|
paddq mm7,QWORD PTR 56[esp]
|
|
pxor mm3,mm1
|
|
psllq mm4,4
|
|
pxor mm3,mm4
|
|
movq mm4,QWORD PTR 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,QWORD PTR 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,QWORD PTR 32[esp]
|
|
paddq mm2,mm6
|
|
movq mm6,QWORD PTR 40[esp]
|
|
movq mm1,mm4
|
|
movq mm7,QWORD PTR [edx-120]
|
|
pxor mm5,mm6
|
|
psrlq mm1,14
|
|
movq QWORD PTR 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 QWORD PTR 56[esp],mm2
|
|
paddq mm7,mm5
|
|
pxor mm3,mm4
|
|
psrlq mm1,23
|
|
paddq mm7,QWORD PTR 48[esp]
|
|
pxor mm3,mm1
|
|
psllq mm4,4
|
|
pxor mm3,mm4
|
|
movq mm4,QWORD PTR 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,QWORD PTR [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,QWORD PTR 24[esp]
|
|
paddq mm0,mm6
|
|
movq mm6,QWORD PTR 32[esp]
|
|
movdqa XMMWORD PTR [edx-128],xmm2
|
|
movdqa xmm4,xmm6
|
|
movdqa xmm2,xmm3
|
|
DB 102,15,58,15,217,8
|
|
movdqa XMMWORD PTR 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,XMMWORD PTR 48[edx]
|
|
pxor xmm5,xmm3
|
|
movdqa xmm3,XMMWORD PTR 16[ebp]
|
|
movq mm1,mm4
|
|
paddq xmm1,xmm5
|
|
movq mm7,QWORD PTR [edx-112]
|
|
pxor mm5,mm6
|
|
psrlq mm1,14
|
|
movq QWORD PTR 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 QWORD PTR 48[esp],mm0
|
|
paddq mm7,mm5
|
|
pxor mm3,mm4
|
|
psrlq mm1,23
|
|
paddq mm7,QWORD PTR 40[esp]
|
|
pxor mm3,mm1
|
|
psllq mm4,4
|
|
pxor mm3,mm4
|
|
movq mm4,QWORD PTR 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,QWORD PTR 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,QWORD PTR 16[esp]
|
|
paddq mm2,mm6
|
|
movq mm6,QWORD PTR 24[esp]
|
|
movq mm1,mm4
|
|
movq mm7,QWORD PTR [edx-104]
|
|
pxor mm5,mm6
|
|
psrlq mm1,14
|
|
movq QWORD PTR 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 QWORD PTR 40[esp],mm2
|
|
paddq mm7,mm5
|
|
pxor mm3,mm4
|
|
psrlq mm1,23
|
|
paddq mm7,QWORD PTR 32[esp]
|
|
pxor mm3,mm1
|
|
psllq mm4,4
|
|
pxor mm3,mm4
|
|
movq mm4,QWORD PTR [esp]
|
|
paddq mm3,mm7
|
|
movq mm5,mm2
|
|
psrlq mm5,28
|
|
paddq mm4,mm3
|
|
movq mm6,mm2
|
|
movq mm7,mm5
|
|
psllq mm6,25
|
|
movq mm1,QWORD PTR 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,QWORD PTR 8[esp]
|
|
paddq mm0,mm6
|
|
movq mm6,QWORD PTR 16[esp]
|
|
movdqa XMMWORD PTR [edx-112],xmm3
|
|
movdqa xmm5,xmm7
|
|
movdqa xmm3,xmm4
|
|
DB 102,15,58,15,226,8
|
|
movdqa XMMWORD PTR 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,XMMWORD PTR [edx]
|
|
pxor xmm6,xmm4
|
|
movdqa xmm4,XMMWORD PTR 32[ebp]
|
|
movq mm1,mm4
|
|
paddq xmm2,xmm6
|
|
movq mm7,QWORD PTR [edx-96]
|
|
pxor mm5,mm6
|
|
psrlq mm1,14
|
|
movq QWORD PTR [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 QWORD PTR 32[esp],mm0
|
|
paddq mm7,mm5
|
|
pxor mm3,mm4
|
|
psrlq mm1,23
|
|
paddq mm7,QWORD PTR 24[esp]
|
|
pxor mm3,mm1
|
|
psllq mm4,4
|
|
pxor mm3,mm4
|
|
movq mm4,QWORD PTR 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,QWORD PTR 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,QWORD PTR [esp]
|
|
paddq mm2,mm6
|
|
movq mm6,QWORD PTR 8[esp]
|
|
movq mm1,mm4
|
|
movq mm7,QWORD PTR [edx-88]
|
|
pxor mm5,mm6
|
|
psrlq mm1,14
|
|
movq QWORD PTR 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 QWORD PTR 24[esp],mm2
|
|
paddq mm7,mm5
|
|
pxor mm3,mm4
|
|
psrlq mm1,23
|
|
paddq mm7,QWORD PTR 16[esp]
|
|
pxor mm3,mm1
|
|
psllq mm4,4
|
|
pxor mm3,mm4
|
|
movq mm4,QWORD PTR 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,QWORD PTR 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,QWORD PTR 56[esp]
|
|
paddq mm0,mm6
|
|
movq mm6,QWORD PTR [esp]
|
|
movdqa XMMWORD PTR [edx-96],xmm4
|
|
movdqa xmm6,xmm0
|
|
movdqa xmm4,xmm5
|
|
DB 102,15,58,15,235,8
|
|
movdqa XMMWORD PTR 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,XMMWORD PTR 16[edx]
|
|
pxor xmm7,xmm5
|
|
movdqa xmm5,XMMWORD PTR 48[ebp]
|
|
movq mm1,mm4
|
|
paddq xmm3,xmm7
|
|
movq mm7,QWORD PTR [edx-80]
|
|
pxor mm5,mm6
|
|
psrlq mm1,14
|
|
movq QWORD PTR 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 QWORD PTR 16[esp],mm0
|
|
paddq mm7,mm5
|
|
pxor mm3,mm4
|
|
psrlq mm1,23
|
|
paddq mm7,QWORD PTR 8[esp]
|
|
pxor mm3,mm1
|
|
psllq mm4,4
|
|
pxor mm3,mm4
|
|
movq mm4,QWORD PTR 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,QWORD PTR 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,QWORD PTR 48[esp]
|
|
paddq mm2,mm6
|
|
movq mm6,QWORD PTR 56[esp]
|
|
movq mm1,mm4
|
|
movq mm7,QWORD PTR [edx-72]
|
|
pxor mm5,mm6
|
|
psrlq mm1,14
|
|
movq QWORD PTR 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 QWORD PTR 8[esp],mm2
|
|
paddq mm7,mm5
|
|
pxor mm3,mm4
|
|
psrlq mm1,23
|
|
paddq mm7,QWORD PTR [esp]
|
|
pxor mm3,mm1
|
|
psllq mm4,4
|
|
pxor mm3,mm4
|
|
movq mm4,QWORD PTR 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,QWORD PTR 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,QWORD PTR 40[esp]
|
|
paddq mm0,mm6
|
|
movq mm6,QWORD PTR 48[esp]
|
|
movdqa XMMWORD PTR [edx-80],xmm5
|
|
movdqa xmm7,xmm1
|
|
movdqa xmm5,xmm6
|
|
DB 102,15,58,15,244,8
|
|
movdqa XMMWORD PTR [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,XMMWORD PTR 32[edx]
|
|
pxor xmm0,xmm6
|
|
movdqa xmm6,XMMWORD PTR 64[ebp]
|
|
movq mm1,mm4
|
|
paddq xmm4,xmm0
|
|
movq mm7,QWORD PTR [edx-64]
|
|
pxor mm5,mm6
|
|
psrlq mm1,14
|
|
movq QWORD PTR 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 QWORD PTR [esp],mm0
|
|
paddq mm7,mm5
|
|
pxor mm3,mm4
|
|
psrlq mm1,23
|
|
paddq mm7,QWORD PTR 56[esp]
|
|
pxor mm3,mm1
|
|
psllq mm4,4
|
|
pxor mm3,mm4
|
|
movq mm4,QWORD PTR 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,QWORD PTR 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,QWORD PTR 32[esp]
|
|
paddq mm2,mm6
|
|
movq mm6,QWORD PTR 40[esp]
|
|
movq mm1,mm4
|
|
movq mm7,QWORD PTR [edx-56]
|
|
pxor mm5,mm6
|
|
psrlq mm1,14
|
|
movq QWORD PTR 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 QWORD PTR 56[esp],mm2
|
|
paddq mm7,mm5
|
|
pxor mm3,mm4
|
|
psrlq mm1,23
|
|
paddq mm7,QWORD PTR 48[esp]
|
|
pxor mm3,mm1
|
|
psllq mm4,4
|
|
pxor mm3,mm4
|
|
movq mm4,QWORD PTR 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,QWORD PTR [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,QWORD PTR 24[esp]
|
|
paddq mm0,mm6
|
|
movq mm6,QWORD PTR 32[esp]
|
|
movdqa XMMWORD PTR [edx-64],xmm6
|
|
movdqa xmm0,xmm2
|
|
movdqa xmm6,xmm7
|
|
DB 102,15,58,15,253,8
|
|
movdqa XMMWORD PTR 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,XMMWORD PTR 48[edx]
|
|
pxor xmm1,xmm7
|
|
movdqa xmm7,XMMWORD PTR 80[ebp]
|
|
movq mm1,mm4
|
|
paddq xmm5,xmm1
|
|
movq mm7,QWORD PTR [edx-48]
|
|
pxor mm5,mm6
|
|
psrlq mm1,14
|
|
movq QWORD PTR 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 QWORD PTR 48[esp],mm0
|
|
paddq mm7,mm5
|
|
pxor mm3,mm4
|
|
psrlq mm1,23
|
|
paddq mm7,QWORD PTR 40[esp]
|
|
pxor mm3,mm1
|
|
psllq mm4,4
|
|
pxor mm3,mm4
|
|
movq mm4,QWORD PTR 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,QWORD PTR 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,QWORD PTR 16[esp]
|
|
paddq mm2,mm6
|
|
movq mm6,QWORD PTR 24[esp]
|
|
movq mm1,mm4
|
|
movq mm7,QWORD PTR [edx-40]
|
|
pxor mm5,mm6
|
|
psrlq mm1,14
|
|
movq QWORD PTR 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 QWORD PTR 40[esp],mm2
|
|
paddq mm7,mm5
|
|
pxor mm3,mm4
|
|
psrlq mm1,23
|
|
paddq mm7,QWORD PTR 32[esp]
|
|
pxor mm3,mm1
|
|
psllq mm4,4
|
|
pxor mm3,mm4
|
|
movq mm4,QWORD PTR [esp]
|
|
paddq mm3,mm7
|
|
movq mm5,mm2
|
|
psrlq mm5,28
|
|
paddq mm4,mm3
|
|
movq mm6,mm2
|
|
movq mm7,mm5
|
|
psllq mm6,25
|
|
movq mm1,QWORD PTR 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,QWORD PTR 8[esp]
|
|
paddq mm0,mm6
|
|
movq mm6,QWORD PTR 16[esp]
|
|
movdqa XMMWORD PTR [edx-48],xmm7
|
|
movdqa xmm1,xmm3
|
|
movdqa xmm7,xmm0
|
|
DB 102,15,58,15,198,8
|
|
movdqa XMMWORD PTR 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,XMMWORD PTR [edx]
|
|
pxor xmm2,xmm0
|
|
movdqa xmm0,XMMWORD PTR 96[ebp]
|
|
movq mm1,mm4
|
|
paddq xmm6,xmm2
|
|
movq mm7,QWORD PTR [edx-32]
|
|
pxor mm5,mm6
|
|
psrlq mm1,14
|
|
movq QWORD PTR [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 QWORD PTR 32[esp],mm0
|
|
paddq mm7,mm5
|
|
pxor mm3,mm4
|
|
psrlq mm1,23
|
|
paddq mm7,QWORD PTR 24[esp]
|
|
pxor mm3,mm1
|
|
psllq mm4,4
|
|
pxor mm3,mm4
|
|
movq mm4,QWORD PTR 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,QWORD PTR 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,QWORD PTR [esp]
|
|
paddq mm2,mm6
|
|
movq mm6,QWORD PTR 8[esp]
|
|
movq mm1,mm4
|
|
movq mm7,QWORD PTR [edx-24]
|
|
pxor mm5,mm6
|
|
psrlq mm1,14
|
|
movq QWORD PTR 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 QWORD PTR 24[esp],mm2
|
|
paddq mm7,mm5
|
|
pxor mm3,mm4
|
|
psrlq mm1,23
|
|
paddq mm7,QWORD PTR 16[esp]
|
|
pxor mm3,mm1
|
|
psllq mm4,4
|
|
pxor mm3,mm4
|
|
movq mm4,QWORD PTR 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,QWORD PTR 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,QWORD PTR 56[esp]
|
|
paddq mm0,mm6
|
|
movq mm6,QWORD PTR [esp]
|
|
movdqa XMMWORD PTR [edx-32],xmm0
|
|
movdqa xmm2,xmm4
|
|
movdqa xmm0,xmm1
|
|
DB 102,15,58,15,207,8
|
|
movdqa XMMWORD PTR 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,XMMWORD PTR 16[edx]
|
|
pxor xmm3,xmm1
|
|
movdqa xmm1,XMMWORD PTR 112[ebp]
|
|
movq mm1,mm4
|
|
paddq xmm7,xmm3
|
|
movq mm7,QWORD PTR [edx-16]
|
|
pxor mm5,mm6
|
|
psrlq mm1,14
|
|
movq QWORD PTR 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 QWORD PTR 16[esp],mm0
|
|
paddq mm7,mm5
|
|
pxor mm3,mm4
|
|
psrlq mm1,23
|
|
paddq mm7,QWORD PTR 8[esp]
|
|
pxor mm3,mm1
|
|
psllq mm4,4
|
|
pxor mm3,mm4
|
|
movq mm4,QWORD PTR 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,QWORD PTR 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,QWORD PTR 48[esp]
|
|
paddq mm2,mm6
|
|
movq mm6,QWORD PTR 56[esp]
|
|
movq mm1,mm4
|
|
movq mm7,QWORD PTR [edx-8]
|
|
pxor mm5,mm6
|
|
psrlq mm1,14
|
|
movq QWORD PTR 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 QWORD PTR 8[esp],mm2
|
|
paddq mm7,mm5
|
|
pxor mm3,mm4
|
|
psrlq mm1,23
|
|
paddq mm7,QWORD PTR [esp]
|
|
pxor mm3,mm1
|
|
psllq mm4,4
|
|
pxor mm3,mm4
|
|
movq mm4,QWORD PTR 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,QWORD PTR 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,QWORD PTR 40[esp]
|
|
paddq mm0,mm6
|
|
movq mm6,QWORD PTR 48[esp]
|
|
movdqa XMMWORD PTR [edx-16],xmm1
|
|
lea ebp,DWORD PTR 128[ebp]
|
|
dec ecx
|
|
jnz $L00800_47_ssse3
|
|
movdqa xmm1,XMMWORD PTR [ebp]
|
|
lea ebp,DWORD PTR [ebp-640]
|
|
movdqu xmm0,XMMWORD PTR [ebx]
|
|
DB 102,15,56,0,193
|
|
movdqa xmm3,XMMWORD PTR [ebp]
|
|
movdqa xmm2,xmm1
|
|
movdqu xmm1,XMMWORD PTR 16[ebx]
|
|
paddq xmm3,xmm0
|
|
DB 102,15,56,0,202
|
|
movq mm1,mm4
|
|
movq mm7,QWORD PTR [edx-128]
|
|
pxor mm5,mm6
|
|
psrlq mm1,14
|
|
movq QWORD PTR 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 QWORD PTR [esp],mm0
|
|
paddq mm7,mm5
|
|
pxor mm3,mm4
|
|
psrlq mm1,23
|
|
paddq mm7,QWORD PTR 56[esp]
|
|
pxor mm3,mm1
|
|
psllq mm4,4
|
|
pxor mm3,mm4
|
|
movq mm4,QWORD PTR 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,QWORD PTR 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,QWORD PTR 32[esp]
|
|
paddq mm2,mm6
|
|
movq mm6,QWORD PTR 40[esp]
|
|
movq mm1,mm4
|
|
movq mm7,QWORD PTR [edx-120]
|
|
pxor mm5,mm6
|
|
psrlq mm1,14
|
|
movq QWORD PTR 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 QWORD PTR 56[esp],mm2
|
|
paddq mm7,mm5
|
|
pxor mm3,mm4
|
|
psrlq mm1,23
|
|
paddq mm7,QWORD PTR 48[esp]
|
|
pxor mm3,mm1
|
|
psllq mm4,4
|
|
pxor mm3,mm4
|
|
movq mm4,QWORD PTR 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,QWORD PTR [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,QWORD PTR 24[esp]
|
|
paddq mm0,mm6
|
|
movq mm6,QWORD PTR 32[esp]
|
|
movdqa XMMWORD PTR [edx-128],xmm3
|
|
movdqa xmm4,XMMWORD PTR 16[ebp]
|
|
movdqa xmm3,xmm2
|
|
movdqu xmm2,XMMWORD PTR 32[ebx]
|
|
paddq xmm4,xmm1
|
|
DB 102,15,56,0,211
|
|
movq mm1,mm4
|
|
movq mm7,QWORD PTR [edx-112]
|
|
pxor mm5,mm6
|
|
psrlq mm1,14
|
|
movq QWORD PTR 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 QWORD PTR 48[esp],mm0
|
|
paddq mm7,mm5
|
|
pxor mm3,mm4
|
|
psrlq mm1,23
|
|
paddq mm7,QWORD PTR 40[esp]
|
|
pxor mm3,mm1
|
|
psllq mm4,4
|
|
pxor mm3,mm4
|
|
movq mm4,QWORD PTR 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,QWORD PTR 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,QWORD PTR 16[esp]
|
|
paddq mm2,mm6
|
|
movq mm6,QWORD PTR 24[esp]
|
|
movq mm1,mm4
|
|
movq mm7,QWORD PTR [edx-104]
|
|
pxor mm5,mm6
|
|
psrlq mm1,14
|
|
movq QWORD PTR 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 QWORD PTR 40[esp],mm2
|
|
paddq mm7,mm5
|
|
pxor mm3,mm4
|
|
psrlq mm1,23
|
|
paddq mm7,QWORD PTR 32[esp]
|
|
pxor mm3,mm1
|
|
psllq mm4,4
|
|
pxor mm3,mm4
|
|
movq mm4,QWORD PTR [esp]
|
|
paddq mm3,mm7
|
|
movq mm5,mm2
|
|
psrlq mm5,28
|
|
paddq mm4,mm3
|
|
movq mm6,mm2
|
|
movq mm7,mm5
|
|
psllq mm6,25
|
|
movq mm1,QWORD PTR 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,QWORD PTR 8[esp]
|
|
paddq mm0,mm6
|
|
movq mm6,QWORD PTR 16[esp]
|
|
movdqa XMMWORD PTR [edx-112],xmm4
|
|
movdqa xmm5,XMMWORD PTR 32[ebp]
|
|
movdqa xmm4,xmm3
|
|
movdqu xmm3,XMMWORD PTR 48[ebx]
|
|
paddq xmm5,xmm2
|
|
DB 102,15,56,0,220
|
|
movq mm1,mm4
|
|
movq mm7,QWORD PTR [edx-96]
|
|
pxor mm5,mm6
|
|
psrlq mm1,14
|
|
movq QWORD PTR [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 QWORD PTR 32[esp],mm0
|
|
paddq mm7,mm5
|
|
pxor mm3,mm4
|
|
psrlq mm1,23
|
|
paddq mm7,QWORD PTR 24[esp]
|
|
pxor mm3,mm1
|
|
psllq mm4,4
|
|
pxor mm3,mm4
|
|
movq mm4,QWORD PTR 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,QWORD PTR 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,QWORD PTR [esp]
|
|
paddq mm2,mm6
|
|
movq mm6,QWORD PTR 8[esp]
|
|
movq mm1,mm4
|
|
movq mm7,QWORD PTR [edx-88]
|
|
pxor mm5,mm6
|
|
psrlq mm1,14
|
|
movq QWORD PTR 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 QWORD PTR 24[esp],mm2
|
|
paddq mm7,mm5
|
|
pxor mm3,mm4
|
|
psrlq mm1,23
|
|
paddq mm7,QWORD PTR 16[esp]
|
|
pxor mm3,mm1
|
|
psllq mm4,4
|
|
pxor mm3,mm4
|
|
movq mm4,QWORD PTR 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,QWORD PTR 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,QWORD PTR 56[esp]
|
|
paddq mm0,mm6
|
|
movq mm6,QWORD PTR [esp]
|
|
movdqa XMMWORD PTR [edx-96],xmm5
|
|
movdqa xmm6,XMMWORD PTR 48[ebp]
|
|
movdqa xmm5,xmm4
|
|
movdqu xmm4,XMMWORD PTR 64[ebx]
|
|
paddq xmm6,xmm3
|
|
DB 102,15,56,0,229
|
|
movq mm1,mm4
|
|
movq mm7,QWORD PTR [edx-80]
|
|
pxor mm5,mm6
|
|
psrlq mm1,14
|
|
movq QWORD PTR 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 QWORD PTR 16[esp],mm0
|
|
paddq mm7,mm5
|
|
pxor mm3,mm4
|
|
psrlq mm1,23
|
|
paddq mm7,QWORD PTR 8[esp]
|
|
pxor mm3,mm1
|
|
psllq mm4,4
|
|
pxor mm3,mm4
|
|
movq mm4,QWORD PTR 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,QWORD PTR 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,QWORD PTR 48[esp]
|
|
paddq mm2,mm6
|
|
movq mm6,QWORD PTR 56[esp]
|
|
movq mm1,mm4
|
|
movq mm7,QWORD PTR [edx-72]
|
|
pxor mm5,mm6
|
|
psrlq mm1,14
|
|
movq QWORD PTR 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 QWORD PTR 8[esp],mm2
|
|
paddq mm7,mm5
|
|
pxor mm3,mm4
|
|
psrlq mm1,23
|
|
paddq mm7,QWORD PTR [esp]
|
|
pxor mm3,mm1
|
|
psllq mm4,4
|
|
pxor mm3,mm4
|
|
movq mm4,QWORD PTR 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,QWORD PTR 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,QWORD PTR 40[esp]
|
|
paddq mm0,mm6
|
|
movq mm6,QWORD PTR 48[esp]
|
|
movdqa XMMWORD PTR [edx-80],xmm6
|
|
movdqa xmm7,XMMWORD PTR 64[ebp]
|
|
movdqa xmm6,xmm5
|
|
movdqu xmm5,XMMWORD PTR 80[ebx]
|
|
paddq xmm7,xmm4
|
|
DB 102,15,56,0,238
|
|
movq mm1,mm4
|
|
movq mm7,QWORD PTR [edx-64]
|
|
pxor mm5,mm6
|
|
psrlq mm1,14
|
|
movq QWORD PTR 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 QWORD PTR [esp],mm0
|
|
paddq mm7,mm5
|
|
pxor mm3,mm4
|
|
psrlq mm1,23
|
|
paddq mm7,QWORD PTR 56[esp]
|
|
pxor mm3,mm1
|
|
psllq mm4,4
|
|
pxor mm3,mm4
|
|
movq mm4,QWORD PTR 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,QWORD PTR 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,QWORD PTR 32[esp]
|
|
paddq mm2,mm6
|
|
movq mm6,QWORD PTR 40[esp]
|
|
movq mm1,mm4
|
|
movq mm7,QWORD PTR [edx-56]
|
|
pxor mm5,mm6
|
|
psrlq mm1,14
|
|
movq QWORD PTR 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 QWORD PTR 56[esp],mm2
|
|
paddq mm7,mm5
|
|
pxor mm3,mm4
|
|
psrlq mm1,23
|
|
paddq mm7,QWORD PTR 48[esp]
|
|
pxor mm3,mm1
|
|
psllq mm4,4
|
|
pxor mm3,mm4
|
|
movq mm4,QWORD PTR 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,QWORD PTR [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,QWORD PTR 24[esp]
|
|
paddq mm0,mm6
|
|
movq mm6,QWORD PTR 32[esp]
|
|
movdqa XMMWORD PTR [edx-64],xmm7
|
|
movdqa XMMWORD PTR [edx],xmm0
|
|
movdqa xmm0,XMMWORD PTR 80[ebp]
|
|
movdqa xmm7,xmm6
|
|
movdqu xmm6,XMMWORD PTR 96[ebx]
|
|
paddq xmm0,xmm5
|
|
DB 102,15,56,0,247
|
|
movq mm1,mm4
|
|
movq mm7,QWORD PTR [edx-48]
|
|
pxor mm5,mm6
|
|
psrlq mm1,14
|
|
movq QWORD PTR 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 QWORD PTR 48[esp],mm0
|
|
paddq mm7,mm5
|
|
pxor mm3,mm4
|
|
psrlq mm1,23
|
|
paddq mm7,QWORD PTR 40[esp]
|
|
pxor mm3,mm1
|
|
psllq mm4,4
|
|
pxor mm3,mm4
|
|
movq mm4,QWORD PTR 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,QWORD PTR 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,QWORD PTR 16[esp]
|
|
paddq mm2,mm6
|
|
movq mm6,QWORD PTR 24[esp]
|
|
movq mm1,mm4
|
|
movq mm7,QWORD PTR [edx-40]
|
|
pxor mm5,mm6
|
|
psrlq mm1,14
|
|
movq QWORD PTR 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 QWORD PTR 40[esp],mm2
|
|
paddq mm7,mm5
|
|
pxor mm3,mm4
|
|
psrlq mm1,23
|
|
paddq mm7,QWORD PTR 32[esp]
|
|
pxor mm3,mm1
|
|
psllq mm4,4
|
|
pxor mm3,mm4
|
|
movq mm4,QWORD PTR [esp]
|
|
paddq mm3,mm7
|
|
movq mm5,mm2
|
|
psrlq mm5,28
|
|
paddq mm4,mm3
|
|
movq mm6,mm2
|
|
movq mm7,mm5
|
|
psllq mm6,25
|
|
movq mm1,QWORD PTR 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,QWORD PTR 8[esp]
|
|
paddq mm0,mm6
|
|
movq mm6,QWORD PTR 16[esp]
|
|
movdqa XMMWORD PTR [edx-48],xmm0
|
|
movdqa XMMWORD PTR 16[edx],xmm1
|
|
movdqa xmm1,XMMWORD PTR 96[ebp]
|
|
movdqa xmm0,xmm7
|
|
movdqu xmm7,XMMWORD PTR 112[ebx]
|
|
paddq xmm1,xmm6
|
|
DB 102,15,56,0,248
|
|
movq mm1,mm4
|
|
movq mm7,QWORD PTR [edx-32]
|
|
pxor mm5,mm6
|
|
psrlq mm1,14
|
|
movq QWORD PTR [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 QWORD PTR 32[esp],mm0
|
|
paddq mm7,mm5
|
|
pxor mm3,mm4
|
|
psrlq mm1,23
|
|
paddq mm7,QWORD PTR 24[esp]
|
|
pxor mm3,mm1
|
|
psllq mm4,4
|
|
pxor mm3,mm4
|
|
movq mm4,QWORD PTR 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,QWORD PTR 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,QWORD PTR [esp]
|
|
paddq mm2,mm6
|
|
movq mm6,QWORD PTR 8[esp]
|
|
movq mm1,mm4
|
|
movq mm7,QWORD PTR [edx-24]
|
|
pxor mm5,mm6
|
|
psrlq mm1,14
|
|
movq QWORD PTR 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 QWORD PTR 24[esp],mm2
|
|
paddq mm7,mm5
|
|
pxor mm3,mm4
|
|
psrlq mm1,23
|
|
paddq mm7,QWORD PTR 16[esp]
|
|
pxor mm3,mm1
|
|
psllq mm4,4
|
|
pxor mm3,mm4
|
|
movq mm4,QWORD PTR 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,QWORD PTR 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,QWORD PTR 56[esp]
|
|
paddq mm0,mm6
|
|
movq mm6,QWORD PTR [esp]
|
|
movdqa XMMWORD PTR [edx-32],xmm1
|
|
movdqa XMMWORD PTR 32[edx],xmm2
|
|
movdqa xmm2,XMMWORD PTR 112[ebp]
|
|
movdqa xmm0,XMMWORD PTR [edx]
|
|
paddq xmm2,xmm7
|
|
movq mm1,mm4
|
|
movq mm7,QWORD PTR [edx-16]
|
|
pxor mm5,mm6
|
|
psrlq mm1,14
|
|
movq QWORD PTR 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 QWORD PTR 16[esp],mm0
|
|
paddq mm7,mm5
|
|
pxor mm3,mm4
|
|
psrlq mm1,23
|
|
paddq mm7,QWORD PTR 8[esp]
|
|
pxor mm3,mm1
|
|
psllq mm4,4
|
|
pxor mm3,mm4
|
|
movq mm4,QWORD PTR 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,QWORD PTR 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,QWORD PTR 48[esp]
|
|
paddq mm2,mm6
|
|
movq mm6,QWORD PTR 56[esp]
|
|
movq mm1,mm4
|
|
movq mm7,QWORD PTR [edx-8]
|
|
pxor mm5,mm6
|
|
psrlq mm1,14
|
|
movq QWORD PTR 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 QWORD PTR 8[esp],mm2
|
|
paddq mm7,mm5
|
|
pxor mm3,mm4
|
|
psrlq mm1,23
|
|
paddq mm7,QWORD PTR [esp]
|
|
pxor mm3,mm1
|
|
psllq mm4,4
|
|
pxor mm3,mm4
|
|
movq mm4,QWORD PTR 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,QWORD PTR 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,QWORD PTR 40[esp]
|
|
paddq mm0,mm6
|
|
movq mm6,QWORD PTR 48[esp]
|
|
movdqa XMMWORD PTR [edx-16],xmm2
|
|
movq mm1,QWORD PTR 8[esp]
|
|
paddq mm0,mm3
|
|
movq mm3,QWORD PTR 24[esp]
|
|
movq mm7,QWORD PTR 56[esp]
|
|
pxor mm2,mm1
|
|
paddq mm0,QWORD PTR [esi]
|
|
paddq mm1,QWORD PTR 8[esi]
|
|
paddq mm2,QWORD PTR 16[esi]
|
|
paddq mm3,QWORD PTR 24[esi]
|
|
paddq mm4,QWORD PTR 32[esi]
|
|
paddq mm5,QWORD PTR 40[esi]
|
|
paddq mm6,QWORD PTR 48[esi]
|
|
paddq mm7,QWORD PTR 56[esi]
|
|
movq QWORD PTR [esi],mm0
|
|
movq QWORD PTR 8[esi],mm1
|
|
movq QWORD PTR 16[esi],mm2
|
|
movq QWORD PTR 24[esi],mm3
|
|
movq QWORD PTR 32[esi],mm4
|
|
movq QWORD PTR 40[esi],mm5
|
|
movq QWORD PTR 48[esi],mm6
|
|
movq QWORD PTR 56[esi],mm7
|
|
cmp edi,eax
|
|
jb $L007loop_ssse3
|
|
mov esp,DWORD PTR 76[edx]
|
|
emms
|
|
pop edi
|
|
pop esi
|
|
pop ebx
|
|
pop ebp
|
|
ret
|
|
ALIGN 16
|
|
$L002loop_x86:
|
|
mov eax,DWORD PTR [edi]
|
|
mov ebx,DWORD PTR 4[edi]
|
|
mov ecx,DWORD PTR 8[edi]
|
|
mov edx,DWORD PTR 12[edi]
|
|
bswap eax
|
|
bswap ebx
|
|
bswap ecx
|
|
bswap edx
|
|
push eax
|
|
push ebx
|
|
push ecx
|
|
push edx
|
|
mov eax,DWORD PTR 16[edi]
|
|
mov ebx,DWORD PTR 20[edi]
|
|
mov ecx,DWORD PTR 24[edi]
|
|
mov edx,DWORD PTR 28[edi]
|
|
bswap eax
|
|
bswap ebx
|
|
bswap ecx
|
|
bswap edx
|
|
push eax
|
|
push ebx
|
|
push ecx
|
|
push edx
|
|
mov eax,DWORD PTR 32[edi]
|
|
mov ebx,DWORD PTR 36[edi]
|
|
mov ecx,DWORD PTR 40[edi]
|
|
mov edx,DWORD PTR 44[edi]
|
|
bswap eax
|
|
bswap ebx
|
|
bswap ecx
|
|
bswap edx
|
|
push eax
|
|
push ebx
|
|
push ecx
|
|
push edx
|
|
mov eax,DWORD PTR 48[edi]
|
|
mov ebx,DWORD PTR 52[edi]
|
|
mov ecx,DWORD PTR 56[edi]
|
|
mov edx,DWORD PTR 60[edi]
|
|
bswap eax
|
|
bswap ebx
|
|
bswap ecx
|
|
bswap edx
|
|
push eax
|
|
push ebx
|
|
push ecx
|
|
push edx
|
|
mov eax,DWORD PTR 64[edi]
|
|
mov ebx,DWORD PTR 68[edi]
|
|
mov ecx,DWORD PTR 72[edi]
|
|
mov edx,DWORD PTR 76[edi]
|
|
bswap eax
|
|
bswap ebx
|
|
bswap ecx
|
|
bswap edx
|
|
push eax
|
|
push ebx
|
|
push ecx
|
|
push edx
|
|
mov eax,DWORD PTR 80[edi]
|
|
mov ebx,DWORD PTR 84[edi]
|
|
mov ecx,DWORD PTR 88[edi]
|
|
mov edx,DWORD PTR 92[edi]
|
|
bswap eax
|
|
bswap ebx
|
|
bswap ecx
|
|
bswap edx
|
|
push eax
|
|
push ebx
|
|
push ecx
|
|
push edx
|
|
mov eax,DWORD PTR 96[edi]
|
|
mov ebx,DWORD PTR 100[edi]
|
|
mov ecx,DWORD PTR 104[edi]
|
|
mov edx,DWORD PTR 108[edi]
|
|
bswap eax
|
|
bswap ebx
|
|
bswap ecx
|
|
bswap edx
|
|
push eax
|
|
push ebx
|
|
push ecx
|
|
push edx
|
|
mov eax,DWORD PTR 112[edi]
|
|
mov ebx,DWORD PTR 116[edi]
|
|
mov ecx,DWORD PTR 120[edi]
|
|
mov edx,DWORD PTR 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 PTR 204[esp],edi
|
|
lea edi,DWORD PTR 8[esp]
|
|
mov ecx,16
|
|
DD 2784229001
|
|
ALIGN 16
|
|
$L00900_15_x86:
|
|
mov ecx,DWORD PTR 40[esp]
|
|
mov edx,DWORD PTR 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 PTR 48[esp]
|
|
mov edx,DWORD PTR 52[esp]
|
|
mov esi,DWORD PTR 56[esp]
|
|
mov edi,DWORD PTR 60[esp]
|
|
add eax,DWORD PTR 64[esp]
|
|
adc ebx,DWORD PTR 68[esp]
|
|
xor ecx,esi
|
|
xor edx,edi
|
|
and ecx,DWORD PTR 40[esp]
|
|
and edx,DWORD PTR 44[esp]
|
|
add eax,DWORD PTR 192[esp]
|
|
adc ebx,DWORD PTR 196[esp]
|
|
xor ecx,esi
|
|
xor edx,edi
|
|
mov esi,DWORD PTR [ebp]
|
|
mov edi,DWORD PTR 4[ebp]
|
|
add eax,ecx
|
|
adc ebx,edx
|
|
mov ecx,DWORD PTR 32[esp]
|
|
mov edx,DWORD PTR 36[esp]
|
|
add eax,esi
|
|
adc ebx,edi
|
|
mov DWORD PTR [esp],eax
|
|
mov DWORD PTR 4[esp],ebx
|
|
add eax,ecx
|
|
adc ebx,edx
|
|
mov ecx,DWORD PTR 8[esp]
|
|
mov edx,DWORD PTR 12[esp]
|
|
mov DWORD PTR 32[esp],eax
|
|
mov DWORD PTR 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 PTR 8[esp]
|
|
mov edx,DWORD PTR 12[esp]
|
|
mov esi,DWORD PTR 16[esp]
|
|
mov edi,DWORD PTR 20[esp]
|
|
add eax,DWORD PTR [esp]
|
|
adc ebx,DWORD PTR 4[esp]
|
|
or ecx,esi
|
|
or edx,edi
|
|
and ecx,DWORD PTR 24[esp]
|
|
and edx,DWORD PTR 28[esp]
|
|
and esi,DWORD PTR 8[esp]
|
|
and edi,DWORD PTR 12[esp]
|
|
or ecx,esi
|
|
or edx,edi
|
|
add eax,ecx
|
|
adc ebx,edx
|
|
mov DWORD PTR [esp],eax
|
|
mov DWORD PTR 4[esp],ebx
|
|
mov dl,BYTE PTR [ebp]
|
|
sub esp,8
|
|
lea ebp,DWORD PTR 8[ebp]
|
|
cmp dl,148
|
|
jne $L00900_15_x86
|
|
ALIGN 16
|
|
$L01016_79_x86:
|
|
mov ecx,DWORD PTR 312[esp]
|
|
mov edx,DWORD PTR 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 PTR [esp],eax
|
|
mov DWORD PTR 4[esp],ebx
|
|
mov ecx,DWORD PTR 208[esp]
|
|
mov edx,DWORD PTR 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 PTR 320[esp]
|
|
mov edx,DWORD PTR 324[esp]
|
|
add eax,DWORD PTR [esp]
|
|
adc ebx,DWORD PTR 4[esp]
|
|
mov esi,DWORD PTR 248[esp]
|
|
mov edi,DWORD PTR 252[esp]
|
|
add eax,ecx
|
|
adc ebx,edx
|
|
add eax,esi
|
|
adc ebx,edi
|
|
mov DWORD PTR 192[esp],eax
|
|
mov DWORD PTR 196[esp],ebx
|
|
mov ecx,DWORD PTR 40[esp]
|
|
mov edx,DWORD PTR 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 PTR 48[esp]
|
|
mov edx,DWORD PTR 52[esp]
|
|
mov esi,DWORD PTR 56[esp]
|
|
mov edi,DWORD PTR 60[esp]
|
|
add eax,DWORD PTR 64[esp]
|
|
adc ebx,DWORD PTR 68[esp]
|
|
xor ecx,esi
|
|
xor edx,edi
|
|
and ecx,DWORD PTR 40[esp]
|
|
and edx,DWORD PTR 44[esp]
|
|
add eax,DWORD PTR 192[esp]
|
|
adc ebx,DWORD PTR 196[esp]
|
|
xor ecx,esi
|
|
xor edx,edi
|
|
mov esi,DWORD PTR [ebp]
|
|
mov edi,DWORD PTR 4[ebp]
|
|
add eax,ecx
|
|
adc ebx,edx
|
|
mov ecx,DWORD PTR 32[esp]
|
|
mov edx,DWORD PTR 36[esp]
|
|
add eax,esi
|
|
adc ebx,edi
|
|
mov DWORD PTR [esp],eax
|
|
mov DWORD PTR 4[esp],ebx
|
|
add eax,ecx
|
|
adc ebx,edx
|
|
mov ecx,DWORD PTR 8[esp]
|
|
mov edx,DWORD PTR 12[esp]
|
|
mov DWORD PTR 32[esp],eax
|
|
mov DWORD PTR 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 PTR 8[esp]
|
|
mov edx,DWORD PTR 12[esp]
|
|
mov esi,DWORD PTR 16[esp]
|
|
mov edi,DWORD PTR 20[esp]
|
|
add eax,DWORD PTR [esp]
|
|
adc ebx,DWORD PTR 4[esp]
|
|
or ecx,esi
|
|
or edx,edi
|
|
and ecx,DWORD PTR 24[esp]
|
|
and edx,DWORD PTR 28[esp]
|
|
and esi,DWORD PTR 8[esp]
|
|
and edi,DWORD PTR 12[esp]
|
|
or ecx,esi
|
|
or edx,edi
|
|
add eax,ecx
|
|
adc ebx,edx
|
|
mov DWORD PTR [esp],eax
|
|
mov DWORD PTR 4[esp],ebx
|
|
mov dl,BYTE PTR [ebp]
|
|
sub esp,8
|
|
lea ebp,DWORD PTR 8[ebp]
|
|
cmp dl,23
|
|
jne $L01016_79_x86
|
|
mov esi,DWORD PTR 840[esp]
|
|
mov edi,DWORD PTR 844[esp]
|
|
mov eax,DWORD PTR [esi]
|
|
mov ebx,DWORD PTR 4[esi]
|
|
mov ecx,DWORD PTR 8[esi]
|
|
mov edx,DWORD PTR 12[esi]
|
|
add eax,DWORD PTR 8[esp]
|
|
adc ebx,DWORD PTR 12[esp]
|
|
mov DWORD PTR [esi],eax
|
|
mov DWORD PTR 4[esi],ebx
|
|
add ecx,DWORD PTR 16[esp]
|
|
adc edx,DWORD PTR 20[esp]
|
|
mov DWORD PTR 8[esi],ecx
|
|
mov DWORD PTR 12[esi],edx
|
|
mov eax,DWORD PTR 16[esi]
|
|
mov ebx,DWORD PTR 20[esi]
|
|
mov ecx,DWORD PTR 24[esi]
|
|
mov edx,DWORD PTR 28[esi]
|
|
add eax,DWORD PTR 24[esp]
|
|
adc ebx,DWORD PTR 28[esp]
|
|
mov DWORD PTR 16[esi],eax
|
|
mov DWORD PTR 20[esi],ebx
|
|
add ecx,DWORD PTR 32[esp]
|
|
adc edx,DWORD PTR 36[esp]
|
|
mov DWORD PTR 24[esi],ecx
|
|
mov DWORD PTR 28[esi],edx
|
|
mov eax,DWORD PTR 32[esi]
|
|
mov ebx,DWORD PTR 36[esi]
|
|
mov ecx,DWORD PTR 40[esi]
|
|
mov edx,DWORD PTR 44[esi]
|
|
add eax,DWORD PTR 40[esp]
|
|
adc ebx,DWORD PTR 44[esp]
|
|
mov DWORD PTR 32[esi],eax
|
|
mov DWORD PTR 36[esi],ebx
|
|
add ecx,DWORD PTR 48[esp]
|
|
adc edx,DWORD PTR 52[esp]
|
|
mov DWORD PTR 40[esi],ecx
|
|
mov DWORD PTR 44[esi],edx
|
|
mov eax,DWORD PTR 48[esi]
|
|
mov ebx,DWORD PTR 52[esi]
|
|
mov ecx,DWORD PTR 56[esi]
|
|
mov edx,DWORD PTR 60[esi]
|
|
add eax,DWORD PTR 56[esp]
|
|
adc ebx,DWORD PTR 60[esp]
|
|
mov DWORD PTR 48[esi],eax
|
|
mov DWORD PTR 52[esi],ebx
|
|
add ecx,DWORD PTR 64[esp]
|
|
adc edx,DWORD PTR 68[esp]
|
|
mov DWORD PTR 56[esi],ecx
|
|
mov DWORD PTR 60[esi],edx
|
|
add esp,840
|
|
sub ebp,640
|
|
cmp edi,DWORD PTR 8[esp]
|
|
jb $L002loop_x86
|
|
mov esp,DWORD PTR 12[esp]
|
|
pop edi
|
|
pop esi
|
|
pop ebx
|
|
pop ebp
|
|
ret
|
|
ALIGN 64
|
|
$L001K512:
|
|
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
|
|
_sha512_block_data_order ENDP
|
|
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
|
|
.text$ ENDS
|
|
.bss SEGMENT 'BSS'
|
|
COMM _OPENSSL_ia32cap_P:DWORD:4
|
|
.bss ENDS
|
|
END
|
|
|