aboutsummaryrefslogtreecommitdiffstats
path: root/crypto/ripemd/asm
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>1999-08-28 13:07:51 +0000
committerAndy Polyakov <appro@openssl.org>1999-08-28 13:07:51 +0000
commit2d0c55eda27ce91946d5b15c3b38138cda3a3564 (patch)
tree2c0c5996b91eb2b206125118f9bc997a0c0d8faf /crypto/ripemd/asm
parent28e0be13f69da0f3763be9b2bb3217d7e8859760 (diff)
downloadopenssl-2d0c55eda27ce91946d5b15c3b38138cda3a3564.tar.gz
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/asm')
-rw-r--r--crypto/ripemd/asm/rips.cpp6
-rw-r--r--crypto/ripemd/asm/rm-win32.asm3433
-rw-r--r--crypto/ripemd/asm/rmd-586.pl108
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]
+ mov edx, -1
+ add ecx, eax
+ mov eax, edi
+ rol ecx, 8
+ add ecx, ebp
; 56
- sub edi, ecx
- and esi, eax
- and edi, ebx
- or edi, esi
- mov esi, DWORD PTR 56[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 52[esp]
+ rol esi, 10
+ lea ebp, DWORD PTR 2400959708[edx+ebp]
+ mov edx, -1
+ add ebp, eax
+ mov eax, esi
rol ebp, 9
- add ebp, edx
+ add ebp, ebx
; 57
- sub edi, ebx
- and esi, ebp
- and edi, eax
- or edi, esi
- mov esi, DWORD PTR 16[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 12[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
; 58
- sub edi, eax
- and esi, edx
- and edi, ebp
- or edi, esi
- mov esi, DWORD PTR 32[esp]
+ sub edx, ecx
+ and eax, ebx
+ and edx, ebp
+ or edx, eax
+ mov eax, DWORD PTR 28[esp]
rol ebp, 10
- lea ecx, DWORD PTR 2400959708[edi+ecx]
- mov edi, -1
- add ecx, esi
- mov esi, ebp
- rol ecx, 5
- add ecx, ebx
+ lea edi, DWORD PTR 2400959708[edx+edi]
+ mov edx, -1
+ add edi, eax
+ mov eax, ebp
+ rol edi, 5
+ add edi, esi
; 59
- sub edi, ebp
- and esi, ecx
- and edi, edx
- or edi, esi
- mov esi, DWORD PTR 64[esp]
- rol edx, 10
- lea ebx, DWORD PTR 2400959708[edi+ebx]
- mov edi, -1
- add ebx, esi
- mov esi, edx
- rol ebx, 6
- add ebx, eax
+ sub edx, ebp
+ and eax, edi
+ and edx, ebx
+ or edx, eax
+ mov eax, DWORD PTR 60[esp]
+ rol ebx, 10
+ lea esi, DWORD PTR 2400959708[edx+esi]
+ mov edx, -1
+ add esi, eax
+ mov eax, ebx
+ rol esi, 6
+ add esi, ecx
; 60
- sub edi, edx
- and esi, ebx
- and edi, ecx
- or edi, esi
- mov esi, DWORD PTR 60[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 56[esp]
+ rol edi, 10
+ lea ecx, DWORD PTR 2400959708[edx+ecx]
+ mov edx, -1
+ add ecx, eax
+ mov eax, edi
+ rol ecx, 8
+ add ecx, ebp
; 61
- sub edi, ecx
- and esi, eax
- and edi, ebx
- or edi, esi
- mov esi, DWORD PTR 24[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 20[esp]
+ rol esi, 10
+ lea ebp, DWORD PTR 2400959708[edx+ebp]
+ mov edx, -1
+ add ebp, eax
+ mov eax, esi
rol ebp, 6
- add ebp, edx
+ add ebp, ebx
; 62
- sub edi, ebx
- and esi, ebp
- and edi, eax
- or edi, esi
- mov esi, DWORD PTR 28[esp]
- rol eax, 10
- lea edx, DWORD PTR 2400959708[edi+edx]
- mov edi, -1
- add edx, esi
- mov esi, eax
- rol edx, 5
- add edx, ecx
+ sub edx, esi
+ and eax, ebp
+ and edx, ecx
+ or edx, eax
+ mov eax, DWORD PTR 24[esp]
+ rol ecx, 10
+ lea ebx, DWORD PTR 2400959708[edx+ebx]
+ mov edx, -1
+ add ebx, eax
+ mov eax, ecx
+ rol ebx, 5
+ add ebx, edi
; 63
- sub edi, eax
- and esi, edx
- and edi, ebp
- or edi, esi
- mov esi, DWORD PTR 12[esp]
+ sub edx, ecx
+ and eax, ebx
+ and edx, ebp
+ or edx, eax
+ mov eax, DWORD PTR 8[esp]
rol ebp, 10
- lea ecx, DWORD PTR 2400959708[edi+ecx]
- mov edi, -1
- add ecx, esi
- sub edi, ebp
- rol ecx, 12
- add ecx, ebx
+ lea edi, DWORD PTR 2400959708[edx+edi]
+ mov edx, -1
+ add edi, eax
+ sub edx, ebp
+ rol edi, 12
+ add edi, esi
; 64
- mov esi, DWORD PTR 20[esp]
- or edi, edx
- add ebx, esi
- xor edi, ecx
- mov esi, -1
- rol edx, 10
- lea ebx, DWORD PTR 2840853838[edi*1+ebx]
- sub esi, edx
- rol ebx, 9
- add ebx, eax
+ mov eax, DWORD PTR 16[esp]
+ or edx, ebx
+ add esi, eax
+ xor edx, edi
+ mov eax, -1
+ rol ebx, 10
+ lea esi, DWORD PTR 2840853838[edx*1+esi]
+ sub eax, ebx
+ rol esi, 9
+ add esi, ecx
; 65
- mov edi, DWORD PTR 4[esp]
- or esi, ecx
- add eax, edi
- xor esi, ebx
- mov edi, -1
- rol ecx, 10
- lea eax, DWORD PTR 2840853838[esi*1+eax]
- sub edi, ecx
- rol eax, 15
- add eax, ebp
+ mov edx, DWORD PTR [esp]
+ or eax, edi
+ add ecx, edx
+ xor eax, esi
+ mov edx, -1
+ rol edi, 10
+ lea ecx, DWORD PTR 2840853838[eax*1+ecx]
+ sub edx, edi
+ rol ecx, 15
+ add ecx, ebp
; 66
- mov esi, DWORD PTR 24[esp]
- or edi, ebx
- add ebp, esi
- xor edi, eax
- mov esi, -1
- rol ebx, 10
- lea ebp, DWORD PTR 2840853838[edi*1+ebp]
- sub esi, ebx
+ mov eax, DWORD PTR 20[esp]
+ or edx, esi
+ add ebp, eax
+ xor edx, ecx
+ mov eax, -1
+ rol esi, 10
+ lea ebp, DWORD PTR 2840853838[edx*1+ebp]
+ sub eax, esi
rol ebp, 5
- add ebp, edx
+ add ebp, ebx
; 67
- mov edi, DWORD PTR 40[esp]
- or esi, eax
- add edx, edi
- xor esi, ebp
- mov edi, -1
- rol eax, 10
- lea edx, DWORD PTR 2840853838[esi*1+edx]
- sub edi, eax
- rol edx, 11
- add edx, ecx
+ mov edx, DWORD PTR 36[esp]
+ or eax, ecx
+ add ebx, edx
+ xor eax, ebp
+ mov edx, -1
+ rol ecx, 10
+ lea ebx, DWORD PTR 2840853838[eax*1+ebx]
+ sub edx, ecx
+ rol ebx, 11
+ add ebx, edi
; 68
- mov esi, DWORD PTR 32[esp]
- or edi, ebp
- add ecx, esi
- xor edi, edx
- mov esi, -1
+ mov eax, DWORD PTR 28[esp]
+ or edx, ebp
+ add edi, eax
+ xor edx, ebx
+ mov eax, -1
rol ebp, 10
- lea ecx, DWORD PTR 2840853838[edi*1+ecx]
- sub esi, ebp
- rol ecx, 6
- add ecx, ebx
+ lea edi, DWORD PTR 2840853838[edx*1+edi]
+ sub eax, ebp
+ rol edi, 6
+ add edi, esi
; 69
- mov edi, DWORD PTR 52[esp]
- or esi, edx
- add ebx, edi
- xor esi, ecx
- mov edi, -1
- rol edx, 10
- lea ebx, DWORD PTR 2840853838[esi*1+ebx]
- sub edi, edx
- rol ebx, 8
- add ebx, eax
+ mov edx, DWORD PTR 48[esp]
+ or eax, ebx
+ add esi, edx
+ xor eax, edi
+ mov edx, -1
+ rol ebx, 10
+ lea esi, DWORD PTR 2840853838[eax*1+esi]
+ sub edx, ebx
+ rol esi, 8
+ add esi, ecx
; 70
- mov esi, DWORD PTR 12[esp]
- or edi, ecx
- add eax, esi
- xor edi, ebx
- mov esi, -1
- rol ecx, 10
- lea eax, DWORD PTR 2840853838[edi*1+eax]
- sub esi, ecx
- rol eax, 13
- add eax, ebp
+ mov eax, DWORD PTR 8[esp]
+ or edx, edi
+ add ecx, eax
+ xor edx, esi
+ mov eax, -1
+ rol edi, 10
+ lea ecx, DWORD PTR 2840853838[edx*1+ecx]
+ sub eax, edi
+ rol ecx, 13
+ add ecx, ebp
; 71
- mov edi, DWORD PTR 44[esp]
- or esi, ebx
- add ebp, edi
- xor esi, eax
- mov edi, -1
- rol ebx, 10
- lea ebp, DWORD PTR 2840853838[esi*1+ebp]
- sub edi, ebx
- rol ebp, 12
+ mov edx, DWORD PTR 40[esp]
+ or eax, esi
add ebp, edx
+ xor eax, ecx
+ mov edx, -1
+ rol esi, 10
+ lea ebp, DWORD PTR 2840853838[eax*1+ebp]
+ sub edx, esi
+ rol ebp, 12
+ add ebp, ebx
; 72
- mov esi, DWORD PTR 60[esp]
- or edi, eax
- add edx, esi
- xor edi, ebp
- mov esi, -1
- rol eax, 10
- lea edx, DWORD PTR 2840853838[edi*1+edx]
- sub esi, eax
- rol edx, 5
- add edx, ecx
+ mov eax, DWORD PTR 56[esp]
+ or edx, ecx
+ add ebx, eax
+ xor edx, ebp
+ mov eax, -1
+ rol ecx, 10
+ lea ebx, DWORD PTR 2840853838[edx*1+ebx]
+ sub eax, ecx
+ rol ebx, 5
+ add ebx, edi
; 73
- mov edi, DWORD PTR 8[esp]
- or esi, ebp
- add ecx, edi
- xor esi, edx
- mov edi, -1
+ mov edx, DWORD PTR 4[esp]
+ or eax, ebp
+ add edi, edx
+ xor eax, ebx
+ mov edx, -1
rol ebp, 10
- lea ecx, DWORD PTR 2840853838[esi*1+ecx]
- sub edi, ebp
- rol ecx, 12
- add ecx, ebx
+ lea edi, DWORD PTR 2840853838[eax*1+edi]
+ sub edx, ebp
+ rol edi, 12
+ add edi, esi
; 74
- mov esi, DWORD PTR 16[esp]
- or edi, edx
- add ebx, esi
- xor edi, ecx
- mov esi, -1
- rol edx, 10
- lea ebx, DWORD PTR 2840853838[edi*1+ebx]
- sub esi, edx
- rol ebx, 13
- add ebx, eax
+ mov eax, DWORD PTR 12[esp]
+ or edx, ebx
+ add esi, eax
+ xor edx, edi
+ mov eax, -1
+ rol ebx, 10
+ lea esi, DWORD PTR 2840853838[edx*1+esi]
+ sub eax, ebx
+ rol esi, 13
+ add esi, ecx
; 75
- mov edi, DWORD PTR 36[esp]
- or esi, ecx
- add eax, edi
- xor esi, ebx
- mov edi, -1
- rol ecx, 10
- lea eax, DWORD PTR 2840853838[esi*1+eax]
- sub edi, ecx
- rol eax, 14
- add eax, ebp
+ mov edx, DWORD PTR 32[esp]
+ or eax, edi
+ add ecx, edx
+ xor eax, esi
+ mov edx, -1
+ rol edi, 10
+ lea ecx, DWORD PTR 2840853838[eax*1+ecx]
+ sub edx, edi
+ rol ecx, 14
+ add ecx, ebp
; 76
- mov esi, DWORD PTR 48[esp]
- or edi, ebx
- add ebp, esi
- xor edi, eax
- mov esi, -1
- rol ebx, 10
- lea ebp, DWORD PTR 2840853838[edi*1+ebp]
- sub esi, ebx
+ mov eax, DWORD PTR 44[esp]
+ or edx, esi
+ add ebp, eax
+ xor edx, ecx
+ mov eax, -1
+ rol esi, 10
+ lea ebp, DWORD PTR 2840853838[edx*1+ebp]
+ sub eax, esi
rol ebp, 11
- add ebp, edx
+ add ebp, ebx
; 77
- mov edi, DWORD PTR 28[esp]
- or esi, eax
- add edx, edi
- xor esi, ebp
- mov edi, -1
- rol eax, 10
- lea edx, DWORD PTR 2840853838[esi*1+edx]
- sub edi, eax
- rol edx, 8
- add edx, ecx
+ mov edx, DWORD PTR 24[esp]
+ or eax, ecx
+ add ebx, edx
+ xor eax, ebp
+ mov edx, -1
+ rol ecx, 10
+ lea ebx, DWORD PTR 2840853838[eax*1+ebx]
+ sub edx, ecx
+ rol ebx, 8
+ add ebx, edi
; 78
- mov esi, DWORD PTR 64[esp]
- or edi, ebp
- add ecx, esi
- xor edi, edx
- mov esi, -1
+ mov eax, DWORD PTR 60[esp]
+ or edx, ebp
+ add edi, eax
+ xor edx, ebx
+ mov eax, -1
rol ebp, 10
- lea ecx, DWORD PTR 2840853838[edi*1+ecx]
- sub esi, ebp
- rol ecx, 5
- add ecx, ebx
+ lea edi, DWORD PTR 2840853838[edx*1+edi]
+ sub eax, ebp
+ rol edi, 5
+ add edi, esi
; 79
- mov edi, DWORD PTR 56[esp]
- or esi, edx
- add ebx, edi
- xor esi, ecx
- mov edi, DWORD PTR 108[esp]
- rol edx, 10
- lea ebx, DWORD PTR 2840853838[esi*1+ebx]
- mov DWORD PTR 68[esp],eax
- rol ebx, 6
- add ebx, eax
- mov eax, DWORD PTR [edi]
- mov DWORD PTR 72[esp],ebx
- mov DWORD PTR 76[esp],ecx
- mov ebx, DWORD PTR 4[edi]
- mov DWORD PTR 80[esp],edx
- mov ecx, DWORD PTR 8[edi]
- mov DWORD PTR 84[esp],ebp
- mov edx, DWORD PTR 12[edi]
- mov ebp, DWORD PTR 16[edi]
+ mov edx, DWORD PTR 52[esp]
+ or eax, ebx
+ add esi, edx
+ xor eax, edi
+ mov edx, DWORD PTR 128[esp]
+ rol ebx, 10
+ lea esi, DWORD PTR 2840853838[eax*1+esi]
+ mov DWORD PTR 64[esp],ecx
+ rol esi, 6
+ add esi, ecx
+ mov ecx, DWORD PTR [edx]
+ mov DWORD PTR 68[esp],esi
+ mov DWORD PTR 72[esp],edi
+ mov esi, DWORD PTR 4[edx]
+ mov DWORD PTR 76[esp],ebx
+ mov edi, DWORD PTR 8[edx]
+ mov DWORD PTR 80[esp],ebp
+ mov ebx, DWORD PTR 12[edx]
+ mov ebp, DWORD PTR 16[edx]
; 80
- mov edi, -1
- sub edi, edx
- mov esi, DWORD PTR 24[esp]
- or edi, ecx
- add eax, esi
- xor edi, ebx
- mov esi, -1
- rol ecx, 10
- lea eax, DWORD PTR 1352829926[edi*1+eax]
- sub esi, ecx
- rol eax, 8
- add eax, ebp
+ mov edx, -1
+ sub edx, ebx
+ mov eax, DWORD PTR 20[esp]
+ or edx, edi
+ add ecx, eax
+ xor edx, esi
+ mov eax, -1
+ rol edi, 10
+ lea ecx, DWORD PTR 1352829926[edx*1+ecx]
+ sub eax, edi
+ rol ecx, 8
+ add ecx, ebp
; 81
- mov edi, DWORD PTR 60[esp]
- or esi, ebx
- add ebp, edi
- xor esi, eax
- mov edi, -1
- rol ebx, 10
- lea ebp, DWORD PTR 1352829926[esi*1+ebp]
- sub edi, ebx
- rol ebp, 9
+ mov edx, DWORD PTR 56[esp]
+ or eax, esi
add ebp, edx
+ xor eax, ecx
+ mov edx, -1
+ rol esi, 10
+ lea ebp, DWORD PTR 1352829926[eax*1+ebp]
+ sub edx, esi
+ rol ebp, 9
+ add ebp, ebx
; 82
- mov esi, DWORD PTR 32[esp]
- or edi, eax
- add edx, esi
- xor edi, ebp
- mov esi, -1
- rol eax, 10
- lea edx, DWORD PTR 1352829926[edi*1+edx]
- sub esi, eax
- rol edx, 9
- add edx, ecx
+ mov eax, DWORD PTR 28[esp]
+ or edx, ecx
+ add ebx, eax
+ xor edx, ebp
+ mov eax, -1
+ rol ecx, 10
+ lea ebx, DWORD PTR 1352829926[edx*1+ebx]
+ sub eax, ecx
+ rol ebx, 9
+ add ebx, edi
; 83
- mov edi, DWORD PTR 4[esp]
- or esi, ebp
- add ecx, edi
- xor esi, edx
- mov edi, -1
+ mov edx, DWORD PTR [esp]
+ or eax, ebp
+ add edi, edx
+ xor eax, ebx
+ mov edx, -1
rol ebp, 10
- lea ecx, DWORD PTR 1352829926[esi*1+ecx]
- sub edi, ebp
- rol ecx, 11
- add ecx, ebx
+ lea edi, DWORD PTR 1352829926[eax*1+edi]
+ sub edx, ebp
+ rol edi, 11
+ add edi, esi
; 84
- mov esi, DWORD PTR 40[esp]
- or edi, edx
- add ebx, esi
- xor edi, ecx
- mov esi, -1
- rol edx, 10
- lea ebx, DWORD PTR 1352829926[edi*1+ebx]
- sub esi, edx
- rol ebx, 13
- add ebx, eax
+ mov eax, DWORD PTR 36[esp]
+ or edx, ebx
+ add esi, eax
+ xor edx, edi
+ mov eax, -1
+ rol ebx, 10
+ lea esi, DWORD PTR 1352829926[edx*1+esi]
+ sub eax, ebx
+ rol esi, 13
+ add esi, ecx
; 85
- mov edi, DWORD PTR 12[esp]
- or esi, ecx
- add eax, edi
- xor esi, ebx
- mov edi, -1
- rol ecx, 10
- lea eax, DWORD PTR 1352829926[esi*1+eax]
- sub edi, ecx
- rol eax, 15
- add eax, ebp
+ mov edx, DWORD PTR 8[esp]
+ or eax, edi
+ add ecx, edx
+ xor eax, esi
+ mov edx, -1
+ rol edi, 10
+ lea ecx, DWORD PTR 1352829926[eax*1+ecx]
+ sub edx, edi
+ rol ecx, 15
+ add ecx, ebp
; 86
- mov esi, DWORD PTR 48[esp]
- or edi, ebx
- add ebp, esi
- xor edi, eax
- mov esi, -1
- rol ebx, 10
- lea ebp, DWORD PTR 1352829926[edi*1+ebp]
- sub esi, ebx
+ mov eax, DWORD PTR 44[esp]
+ or edx, esi
+ add ebp, eax
+ xor edx, ecx
+ mov eax, -1
+ rol esi, 10
+ lea ebp, DWORD PTR 1352829926[edx*1+ebp]
+ sub eax, esi
rol ebp, 15
- add ebp, edx
+ add ebp, ebx
; 87
- mov edi, DWORD PTR 20[esp]
- or esi, eax
- add edx, edi
- xor esi, ebp
- mov edi, -1
- rol eax, 10
- lea edx, DWORD PTR 1352829926[esi*1+edx]
- sub edi, eax
- rol edx, 5
- add edx, ecx
+ mov edx, DWORD PTR 16[esp]
+ or eax, ecx
+ add ebx, edx
+ xor eax, ebp
+ mov edx, -1
+ rol ecx, 10
+ lea ebx, DWORD PTR 1352829926[eax*1+ebx]
+ sub edx, ecx
+ rol ebx, 5
+ add ebx, edi
; 88
- mov esi, DWORD PTR 56[esp]
- or edi, ebp
- add ecx, esi
- xor edi, edx
- mov esi, -1
+ mov eax, DWORD PTR 52[esp]
+ or edx, ebp
+ add edi, eax
+ xor edx, ebx
+ mov eax, -1
rol ebp, 10
- lea ecx, DWORD PTR 1352829926[edi*1+ecx]
- sub esi, ebp
- rol ecx, 7
- add ecx, ebx
+ lea edi, DWORD PTR 1352829926[edx*1+edi]
+ sub eax, ebp
+ rol edi, 7
+ add edi, esi
; 89
- mov edi, DWORD PTR 28[esp]
- or esi, edx
- add ebx, edi
- xor esi, ecx
- mov edi, -1
- rol edx, 10
- lea ebx, DWORD PTR 1352829926[esi*1+ebx]
- sub edi, edx
- rol ebx, 7
- add ebx, eax
+ mov edx, DWORD PTR 24[esp]
+ or eax, ebx
+ add esi, edx
+ xor eax, edi
+ mov edx, -1
+ rol ebx, 10
+ lea esi, DWORD PTR 1352829926[eax*1+esi]
+ sub edx, ebx
+ rol esi, 7
+ add esi, ecx
; 90
- mov esi, DWORD PTR 64[esp]
- or edi, ecx
- add eax, esi
- xor edi, ebx
- mov esi, -1
- rol ecx, 10
- lea eax, DWORD PTR 1352829926[edi*1+eax]
- sub esi, ecx
- rol eax, 8
- add eax, ebp
+ mov eax, DWORD PTR 60[esp]
+ or edx, edi
+ add ecx, eax
+ xor edx, esi
+ mov eax, -1
+ rol edi, 10
+ lea ecx, DWORD PTR 1352829926[edx*1+ecx]
+ sub eax, edi
+ rol ecx, 8
+ add ecx, ebp
; 91
- mov edi, DWORD PTR 36[esp]
- or esi, ebx
- add ebp, edi
- xor esi, eax
- mov edi, -1
- rol ebx, 10
- lea ebp, DWORD PTR 1352829926[esi*1+ebp]
- sub edi, ebx
- rol ebp, 11
+ mov edx, DWORD PTR 32[esp]
+ or eax, esi
add ebp, edx
+ xor eax, ecx
+ mov edx, -1
+ rol esi, 10
+ lea ebp, DWORD PTR 1352829926[eax*1+ebp]
+ sub edx, esi
+ rol ebp, 11
+ add ebp, ebx
; 92
- mov esi, DWORD PTR 8[esp]
- or edi, eax
- add edx, esi
- xor edi, ebp
- mov esi, -1
- rol eax, 10
- lea edx, DWORD PTR 1352829926[edi*1+edx]
- sub esi, eax
- rol edx, 14
- add edx, ecx
+ mov eax, DWORD PTR 4[esp]
+ or edx, ecx
+ add ebx, eax
+ xor edx, ebp
+ mov eax, -1
+ rol ecx, 10
+ lea ebx, DWORD PTR 1352829926[edx*1+ebx]
+ sub eax, ecx
+ rol ebx, 14
+ add ebx, edi
; 93
- mov edi, DWORD PTR 44[esp]
- or esi, ebp
- add ecx, edi
- xor esi, edx
- mov edi, -1
+ mov edx, DWORD PTR 40[esp]
+ or eax, ebp
+ add edi, edx
+ xor eax, ebx
+ mov edx, -1
rol ebp, 10
- lea ecx, DWORD PTR 1352829926[esi*1+ecx]
- sub edi, ebp
- rol ecx, 14
- add ecx, ebx
+ lea edi, DWORD PTR 1352829926[eax*1+edi]
+ sub edx, ebp
+ rol edi, 14
+ add edi, esi
; 94
- mov esi, DWORD PTR 16[esp]
- or edi, edx
- add ebx, esi
- xor edi, ecx
- mov esi, -1
- rol edx, 10
- lea ebx, DWORD PTR 1352829926[edi*1+ebx]
- sub esi, edx
- rol ebx, 12
- add ebx, eax
+ mov eax, DWORD PTR 12[esp]
+ or edx, ebx
+ add esi, eax
+ xor edx, edi
+ mov eax, -1
+ rol ebx, 10
+ lea esi, DWORD PTR 1352829926[edx*1+esi]
+ sub eax, ebx
+ rol esi, 12
+ add esi, ecx
; 95
- mov edi, DWORD PTR 52[esp]
- or esi, ecx
- add eax, edi
- xor esi, ebx
- mov edi, -1
- rol ecx, 10
- lea eax, DWORD PTR 1352829926[esi*1+eax]
- mov esi, ecx
- rol eax, 6
- add eax, ebp
+ mov edx, DWORD PTR 48[esp]
+ or eax, edi
+ add ecx, edx
+ xor eax, esi
+ mov edx, -1
+ rol edi, 10
+ lea ecx, DWORD PTR 1352829926[eax*1+ecx]
+ mov eax, edi
+ rol ecx, 6
+ add ecx, ebp
; 96
- sub edi, ecx
- and esi, eax
- and edi, ebx
- or edi, esi
- mov esi, DWORD PTR 28[esp]
- rol ebx, 10
- lea ebp, DWORD PTR 1548603684[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 24[esp]
+ rol esi, 10
+ lea ebp, DWORD PTR 1548603684[edx+ebp]
+ mov edx, -1
+ add ebp, eax
+ mov eax, esi
rol ebp, 9
- add ebp, edx
+ add ebp, ebx
; 97
- sub edi, ebx
- and esi, ebp
- and edi, eax
- or edi, esi
- mov esi, DWORD PTR 48[esp]
- rol eax, 10
- lea edx, DWORD PTR 1548603684[edi+edx]
- mov edi, -1
- add edx, esi
- mov esi, eax
- rol edx, 13
- add edx, ecx
+ sub edx, esi
+ and eax, ebp
+ and edx, ecx
+ or edx, eax
+ mov eax, DWORD PTR 44[esp]
+ rol ecx, 10
+ lea ebx, DWORD PTR 1548603684[edx+ebx]
+ mov edx, -1
+ add ebx, eax
+ mov eax, ecx
+ rol ebx, 13
+ add ebx, edi
; 98
- sub edi, eax
- and esi, edx
- and edi, ebp
- or edi, esi
- mov esi, DWORD PTR 16[esp]
+ sub edx, ecx
+ and eax, ebx
+ and edx, ebp
+ or edx, eax
+ mov eax, DWORD PTR 12[esp]
rol ebp, 10
- lea ecx, DWORD PTR 1548603684[edi+ecx]
- mov edi, -1
- add ecx, esi
- mov esi, ebp
- rol ecx, 15
- add ecx, ebx
+ lea edi, DWORD PTR 1548603684[edx+edi]
+ mov edx, -1
+ add edi, eax
+ mov eax, ebp
+ rol edi, 15
+ add edi, esi
; 99
- sub edi, ebp
- and esi, ecx
- and edi, edx
- or edi, esi
- mov esi, DWORD PTR 32[esp]
- rol edx, 10
- lea ebx, DWORD PTR 1548603684[edi+ebx]
- mov edi, -1
- add ebx, esi
- mov esi, edx
- rol ebx, 7
- add ebx, eax
+ sub edx, ebp
+ and eax, edi
+ and edx, ebx
+ or edx, eax
+ mov eax, DWORD PTR 28[esp]
+ rol ebx, 10
+ lea esi, DWORD PTR 1548603684[edx+esi]
+ mov edx, -1
+ add esi, eax
+ mov eax, ebx
+ rol esi, 7
+ add esi, ecx
; 100
- sub edi, edx
- and esi, ebx
- and edi, ecx
- or edi, esi
- mov esi, DWORD PTR 4[esp]
- rol ecx, 10
- lea eax, DWORD PTR 1548603684[edi+eax]
- mov edi, -1
- add eax, esi
- mov esi, ecx
- rol eax, 12
- add eax, ebp
+ sub edx, ebx
+ and eax, esi
+ and edx, edi
+ or edx, eax
+ mov eax, DWORD PTR [esp]
+ rol edi, 10
+ lea ecx, DWORD PTR 1548603684[edx+ecx]
+ mov edx, -1
+ add ecx, eax
+ mov eax, edi
+ rol ecx, 12
+ add ecx, ebp
; 101
- sub edi, ecx
- and esi, eax
- and edi, ebx
- or edi, esi
- mov esi, DWORD PTR 56[esp]
- rol ebx, 10
- lea ebp, DWORD PTR 1548603684[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 52[esp]
+ rol esi, 10
+ lea ebp, DWORD PTR 1548603684[edx+ebp]
+ mov edx, -1
+ add ebp, eax
+ mov eax, esi
rol ebp, 8
- add ebp, edx
+ add ebp, ebx
; 102
- sub edi, ebx
- and esi, ebp
- and edi, eax
- or edi, esi
- mov esi, DWORD PTR 24[esp]
- rol eax, 10
- lea edx, DWORD PTR 1548603684[edi+edx]
- mov edi, -1
- add edx, esi
- mov esi, eax
- rol edx, 9
- add edx, ecx
+ sub edx, esi
+ and eax, ebp
+ and edx, ecx
+ or edx, eax
+ mov eax, DWORD PTR 20[esp]
+ rol ecx, 10
+ lea ebx, DWORD PTR 1548603684[edx+ebx]
+ mov edx, -1
+ add ebx, eax
+ mov eax, ecx
+ rol ebx, 9
+ add ebx, edi
; 103
- sub edi, eax
- and esi, edx
- and edi, ebp
- or edi, esi
- mov esi, DWORD PTR 44[esp]
+ sub edx, ecx
+ and eax, ebx
+ and edx, ebp
+ or edx, eax
+ mov eax, DWORD PTR 40[esp]
rol ebp, 10
- lea ecx, DWORD PTR 1548603684[edi+ecx]
- mov edi, -1
- add ecx, esi
- mov esi, ebp
- rol ecx, 11
- add ecx, ebx
+ lea edi, DWORD PTR 1548603684[edx+edi]
+ mov edx, -1
+ add edi, eax
+ mov eax, ebp
+ rol edi, 11
+ add edi, esi
; 104
- sub edi, ebp
- and esi, ecx
- and edi, edx
- or edi, esi
- mov esi, DWORD PTR 60[esp]
- rol edx, 10
- lea ebx, DWORD PTR 1548603684[edi+ebx]
- mov edi, -1
- add ebx, esi
- mov esi, edx
- rol ebx, 7
- add ebx, eax
+ sub edx, ebp
+ and eax, edi
+ and edx, ebx
+ or edx, eax
+ mov eax, DWORD PTR 56[esp]
+ rol ebx, 10
+ lea esi, DWORD PTR 1548603684[edx+esi]
+ mov edx, -1
+ add esi, eax
+ mov eax, ebx
+ rol esi, 7
+ add esi, ecx
; 105
- sub edi, edx
- and esi, ebx
- and edi, ecx
- or edi, esi
- mov esi, DWORD PTR 64[esp]
- rol ecx, 10
- lea eax, DWORD PTR 1548603684[edi+eax]
- mov edi, -1
- add eax, esi
- mov esi, ecx
- rol eax, 7
- add eax, ebp
+ sub edx, ebx
+ and eax, esi
+ and edx, edi
+ or edx, eax
+ mov eax, DWORD PTR 60[esp]
+ rol edi, 10
+ lea ecx, DWORD PTR 1548603684[edx+ecx]
+ mov edx, -1
+ add ecx, eax
+ mov eax, edi
+ rol ecx, 7
+ add ecx, ebp
; 106
- sub edi, ecx
- and esi, eax
- and edi, ebx
- or edi, esi
- mov esi, DWORD PTR 36[esp]
- rol ebx, 10
- lea ebp, DWORD PTR 1548603684[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 32[esp]
+ rol esi, 10
+ lea ebp, DWORD PTR 1548603684[edx+ebp]
+ mov edx, -1
+ add ebp, eax
+ mov eax, esi
rol ebp, 12
- add ebp, edx
+ add ebp, ebx
; 107
- sub edi, ebx
- and esi, ebp
- and edi, eax
- or edi, esi
- mov esi, DWORD PTR 52[esp]
- rol eax, 10
- lea edx, DWORD PTR 1548603684[edi+edx]
- mov edi, -1
- add edx, esi
- mov esi, eax
- rol edx, 7
- add edx, ecx
+ sub edx, esi
+ and eax, ebp
+ and edx, ecx
+ or edx, eax
+ mov eax, DWORD PTR 48[esp]
+ rol ecx, 10
+ lea ebx, DWORD PTR 1548603684[edx+ebx]
+ mov edx, -1
+ add ebx, eax
+ mov eax, ecx
+ rol ebx, 7
+ add ebx, edi
; 108
- sub edi, eax
- and esi, edx
- and edi, ebp
- or edi, esi
- mov esi, DWORD PTR 20[esp]
+ sub edx, ecx
+ and eax, ebx
+ and edx, ebp
+ or edx, eax
+ mov eax, DWORD PTR 16[esp]
rol ebp, 10
- lea ecx, DWORD PTR 1548603684[edi+ecx]
- mov edi, -1
- add ecx, esi
- mov esi, ebp
- rol ecx, 6
- add ecx, ebx
+ lea edi, DWORD PTR 1548603684[edx+edi]
+ mov edx, -1
+ add edi, eax
+ mov eax, ebp
+ rol edi, 6
+ add edi, esi
; 109
- 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 1548603684[edi+ebx]
- mov edi, -1
- add ebx, esi
- mov esi, edx
- rol ebx, 15
- 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 1548603684[edx+esi]
+ mov edx, -1
+ add esi, eax
+ mov eax, ebx
+ rol esi, 15
+ add esi, ecx
; 110
- sub edi, edx
- and esi, ebx
- and edi, ecx
- or edi, esi
- mov esi, DWORD PTR 8[esp]
- rol ecx, 10
- lea eax, DWORD PTR 1548603684[edi+eax]
- mov edi, -1
- add eax, esi
- mov esi, ecx
- rol eax, 13
- add eax, ebp
+ sub edx, ebx
+ and eax, esi
+ and edx, edi
+ or edx, eax
+ mov eax, DWORD PTR 4[esp]
+ rol edi, 10
+ lea ecx, DWORD PTR 1548603684[edx+ecx]
+ mov edx, -1
+ add ecx, eax
+ mov eax, edi
+ rol ecx, 13
+ add ecx, ebp
; 111
- sub edi, ecx
- and esi, eax
- and edi, ebx
- or edi, esi
- mov esi, DWORD PTR 12[esp]
- rol ebx, 10
- lea ebp, DWORD PTR 1548603684[edi+ebp]
- mov edi, -1
- add ebp, esi
- sub edi, eax
+ sub edx, edi
+ and eax, ecx
+ and edx, esi
+ or edx, eax
+ mov eax, DWORD PTR 8[esp]
+ rol esi, 10
+ lea ebp, DWORD PTR 1548603684[edx+ebp]
+ mov edx, -1
+ add ebp, eax
+ sub edx, ecx
rol ebp, 11
- add ebp, edx
+ add ebp, ebx
; 112
- mov esi, DWORD PTR 64[esp]
- or edi, ebp
- add edx, esi
- xor edi, ebx
- mov esi, -1
- rol eax, 10
- lea edx, DWORD PTR 1836072691[edi*1+edx]
- sub esi, ebp
- rol edx, 9
- add edx, ecx
+ mov eax, DWORD PTR 60[esp]
+ or edx, ebp
+ add ebx, eax
+ xor edx, esi
+ mov eax, -1
+ rol ecx, 10
+ lea ebx, DWORD PTR 1836072691[edx*1+ebx]
+ sub eax, ebp
+ rol ebx, 9
+ add ebx, edi
; 113
- mov edi, DWORD PTR 24[esp]
- or esi, edx
- add ecx, edi
- xor esi, eax
- mov edi, -1
+ mov edx, DWORD PTR 20[esp]
+ or eax, ebx
+ add edi, edx
+ xor eax, ecx
+ mov edx, -1
rol ebp, 10
- lea ecx, DWORD PTR 1836072691[esi*1+ecx]
- sub edi, edx
- rol ecx, 7
- add ecx, ebx
+ lea edi, DWORD PTR 1836072691[eax*1+edi]
+ sub edx, ebx
+ rol edi, 7
+ add edi, esi
; 114
- mov esi, DWORD PTR 8[esp]
- or edi, ecx
- add ebx, esi
- xor edi, ebp
- mov esi, -1
- rol edx, 10
- lea ebx, DWORD PTR 1836072691[edi*1+ebx]
- sub esi, ecx
- rol ebx, 15
- add ebx, eax
+ mov eax, DWORD PTR 4[esp]
+ or edx, edi
+ add esi, eax
+ xor edx, ebp
+ mov eax, -1
+ rol ebx, 10
+ lea esi, DWORD PTR 1836072691[edx*1+esi]
+ sub eax, edi
+ rol esi, 15
+ add esi, ecx
; 115
- mov edi, DWORD PTR 16[esp]
- or esi, ebx
- add eax, edi
- xor esi, edx
- mov edi, -1
- rol ecx, 10
- lea eax, DWORD PTR 1836072691[esi*1+eax]
- sub edi, ebx
- rol eax, 11
- add eax, ebp
+ mov edx, DWORD PTR 12[esp]
+ or eax, esi
+ add ecx, edx
+ xor eax, ebx
+ mov edx, -1
+ rol edi, 10
+ lea ecx, DWORD PTR 1836072691[eax*1+ecx]
+ sub edx, esi
+ rol ecx, 11
+ add ecx, ebp
; 116
- mov esi, DWORD PTR 32[esp]
- or edi, eax
- add ebp, esi
- xor edi, ecx
- mov esi, -1
- rol ebx, 10
- lea ebp, DWORD PTR 1836072691[edi*1+ebp]
- sub esi, eax
+ mov eax, DWORD PTR 28[esp]
+ or edx, ecx
+ add ebp, eax
+ xor edx, edi
+ mov eax, -1
+ rol esi, 10
+ lea ebp, DWORD PTR 1836072691[edx*1+ebp]
+ sub eax, ecx
rol ebp, 8
- add ebp, edx
+ add ebp, ebx
; 117
- mov edi, DWORD PTR 60[esp]
- or esi, ebp
- add edx, edi
- xor esi, ebx
- mov edi, -1
- rol eax, 10
- lea edx, DWORD PTR 1836072691[esi*1+edx]
- sub edi, ebp
- rol edx, 6
- add edx, ecx
+ mov edx, DWORD PTR 56[esp]
+ or eax, ebp
+ add ebx, edx
+ xor eax, esi
+ mov edx, -1
+ rol ecx, 10
+ lea ebx, DWORD PTR 1836072691[eax*1+ebx]
+ sub edx, ebp
+ rol ebx, 6
+ add ebx, edi
; 118
- mov esi, DWORD PTR 28[esp]
- or edi, edx
- add ecx, esi
- xor edi, eax
- mov esi, -1
+ mov eax, DWORD PTR 24[esp]
+ or edx, ebx
+ add edi, eax
+ xor edx, ecx
+ mov eax, -1
rol ebp, 10
- lea ecx, DWORD PTR 1836072691[edi*1+ecx]
- sub esi, edx
- rol ecx, 6
- add ecx, ebx
+ lea edi, DWORD PTR 1836072691[edx*1+edi]
+ sub eax, ebx
+ rol edi, 6
+ add edi, esi
; 119
- mov edi, DWORD PTR 40[esp]
- or esi, ecx
- add ebx, edi
- xor esi, ebp
- mov edi, -1
- rol edx, 10
- lea ebx, DWORD PTR 1836072691[esi*1+ebx]
- sub edi, ecx
- rol ebx, 14
- add ebx, eax
+ mov edx, DWORD PTR 36[esp]
+ or eax, edi
+ add esi, edx
+ xor eax, ebp
+ mov edx, -1
+ rol ebx, 10
+ lea esi, DWORD PTR 1836072691[eax*1+esi]
+ sub edx, edi
+ rol esi, 14
+ add esi, ecx
; 120
- mov esi, DWORD PTR 48[esp]
- or edi, ebx
- add eax, esi
- xor edi, edx
- mov esi, -1
- rol ecx, 10
- lea eax, DWORD PTR 1836072691[edi*1+eax]
- sub esi, ebx
- rol eax, 12
- add eax, ebp
+ mov eax, DWORD PTR 44[esp]
+ or edx, esi
+ add ecx, eax
+ xor edx, ebx
+ mov eax, -1
+ rol edi, 10
+ lea ecx, DWORD PTR 1836072691[edx*1+ecx]
+ sub eax, esi
+ rol ecx, 12
+ add ecx, ebp
; 121
- mov edi, DWORD PTR 36[esp]
- or esi, eax
- add ebp, edi
- xor esi, ecx
- mov edi, -1
- rol ebx, 10
- lea ebp, DWORD PTR 1836072691[esi*1+ebp]
- sub edi, eax
- rol ebp, 13
+ mov edx, DWORD PTR 32[esp]
+ or eax, ecx
add ebp, edx
+ xor eax, edi
+ mov edx, -1
+ rol esi, 10
+ lea ebp, DWORD PTR 1836072691[eax*1+ebp]
+ sub edx, ecx
+ rol ebp, 13
+ add ebp, ebx
; 122
- mov esi, DWORD PTR 52[esp]
- or edi, ebp
- add edx, esi
- xor edi, ebx
- mov esi, -1
- rol eax, 10
- lea edx, DWORD PTR 1836072691[edi*1+edx]
- sub esi, ebp
- rol edx, 5
- add edx, ecx
+ mov eax, DWORD PTR 48[esp]
+ or edx, ebp
+ add ebx, eax
+ xor edx, esi
+ mov eax, -1
+ rol ecx, 10
+ lea ebx, DWORD PTR 1836072691[edx*1+ebx]
+ sub eax, ebp
+ rol ebx, 5
+ add ebx, edi
; 123
- mov edi, DWORD PTR 12[esp]
- or esi, edx
- add ecx, edi
- xor esi, eax
- mov edi, -1
+ mov edx, DWORD PTR 8[esp]
+ or eax, ebx
+ add edi, edx
+ xor eax, ecx
+ mov edx, -1
rol ebp, 10
- lea ecx, DWORD PTR 1836072691[esi*1+ecx]
- sub edi, edx
- rol ecx, 14
- add ecx, ebx
+ lea edi, DWORD PTR 1836072691[eax*1+edi]
+ sub edx, ebx
+ rol edi, 14
+ add edi, esi
; 124
- mov esi, DWORD PTR 44[esp]
- or edi, ecx
- add ebx, esi
- xor edi, ebp
- mov esi, -1
- rol edx, 10
- lea ebx, DWORD PTR 1836072691[edi*1+ebx]
- sub esi, ecx
- rol ebx, 13
- add ebx, eax
+ mov eax, DWORD PTR 40[esp]
+ or edx, edi
+ add esi, eax
+ xor edx, ebp
+ mov eax, -1
+ rol ebx, 10
+ lea esi, DWORD PTR 1836072691[edx*1+esi]
+ sub eax, edi
+ rol esi, 13
+ add esi, ecx
; 125
- mov edi, DWORD PTR 4[esp]
- or esi, ebx
- add eax, edi
- xor esi, edx
- mov edi, -1
- rol ecx, 10
- lea eax, DWORD PTR 1836072691[esi*1+eax]
- sub edi, ebx
- rol eax, 13
- add eax, ebp
+ mov edx, DWORD PTR [esp]
+ or eax, esi
+ add ecx, edx
+ xor eax, ebx
+ mov edx, -1
+ rol edi, 10
+ lea ecx, DWORD PTR 1836072691[eax*1+ecx]
+ sub edx, esi
+ rol ecx, 13
+ add ecx, ebp
; 126
- mov esi, DWORD PTR 20[esp]
- or edi, eax
- add ebp, esi
- xor edi, ecx
- mov esi, -1
- rol ebx, 10
- lea ebp, DWORD PTR 1836072691[edi*1+ebp]
- sub esi, eax
+ mov eax, DWORD PTR 16[esp]
+ or edx, ecx
+ add ebp, eax
+ xor edx, edi
+ mov eax, -1
+ rol esi, 10
+ lea ebp, DWORD PTR 1836072691[edx*1+ebp]
+ sub eax, ecx
rol ebp, 7
- add ebp, edx
+ add ebp, ebx
; 127
- mov edi, DWORD PTR 56[esp]
- or esi, ebp
- add edx, edi
- xor esi, ebx
- mov edi, DWORD PTR 36[esp]
- rol eax, 10
- lea edx, DWORD PTR 1836072691[esi*1+edx]
- mov esi, -1
- rol edx, 5
- add edx, ecx
+ mov edx, DWORD PTR 52[esp]
+ or eax, ebp
+ add ebx, edx
+ xor eax, esi
+ mov edx, DWORD PTR 32[esp]
+ rol ecx, 10
+ lea ebx, DWORD PTR 1836072691[eax*1+ebx]
+ mov eax, -1
+ rol ebx, 5
+ add ebx, edi
; 128
- add ecx, edi
- mov edi, ebp
- sub esi, edx
- and edi, edx
- and esi, eax
- or edi, esi
- mov esi, DWORD PTR 28[esp]
+ add edi, edx
+ mov edx, ebp
+ sub eax, ebx
+ and edx, ebx
+ and eax, ecx
+ or edx, eax
+ mov eax, DWORD PTR 24[esp]
rol ebp, 10
- lea ecx, DWORD PTR 2053994217[edi*1+ecx]
- mov edi, -1
- rol ecx, 15
- add ecx, ebx
+ lea edi, DWORD PTR 2053994217[edx*1+edi]
+ mov edx, -1
+ rol edi, 15
+ add edi, esi
; 129
- add ebx, esi
- mov esi, edx
- sub edi, ecx
- and esi, ecx
- and edi, ebp
- or esi, edi
- mov edi, DWORD PTR 20[esp]
- rol edx, 10
- lea ebx, DWORD PTR 2053994217[esi*1+ebx]
- mov esi, -1
- rol ebx, 5
- 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 16[esp]
+ rol ebx, 10
+ lea esi, DWORD PTR 2053994217[eax*1+esi]
+ mov eax, -1
+ rol esi, 5
+ add esi, ecx
; 130
- add eax, edi
- mov edi, ecx
- sub esi, ebx
- and edi, ebx
- and esi, edx
- or edi, esi
- mov esi, DWORD PTR 8[esp]
- rol ecx, 10
- lea eax, DWORD PTR 2053994217[edi*1+eax]
- mov edi, -1
- rol eax, 8
- 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 4[esp]
+ rol edi, 10
+ lea ecx, DWORD PTR 2053994217[edx*1+ecx]
+ mov edx, -1
+ rol ecx, 8
+ add ecx, ebp
; 131
- add ebp, esi
- mov esi, ebx
- sub edi, eax
- and esi, eax
- and edi, ecx
- or esi, edi
- mov edi, DWORD PTR 16[esp]
- rol ebx, 10
- lea ebp, DWORD PTR 2053994217[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 12[esp]
+ rol esi, 10
+ lea ebp, DWORD PTR 2053994217[eax*1+ebp]
+ mov eax, -1
rol ebp, 11
- add ebp, edx
+ add ebp, ebx
; 132
- add edx, edi
- mov edi, eax
- sub esi, ebp
- and edi, ebp
- and esi, ebx
- or edi, esi
- mov esi, DWORD PTR 48[esp]
- rol eax, 10
- lea edx, DWORD PTR 2053994217[edi*1+edx]
- mov edi, -1
- rol edx, 14
- 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 44[esp]
+ rol ecx, 10
+ lea ebx, DWORD PTR 2053994217[edx*1+ebx]
+ mov edx, -1
+ rol ebx, 14
+ add ebx, edi
; 133
- add ecx, esi
- mov esi, ebp
- sub edi, edx
- and esi, edx
- and edi, eax
- or esi, edi
- mov edi, DWORD PTR 64[esp]
+ add edi, eax
+ mov eax, ebp
+ sub edx, ebx
+ and eax, ebx
+ and edx, ecx
+ or eax, edx
+ mov edx, DWORD PTR 60[esp]
rol ebp, 10
- lea ecx, DWORD PTR 2053994217[esi*1+ecx]
- mov esi, -1
- rol ecx, 14
- add ecx, ebx
+ lea edi, DWORD PTR 2053994217[eax*1+edi]
+ mov eax, -1
+ rol edi, 14
+ add edi, esi
; 134
- 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 2053994217[edi*1+ebx]
- mov edi, -1
- rol ebx, 6
- 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 2053994217[edx*1+esi]
+ mov edx, -1
+ rol esi, 6
+ add esi, ecx
; 135
- add eax, esi
- mov esi, ecx
- sub edi, ebx
- and esi, ebx
- and edi, edx
- or esi, edi
- mov edi, DWORD PTR 24[esp]
- rol ecx, 10
- lea eax, DWORD PTR 2053994217[esi*1+eax]
- mov esi, -1
- rol eax, 14
- 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 20[esp]
+ rol edi, 10
+ lea ecx, DWORD PTR 2053994217[eax*1+ecx]
+ mov eax, -1
+ rol ecx, 14
+ add ecx, ebp
; 136
- add ebp, edi
- mov edi, ebx
- sub esi, eax
- and edi, eax
- and esi, ecx
- or edi, esi
- mov esi, DWORD PTR 52[esp]
- rol ebx, 10
- lea ebp, DWORD PTR 2053994217[edi*1+ebp]
- mov edi, -1
- rol ebp, 6
add ebp, edx
+ mov edx, esi
+ sub eax, ecx
+ and edx, ecx
+ and eax, edi
+ or edx, eax
+ mov eax, DWORD PTR 48[esp]
+ rol esi, 10
+ lea ebp, DWORD PTR 2053994217[edx*1+ebp]
+ mov edx, -1
+ rol ebp, 6
+ add ebp, ebx
; 137
- 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 2053994217[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 2053994217[eax*1+ebx]
+ mov eax, -1
+ rol ebx, 9
+ add ebx, edi
; 138
- add ecx, edi
- mov edi, ebp
- sub esi, edx
- and edi, edx
- and esi, eax
- or edi, esi
- mov esi, DWORD PTR 56[esp]
+ add edi, edx
+ mov edx, ebp
+ sub eax, ebx
+ and edx, ebx
+ and eax, ecx
+ or edx, eax
+ mov eax, DWORD PTR 52[esp]
rol ebp, 10
- lea ecx, DWORD PTR 2053994217[edi*1+ecx]
- mov edi, -1
- rol ecx, 12
- add ecx, ebx
+ lea edi, DWORD PTR 2053994217[edx*1+edi]
+ mov edx, -1
+ rol edi, 12
+ add edi, esi
; 139
- add ebx, esi
- mov esi, edx
- sub edi, ecx
- and esi, ecx
- and edi, ebp
- or esi, edi
- mov edi, DWORD PTR 40[esp]
- rol edx, 10
- lea ebx, DWORD PTR 2053994217[esi*1+ebx]
- mov esi, -1
- rol ebx, 9
- 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 36[esp]
+ rol ebx, 10
+ lea esi, DWORD PTR 2053994217[eax*1+esi]
+ mov eax, -1
+ rol esi, 9
+ add esi, ecx
; 140
- add eax, edi
- mov edi, ecx
- sub esi, ebx
- and edi, ebx
- and esi, edx
- or edi, esi
- mov esi, DWORD PTR 32[esp]
- rol ecx, 10
- lea eax, DWORD PTR 2053994217[edi*1+eax]
- mov edi, -1
- rol eax, 12
- 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 28[esp]
+ rol edi, 10
+ lea ecx, DWORD PTR 2053994217[edx*1+ecx]
+ mov edx, -1
+ rol ecx, 12
+ add ecx, ebp
; 141
- add ebp, esi
- mov esi, ebx
- sub edi, eax
- and esi, eax
- and edi, ecx
- or esi, edi
- mov edi, DWORD PTR 44[esp]
- rol ebx, 10
- lea ebp, DWORD PTR 2053994217[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 40[esp]
+ rol esi, 10
+ lea ebp, DWORD PTR 2053994217[eax*1+ebp]
+ mov eax, -1
rol ebp, 5
- add ebp, edx
+ add ebp, ebx
; 142
- add edx, edi
- mov edi, eax
- sub esi, ebp
- and edi, ebp
- and esi, ebx
- or edi, esi
- mov esi, DWORD PTR 60[esp]
- rol eax, 10
- lea edx, DWORD PTR 2053994217[edi*1+edx]
- mov edi, -1
- rol edx, 15
- 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 56[esp]
+ rol ecx, 10
+ lea ebx, DWORD PTR 2053994217[edx*1+ebx]
+ mov edx, -1
+ rol ebx, 15
+ add ebx, edi
; 143
- add ecx, esi
- mov esi, ebp
- sub edi, edx
- and esi, edx
- and edi, eax
- or edi, esi
- mov esi, edx
+ add edi, eax
+ mov eax, ebp
+ sub edx, ebx
+ and eax, ebx
+ and edx, ecx
+ or edx, eax
+ mov eax, ebx
rol ebp, 10
- lea ecx, DWORD PTR 2053994217[edi*1+ecx]
- xor esi, ebp
- rol ecx, 8
- add ecx, ebx
+ lea edi, DWORD PTR 2053994217[edx*1+edi]
+ xor eax, ebp
+ rol edi, 8
+ add edi, esi
; 144
- mov edi, DWORD PTR 52[esp]
- xor esi, ecx
- add ebx, edi
- rol edx, 10
- add ebx, esi
- mov esi, ecx
- rol ebx, 8
- add ebx, eax
+ mov edx, DWORD PTR 48[esp]
+ xor eax, edi
+ add esi, edx
+ rol ebx, 10
+ add esi, eax
+ mov eax, edi
+ rol esi, 8
+ add esi, ecx
; 145
- xor esi, edx
- mov edi, DWORD PTR 64[esp]
- xor esi, ebx
- add eax, esi
- mov esi, ebx
- rol ecx, 10
- add eax, edi
- xor esi, ecx
- rol eax, 5
- add eax, ebp
+ xor eax, ebx
+ mov edx, DWORD PTR 60[esp]
+ xor eax, esi
+ add ecx, eax
+ mov eax, esi
+ rol edi, 10
+ add ecx, edx
+ xor eax, edi
+ rol ecx, 5
+ add ecx, ebp
; 146
- mov edi, DWORD PTR 44[esp]
- xor esi, eax
- add ebp, edi
- rol ebx, 10
- add ebp, esi
- mov esi, eax
- rol ebp, 12
+ mov edx, DWORD PTR 40[esp]
+ xor eax, ecx
add ebp, edx
+ rol esi, 10
+ add ebp, eax
+ mov eax, ecx
+ rol ebp, 12
+ add ebp, ebx
; 147
- xor esi, ebx
- mov edi, DWORD PTR 20[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 16[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
; 148
- mov edi, DWORD PTR 8[esp]
- xor esi, edx
- add ecx, edi
+ mov edx, DWORD PTR 4[esp]
+ xor eax, ebx
+ add edi, edx
rol ebp, 10
- add ecx, esi
- mov esi, edx
- rol ecx, 12
- add ecx, ebx
+ add edi, eax
+ mov eax, ebx
+ rol edi, 12
+ add edi, esi
; 149
- xor esi, ebp
- mov edi, DWORD PTR 24[esp]
- xor esi, ecx
- add ebx, esi
- mov esi, ecx
- rol edx, 10
- add ebx, edi
- xor esi, edx
- rol ebx, 5
- add ebx, eax
+ xor eax, ebp
+ mov edx, DWORD PTR 20[esp]
+ xor eax, edi
+ add esi, eax
+ mov eax, edi
+ rol ebx, 10
+ add esi, edx
+ xor eax, ebx
+ rol esi, 5
+ add esi, ecx
; 150
- mov edi, DWORD PTR 36[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 32[esp]
+ xor eax, esi
+ add ecx, edx
+ rol edi, 10
+ add ecx, eax
+ mov eax, esi
+ rol ecx, 14
+ add ecx, ebp
; 151
- xor esi, ecx
- mov edi, DWORD PTR 32[esp]
- xor esi, eax
- add ebp, esi
- mov esi, eax
- rol ebx, 10
- add ebp, edi
- xor esi, ebx
- rol ebp, 6
+ xor eax, edi
+ mov edx, DWORD PTR 28[esp]
+ xor eax, ecx
+ add ebp, eax
+ mov eax, ecx
+ rol esi, 10
add ebp, edx
+ xor eax, esi
+ rol ebp, 6
+ add ebp, ebx
; 152
- mov edi, DWORD PTR 28[esp]
- xor esi, ebp
- add edx, edi
- rol eax, 10
- add edx, esi
- mov esi, ebp
- rol edx, 8
- add edx, ecx
+ mov edx, DWORD PTR 24[esp]
+ xor eax, ebp
+ add ebx, edx
+ rol ecx, 10
+ add ebx, eax
+ mov eax, ebp
+ rol ebx, 8
+ add ebx, edi
; 153
- xor esi, eax
- mov edi, DWORD PTR 12[esp]
- xor esi, edx
- add ecx, esi
- mov esi, edx
+ xor eax, ecx
+ mov edx, DWORD PTR 8[esp]
+ xor eax, ebx
+ add edi, eax
+ mov eax, ebx
rol ebp, 10
- add ecx, edi
- xor esi, ebp
- rol ecx, 13
- add ecx, ebx
+ add edi, edx
+ xor eax, ebp
+ rol edi, 13
+ add edi, esi
; 154
- mov edi, DWORD PTR 56[esp]
- xor esi, ecx
- add ebx, edi
- rol edx, 10
- add ebx, esi
- mov esi, ecx
- rol ebx, 6
- add ebx, eax
+ mov edx, DWORD PTR 52[esp]
+ xor eax, edi
+ add esi, edx
+ rol ebx, 10
+ add esi, eax
+ mov eax, edi
+ rol esi, 6
+ add esi, ecx
; 155
- xor esi, edx
- mov edi, DWORD PTR 60[esp]
- xor esi, ebx
- add eax, esi
- mov esi, ebx
- rol ecx, 10
- add eax, edi
- xor esi, ecx
- rol eax, 5
- add eax, ebp
+ xor eax, ebx
+ mov edx, DWORD PTR 56[esp]
+ xor eax, esi
+ add ecx, eax
+ mov eax, esi
+ rol edi, 10
+ add ecx, edx
+ xor eax, edi
+ rol ecx, 5
+ add ecx, ebp
; 156
- mov edi, DWORD PTR 4[esp]
- xor esi, eax
- add ebp, edi
- rol ebx, 10
- add ebp, esi
- mov esi, eax
- rol ebp, 15
+ mov edx, DWORD PTR [esp]
+ xor eax, ecx
add ebp, edx
+ rol esi, 10
+ add ebp, eax
+ mov eax, ecx
+ rol ebp, 15
+ add ebp, ebx
; 157
- xor esi, ebx
- mov edi, DWORD PTR 16[esp]
- xor esi, ebp
- add edx, esi
- mov esi, ebp
- rol eax, 10
- add edx, edi
- xor esi, eax
- rol edx, 13
- add edx, ecx
+ xor eax, esi
+ mov edx, DWORD PTR 12[esp]
+ xor eax, ebp
+ add ebx, eax
+ mov eax, ebp
+ rol ecx, 10
+ add ebx, edx
+ xor eax, ecx
+ rol ebx, 13
+ add ebx, edi
; 158
- mov edi, DWORD PTR 40[esp]
- xor esi, edx
- add ecx, edi
+ mov edx, DWORD PTR 36[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
; 159
- xor esi, ebp
- mov edi, DWORD PTR 48[esp]
- xor esi, ecx
- add ebx, esi
- rol edx, 10
- add ebx, edi
- mov edi, DWORD PTR 108[esp]
- rol ebx, 11
+ xor eax, ebp
+ mov edx, DWORD PTR 44[esp]
+ xor eax, edi
+ add esi, eax
+ rol ebx, 10
+ add esi, edx
+ mov edx, DWORD PTR 128[esp]
+ rol esi, 11
+ add esi, ecx
+ mov eax, DWORD PTR 4[edx]
add ebx, eax
- mov esi, DWORD PTR 4[edi]
- add edx, esi
- mov esi, DWORD PTR 76[esp]
- add edx, esi
- mov esi, DWORD PTR 8[edi]
- add ebp, esi
- mov esi, DWORD PTR 80[esp]
- add ebp, esi
- mov esi, DWORD PTR 12[edi]
- add eax, esi
- mov esi, DWORD PTR 84[esp]
- add eax, esi
- mov esi, DWORD PTR 16[edi]
- add ebx, esi
- mov esi, DWORD PTR 68[esp]
- add ebx, esi
- mov esi, DWORD PTR [edi]
- add ecx, esi
- mov esi, DWORD PTR 72[esp]
- add ecx, esi
- mov DWORD PTR [edi],edx
- mov DWORD PTR 4[edi],ebp
- mov DWORD PTR 8[edi],eax
- mov DWORD PTR 12[edi],ebx
- mov DWORD PTR 16[edi],ecx
- mov edi, DWORD PTR [esp]
- mov esi, DWORD PTR 112[esp]
- cmp edi, esi
- mov edi, DWORD PTR 108[esp]
- jge L000start
- add esp, 88
+ mov eax, DWORD PTR 72[esp]
+ add ebx, eax
+ mov eax, DWORD PTR 8[edx]
+ add ebp, eax
+ mov eax, DWORD PTR 76[esp]
+ add ebp, eax
+ mov eax, DWORD PTR 12[edx]
+ add ecx, eax
+ mov eax, DWORD PTR 80[esp]
+ add ecx, eax
+ mov eax, DWORD PTR 16[edx]
+ add esi, eax
+ mov eax, DWORD PTR 64[esp]
+ add esi, eax
+ mov eax, DWORD PTR [edx]
+ add edi, eax
+ mov eax, DWORD PTR 68[esp]
+ add edi, eax
+ mov eax, DWORD PTR 136[esp]
+ mov DWORD PTR [edx],ebx
+ mov DWORD PTR 4[edx],ebp
+ mov DWORD PTR 8[edx],ecx
+ sub eax, 1
+ mov DWORD PTR 12[edx],esi
+ mov DWORD PTR 16[edx],edi
+ jle $L001get_out
+ mov DWORD PTR 136[esp],eax
+ mov edi, ecx
+ mov eax, DWORD PTR 132[esp]
+ mov ecx, ebx
+ add eax, 64
+ mov esi, ebp
+ mov DWORD PTR 132[esp],eax
+ jmp L000start
+$L001get_out:
+ add esp, 108
pop ebx
pop ebp
pop edi
pop esi
ret
-_ripemd160_block_x86 ENDP
+_ripemd160_block_asm_host_order ENDP
_TEXT ENDS
END
diff --git a/crypto/ripemd/asm/rmd-586.pl b/crypto/ripemd/asm/rmd-586.pl
index e53c5fadba..0ab6f76bff 100644
--- a/crypto/ripemd/asm/rmd-586.pl
+++ b/crypto/ripemd/asm/rmd-586.pl
@@ -1,9 +1,7 @@
#!/usr/local/bin/perl
# Normal is the
-# ripemd160_block_x86(MD5_CTX *c, ULONG *X);
-# version, non-normal is the
-# ripemd160_block_x86(MD5_CTX *c, ULONG *X,int blocks);
+# ripemd160_block_asm_host_order(RIPEMD160_CTX *c, ULONG *X,int blocks);
$normal=0;
@@ -12,13 +10,13 @@ require "x86asm.pl";
&asm_init($ARGV[0],$0);
-$A="eax";
-$B="ebx";
-$C="ecx";
-$D="edx";
+$A="ecx";
+$B="esi";
+$C="edi";
+$D="ebx";
$E="ebp";
-$tmp1="esi";
-$tmp2="edi";
+$tmp1="eax";
+$tmp2="edx";
$KL1=0x5A827999;
$KL2=0x6ED9EBA1;
@@ -58,13 +56,13 @@ $KR3=0x7A6D76E9;
8, 5,12, 9,12, 5,14, 6, 8,13, 6, 5,15,13,11,11,
);
-&ripemd160_block("ripemd160_block_x86");
+&ripemd160_block("ripemd160_block_asm_host_order");
&asm_finish();
sub Xv
{
local($n)=@_;
- return(&swtmp($n+1));
+ return(&swtmp($n));
# tmp on stack
}
@@ -82,7 +80,7 @@ sub RIP1
&comment($p++);
if ($p & 1)
{
- &mov($tmp1, $c) if $o == -1;
+ #&mov($tmp1, $c) if $o == -1;
&xor($tmp1, $d) if $o == -1;
&mov($tmp2, &Xv($pos));
&xor($tmp1, $b);
@@ -290,7 +288,7 @@ sub RIP5
&rotl($c, 10);
&lea($a, &DWP($K,$a,$tmp1,1));
&sub($tmp2, &Np($d)) if $o <= 0;
- &mov(&swtmp(1+16), $A) if $o == 1;
+ &mov(&swtmp(16), $A) if $o == 1;
&mov($tmp1, &Np($d)) if $o == 2;
&rotl($a, $s);
&add($a, $e);
@@ -310,19 +308,25 @@ sub ripemd160_block
# D 12
# E 16
+ &mov($tmp2, &wparam(0));
+ &mov($tmp1, &wparam(1));
&push("esi");
- &mov($C, &wparam(2));
+ &mov($A, &DWP( 0,$tmp2,"",0));
&push("edi");
- &mov($tmp1, &wparam(1)); # edi
+ &mov($B, &DWP( 4,$tmp2,"",0));
&push("ebp");
- &add($C, $tmp1); # offset we end at
+ &mov($C, &DWP( 8,$tmp2,"",0));
&push("ebx");
- &sub($C, 64);
- &stack_push(16+5+1);
- # XXX
-
- &mov(&swtmp(0), $C);
- &mov($tmp2, &wparam(0)); # Done at end of loop
+ &stack_push(16+5+6);
+ # Special comment about the figure of 6.
+ # Idea is to pad the current frame so
+ # that the top of the stack gets fairly
+ # aligned. Well, as you realize it would
+ # always depend on how the frame below is
+ # aligned. The good news are that gcc-2.95
+ # and later does keep first argument at
+ # least double-wise aligned.
+ # <appro@fy.chalmers.se>
&set_label("start") unless $normal;
&comment("");
@@ -332,16 +336,12 @@ sub ripemd160_block
for ($z=0; $z<16; $z+=2)
{
- &mov($A, &DWP( $z*4,$tmp1,"",0));
- &mov($B, &DWP( ($z+1)*4,$tmp1,"",0));
- &mov(&swtmp(1+$z), $A);
- &mov(&swtmp(1+$z+1), $B);
+ &mov($D, &DWP( $z*4,$tmp1,"",0));
+ &mov($E, &DWP( ($z+1)*4,$tmp1,"",0));
+ &mov(&swtmp($z), $D);
+ &mov(&swtmp($z+1), $E);
}
- &add($tmp1, 64);
- &mov($A, &DWP( 0,$tmp2,"",0));
- &mov(&wparam(1),$tmp1);
- &mov($B, &DWP( 4,$tmp2,"",0));
- &mov($C, &DWP( 8,$tmp2,"",0));
+ &mov($tmp1, $C);
&mov($D, &DWP(12,$tmp2,"",0));
&mov($E, &DWP(16,$tmp2,"",0));
@@ -431,14 +431,14 @@ sub ripemd160_block
&RIP5($B,$C,$D,$E,$A,$wl[79],$sl[79],$KL4,1);
# &mov($tmp2, &wparam(0)); # moved into last RIP5
- # &mov(&swtmp(1+16), $A);
+ # &mov(&swtmp(16), $A);
&mov($A, &DWP( 0,$tmp2,"",0));
- &mov(&swtmp(1+17), $B);
- &mov(&swtmp(1+18), $C);
+ &mov(&swtmp(16+1), $B);
+ &mov(&swtmp(16+2), $C);
&mov($B, &DWP( 4,$tmp2,"",0));
- &mov(&swtmp(1+19), $D);
+ &mov(&swtmp(16+3), $D);
&mov($C, &DWP( 8,$tmp2,"",0));
- &mov(&swtmp(1+20), $E);
+ &mov(&swtmp(16+4), $E);
&mov($D, &DWP(12,$tmp2,"",0));
&mov($E, &DWP(16,$tmp2,"",0));
@@ -531,46 +531,54 @@ sub ripemd160_block
&mov($tmp1, &DWP( 4,$tmp2,"",0)); # ctx->B
&add($D, $tmp1);
- &mov($tmp1, &swtmp(1+18)); # $c
+ &mov($tmp1, &swtmp(16+2)); # $c
&add($D, $tmp1);
&mov($tmp1, &DWP( 8,$tmp2,"",0)); # ctx->C
&add($E, $tmp1);
- &mov($tmp1, &swtmp(1+19)); # $d
+ &mov($tmp1, &swtmp(16+3)); # $d
&add($E, $tmp1);
&mov($tmp1, &DWP(12,$tmp2,"",0)); # ctx->D
&add($A, $tmp1);
- &mov($tmp1, &swtmp(1+20)); # $e
+ &mov($tmp1, &swtmp(16+4)); # $e
&add($A, $tmp1);
&mov($tmp1, &DWP(16,$tmp2,"",0)); # ctx->E
&add($B, $tmp1);
- &mov($tmp1, &swtmp(1+16)); # $a
+ &mov($tmp1, &swtmp(16+0)); # $a
&add($B, $tmp1);
&mov($tmp1, &DWP( 0,$tmp2,"",0)); # ctx->A
&add($C, $tmp1);
- &mov($tmp1, &swtmp(1+17)); # $b
+ &mov($tmp1, &swtmp(16+1)); # $b
&add($C, $tmp1);
+ &mov($tmp1, &wparam(2));
+
&mov(&DWP( 0,$tmp2,"",0), $D);
&mov(&DWP( 4,$tmp2,"",0), $E);
&mov(&DWP( 8,$tmp2,"",0), $A);
- &mov(&DWP(12,$tmp2,"",0), $B);
- &mov(&DWP(16,$tmp2,"",0), $C);
+ &sub($tmp1,1);
+ &mov(&DWP(12,$tmp2,"",0), $B);
+ &mov(&DWP(16,$tmp2,"",0), $C);
- &mov($tmp2, &swtmp(0));
- &mov($tmp1, &wparam(1));
+ &jle(&label("get_out"));
+
+ &mov(&wparam(2),$tmp1);
+ &mov($C, $A);
+ &mov($tmp1, &wparam(1));
+ &mov($A, $D);
+ &add($tmp1, 64);
+ &mov($B, $E);
+ &mov(&wparam(1),$tmp1);
- &cmp($tmp2,$tmp1);
- &mov($tmp2, &wparam(0));
+ &jmp(&label("start"));
- # XXX
- &jge(&label("start"));
+ &set_label("get_out");
- &stack_pop(16+5+1);
+ &stack_pop(16+5+6);
&pop("ebx");
&pop("ebp");