69fb1c3f9d
I've chosen to nest two functions in order to save about 4K. As a result s1-win32.asm doesn't look right (nested PROC/ENDP SEGMENT/ENDS) and it's probably impossible to compile. I assume I have to reconsider... But not today...
1716 lines
32 KiB
NASM
1716 lines
32 KiB
NASM
; Don't even think of reading this code
|
|
; It was automatically generated by sha1-586.pl
|
|
; Which is a perl program used to generate the x86 assember for
|
|
; any of elf, a.out, BSDI,Win32, or Solaris
|
|
; eric <eay@cryptsoft.com>
|
|
;
|
|
TITLE sha1-586.asm
|
|
.486
|
|
.model FLAT
|
|
_TEXT SEGMENT
|
|
PUBLIC _sha1_block_asm_data_order
|
|
|
|
_sha1_block_asm_data_order PROC NEAR
|
|
mov ecx, DWORD PTR 12[esp]
|
|
push esi
|
|
shl ecx, 6
|
|
mov esi, DWORD PTR 12[esp]
|
|
push ebp
|
|
add ecx, esi
|
|
push ebx
|
|
mov ebp, DWORD PTR 16[esp]
|
|
push edi
|
|
mov edx, DWORD PTR 12[ebp]
|
|
sub esp, 108
|
|
mov edi, DWORD PTR 16[ebp]
|
|
mov ebx, DWORD PTR 8[ebp]
|
|
mov DWORD PTR 68[esp],ecx
|
|
; First we need to setup the X array
|
|
L000start:
|
|
; First, load the words onto the stack in network byte order
|
|
mov eax, DWORD PTR [esi]
|
|
mov ecx, DWORD PTR 4[esi]
|
|
bswap eax
|
|
bswap ecx
|
|
mov DWORD PTR [esp],eax
|
|
mov DWORD PTR 4[esp],ecx
|
|
mov eax, DWORD PTR 8[esi]
|
|
mov ecx, DWORD PTR 12[esi]
|
|
bswap eax
|
|
bswap ecx
|
|
mov DWORD PTR 8[esp],eax
|
|
mov DWORD PTR 12[esp],ecx
|
|
mov eax, DWORD PTR 16[esi]
|
|
mov ecx, DWORD PTR 20[esi]
|
|
bswap eax
|
|
bswap ecx
|
|
mov DWORD PTR 16[esp],eax
|
|
mov DWORD PTR 20[esp],ecx
|
|
mov eax, DWORD PTR 24[esi]
|
|
mov ecx, DWORD PTR 28[esi]
|
|
bswap eax
|
|
bswap ecx
|
|
mov DWORD PTR 24[esp],eax
|
|
mov DWORD PTR 28[esp],ecx
|
|
mov eax, DWORD PTR 32[esi]
|
|
mov ecx, DWORD PTR 36[esi]
|
|
bswap eax
|
|
bswap ecx
|
|
mov DWORD PTR 32[esp],eax
|
|
mov DWORD PTR 36[esp],ecx
|
|
mov eax, DWORD PTR 40[esi]
|
|
mov ecx, DWORD PTR 44[esi]
|
|
bswap eax
|
|
bswap ecx
|
|
mov DWORD PTR 40[esp],eax
|
|
mov DWORD PTR 44[esp],ecx
|
|
mov eax, DWORD PTR 48[esi]
|
|
mov ecx, DWORD PTR 52[esi]
|
|
bswap eax
|
|
bswap ecx
|
|
mov DWORD PTR 48[esp],eax
|
|
mov DWORD PTR 52[esp],ecx
|
|
mov eax, DWORD PTR 56[esi]
|
|
mov ecx, DWORD PTR 60[esi]
|
|
bswap eax
|
|
bswap ecx
|
|
mov DWORD PTR 56[esp],eax
|
|
mov DWORD PTR 60[esp],ecx
|
|
; We now have the X array on the stack
|
|
; starting at sp-4
|
|
mov DWORD PTR 132[esp],esi
|
|
L001shortcut:
|
|
;
|
|
; Start processing
|
|
mov eax, DWORD PTR [ebp]
|
|
mov ecx, DWORD PTR 4[ebp]
|
|
; 00_15 0
|
|
mov esi, ebx
|
|
mov ebp, eax
|
|
xor esi, edx
|
|
rol ebp, 5
|
|
and esi, ecx
|
|
add ebp, edi
|
|
ror ecx, 1
|
|
mov edi, DWORD PTR [esp]
|
|
ror ecx, 1
|
|
xor esi, edx
|
|
lea ebp, DWORD PTR 1518500249[edi*1+ebp]
|
|
mov edi, ecx
|
|
add esi, ebp
|
|
xor edi, ebx
|
|
mov ebp, esi
|
|
and edi, eax
|
|
rol ebp, 5
|
|
add ebp, edx
|
|
mov edx, DWORD PTR 4[esp]
|
|
ror eax, 1
|
|
xor edi, ebx
|
|
ror eax, 1
|
|
lea ebp, DWORD PTR 1518500249[edx*1+ebp]
|
|
add edi, ebp
|
|
; 00_15 2
|
|
mov edx, eax
|
|
mov ebp, edi
|
|
xor edx, ecx
|
|
rol ebp, 5
|
|
and edx, esi
|
|
add ebp, ebx
|
|
ror esi, 1
|
|
mov ebx, DWORD PTR 8[esp]
|
|
ror esi, 1
|
|
xor edx, ecx
|
|
lea ebp, DWORD PTR 1518500249[ebx*1+ebp]
|
|
mov ebx, esi
|
|
add edx, ebp
|
|
xor ebx, eax
|
|
mov ebp, edx
|
|
and ebx, edi
|
|
rol ebp, 5
|
|
add ebp, ecx
|
|
mov ecx, DWORD PTR 12[esp]
|
|
ror edi, 1
|
|
xor ebx, eax
|
|
ror edi, 1
|
|
lea ebp, DWORD PTR 1518500249[ecx*1+ebp]
|
|
add ebx, ebp
|
|
; 00_15 4
|
|
mov ecx, edi
|
|
mov ebp, ebx
|
|
xor ecx, esi
|
|
rol ebp, 5
|
|
and ecx, edx
|
|
add ebp, eax
|
|
ror edx, 1
|
|
mov eax, DWORD PTR 16[esp]
|
|
ror edx, 1
|
|
xor ecx, esi
|
|
lea ebp, DWORD PTR 1518500249[eax*1+ebp]
|
|
mov eax, edx
|
|
add ecx, ebp
|
|
xor eax, edi
|
|
mov ebp, ecx
|
|
and eax, ebx
|
|
rol ebp, 5
|
|
add ebp, esi
|
|
mov esi, DWORD PTR 20[esp]
|
|
ror ebx, 1
|
|
xor eax, edi
|
|
ror ebx, 1
|
|
lea ebp, DWORD PTR 1518500249[esi*1+ebp]
|
|
add eax, ebp
|
|
; 00_15 6
|
|
mov esi, ebx
|
|
mov ebp, eax
|
|
xor esi, edx
|
|
rol ebp, 5
|
|
and esi, ecx
|
|
add ebp, edi
|
|
ror ecx, 1
|
|
mov edi, DWORD PTR 24[esp]
|
|
ror ecx, 1
|
|
xor esi, edx
|
|
lea ebp, DWORD PTR 1518500249[edi*1+ebp]
|
|
mov edi, ecx
|
|
add esi, ebp
|
|
xor edi, ebx
|
|
mov ebp, esi
|
|
and edi, eax
|
|
rol ebp, 5
|
|
add ebp, edx
|
|
mov edx, DWORD PTR 28[esp]
|
|
ror eax, 1
|
|
xor edi, ebx
|
|
ror eax, 1
|
|
lea ebp, DWORD PTR 1518500249[edx*1+ebp]
|
|
add edi, ebp
|
|
; 00_15 8
|
|
mov edx, eax
|
|
mov ebp, edi
|
|
xor edx, ecx
|
|
rol ebp, 5
|
|
and edx, esi
|
|
add ebp, ebx
|
|
ror esi, 1
|
|
mov ebx, DWORD PTR 32[esp]
|
|
ror esi, 1
|
|
xor edx, ecx
|
|
lea ebp, DWORD PTR 1518500249[ebx*1+ebp]
|
|
mov ebx, esi
|
|
add edx, ebp
|
|
xor ebx, eax
|
|
mov ebp, edx
|
|
and ebx, edi
|
|
rol ebp, 5
|
|
add ebp, ecx
|
|
mov ecx, DWORD PTR 36[esp]
|
|
ror edi, 1
|
|
xor ebx, eax
|
|
ror edi, 1
|
|
lea ebp, DWORD PTR 1518500249[ecx*1+ebp]
|
|
add ebx, ebp
|
|
; 00_15 10
|
|
mov ecx, edi
|
|
mov ebp, ebx
|
|
xor ecx, esi
|
|
rol ebp, 5
|
|
and ecx, edx
|
|
add ebp, eax
|
|
ror edx, 1
|
|
mov eax, DWORD PTR 40[esp]
|
|
ror edx, 1
|
|
xor ecx, esi
|
|
lea ebp, DWORD PTR 1518500249[eax*1+ebp]
|
|
mov eax, edx
|
|
add ecx, ebp
|
|
xor eax, edi
|
|
mov ebp, ecx
|
|
and eax, ebx
|
|
rol ebp, 5
|
|
add ebp, esi
|
|
mov esi, DWORD PTR 44[esp]
|
|
ror ebx, 1
|
|
xor eax, edi
|
|
ror ebx, 1
|
|
lea ebp, DWORD PTR 1518500249[esi*1+ebp]
|
|
add eax, ebp
|
|
; 00_15 12
|
|
mov esi, ebx
|
|
mov ebp, eax
|
|
xor esi, edx
|
|
rol ebp, 5
|
|
and esi, ecx
|
|
add ebp, edi
|
|
ror ecx, 1
|
|
mov edi, DWORD PTR 48[esp]
|
|
ror ecx, 1
|
|
xor esi, edx
|
|
lea ebp, DWORD PTR 1518500249[edi*1+ebp]
|
|
mov edi, ecx
|
|
add esi, ebp
|
|
xor edi, ebx
|
|
mov ebp, esi
|
|
and edi, eax
|
|
rol ebp, 5
|
|
add ebp, edx
|
|
mov edx, DWORD PTR 52[esp]
|
|
ror eax, 1
|
|
xor edi, ebx
|
|
ror eax, 1
|
|
lea ebp, DWORD PTR 1518500249[edx*1+ebp]
|
|
add edi, ebp
|
|
; 00_15 14
|
|
mov edx, eax
|
|
mov ebp, edi
|
|
xor edx, ecx
|
|
rol ebp, 5
|
|
and edx, esi
|
|
add ebp, ebx
|
|
ror esi, 1
|
|
mov ebx, DWORD PTR 56[esp]
|
|
ror esi, 1
|
|
xor edx, ecx
|
|
lea ebp, DWORD PTR 1518500249[ebx*1+ebp]
|
|
mov ebx, esi
|
|
add edx, ebp
|
|
xor ebx, eax
|
|
mov ebp, edx
|
|
and ebx, edi
|
|
rol ebp, 5
|
|
add ebp, ecx
|
|
mov ecx, DWORD PTR 60[esp]
|
|
ror edi, 1
|
|
xor ebx, eax
|
|
ror edi, 1
|
|
lea ebp, DWORD PTR 1518500249[ecx*1+ebp]
|
|
add ebx, ebp
|
|
; 16_19 16
|
|
nop
|
|
mov ebp, DWORD PTR [esp]
|
|
mov ecx, DWORD PTR 8[esp]
|
|
xor ecx, ebp
|
|
mov ebp, DWORD PTR 32[esp]
|
|
xor ecx, ebp
|
|
mov ebp, DWORD PTR 52[esp]
|
|
xor ecx, ebp
|
|
mov ebp, edi
|
|
rol ecx, 1
|
|
xor ebp, esi
|
|
mov DWORD PTR [esp],ecx
|
|
and ebp, edx
|
|
lea ecx, DWORD PTR 1518500249[eax*1+ecx]
|
|
xor ebp, esi
|
|
mov eax, ebx
|
|
add ecx, ebp
|
|
rol eax, 5
|
|
ror edx, 1
|
|
add ecx, eax
|
|
mov eax, DWORD PTR 4[esp]
|
|
mov ebp, DWORD PTR 12[esp]
|
|
xor eax, ebp
|
|
mov ebp, DWORD PTR 36[esp]
|
|
xor eax, ebp
|
|
mov ebp, DWORD PTR 56[esp]
|
|
ror edx, 1
|
|
xor eax, ebp
|
|
rol eax, 1
|
|
mov ebp, edx
|
|
xor ebp, edi
|
|
mov DWORD PTR 4[esp],eax
|
|
and ebp, ebx
|
|
lea eax, DWORD PTR 1518500249[esi*1+eax]
|
|
xor ebp, edi
|
|
mov esi, ecx
|
|
rol esi, 5
|
|
ror ebx, 1
|
|
add eax, esi
|
|
ror ebx, 1
|
|
add eax, ebp
|
|
; 16_19 18
|
|
mov ebp, DWORD PTR 8[esp]
|
|
mov esi, DWORD PTR 16[esp]
|
|
xor esi, ebp
|
|
mov ebp, DWORD PTR 40[esp]
|
|
xor esi, ebp
|
|
mov ebp, DWORD PTR 60[esp]
|
|
xor esi, ebp
|
|
mov ebp, ebx
|
|
rol esi, 1
|
|
xor ebp, edx
|
|
mov DWORD PTR 8[esp],esi
|
|
and ebp, ecx
|
|
lea esi, DWORD PTR 1518500249[edi*1+esi]
|
|
xor ebp, edx
|
|
mov edi, eax
|
|
add esi, ebp
|
|
rol edi, 5
|
|
ror ecx, 1
|
|
add esi, edi
|
|
mov edi, DWORD PTR 12[esp]
|
|
mov ebp, DWORD PTR 20[esp]
|
|
xor edi, ebp
|
|
mov ebp, DWORD PTR 44[esp]
|
|
xor edi, ebp
|
|
mov ebp, DWORD PTR [esp]
|
|
ror ecx, 1
|
|
xor edi, ebp
|
|
rol edi, 1
|
|
mov ebp, ecx
|
|
xor ebp, ebx
|
|
mov DWORD PTR 12[esp],edi
|
|
and ebp, eax
|
|
lea edi, DWORD PTR 1518500249[edx*1+edi]
|
|
xor ebp, ebx
|
|
mov edx, esi
|
|
rol edx, 5
|
|
ror eax, 1
|
|
add edi, edx
|
|
ror eax, 1
|
|
add edi, ebp
|
|
; 20_39 20
|
|
mov edx, DWORD PTR 16[esp]
|
|
mov ebp, DWORD PTR 24[esp]
|
|
xor edx, ebp
|
|
mov ebp, DWORD PTR 48[esp]
|
|
xor edx, ebp
|
|
mov ebp, DWORD PTR 4[esp]
|
|
xor edx, ebp
|
|
mov ebp, esi
|
|
rol edx, 1
|
|
xor ebp, eax
|
|
mov DWORD PTR 16[esp],edx
|
|
xor ebp, ecx
|
|
lea edx, DWORD PTR 1859775393[ebx*1+edx]
|
|
mov ebx, edi
|
|
rol ebx, 5
|
|
ror esi, 1
|
|
add ebx, ebp
|
|
ror esi, 1
|
|
add edx, ebx
|
|
; 20_39 21
|
|
mov ebx, DWORD PTR 20[esp]
|
|
mov ebp, DWORD PTR 28[esp]
|
|
xor ebx, ebp
|
|
mov ebp, DWORD PTR 52[esp]
|
|
xor ebx, ebp
|
|
mov ebp, DWORD PTR 8[esp]
|
|
xor ebx, ebp
|
|
mov ebp, edi
|
|
rol ebx, 1
|
|
xor ebp, esi
|
|
mov DWORD PTR 20[esp],ebx
|
|
xor ebp, eax
|
|
lea ebx, DWORD PTR 1859775393[ecx*1+ebx]
|
|
mov ecx, edx
|
|
rol ecx, 5
|
|
ror edi, 1
|
|
add ecx, ebp
|
|
ror edi, 1
|
|
add ebx, ecx
|
|
; 20_39 22
|
|
mov ecx, DWORD PTR 24[esp]
|
|
mov ebp, DWORD PTR 32[esp]
|
|
xor ecx, ebp
|
|
mov ebp, DWORD PTR 56[esp]
|
|
xor ecx, ebp
|
|
mov ebp, DWORD PTR 12[esp]
|
|
xor ecx, ebp
|
|
mov ebp, edx
|
|
rol ecx, 1
|
|
xor ebp, edi
|
|
mov DWORD PTR 24[esp],ecx
|
|
xor ebp, esi
|
|
lea ecx, DWORD PTR 1859775393[eax*1+ecx]
|
|
mov eax, ebx
|
|
rol eax, 5
|
|
ror edx, 1
|
|
add eax, ebp
|
|
ror edx, 1
|
|
add ecx, eax
|
|
; 20_39 23
|
|
mov eax, DWORD PTR 28[esp]
|
|
mov ebp, DWORD PTR 36[esp]
|
|
xor eax, ebp
|
|
mov ebp, DWORD PTR 60[esp]
|
|
xor eax, ebp
|
|
mov ebp, DWORD PTR 16[esp]
|
|
xor eax, ebp
|
|
mov ebp, ebx
|
|
rol eax, 1
|
|
xor ebp, edx
|
|
mov DWORD PTR 28[esp],eax
|
|
xor ebp, edi
|
|
lea eax, DWORD PTR 1859775393[esi*1+eax]
|
|
mov esi, ecx
|
|
rol esi, 5
|
|
ror ebx, 1
|
|
add esi, ebp
|
|
ror ebx, 1
|
|
add eax, esi
|
|
; 20_39 24
|
|
mov esi, DWORD PTR 32[esp]
|
|
mov ebp, DWORD PTR 40[esp]
|
|
xor esi, ebp
|
|
mov ebp, DWORD PTR [esp]
|
|
xor esi, ebp
|
|
mov ebp, DWORD PTR 20[esp]
|
|
xor esi, ebp
|
|
mov ebp, ecx
|
|
rol esi, 1
|
|
xor ebp, ebx
|
|
mov DWORD PTR 32[esp],esi
|
|
xor ebp, edx
|
|
lea esi, DWORD PTR 1859775393[edi*1+esi]
|
|
mov edi, eax
|
|
rol edi, 5
|
|
ror ecx, 1
|
|
add edi, ebp
|
|
ror ecx, 1
|
|
add esi, edi
|
|
; 20_39 25
|
|
mov edi, DWORD PTR 36[esp]
|
|
mov ebp, DWORD PTR 44[esp]
|
|
xor edi, ebp
|
|
mov ebp, DWORD PTR 4[esp]
|
|
xor edi, ebp
|
|
mov ebp, DWORD PTR 24[esp]
|
|
xor edi, ebp
|
|
mov ebp, eax
|
|
rol edi, 1
|
|
xor ebp, ecx
|
|
mov DWORD PTR 36[esp],edi
|
|
xor ebp, ebx
|
|
lea edi, DWORD PTR 1859775393[edx*1+edi]
|
|
mov edx, esi
|
|
rol edx, 5
|
|
ror eax, 1
|
|
add edx, ebp
|
|
ror eax, 1
|
|
add edi, edx
|
|
; 20_39 26
|
|
mov edx, DWORD PTR 40[esp]
|
|
mov ebp, DWORD PTR 48[esp]
|
|
xor edx, ebp
|
|
mov ebp, DWORD PTR 8[esp]
|
|
xor edx, ebp
|
|
mov ebp, DWORD PTR 28[esp]
|
|
xor edx, ebp
|
|
mov ebp, esi
|
|
rol edx, 1
|
|
xor ebp, eax
|
|
mov DWORD PTR 40[esp],edx
|
|
xor ebp, ecx
|
|
lea edx, DWORD PTR 1859775393[ebx*1+edx]
|
|
mov ebx, edi
|
|
rol ebx, 5
|
|
ror esi, 1
|
|
add ebx, ebp
|
|
ror esi, 1
|
|
add edx, ebx
|
|
; 20_39 27
|
|
mov ebx, DWORD PTR 44[esp]
|
|
mov ebp, DWORD PTR 52[esp]
|
|
xor ebx, ebp
|
|
mov ebp, DWORD PTR 12[esp]
|
|
xor ebx, ebp
|
|
mov ebp, DWORD PTR 32[esp]
|
|
xor ebx, ebp
|
|
mov ebp, edi
|
|
rol ebx, 1
|
|
xor ebp, esi
|
|
mov DWORD PTR 44[esp],ebx
|
|
xor ebp, eax
|
|
lea ebx, DWORD PTR 1859775393[ecx*1+ebx]
|
|
mov ecx, edx
|
|
rol ecx, 5
|
|
ror edi, 1
|
|
add ecx, ebp
|
|
ror edi, 1
|
|
add ebx, ecx
|
|
; 20_39 28
|
|
mov ecx, DWORD PTR 48[esp]
|
|
mov ebp, DWORD PTR 56[esp]
|
|
xor ecx, ebp
|
|
mov ebp, DWORD PTR 16[esp]
|
|
xor ecx, ebp
|
|
mov ebp, DWORD PTR 36[esp]
|
|
xor ecx, ebp
|
|
mov ebp, edx
|
|
rol ecx, 1
|
|
xor ebp, edi
|
|
mov DWORD PTR 48[esp],ecx
|
|
xor ebp, esi
|
|
lea ecx, DWORD PTR 1859775393[eax*1+ecx]
|
|
mov eax, ebx
|
|
rol eax, 5
|
|
ror edx, 1
|
|
add eax, ebp
|
|
ror edx, 1
|
|
add ecx, eax
|
|
; 20_39 29
|
|
mov eax, DWORD PTR 52[esp]
|
|
mov ebp, DWORD PTR 60[esp]
|
|
xor eax, ebp
|
|
mov ebp, DWORD PTR 20[esp]
|
|
xor eax, ebp
|
|
mov ebp, DWORD PTR 40[esp]
|
|
xor eax, ebp
|
|
mov ebp, ebx
|
|
rol eax, 1
|
|
xor ebp, edx
|
|
mov DWORD PTR 52[esp],eax
|
|
xor ebp, edi
|
|
lea eax, DWORD PTR 1859775393[esi*1+eax]
|
|
mov esi, ecx
|
|
rol esi, 5
|
|
ror ebx, 1
|
|
add esi, ebp
|
|
ror ebx, 1
|
|
add eax, esi
|
|
; 20_39 30
|
|
mov esi, DWORD PTR 56[esp]
|
|
mov ebp, DWORD PTR [esp]
|
|
xor esi, ebp
|
|
mov ebp, DWORD PTR 24[esp]
|
|
xor esi, ebp
|
|
mov ebp, DWORD PTR 44[esp]
|
|
xor esi, ebp
|
|
mov ebp, ecx
|
|
rol esi, 1
|
|
xor ebp, ebx
|
|
mov DWORD PTR 56[esp],esi
|
|
xor ebp, edx
|
|
lea esi, DWORD PTR 1859775393[edi*1+esi]
|
|
mov edi, eax
|
|
rol edi, 5
|
|
ror ecx, 1
|
|
add edi, ebp
|
|
ror ecx, 1
|
|
add esi, edi
|
|
; 20_39 31
|
|
mov edi, DWORD PTR 60[esp]
|
|
mov ebp, DWORD PTR 4[esp]
|
|
xor edi, ebp
|
|
mov ebp, DWORD PTR 28[esp]
|
|
xor edi, ebp
|
|
mov ebp, DWORD PTR 48[esp]
|
|
xor edi, ebp
|
|
mov ebp, eax
|
|
rol edi, 1
|
|
xor ebp, ecx
|
|
mov DWORD PTR 60[esp],edi
|
|
xor ebp, ebx
|
|
lea edi, DWORD PTR 1859775393[edx*1+edi]
|
|
mov edx, esi
|
|
rol edx, 5
|
|
ror eax, 1
|
|
add edx, ebp
|
|
ror eax, 1
|
|
add edi, edx
|
|
; 20_39 32
|
|
mov edx, DWORD PTR [esp]
|
|
mov ebp, DWORD PTR 8[esp]
|
|
xor edx, ebp
|
|
mov ebp, DWORD PTR 32[esp]
|
|
xor edx, ebp
|
|
mov ebp, DWORD PTR 52[esp]
|
|
xor edx, ebp
|
|
mov ebp, esi
|
|
rol edx, 1
|
|
xor ebp, eax
|
|
mov DWORD PTR [esp],edx
|
|
xor ebp, ecx
|
|
lea edx, DWORD PTR 1859775393[ebx*1+edx]
|
|
mov ebx, edi
|
|
rol ebx, 5
|
|
ror esi, 1
|
|
add ebx, ebp
|
|
ror esi, 1
|
|
add edx, ebx
|
|
; 20_39 33
|
|
mov ebx, DWORD PTR 4[esp]
|
|
mov ebp, DWORD PTR 12[esp]
|
|
xor ebx, ebp
|
|
mov ebp, DWORD PTR 36[esp]
|
|
xor ebx, ebp
|
|
mov ebp, DWORD PTR 56[esp]
|
|
xor ebx, ebp
|
|
mov ebp, edi
|
|
rol ebx, 1
|
|
xor ebp, esi
|
|
mov DWORD PTR 4[esp],ebx
|
|
xor ebp, eax
|
|
lea ebx, DWORD PTR 1859775393[ecx*1+ebx]
|
|
mov ecx, edx
|
|
rol ecx, 5
|
|
ror edi, 1
|
|
add ecx, ebp
|
|
ror edi, 1
|
|
add ebx, ecx
|
|
; 20_39 34
|
|
mov ecx, DWORD PTR 8[esp]
|
|
mov ebp, DWORD PTR 16[esp]
|
|
xor ecx, ebp
|
|
mov ebp, DWORD PTR 40[esp]
|
|
xor ecx, ebp
|
|
mov ebp, DWORD PTR 60[esp]
|
|
xor ecx, ebp
|
|
mov ebp, edx
|
|
rol ecx, 1
|
|
xor ebp, edi
|
|
mov DWORD PTR 8[esp],ecx
|
|
xor ebp, esi
|
|
lea ecx, DWORD PTR 1859775393[eax*1+ecx]
|
|
mov eax, ebx
|
|
rol eax, 5
|
|
ror edx, 1
|
|
add eax, ebp
|
|
ror edx, 1
|
|
add ecx, eax
|
|
; 20_39 35
|
|
mov eax, DWORD PTR 12[esp]
|
|
mov ebp, DWORD PTR 20[esp]
|
|
xor eax, ebp
|
|
mov ebp, DWORD PTR 44[esp]
|
|
xor eax, ebp
|
|
mov ebp, DWORD PTR [esp]
|
|
xor eax, ebp
|
|
mov ebp, ebx
|
|
rol eax, 1
|
|
xor ebp, edx
|
|
mov DWORD PTR 12[esp],eax
|
|
xor ebp, edi
|
|
lea eax, DWORD PTR 1859775393[esi*1+eax]
|
|
mov esi, ecx
|
|
rol esi, 5
|
|
ror ebx, 1
|
|
add esi, ebp
|
|
ror ebx, 1
|
|
add eax, esi
|
|
; 20_39 36
|
|
mov esi, DWORD PTR 16[esp]
|
|
mov ebp, DWORD PTR 24[esp]
|
|
xor esi, ebp
|
|
mov ebp, DWORD PTR 48[esp]
|
|
xor esi, ebp
|
|
mov ebp, DWORD PTR 4[esp]
|
|
xor esi, ebp
|
|
mov ebp, ecx
|
|
rol esi, 1
|
|
xor ebp, ebx
|
|
mov DWORD PTR 16[esp],esi
|
|
xor ebp, edx
|
|
lea esi, DWORD PTR 1859775393[edi*1+esi]
|
|
mov edi, eax
|
|
rol edi, 5
|
|
ror ecx, 1
|
|
add edi, ebp
|
|
ror ecx, 1
|
|
add esi, edi
|
|
; 20_39 37
|
|
mov edi, DWORD PTR 20[esp]
|
|
mov ebp, DWORD PTR 28[esp]
|
|
xor edi, ebp
|
|
mov ebp, DWORD PTR 52[esp]
|
|
xor edi, ebp
|
|
mov ebp, DWORD PTR 8[esp]
|
|
xor edi, ebp
|
|
mov ebp, eax
|
|
rol edi, 1
|
|
xor ebp, ecx
|
|
mov DWORD PTR 20[esp],edi
|
|
xor ebp, ebx
|
|
lea edi, DWORD PTR 1859775393[edx*1+edi]
|
|
mov edx, esi
|
|
rol edx, 5
|
|
ror eax, 1
|
|
add edx, ebp
|
|
ror eax, 1
|
|
add edi, edx
|
|
; 20_39 38
|
|
mov edx, DWORD PTR 24[esp]
|
|
mov ebp, DWORD PTR 32[esp]
|
|
xor edx, ebp
|
|
mov ebp, DWORD PTR 56[esp]
|
|
xor edx, ebp
|
|
mov ebp, DWORD PTR 12[esp]
|
|
xor edx, ebp
|
|
mov ebp, esi
|
|
rol edx, 1
|
|
xor ebp, eax
|
|
mov DWORD PTR 24[esp],edx
|
|
xor ebp, ecx
|
|
lea edx, DWORD PTR 1859775393[ebx*1+edx]
|
|
mov ebx, edi
|
|
rol ebx, 5
|
|
ror esi, 1
|
|
add ebx, ebp
|
|
ror esi, 1
|
|
add edx, ebx
|
|
; 20_39 39
|
|
mov ebx, DWORD PTR 28[esp]
|
|
mov ebp, DWORD PTR 36[esp]
|
|
xor ebx, ebp
|
|
mov ebp, DWORD PTR 60[esp]
|
|
xor ebx, ebp
|
|
mov ebp, DWORD PTR 16[esp]
|
|
xor ebx, ebp
|
|
mov ebp, edi
|
|
rol ebx, 1
|
|
xor ebp, esi
|
|
mov DWORD PTR 28[esp],ebx
|
|
xor ebp, eax
|
|
lea ebx, DWORD PTR 1859775393[ecx*1+ebx]
|
|
mov ecx, edx
|
|
rol ecx, 5
|
|
ror edi, 1
|
|
add ecx, ebp
|
|
ror edi, 1
|
|
add ebx, ecx
|
|
; 40_59 40
|
|
mov ecx, DWORD PTR 32[esp]
|
|
mov ebp, DWORD PTR 40[esp]
|
|
xor ecx, ebp
|
|
mov ebp, DWORD PTR [esp]
|
|
xor ecx, ebp
|
|
mov ebp, DWORD PTR 20[esp]
|
|
xor ecx, ebp
|
|
mov ebp, edx
|
|
rol ecx, 1
|
|
or ebp, edi
|
|
mov DWORD PTR 32[esp],ecx
|
|
and ebp, esi
|
|
lea ecx, DWORD PTR 2400959708[eax*1+ecx]
|
|
mov eax, edx
|
|
ror edx, 1
|
|
and eax, edi
|
|
or ebp, eax
|
|
mov eax, ebx
|
|
rol eax, 5
|
|
add ebp, eax
|
|
mov eax, DWORD PTR 36[esp]
|
|
add ecx, ebp
|
|
mov ebp, DWORD PTR 44[esp]
|
|
xor eax, ebp
|
|
mov ebp, DWORD PTR 4[esp]
|
|
xor eax, ebp
|
|
mov ebp, DWORD PTR 24[esp]
|
|
ror edx, 1
|
|
xor eax, ebp
|
|
rol eax, 1
|
|
mov ebp, ebx
|
|
mov DWORD PTR 36[esp],eax
|
|
or ebp, edx
|
|
lea eax, DWORD PTR 2400959708[esi*1+eax]
|
|
mov esi, ebx
|
|
and ebp, edi
|
|
and esi, edx
|
|
or ebp, esi
|
|
mov esi, ecx
|
|
rol esi, 5
|
|
ror ebx, 1
|
|
add ebp, esi
|
|
ror ebx, 1
|
|
add eax, ebp
|
|
; 40_59 41
|
|
; 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, ecx
|
|
rol esi, 1
|
|
or ebp, ebx
|
|
mov DWORD PTR 40[esp],esi
|
|
and ebp, edx
|
|
lea esi, DWORD PTR 2400959708[edi*1+esi]
|
|
mov edi, ecx
|
|
ror ecx, 1
|
|
and edi, ebx
|
|
or ebp, edi
|
|
mov edi, eax
|
|
rol edi, 5
|
|
add ebp, edi
|
|
mov edi, DWORD PTR 44[esp]
|
|
add esi, ebp
|
|
mov ebp, DWORD PTR 52[esp]
|
|
xor edi, ebp
|
|
mov ebp, DWORD PTR 12[esp]
|
|
xor edi, ebp
|
|
mov ebp, DWORD PTR 32[esp]
|
|
ror ecx, 1
|
|
xor edi, ebp
|
|
rol edi, 1
|
|
mov ebp, eax
|
|
mov DWORD PTR 44[esp],edi
|
|
or ebp, ecx
|
|
lea edi, DWORD PTR 2400959708[edx*1+edi]
|
|
mov edx, eax
|
|
and ebp, ebx
|
|
and edx, ecx
|
|
or ebp, edx
|
|
mov edx, esi
|
|
rol edx, 5
|
|
ror eax, 1
|
|
add ebp, edx
|
|
ror eax, 1
|
|
add edi, ebp
|
|
; 40_59 43
|
|
; 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, ecx
|
|
lea edx, DWORD PTR 2400959708[ebx*1+edx]
|
|
mov ebx, esi
|
|
ror esi, 1
|
|
and ebx, eax
|
|
or ebp, ebx
|
|
mov ebx, edi
|
|
rol ebx, 5
|
|
add ebp, ebx
|
|
mov ebx, DWORD PTR 52[esp]
|
|
add edx, ebp
|
|
mov ebp, DWORD PTR 60[esp]
|
|
xor ebx, ebp
|
|
mov ebp, DWORD PTR 20[esp]
|
|
xor ebx, ebp
|
|
mov ebp, DWORD PTR 40[esp]
|
|
ror esi, 1
|
|
xor ebx, ebp
|
|
rol ebx, 1
|
|
mov ebp, edi
|
|
mov DWORD PTR 52[esp],ebx
|
|
or ebp, esi
|
|
lea ebx, DWORD PTR 2400959708[ecx*1+ebx]
|
|
mov ecx, edi
|
|
and ebp, eax
|
|
and ecx, esi
|
|
or ebp, ecx
|
|
mov ecx, edx
|
|
rol ecx, 5
|
|
ror edi, 1
|
|
add ebp, ecx
|
|
ror edi, 1
|
|
add ebx, ebp
|
|
; 40_59 45
|
|
; 40_59 46
|
|
mov ecx, DWORD PTR 56[esp]
|
|
mov ebp, DWORD PTR [esp]
|
|
xor ecx, ebp
|
|
mov ebp, DWORD PTR 24[esp]
|
|
xor ecx, ebp
|
|
mov ebp, DWORD PTR 44[esp]
|
|
xor ecx, ebp
|
|
mov ebp, edx
|
|
rol ecx, 1
|
|
or ebp, edi
|
|
mov DWORD PTR 56[esp],ecx
|
|
and ebp, esi
|
|
lea ecx, DWORD PTR 2400959708[eax*1+ecx]
|
|
mov eax, edx
|
|
ror edx, 1
|
|
and eax, edi
|
|
or ebp, eax
|
|
mov eax, ebx
|
|
rol eax, 5
|
|
add ebp, eax
|
|
mov eax, DWORD PTR 60[esp]
|
|
add ecx, ebp
|
|
mov ebp, DWORD PTR 4[esp]
|
|
xor eax, ebp
|
|
mov ebp, DWORD PTR 28[esp]
|
|
xor eax, ebp
|
|
mov ebp, DWORD PTR 48[esp]
|
|
ror edx, 1
|
|
xor eax, ebp
|
|
rol eax, 1
|
|
mov ebp, ebx
|
|
mov DWORD PTR 60[esp],eax
|
|
or ebp, edx
|
|
lea eax, DWORD PTR 2400959708[esi*1+eax]
|
|
mov esi, ebx
|
|
and ebp, edi
|
|
and esi, edx
|
|
or ebp, esi
|
|
mov esi, ecx
|
|
rol esi, 5
|
|
ror ebx, 1
|
|
add ebp, esi
|
|
ror ebx, 1
|
|
add eax, ebp
|
|
; 40_59 47
|
|
; 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, ecx
|
|
rol esi, 1
|
|
or ebp, ebx
|
|
mov DWORD PTR [esp],esi
|
|
and ebp, edx
|
|
lea esi, DWORD PTR 2400959708[edi*1+esi]
|
|
mov edi, ecx
|
|
ror ecx, 1
|
|
and edi, ebx
|
|
or ebp, edi
|
|
mov edi, eax
|
|
rol edi, 5
|
|
add ebp, edi
|
|
mov edi, DWORD PTR 4[esp]
|
|
add esi, ebp
|
|
mov ebp, DWORD PTR 12[esp]
|
|
xor edi, ebp
|
|
mov ebp, DWORD PTR 36[esp]
|
|
xor edi, ebp
|
|
mov ebp, DWORD PTR 56[esp]
|
|
ror ecx, 1
|
|
xor edi, ebp
|
|
rol edi, 1
|
|
mov ebp, eax
|
|
mov DWORD PTR 4[esp],edi
|
|
or ebp, ecx
|
|
lea edi, DWORD PTR 2400959708[edx*1+edi]
|
|
mov edx, eax
|
|
and ebp, ebx
|
|
and edx, ecx
|
|
or ebp, edx
|
|
mov edx, esi
|
|
rol edx, 5
|
|
ror eax, 1
|
|
add ebp, edx
|
|
ror eax, 1
|
|
add edi, ebp
|
|
; 40_59 49
|
|
; 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, ecx
|
|
lea edx, DWORD PTR 2400959708[ebx*1+edx]
|
|
mov ebx, esi
|
|
ror esi, 1
|
|
and ebx, eax
|
|
or ebp, ebx
|
|
mov ebx, edi
|
|
rol ebx, 5
|
|
add ebp, ebx
|
|
mov ebx, DWORD PTR 12[esp]
|
|
add edx, ebp
|
|
mov ebp, DWORD PTR 20[esp]
|
|
xor ebx, ebp
|
|
mov ebp, DWORD PTR 44[esp]
|
|
xor ebx, ebp
|
|
mov ebp, DWORD PTR [esp]
|
|
ror esi, 1
|
|
xor ebx, ebp
|
|
rol ebx, 1
|
|
mov ebp, edi
|
|
mov DWORD PTR 12[esp],ebx
|
|
or ebp, esi
|
|
lea ebx, DWORD PTR 2400959708[ecx*1+ebx]
|
|
mov ecx, edi
|
|
and ebp, eax
|
|
and ecx, esi
|
|
or ebp, ecx
|
|
mov ecx, edx
|
|
rol ecx, 5
|
|
ror edi, 1
|
|
add ebp, ecx
|
|
ror edi, 1
|
|
add ebx, ebp
|
|
; 40_59 51
|
|
; 40_59 52
|
|
mov ecx, DWORD PTR 16[esp]
|
|
mov ebp, DWORD PTR 24[esp]
|
|
xor ecx, ebp
|
|
mov ebp, DWORD PTR 48[esp]
|
|
xor ecx, ebp
|
|
mov ebp, DWORD PTR 4[esp]
|
|
xor ecx, ebp
|
|
mov ebp, edx
|
|
rol ecx, 1
|
|
or ebp, edi
|
|
mov DWORD PTR 16[esp],ecx
|
|
and ebp, esi
|
|
lea ecx, DWORD PTR 2400959708[eax*1+ecx]
|
|
mov eax, edx
|
|
ror edx, 1
|
|
and eax, edi
|
|
or ebp, eax
|
|
mov eax, ebx
|
|
rol eax, 5
|
|
add ebp, eax
|
|
mov eax, DWORD PTR 20[esp]
|
|
add ecx, ebp
|
|
mov ebp, DWORD PTR 28[esp]
|
|
xor eax, ebp
|
|
mov ebp, DWORD PTR 52[esp]
|
|
xor eax, ebp
|
|
mov ebp, DWORD PTR 8[esp]
|
|
ror edx, 1
|
|
xor eax, ebp
|
|
rol eax, 1
|
|
mov ebp, ebx
|
|
mov DWORD PTR 20[esp],eax
|
|
or ebp, edx
|
|
lea eax, DWORD PTR 2400959708[esi*1+eax]
|
|
mov esi, ebx
|
|
and ebp, edi
|
|
and esi, edx
|
|
or ebp, esi
|
|
mov esi, ecx
|
|
rol esi, 5
|
|
ror ebx, 1
|
|
add ebp, esi
|
|
ror ebx, 1
|
|
add eax, ebp
|
|
; 40_59 53
|
|
; 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, ecx
|
|
rol esi, 1
|
|
or ebp, ebx
|
|
mov DWORD PTR 24[esp],esi
|
|
and ebp, edx
|
|
lea esi, DWORD PTR 2400959708[edi*1+esi]
|
|
mov edi, ecx
|
|
ror ecx, 1
|
|
and edi, ebx
|
|
or ebp, edi
|
|
mov edi, eax
|
|
rol edi, 5
|
|
add ebp, edi
|
|
mov edi, DWORD PTR 28[esp]
|
|
add esi, ebp
|
|
mov ebp, DWORD PTR 36[esp]
|
|
xor edi, ebp
|
|
mov ebp, DWORD PTR 60[esp]
|
|
xor edi, ebp
|
|
mov ebp, DWORD PTR 16[esp]
|
|
ror ecx, 1
|
|
xor edi, ebp
|
|
rol edi, 1
|
|
mov ebp, eax
|
|
mov DWORD PTR 28[esp],edi
|
|
or ebp, ecx
|
|
lea edi, DWORD PTR 2400959708[edx*1+edi]
|
|
mov edx, eax
|
|
and ebp, ebx
|
|
and edx, ecx
|
|
or ebp, edx
|
|
mov edx, esi
|
|
rol edx, 5
|
|
ror eax, 1
|
|
add ebp, edx
|
|
ror eax, 1
|
|
add edi, ebp
|
|
; 40_59 55
|
|
; 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, ecx
|
|
lea edx, DWORD PTR 2400959708[ebx*1+edx]
|
|
mov ebx, esi
|
|
ror esi, 1
|
|
and ebx, eax
|
|
or ebp, ebx
|
|
mov ebx, edi
|
|
rol ebx, 5
|
|
add ebp, ebx
|
|
mov ebx, DWORD PTR 36[esp]
|
|
add edx, ebp
|
|
mov ebp, DWORD PTR 44[esp]
|
|
xor ebx, ebp
|
|
mov ebp, DWORD PTR 4[esp]
|
|
xor ebx, ebp
|
|
mov ebp, DWORD PTR 24[esp]
|
|
ror esi, 1
|
|
xor ebx, ebp
|
|
rol ebx, 1
|
|
mov ebp, edi
|
|
mov DWORD PTR 36[esp],ebx
|
|
or ebp, esi
|
|
lea ebx, DWORD PTR 2400959708[ecx*1+ebx]
|
|
mov ecx, edi
|
|
and ebp, eax
|
|
and ecx, esi
|
|
or ebp, ecx
|
|
mov ecx, edx
|
|
rol ecx, 5
|
|
ror edi, 1
|
|
add ebp, ecx
|
|
ror edi, 1
|
|
add ebx, ebp
|
|
; 40_59 57
|
|
; 40_59 58
|
|
mov ecx, DWORD PTR 40[esp]
|
|
mov ebp, DWORD PTR 48[esp]
|
|
xor ecx, ebp
|
|
mov ebp, DWORD PTR 8[esp]
|
|
xor ecx, ebp
|
|
mov ebp, DWORD PTR 28[esp]
|
|
xor ecx, ebp
|
|
mov ebp, edx
|
|
rol ecx, 1
|
|
or ebp, edi
|
|
mov DWORD PTR 40[esp],ecx
|
|
and ebp, esi
|
|
lea ecx, DWORD PTR 2400959708[eax*1+ecx]
|
|
mov eax, edx
|
|
ror edx, 1
|
|
and eax, edi
|
|
or ebp, eax
|
|
mov eax, ebx
|
|
rol eax, 5
|
|
add ebp, eax
|
|
mov eax, DWORD PTR 44[esp]
|
|
add ecx, ebp
|
|
mov ebp, DWORD PTR 52[esp]
|
|
xor eax, ebp
|
|
mov ebp, DWORD PTR 12[esp]
|
|
xor eax, ebp
|
|
mov ebp, DWORD PTR 32[esp]
|
|
ror edx, 1
|
|
xor eax, ebp
|
|
rol eax, 1
|
|
mov ebp, ebx
|
|
mov DWORD PTR 44[esp],eax
|
|
or ebp, edx
|
|
lea eax, DWORD PTR 2400959708[esi*1+eax]
|
|
mov esi, ebx
|
|
and ebp, edi
|
|
and esi, edx
|
|
or ebp, esi
|
|
mov esi, ecx
|
|
rol esi, 5
|
|
ror ebx, 1
|
|
add ebp, esi
|
|
ror ebx, 1
|
|
add eax, ebp
|
|
; 40_59 59
|
|
; 20_39 60
|
|
mov esi, DWORD PTR 48[esp]
|
|
mov ebp, DWORD PTR 56[esp]
|
|
xor esi, ebp
|
|
mov ebp, DWORD PTR 16[esp]
|
|
xor esi, ebp
|
|
mov ebp, DWORD PTR 36[esp]
|
|
xor esi, ebp
|
|
mov ebp, ecx
|
|
rol esi, 1
|
|
xor ebp, ebx
|
|
mov DWORD PTR 48[esp],esi
|
|
xor ebp, edx
|
|
lea esi, DWORD PTR 3395469782[edi*1+esi]
|
|
mov edi, eax
|
|
rol edi, 5
|
|
ror ecx, 1
|
|
add edi, ebp
|
|
ror ecx, 1
|
|
add esi, edi
|
|
; 20_39 61
|
|
mov edi, DWORD PTR 52[esp]
|
|
mov ebp, DWORD PTR 60[esp]
|
|
xor edi, ebp
|
|
mov ebp, DWORD PTR 20[esp]
|
|
xor edi, ebp
|
|
mov ebp, DWORD PTR 40[esp]
|
|
xor edi, ebp
|
|
mov ebp, eax
|
|
rol edi, 1
|
|
xor ebp, ecx
|
|
mov DWORD PTR 52[esp],edi
|
|
xor ebp, ebx
|
|
lea edi, DWORD PTR 3395469782[edx*1+edi]
|
|
mov edx, esi
|
|
rol edx, 5
|
|
ror eax, 1
|
|
add edx, ebp
|
|
ror eax, 1
|
|
add edi, edx
|
|
; 20_39 62
|
|
mov edx, DWORD PTR 56[esp]
|
|
mov ebp, DWORD PTR [esp]
|
|
xor edx, ebp
|
|
mov ebp, DWORD PTR 24[esp]
|
|
xor edx, ebp
|
|
mov ebp, DWORD PTR 44[esp]
|
|
xor edx, ebp
|
|
mov ebp, esi
|
|
rol edx, 1
|
|
xor ebp, eax
|
|
mov DWORD PTR 56[esp],edx
|
|
xor ebp, ecx
|
|
lea edx, DWORD PTR 3395469782[ebx*1+edx]
|
|
mov ebx, edi
|
|
rol ebx, 5
|
|
ror esi, 1
|
|
add ebx, ebp
|
|
ror esi, 1
|
|
add edx, ebx
|
|
; 20_39 63
|
|
mov ebx, DWORD PTR 60[esp]
|
|
mov ebp, DWORD PTR 4[esp]
|
|
xor ebx, ebp
|
|
mov ebp, DWORD PTR 28[esp]
|
|
xor ebx, ebp
|
|
mov ebp, DWORD PTR 48[esp]
|
|
xor ebx, ebp
|
|
mov ebp, edi
|
|
rol ebx, 1
|
|
xor ebp, esi
|
|
mov DWORD PTR 60[esp],ebx
|
|
xor ebp, eax
|
|
lea ebx, DWORD PTR 3395469782[ecx*1+ebx]
|
|
mov ecx, edx
|
|
rol ecx, 5
|
|
ror edi, 1
|
|
add ecx, ebp
|
|
ror edi, 1
|
|
add ebx, ecx
|
|
; 20_39 64
|
|
mov ecx, DWORD PTR [esp]
|
|
mov ebp, DWORD PTR 8[esp]
|
|
xor ecx, ebp
|
|
mov ebp, DWORD PTR 32[esp]
|
|
xor ecx, ebp
|
|
mov ebp, DWORD PTR 52[esp]
|
|
xor ecx, ebp
|
|
mov ebp, edx
|
|
rol ecx, 1
|
|
xor ebp, edi
|
|
mov DWORD PTR [esp],ecx
|
|
xor ebp, esi
|
|
lea ecx, DWORD PTR 3395469782[eax*1+ecx]
|
|
mov eax, ebx
|
|
rol eax, 5
|
|
ror edx, 1
|
|
add eax, ebp
|
|
ror edx, 1
|
|
add ecx, eax
|
|
; 20_39 65
|
|
mov eax, DWORD PTR 4[esp]
|
|
mov ebp, DWORD PTR 12[esp]
|
|
xor eax, ebp
|
|
mov ebp, DWORD PTR 36[esp]
|
|
xor eax, ebp
|
|
mov ebp, DWORD PTR 56[esp]
|
|
xor eax, ebp
|
|
mov ebp, ebx
|
|
rol eax, 1
|
|
xor ebp, edx
|
|
mov DWORD PTR 4[esp],eax
|
|
xor ebp, edi
|
|
lea eax, DWORD PTR 3395469782[esi*1+eax]
|
|
mov esi, ecx
|
|
rol esi, 5
|
|
ror ebx, 1
|
|
add esi, ebp
|
|
ror ebx, 1
|
|
add eax, esi
|
|
; 20_39 66
|
|
mov esi, DWORD PTR 8[esp]
|
|
mov ebp, DWORD PTR 16[esp]
|
|
xor esi, ebp
|
|
mov ebp, DWORD PTR 40[esp]
|
|
xor esi, ebp
|
|
mov ebp, DWORD PTR 60[esp]
|
|
xor esi, ebp
|
|
mov ebp, ecx
|
|
rol esi, 1
|
|
xor ebp, ebx
|
|
mov DWORD PTR 8[esp],esi
|
|
xor ebp, edx
|
|
lea esi, DWORD PTR 3395469782[edi*1+esi]
|
|
mov edi, eax
|
|
rol edi, 5
|
|
ror ecx, 1
|
|
add edi, ebp
|
|
ror ecx, 1
|
|
add esi, edi
|
|
; 20_39 67
|
|
mov edi, DWORD PTR 12[esp]
|
|
mov ebp, DWORD PTR 20[esp]
|
|
xor edi, ebp
|
|
mov ebp, DWORD PTR 44[esp]
|
|
xor edi, ebp
|
|
mov ebp, DWORD PTR [esp]
|
|
xor edi, ebp
|
|
mov ebp, eax
|
|
rol edi, 1
|
|
xor ebp, ecx
|
|
mov DWORD PTR 12[esp],edi
|
|
xor ebp, ebx
|
|
lea edi, DWORD PTR 3395469782[edx*1+edi]
|
|
mov edx, esi
|
|
rol edx, 5
|
|
ror eax, 1
|
|
add edx, ebp
|
|
ror eax, 1
|
|
add edi, edx
|
|
; 20_39 68
|
|
mov edx, DWORD PTR 16[esp]
|
|
mov ebp, DWORD PTR 24[esp]
|
|
xor edx, ebp
|
|
mov ebp, DWORD PTR 48[esp]
|
|
xor edx, ebp
|
|
mov ebp, DWORD PTR 4[esp]
|
|
xor edx, ebp
|
|
mov ebp, esi
|
|
rol edx, 1
|
|
xor ebp, eax
|
|
mov DWORD PTR 16[esp],edx
|
|
xor ebp, ecx
|
|
lea edx, DWORD PTR 3395469782[ebx*1+edx]
|
|
mov ebx, edi
|
|
rol ebx, 5
|
|
ror esi, 1
|
|
add ebx, ebp
|
|
ror esi, 1
|
|
add edx, ebx
|
|
; 20_39 69
|
|
mov ebx, DWORD PTR 20[esp]
|
|
mov ebp, DWORD PTR 28[esp]
|
|
xor ebx, ebp
|
|
mov ebp, DWORD PTR 52[esp]
|
|
xor ebx, ebp
|
|
mov ebp, DWORD PTR 8[esp]
|
|
xor ebx, ebp
|
|
mov ebp, edi
|
|
rol ebx, 1
|
|
xor ebp, esi
|
|
mov DWORD PTR 20[esp],ebx
|
|
xor ebp, eax
|
|
lea ebx, DWORD PTR 3395469782[ecx*1+ebx]
|
|
mov ecx, edx
|
|
rol ecx, 5
|
|
ror edi, 1
|
|
add ecx, ebp
|
|
ror edi, 1
|
|
add ebx, ecx
|
|
; 20_39 70
|
|
mov ecx, DWORD PTR 24[esp]
|
|
mov ebp, DWORD PTR 32[esp]
|
|
xor ecx, ebp
|
|
mov ebp, DWORD PTR 56[esp]
|
|
xor ecx, ebp
|
|
mov ebp, DWORD PTR 12[esp]
|
|
xor ecx, ebp
|
|
mov ebp, edx
|
|
rol ecx, 1
|
|
xor ebp, edi
|
|
mov DWORD PTR 24[esp],ecx
|
|
xor ebp, esi
|
|
lea ecx, DWORD PTR 3395469782[eax*1+ecx]
|
|
mov eax, ebx
|
|
rol eax, 5
|
|
ror edx, 1
|
|
add eax, ebp
|
|
ror edx, 1
|
|
add ecx, eax
|
|
; 20_39 71
|
|
mov eax, DWORD PTR 28[esp]
|
|
mov ebp, DWORD PTR 36[esp]
|
|
xor eax, ebp
|
|
mov ebp, DWORD PTR 60[esp]
|
|
xor eax, ebp
|
|
mov ebp, DWORD PTR 16[esp]
|
|
xor eax, ebp
|
|
mov ebp, ebx
|
|
rol eax, 1
|
|
xor ebp, edx
|
|
mov DWORD PTR 28[esp],eax
|
|
xor ebp, edi
|
|
lea eax, DWORD PTR 3395469782[esi*1+eax]
|
|
mov esi, ecx
|
|
rol esi, 5
|
|
ror ebx, 1
|
|
add esi, ebp
|
|
ror ebx, 1
|
|
add eax, esi
|
|
; 20_39 72
|
|
mov esi, DWORD PTR 32[esp]
|
|
mov ebp, DWORD PTR 40[esp]
|
|
xor esi, ebp
|
|
mov ebp, DWORD PTR [esp]
|
|
xor esi, ebp
|
|
mov ebp, DWORD PTR 20[esp]
|
|
xor esi, ebp
|
|
mov ebp, ecx
|
|
rol esi, 1
|
|
xor ebp, ebx
|
|
mov DWORD PTR 32[esp],esi
|
|
xor ebp, edx
|
|
lea esi, DWORD PTR 3395469782[edi*1+esi]
|
|
mov edi, eax
|
|
rol edi, 5
|
|
ror ecx, 1
|
|
add edi, ebp
|
|
ror ecx, 1
|
|
add esi, edi
|
|
; 20_39 73
|
|
mov edi, DWORD PTR 36[esp]
|
|
mov ebp, DWORD PTR 44[esp]
|
|
xor edi, ebp
|
|
mov ebp, DWORD PTR 4[esp]
|
|
xor edi, ebp
|
|
mov ebp, DWORD PTR 24[esp]
|
|
xor edi, ebp
|
|
mov ebp, eax
|
|
rol edi, 1
|
|
xor ebp, ecx
|
|
mov DWORD PTR 36[esp],edi
|
|
xor ebp, ebx
|
|
lea edi, DWORD PTR 3395469782[edx*1+edi]
|
|
mov edx, esi
|
|
rol edx, 5
|
|
ror eax, 1
|
|
add edx, ebp
|
|
ror eax, 1
|
|
add edi, edx
|
|
; 20_39 74
|
|
mov edx, DWORD PTR 40[esp]
|
|
mov ebp, DWORD PTR 48[esp]
|
|
xor edx, ebp
|
|
mov ebp, DWORD PTR 8[esp]
|
|
xor edx, ebp
|
|
mov ebp, DWORD PTR 28[esp]
|
|
xor edx, ebp
|
|
mov ebp, esi
|
|
rol edx, 1
|
|
xor ebp, eax
|
|
mov DWORD PTR 40[esp],edx
|
|
xor ebp, ecx
|
|
lea edx, DWORD PTR 3395469782[ebx*1+edx]
|
|
mov ebx, edi
|
|
rol ebx, 5
|
|
ror esi, 1
|
|
add ebx, ebp
|
|
ror esi, 1
|
|
add edx, ebx
|
|
; 20_39 75
|
|
mov ebx, DWORD PTR 44[esp]
|
|
mov ebp, DWORD PTR 52[esp]
|
|
xor ebx, ebp
|
|
mov ebp, DWORD PTR 12[esp]
|
|
xor ebx, ebp
|
|
mov ebp, DWORD PTR 32[esp]
|
|
xor ebx, ebp
|
|
mov ebp, edi
|
|
rol ebx, 1
|
|
xor ebp, esi
|
|
mov DWORD PTR 44[esp],ebx
|
|
xor ebp, eax
|
|
lea ebx, DWORD PTR 3395469782[ecx*1+ebx]
|
|
mov ecx, edx
|
|
rol ecx, 5
|
|
ror edi, 1
|
|
add ecx, ebp
|
|
ror edi, 1
|
|
add ebx, ecx
|
|
; 20_39 76
|
|
mov ecx, DWORD PTR 48[esp]
|
|
mov ebp, DWORD PTR 56[esp]
|
|
xor ecx, ebp
|
|
mov ebp, DWORD PTR 16[esp]
|
|
xor ecx, ebp
|
|
mov ebp, DWORD PTR 36[esp]
|
|
xor ecx, ebp
|
|
mov ebp, edx
|
|
rol ecx, 1
|
|
xor ebp, edi
|
|
mov DWORD PTR 48[esp],ecx
|
|
xor ebp, esi
|
|
lea ecx, DWORD PTR 3395469782[eax*1+ecx]
|
|
mov eax, ebx
|
|
rol eax, 5
|
|
ror edx, 1
|
|
add eax, ebp
|
|
ror edx, 1
|
|
add ecx, eax
|
|
; 20_39 77
|
|
mov eax, DWORD PTR 52[esp]
|
|
mov ebp, DWORD PTR 60[esp]
|
|
xor eax, ebp
|
|
mov ebp, DWORD PTR 20[esp]
|
|
xor eax, ebp
|
|
mov ebp, DWORD PTR 40[esp]
|
|
xor eax, ebp
|
|
mov ebp, ebx
|
|
rol eax, 1
|
|
xor ebp, edx
|
|
mov DWORD PTR 52[esp],eax
|
|
xor ebp, edi
|
|
lea eax, DWORD PTR 3395469782[esi*1+eax]
|
|
mov esi, ecx
|
|
rol esi, 5
|
|
ror ebx, 1
|
|
add esi, ebp
|
|
ror ebx, 1
|
|
add eax, esi
|
|
; 20_39 78
|
|
mov esi, DWORD PTR 56[esp]
|
|
mov ebp, DWORD PTR [esp]
|
|
xor esi, ebp
|
|
mov ebp, DWORD PTR 24[esp]
|
|
xor esi, ebp
|
|
mov ebp, DWORD PTR 44[esp]
|
|
xor esi, ebp
|
|
mov ebp, ecx
|
|
rol esi, 1
|
|
xor ebp, ebx
|
|
mov DWORD PTR 56[esp],esi
|
|
xor ebp, edx
|
|
lea esi, DWORD PTR 3395469782[edi*1+esi]
|
|
mov edi, eax
|
|
rol edi, 5
|
|
ror ecx, 1
|
|
add edi, ebp
|
|
ror ecx, 1
|
|
add esi, edi
|
|
; 20_39 79
|
|
mov edi, DWORD PTR 60[esp]
|
|
mov ebp, DWORD PTR 4[esp]
|
|
xor edi, ebp
|
|
mov ebp, DWORD PTR 28[esp]
|
|
xor edi, ebp
|
|
mov ebp, DWORD PTR 48[esp]
|
|
xor edi, ebp
|
|
mov ebp, eax
|
|
rol edi, 1
|
|
xor ebp, ecx
|
|
mov DWORD PTR 60[esp],edi
|
|
xor ebp, ebx
|
|
lea edi, DWORD PTR 3395469782[edx*1+edi]
|
|
mov edx, esi
|
|
rol edx, 5
|
|
add edx, ebp
|
|
mov ebp, DWORD PTR 128[esp]
|
|
ror eax, 1
|
|
add edi, edx
|
|
ror eax, 1
|
|
; End processing
|
|
;
|
|
mov edx, DWORD PTR 12[ebp]
|
|
add edx, ecx
|
|
mov ecx, DWORD PTR 4[ebp]
|
|
add ecx, esi
|
|
mov esi, eax
|
|
mov eax, DWORD PTR [ebp]
|
|
mov DWORD PTR 12[ebp],edx
|
|
add eax, edi
|
|
mov edi, DWORD PTR 16[ebp]
|
|
add edi, ebx
|
|
mov ebx, DWORD PTR 8[ebp]
|
|
add ebx, esi
|
|
mov DWORD PTR [ebp],eax
|
|
mov esi, DWORD PTR 132[esp]
|
|
mov DWORD PTR 8[ebp],ebx
|
|
add esi, 64
|
|
mov eax, DWORD PTR 68[esp]
|
|
mov DWORD PTR 16[ebp],edi
|
|
cmp esi, eax
|
|
mov DWORD PTR 4[ebp],ecx
|
|
jl L000start
|
|
add esp, 108
|
|
pop edi
|
|
pop ebx
|
|
pop ebp
|
|
pop esi
|
|
ret
|
|
_TEXT SEGMENT
|
|
PUBLIC _sha1_block_asm_host_order
|
|
|
|
_sha1_block_asm_host_order PROC NEAR
|
|
mov ecx, DWORD PTR 12[esp]
|
|
push esi
|
|
shl ecx, 6
|
|
mov esi, DWORD PTR 12[esp]
|
|
push ebp
|
|
add ecx, esi
|
|
push ebx
|
|
mov ebp, DWORD PTR 16[esp]
|
|
push edi
|
|
mov edx, DWORD PTR 12[ebp]
|
|
sub esp, 108
|
|
mov edi, DWORD PTR 16[ebp]
|
|
mov ebx, DWORD PTR 8[ebp]
|
|
mov DWORD PTR 68[esp],ecx
|
|
; First we need to setup the X array
|
|
mov eax, DWORD PTR [esi]
|
|
mov ecx, DWORD PTR 4[esi]
|
|
mov DWORD PTR [esp],eax
|
|
mov DWORD PTR 4[esp],ecx
|
|
mov eax, DWORD PTR 8[esi]
|
|
mov ecx, DWORD PTR 12[esi]
|
|
mov DWORD PTR 8[esp],eax
|
|
mov DWORD PTR 12[esp],ecx
|
|
mov eax, DWORD PTR 16[esi]
|
|
mov ecx, DWORD PTR 20[esi]
|
|
mov DWORD PTR 16[esp],eax
|
|
mov DWORD PTR 20[esp],ecx
|
|
mov eax, DWORD PTR 24[esi]
|
|
mov ecx, DWORD PTR 28[esi]
|
|
mov DWORD PTR 24[esp],eax
|
|
mov DWORD PTR 28[esp],ecx
|
|
mov eax, DWORD PTR 32[esi]
|
|
mov ecx, DWORD PTR 36[esi]
|
|
mov DWORD PTR 32[esp],eax
|
|
mov DWORD PTR 36[esp],ecx
|
|
mov eax, DWORD PTR 40[esi]
|
|
mov ecx, DWORD PTR 44[esi]
|
|
mov DWORD PTR 40[esp],eax
|
|
mov DWORD PTR 44[esp],ecx
|
|
mov eax, DWORD PTR 48[esi]
|
|
mov ecx, DWORD PTR 52[esi]
|
|
mov DWORD PTR 48[esp],eax
|
|
mov DWORD PTR 52[esp],ecx
|
|
mov eax, DWORD PTR 56[esi]
|
|
mov ecx, DWORD PTR 60[esi]
|
|
mov DWORD PTR 56[esp],eax
|
|
mov DWORD PTR 60[esp],ecx
|
|
jmp L001shortcut
|
|
_sha1_block_asm_host_order ENDP
|
|
_TEXT ENDS
|
|
_sha1_block_asm_data_order ENDP
|
|
_TEXT ENDS
|
|
END
|