|
|
|
TITLE sha1-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
|
|
|
|
_sha1_block_data_order PROC PUBLIC
|
|
|
|
$L_sha1_block_data_order_begin::
|
|
|
|
push ebp
|
|
|
|
push ebx
|
|
|
|
push esi
|
|
|
|
push edi
|
|
|
|
call $L000pic_point
|
|
|
|
$L000pic_point:
|
|
|
|
pop ebp
|
|
|
|
lea esi,DWORD PTR _OPENSSL_ia32cap_P
|
|
|
|
lea ebp,DWORD PTR ($LK_XX_XX-$L000pic_point)[ebp]
|
|
|
|
mov eax,DWORD PTR [esi]
|
|
|
|
mov edx,DWORD PTR 4[esi]
|
|
|
|
test edx,512
|
|
|
|
jz $L001x86
|
|
|
|
mov ecx,DWORD PTR 8[esi]
|
|
|
|
test eax,16777216
|
|
|
|
jz $L001x86
|
|
|
|
test ecx,536870912
|
|
|
|
jnz $Lshaext_shortcut
|
|
|
|
and edx,268435456
|
|
|
|
and eax,1073741824
|
|
|
|
or eax,edx
|
|
|
|
cmp eax,1342177280
|
|
|
|
je $Lavx_shortcut
|
|
|
|
jmp $Lssse3_shortcut
|
|
|
|
ALIGN 16
|
|
|
|
$L001x86:
|
|
|
|
mov ebp,DWORD PTR 20[esp]
|
|
|
|
mov esi,DWORD PTR 24[esp]
|
|
|
|
mov eax,DWORD PTR 28[esp]
|
|
|
|
sub esp,76
|
|
|
|
shl eax,6
|
|
|
|
add eax,esi
|
|
|
|
mov DWORD PTR 104[esp],eax
|
|
|
|
mov edi,DWORD PTR 16[ebp]
|
|
|
|
jmp $L002loop
|
|
|
|
ALIGN 16
|
|
|
|
$L002loop:
|
|
|
|
mov eax,DWORD PTR [esi]
|
|
|
|
mov ebx,DWORD PTR 4[esi]
|
|
|
|
mov ecx,DWORD PTR 8[esi]
|
|
|
|
mov edx,DWORD PTR 12[esi]
|
|
|
|
bswap eax
|
|
|
|
bswap ebx
|
|
|
|
bswap ecx
|
|
|
|
bswap edx
|
|
|
|
mov DWORD PTR [esp],eax
|
|
|
|
mov DWORD PTR 4[esp],ebx
|
|
|
|
mov DWORD PTR 8[esp],ecx
|
|
|
|
mov DWORD PTR 12[esp],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]
|
|
|
|
bswap eax
|
|
|
|
bswap ebx
|
|
|
|
bswap ecx
|
|
|
|
bswap edx
|
|
|
|
mov DWORD PTR 16[esp],eax
|
|
|
|
mov DWORD PTR 20[esp],ebx
|
|
|
|
mov DWORD PTR 24[esp],ecx
|
|
|
|
mov DWORD PTR 28[esp],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]
|
|
|
|
bswap eax
|
|
|
|
bswap ebx
|
|
|
|
bswap ecx
|
|
|
|
bswap edx
|
|
|
|
mov DWORD PTR 32[esp],eax
|
|
|
|
mov DWORD PTR 36[esp],ebx
|
|
|
|
mov DWORD PTR 40[esp],ecx
|
|
|
|
mov DWORD PTR 44[esp],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]
|
|
|
|
bswap eax
|
|
|
|
bswap ebx
|
|
|
|
bswap ecx
|
|
|
|
bswap edx
|
|
|
|
mov DWORD PTR 48[esp],eax
|
|
|
|
mov DWORD PTR 52[esp],ebx
|
|
|
|
mov DWORD PTR 56[esp],ecx
|
|
|
|
mov DWORD PTR 60[esp],edx
|
|
|
|
mov DWORD PTR 100[esp],esi
|
|
|
|
mov eax,DWORD PTR [ebp]
|
|
|
|
mov ebx,DWORD PTR 4[ebp]
|
|
|
|
mov ecx,DWORD PTR 8[ebp]
|
|
|
|
mov edx,DWORD PTR 12[ebp]
|
|
|
|
; 00_15 0
|
|
|
|
mov esi,ecx
|
|
|
|
mov ebp,eax
|
|
|
|
rol ebp,5
|
|
|
|
xor esi,edx
|
|
|
|
add ebp,edi
|
|
|
|
mov edi,DWORD PTR [esp]
|
|
|
|
and esi,ebx
|
|
|
|
ror ebx,2
|
|
|
|
xor esi,edx
|
|
|
|
lea ebp,DWORD PTR 1518500249[edi*1+ebp]
|
|
|
|
add ebp,esi
|
|
|
|
; 00_15 1
|
|
|
|
mov edi,ebx
|
|
|
|
mov esi,ebp
|
|
|
|
rol ebp,5
|
|
|
|
xor edi,ecx
|
|
|
|
add ebp,edx
|
|
|
|
mov edx,DWORD PTR 4[esp]
|
|
|
|
and edi,eax
|
|
|
|
ror eax,2
|
|
|
|
xor edi,ecx
|
|
|
|
lea ebp,DWORD PTR 1518500249[edx*1+ebp]
|
|
|
|
add ebp,edi
|
|
|
|
; 00_15 2
|
|
|
|
mov edx,eax
|
|
|
|
mov edi,ebp
|
|
|
|
rol ebp,5
|
|
|
|
xor edx,ebx
|
|
|
|
add ebp,ecx
|
|
|
|
mov ecx,DWORD PTR 8[esp]
|
|
|
|
and edx,esi
|
|
|
|
ror esi,2
|
|
|
|
xor edx,ebx
|
|
|
|
lea ebp,DWORD PTR 1518500249[ecx*1+ebp]
|
|
|
|
add ebp,edx
|
|
|
|
; 00_15 3
|
|
|
|
mov ecx,esi
|
|
|
|
mov edx,ebp
|
|
|
|
rol ebp,5
|
|
|
|
xor ecx,eax
|
|
|
|
add ebp,ebx
|
|
|
|
mov ebx,DWORD PTR 12[esp]
|
|
|
|
and ecx,edi
|
|
|
|
ror edi,2
|
|
|
|
xor ecx,eax
|
|
|
|
lea ebp,DWORD PTR 1518500249[ebx*1+ebp]
|
|
|
|
add ebp,ecx
|
|
|
|
; 00_15 4
|
|
|
|
mov ebx,edi
|
|
|
|
mov ecx,ebp
|
|
|
|
rol ebp,5
|
|
|
|
xor ebx,esi
|
|
|
|
add ebp,eax
|
|
|
|
mov eax,DWORD PTR 16[esp]
|
|
|
|
and ebx,edx
|
|
|
|
ror edx,2
|
|
|
|
xor ebx,esi
|
|
|
|
lea ebp,DWORD PTR 1518500249[eax*1+ebp]
|
|
|
|
add ebp,ebx
|
|
|
|
; 00_15 5
|
|
|
|
mov eax,edx
|
|
|
|
mov ebx,ebp
|
|
|
|
rol ebp,5
|
|
|
|
xor eax,edi
|
|
|
|
add ebp,esi
|
|
|
|
mov esi,DWORD PTR 20[esp]
|
|
|
|
and eax,ecx
|
|
|
|
ror ecx,2
|
|
|
|
xor eax,edi
|
|
|
|
lea ebp,DWORD PTR 1518500249[esi*1+ebp]
|
|
|
|
add ebp,eax
|
|
|
|
; 00_15 6
|
|
|
|
mov esi,ecx
|
|
|
|
mov eax,ebp
|
|
|
|
rol ebp,5
|
|
|
|
xor esi,edx
|
|
|
|
add ebp,edi
|
|
|
|
mov edi,DWORD PTR 24[esp]
|
|
|
|
and esi,ebx
|
|
|
|
ror ebx,2
|
|
|
|
xor esi,edx
|
|
|
|
lea ebp,DWORD PTR 1518500249[edi*1+ebp]
|
|
|
|
add ebp,esi
|
|
|
|
; 00_15 7
|
|
|
|
mov edi,ebx
|
|
|
|
mov esi,ebp
|
|
|
|
rol ebp,5
|
|
|
|
xor edi,ecx
|
|
|
|
add ebp,edx
|
|
|
|
mov edx,DWORD PTR 28[esp]
|
|
|
|
and edi,eax
|
|
|
|
ror eax,2
|
|
|
|
xor edi,ecx
|
|
|
|
lea ebp,DWORD PTR 1518500249[edx*1+ebp]
|
|
|
|
add ebp,edi
|
|
|
|
; 00_15 8
|
|
|
|
mov edx,eax
|
|
|
|
mov edi,ebp
|
|
|
|
rol ebp,5
|
|
|
|
xor edx,ebx
|
|
|
|
add ebp,ecx
|
|
|
|
mov ecx,DWORD PTR 32[esp]
|
|
|
|
and edx,esi
|
|
|
|
ror esi,2
|
|
|
|
xor edx,ebx
|
|
|
|
lea ebp,DWORD PTR 1518500249[ecx*1+ebp]
|
|
|
|
add ebp,edx
|
|
|
|
; 00_15 9
|
|
|
|
mov ecx,esi
|
|
|
|
mov edx,ebp
|
|
|
|
rol ebp,5
|
|
|
|
xor ecx,eax
|
|
|
|
add ebp,ebx
|
|
|
|
mov ebx,DWORD PTR 36[esp]
|
|
|
|
and ecx,edi
|
|
|
|
ror edi,2
|
|
|
|
xor ecx,eax
|
|
|
|
lea ebp,DWORD PTR 1518500249[ebx*1+ebp]
|
|
|
|
add ebp,ecx
|
|
|
|
; 00_15 10
|
|
|
|
mov ebx,edi
|
|
|
|
mov ecx,ebp
|
|
|
|
rol ebp,5
|
|
|
|
xor ebx,esi
|
|
|
|
add ebp,eax
|
|
|
|
mov eax,DWORD PTR 40[esp]
|
|
|
|
and ebx,edx
|
|
|
|
ror edx,2
|
|
|
|
xor ebx,esi
|
|
|
|
lea ebp,DWORD PTR 1518500249[eax*1+ebp]
|
|
|
|
add ebp,ebx
|
|
|
|
; 00_15 11
|
|
|
|
mov eax,edx
|
|
|
|
mov ebx,ebp
|
|
|
|
rol ebp,5
|
|
|
|
xor eax,edi
|
|
|
|
add ebp,esi
|
|
|
|
mov esi,DWORD PTR 44[esp]
|
|
|
|
and eax,ecx
|
|
|
|
ror ecx,2
|
|
|
|
xor eax,edi
|
|
|
|
lea ebp,DWORD PTR 1518500249[esi*1+ebp]
|
|
|
|
add ebp,eax
|
|
|
|
; 00_15 12
|
|
|
|
mov esi,ecx
|
|
|
|
mov eax,ebp
|
|
|
|
rol ebp,5
|
|
|
|
xor esi,edx
|
|
|
|
add ebp,edi
|
|
|
|
mov edi,DWORD PTR 48[esp]
|
|
|
|
and esi,ebx
|
|
|
|
ror ebx,2
|
|
|
|
xor esi,edx
|
|
|
|
lea ebp,DWORD PTR 1518500249[edi*1+ebp]
|
|
|
|
add ebp,esi
|
|
|
|
; 00_15 13
|
|
|
|
mov edi,ebx
|
|
|
|
mov esi,ebp
|
|
|
|
rol ebp,5
|
|
|
|
xor edi,ecx
|
|
|
|
add ebp,edx
|
|
|
|
mov edx,DWORD PTR 52[esp]
|
|
|
|
and edi,eax
|
|
|
|
ror eax,2
|
|
|
|
xor edi,ecx
|
|
|
|
lea ebp,DWORD PTR 1518500249[edx*1+ebp]
|
|
|
|
add ebp,edi
|
|
|
|
; 00_15 14
|
|
|
|
mov edx,eax
|
|
|
|
mov edi,ebp
|
|
|
|
rol ebp,5
|
|
|
|
xor edx,ebx
|
|
|
|
add ebp,ecx
|
|
|
|
mov ecx,DWORD PTR 56[esp]
|
|
|
|
and edx,esi
|
|
|
|
ror esi,2
|
|
|
|
xor edx,ebx
|
|
|
|
lea ebp,DWORD PTR 1518500249[ecx*1+ebp]
|
|
|
|
add ebp,edx
|
|
|
|
; 00_15 15
|
|
|
|
mov ecx,esi
|
|
|
|
mov edx,ebp
|
|
|
|
rol ebp,5
|
|
|
|
xor ecx,eax
|
|
|
|
add ebp,ebx
|
|
|
|
mov ebx,DWORD PTR 60[esp]
|
|
|
|
and ecx,edi
|
|
|
|
ror edi,2
|
|
|
|
xor ecx,eax
|
|
|
|
lea ebp,DWORD PTR 1518500249[ebx*1+ebp]
|
|
|
|
mov ebx,DWORD PTR [esp]
|
|
|
|
add ecx,ebp
|
|
|
|
; 16_19 16
|
|
|
|
mov ebp,edi
|
|
|
|
xor ebx,DWORD PTR 8[esp]
|
|
|
|
xor ebp,esi
|
|
|
|
xor ebx,DWORD PTR 32[esp]
|
|
|
|
and ebp,edx
|
|
|
|
xor ebx,DWORD PTR 52[esp]
|
|
|
|
rol ebx,1
|
|
|
|
xor ebp,esi
|
|
|
|
add eax,ebp
|
|
|
|
mov ebp,ecx
|
|
|
|
ror edx,2
|
|
|
|
mov DWORD PTR [esp],ebx
|
|
|
|
rol ebp,5
|
|
|
|
lea ebx,DWORD PTR 1518500249[eax*1+ebx]
|
|
|
|
mov eax,DWORD PTR 4[esp]
|
|
|
|
add ebx,ebp
|
|
|
|
; 16_19 17
|
|
|
|
mov ebp,edx
|
|
|
|
xor eax,DWORD PTR 12[esp]
|
|
|
|
xor ebp,edi
|
|
|
|
xor eax,DWORD PTR 36[esp]
|
|
|
|
and ebp,ecx
|
|
|
|
xor eax,DWORD PTR 56[esp]
|
|
|
|
rol eax,1
|
|
|
|
xor ebp,edi
|
|
|
|
add esi,ebp
|
|
|
|
mov ebp,ebx
|
|
|
|
ror ecx,2
|
|
|
|
mov DWORD PTR 4[esp],eax
|
|
|
|
rol ebp,5
|
|
|
|
lea eax,DWORD PTR 1518500249[esi*1+eax]
|
|
|
|
mov esi,DWORD PTR 8[esp]
|
|
|
|
add eax,ebp
|
|
|
|
; 16_19 18
|
|
|
|
mov ebp,ecx
|
|
|
|
xor esi,DWORD PTR 16[esp]
|
|
|
|
xor ebp,edx
|
|
|
|
xor esi,DWORD PTR 40[esp]
|
|
|
|
and ebp,ebx
|
|
|
|
xor esi,DWORD PTR 60[esp]
|
|
|
|
rol esi,1
|
|
|
|
xor ebp,edx
|
|
|
|
add edi,ebp
|
|
|
|
mov ebp,eax
|
|
|
|
ror ebx,2
|
|
|
|
mov DWORD PTR 8[esp],esi
|
|
|
|
rol ebp,5
|
|
|
|
lea esi,DWORD PTR 1518500249[edi*1+esi]
|
|
|
|
mov edi,DWORD PTR 12[esp]
|
|
|
|
add esi,ebp
|
|
|
|
; 16_19 19
|
|
|
|
mov ebp,ebx
|
|
|
|
xor edi,DWORD PTR 20[esp]
|
|
|
|
xor ebp,ecx
|
|
|
|
xor edi,DWORD PTR 44[esp]
|
|
|
|
and ebp,eax
|
|
|
|
xor edi,DWORD PTR [esp]
|
|
|
|
rol edi,1
|
|
|
|
xor ebp,ecx
|
|
|
|
add edx,ebp
|
|
|
|
mov ebp,esi
|
|
|
|
ror eax,2
|
|
|
|
mov DWORD PTR 12[esp],edi
|
|
|
|
rol ebp,5
|
|
|
|
lea edi,DWORD PTR 1518500249[edx*1+edi]
|
|
|
|
mov edx,DWORD PTR 16[esp]
|
|
|
|
add edi,ebp
|
|
|
|
; 20_39 20
|
|
|
|
mov ebp,esi
|
|
|
|
xor edx,DWORD PTR 24[esp]
|
|
|
|
xor ebp,eax
|
|
|
|
xor edx,DWORD PTR 48[esp]
|
|
|
|
xor ebp,ebx
|
|
|
|
xor edx,DWORD PTR 4[esp]
|
|
|
|
rol edx,1
|
|
|
|
add ecx,ebp
|
|
|
|
ror esi,2
|
|
|
|
mov ebp,edi
|
|
|
|
rol ebp,5
|
|
|
|
mov DWORD PTR 16[esp],edx
|
|
|
|
lea edx,DWORD PTR 1859775393[ecx*1+edx]
|
|
|
|
mov ecx,DWORD PTR 20[esp]
|
|
|
|
add edx,ebp
|
|
|
|
; 20_39 21
|
|
|
|
mov ebp,edi
|
|
|
|
xor ecx,DWORD PTR 28[esp]
|
|
|
|
xor ebp,esi
|
|
|
|
xor ecx,DWORD PTR 52[esp]
|
|
|
|
xor ebp,eax
|
|
|
|
xor ecx,DWORD PTR 8[esp]
|
|
|
|
rol ecx,1
|
|
|
|
add ebx,ebp
|
|
|
|
ror edi,2
|
|
|
|
mov ebp,edx
|
|
|
|
rol ebp,5
|
|
|
|
mov DWORD PTR 20[esp],ecx
|
|
|
|
lea ecx,DWORD PTR 1859775393[ebx*1+ecx]
|
|
|
|
mov ebx,DWORD PTR 24[esp]
|
|
|
|
add ecx,ebp
|
|
|
|
; 20_39 22
|
|
|
|
mov ebp,edx
|
|
|
|
xor ebx,DWORD PTR 32[esp]
|
|
|
|
xor ebp,edi
|
|
|
|
xor ebx,DWORD PTR 56[esp]
|
|
|
|
xor ebp,esi
|
|
|
|
xor ebx,DWORD PTR 12[esp]
|
|
|
|
rol ebx,1
|
|
|
|
add eax,ebp
|
|
|
|
ror edx,2
|
|
|
|
mov ebp,ecx
|
|
|
|
rol ebp,5
|
|
|
|
mov DWORD PTR 24[esp],ebx
|
|
|
|
lea ebx,DWORD PTR 1859775393[eax*1+ebx]
|
|
|
|
mov eax,DWORD PTR 28[esp]
|
|
|
|
add ebx,ebp
|
|
|
|
; 20_39 23
|
|
|
|
mov ebp,ecx
|
|
|
|
xor eax,DWORD PTR 36[esp]
|
|
|
|
xor ebp,edx
|
|
|
|
xor eax,DWORD PTR 60[esp]
|
|
|
|
xor ebp,edi
|
|
|
|
xor eax,DWORD PTR 16[esp]
|
|
|
|
rol eax,1
|
|
|
|
add esi,ebp
|
|
|
|
ror ecx,2
|
|
|
|
mov ebp,ebx
|
|
|
|
rol ebp,5
|
|
|
|
mov DWORD PTR 28[esp],eax
|
|
|
|
lea eax,DWORD PTR 1859775393[esi*1+eax]
|
|
|
|
mov esi,DWORD PTR 32[esp]
|
|
|
|
add eax,ebp
|
|
|
|
; 20_39 24
|
|
|
|
mov ebp,ebx
|
|
|
|
xor esi,DWORD PTR 40[esp]
|
|
|
|
xor ebp,ecx
|
|
|
|
xor esi,DWORD PTR [esp]
|
|
|
|
xor ebp,edx
|
|
|
|
xor esi,DWORD PTR 20[esp]
|
|
|
|
rol esi,1
|
|
|
|
add edi,ebp
|
|
|
|
ror ebx,2
|
|
|
|
mov ebp,eax
|
|
|
|
rol ebp,5
|
|
|
|
mov DWORD PTR 32[esp],esi
|
|
|
|
lea esi,DWORD PTR 1859775393[edi*1+esi]
|
|
|
|
mov edi,DWORD PTR 36[esp]
|
|
|
|
add esi,ebp
|
|
|
|
; 20_39 25
|
|
|
|
mov ebp,eax
|
|
|
|
xor edi,DWORD PTR 44[esp]
|
|
|
|
xor ebp,ebx
|
|
|
|
xor edi,DWORD PTR 4[esp]
|
|
|
|
xor ebp,ecx
|
|
|
|
xor edi,DWORD PTR 24[esp]
|
|
|
|
rol edi,1
|
|
|
|
add edx,ebp
|
|
|
|
ror eax,2
|
|
|
|
mov ebp,esi
|
|
|
|
rol ebp,5
|
|
|
|
mov DWORD PTR 36[esp],edi
|
|
|
|
lea edi,DWORD PTR 1859775393[edx*1+edi]
|
|
|
|
mov edx,DWORD PTR 40[esp]
|
|
|
|
add edi,ebp
|
|
|
|
; 20_39 26
|
|
|
|
mov ebp,esi
|
|
|
|
xor edx,DWORD PTR 48[esp]
|
|
|
|
xor ebp,eax
|
|
|
|
xor edx,DWORD PTR 8[esp]
|
|
|
|
xor ebp,ebx
|
|
|
|
xor edx,DWORD PTR 28[esp]
|
|
|
|
rol edx,1
|
|
|
|
add ecx,ebp
|
|
|
|
ror esi,2
|
|
|
|
mov ebp,edi
|
|
|
|
rol ebp,5
|
|
|
|
mov DWORD PTR 40[esp],edx
|
|
|
|
lea edx,DWORD PTR 1859775393[ecx*1+edx]
|
|
|
|
mov ecx,DWORD PTR 44[esp]
|
|
|
|
add edx,ebp
|
|
|
|
; 20_39 27
|
|
|
|
mov ebp,edi
|
|
|
|
xor ecx,DWORD PTR 52[esp]
|
|
|
|
xor ebp,esi
|
|
|
|
xor ecx,DWORD PTR 12[esp]
|
|
|
|
xor ebp,eax
|
|
|
|
xor ecx,DWORD PTR 32[esp]
|
|
|
|
rol ecx,1
|
|
|
|
add ebx,ebp
|
|
|
|
ror edi,2
|
|
|
|
mov ebp,edx
|
|
|
|
rol ebp,5
|
|
|
|
mov DWORD PTR 44[esp],ecx
|
|
|
|
lea ecx,DWORD PTR 1859775393[ebx*1+ecx]
|
|
|
|
mov ebx,DWORD PTR 48[esp]
|
|
|
|
add ecx,ebp
|
|
|
|
; 20_39 28
|
|
|
|
mov ebp,edx
|
|
|
|
xor ebx,DWORD PTR 56[esp]
|
|
|
|
xor ebp,edi
|
|
|
|
xor ebx,DWORD PTR 16[esp]
|
|
|
|
xor ebp,esi
|
|
|
|
xor ebx,DWORD PTR 36[esp]
|
|
|
|
rol ebx,1
|
|
|
|
add eax,ebp
|
|
|
|
ror edx,2
|
|
|
|
mov ebp,ecx
|
|
|
|
rol ebp,5
|
|
|
|
mov DWORD PTR 48[esp],ebx
|
|
|
|
lea ebx,DWORD PTR 1859775393[eax*1+ebx]
|
|
|
|
mov eax,DWORD PTR 52[esp]
|
|
|
|
add ebx,ebp
|
|
|
|
; 20_39 29
|
|
|
|
mov ebp,ecx
|
|
|
|
xor eax,DWORD PTR 60[esp]
|
|
|
|
xor ebp,edx
|
|
|
|
xor eax,DWORD PTR 20[esp]
|
|
|
|
xor ebp,edi
|
|
|
|
xor eax,DWORD PTR 40[esp]
|
|
|
|
rol eax,1
|
|
|
|
add esi,ebp
|
|
|
|
ror ecx,2
|
|
|
|
mov ebp,ebx
|
|
|
|
rol ebp,5
|
|
|
|
mov DWORD PTR 52[esp],eax
|
|
|
|
lea eax,DWORD PTR 1859775393[esi*1+eax]
|
|
|
|
mov esi,DWORD PTR 56[esp]
|
|
|
|
add eax,ebp
|
|
|
|
; 20_39 30
|
|
|
|
mov ebp,ebx
|
|
|
|
xor esi,DWORD PTR [esp]
|
|
|
|
xor ebp,ecx
|
|
|
|
xor esi,DWORD PTR 24[esp]
|
|
|
|
xor ebp,edx
|
|
|
|
xor esi,DWORD PTR 44[esp]
|
|
|
|
rol esi,1
|
|
|
|
add edi,ebp
|
|
|
|
ror ebx,2
|
|
|
|
mov ebp,eax
|
|
|
|
rol ebp,5
|
|
|
|
mov DWORD PTR 56[esp],esi
|
|
|
|
lea esi,DWORD PTR 1859775393[edi*1+esi]
|
|
|
|
mov edi,DWORD PTR 60[esp]
|
|
|
|
add esi,ebp
|
|
|
|
; 20_39 31
|
|
|
|
mov ebp,eax
|
|
|
|
xor edi,DWORD PTR 4[esp]
|
|
|
|
xor ebp,ebx
|
|
|
|
xor edi,DWORD PTR 28[esp]
|
|
|
|
xor ebp,ecx
|
|
|
|
xor edi,DWORD PTR 48[esp]
|
|
|
|
rol edi,1
|
|
|
|
add edx,ebp
|
|
|
|
ror eax,2
|
|
|
|
mov ebp,esi
|
|
|
|
rol ebp,5
|
|
|
|
mov DWORD PTR 60[esp],edi
|
|
|
|
lea edi,DWORD PTR 1859775393[edx*1+edi]
|
|
|
|
mov edx,DWORD PTR [esp]
|
|
|
|
add edi,ebp
|
|
|
|
; 20_39 32
|
|
|
|
mov ebp,esi
|
|
|
|
xor edx,DWORD PTR 8[esp]
|
|
|
|
xor ebp,eax
|
|
|
|
xor edx,DWORD PTR 32[esp]
|
|
|
|
xor ebp,ebx
|
|
|
|
xor edx,DWORD PTR 52[esp]
|
|
|
|
rol edx,1
|
|
|
|
add ecx,ebp
|
|
|
|
ror esi,2
|
|
|
|
mov ebp,edi
|
|
|
|
rol ebp,5
|
|
|
|
mov DWORD PTR [esp],edx
|
|
|
|
lea edx,DWORD PTR 1859775393[ecx*1+edx]
|
|
|
|
mov ecx,DWORD PTR 4[esp]
|
|
|
|
add edx,ebp
|
|
|
|
; 20_39 33
|
|
|
|
mov ebp,edi
|
|
|
|
xor ecx,DWORD PTR 12[esp]
|
|
|
|
xor ebp,esi
|
|
|
|
xor ecx,DWORD PTR 36[esp]
|
|
|
|
xor ebp,eax
|
|
|
|
xor ecx,DWORD PTR 56[esp]
|
|
|
|
rol ecx,1
|
|
|
|
add ebx,ebp
|
|
|
|
ror edi,2
|
|
|
|
mov ebp,edx
|
|
|
|
rol ebp,5
|
|
|
|
mov DWORD PTR 4[esp],ecx
|
|
|
|
lea ecx,DWORD PTR 1859775393[ebx*1+ecx]
|
|
|
|
mov ebx,DWORD PTR 8[esp]
|
|
|
|
add ecx,ebp
|
|
|
|
; 20_39 34
|
|
|
|
mov ebp,edx
|
|
|
|
xor ebx,DWORD PTR 16[esp]
|
|
|
|
xor ebp,edi
|
|
|
|
xor ebx,DWORD PTR 40[esp]
|
|
|
|
xor ebp,esi
|
|
|
|
xor ebx,DWORD PTR 60[esp]
|
|
|
|
rol ebx,1
|
|
|
|
add eax,ebp
|
|
|
|
ror edx,2
|
|
|
|
mov ebp,ecx
|
|
|
|
rol ebp,5
|
|
|
|
mov DWORD PTR 8[esp],ebx
|
|
|
|
lea ebx,DWORD PTR 1859775393[eax*1+ebx]
|
|
|
|
mov eax,DWORD PTR 12[esp]
|
|
|
|
add ebx,ebp
|
|
|
|
; 20_39 35
|
|
|
|
mov ebp,ecx
|
|
|
|
xor eax,DWORD PTR 20[esp]
|
|
|
|
xor ebp,edx
|
|
|
|
xor eax,DWORD PTR 44[esp]
|
|
|
|
xor ebp,edi
|
|
|
|
xor eax,DWORD PTR [esp]
|
|
|
|
rol eax,1
|
|
|
|
add esi,ebp
|
|
|
|
ror ecx,2
|
|
|
|
mov ebp,ebx
|
|
|
|
rol ebp,5
|
|
|
|
mov DWORD PTR 12[esp],eax
|
|
|
|
lea eax,DWORD PTR 1859775393[esi*1+eax]
|
|
|
|
mov esi,DWORD PTR 16[esp]
|
|
|
|
add eax,ebp
|
|
|
|
; 20_39 36
|
|
|
|
mov ebp,ebx
|
|
|
|
xor esi,DWORD PTR 24[esp]
|
|
|
|
xor ebp,ecx
|
|
|
|
xor esi,DWORD PTR 48[esp]
|
|
|
|
xor ebp,edx
|
|
|
|
xor esi,DWORD PTR 4[esp]
|
|
|
|
rol esi,1
|
|
|
|
add edi,ebp
|
|
|
|
ror ebx,2
|
|
|
|
mov ebp,eax
|
|
|
|
rol ebp,5
|
|
|
|
mov DWORD PTR 16[esp],esi
|
|
|
|
lea esi,DWORD PTR 1859775393[edi*1+esi]
|
|
|
|
mov edi,DWORD PTR 20[esp]
|
|
|
|
add esi,ebp
|
|
|
|
; 20_39 37
|
|
|
|
mov ebp,eax
|
|
|
|
xor edi,DWORD PTR 28[esp]
|
|
|
|
xor ebp,ebx
|
|
|
|
xor edi,DWORD PTR 52[esp]
|
|
|
|
xor ebp,ecx
|
|
|
|
xor edi,DWORD PTR 8[esp]
|
|
|
|
rol edi,1
|
|
|
|
add edx,ebp
|
|
|
|
ror eax,2
|
|
|
|
mov ebp,esi
|
|
|
|
rol ebp,5
|
|
|
|
mov DWORD PTR 20[esp],edi
|
|
|
|
lea edi,DWORD PTR 1859775393[edx*1+edi]
|
|
|
|
mov edx,DWORD PTR 24[esp]
|
|
|
|
add edi,ebp
|
|
|
|
; 20_39 38
|
|
|
|
mov ebp,esi
|
|
|
|
xor edx,DWORD PTR 32[esp]
|
|
|
|
xor ebp,eax
|
|
|
|
xor edx,DWORD PTR 56[esp]
|
|
|
|
xor ebp,ebx
|
|
|
|
xor edx,DWORD PTR 12[esp]
|
|
|
|
rol edx,1
|
|
|
|
add ecx,ebp
|
|
|
|
ror esi,2
|
|
|
|
mov ebp,edi
|
|
|
|
rol ebp,5
|
|
|
|
mov DWORD PTR 24[esp],edx
|
|
|
|
lea edx,DWORD PTR 1859775393[ecx*1+edx]
|
|
|
|
mov ecx,DWORD PTR 28[esp]
|
|
|
|
add edx,ebp
|
|
|
|
; 20_39 39
|
|
|
|
mov ebp,edi
|
|
|
|
xor ecx,DWORD PTR 36[esp]
|
|
|
|
xor ebp,esi
|
|
|
|
xor ecx,DWORD PTR 60[esp]
|
|
|
|
xor ebp,eax
|
|
|
|
xor ecx,DWORD PTR 16[esp]
|
|
|
|
rol ecx,1
|
|
|
|
add ebx,ebp
|
|
|
|
ror edi,2
|
|
|
|
mov ebp,edx
|
|
|
|
rol ebp,5
|
|
|
|
mov DWORD PTR 28[esp],ecx
|
|
|
|
lea ecx,DWORD PTR 1859775393[ebx*1+ecx]
|
|
|
|
mov ebx,DWORD PTR 32[esp]
|
|
|
|
add ecx,ebp
|
|
|
|
; 40_59 40
|
|
|
|
mov ebp,edi
|
|
|
|
xor ebx,DWORD PTR 40[esp]
|
|
|
|
xor ebp,esi
|
|
|
|
xor ebx,DWORD PTR [esp]
|
|
|
|
and ebp,edx
|
|
|
|
xor ebx,DWORD PTR 20[esp]
|
|
|
|
rol ebx,1
|
|
|
|
add ebp,eax
|
|
|
|
ror edx,2
|
|
|
|
mov eax,ecx
|
|
|
|
rol eax,5
|
|
|
|
mov DWORD PTR 32[esp],ebx
|
|
|
|
lea ebx,DWORD PTR 2400959708[ebp*1+ebx]
|
|
|
|
mov ebp,edi
|
|
|
|
add ebx,eax
|
|
|
|
and ebp,esi
|
|
|
|
mov eax,DWORD PTR 36[esp]
|
|
|
|
add ebx,ebp
|
|
|
|
; 40_59 41
|
|
|
|
mov ebp,edx
|
|
|
|
xor eax,DWORD PTR 44[esp]
|
|
|
|
xor ebp,edi
|
|
|
|
xor eax,DWORD PTR 4[esp]
|
|
|
|
and ebp,ecx
|
|
|
|
xor eax,DWORD PTR 24[esp]
|
|
|
|
rol eax,1
|
|
|
|
add ebp,esi
|
|
|
|
ror ecx,2
|
|
|
|
mov esi,ebx
|
|
|
|
rol esi,5
|
|
|
|
mov DWORD PTR 36[esp],eax
|
|
|
|
lea eax,DWORD PTR 2400959708[ebp*1+eax]
|
|
|
|
mov ebp,edx
|
|
|
|
add eax,esi
|
|
|
|
and ebp,edi
|
|
|
|
mov esi,DWORD PTR 40[esp]
|
|
|
|
add eax,ebp
|
|
|
|
; 40_59 42
|
|
|
|
mov ebp,ecx
|
|
|
|
xor esi,DWORD PTR 48[esp]
|
|
|
|
xor ebp,edx
|
|
|
|
xor esi,DWORD PTR 8[esp]
|
|
|
|
and ebp,ebx
|
|
|
|
xor esi,DWORD PTR 28[esp]
|
|
|
|
rol esi,1
|
|
|
|
add ebp,edi
|
|
|
|
ror ebx,2
|
|
|
|
mov edi,eax
|
|
|
|
rol edi,5
|
|
|
|
mov DWORD PTR 40[esp],esi
|
|
|
|
lea esi,DWORD PTR 2400959708[ebp*1+esi]
|
|
|
|
mov ebp,ecx
|
|
|
|
add esi,edi
|
|
|
|
and ebp,edx
|
|
|
|
mov edi,DWORD PTR 44[esp]
|
|
|
|
add esi,ebp
|
|
|
|
; 40_59 43
|
|
|
|
mov ebp,ebx
|
|
|
|
xor edi,DWORD PTR 52[esp]
|
|
|
|
xor ebp,ecx
|
|
|
|
xor edi,DWORD PTR 12[esp]
|
|
|
|
and ebp,eax
|
|
|
|
xor edi,DWORD PTR 32[esp]
|
|
|
|
rol edi,1
|
|
|
|
add ebp,edx
|
|
|
|
ror eax,2
|
|
|
|
mov edx,esi
|
|
|
|
rol edx,5
|
|
|
|
mov DWORD PTR 44[esp],edi
|
|
|
|
lea edi,DWORD PTR 2400959708[ebp*1+edi]
|
|
|
|
mov ebp,ebx
|
|
|
|
add edi,edx
|
|
|
|
and ebp,ecx
|
|
|
|
mov edx,DWORD PTR 48[esp]
|
|
|
|
add edi,ebp
|
|
|
|
; 40_59 44
|
|
|
|
mov ebp,eax
|
|
|
|
xor edx,DWORD PTR 56[esp]
|
|
|
|
xor ebp,ebx
|
|
|
|
xor edx,DWORD PTR 16[esp]
|
|
|
|
and ebp,esi
|
|
|
|
xor edx,DWORD PTR 36[esp]
|
|
|
|
rol edx,1
|
|
|
|
add ebp,ecx
|
|
|
|
ror esi,2
|
|
|
|
mov ecx,edi
|
|
|
|
rol ecx,5
|
|
|
|
mov DWORD PTR 48[esp],edx
|
|
|
|
lea edx,DWORD PTR 2400959708[ebp*1+edx]
|
|
|
|
mov ebp,eax
|
|
|
|
add edx,ecx
|
|
|
|
and ebp,ebx
|
|
|
|
mov ecx,DWORD PTR 52[esp]
|
|
|
|
add edx,ebp
|
|
|
|
; 40_59 45
|
|
|
|
mov ebp,esi
|
|
|
|
xor ecx,DWORD PTR 60[esp]
|
|
|
|
xor ebp,eax
|
|
|
|
xor ecx,DWORD PTR 20[esp]
|
|
|
|
and ebp,edi
|
|
|
|
xor ecx,DWORD PTR 40[esp]
|
|
|
|
rol ecx,1
|
|
|
|
add ebp,ebx
|
|
|
|
ror edi,2
|
|
|
|
mov ebx,edx
|
|
|
|
rol ebx,5
|
|
|
|
mov DWORD PTR 52[esp],ecx
|
|
|
|
lea ecx,DWORD PTR 2400959708[ebp*1+ecx]
|
|
|
|
mov ebp,esi
|
|
|
|
add ecx,ebx
|
|
|
|
and ebp,eax
|
|
|
|
mov ebx,DWORD PTR 56[esp]
|
|
|
|
add ecx,ebp
|
|
|
|
; 40_59 46
|
|
|
|
mov ebp,edi
|
|
|
|
xor ebx,DWORD PTR [esp]
|
|
|
|
xor ebp,esi
|
|
|
|
xor ebx,DWORD PTR 24[esp]
|
|
|
|
and ebp,edx
|
|
|
|
xor ebx,DWORD PTR 44[esp]
|
|
|
|
rol ebx,1
|
|
|
|
add ebp,eax
|
|
|
|
ror edx,2
|
|
|
|
mov eax,ecx
|
|
|
|
rol eax,5
|
|
|
|
mov DWORD PTR 56[esp],ebx
|
|
|
|
lea ebx,DWORD PTR 2400959708[ebp*1+ebx]
|
|
|
|
mov ebp,edi
|
|
|
|
add ebx,eax
|
|
|
|
and ebp,esi
|
|
|
|
mov eax,DWORD PTR 60[esp]
|
|
|
|
add ebx,ebp
|
|
|
|
; 40_59 47
|
|
|
|
mov ebp,edx
|
|
|
|
xor eax,DWORD PTR 4[esp]
|
|
|
|
xor ebp,edi
|
|
|
|
xor eax,DWORD PTR 28[esp]
|
|
|
|
and ebp,ecx
|
|
|
|
xor eax,DWORD PTR 48[esp]
|
|
|
|
rol eax,1
|
|
|
|
add ebp,esi
|
|
|
|
ror ecx,2
|
|
|
|
mov esi,ebx
|
|
|
|
rol esi,5
|
|
|
|
mov DWORD PTR 60[esp],eax
|
|
|
|
lea eax,DWORD PTR 2400959708[ebp*1+eax]
|
|
|
|
mov ebp,edx
|
|
|
|
add eax,esi
|
|
|
|
and ebp,edi
|
|
|
|
mov esi,DWORD PTR [esp]
|
|
|
|
add eax,ebp
|
|
|
|
; 40_59 48
|
|
|
|
mov ebp,ecx
|
|
|
|
xor esi,DWORD PTR 8[esp]
|
|
|
|
xor ebp,edx
|
|
|
|
xor esi,DWORD PTR 32[esp]
|
|
|
|
and ebp,ebx
|
|
|
|
xor esi,DWORD PTR 52[esp]
|
|
|
|
rol esi,1
|
|
|
|
add ebp,edi
|
|
|
|
ror ebx,2
|
|
|
|
mov edi,eax
|
|
|
|
rol edi,5
|
|
|
|
mov DWORD PTR [esp],esi
|
|
|
|
lea esi,DWORD PTR 2400959708[ebp*1+esi]
|
|
|
|
mov ebp,ecx
|
|
|
|
add esi,edi
|
|
|
|
and ebp,edx
|
|
|
|
mov edi,DWORD PTR 4[esp]
|
|
|
|
add esi,ebp
|
|
|
|
; 40_59 49
|
|
|
|
mov ebp,ebx
|
|
|
|
xor edi,DWORD PTR 12[esp]
|
|
|
|
xor ebp,ecx
|
|
|
|
xor edi,DWORD PTR 36[esp]
|
|
|
|
and ebp,eax
|
|
|
|
xor edi,DWORD PTR 56[esp]
|
|
|
|
rol edi,1
|
|
|
|
add ebp,edx
|
|
|
|
ror eax,2
|
|
|
|
mov edx,esi
|
|
|
|
rol edx,5
|
|
|
|
mov DWORD PTR 4[esp],edi
|
|
|
|
lea edi,DWORD PTR 2400959708[ebp*1+edi]
|
|
|
|
mov ebp,ebx
|
|
|
|
add edi,edx
|
|
|
|
and ebp,ecx
|
|
|
|
mov edx,DWORD PTR 8[esp]
|
|
|
|
add edi,ebp
|
|
|
|
; 40_59 50
|
|
|
|
mov ebp,eax
|
|
|
|
xor edx,DWORD PTR 16[esp]
|
|
|
|
xor ebp,ebx
|
|
|
|
xor edx,DWORD PTR 40[esp]
|
|
|
|
and ebp,esi
|
|
|
|
xor edx,DWORD PTR 60[esp]
|
|
|
|
rol edx,1
|
|
|
|
add ebp,ecx
|
|
|
|
ror esi,2
|
|
|
|
mov ecx,edi
|
|
|
|
rol ecx,5
|
|
|
|
mov DWORD PTR 8[esp],edx
|
|
|
|
lea edx,DWORD PTR 2400959708[ebp*1+edx]
|
|
|
|
mov ebp,eax
|
|
|
|
add edx,ecx
|
|
|
|
and ebp,ebx
|
|
|
|
mov ecx,DWORD PTR 12[esp]
|
|
|
|
add edx,ebp
|
|
|
|
; 40_59 51
|
|
|
|
mov ebp,esi
|
|
|
|
xor ecx,DWORD PTR 20[esp]
|
|
|
|
xor ebp,eax
|
|
|
|
xor ecx,DWORD PTR 44[esp]
|
|
|
|
and ebp,edi
|
|
|
|
xor ecx,DWORD PTR [esp]
|
|
|
|
rol ecx,1
|
|
|
|
add ebp,ebx
|
|
|
|
ror edi,2
|
|
|
|
mov ebx,edx
|
|
|
|
rol ebx,5
|
|
|
|
mov DWORD PTR 12[esp],ecx
|
|
|
|
lea ecx,DWORD PTR 2400959708[ebp*1+ecx]
|
|
|
|
mov ebp,esi
|
|
|
|
add ecx,ebx
|
|
|
|
and ebp,eax
|
|
|
|
mov ebx,DWORD PTR 16[esp]
|
|
|
|
add ecx,ebp
|
|
|
|
; 40_59 52
|
|
|
|
mov ebp,edi
|
|
|
|
xor ebx,DWORD PTR 24[esp]
|
|
|
|
xor ebp,esi
|
|
|
|
xor ebx,DWORD PTR 48[esp]
|
|
|
|
and ebp,edx
|
|
|
|
xor ebx,DWORD PTR 4[esp]
|
|
|
|
rol ebx,1
|
|
|
|
add ebp,eax
|
|
|
|
ror edx,2
|
|
|
|
mov eax,ecx
|
|
|
|
rol eax,5
|
|
|
|
mov DWORD PTR 16[esp],ebx
|
|
|
|
lea ebx,DWORD PTR 2400959708[ebp*1+ebx]
|
|
|
|
mov ebp,edi
|
|
|
|
add ebx,eax
|
|
|
|
and ebp,esi
|
|
|
|
mov eax,DWORD PTR 20[esp]
|
|
|
|
add ebx,ebp
|
|
|
|
; 40_59 53
|
|
|
|
mov ebp,edx
|
|
|
|
xor eax,DWORD PTR 28[esp]
|
|
|
|
xor ebp,edi
|
|
|
|
xor eax,DWORD PTR 52[esp]
|
|
|
|
and ebp,ecx
|
|
|
|
xor eax,DWORD PTR 8[esp]
|
|
|
|
rol eax,1
|
|
|
|
add ebp,esi
|
|
|
|
ror ecx,2
|
|
|
|
mov esi,ebx
|
|
|
|
rol esi,5
|
|
|
|
mov DWORD PTR 20[esp],eax
|
|
|
|
lea eax,DWORD PTR 2400959708[ebp*1+eax]
|
|
|
|
mov ebp,edx
|
|
|
|
add eax,esi
|
|
|
|
and ebp,edi
|
|
|
|
mov esi,DWORD PTR 24[esp]
|
|
|
|
add eax,ebp
|
|
|
|
; 40_59 54
|
|
|
|
mov ebp,ecx
|
|
|
|
xor esi,DWORD PTR 32[esp]
|
|
|
|
xor ebp,edx
|
|
|
|
xor esi,DWORD PTR 56[esp]
|
|
|
|
and ebp,ebx
|
|
|
|
xor esi,DWORD PTR 12[esp]
|
|
|
|
rol esi,1
|
|
|
|
add ebp,edi
|
|
|
|
ror ebx,2
|
|
|
|
mov edi,eax
|
|
|
|
rol edi,5
|
|
|
|
mov DWORD PTR 24[esp],esi
|
|
|
|
lea esi,DWORD PTR 2400959708[ebp*1+esi]
|
|
|
|
mov ebp,ecx
|
|
|
|
add esi,edi
|
|
|
|
and ebp,edx
|
|
|
|
mov edi,DWORD PTR 28[esp]
|
|
|
|
add esi,ebp
|
|
|
|
; 40_59 55
|
|
|
|
mov ebp,ebx
|
|
|
|
xor edi,DWORD PTR 36[esp]
|
|
|
|
xor ebp,ecx
|
|
|
|
xor edi,DWORD PTR 60[esp]
|
|
|
|
and ebp,eax
|
|
|
|
xor edi,DWORD PTR 16[esp]
|
|
|
|
rol edi,1
|
|
|
|
add ebp,edx
|
|
|
|
ror eax,2
|
|
|
|
mov edx,esi
|
|
|
|
rol edx,5
|
|
|
|
mov DWORD PTR 28[esp],edi
|
|
|
|
lea edi,DWORD PTR 2400959708[ebp*1+edi]
|
|
|
|
mov ebp,ebx
|
|
|
|
add edi,edx
|
|
|
|
and ebp,ecx
|
|
|
|
mov edx,DWORD PTR 32[esp]
|
|
|
|
add edi,ebp
|
|
|
|
; 40_59 56
|
|
|
|
mov ebp,eax
|
|
|
|
xor edx,DWORD PTR 40[esp]
|
|
|
|
xor ebp,ebx
|
|
|
|
xor edx,DWORD PTR [esp]
|
|
|
|
and ebp,esi
|
|
|
|
xor edx,DWORD PTR 20[esp]
|
|
|
|
rol edx,1
|
|
|
|
add ebp,ecx
|
|
|
|
ror esi,2
|
|
|
|
mov ecx,edi
|
|
|
|
rol ecx,5
|
|
|
|
mov DWORD PTR 32[esp],edx
|
|
|
|
lea edx,DWORD PTR 2400959708[ebp*1+edx]
|
|
|
|
mov ebp,eax
|
|
|
|
add edx,ecx
|
|
|
|
and ebp,ebx
|
|
|
|
mov ecx,DWORD PTR 36[esp]
|
|
|
|
add edx,ebp
|
|
|
|
; 40_59 57
|
|
|
|
mov ebp,esi
|
|
|
|
xor ecx,DWORD PTR 44[esp]
|
|
|
|
xor ebp,eax
|
|
|
|
xor ecx,DWORD PTR 4[esp]
|
|
|
|
and ebp,edi
|
|
|
|
xor ecx,DWORD PTR 24[esp]
|
|
|
|
rol ecx,1
|
|
|
|
add ebp,ebx
|
|
|
|
ror edi,2
|
|
|
|
mov ebx,edx
|
|
|
|
rol ebx,5
|
|
|
|
mov DWORD PTR 36[esp],ecx
|
|
|
|
lea ecx,DWORD PTR 2400959708[ebp*1+ecx]
|
|
|
|
mov ebp,esi
|
|
|
|
add ecx,ebx
|
|
|
|
and ebp,eax
|
|
|
|
mov ebx,DWORD PTR 40[esp]
|
|
|
|
add ecx,ebp
|
|
|
|
; 40_59 58
|
|
|
|
mov ebp,edi
|
|
|
|
xor ebx,DWORD PTR 48[esp]
|
|
|
|
xor ebp,esi
|
|
|
|
xor ebx,DWORD PTR 8[esp]
|
|
|
|
and ebp,edx
|
|
|
|
xor ebx,DWORD PTR 28[esp]
|
|
|
|
rol ebx,1
|
|
|
|
add ebp,eax
|
|
|
|
ror edx,2
|
|
|
|
mov eax,ecx
|
|
|
|
rol eax,5
|
|
|
|
mov DWORD PTR 40[esp],ebx
|
|
|
|
lea ebx,DWORD PTR 2400959708[ebp*1+ebx]
|
|
|
|
mov ebp,edi
|
|
|
|
add ebx,eax
|
|
|
|
and ebp,esi
|
|
|
|
mov eax,DWORD PTR 44[esp]
|
|
|
|
add ebx,ebp
|
|
|
|
; 40_59 59
|
|
|
|
mov ebp,edx
|
|
|
|
xor eax,DWORD PTR 52[esp]
|
|
|
|
xor ebp,edi
|
|
|
|
xor eax,DWORD PTR 12[esp]
|
|
|
|
and ebp,ecx
|
|
|
|
xor eax,DWORD PTR 32[esp]
|
|
|
|
rol eax,1
|
|
|
|
add ebp,esi
|
|
|
|
ror ecx,2
|
|
|
|
mov esi,ebx
|
|
|
|
rol esi,5
|
|
|
|
mov DWORD PTR 44[esp],eax
|
|
|
|
lea eax,DWORD PTR 2400959708[ebp*1+eax]
|
|
|
|
mov ebp,edx
|
|
|
|
add eax,esi
|
|
|
|
and ebp,edi
|
|
|
|
mov esi,DWORD PTR 48[esp]
|
|
|
|
add eax,ebp
|
|
|
|
; 20_39 60
|
|
|
|
mov ebp,ebx
|
|
|
|
xor esi,DWORD PTR 56[esp]
|
|
|
|
xor ebp,ecx
|
|
|
|
xor esi,DWORD PTR 16[esp]
|
|
|
|
xor ebp,edx
|
|
|
|
xor esi,DWORD PTR 36[esp]
|
|
|
|
rol esi,1
|
|
|
|
add edi,ebp
|
|
|
|
ror ebx,2
|
|
|
|
mov ebp,eax
|
|
|
|
rol ebp,5
|
|
|
|
mov DWORD PTR 48[esp],esi
|
|
|
|
lea esi,DWORD PTR 3395469782[edi*1+esi]
|
|
|
|
mov edi,DWORD PTR 52[esp]
|
|
|
|
add esi,ebp
|
|
|
|
; 20_39 61
|
|
|
|
mov ebp,eax
|
|
|
|
xor edi,DWORD PTR 60[esp]
|
|
|
|
xor ebp,ebx
|
|
|
|
xor edi,DWORD PTR 20[esp]
|
|
|
|
xor ebp,ecx
|
|
|
|
xor edi,DWORD PTR 40[esp]
|
|
|
|
rol edi,1
|
|
|
|
add edx,ebp
|
|
|
|
ror eax,2
|
|
|
|
mov ebp,esi
|
|
|
|
rol ebp,5
|
|
|
|
mov DWORD PTR 52[esp],edi
|
|
|
|
lea edi,DWORD PTR 3395469782[edx*1+edi]
|
|
|
|
mov edx,DWORD PTR 56[esp]
|
|
|
|
add edi,ebp
|
|
|
|
; 20_39 62
|
|
|
|
mov ebp,esi
|
|
|
|
xor edx,DWORD PTR [esp]
|
|
|
|
xor ebp,eax
|
|
|
|
xor edx,DWORD PTR 24[esp]
|
|
|
|
xor ebp,ebx
|
|
|
|
xor edx,DWORD PTR 44[esp]
|
|
|
|
rol edx,1
|
|
|
|
add ecx,ebp
|
|
|
|
ror esi,2
|
|
|
|
mov ebp,edi
|
|
|
|
rol ebp,5
|
|
|
|
mov DWORD PTR 56[esp],edx
|
|
|
|
lea edx,DWORD PTR 3395469782[ecx*1+edx]
|
|
|
|
mov ecx,DWORD PTR 60[esp]
|
|
|
|
add edx,ebp
|
|
|
|
; 20_39 63
|
|
|
|
mov ebp,edi
|
|
|
|
xor ecx,DWORD PTR 4[esp]
|
|
|
|
xor ebp,esi
|
|
|
|
xor ecx,DWORD PTR 28[esp]
|
|
|
|
xor ebp,eax
|
|
|
|
xor ecx,DWORD PTR 48[esp]
|
|
|
|
rol ecx,1
|
|
|
|
add ebx,ebp
|
|
|
|
ror edi,2
|
|
|
|
mov ebp,edx
|
|
|
|
rol ebp,5
|
|
|
|
mov DWORD PTR 60[esp],ecx
|
|
|
|
lea ecx,DWORD PTR 3395469782[ebx*1+ecx]
|
|
|
|
mov ebx,DWORD PTR [esp]
|
|
|
|
add ecx,ebp
|
|
|
|
; 20_39 64
|
|
|
|
mov ebp,edx
|
|
|
|
xor ebx,DWORD PTR 8[esp]
|
|
|
|
xor ebp,edi
|
|
|
|
xor ebx,DWORD PTR 32[esp]
|
|
|
|
xor ebp,esi
|
|
|
|
xor ebx,DWORD PTR 52[esp]
|
|
|
|
rol ebx,1
|
|
|
|
add eax,ebp
|
|
|
|
ror edx,2
|
|
|
|
mov ebp,ecx
|
|
|
|
rol ebp,5
|
|
|
|
mov DWORD PTR [esp],ebx
|
|
|
|
lea ebx,DWORD PTR 3395469782[eax*1+ebx]
|
|
|
|
mov eax,DWORD PTR 4[esp]
|
|
|
|
add ebx,ebp
|
|
|
|
; 20_39 65
|
|
|
|
mov ebp,ecx
|
|
|
|
xor eax,DWORD PTR 12[esp]
|
|
|
|
xor ebp,edx
|
|
|
|
xor eax,DWORD PTR 36[esp]
|
|
|
|
xor ebp,edi
|
|
|
|
xor eax,DWORD PTR 56[esp]
|
|
|
|
rol eax,1
|
|
|
|
add esi,ebp
|
|
|
|
ror ecx,2
|
|
|
|
mov ebp,ebx
|
|
|
|
rol ebp,5
|
|
|
|
mov DWORD PTR 4[esp],eax
|
|
|
|
lea eax,DWORD PTR 3395469782[esi*1+eax]
|
|
|
|
mov esi,DWORD PTR 8[esp]
|
|
|
|
add eax,ebp
|
|
|
|
; 20_39 66
|
|
|
|
mov ebp,ebx
|
|
|
|
xor esi,DWORD PTR 16[esp]
|
|
|
|
xor ebp,ecx
|
|
|
|
xor esi,DWORD PTR 40[esp]
|
|
|
|
xor ebp,edx
|
|
|
|
xor esi,DWORD PTR 60[esp]
|
|
|
|
rol esi,1
|
|
|
|
add edi,ebp
|
|
|
|
ror ebx,2
|
|
|
|
mov ebp,eax
|
|
|
|
rol ebp,5
|
|
|
|
mov DWORD PTR 8[esp],esi
|
|
|
|
lea esi,DWORD PTR 3395469782[edi*1+esi]
|
|
|
|
mov edi,DWORD PTR 12[esp]
|
|
|
|
add esi,ebp
|
|
|
|
; 20_39 67
|
|
|
|
mov ebp,eax
|
|
|
|
xor edi,DWORD PTR 20[esp]
|
|
|
|
xor ebp,ebx
|
|
|
|
xor edi,DWORD PTR 44[esp]
|
|
|
|
xor ebp,ecx
|
|
|
|
xor edi,DWORD PTR [esp]
|
|
|
|
rol edi,1
|
|
|
|
add edx,ebp
|
|
|
|
ror eax,2
|
|
|
|
mov ebp,esi
|
|
|
|
rol ebp,5
|
|
|
|
mov DWORD PTR 12[esp],edi
|
|
|
|
lea edi,DWORD PTR 3395469782[edx*1+edi]
|
|
|
|
mov edx,DWORD PTR 16[esp]
|
|
|
|
add edi,ebp
|
|
|
|
; 20_39 68
|
|
|
|
mov ebp,esi
|
|
|
|
xor edx,DWORD PTR 24[esp]
|
|
|
|
xor ebp,eax
|
|
|
|
xor edx,DWORD PTR 48[esp]
|
|
|
|
xor ebp,ebx
|
|
|
|
xor edx,DWORD PTR 4[esp]
|
|
|
|
rol edx,1
|
|
|
|
add ecx,ebp
|
|
|
|
ror esi,2
|
|
|
|
mov ebp,edi
|
|
|
|
rol ebp,5
|
|
|
|
mov DWORD PTR 16[esp],edx
|
|
|
|
lea edx,DWORD PTR 3395469782[ecx*1+edx]
|
|
|
|
mov ecx,DWORD PTR 20[esp]
|
|
|
|
add edx,ebp
|
|
|
|
; 20_39 69
|
|
|
|
mov ebp,edi
|
|
|
|
xor ecx,DWORD PTR 28[esp]
|
|
|
|
xor ebp,esi
|
|
|
|
xor ecx,DWORD PTR 52[esp]
|
|
|
|
xor ebp,eax
|
|
|
|
xor ecx,DWORD PTR 8[esp]
|
|
|
|
rol ecx,1
|
|
|
|
add ebx,ebp
|
|
|
|
ror edi,2
|
|
|
|
mov ebp,edx
|
|
|
|
rol ebp,5
|
|
|
|
mov DWORD PTR 20[esp],ecx
|
|
|
|
lea ecx,DWORD PTR 3395469782[ebx*1+ecx]
|
|
|
|
mov ebx,DWORD PTR 24[esp]
|
|
|
|
add ecx,ebp
|
|
|
|
; 20_39 70
|
|
|
|
mov ebp,edx
|
|
|
|
xor ebx,DWORD PTR 32[esp]
|
|
|
|
xor ebp,edi
|
|
|
|
xor ebx,DWORD PTR 56[esp]
|
|
|
|
xor ebp,esi
|
|
|
|
xor ebx,DWORD PTR 12[esp]
|
|
|
|
rol ebx,1
|
|
|
|
add eax,ebp
|
|
|
|
ror edx,2
|
|
|
|
mov ebp,ecx
|
|
|
|
rol ebp,5
|
|
|
|
mov DWORD PTR 24[esp],ebx
|
|
|
|
lea ebx,DWORD PTR 3395469782[eax*1+ebx]
|
|
|
|
mov eax,DWORD PTR 28[esp]
|
|
|
|
add ebx,ebp
|
|
|
|
; 20_39 71
|
|
|
|
mov ebp,ecx
|
|
|
|
xor eax,DWORD PTR 36[esp]
|
|
|
|
xor ebp,edx
|
|
|
|
xor eax,DWORD PTR 60[esp]
|
|
|
|
xor ebp,edi
|
|
|
|
xor eax,DWORD PTR 16[esp]
|
|
|
|
rol eax,1
|
|
|
|
add esi,ebp
|
|
|
|
ror ecx,2
|
|
|
|
mov ebp,ebx
|
|
|
|
rol ebp,5
|
|
|
|
mov DWORD PTR 28[esp],eax
|
|
|
|
lea eax,DWORD PTR 3395469782[esi*1+eax]
|
|
|
|
mov esi,DWORD PTR 32[esp]
|
|
|
|
add eax,ebp
|
|
|
|
; 20_39 72
|
|
|
|
mov ebp,ebx
|
|
|
|
xor esi,DWORD PTR 40[esp]
|
|
|
|
xor ebp,ecx
|
|
|
|
xor esi,DWORD PTR [esp]
|
|
|
|
xor ebp,edx
|
|
|
|
xor esi,DWORD PTR 20[esp]
|
|
|
|
rol esi,1
|
|
|
|
add edi,ebp
|
|
|
|
ror ebx,2
|
|
|
|
mov ebp,eax
|
|
|
|
rol ebp,5
|
|
|
|
mov DWORD PTR 32[esp],esi
|
|
|
|
lea esi,DWORD PTR 3395469782[edi*1+esi]
|
|
|
|
mov edi,DWORD PTR 36[esp]
|
|
|
|
add esi,ebp
|
|
|
|
; 20_39 73
|
|
|
|
mov ebp,eax
|
|
|
|
xor edi,DWORD PTR 44[esp]
|
|
|
|
xor ebp,ebx
|
|
|
|
xor edi,DWORD PTR 4[esp]
|
|
|
|
xor ebp,ecx
|
|
|
|
xor edi,DWORD PTR 24[esp]
|
|
|
|
rol edi,1
|
|
|
|
add edx,ebp
|
|
|
|
ror eax,2
|
|
|
|
mov ebp,esi
|
|
|
|
rol ebp,5
|
|
|
|
mov DWORD PTR 36[esp],edi
|
|
|
|
lea edi,DWORD PTR 3395469782[edx*1+edi]
|
|
|
|
mov edx,DWORD PTR 40[esp]
|
|
|
|
add edi,ebp
|
|
|
|
; 20_39 74
|
|
|
|
mov ebp,esi
|
|
|
|
xor edx,DWORD PTR 48[esp]
|
|
|
|
xor ebp,eax
|
|
|
|
xor edx,DWORD PTR 8[esp]
|
|
|
|
xor ebp,ebx
|
|
|
|
xor edx,DWORD PTR 28[esp]
|
|
|
|
rol edx,1
|
|
|
|
add ecx,ebp
|
|
|
|
ror esi,2
|
|
|
|
mov ebp,edi
|
|
|
|
rol ebp,5
|
|
|
|
mov DWORD PTR 40[esp],edx
|
|
|
|
lea edx,DWORD PTR 3395469782[ecx*1+edx]
|
|
|
|
mov ecx,DWORD PTR 44[esp]
|
|
|
|
add edx,ebp
|
|
|
|
; 20_39 75
|
|
|
|
mov ebp,edi
|
|
|
|
xor ecx,DWORD PTR 52[esp]
|
|
|
|
xor ebp,esi
|
|
|
|
xor ecx,DWORD PTR 12[esp]
|
|
|
|
xor ebp,eax
|
|
|
|
xor ecx,DWORD PTR 32[esp]
|
|
|
|
rol ecx,1
|
|
|
|
add ebx,ebp
|
|
|
|
ror edi,2
|
|
|
|
mov ebp,edx
|
|
|
|
rol ebp,5
|
|
|
|
mov DWORD PTR 44[esp],ecx
|
|
|
|
lea ecx,DWORD PTR 3395469782[ebx*1+ecx]
|
|
|
|
mov ebx,DWORD PTR 48[esp]
|
|
|
|
add ecx,ebp
|
|
|
|
; 20_39 76
|
|
|
|
mov ebp,edx
|
|
|
|
xor ebx,DWORD PTR 56[esp]
|
|
|
|
xor ebp,edi
|
|
|
|
xor ebx,DWORD PTR 16[esp]
|
|
|
|
xor ebp,esi
|
|
|
|
xor ebx,DWORD PTR 36[esp]
|
|
|
|
rol ebx,1
|
|
|
|
add eax,ebp
|
|
|
|
ror edx,2
|
|
|
|
mov ebp,ecx
|
|
|
|
rol ebp,5
|
|
|
|
mov DWORD PTR 48[esp],ebx
|
|
|
|
lea ebx,DWORD PTR 3395469782[eax*1+ebx]
|
|
|
|
mov eax,DWORD PTR 52[esp]
|
|
|
|
add ebx,ebp
|
|
|
|
; 20_39 77
|
|
|
|
mov ebp,ecx
|
|
|
|
xor eax,DWORD PTR 60[esp]
|
|
|
|
xor ebp,edx
|
|
|
|
xor eax,DWORD PTR 20[esp]
|
|
|
|
xor ebp,edi
|
|
|
|
xor eax,DWORD PTR 40[esp]
|
|
|
|
rol eax,1
|
|
|
|
add esi,ebp
|
|
|
|
ror ecx,2
|
|
|
|
mov ebp,ebx
|
|
|
|
rol ebp,5
|
|
|
|
lea eax,DWORD PTR 3395469782[esi*1+eax]
|
|
|
|
mov esi,DWORD PTR 56[esp]
|
|
|
|
add eax,ebp
|
|
|
|
; 20_39 78
|
|
|
|
mov ebp,ebx
|
|
|
|
xor esi,DWORD PTR [esp]
|
|
|
|
xor ebp,ecx
|
|
|
|
xor esi,DWORD PTR 24[esp]
|
|
|
|
xor ebp,edx
|
|
|
|
xor esi,DWORD PTR 44[esp]
|
|
|
|
rol esi,1
|
|
|
|
add edi,ebp
|
|
|
|
ror ebx,2
|
|
|
|
mov ebp,eax
|
|
|
|
rol ebp,5
|
|
|
|
lea esi,DWORD PTR 3395469782[edi*1+esi]
|
|
|
|
mov edi,DWORD PTR 60[esp]
|
|
|
|
add esi,ebp
|
|
|
|
; 20_39 79
|
|
|
|
mov ebp,eax
|
|
|
|
xor edi,DWORD PTR 4[esp]
|
|
|
|
xor ebp,ebx
|
|
|
|
xor edi,DWORD PTR 28[esp]
|
|
|
|
xor ebp,ecx
|
|
|
|
xor edi,DWORD PTR 48[esp]
|
|
|
|
rol edi,1
|
|
|
|
add edx,ebp
|
|
|
|
ror eax,2
|
|
|
|
mov ebp,esi
|
|
|
|
rol ebp,5
|
|
|
|
lea edi,DWORD PTR 3395469782[edx*1+edi]
|
|
|
|
add edi,ebp
|
|
|
|
mov ebp,DWORD PTR 96[esp]
|
|
|
|
mov edx,DWORD PTR 100[esp]
|
|
|
|
add edi,DWORD PTR [ebp]
|
|
|
|
add esi,DWORD PTR 4[ebp]
|
|
|
|
add eax,DWORD PTR 8[ebp]
|
|
|
|
add ebx,DWORD PTR 12[ebp]
|
|
|
|
add ecx,DWORD PTR 16[ebp]
|
|
|
|
mov DWORD PTR [ebp],edi
|
|
|
|
add edx,64
|
|
|
|
mov DWORD PTR 4[ebp],esi
|
|
|
|
cmp edx,DWORD PTR 104[esp]
|
|
|
|
mov DWORD PTR 8[ebp],eax
|
|
|
|
mov edi,ecx
|
|
|
|
mov DWORD PTR 12[ebp],ebx
|
|
|
|
mov esi,edx
|
|
|
|
mov DWORD PTR 16[ebp],ecx
|
|
|
|
jb $L002loop
|
|
|
|
add esp,76
|
|
|
|
pop edi
|
|
|
|
pop esi
|
|
|
|
pop ebx
|
|
|
|
pop ebp
|
|
|
|
ret
|
|
|
|
_sha1_block_data_order ENDP
|
|
|
|
ALIGN 16
|
|
|
|
__sha1_block_data_order_shaext PROC PRIVATE
|
|
|
|
push ebp
|
|
|
|
push ebx
|
|
|
|
push esi
|
|
|
|
push edi
|
|
|
|
call $L003pic_point
|
|
|
|
$L003pic_point:
|
|
|
|
pop ebp
|
|
|
|
lea ebp,DWORD PTR ($LK_XX_XX-$L003pic_point)[ebp]
|
|
|
|
$Lshaext_shortcut::
|
|
|
|
mov edi,DWORD PTR 20[esp]
|
|
|
|
mov ebx,esp
|
|
|
|
mov esi,DWORD PTR 24[esp]
|
|
|
|
mov ecx,DWORD PTR 28[esp]
|
|
|
|
sub esp,32
|
|
|
|
movdqu xmm0,XMMWORD PTR [edi]
|
|
|
|
movd xmm1,DWORD PTR 16[edi]
|
|
|
|
and esp,-32
|
|
|
|
movdqa xmm3,XMMWORD PTR 80[ebp]
|
|
|
|
movdqu xmm4,XMMWORD PTR [esi]
|
|
|
|
pshufd xmm0,xmm0,27
|
|
|
|
movdqu xmm5,XMMWORD PTR 16[esi]
|
|
|
|
pshufd xmm1,xmm1,27
|
|
|
|
movdqu xmm6,XMMWORD PTR 32[esi]
|
|
|
|
DB 102,15,56,0,227
|
|
|
|
movdqu xmm7,XMMWORD PTR 48[esi]
|
|
|
|
DB 102,15,56,0,235
|
|
|
|
DB 102,15,56,0,243
|
|
|
|
DB 102,15,56,0,251
|
|
|
|
jmp $L004loop_shaext
|
|
|
|
ALIGN 16
|
|
|
|
$L004loop_shaext:
|
|
|
|
dec ecx
|
|
|
|
lea eax,DWORD PTR 64[esi]
|
|
|
|
movdqa XMMWORD PTR [esp],xmm1
|
|
|
|
paddd xmm1,xmm4
|
|
|
|
cmovne esi,eax
|
|
|
|
movdqa XMMWORD PTR 16[esp],xmm0
|
|
|
|
DB 15,56,201,229
|
|
|
|
movdqa xmm2,xmm0
|
|
|
|
DB 15,58,204,193,0
|
|
|
|
DB 15,56,200,213
|
|
|
|
pxor xmm4,xmm6
|
|
|
|
DB 15,56,201,238
|
|
|
|
DB 15,56,202,231
|
|
|
|
movdqa xmm1,xmm0
|
|
|
|
DB 15,58,204,194,0
|
|
|
|
DB 15,56,200,206
|
|
|
|
pxor xmm5,xmm7
|
|
|
|
DB 15,56,202,236
|
|
|
|
DB 15,56,201,247
|
|
|
|
movdqa xmm2,xmm0
|
|
|
|
DB 15,58,204,193,0
|
|
|
|
DB 15,56,200,215
|
|
|
|
pxor xmm6,xmm4
|
|
|
|
DB 15,56,201,252
|
|
|
|
DB 15,56,202,245
|
|
|
|
movdqa xmm1,xmm0
|
|
|
|
DB 15,58,204,194,0
|
|
|
|
DB 15,56,200,204
|
|
|
|
pxor xmm7,xmm5
|
|
|
|
DB 15,56,202,254
|
|
|
|
DB 15,56,201,229
|
|
|
|
movdqa xmm2,xmm0
|
|
|
|
DB 15,58,204,193,0
|
|
|
|
DB 15,56,200,213
|
|
|
|
pxor xmm4,xmm6
|
|
|
|
DB 15,56,201,238
|
|
|
|
DB 15,56,202,231
|
|
|
|
movdqa xmm1,xmm0
|
|
|
|
DB 15,58,204,194,1
|
|
|
|
DB 15,56,200,206
|
|
|
|
pxor xmm5,xmm7
|
|
|
|
DB 15,56,202,236
|
|
|
|
DB 15,56,201,247
|
|
|
|
movdqa xmm2,xmm0
|
|
|
|
DB 15,58,204,193,1
|
|
|
|
DB 15,56,200,215
|
|
|
|
pxor xmm6,xmm4
|
|
|
|
DB 15,56,201,252
|
|
|
|
DB 15,56,202,245
|
|
|
|
movdqa xmm1,xmm0
|
|
|
|
DB 15,58,204,194,1
|
|
|
|
DB 15,56,200,204
|
|
|
|
pxor xmm7,xmm5
|
|
|
|
DB 15,56,202,254
|
|
|
|
DB 15,56,201,229
|
|
|
|
movdqa xmm2,xmm0
|
|
|
|
DB 15,58,204,193,1
|
|
|
|
DB 15,56,200,213
|
|
|
|
pxor xmm4,xmm6
|
|
|
|
DB 15,56,201,238
|
|
|
|
DB 15,56,202,231
|
|
|
|
movdqa xmm1,xmm0
|
|
|
|
DB 15,58,204,194,1
|
|
|
|
DB 15,56,200,206
|
|
|
|
pxor xmm5,xmm7
|
|
|
|
DB 15,56,202,236
|
|
|
|
DB 15,56,201,247
|
|
|
|
movdqa xmm2,xmm0
|
|
|
|
DB 15,58,204,193,2
|
|
|
|
DB 15,56,200,215
|
|
|
|
pxor xmm6,xmm4
|
|
|
|
DB 15,56,201,252
|
|
|
|
DB 15,56,202,245
|
|
|
|
movdqa xmm1,xmm0
|
|
|
|
DB 15,58,204,194,2
|
|
|
|
DB 15,56,200,204
|
|
|
|
pxor xmm7,xmm5
|
|
|
|
DB 15,56,202,254
|
|
|
|
DB 15,56,201,229
|
|
|
|
movdqa xmm2,xmm0
|
|
|
|
DB 15,58,204,193,2
|
|
|
|
DB 15,56,200,213
|
|
|
|
pxor xmm4,xmm6
|
|
|
|
DB 15,56,201,238
|
|
|
|
DB 15,56,202,231
|
|
|
|
movdqa xmm1,xmm0
|
|
|
|
DB 15,58,204,194,2
|
|
|
|
DB 15,56,200,206
|
|
|
|
pxor xmm5,xmm7
|
|
|
|
DB 15,56,202,236
|
|
|
|
DB 15,56,201,247
|
|
|
|
movdqa xmm2,xmm0
|
|
|
|
DB 15,58,204,193,2
|
|
|
|
DB 15,56,200,215
|
|
|
|
pxor xmm6,xmm4
|
|
|
|
DB 15,56,201,252
|
|
|
|
DB 15,56,202,245
|
|
|
|
movdqa xmm1,xmm0
|
|
|
|
DB 15,58,204,194,3
|
|
|
|
DB 15,56,200,204
|
|
|
|
pxor xmm7,xmm5
|
|
|
|
DB 15,56,202,254
|
|
|
|
movdqu xmm4,XMMWORD PTR [esi]
|
|
|
|
movdqa xmm2,xmm0
|
|
|
|
DB 15,58,204,193,3
|
|
|
|
DB 15,56,200,213
|
|
|
|
movdqu xmm5,XMMWORD PTR 16[esi]
|
|
|
|
DB 102,15,56,0,227
|
|
|
|
movdqa xmm1,xmm0
|
|
|
|
DB 15,58,204,194,3
|
|
|
|
DB 15,56,200,206
|
|
|
|
movdqu xmm6,XMMWORD PTR 32[esi]
|
|
|
|
DB 102,15,56,0,235
|
|
|
|
movdqa xmm2,xmm0
|
|
|
|
DB 15,58,204,193,3
|
|
|
|
DB 15,56,200,215
|
|
|
|
movdqu xmm7,XMMWORD PTR 48[esi]
|
|
|
|
DB 102,15,56,0,243
|
|
|
|
movdqa xmm1,xmm0
|
|
|
|
DB 15,58,204,194,3
|
|
|
|
movdqa xmm2,XMMWORD PTR [esp]
|
|
|
|
DB 102,15,56,0,251
|
|
|
|
DB 15,56,200,202
|
|
|
|
paddd xmm0,XMMWORD PTR 16[esp]
|
|
|
|
jnz $L004loop_shaext
|
|
|
|
pshufd xmm0,xmm0,27
|
|
|
|
pshufd xmm1,xmm1,27
|
|
|
|
movdqu XMMWORD PTR [edi],xmm0
|
|
|
|
movd DWORD PTR 16[edi],xmm1
|
|
|
|
mov esp,ebx
|
|
|
|
pop edi
|
|
|
|
pop esi
|
|
|
|
pop ebx
|
|
|
|
pop ebp
|
|
|
|
ret
|
|
|
|
__sha1_block_data_order_shaext ENDP
|
|
|
|
ALIGN 16
|
|
|
|
__sha1_block_data_order_ssse3 PROC PRIVATE
|
|
|
|
push ebp
|
|
|
|
push ebx
|
|
|
|
push esi
|
|
|
|
push edi
|
|
|
|
call $L005pic_point
|
|
|
|
$L005pic_point:
|
|
|
|
pop ebp
|
|
|
|
lea ebp,DWORD PTR ($LK_XX_XX-$L005pic_point)[ebp]
|
|
|
|
$Lssse3_shortcut::
|
|
|
|
movdqa xmm7,XMMWORD PTR [ebp]
|
|
|
|
movdqa xmm0,XMMWORD PTR 16[ebp]
|
|
|
|
movdqa xmm1,XMMWORD PTR 32[ebp]
|
|
|
|
movdqa xmm2,XMMWORD PTR 48[ebp]
|
|
|
|
movdqa xmm6,XMMWORD PTR 64[ebp]
|
|
|
|
mov edi,DWORD PTR 20[esp]
|
|
|
|
mov ebp,DWORD PTR 24[esp]
|
|
|
|
mov edx,DWORD PTR 28[esp]
|
|
|
|
mov esi,esp
|
|
|
|
sub esp,208
|
|
|
|
and esp,-64
|
|
|
|
movdqa XMMWORD PTR 112[esp],xmm0
|
|
|
|
movdqa XMMWORD PTR 128[esp],xmm1
|
|
|
|
movdqa XMMWORD PTR 144[esp],xmm2
|
|
|
|
shl edx,6
|
|
|
|
movdqa XMMWORD PTR 160[esp],xmm7
|
|
|
|
add edx,ebp
|
|
|
|
movdqa XMMWORD PTR 176[esp],xmm6
|
|
|
|
add ebp,64
|
|
|
|
mov DWORD PTR 192[esp],edi
|
|
|
|
mov DWORD PTR 196[esp],ebp
|
|
|
|
mov DWORD PTR 200[esp],edx
|
|
|
|
mov DWORD PTR 204[esp],esi
|
|
|
|
mov eax,DWORD PTR [edi]
|
|
|
|
mov ebx,DWORD PTR 4[edi]
|
|
|
|
mov ecx,DWORD PTR 8[edi]
|
|
|
|
mov edx,DWORD PTR 12[edi]
|
|
|
|
mov edi,DWORD PTR 16[edi]
|
|
|
|
mov esi,ebx
|
|
|
|
movdqu xmm0,XMMWORD PTR [ebp-64]
|
|
|
|
movdqu xmm1,XMMWORD PTR [ebp-48]
|
|
|
|
movdqu xmm2,XMMWORD PTR [ebp-32]
|
|
|
|
movdqu xmm3,XMMWORD PTR [ebp-16]
|
|
|
|
DB 102,15,56,0,198
|
|
|
|
DB 102,15,56,0,206
|
|
|
|
DB 102,15,56,0,214
|
|
|
|
movdqa XMMWORD PTR 96[esp],xmm7
|
|
|
|
DB 102,15,56,0,222
|
|
|
|
paddd xmm0,xmm7
|
|
|
|
paddd xmm1,xmm7
|
|
|
|
paddd xmm2,xmm7
|
|
|
|
movdqa XMMWORD PTR [esp],xmm0
|
|
|
|
psubd xmm0,xmm7
|
|
|
|
movdqa XMMWORD PTR 16[esp],xmm1
|
|
|
|
psubd xmm1,xmm7
|
|
|
|
movdqa XMMWORD PTR 32[esp],xmm2
|
|
|
|
mov ebp,ecx
|
|
|
|
psubd xmm2,xmm7
|
|
|
|
xor ebp,edx
|
|
|
|
pshufd xmm4,xmm0,238
|
|
|
|
and esi,ebp
|
|
|
|
jmp $L006loop
|
|
|
|
ALIGN 16
|
|
|
|
$L006loop:
|
|
|
|
ror ebx,2
|
|
|
|
xor esi,edx
|
|
|
|
mov ebp,eax
|
|
|
|
punpcklqdq xmm4,xmm1
|
|
|
|
movdqa xmm6,xmm3
|
|
|
|
add edi,DWORD PTR [esp]
|
|
|
|
xor ebx,ecx
|
|
|
|
paddd xmm7,xmm3
|
|
|
|
movdqa XMMWORD PTR 64[esp],xmm0
|
|
|
|
rol eax,5
|
|
|
|
add edi,esi
|
|
|
|
psrldq xmm6,4
|
|
|
|
and ebp,ebx
|
|
|
|
xor ebx,ecx
|
|
|
|
pxor xmm4,xmm0
|
|
|
|
add edi,eax
|
|
|
|
ror eax,7
|
|
|
|
pxor xmm6,xmm2
|
|
|
|
xor ebp,ecx
|
|
|
|
mov esi,edi
|
|
|
|
add edx,DWORD PTR 4[esp]
|
|
|
|
pxor xmm4,xmm6
|
|
|
|
xor eax,ebx
|
|
|
|
rol edi,5
|
|
|
|
movdqa XMMWORD PTR 48[esp],xmm7
|
|
|
|
add edx,ebp
|
|
|
|
and esi,eax
|
|
|
|
movdqa xmm0,xmm4
|
|
|
|
xor eax,ebx
|
|
|
|
add edx,edi
|
|
|
|
ror edi,7
|
|
|
|
movdqa xmm6,xmm4
|
|
|
|
xor esi,ebx
|
|
|
|
pslldq xmm0,12
|
|
|
|
paddd xmm4,xmm4
|
|
|
|
mov ebp,edx
|
|
|
|
add ecx,DWORD PTR 8[esp]
|
|
|
|
psrld xmm6,31
|
|
|
|
xor edi,eax
|
|
|
|
rol edx,5
|
|
|
|
movdqa xmm7,xmm0
|
|
|
|
add ecx,esi
|
|
|
|
and ebp,edi
|
|
|
|
xor edi,eax
|
|
|
|
psrld xmm0,30
|
|
|
|
add ecx,edx
|
|
|
|
ror edx,7
|
|
|
|
por xmm4,xmm6
|
|
|
|
xor ebp,eax
|
|
|
|
mov esi,ecx
|
|
|
|
add ebx,DWORD PTR 12[esp]
|
|
|
|
pslld xmm7,2
|
|
|
|
xor edx,edi
|
|
|
|
rol ecx,5
|
|
|
|
pxor xmm4,xmm0
|
|
|
|
movdqa xmm0,XMMWORD PTR 96[esp]
|
|
|
|
add ebx,ebp
|
|
|
|
and esi,edx
|
|
|
|
pxor xmm4,xmm7
|
|
|
|
pshufd xmm5,xmm1,238
|
|
|
|
xor edx,edi
|
|
|
|
add ebx,ecx
|
|
|
|
ror ecx,7
|
|
|
|
xor esi,edi
|
|
|
|
mov ebp,ebx
|
|
|
|
punpcklqdq xmm5,xmm2
|
|
|
|
movdqa xmm7,xmm4
|
|
|
|
add eax,DWORD PTR 16[esp]
|
|
|
|
xor ecx,edx
|
|
|
|
paddd xmm0,xmm4
|
|
|
|
movdqa XMMWORD PTR 80[esp],xmm1
|
|
|
|
rol ebx,5
|
|
|
|
add eax,esi
|
|
|
|
psrldq xmm7,4
|
|
|
|
and ebp,ecx
|
|
|
|
xor ecx,edx
|
|
|
|
pxor xmm5,xmm1
|
|
|
|
add eax,ebx
|
|
|
|
ror ebx,7
|
|
|
|
pxor xmm7,xmm3
|
|
|
|
xor ebp,edx
|
|
|
|
mov esi,eax
|
|
|
|
add edi,DWORD PTR 20[esp]
|
|
|
|
pxor xmm5,xmm7
|
|
|
|
xor ebx,ecx
|
|
|
|
rol eax,5
|
|
|
|
movdqa XMMWORD PTR [esp],xmm0
|
|
|
|
add edi,ebp
|
|
|
|
and esi,ebx
|
|
|
|
movdqa xmm1,xmm5
|
|
|
|
xor ebx,ecx
|
|
|
|
add edi,eax
|
|
|
|
ror eax,7
|
|
|
|
movdqa xmm7,xmm5
|
|
|
|
xor esi,ecx
|
|
|
|
pslldq xmm1,12
|
|
|
|
paddd xmm5,xmm5
|
|
|
|
mov ebp,edi
|
|
|
|
add edx,DWORD PTR 24[esp]
|
|
|
|
psrld xmm7,31
|
|
|
|
xor eax,ebx
|
|
|
|
rol edi,5
|
|
|
|
movdqa xmm0,xmm1
|
|
|
|
add edx,esi
|
|
|
|
and ebp,eax
|
|
|
|
xor eax,ebx
|
|
|
|
psrld xmm1,30
|
|
|
|
add edx,edi
|
|
|
|
ror edi,7
|
|
|
|
por xmm5,xmm7
|
|
|
|
xor ebp,ebx
|
|
|
|
mov esi,edx
|
|
|
|
add ecx,DWORD PTR 28[esp]
|
|
|
|
pslld xmm0,2
|
|
|
|
xor edi,eax
|
|
|
|
rol edx,5
|
|
|
|
pxor xmm5,xmm1
|
|
|
|
movdqa xmm1,XMMWORD PTR 112[esp]
|
|
|
|
add ecx,ebp
|
|
|
|
and esi,edi
|
|
|
|
pxor xmm5,xmm0
|
|
|
|
pshufd xmm6,xmm2,238
|
|
|
|
xor edi,eax
|
|
|
|
add ecx,edx
|
|
|
|
ror edx,7
|
|
|
|
xor esi,eax
|
|
|
|
mov ebp,ecx
|
|
|
|
punpcklqdq xmm6,xmm3
|
|
|
|
movdqa xmm0,xmm5
|
|
|
|
add ebx,DWORD PTR 32[esp]
|
|
|
|
xor edx,edi
|
|
|
|
paddd xmm1,xmm5
|
|
|
|
movdqa XMMWORD PTR 96[esp],xmm2
|
|
|
|
rol ecx,5
|
|
|
|
add ebx,esi
|
|
|
|
psrldq xmm0,4
|
|
|
|
and ebp,edx
|
|
|
|
xor edx,edi
|
|
|
|
pxor xmm6,xmm2
|
|
|
|
add ebx,ecx
|
|
|
|
ror ecx,7
|
|
|
|
pxor xmm0,xmm4
|
|
|
|
xor ebp,edi
|
|
|
|
mov esi,ebx
|
|
|
|
add eax,DWORD PTR 36[esp]
|
|
|
|
pxor xmm6,xmm0
|
|
|
|
xor ecx,edx
|
|
|
|
rol ebx,5
|
|
|
|
movdqa XMMWORD PTR 16[esp],xmm1
|
|
|
|
add eax,ebp
|
|
|
|
and esi,ecx
|
|
|
|
movdqa xmm2,xmm6
|
|
|
|
xor ecx,edx
|
|
|
|
add eax,ebx
|
|
|
|
ror ebx,7
|
|
|
|
movdqa xmm0,xmm6
|
|
|
|
xor esi,edx
|
|
|
|
pslldq xmm2,12
|
|
|
|
paddd xmm6,xmm6
|
|
|
|
mov ebp,eax
|
|
|
|
add edi,DWORD PTR 40[esp]
|
|
|
|
psrld xmm0,31
|
|
|
|
xor ebx,ecx
|
|
|
|
rol eax,5
|
|
|
|
movdqa xmm1,xmm2
|
|
|
|
add edi,esi
|
|
|
|
and ebp,ebx
|
|
|
|
xor ebx,ecx
|
|
|
|
psrld xmm2,30
|
|
|
|
add edi,eax
|
|
|
|
ror eax,7
|
|
|
|
por xmm6,xmm0
|
|
|
|
xor ebp,ecx
|
|
|
|
movdqa xmm0,XMMWORD PTR 64[esp]
|
|
|
|
mov esi,edi
|
|
|
|
add edx,DWORD PTR 44[esp]
|
|
|
|
pslld xmm1,2
|
|
|
|
xor eax,ebx
|
|
|
|
rol edi,5
|
|
|
|
pxor xmm6,xmm2
|
|
|
|
movdqa xmm2,XMMWORD PTR 112[esp]
|
|
|
|
add edx,ebp
|
|
|
|
and esi,eax
|
|
|
|
pxor xmm6,xmm1
|
|
|
|
pshufd xmm7,xmm3,238
|
|
|
|
xor eax,ebx
|
|
|
|
add edx,edi
|
|
|
|
ror edi,7
|
|
|
|
xor esi,ebx
|
|
|
|
mov ebp,edx
|
|
|
|
punpcklqdq xmm7,xmm4
|
|
|
|
movdqa xmm1,xmm6
|
|
|
|
add ecx,DWORD PTR 48[esp]
|
|
|
|
xor edi,eax
|
|
|
|
paddd xmm2,xmm6
|
|
|
|
movdqa XMMWORD PTR 64[esp],xmm3
|
|
|
|
rol edx,5
|
|
|
|
add ecx,esi
|
|
|
|
psrldq xmm1,4
|
|
|
|
and ebp,edi
|
|
|
|
xor edi,eax
|
|
|
|
pxor xmm7,xmm3
|
|
|
|
add ecx,edx
|
|
|
|
ror edx,7
|
|
|
|
pxor xmm1,xmm5
|
|
|
|
xor ebp,eax
|
|
|
|
mov esi,ecx
|
|
|
|
add ebx,DWORD PTR 52[esp]
|
|
|
|
pxor xmm7,xmm1
|
|
|
|
xor edx,edi
|
|
|
|
rol ecx,5
|
|
|
|
movdqa XMMWORD PTR 32[esp],xmm2
|
|
|
|
add ebx,ebp
|
|
|
|
and esi,edx
|
|
|
|
movdqa xmm3,xmm7
|
|
|
|
xor edx,edi
|
|
|
|
add ebx,ecx
|
|
|
|
ror ecx,7
|
|
|
|
movdqa xmm1,xmm7
|
|
|
|
xor esi,edi
|
|
|
|
pslldq xmm3,12
|
|
|
|
paddd xmm7,xmm7
|
|
|
|
mov ebp,ebx
|
|
|
|
add eax,DWORD PTR 56[esp]
|
|
|
|
psrld xmm1,31
|
|
|
|
xor ecx,edx
|
|
|
|
rol ebx,5
|
|
|
|
movdqa xmm2,xmm3
|
|
|
|
add eax,esi
|
|
|
|
and ebp,ecx
|
|
|
|
xor ecx,edx
|
|
|
|
psrld xmm3,30
|
|
|
|
add eax,ebx
|
|
|
|
ror ebx,7
|
|
|
|
por xmm7,xmm1
|
|
|
|
xor ebp,edx
|
|
|
|
movdqa xmm1,XMMWORD PTR 80[esp]
|
|
|
|
mov esi,eax
|
|
|
|
add edi,DWORD PTR 60[esp]
|
|
|
|
pslld xmm2,2
|
|
|
|
xor ebx,ecx
|
|
|
|
rol eax,5
|
|
|
|
pxor xmm7,xmm3
|
|
|
|
movdqa xmm3,XMMWORD PTR 112[esp]
|
|
|
|
add edi,ebp
|
|
|
|
and esi,ebx
|
|
|
|
pxor xmm7,xmm2
|
|
|
|
pshufd xmm2,xmm6,238
|
|
|
|
xor ebx,ecx
|
|
|
|
add edi,eax
|
|
|
|
ror eax,7
|
|
|
|
pxor xmm0,xmm4
|
|
|
|
punpcklqdq xmm2,xmm7
|
|
|
|
xor esi,ecx
|
|
|
|
mov ebp,edi
|
|
|
|
add edx,DWORD PTR [esp]
|
|
|
|
pxor xmm0,xmm1
|
|
|
|
movdqa XMMWORD PTR 80[esp],xmm4
|
|
|
|
xor eax,ebx
|
|
|
|
rol edi,5
|
|
|
|
movdqa xmm4,xmm3
|
|
|
|
add edx,esi
|
|
|
|
paddd xmm3,xmm7
|
|
|
|
and ebp,eax
|
|
|
|
pxor xmm0,xmm2
|
|
|
|
xor eax,ebx
|
|
|
|
add edx,edi
|
|
|
|
ror edi,7
|
|
|
|
xor ebp,ebx
|
|
|
|
movdqa xmm2,xmm0
|
|
|
|
movdqa XMMWORD PTR 48[esp],xmm3
|
|
|
|
mov esi,edx
|
|
|
|
add ecx,DWORD PTR 4[esp]
|
|
|
|
xor edi,eax
|
|
|
|
rol edx,5
|
|
|
|
pslld xmm0,2
|
|
|
|
add ecx,ebp
|
|
|
|
and esi,edi
|
|
|
|
psrld xmm2,30
|
|
|
|
xor edi,eax
|
|
|
|
add ecx,edx
|
|
|
|
ror edx,7
|
|
|
|
xor esi,eax
|
|
|
|
mov ebp,ecx
|
|
|
|
add ebx,DWORD PTR 8[esp]
|
|
|
|
xor edx,edi
|
|
|
|
rol ecx,5
|
|
|
|
por xmm0,xmm2
|
|
|
|
add ebx,esi
|
|
|
|
and ebp,edx
|
|
|
|
movdqa xmm2,XMMWORD PTR 96[esp]
|
|
|
|
xor edx,edi
|
|
|
|
add ebx,ecx
|
|
|
|
add eax,DWORD PTR 12[esp]
|
|
|
|
xor ebp,edi
|
|
|
|
mov esi,ebx
|
|
|
|
pshufd xmm3,xmm7,238
|
|
|
|
rol ebx,5
|
|
|
|
add eax,ebp
|
|
|
|
xor esi,edx
|
|
|
|
ror ecx,7
|
|
|
|
add eax,ebx
|
|
|
|
add edi,DWORD PTR 16[esp]
|
|
|
|
pxor xmm1,xmm5
|
|
|
|
punpcklqdq xmm3,xmm0
|
|
|
|
xor esi,ecx
|
|
|
|
mov ebp,eax
|
|
|
|
rol eax,5
|
|
|
|
pxor xmm1,xmm2
|
|
|
|
movdqa XMMWORD PTR 96[esp],xmm5
|
|
|
|
add edi,esi
|
|
|
|
xor ebp,ecx
|
|
|
|
movdqa xmm5,xmm4
|
|
|
|
ror ebx,7
|
|
|
|
paddd xmm4,xmm0
|
|
|
|
add edi,eax
|
|
|
|
pxor xmm1,xmm3
|
|
|
|
add edx,DWORD PTR 20[esp]
|
|
|
|
xor ebp,ebx
|
|
|
|
mov esi,edi
|
|
|
|
rol edi,5
|
|
|
|
movdqa xmm3,xmm1
|
|
|
|
movdqa XMMWORD PTR [esp],xmm4
|
|
|
|
add edx,ebp
|
|
|
|
xor esi,ebx
|
|
|
|
ror eax,7
|
|
|
|
add edx,edi
|
|
|
|
pslld xmm1,2
|
|
|
|
add ecx,DWORD PTR 24[esp]
|
|
|
|
xor esi,eax
|
|
|
|
psrld xmm3,30
|
|
|
|
mov ebp,edx
|
|
|
|
rol edx,5
|
|
|
|
add ecx,esi
|
|
|
|
xor ebp,eax
|
|
|
|
ror edi,7
|
|
|
|
add ecx,edx
|
|
|
|
por xmm1,xmm3
|
|
|
|
add ebx,DWORD PTR 28[esp]
|
|
|
|
xor ebp,edi
|
|
|
|
movdqa xmm3,XMMWORD PTR 64[esp]
|
|
|
|
mov esi,ecx
|
|
|
|
rol ecx,5
|
|
|
|
add ebx,ebp
|
|
|
|
xor esi,edi
|
|
|
|
ror edx,7
|
|
|
|
pshufd xmm4,xmm0,238
|
|
|
|
add ebx,ecx
|
|
|
|
add eax,DWORD PTR 32[esp]
|
|
|
|
pxor xmm2,xmm6
|
|
|
|
punpcklqdq xmm4,xmm1
|
|
|
|
xor esi,edx
|
|
|
|
mov ebp,ebx
|
|
|
|
rol ebx,5
|
|
|
|
pxor xmm2,xmm3
|
|
|
|
movdqa XMMWORD PTR 64[esp],xmm6
|
|
|
|
add eax,esi
|
|
|
|
xor ebp,edx
|
|
|
|
movdqa xmm6,XMMWORD PTR 128[esp]
|
|
|
|
ror ecx,7
|
|
|
|
paddd xmm5,xmm1
|
|
|
|
add eax,ebx
|
|
|
|
pxor xmm2,xmm4
|
|
|
|
add edi,DWORD PTR 36[esp]
|
|
|
|
xor ebp,ecx
|
|
|
|
mov esi,eax
|
|
|
|
rol eax,5
|
|
|
|
movdqa xmm4,xmm2
|
|
|
|
movdqa XMMWORD PTR 16[esp],xmm5
|
|
|
|
add edi,ebp
|
|
|
|
xor esi,ecx
|
|
|
|
ror ebx,7
|
|
|
|
add edi,eax
|
|
|
|
pslld xmm2,2
|
|
|
|
add edx,DWORD PTR 40[esp]
|
|
|
|
xor esi,ebx
|
|
|
|
psrld xmm4,30
|
|
|
|
mov ebp,edi
|
|
|
|
rol edi,5
|
|
|
|
add edx,esi
|
|
|
|
xor ebp,ebx
|
|
|
|
ror eax,7
|
|
|
|
add edx,edi
|
|
|
|
por xmm2,xmm4
|
|
|
|
add ecx,DWORD PTR 44[esp]
|
|
|
|
xor ebp,eax
|
|
|
|
movdqa xmm4,XMMWORD PTR 80[esp]
|
|
|
|
mov esi,edx
|
|
|
|
rol edx,5
|
|
|
|
add ecx,ebp
|
|
|
|
xor esi,eax
|
|
|
|
ror edi,7
|
|
|
|
pshufd xmm5,xmm1,238
|
|
|
|
add ecx,edx
|
|
|
|
add ebx,DWORD PTR 48[esp]
|
|
|
|
pxor xmm3,xmm7
|
|
|
|
punpcklqdq xmm5,xmm2
|
|
|
|
xor esi,edi
|
|
|
|
mov ebp,ecx
|
|
|
|
rol ecx,5
|
|
|
|
pxor xmm3,xmm4
|
|
|
|
movdqa XMMWORD PTR 80[esp],xmm7
|
|
|
|
add ebx,esi
|
|
|
|
xor ebp,edi
|
|
|
|
movdqa xmm7,xmm6
|
|
|
|
ror edx,7
|
|
|
|
paddd xmm6,xmm2
|
|
|
|
add ebx,ecx
|
|
|
|
pxor xmm3,xmm5
|
|
|
|
add eax,DWORD PTR 52[esp]
|
|
|
|
xor ebp,edx
|
|
|
|
mov esi,ebx
|
|
|
|
rol ebx,5
|
|
|
|
movdqa xmm5,xmm3
|
|
|
|
movdqa XMMWORD PTR 32[esp],xmm6
|
|
|
|
add eax,ebp
|
|
|
|
xor esi,edx
|
|
|
|
ror ecx,7
|
|
|
|
add eax,ebx
|
|
|
|
pslld xmm3,2
|
|
|
|
add edi,DWORD PTR 56[esp]
|
|
|
|
xor esi,ecx
|
|
|
|
psrld xmm5,30
|
|
|
|
mov ebp,eax
|
|
|
|
rol eax,5
|
|
|
|
add edi,esi
|
|
|
|
xor ebp,ecx
|
|
|
|
ror ebx,7
|
|
|
|
add edi,eax
|
|
|
|
por xmm3,xmm5
|
|
|
|
add edx,DWORD PTR 60[esp]
|
|
|
|
xor ebp,ebx
|
|
|
|
movdqa xmm5,XMMWORD PTR 96[esp]
|
|
|
|
mov esi,edi
|
|
|
|
rol edi,5
|
|
|
|
add edx,ebp
|
|
|
|
xor esi,ebx
|
|
|
|
ror eax,7
|
|
|
|
pshufd xmm6,xmm2,238
|
|
|
|
add edx,edi
|
|
|
|
add ecx,DWORD PTR [esp]
|
|
|
|
pxor xmm4,xmm0
|
|
|
|
punpcklqdq xmm6,xmm3
|
|
|
|
xor esi,eax
|
|
|
|
mov ebp,edx
|
|
|
|
rol edx,5
|
|
|
|
pxor xmm4,xmm5
|
|
|
|
movdqa XMMWORD PTR 96[esp],xmm0
|
|
|
|
add ecx,esi
|
|
|
|
xor ebp,eax
|
|
|
|
movdqa xmm0,xmm7
|
|
|
|
ror edi,7
|
|
|
|
paddd xmm7,xmm3
|
|
|
|
add ecx,edx
|
|
|
|
pxor xmm4,xmm6
|
|
|
|
add ebx,DWORD PTR 4[esp]
|
|
|
|
xor ebp,edi
|
|
|
|
mov esi,ecx
|
|
|
|
rol ecx,5
|
|
|
|
movdqa xmm6,xmm4
|
|
|
|
movdqa XMMWORD PTR 48[esp],xmm7
|
|
|
|
add ebx,ebp
|
|
|
|
xor esi,edi
|
|
|
|
ror edx,7
|
|
|
|
add ebx,ecx
|
|
|
|
pslld xmm4,2
|
|
|
|
add eax,DWORD PTR 8[esp]
|
|
|
|
xor esi,edx
|
|
|
|
psrld xmm6,30
|
|
|
|
mov ebp,ebx
|
|
|
|
rol ebx,5
|
|
|
|
add eax,esi
|
|
|
|
xor ebp,edx
|
|
|
|
ror ecx,7
|
|
|
|
add eax,ebx
|
|
|
|
por xmm4,xmm6
|
|
|
|
add edi,DWORD PTR 12[esp]
|
|
|
|
xor ebp,ecx
|
|
|
|
movdqa xmm6,XMMWORD PTR 64[esp]
|
|
|
|
mov esi,eax
|
|
|
|
rol eax,5
|
|
|
|
add edi,ebp
|
|
|
|
xor esi,ecx
|
|
|
|
ror ebx,7
|
|
|
|
pshufd xmm7,xmm3,238
|
|
|
|
add edi,eax
|
|
|
|
add edx,DWORD PTR 16[esp]
|
|
|
|
pxor xmm5,xmm1
|
|
|
|
punpcklqdq xmm7,xmm4
|
|
|
|
xor esi,ebx
|
|
|
|
mov ebp,edi
|
|
|
|
rol edi,5
|
|
|
|
pxor xmm5,xmm6
|
|
|
|
movdqa XMMWORD PTR 64[esp],xmm1
|
|
|
|
add edx,esi
|
|
|
|
xor ebp,ebx
|
|
|
|
movdqa xmm1,xmm0
|
|
|
|
ror eax,7
|
|
|
|
paddd xmm0,xmm4
|
|
|
|
add edx,edi
|
|
|
|
pxor xmm5,xmm7
|
|
|
|
add ecx,DWORD PTR 20[esp]
|
|
|
|
xor ebp,eax
|
|
|
|
mov esi,edx
|
|
|
|
rol edx,5
|
|
|
|
movdqa xmm7,xmm5
|
|
|
|
movdqa XMMWORD PTR [esp],xmm0
|
|
|
|
add ecx,ebp
|
|
|
|
xor esi,eax
|
|
|
|
ror edi,7
|
|
|
|
add ecx,edx
|
|
|
|
pslld xmm5,2
|
|
|
|
add ebx,DWORD PTR 24[esp]
|
|
|
|
xor esi,edi
|
|
|
|
psrld xmm7,30
|
|
|
|
mov ebp,ecx
|
|
|
|
rol ecx,5
|
|
|
|
add ebx,esi
|
|
|
|
xor ebp,edi
|
|
|
|
ror edx,7
|
|
|
|
add ebx,ecx
|
|
|
|
por xmm5,xmm7
|
|
|
|
add eax,DWORD PTR 28[esp]
|
|
|
|
movdqa xmm7,XMMWORD PTR 80[esp]
|
|
|
|
ror ecx,7
|
|
|
|
mov esi,ebx
|
|
|
|
xor ebp,edx
|
|
|
|
rol ebx,5
|
|
|
|
pshufd xmm0,xmm4,238
|
|
|
|
add eax,ebp
|
|
|
|
xor esi,ecx
|
|
|
|
xor ecx,edx
|
|
|
|
add eax,ebx
|
|
|
|
add edi,DWORD PTR 32[esp]
|
|
|
|
pxor xmm6,xmm2
|
|
|
|
punpcklqdq xmm0,xmm5
|
|
|
|
and esi,ecx
|
|
|
|
xor ecx,edx
|
|
|
|
ror ebx,7
|
|
|
|
pxor xmm6,xmm7
|
|
|
|
movdqa XMMWORD PTR 80[esp],xmm2
|
|
|
|
mov ebp,eax
|
|
|
|
xor esi,ecx
|
|
|
|
rol eax,5
|
|
|
|
movdqa xmm2,xmm1
|
|
|
|
add edi,esi
|
|
|
|
paddd xmm1,xmm5
|
|
|
|
xor ebp,ebx
|
|
|
|
pxor xmm6,xmm0
|
|
|
|
xor ebx,ecx
|
|
|
|
add edi,eax
|
|
|
|
add edx,DWORD PTR 36[esp]
|
|
|
|
and ebp,ebx
|
|
|
|
movdqa xmm0,xmm6
|
|
|
|
movdqa XMMWORD PTR 16[esp],xmm1
|
|
|
|
xor ebx,ecx
|
|
|
|
ror eax,7
|
|
|
|
mov esi,edi
|
|
|
|
xor ebp,ebx
|
|
|
|
rol edi,5
|
|
|
|
pslld xmm6,2
|
|
|
|
add edx,ebp
|
|
|
|
xor esi,eax
|
|
|
|
psrld xmm0,30
|
|
|
|
xor eax,ebx
|
|
|
|
add edx,edi
|
|
|
|
add ecx,DWORD PTR 40[esp]
|
|
|
|
and esi,eax
|
|
|
|
xor eax,ebx
|
|
|
|
ror edi,7
|
|
|
|
por xmm6,xmm0
|
|
|
|
mov ebp,edx
|
|
|
|
xor esi,eax
|
|
|
|
movdqa xmm0,XMMWORD PTR 96[esp]
|
|
|
|
rol edx,5
|
|
|
|
add ecx,esi
|
|
|
|
xor ebp,edi
|
|
|
|
xor edi,eax
|
|
|
|
add ecx,edx
|
|
|
|
pshufd xmm1,xmm5,238
|
|
|
|
add ebx,DWORD PTR 44[esp]
|
|
|
|
and ebp,edi
|
|
|
|
xor edi,eax
|
|
|
|
ror edx,7
|
|
|
|
mov esi,ecx
|
|
|
|
xor ebp,edi
|
|
|
|
rol ecx,5
|
|
|
|
add ebx,ebp
|
|
|
|
xor esi,edx
|
|
|
|
xor edx,edi
|
|
|
|
add ebx,ecx
|
|
|
|
add eax,DWORD PTR 48[esp]
|
|
|
|
pxor xmm7,xmm3
|
|
|
|
punpcklqdq xmm1,xmm6
|
|
|
|
and esi,edx
|
|
|
|
xor edx,edi
|
|
|
|
ror ecx,7
|
|
|
|
pxor xmm7,xmm0
|
|
|
|
movdqa XMMWORD PTR 96[esp],xmm3
|
|
|
|
mov ebp,ebx
|
|
|
|
xor esi,edx
|
|
|
|
rol ebx,5
|
|
|
|
movdqa xmm3,XMMWORD PTR 144[esp]
|
|
|
|
add eax,esi
|
|
|
|
paddd xmm2,xmm6
|
|
|
|
xor ebp,ecx
|
|
|
|
pxor xmm7,xmm1
|
|
|
|
xor ecx,edx
|
|
|
|
add eax,ebx
|
|
|
|
add edi,DWORD PTR 52[esp]
|
|
|
|
and ebp,ecx
|
|
|
|
movdqa xmm1,xmm7
|
|
|
|
movdqa XMMWORD PTR 32[esp],xmm2
|
|
|
|
xor ecx,edx
|
|
|
|
ror ebx,7
|
|
|
|
mov esi,eax
|
|
|
|
xor ebp,ecx
|
|
|
|
rol eax,5
|
|
|
|
pslld xmm7,2
|
|
|
|
add edi,ebp
|
|
|
|
xor esi,ebx
|
|
|
|
psrld xmm1,30
|
|
|
|
xor ebx,ecx
|
|
|
|
add edi,eax
|
|
|
|
add edx,DWORD PTR 56[esp]
|
|
|
|
and esi,ebx
|
|
|
|
xor ebx,ecx
|
|
|
|
ror eax,7
|
|
|
|
por xmm7,xmm1
|
|
|
|
mov ebp,edi
|
|
|
|
xor esi,ebx
|
|
|
|
movdqa xmm1,XMMWORD PTR 64[esp]
|
|
|
|
rol edi,5
|
|
|
|
add edx,esi
|
|
|
|
xor ebp,eax
|
|
|
|
xor eax,ebx
|
|
|
|
add edx,edi
|
|
|
|
pshufd xmm2,xmm6,238
|
|
|
|
add ecx,DWORD PTR 60[esp]
|
|
|
|
and ebp,eax
|
|
|
|
xor eax,ebx
|
|
|
|
ror edi,7
|
|
|
|
mov esi,edx
|
|
|
|
xor ebp,eax
|
|
|
|
rol edx,5
|
|
|
|
add ecx,ebp
|
|
|
|
xor esi,edi
|
|
|
|
xor edi,eax
|
|
|
|
add ecx,edx
|
|
|
|
add ebx,DWORD PTR [esp]
|
|
|
|
pxor xmm0,xmm4
|
|
|
|
punpcklqdq xmm2,xmm7
|
|
|
|
and esi,edi
|
|
|
|
xor edi,eax
|
|
|
|
ror edx,7
|
|
|
|
pxor xmm0,xmm1
|
|
|
|
movdqa XMMWORD PTR 64[esp],xmm4
|
|
|
|
mov ebp,ecx
|
|
|
|
xor esi,edi
|
|
|
|
rol ecx,5
|
|
|
|
movdqa xmm4,xmm3
|
|
|
|
add ebx,esi
|
|
|
|
paddd xmm3,xmm7
|
|
|
|
xor ebp,edx
|
|
|
|
pxor xmm0,xmm2
|
|
|
|
xor edx,edi
|
|
|
|
add ebx,ecx
|
|
|
|
add eax,DWORD PTR 4[esp]
|
|
|
|
and ebp,edx
|
|
|
|
movdqa xmm2,xmm0
|
|
|
|
movdqa XMMWORD PTR 48[esp],xmm3
|
|
|
|
xor edx,edi
|
|
|
|
ror ecx,7
|
|
|
|
mov esi,ebx
|
|
|
|
xor ebp,edx
|
|
|
|
rol ebx,5
|
|
|
|
pslld xmm0,2
|
|
|
|
add eax,ebp
|
|
|
|
xor esi,ecx
|
|
|
|
psrld xmm2,30
|
|
|
|
xor ecx,edx
|
|
|
|
add eax,ebx
|
|
|
|
add edi,DWORD PTR 8[esp]
|
|
|
|
and esi,ecx
|
|
|
|
xor ecx,edx
|
|
|
|
ror ebx,7
|
|
|
|
por xmm0,xmm2
|
|
|
|
mov ebp,eax
|
|
|
|
xor esi,ecx
|
|
|
|
movdqa xmm2,XMMWORD PTR 80[esp]
|
|
|
|
rol eax,5
|
|
|
|
add edi,esi
|
|
|
|
xor ebp,ebx
|
|
|
|
xor ebx,ecx
|
|
|
|
add edi,eax
|
|
|
|
pshufd xmm3,xmm7,238
|
|
|
|
add edx,DWORD PTR 12[esp]
|
|
|
|
and ebp,ebx
|
|
|
|
xor ebx,ecx
|
|
|
|
ror eax,7
|
|
|
|
mov esi,edi
|
|
|
|
xor ebp,ebx
|
|
|
|
rol edi,5
|
|
|
|
add edx,ebp
|
|
|
|
xor esi,eax
|
|
|
|
xor eax,ebx
|
|
|
|
add edx,edi
|
|
|
|
add ecx,DWORD PTR 16[esp]
|
|
|
|
pxor xmm1,xmm5
|
|
|
|
punpcklqdq xmm3,xmm0
|
|
|
|
and esi,eax
|
|
|
|
xor eax,ebx
|
|
|
|
ror edi,7
|
|
|
|
pxor xmm1,xmm2
|
|
|
|
movdqa XMMWORD PTR 80[esp],xmm5
|
|
|
|
mov ebp,edx
|
|
|
|
xor esi,eax
|
|
|
|
rol edx,5
|
|
|
|
movdqa xmm5,xmm4
|
|
|
|
add ecx,esi
|
|
|
|
paddd xmm4,xmm0
|
|
|
|
xor ebp,edi
|
|
|
|
pxor xmm1,xmm3
|
|
|
|
xor edi,eax
|
|
|
|
add ecx,edx
|
|
|
|
add ebx,DWORD PTR 20[esp]
|
|
|
|
and ebp,edi
|
|
|
|
movdqa xmm3,xmm1
|
|
|
|
movdqa XMMWORD PTR [esp],xmm4
|
|
|
|
xor edi,eax
|
|
|
|
ror edx,7
|
|
|
|
mov esi,ecx
|
|
|
|
xor ebp,edi
|
|
|
|
rol ecx,5
|
|
|
|
pslld xmm1,2
|
|
|
|
add ebx,ebp
|
|
|
|
xor esi,edx
|
|
|
|
psrld xmm3,30
|
|
|
|
xor edx,edi
|
|
|
|
add ebx,ecx
|
|
|
|
add eax,DWORD PTR 24[esp]
|
|
|
|
and esi,edx
|
|
|
|
xor edx,edi
|
|
|
|
ror ecx,7
|
|
|
|
por xmm1,xmm3
|
|
|
|
mov ebp,ebx
|
|
|
|
xor esi,edx
|
|
|
|
movdqa xmm3,XMMWORD PTR 96[esp]
|
|
|
|
rol ebx,5
|
|
|
|
add eax,esi
|
|
|
|
xor ebp,ecx
|
|
|
|
xor ecx,edx
|
|
|
|
add eax,ebx
|
|
|
|
pshufd xmm4,xmm0,238
|
|
|
|
add edi,DWORD PTR 28[esp]
|
|
|
|
and ebp,ecx
|
|
|
|
xor ecx,edx
|
|
|
|
ror ebx,7
|
|
|
|
mov esi,eax
|
|
|
|
xor ebp,ecx
|
|
|
|
rol eax,5
|
|
|
|
add edi,ebp
|
|
|
|
xor esi,ebx
|
|
|
|
xor ebx,ecx
|
|
|
|
add edi,eax
|
|
|
|
add edx,DWORD PTR 32[esp]
|
|
|
|
pxor xmm2,xmm6
|
|
|
|
punpcklqdq xmm4,xmm1
|
|
|
|
and esi,ebx
|
|
|
|
xor ebx,ecx
|
|
|
|
ror eax,7
|
|
|
|
pxor xmm2,xmm3
|
|
|
|
movdqa XMMWORD PTR 96[esp],xmm6
|
|
|
|
mov ebp,edi
|
|
|
|
xor esi,ebx
|
|
|
|
rol edi,5
|
|
|
|
movdqa xmm6,xmm5
|
|
|
|
add edx,esi
|
|
|
|
paddd xmm5,xmm1
|
|
|
|
xor ebp,eax
|
|
|
|
pxor xmm2,xmm4
|
|
|
|
xor eax,ebx
|
|
|
|
add edx,edi
|
|
|
|
add ecx,DWORD PTR 36[esp]
|
|
|
|
and ebp,eax
|
|
|
|
movdqa xmm4,xmm2
|
|
|
|
movdqa XMMWORD PTR 16[esp],xmm5
|
|
|
|
xor eax,ebx
|
|
|
|
ror edi,7
|
|
|
|
mov esi,edx
|
|
|
|
xor ebp,eax
|
|
|
|
rol edx,5
|
|
|
|
pslld xmm2,2
|
|
|
|
add ecx,ebp
|
|
|
|
xor esi,edi
|
|
|
|
psrld xmm4,30
|
|
|
|
xor edi,eax
|
|
|
|
add ecx,edx
|
|
|
|
add ebx,DWORD PTR 40[esp]
|
|
|
|
and esi,edi
|
|
|
|
xor edi,eax
|
|
|
|
ror edx,7
|
|
|
|
por xmm2,xmm4
|
|
|
|
mov ebp,ecx
|
|
|
|
xor esi,edi
|
|
|
|
movdqa xmm4,XMMWORD PTR 64[esp]
|
|
|
|
rol ecx,5
|
|
|
|
add ebx,esi
|
|
|
|
xor ebp,edx
|
|
|
|
xor edx,edi
|
|
|
|
add ebx,ecx
|
|
|
|
pshufd xmm5,xmm1,238
|
|
|
|
add eax,DWORD PTR 44[esp]
|
|
|
|
and ebp,edx
|
|
|
|
xor edx,edi
|
|
|
|
ror ecx,7
|
|
|
|
mov esi,ebx
|
|
|
|
xor ebp,edx
|
|
|
|
rol ebx,5
|
|
|
|
add eax,ebp
|
|
|
|
xor esi,edx
|
|
|
|
add eax,ebx
|
|
|
|
add edi,DWORD PTR 48[esp]
|
|
|
|
pxor xmm3,xmm7
|
|
|
|
punpcklqdq xmm5,xmm2
|
|
|
|
xor esi,ecx
|
|
|
|
mov ebp,eax
|
|
|
|
rol eax,5
|
|
|
|
pxor xmm3,xmm4
|
|
|
|
movdqa XMMWORD PTR 64[esp],xmm7
|
|
|
|
add edi,esi
|
|
|
|
xor ebp,ecx
|
|
|
|
movdqa xmm7,xmm6
|
|
|
|
ror ebx,7
|
|
|
|
paddd xmm6,xmm2
|
|
|
|
add edi,eax
|
|
|
|
pxor xmm3,xmm5
|
|
|
|
add edx,DWORD PTR 52[esp]
|
|
|
|
xor ebp,ebx
|
|
|
|
mov esi,edi
|
|
|
|
rol edi,5
|
|
|
|
movdqa xmm5,xmm3
|
|
|
|
movdqa XMMWORD PTR 32[esp],xmm6
|
|
|
|
add edx,ebp
|
|
|
|
xor esi,ebx
|
|
|
|
ror eax,7
|
|
|
|
add edx,edi
|
|
|
|
pslld xmm3,2
|
|
|
|
add ecx,DWORD PTR 56[esp]
|
|
|
|
xor esi,eax
|
|
|
|
psrld xmm5,30
|
|
|
|
mov ebp,edx
|
|
|
|
rol edx,5
|
|
|
|
add ecx,esi
|
|
|
|
xor ebp,eax
|
|
|
|
ror edi,7
|
|
|
|
add ecx,edx
|
|
|
|
por xmm3,xmm5
|
|
|
|
add ebx,DWORD PTR 60[esp]
|
|
|
|
xor ebp,edi
|
|
|
|
mov esi,ecx
|
|
|
|
rol ecx,5
|
|
|
|
add ebx,ebp
|
|
|
|
xor esi,edi
|
|
|
|
ror edx,7
|
|
|
|
add ebx,ecx
|
|
|
|
add eax,DWORD PTR [esp]
|
|
|
|
xor esi,edx
|
|
|
|
mov ebp,ebx
|
|
|
|
rol ebx,5
|
|
|
|
add eax,esi
|
|
|
|
xor ebp,edx
|
|
|
|
ror ecx,7
|
|
|
|
paddd xmm7,xmm3
|
|
|
|
add eax,ebx
|
|
|
|
add edi,DWORD PTR 4[esp]
|
|
|
|
xor ebp,ecx
|
|
|
|
mov esi,eax
|
|
|
|
movdqa XMMWORD PTR 48[esp],xmm7
|
|
|
|
rol eax,5
|
|
|
|
add edi,ebp
|
|
|
|
xor esi,ecx
|
|
|
|
ror ebx,7
|
|
|
|
add edi,eax
|
|
|
|
add edx,DWORD PTR 8[esp]
|
|
|
|
xor esi,ebx
|
|
|
|
mov ebp,edi
|
|
|
|
rol edi,5
|
|
|
|
add edx,esi
|
|
|
|
xor ebp,ebx
|
|
|
|
ror eax,7
|
|
|
|
add edx,edi
|
|
|
|
add ecx,DWORD PTR 12[esp]
|
|
|
|
xor ebp,eax
|
|
|
|
mov esi,edx
|
|
|
|
rol edx,5
|
|
|
|
add ecx,ebp
|
|
|
|
xor esi,eax
|
|
|
|
ror edi,7
|
|
|
|
add ecx,edx
|
|
|
|
mov ebp,DWORD PTR 196[esp]
|
|
|
|
cmp ebp,DWORD PTR 200[esp]
|
|
|
|
je $L007done
|
|
|
|
movdqa xmm7,XMMWORD PTR 160[esp]
|
|
|
|
movdqa xmm6,XMMWORD PTR 176[esp]
|
|
|
|
movdqu xmm0,XMMWORD PTR [ebp]
|
|
|
|
movdqu xmm1,XMMWORD PTR 16[ebp]
|
|
|
|
movdqu xmm2,XMMWORD PTR 32[ebp]
|
|
|
|
movdqu xmm3,XMMWORD PTR 48[ebp]
|
|
|
|
add ebp,64
|
|
|
|
DB 102,15,56,0,198
|
|
|
|
mov DWORD PTR 196[esp],ebp
|
|
|
|
movdqa XMMWORD PTR 96[esp],xmm7
|
|
|
|
add ebx,DWORD PTR 16[esp]
|
|
|
|
xor esi,edi
|
|
|
|
mov ebp,ecx
|
|
|
|
rol ecx,5
|
|
|
|
add ebx,esi
|
|
|
|
xor ebp,edi
|
|
|
|
ror edx,7
|
|
|
|
DB 102,15,56,0,206
|
|
|
|
add ebx,ecx
|
|
|
|
add eax,DWORD PTR 20[esp]
|
|
|
|
xor ebp,edx
|
|
|
|
mov esi,ebx
|
|
|
|
paddd xmm0,xmm7
|
|
|
|
rol ebx,5
|
|
|
|
add eax,ebp
|
|
|
|
xor esi,edx
|
|
|
|
ror ecx,7
|
|
|
|
movdqa XMMWORD PTR [esp],xmm0
|
|
|
|
add eax,ebx
|
|
|
|
add edi,DWORD PTR 24[esp]
|
|
|
|
xor esi,ecx
|
|
|
|
mov ebp,eax
|
|
|
|
psubd xmm0,xmm7
|
|
|
|
rol eax,5
|
|
|
|
add edi,esi
|
|
|
|
xor ebp,ecx
|
|
|
|
ror ebx,7
|
|
|
|
add edi,eax
|
|
|
|
add edx,DWORD PTR 28[esp]
|
|
|
|
xor ebp,ebx
|
|
|
|
mov esi,edi
|
|
|
|
rol edi,5
|
|
|
|
add edx,ebp
|
|
|
|
xor esi,ebx
|
|
|
|
ror eax,7
|
|
|
|
add edx,edi
|
|
|
|
add ecx,DWORD PTR 32[esp]
|
|
|
|
xor esi,eax
|
|
|
|
mov ebp,edx
|
|
|
|
rol edx,5
|
|
|
|
add ecx,esi
|
|
|
|
xor ebp,eax
|
|
|
|
ror edi,7
|
|
|
|
DB 102,15,56,0,214
|
|
|
|
add ecx,edx
|
|
|
|
add ebx,DWORD PTR 36[esp]
|
|
|
|
xor ebp,edi
|
|
|
|
mov esi,ecx
|
|
|
|
paddd xmm1,xmm7
|
|
|
|
rol ecx,5
|
|
|
|
add ebx,ebp
|
|
|
|
xor esi,edi
|
|
|
|
ror edx,7
|
|
|
|
movdqa XMMWORD PTR 16[esp],xmm1
|
|
|
|
add ebx,ecx
|
|
|
|
add eax,DWORD PTR 40[esp]
|
|
|
|
xor esi,edx
|
|
|
|
mov ebp,ebx
|
|
|
|
psubd xmm1,xmm7
|
|
|
|
rol ebx,5
|
|
|
|
add eax,esi
|
|
|
|
xor ebp,edx
|
|
|
|
ror ecx,7
|
|
|
|
add eax,ebx
|
|
|
|
add edi,DWORD PTR 44[esp]
|
|
|
|
xor ebp,ecx
|
|
|
|
mov esi,eax
|
|
|
|
rol eax,5
|
|
|
|
add edi,ebp
|
|
|
|
xor esi,ecx
|
|
|
|
ror ebx,7
|
|
|
|
add edi,eax
|
|
|
|
add edx,DWORD PTR 48[esp]
|
|
|
|
xor esi,ebx
|
|
|
|
mov ebp,edi
|
|
|
|
rol edi,5
|
|
|
|
add edx,esi
|
|
|
|
xor ebp,ebx
|
|
|
|
ror eax,7
|
|
|
|
DB 102,15,56,0,222
|
|
|
|
add edx,edi
|
|
|
|
add ecx,DWORD PTR 52[esp]
|
|
|
|
xor ebp,eax
|
|
|
|
mov esi,edx
|
|
|
|
paddd xmm2,xmm7
|
|
|
|
rol edx,5
|
|
|
|
add ecx,ebp
|
|
|
|
xor esi,eax
|
|
|
|
ror edi,7
|
|
|
|
movdqa XMMWORD PTR 32[esp],xmm2
|
|
|
|
add ecx,edx
|
|
|
|
add ebx,DWORD PTR 56[esp]
|
|
|
|
xor esi,edi
|
|
|
|
mov ebp,ecx
|
|
|
|
psubd xmm2,xmm7
|
|
|
|
rol ecx,5
|
|
|
|
add ebx,esi
|
|
|
|
xor ebp,edi
|
|
|
|
ror edx,7
|
|
|
|
add ebx,ecx
|
|
|
|
add eax,DWORD PTR 60[esp]
|
|
|
|
xor ebp,edx
|
|
|
|
mov esi,ebx
|
|
|
|
rol ebx,5
|
|
|
|
add eax,ebp
|
|
|
|
ror ecx,7
|
|
|
|
add eax,ebx
|
|
|
|
mov ebp,DWORD PTR 192[esp]
|
|
|
|
add eax,DWORD PTR [ebp]
|
|
|
|
add esi,DWORD PTR 4[ebp]
|
|
|
|
add ecx,DWORD PTR 8[ebp]
|
|
|
|
mov DWORD PTR [ebp],eax
|
|
|
|
add edx,DWORD PTR 12[ebp]
|
|
|
|
mov DWORD PTR 4[ebp],esi
|
|
|
|
add edi,DWORD PTR 16[ebp]
|
|
|
|
mov DWORD PTR 8[ebp],ecx
|
|
|
|
mov ebx,ecx
|
|
|
|
mov DWORD PTR 12[ebp],edx
|
|
|
|
xor ebx,edx
|
|
|
|
mov DWORD PTR 16[ebp],edi
|
|
|
|
mov ebp,esi
|
|
|
|
pshufd xmm4,xmm0,238
|
|
|
|
and esi,ebx
|
|
|
|
mov ebx,ebp
|
|
|
|
jmp $L006loop
|
|
|
|
ALIGN 16
|
|
|
|
$L007done:
|
|
|
|
add ebx,DWORD PTR 16[esp]
|
|
|
|
xor esi,edi
|
|
|
|
mov ebp,ecx
|
|
|
|
rol ecx,5
|
|
|
|
add ebx,esi
|
|
|
|
xor ebp,edi
|
|
|
|
ror edx,7
|
|
|
|
add ebx,ecx
|
|
|
|
add eax,DWORD PTR 20[esp]
|
|
|
|
xor ebp,edx
|
|
|
|
mov esi,ebx
|
|
|
|
rol ebx,5
|
|
|
|
add eax,ebp
|
|
|
|
xor esi,edx
|
|
|
|
ror ecx,7
|
|
|
|
add eax,ebx
|
|
|
|
add edi,DWORD PTR 24[esp]
|
|
|
|
xor esi,ecx
|
|
|
|
mov ebp,eax
|
|
|
|
rol eax,5
|
|
|
|
add edi,esi
|
|
|
|
xor ebp,ecx
|
|
|
|
ror ebx,7
|
|
|
|
add edi,eax
|
|
|
|
add edx,DWORD PTR 28[esp]
|
|
|
|
xor ebp,ebx
|
|
|
|
mov esi,edi
|
|
|
|
rol edi,5
|
|
|
|
add edx,ebp
|
|
|
|
xor esi,ebx
|
|
|
|
ror eax,7
|
|
|
|
add edx,edi
|
|
|
|
add ecx,DWORD PTR 32[esp]
|
|
|
|
xor esi,eax
|
|
|
|
mov ebp,edx
|
|
|
|
rol edx,5
|
|
|
|
add ecx,esi
|
|
|
|
xor ebp,eax
|
|
|
|
ror edi,7
|
|
|
|
add ecx,edx
|
|
|
|
add ebx,DWORD PTR 36[esp]
|
|
|
|
xor ebp,edi
|
|
|
|
mov esi,ecx
|
|
|
|
rol ecx,5
|
|
|
|
add ebx,ebp
|
|
|
|
xor esi,edi
|
|
|
|
ror edx,7
|
|
|
|
add ebx,ecx
|
|
|
|
add eax,DWORD PTR 40[esp]
|
|
|
|
xor esi,edx
|
|
|
|
mov ebp,ebx
|
|
|
|
rol ebx,5
|
|
|
|
add eax,esi
|
|
|
|
xor ebp,edx
|
|
|
|
ror ecx,7
|
|
|
|
add eax,ebx
|
|
|
|
add edi,DWORD PTR 44[esp]
|
|
|
|
xor ebp,ecx
|
|
|
|
mov esi,eax
|
|
|
|
rol eax,5
|
|
|
|
add edi,ebp
|
|
|
|
xor esi,ecx
|
|
|
|
ror ebx,7
|
|
|
|
add edi,eax
|
|
|
|
add edx,DWORD PTR 48[esp]
|
|
|
|
xor esi,ebx
|
|
|
|
mov ebp,edi
|
|
|
|
rol edi,5
|
|
|
|
add edx,esi
|
|
|
|
xor ebp,ebx
|
|
|
|
ror eax,7
|
|
|
|
add edx,edi
|
|
|
|
add ecx,DWORD PTR 52[esp]
|
|
|
|
xor ebp,eax
|
|
|
|
mov esi,edx
|
|
|
|
rol edx,5
|
|
|
|
add ecx,ebp
|
|
|
|
xor esi,eax
|
|
|
|
ror edi,7
|
|
|
|
add ecx,edx
|
|
|
|
add ebx,DWORD PTR 56[esp]
|
|
|
|
xor esi,edi
|
|
|
|
mov ebp,ecx
|
|
|
|
rol ecx,5
|
|
|
|
add ebx,esi
|
|
|
|
xor ebp,edi
|
|
|
|
ror edx,7
|
|
|
|
add ebx,ecx
|
|
|
|
add eax,DWORD PTR 60[esp]
|
|
|
|
xor ebp,edx
|
|
|
|
mov esi,ebx
|
|
|
|
rol ebx,5
|
|
|
|
add eax,ebp
|
|
|
|
ror ecx,7
|
|
|
|
add eax,ebx
|
|
|
|
mov ebp,DWORD PTR 192[esp]
|
|
|
|
add eax,DWORD PTR [ebp]
|
|
|
|
mov esp,DWORD PTR 204[esp]
|
|
|
|
add esi,DWORD PTR 4[ebp]
|
|
|
|
add ecx,DWORD PTR 8[ebp]
|
|
|
|
mov DWORD PTR [ebp],eax
|
|
|
|
add edx,DWORD PTR 12[ebp]
|
|
|
|
mov DWORD PTR 4[ebp],esi
|
|
|
|
add edi,DWORD PTR 16[ebp]
|
|
|
|
mov DWORD PTR 8[ebp],ecx
|
|
|
|
mov DWORD PTR 12[ebp],edx
|
|
|
|
mov DWORD PTR 16[ebp],edi
|
|
|
|
pop edi
|
|
|
|
pop esi
|
|
|
|
pop ebx
|
|
|
|
pop ebp
|
|
|
|
ret
|
|
|
|
__sha1_block_data_order_ssse3 ENDP
|
|
|
|
ALIGN 16
|
|
|
|
__sha1_block_data_order_avx PROC PRIVATE
|
|
|
|
push ebp
|
|
|
|
push ebx
|
|
|
|
push esi
|
|
|
|
push edi
|
|
|
|
call $L008pic_point
|
|
|
|
$L008pic_point:
|
|
|
|
pop ebp
|
|
|
|
lea ebp,DWORD PTR ($LK_XX_XX-$L008pic_point)[ebp]
|
|
|
|
$Lavx_shortcut::
|
|
|
|
vzeroall
|
|
|
|
vmovdqa xmm7,XMMWORD PTR [ebp]
|
|
|
|
vmovdqa xmm0,XMMWORD PTR 16[ebp]
|
|
|
|
vmovdqa xmm1,XMMWORD PTR 32[ebp]
|
|
|
|
vmovdqa xmm2,XMMWORD PTR 48[ebp]
|
|
|
|
vmovdqa xmm6,XMMWORD PTR 64[ebp]
|
|
|
|
mov edi,DWORD PTR 20[esp]
|
|
|
|
mov ebp,DWORD PTR 24[esp]
|
|
|
|
mov edx,DWORD PTR 28[esp]
|
|
|
|
mov esi,esp
|
|
|
|
sub esp,208
|
|
|
|
and esp,-64
|
|
|
|
vmovdqa XMMWORD PTR 112[esp],xmm0
|
|
|
|
vmovdqa XMMWORD PTR 128[esp],xmm1
|
|
|
|
vmovdqa XMMWORD PTR 144[esp],xmm2
|
|
|
|
shl edx,6
|
|
|
|
vmovdqa XMMWORD PTR 160[esp],xmm7
|
|
|
|
add edx,ebp
|
|
|
|
vmovdqa XMMWORD PTR 176[esp],xmm6
|
|
|
|
add ebp,64
|
|
|
|
mov DWORD PTR 192[esp],edi
|
|
|
|
mov DWORD PTR 196[esp],ebp
|
|
|
|
mov DWORD PTR 200[esp],edx
|
|
|
|
mov DWORD PTR 204[esp],esi
|
|
|
|
mov eax,DWORD PTR [edi]
|
|
|
|
mov ebx,DWORD PTR 4[edi]
|
|
|
|
mov ecx,DWORD PTR 8[edi]
|
|
|
|
mov edx,DWORD PTR 12[edi]
|
|
|
|
mov edi,DWORD PTR 16[edi]
|
|
|
|
mov esi,ebx
|
|
|
|
vmovdqu xmm0,XMMWORD PTR [ebp-64]
|
|
|
|
vmovdqu xmm1,XMMWORD PTR [ebp-48]
|
|
|
|
vmovdqu xmm2,XMMWORD PTR [ebp-32]
|
|
|
|
vmovdqu xmm3,XMMWORD PTR [ebp-16]
|
|
|
|
vpshufb xmm0,xmm0,xmm6
|
|
|
|
vpshufb xmm1,xmm1,xmm6
|
|
|
|
vpshufb xmm2,xmm2,xmm6
|
|
|
|
vmovdqa XMMWORD PTR 96[esp],xmm7
|
|
|
|
vpshufb xmm3,xmm3,xmm6
|
|
|
|
vpaddd xmm4,xmm0,xmm7
|
|
|
|
vpaddd xmm5,xmm1,xmm7
|
|
|
|
vpaddd xmm6,xmm2,xmm7
|
|
|
|
vmovdqa XMMWORD PTR [esp],xmm4
|
|
|
|
mov ebp,ecx
|
|
|
|
vmovdqa XMMWORD PTR 16[esp],xmm5
|
|
|
|
xor ebp,edx
|
|
|
|
vmovdqa XMMWORD PTR 32[esp],xmm6
|
|
|
|
and esi,ebp
|
|
|
|
jmp $L009loop
|
|
|
|
ALIGN 16
|
|
|
|
$L009loop:
|
|
|
|
shrd ebx,ebx,2
|
|
|
|
xor esi,edx
|
|
|
|
vpalignr xmm4,xmm1,xmm0,8
|
|
|
|
mov ebp,eax
|
|
|
|
add edi,DWORD PTR [esp]
|
|
|
|
vpaddd xmm7,xmm7,xmm3
|
|
|
|
vmovdqa XMMWORD PTR 64[esp],xmm0
|
|
|
|
xor ebx,ecx
|
|
|
|
shld eax,eax,5
|
|
|
|
vpsrldq xmm6,xmm3,4
|
|
|
|
add edi,esi
|
|
|
|
and ebp,ebx
|
|
|
|
vpxor xmm4,xmm4,xmm0
|
|
|
|
xor ebx,ecx
|
|
|
|
add edi,eax
|
|
|
|
vpxor xmm6,xmm6,xmm2
|
|
|
|
shrd eax,eax,7
|
|
|
|
xor ebp,ecx
|
|
|
|
vmovdqa XMMWORD PTR 48[esp],xmm7
|
|
|
|
mov esi,edi
|
|
|
|
add edx,DWORD PTR 4[esp]
|
|
|
|
vpxor xmm4,xmm4,xmm6
|
|
|
|
xor eax,ebx
|
|
|
|
shld edi,edi,5
|
|
|
|
add edx,ebp
|
|
|
|
and esi,eax
|
|
|
|
vpsrld xmm6,xmm4,31
|
|
|
|
xor eax,ebx
|
|
|
|
add edx,edi
|
|
|
|
shrd edi,edi,7
|
|
|
|
xor esi,ebx
|
|
|
|
vpslldq xmm0,xmm4,12
|
|
|
|
vpaddd xmm4,xmm4,xmm4
|
|
|
|
mov ebp,edx
|
|
|
|
add ecx,DWORD PTR 8[esp]
|
|
|
|
xor edi,eax
|
|
|
|
shld edx,edx,5
|
|
|
|
vpsrld xmm7,xmm0,30
|
|
|
|
vpor xmm4,xmm4,xmm6
|
|
|
|
add ecx,esi
|
|
|
|
and ebp,edi
|
|
|
|
xor edi,eax
|
|
|
|
add ecx,edx
|
|
|
|
vpslld xmm0,xmm0,2
|
|
|
|
shrd edx,edx,7
|
|
|
|
xor ebp,eax
|
|
|
|
vpxor xmm4,xmm4,xmm7
|
|
|
|
mov esi,ecx
|
|
|
|
add ebx,DWORD PTR 12[esp]
|
|
|
|
xor edx,edi
|
|
|
|
shld ecx,ecx,5
|
|
|
|
vpxor xmm4,xmm4,xmm0
|
|
|
|
add ebx,ebp
|
|
|
|
and esi,edx
|
|
|
|
vmovdqa xmm0,XMMWORD PTR 96[esp]
|
|
|
|
xor edx,edi
|
|
|
|
add ebx,ecx
|
|
|
|
shrd ecx,ecx,7
|
|
|
|
xor esi,edi
|
|
|
|
vpalignr xmm5,xmm2,xmm1,8
|
|
|
|
mov ebp,ebx
|
|
|
|
add eax,DWORD PTR 16[esp]
|
|
|
|
vpaddd xmm0,xmm0,xmm4
|
|
|
|
vmovdqa XMMWORD PTR 80[esp],xmm1
|
|
|
|
xor ecx,edx
|
|
|
|
shld ebx,ebx,5
|
|
|
|
vpsrldq xmm7,xmm4,4
|
|
|
|
add eax,esi
|
|
|
|
and ebp,ecx
|
|
|
|
vpxor xmm5,xmm5,xmm1
|
|
|
|
xor ecx,edx
|
|
|
|
add eax,ebx
|
|
|
|
vpxor xmm7,xmm7,xmm3
|
|
|
|
shrd ebx,ebx,7
|
|
|
|
xor ebp,edx
|
|
|
|
vmovdqa XMMWORD PTR [esp],xmm0
|
|
|
|
mov esi,eax
|
|
|
|
add edi,DWORD PTR 20[esp]
|
|
|
|
vpxor xmm5,xmm5,xmm7
|
|
|
|
xor ebx,ecx
|
|
|
|
shld eax,eax,5
|
|
|
|
add edi,ebp
|
|
|
|
and esi,ebx
|
|
|
|
vpsrld xmm7,xmm5,31
|
|
|
|
xor ebx,ecx
|
|
|
|
add edi,eax
|
|
|
|
shrd eax,eax,7
|
|
|
|
xor esi,ecx
|
|
|
|
vpslldq xmm1,xmm5,12
|
|
|
|
vpaddd xmm5,xmm5,xmm5
|
|
|
|
mov ebp,edi
|
|
|
|
add edx,DWORD PTR 24[esp]
|
|
|
|
xor eax,ebx
|
|
|
|
shld edi,edi,5
|
|
|
|
vpsrld xmm0,xmm1,30
|
|
|
|
vpor xmm5,xmm5,xmm7
|
|
|
|
add edx,esi
|
|
|
|
and ebp,eax
|
|
|
|
xor eax,ebx
|
|
|
|
add edx,edi
|
|
|
|
vpslld xmm1,xmm1,2
|
|
|
|
shrd edi,edi,7
|
|
|
|
xor ebp,ebx
|
|
|
|
vpxor xmm5,xmm5,xmm0
|
|
|
|
mov esi,edx
|
|
|
|
add ecx,DWORD PTR 28[esp]
|
|
|
|
xor edi,eax
|
|
|
|
shld edx,edx,5
|
|
|
|
vpxor xmm5,xmm5,xmm1
|
|
|
|
add ecx,ebp
|
|
|
|
and esi,edi
|
|
|
|
vmovdqa xmm1,XMMWORD PTR 112[esp]
|
|
|
|
xor edi,eax
|
|
|
|
add ecx,edx
|
|
|
|
shrd edx,edx,7
|
|
|
|
xor esi,eax
|
|
|
|
vpalignr xmm6,xmm3,xmm2,8
|
|
|
|
mov ebp,ecx
|
|
|
|
add ebx,DWORD PTR 32[esp]
|
|
|
|
vpaddd xmm1,xmm1,xmm5
|
|
|
|
vmovdqa XMMWORD PTR 96[esp],xmm2
|
|
|
|
xor edx,edi
|
|
|
|
shld ecx,ecx,5
|
|
|
|
vpsrldq xmm0,xmm5,4
|
|
|
|
add ebx,esi
|
|
|
|
and ebp,edx
|
|
|
|
vpxor xmm6,xmm6,xmm2
|
|
|
|
xor edx,edi
|
|
|
|
add ebx,ecx
|
|
|
|
vpxor xmm0,xmm0,xmm4
|
|
|
|
shrd ecx,ecx,7
|
|
|
|
xor ebp,edi
|
|
|
|
vmovdqa XMMWORD PTR 16[esp],xmm1
|
|
|
|
mov esi,ebx
|
|
|
|
add eax,DWORD PTR 36[esp]
|
|
|
|
vpxor xmm6,xmm6,xmm0
|
|
|
|
xor ecx,edx
|
|
|
|
shld ebx,ebx,5
|
|
|
|
add eax,ebp
|
|
|
|
and esi,ecx
|
|
|
|
vpsrld xmm0,xmm6,31
|
|
|
|
xor ecx,edx
|
|
|
|
add eax,ebx
|
|
|
|
shrd ebx,ebx,7
|
|
|
|
xor esi,edx
|
|
|
|
vpslldq xmm2,xmm6,12
|
|
|
|
vpaddd xmm6,xmm6,xmm6
|
|
|
|
mov ebp,eax
|
|
|
|
add edi,DWORD PTR 40[esp]
|
|
|
|
xor ebx,ecx
|
|
|
|
shld eax,eax,5
|
|
|
|
vpsrld xmm1,xmm2,30
|
|
|
|
vpor xmm6,xmm6,xmm0
|
|
|
|
add edi,esi
|
|
|
|
and ebp,ebx
|
|
|
|
xor ebx,ecx
|
|
|
|
add edi,eax
|
|
|
|
vpslld xmm2,xmm2,2
|
|
|
|
vmovdqa xmm0,XMMWORD PTR 64[esp]
|
|
|
|
shrd eax,eax,7
|
|
|
|
xor ebp,ecx
|
|
|
|
vpxor xmm6,xmm6,xmm1
|
|
|
|
mov esi,edi
|
|
|
|
add edx,DWORD PTR 44[esp]
|
|
|
|
xor eax,ebx
|
|
|
|
shld edi,edi,5
|
|
|
|
vpxor xmm6,xmm6,xmm2
|
|
|
|
add edx,ebp
|
|
|
|
and esi,eax
|
|
|
|
vmovdqa xmm2,XMMWORD PTR 112[esp]
|
|
|
|
xor eax,ebx
|
|
|
|
add edx,edi
|
|
|
|
shrd edi,edi,7
|
|
|
|
xor esi,ebx
|
|
|
|
vpalignr xmm7,xmm4,xmm3,8
|
|
|
|
mov ebp,edx
|
|
|
|
add ecx,DWORD PTR 48[esp]
|
|
|
|
vpaddd xmm2,xmm2,xmm6
|
|
|
|
vmovdqa XMMWORD PTR 64[esp],xmm3
|
|
|
|
xor edi,eax
|
|
|
|
shld edx,edx,5
|
|
|
|
vpsrldq xmm1,xmm6,4
|
|
|
|
add ecx,esi
|
|
|
|
and ebp,edi
|
|
|
|
vpxor xmm7,xmm7,xmm3
|
|
|
|
xor edi,eax
|
|
|
|
add ecx,edx
|
|
|
|
vpxor xmm1,xmm1,xmm5
|
|
|
|
shrd edx,edx,7
|
|
|
|
xor ebp,eax
|
|
|
|
vmovdqa XMMWORD PTR 32[esp],xmm2
|
|
|
|
mov esi,ecx
|
|
|
|
add ebx,DWORD PTR 52[esp]
|
|
|
|
vpxor xmm7,xmm7,xmm1
|
|
|
|
xor edx,edi
|
|
|
|
shld ecx,ecx,5
|
|
|
|
add ebx,ebp
|
|
|
|
and esi,edx
|
|
|
|
vpsrld xmm1,xmm7,31
|
|
|
|
xor edx,edi
|
|
|
|
add ebx,ecx
|
|
|
|
shrd ecx,ecx,7
|
|
|
|
xor esi,edi
|
|
|
|
vpslldq xmm3,xmm7,12
|
|
|
|
vpaddd xmm7,xmm7,xmm7
|
|
|
|
mov ebp,ebx
|
|
|
|
add eax,DWORD PTR 56[esp]
|
|
|
|
xor ecx,edx
|
|
|
|
shld ebx,ebx,5
|
|
|
|
vpsrld xmm2,xmm3,30
|
|
|
|
vpor xmm7,xmm7,xmm1
|
|
|
|
add eax,esi
|
|
|
|
and ebp,ecx
|
|
|
|
xor ecx,edx
|
|
|
|
add eax,ebx
|
|
|
|
vpslld xmm3,xmm3,2
|
|
|
|
vmovdqa xmm1,XMMWORD PTR 80[esp]
|
|
|
|
shrd ebx,ebx,7
|
|
|
|
xor ebp,edx
|
|
|
|
vpxor xmm7,xmm7,xmm2
|
|
|
|
mov esi,eax
|
|
|
|
add edi,DWORD PTR 60[esp]
|
|
|
|
xor ebx,ecx
|
|
|
|
shld eax,eax,5
|
|
|
|
vpxor xmm7,xmm7,xmm3
|
|
|
|
add edi,ebp
|
|
|
|
and esi,ebx
|
|
|
|
vmovdqa xmm3,XMMWORD PTR 112[esp]
|
|
|
|
xor ebx,ecx
|
|
|
|
add edi,eax
|
|
|
|
vpalignr xmm2,xmm7,xmm6,8
|
|
|
|
vpxor xmm0,xmm0,xmm4
|
|
|
|
shrd eax,eax,7
|
|
|
|
xor esi,ecx
|
|
|
|
mov ebp,edi
|
|
|
|
add edx,DWORD PTR [esp]
|
|
|
|
vpxor xmm0,xmm0,xmm1
|
|
|
|
vmovdqa XMMWORD PTR 80[esp],xmm4
|
|
|
|
xor eax,ebx
|
|
|
|
shld edi,edi,5
|
|
|
|
vmovdqa xmm4,xmm3
|
|
|
|
vpaddd xmm3,xmm3,xmm7
|
|
|
|
add edx,esi
|
|
|
|
and ebp,eax
|
|
|
|
vpxor xmm0,xmm0,xmm2
|
|
|
|
xor eax,ebx
|
|
|
|
add edx,edi
|
|
|
|
shrd edi,edi,7
|
|
|
|
xor ebp,ebx
|
|
|
|
vpsrld xmm2,xmm0,30
|
|
|
|
vmovdqa XMMWORD PTR 48[esp],xmm3
|
|
|
|
mov esi,edx
|
|
|
|
add ecx,DWORD PTR 4[esp]
|
|
|
|
xor edi,eax
|
|
|
|
shld edx,edx,5
|
|
|
|
vpslld xmm0,xmm0,2
|
|
|
|
add ecx,ebp
|
|
|
|
and esi,edi
|
|
|
|
xor edi,eax
|
|
|
|
add ecx,edx
|
|
|
|
shrd edx,edx,7
|
|
|
|
xor esi,eax
|
|
|
|
mov ebp,ecx
|
|
|
|
add ebx,DWORD PTR 8[esp]
|
|
|
|
vpor xmm0,xmm0,xmm2
|
|
|
|
xor edx,edi
|
|
|
|
shld ecx,ecx,5
|
|
|
|
vmovdqa xmm2,XMMWORD PTR 96[esp]
|
|
|
|
add ebx,esi
|
|
|
|
and ebp,edx
|
|
|
|
xor edx,edi
|
|
|
|
add ebx,ecx
|
|
|
|
add eax,DWORD PTR 12[esp]
|
|
|
|
xor ebp,edi
|
|
|
|
mov esi,ebx
|
|
|
|
shld ebx,ebx,5
|
|
|
|
add eax,ebp
|
|
|
|
xor esi,edx
|
|
|
|
shrd ecx,ecx,7
|
|
|
|
add eax,ebx
|
|
|
|
vpalignr xmm3,xmm0,xmm7,8
|
|
|
|
vpxor xmm1,xmm1,xmm5
|
|
|
|
add edi,DWORD PTR 16[esp]
|
|
|
|
xor esi,ecx
|
|
|
|
mov ebp,eax
|
|
|
|
shld eax,eax,5
|
|
|
|
vpxor xmm1,xmm1,xmm2
|
|
|
|
vmovdqa XMMWORD PTR 96[esp],xmm5
|
|
|
|
add edi,esi
|
|
|
|
xor ebp,ecx
|
|
|
|
vmovdqa xmm5,xmm4
|
|
|
|
vpaddd xmm4,xmm4,xmm0
|
|
|
|
shrd ebx,ebx,7
|
|
|
|
add edi,eax
|
|
|
|
vpxor xmm1,xmm1,xmm3
|
|
|
|
add edx,DWORD PTR 20[esp]
|
|
|
|
xor ebp,ebx
|
|
|
|
mov esi,edi
|
|
|
|
shld edi,edi,5
|
|
|
|
vpsrld xmm3,xmm1,30
|
|
|
|
vmovdqa XMMWORD PTR [esp],xmm4
|
|
|
|
add edx,ebp
|
|
|
|
xor esi,ebx
|
|
|
|
shrd eax,eax,7
|
|
|
|
add edx,edi
|
|
|
|
vpslld xmm1,xmm1,2
|
|
|
|
add ecx,DWORD PTR 24[esp]
|
|
|
|
xor esi,eax
|
|
|
|
mov ebp,edx
|
|
|
|
shld edx,edx,5
|
|
|
|
add ecx,esi
|
|
|
|
xor ebp,eax
|
|
|
|
shrd edi,edi,7
|
|
|
|
add ecx,edx
|
|
|
|
vpor xmm1,xmm1,xmm3
|
|
|
|
add ebx,DWORD PTR 28[esp]
|
|
|
|
xor ebp,edi
|
|
|
|
vmovdqa xmm3,XMMWORD PTR 64[esp]
|
|
|
|
mov esi,ecx
|
|
|
|
shld ecx,ecx,5
|
|
|
|
add ebx,ebp
|
|
|
|
xor esi,edi
|
|
|
|
shrd edx,edx,7
|
|
|
|
add ebx,ecx
|
|
|
|
vpalignr xmm4,xmm1,xmm0,8
|
|
|
|
vpxor xmm2,xmm2,xmm6
|
|
|
|
add eax,DWORD PTR 32[esp]
|
|
|
|
xor esi,edx
|
|
|
|
mov ebp,ebx
|
|
|
|
shld ebx,ebx,5
|
|
|
|
vpxor xmm2,xmm2,xmm3
|
|
|
|
vmovdqa XMMWORD PTR 64[esp],xmm6
|
|
|
|
add eax,esi
|
|
|
|
xor ebp,edx
|
|
|
|
vmovdqa xmm6,XMMWORD PTR 128[esp]
|
|
|
|
vpaddd xmm5,xmm5,xmm1
|
|
|
|
shrd ecx,ecx,7
|
|
|
|
add eax,ebx
|
|
|
|
vpxor xmm2,xmm2,xmm4
|
|
|
|
add edi,DWORD PTR 36[esp]
|
|
|
|
xor ebp,ecx
|
|
|
|
mov esi,eax
|
|
|
|
shld eax,eax,5
|
|
|
|
vpsrld xmm4,xmm2,30
|
|
|
|
vmovdqa XMMWORD PTR 16[esp],xmm5
|
|
|
|
add edi,ebp
|
|
|
|
xor esi,ecx
|
|
|
|
shrd ebx,ebx,7
|
|
|
|
add edi,eax
|
|
|
|
vpslld xmm2,xmm2,2
|
|
|
|
add edx,DWORD PTR 40[esp]
|
|
|
|
xor esi,ebx
|
|
|
|
mov ebp,edi
|
|
|
|
shld edi,edi,5
|
|
|
|
add edx,esi
|
|
|
|
xor ebp,ebx
|
|
|
|
shrd eax,eax,7
|
|
|
|
add edx,edi
|
|
|
|
vpor xmm2,xmm2,xmm4
|
|
|
|
add ecx,DWORD PTR 44[esp]
|
|
|
|
xor ebp,eax
|
|
|
|
vmovdqa xmm4,XMMWORD PTR 80[esp]
|
|
|
|
mov esi,edx
|
|
|
|
shld edx,edx,5
|
|
|
|
add ecx,ebp
|
|
|
|
xor esi,eax
|
|
|
|
shrd edi,edi,7
|
|
|
|
add ecx,edx
|
|
|
|
vpalignr xmm5,xmm2,xmm1,8
|
|
|
|
vpxor xmm3,xmm3,xmm7
|
|
|
|
add ebx,DWORD PTR 48[esp]
|
|
|
|
xor esi,edi
|
|
|
|
mov ebp,ecx
|
|
|
|
shld ecx,ecx,5
|
|
|
|
vpxor xmm3,xmm3,xmm4
|
|
|
|
vmovdqa XMMWORD PTR 80[esp],xmm7
|
|
|
|
add ebx,esi
|
|
|
|
xor ebp,edi
|
|
|
|
vmovdqa xmm7,xmm6
|
|
|
|
vpaddd xmm6,xmm6,xmm2
|
|
|
|
shrd edx,edx,7
|
|
|
|
add ebx,ecx
|
|
|
|
vpxor xmm3,xmm3,xmm5
|
|
|
|
add eax,DWORD PTR 52[esp]
|
|
|
|
xor ebp,edx
|
|
|
|
mov esi,ebx
|
|
|
|
shld ebx,ebx,5
|
|
|
|
vpsrld xmm5,xmm3,30
|
|
|
|
vmovdqa XMMWORD PTR 32[esp],xmm6
|
|
|
|
add eax,ebp
|
|
|
|
xor esi,edx
|
|
|
|
shrd ecx,ecx,7
|
|
|
|
add eax,ebx
|
|
|
|
vpslld xmm3,xmm3,2
|
|
|
|
add edi,DWORD PTR 56[esp]
|
|
|
|
xor esi,ecx
|
|
|
|
mov ebp,eax
|
|
|
|
shld eax,eax,5
|
|
|
|
add edi,esi
|
|
|
|
xor ebp,ecx
|
|
|
|
shrd ebx,ebx,7
|
|
|
|
add edi,eax
|
|
|
|
vpor xmm3,xmm3,xmm5
|
|
|
|
add edx,DWORD PTR 60[esp]
|
|
|
|
xor ebp,ebx
|
|
|
|
vmovdqa xmm5,XMMWORD PTR 96[esp]
|
|
|
|
mov esi,edi
|
|
|
|
shld edi,edi,5
|
|
|
|
add edx,ebp
|
|
|
|
xor esi,ebx
|
|
|
|
shrd eax,eax,7
|
|
|
|
add edx,edi
|
|
|
|
vpalignr xmm6,xmm3,xmm2,8
|
|
|
|
vpxor xmm4,xmm4,xmm0
|
|
|
|
add ecx,DWORD PTR [esp]
|
|
|
|
xor esi,eax
|
|
|
|
mov ebp,edx
|
|
|
|
shld edx,edx,5
|
|
|
|
vpxor xmm4,xmm4,xmm5
|
|
|
|
vmovdqa XMMWORD PTR 96[esp],xmm0
|
|
|
|
add ecx,esi
|
|
|
|
xor ebp,eax
|
|
|
|
vmovdqa xmm0,xmm7
|
|
|
|
vpaddd xmm7,xmm7,xmm3
|
|
|
|
shrd edi,edi,7
|
|
|
|
add ecx,edx
|
|
|
|
vpxor xmm4,xmm4,xmm6
|
|
|
|
add ebx,DWORD PTR 4[esp]
|
|
|
|
xor ebp,edi
|
|
|
|
mov esi,ecx
|
|
|
|
shld ecx,ecx,5
|
|
|
|
vpsrld xmm6,xmm4,30
|
|
|
|
vmovdqa XMMWORD PTR 48[esp],xmm7
|
|
|
|
add ebx,ebp
|
|
|
|
xor esi,edi
|
|
|
|
shrd edx,edx,7
|
|
|
|
add ebx,ecx
|
|
|
|
vpslld xmm4,xmm4,2
|
|
|
|
add eax,DWORD PTR 8[esp]
|
|
|
|
xor esi,edx
|
|
|
|
mov ebp,ebx
|
|
|
|
shld ebx,ebx,5
|
|
|
|
add eax,esi
|
|
|
|
xor ebp,edx
|
|
|
|
shrd ecx,ecx,7
|
|
|
|
add eax,ebx
|
|
|
|
vpor xmm4,xmm4,xmm6
|
|
|
|
add edi,DWORD PTR 12[esp]
|
|
|
|
xor ebp,ecx
|
|
|
|
vmovdqa xmm6,XMMWORD PTR 64[esp]
|
|
|
|
mov esi,eax
|
|
|
|
shld eax,eax,5
|
|
|
|
add edi,ebp
|
|
|
|
xor esi,ecx
|
|
|
|
shrd ebx,ebx,7
|
|
|
|
add edi,eax
|
|
|
|
vpalignr xmm7,xmm4,xmm3,8
|
|
|
|
vpxor xmm5,xmm5,xmm1
|
|
|
|
add edx,DWORD PTR 16[esp]
|
|
|
|
xor esi,ebx
|
|
|
|
mov ebp,edi
|
|
|
|
shld edi,edi,5
|
|
|
|
vpxor xmm5,xmm5,xmm6
|
|
|
|
vmovdqa XMMWORD PTR 64[esp],xmm1
|
|
|
|
add edx,esi
|
|
|
|
xor ebp,ebx
|
|
|
|
vmovdqa xmm1,xmm0
|
|
|
|
vpaddd xmm0,xmm0,xmm4
|
|
|
|
shrd eax,eax,7
|
|
|
|
add edx,edi
|
|
|
|
vpxor xmm5,xmm5,xmm7
|
|
|
|
add ecx,DWORD PTR 20[esp]
|
|
|
|
xor ebp,eax
|
|
|
|
mov esi,edx
|
|
|
|
shld edx,edx,5
|
|
|
|
vpsrld xmm7,xmm5,30
|
|
|
|
vmovdqa XMMWORD PTR [esp],xmm0
|
|
|
|
add ecx,ebp
|
|
|
|
xor esi,eax
|
|
|
|
shrd edi,edi,7
|
|
|
|
add ecx,edx
|
|
|
|
vpslld xmm5,xmm5,2
|
|
|
|
add ebx,DWORD PTR 24[esp]
|
|
|
|
xor esi,edi
|
|
|
|
mov ebp,ecx
|
|
|
|
shld ecx,ecx,5
|
|
|
|
add ebx,esi
|
|
|
|
xor ebp,edi
|
|
|
|
shrd edx,edx,7
|
|
|
|
add ebx,ecx
|
|
|
|
vpor xmm5,xmm5,xmm7
|
|
|
|
add eax,DWORD PTR 28[esp]
|
|
|
|
vmovdqa xmm7,XMMWORD PTR 80[esp]
|
|
|
|
shrd ecx,ecx,7
|
|
|
|
mov esi,ebx
|
|
|
|
xor ebp,edx
|
|
|
|
shld ebx,ebx,5
|
|
|
|
add eax,ebp
|
|
|
|
xor esi,ecx
|
|
|
|
xor ecx,edx
|
|
|
|
add eax,ebx
|
|
|
|
vpalignr xmm0,xmm5,xmm4,8
|
|
|
|
vpxor xmm6,xmm6,xmm2
|
|
|
|
add edi,DWORD PTR 32[esp]
|
|
|
|
and esi,ecx
|
|
|
|
xor ecx,edx
|
|
|
|
shrd ebx,ebx,7
|
|
|
|
vpxor xmm6,xmm6,xmm7
|
|
|
|
vmovdqa XMMWORD PTR 80[esp],xmm2
|
|
|
|
mov ebp,eax
|
|
|
|
xor esi,ecx
|
|
|
|
vmovdqa xmm2,xmm1
|
|
|
|
vpaddd xmm1,xmm1,xmm5
|
|
|
|
shld eax,eax,5
|
|
|
|
add edi,esi
|
|
|
|
vpxor xmm6,xmm6,xmm0
|
|
|
|
xor ebp,ebx
|
|
|
|
xor ebx,ecx
|
|
|
|
add edi,eax
|
|
|
|
add edx,DWORD PTR 36[esp]
|
|
|
|
vpsrld xmm0,xmm6,30
|
|
|
|
vmovdqa XMMWORD PTR 16[esp],xmm1
|
|
|
|
and ebp,ebx
|
|
|
|
xor ebx,ecx
|
|
|
|
shrd eax,eax,7
|
|
|
|
mov esi,edi
|
|
|
|
vpslld xmm6,xmm6,2
|
|
|
|
xor ebp,ebx
|
|
|
|
shld edi,edi,5
|
|
|
|
add edx,ebp
|
|
|
|
xor esi,eax
|
|
|
|
xor eax,ebx
|
|
|
|
add edx,edi
|
|
|
|
add ecx,DWORD PTR 40[esp]
|
|
|
|
and esi,eax
|
|
|
|
vpor xmm6,xmm6,xmm0
|
|
|
|
xor eax,ebx
|
|
|
|
shrd edi,edi,7
|
|
|
|
vmovdqa xmm0,XMMWORD PTR 96[esp]
|
|
|
|
mov ebp,edx
|
|
|
|
xor esi,eax
|
|
|
|
shld edx,edx,5
|
|
|
|
add ecx,esi
|
|
|
|
xor ebp,edi
|
|
|
|
xor edi,eax
|
|
|
|
add ecx,edx
|
|
|
|
add ebx,DWORD PTR 44[esp]
|
|
|
|
and ebp,edi
|
|
|
|
xor edi,eax
|
|
|
|
shrd edx,edx,7
|
|
|
|
mov esi,ecx
|
|
|
|
xor ebp,edi
|
|
|
|
shld ecx,ecx,5
|
|
|
|
add ebx,ebp
|
|
|
|
xor esi,edx
|
|
|
|
xor edx,edi
|
|
|
|
add ebx,ecx
|
|
|
|
vpalignr xmm1,xmm6,xmm5,8
|
|
|
|
vpxor xmm7,xmm7,xmm3
|
|
|
|
add eax,DWORD PTR 48[esp]
|
|
|
|
and esi,edx
|
|
|
|
xor edx,edi
|
|
|
|
shrd ecx,ecx,7
|
|
|
|
vpxor xmm7,xmm7,xmm0
|
|
|
|
vmovdqa XMMWORD PTR 96[esp],xmm3
|
|
|
|
mov ebp,ebx
|
|
|
|
xor esi,edx
|
|
|
|
vmovdqa xmm3,XMMWORD PTR 144[esp]
|
|
|
|
vpaddd xmm2,xmm2,xmm6
|
|
|
|
shld ebx,ebx,5
|
|
|
|
add eax,esi
|
|
|
|
vpxor xmm7,xmm7,xmm1
|
|
|
|
xor ebp,ecx
|
|
|
|
xor ecx,edx
|
|
|
|
add eax,ebx
|
|
|
|
add edi,DWORD PTR 52[esp]
|
|
|
|
vpsrld xmm1,xmm7,30
|
|
|
|
vmovdqa XMMWORD PTR 32[esp],xmm2
|
|
|
|
and ebp,ecx
|
|
|
|
xor ecx,edx
|
|
|
|
shrd ebx,ebx,7
|
|
|
|
mov esi,eax
|
|
|
|
vpslld xmm7,xmm7,2
|
|
|
|
xor ebp,ecx
|
|
|
|
shld eax,eax,5
|
|
|
|
add edi,ebp
|
|
|
|
xor esi,ebx
|
|
|
|
xor ebx,ecx
|
|
|
|
add edi,eax
|
|
|
|
add edx,DWORD PTR 56[esp]
|
|
|
|
and esi,ebx
|
|
|
|
vpor xmm7,xmm7,xmm1
|
|
|
|
xor ebx,ecx
|
|
|
|
shrd eax,eax,7
|
|
|
|
vmovdqa xmm1,XMMWORD PTR 64[esp]
|
|
|
|
mov ebp,edi
|
|
|
|
xor esi,ebx
|
|
|
|
shld edi,edi,5
|
|
|
|
add edx,esi
|
|
|
|
xor ebp,eax
|
|
|
|
xor eax,ebx
|
|
|
|
add edx,edi
|
|
|
|
add ecx,DWORD PTR 60[esp]
|
|
|
|
and ebp,eax
|
|
|
|
xor eax,ebx
|
|
|
|
shrd edi,edi,7
|
|
|
|
mov esi,edx
|
|
|
|
xor ebp,eax
|
|
|
|
shld edx,edx,5
|
|
|
|
add ecx,ebp
|
|
|
|
xor esi,edi
|
|
|
|
xor edi,eax
|
|
|
|
add ecx,edx
|
|
|
|
vpalignr xmm2,xmm7,xmm6,8
|
|
|
|
vpxor xmm0,xmm0,xmm4
|
|
|
|
add ebx,DWORD PTR [esp]
|
|
|
|
and esi,edi
|
|
|
|
xor edi,eax
|
|
|
|
shrd edx,edx,7
|
|
|
|
vpxor xmm0,xmm0,xmm1
|
|
|
|
vmovdqa XMMWORD PTR 64[esp],xmm4
|
|
|
|
mov ebp,ecx
|
|
|
|
xor esi,edi
|
|
|
|
vmovdqa xmm4,xmm3
|
|
|
|
vpaddd xmm3,xmm3,xmm7
|
|
|
|
shld ecx,ecx,5
|
|
|
|
add ebx,esi
|
|
|
|
vpxor xmm0,xmm0,xmm2
|
|
|
|
xor ebp,edx
|
|
|
|
xor edx,edi
|
|
|
|
add ebx,ecx
|
|
|
|
add eax,DWORD PTR 4[esp]
|
|
|
|
vpsrld xmm2,xmm0,30
|
|
|
|
vmovdqa XMMWORD PTR 48[esp],xmm3
|
|
|
|
and ebp,edx
|
|
|
|
xor edx,edi
|
|
|
|
shrd ecx,ecx,7
|
|
|
|
mov esi,ebx
|
|
|
|
vpslld xmm0,xmm0,2
|
|
|
|
xor ebp,edx
|
|
|
|
shld ebx,ebx,5
|
|
|
|
add eax,ebp
|
|
|
|
xor esi,ecx
|
|
|
|
xor ecx,edx
|
|
|
|
add eax,ebx
|
|
|
|
add edi,DWORD PTR 8[esp]
|
|
|
|
and esi,ecx
|
|
|
|
vpor xmm0,xmm0,xmm2
|
|
|
|
xor ecx,edx
|
|
|
|
shrd ebx,ebx,7
|
|
|
|
vmovdqa xmm2,XMMWORD PTR 80[esp]
|
|
|
|
mov ebp,eax
|
|
|
|
xor esi,ecx
|
|
|
|
shld eax,eax,5
|
|
|
|
add edi,esi
|
|
|
|
xor ebp,ebx
|
|
|
|
xor ebx,ecx
|
|
|
|
add edi,eax
|
|
|
|
add edx,DWORD PTR 12[esp]
|
|
|
|
and ebp,ebx
|
|
|
|
xor ebx,ecx
|
|
|
|
shrd eax,eax,7
|
|
|
|
mov esi,edi
|
|
|
|
xor ebp,ebx
|
|
|
|
shld edi,edi,5
|
|
|
|
add edx,ebp
|
|
|
|
xor esi,eax
|
|
|
|
xor eax,ebx
|
|
|
|
add edx,edi
|
|
|
|
vpalignr xmm3,xmm0,xmm7,8
|
|
|
|
vpxor xmm1,xmm1,xmm5
|
|
|
|
add ecx,DWORD PTR 16[esp]
|
|
|
|
and esi,eax
|
|
|
|
xor eax,ebx
|
|
|
|
shrd edi,edi,7
|
|
|
|
vpxor xmm1,xmm1,xmm2
|
|
|
|
vmovdqa XMMWORD PTR 80[esp],xmm5
|
|
|
|
mov ebp,edx
|
|
|
|
xor esi,eax
|
|
|
|
vmovdqa xmm5,xmm4
|
|
|
|
vpaddd xmm4,xmm4,xmm0
|
|
|
|
shld edx,edx,5
|
|
|
|
add ecx,esi
|
|
|
|
vpxor xmm1,xmm1,xmm3
|
|
|
|
xor ebp,edi
|
|
|
|
xor edi,eax
|
|
|
|
add ecx,edx
|
|
|
|
add ebx,DWORD PTR 20[esp]
|
|
|
|
vpsrld xmm3,xmm1,30
|
|
|
|
vmovdqa XMMWORD PTR [esp],xmm4
|
|
|
|
and ebp,edi
|
|
|
|
xor edi,eax
|
|
|
|
shrd edx,edx,7
|
|
|
|
mov esi,ecx
|
|
|
|
vpslld xmm1,xmm1,2
|
|
|
|
xor ebp,edi
|
|
|
|
shld ecx,ecx,5
|
|
|
|
add ebx,ebp
|
|
|
|
xor esi,edx
|
|
|
|
xor edx,edi
|
|
|
|
add ebx,ecx
|
|
|
|
add eax,DWORD PTR 24[esp]
|
|
|
|
and esi,edx
|
|
|
|
vpor xmm1,xmm1,xmm3
|
|
|
|
xor edx,edi
|
|
|
|
shrd ecx,ecx,7
|
|
|
|
vmovdqa xmm3,XMMWORD PTR 96[esp]
|
|
|
|
mov ebp,ebx
|
|
|
|
xor esi,edx
|
|
|
|
shld ebx,ebx,5
|
|
|
|
add eax,esi
|
|
|
|
xor ebp,ecx
|
|
|
|
xor ecx,edx
|
|
|
|
add eax,ebx
|
|
|
|
add edi,DWORD PTR 28[esp]
|
|
|
|
and ebp,ecx
|
|
|
|
xor ecx,edx
|
|
|
|
shrd ebx,ebx,7
|
|
|
|
mov esi,eax
|
|
|
|
xor ebp,ecx
|
|
|
|
shld eax,eax,5
|
|
|
|
add edi,ebp
|
|
|
|
xor esi,ebx
|
|
|
|
xor ebx,ecx
|
|
|
|
add edi,eax
|
|
|
|
vpalignr xmm4,xmm1,xmm0,8
|
|
|
|
vpxor xmm2,xmm2,xmm6
|
|
|
|
add edx,DWORD PTR 32[esp]
|
|
|
|
and esi,ebx
|
|
|
|
xor ebx,ecx
|
|
|
|
shrd eax,eax,7
|
|
|
|
vpxor xmm2,xmm2,xmm3
|
|
|
|
vmovdqa XMMWORD PTR 96[esp],xmm6
|
|
|
|
mov ebp,edi
|
|
|
|
xor esi,ebx
|
|
|
|
vmovdqa xmm6,xmm5
|
|
|
|
vpaddd xmm5,xmm5,xmm1
|
|
|
|
shld edi,edi,5
|
|
|
|
add edx,esi
|
|
|
|
vpxor xmm2,xmm2,xmm4
|
|
|
|
xor ebp,eax
|
|
|
|
xor eax,ebx
|
|
|
|
add edx,edi
|
|
|
|
add ecx,DWORD PTR 36[esp]
|
|
|
|
vpsrld xmm4,xmm2,30
|
|
|
|
vmovdqa XMMWORD PTR 16[esp],xmm5
|
|
|
|
and ebp,eax
|
|
|
|
xor eax,ebx
|
|
|
|
shrd edi,edi,7
|
|
|
|
mov esi,edx
|
|
|
|
vpslld xmm2,xmm2,2
|
|
|
|
xor ebp,eax
|
|
|
|
shld edx,edx,5
|
|
|
|
add ecx,ebp
|
|
|
|
xor esi,edi
|
|
|
|
xor edi,eax
|
|
|
|
add ecx,edx
|
|
|
|
add ebx,DWORD PTR 40[esp]
|
|
|
|
and esi,edi
|
|
|
|
vpor xmm2,xmm2,xmm4
|
|
|
|
xor edi,eax
|
|
|
|
shrd edx,edx,7
|
|
|
|
vmovdqa xmm4,XMMWORD PTR 64[esp]
|
|
|
|
mov ebp,ecx
|
|
|
|
xor esi,edi
|
|
|
|
shld ecx,ecx,5
|
|
|
|
add ebx,esi
|
|
|
|
xor ebp,edx
|
|
|
|
xor edx,edi
|
|
|
|
add ebx,ecx
|
|
|
|
add eax,DWORD PTR 44[esp]
|
|
|
|
and ebp,edx
|
|
|
|
xor edx,edi
|
|
|
|
shrd ecx,ecx,7
|
|
|
|
mov esi,ebx
|
|
|
|
xor ebp,edx
|
|
|
|
shld ebx,ebx,5
|
|
|
|
add eax,ebp
|
|
|
|
xor esi,edx
|
|
|
|
add eax,ebx
|
|
|
|
vpalignr xmm5,xmm2,xmm1,8
|
|
|
|
vpxor xmm3,xmm3,xmm7
|
|
|
|
add edi,DWORD PTR 48[esp]
|
|
|
|
xor esi,ecx
|
|
|
|
mov ebp,eax
|
|
|
|
shld eax,eax,5
|
|
|
|
vpxor xmm3,xmm3,xmm4
|
|
|
|
vmovdqa XMMWORD PTR 64[esp],xmm7
|
|
|
|
add edi,esi
|
|
|
|
xor ebp,ecx
|
|
|
|
vmovdqa xmm7,xmm6
|
|
|
|
vpaddd xmm6,xmm6,xmm2
|
|
|
|
shrd ebx,ebx,7
|
|
|
|
add edi,eax
|
|
|
|
vpxor xmm3,xmm3,xmm5
|
|
|
|
add edx,DWORD PTR 52[esp]
|
|
|
|
xor ebp,ebx
|
|
|
|
mov esi,edi
|
|
|
|
shld edi,edi,5
|
|
|
|
vpsrld xmm5,xmm3,30
|
|
|
|
vmovdqa XMMWORD PTR 32[esp],xmm6
|
|
|
|
add edx,ebp
|
|
|
|
xor esi,ebx
|
|
|
|
shrd eax,eax,7
|
|
|
|
add edx,edi
|
|
|
|
vpslld xmm3,xmm3,2
|
|
|
|
add ecx,DWORD PTR 56[esp]
|
|
|
|
xor esi,eax
|
|
|
|
mov ebp,edx
|
|
|
|
shld edx,edx,5
|
|
|
|
add ecx,esi
|
|
|
|
xor ebp,eax
|
|
|
|
shrd edi,edi,7
|
|
|
|
add ecx,edx
|
|
|
|
vpor xmm3,xmm3,xmm5
|
|
|
|
add ebx,DWORD PTR 60[esp]
|
|
|
|
xor ebp,edi
|
|
|
|
mov esi,ecx
|
|
|
|
shld ecx,ecx,5
|
|
|
|
add ebx,ebp
|
|
|
|
xor esi,edi
|
|
|
|
shrd edx,edx,7
|
|
|
|
add ebx,ecx
|
|
|
|
add eax,DWORD PTR [esp]
|
|
|
|
vpaddd xmm7,xmm7,xmm3
|
|
|
|
xor esi,edx
|
|
|
|
mov ebp,ebx
|
|
|
|
shld ebx,ebx,5
|
|
|
|
add eax,esi
|
|
|
|
vmovdqa XMMWORD PTR 48[esp],xmm7
|
|
|
|
xor ebp,edx
|
|
|
|
shrd ecx,ecx,7
|
|
|
|
add eax,ebx
|
|
|
|
add edi,DWORD PTR 4[esp]
|
|
|
|
xor ebp,ecx
|
|
|
|
mov esi,eax
|
|
|
|
shld eax,eax,5
|
|
|
|
add edi,ebp
|
|
|
|
xor esi,ecx
|
|
|
|
shrd ebx,ebx,7
|
|
|
|
add edi,eax
|
|
|
|
add edx,DWORD PTR 8[esp]
|
|
|
|
xor esi,ebx
|
|
|
|
mov ebp,edi
|
|
|
|
shld edi,edi,5
|
|
|
|
add edx,esi
|
|
|
|
xor ebp,ebx
|
|
|
|
shrd eax,eax,7
|
|
|
|
add edx,edi
|
|
|
|
add ecx,DWORD PTR 12[esp]
|
|
|
|
xor ebp,eax
|
|
|
|
mov esi,edx
|
|
|
|
shld edx,edx,5
|
|
|
|
add ecx,ebp
|
|
|
|
xor esi,eax
|
|
|
|
shrd edi,edi,7
|
|
|
|
add ecx,edx
|
|
|
|
mov ebp,DWORD PTR 196[esp]
|
|
|
|
cmp ebp,DWORD PTR 200[esp]
|
|
|
|
je $L010done
|
|
|
|
vmovdqa xmm7,XMMWORD PTR 160[esp]
|
|
|
|
vmovdqa xmm6,XMMWORD PTR 176[esp]
|
|
|
|
vmovdqu xmm0,XMMWORD PTR [ebp]
|
|
|
|
vmovdqu xmm1,XMMWORD PTR 16[ebp]
|
|
|
|
vmovdqu xmm2,XMMWORD PTR 32[ebp]
|
|
|
|
vmovdqu xmm3,XMMWORD PTR 48[ebp]
|
|
|
|
add ebp,64
|
|
|
|
vpshufb xmm0,xmm0,xmm6
|
|
|
|
mov DWORD PTR 196[esp],ebp
|
|
|
|
vmovdqa XMMWORD PTR 96[esp],xmm7
|
|
|
|
add ebx,DWORD PTR 16[esp]
|
|
|
|
xor esi,edi
|
|
|
|
vpshufb xmm1,xmm1,xmm6
|
|
|
|
mov ebp,ecx
|
|
|
|
shld ecx,ecx,5
|
|
|
|
vpaddd xmm4,xmm0,xmm7
|
|
|
|
add ebx,esi
|
|
|
|
xor ebp,edi
|
|
|
|
shrd edx,edx,7
|
|
|
|
add ebx,ecx
|
|
|
|
vmovdqa XMMWORD PTR [esp],xmm4
|
|
|
|
add eax,DWORD PTR 20[esp]
|
|
|
|
xor ebp,edx
|
|
|
|
mov esi,ebx
|
|
|
|
shld ebx,ebx,5
|
|
|
|
add eax,ebp
|
|
|
|
xor esi,edx
|
|
|
|
shrd ecx,ecx,7
|
|
|
|
add eax,ebx
|
|
|
|
add edi,DWORD PTR 24[esp]
|
|
|
|
xor esi,ecx
|
|
|
|
mov ebp,eax
|
|
|
|
shld eax,eax,5
|
|
|
|
add edi,esi
|
|
|
|
xor ebp,ecx
|
|
|
|
shrd ebx,ebx,7
|
|
|
|
add edi,eax
|
|
|
|
add edx,DWORD PTR 28[esp]
|
|
|
|
xor ebp,ebx
|
|
|
|
mov esi,edi
|
|
|
|
shld edi,edi,5
|
|
|
|
add edx,ebp
|
|
|
|
xor esi,ebx
|
|
|
|
shrd eax,eax,7
|
|
|
|
add edx,edi
|
|
|
|
add ecx,DWORD PTR 32[esp]
|
|
|
|
xor esi,eax
|
|
|
|
vpshufb xmm2,xmm2,xmm6
|
|
|
|
mov ebp,edx
|
|
|
|
shld edx,edx,5
|
|
|
|
vpaddd xmm5,xmm1,xmm7
|
|
|
|
add ecx,esi
|
|
|
|
xor ebp,eax
|
|
|
|
shrd edi,edi,7
|
|
|
|
add ecx,edx
|
|
|
|
vmovdqa XMMWORD PTR 16[esp],xmm5
|
|
|
|
add ebx,DWORD PTR 36[esp]
|
|
|
|
xor ebp,edi
|
|
|
|
mov esi,ecx
|
|
|
|
shld ecx,ecx,5
|
|
|
|
add ebx,ebp
|
|
|
|
xor esi,edi
|
|
|
|
shrd edx,edx,7
|
|
|
|
add ebx,ecx
|
|
|
|
add eax,DWORD PTR 40[esp]
|
|
|
|
xor esi,edx
|
|
|
|
mov ebp,ebx
|
|
|
|
shld ebx,ebx,5
|
|
|
|
add eax,esi
|
|
|
|
xor ebp,edx
|
|
|
|
shrd ecx,ecx,7
|
|
|
|
add eax,ebx
|
|
|
|
add edi,DWORD PTR 44[esp]
|
|
|
|
xor ebp,ecx
|
|
|
|
mov esi,eax
|
|
|
|
shld eax,eax,5
|
|
|
|
add edi,ebp
|
|
|
|
xor esi,ecx
|
|
|
|
shrd ebx,ebx,7
|
|
|
|
add edi,eax
|
|
|
|
add edx,DWORD PTR 48[esp]
|
|
|
|
xor esi,ebx
|
|
|
|
vpshufb xmm3,xmm3,xmm6
|
|
|
|
mov ebp,edi
|
|
|
|
shld edi,edi,5
|
|
|
|
vpaddd xmm6,xmm2,xmm7
|
|
|
|
add edx,esi
|
|
|
|
xor ebp,ebx
|
|
|
|
shrd eax,eax,7
|
|
|
|
add edx,edi
|
|
|
|
vmovdqa XMMWORD PTR 32[esp],xmm6
|
|
|
|
add ecx,DWORD PTR 52[esp]
|
|
|
|
xor ebp,eax
|
|
|
|
mov esi,edx
|
|
|
|
shld edx,edx,5
|
|
|
|
add ecx,ebp
|
|
|
|
xor esi,eax
|
|
|
|
shrd edi,edi,7
|
|
|
|
add ecx,edx
|
|
|
|
add ebx,DWORD PTR 56[esp]
|
|
|
|
xor esi,edi
|
|
|
|
mov ebp,ecx
|
|
|
|
shld ecx,ecx,5
|
|
|
|
add ebx,esi
|
|
|
|
xor ebp,edi
|
|
|
|
shrd edx,edx,7
|
|
|
|
add ebx,ecx
|
|
|
|
add eax,DWORD PTR 60[esp]
|
|
|
|
xor ebp,edx
|
|
|
|
mov esi,ebx
|
|
|
|
shld ebx,ebx,5
|
|
|
|
add eax,ebp
|
|
|
|
shrd ecx,ecx,7
|
|
|
|
add eax,ebx
|
|
|
|
mov ebp,DWORD PTR 192[esp]
|
|
|
|
add eax,DWORD PTR [ebp]
|
|
|
|
add esi,DWORD PTR 4[ebp]
|
|
|
|
add ecx,DWORD PTR 8[ebp]
|
|
|
|
mov DWORD PTR [ebp],eax
|
|
|
|
add edx,DWORD PTR 12[ebp]
|
|
|
|
mov DWORD PTR 4[ebp],esi
|
|
|
|
add edi,DWORD PTR 16[ebp]
|
|
|
|
mov ebx,ecx
|
|
|
|
mov DWORD PTR 8[ebp],ecx
|
|
|
|
xor ebx,edx
|
|
|
|
mov DWORD PTR 12[ebp],edx
|
|
|
|
mov DWORD PTR 16[ebp],edi
|
|
|
|
mov ebp,esi
|
|
|
|
and esi,ebx
|
|
|
|
mov ebx,ebp
|
|
|
|
jmp $L009loop
|
|
|
|
ALIGN 16
|
|
|
|
$L010done:
|
|
|
|
add ebx,DWORD PTR 16[esp]
|
|
|
|
xor esi,edi
|
|
|
|
mov ebp,ecx
|
|
|
|
shld ecx,ecx,5
|
|
|
|
add ebx,esi
|
|
|
|
xor ebp,edi
|
|
|
|
shrd edx,edx,7
|
|
|
|
add ebx,ecx
|
|
|
|
add eax,DWORD PTR 20[esp]
|
|
|
|
xor ebp,edx
|
|
|
|
mov esi,ebx
|
|
|
|
shld ebx,ebx,5
|
|
|
|
add eax,ebp
|
|
|
|
xor esi,edx
|
|
|
|
shrd ecx,ecx,7
|
|
|
|
add eax,ebx
|
|
|
|
add edi,DWORD PTR 24[esp]
|
|
|
|
xor esi,ecx
|
|
|
|
mov ebp,eax
|
|
|
|
shld eax,eax,5
|
|
|
|
add edi,esi
|
|
|
|
xor ebp,ecx
|
|
|
|
shrd ebx,ebx,7
|
|
|
|
add edi,eax
|
|
|
|
add edx,DWORD PTR 28[esp]
|
|
|
|
xor ebp,ebx
|
|
|
|
mov esi,edi
|
|
|
|
shld edi,edi,5
|
|
|
|
add edx,ebp
|
|
|
|
xor esi,ebx
|
|
|
|
shrd eax,eax,7
|
|
|
|
add edx,edi
|
|
|
|
add ecx,DWORD PTR 32[esp]
|
|
|
|
xor esi,eax
|
|
|
|
mov ebp,edx
|
|
|
|
shld edx,edx,5
|
|
|
|
add ecx,esi
|
|
|
|
xor ebp,eax
|
|
|
|
shrd edi,edi,7
|
|
|
|
add ecx,edx
|
|
|
|
add ebx,DWORD PTR 36[esp]
|
|
|
|
xor ebp,edi
|
|
|
|
mov esi,ecx
|
|
|
|
shld ecx,ecx,5
|
|
|
|
add ebx,ebp
|
|
|
|
xor esi,edi
|
|
|
|
shrd edx,edx,7
|
|
|
|
add ebx,ecx
|
|
|
|
add eax,DWORD PTR 40[esp]
|
|
|
|
xor esi,edx
|
|
|
|
mov ebp,ebx
|
|
|
|
shld ebx,ebx,5
|
|
|
|
add eax,esi
|
|
|
|
xor ebp,edx
|
|
|
|
shrd ecx,ecx,7
|
|
|
|
add eax,ebx
|
|
|
|
add edi,DWORD PTR 44[esp]
|
|
|
|
xor ebp,ecx
|
|
|
|
mov esi,eax
|
|
|
|
shld eax,eax,5
|
|
|
|
add edi,ebp
|
|
|
|
xor esi,ecx
|
|
|
|
shrd ebx,ebx,7
|
|
|
|
add edi,eax
|
|
|
|
add edx,DWORD PTR 48[esp]
|
|
|
|
xor esi,ebx
|
|
|
|
mov ebp,edi
|
|
|
|
shld edi,edi,5
|
|
|
|
add edx,esi
|
|
|
|
xor ebp,ebx
|
|
|
|
shrd eax,eax,7
|
|
|
|
add edx,edi
|
|
|
|
add ecx,DWORD PTR 52[esp]
|
|
|
|
xor ebp,eax
|
|
|
|
mov esi,edx
|
|
|
|
shld edx,edx,5
|
|
|
|
add ecx,ebp
|
|
|
|
xor esi,eax
|
|
|
|
shrd edi,edi,7
|
|
|
|
add ecx,edx
|
|
|
|
add ebx,DWORD PTR 56[esp]
|
|
|
|
xor esi,edi
|
|
|
|
mov ebp,ecx
|
|
|
|
shld ecx,ecx,5
|
|
|
|
add ebx,esi
|
|
|
|
xor ebp,edi
|
|
|
|
shrd edx,edx,7
|
|
|
|
add ebx,ecx
|
|
|
|
add eax,DWORD PTR 60[esp]
|
|
|
|
xor ebp,edx
|
|
|
|
mov esi,ebx
|
|
|
|
shld ebx,ebx,5
|
|
|
|
add eax,ebp
|
|
|
|
shrd ecx,ecx,7
|
|
|
|
add eax,ebx
|
|
|
|
vzeroall
|
|
|
|
mov ebp,DWORD PTR 192[esp]
|
|
|
|
add eax,DWORD PTR [ebp]
|
|
|
|
mov esp,DWORD PTR 204[esp]
|
|
|
|
add esi,DWORD PTR 4[ebp]
|
|
|
|
add ecx,DWORD PTR 8[ebp]
|
|
|
|
mov DWORD PTR [ebp],eax
|
|
|
|
add edx,DWORD PTR 12[ebp]
|
|
|
|
mov DWORD PTR 4[ebp],esi
|
|
|
|
add edi,DWORD PTR 16[ebp]
|
|
|
|
mov DWORD PTR 8[ebp],ecx
|
|
|
|
mov DWORD PTR 12[ebp],edx
|
|
|
|
mov DWORD PTR 16[ebp],edi
|
|
|
|
pop edi
|
|
|
|
pop esi
|
|
|
|
pop ebx
|
|
|
|
pop ebp
|
|
|
|
ret
|
|
|
|
__sha1_block_data_order_avx ENDP
|
|
|
|
ALIGN 64
|
|
|
|
$LK_XX_XX::
|
|
|
|
DD 1518500249,1518500249,1518500249,1518500249
|
|
|
|
DD 1859775393,1859775393,1859775393,1859775393
|
|
|
|
DD 2400959708,2400959708,2400959708,2400959708
|
|
|
|
DD 3395469782,3395469782,3395469782,3395469782
|
|
|
|
DD 66051,67438087,134810123,202182159
|
|
|
|
DB 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0
|
|
|
|
DB 83,72,65,49,32,98,108,111,99,107,32,116,114,97,110,115
|
|
|
|
DB 102,111,114,109,32,102,111,114,32,120,56,54,44,32,67,82
|
|
|
|
DB 89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112
|
|
|
|
DB 114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
|
|
|
|
.text$ ENDS
|
|
|
|
.bss SEGMENT 'BSS'
|
|
|
|
COMM _OPENSSL_ia32cap_P:DWORD:4
|
|
|
|
.bss ENDS
|
|
|
|
END
|