You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1453 lines
26 KiB

TITLE sha1-586.asm
IF @Version LT 800
ECHO MASM version 8.00 or later is strongly recommended.
ENDIF
.586
.MODEL FLAT
OPTION DOTNAME
IF @Version LT 800
.text$ SEGMENT PAGE 'CODE'
ELSE
.text$ SEGMENT ALIGN(64) 'CODE'
ENDIF
ALIGN 16
_sha1_block_data_order PROC PUBLIC
$L_sha1_block_data_order_begin::
push ebp
push ebx
push esi
push edi
mov ebp,DWORD PTR 20[esp]
mov esi,DWORD PTR 24[esp]
mov eax,DWORD PTR 28[esp]
sub esp,64
shl eax,6
add eax,esi
mov DWORD PTR 92[esp],eax
mov edi,DWORD PTR 16[ebp]
ALIGN 16
$L000loop:
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 88[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
and esi,ebx
mov edi,DWORD PTR [esp]
xor esi,edx
ror ebx,2
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
and edi,eax
mov edx,DWORD PTR 4[esp]
xor edi,ecx
ror eax,2
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
and edx,esi
mov ecx,DWORD PTR 8[esp]
xor edx,ebx
ror esi,2
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
and ecx,edi
mov ebx,DWORD PTR 12[esp]
xor ecx,eax
ror edi,2
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
and ebx,edx
mov eax,DWORD PTR 16[esp]
xor ebx,esi
ror edx,2
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
and eax,ecx
mov esi,DWORD PTR 20[esp]
xor eax,edi
ror ecx,2
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
and esi,ebx
mov edi,DWORD PTR 24[esp]
xor esi,edx
ror ebx,2
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
and edi,eax
mov edx,DWORD PTR 28[esp]
xor edi,ecx
ror eax,2
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
and edx,esi
mov ecx,DWORD PTR 32[esp]
xor edx,ebx
ror esi,2
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
and ecx,edi
mov ebx,DWORD PTR 36[esp]
xor ecx,eax
ror edi,2
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
and ebx,edx
mov eax,DWORD PTR 40[esp]
xor ebx,esi
ror edx,2
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
and eax,ecx
mov esi,DWORD PTR 44[esp]
xor eax,edi
ror ecx,2
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
and esi,ebx
mov edi,DWORD PTR 48[esp]
xor esi,edx
ror ebx,2
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
and edi,eax
mov edx,DWORD PTR 52[esp]
xor edi,ecx
ror eax,2
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
and edx,esi
mov ecx,DWORD PTR 56[esp]
xor edx,ebx
ror esi,2
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
and ecx,edi
mov ebx,DWORD PTR 60[esp]
xor ecx,eax
ror edi,2
lea ebp,DWORD PTR 1518500249[ebx*1+ebp]
add ecx,ebp
; 16_19 16
mov ebx,DWORD PTR [esp]
mov ebp,edi
xor ebx,DWORD PTR 8[esp]
xor ebp,esi
xor ebx,DWORD PTR 32[esp]
and ebp,edx
ror edx,2
xor ebx,DWORD PTR 52[esp]
rol ebx,1
xor ebp,esi
mov DWORD PTR [esp],ebx
lea ebx,DWORD PTR 1518500249[eax*1+ebx]
mov eax,ecx
rol eax,5
add ebx,ebp
add ebx,eax
; 16_19 17
mov eax,DWORD PTR 4[esp]
mov ebp,edx
xor eax,DWORD PTR 12[esp]
xor ebp,edi
xor eax,DWORD PTR 36[esp]
and ebp,ecx
ror ecx,2
xor eax,DWORD PTR 56[esp]
rol eax,1
xor ebp,edi
mov DWORD PTR 4[esp],eax
lea eax,DWORD PTR 1518500249[esi*1+eax]
mov esi,ebx
rol esi,5
add eax,ebp
add eax,esi
; 16_19 18
mov esi,DWORD PTR 8[esp]
mov ebp,ecx
xor esi,DWORD PTR 16[esp]
xor ebp,edx
xor esi,DWORD PTR 40[esp]
and ebp,ebx
ror ebx,2
xor esi,DWORD PTR 60[esp]
rol esi,1
xor ebp,edx
mov DWORD PTR 8[esp],esi
lea esi,DWORD PTR 1518500249[edi*1+esi]
mov edi,eax
rol edi,5
add esi,ebp
add esi,edi
; 16_19 19
mov edi,DWORD PTR 12[esp]
mov ebp,ebx
xor edi,DWORD PTR 20[esp]
xor ebp,ecx
xor edi,DWORD PTR 44[esp]
and ebp,eax
ror eax,2
xor edi,DWORD PTR [esp]
rol edi,1
xor ebp,ecx
mov DWORD PTR 12[esp],edi
lea edi,DWORD PTR 1518500249[edx*1+edi]
mov edx,esi
rol edx,5
add edi,ebp
add edi,edx
; 20_39 20
mov ebp,esi
mov edx,DWORD PTR 16[esp]
ror esi,2
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 ebp,ecx
mov DWORD PTR 16[esp],edx
mov ecx,edi
rol ecx,5
lea edx,DWORD PTR 1859775393[ebp*1+edx]
add edx,ecx
; 20_39 21
mov ebp,edi
mov ecx,DWORD PTR 20[esp]
ror edi,2
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 ebp,ebx
mov DWORD PTR 20[esp],ecx
mov ebx,edx
rol ebx,5
lea ecx,DWORD PTR 1859775393[ebp*1+ecx]
add ecx,ebx
; 20_39 22
mov ebp,edx
mov ebx,DWORD PTR 24[esp]
ror edx,2
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 ebp,eax
mov DWORD PTR 24[esp],ebx
mov eax,ecx
rol eax,5
lea ebx,DWORD PTR 1859775393[ebp*1+ebx]
add ebx,eax
; 20_39 23
mov ebp,ecx
mov eax,DWORD PTR 28[esp]
ror ecx,2
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 ebp,esi
mov DWORD PTR 28[esp],eax
mov esi,ebx
rol esi,5
lea eax,DWORD PTR 1859775393[ebp*1+eax]
add eax,esi
; 20_39 24
mov ebp,ebx
mov esi,DWORD PTR 32[esp]
ror ebx,2
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 ebp,edi
mov DWORD PTR 32[esp],esi
mov edi,eax
rol edi,5
lea esi,DWORD PTR 1859775393[ebp*1+esi]
add esi,edi
; 20_39 25
mov ebp,eax
mov edi,DWORD PTR 36[esp]
ror eax,2
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 ebp,edx
mov DWORD PTR 36[esp],edi
mov edx,esi
rol edx,5
lea edi,DWORD PTR 1859775393[ebp*1+edi]
add edi,edx
; 20_39 26
mov ebp,esi
mov edx,DWORD PTR 40[esp]
ror esi,2
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 ebp,ecx
mov DWORD PTR 40[esp],edx
mov ecx,edi
rol ecx,5
lea edx,DWORD PTR 1859775393[ebp*1+edx]
add edx,ecx
; 20_39 27
mov ebp,edi
mov ecx,DWORD PTR 44[esp]
ror edi,2
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 ebp,ebx
mov DWORD PTR 44[esp],ecx
mov ebx,edx
rol ebx,5
lea ecx,DWORD PTR 1859775393[ebp*1+ecx]
add ecx,ebx
; 20_39 28
mov ebp,edx
mov ebx,DWORD PTR 48[esp]
ror edx,2
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 ebp,eax
mov DWORD PTR 48[esp],ebx
mov eax,ecx
rol eax,5
lea ebx,DWORD PTR 1859775393[ebp*1+ebx]
add ebx,eax
; 20_39 29
mov ebp,ecx
mov eax,DWORD PTR 52[esp]
ror ecx,2
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 ebp,esi
mov DWORD PTR 52[esp],eax
mov esi,ebx
rol esi,5
lea eax,DWORD PTR 1859775393[ebp*1+eax]
add eax,esi
; 20_39 30
mov ebp,ebx
mov esi,DWORD PTR 56[esp]
ror ebx,2
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 ebp,edi
mov DWORD PTR 56[esp],esi
mov edi,eax
rol edi,5
lea esi,DWORD PTR 1859775393[ebp*1+esi]
add esi,edi
; 20_39 31
mov ebp,eax
mov edi,DWORD PTR 60[esp]
ror eax,2
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 ebp,edx
mov DWORD PTR 60[esp],edi
mov edx,esi
rol edx,5
lea edi,DWORD PTR 1859775393[ebp*1+edi]
add edi,edx
; 20_39 32
mov ebp,esi
mov edx,DWORD PTR [esp]
ror esi,2
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 ebp,ecx
mov DWORD PTR [esp],edx
mov ecx,edi
rol ecx,5
lea edx,DWORD PTR 1859775393[ebp*1+edx]
add edx,ecx
; 20_39 33
mov ebp,edi
mov ecx,DWORD PTR 4[esp]
ror edi,2
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 ebp,ebx
mov DWORD PTR 4[esp],ecx
mov ebx,edx
rol ebx,5
lea ecx,DWORD PTR 1859775393[ebp*1+ecx]
add ecx,ebx
; 20_39 34
mov ebp,edx
mov ebx,DWORD PTR 8[esp]
ror edx,2
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 ebp,eax
mov DWORD PTR 8[esp],ebx
mov eax,ecx
rol eax,5
lea ebx,DWORD PTR 1859775393[ebp*1+ebx]
add ebx,eax
; 20_39 35
mov ebp,ecx
mov eax,DWORD PTR 12[esp]
ror ecx,2
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 ebp,esi
mov DWORD PTR 12[esp],eax
mov esi,ebx
rol esi,5
lea eax,DWORD PTR 1859775393[ebp*1+eax]
add eax,esi
; 20_39 36
mov ebp,ebx
mov esi,DWORD PTR 16[esp]
ror ebx,2
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 ebp,edi
mov DWORD PTR 16[esp],esi
mov edi,eax
rol edi,5
lea esi,DWORD PTR 1859775393[ebp*1+esi]
add esi,edi
; 20_39 37
mov ebp,eax
mov edi,DWORD PTR 20[esp]
ror eax,2
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 ebp,edx
mov DWORD PTR 20[esp],edi
mov edx,esi
rol edx,5
lea edi,DWORD PTR 1859775393[ebp*1+edi]
add edi,edx
; 20_39 38
mov ebp,esi
mov edx,DWORD PTR 24[esp]
ror esi,2
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 ebp,ecx
mov DWORD PTR 24[esp],edx
mov ecx,edi
rol ecx,5
lea edx,DWORD PTR 1859775393[ebp*1+edx]
add edx,ecx
; 20_39 39
mov ebp,edi
mov ecx,DWORD PTR 28[esp]
ror edi,2
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 ebp,ebx
mov DWORD PTR 28[esp],ecx
mov ebx,edx
rol ebx,5
lea ecx,DWORD PTR 1859775393[ebp*1+ecx]
add ecx,ebx
; 40_59 40
mov ebx,DWORD PTR 32[esp]
mov ebp,DWORD PTR 40[esp]
xor ebx,ebp
mov ebp,DWORD PTR [esp]
xor ebx,ebp
mov ebp,DWORD PTR 20[esp]
xor ebx,ebp
mov ebp,edx
rol ebx,1
or ebp,edi
mov DWORD PTR 32[esp],ebx
and ebp,esi
lea ebx,DWORD PTR 2400959708[eax*1+ebx]
mov eax,edx
ror edx,2
and eax,edi
or ebp,eax
mov eax,ecx
rol eax,5
add ebx,ebp
add ebx,eax
; 40_59 41
mov eax,DWORD PTR 36[esp]
mov ebp,DWORD PTR 44[esp]
xor eax,ebp
mov ebp,DWORD PTR 4[esp]
xor eax,ebp
mov ebp,DWORD PTR 24[esp]
xor eax,ebp
mov ebp,ecx
rol eax,1
or ebp,edx
mov DWORD PTR 36[esp],eax
and ebp,edi
lea eax,DWORD PTR 2400959708[esi*1+eax]
mov esi,ecx
ror ecx,2
and esi,edx
or ebp,esi
mov esi,ebx
rol esi,5
add eax,ebp
add eax,esi
; 40_59 42
mov esi,DWORD PTR 40[esp]
mov ebp,DWORD PTR 48[esp]
xor esi,ebp
mov ebp,DWORD PTR 8[esp]
xor esi,ebp
mov ebp,DWORD PTR 28[esp]
xor esi,ebp
mov ebp,ebx
rol esi,1
or ebp,ecx
mov DWORD PTR 40[esp],esi
and ebp,edx
lea esi,DWORD PTR 2400959708[edi*1+esi]
mov edi,ebx
ror ebx,2
and edi,ecx
or ebp,edi
mov edi,eax
rol edi,5
add esi,ebp
add esi,edi
; 40_59 43
mov edi,DWORD PTR 44[esp]
mov ebp,DWORD PTR 52[esp]
xor edi,ebp
mov ebp,DWORD PTR 12[esp]
xor edi,ebp
mov ebp,DWORD PTR 32[esp]
xor edi,ebp
mov ebp,eax
rol edi,1
or ebp,ebx
mov DWORD PTR 44[esp],edi
and ebp,ecx
lea edi,DWORD PTR 2400959708[edx*1+edi]
mov edx,eax
ror eax,2
and edx,ebx
or ebp,edx
mov edx,esi
rol edx,5
add edi,ebp
add edi,edx
; 40_59 44
mov edx,DWORD PTR 48[esp]
mov ebp,DWORD PTR 56[esp]
xor edx,ebp
mov ebp,DWORD PTR 16[esp]
xor edx,ebp
mov ebp,DWORD PTR 36[esp]
xor edx,ebp
mov ebp,esi
rol edx,1
or ebp,eax
mov DWORD PTR 48[esp],edx
and ebp,ebx
lea edx,DWORD PTR 2400959708[ecx*1+edx]
mov ecx,esi
ror esi,2
and ecx,eax
or ebp,ecx
mov ecx,edi
rol ecx,5
add edx,ebp
add edx,ecx
; 40_59 45
mov ecx,DWORD PTR 52[esp]
mov ebp,DWORD PTR 60[esp]
xor ecx,ebp
mov ebp,DWORD PTR 20[esp]
xor ecx,ebp
mov ebp,DWORD PTR 40[esp]
xor ecx,ebp
mov ebp,edi
rol ecx,1
or ebp,esi
mov DWORD PTR 52[esp],ecx
and ebp,eax
lea ecx,DWORD PTR 2400959708[ebx*1+ecx]
mov ebx,edi
ror edi,2
and ebx,esi
or ebp,ebx
mov ebx,edx
rol ebx,5
add ecx,ebp
add ecx,ebx
; 40_59 46
mov ebx,DWORD PTR 56[esp]
mov ebp,DWORD PTR [esp]
xor ebx,ebp
mov ebp,DWORD PTR 24[esp]
xor ebx,ebp
mov ebp,DWORD PTR 44[esp]
xor ebx,ebp
mov ebp,edx
rol ebx,1
or ebp,edi
mov DWORD PTR 56[esp],ebx
and ebp,esi
lea ebx,DWORD PTR 2400959708[eax*1+ebx]
mov eax,edx
ror edx,2
and eax,edi
or ebp,eax
mov eax,ecx
rol eax,5
add ebx,ebp
add ebx,eax
; 40_59 47
mov eax,DWORD PTR 60[esp]
mov ebp,DWORD PTR 4[esp]
xor eax,ebp
mov ebp,DWORD PTR 28[esp]
xor eax,ebp
mov ebp,DWORD PTR 48[esp]
xor eax,ebp
mov ebp,ecx
rol eax,1
or ebp,edx
mov DWORD PTR 60[esp],eax
and ebp,edi
lea eax,DWORD PTR 2400959708[esi*1+eax]
mov esi,ecx
ror ecx,2
and esi,edx
or ebp,esi
mov esi,ebx
rol esi,5
add eax,ebp
add eax,esi
; 40_59 48
mov esi,DWORD PTR [esp]
mov ebp,DWORD PTR 8[esp]
xor esi,ebp
mov ebp,DWORD PTR 32[esp]
xor esi,ebp
mov ebp,DWORD PTR 52[esp]
xor esi,ebp
mov ebp,ebx
rol esi,1
or ebp,ecx
mov DWORD PTR [esp],esi
and ebp,edx
lea esi,DWORD PTR 2400959708[edi*1+esi]
mov edi,ebx
ror ebx,2
and edi,ecx
or ebp,edi
mov edi,eax
rol edi,5
add esi,ebp
add esi,edi
; 40_59 49
mov edi,DWORD PTR 4[esp]
mov ebp,DWORD PTR 12[esp]
xor edi,ebp
mov ebp,DWORD PTR 36[esp]
xor edi,ebp
mov ebp,DWORD PTR 56[esp]
xor edi,ebp
mov ebp,eax
rol edi,1
or ebp,ebx
mov DWORD PTR 4[esp],edi
and ebp,ecx
lea edi,DWORD PTR 2400959708[edx*1+edi]
mov edx,eax
ror eax,2
and edx,ebx
or ebp,edx
mov edx,esi
rol edx,5
add edi,ebp
add edi,edx
; 40_59 50
mov edx,DWORD PTR 8[esp]
mov ebp,DWORD PTR 16[esp]
xor edx,ebp
mov ebp,DWORD PTR 40[esp]
xor edx,ebp
mov ebp,DWORD PTR 60[esp]
xor edx,ebp
mov ebp,esi
rol edx,1
or ebp,eax
mov DWORD PTR 8[esp],edx
and ebp,ebx
lea edx,DWORD PTR 2400959708[ecx*1+edx]
mov ecx,esi
ror esi,2
and ecx,eax
or ebp,ecx
mov ecx,edi
rol ecx,5
add edx,ebp
add edx,ecx
; 40_59 51
mov ecx,DWORD PTR 12[esp]
mov ebp,DWORD PTR 20[esp]
xor ecx,ebp
mov ebp,DWORD PTR 44[esp]
xor ecx,ebp
mov ebp,DWORD PTR [esp]
xor ecx,ebp
mov ebp,edi
rol ecx,1
or ebp,esi
mov DWORD PTR 12[esp],ecx
and ebp,eax
lea ecx,DWORD PTR 2400959708[ebx*1+ecx]
mov ebx,edi
ror edi,2
and ebx,esi
or ebp,ebx
mov ebx,edx
rol ebx,5
add ecx,ebp
add ecx,ebx
; 40_59 52
mov ebx,DWORD PTR 16[esp]
mov ebp,DWORD PTR 24[esp]
xor ebx,ebp
mov ebp,DWORD PTR 48[esp]
xor ebx,ebp
mov ebp,DWORD PTR 4[esp]
xor ebx,ebp
mov ebp,edx
rol ebx,1
or ebp,edi
mov DWORD PTR 16[esp],ebx
and ebp,esi
lea ebx,DWORD PTR 2400959708[eax*1+ebx]
mov eax,edx
ror edx,2
and eax,edi
or ebp,eax
mov eax,ecx
rol eax,5
add ebx,ebp
add ebx,eax
; 40_59 53
mov eax,DWORD PTR 20[esp]
mov ebp,DWORD PTR 28[esp]
xor eax,ebp
mov ebp,DWORD PTR 52[esp]
xor eax,ebp
mov ebp,DWORD PTR 8[esp]
xor eax,ebp
mov ebp,ecx
rol eax,1
or ebp,edx
mov DWORD PTR 20[esp],eax
and ebp,edi
lea eax,DWORD PTR 2400959708[esi*1+eax]
mov esi,ecx
ror ecx,2
and esi,edx
or ebp,esi
mov esi,ebx
rol esi,5
add eax,ebp
add eax,esi
; 40_59 54
mov esi,DWORD PTR 24[esp]
mov ebp,DWORD PTR 32[esp]
xor esi,ebp
mov ebp,DWORD PTR 56[esp]
xor esi,ebp
mov ebp,DWORD PTR 12[esp]
xor esi,ebp
mov ebp,ebx
rol esi,1
or ebp,ecx
mov DWORD PTR 24[esp],esi
and ebp,edx
lea esi,DWORD PTR 2400959708[edi*1+esi]
mov edi,ebx
ror ebx,2
and edi,ecx
or ebp,edi
mov edi,eax
rol edi,5
add esi,ebp
add esi,edi
; 40_59 55
mov edi,DWORD PTR 28[esp]
mov ebp,DWORD PTR 36[esp]
xor edi,ebp
mov ebp,DWORD PTR 60[esp]
xor edi,ebp
mov ebp,DWORD PTR 16[esp]
xor edi,ebp
mov ebp,eax
rol edi,1
or ebp,ebx
mov DWORD PTR 28[esp],edi
and ebp,ecx
lea edi,DWORD PTR 2400959708[edx*1+edi]
mov edx,eax
ror eax,2
and edx,ebx
or ebp,edx
mov edx,esi
rol edx,5
add edi,ebp
add edi,edx
; 40_59 56
mov edx,DWORD PTR 32[esp]
mov ebp,DWORD PTR 40[esp]
xor edx,ebp
mov ebp,DWORD PTR [esp]
xor edx,ebp
mov ebp,DWORD PTR 20[esp]
xor edx,ebp
mov ebp,esi
rol edx,1
or ebp,eax
mov DWORD PTR 32[esp],edx
and ebp,ebx
lea edx,DWORD PTR 2400959708[ecx*1+edx]
mov ecx,esi
ror esi,2
and ecx,eax
or ebp,ecx
mov ecx,edi
rol ecx,5
add edx,ebp
add edx,ecx
; 40_59 57
mov ecx,DWORD PTR 36[esp]
mov ebp,DWORD PTR 44[esp]
xor ecx,ebp
mov ebp,DWORD PTR 4[esp]
xor ecx,ebp
mov ebp,DWORD PTR 24[esp]
xor ecx,ebp
mov ebp,edi
rol ecx,1
or ebp,esi
mov DWORD PTR 36[esp],ecx
and ebp,eax
lea ecx,DWORD PTR 2400959708[ebx*1+ecx]
mov ebx,edi
ror edi,2
and ebx,esi
or ebp,ebx
mov ebx,edx
rol ebx,5
add ecx,ebp
add ecx,ebx
; 40_59 58
mov ebx,DWORD PTR 40[esp]
mov ebp,DWORD PTR 48[esp]
xor ebx,ebp
mov ebp,DWORD PTR 8[esp]
xor ebx,ebp
mov ebp,DWORD PTR 28[esp]
xor ebx,ebp
mov ebp,edx
rol ebx,1
or ebp,edi
mov DWORD PTR 40[esp],ebx
and ebp,esi
lea ebx,DWORD PTR 2400959708[eax*1+ebx]
mov eax,edx
ror edx,2
and eax,edi
or ebp,eax
mov eax,ecx
rol eax,5
add ebx,ebp
add ebx,eax
; 40_59 59
mov eax,DWORD PTR 44[esp]
mov ebp,DWORD PTR 52[esp]
xor eax,ebp
mov ebp,DWORD PTR 12[esp]
xor eax,ebp
mov ebp,DWORD PTR 32[esp]
xor eax,ebp
mov ebp,ecx
rol eax,1
or ebp,edx
mov DWORD PTR 44[esp],eax
and ebp,edi
lea eax,DWORD PTR 2400959708[esi*1+eax]
mov esi,ecx
ror ecx,2
and esi,edx
or ebp,esi
mov esi,ebx
rol esi,5
add eax,ebp
add eax,esi
; 20_39 60
mov ebp,ebx
mov esi,DWORD PTR 48[esp]
ror ebx,2
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 ebp,edi
mov DWORD PTR 48[esp],esi
mov edi,eax
rol edi,5
lea esi,DWORD PTR 3395469782[ebp*1+esi]
add esi,edi
; 20_39 61
mov ebp,eax
mov edi,DWORD PTR 52[esp]
ror eax,2
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 ebp,edx
mov DWORD PTR 52[esp],edi
mov edx,esi
rol edx,5
lea edi,DWORD PTR 3395469782[ebp*1+edi]
add edi,edx
; 20_39 62
mov ebp,esi
mov edx,DWORD PTR 56[esp]
ror esi,2
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 ebp,ecx
mov DWORD PTR 56[esp],edx
mov ecx,edi
rol ecx,5
lea edx,DWORD PTR 3395469782[ebp*1+edx]
add edx,ecx
; 20_39 63
mov ebp,edi
mov ecx,DWORD PTR 60[esp]
ror edi,2
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 ebp,ebx
mov DWORD PTR 60[esp],ecx
mov ebx,edx
rol ebx,5
lea ecx,DWORD PTR 3395469782[ebp*1+ecx]
add ecx,ebx
; 20_39 64
mov ebp,edx
mov ebx,DWORD PTR [esp]
ror edx,2
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 ebp,eax
mov DWORD PTR [esp],ebx
mov eax,ecx
rol eax,5
lea ebx,DWORD PTR 3395469782[ebp*1+ebx]
add ebx,eax
; 20_39 65
mov ebp,ecx
mov eax,DWORD PTR 4[esp]
ror ecx,2
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 ebp,esi
mov DWORD PTR 4[esp],eax
mov esi,ebx
rol esi,5
lea eax,DWORD PTR 3395469782[ebp*1+eax]
add eax,esi
; 20_39 66
mov ebp,ebx
mov esi,DWORD PTR 8[esp]
ror ebx,2
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 ebp,edi
mov DWORD PTR 8[esp],esi
mov edi,eax
rol edi,5
lea esi,DWORD PTR 3395469782[ebp*1+esi]
add esi,edi
; 20_39 67
mov ebp,eax
mov edi,DWORD PTR 12[esp]
ror eax,2
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 ebp,edx
mov DWORD PTR 12[esp],edi
mov edx,esi
rol edx,5
lea edi,DWORD PTR 3395469782[ebp*1+edi]
add edi,edx
; 20_39 68
mov ebp,esi
mov edx,DWORD PTR 16[esp]
ror esi,2
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 ebp,ecx
mov DWORD PTR 16[esp],edx
mov ecx,edi
rol ecx,5
lea edx,DWORD PTR 3395469782[ebp*1+edx]
add edx,ecx
; 20_39 69
mov ebp,edi
mov ecx,DWORD PTR 20[esp]
ror edi,2
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 ebp,ebx
mov DWORD PTR 20[esp],ecx
mov ebx,edx
rol ebx,5
lea ecx,DWORD PTR 3395469782[ebp*1+ecx]
add ecx,ebx
; 20_39 70
mov ebp,edx
mov ebx,DWORD PTR 24[esp]
ror edx,2
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 ebp,eax
mov DWORD PTR 24[esp],ebx
mov eax,ecx
rol eax,5
lea ebx,DWORD PTR 3395469782[ebp*1+ebx]
add ebx,eax
; 20_39 71
mov ebp,ecx
mov eax,DWORD PTR 28[esp]
ror ecx,2
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 ebp,esi
mov DWORD PTR 28[esp],eax
mov esi,ebx
rol esi,5
lea eax,DWORD PTR 3395469782[ebp*1+eax]
add eax,esi
; 20_39 72
mov ebp,ebx
mov esi,DWORD PTR 32[esp]
ror ebx,2
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 ebp,edi
mov DWORD PTR 32[esp],esi
mov edi,eax
rol edi,5
lea esi,DWORD PTR 3395469782[ebp*1+esi]
add esi,edi
; 20_39 73
mov ebp,eax
mov edi,DWORD PTR 36[esp]
ror eax,2
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 ebp,edx
mov DWORD PTR 36[esp],edi
mov edx,esi
rol edx,5
lea edi,DWORD PTR 3395469782[ebp*1+edi]
add edi,edx
; 20_39 74
mov ebp,esi
mov edx,DWORD PTR 40[esp]
ror esi,2
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 ebp,ecx
mov DWORD PTR 40[esp],edx
mov ecx,edi
rol ecx,5
lea edx,DWORD PTR 3395469782[ebp*1+edx]
add edx,ecx
; 20_39 75
mov ebp,edi
mov ecx,DWORD PTR 44[esp]
ror edi,2
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 ebp,ebx
mov DWORD PTR 44[esp],ecx
mov ebx,edx
rol ebx,5
lea ecx,DWORD PTR 3395469782[ebp*1+ecx]
add ecx,ebx
; 20_39 76
mov ebp,edx
mov ebx,DWORD PTR 48[esp]
ror edx,2
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 ebp,eax
mov DWORD PTR 48[esp],ebx
mov eax,ecx
rol eax,5
lea ebx,DWORD PTR 3395469782[ebp*1+ebx]
add ebx,eax
; 20_39 77
mov ebp,ecx
mov eax,DWORD PTR 52[esp]
ror ecx,2
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 ebp,esi
mov DWORD PTR 52[esp],eax
mov esi,ebx
rol esi,5
lea eax,DWORD PTR 3395469782[ebp*1+eax]
add eax,esi
; 20_39 78
mov ebp,ebx
mov esi,DWORD PTR 56[esp]
ror ebx,2
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 ebp,edi
mov DWORD PTR 56[esp],esi
mov edi,eax
rol edi,5
lea esi,DWORD PTR 3395469782[ebp*1+esi]
add esi,edi
; 20_39 79
mov ebp,eax
mov edi,DWORD PTR 60[esp]
ror eax,2
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 ebp,edx
mov DWORD PTR 60[esp],edi
mov edx,esi
rol edx,5
lea edi,DWORD PTR 3395469782[ebp*1+edi]
add edi,edx
mov ebp,DWORD PTR 84[esp]
mov edx,DWORD PTR 88[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 92[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 $L000loop
add esp,64
pop edi
pop esi
pop ebx
pop ebp
ret
_sha1_block_data_order ENDP
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
END