diff options
author | Andy Polyakov <appro@openssl.org> | 1999-08-28 13:07:51 +0000 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 1999-08-28 13:07:51 +0000 |
commit | 2d0c55eda27ce91946d5b15c3b38138cda3a3564 (patch) | |
tree | 2c0c5996b91eb2b206125118f9bc997a0c0d8faf /crypto/ripemd | |
parent | 28e0be13f69da0f3763be9b2bb3217d7e8859760 (diff) |
RIPEMD160 shape-up Intel assembler companion. Cycle counter benchmarks
went down from 1050 to 921 cycles on Pentium II. I haven't checked the
figures on Pentium yet.
Diffstat (limited to 'crypto/ripemd')
-rw-r--r-- | crypto/ripemd/asm/rips.cpp | 6 | ||||
-rw-r--r-- | crypto/ripemd/asm/rm-win32.asm | 3433 | ||||
-rw-r--r-- | crypto/ripemd/asm/rmd-586.pl | 108 |
3 files changed, 1780 insertions, 1767 deletions
diff --git a/crypto/ripemd/asm/rips.cpp b/crypto/ripemd/asm/rips.cpp index 321a98443e..f7a13677a9 100644 --- a/crypto/ripemd/asm/rips.cpp +++ b/crypto/ripemd/asm/rips.cpp @@ -34,6 +34,8 @@ void GetTSC(unsigned long& tsc) #include <stdlib.h> #include <openssl/ripemd.h> +#define ripemd160_block_x86 ripemd160_block_asm_host_order + extern "C" { void ripemd160_block_x86(RIPEMD160_CTX *ctx, unsigned char *buffer,int num); } @@ -55,8 +57,10 @@ void main(int argc,char *argv[]) if (num == 0) num=16; if (num > 250) num=16; numm=num+2; +#if 0 num*=64; numm*=64; +#endif for (j=0; j<6; j++) { @@ -71,7 +75,7 @@ void main(int argc,char *argv[]) GetTSC(e2); ripemd160_block_x86(&ctx,buffer,num); } - printf("ripemd160 (%d bytes) %d %d (%.2f)\n",num, + printf("ripemd160 (%d bytes) %d %d (%.2f)\n",num*64, e1-s1,e2-s2,(double)((e1-s1)-(e2-s2))/2); } } diff --git a/crypto/ripemd/asm/rm-win32.asm b/crypto/ripemd/asm/rm-win32.asm index bd38791c13..f07d517857 100644 --- a/crypto/ripemd/asm/rm-win32.asm +++ b/crypto/ripemd/asm/rm-win32.asm @@ -8,1965 +8,1966 @@ .386 .model FLAT _TEXT SEGMENT -PUBLIC _ripemd160_block_x86 +PUBLIC _ripemd160_block_asm_host_order -_ripemd160_block_x86 PROC NEAR +_ripemd160_block_asm_host_order PROC NEAR + mov edx, DWORD PTR 4[esp] + mov eax, DWORD PTR 8[esp] push esi - mov ecx, DWORD PTR 16[esp] + mov ecx, DWORD PTR [edx] push edi - mov esi, DWORD PTR 16[esp] + mov esi, DWORD PTR 4[edx] push ebp - add ecx, esi + mov edi, DWORD PTR 8[edx] push ebx - sub ecx, 64 - sub esp, 88 - mov DWORD PTR [esp],ecx - mov edi, DWORD PTR 108[esp] + sub esp, 108 L000start: ; - mov eax, DWORD PTR [esi] - mov ebx, DWORD PTR 4[esi] - mov DWORD PTR 4[esp],eax + mov ebx, DWORD PTR [eax] + mov ebp, DWORD PTR 4[eax] + mov DWORD PTR [esp],ebx + mov DWORD PTR 4[esp],ebp + mov ebx, DWORD PTR 8[eax] + mov ebp, DWORD PTR 12[eax] mov DWORD PTR 8[esp],ebx - mov eax, DWORD PTR 8[esi] - mov ebx, DWORD PTR 12[esi] - mov DWORD PTR 12[esp],eax + mov DWORD PTR 12[esp],ebp + mov ebx, DWORD PTR 16[eax] + mov ebp, DWORD PTR 20[eax] mov DWORD PTR 16[esp],ebx - mov eax, DWORD PTR 16[esi] - mov ebx, DWORD PTR 20[esi] - mov DWORD PTR 20[esp],eax + mov DWORD PTR 20[esp],ebp + mov ebx, DWORD PTR 24[eax] + mov ebp, DWORD PTR 28[eax] mov DWORD PTR 24[esp],ebx - mov eax, DWORD PTR 24[esi] - mov ebx, DWORD PTR 28[esi] - mov DWORD PTR 28[esp],eax + mov DWORD PTR 28[esp],ebp + mov ebx, DWORD PTR 32[eax] + mov ebp, DWORD PTR 36[eax] mov DWORD PTR 32[esp],ebx - mov eax, DWORD PTR 32[esi] - mov ebx, DWORD PTR 36[esi] - mov DWORD PTR 36[esp],eax + mov DWORD PTR 36[esp],ebp + mov ebx, DWORD PTR 40[eax] + mov ebp, DWORD PTR 44[eax] mov DWORD PTR 40[esp],ebx - mov eax, DWORD PTR 40[esi] - mov ebx, DWORD PTR 44[esi] - mov DWORD PTR 44[esp],eax + mov DWORD PTR 44[esp],ebp + mov ebx, DWORD PTR 48[eax] + mov ebp, DWORD PTR 52[eax] mov DWORD PTR 48[esp],ebx - mov eax, DWORD PTR 48[esi] - mov ebx, DWORD PTR 52[esi] - mov DWORD PTR 52[esp],eax + mov DWORD PTR 52[esp],ebp + mov ebx, DWORD PTR 56[eax] + mov ebp, DWORD PTR 60[eax] mov DWORD PTR 56[esp],ebx - mov eax, DWORD PTR 56[esi] - mov ebx, DWORD PTR 60[esi] - mov DWORD PTR 60[esp],eax - mov DWORD PTR 64[esp],ebx - add esi, 64 - mov eax, DWORD PTR [edi] - mov DWORD PTR 112[esp],esi - mov ebx, DWORD PTR 4[edi] - mov ecx, DWORD PTR 8[edi] - mov edx, DWORD PTR 12[edi] - mov ebp, DWORD PTR 16[edi] + mov DWORD PTR 60[esp],ebp + mov eax, edi + mov ebx, DWORD PTR 12[edx] + mov ebp, DWORD PTR 16[edx] ; 0 - mov esi, ecx - xor esi, edx - mov edi, DWORD PTR 4[esp] - xor esi, ebx - add eax, edi - rol ecx, 10 - add eax, esi - mov esi, ebx - rol eax, 11 - add eax, ebp + xor eax, ebx + mov edx, DWORD PTR [esp] + xor eax, esi + add ecx, edx + rol edi, 10 + add ecx, eax + mov eax, esi + rol ecx, 11 + add ecx, ebp ; 1 - xor esi, ecx - mov edi, DWORD PTR 8[esp] - xor esi, eax - add ebp, esi - mov esi, eax - rol ebx, 10 - add ebp, edi - xor esi, ebx - rol ebp, 14 + xor eax, edi + mov edx, DWORD PTR 4[esp] + xor eax, ecx + add ebp, eax + mov eax, ecx + rol esi, 10 add ebp, edx + xor eax, esi + rol ebp, 14 + add ebp, ebx ; 2 - mov edi, DWORD PTR 12[esp] - xor esi, ebp - add edx, edi - rol eax, 10 - add edx, esi - mov esi, ebp - rol edx, 15 - add edx, ecx + mov edx, DWORD PTR 8[esp] + xor eax, ebp + add ebx, edx + rol ecx, 10 + add ebx, eax + mov eax, ebp + rol ebx, 15 + add ebx, edi ; 3 - xor esi, eax - mov edi, DWORD PTR 16[esp] - xor esi, edx - add ecx, esi - mov esi, edx + xor eax, ecx + mov edx, DWORD PTR 12[esp] + xor eax, ebx + add edi, eax + mov eax, ebx rol ebp, 10 - add ecx, edi - xor esi, ebp - rol ecx, 12 - add ecx, ebx + add edi, edx + xor eax, ebp + rol edi, 12 + add edi, esi ; 4 - mov edi, DWORD PTR 20[esp] - xor esi, ecx - add ebx, edi - rol edx, 10 - add ebx, esi - mov esi, ecx - rol ebx, 5 - add ebx, eax + mov edx, DWORD PTR 16[esp] + xor eax, edi + add esi, edx + rol ebx, 10 + add esi, eax + mov eax, edi + rol esi, 5 + add esi, ecx ; 5 - xor esi, edx - mov edi, DWORD PTR 24[esp] - xor esi, ebx - add eax, esi - mov esi, ebx - rol ecx, 10 - add eax, edi - xor esi, ecx - rol eax, 8 - add eax, ebp + xor eax, ebx + mov edx, DWORD PTR 20[esp] + xor eax, esi + add ecx, eax + mov eax, esi + rol edi, 10 + add ecx, edx + xor eax, edi + rol ecx, 8 + add ecx, ebp ; 6 - mov edi, DWORD PTR 28[esp] - xor esi, eax - add ebp, edi - rol ebx, 10 - add ebp, esi - mov esi, eax - rol ebp, 7 + mov edx, DWORD PTR 24[esp] + xor eax, ecx add ebp, edx + rol esi, 10 + add ebp, eax + mov eax, ecx + rol ebp, 7 + add ebp, ebx ; 7 - xor esi, ebx - mov edi, DWORD PTR 32[esp] - xor esi, ebp - add edx, esi - mov esi, ebp - rol eax, 10 - add edx, edi - xor esi, eax - rol edx, 9 - add edx, ecx + xor eax, esi + mov edx, DWORD PTR 28[esp] + xor eax, ebp + add ebx, eax + mov eax, ebp + rol ecx, 10 + add ebx, edx + xor eax, ecx + rol ebx, 9 + add ebx, edi ; 8 - mov edi, DWORD PTR 36[esp] - xor esi, edx - add ecx, edi + mov edx, DWORD PTR 32[esp] + xor eax, ebx + add edi, edx rol ebp, 10 - add ecx, esi - mov esi, edx - rol ecx, 11 - add ecx, ebx + add edi, eax + mov eax, ebx + rol edi, 11 + add edi, esi ; 9 - xor esi, ebp - mov edi, DWORD PTR 40[esp] - xor esi, ecx - add ebx, esi - mov esi, ecx - rol edx, 10 - add ebx, edi - xor esi, edx - rol ebx, 13 - add ebx, eax + xor eax, ebp + mov edx, DWORD PTR 36[esp] + xor eax, edi + add esi, eax + mov eax, edi + rol ebx, 10 + add esi, edx + xor eax, ebx + rol esi, 13 + add esi, ecx ; 10 - mov edi, DWORD PTR 44[esp] - xor esi, ebx - add eax, edi - rol ecx, 10 - add eax, esi - mov esi, ebx - rol eax, 14 - add eax, ebp + mov edx, DWORD PTR 40[esp] + xor eax, esi + add ecx, edx + rol edi, 10 + add ecx, eax + mov eax, esi + rol ecx, 14 + add ecx, ebp ; 11 - xor esi, ecx - mov edi, DWORD PTR 48[esp] - xor esi, eax - add ebp, esi - mov esi, eax - rol ebx, 10 - add ebp, edi - xor esi, ebx - rol ebp, 15 + xor eax, edi + mov edx, DWORD PTR 44[esp] + xor eax, ecx + add ebp, eax + mov eax, ecx + rol esi, 10 add ebp, edx + xor eax, esi + rol ebp, 15 + add ebp, ebx ; 12 - mov edi, DWORD PTR 52[esp] - xor esi, ebp - add edx, edi - rol eax, 10 - add edx, esi - mov esi, ebp - rol edx, 6 - add edx, ecx + mov edx, DWORD PTR 48[esp] + xor eax, ebp + add ebx, edx + rol ecx, 10 + add ebx, eax + mov eax, ebp + rol ebx, 6 + add ebx, edi ; 13 - xor esi, eax - mov edi, DWORD PTR 56[esp] - xor esi, edx - add ecx, esi - mov esi, edx + xor eax, ecx + mov edx, DWORD PTR 52[esp] + xor eax, ebx + add edi, eax + mov eax, ebx rol ebp, 10 - add ecx, edi - xor esi, ebp - rol ecx, 7 - add ecx, ebx + add edi, edx + xor eax, ebp + rol edi, 7 + add edi, esi ; 14 - mov edi, DWORD PTR 60[esp] - xor esi, ecx - add ebx, edi - rol edx, 10 - add ebx, esi - mov esi, ecx - rol ebx, 9 - add ebx, eax + mov edx, DWORD PTR 56[esp] + xor eax, edi + add esi, edx + rol ebx, 10 + add esi, eax + mov eax, edi + rol esi, 9 + add esi, ecx ; 15 - xor esi, edx - mov edi, DWORD PTR 64[esp] - xor esi, ebx - add eax, esi - mov esi, -1 - rol ecx, 10 - add eax, edi - mov edi, DWORD PTR 32[esp] - rol eax, 8 - add eax, ebp + xor eax, ebx + mov edx, DWORD PTR 60[esp] + xor eax, esi + add ecx, eax + mov eax, -1 + rol edi, 10 + add ecx, edx + mov edx, DWORD PTR 28[esp] + rol ecx, 8 + add ecx, ebp ; 16 - add ebp, edi - mov edi, ebx - sub esi, eax - and edi, eax - and esi, ecx - or edi, esi - mov esi, DWORD PTR 20[esp] - rol ebx, 10 - lea ebp, DWORD PTR 1518500249[edi*1+ebp] - mov edi, -1 - rol ebp, 7 add ebp, edx + mov edx, esi + sub eax, ecx + and edx, ecx + and eax, edi + or edx, eax + mov eax, DWORD PTR 16[esp] + rol esi, 10 + lea ebp, DWORD PTR 1518500249[edx*1+ebp] + mov edx, -1 + rol ebp, 7 + add ebp, ebx ; 17 - add edx, esi - mov esi, eax - sub edi, ebp - and esi, ebp - and edi, ebx - or esi, edi - mov edi, DWORD PTR 56[esp] - rol eax, 10 - lea edx, DWORD PTR 1518500249[esi*1+edx] - mov esi, -1 - rol edx, 6 - add edx, ecx + add ebx, eax + mov eax, ecx + sub edx, ebp + and eax, ebp + and edx, esi + or eax, edx + mov edx, DWORD PTR 52[esp] + rol ecx, 10 + lea ebx, DWORD PTR 1518500249[eax*1+ebx] + mov eax, -1 + rol ebx, 6 + add ebx, edi ; 18 - add ecx, edi - mov edi, ebp - sub esi, edx - and edi, edx - and esi, eax - or edi, esi - mov esi, DWORD PTR 8[esp] + add edi, edx + mov edx, ebp + sub eax, ebx + and edx, ebx + and eax, ecx + or edx, eax + mov eax, DWORD PTR 4[esp] rol ebp, 10 - lea ecx, DWORD PTR 1518500249[edi*1+ecx] - mov edi, -1 - rol ecx, 8 - add ecx, ebx + lea edi, DWORD PTR 1518500249[edx*1+edi] + mov edx, -1 + rol edi, 8 + add edi, esi ; 19 - add ebx, esi - mov esi, edx - sub edi, ecx - and esi, ecx - and edi, ebp - or esi, edi - mov edi, DWORD PTR 44[esp] - rol edx, 10 - lea ebx, DWORD PTR 1518500249[esi*1+ebx] - mov esi, -1 - rol ebx, 13 - add ebx, eax + add esi, eax + mov eax, ebx + sub edx, edi + and eax, edi + and edx, ebp + or eax, edx + mov edx, DWORD PTR 40[esp] + rol ebx, 10 + lea esi, DWORD PTR 1518500249[eax*1+esi] + mov eax, -1 + rol esi, 13 + add esi, ecx ; 20 - add eax, edi - mov edi, ecx - sub esi, ebx - and edi, ebx - and esi, edx - or edi, esi - mov esi, DWORD PTR 28[esp] - rol ecx, 10 - lea eax, DWORD PTR 1518500249[edi*1+eax] - mov edi, -1 - rol eax, 11 - add eax, ebp + add ecx, edx + mov edx, edi + sub eax, esi + and edx, esi + and eax, ebx + or edx, eax + mov eax, DWORD PTR 24[esp] + rol edi, 10 + lea ecx, DWORD PTR 1518500249[edx*1+ecx] + mov edx, -1 + rol ecx, 11 + add ecx, ebp ; 21 - add ebp, esi - mov esi, ebx - sub edi, eax - and esi, eax - and edi, ecx - or esi, edi - mov edi, DWORD PTR 64[esp] - rol ebx, 10 - lea ebp, DWORD PTR 1518500249[esi*1+ebp] - mov esi, -1 + add ebp, eax + mov eax, esi + sub edx, ecx + and eax, ecx + and edx, edi + or eax, edx + mov edx, DWORD PTR 60[esp] + rol esi, 10 + lea ebp, DWORD PTR 1518500249[eax*1+ebp] + mov eax, -1 rol ebp, 9 - add ebp, edx + add ebp, ebx ; 22 - add edx, edi - mov edi, eax - sub esi, ebp - and edi, ebp - and esi, ebx - or edi, esi - mov esi, DWORD PTR 16[esp] - rol eax, 10 - lea edx, DWORD PTR 1518500249[edi*1+edx] - mov edi, -1 - rol edx, 7 - add edx, ecx + add ebx, edx + mov edx, ecx + sub eax, ebp + and edx, ebp + and eax, esi + or edx, eax + mov eax, DWORD PTR 12[esp] + rol ecx, 10 + lea ebx, DWORD PTR 1518500249[edx*1+ebx] + mov edx, -1 + rol ebx, 7 + add ebx, edi ; 23 - add ecx, esi - mov esi, ebp - sub edi, edx - and esi, edx - and edi, eax - or esi, edi - mov edi, DWORD PTR 52[esp] + add edi, eax + mov eax, ebp + sub edx, ebx + and eax, ebx + and edx, ecx + or eax, edx + mov edx, DWORD PTR 48[esp] rol ebp, 10 - lea ecx, DWORD PTR 1518500249[esi*1+ecx] - mov esi, -1 - rol ecx, 15 - add ecx, ebx + lea edi, DWORD PTR 1518500249[eax*1+edi] + mov eax, -1 + rol edi, 15 + add edi, esi ; 24 - add ebx, edi - mov edi, edx - sub esi, ecx - and edi, ecx - and esi, ebp - or edi, esi - mov esi, DWORD PTR 4[esp] - rol edx, 10 - lea ebx, DWORD PTR 1518500249[edi*1+ebx] - mov edi, -1 - rol ebx, 7 - add ebx, eax + add esi, edx + mov edx, ebx + sub eax, edi + and edx, edi + and eax, ebp + or edx, eax + mov eax, DWORD PTR [esp] + rol ebx, 10 + lea esi, DWORD PTR 1518500249[edx*1+esi] + mov edx, -1 + rol esi, 7 + add esi, ecx ; 25 - add eax, esi - mov esi, ecx - sub edi, ebx - and esi, ebx - and edi, edx - or esi, edi - mov edi, DWORD PTR 40[esp] - rol ecx, 10 - lea eax, DWORD PTR 1518500249[esi*1+eax] - mov esi, -1 - rol eax, 12 - add eax, ebp + add ecx, eax + mov eax, edi + sub edx, esi + and eax, esi + and edx, ebx + or eax, edx + mov edx, DWORD PTR 36[esp] + rol edi, 10 + lea ecx, DWORD PTR 1518500249[eax*1+ecx] + mov eax, -1 + rol ecx, 12 + add ecx, ebp ; 26 - add ebp, edi - mov edi, ebx - sub esi, eax - and edi, eax - and esi, ecx - or edi, esi - mov esi, DWORD PTR 24[esp] - rol ebx, 10 - lea ebp, DWORD PTR 1518500249[edi*1+ebp] - mov edi, -1 - rol ebp, 15 add ebp, edx + mov edx, esi + sub eax, ecx + and edx, ecx + and eax, edi + or edx, eax + mov eax, DWORD PTR 20[esp] + rol esi, 10 + lea ebp, DWORD PTR 1518500249[edx*1+ebp] + mov edx, -1 + rol ebp, 15 + add ebp, ebx ; 27 - add edx, esi - mov esi, eax - sub edi, ebp - and esi, ebp - and edi, ebx - or esi, edi - mov edi, DWORD PTR 12[esp] - rol eax, 10 - lea edx, DWORD PTR 1518500249[esi*1+edx] - mov esi, -1 - rol edx, 9 - add edx, ecx + add ebx, eax + mov eax, ecx + sub edx, ebp + and eax, ebp + and edx, esi + or eax, edx + mov edx, DWORD PTR 8[esp] + rol ecx, 10 + lea ebx, DWORD PTR 1518500249[eax*1+ebx] + mov eax, -1 + rol ebx, 9 + add ebx, edi ; 28 - add ecx, edi - mov edi, ebp - sub esi, edx - and edi, edx - and esi, eax - or edi, esi - mov esi, DWORD PTR 60[esp] + add edi, edx + mov edx, ebp + sub eax, ebx + and edx, ebx + and eax, ecx + or edx, eax + mov eax, DWORD PTR 56[esp] rol ebp, 10 - lea ecx, DWORD PTR 1518500249[edi*1+ecx] - mov edi, -1 - rol ecx, 11 - add ecx, ebx + lea edi, DWORD PTR 1518500249[edx*1+edi] + mov edx, -1 + rol edi, 11 + add edi, esi ; 29 - add ebx, esi - mov esi, edx - sub edi, ecx - and esi, ecx - and edi, ebp - or esi, edi - mov edi, DWORD PTR 48[esp] - rol edx, 10 - lea ebx, DWORD PTR 1518500249[esi*1+ebx] - mov esi, -1 - rol ebx, 7 - add ebx, eax + add esi, eax + mov eax, ebx + sub edx, edi + and eax, edi + and edx, ebp + or eax, edx + mov edx, DWORD PTR 44[esp] + rol ebx, 10 + lea esi, DWORD PTR 1518500249[eax*1+esi] + mov eax, -1 + rol esi, 7 + add esi, ecx ; 30 - add eax, edi - mov edi, ecx - sub esi, ebx - and edi, ebx - and esi, edx - or edi, esi - mov esi, DWORD PTR 36[esp] - rol ecx, 10 - lea eax, DWORD PTR 1518500249[edi*1+eax] - mov edi, -1 - rol eax, 13 - add eax, ebp + add ecx, edx + mov edx, edi + sub eax, esi + and edx, esi + and eax, ebx + or edx, eax + mov eax, DWORD PTR 32[esp] + rol edi, 10 + lea ecx, DWORD PTR 1518500249[edx*1+ecx] + mov edx, -1 + rol ecx, 13 + add ecx, ebp ; 31 - add ebp, esi - mov esi, ebx - sub edi, eax - and esi, eax - and edi, ecx - or esi, edi - mov edi, -1 - rol ebx, 10 - lea ebp, DWORD PTR 1518500249[esi*1+ebp] - sub edi, eax + add ebp, eax + mov eax, esi + sub edx, ecx + and eax, ecx + and edx, edi + or eax, edx + mov edx, -1 + rol esi, 10 + lea ebp, DWORD PTR 1518500249[eax*1+ebp] + sub edx, ecx rol ebp, 12 - add ebp, edx + add ebp, ebx ; 32 - mov esi, DWORD PTR 16[esp] - or edi, ebp - add edx, esi - xor edi, ebx - mov esi, -1 - rol eax, 10 - lea edx, DWORD PTR 1859775393[edi*1+edx] - sub esi, ebp - rol edx, 11 - add edx, ecx + mov eax, DWORD PTR 12[esp] + or edx, ebp + add ebx, eax + xor edx, esi + mov eax, -1 + rol ecx, 10 + lea ebx, DWORD PTR 1859775393[edx*1+ebx] + sub eax, ebp + rol ebx, 11 + add ebx, edi ; 33 - mov edi, DWORD PTR 44[esp] - or esi, edx - add ecx, edi - xor esi, eax - mov edi, -1 + mov edx, DWORD PTR 40[esp] + or eax, ebx + add edi, edx + xor eax, ecx + mov edx, -1 rol ebp, 10 - lea ecx, DWORD PTR 1859775393[esi*1+ecx] - sub edi, edx - rol ecx, 13 - add ecx, ebx + lea edi, DWORD PTR 1859775393[eax*1+edi] + sub edx, ebx + rol edi, 13 + add edi, esi ; 34 - mov esi, DWORD PTR 60[esp] - or edi, ecx - add ebx, esi - xor edi, ebp - mov esi, -1 - rol edx, 10 - lea ebx, DWORD PTR 1859775393[edi*1+ebx] - sub esi, ecx - rol ebx, 6 - add ebx, eax + mov eax, DWORD PTR 56[esp] + or edx, edi + add esi, eax + xor edx, ebp + mov eax, -1 + rol ebx, 10 + lea esi, DWORD PTR 1859775393[edx*1+esi] + sub eax, edi + rol esi, 6 + add esi, ecx ; 35 - mov edi, DWORD PTR 20[esp] - or esi, ebx - add eax, edi - xor esi, edx - mov edi, -1 - rol ecx, 10 - lea eax, DWORD PTR 1859775393[esi*1+eax] - sub edi, ebx - rol eax, 7 - add eax, ebp + mov edx, DWORD PTR 16[esp] + or eax, esi + add ecx, edx + xor eax, ebx + mov edx, -1 + rol edi, 10 + lea ecx, DWORD PTR 1859775393[eax*1+ecx] + sub edx, esi + rol ecx, 7 + add ecx, ebp ; 36 - mov esi, DWORD PTR 40[esp] - or edi, eax - add ebp, esi - xor edi, ecx - mov esi, -1 - rol ebx, 10 - lea ebp, DWORD PTR 1859775393[edi*1+ebp] - sub esi, eax + mov eax, DWORD PTR 36[esp] + or edx, ecx + add ebp, eax + xor edx, edi + mov eax, -1 + rol esi, 10 + lea ebp, DWORD PTR 1859775393[edx*1+ebp] + sub eax, ecx rol ebp, 14 - add ebp, edx + add ebp, ebx ; 37 - mov edi, DWORD PTR 64[esp] - or esi, ebp - add edx, edi - xor esi, ebx - mov edi, -1 - rol eax, 10 - lea edx, DWORD PTR 1859775393[esi*1+edx] - sub edi, ebp - rol edx, 9 - add edx, ecx + mov edx, DWORD PTR 60[esp] + or eax, ebp + add ebx, edx + xor eax, esi + mov edx, -1 + rol ecx, 10 + lea ebx, DWORD PTR 1859775393[eax*1+ebx] + sub edx, ebp + rol ebx, 9 + add ebx, edi ; 38 - mov esi, DWORD PTR 36[esp] - or edi, edx - add ecx, esi - xor edi, eax - mov esi, -1 + mov eax, DWORD PTR 32[esp] + or edx, ebx + add edi, eax + xor edx, ecx + mov eax, -1 rol ebp, 10 - lea ecx, DWORD PTR 1859775393[edi*1+ecx] - sub esi, edx - rol ecx, 13 - add ecx, ebx + lea edi, DWORD PTR 1859775393[edx*1+edi] + sub eax, ebx + rol edi, 13 + add edi, esi ; 39 - mov edi, DWORD PTR 8[esp] - or esi, ecx - add ebx, edi - xor esi, ebp - mov edi, -1 - rol edx, 10 - lea ebx, DWORD PTR 1859775393[esi*1+ebx] - sub edi, ecx - rol ebx, 15 - add ebx, eax + mov edx, DWORD PTR 4[esp] + or eax, edi + add esi, edx + xor eax, ebp + mov edx, -1 + rol ebx, 10 + lea esi, DWORD PTR 1859775393[eax*1+esi] + sub edx, edi + rol esi, 15 + add esi, ecx ; 40 - mov esi, DWORD PTR 12[esp] - or edi, ebx - add eax, esi - xor edi, edx - mov esi, -1 - rol ecx, 10 - lea eax, DWORD PTR 1859775393[edi*1+eax] - sub esi, ebx - rol eax, 14 - add eax, ebp + mov eax, DWORD PTR 8[esp] + or edx, esi + add ecx, eax + xor edx, ebx + mov eax, -1 + rol edi, 10 + lea ecx, DWORD PTR 1859775393[edx*1+ecx] + sub eax, esi + rol ecx, 14 + add ecx, ebp ; 41 - mov edi, DWORD PTR 32[esp] - or esi, eax - add ebp, edi - xor esi, ecx - mov edi, -1 - rol ebx, 10 - lea ebp, DWORD PTR 1859775393[esi*1+ebp] - sub edi, eax - rol ebp, 8 + mov edx, DWORD PTR 28[esp] + or eax, ecx add ebp, edx + xor eax, edi + mov edx, -1 + rol esi, 10 + lea ebp, DWORD PTR 1859775393[eax*1+ebp] + sub edx, ecx + rol ebp, 8 + add ebp, ebx ; 42 - mov esi, DWORD PTR 4[esp] - or edi, ebp - add edx, esi - xor edi, ebx - mov esi, -1 - rol eax, 10 - lea edx, DWORD PTR 1859775393[edi*1+edx] - sub esi, ebp - rol edx, 13 - add edx, ecx + mov eax, DWORD PTR [esp] + or edx, ebp + add ebx, eax + xor edx, esi + mov eax, -1 + rol ecx, 10 + lea ebx, DWORD PTR 1859775393[edx*1+ebx] + sub eax, ebp + rol ebx, 13 + add ebx, edi ; 43 - mov edi, DWORD PTR 28[esp] - or esi, edx - add ecx, edi - xor esi, eax - mov edi, -1 + mov edx, DWORD PTR 24[esp] + or eax, ebx + add edi, edx + xor eax, ecx + mov edx, -1 rol ebp, 10 - lea ecx, DWORD PTR 1859775393[esi*1+ecx] - sub edi, edx - rol ecx, 6 - add ecx, ebx + lea edi, DWORD PTR 1859775393[eax*1+edi] + sub edx, ebx + rol edi, 6 + add edi, esi ; 44 - mov esi, DWORD PTR 56[esp] - or edi, ecx - add ebx, esi - xor edi, ebp - mov esi, -1 - rol edx, 10 - lea ebx, DWORD PTR 1859775393[edi*1+ebx] - sub esi, ecx - rol ebx, 5 - add ebx, eax + mov eax, DWORD PTR 52[esp] + or edx, edi + add esi, eax + xor edx, ebp + mov eax, -1 + rol ebx, 10 + lea esi, DWORD PTR 1859775393[edx*1+esi] + sub eax, edi + rol esi, 5 + add esi, ecx ; 45 - mov edi, DWORD PTR 48[esp] - or esi, ebx - add eax, edi - xor esi, edx - mov edi, -1 - rol ecx, 10 - lea eax, DWORD PTR 1859775393[esi*1+eax] - sub edi, ebx - rol eax, 12 - add eax, ebp + mov edx, DWORD PTR 44[esp] + or eax, esi + add ecx, edx + xor eax, ebx + mov edx, -1 + rol edi, 10 + lea ecx, DWORD PTR 1859775393[eax*1+ecx] + sub edx, esi + rol ecx, 12 + add ecx, ebp ; 46 - mov esi, DWORD PTR 24[esp] - or edi, eax - add ebp, esi - xor edi, ecx - mov esi, -1 - rol ebx, 10 - lea ebp, DWORD PTR 1859775393[edi*1+ebp] - sub esi, eax + mov eax, DWORD PTR 20[esp] + or edx, ecx + add ebp, eax + xor edx, edi + mov eax, -1 + rol esi, 10 + lea ebp, DWORD PTR 1859775393[edx*1+ebp] + sub eax, ecx rol ebp, 7 - add ebp, edx + add ebp, ebx ; 47 - mov edi, DWORD PTR 52[esp] - or esi, ebp - add edx, edi - xor esi, ebx - mov edi, -1 - rol eax, 10 - lea edx, DWORD PTR 1859775393[esi*1+edx] - mov esi, eax - rol edx, 5 - add edx, ecx + mov edx, DWORD PTR 48[esp] + or eax, ebp + add ebx, edx + xor eax, esi + mov edx, -1 + rol ecx, 10 + lea ebx, DWORD PTR 1859775393[eax*1+ebx] + mov eax, ecx + rol ebx, 5 + add ebx, edi ; 48 - sub edi, eax - and esi, edx - and edi, ebp - or edi, esi - mov esi, DWORD PTR 8[esp] + sub edx, ecx + and eax, ebx + and edx, ebp + or edx, eax + mov eax, DWORD PTR 4[esp] rol ebp, 10 - lea ecx, DWORD PTR 2400959708[edi+ecx] - mov edi, -1 - add ecx, esi - mov esi, ebp - rol ecx, 11 - add ecx, ebx + lea edi, DWORD PTR 2400959708[edx+edi] + mov edx, -1 + add edi, eax + mov eax, ebp + rol edi, 11 + add edi, esi ; 49 - sub edi, ebp - and esi, ecx - and edi, edx - or edi, esi - mov esi, DWORD PTR 40[esp] - rol edx, 10 - lea ebx, DWORD PTR 2400959708[edi+ebx] - mov edi, -1 - add ebx, esi - mov esi, edx - rol ebx, 12 - add ebx, eax + sub edx, ebp + and eax, edi + and edx, ebx + or edx, eax + mov eax, DWORD PTR 36[esp] + rol ebx, 10 + lea esi, DWORD PTR 2400959708[edx+esi] + mov edx, -1 + add esi, eax + mov eax, ebx + rol esi, 12 + add esi, ecx ; 50 - sub edi, edx - and esi, ebx - and edi, ecx - or edi, esi - mov esi, DWORD PTR 48[esp] - rol ecx, 10 - lea eax, DWORD PTR 2400959708[edi+eax] - mov edi, -1 - add eax, esi - mov esi, ecx - rol eax, 14 - add eax, ebp + sub edx, ebx + and eax, esi + and edx, edi + or edx, eax + mov eax, DWORD PTR 44[esp] + rol edi, 10 + lea ecx, DWORD PTR 2400959708[edx+ecx] + mov edx, -1 + add ecx, eax + mov eax, edi + rol ecx, 14 + add ecx, ebp ; 51 - sub edi, ecx - and esi, eax - and edi, ebx - or edi, esi - mov esi, DWORD PTR 44[esp] - rol ebx, 10 - lea ebp, DWORD PTR 2400959708[edi+ebp] - mov edi, -1 - add ebp, esi - mov esi, ebx + sub edx, edi + and eax, ecx + and edx, esi + or edx, eax + mov eax, DWORD PTR 40[esp] + rol esi, 10 + lea ebp, DWORD PTR 2400959708[edx+ebp] + mov edx, -1 + add ebp, eax + mov eax, esi rol ebp, 15 - add ebp, edx + add ebp, ebx ; 52 - sub edi, ebx - and esi, ebp - and edi, eax - or edi, esi - mov esi, DWORD PTR 4[esp] - rol eax, 10 - lea edx, DWORD PTR 2400959708[edi+edx] - mov edi, -1 - add edx, esi - mov esi, eax - rol edx, 14 - add edx, ecx + sub edx, esi + and eax, ebp + and edx, ecx + or edx, eax + mov eax, DWORD PTR [esp] + rol ecx, 10 + lea ebx, DWORD PTR 2400959708[edx+ebx] + mov edx, -1 + add ebx, eax + mov eax, ecx + rol ebx, 14 + add ebx, edi ; 53 - sub edi, eax - and esi, edx - and edi, ebp - or edi, esi - mov esi, DWORD PTR 36[esp] + sub edx, ecx + and eax, ebx + and edx, ebp + or edx, eax + mov eax, DWORD PTR 32[esp] rol ebp, 10 - lea ecx, DWORD PTR 2400959708[edi+ecx] - mov edi, -1 - add ecx, esi - mov esi, ebp - rol ecx, 15 - add ecx, ebx + lea edi, DWORD PTR 2400959708[edx+edi] + mov edx, -1 + add edi, eax + mov eax, ebp + rol edi, 15 + add edi, esi ; 54 - sub edi, ebp - and esi, ecx - and edi, edx - or edi, esi - mov esi, DWORD PTR 52[esp] - rol edx, 10 - lea ebx, DWORD PTR 2400959708[edi+ebx] - mov edi, -1 - add ebx, esi - mov esi, edx - rol ebx, 9 - add ebx, eax + sub edx, ebp + and eax, edi + and edx, ebx + or edx, eax + mov eax, DWORD PTR 48[esp] + rol ebx, 10 + lea esi, DWORD PTR 2400959708[edx+esi] + mov edx, -1 + add esi, eax + mov eax, ebx + rol esi, 9 + add esi, ecx ; 55 - sub edi, edx - and esi, ebx - and edi, ecx - or edi, esi - mov esi, DWORD PTR 20[esp] - rol ecx, 10 - lea eax, DWORD PTR 2400959708[edi+eax] - mov edi, -1 - add eax, esi - mov esi, ecx - rol eax, 8 - add eax, ebp + sub edx, ebx + and eax, esi + and edx, edi + or edx, eax + mov eax, DWORD PTR 16[esp] + rol edi, 10 + lea ecx, DWORD PTR 2400959708[edx+ecx] |