diff options
author | Andy Polyakov <appro@openssl.org> | 1999-09-05 14:17:42 +0000 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 1999-09-05 14:17:42 +0000 |
commit | 69fb1c3f9db266105a7c1072cdd609b6bcbbd19e (patch) | |
tree | ee94d7211f277e86f65fb20cc30ea2d036e5d8c1 /crypto/sha | |
parent | 7f7c318cfc4899cf1e9e249e5b0e34497ef1becc (diff) |
SHA clean-up Intel assembler companion.
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...
Diffstat (limited to 'crypto/sha')
-rw-r--r-- | crypto/sha/asm/s1-win32.asm | 1138 | ||||
-rw-r--r-- | crypto/sha/asm/sha1-586.pl | 107 |
2 files changed, 672 insertions, 573 deletions
diff --git a/crypto/sha/asm/s1-win32.asm b/crypto/sha/asm/s1-win32.asm index 61335666b9..699afdb022 100644 --- a/crypto/sha/asm/s1-win32.asm +++ b/crypto/sha/asm/s1-win32.asm @@ -8,302 +8,303 @@ .486 .model FLAT _TEXT SEGMENT -PUBLIC _sha1_block_x86 +PUBLIC _sha1_block_asm_data_order -_sha1_block_x86 PROC NEAR +_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 - mov eax, DWORD PTR 20[esp] - mov esi, DWORD PTR 16[esp] - add eax, esi - mov ebp, DWORD PTR 12[esp] + add ecx, esi push ebx - sub eax, 64 + mov ebp, DWORD PTR 16[esp] push edi - mov ebx, DWORD PTR 4[ebp] - sub esp, 72 mov edx, DWORD PTR 12[ebp] + sub esp, 108 mov edi, DWORD PTR 16[ebp] - mov ecx, DWORD PTR 8[ebp] - mov DWORD PTR 68[esp],eax + 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] 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 eax, DWORD PTR 4[esi] - bswap eax - mov DWORD PTR 4[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 eax, DWORD PTR 12[esi] - bswap eax - mov DWORD PTR 12[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 eax, DWORD PTR 20[esi] - bswap eax - mov DWORD PTR 20[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 eax, DWORD PTR 28[esi] - bswap eax - mov DWORD PTR 28[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 eax, DWORD PTR 36[esi] - bswap eax - mov DWORD PTR 36[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 eax, DWORD PTR 44[esi] - bswap eax - mov DWORD PTR 44[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 eax, DWORD PTR 52[esi] - bswap eax - mov DWORD PTR 52[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 eax, DWORD PTR 60[esi] - bswap eax - mov DWORD PTR 60[esp],eax + mov DWORD PTR 60[esp],ecx ; We now have the X array on the stack ; starting at sp-4 - mov DWORD PTR 64[esp],esi + 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, ecx + mov esi, ebx mov ebp, eax xor esi, edx rol ebp, 5 - and esi, ebx + and esi, ecx add ebp, edi - ror ebx, 1 + ror ecx, 1 mov edi, DWORD PTR [esp] - ror ebx, 1 + ror ecx, 1 xor esi, edx lea ebp, DWORD PTR 1518500249[edi*1+ebp] - mov edi, ebx + mov edi, ecx add esi, ebp - xor edi, ecx + 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, ecx + 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, ebx + xor edx, ecx rol ebp, 5 and edx, esi - add ebp, ecx + add ebp, ebx ror esi, 1 - mov ecx, DWORD PTR 8[esp] + mov ebx, DWORD PTR 8[esp] ror esi, 1 - xor edx, ebx - lea ebp, DWORD PTR 1518500249[ecx*1+ebp] - mov ecx, esi + xor edx, ecx + lea ebp, DWORD PTR 1518500249[ebx*1+ebp] + mov ebx, esi add edx, ebp - xor ecx, eax + xor ebx, eax mov ebp, edx - and ecx, edi + and ebx, edi rol ebp, 5 - add ebp, ebx - mov ebx, DWORD PTR 12[esp] + add ebp, ecx + mov ecx, DWORD PTR 12[esp] ror edi, 1 - xor ecx, eax + xor ebx, eax ror edi, 1 - lea ebp, DWORD PTR 1518500249[ebx*1+ebp] - add ecx, ebp + lea ebp, DWORD PTR 1518500249[ecx*1+ebp] + add ebx, ebp ; 00_15 4 - mov ebx, edi - mov ebp, ecx - xor ebx, esi + mov ecx, edi + mov ebp, ebx + xor ecx, esi rol ebp, 5 - and ebx, edx + and ecx, edx add ebp, eax ror edx, 1 mov eax, DWORD PTR 16[esp] ror edx, 1 - xor ebx, esi + xor ecx, esi lea ebp, DWORD PTR 1518500249[eax*1+ebp] mov eax, edx - add ebx, ebp + add ecx, ebp xor eax, edi - mov ebp, ebx - and eax, ecx + mov ebp, ecx + and eax, ebx rol ebp, 5 add ebp, esi mov esi, DWORD PTR 20[esp] - ror ecx, 1 + ror ebx, 1 xor eax, edi - ror ecx, 1 + ror ebx, 1 lea ebp, DWORD PTR 1518500249[esi*1+ebp] add eax, ebp ; 00_15 6 - mov esi, ecx + mov esi, ebx mov ebp, eax xor esi, edx rol ebp, 5 - and esi, ebx + and esi, ecx add ebp, edi - ror ebx, 1 + ror ecx, 1 mov edi, DWORD PTR 24[esp] - ror ebx, 1 + ror ecx, 1 xor esi, edx lea ebp, DWORD PTR 1518500249[edi*1+ebp] - mov edi, ebx + mov edi, ecx add esi, ebp - xor edi, ecx + 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, ecx + 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, ebx + xor edx, ecx rol ebp, 5 and edx, esi - add ebp, ecx + add ebp, ebx ror esi, 1 - mov ecx, DWORD PTR 32[esp] + mov ebx, DWORD PTR 32[esp] ror esi, 1 - xor edx, ebx - lea ebp, DWORD PTR 1518500249[ecx*1+ebp] - mov ecx, esi + xor edx, ecx + lea ebp, DWORD PTR 1518500249[ebx*1+ebp] + mov ebx, esi add edx, ebp - xor ecx, eax + xor ebx, eax mov ebp, edx - and ecx, edi + and ebx, edi rol ebp, 5 - add ebp, ebx - mov ebx, DWORD PTR 36[esp] + add ebp, ecx + mov ecx, DWORD PTR 36[esp] ror edi, 1 - xor ecx, eax + xor ebx, eax ror edi, 1 - lea ebp, DWORD PTR 1518500249[ebx*1+ebp] - add ecx, ebp + lea ebp, DWORD PTR 1518500249[ecx*1+ebp] + add ebx, ebp ; 00_15 10 - mov ebx, edi - mov ebp, ecx - xor ebx, esi + mov ecx, edi + mov ebp, ebx + xor ecx, esi rol ebp, 5 - and ebx, edx + and ecx, edx add ebp, eax ror edx, 1 mov eax, DWORD PTR 40[esp] ror edx, 1 - xor ebx, esi + xor ecx, esi lea ebp, DWORD PTR 1518500249[eax*1+ebp] mov eax, edx - add ebx, ebp + add ecx, ebp xor eax, edi - mov ebp, ebx - and eax, ecx + mov ebp, ecx + and eax, ebx rol ebp, 5 add ebp, esi mov esi, DWORD PTR 44[esp] - ror ecx, 1 + ror ebx, 1 xor eax, edi - ror ecx, 1 + ror ebx, 1 lea ebp, DWORD PTR 1518500249[esi*1+ebp] add eax, ebp ; 00_15 12 - mov esi, ecx + mov esi, ebx mov ebp, eax xor esi, edx rol ebp, 5 - and esi, ebx + and esi, ecx add ebp, edi - ror ebx, 1 + ror ecx, 1 mov edi, DWORD PTR 48[esp] - ror ebx, 1 + ror ecx, 1 xor esi, edx lea ebp, DWORD PTR 1518500249[edi*1+ebp] - mov edi, ebx + mov edi, ecx add esi, ebp - xor edi, ecx + 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, ecx + 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, ebx + xor edx, ecx rol ebp, 5 and edx, esi - add ebp, ecx + add ebp, ebx ror esi, 1 - mov ecx, DWORD PTR 56[esp] + mov ebx, DWORD PTR 56[esp] ror esi, 1 - xor edx, ebx - lea ebp, DWORD PTR 1518500249[ecx*1+ebp] - mov ecx, esi + xor edx, ecx + lea ebp, DWORD PTR 1518500249[ebx*1+ebp] + mov ebx, esi add edx, ebp - xor ecx, eax + xor ebx, eax mov ebp, edx - and ecx, edi + and ebx, edi rol ebp, 5 - add ebp, ebx - mov ebx, DWORD PTR 60[esp] + add ebp, ecx + mov ecx, DWORD PTR 60[esp] ror edi, 1 - xor ecx, eax + xor ebx, eax ror edi, 1 - lea ebp, DWORD PTR 1518500249[ebx*1+ebp] - add ecx, ebp + lea ebp, DWORD PTR 1518500249[ecx*1+ebp] + add ebx, ebp ; 16_19 16 nop mov ebp, DWORD PTR [esp] - mov ebx, DWORD PTR 8[esp] - xor ebx, ebp + mov ecx, DWORD PTR 8[esp] + xor ecx, ebp mov ebp, DWORD PTR 32[esp] - xor ebx, ebp + xor ecx, ebp mov ebp, DWORD PTR 52[esp] - xor ebx, ebp + xor ecx, ebp mov ebp, edi - rol ebx, 1 + rol ecx, 1 xor ebp, esi - mov DWORD PTR [esp],ebx + mov DWORD PTR [esp],ecx and ebp, edx - lea ebx, DWORD PTR 1518500249[eax*1+ebx] + lea ecx, DWORD PTR 1518500249[eax*1+ecx] xor ebp, esi - mov eax, ecx - add ebx, ebp + mov eax, ebx + add ecx, ebp rol eax, 5 ror edx, 1 - add ebx, eax + add ecx, eax mov eax, DWORD PTR 4[esp] mov ebp, DWORD PTR 12[esp] xor eax, ebp @@ -316,14 +317,14 @@ L000start: mov ebp, edx xor ebp, edi mov DWORD PTR 4[esp],eax - and ebp, ecx + and ebp, ebx lea eax, DWORD PTR 1518500249[esi*1+eax] xor ebp, edi - mov esi, ebx + mov esi, ecx rol esi, 5 - ror ecx, 1 + ror ebx, 1 add eax, esi - ror ecx, 1 + ror ebx, 1 add eax, ebp ; 16_19 18 mov ebp, DWORD PTR 8[esp] @@ -333,17 +334,17 @@ L000start: xor esi, ebp mov ebp, DWORD PTR 60[esp] xor esi, ebp - mov ebp, ecx + mov ebp, ebx rol esi, 1 xor ebp, edx mov DWORD PTR 8[esp],esi - and ebp, ebx + and ebp, ecx lea esi, DWORD PTR 1518500249[edi*1+esi] xor ebp, edx mov edi, eax add esi, ebp rol edi, 5 - ror ebx, 1 + ror ecx, 1 add esi, edi mov edi, DWORD PTR 12[esp] mov ebp, DWORD PTR 20[esp] @@ -351,15 +352,15 @@ L000start: mov ebp, DWORD PTR 44[esp] xor edi, ebp mov ebp, DWORD PTR [esp] - ror ebx, 1 + ror ecx, 1 xor edi, ebp rol edi, 1 - mov ebp, ebx - xor ebp, ecx + 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, ecx + xor ebp, ebx mov edx, esi rol edx, 5 ror eax, 1 @@ -378,54 +379,54 @@ L000start: rol edx, 1 xor ebp, eax mov DWORD PTR 16[esp],edx - xor ebp, ebx - lea edx, DWORD PTR 1859775393[ecx*1+edx] - mov ecx, edi - rol ecx, 5 + xor ebp, ecx + lea edx, DWORD PTR 1859775393[ebx*1+edx] + mov ebx, edi + rol ebx, 5 ror esi, 1 - add ecx, ebp + add ebx, ebp ror esi, 1 - add edx, ecx + add edx, ebx ; 20_39 21 - mov ecx, DWORD PTR 20[esp] + mov ebx, DWORD PTR 20[esp] mov ebp, DWORD PTR 28[esp] - xor ecx, ebp + xor ebx, ebp mov ebp, DWORD PTR 52[esp] - xor ecx, ebp + xor ebx, ebp mov ebp, DWORD PTR 8[esp] - xor ecx, ebp + xor ebx, ebp mov ebp, edi - rol ecx, 1 + rol ebx, 1 xor ebp, esi - mov DWORD PTR 20[esp],ecx + mov DWORD PTR 20[esp],ebx xor ebp, eax - lea ecx, DWORD PTR 1859775393[ebx*1+ecx] - mov ebx, edx - rol ebx, 5 + lea ebx, DWORD PTR 1859775393[ecx*1+ebx] + mov ecx, edx + rol ecx, 5 ror edi, 1 - add ebx, ebp + add ecx, ebp ror edi, 1 - add ecx, ebx + add ebx, ecx ; 20_39 22 - mov ebx, DWORD PTR 24[esp] + mov ecx, DWORD PTR 24[esp] mov ebp, DWORD PTR 32[esp] - xor ebx, ebp + xor ecx, ebp mov ebp, DWORD PTR 56[esp] - xor ebx, ebp + xor ecx, ebp mov ebp, DWORD PTR 12[esp] - xor ebx, ebp + xor ecx, ebp mov ebp, edx - rol ebx, 1 + rol ecx, 1 xor ebp, edi - mov DWORD PTR 24[esp],ebx + mov DWORD PTR 24[esp],ecx xor ebp, esi - lea ebx, DWORD PTR 1859775393[eax*1+ebx] - mov eax, ecx + lea ecx, DWORD PTR 1859775393[eax*1+ecx] + mov eax, ebx rol eax, 5 ror edx, 1 add eax, ebp ror edx, 1 - add ebx, eax + add ecx, eax ; 20_39 23 mov eax, DWORD PTR 28[esp] mov ebp, DWORD PTR 36[esp] @@ -434,17 +435,17 @@ L000start: xor eax, ebp mov ebp, DWORD PTR 16[esp] xor eax, ebp - mov ebp, ecx + 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, ebx + mov esi, ecx rol esi, 5 - ror ecx, 1 + ror ebx, 1 add esi, ebp - ror ecx, 1 + ror ebx, 1 add eax, esi ; 20_39 24 mov esi, DWORD PTR 32[esp] @@ -454,17 +455,17 @@ L000start: xor esi, ebp mov ebp, DWORD PTR 20[esp] xor esi, ebp - mov ebp, ebx + mov ebp, ecx rol esi, 1 - xor ebp, ecx + 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 ebx, 1 + ror ecx, 1 add edi, ebp - ror ebx, 1 + ror ecx, 1 add esi, edi ; 20_39 25 mov edi, DWORD PTR 36[esp] @@ -476,9 +477,9 @@ L000start: xor edi, ebp mov ebp, eax rol edi, 1 - xor ebp, ebx - mov DWORD PTR 36[esp],edi 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 @@ -498,54 +499,54 @@ L000start: rol edx, 1 xor ebp, eax mov DWORD PTR 40[esp],edx - xor ebp, ebx - lea edx, DWORD PTR 1859775393[ecx*1+edx] - mov ecx, edi - rol ecx, 5 + xor ebp, ecx + lea edx, DWORD PTR 1859775393[ebx*1+edx] + mov ebx, edi + rol ebx, 5 ror esi, 1 - add ecx, ebp + add ebx, ebp ror esi, 1 - add edx, ecx + add edx, ebx ; 20_39 27 - mov ecx, DWORD PTR 44[esp] + mov ebx, DWORD PTR 44[esp] mov ebp, DWORD PTR 52[esp] - xor ecx, ebp + xor ebx, ebp mov ebp, DWORD PTR 12[esp] - xor ecx, ebp + xor ebx, ebp mov ebp, DWORD PTR 32[esp] - xor ecx, ebp + xor ebx, ebp mov ebp, edi - rol ecx, 1 + rol ebx, 1 xor ebp, esi - mov DWORD PTR 44[esp],ecx + mov DWORD PTR 44[esp],ebx xor ebp, eax - lea ecx, DWORD PTR 1859775393[ebx*1+ecx] - mov ebx, edx - rol ebx, 5 + lea ebx, DWORD PTR 1859775393[ecx*1+ebx] + mov ecx, edx + rol ecx, 5 ror edi, 1 - add ebx, ebp + add ecx, ebp ror edi, 1 - add ecx, ebx + add ebx, ecx ; 20_39 28 - mov ebx, DWORD PTR 48[esp] + mov ecx, DWORD PTR 48[esp] mov ebp, DWORD PTR 56[esp] - xor ebx, ebp + xor ecx, ebp mov ebp, DWORD PTR 16[esp] - xor ebx, ebp + xor ecx, ebp mov ebp, DWORD PTR 36[esp] - xor ebx, ebp + xor ecx, ebp mov ebp, edx - rol ebx, 1 + rol ecx, 1 xor ebp, edi - mov DWORD PTR 48[esp],ebx + mov DWORD PTR 48[esp],ecx xor ebp, esi - lea ebx, DWORD PTR 1859775393[eax*1+ebx] - mov eax, ecx + lea ecx, DWORD PTR 1859775393[eax*1+ecx] + mov eax, ebx rol eax, 5 ror edx, 1 add eax, ebp ror edx, 1 - add ebx, eax + add ecx, eax ; 20_39 29 mov eax, DWORD PTR 52[esp] mov ebp, DWORD PTR 60[esp] @@ -554,17 +555,17 @@ L000start: xor eax, ebp mov ebp, DWORD PTR 40[esp] xor eax, ebp - mov ebp, ecx + 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, ebx + mov esi, ecx rol esi, 5 - ror ecx, 1 + ror ebx, 1 add esi, ebp - ror ecx, 1 + ror ebx, 1 add eax, esi ; 20_39 30 mov esi, DWORD PTR 56[esp] @@ -574,17 +575,17 @@ L000start: xor esi, ebp mov ebp, DWORD PTR 44[esp] xor esi, ebp - mov ebp, ebx + mov ebp, ecx rol esi, 1 - xor ebp, ecx + 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 ebx, 1 + ror ecx, 1 add edi, ebp - ror ebx, 1 + ror ecx, 1 add esi, edi ; 20_39 31 mov edi, DWORD PTR 60[esp] @@ -596,9 +597,9 @@ L000start: xor edi, ebp mov ebp, eax rol edi, 1 - xor ebp, ebx - mov DWORD PTR 60[esp],edi 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 @@ -618,54 +619,54 @@ L000start: rol edx, 1 xor ebp, eax mov DWORD PTR [esp],edx - xor ebp, ebx - lea edx, DWORD PTR 1859775393[ecx*1+edx] - mov ecx, edi - rol ecx, 5 + xor ebp, ecx + lea edx, DWORD PTR 1859775393[ebx*1+edx] + mov ebx, edi + rol ebx, 5 ror esi, 1 - add ecx, ebp + add ebx, ebp ror esi, 1 - add edx, ecx + add edx, ebx ; 20_39 33 - mov ecx, DWORD PTR 4[esp] + mov ebx, DWORD PTR 4[esp] mov ebp, DWORD PTR 12[esp] - xor ecx, ebp + xor ebx, ebp mov ebp, DWORD PTR 36[esp] - xor ecx, ebp + xor ebx, ebp mov ebp, DWORD PTR 56[esp] - xor ecx, ebp + xor ebx, ebp mov ebp, edi - rol ecx, 1 + rol ebx, 1 xor ebp, esi - mov DWORD PTR 4[esp],ecx + mov DWORD PTR 4[esp],ebx xor ebp, eax - lea ecx, DWORD PTR 1859775393[ebx*1+ecx] - mov ebx, edx - rol ebx, 5 + lea ebx, DWORD PTR 1859775393[ecx*1+ebx] + mov ecx, edx + rol ecx, 5 ror edi, 1 - add ebx, ebp + add ecx, ebp ror edi, 1 - add ecx, ebx + add ebx, ecx ; 20_39 34 - mov ebx, DWORD PTR 8[esp] + mov ecx, DWORD PTR 8[esp] mov ebp, DWORD PTR 16[esp] - xor ebx, ebp + xor ecx, ebp mov ebp, DWORD PTR 40[esp] - xor ebx, ebp + xor ecx, ebp mov ebp, DWORD PTR 60[esp] - xor ebx, ebp + xor ecx, ebp mov ebp, edx - rol ebx, 1 + rol ecx, 1 xor ebp, edi - mov DWORD PTR 8[esp],ebx + mov DWORD PTR 8[esp],ecx xor ebp, esi - lea ebx, DWORD PTR 1859775393[eax*1+ebx] - mov eax, ecx + lea ecx, DWORD PTR 1859775393[eax*1+ecx] + mov eax, ebx rol eax, 5 ror edx, 1 add eax, ebp ror edx, 1 - add ebx, eax + add ecx, eax ; 20_39 35 mov eax, DWORD PTR 12[esp] mov ebp, DWORD PTR 20[esp] @@ -674,17 +675,17 @@ L000start: xor eax, ebp mov ebp, DWORD PTR [esp] xor eax, ebp - mov ebp, ecx + 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, ebx + mov esi, ecx rol esi, 5 - ror ecx, 1 + ror ebx, 1 add esi, ebp - ror ecx, 1 + ror ebx, 1 add eax, esi ; 20_39 36 mov esi, DWORD PTR 16[esp] @@ -694,17 +695,17 @@ L000start: xor esi, ebp mov ebp, DWORD PTR 4[esp] xor esi, ebp - mov ebp, ebx + mov ebp, ecx rol esi, 1 - xor ebp, ecx + 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 ebx, 1 + ror ecx, 1 add edi, ebp - ror ebx, 1 + ror ecx, 1 add esi, edi ; 20_39 37 mov edi, DWORD PTR 20[esp] @@ -716,9 +717,9 @@ L000start: xor edi, ebp mov ebp, eax rol edi, 1 - xor ebp, ebx - mov DWORD PTR 20[esp],edi 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 @@ -738,57 +739,57 @@ L000start: rol edx, 1 xor ebp, eax mov DWORD PTR 24[esp],edx - xor ebp, ebx - lea edx, DWORD PTR 1859775393[ecx*1+edx] - mov ecx, edi - rol ecx, 5 + xor ebp, ecx + lea edx, DWORD PTR 1859775393[ebx*1+edx] + mov ebx, edi + rol ebx, 5 ror esi, 1 - add ecx, ebp + add ebx, ebp ror esi, 1 - add edx, ecx + add edx, ebx ; 20_39 39 - mov ecx, DWORD PTR 28[esp] + mov ebx, DWORD PTR 28[esp] mov ebp, DWORD PTR 36[esp] - xor ecx, ebp + xor ebx, ebp mov ebp, DWORD PTR 60[esp] - xor ecx, ebp + xor ebx, ebp mov ebp, DWORD PTR 16[esp] - xor ecx, ebp + xor ebx, ebp mov ebp, edi - rol ecx, 1 + rol ebx, 1 xor ebp, esi - mov DWORD PTR 28[esp],ecx + mov DWORD PTR 28[esp],ebx xor ebp, eax - lea ecx, DWORD PTR 1859775393[ebx*1+ecx] - mov ebx, edx - rol ebx, 5 + lea ebx, DWORD PTR 1859775393[ecx*1+ebx] + mov ecx, edx + rol ecx, 5 ror edi, 1 - add ebx, ebp + add ecx, ebp ror edi, 1 - add ecx, ebx + add ebx, ecx ; 40_59 40 - mov ebx, DWORD PTR 32[esp] + mov ecx, DWORD PTR 32[esp] mov ebp, DWORD PTR 40[esp] - xor ebx, ebp + xor ecx, ebp mov ebp, DWORD PTR [esp] - xor ebx, ebp + xor ecx, ebp mov ebp, DWORD PTR 20[esp] - xor ebx, ebp + xor ecx, ebp mov ebp, edx - rol ebx, 1 + rol ecx, 1 or ebp, edi - mov DWORD PTR 32[esp],ebx + mov DWORD PTR 32[esp],ecx and ebp, esi - lea ebx, DWORD PTR 2400959708[eax*1+ebx] + lea ecx, DWORD PTR 2400959708[eax*1+ecx] mov eax, edx ror edx, 1 and eax, edi or ebp, eax - mov eax, ecx + mov eax, ebx rol eax, 5 add ebp, eax mov eax, DWORD PTR 36[esp] - add ebx, ebp + add ecx, ebp mov ebp, DWORD PTR 44[esp] xor eax, ebp mov ebp, DWORD PTR 4[esp] @@ -797,19 +798,19 @@ L000start: ror edx, 1 xor eax, ebp rol eax, 1 - mov ebp, ecx + mov ebp, ebx mov DWORD PTR 36[esp],eax or ebp, edx lea eax, DWORD PTR 2400959708[esi*1+eax] - mov esi, ecx + mov esi, ebx and ebp, edi and esi, edx or ebp, esi - mov esi, ebx + mov esi, ecx rol esi, 5 - ror ecx, 1 + ror ebx, 1 add ebp, esi - ror ecx, 1 + ror ebx, 1 add eax, ebp ; 40_59 41 ; 40_59 42 @@ -820,15 +821,15 @@ L000start: xor esi, ebp mov ebp, DWORD PTR 28[esp] xor esi, ebp - mov ebp, ebx + mov ebp, ecx rol esi, 1 - or ebp, ecx + or ebp, ebx mov DWORD PTR 40[esp],esi and ebp, edx lea esi, DWORD PTR 2400959708[edi*1+esi] - mov edi, ebx - ror ebx, 1 - and edi, ecx + mov edi, ecx + ror ecx, 1 + and edi, ebx or ebp, edi mov edi, eax rol edi, 5 @@ -840,16 +841,16 @@ L000start: mov ebp, DWORD PTR 12[esp] xor edi, ebp mov ebp, DWORD PTR 32[esp] - ror ebx, 1 + ror ecx, 1 xor edi, ebp rol edi, 1 mov ebp, eax mov DWORD PTR 44[esp],edi - or ebp, ebx + or ebp, ecx lea edi, DWORD PTR 2400959708[edx*1+edi] mov edx, eax - and ebp, ecx - and edx, ebx + and ebp, ebx + and edx, ecx or ebp, edx mov edx, esi rol edx, 5 @@ -870,63 +871,63 @@ L000start: 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 + and ebp, ecx + lea edx, DWORD PTR 2400959708[ebx*1+edx] + mov ebx, esi ror esi, 1 - and ecx, eax - or ebp, ecx - mov ecx, edi - rol ecx, 5 - add ebp, ecx - mov ecx, DWORD PTR 52[esp] + 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 ecx, ebp + xor ebx, ebp mov ebp, DWORD PTR 20[esp] - xor ecx, ebp + xor ebx, ebp mov ebp, DWORD PTR 40[esp] ror esi, 1 - xor ecx, ebp - rol ecx, 1 + xor ebx, ebp + rol ebx, 1 mov ebp, edi - mov DWORD PTR 52[esp],ecx + mov DWORD PTR 52[esp],ebx or ebp, esi - lea ecx, DWORD PTR 2400959708[ebx*1+ecx] - mov ebx, edi + lea ebx, DWORD PTR 2400959708[ecx*1+ebx] + mov ecx, edi and ebp, eax - and ebx, esi - or ebp, ebx - mov ebx, edx - rol ebx, 5 + and ecx, esi + or ebp, ecx + mov ecx, edx + rol ecx, 5 ror edi, 1 - add ebp, ebx + add ebp, ecx ror edi, 1 - add ecx, ebp + add ebx, ebp ; 40_59 45 ; 40_59 46 - mov ebx, DWORD PTR 56[esp] + mov ecx, DWORD PTR 56[esp] mov ebp, DWORD PTR [esp] - xor ebx, ebp + xor ecx, ebp mov ebp, DWORD PTR 24[esp] - xor ebx, ebp + xor ecx, ebp mov ebp, DWORD PTR 44[esp] - xor ebx, ebp + xor ecx, ebp mov ebp, edx - rol ebx, 1 + rol ecx, 1 or ebp, edi - mov DWORD PTR 56[esp],ebx + mov DWORD PTR 56[esp],ecx and ebp, esi - lea ebx, DWORD PTR 2400959708[eax*1+ebx] + lea ecx, DWORD PTR 2400959708[eax*1+ecx] mov eax, edx ror edx, 1 and eax, edi or ebp, eax - mov eax, ecx + mov eax, ebx rol eax, 5 add ebp, eax mov eax, DWORD PTR 60[esp] - add ebx, ebp + add ecx, ebp mov ebp, DWORD PTR 4[esp] xor eax, ebp mov ebp, DWORD PTR 28[esp] @@ -935,19 +936,19 @@ L000start: ror edx, 1 xor eax, ebp rol eax, 1 - mov ebp, ecx + mov ebp, ebx mov DWORD PTR 60[esp],eax or ebp, edx lea eax, DWORD PTR 2400959708[esi*1+eax] - mov esi, ecx + mov esi, ebx and ebp, edi and esi, edx or ebp, esi - mov esi, ebx + mov esi, ecx rol esi, 5 - ror ecx, 1 + ror ebx, 1 add ebp, esi - ror ecx, 1 + ror ebx, 1 add eax, ebp ; 40_59 47 ; 40_59 48 @@ -958,15 +959,15 @@ L000start: xor esi, ebp mov ebp, DWORD PTR 52[esp] xor esi, ebp - mov ebp, ebx + mov ebp, ecx rol esi, 1 - or ebp, ecx + or ebp, ebx mov DWORD PTR [esp],esi and ebp, edx lea esi, DWORD PTR 2400959708[edi*1+esi] - mov edi, ebx - ror ebx, 1 - and edi, ecx + mov edi, ecx + ror ecx, 1 + and edi, ebx or ebp, edi mov edi, eax rol edi, 5 @@ -978,16 +979,16 @@ L000start: mov ebp, DWORD PTR 36[esp] xor edi, ebp mov ebp, DWORD PTR 56[esp] - ror ebx, 1 + ror ecx, 1 xor edi, ebp rol edi, 1 mov ebp, eax mov DWORD PTR 4[esp],edi - or ebp, ebx + or ebp, ecx lea edi, DWORD PTR 2400959708[edx*1+edi] mov edx, eax - and ebp, ecx - and edx, ebx + and ebp, ebx + and edx, ecx or ebp, edx mov edx, esi rol edx, 5 @@ -1008,63 +1009,63 @@ L000start: 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 + and ebp, ecx + lea edx, DWORD PTR 2400959708[ebx*1+edx] + mov ebx, esi ror esi, 1 - and ecx, eax - or ebp, ecx - mov ecx, edi - rol ecx, 5 - add ebp, ecx - mov ecx, DWORD PTR 12[esp] + 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 ecx, ebp + xor ebx, ebp mov ebp, DWORD PTR 44[esp] - xor ecx, ebp + xor ebx, ebp mov ebp, DWORD PTR [esp] ror esi, 1 - xor ecx, ebp - rol ecx, 1 + xor ebx, ebp + rol ebx, 1 mov ebp, edi - mov DWORD PTR 12[esp],ecx + mov DWORD PTR 12[esp],ebx or ebp, esi - lea ecx, DWORD PTR 2400959708[ebx*1+ecx] - mov ebx, edi + lea ebx, DWORD PTR 2400959708[ecx*1+ebx] + mov ecx, edi and ebp, eax - and ebx, esi - or ebp, ebx - mov ebx, edx - rol ebx, 5 + and ecx, esi + or ebp, ecx + mov ecx, edx + rol ecx, 5 ror edi, 1 - add ebp, ebx + add ebp, ecx ror edi, 1 - add ecx, ebp + add ebx, ebp ; 40_59 51 ; 40_59 52 - mov ebx, DWORD PTR 16[esp] + mov ecx, DWORD PTR 16[esp] mov ebp, DWORD PTR 24[esp] - xor ebx, ebp + xor ecx, ebp mov ebp, DWORD PTR 48[esp] - xor ebx, ebp + xor ecx, ebp mov ebp, DWORD PTR 4[esp] - xor ebx, ebp + xor ecx, ebp mov ebp, edx - rol ebx, 1 + rol ecx, 1 or ebp, edi - mov DWORD PTR 16[esp],ebx + mov DWORD PTR 16[esp],ecx and ebp, esi - lea ebx, DWORD PTR 2400959708[eax*1+ebx] + lea ecx, DWORD PTR 2400959708[eax*1+ecx] mov eax, edx ror edx, 1 and eax, edi or ebp, eax - mov eax, ecx + mov eax, ebx rol eax, 5 add ebp, eax mov eax, DWORD PTR 20[esp] - add ebx, ebp + add ecx, ebp mov ebp, DWORD PTR 28[esp] xor eax, ebp mov ebp, DWORD PTR 52[esp] @@ -1073,19 +1074,19 @@ L000start: ror edx, 1 xor eax, ebp rol eax, 1 - mov ebp, ecx + mov ebp, ebx mov DWORD PTR 20[esp],eax or ebp, edx lea eax, DWORD PTR 2400959708[esi*1+eax] - mov esi, ecx + mov esi, ebx and ebp, edi and esi, edx or ebp, esi - mov esi, ebx + mov esi, ecx rol esi, 5 - ror ecx, 1 + ror ebx, 1 add ebp, esi - ror ecx, 1 + ror ebx, 1 add eax, ebp ; 40_59 |