diff options
Diffstat (limited to 'src/lib/libcrypto/ripemd')
-rw-r--r-- | src/lib/libcrypto/ripemd/Makefile.ssl | 5 | ||||
-rw-r--r-- | src/lib/libcrypto/ripemd/asm/rips.cpp | 6 | ||||
-rw-r--r-- | src/lib/libcrypto/ripemd/asm/rm-win32.asm | 3433 | ||||
-rw-r--r-- | src/lib/libcrypto/ripemd/asm/rmd-586.pl | 108 | ||||
-rw-r--r-- | src/lib/libcrypto/ripemd/ripemd.h | 27 | ||||
-rw-r--r-- | src/lib/libcrypto/ripemd/rmd_dgst.c | 448 | ||||
-rw-r--r-- | src/lib/libcrypto/ripemd/rmd_locl.h | 184 | ||||
-rw-r--r-- | src/lib/libcrypto/ripemd/rmd_one.c | 5 | ||||
-rw-r--r-- | src/lib/libcrypto/ripemd/rmdtest.c | 4 |
9 files changed, 2081 insertions, 2139 deletions
diff --git a/src/lib/libcrypto/ripemd/Makefile.ssl b/src/lib/libcrypto/ripemd/Makefile.ssl index 5b6d1d2599..c6153d4361 100644 --- a/src/lib/libcrypto/ripemd/Makefile.ssl +++ b/src/lib/libcrypto/ripemd/Makefile.ssl | |||
@@ -102,6 +102,7 @@ clean: | |||
102 | 102 | ||
103 | # DO NOT DELETE THIS LINE -- make depend depends on it. | 103 | # DO NOT DELETE THIS LINE -- make depend depends on it. |
104 | 104 | ||
105 | rmd_dgst.o: ../../include/openssl/opensslconf.h | ||
105 | rmd_dgst.o: ../../include/openssl/opensslv.h ../../include/openssl/ripemd.h | 106 | rmd_dgst.o: ../../include/openssl/opensslv.h ../../include/openssl/ripemd.h |
106 | rmd_dgst.o: rmd_locl.h rmdconst.h | 107 | rmd_dgst.o: ../md32_common.h rmd_locl.h rmdconst.h |
107 | rmd_one.o: ../../include/openssl/ripemd.h rmd_locl.h rmdconst.h | 108 | rmd_one.o: ../../include/openssl/ripemd.h |
diff --git a/src/lib/libcrypto/ripemd/asm/rips.cpp b/src/lib/libcrypto/ripemd/asm/rips.cpp index 321a98443e..f7a13677a9 100644 --- a/src/lib/libcrypto/ripemd/asm/rips.cpp +++ b/src/lib/libcrypto/ripemd/asm/rips.cpp | |||
@@ -34,6 +34,8 @@ void GetTSC(unsigned long& tsc) | |||
34 | #include <stdlib.h> | 34 | #include <stdlib.h> |
35 | #include <openssl/ripemd.h> | 35 | #include <openssl/ripemd.h> |
36 | 36 | ||
37 | #define ripemd160_block_x86 ripemd160_block_asm_host_order | ||
38 | |||
37 | extern "C" { | 39 | extern "C" { |
38 | void ripemd160_block_x86(RIPEMD160_CTX *ctx, unsigned char *buffer,int num); | 40 | void ripemd160_block_x86(RIPEMD160_CTX *ctx, unsigned char *buffer,int num); |
39 | } | 41 | } |
@@ -55,8 +57,10 @@ void main(int argc,char *argv[]) | |||
55 | if (num == 0) num=16; | 57 | if (num == 0) num=16; |
56 | if (num > 250) num=16; | 58 | if (num > 250) num=16; |
57 | numm=num+2; | 59 | numm=num+2; |
60 | #if 0 | ||
58 | num*=64; | 61 | num*=64; |
59 | numm*=64; | 62 | numm*=64; |
63 | #endif | ||
60 | 64 | ||
61 | for (j=0; j<6; j++) | 65 | for (j=0; j<6; j++) |
62 | { | 66 | { |
@@ -71,7 +75,7 @@ void main(int argc,char *argv[]) | |||
71 | GetTSC(e2); | 75 | GetTSC(e2); |
72 | ripemd160_block_x86(&ctx,buffer,num); | 76 | ripemd160_block_x86(&ctx,buffer,num); |
73 | } | 77 | } |
74 | printf("ripemd160 (%d bytes) %d %d (%.2f)\n",num, | 78 | printf("ripemd160 (%d bytes) %d %d (%.2f)\n",num*64, |
75 | e1-s1,e2-s2,(double)((e1-s1)-(e2-s2))/2); | 79 | e1-s1,e2-s2,(double)((e1-s1)-(e2-s2))/2); |
76 | } | 80 | } |
77 | } | 81 | } |
diff --git a/src/lib/libcrypto/ripemd/asm/rm-win32.asm b/src/lib/libcrypto/ripemd/asm/rm-win32.asm index bd38791c13..f07d517857 100644 --- a/src/lib/libcrypto/ripemd/asm/rm-win32.asm +++ b/src/lib/libcrypto/ripemd/asm/rm-win32.asm | |||
@@ -8,1965 +8,1966 @@ | |||
8 | .386 | 8 | .386 |
9 | .model FLAT | 9 | .model FLAT |
10 | _TEXT SEGMENT | 10 | _TEXT SEGMENT |
11 | PUBLIC _ripemd160_block_x86 | 11 | PUBLIC _ripemd160_block_asm_host_order |
12 | 12 | ||
13 | _ripemd160_block_x86 PROC NEAR | 13 | _ripemd160_block_asm_host_order PROC NEAR |
14 | mov edx, DWORD PTR 4[esp] | ||
15 | mov eax, DWORD PTR 8[esp] | ||
14 | push esi | 16 | push esi |
15 | mov ecx, DWORD PTR 16[esp] | 17 | mov ecx, DWORD PTR [edx] |
16 | push edi | 18 | push edi |
17 | mov esi, DWORD PTR 16[esp] | 19 | mov esi, DWORD PTR 4[edx] |
18 | push ebp | 20 | push ebp |
19 | add ecx, esi | 21 | mov edi, DWORD PTR 8[edx] |
20 | push ebx | 22 | push ebx |
21 | sub ecx, 64 | 23 | sub esp, 108 |
22 | sub esp, 88 | ||
23 | mov DWORD PTR [esp],ecx | ||
24 | mov edi, DWORD PTR 108[esp] | ||
25 | L000start: | 24 | L000start: |
26 | ; | 25 | ; |
27 | mov eax, DWORD PTR [esi] | 26 | mov ebx, DWORD PTR [eax] |
28 | mov ebx, DWORD PTR 4[esi] | 27 | mov ebp, DWORD PTR 4[eax] |
29 | mov DWORD PTR 4[esp],eax | 28 | mov DWORD PTR [esp],ebx |
29 | mov DWORD PTR 4[esp],ebp | ||
30 | mov ebx, DWORD PTR 8[eax] | ||
31 | mov ebp, DWORD PTR 12[eax] | ||
30 | mov DWORD PTR 8[esp],ebx | 32 | mov DWORD PTR 8[esp],ebx |
31 | mov eax, DWORD PTR 8[esi] | 33 | mov DWORD PTR 12[esp],ebp |
32 | mov ebx, DWORD PTR 12[esi] | 34 | mov ebx, DWORD PTR 16[eax] |
33 | mov DWORD PTR 12[esp],eax | 35 | mov ebp, DWORD PTR 20[eax] |
34 | mov DWORD PTR 16[esp],ebx | 36 | mov DWORD PTR 16[esp],ebx |
35 | mov eax, DWORD PTR 16[esi] | 37 | mov DWORD PTR 20[esp],ebp |
36 | mov ebx, DWORD PTR 20[esi] | 38 | mov ebx, DWORD PTR 24[eax] |
37 | mov DWORD PTR 20[esp],eax | 39 | mov ebp, DWORD PTR 28[eax] |
38 | mov DWORD PTR 24[esp],ebx | 40 | mov DWORD PTR 24[esp],ebx |
39 | mov eax, DWORD PTR 24[esi] | 41 | mov DWORD PTR 28[esp],ebp |
40 | mov ebx, DWORD PTR 28[esi] | 42 | mov ebx, DWORD PTR 32[eax] |
41 | mov DWORD PTR 28[esp],eax | 43 | mov ebp, DWORD PTR 36[eax] |
42 | mov DWORD PTR 32[esp],ebx | 44 | mov DWORD PTR 32[esp],ebx |
43 | mov eax, DWORD PTR 32[esi] | 45 | mov DWORD PTR 36[esp],ebp |
44 | mov ebx, DWORD PTR 36[esi] | 46 | mov ebx, DWORD PTR 40[eax] |
45 | mov DWORD PTR 36[esp],eax | 47 | mov ebp, DWORD PTR 44[eax] |
46 | mov DWORD PTR 40[esp],ebx | 48 | mov DWORD PTR 40[esp],ebx |
47 | mov eax, DWORD PTR 40[esi] | 49 | mov DWORD PTR 44[esp],ebp |
48 | mov ebx, DWORD PTR 44[esi] | 50 | mov ebx, DWORD PTR 48[eax] |
49 | mov DWORD PTR 44[esp],eax | 51 | mov ebp, DWORD PTR 52[eax] |
50 | mov DWORD PTR 48[esp],ebx | 52 | mov DWORD PTR 48[esp],ebx |
51 | mov eax, DWORD PTR 48[esi] | 53 | mov DWORD PTR 52[esp],ebp |
52 | mov ebx, DWORD PTR 52[esi] | 54 | mov ebx, DWORD PTR 56[eax] |
53 | mov DWORD PTR 52[esp],eax | 55 | mov ebp, DWORD PTR 60[eax] |
54 | mov DWORD PTR 56[esp],ebx | 56 | mov DWORD PTR 56[esp],ebx |
55 | mov eax, DWORD PTR 56[esi] | 57 | mov DWORD PTR 60[esp],ebp |
56 | mov ebx, DWORD PTR 60[esi] | 58 | mov eax, edi |
57 | mov DWORD PTR 60[esp],eax | 59 | mov ebx, DWORD PTR 12[edx] |
58 | mov DWORD PTR 64[esp],ebx | 60 | mov ebp, DWORD PTR 16[edx] |
59 | add esi, 64 | ||
60 | mov eax, DWORD PTR [edi] | ||
61 | mov DWORD PTR 112[esp],esi | ||
62 | mov ebx, DWORD PTR 4[edi] | ||
63 | mov ecx, DWORD PTR 8[edi] | ||
64 | mov edx, DWORD PTR 12[edi] | ||
65 | mov ebp, DWORD PTR 16[edi] | ||
66 | ; 0 | 61 | ; 0 |
67 | mov esi, ecx | 62 | xor eax, ebx |
68 | xor esi, edx | 63 | mov edx, DWORD PTR [esp] |
69 | mov edi, DWORD PTR 4[esp] | 64 | xor eax, esi |
70 | xor esi, ebx | 65 | add ecx, edx |
71 | add eax, edi | 66 | rol edi, 10 |
72 | rol ecx, 10 | 67 | add ecx, eax |
73 | add eax, esi | 68 | mov eax, esi |
74 | mov esi, ebx | 69 | rol ecx, 11 |
75 | rol eax, 11 | 70 | add ecx, ebp |
76 | add eax, ebp | ||
77 | ; 1 | 71 | ; 1 |
78 | xor esi, ecx | 72 | xor eax, edi |
79 | mov edi, DWORD PTR 8[esp] | 73 | mov edx, DWORD PTR 4[esp] |
80 | xor esi, eax | 74 | xor eax, ecx |
81 | add ebp, esi | 75 | add ebp, eax |
82 | mov esi, eax | 76 | mov eax, ecx |
83 | rol ebx, 10 | 77 | rol esi, 10 |
84 | add ebp, edi | ||
85 | xor esi, ebx | ||
86 | rol ebp, 14 | ||
87 | add ebp, edx | 78 | add ebp, edx |
79 | xor eax, esi | ||
80 | rol ebp, 14 | ||
81 | add ebp, ebx | ||
88 | ; 2 | 82 | ; 2 |
89 | mov edi, DWORD PTR 12[esp] | 83 | mov edx, DWORD PTR 8[esp] |
90 | xor esi, ebp | 84 | xor eax, ebp |
91 | add edx, edi | 85 | add ebx, edx |
92 | rol eax, 10 | 86 | rol ecx, 10 |
93 | add edx, esi | 87 | add ebx, eax |
94 | mov esi, ebp | 88 | mov eax, ebp |
95 | rol edx, 15 | 89 | rol ebx, 15 |
96 | add edx, ecx | 90 | add ebx, edi |
97 | ; 3 | 91 | ; 3 |
98 | xor esi, eax | 92 | xor eax, ecx |
99 | mov edi, DWORD PTR 16[esp] | 93 | mov edx, DWORD PTR 12[esp] |
100 | xor esi, edx | 94 | xor eax, ebx |
101 | add ecx, esi | 95 | add edi, eax |
102 | mov esi, edx | 96 | mov eax, ebx |
103 | rol ebp, 10 | 97 | rol ebp, 10 |
104 | add ecx, edi | 98 | add edi, edx |
105 | xor esi, ebp | 99 | xor eax, ebp |
106 | rol ecx, 12 | 100 | rol edi, 12 |
107 | add ecx, ebx | 101 | add edi, esi |
108 | ; 4 | 102 | ; 4 |
109 | mov edi, DWORD PTR 20[esp] | 103 | mov edx, DWORD PTR 16[esp] |
110 | xor esi, ecx | 104 | xor eax, edi |
111 | add ebx, edi | 105 | add esi, edx |
112 | rol edx, 10 | 106 | rol ebx, 10 |
113 | add ebx, esi | 107 | add esi, eax |
114 | mov esi, ecx | 108 | mov eax, edi |
115 | rol ebx, 5 | 109 | rol esi, 5 |
116 | add ebx, eax | 110 | add esi, ecx |
117 | ; 5 | 111 | ; 5 |
118 | xor esi, edx | 112 | xor eax, ebx |
119 | mov edi, DWORD PTR 24[esp] | 113 | mov edx, DWORD PTR 20[esp] |
120 | xor esi, ebx | 114 | xor eax, esi |
121 | add eax, esi | 115 | add ecx, eax |
122 | mov esi, ebx | 116 | mov eax, esi |
123 | rol ecx, 10 | 117 | rol edi, 10 |
124 | add eax, edi | 118 | add ecx, edx |
125 | xor esi, ecx | 119 | xor eax, edi |
126 | rol eax, 8 | 120 | rol ecx, 8 |
127 | add eax, ebp | 121 | add ecx, ebp |
128 | ; 6 | 122 | ; 6 |
129 | mov edi, DWORD PTR 28[esp] | 123 | mov edx, DWORD PTR 24[esp] |
130 | xor esi, eax | 124 | xor eax, ecx |
131 | add ebp, edi | ||
132 | rol ebx, 10 | ||
133 | add ebp, esi | ||
134 | mov esi, eax | ||
135 | rol ebp, 7 | ||
136 | add ebp, edx | 125 | add ebp, edx |
126 | rol esi, 10 | ||
127 | add ebp, eax | ||
128 | mov eax, ecx | ||
129 | rol ebp, 7 | ||
130 | add ebp, ebx | ||
137 | ; 7 | 131 | ; 7 |
138 | xor esi, ebx | 132 | xor eax, esi |
139 | mov edi, DWORD PTR 32[esp] | 133 | mov edx, DWORD PTR 28[esp] |
140 | xor esi, ebp | 134 | xor eax, ebp |
141 | add edx, esi | 135 | add ebx, eax |
142 | mov esi, ebp | 136 | mov eax, ebp |
143 | rol eax, 10 | 137 | rol ecx, 10 |
144 | add edx, edi | 138 | add ebx, edx |
145 | xor esi, eax | 139 | xor eax, ecx |
146 | rol edx, 9 | 140 | rol ebx, 9 |
147 | add edx, ecx | 141 | add ebx, edi |
148 | ; 8 | 142 | ; 8 |
149 | mov edi, DWORD PTR 36[esp] | 143 | mov edx, DWORD PTR 32[esp] |
150 | xor esi, edx | 144 | xor eax, ebx |
151 | add ecx, edi | 145 | add edi, edx |
152 | rol ebp, 10 | 146 | rol ebp, 10 |
153 | add ecx, esi | 147 | add edi, eax |
154 | mov esi, edx | 148 | mov eax, ebx |
155 | rol ecx, 11 | 149 | rol edi, 11 |
156 | add ecx, ebx | 150 | add edi, esi |
157 | ; 9 | 151 | ; 9 |
158 | xor esi, ebp | 152 | xor eax, ebp |
159 | mov edi, DWORD PTR 40[esp] | 153 | mov edx, DWORD PTR 36[esp] |
160 | xor esi, ecx | 154 | xor eax, edi |
161 | add ebx, esi | 155 | add esi, eax |
162 | mov esi, ecx | 156 | mov eax, edi |
163 | rol edx, 10 | 157 | rol ebx, 10 |
164 | add ebx, edi | 158 | add esi, edx |
165 | xor esi, edx | 159 | xor eax, ebx |
166 | rol ebx, 13 | 160 | rol esi, 13 |
167 | add ebx, eax | 161 | add esi, ecx |
168 | ; 10 | 162 | ; 10 |
169 | mov edi, DWORD PTR 44[esp] | 163 | mov edx, DWORD PTR 40[esp] |
170 | xor esi, ebx | 164 | xor eax, esi |
171 | add eax, edi | 165 | add ecx, edx |
172 | rol ecx, 10 | 166 | rol edi, 10 |
173 | add eax, esi | 167 | add ecx, eax |
174 | mov esi, ebx | 168 | mov eax, esi |
175 | rol eax, 14 | 169 | rol ecx, 14 |
176 | add eax, ebp | 170 | add ecx, ebp |
177 | ; 11 | 171 | ; 11 |
178 | xor esi, ecx | 172 | xor eax, edi |
179 | mov edi, DWORD PTR 48[esp] | 173 | mov edx, DWORD PTR 44[esp] |
180 | xor esi, eax | 174 | xor eax, ecx |
181 | add ebp, esi | 175 | add ebp, eax |
182 | mov esi, eax | 176 | mov eax, ecx |
183 | rol ebx, 10 | 177 | rol esi, 10 |
184 | add ebp, edi | ||
185 | xor esi, ebx | ||
186 | rol ebp, 15 | ||
187 | add ebp, edx | 178 | add ebp, edx |
179 | xor eax, esi | ||
180 | rol ebp, 15 | ||
181 | add ebp, ebx | ||
188 | ; 12 | 182 | ; 12 |
189 | mov edi, DWORD PTR 52[esp] | 183 | mov edx, DWORD PTR 48[esp] |
190 | xor esi, ebp | 184 | xor eax, ebp |
191 | add edx, edi | 185 | add ebx, edx |
192 | rol eax, 10 | 186 | rol ecx, 10 |
193 | add edx, esi | 187 | add ebx, eax |
194 | mov esi, ebp | 188 | mov eax, ebp |
195 | rol edx, 6 | 189 | rol ebx, 6 |
196 | add edx, ecx | 190 | add ebx, edi |
197 | ; 13 | 191 | ; 13 |
198 | xor esi, eax | 192 | xor eax, ecx |
199 | mov edi, DWORD PTR 56[esp] | 193 | mov edx, DWORD PTR 52[esp] |
200 | xor esi, edx | 194 | xor eax, ebx |
201 | add ecx, esi | 195 | add edi, eax |
202 | mov esi, edx | 196 | mov eax, ebx |
203 | rol ebp, 10 | 197 | rol ebp, 10 |
204 | add ecx, edi | 198 | add edi, edx |
205 | xor esi, ebp | 199 | xor eax, ebp |
206 | rol ecx, 7 | 200 | rol edi, 7 |
207 | add ecx, ebx | 201 | add edi, esi |
208 | ; 14 | 202 | ; 14 |
209 | mov edi, DWORD PTR 60[esp] | 203 | mov edx, DWORD PTR 56[esp] |
210 | xor esi, ecx | 204 | xor eax, edi |
211 | add ebx, edi | 205 | add esi, edx |
212 | rol edx, 10 | 206 | rol ebx, 10 |
213 | add ebx, esi | 207 | add esi, eax |
214 | mov esi, ecx | 208 | mov eax, edi |
215 | rol ebx, 9 | 209 | rol esi, 9 |
216 | add ebx, eax | 210 | add esi, ecx |
217 | ; 15 | 211 | ; 15 |
218 | xor esi, edx | 212 | xor eax, ebx |
219 | mov edi, DWORD PTR 64[esp] | 213 | mov edx, DWORD PTR 60[esp] |
220 | xor esi, ebx | 214 | xor eax, esi |
221 | add eax, esi | 215 | add ecx, eax |
222 | mov esi, -1 | 216 | mov eax, -1 |
223 | rol ecx, 10 | 217 | rol edi, 10 |
224 | add eax, edi | 218 | add ecx, edx |
225 | mov edi, DWORD PTR 32[esp] | 219 | mov edx, DWORD PTR 28[esp] |
226 | rol eax, 8 | 220 | rol ecx, 8 |
227 | add eax, ebp | 221 | add ecx, ebp |
228 | ; 16 | 222 | ; 16 |
229 | add ebp, edi | ||
230 | mov edi, ebx | ||
231 | sub esi, eax | ||
232 | and edi, eax | ||
233 | and esi, ecx | ||
234 | or edi, esi | ||
235 | mov esi, DWORD PTR 20[esp] | ||
236 | rol ebx, 10 | ||
237 | lea ebp, DWORD PTR 1518500249[edi*1+ebp] | ||
238 | mov edi, -1 | ||
239 | rol ebp, 7 | ||
240 | add ebp, edx | 223 | add ebp, edx |
224 | mov edx, esi | ||
225 | sub eax, ecx | ||
226 | and edx, ecx | ||
227 | and eax, edi | ||
228 | or edx, eax | ||
229 | mov eax, DWORD PTR 16[esp] | ||
230 | rol esi, 10 | ||
231 | lea ebp, DWORD PTR 1518500249[edx*1+ebp] | ||
232 | mov edx, -1 | ||
233 | rol ebp, 7 | ||
234 | add ebp, ebx | ||
241 | ; 17 | 235 | ; 17 |
242 | add edx, esi | 236 | add ebx, eax |
243 | mov esi, eax | 237 | mov eax, ecx |
244 | sub edi, ebp | 238 | sub edx, ebp |
245 | and esi, ebp | 239 | and eax, ebp |
246 | and edi, ebx | 240 | and edx, esi |
247 | or esi, edi | 241 | or eax, edx |
248 | mov edi, DWORD PTR 56[esp] | 242 | mov edx, DWORD PTR 52[esp] |
249 | rol eax, 10 | 243 | rol ecx, 10 |
250 | lea edx, DWORD PTR 1518500249[esi*1+edx] | 244 | lea ebx, DWORD PTR 1518500249[eax*1+ebx] |
251 | mov esi, -1 | 245 | mov eax, -1 |
252 | rol edx, 6 | 246 | rol ebx, 6 |
253 | add edx, ecx | 247 | add ebx, edi |
254 | ; 18 | 248 | ; 18 |
255 | add ecx, edi | 249 | add edi, edx |
256 | mov edi, ebp | 250 | mov edx, ebp |
257 | sub esi, edx | 251 | sub eax, ebx |
258 | and edi, edx | 252 | and edx, ebx |
259 | and esi, eax | 253 | and eax, ecx |
260 | or edi, esi | 254 | or edx, eax |
261 | mov esi, DWORD PTR 8[esp] | 255 | mov eax, DWORD PTR 4[esp] |
262 | rol ebp, 10 | 256 | rol ebp, 10 |
263 | lea ecx, DWORD PTR 1518500249[edi*1+ecx] | 257 | lea edi, DWORD PTR 1518500249[edx*1+edi] |
264 | mov edi, -1 | 258 | mov edx, -1 |
265 | rol ecx, 8 | 259 | rol edi, 8 |
266 | add ecx, ebx | 260 | add edi, esi |
267 | ; 19 | 261 | ; 19 |
268 | add ebx, esi | 262 | add esi, eax |
269 | mov esi, edx | 263 | mov eax, ebx |
270 | sub edi, ecx | 264 | sub edx, edi |
271 | and esi, ecx | 265 | and eax, edi |
272 | and edi, ebp | 266 | and edx, ebp |
273 | or esi, edi | 267 | or eax, edx |
274 | mov edi, DWORD PTR 44[esp] | 268 | mov edx, DWORD PTR 40[esp] |
275 | rol edx, 10 | 269 | rol ebx, 10 |
276 | lea ebx, DWORD PTR 1518500249[esi*1+ebx] | 270 | lea esi, DWORD PTR 1518500249[eax*1+esi] |
277 | mov esi, -1 | 271 | mov eax, -1 |
278 | rol ebx, 13 | 272 | rol esi, 13 |
279 | add ebx, eax | 273 | add esi, ecx |
280 | ; 20 | 274 | ; 20 |
281 | add eax, edi | 275 | add ecx, edx |
282 | mov edi, ecx | 276 | mov edx, edi |
283 | sub esi, ebx | 277 | sub eax, esi |
284 | and edi, ebx | 278 | and edx, esi |
285 | and esi, edx | 279 | and eax, ebx |
286 | or edi, esi | 280 | or edx, eax |
287 | mov esi, DWORD PTR 28[esp] | 281 | mov eax, DWORD PTR 24[esp] |
288 | rol ecx, 10 | 282 | rol edi, 10 |
289 | lea eax, DWORD PTR 1518500249[edi*1+eax] | 283 | lea ecx, DWORD PTR 1518500249[edx*1+ecx] |
290 | mov edi, -1 | 284 | mov edx, -1 |
291 | rol eax, 11 | 285 | rol ecx, 11 |
292 | add eax, ebp | 286 | add ecx, ebp |
293 | ; 21 | 287 | ; 21 |
294 | add ebp, esi | 288 | add ebp, eax |
295 | mov esi, ebx | 289 | mov eax, esi |
296 | sub edi, eax | 290 | sub edx, ecx |
297 | and esi, eax | 291 | and eax, ecx |
298 | and edi, ecx | 292 | and edx, edi |
299 | or esi, edi | 293 | or eax, edx |
300 | mov edi, DWORD PTR 64[esp] | 294 | mov edx, DWORD PTR 60[esp] |
301 | rol ebx, 10 | 295 | rol esi, 10 |
302 | lea ebp, DWORD PTR 1518500249[esi*1+ebp] | 296 | lea ebp, DWORD PTR 1518500249[eax*1+ebp] |
303 | mov esi, -1 | 297 | mov eax, -1 |
304 | rol ebp, 9 | 298 | rol ebp, 9 |
305 | add ebp, edx | 299 | add ebp, ebx |
306 | ; 22 | 300 | ; 22 |
307 | add edx, edi | 301 | add ebx, edx |
308 | mov edi, eax | 302 | mov edx, ecx |
309 | sub esi, ebp | 303 | sub eax, ebp |
310 | and edi, ebp | 304 | and edx, ebp |
311 | and esi, ebx | 305 | and eax, esi |
312 | or edi, esi | 306 | or edx, eax |
313 | mov esi, DWORD PTR 16[esp] | 307 | mov eax, DWORD PTR 12[esp] |
314 | rol eax, 10 | 308 | rol ecx, 10 |
315 | lea edx, DWORD PTR 1518500249[edi*1+edx] | 309 | lea ebx, DWORD PTR 1518500249[edx*1+ebx] |
316 | mov edi, -1 | 310 | mov edx, -1 |
317 | rol edx, 7 | 311 | rol ebx, 7 |
318 | add edx, ecx | 312 | add ebx, edi |
319 | ; 23 | 313 | ; 23 |
320 | add ecx, esi | 314 | add edi, eax |
321 | mov esi, ebp | 315 | mov eax, ebp |
322 | sub edi, edx | 316 | sub edx, ebx |
323 | and esi, edx | 317 | and eax, ebx |
324 | and edi, eax | 318 | and edx, ecx |
325 | or esi, edi | 319 | or eax, edx |
326 | mov edi, DWORD PTR 52[esp] | 320 | mov edx, DWORD PTR 48[esp] |
327 | rol ebp, 10 | 321 | rol ebp, 10 |
328 | lea ecx, DWORD PTR 1518500249[esi*1+ecx] | 322 | lea edi, DWORD PTR 1518500249[eax*1+edi] |
329 | mov esi, -1 | 323 | mov eax, -1 |
330 | rol ecx, 15 | 324 | rol edi, 15 |
331 | add ecx, ebx | 325 | add edi, esi |
332 | ; 24 | 326 | ; 24 |
333 | add ebx, edi | 327 | add esi, edx |
334 | mov edi, edx | 328 | mov edx, ebx |
335 | sub esi, ecx | 329 | sub eax, edi |
336 | and edi, ecx | 330 | and edx, edi |
337 | and esi, ebp | 331 | and eax, ebp |
338 | or edi, esi | 332 | or edx, eax |
339 | mov esi, DWORD PTR 4[esp] | 333 | mov eax, DWORD PTR [esp] |
340 | rol edx, 10 | 334 | rol ebx, 10 |
341 | lea ebx, DWORD PTR 1518500249[edi*1+ebx] | 335 | lea esi, DWORD PTR 1518500249[edx*1+esi] |
342 | mov edi, -1 | 336 | mov edx, -1 |
343 | rol ebx, 7 | 337 | rol esi, 7 |
344 | add ebx, eax | 338 | add esi, ecx |
345 | ; 25 | 339 | ; 25 |
346 | add eax, esi | 340 | add ecx, eax |
347 | mov esi, ecx | 341 | mov eax, edi |
348 | sub edi, ebx | 342 | sub edx, esi |
349 | and esi, ebx | 343 | and eax, esi |
350 | and edi, edx | 344 | and edx, ebx |
351 | or esi, edi | 345 | or eax, edx |
352 | mov edi, DWORD PTR 40[esp] | 346 | mov edx, DWORD PTR 36[esp] |
353 | rol ecx, 10 | 347 | rol edi, 10 |
354 | lea eax, DWORD PTR 1518500249[esi*1+eax] | 348 | lea ecx, DWORD PTR 1518500249[eax*1+ecx] |
355 | mov esi, -1 | 349 | mov eax, -1 |
356 | rol eax, 12 | 350 | rol ecx, 12 |
357 | add eax, ebp | 351 | add ecx, ebp |
358 | ; 26 | 352 | ; 26 |
359 | add ebp, edi | ||
360 | mov edi, ebx | ||
361 | sub esi, eax | ||
362 | and edi, eax | ||
363 | and esi, ecx | ||
364 | or edi, esi | ||
365 | mov esi, DWORD PTR 24[esp] | ||
366 | rol ebx, 10 | ||
367 | lea ebp, DWORD PTR 1518500249[edi*1+ebp] | ||
368 | mov edi, -1 | ||
369 | rol ebp, 15 | ||
370 | add ebp, edx | 353 | add ebp, edx |
354 | mov edx, esi | ||
355 | sub eax, ecx | ||
356 | and edx, ecx | ||
357 | and eax, edi | ||
358 | or edx, eax | ||
359 | mov eax, DWORD PTR 20[esp] | ||
360 | rol esi, 10 | ||
361 | lea ebp, DWORD PTR 1518500249[edx*1+ebp] | ||
362 | mov edx, -1 | ||
363 | rol ebp, 15 | ||
364 | add ebp, ebx | ||
371 | ; 27 | 365 | ; 27 |
372 | add edx, esi | 366 | add ebx, eax |
373 | mov esi, eax | 367 | mov eax, ecx |
374 | sub edi, ebp | 368 | sub edx, ebp |
375 | and esi, ebp | 369 | and eax, ebp |
376 | and edi, ebx | 370 | and edx, esi |
377 | or esi, edi | 371 | or eax, edx |
378 | mov edi, DWORD PTR 12[esp] | 372 | mov edx, DWORD PTR 8[esp] |
379 | rol eax, 10 | 373 | rol ecx, 10 |
380 | lea edx, DWORD PTR 1518500249[esi*1+edx] | 374 | lea ebx, DWORD PTR 1518500249[eax*1+ebx] |
381 | mov esi, -1 | 375 | mov eax, -1 |
382 | rol edx, 9 | 376 | rol ebx, 9 |
383 | add edx, ecx | 377 | add ebx, edi |
384 | ; 28 | 378 | ; 28 |
385 | add ecx, edi | 379 | add edi, edx |
386 | mov edi, ebp | 380 | mov edx, ebp |
387 | sub esi, edx | 381 | sub eax, ebx |
388 | and edi, edx | 382 | and edx, ebx |
389 | and esi, eax | 383 | and eax, ecx |
390 | or edi, esi | 384 | or edx, eax |
391 | mov esi, DWORD PTR 60[esp] | 385 | mov eax, DWORD PTR 56[esp] |
392 | rol ebp, 10 | 386 | rol ebp, 10 |
393 | lea ecx, DWORD PTR 1518500249[edi*1+ecx] | 387 | lea edi, DWORD PTR 1518500249[edx*1+edi] |
394 | mov edi, -1 | 388 | mov edx, -1 |
395 | rol ecx, 11 | 389 | rol edi, 11 |
396 | add ecx, ebx | 390 | add edi, esi |
397 | ; 29 | 391 | ; 29 |
398 | add ebx, esi | 392 | add esi, eax |
399 | mov esi, edx | 393 | mov eax, ebx |
400 | sub edi, ecx | 394 | sub edx, edi |
401 | and esi, ecx | 395 | and eax, edi |
402 | and edi, ebp | 396 | and edx, ebp |
403 | or esi, edi | 397 | or eax, edx |
404 | mov edi, DWORD PTR 48[esp] | 398 | mov edx, DWORD PTR 44[esp] |
405 | rol edx, 10 | 399 | rol ebx, 10 |
406 | lea ebx, DWORD PTR 1518500249[esi*1+ebx] | 400 | lea esi, DWORD PTR 1518500249[eax*1+esi] |
407 | mov esi, -1 | 401 | mov eax, -1 |
408 | rol ebx, 7 | 402 | rol esi, 7 |
409 | add ebx, eax | 403 | add esi, ecx |
410 | ; 30 | 404 | ; 30 |
411 | add eax, edi | 405 | add ecx, edx |
412 | mov edi, ecx | 406 | mov edx, edi |
413 | sub esi, ebx | 407 | sub eax, esi |
414 | and edi, ebx | 408 | and edx, esi |
415 | and esi, edx | 409 | and eax, ebx |
416 | or edi, esi | 410 | or edx, eax |
417 | mov esi, DWORD PTR 36[esp] | 411 | mov eax, DWORD PTR 32[esp] |
418 | rol ecx, 10 | 412 | rol edi, 10 |
419 | lea eax, DWORD PTR 1518500249[edi*1+eax] | 413 | lea ecx, DWORD PTR 1518500249[edx*1+ecx] |
420 | mov edi, -1 | 414 | mov edx, -1 |
421 | rol eax, 13 | 415 | rol ecx, 13 |
422 | add eax, ebp | 416 | add ecx, ebp |
423 | ; 31 | 417 | ; 31 |
424 | add ebp, esi | 418 | add ebp, eax |
425 | mov esi, ebx | 419 | mov eax, esi |
426 | sub edi, eax | 420 | sub edx, ecx |
427 | and esi, eax | 421 | and eax, ecx |
428 | and edi, ecx | 422 | and edx, edi |
429 | or esi, edi | 423 | or eax, edx |
430 | mov edi, -1 | 424 | mov edx, -1 |
431 | rol ebx, 10 | 425 | rol esi, 10 |
432 | lea ebp, DWORD PTR 1518500249[esi*1+ebp] | 426 | lea ebp, DWORD PTR 1518500249[eax*1+ebp] |
433 | sub edi, eax | 427 | sub edx, ecx |
434 | rol ebp, 12 | 428 | rol ebp, 12 |
435 | add ebp, edx | 429 | add ebp, ebx |
436 | ; 32 | 430 | ; 32 |
437 | mov esi, DWORD PTR 16[esp] | 431 | mov eax, DWORD PTR 12[esp] |
438 | or edi, ebp | 432 | or edx, ebp |
439 | add edx, esi | 433 | add ebx, eax |
440 | xor edi, ebx | 434 | xor edx, esi |
441 | mov esi, -1 | 435 | mov eax, -1 |
442 | rol eax, 10 | 436 | rol ecx, 10 |
443 | lea edx, DWORD PTR 1859775393[edi*1+edx] | 437 | lea ebx, DWORD PTR 1859775393[edx*1+ebx] |
444 | sub esi, ebp | 438 | sub eax, ebp |
445 | rol edx, 11 | 439 | rol ebx, 11 |
446 | add edx, ecx | 440 | add ebx, edi |
447 | ; 33 | 441 | ; 33 |
448 | mov edi, DWORD PTR 44[esp] | 442 | mov edx, DWORD PTR 40[esp] |
449 | or esi, edx | 443 | or eax, ebx |
450 | add ecx, edi | 444 | add edi, edx |
451 | xor esi, eax | 445 | xor eax, ecx |
452 | mov edi, -1 | 446 | mov edx, -1 |
453 | rol ebp, 10 | 447 | rol ebp, 10 |
454 | lea ecx, DWORD PTR 1859775393[esi*1+ecx] | 448 | lea edi, DWORD PTR 1859775393[eax*1+edi] |
455 | sub edi, edx | 449 | sub edx, ebx |
456 | rol ecx, 13 | 450 | rol edi, 13 |
457 | add ecx, ebx | 451 | add edi, esi |
458 | ; 34 | 452 | ; 34 |
459 | mov esi, DWORD PTR 60[esp] | 453 | mov eax, DWORD PTR 56[esp] |
460 | or edi, ecx | 454 | or edx, edi |
461 | add ebx, esi | 455 | add esi, eax |
462 | xor edi, ebp | 456 | xor edx, ebp |
463 | mov esi, -1 | 457 | mov eax, -1 |
464 | rol edx, 10 | 458 | rol ebx, 10 |
465 | lea ebx, DWORD PTR 1859775393[edi*1+ebx] | 459 | lea esi, DWORD PTR 1859775393[edx*1+esi] |
466 | sub esi, ecx | 460 | sub eax, edi |
467 | rol ebx, 6 | 461 | rol esi, 6 |
468 | add ebx, eax | 462 | add esi, ecx |
469 | ; 35 | 463 | ; 35 |
470 | mov edi, DWORD PTR 20[esp] | 464 | mov edx, DWORD PTR 16[esp] |
471 | or esi, ebx | 465 | or eax, esi |
472 | add eax, edi | 466 | add ecx, edx |
473 | xor esi, edx | 467 | xor eax, ebx |
474 | mov edi, -1 | 468 | mov edx, -1 |
475 | rol ecx, 10 | 469 | rol edi, 10 |
476 | lea eax, DWORD PTR 1859775393[esi*1+eax] | 470 | lea ecx, DWORD PTR 1859775393[eax*1+ecx] |
477 | sub edi, ebx | 471 | sub edx, esi |
478 | rol eax, 7 | 472 | rol ecx, 7 |
479 | add eax, ebp | 473 | add ecx, ebp |
480 | ; 36 | 474 | ; 36 |
481 | mov esi, DWORD PTR 40[esp] | 475 | mov eax, DWORD PTR 36[esp] |
482 | or edi, eax | 476 | or edx, ecx |
483 | add ebp, esi | 477 | add ebp, eax |
484 | xor edi, ecx | 478 | xor edx, edi |
485 | mov esi, -1 | 479 | mov eax, -1 |
486 | rol ebx, 10 | 480 | rol esi, 10 |
487 | lea ebp, DWORD PTR 1859775393[edi*1+ebp] | 481 | lea ebp, DWORD PTR 1859775393[edx*1+ebp] |
488 | sub esi, eax | 482 | sub eax, ecx |
489 | rol ebp, 14 | 483 | rol ebp, 14 |
490 | add ebp, edx | 484 | add ebp, ebx |
491 | ; 37 | 485 | ; 37 |
492 | mov edi, DWORD PTR 64[esp] | 486 | mov edx, DWORD PTR 60[esp] |
493 | or esi, ebp | 487 | or eax, ebp |
494 | add edx, edi | 488 | add ebx, edx |
495 | xor esi, ebx | 489 | xor eax, esi |
496 | mov edi, -1 | 490 | mov edx, -1 |
497 | rol eax, 10 | 491 | rol ecx, 10 |
498 | lea edx, DWORD PTR 1859775393[esi*1+edx] | 492 | lea ebx, DWORD PTR 1859775393[eax*1+ebx] |
499 | sub edi, ebp | 493 | sub edx, ebp |
500 | rol edx, 9 | 494 | rol ebx, 9 |
501 | add edx, ecx | 495 | add ebx, edi |
502 | ; 38 | 496 | ; 38 |
503 | mov esi, DWORD PTR 36[esp] | 497 | mov eax, DWORD PTR 32[esp] |
504 | or edi, edx | 498 | or edx, ebx |
505 | add ecx, esi | 499 | add edi, eax |
506 | xor edi, eax | 500 | xor edx, ecx |
507 | mov esi, -1 | 501 | mov eax, -1 |
508 | rol ebp, 10 | 502 | rol ebp, 10 |
509 | lea ecx, DWORD PTR 1859775393[edi*1+ecx] | 503 | lea edi, DWORD PTR 1859775393[edx*1+edi] |
510 | sub esi, edx | 504 | sub eax, ebx |
511 | rol ecx, 13 | 505 | rol edi, 13 |
512 | add ecx, ebx | 506 | add edi, esi |
513 | ; 39 | 507 | ; 39 |
514 | mov edi, DWORD PTR 8[esp] | 508 | mov edx, DWORD PTR 4[esp] |
515 | or esi, ecx | 509 | or eax, edi |
516 | add ebx, edi | 510 | add esi, edx |
517 | xor esi, ebp | 511 | xor eax, ebp |
518 | mov edi, -1 | 512 | mov edx, -1 |
519 | rol edx, 10 | 513 | rol ebx, 10 |
520 | lea ebx, DWORD PTR 1859775393[esi*1+ebx] | 514 | lea esi, DWORD PTR 1859775393[eax*1+esi] |
521 | sub edi, ecx | 515 | sub edx, edi |
522 | rol ebx, 15 | 516 | rol esi, 15 |
523 | add ebx, eax | 517 | add esi, ecx |
524 | ; 40 | 518 | ; 40 |
525 | mov esi, DWORD PTR 12[esp] | 519 | mov eax, DWORD PTR 8[esp] |
526 | or edi, ebx | 520 | or edx, esi |
527 | add eax, esi | 521 | add ecx, eax |
528 | xor edi, edx | 522 | xor edx, ebx |
529 | mov esi, -1 | 523 | mov eax, -1 |
530 | rol ecx, 10 | 524 | rol edi, 10 |
531 | lea eax, DWORD PTR 1859775393[edi*1+eax] | 525 | lea ecx, DWORD PTR 1859775393[edx*1+ecx] |
532 | sub esi, ebx | 526 | sub eax, esi |
533 | rol eax, 14 | 527 | rol ecx, 14 |
534 | add eax, ebp | 528 | add ecx, ebp |
535 | ; 41 | 529 | ; 41 |
536 | mov edi, DWORD PTR 32[esp] | 530 | mov edx, DWORD PTR 28[esp] |
537 | or esi, eax | 531 | or eax, ecx |
538 | add ebp, edi | ||
539 | xor esi, ecx | ||
540 | mov edi, -1 | ||
541 | rol ebx, 10 | ||
542 | lea ebp, DWORD PTR 1859775393[esi*1+ebp] | ||
543 | sub edi, eax | ||
544 | rol ebp, 8 | ||
545 | add ebp, edx | 532 | add ebp, edx |
533 | xor eax, edi | ||
534 | mov edx, -1 | ||
535 | rol esi, 10 | ||
536 | lea ebp, DWORD PTR 1859775393[eax*1+ebp] | ||
537 | sub edx, ecx | ||
538 | rol ebp, 8 | ||
539 | add ebp, ebx | ||
546 | ; 42 | 540 | ; 42 |
547 | mov esi, DWORD PTR 4[esp] | 541 | mov eax, DWORD PTR [esp] |
548 | or edi, ebp | 542 | or edx, ebp |
549 | add edx, esi | 543 | add ebx, eax |
550 | xor edi, ebx | 544 | xor edx, esi |
551 | mov esi, -1 | 545 | mov eax, -1 |
552 | rol eax, 10 | 546 | rol ecx, 10 |
553 | lea edx, DWORD PTR 1859775393[edi*1+edx] | 547 | lea ebx, DWORD PTR 1859775393[edx*1+ebx] |
554 | sub esi, ebp | 548 | sub eax, ebp |
555 | rol edx, 13 | 549 | rol ebx, 13 |
556 | add edx, ecx | 550 | add ebx, edi |
557 | ; 43 | 551 | ; 43 |
558 | mov edi, DWORD PTR 28[esp] | 552 | mov edx, DWORD PTR 24[esp] |
559 | or esi, edx | 553 | or eax, ebx |
560 | add ecx, edi | 554 | add edi, edx |
561 | xor esi, eax | 555 | xor eax, ecx |
562 | mov edi, -1 | 556 | mov edx, -1 |
563 | rol ebp, 10 | 557 | rol ebp, 10 |
564 | lea ecx, DWORD PTR 1859775393[esi*1+ecx] | 558 | lea edi, DWORD PTR 1859775393[eax*1+edi] |
565 | sub edi, edx | 559 | sub edx, ebx |
566 | rol ecx, 6 | 560 | rol edi, 6 |
567 | add ecx, ebx | 561 | add edi, esi |
568 | ; 44 | 562 | ; 44 |
569 | mov esi, DWORD PTR 56[esp] | 563 | mov eax, DWORD PTR 52[esp] |
570 | or edi, ecx | 564 | or edx, edi |
571 | add ebx, esi | 565 | add esi, eax |
572 | xor edi, ebp | 566 | xor edx, ebp |
573 | mov esi, -1 | 567 | mov eax, -1 |
574 | rol edx, 10 | 568 | rol ebx, 10 |
575 | lea ebx, DWORD PTR 1859775393[edi*1+ebx] | 569 | lea esi, DWORD PTR 1859775393[edx*1+esi] |
576 | sub esi, ecx | 570 | sub eax, edi |
577 | rol ebx, 5 | 571 | rol esi, 5 |
578 | add ebx, eax | 572 | add esi, ecx |
579 | ; 45 | 573 | ; 45 |
580 | mov edi, DWORD PTR 48[esp] | 574 | mov edx, DWORD PTR 44[esp] |
581 | or esi, ebx | 575 | or eax, esi |
582 | add eax, edi | 576 | add ecx, edx |
583 | xor esi, edx | 577 | xor eax, ebx |
584 | mov edi, -1 | 578 | mov edx, -1 |
585 | rol ecx, 10 | 579 | rol edi, 10 |
586 | lea eax, DWORD PTR 1859775393[esi*1+eax] | 580 | lea ecx, DWORD PTR 1859775393[eax*1+ecx] |
587 | sub edi, ebx | 581 | sub edx, esi |
588 | rol eax, 12 | 582 | rol ecx, 12 |
589 | add eax, ebp | 583 | add ecx, ebp |
590 | ; 46 | 584 | ; 46 |
591 | mov esi, DWORD PTR 24[esp] | 585 | mov eax, DWORD PTR 20[esp] |
592 | or edi, eax | 586 | or edx, ecx |
593 | add ebp, esi | 587 | add ebp, eax |
594 | xor edi, ecx | 588 | xor edx, edi |
595 | mov esi, -1 | 589 | mov eax, -1 |
596 | rol ebx, 10 | 590 | rol esi, 10 |
597 | lea ebp, DWORD PTR 1859775393[edi*1+ebp] | 591 | lea ebp, DWORD PTR 1859775393[edx*1+ebp] |
598 | sub esi, eax | 592 | sub eax, ecx |
599 | rol ebp, 7 | 593 | rol ebp, 7 |
600 | add ebp, edx | 594 | add ebp, ebx |
601 | ; 47 | 595 | ; 47 |
602 | mov edi, DWORD PTR 52[esp] | 596 | mov edx, DWORD PTR 48[esp] |
603 | or esi, ebp | 597 | or eax, ebp |
604 | add edx, edi | 598 | add ebx, edx |
605 | xor esi, ebx | 599 | xor eax, esi |
606 | mov edi, -1 | 600 | mov edx, -1 |
607 | rol eax, 10 | 601 | rol ecx, 10 |
608 | lea edx, DWORD PTR 1859775393[esi*1+edx] | 602 | lea ebx, DWORD PTR 1859775393[eax*1+ebx] |
609 | mov esi, eax | 603 | mov eax, ecx |
610 | rol edx, 5 | 604 | rol ebx, 5 |
611 | add edx, ecx | 605 | add ebx, edi |
612 | ; 48 | 606 | ; 48 |
613 | sub edi, eax | 607 | sub edx, ecx |
614 | and esi, edx | 608 | and eax, ebx |
615 | and edi, ebp | 609 | and edx, ebp |
616 | or edi, esi | 610 | or edx, eax |
617 | mov esi, DWORD PTR 8[esp] | 611 | mov eax, DWORD PTR 4[esp] |
618 | rol ebp, 10 | 612 | rol ebp, 10 |
619 | lea ecx, DWORD PTR 2400959708[edi+ecx] | 613 | lea edi, DWORD PTR 2400959708[edx+edi] |
620 | mov edi, -1 | 614 | mov edx, -1 |
621 | add ecx, esi | 615 | add edi, eax |
622 | mov esi, ebp | 616 | mov eax, ebp |
623 | rol ecx, 11 | 617 | rol edi, 11 |
624 | add ecx, ebx | 618 | add edi, esi |
625 | ; 49 | 619 | ; 49 |
626 | sub edi, ebp | 620 | sub edx, ebp |
627 | and esi, ecx | 621 | and eax, edi |
628 | and edi, edx | 622 | and edx, ebx |
629 | or edi, esi | 623 | or edx, eax |
630 | mov esi, DWORD PTR 40[esp] | 624 | mov eax, DWORD PTR 36[esp] |
631 | rol edx, 10 | 625 | rol ebx, 10 |
632 | lea ebx, DWORD PTR 2400959708[edi+ebx] | 626 | lea esi, DWORD PTR 2400959708[edx+esi] |
633 | mov edi, -1 | 627 | mov edx, -1 |
634 | add ebx, esi | 628 | add esi, eax |
635 | mov esi, edx | 629 | mov eax, ebx |
636 | rol ebx, 12 | 630 | rol esi, 12 |
637 | add ebx, eax | 631 | add esi, ecx |
638 | ; 50 | 632 | ; 50 |
639 | sub edi, edx | 633 | sub edx, ebx |
640 | and esi, ebx | 634 | and eax, esi |
641 | and edi, ecx | 635 | and edx, edi |
642 | or edi, esi | 636 | or edx, eax |
643 | mov esi, DWORD PTR 48[esp] | 637 | mov eax, DWORD PTR 44[esp] |
644 | rol ecx, 10 | 638 | rol edi, 10 |
645 | lea eax, DWORD PTR 2400959708[edi+eax] | 639 | lea ecx, DWORD PTR 2400959708[edx+ecx] |
646 | mov edi, -1 | 640 | mov edx, -1 |
647 | add eax, esi | 641 | add ecx, eax |
648 | mov esi, ecx | 642 | mov eax, edi |
649 | rol eax, 14 | 643 | rol ecx, 14 |
650 | add eax, ebp | 644 | add ecx, ebp |
651 | ; 51 | 645 | ; 51 |
652 | sub edi, ecx | 646 | sub edx, edi |
653 | and esi, eax | 647 | and eax, ecx |
654 | and edi, ebx | 648 | and edx, esi |
655 | or edi, esi | 649 | or edx, eax |
656 | mov esi, DWORD PTR 44[esp] | 650 | mov eax, DWORD PTR 40[esp] |
657 | rol ebx, 10 | 651 | rol esi, 10 |
658 | lea ebp, DWORD PTR 2400959708[edi+ebp] | 652 | lea ebp, DWORD PTR 2400959708[edx+ebp] |
659 | mov edi, -1 | 653 | mov edx, -1 |
660 | add ebp, esi | 654 | add ebp, eax |
661 | mov esi, ebx | 655 | mov eax, esi |
662 | rol ebp, 15 | 656 | rol ebp, 15 |
663 | add ebp, edx | 657 | add ebp, ebx |
664 | ; 52 | 658 | ; 52 |
665 | sub edi, ebx | 659 | sub edx, esi |
666 | and esi, ebp | 660 | and eax, ebp |
667 | and edi, eax | 661 | and edx, ecx |
668 | or edi, esi | 662 | or edx, eax |
669 | mov esi, DWORD PTR 4[esp] | 663 | mov eax, DWORD PTR [esp] |
670 | rol eax, 10 | 664 | rol ecx, 10 |
671 | lea edx, DWORD PTR 2400959708[edi+edx] | 665 | lea ebx, DWORD PTR 2400959708[edx+ebx] |
672 | mov edi, -1 | 666 | mov edx, -1 |
673 | add edx, esi | 667 | add ebx, eax |
674 | mov esi, eax | 668 | mov eax, ecx |
675 | rol edx, 14 | 669 | rol ebx, 14 |
676 | add edx, ecx | 670 | add ebx, edi |
677 | ; 53 | 671 | ; 53 |
678 | sub edi, eax | 672 | sub edx, ecx |
679 | and esi, edx | 673 | and eax, ebx |
680 | and edi, ebp | 674 | and edx, ebp |
681 | or edi, esi | 675 | or edx, eax |
682 | mov esi, DWORD PTR 36[esp] | 676 | mov eax, DWORD PTR 32[esp] |
683 | rol ebp, 10 | 677 | rol ebp, 10 |
684 | lea ecx, DWORD PTR 2400959708[edi+ecx] | 678 | lea edi, DWORD PTR 2400959708[edx+edi] |
685 | mov edi, -1 | 679 | mov edx, -1 |
686 | add ecx, esi | 680 | add edi, eax |
687 | mov esi, ebp | 681 | mov eax, ebp |
688 | rol ecx, 15 | 682 | rol edi, 15 |
689 | add ecx, ebx | 683 | add edi, esi |
690 | ; 54 | 684 | ; 54 |
691 | sub edi, ebp | 685 | sub edx, ebp |
692 | and esi, ecx | 686 | and eax, edi |
693 | and edi, edx | 687 | and edx, ebx |
694 | or edi, esi | 688 | or edx, eax |
695 | mov esi, DWORD PTR 52[esp] | 689 | mov eax, DWORD PTR 48[esp] |
696 | rol edx, 10 | 690 | rol ebx, 10 |
697 | lea ebx, DWORD PTR 2400959708[edi+ebx] | 691 | lea esi, DWORD PTR 2400959708[edx+esi] |
698 | mov edi, -1 | 692 | mov edx, -1 |
699 | add ebx, esi | 693 | add esi, eax |
700 | mov esi, edx | 694 | mov eax, ebx |
701 | rol ebx, 9 | 695 | rol esi, 9 |
702 | add ebx, eax | 696 | add esi, ecx |
703 | ; 55 | 697 | ; 55 |
704 | sub edi, edx | 698 | sub edx, ebx |
705 | and esi, ebx | 699 | and eax, esi |
706 | and edi, ecx | 700 | and edx, edi |
707 | or edi, esi | 701 | or edx, eax |
708 | mov esi, DWORD PTR 20[esp] | 702 | mov eax, DWORD PTR 16[esp] |
709 | rol ecx, 10 | 703 | rol edi, 10 |
710 | lea eax, DWORD PTR 2400959708[edi+eax] | 704 | lea ecx, DWORD PTR 2400959708[edx+ecx] |
711 | mov edi, -1 | 705 | mov edx, -1 |
712 | add eax, esi | 706 | add ecx, eax |
713 | mov esi, ecx | 707 | mov eax, edi |
714 | rol eax, 8 | 708 | rol ecx, 8 |
715 | add eax, ebp | 709 | add ecx, ebp |
716 | ; 56 | 710 | ; 56 |
717 | sub edi, ecx | 711 | sub edx, edi |
718 | and esi, eax | 712 | and eax, ecx |
719 | and edi, ebx | 713 | and edx, esi |
720 | or edi, esi | 714 | or edx, eax |
721 | mov esi, DWORD PTR 56[esp] | 715 | mov eax, DWORD PTR 52[esp] |
722 | rol ebx, 10 | 716 | rol esi, 10 |
723 | lea ebp, DWORD PTR 2400959708[edi+ebp] | 717 | lea ebp, DWORD PTR 2400959708[edx+ebp] |
724 | mov edi, -1 | 718 | mov edx, -1 |
725 | add ebp, esi | 719 | add ebp, eax |
726 | mov esi, ebx | 720 | mov eax, esi |
727 | rol ebp, 9 | 721 | rol ebp, 9 |
728 | add ebp, edx | 722 | add ebp, ebx |
729 | ; 57 | 723 | ; 57 |
730 | sub edi, ebx | 724 | sub edx, esi |
731 | and esi, ebp | 725 | and eax, ebp |
732 | and edi, eax | 726 | and edx, ecx |
733 | or edi, esi | 727 | or edx, eax |
734 | mov esi, DWORD PTR 16[esp] | 728 | mov eax, DWORD PTR 12[esp] |
735 | rol eax, 10 | 729 | rol ecx, 10 |
736 | lea edx, DWORD PTR 2400959708[edi+edx] | 730 | lea ebx, DWORD PTR 2400959708[edx+ebx] |
737 | mov edi, -1 | 731 | mov edx, -1 |
738 | add edx, esi | 732 | add ebx, eax |
739 | mov esi, eax | 733 | mov eax, ecx |
740 | rol edx, 14 | 734 | rol ebx, 14 |
741 | add edx, ecx | 735 | add ebx, edi |
742 | ; 58 | 736 | ; 58 |
743 | sub edi, eax | 737 | sub edx, ecx |
744 | and esi, edx | 738 | and eax, ebx |
745 | and edi, ebp | 739 | and edx, ebp |
746 | or edi, esi | 740 | or edx, eax |
747 | mov esi, DWORD PTR 32[esp] | 741 | mov eax, DWORD PTR 28[esp] |
748 | rol ebp, 10 | 742 | rol ebp, 10 |
749 | lea ecx, DWORD PTR 2400959708[edi+ecx] | 743 | lea edi, DWORD PTR 2400959708[edx+edi] |
750 | mov edi, -1 | 744 | mov edx, -1 |
751 | add ecx, esi | 745 | add edi, eax |
752 | mov esi, ebp | 746 | mov eax, ebp |
753 | rol ecx, 5 | 747 | rol edi, 5 |
754 | add ecx, ebx | 748 | add edi, esi |
755 | ; 59 | 749 | ; 59 |
756 | sub edi, ebp | 750 | sub edx, ebp |
757 | and esi, ecx | 751 | and eax, edi |
758 | and edi, edx | 752 | and edx, ebx |
759 | or edi, esi | 753 | or edx, eax |
760 | mov esi, DWORD PTR 64[esp] | 754 | mov eax, DWORD PTR 60[esp] |
761 | rol edx, 10 | 755 | rol ebx, 10 |
762 | lea ebx, DWORD PTR 2400959708[edi+ebx] | 756 | lea esi, DWORD PTR 2400959708[edx+esi] |
763 | mov edi, -1 | 757 | mov edx, -1 |
764 | add ebx, esi | 758 | add esi, eax |
765 | mov esi, edx | 759 | mov eax, ebx |
766 | rol ebx, 6 | 760 | rol esi, 6 |
767 | add ebx, eax | 761 | add esi, ecx |
768 | ; 60 | 762 | ; 60 |
769 | sub edi, edx | 763 | sub edx, ebx |
770 | and esi, ebx | 764 | and eax, esi |
771 | and edi, ecx | 765 | and edx, edi |
772 | or edi, esi | 766 | or edx, eax |
773 | mov esi, DWORD PTR 60[esp] | 767 | mov eax, DWORD PTR 56[esp] |
774 | rol ecx, 10 | 768 | rol edi, 10 |
775 | lea eax, DWORD PTR 2400959708[edi+eax] | 769 | lea ecx, DWORD PTR 2400959708[edx+ecx] |
776 | mov edi, -1 | 770 | mov edx, -1 |
777 | add eax, esi | 771 | add ecx, eax |
778 | mov esi, ecx | 772 | mov eax, edi |
779 | rol eax, 8 | 773 | rol ecx, 8 |
780 | add eax, ebp | 774 | add ecx, ebp |
781 | ; 61 | 775 | ; 61 |
782 | sub edi, ecx | 776 | sub edx, edi |
783 | and esi, eax | 777 | and eax, ecx |
784 | and edi, ebx | 778 | and edx, esi |
785 | or edi, esi | 779 | or edx, eax |
786 | mov esi, DWORD PTR 24[esp] | 780 | mov eax, DWORD PTR 20[esp] |
787 | rol ebx, 10 | 781 | rol esi, 10 |
788 | lea ebp, DWORD PTR 2400959708[edi+ebp] | 782 | lea ebp, DWORD PTR 2400959708[edx+ebp] |
789 | mov edi, -1 | 783 | mov edx, -1 |
790 | add ebp, esi | 784 | add ebp, eax |
791 | mov esi, ebx | 785 | mov eax, esi |
792 | rol ebp, 6 | 786 | rol ebp, 6 |
793 | add ebp, edx | 787 | add ebp, ebx |
794 | ; 62 | 788 | ; 62 |
795 | sub edi, ebx | 789 | sub edx, esi |
796 | and esi, ebp | 790 | and eax, ebp |
797 | and edi, eax | 791 | and edx, ecx |
798 | or edi, esi | 792 | or edx, eax |
799 | mov esi, DWORD PTR 28[esp] | 793 | mov eax, DWORD PTR 24[esp] |
800 | rol eax, 10 | 794 | rol ecx, 10 |
801 | lea edx, DWORD PTR 2400959708[edi+edx] | 795 | lea ebx, DWORD PTR 2400959708[edx+ebx] |
802 | mov edi, -1 | 796 | mov edx, -1 |
803 | add edx, esi | 797 | add ebx, eax |
804 | mov esi, eax | 798 | mov eax, ecx |
805 | rol edx, 5 | 799 | rol ebx, 5 |
806 | add edx, ecx | 800 | add ebx, edi |
807 | ; 63 | 801 | ; 63 |
808 | sub edi, eax | 802 | sub edx, ecx |
809 | and esi, edx | 803 | and eax, ebx |
810 | and edi, ebp | 804 | and edx, ebp |
811 | or edi, esi | 805 | or edx, eax |
812 | mov esi, DWORD PTR 12[esp] | 806 | mov eax, DWORD PTR 8[esp] |
813 | rol ebp, 10 | 807 | rol ebp, 10 |
814 | lea ecx, DWORD PTR 2400959708[edi+ecx] | 808 | lea edi, DWORD PTR 2400959708[edx+edi] |
815 | mov edi, -1 | 809 | mov edx, -1 |
816 | add ecx, esi | 810 | add edi, eax |
817 | sub edi, ebp | 811 | sub edx, ebp |
818 | rol ecx, 12 | 812 | rol edi, 12 |
819 | add ecx, ebx | 813 | add edi, esi |
820 | ; 64 | 814 | ; 64 |
821 | mov esi, DWORD PTR 20[esp] | 815 | mov eax, DWORD PTR 16[esp] |
822 | or edi, edx | 816 | or edx, ebx |
823 | add ebx, esi | 817 | add esi, eax |
824 | xor edi, ecx | 818 | xor edx, edi |
825 | mov esi, -1 | 819 | mov eax, -1 |
826 | rol edx, 10 | 820 | rol ebx, 10 |
827 | lea ebx, DWORD PTR 2840853838[edi*1+ebx] | 821 | lea esi, DWORD PTR 2840853838[edx*1+esi] |
828 | sub esi, edx | 822 | sub eax, ebx |
829 | rol ebx, 9 | 823 | rol esi, 9 |
830 | add ebx, eax | 824 | add esi, ecx |
831 | ; 65 | 825 | ; 65 |
832 | mov edi, DWORD PTR 4[esp] | 826 | mov edx, DWORD PTR [esp] |
833 | or esi, ecx | 827 | or eax, edi |
834 | add eax, edi | 828 | add ecx, edx |
835 | xor esi, ebx | 829 | xor eax, esi |
836 | mov edi, -1 | 830 | mov edx, -1 |
837 | rol ecx, 10 | 831 | rol edi, 10 |
838 | lea eax, DWORD PTR 2840853838[esi*1+eax] | 832 | lea ecx, DWORD PTR 2840853838[eax*1+ecx] |
839 | sub edi, ecx | 833 | sub edx, edi |
840 | rol eax, 15 | 834 | rol ecx, 15 |
841 | add eax, ebp | 835 | add ecx, ebp |
842 | ; 66 | 836 | ; 66 |
843 | mov esi, DWORD PTR 24[esp] | 837 | mov eax, DWORD PTR 20[esp] |
844 | or edi, ebx | 838 | or edx, esi |
845 | add ebp, esi | 839 | add ebp, eax |
846 | xor edi, eax | 840 | xor edx, ecx |
847 | mov esi, -1 | 841 | mov eax, -1 |
848 | rol ebx, 10 | 842 | rol esi, 10 |
849 | lea ebp, DWORD PTR 2840853838[edi*1+ebp] | 843 | lea ebp, DWORD PTR 2840853838[edx*1+ebp] |
850 | sub esi, ebx | 844 | sub eax, esi |
851 | rol ebp, 5 | 845 | rol ebp, 5 |
852 | add ebp, edx | 846 | add ebp, ebx |
853 | ; 67 | 847 | ; 67 |
854 | mov edi, DWORD PTR 40[esp] | 848 | mov edx, DWORD PTR 36[esp] |
855 | or esi, eax | 849 | or eax, ecx |
856 | add edx, edi | 850 | add ebx, edx |
857 | xor esi, ebp | 851 | xor eax, ebp |
858 | mov edi, -1 | 852 | mov edx, -1 |
859 | rol eax, 10 | 853 | rol ecx, 10 |
860 | lea edx, DWORD PTR 2840853838[esi*1+edx] | 854 | lea ebx, DWORD PTR 2840853838[eax*1+ebx] |
861 | sub edi, eax | 855 | sub edx, ecx |
862 | rol edx, 11 | 856 | rol ebx, 11 |
863 | add edx, ecx | 857 | add ebx, edi |
864 | ; 68 | 858 | ; 68 |
865 | mov esi, DWORD PTR 32[esp] | 859 | mov eax, DWORD PTR 28[esp] |
866 | or edi, ebp | 860 | or edx, ebp |
867 | add ecx, esi | 861 | add edi, eax |
868 | xor edi, edx | 862 | xor edx, ebx |
869 | mov esi, -1 | 863 | mov eax, -1 |
870 | rol ebp, 10 | 864 | rol ebp, 10 |
871 | lea ecx, DWORD PTR 2840853838[edi*1+ecx] | 865 | lea edi, DWORD PTR 2840853838[edx*1+edi] |
872 | sub esi, ebp | 866 | sub eax, ebp |
873 | rol ecx, 6 | 867 | rol edi, 6 |
874 | add ecx, ebx | 868 | add edi, esi |
875 | ; 69 | 869 | ; 69 |
876 | mov edi, DWORD PTR 52[esp] | 870 | mov edx, DWORD PTR 48[esp] |
877 | or esi, edx | 871 | or eax, ebx |
878 | add ebx, edi | 872 | add esi, edx |
879 | xor esi, ecx | 873 | xor eax, edi |
880 | mov edi, -1 | 874 | mov edx, -1 |
881 | rol edx, 10 | 875 | rol ebx, 10 |
882 | lea ebx, DWORD PTR 2840853838[esi*1+ebx] | 876 | lea esi, DWORD PTR 2840853838[eax*1+esi] |
883 | sub edi, edx | 877 | sub edx, ebx |
884 | rol ebx, 8 | 878 | rol esi, 8 |
885 | add ebx, eax | 879 | add esi, ecx |
886 | ; 70 | 880 | ; 70 |
887 | mov esi, DWORD PTR 12[esp] | 881 | mov eax, DWORD PTR 8[esp] |
888 | or edi, ecx | 882 | or edx, edi |
889 | add eax, esi | 883 | add ecx, eax |
890 | xor edi, ebx | 884 | xor edx, esi |
891 | mov esi, -1 | 885 | mov eax, -1 |
892 | rol ecx, 10 | 886 | rol edi, 10 |
893 | lea eax, DWORD PTR 2840853838[edi*1+eax] | 887 | lea ecx, DWORD PTR 2840853838[edx*1+ecx] |
894 | sub esi, ecx | 888 | sub eax, edi |
895 | rol eax, 13 | 889 | rol ecx, 13 |
896 | add eax, ebp | 890 | add ecx, ebp |
897 | ; 71 | 891 | ; 71 |
898 | mov edi, DWORD PTR 44[esp] | 892 | mov edx, DWORD PTR 40[esp] |
899 | or esi, ebx | 893 | or eax, esi |
900 | add ebp, edi | ||
901 | xor esi, eax | ||
902 | mov edi, -1 | ||
903 | rol ebx, 10 | ||
904 | lea ebp, DWORD PTR 2840853838[esi*1+ebp] | ||
905 | sub edi, ebx | ||
906 | rol ebp, 12 | ||
907 | add ebp, edx | 894 | add ebp, edx |
895 | xor eax, ecx | ||
896 | mov edx, -1 | ||
897 | rol esi, 10 | ||
898 | lea ebp, DWORD PTR 2840853838[eax*1+ebp] | ||
899 | sub edx, esi | ||
900 | rol ebp, 12 | ||
901 | add ebp, ebx | ||
908 | ; 72 | 902 | ; 72 |
909 | mov esi, DWORD PTR 60[esp] | 903 | mov eax, DWORD PTR 56[esp] |
910 | or edi, eax | 904 | or edx, ecx |
911 | add edx, esi | 905 | add ebx, eax |
912 | xor edi, ebp | 906 | xor edx, ebp |
913 | mov esi, -1 | 907 | mov eax, -1 |
914 | rol eax, 10 | 908 | rol ecx, 10 |
915 | lea edx, DWORD PTR 2840853838[edi*1+edx] | 909 | lea ebx, DWORD PTR 2840853838[edx*1+ebx] |
916 | sub esi, eax | 910 | sub eax, ecx |
917 | rol edx, 5 | 911 | rol ebx, 5 |
918 | add edx, ecx | 912 | add ebx, edi |
919 | ; 73 | 913 | ; 73 |
920 | mov edi, DWORD PTR 8[esp] | 914 | mov edx, DWORD PTR 4[esp] |
921 | or esi, ebp | 915 | or eax, ebp |
922 | add ecx, edi | 916 | add edi, edx |
923 | xor esi, edx | 917 | xor eax, ebx |
924 | mov edi, -1 | 918 | mov edx, -1 |
925 | rol ebp, 10 | 919 | rol ebp, 10 |
926 | lea ecx, DWORD PTR 2840853838[esi*1+ecx] | 920 | lea edi, DWORD PTR 2840853838[eax*1+edi] |
927 | sub edi, ebp | 921 | sub edx, ebp |
928 | rol ecx, 12 | 922 | rol edi, 12 |
929 | add ecx, ebx | 923 | add edi, esi |
930 | ; 74 | 924 | ; 74 |
931 | mov esi, DWORD PTR 16[esp] | 925 | mov eax, DWORD PTR 12[esp] |
932 | or edi, edx | 926 | or edx, ebx |
933 | add ebx, esi | 927 | add esi, eax |
934 | xor edi, ecx | 928 | xor edx, edi |
935 | mov esi, -1 | 929 | mov eax, -1 |
936 | rol edx, 10 | 930 | rol ebx, 10 |
937 | lea ebx, DWORD PTR 2840853838[edi*1+ebx] | 931 | lea esi, DWORD PTR 2840853838[edx*1+esi] |
938 | sub esi, edx | 932 | sub eax, ebx |
939 | rol ebx, 13 | 933 | rol esi, 13 |
940 | add ebx, eax | 934 | add esi, ecx |
941 | ; 75 | 935 | ; 75 |
942 | mov edi, DWORD PTR 36[esp] | 936 | mov edx, DWORD PTR 32[esp] |
943 | or esi, ecx | 937 | or eax, edi |
944 | add eax, edi | 938 | add ecx, edx |
945 | xor esi, ebx | 939 | xor eax, esi |
946 | mov edi, -1 | 940 | mov edx, -1 |
947 | rol ecx, 10 | 941 | rol edi, 10 |
948 | lea eax, DWORD PTR 2840853838[esi*1+eax] | 942 | lea ecx, DWORD PTR 2840853838[eax*1+ecx] |
949 | sub edi, ecx | 943 | sub edx, edi |
950 | rol eax, 14 | 944 | rol ecx, 14 |
951 | add eax, ebp | 945 | add ecx, ebp |
952 | ; 76 | 946 | ; 76 |
953 | mov esi, DWORD PTR 48[esp] | 947 | mov eax, DWORD PTR 44[esp] |
954 | or edi, ebx | 948 | or edx, esi |
955 | add ebp, esi | 949 | add ebp, eax |
956 | xor edi, eax | 950 | xor edx, ecx |
957 | mov esi, -1 | 951 | mov eax, -1 |
958 | rol ebx, 10 | 952 | rol esi, 10 |
959 | lea ebp, DWORD PTR 2840853838[edi*1+ebp] | 953 | lea ebp, DWORD PTR 2840853838[edx*1+ebp] |
960 | sub esi, ebx | 954 | sub eax, esi |
961 | rol ebp, 11 | 955 | rol ebp, 11 |
962 | add ebp, edx | 956 | add ebp, ebx |
963 | ; 77 | 957 | ; 77 |
964 | mov edi, DWORD PTR 28[esp] | 958 | mov edx, DWORD PTR 24[esp] |
965 | or esi, eax | 959 | or eax, ecx |
966 | add edx, edi | 960 | add ebx, edx |
967 | xor esi, ebp | 961 | xor eax, ebp |
968 | mov edi, -1 | 962 | mov edx, -1 |
969 | rol eax, 10 | 963 | rol ecx, 10 |
970 | lea edx, DWORD PTR 2840853838[esi*1+edx] | 964 | lea ebx, DWORD PTR 2840853838[eax*1+ebx] |
971 | sub edi, eax | 965 | sub edx, ecx |
972 | rol edx, 8 | 966 | rol ebx, 8 |
973 | add edx, ecx | 967 | add ebx, edi |
974 | ; 78 | 968 | ; 78 |
975 | mov esi, DWORD PTR 64[esp] | 969 | mov eax, DWORD PTR 60[esp] |
976 | or edi, ebp | 970 | or edx, ebp |
977 | add ecx, esi | 971 | add edi, eax |
978 | xor edi, edx | 972 | xor edx, ebx |
979 | mov esi, -1 | 973 | mov eax, -1 |
980 | rol ebp, 10 | 974 | rol ebp, 10 |
981 | lea ecx, DWORD PTR 2840853838[edi*1+ecx] | 975 | lea edi, DWORD PTR 2840853838[edx*1+edi] |
982 | sub esi, ebp | 976 | sub eax, ebp |
983 | rol ecx, 5 | 977 | rol edi, 5 |
984 | add ecx, ebx | 978 | add edi, esi |
985 | ; 79 | 979 | ; 79 |
986 | mov edi, DWORD PTR 56[esp] | 980 | mov edx, DWORD PTR 52[esp] |
987 | or esi, edx | 981 | or eax, ebx |
988 | add ebx, edi | 982 | add esi, edx |
989 | xor esi, ecx | 983 | xor eax, edi |
990 | mov edi, DWORD PTR 108[esp] | 984 | mov edx, DWORD PTR 128[esp] |
991 | rol edx, 10 | 985 | rol ebx, 10 |
992 | lea ebx, DWORD PTR 2840853838[esi*1+ebx] | 986 | lea esi, DWORD PTR 2840853838[eax*1+esi] |
993 | mov DWORD PTR 68[esp],eax | 987 | mov DWORD PTR 64[esp],ecx |
994 | rol ebx, 6 | 988 | rol esi, 6 |
995 | add ebx, eax | 989 | add esi, ecx |
996 | mov eax, DWORD PTR [edi] | 990 | mov ecx, DWORD PTR [edx] |
997 | mov DWORD PTR 72[esp],ebx | 991 | mov DWORD PTR 68[esp],esi |
998 | mov DWORD PTR 76[esp],ecx | 992 | mov DWORD PTR 72[esp],edi |
999 | mov ebx, DWORD PTR 4[edi] | 993 | mov esi, DWORD PTR 4[edx] |
1000 | mov DWORD PTR 80[esp],edx | 994 | mov DWORD PTR 76[esp],ebx |
1001 | mov ecx, DWORD PTR 8[edi] | 995 | mov edi, DWORD PTR 8[edx] |
1002 | mov DWORD PTR 84[esp],ebp | 996 | mov DWORD PTR 80[esp],ebp |
1003 | mov edx, DWORD PTR 12[edi] | 997 | mov ebx, DWORD PTR 12[edx] |
1004 | mov ebp, DWORD PTR 16[edi] | 998 | mov ebp, DWORD PTR 16[edx] |
1005 | ; 80 | 999 | ; 80 |
1006 | mov edi, -1 | 1000 | mov edx, -1 |
1007 | sub edi, edx | 1001 | sub edx, ebx |
1008 | mov esi, DWORD PTR 24[esp] | 1002 | mov eax, DWORD PTR 20[esp] |
1009 | or edi, ecx | 1003 | or edx, edi |
1010 | add eax, esi | 1004 | add ecx, eax |
1011 | xor edi, ebx | 1005 | xor edx, esi |
1012 | mov esi, -1 | 1006 | mov eax, -1 |
1013 | rol ecx, 10 | 1007 | rol edi, 10 |
1014 | lea eax, DWORD PTR 1352829926[edi*1+eax] | 1008 | lea ecx, DWORD PTR 1352829926[edx*1+ecx] |
1015 | sub esi, ecx | 1009 | sub eax, edi |
1016 | rol eax, 8 | 1010 | rol ecx, 8 |
1017 | add eax, ebp | 1011 | add ecx, ebp |
1018 | ; 81 | 1012 | ; 81 |
1019 | mov edi, DWORD PTR 60[esp] | 1013 | mov edx, DWORD PTR 56[esp] |
1020 | or esi, ebx | 1014 | or eax, esi |
1021 | add ebp, edi | ||
1022 | xor esi, eax | ||
1023 | mov edi, -1 | ||
1024 | rol ebx, 10 | ||
1025 | lea ebp, DWORD PTR 1352829926[esi*1+ebp] | ||
1026 | sub edi, ebx | ||
1027 | rol ebp, 9 | ||
1028 | add ebp, edx | 1015 | add ebp, edx |
1016 | xor eax, ecx | ||
1017 | mov edx, -1 | ||
1018 | rol esi, 10 | ||
1019 | lea ebp, DWORD PTR 1352829926[eax*1+ebp] | ||
1020 | sub edx, esi | ||
1021 | rol ebp, 9 | ||
1022 | add ebp, ebx | ||
1029 | ; 82 | 1023 | ; 82 |
1030 | mov esi, DWORD PTR 32[esp] | 1024 | mov eax, DWORD PTR 28[esp] |
1031 | or edi, eax | 1025 | or edx, ecx |
1032 | add edx, esi | 1026 | add ebx, eax |
1033 | xor edi, ebp | 1027 | xor edx, ebp |
1034 | mov esi, -1 | 1028 | mov eax, -1 |
1035 | rol eax, 10 | 1029 | rol ecx, 10 |
1036 | lea edx, DWORD PTR 1352829926[edi*1+edx] | 1030 | lea ebx, DWORD PTR 1352829926[edx*1+ebx] |
1037 | sub esi, eax | 1031 | sub eax, ecx |
1038 | rol edx, 9 | 1032 | rol ebx, 9 |
1039 | add edx, ecx | 1033 | add ebx, edi |
1040 | ; 83 | 1034 | ; 83 |
1041 | mov edi, DWORD PTR 4[esp] | 1035 | mov edx, DWORD PTR [esp] |
1042 | or esi, ebp | 1036 | or eax, ebp |
1043 | add ecx, edi | 1037 | add edi, edx |
1044 | xor esi, edx | 1038 | xor eax, ebx |
1045 | mov edi, -1 | 1039 | mov edx, -1 |
1046 | rol ebp, 10 | 1040 | rol ebp, 10 |
1047 | lea ecx, DWORD PTR 1352829926[esi*1+ecx] | 1041 | lea edi, DWORD PTR 1352829926[eax*1+edi] |
1048 | sub edi, ebp | 1042 | sub edx, ebp |
1049 | rol ecx, 11 | 1043 | rol edi, 11 |
1050 | add ecx, ebx | 1044 | add edi, esi |
1051 | ; 84 | 1045 | ; 84 |
1052 | mov esi, DWORD PTR 40[esp] | 1046 | mov eax, DWORD PTR 36[esp] |
1053 | or edi, edx | 1047 | or edx, ebx |
1054 | add ebx, esi | 1048 | add esi, eax |
1055 | xor edi, ecx | 1049 | xor edx, edi |
1056 | mov esi, -1 | 1050 | mov eax, -1 |
1057 | rol edx, 10 | 1051 | rol ebx, 10 |
1058 | lea ebx, DWORD PTR 1352829926[edi*1+ebx] | 1052 | lea esi, DWORD PTR 1352829926[edx*1+esi] |
1059 | sub esi, edx | 1053 | sub eax, ebx |
1060 | rol ebx, 13 | 1054 | rol esi, 13 |
1061 | add ebx, eax | 1055 | add esi, ecx |
1062 | ; 85 | 1056 | ; 85 |
1063 | mov edi, DWORD PTR 12[esp] | 1057 | mov edx, DWORD PTR 8[esp] |
1064 | or esi, ecx | 1058 | or eax, edi |
1065 | add eax, edi | 1059 | add ecx, edx |
1066 | xor esi, ebx | 1060 | xor eax, esi |
1067 | mov edi, -1 | 1061 | mov edx, -1 |
1068 | rol ecx, 10 | 1062 | rol edi, 10 |
1069 | lea eax, DWORD PTR 1352829926[esi*1+eax] | 1063 | lea ecx, DWORD PTR 1352829926[eax*1+ecx] |
1070 | sub edi, ecx | 1064 | sub edx, edi |
1071 | rol eax, 15 | 1065 | rol ecx, 15 |
1072 | add eax, ebp | 1066 | add ecx, ebp |
1073 | ; 86 | 1067 | ; 86 |
1074 | mov esi, DWORD PTR 48[esp] | 1068 | mov eax, DWORD PTR 44[esp] |
1075 | or edi, ebx | 1069 | or edx, esi |
1076 | add ebp, esi | 1070 | add ebp, eax |
1077 | xor edi, eax | 1071 | xor edx, ecx |
1078 | mov esi, -1 | 1072 | mov eax, -1 |
1079 | rol ebx, 10 | 1073 | rol esi, 10 |
1080 | lea ebp, DWORD PTR 1352829926[edi*1+ebp] | 1074 | lea ebp, DWORD PTR 1352829926[edx*1+ebp] |
1081 | sub esi, ebx | 1075 | sub eax, esi |
1082 | rol ebp, 15 | 1076 | rol ebp, 15 |
1083 | add ebp, edx | 1077 | add ebp, ebx |
1084 | ; 87 | 1078 | ; 87 |
1085 | mov edi, DWORD PTR 20[esp] | 1079 | mov edx, DWORD PTR 16[esp] |
1086 | or esi, eax | 1080 | or eax, ecx |
1087 | add edx, edi | 1081 | add ebx, edx |
1088 | xor esi, ebp | 1082 | xor eax, ebp |
1089 | mov edi, -1 | 1083 | mov edx, -1 |
1090 | rol eax, 10 | 1084 | rol ecx, 10 |
1091 | lea edx, DWORD PTR 1352829926[esi*1+edx] | 1085 | lea ebx, DWORD PTR 1352829926[eax*1+ebx] |
1092 | sub edi, eax | 1086 | sub edx, ecx |
1093 | rol edx, 5 | 1087 | rol ebx, 5 |
1094 | add edx, ecx | 1088 | add ebx, edi |
1095 | ; 88 | 1089 | ; 88 |
1096 | mov esi, DWORD PTR 56[esp] | 1090 | mov eax, DWORD PTR 52[esp] |
1097 | or edi, ebp | 1091 | or edx, ebp |
1098 | add ecx, esi | 1092 | add edi, eax |
1099 | xor edi, edx | 1093 | xor edx, ebx |
1100 | mov esi, -1 | 1094 | mov eax, -1 |
1101 | rol ebp, 10 | 1095 | rol ebp, 10 |
1102 | lea ecx, DWORD PTR 1352829926[edi*1+ecx] | 1096 | lea edi, DWORD PTR 1352829926[edx*1+edi] |
1103 | sub esi, ebp | 1097 | sub eax, ebp |
1104 | rol ecx, 7 | 1098 | rol edi, 7 |
1105 | add ecx, ebx | 1099 | add edi, esi |
1106 | ; 89 | 1100 | ; 89 |
1107 | mov edi, DWORD PTR 28[esp] | 1101 | mov edx, DWORD PTR 24[esp] |
1108 | or esi, edx | 1102 | or eax, ebx |
1109 | add ebx, edi | 1103 | add esi, edx |
1110 | xor esi, ecx | 1104 | xor eax, edi |
1111 | mov edi, -1 | 1105 | mov edx, -1 |
1112 | rol edx, 10 | 1106 | rol ebx, 10 |
1113 | lea ebx, DWORD PTR 1352829926[esi*1+ebx] | 1107 | lea esi, DWORD PTR 1352829926[eax*1+esi] |
1114 | sub edi, edx | 1108 | sub edx, ebx |
1115 | rol ebx, 7 | 1109 | rol esi, 7 |
1116 | add ebx, eax | 1110 | add esi, ecx |
1117 | ; 90 | 1111 | ; 90 |
1118 | mov esi, DWORD PTR 64[esp] | 1112 | mov eax, DWORD PTR 60[esp] |
1119 | or edi, ecx | 1113 | or edx, edi |
1120 | add eax, esi | 1114 | add ecx, eax |
1121 | xor edi, ebx | 1115 | xor edx, esi |
1122 | mov esi, -1 | 1116 | mov eax, -1 |
1123 | rol ecx, 10 | 1117 | rol edi, 10 |
1124 | lea eax, DWORD PTR 1352829926[edi*1+eax] | 1118 | lea ecx, DWORD PTR 1352829926[edx*1+ecx] |
1125 | sub esi, ecx | 1119 | sub eax, edi |
1126 | rol eax, 8 | 1120 | rol ecx, 8 |
1127 | add eax, ebp | 1121 | add ecx, ebp |
1128 | ; 91 | 1122 | ; 91 |
1129 | mov edi, DWORD PTR 36[esp] | 1123 | mov edx, DWORD PTR 32[esp] |
1130 | or esi, ebx | 1124 | or eax, esi |
1131 | add ebp, edi | ||
1132 | xor esi, eax | ||
1133 | mov edi, -1 | ||
1134 | rol ebx, 10 | ||
1135 | lea ebp, DWORD PTR 1352829926[esi*1+ebp] | ||
1136 | sub edi, ebx | ||
1137 | rol ebp, 11 | ||
1138 | add ebp, edx | 1125 | add ebp, edx |
1126 | xor eax, ecx | ||
1127 | mov edx, -1 | ||
1128 | rol esi, 10 | ||
1129 | lea ebp, DWORD PTR 1352829926[eax*1+ebp] | ||
1130 | sub edx, esi | ||
1131 | rol ebp, 11 | ||
1132 | add ebp, ebx | ||
1139 | ; 92 | 1133 | ; 92 |
1140 | mov esi, DWORD PTR 8[esp] | 1134 | mov eax, DWORD PTR 4[esp] |
1141 | or edi, eax | 1135 | or edx, ecx |
1142 | add edx, esi | 1136 | add ebx, eax |
1143 | xor edi, ebp | 1137 | xor edx, ebp |
1144 | mov esi, -1 | 1138 | mov eax, -1 |
1145 | rol eax, 10 | 1139 | rol ecx, 10 |
1146 | lea edx, DWORD PTR 1352829926[edi*1+edx] | 1140 | lea ebx, DWORD PTR 1352829926[edx*1+ebx] |
1147 | sub esi, eax | 1141 | sub eax, ecx |
1148 | rol edx, 14 | 1142 | rol ebx, 14 |
1149 | add edx, ecx | 1143 | add ebx, edi |
1150 | ; 93 | 1144 | ; 93 |
1151 | mov edi, DWORD PTR 44[esp] | 1145 | mov edx, DWORD PTR 40[esp] |
1152 | or esi, ebp | 1146 | or eax, ebp |
1153 | add ecx, edi | 1147 | add edi, edx |
1154 | xor esi, edx | 1148 | xor eax, ebx |
1155 | mov edi, -1 | 1149 | mov edx, -1 |
1156 | rol ebp, 10 | 1150 | rol ebp, 10 |
1157 | lea ecx, DWORD PTR 1352829926[esi*1+ecx] | 1151 | lea edi, DWORD PTR 1352829926[eax*1+edi] |
1158 | sub edi, ebp | 1152 | sub edx, ebp |
1159 | rol ecx, 14 | 1153 | rol edi, 14 |
1160 | add ecx, ebx | 1154 | add edi, esi |
1161 | ; 94 | 1155 | ; 94 |
1162 | mov esi, DWORD PTR 16[esp] | 1156 | mov eax, DWORD PTR 12[esp] |
1163 | or edi, edx | 1157 | or edx, ebx |
1164 | add ebx, esi | 1158 | add esi, eax |
1165 | xor edi, ecx | 1159 | xor edx, edi |
1166 | mov esi, -1 | 1160 | mov eax, -1 |
1167 | rol edx, 10 | 1161 | rol ebx, 10 |
1168 | lea ebx, DWORD PTR 1352829926[edi*1+ebx] | 1162 | lea esi, DWORD PTR 1352829926[edx*1+esi] |
1169 | sub esi, edx | 1163 | sub eax, ebx |
1170 | rol ebx, 12 | 1164 | rol esi, 12 |
1171 | add ebx, eax | 1165 | add esi, ecx |
1172 | ; 95 | 1166 | ; 95 |
1173 | mov edi, DWORD PTR 52[esp] | 1167 | mov edx, DWORD PTR 48[esp] |
1174 | or esi, ecx | 1168 | or eax, edi |
1175 | add eax, edi | 1169 | add ecx, edx |
1176 | xor esi, ebx | 1170 | xor eax, esi |
1177 | mov edi, -1 | 1171 | mov edx, -1 |
1178 | rol ecx, 10 | 1172 | rol edi, 10 |
1179 | lea eax, DWORD PTR 1352829926[esi*1+eax] | 1173 | lea ecx, DWORD PTR 1352829926[eax*1+ecx] |
1180 | mov esi, ecx | 1174 | mov eax, edi |
1181 | rol eax, 6 | 1175 | rol ecx, 6 |
1182 | add eax, ebp | 1176 | add ecx, ebp |
1183 | ; 96 | 1177 | ; 96 |
1184 | sub edi, ecx | 1178 | sub edx, edi |
1185 | and esi, eax | 1179 | and eax, ecx |
1186 | and edi, ebx | 1180 | and edx, esi |
1187 | or edi, esi | 1181 | or edx, eax |
1188 | mov esi, DWORD PTR 28[esp] | 1182 | mov eax, DWORD PTR 24[esp] |
1189 | rol ebx, 10 | 1183 | rol esi, 10 |
1190 | lea ebp, DWORD PTR 1548603684[edi+ebp] | 1184 | lea ebp, DWORD PTR 1548603684[edx+ebp] |
1191 | mov edi, -1 | 1185 | mov edx, -1 |
1192 | add ebp, esi | 1186 | add ebp, eax |
1193 | mov esi, ebx | 1187 | mov eax, esi |
1194 | rol ebp, 9 | 1188 | rol ebp, 9 |
1195 | add ebp, edx | 1189 | add ebp, ebx |
1196 | ; 97 | 1190 | ; 97 |
1197 | sub edi, ebx | 1191 | sub edx, esi |
1198 | and esi, ebp | 1192 | and eax, ebp |
1199 | and edi, eax | 1193 | and edx, ecx |
1200 | or edi, esi | 1194 | or edx, eax |
1201 | mov esi, DWORD PTR 48[esp] | 1195 | mov eax, DWORD PTR 44[esp] |
1202 | rol eax, 10 | 1196 | rol ecx, 10 |
1203 | lea edx, DWORD PTR 1548603684[edi+edx] | 1197 | lea ebx, DWORD PTR 1548603684[edx+ebx] |
1204 | mov edi, -1 | 1198 | mov edx, -1 |
1205 | add edx, esi | 1199 | add ebx, eax |
1206 | mov esi, eax | 1200 | mov eax, ecx |
1207 | rol edx, 13 | 1201 | rol ebx, 13 |
1208 | add edx, ecx | 1202 | add ebx, edi |
1209 | ; 98 | 1203 | ; 98 |
1210 | sub edi, eax | 1204 | sub edx, ecx |
1211 | and esi, edx | 1205 | and eax, ebx |
1212 | and edi, ebp | 1206 | and edx, ebp |
1213 | or edi, esi | 1207 | or edx, eax |
1214 | mov esi, DWORD PTR 16[esp] | 1208 | mov eax, DWORD PTR 12[esp] |
1215 | rol ebp, 10 | 1209 | rol ebp, 10 |
1216 | lea ecx, DWORD PTR 1548603684[edi+ecx] | 1210 | lea edi, DWORD PTR 1548603684[edx+edi] |
1217 | mov edi, -1 | 1211 | mov edx, -1 |
1218 | add ecx, esi | 1212 | add edi, eax |
1219 | mov esi, ebp | 1213 | mov eax, ebp |
1220 | rol ecx, 15 | 1214 | rol edi, 15 |
1221 | add ecx, ebx | 1215 | add edi, esi |
1222 | ; 99 | 1216 | ; 99 |
1223 | sub edi, ebp | 1217 | sub edx, ebp |
1224 | and esi, ecx | 1218 | and eax, edi |
1225 | and edi, edx | 1219 | and edx, ebx |
1226 | or edi, esi | 1220 | or edx, eax |
1227 | mov esi, DWORD PTR 32[esp] | 1221 | mov eax, DWORD PTR 28[esp] |
1228 | rol edx, 10 | 1222 | rol ebx, 10 |
1229 | lea ebx, DWORD PTR 1548603684[edi+ebx] | 1223 | lea esi, DWORD PTR 1548603684[edx+esi] |
1230 | mov edi, -1 | 1224 | mov edx, -1 |
1231 | add ebx, esi | 1225 | add esi, eax |
1232 | mov esi, edx | 1226 | mov eax, ebx |
1233 | rol ebx, 7 | 1227 | rol esi, 7 |
1234 | add ebx, eax | 1228 | add esi, ecx |
1235 | ; 100 | 1229 | ; 100 |
1236 | sub edi, edx | 1230 | sub edx, ebx |
1237 | and esi, ebx | 1231 | and eax, esi |
1238 | and edi, ecx | 1232 | and edx, edi |
1239 | or edi, esi | 1233 | or edx, eax |
1240 | mov esi, DWORD PTR 4[esp] | 1234 | mov eax, DWORD PTR [esp] |
1241 | rol ecx, 10 | 1235 | rol edi, 10 |
1242 | lea eax, DWORD PTR 1548603684[edi+eax] | 1236 | lea ecx, DWORD PTR 1548603684[edx+ecx] |
1243 | mov edi, -1 | 1237 | mov edx, -1 |
1244 | add eax, esi | 1238 | add ecx, eax |
1245 | mov esi, ecx | 1239 | mov eax, edi |
1246 | rol eax, 12 | 1240 | rol ecx, 12 |
1247 | add eax, ebp | 1241 | add ecx, ebp |
1248 | ; 101 | 1242 | ; 101 |
1249 | sub edi, ecx | 1243 | sub edx, edi |
1250 | and esi, eax | 1244 | and eax, ecx |
1251 | and edi, ebx | 1245 | and edx, esi |
1252 | or edi, esi | 1246 | or edx, eax |
1253 | mov esi, DWORD PTR 56[esp] | 1247 | mov eax, DWORD PTR 52[esp] |
1254 | rol ebx, 10 | 1248 | rol esi, 10 |
1255 | lea ebp, DWORD PTR 1548603684[edi+ebp] | 1249 | lea ebp, DWORD PTR 1548603684[edx+ebp] |
1256 | mov edi, -1 | 1250 | mov edx, -1 |
1257 | add ebp, esi | 1251 | add ebp, eax |
1258 | mov esi, ebx | 1252 | mov eax, esi |
1259 | rol ebp, 8 | 1253 | rol ebp, 8 |
1260 | add ebp, edx | 1254 | add ebp, ebx |
1261 | ; 102 | 1255 | ; 102 |
1262 | sub edi, ebx | 1256 | sub edx, esi |
1263 | and esi, ebp | 1257 | and eax, ebp |
1264 | and edi, eax | 1258 | and edx, ecx |
1265 | or edi, esi | 1259 | or edx, eax |
1266 | mov esi, DWORD PTR 24[esp] | 1260 | mov eax, DWORD PTR 20[esp] |
1267 | rol eax, 10 | 1261 | rol ecx, 10 |
1268 | lea edx, DWORD PTR 1548603684[edi+edx] | 1262 | lea ebx, DWORD PTR 1548603684[edx+ebx] |
1269 | mov edi, -1 | 1263 | mov edx, -1 |
1270 | add edx, esi | 1264 | add ebx, eax |
1271 | mov esi, eax | 1265 | mov eax, ecx |
1272 | rol edx, 9 | 1266 | rol ebx, 9 |
1273 | add edx, ecx | 1267 | add ebx, edi |
1274 | ; 103 | 1268 | ; 103 |
1275 | sub edi, eax | 1269 | sub edx, ecx |
1276 | and esi, edx | 1270 | and eax, ebx |
1277 | and edi, ebp | 1271 | and edx, ebp |
1278 | or edi, esi | 1272 | or edx, eax |
1279 | mov esi, DWORD PTR 44[esp] | 1273 | mov eax, DWORD PTR 40[esp] |
1280 | rol ebp, 10 | 1274 | rol ebp, 10 |
1281 | lea ecx, DWORD PTR 1548603684[edi+ecx] | 1275 | lea edi, DWORD PTR 1548603684[edx+edi] |
1282 | mov edi, -1 | 1276 | mov edx, -1 |
1283 | add ecx, esi | 1277 | add edi, eax |
1284 | mov esi, ebp | 1278 | mov eax, ebp |
1285 | rol ecx, 11 | 1279 | rol edi, 11 |
1286 | add ecx, ebx | 1280 | add edi, esi |
1287 | ; 104 | 1281 | ; 104 |
1288 | sub edi, ebp | 1282 | sub edx, ebp |
1289 | and esi, ecx | 1283 | and eax, edi |
1290 | and edi, edx | 1284 | and edx, ebx |
1291 | or edi, esi | 1285 | or edx, eax |
1292 | mov esi, DWORD PTR 60[esp] | 1286 | mov eax, DWORD PTR 56[esp] |
1293 | rol edx, 10 | 1287 | rol ebx, 10 |
1294 | lea ebx, DWORD PTR 1548603684[edi+ebx] | 1288 | lea esi, DWORD PTR 1548603684[edx+esi] |
1295 | mov edi, -1 | 1289 | mov edx, -1 |
1296 | add ebx, esi | 1290 | add esi, eax |
1297 | mov esi, edx | 1291 | mov eax, ebx |
1298 | rol ebx, 7 | 1292 | rol esi, 7 |
1299 | add ebx, eax | 1293 | add esi, ecx |
1300 | ; 105 | 1294 | ; 105 |
1301 | sub edi, edx | 1295 | sub edx, ebx |
1302 | and esi, ebx | 1296 | and eax, esi |
1303 | and edi, ecx | 1297 | and edx, edi |
1304 | or edi, esi | 1298 | or edx, eax |
1305 | mov esi, DWORD PTR 64[esp] | 1299 | mov eax, DWORD PTR 60[esp] |
1306 | rol ecx, 10 | 1300 | rol edi, 10 |
1307 | lea eax, DWORD PTR 1548603684[edi+eax] | 1301 | lea ecx, DWORD PTR 1548603684[edx+ecx] |
1308 | mov edi, -1 | 1302 | mov edx, -1 |
1309 | add eax, esi | 1303 | add ecx, eax |
1310 | mov esi, ecx | 1304 | mov eax, edi |
1311 | rol eax, 7 | 1305 | rol ecx, 7 |
1312 | add eax, ebp | 1306 | add ecx, ebp |
1313 | ; 106 | 1307 | ; 106 |
1314 | sub edi, ecx | 1308 | sub edx, edi |
1315 | and esi, eax | 1309 | and eax, ecx |
1316 | and edi, ebx | 1310 | and edx, esi |
1317 | or edi, esi | 1311 | or edx, eax |
1318 | mov esi, DWORD PTR 36[esp] | 1312 | mov eax, DWORD PTR 32[esp] |
1319 | rol ebx, 10 | 1313 | rol esi, 10 |
1320 | lea ebp, DWORD PTR 1548603684[edi+ebp] | 1314 | lea ebp, DWORD PTR 1548603684[edx+ebp] |
1321 | mov edi, -1 | 1315 | mov edx, -1 |
1322 | add ebp, esi | 1316 | add ebp, eax |
1323 | mov esi, ebx | 1317 | mov eax, esi |
1324 | rol ebp, 12 | 1318 | rol ebp, 12 |
1325 | add ebp, edx | 1319 | add ebp, ebx |
1326 | ; 107 | 1320 | ; 107 |
1327 | sub edi, ebx | 1321 | sub edx, esi |
1328 | and esi, ebp | 1322 | and eax, ebp |
1329 | and edi, eax | 1323 | and edx, ecx |
1330 | or edi, esi | 1324 | or edx, eax |
1331 | mov esi, DWORD PTR 52[esp] | 1325 | mov eax, DWORD PTR 48[esp] |
1332 | rol eax, 10 | 1326 | rol ecx, 10 |
1333 | lea edx, DWORD PTR 1548603684[edi+edx] | 1327 | lea ebx, DWORD PTR 1548603684[edx+ebx] |
1334 | mov edi, -1 | 1328 | mov edx, -1 |
1335 | add edx, esi | 1329 | add ebx, eax |
1336 | mov esi, eax | 1330 | mov eax, ecx |
1337 | rol edx, 7 | 1331 | rol ebx, 7 |
1338 | add edx, ecx | 1332 | add ebx, edi |
1339 | ; 108 | 1333 | ; 108 |
1340 | sub edi, eax | 1334 | sub edx, ecx |
1341 | and esi, edx | 1335 | and eax, ebx |
1342 | and edi, ebp | 1336 | and edx, ebp |
1343 | or edi, esi | 1337 | or edx, eax |
1344 | mov esi, DWORD PTR 20[esp] | 1338 | mov eax, DWORD PTR 16[esp] |
1345 | rol ebp, 10 | 1339 | rol ebp, 10 |
1346 | lea ecx, DWORD PTR 1548603684[edi+ecx] | 1340 | lea edi, DWORD PTR 1548603684[edx+edi] |
1347 | mov edi, -1 | 1341 | mov edx, -1 |
1348 | add ecx, esi | 1342 | add edi, eax |
1349 | mov esi, ebp | 1343 | mov eax, ebp |
1350 | rol ecx, 6 | 1344 | rol edi, 6 |
1351 | add ecx, ebx | 1345 | add edi, esi |
1352 | ; 109 | 1346 | ; 109 |
1353 | sub edi, ebp | 1347 | sub edx, ebp |
1354 | and esi, ecx | 1348 | and eax, edi |
1355 | and edi, edx | 1349 | and edx, ebx |
1356 | or edi, esi | 1350 | or edx, eax |
1357 | mov esi, DWORD PTR 40[esp] | 1351 | mov eax, DWORD PTR 36[esp] |
1358 | rol edx, 10 | 1352 | rol ebx, 10 |
1359 | lea ebx, DWORD PTR 1548603684[edi+ebx] | 1353 | lea esi, DWORD PTR 1548603684[edx+esi] |
1360 | mov edi, -1 | 1354 | mov edx, -1 |
1361 | add ebx, esi | 1355 | add esi, eax |
1362 | mov esi, edx | 1356 | mov eax, ebx |
1363 | rol ebx, 15 | 1357 | rol esi, 15 |
1364 | add ebx, eax | 1358 | add esi, ecx |
1365 | ; 110 | 1359 | ; 110 |
1366 | sub edi, edx | 1360 | sub edx, ebx |
1367 | and esi, ebx | 1361 | and eax, esi |
1368 | and edi, ecx | 1362 | and edx, edi |
1369 | or edi, esi | 1363 | or edx, eax |
1370 | mov esi, DWORD PTR 8[esp] | 1364 | mov eax, DWORD PTR 4[esp] |
1371 | rol ecx, 10 | 1365 | rol edi, 10 |
1372 | lea eax, DWORD PTR 1548603684[edi+eax] | 1366 | lea ecx, DWORD PTR 1548603684[edx+ecx] |
1373 | mov edi, -1 | 1367 | mov edx, -1 |
1374 | add eax, esi | 1368 | add ecx, eax |
1375 | mov esi, ecx | 1369 | mov eax, edi |
1376 | rol eax, 13 | 1370 | rol ecx, 13 |
1377 | add eax, ebp | 1371 | add ecx, ebp |
1378 | ; 111 | 1372 | ; 111 |
1379 | sub edi, ecx | 1373 | sub edx, edi |
1380 | and esi, eax | 1374 | and eax, ecx |
1381 | and edi, ebx | 1375 | and edx, esi |
1382 | or edi, esi | 1376 | or edx, eax |
1383 | mov esi, DWORD PTR 12[esp] | 1377 | mov eax, DWORD PTR 8[esp] |
1384 | rol ebx, 10 | 1378 | rol esi, 10 |
1385 | lea ebp, DWORD PTR 1548603684[edi+ebp] | 1379 | lea ebp, DWORD PTR 1548603684[edx+ebp] |
1386 | mov edi, -1 | 1380 | mov edx, -1 |
1387 | add ebp, esi | 1381 | add ebp, eax |
1388 | sub edi, eax | 1382 | sub edx, ecx |
1389 | rol ebp, 11 | 1383 | rol ebp, 11 |
1390 | add ebp, edx | 1384 | add ebp, ebx |
1391 | ; 112 | 1385 | ; 112 |
1392 | mov esi, DWORD PTR 64[esp] | 1386 | mov eax, DWORD PTR 60[esp] |
1393 | or edi, ebp | 1387 | or edx, ebp |
1394 | add edx, esi | 1388 | add ebx, eax |
1395 | xor edi, ebx | 1389 | xor edx, esi |
1396 | mov esi, -1 | 1390 | mov eax, -1 |
1397 | rol eax, 10 | 1391 | rol ecx, 10 |
1398 | lea edx, DWORD PTR 1836072691[edi*1+edx] | 1392 | lea ebx, DWORD PTR 1836072691[edx*1+ebx] |
1399 | sub esi, ebp | 1393 | sub eax, ebp |
1400 | rol edx, 9 | 1394 | rol ebx, 9 |
1401 | add edx, ecx | 1395 | add ebx, edi |
1402 | ; 113 | 1396 | ; 113 |
1403 | mov edi, DWORD PTR 24[esp] | 1397 | mov edx, DWORD PTR 20[esp] |
1404 | or esi, edx | 1398 | or eax, ebx |
1405 | add ecx, edi | 1399 | add edi, edx |
1406 | xor esi, eax | 1400 | xor eax, ecx |
1407 | mov edi, -1 | 1401 | mov edx, -1 |
1408 | rol ebp, 10 | 1402 | rol ebp, 10 |
1409 | lea ecx, DWORD PTR 1836072691[esi*1+ecx] | 1403 | lea edi, DWORD PTR 1836072691[eax*1+edi] |
1410 | sub edi, edx | 1404 | sub edx, ebx |
1411 | rol ecx, 7 | 1405 | rol edi, 7 |
1412 | add ecx, ebx | 1406 | add edi, esi |
1413 | ; 114 | 1407 | ; 114 |
1414 | mov esi, DWORD PTR 8[esp] | 1408 | mov eax, DWORD PTR 4[esp] |
1415 | or edi, ecx | 1409 | or edx, edi |
1416 | add ebx, esi | 1410 | add esi, eax |
1417 | xor edi, ebp | 1411 | xor edx, ebp |
1418 | mov esi, -1 | 1412 | mov eax, -1 |
1419 | rol edx, 10 | 1413 | rol ebx, 10 |
1420 | lea ebx, DWORD PTR 1836072691[edi*1+ebx] | 1414 | lea esi, DWORD PTR 1836072691[edx*1+esi] |
1421 | sub esi, ecx | 1415 | sub eax, edi |
1422 | rol ebx, 15 | 1416 | rol esi, 15 |
1423 | add ebx, eax | 1417 | add esi, ecx |
1424 | ; 115 | 1418 | ; 115 |
1425 | mov edi, DWORD PTR 16[esp] | 1419 | mov edx, DWORD PTR 12[esp] |
1426 | or esi, ebx | 1420 | or eax, esi |
1427 | add eax, edi | 1421 | add ecx, edx |
1428 | xor esi, edx | 1422 | xor eax, ebx |
1429 | mov edi, -1 | 1423 | mov edx, -1 |
1430 | rol ecx, 10 | 1424 | rol edi, 10 |
1431 | lea eax, DWORD PTR 1836072691[esi*1+eax] | 1425 | lea ecx, DWORD PTR 1836072691[eax*1+ecx] |
1432 | sub edi, ebx | 1426 | sub edx, esi |
1433 | rol eax, 11 | 1427 | rol ecx, 11 |
1434 | add eax, ebp | 1428 | add ecx, ebp |
1435 | ; 116 | 1429 | ; 116 |
1436 | mov esi, DWORD PTR 32[esp] | 1430 | mov eax, DWORD PTR 28[esp] |
1437 | or edi, eax | 1431 | or edx, ecx |
1438 | add ebp, esi | 1432 | add ebp, eax |
1439 | xor edi, ecx | 1433 | xor edx, edi |
1440 | mov esi, -1 | 1434 | mov eax, -1 |
1441 | rol ebx, 10 | 1435 | rol esi, 10 |
1442 | lea ebp, DWORD PTR 1836072691[edi*1+ebp] | 1436 | lea ebp, DWORD PTR 1836072691[edx*1+ebp] |
1443 | sub esi, eax | 1437 | sub eax, ecx |
1444 | rol ebp, 8 | 1438 | rol ebp, 8 |
1445 | add ebp, edx | 1439 | add ebp, ebx |
1446 | ; 117 | 1440 | ; 117 |
1447 | mov edi, DWORD PTR 60[esp] | 1441 | mov edx, DWORD PTR 56[esp] |
1448 | or esi, ebp | 1442 | or eax, ebp |
1449 | add edx, edi | 1443 | add ebx, edx |
1450 | xor esi, ebx | 1444 | xor eax, esi |
1451 | mov edi, -1 | 1445 | mov edx, -1 |
1452 | rol eax, 10 | 1446 | rol ecx, 10 |
1453 | lea edx, DWORD PTR 1836072691[esi*1+edx] | 1447 | lea ebx, DWORD PTR 1836072691[eax*1+ebx] |
1454 | sub edi, ebp | 1448 | sub edx, ebp |
1455 | rol edx, 6 | 1449 | rol ebx, 6 |
1456 | add edx, ecx | 1450 | add ebx, edi |
1457 | ; 118 | 1451 | ; 118 |
1458 | mov esi, DWORD PTR 28[esp] | 1452 | mov eax, DWORD PTR 24[esp] |
1459 | or edi, edx | 1453 | or edx, ebx |
1460 | add ecx, esi | 1454 | add edi, eax |
1461 | xor edi, eax | 1455 | xor edx, ecx |
1462 | mov esi, -1 | 1456 | mov eax, -1 |
1463 | rol ebp, 10 | 1457 | rol ebp, 10 |
1464 | lea ecx, DWORD PTR 1836072691[edi*1+ecx] | 1458 | lea edi, DWORD PTR 1836072691[edx*1+edi] |
1465 | sub esi, edx | 1459 | sub eax, ebx |
1466 | rol ecx, 6 | 1460 | rol edi, 6 |
1467 | add ecx, ebx | 1461 | add edi, esi |
1468 | ; 119 | 1462 | ; 119 |
1469 | mov edi, DWORD PTR 40[esp] | 1463 | mov edx, DWORD PTR 36[esp] |
1470 | or esi, ecx | 1464 | or eax, edi |
1471 | add ebx, edi | 1465 | add esi, edx |
1472 | xor esi, ebp | 1466 | xor eax, ebp |
1473 | mov edi, -1 | 1467 | mov edx, -1 |
1474 | rol edx, 10 | 1468 | rol ebx, 10 |
1475 | lea ebx, DWORD PTR 1836072691[esi*1+ebx] | 1469 | lea esi, DWORD PTR 1836072691[eax*1+esi] |
1476 | sub edi, ecx | 1470 | sub edx, edi |
1477 | rol ebx, 14 | 1471 | rol esi, 14 |
1478 | add ebx, eax | 1472 | add esi, ecx |
1479 | ; 120 | 1473 | ; 120 |
1480 | mov esi, DWORD PTR 48[esp] | 1474 | mov eax, DWORD PTR 44[esp] |
1481 | or edi, ebx | 1475 | or edx, esi |
1482 | add eax, esi | 1476 | add ecx, eax |
1483 | xor edi, edx | 1477 | xor edx, ebx |
1484 | mov esi, -1 | 1478 | mov eax, -1 |
1485 | rol ecx, 10 | 1479 | rol edi, 10 |
1486 | lea eax, DWORD PTR 1836072691[edi*1+eax] | 1480 | lea ecx, DWORD PTR 1836072691[edx*1+ecx] |
1487 | sub esi, ebx | 1481 | sub eax, esi |
1488 | rol eax, 12 | 1482 | rol ecx, 12 |
1489 | add eax, ebp | 1483 | add ecx, ebp |
1490 | ; 121 | 1484 | ; 121 |
1491 | mov edi, DWORD PTR 36[esp] | 1485 | mov edx, DWORD PTR 32[esp] |
1492 | or esi, eax | 1486 | or eax, ecx |
1493 | add ebp, edi | ||
1494 | xor esi, ecx | ||
1495 | mov edi, -1 | ||
1496 | rol ebx, 10 | ||
1497 | lea ebp, DWORD PTR 1836072691[esi*1+ebp] | ||
1498 | sub edi, eax | ||
1499 | rol ebp, 13 | ||
1500 | add ebp, edx | 1487 | add ebp, edx |
1488 | xor eax, edi | ||
1489 | mov edx, -1 | ||
1490 | rol esi, 10 | ||
1491 | lea ebp, DWORD PTR 1836072691[eax*1+ebp] | ||
1492 | sub edx, ecx | ||
1493 | rol ebp, 13 | ||
1494 | add ebp, ebx | ||
1501 | ; 122 | 1495 | ; 122 |
1502 | mov esi, DWORD PTR 52[esp] | 1496 | mov eax, DWORD PTR 48[esp] |
1503 | or edi, ebp | 1497 | or edx, ebp |
1504 | add edx, esi | 1498 | add ebx, eax |
1505 | xor edi, ebx | 1499 | xor edx, esi |
1506 | mov esi, -1 | 1500 | mov eax, -1 |
1507 | rol eax, 10 | 1501 | rol ecx, 10 |
1508 | lea edx, DWORD PTR 1836072691[edi*1+edx] | 1502 | lea ebx, DWORD PTR 1836072691[edx*1+ebx] |
1509 | sub esi, ebp | 1503 | sub eax, ebp |
1510 | rol edx, 5 | 1504 | rol ebx, 5 |
1511 | add edx, ecx | 1505 | add ebx, edi |
1512 | ; 123 | 1506 | ; 123 |
1513 | mov edi, DWORD PTR 12[esp] | 1507 | mov edx, DWORD PTR 8[esp] |
1514 | or esi, edx | 1508 | or eax, ebx |
1515 | add ecx, edi | 1509 | add edi, edx |
1516 | xor esi, eax | 1510 | xor eax, ecx |
1517 | mov edi, -1 | 1511 | mov edx, -1 |
1518 | rol ebp, 10 | 1512 | rol ebp, 10 |
1519 | lea ecx, DWORD PTR 1836072691[esi*1+ecx] | 1513 | lea edi, DWORD PTR 1836072691[eax*1+edi] |
1520 | sub edi, edx | 1514 | sub edx, ebx |
1521 | rol ecx, 14 | 1515 | rol edi, 14 |
1522 | add ecx, ebx | 1516 | add edi, esi |
1523 | ; 124 | 1517 | ; 124 |
1524 | mov esi, DWORD PTR 44[esp] | 1518 | mov eax, DWORD PTR 40[esp] |
1525 | or edi, ecx | 1519 | or edx, edi |
1526 | add ebx, esi | 1520 | add esi, eax |
1527 | xor edi, ebp | 1521 | xor edx, ebp |
1528 | mov esi, -1 | 1522 | mov eax, -1 |
1529 | rol edx, 10 | 1523 | rol ebx, 10 |
1530 | lea ebx, DWORD PTR 1836072691[edi*1+ebx] | 1524 | lea esi, DWORD PTR 1836072691[edx*1+esi] |
1531 | sub esi, ecx | 1525 | sub eax, edi |
1532 | rol ebx, 13 | 1526 | rol esi, 13 |
1533 | add ebx, eax | 1527 | add esi, ecx |
1534 | ; 125 | 1528 | ; 125 |
1535 | mov edi, DWORD PTR 4[esp] | 1529 | mov edx, DWORD PTR [esp] |
1536 | or esi, ebx | 1530 | or eax, esi |
1537 | add eax, edi | 1531 | add ecx, edx |
1538 | xor esi, edx | 1532 | xor eax, ebx |
1539 | mov edi, -1 | 1533 | mov edx, -1 |
1540 | rol ecx, 10 | 1534 | rol edi, 10 |
1541 | lea eax, DWORD PTR 1836072691[esi*1+eax] | 1535 | lea ecx, DWORD PTR 1836072691[eax*1+ecx] |
1542 | sub edi, ebx | 1536 | sub edx, esi |
1543 | rol eax, 13 | 1537 | rol ecx, 13 |
1544 | add eax, ebp | 1538 | add ecx, ebp |
1545 | ; 126 | 1539 | ; 126 |
1546 | mov esi, DWORD PTR 20[esp] | 1540 | mov eax, DWORD PTR 16[esp] |
1547 | or edi, eax | 1541 | or edx, ecx |
1548 | add ebp, esi | 1542 | add ebp, eax |
1549 | xor edi, ecx | 1543 | xor edx, edi |
1550 | mov esi, -1 | 1544 | mov eax, -1 |
1551 | rol ebx, 10 | 1545 | rol esi, 10 |
1552 | lea ebp, DWORD PTR 1836072691[edi*1+ebp] | 1546 | lea ebp, DWORD PTR 1836072691[edx*1+ebp] |
1553 | sub esi, eax | 1547 | sub eax, ecx |
1554 | rol ebp, 7 | 1548 | rol ebp, 7 |
1555 | add ebp, edx | 1549 | add ebp, ebx |
1556 | ; 127 | 1550 | ; 127 |
1557 | mov edi, DWORD PTR 56[esp] | 1551 | mov edx, DWORD PTR 52[esp] |
1558 | or esi, ebp | 1552 | or eax, ebp |
1559 | add edx, edi | 1553 | add ebx, edx |
1560 | xor esi, ebx | 1554 | xor eax, esi |
1561 | mov edi, DWORD PTR 36[esp] | 1555 | mov edx, DWORD PTR 32[esp] |
1562 | rol eax, 10 | 1556 | rol ecx, 10 |
1563 | lea edx, DWORD PTR 1836072691[esi*1+edx] | 1557 | lea ebx, DWORD PTR 1836072691[eax*1+ebx] |
1564 | mov esi, -1 | 1558 | mov eax, -1 |
1565 | rol edx, 5 | 1559 | rol ebx, 5 |
1566 | add edx, ecx | 1560 | add ebx, edi |
1567 | ; 128 | 1561 | ; 128 |
1568 | add ecx, edi | 1562 | add edi, edx |
1569 | mov edi, ebp | 1563 | mov edx, ebp |
1570 | sub esi, edx | 1564 | sub eax, ebx |
1571 | and edi, edx | 1565 | and edx, ebx |
1572 | and esi, eax | 1566 | and eax, ecx |
1573 | or edi, esi | 1567 | or edx, eax |
1574 | mov esi, DWORD PTR 28[esp] | 1568 | mov eax, DWORD PTR 24[esp] |
1575 | rol ebp, 10 | 1569 | rol ebp, 10 |
1576 | lea ecx, DWORD PTR 2053994217[edi*1+ecx] | 1570 | lea edi, DWORD PTR 2053994217[edx*1+edi] |
1577 | mov edi, -1 | 1571 | mov edx, -1 |
1578 | rol ecx, 15 | 1572 | rol edi, 15 |
1579 | add ecx, ebx | 1573 | add edi, esi |
1580 | ; 129 | 1574 | ; 129 |
1581 | add ebx, esi | 1575 | add esi, eax |
1582 | mov esi, edx | 1576 | mov eax, ebx |
1583 | sub edi, ecx | 1577 | sub edx, edi |
1584 | and esi, ecx | 1578 | and eax, edi |
1585 | and edi, ebp | 1579 | and edx, ebp |
1586 | or esi, edi | 1580 | or eax, edx |
1587 | mov edi, DWORD PTR 20[esp] | 1581 | mov edx, DWORD PTR 16[esp] |
1588 | rol edx, 10 | 1582 | rol ebx, 10 |
1589 | lea ebx, DWORD PTR 2053994217[esi*1+ebx] | 1583 | lea esi, DWORD PTR 2053994217[eax*1+esi] |
1590 | mov esi, -1 | 1584 | mov eax, -1 |
1591 | rol ebx, 5 | 1585 | rol esi, 5 |
1592 | add ebx, eax | 1586 | add esi, ecx |
1593 | ; 130 | 1587 | ; 130 |
1594 | add eax, edi | 1588 | add ecx, edx |
1595 | mov edi, ecx | 1589 | mov edx, edi |
1596 | sub esi, ebx | 1590 | sub eax, esi |
1597 | and edi, ebx | 1591 | and edx, esi |
1598 | and esi, edx | 1592 | and eax, ebx |
1599 | or edi, esi | 1593 | or edx, eax |
1600 | mov esi, DWORD PTR 8[esp] | 1594 | mov eax, DWORD PTR 4[esp] |
1601 | rol ecx, 10 | 1595 | rol edi, 10 |
1602 | lea eax, DWORD PTR 2053994217[edi*1+eax] | 1596 | lea ecx, DWORD PTR 2053994217[edx*1+ecx] |
1603 | mov edi, -1 | 1597 | mov edx, -1 |
1604 | rol eax, 8 | 1598 | rol ecx, 8 |
1605 | add eax, ebp | 1599 | add ecx, ebp |
1606 | ; 131 | 1600 | ; 131 |
1607 | add ebp, esi | 1601 | add ebp, eax |
1608 | mov esi, ebx | 1602 | mov eax, esi |
1609 | sub edi, eax | 1603 | sub edx, ecx |
1610 | and esi, eax | 1604 | and eax, ecx |
1611 | and edi, ecx | 1605 | and edx, edi |
1612 | or esi, edi | 1606 | or eax, edx |
1613 | mov edi, DWORD PTR 16[esp] | 1607 | mov edx, DWORD PTR 12[esp] |
1614 | rol ebx, 10 | 1608 | rol esi, 10 |
1615 | lea ebp, DWORD PTR 2053994217[esi*1+ebp] | 1609 | lea ebp, DWORD PTR 2053994217[eax*1+ebp] |
1616 | mov esi, -1 | 1610 | mov eax, -1 |
1617 | rol ebp, 11 | 1611 | rol ebp, 11 |
1618 | add ebp, edx | 1612 | add ebp, ebx |
1619 | ; 132 | 1613 | ; 132 |
1620 | add edx, edi | 1614 | add ebx, edx |
1621 | mov edi, eax | 1615 | mov edx, ecx |
1622 | sub esi, ebp | 1616 | sub eax, ebp |
1623 | and edi, ebp | 1617 | and edx, ebp |
1624 | and esi, ebx | 1618 | and eax, esi |
1625 | or edi, esi | 1619 | or edx, eax |
1626 | mov esi, DWORD PTR 48[esp] | 1620 | mov eax, DWORD PTR 44[esp] |
1627 | rol eax, 10 | 1621 | rol ecx, 10 |
1628 | lea edx, DWORD PTR 2053994217[edi*1+edx] | 1622 | lea ebx, DWORD PTR 2053994217[edx*1+ebx] |
1629 | mov edi, -1 | 1623 | mov edx, -1 |
1630 | rol edx, 14 | 1624 | rol ebx, 14 |
1631 | add edx, ecx | 1625 | add ebx, edi |
1632 | ; 133 | 1626 | ; 133 |
1633 | add ecx, esi | 1627 | add edi, eax |
1634 | mov esi, ebp | 1628 | mov eax, ebp |
1635 | sub edi, edx | 1629 | sub edx, ebx |
1636 | and esi, edx | 1630 | and eax, ebx |
1637 | and edi, eax | 1631 | and edx, ecx |
1638 | or esi, edi | 1632 | or eax, edx |
1639 | mov edi, DWORD PTR 64[esp] | 1633 | mov edx, DWORD PTR 60[esp] |
1640 | rol ebp, 10 | 1634 | rol ebp, 10 |
1641 | lea ecx, DWORD PTR 2053994217[esi*1+ecx] | 1635 | lea edi, DWORD PTR 2053994217[eax*1+edi] |
1642 | mov esi, -1 | 1636 | mov eax, -1 |
1643 | rol ecx, 14 | 1637 | rol edi, 14 |
1644 | add ecx, ebx | 1638 | add edi, esi |
1645 | ; 134 | 1639 | ; 134 |
1646 | add ebx, edi | 1640 | add esi, edx |
1647 | mov edi, edx | 1641 | mov edx, ebx |
1648 | sub esi, ecx | 1642 | sub eax, edi |
1649 | and edi, ecx | 1643 | and edx, edi |
1650 | and esi, ebp | 1644 | and eax, ebp |
1651 | or edi, esi | 1645 | or edx, eax |
1652 | mov esi, DWORD PTR 4[esp] | 1646 | mov eax, DWORD PTR [esp] |
1653 | rol edx, 10 | 1647 | rol ebx, 10 |
1654 | lea ebx, DWORD PTR 2053994217[edi*1+ebx] | 1648 | lea esi, DWORD PTR 2053994217[edx*1+esi] |
1655 | mov edi, -1 | 1649 | mov edx, -1 |
1656 | rol ebx, 6 | 1650 | rol esi, 6 |
1657 | add ebx, eax | 1651 | add esi, ecx |
1658 | ; 135 | 1652 | ; 135 |
1659 | add eax, esi | 1653 | add ecx, eax |
1660 | mov esi, ecx | 1654 | mov eax, edi |
1661 | sub edi, ebx | 1655 | sub edx, esi |
1662 | and esi, ebx | 1656 | and eax, esi |
1663 | and edi, edx | 1657 | and edx, ebx |
1664 | or esi, edi | 1658 | or eax, edx |
1665 | mov edi, DWORD PTR 24[esp] | 1659 | mov edx, DWORD PTR 20[esp] |
1666 | rol ecx, 10 | 1660 | rol edi, 10 |
1667 | lea eax, DWORD PTR 2053994217[esi*1+eax] | 1661 | lea ecx, DWORD PTR 2053994217[eax*1+ecx] |
1668 | mov esi, -1 | 1662 | mov eax, -1 |
1669 | rol eax, 14 | 1663 | rol ecx, 14 |
1670 | add eax, ebp | 1664 | add ecx, ebp |
1671 | ; 136 | 1665 | ; 136 |
1672 | add ebp, edi | ||
1673 | mov edi, ebx | ||
1674 | sub esi, eax | ||
1675 | and edi, eax | ||
1676 | and esi, ecx | ||
1677 | or edi, esi | ||
1678 | mov esi, DWORD PTR 52[esp] | ||
1679 | rol ebx, 10 | ||
1680 | lea ebp, DWORD PTR 2053994217[edi*1+ebp] | ||
1681 | mov edi, -1 | ||
1682 | rol ebp, 6 | ||
1683 | add ebp, edx | 1666 | add ebp, edx |
1667 | mov edx, esi | ||
1668 | sub eax, ecx | ||
1669 | and edx, ecx | ||
1670 | and eax, edi | ||
1671 | or edx, eax | ||
1672 | mov eax, DWORD PTR 48[esp] | ||
1673 | rol esi, 10 | ||
1674 | lea ebp, DWORD PTR 2053994217[edx*1+ebp] | ||
1675 | mov edx, -1 | ||
1676 | rol ebp, 6 | ||
1677 | add ebp, ebx | ||
1684 | ; 137 | 1678 | ; 137 |
1685 | add edx, esi | 1679 | add ebx, eax |
1686 | mov esi, eax | 1680 | mov eax, ecx |
1687 | sub edi, ebp | 1681 | sub edx, ebp |
1688 | and esi, ebp | 1682 | and eax, ebp |
1689 | and edi, ebx | 1683 | and edx, esi |
1690 | or esi, edi | 1684 | or eax, edx |
1691 | mov edi, DWORD PTR 12[esp] | 1685 | mov edx, DWORD PTR 8[esp] |
1692 | rol eax, 10 | 1686 | rol ecx, 10 |
1693 | lea edx, DWORD PTR 2053994217[esi*1+edx] | 1687 | lea ebx, DWORD PTR 2053994217[eax*1+ebx] |
1694 | mov esi, -1 | 1688 | mov eax, -1 |
1695 | rol edx, 9 | 1689 | rol ebx, 9 |
1696 | add edx, ecx | 1690 | add ebx, edi |
1697 | ; 138 | 1691 | ; 138 |
1698 | add ecx, edi | 1692 | add edi, edx |
1699 | mov edi, ebp | 1693 | mov edx, ebp |
1700 | sub esi, edx | 1694 | sub eax, ebx |
1701 | and edi, edx | 1695 | and edx, ebx |
1702 | and esi, eax | 1696 | and eax, ecx |
1703 | or edi, esi | 1697 | or edx, eax |
1704 | mov esi, DWORD PTR 56[esp] | 1698 | mov eax, DWORD PTR 52[esp] |
1705 | rol ebp, 10 | 1699 | rol ebp, 10 |
1706 | lea ecx, DWORD PTR 2053994217[edi*1+ecx] | 1700 | lea edi, DWORD PTR 2053994217[edx*1+edi] |
1707 | mov edi, -1 | 1701 | mov edx, -1 |
1708 | rol ecx, 12 | 1702 | rol edi, 12 |
1709 | add ecx, ebx | 1703 | add edi, esi |
1710 | ; 139 | 1704 | ; 139 |
1711 | add ebx, esi | 1705 | add esi, eax |
1712 | mov esi, edx | 1706 | mov eax, ebx |
1713 | sub edi, ecx | 1707 | sub edx, edi |
1714 | and esi, ecx | 1708 | and eax, edi |
1715 | and edi, ebp | 1709 | and edx, ebp |
1716 | or esi, edi | 1710 | or eax, edx |
1717 | mov edi, DWORD PTR 40[esp] | 1711 | mov edx, DWORD PTR 36[esp] |
1718 | rol edx, 10 | 1712 | rol ebx, 10 |
1719 | lea ebx, DWORD PTR 2053994217[esi*1+ebx] | 1713 | lea esi, DWORD PTR 2053994217[eax*1+esi] |
1720 | mov esi, -1 | 1714 | mov eax, -1 |
1721 | rol ebx, 9 | 1715 | rol esi, 9 |
1722 | add ebx, eax | 1716 | add esi, ecx |
1723 | ; 140 | 1717 | ; 140 |
1724 | add eax, edi | 1718 | add ecx, edx |
1725 | mov edi, ecx | 1719 | mov edx, edi |
1726 | sub esi, ebx | 1720 | sub eax, esi |
1727 | and edi, ebx | 1721 | and edx, esi |
1728 | and esi, edx | 1722 | and eax, ebx |
1729 | or edi, esi | 1723 | or edx, eax |
1730 | mov esi, DWORD PTR 32[esp] | 1724 | mov eax, DWORD PTR 28[esp] |
1731 | rol ecx, 10 | 1725 | rol edi, 10 |
1732 | lea eax, DWORD PTR 2053994217[edi*1+eax] | 1726 | lea ecx, DWORD PTR 2053994217[edx*1+ecx] |
1733 | mov edi, -1 | 1727 | mov edx, -1 |
1734 | rol eax, 12 | 1728 | rol ecx, 12 |
1735 | add eax, ebp | 1729 | add ecx, ebp |
1736 | ; 141 | 1730 | ; 141 |
1737 | add ebp, esi | 1731 | add ebp, eax |
1738 | mov esi, ebx | 1732 | mov eax, esi |
1739 | sub edi, eax | 1733 | sub edx, ecx |
1740 | and esi, eax | 1734 | and eax, ecx |
1741 | and edi, ecx | 1735 | and edx, edi |
1742 | or esi, edi | 1736 | or eax, edx |
1743 | mov edi, DWORD PTR 44[esp] | 1737 | mov edx, DWORD PTR 40[esp] |
1744 | rol ebx, 10 | 1738 | rol esi, 10 |
1745 | lea ebp, DWORD PTR 2053994217[esi*1+ebp] | 1739 | lea ebp, DWORD PTR 2053994217[eax*1+ebp] |
1746 | mov esi, -1 | 1740 | mov eax, -1 |
1747 | rol ebp, 5 | 1741 | rol ebp, 5 |
1748 | add ebp, edx | 1742 | add ebp, ebx |
1749 | ; 142 | 1743 | ; 142 |
1750 | add edx, edi | 1744 | add ebx, edx |
1751 | mov edi, eax | 1745 | mov edx, ecx |
1752 | sub esi, ebp | 1746 | sub eax, ebp |
1753 | and edi, ebp | 1747 | and edx, ebp |
1754 | and esi, ebx | 1748 | and eax, esi |
1755 | or edi, esi | 1749 | or edx, eax |
1756 | mov esi, DWORD PTR 60[esp] | 1750 | mov eax, DWORD PTR 56[esp] |
1757 | rol eax, 10 | 1751 | rol ecx, 10 |
1758 | lea edx, DWORD PTR 2053994217[edi*1+edx] | 1752 | lea ebx, DWORD PTR 2053994217[edx*1+ebx] |
1759 | mov edi, -1 | 1753 | mov edx, -1 |
1760 | rol edx, 15 | 1754 | rol ebx, 15 |
1761 | add edx, ecx | 1755 | add ebx, edi |
1762 | ; 143 | 1756 | ; 143 |
1763 | add ecx, esi | 1757 | add edi, eax |
1764 | mov esi, ebp | 1758 | mov eax, ebp |
1765 | sub edi, edx | 1759 | sub edx, ebx |
1766 | and esi, edx | 1760 | and eax, ebx |
1767 | and edi, eax | 1761 | and edx, ecx |
1768 | or edi, esi | 1762 | or edx, eax |
1769 | mov esi, edx | 1763 | mov eax, ebx |
1770 | rol ebp, 10 | 1764 | rol ebp, 10 |
1771 | lea ecx, DWORD PTR 2053994217[edi*1+ecx] | 1765 | lea edi, DWORD PTR 2053994217[edx*1+edi] |
1772 | xor esi, ebp | 1766 | xor eax, ebp |
1773 | rol ecx, 8 | 1767 | rol edi, 8 |
1774 | add ecx, ebx | 1768 | add edi, esi |
1775 | ; 144 | 1769 | ; 144 |
1776 | mov edi, DWORD PTR 52[esp] | 1770 | mov edx, DWORD PTR 48[esp] |
1777 | xor esi, ecx | 1771 | xor eax, edi |
1778 | add ebx, edi | 1772 | add esi, edx |
1779 | rol edx, 10 | 1773 | rol ebx, 10 |
1780 | add ebx, esi | 1774 | add esi, eax |
1781 | mov esi, ecx | 1775 | mov eax, edi |
1782 | rol ebx, 8 | 1776 | rol esi, 8 |
1783 | add ebx, eax | 1777 | add esi, ecx |
1784 | ; 145 | 1778 | ; 145 |
1785 | xor esi, edx | 1779 | xor eax, ebx |
1786 | mov edi, DWORD PTR 64[esp] | 1780 | mov edx, DWORD PTR 60[esp] |
1787 | xor esi, ebx | 1781 | xor eax, esi |
1788 | add eax, esi | 1782 | add ecx, eax |
1789 | mov esi, ebx | 1783 | mov eax, esi |
1790 | rol ecx, 10 | 1784 | rol edi, 10 |
1791 | add eax, edi | 1785 | add ecx, edx |
1792 | xor esi, ecx | 1786 | xor eax, edi |
1793 | rol eax, 5 | 1787 | rol ecx, 5 |
1794 | add eax, ebp | 1788 | add ecx, ebp |
1795 | ; 146 | 1789 | ; 146 |
1796 | mov edi, DWORD PTR 44[esp] | 1790 | mov edx, DWORD PTR 40[esp] |
1797 | xor esi, eax | 1791 | xor eax, ecx |
1798 | add ebp, edi | ||
1799 | rol ebx, 10 | ||
1800 | add ebp, esi | ||
1801 | mov esi, eax | ||
1802 | rol ebp, 12 | ||
1803 | add ebp, edx | 1792 | add ebp, edx |
1793 | rol esi, 10 | ||
1794 | add ebp, eax | ||
1795 | mov eax, ecx | ||
1796 | rol ebp, 12 | ||
1797 | add ebp, ebx | ||
1804 | ; 147 | 1798 | ; 147 |
1805 | xor esi, ebx | 1799 | xor eax, esi |
1806 | mov edi, DWORD PTR 20[esp] | 1800 | mov edx, DWORD PTR 16[esp] |
1807 | xor esi, ebp | 1801 | xor eax, ebp |
1808 | add edx, esi | 1802 | add ebx, eax |
1809 | mov esi, ebp | 1803 | mov eax, ebp |
1810 | rol eax, 10 | 1804 | rol ecx, 10 |
1811 | add edx, edi | 1805 | add ebx, edx |
1812 | xor esi, eax | 1806 | xor eax, ecx |
1813 | rol edx, 9 | 1807 | rol ebx, 9 |
1814 | add edx, ecx | 1808 | add ebx, edi |
1815 | ; 148 | 1809 | ; 148 |
1816 | mov edi, DWORD PTR 8[esp] | 1810 | mov edx, DWORD PTR 4[esp] |
1817 | xor esi, edx | 1811 | xor eax, ebx |
1818 | add ecx, edi | 1812 | add edi, edx |
1819 | rol ebp, 10 | 1813 | rol ebp, 10 |
1820 | add ecx, esi | 1814 | add edi, eax |
1821 | mov esi, edx | 1815 | mov eax, ebx |
1822 | rol ecx, 12 | 1816 | rol edi, 12 |
1823 | add ecx, ebx | 1817 | add edi, esi |
1824 | ; 149 | 1818 | ; 149 |
1825 | xor esi, ebp | 1819 | xor eax, ebp |
1826 | mov edi, DWORD PTR 24[esp] | 1820 | mov edx, DWORD PTR 20[esp] |
1827 | xor esi, ecx | 1821 | xor eax, edi |
1828 | add ebx, esi | 1822 | add esi, eax |
1829 | mov esi, ecx | 1823 | mov eax, edi |
1830 | rol edx, 10 | 1824 | rol ebx, 10 |
1831 | add ebx, edi | 1825 | add esi, edx |
1832 | xor esi, edx | 1826 | xor eax, ebx |
1833 | rol ebx, 5 | 1827 | rol esi, 5 |
1834 | add ebx, eax | 1828 | add esi, ecx |
1835 | ; 150 | 1829 | ; 150 |
1836 | mov edi, DWORD PTR 36[esp] | 1830 | mov edx, DWORD PTR 32[esp] |
1837 | xor esi, ebx | 1831 | xor eax, esi |
1838 | add eax, edi | 1832 | add ecx, edx |
1839 | rol ecx, 10 | 1833 | rol edi, 10 |
1840 | add eax, esi | 1834 | add ecx, eax |
1841 | mov esi, ebx | 1835 | mov eax, esi |
1842 | rol eax, 14 | 1836 | rol ecx, 14 |
1843 | add eax, ebp | 1837 | add ecx, ebp |
1844 | ; 151 | 1838 | ; 151 |
1845 | xor esi, ecx | 1839 | xor eax, edi |
1846 | mov edi, DWORD PTR 32[esp] | 1840 | mov edx, DWORD PTR 28[esp] |
1847 | xor esi, eax | 1841 | xor eax, ecx |
1848 | add ebp, esi | 1842 | add ebp, eax |
1849 | mov esi, eax | 1843 | mov eax, ecx |
1850 | rol ebx, 10 | 1844 | rol esi, 10 |
1851 | add ebp, edi | ||
1852 | xor esi, ebx | ||
1853 | rol ebp, 6 | ||
1854 | add ebp, edx | 1845 | add ebp, edx |
1846 | xor eax, esi | ||
1847 | rol ebp, 6 | ||
1848 | add ebp, ebx | ||
1855 | ; 152 | 1849 | ; 152 |
1856 | mov edi, DWORD PTR 28[esp] | 1850 | mov edx, DWORD PTR 24[esp] |
1857 | xor esi, ebp | 1851 | xor eax, ebp |
1858 | add edx, edi | 1852 | add ebx, edx |
1859 | rol eax, 10 | 1853 | rol ecx, 10 |
1860 | add edx, esi | 1854 | add ebx, eax |
1861 | mov esi, ebp | 1855 | mov eax, ebp |
1862 | rol edx, 8 | 1856 | rol ebx, 8 |
1863 | add edx, ecx | 1857 | add ebx, edi |
1864 | ; 153 | 1858 | ; 153 |
1865 | xor esi, eax | 1859 | xor eax, ecx |
1866 | mov edi, DWORD PTR 12[esp] | 1860 | mov edx, DWORD PTR 8[esp] |
1867 | xor esi, edx | 1861 | xor eax, ebx |
1868 | add ecx, esi | 1862 | add edi, eax |
1869 | mov esi, edx | 1863 | mov eax, ebx |
1870 | rol ebp, 10 | 1864 | rol ebp, 10 |
1871 | add ecx, edi | 1865 | add edi, edx |
1872 | xor esi, ebp | 1866 | xor eax, ebp |
1873 | rol ecx, 13 | 1867 | rol edi, 13 |
1874 | add ecx, ebx | 1868 | add edi, esi |
1875 | ; 154 | 1869 | ; 154 |
1876 | mov edi, DWORD PTR 56[esp] | 1870 | mov edx, DWORD PTR 52[esp] |
1877 | xor esi, ecx | 1871 | xor eax, edi |
1878 | add ebx, edi | 1872 | add esi, edx |
1879 | rol edx, 10 | 1873 | rol ebx, 10 |
1880 | add ebx, esi | 1874 | add esi, eax |
1881 | mov esi, ecx | 1875 | mov eax, edi |
1882 | rol ebx, 6 | 1876 | rol esi, 6 |
1883 | add ebx, eax | 1877 | add esi, ecx |
1884 | ; 155 | 1878 | ; 155 |
1885 | xor esi, edx | 1879 | xor eax, ebx |
1886 | mov edi, DWORD PTR 60[esp] | 1880 | mov edx, DWORD PTR 56[esp] |
1887 | xor esi, ebx | 1881 | xor eax, esi |
1888 | add eax, esi | 1882 | add ecx, eax |
1889 | mov esi, ebx | 1883 | mov eax, esi |
1890 | rol ecx, 10 | 1884 | rol edi, 10 |
1891 | add eax, edi | 1885 | add ecx, edx |
1892 | xor esi, ecx | 1886 | xor eax, edi |
1893 | rol eax, 5 | 1887 | rol ecx, 5 |
1894 | add eax, ebp | 1888 | add ecx, ebp |
1895 | ; 156 | 1889 | ; 156 |
1896 | mov edi, DWORD PTR 4[esp] | 1890 | mov edx, DWORD PTR [esp] |
1897 | xor esi, eax | 1891 | xor eax, ecx |
1898 | add ebp, edi | ||
1899 | rol ebx, 10 | ||
1900 | add ebp, esi | ||
1901 | mov esi, eax | ||
1902 | rol ebp, 15 | ||
1903 | add ebp, edx | 1892 | add ebp, edx |
1893 | rol esi, 10 | ||
1894 | add ebp, eax | ||
1895 | mov eax, ecx | ||
1896 | rol ebp, 15 | ||
1897 | add ebp, ebx | ||
1904 | ; 157 | 1898 | ; 157 |
1905 | xor esi, ebx | 1899 | xor eax, esi |
1906 | mov edi, DWORD PTR 16[esp] | 1900 | mov edx, DWORD PTR 12[esp] |
1907 | xor esi, ebp | 1901 | xor eax, ebp |
1908 | add edx, esi | 1902 | add ebx, eax |
1909 | mov esi, ebp | 1903 | mov eax, ebp |
1910 | rol eax, 10 | 1904 | rol ecx, 10 |
1911 | add edx, edi | 1905 | add ebx, edx |
1912 | xor esi, eax | 1906 | xor eax, ecx |
1913 | rol edx, 13 | 1907 | rol ebx, 13 |
1914 | add edx, ecx | 1908 | add ebx, edi |
1915 | ; 158 | 1909 | ; 158 |
1916 | mov edi, DWORD PTR 40[esp] | 1910 | mov edx, DWORD PTR 36[esp] |
1917 | xor esi, edx | 1911 | xor eax, ebx |
1918 | add ecx, edi | 1912 | add edi, edx |
1919 | rol ebp, 10 | 1913 | rol ebp, 10 |
1920 | add ecx, esi | 1914 | add edi, eax |
1921 | mov esi, edx | 1915 | mov eax, ebx |
1922 | rol ecx, 11 | 1916 | rol edi, 11 |
1923 | add ecx, ebx | 1917 | add edi, esi |
1924 | ; 159 | 1918 | ; 159 |
1925 | xor esi, ebp | 1919 | xor eax, ebp |
1926 | mov edi, DWORD PTR 48[esp] | 1920 | mov edx, DWORD PTR 44[esp] |
1927 | xor esi, ecx | 1921 | xor eax, edi |
1928 | add ebx, esi | 1922 | add esi, eax |
1929 | rol edx, 10 | 1923 | rol ebx, 10 |
1930 | add ebx, edi | 1924 | add esi, edx |
1931 | mov edi, DWORD PTR 108[esp] | 1925 | mov edx, DWORD PTR 128[esp] |
1932 | rol ebx, 11 | 1926 | rol esi, 11 |
1927 | add esi, ecx | ||
1928 | mov eax, DWORD PTR 4[edx] | ||
1933 | add ebx, eax | 1929 | add ebx, eax |
1934 | mov esi, DWORD PTR 4[edi] | 1930 | mov eax, DWORD PTR 72[esp] |
1935 | add edx, esi | 1931 | add ebx, eax |
1936 | mov esi, DWORD PTR 76[esp] | 1932 | mov eax, DWORD PTR 8[edx] |
1937 | add edx, esi | 1933 | add ebp, eax |
1938 | mov esi, DWORD PTR 8[edi] | 1934 | mov eax, DWORD PTR 76[esp] |
1939 | add ebp, esi | 1935 | add ebp, eax |
1940 | mov esi, DWORD PTR 80[esp] | 1936 | mov eax, DWORD PTR 12[edx] |
1941 | add ebp, esi | 1937 | add ecx, eax |
1942 | mov esi, DWORD PTR 12[edi] | 1938 | mov eax, DWORD PTR 80[esp] |
1943 | add eax, esi | 1939 | add ecx, eax |
1944 | mov esi, DWORD PTR 84[esp] | 1940 | mov eax, DWORD PTR 16[edx] |
1945 | add eax, esi | 1941 | add esi, eax |
1946 | mov esi, DWORD PTR 16[edi] | 1942 | mov eax, DWORD PTR 64[esp] |
1947 | add ebx, esi | 1943 | add esi, eax |
1948 | mov esi, DWORD PTR 68[esp] | 1944 | mov eax, DWORD PTR [edx] |
1949 | add ebx, esi | 1945 | add edi, eax |
1950 | mov esi, DWORD PTR [edi] | 1946 | mov eax, DWORD PTR 68[esp] |
1951 | add ecx, esi | 1947 | add edi, eax |
1952 | mov esi, DWORD PTR 72[esp] | 1948 | mov eax, DWORD PTR 136[esp] |
1953 | add ecx, esi | 1949 | mov DWORD PTR [edx],ebx |
1954 | mov DWORD PTR [edi],edx | 1950 | mov DWORD PTR 4[edx],ebp |
1955 | mov DWORD PTR 4[edi],ebp | 1951 | mov DWORD PTR 8[edx],ecx |
1956 | mov DWORD PTR 8[edi],eax | 1952 | sub eax, 1 |
1957 | mov DWORD PTR 12[edi],ebx | 1953 | mov DWORD PTR 12[edx],esi |
1958 | mov DWORD PTR 16[edi],ecx | 1954 | mov DWORD PTR 16[edx],edi |
1959 | mov edi, DWORD PTR [esp] | 1955 | jle $L001get_out |
1960 | mov esi, DWORD PTR 112[esp] | 1956 | mov DWORD PTR 136[esp],eax |
1961 | cmp edi, esi | 1957 | mov edi, ecx |
1962 | mov edi, DWORD PTR 108[esp] | 1958 | mov eax, DWORD PTR 132[esp] |
1963 | jge L000start | 1959 | mov ecx, ebx |
1964 | add esp, 88 | 1960 | add eax, 64 |
1961 | mov esi, ebp | ||
1962 | mov DWORD PTR 132[esp],eax | ||
1963 | jmp L000start | ||
1964 | $L001get_out: | ||
1965 | add esp, 108 | ||
1965 | pop ebx | 1966 | pop ebx |
1966 | pop ebp | 1967 | pop ebp |
1967 | pop edi | 1968 | pop edi |
1968 | pop esi | 1969 | pop esi |
1969 | ret | 1970 | ret |
1970 | _ripemd160_block_x86 ENDP | 1971 | _ripemd160_block_asm_host_order ENDP |
1971 | _TEXT ENDS | 1972 | _TEXT ENDS |
1972 | END | 1973 | END |
diff --git a/src/lib/libcrypto/ripemd/asm/rmd-586.pl b/src/lib/libcrypto/ripemd/asm/rmd-586.pl index e53c5fadba..0ab6f76bff 100644 --- a/src/lib/libcrypto/ripemd/asm/rmd-586.pl +++ b/src/lib/libcrypto/ripemd/asm/rmd-586.pl | |||
@@ -1,9 +1,7 @@ | |||
1 | #!/usr/local/bin/perl | 1 | #!/usr/local/bin/perl |
2 | 2 | ||
3 | # Normal is the | 3 | # Normal is the |
4 | # ripemd160_block_x86(MD5_CTX *c, ULONG *X); | 4 | # ripemd160_block_asm_host_order(RIPEMD160_CTX *c, ULONG *X,int blocks); |
5 | # version, non-normal is the | ||
6 | # ripemd160_block_x86(MD5_CTX *c, ULONG *X,int blocks); | ||
7 | 5 | ||
8 | $normal=0; | 6 | $normal=0; |
9 | 7 | ||
@@ -12,13 +10,13 @@ require "x86asm.pl"; | |||
12 | 10 | ||
13 | &asm_init($ARGV[0],$0); | 11 | &asm_init($ARGV[0],$0); |
14 | 12 | ||
15 | $A="eax"; | 13 | $A="ecx"; |
16 | $B="ebx"; | 14 | $B="esi"; |
17 | $C="ecx"; | 15 | $C="edi"; |
18 | $D="edx"; | 16 | $D="ebx"; |
19 | $E="ebp"; | 17 | $E="ebp"; |
20 | $tmp1="esi"; | 18 | $tmp1="eax"; |
21 | $tmp2="edi"; | 19 | $tmp2="edx"; |
22 | 20 | ||
23 | $KL1=0x5A827999; | 21 | $KL1=0x5A827999; |
24 | $KL2=0x6ED9EBA1; | 22 | $KL2=0x6ED9EBA1; |
@@ -58,13 +56,13 @@ $KR3=0x7A6D76E9; | |||
58 | 8, 5,12, 9,12, 5,14, 6, 8,13, 6, 5,15,13,11,11, | 56 | 8, 5,12, 9,12, 5,14, 6, 8,13, 6, 5,15,13,11,11, |
59 | ); | 57 | ); |
60 | 58 | ||
61 | &ripemd160_block("ripemd160_block_x86"); | 59 | &ripemd160_block("ripemd160_block_asm_host_order"); |
62 | &asm_finish(); | 60 | &asm_finish(); |
63 | 61 | ||
64 | sub Xv | 62 | sub Xv |
65 | { | 63 | { |
66 | local($n)=@_; | 64 | local($n)=@_; |
67 | return(&swtmp($n+1)); | 65 | return(&swtmp($n)); |
68 | # tmp on stack | 66 | # tmp on stack |
69 | } | 67 | } |
70 | 68 | ||
@@ -82,7 +80,7 @@ sub RIP1 | |||
82 | &comment($p++); | 80 | &comment($p++); |
83 | if ($p & 1) | 81 | if ($p & 1) |
84 | { | 82 | { |
85 | &mov($tmp1, $c) if $o == -1; | 83 | #&mov($tmp1, $c) if $o == -1; |
86 | &xor($tmp1, $d) if $o == -1; | 84 | &xor($tmp1, $d) if $o == -1; |
87 | &mov($tmp2, &Xv($pos)); | 85 | &mov($tmp2, &Xv($pos)); |
88 | &xor($tmp1, $b); | 86 | &xor($tmp1, $b); |
@@ -290,7 +288,7 @@ sub RIP5 | |||
290 | &rotl($c, 10); | 288 | &rotl($c, 10); |
291 | &lea($a, &DWP($K,$a,$tmp1,1)); | 289 | &lea($a, &DWP($K,$a,$tmp1,1)); |
292 | &sub($tmp2, &Np($d)) if $o <= 0; | 290 | &sub($tmp2, &Np($d)) if $o <= 0; |
293 | &mov(&swtmp(1+16), $A) if $o == 1; | 291 | &mov(&swtmp(16), $A) if $o == 1; |
294 | &mov($tmp1, &Np($d)) if $o == 2; | 292 | &mov($tmp1, &Np($d)) if $o == 2; |
295 | &rotl($a, $s); | 293 | &rotl($a, $s); |
296 | &add($a, $e); | 294 | &add($a, $e); |
@@ -310,19 +308,25 @@ sub ripemd160_block | |||
310 | # D 12 | 308 | # D 12 |
311 | # E 16 | 309 | # E 16 |
312 | 310 | ||
311 | &mov($tmp2, &wparam(0)); | ||
312 | &mov($tmp1, &wparam(1)); | ||
313 | &push("esi"); | 313 | &push("esi"); |
314 | &mov($C, &wparam(2)); | 314 | &mov($A, &DWP( 0,$tmp2,"",0)); |
315 | &push("edi"); | 315 | &push("edi"); |
316 | &mov($tmp1, &wparam(1)); # edi | 316 | &mov($B, &DWP( 4,$tmp2,"",0)); |
317 | &push("ebp"); | 317 | &push("ebp"); |
318 | &add($C, $tmp1); # offset we end at | 318 | &mov($C, &DWP( 8,$tmp2,"",0)); |
319 | &push("ebx"); | 319 | &push("ebx"); |
320 | &sub($C, 64); | 320 | &stack_push(16+5+6); |
321 | &stack_push(16+5+1); | 321 | # Special comment about the figure of 6. |
322 | # XXX | 322 | # Idea is to pad the current frame so |
323 | 323 | # that the top of the stack gets fairly | |
324 | &mov(&swtmp(0), $C); | 324 | # aligned. Well, as you realize it would |
325 | &mov($tmp2, &wparam(0)); # Done at end of loop | 325 | # always depend on how the frame below is |
326 | # aligned. The good news are that gcc-2.95 | ||
327 | # and later does keep first argument at | ||
328 | # least double-wise aligned. | ||
329 | # <appro@fy.chalmers.se> | ||
326 | 330 | ||
327 | &set_label("start") unless $normal; | 331 | &set_label("start") unless $normal; |
328 | &comment(""); | 332 | &comment(""); |
@@ -332,16 +336,12 @@ sub ripemd160_block | |||
332 | 336 | ||
333 | for ($z=0; $z<16; $z+=2) | 337 | for ($z=0; $z<16; $z+=2) |
334 | { | 338 | { |
335 | &mov($A, &DWP( $z*4,$tmp1,"",0)); | 339 | &mov($D, &DWP( $z*4,$tmp1,"",0)); |
336 | &mov($B, &DWP( ($z+1)*4,$tmp1,"",0)); | 340 | &mov($E, &DWP( ($z+1)*4,$tmp1,"",0)); |
337 | &mov(&swtmp(1+$z), $A); | 341 | &mov(&swtmp($z), $D); |
338 | &mov(&swtmp(1+$z+1), $B); | 342 | &mov(&swtmp($z+1), $E); |
339 | } | 343 | } |
340 | &add($tmp1, 64); | 344 | &mov($tmp1, $C); |
341 | &mov($A, &DWP( 0,$tmp2,"",0)); | ||
342 | &mov(&wparam(1),$tmp1); | ||
343 | &mov($B, &DWP( 4,$tmp2,"",0)); | ||
344 | &mov($C, &DWP( 8,$tmp2,"",0)); | ||
345 | &mov($D, &DWP(12,$tmp2,"",0)); | 345 | &mov($D, &DWP(12,$tmp2,"",0)); |
346 | &mov($E, &DWP(16,$tmp2,"",0)); | 346 | &mov($E, &DWP(16,$tmp2,"",0)); |
347 | 347 | ||
@@ -431,14 +431,14 @@ sub ripemd160_block | |||
431 | &RIP5($B,$C,$D,$E,$A,$wl[79],$sl[79],$KL4,1); | 431 | &RIP5($B,$C,$D,$E,$A,$wl[79],$sl[79],$KL4,1); |
432 | 432 | ||
433 | # &mov($tmp2, &wparam(0)); # moved into last RIP5 | 433 | # &mov($tmp2, &wparam(0)); # moved into last RIP5 |
434 | # &mov(&swtmp(1+16), $A); | 434 | # &mov(&swtmp(16), $A); |
435 | &mov($A, &DWP( 0,$tmp2,"",0)); | 435 | &mov($A, &DWP( 0,$tmp2,"",0)); |
436 | &mov(&swtmp(1+17), $B); | 436 | &mov(&swtmp(16+1), $B); |
437 | &mov(&swtmp(1+18), $C); | 437 | &mov(&swtmp(16+2), $C); |
438 | &mov($B, &DWP( 4,$tmp2,"",0)); | 438 | &mov($B, &DWP( 4,$tmp2,"",0)); |
439 | &mov(&swtmp(1+19), $D); | 439 | &mov(&swtmp(16+3), $D); |
440 | &mov($C, &DWP( 8,$tmp2,"",0)); | 440 | &mov($C, &DWP( 8,$tmp2,"",0)); |
441 | &mov(&swtmp(1+20), $E); | 441 | &mov(&swtmp(16+4), $E); |
442 | &mov($D, &DWP(12,$tmp2,"",0)); | 442 | &mov($D, &DWP(12,$tmp2,"",0)); |
443 | &mov($E, &DWP(16,$tmp2,"",0)); | 443 | &mov($E, &DWP(16,$tmp2,"",0)); |
444 | 444 | ||
@@ -531,46 +531,54 @@ sub ripemd160_block | |||
531 | 531 | ||
532 | &mov($tmp1, &DWP( 4,$tmp2,"",0)); # ctx->B | 532 | &mov($tmp1, &DWP( 4,$tmp2,"",0)); # ctx->B |
533 | &add($D, $tmp1); | 533 | &add($D, $tmp1); |
534 | &mov($tmp1, &swtmp(1+18)); # $c | 534 | &mov($tmp1, &swtmp(16+2)); # $c |
535 | &add($D, $tmp1); | 535 | &add($D, $tmp1); |
536 | 536 | ||
537 | &mov($tmp1, &DWP( 8,$tmp2,"",0)); # ctx->C | 537 | &mov($tmp1, &DWP( 8,$tmp2,"",0)); # ctx->C |
538 | &add($E, $tmp1); | 538 | &add($E, $tmp1); |
539 | &mov($tmp1, &swtmp(1+19)); # $d | 539 | &mov($tmp1, &swtmp(16+3)); # $d |
540 | &add($E, $tmp1); | 540 | &add($E, $tmp1); |
541 | 541 | ||
542 | &mov($tmp1, &DWP(12,$tmp2,"",0)); # ctx->D | 542 | &mov($tmp1, &DWP(12,$tmp2,"",0)); # ctx->D |
543 | &add($A, $tmp1); | 543 | &add($A, $tmp1); |
544 | &mov($tmp1, &swtmp(1+20)); # $e | 544 | &mov($tmp1, &swtmp(16+4)); # $e |
545 | &add($A, $tmp1); | 545 | &add($A, $tmp1); |
546 | 546 | ||
547 | 547 | ||
548 | &mov($tmp1, &DWP(16,$tmp2,"",0)); # ctx->E | 548 | &mov($tmp1, &DWP(16,$tmp2,"",0)); # ctx->E |
549 | &add($B, $tmp1); | 549 | &add($B, $tmp1); |
550 | &mov($tmp1, &swtmp(1+16)); # $a | 550 | &mov($tmp1, &swtmp(16+0)); # $a |
551 | &add($B, $tmp1); | 551 | &add($B, $tmp1); |
552 | 552 | ||
553 | &mov($tmp1, &DWP( 0,$tmp2,"",0)); # ctx->A | 553 | &mov($tmp1, &DWP( 0,$tmp2,"",0)); # ctx->A |
554 | &add($C, $tmp1); | 554 | &add($C, $tmp1); |
555 | &mov($tmp1, &swtmp(1+17)); # $b | 555 | &mov($tmp1, &swtmp(16+1)); # $b |
556 | &add($C, $tmp1); | 556 | &add($C, $tmp1); |
557 | 557 | ||
558 | &mov($tmp1, &wparam(2)); | ||
559 | |||
558 | &mov(&DWP( 0,$tmp2,"",0), $D); | 560 | &mov(&DWP( 0,$tmp2,"",0), $D); |
559 | &mov(&DWP( 4,$tmp2,"",0), $E); | 561 | &mov(&DWP( 4,$tmp2,"",0), $E); |
560 | &mov(&DWP( 8,$tmp2,"",0), $A); | 562 | &mov(&DWP( 8,$tmp2,"",0), $A); |
561 | &mov(&DWP(12,$tmp2,"",0), $B); | 563 | &sub($tmp1,1); |
562 | &mov(&DWP(16,$tmp2,"",0), $C); | 564 | &mov(&DWP(12,$tmp2,"",0), $B); |
565 | &mov(&DWP(16,$tmp2,"",0), $C); | ||
563 | 566 | ||
564 | &mov($tmp2, &swtmp(0)); | 567 | &jle(&label("get_out")); |
565 | &mov($tmp1, &wparam(1)); | 568 | |
569 | &mov(&wparam(2),$tmp1); | ||
570 | &mov($C, $A); | ||
571 | &mov($tmp1, &wparam(1)); | ||
572 | &mov($A, $D); | ||
573 | &add($tmp1, 64); | ||
574 | &mov($B, $E); | ||
575 | &mov(&wparam(1),$tmp1); | ||
566 | 576 | ||
567 | &cmp($tmp2,$tmp1); | 577 | &jmp(&label("start")); |
568 | &mov($tmp2, &wparam(0)); | ||
569 | 578 | ||
570 | # XXX | 579 | &set_label("get_out"); |
571 | &jge(&label("start")); | ||
572 | 580 | ||
573 | &stack_pop(16+5+1); | 581 | &stack_pop(16+5+6); |
574 | 582 | ||
575 | &pop("ebx"); | 583 | &pop("ebx"); |
576 | &pop("ebp"); | 584 | &pop("ebp"); |
diff --git a/src/lib/libcrypto/ripemd/ripemd.h b/src/lib/libcrypto/ripemd/ripemd.h index ab76be4c33..dd1627cf40 100644 --- a/src/lib/libcrypto/ripemd/ripemd.h +++ b/src/lib/libcrypto/ripemd/ripemd.h | |||
@@ -67,26 +67,33 @@ extern "C" { | |||
67 | #error RIPEMD is disabled. | 67 | #error RIPEMD is disabled. |
68 | #endif | 68 | #endif |
69 | 69 | ||
70 | #if defined(WIN16) || defined(__LP32__) | ||
71 | #define RIPEMD160_LONG unsigned long | ||
72 | #elif defined(_CRAY) || defined(__ILP64__) | ||
73 | #define RIPEMD160_LONG unsigned long | ||
74 | #define RIPEMD160_LONG_LOG2 3 | ||
75 | #else | ||
76 | #define RIPEMD160_LONG unsigned int | ||
77 | #endif | ||
78 | |||
70 | #define RIPEMD160_CBLOCK 64 | 79 | #define RIPEMD160_CBLOCK 64 |
71 | #define RIPEMD160_LBLOCK 16 | 80 | #define RIPEMD160_LBLOCK (RIPEMD160_CBLOCK/4) |
72 | #define RIPEMD160_BLOCK 16 | ||
73 | #define RIPEMD160_LAST_BLOCK 56 | ||
74 | #define RIPEMD160_LENGTH_BLOCK 8 | ||
75 | #define RIPEMD160_DIGEST_LENGTH 20 | 81 | #define RIPEMD160_DIGEST_LENGTH 20 |
76 | 82 | ||
77 | typedef struct RIPEMD160state_st | 83 | typedef struct RIPEMD160state_st |
78 | { | 84 | { |
79 | unsigned long A,B,C,D,E; | 85 | RIPEMD160_LONG A,B,C,D,E; |
80 | unsigned long Nl,Nh; | 86 | RIPEMD160_LONG Nl,Nh; |
81 | unsigned long data[RIPEMD160_LBLOCK]; | 87 | RIPEMD160_LONG data[RIPEMD160_LBLOCK]; |
82 | int num; | 88 | int num; |
83 | } RIPEMD160_CTX; | 89 | } RIPEMD160_CTX; |
84 | 90 | ||
85 | void RIPEMD160_Init(RIPEMD160_CTX *c); | 91 | void RIPEMD160_Init(RIPEMD160_CTX *c); |
86 | void RIPEMD160_Update(RIPEMD160_CTX *c, unsigned char *data, unsigned long len); | 92 | void RIPEMD160_Update(RIPEMD160_CTX *c, const void *data, unsigned long len); |
87 | void RIPEMD160_Final(unsigned char *md, RIPEMD160_CTX *c); | 93 | void RIPEMD160_Final(unsigned char *md, RIPEMD160_CTX *c); |
88 | unsigned char *RIPEMD160(unsigned char *d, unsigned long n, unsigned char *md); | 94 | unsigned char *RIPEMD160(const unsigned char *d, unsigned long n, |
89 | void RIPEMD160_Transform(RIPEMD160_CTX *c, unsigned char *b); | 95 | unsigned char *md); |
96 | void RIPEMD160_Transform(RIPEMD160_CTX *c, const unsigned char *b); | ||
90 | #ifdef __cplusplus | 97 | #ifdef __cplusplus |
91 | } | 98 | } |
92 | #endif | 99 | #endif |
diff --git a/src/lib/libcrypto/ripemd/rmd_dgst.c b/src/lib/libcrypto/ripemd/rmd_dgst.c index b590856229..bdfae270b6 100644 --- a/src/lib/libcrypto/ripemd/rmd_dgst.c +++ b/src/lib/libcrypto/ripemd/rmd_dgst.c | |||
@@ -60,7 +60,7 @@ | |||
60 | #include "rmd_locl.h" | 60 | #include "rmd_locl.h" |
61 | #include <openssl/opensslv.h> | 61 | #include <openssl/opensslv.h> |
62 | 62 | ||
63 | char *RMD160_version="RIPE-MD160" OPENSSL_VERSION_PTEXT; | 63 | const char *RMD160_version="RIPE-MD160" OPENSSL_VERSION_PTEXT; |
64 | 64 | ||
65 | # ifdef RMD160_ASM | 65 | # ifdef RMD160_ASM |
66 | void ripemd160_block_x86(RIPEMD160_CTX *c, unsigned long *p,int num); | 66 | void ripemd160_block_x86(RIPEMD160_CTX *c, unsigned long *p,int num); |
@@ -68,6 +68,7 @@ char *RMD160_version="RIPE-MD160" OPENSSL_VERSION_PTEXT; | |||
68 | # else | 68 | # else |
69 | void ripemd160_block(RIPEMD160_CTX *c, unsigned long *p,int num); | 69 | void ripemd160_block(RIPEMD160_CTX *c, unsigned long *p,int num); |
70 | # endif | 70 | # endif |
71 | |||
71 | void RIPEMD160_Init(RIPEMD160_CTX *c) | 72 | void RIPEMD160_Init(RIPEMD160_CTX *c) |
72 | { | 73 | { |
73 | c->A=RIPEMD160_A; | 74 | c->A=RIPEMD160_A; |
@@ -80,180 +81,21 @@ void RIPEMD160_Init(RIPEMD160_CTX *c) | |||
80 | c->num=0; | 81 | c->num=0; |
81 | } | 82 | } |
82 | 83 | ||
83 | void RIPEMD160_Update(RIPEMD160_CTX *c, register unsigned char *data, | 84 | #ifndef ripemd160_block_host_order |
84 | unsigned long len) | 85 | #ifdef X |
85 | { | 86 | #undef X |
86 | register ULONG *p; | ||
87 | int sw,sc; | ||
88 | ULONG l; | ||
89 | |||
90 | if (len == 0) return; | ||
91 | |||
92 | l=(c->Nl+(len<<3))&0xffffffffL; | ||
93 | if (l < c->Nl) /* overflow */ | ||
94 | c->Nh++; | ||
95 | c->Nh+=(len>>29); | ||
96 | c->Nl=l; | ||
97 | |||
98 | if (c->num != 0) | ||
99 | { | ||
100 | p=c->data; | ||
101 | sw=c->num>>2; | ||
102 | sc=c->num&0x03; | ||
103 | |||
104 | if ((c->num+len) >= RIPEMD160_CBLOCK) | ||
105 | { | ||
106 | l= p[sw]; | ||
107 | p_c2l(data,l,sc); | ||
108 | p[sw++]=l; | ||
109 | for (; sw<RIPEMD160_LBLOCK; sw++) | ||
110 | { | ||
111 | c2l(data,l); | ||
112 | p[sw]=l; | ||
113 | } | ||
114 | len-=(RIPEMD160_CBLOCK-c->num); | ||
115 | |||
116 | ripemd160_block(c,p,64); | ||
117 | c->num=0; | ||
118 | /* drop through and do the rest */ | ||
119 | } | ||
120 | else | ||
121 | { | ||
122 | int ew,ec; | ||
123 | |||
124 | c->num+=(int)len; | ||
125 | if ((sc+len) < 4) /* ugly, add char's to a word */ | ||
126 | { | ||
127 | l= p[sw]; | ||
128 | p_c2l_p(data,l,sc,len); | ||
129 | p[sw]=l; | ||
130 | } | ||
131 | else | ||
132 | { | ||
133 | ew=(c->num>>2); | ||
134 | ec=(c->num&0x03); | ||
135 | l= p[sw]; | ||
136 | p_c2l(data,l,sc); | ||
137 | p[sw++]=l; | ||
138 | for (; sw < ew; sw++) | ||
139 | { c2l(data,l); p[sw]=l; } | ||
140 | if (ec) | ||
141 | { | ||
142 | c2l_p(data,l,ec); | ||
143 | p[sw]=l; | ||
144 | } | ||
145 | } | ||
146 | return; | ||
147 | } | ||
148 | } | ||
149 | /* we now can process the input data in blocks of RIPEMD160_CBLOCK | ||
150 | * chars and save the leftovers to c->data. */ | ||
151 | #ifdef L_ENDIAN | ||
152 | if ((((unsigned long)data)%sizeof(ULONG)) == 0) | ||
153 | { | ||
154 | sw=(int)len/RIPEMD160_CBLOCK; | ||
155 | if (sw > 0) | ||
156 | { | ||
157 | sw*=RIPEMD160_CBLOCK; | ||
158 | ripemd160_block(c,(ULONG *)data,sw); | ||
159 | data+=sw; | ||
160 | len-=sw; | ||
161 | } | ||
162 | } | ||
163 | #endif | ||
164 | p=c->data; | ||
165 | while (len >= RIPEMD160_CBLOCK) | ||
166 | { | ||
167 | #if defined(L_ENDIAN) || defined(B_ENDIAN) | ||
168 | if (p != (unsigned long *)data) | ||
169 | memcpy(p,data,RIPEMD160_CBLOCK); | ||
170 | data+=RIPEMD160_CBLOCK; | ||
171 | #ifdef B_ENDIAN | ||
172 | for (sw=(RIPEMD160_LBLOCK/4); sw; sw--) | ||
173 | { | ||
174 | Endian_Reverse32(p[0]); | ||
175 | Endian_Reverse32(p[1]); | ||
176 | Endian_Reverse32(p[2]); | ||
177 | Endian_Reverse32(p[3]); | ||
178 | p+=4; | ||
179 | } | ||
180 | #endif | ||
181 | #else | ||
182 | for (sw=(RIPEMD160_LBLOCK/4); sw; sw--) | ||
183 | { | ||
184 | c2l(data,l); *(p++)=l; | ||
185 | c2l(data,l); *(p++)=l; | ||
186 | c2l(data,l); *(p++)=l; | ||
187 | c2l(data,l); *(p++)=l; | ||
188 | } | ||
189 | #endif | 87 | #endif |
190 | p=c->data; | 88 | #define X(i) XX[i] |
191 | ripemd160_block(c,p,64); | 89 | void ripemd160_block_host_order (RIPEMD160_CTX *ctx, const void *p, int num) |
192 | len-=RIPEMD160_CBLOCK; | ||
193 | } | ||
194 | sc=(int)len; | ||
195 | c->num=sc; | ||
196 | if (sc) | ||
197 | { | ||
198 | sw=sc>>2; /* words to copy */ | ||
199 | #ifdef L_ENDIAN | ||
200 | p[sw]=0; | ||
201 | memcpy(p,data,sc); | ||
202 | #else | ||
203 | sc&=0x03; | ||
204 | for ( ; sw; sw--) | ||
205 | { c2l(data,l); *(p++)=l; } | ||
206 | c2l_p(data,l,sc); | ||
207 | *p=l; | ||
208 | #endif | ||
209 | } | ||
210 | } | ||
211 | |||
212 | void RIPEMD160_Transform(RIPEMD160_CTX *c, unsigned char *b) | ||
213 | { | 90 | { |
214 | ULONG p[16]; | 91 | const RIPEMD160_LONG *XX=p; |
215 | #if !defined(L_ENDIAN) | 92 | register unsigned long A,B,C,D,E; |
216 | ULONG *q; | 93 | register unsigned long a,b,c,d,e; |
217 | int i; | ||
218 | #endif | ||
219 | 94 | ||
220 | #if defined(B_ENDIAN) || defined(L_ENDIAN) | 95 | for (;num--;XX+=HASH_LBLOCK) |
221 | memcpy(p,b,64); | ||
222 | #ifdef B_ENDIAN | ||
223 | q=p; | ||
224 | for (i=(RIPEMD160_LBLOCK/4); i; i--) | ||
225 | { | ||
226 | Endian_Reverse32(q[0]); | ||
227 | Endian_Reverse32(q[1]); | ||
228 | Endian_Reverse32(q[2]); | ||
229 | Endian_Reverse32(q[3]); | ||
230 | q+=4; | ||
231 | } | ||
232 | #endif | ||
233 | #else | ||
234 | q=p; | ||
235 | for (i=(RIPEMD160_LBLOCK/4); i; i--) | ||
236 | { | 96 | { |
237 | ULONG l; | ||
238 | c2l(b,l); *(q++)=l; | ||
239 | c2l(b,l); *(q++)=l; | ||
240 | c2l(b,l); *(q++)=l; | ||
241 | c2l(b,l); *(q++)=l; | ||
242 | } | ||
243 | #endif | ||
244 | ripemd160_block(c,p,64); | ||
245 | } | ||
246 | |||
247 | #ifndef RMD160_ASM | ||
248 | |||
249 | void ripemd160_block(RIPEMD160_CTX *ctx, register ULONG *X, int num) | ||
250 | { | ||
251 | register ULONG A,B,C,D,E; | ||
252 | ULONG a,b,c,d,e; | ||
253 | 97 | ||
254 | for (;;) | 98 | A=ctx->A; B=ctx->B; C=ctx->C; D=ctx->D; E=ctx->E; |
255 | { | ||
256 | A=ctx->A; B=ctx->B; C=ctx->C; D=ctx->D; E=ctx->E; | ||
257 | 99 | ||
258 | RIP1(A,B,C,D,E,WL00,SL00); | 100 | RIP1(A,B,C,D,E,WL00,SL00); |
259 | RIP1(E,A,B,C,D,WL01,SL01); | 101 | RIP1(E,A,B,C,D,WL01,SL01); |
@@ -436,80 +278,216 @@ void ripemd160_block(RIPEMD160_CTX *ctx, register ULONG *X, int num) | |||
436 | ctx->E=ctx->A+b+C; | 278 | ctx->E=ctx->A+b+C; |
437 | ctx->A=D; | 279 | ctx->A=D; |
438 | 280 | ||
439 | X+=16; | ||
440 | num-=64; | ||
441 | if (num <= 0) break; | ||
442 | } | 281 | } |
443 | } | 282 | } |
444 | #endif | 283 | #endif |
445 | 284 | ||
446 | void RIPEMD160_Final(unsigned char *md, RIPEMD160_CTX *c) | 285 | #ifndef ripemd160_block_data_order |
286 | #ifdef X | ||
287 | #undef X | ||
288 | #endif | ||
289 | void ripemd160_block_data_order (RIPEMD160_CTX *ctx, const void *p, int num) | ||
447 | { | 290 | { |
448 | register int i,j; | 291 | const unsigned char *data=p; |
449 | register ULONG l; | 292 | register unsigned long A,B,C,D,E; |
450 | register ULONG *p; | 293 | unsigned long a,b,c,d,e,l; |
451 | static unsigned char end[4]={0x80,0x00,0x00,0x00}; | 294 | #ifndef MD32_XARRAY |
452 | unsigned char *cp=end; | 295 | /* See comment in crypto/sha/sha_locl.h for details. */ |
453 | 296 | unsigned long XX0, XX1, XX2, XX3, XX4, XX5, XX6, XX7, | |
454 | /* c->num should definitly have room for at least one more byte. */ | 297 | XX8, XX9,XX10,XX11,XX12,XX13,XX14,XX15; |
455 | p=c->data; | 298 | # define X(i) XX##i |
456 | j=c->num; | 299 | #else |
457 | i=j>>2; | 300 | RIPEMD160_LONG XX[16]; |
458 | 301 | # define X(i) XX[i] | |
459 | /* purify often complains about the following line as an | ||
460 | * Uninitialized Memory Read. While this can be true, the | ||
461 | * following p_c2l macro will reset l when that case is true. | ||
462 | * This is because j&0x03 contains the number of 'valid' bytes | ||
463 | * already in p[i]. If and only if j&0x03 == 0, the UMR will | ||
464 | * occur but this is also the only time p_c2l will do | ||
465 | * l= *(cp++) instead of l|= *(cp++) | ||
466 | * Many thanks to Alex Tang <altitude@cic.net> for pickup this | ||
467 | * 'potential bug' */ | ||
468 | #ifdef PURIFY | ||
469 | if ((j&0x03) == 0) p[i]=0; | ||
470 | #endif | 302 | #endif |
471 | l=p[i]; | 303 | |
472 | p_c2l(cp,l,j&0x03); | 304 | for (;num--;) |
473 | p[i]=l; | ||
474 | i++; | ||
475 | /* i is the next 'undefined word' */ | ||
476 | if (c->num >= RIPEMD160_LAST_BLOCK) | ||
477 | { | 305 | { |
478 | for (; i<RIPEMD160_LBLOCK; i++) | ||
479 | p[i]=0; | ||
480 | ripemd160_block(c,p,64); | ||
481 | i=0; | ||
482 | } | ||
483 | for (; i<(RIPEMD160_LBLOCK-2); i++) | ||
484 | p[i]=0; | ||
485 | p[RIPEMD160_LBLOCK-2]=c->Nl; | ||
486 | p[RIPEMD160_LBLOCK-1]=c->Nh; | ||
487 | ripemd160_block(c,p,64); | ||
488 | cp=md; | ||
489 | l=c->A; l2c(l,cp); | ||
490 | l=c->B; l2c(l,cp); | ||
491 | l=c->C; l2c(l,cp); | ||
492 | l=c->D; l2c(l,cp); | ||
493 | l=c->E; l2c(l,cp); | ||
494 | |||
495 | /* clear stuff, ripemd160_block may be leaving some stuff on the stack | ||
496 | * but I'm not worried :-) */ | ||
497 | c->num=0; | ||
498 | /* memset((char *)&c,0,sizeof(c));*/ | ||
499 | } | ||
500 | 306 | ||
501 | #ifdef undef | 307 | A=ctx->A; B=ctx->B; C=ctx->C; D=ctx->D; E=ctx->E; |
502 | int printit(unsigned long *l) | 308 | |
503 | { | 309 | HOST_c2l(data,l); X( 0)=l; HOST_c2l(data,l); X( 1)=l; |
504 | int i,ii; | 310 | RIP1(A,B,C,D,E,WL00,SL00); HOST_c2l(data,l); X( 2)=l; |
311 | RIP1(E,A,B,C,D,WL01,SL01); HOST_c2l(data,l); X( 3)=l; | ||
312 | RIP1(D,E,A,B,C,WL02,SL02); HOST_c2l(data,l); X( 4)=l; | ||
313 | RIP1(C,D,E,A,B,WL03,SL03); HOST_c2l(data,l); X( 5)=l; | ||
314 | RIP1(B,C,D,E,A,WL04,SL04); HOST_c2l(data,l); X( 6)=l; | ||
315 | RIP1(A,B,C,D,E,WL05,SL05); HOST_c2l(data,l); X( 7)=l; | ||
316 | RIP1(E,A,B,C,D,WL06,SL06); HOST_c2l(data,l); X( 8)=l; | ||
317 | RIP1(D,E,A,B,C,WL07,SL07); HOST_c2l(data,l); X( 9)=l; | ||
318 | RIP1(C,D,E,A,B,WL08,SL08); HOST_c2l(data,l); X(10)=l; | ||
319 | RIP1(B,C,D,E,A,WL09,SL09); HOST_c2l(data,l); X(11)=l; | ||
320 | RIP1(A,B,C,D,E,WL10,SL10); HOST_c2l(data,l); X(12)=l; | ||
321 | RIP1(E,A,B,C,D,WL11,SL11); HOST_c2l(data,l); X(13)=l; | ||
322 | RIP1(D,E,A,B,C,WL12,SL12); HOST_c2l(data,l); X(14)=l; | ||
323 | RIP1(C,D,E,A,B,WL13,SL13); HOST_c2l(data,l); X(15)=l; | ||
324 | RIP1(B,C,D,E,A,WL14,SL14); | ||
325 | RIP1(A,B,C,D,E,WL15,SL15); | ||
326 | |||
327 | RIP2(E,A,B,C,D,WL16,SL16,KL1); | ||
328 | RIP2(D,E,A,B,C,WL17,SL17,KL1); | ||
329 | RIP2(C,D,E,A,B,WL18,SL18,KL1); | ||
330 | RIP2(B,C,D,E,A,WL19,SL19,KL1); | ||
331 | RIP2(A,B,C,D,E,WL20,SL20,KL1); | ||
332 | RIP2(E,A,B,C,D,WL21,SL21,KL1); | ||
333 | RIP2(D,E,A,B,C,WL22,SL22,KL1); | ||
334 | RIP2(C,D,E,A,B,WL23,SL23,KL1); | ||
335 | RIP2(B,C,D,E,A,WL24,SL24,KL1); | ||
336 | RIP2(A,B,C,D,E,WL25,SL25,KL1); | ||
337 | RIP2(E,A,B,C,D,WL26,SL26,KL1); | ||
338 | RIP2(D,E,A,B,C,WL27,SL27,KL1); | ||
339 | RIP2(C,D,E,A,B,WL28,SL28,KL1); | ||
340 | RIP2(B,C,D,E,A,WL29,SL29,KL1); | ||
341 | RIP2(A,B,C,D,E,WL30,SL30,KL1); | ||
342 | RIP2(E,A,B,C,D,WL31,SL31,KL1); | ||
343 | |||
344 | RIP3(D,E,A,B,C,WL32,SL32,KL2); | ||
345 | RIP3(C,D,E,A,B,WL33,SL33,KL2); | ||
346 | RIP3(B,C,D,E,A,WL34,SL34,KL2); | ||
347 | RIP3(A,B,C,D,E,WL35,SL35,KL2); | ||
348 | RIP3(E,A,B,C,D,WL36,SL36,KL2); | ||
349 | RIP3(D,E,A,B,C,WL37,SL37,KL2); | ||
350 | RIP3(C,D,E,A,B,WL38,SL38,KL2); | ||
351 | RIP3(B,C,D,E,A,WL39,SL39,KL2); | ||
352 | RIP3(A,B,C,D,E,WL40,SL40,KL2); | ||
353 | RIP3(E,A,B,C,D,WL41,SL41,KL2); | ||
354 | RIP3(D,E,A,B,C,WL42,SL42,KL2); | ||
355 | RIP3(C,D,E,A,B,WL43,SL43,KL2); | ||
356 | RIP3(B,C,D,E,A,WL44,SL44,KL2); | ||
357 | RIP3(A,B,C,D,E,WL45,SL45,KL2); | ||
358 | RIP3(E,A,B,C,D,WL46,SL46,KL2); | ||
359 | RIP3(D,E,A,B,C,WL47,SL47,KL2); | ||
360 | |||
361 | RIP4(C,D,E,A,B,WL48,SL48,KL3); | ||
362 | RIP4(B,C,D,E,A,WL49,SL49,KL3); | ||
363 | RIP4(A,B,C,D,E,WL50,SL50,KL3); | ||
364 | RIP4(E,A,B,C,D,WL51,SL51,KL3); | ||
365 | RIP4(D,E,A,B,C,WL52,SL52,KL3); | ||
366 | RIP4(C,D,E,A,B,WL53,SL53,KL3); | ||
367 | RIP4(B,C,D,E,A,WL54,SL54,KL3); | ||
368 | RIP4(A,B,C,D,E,WL55,SL55,KL3); | ||
369 | RIP4(E,A,B,C,D,WL56,SL56,KL3); | ||
370 | RIP4(D,E,A,B,C,WL57,SL57,KL3); | ||
371 | RIP4(C,D,E,A,B,WL58,SL58,KL3); | ||
372 | RIP4(B,C,D,E,A,WL59,SL59,KL3); | ||
373 | RIP4(A,B,C,D,E,WL60,SL60,KL3); | ||
374 | RIP4(E,A,B,C,D,WL61,SL61,KL3); | ||
375 | RIP4(D,E,A,B,C,WL62,SL62,KL3); | ||
376 | RIP4(C,D,E,A,B,WL63,SL63,KL3); | ||
377 | |||
378 | RIP5(B,C,D,E,A,WL64,SL64,KL4); | ||
379 | RIP5(A,B,C,D,E,WL65,SL65,KL4); | ||
380 | RIP5(E,A,B,C,D,WL66,SL66,KL4); | ||
381 | RIP5(D,E,A,B,C,WL67,SL67,KL4); | ||
382 | RIP5(C,D,E,A,B,WL68,SL68,KL4); | ||
383 | RIP5(B,C,D,E,A,WL69,SL69,KL4); | ||
384 | RIP5(A,B,C,D,E,WL70,SL70,KL4); | ||
385 | RIP5(E,A,B,C,D,WL71,SL71,KL4); | ||
386 | RIP5(D,E,A,B,C,WL72,SL72,KL4); | ||
387 | RIP5(C,D,E,A,B,WL73,SL73,KL4); | ||
388 | RIP5(B,C,D,E,A,WL74,SL74,KL4); | ||
389 | RIP5(A,B,C,D,E,WL75,SL75,KL4); | ||
390 | RIP5(E,A,B,C,D,WL76,SL76,KL4); | ||
391 | RIP5(D,E,A,B,C,WL77,SL77,KL4); | ||
392 | RIP5(C,D,E,A,B,WL78,SL78,KL4); | ||
393 | RIP5(B,C,D,E,A,WL79,SL79,KL4); | ||
394 | |||
395 | a=A; b=B; c=C; d=D; e=E; | ||
396 | /* Do other half */ | ||
397 | A=ctx->A; B=ctx->B; C=ctx->C; D=ctx->D; E=ctx->E; | ||
398 | |||
399 | RIP5(A,B,C,D,E,WR00,SR00,KR0); | ||
400 | RIP5(E,A,B,C,D,WR01,SR01,KR0); | ||
401 | RIP5(D,E,A,B,C,WR02,SR02,KR0); | ||
402 | RIP5(C,D,E,A,B,WR03,SR03,KR0); | ||
403 | RIP5(B,C,D,E,A,WR04,SR04,KR0); | ||
404 | RIP5(A,B,C,D,E,WR05,SR05,KR0); | ||
405 | RIP5(E,A,B,C,D,WR06,SR06,KR0); | ||
406 | RIP5(D,E,A,B,C,WR07,SR07,KR0); | ||
407 | RIP5(C,D,E,A,B,WR08,SR08,KR0); | ||
408 | RIP5(B,C,D,E,A,WR09,SR09,KR0); | ||
409 | RIP5(A,B,C,D,E,WR10,SR10,KR0); | ||
410 | RIP5(E,A,B,C,D,WR11,SR11,KR0); | ||
411 | RIP5(D,E,A,B,C,WR12,SR12,KR0); | ||
412 | RIP5(C,D,E,A,B,WR13,SR13,KR0); | ||
413 | RIP5(B,C,D,E,A,WR14,SR14,KR0); | ||
414 | RIP5(A,B,C,D,E,WR15,SR15,KR0); | ||
415 | |||
416 | RIP4(E,A,B,C,D,WR16,SR16,KR1); | ||
417 | RIP4(D,E,A,B,C,WR17,SR17,KR1); | ||
418 | RIP4(C,D,E,A,B,WR18,SR18,KR1); | ||
419 | RIP4(B,C,D,E,A,WR19,SR19,KR1); | ||
420 | RIP4(A,B,C,D,E,WR20,SR20,KR1); | ||
421 | RIP4(E,A,B,C,D,WR21,SR21,KR1); | ||
422 | RIP4(D,E,A,B,C,WR22,SR22,KR1); | ||
423 | RIP4(C,D,E,A,B,WR23,SR23,KR1); | ||
424 | RIP4(B,C,D,E,A,WR24,SR24,KR1); | ||
425 | RIP4(A,B,C,D,E,WR25,SR25,KR1); | ||
426 | RIP4(E,A,B,C,D,WR26,SR26,KR1); | ||
427 | RIP4(D,E,A,B,C,WR27,SR27,KR1); | ||
428 | RIP4(C,D,E,A,B,WR28,SR28,KR1); | ||
429 | RIP4(B,C,D,E,A,WR29,SR29,KR1); | ||
430 | RIP4(A,B,C,D,E,WR30,SR30,KR1); | ||
431 | RIP4(E,A,B,C,D,WR31,SR31,KR1); | ||
432 | |||
433 | RIP3(D,E,A,B,C,WR32,SR32,KR2); | ||
434 | RIP3(C,D,E,A,B,WR33,SR33,KR2); | ||
435 | RIP3(B,C,D,E,A,WR34,SR34,KR2); | ||
436 | RIP3(A,B,C,D,E,WR35,SR35,KR2); | ||
437 | RIP3(E,A,B,C,D,WR36,SR36,KR2); | ||
438 | RIP3(D,E,A,B,C,WR37,SR37,KR2); | ||
439 | RIP3(C,D,E,A,B,WR38,SR38,KR2); | ||
440 | RIP3(B,C,D,E,A,WR39,SR39,KR2); | ||
441 | RIP3(A,B,C,D,E,WR40,SR40,KR2); | ||
442 | RIP3(E,A,B,C,D,WR41,SR41,KR2); | ||
443 | RIP3(D,E,A,B,C,WR42,SR42,KR2); | ||
444 | RIP3(C,D,E,A,B,WR43,SR43,KR2); | ||
445 | RIP3(B,C,D,E,A,WR44,SR44,KR2); | ||
446 | RIP3(A,B,C,D,E,WR45,SR45,KR2); | ||
447 | RIP3(E,A,B,C,D,WR46,SR46,KR2); | ||
448 | RIP3(D,E,A,B,C,WR47,SR47,KR2); | ||
449 | |||
450 | RIP2(C,D,E,A,B,WR48,SR48,KR3); | ||
451 | RIP2(B,C,D,E,A,WR49,SR49,KR3); | ||
452 | RIP2(A,B,C,D,E,WR50,SR50,KR3); | ||
453 | RIP2(E,A,B,C,D,WR51,SR51,KR3); | ||
454 | RIP2(D,E,A,B,C,WR52,SR52,KR3); | ||
455 | RIP2(C,D,E,A,B,WR53,SR53,KR3); | ||
456 | RIP2(B,C,D,E,A,WR54,SR54,KR3); | ||
457 | RIP2(A,B,C,D,E,WR55,SR55,KR3); | ||
458 | RIP2(E,A,B,C,D,WR56,SR56,KR3); | ||
459 | RIP2(D,E,A,B,C,WR57,SR57,KR3); | ||
460 | RIP2(C,D,E,A,B,WR58,SR58,KR3); | ||
461 | RIP2(B,C,D,E,A,WR59,SR59,KR3); | ||
462 | RIP2(A,B,C,D,E,WR60,SR60,KR3); | ||
463 | RIP2(E,A,B,C,D,WR61,SR61,KR3); | ||
464 | RIP2(D,E,A,B,C,WR62,SR62,KR3); | ||
465 | RIP2(C,D,E,A,B,WR63,SR63,KR3); | ||
466 | |||
467 | RIP1(B,C,D,E,A,WR64,SR64); | ||
468 | RIP1(A,B,C,D,E,WR65,SR65); | ||
469 | RIP1(E,A,B,C,D,WR66,SR66); | ||
470 | RIP1(D,E,A,B,C,WR67,SR67); | ||
471 | RIP1(C,D,E,A,B,WR68,SR68); | ||
472 | RIP1(B,C,D,E,A,WR69,SR69); | ||
473 | RIP1(A,B,C,D,E,WR70,SR70); | ||
474 | RIP1(E,A,B,C,D,WR71,SR71); | ||
475 | RIP1(D,E,A,B,C,WR72,SR72); | ||
476 | RIP1(C,D,E,A,B,WR73,SR73); | ||
477 | RIP1(B,C,D,E,A,WR74,SR74); | ||
478 | RIP1(A,B,C,D,E,WR75,SR75); | ||
479 | RIP1(E,A,B,C,D,WR76,SR76); | ||
480 | RIP1(D,E,A,B,C,WR77,SR77); | ||
481 | RIP1(C,D,E,A,B,WR78,SR78); | ||
482 | RIP1(B,C,D,E,A,WR79,SR79); | ||
483 | |||
484 | D =ctx->B+c+D; | ||
485 | ctx->B=ctx->C+d+E; | ||
486 | ctx->C=ctx->D+e+A; | ||
487 | ctx->D=ctx->E+a+B; | ||
488 | ctx->E=ctx->A+b+C; | ||
489 | ctx->A=D; | ||
505 | 490 | ||
506 | for (i=0; i<2; i++) | ||
507 | { | ||
508 | for (ii=0; ii<8; ii++) | ||
509 | { | ||
510 | fprintf(stderr,"%08lx ",l[i*8+ii]); | ||
511 | } | ||
512 | fprintf(stderr,"\n"); | ||
513 | } | 491 | } |
514 | } | 492 | } |
515 | #endif | 493 | #endif |
diff --git a/src/lib/libcrypto/ripemd/rmd_locl.h b/src/lib/libcrypto/ripemd/rmd_locl.h index d6ba02001a..145cf316b9 100644 --- a/src/lib/libcrypto/ripemd/rmd_locl.h +++ b/src/lib/libcrypto/ripemd/rmd_locl.h | |||
@@ -58,134 +58,76 @@ | |||
58 | 58 | ||
59 | #include <stdlib.h> | 59 | #include <stdlib.h> |
60 | #include <string.h> | 60 | #include <string.h> |
61 | #include <openssl/opensslconf.h> | ||
61 | #include <openssl/ripemd.h> | 62 | #include <openssl/ripemd.h> |
62 | 63 | ||
63 | #define ULONG unsigned long | 64 | #ifndef RIPEMD160_LONG_LOG2 |
64 | #define UCHAR unsigned char | 65 | #define RIPEMD160_LONG_LOG2 2 /* default to 32 bits */ |
65 | #define UINT unsigned int | 66 | #endif |
66 | 67 | ||
67 | #undef c2nl | 68 | /* |
68 | #define c2nl(c,l) (l =(((unsigned long)(*((c)++)))<<24), \ | 69 | * DO EXAMINE COMMENTS IN crypto/md5/md5_locl.h & crypto/md5/md5_dgst.c |
69 | l|=(((unsigned long)(*((c)++)))<<16), \ | 70 | * FOR EXPLANATIONS ON FOLLOWING "CODE." |
70 | l|=(((unsigned long)(*((c)++)))<< 8), \ | 71 | * <appro@fy.chalmers.se> |
71 | l|=(((unsigned long)(*((c)++))) )) | 72 | */ |
72 | 73 | #ifdef RMD160_ASM | |
73 | #undef p_c2nl | 74 | # if defined(__i386) || defined(_M_IX86) || defined(__INTEL__) |
74 | #define p_c2nl(c,l,n) { \ | 75 | # define ripemd160_block_host_order ripemd160_block_asm_host_order |
75 | switch (n) { \ | 76 | # endif |
76 | case 0: l =((unsigned long)(*((c)++)))<<24; \ | 77 | #endif |
77 | case 1: l|=((unsigned long)(*((c)++)))<<16; \ | 78 | |
78 | case 2: l|=((unsigned long)(*((c)++)))<< 8; \ | 79 | void ripemd160_block_host_order (RIPEMD160_CTX *c, const void *p,int num); |
79 | case 3: l|=((unsigned long)(*((c)++))); \ | 80 | void ripemd160_block_data_order (RIPEMD160_CTX *c, const void *p,int num); |
80 | } \ | 81 | |
81 | } | 82 | #if defined(__i386) || defined(_M_IX86) || defined(__INTEL__) |
82 | 83 | #define ripemd160_block_data_order ripemd160_block_host_order | |
83 | #undef c2nl_p | 84 | #endif |
84 | /* NOTE the pointer is not incremented at the end of this */ | 85 | |
85 | #define c2nl_p(c,l,n) { \ | 86 | #define DATA_ORDER_IS_LITTLE_ENDIAN |
86 | l=0; \ | 87 | |
87 | (c)+=n; \ | 88 | #define HASH_LONG RIPEMD160_LONG |
88 | switch (n) { \ | 89 | #define HASH_LONG_LOG2 RIPEMD160_LONG_LOG2 |
89 | case 3: l =((unsigned long)(*(--(c))))<< 8; \ | 90 | #define HASH_CTX RIPEMD160_CTX |
90 | case 2: l|=((unsigned long)(*(--(c))))<<16; \ | 91 | #define HASH_CBLOCK RIPEMD160_CBLOCK |
91 | case 1: l|=((unsigned long)(*(--(c))))<<24; \ | 92 | #define HASH_LBLOCK RIPEMD160_LBLOCK |
92 | } \ | 93 | #define HASH_UPDATE RIPEMD160_Update |
93 | } | 94 | #define HASH_TRANSFORM RIPEMD160_Transform |
94 | 95 | #define HASH_FINAL RIPEMD160_Final | |
95 | #undef p_c2nl_p | 96 | #define HASH_BLOCK_HOST_ORDER ripemd160_block_host_order |
96 | #define p_c2nl_p(c,l,sc,len) { \ | 97 | #define HASH_MAKE_STRING(c,s) do { \ |
97 | switch (sc) \ | 98 | unsigned long ll; \ |
98 | { \ | 99 | ll=(c)->A; HOST_l2c(ll,(s)); \ |
99 | case 0: l =((unsigned long)(*((c)++)))<<24; \ | 100 | ll=(c)->B; HOST_l2c(ll,(s)); \ |
100 | if (--len == 0) break; \ | 101 | ll=(c)->C; HOST_l2c(ll,(s)); \ |
101 | case 1: l|=((unsigned long)(*((c)++)))<<16; \ | 102 | ll=(c)->D; HOST_l2c(ll,(s)); \ |
102 | if (--len == 0) break; \ | 103 | ll=(c)->E; HOST_l2c(ll,(s)); \ |
103 | case 2: l|=((unsigned long)(*((c)++)))<< 8; \ | 104 | } while (0) |
104 | } \ | 105 | #if !defined(L_ENDIAN) || defined(ripemd160_block_data_order) |
105 | } | 106 | #define HASH_BLOCK_DATA_ORDER ripemd160_block_data_order |
106 | |||
107 | #undef nl2c | ||
108 | #define nl2c(l,c) (*((c)++)=(unsigned char)(((l)>>24)&0xff), \ | ||
109 | *((c)++)=(unsigned char)(((l)>>16)&0xff), \ | ||
110 | *((c)++)=(unsigned char)(((l)>> 8)&0xff), \ | ||
111 | *((c)++)=(unsigned char)(((l) )&0xff)) | ||
112 | |||
113 | #undef c2l | ||
114 | #define c2l(c,l) (l =(((unsigned long)(*((c)++))) ), \ | ||
115 | l|=(((unsigned long)(*((c)++)))<< 8), \ | ||
116 | l|=(((unsigned long)(*((c)++)))<<16), \ | ||
117 | l|=(((unsigned long)(*((c)++)))<<24)) | ||
118 | |||
119 | #undef p_c2l | ||
120 | #define p_c2l(c,l,n) { \ | ||
121 | switch (n) { \ | ||
122 | case 0: l =((unsigned long)(*((c)++))); \ | ||
123 | case 1: l|=((unsigned long)(*((c)++)))<< 8; \ | ||
124 | case 2: l|=((unsigned long)(*((c)++)))<<16; \ | ||
125 | case 3: l|=((unsigned long)(*((c)++)))<<24; \ | ||
126 | } \ | ||
127 | } | ||
128 | |||
129 | #undef c2l_p | ||
130 | /* NOTE the pointer is not incremented at the end of this */ | ||
131 | #define c2l_p(c,l,n) { \ | ||
132 | l=0; \ | ||
133 | (c)+=n; \ | ||
134 | switch (n) { \ | ||
135 | case 3: l =((unsigned long)(*(--(c))))<<16; \ | ||
136 | case 2: l|=((unsigned long)(*(--(c))))<< 8; \ | ||
137 | case 1: l|=((unsigned long)(*(--(c)))); \ | ||
138 | } \ | ||
139 | } | ||
140 | |||
141 | #undef p_c2l_p | ||
142 | #define p_c2l_p(c,l,sc,len) { \ | ||
143 | switch (sc) \ | ||
144 | { \ | ||
145 | case 0: l =((unsigned long)(*((c)++))); \ | ||
146 | if (--len == 0) break; \ | ||
147 | case 1: l|=((unsigned long)(*((c)++)))<< 8; \ | ||
148 | if (--len == 0) break; \ | ||
149 | case 2: l|=((unsigned long)(*((c)++)))<<16; \ | ||
150 | } \ | ||
151 | } | ||
152 | |||
153 | #undef l2c | ||
154 | #define l2c(l,c) (*((c)++)=(unsigned char)(((l) )&0xff), \ | ||
155 | *((c)++)=(unsigned char)(((l)>> 8)&0xff), \ | ||
156 | *((c)++)=(unsigned char)(((l)>>16)&0xff), \ | ||
157 | *((c)++)=(unsigned char)(((l)>>24)&0xff)) | ||
158 | |||
159 | #undef ROTATE | ||
160 | #if defined(WIN32) | ||
161 | #define ROTATE(a,n) _lrotl(a,n) | ||
162 | #else | ||
163 | #define ROTATE(a,n) (((a)<<(n))|(((a)&0xffffffff)>>(32-(n)))) | ||
164 | #endif | 107 | #endif |
165 | 108 | ||
166 | /* A nice byte order reversal from Wei Dai <weidai@eskimo.com> */ | 109 | #ifndef FLAT_INC |
167 | #if defined(WIN32) | 110 | #include "../md32_common.h" |
168 | /* 5 instructions with rotate instruction, else 9 */ | ||
169 | #define Endian_Reverse32(a) \ | ||
170 | { \ | ||
171 | unsigned long l=(a); \ | ||
172 | (a)=((ROTATE(l,8)&0x00FF00FF)|(ROTATE(l,24)&0xFF00FF00)); \ | ||
173 | } | ||
174 | #else | 111 | #else |
175 | /* 6 instructions with rotate instruction, else 8 */ | 112 | #include "md32_common.h" |
176 | #define Endian_Reverse32(a) \ | ||
177 | { \ | ||
178 | unsigned long l=(a); \ | ||
179 | l=(((l&0xFF00FF00)>>8L)|((l&0x00FF00FF)<<8L)); \ | ||
180 | (a)=ROTATE(l,16L); \ | ||
181 | } | ||
182 | #endif | 113 | #endif |
183 | 114 | ||
115 | #if 0 | ||
184 | #define F1(x,y,z) ((x)^(y)^(z)) | 116 | #define F1(x,y,z) ((x)^(y)^(z)) |
185 | #define F2(x,y,z) (((x)&(y))|((~x)&z)) | 117 | #define F2(x,y,z) (((x)&(y))|((~x)&z)) |
186 | #define F3(x,y,z) (((x)|(~y))^(z)) | 118 | #define F3(x,y,z) (((x)|(~y))^(z)) |
187 | #define F4(x,y,z) (((x)&(z))|((y)&(~(z)))) | 119 | #define F4(x,y,z) (((x)&(z))|((y)&(~(z)))) |
188 | #define F5(x,y,z) ((x)^((y)|(~(z)))) | 120 | #define F5(x,y,z) ((x)^((y)|(~(z)))) |
121 | #else | ||
122 | /* | ||
123 | * Transformed F2 and F4 are courtesy of Wei Dai <weidai@eskimo.com> | ||
124 | */ | ||
125 | #define F1(x,y,z) ((x) ^ (y) ^ (z)) | ||
126 | #define F2(x,y,z) ((((y) ^ (z)) & (x)) ^ (z)) | ||
127 | #define F3(x,y,z) (((~(y)) | (x)) ^ (z)) | ||
128 | #define F4(x,y,z) ((((x) ^ (y)) & (z)) ^ (y)) | ||
129 | #define F5(x,y,z) (((~(z)) | (y)) ^ (x)) | ||
130 | #endif | ||
189 | 131 | ||
190 | #define RIPEMD160_A 0x67452301L | 132 | #define RIPEMD160_A 0x67452301L |
191 | #define RIPEMD160_B 0xEFCDAB89L | 133 | #define RIPEMD160_B 0xEFCDAB89L |
@@ -196,27 +138,27 @@ | |||
196 | #include "rmdconst.h" | 138 | #include "rmdconst.h" |
197 | 139 | ||
198 | #define RIP1(a,b,c,d,e,w,s) { \ | 140 | #define RIP1(a,b,c,d,e,w,s) { \ |
199 | a+=F1(b,c,d)+X[w]; \ | 141 | a+=F1(b,c,d)+X(w); \ |
200 | a=ROTATE(a,s)+e; \ | 142 | a=ROTATE(a,s)+e; \ |
201 | c=ROTATE(c,10); } | 143 | c=ROTATE(c,10); } |
202 | 144 | ||
203 | #define RIP2(a,b,c,d,e,w,s,K) { \ | 145 | #define RIP2(a,b,c,d,e,w,s,K) { \ |
204 | a+=F2(b,c,d)+X[w]+K; \ | 146 | a+=F2(b,c,d)+X(w)+K; \ |
205 | a=ROTATE(a,s)+e; \ | 147 | a=ROTATE(a,s)+e; \ |
206 | c=ROTATE(c,10); } | 148 | c=ROTATE(c,10); } |
207 | 149 | ||
208 | #define RIP3(a,b,c,d,e,w,s,K) { \ | 150 | #define RIP3(a,b,c,d,e,w,s,K) { \ |
209 | a+=F3(b,c,d)+X[w]+K; \ | 151 | a+=F3(b,c,d)+X(w)+K; \ |
210 | a=ROTATE(a,s)+e; \ | 152 | a=ROTATE(a,s)+e; \ |
211 | c=ROTATE(c,10); } | 153 | c=ROTATE(c,10); } |
212 | 154 | ||
213 | #define RIP4(a,b,c,d,e,w,s,K) { \ | 155 | #define RIP4(a,b,c,d,e,w,s,K) { \ |
214 | a+=F4(b,c,d)+X[w]+K; \ | 156 | a+=F4(b,c,d)+X(w)+K; \ |
215 | a=ROTATE(a,s)+e; \ | 157 | a=ROTATE(a,s)+e; \ |
216 | c=ROTATE(c,10); } | 158 | c=ROTATE(c,10); } |
217 | 159 | ||
218 | #define RIP5(a,b,c,d,e,w,s,K) { \ | 160 | #define RIP5(a,b,c,d,e,w,s,K) { \ |
219 | a+=F5(b,c,d)+X[w]+K; \ | 161 | a+=F5(b,c,d)+X(w)+K; \ |
220 | a=ROTATE(a,s)+e; \ | 162 | a=ROTATE(a,s)+e; \ |
221 | c=ROTATE(c,10); } | 163 | c=ROTATE(c,10); } |
222 | 164 | ||
diff --git a/src/lib/libcrypto/ripemd/rmd_one.c b/src/lib/libcrypto/ripemd/rmd_one.c index 5b6ff14714..efdf2dd6ef 100644 --- a/src/lib/libcrypto/ripemd/rmd_one.c +++ b/src/lib/libcrypto/ripemd/rmd_one.c | |||
@@ -57,9 +57,10 @@ | |||
57 | */ | 57 | */ |
58 | 58 | ||
59 | #include <stdio.h> | 59 | #include <stdio.h> |
60 | #include "rmd_locl.h" | 60 | #include <string.h> |
61 | #include <openssl/ripemd.h> | ||
61 | 62 | ||
62 | unsigned char *RIPEMD160(unsigned char *d, unsigned long n, | 63 | unsigned char *RIPEMD160(const unsigned char *d, unsigned long n, |
63 | unsigned char *md) | 64 | unsigned char *md) |
64 | { | 65 | { |
65 | RIPEMD160_CTX c; | 66 | RIPEMD160_CTX c; |
diff --git a/src/lib/libcrypto/ripemd/rmdtest.c b/src/lib/libcrypto/ripemd/rmdtest.c index 5e93d4627c..5d79c99725 100644 --- a/src/lib/libcrypto/ripemd/rmdtest.c +++ b/src/lib/libcrypto/ripemd/rmdtest.c | |||
@@ -73,7 +73,7 @@ int main(int argc, char *argv[]) | |||
73 | #include <openssl/ebcdic.h> | 73 | #include <openssl/ebcdic.h> |
74 | #endif | 74 | #endif |
75 | 75 | ||
76 | char *test[]={ | 76 | static char *test[]={ |
77 | "", | 77 | "", |
78 | "a", | 78 | "a", |
79 | "abc", | 79 | "abc", |
@@ -85,7 +85,7 @@ char *test[]={ | |||
85 | NULL, | 85 | NULL, |
86 | }; | 86 | }; |
87 | 87 | ||
88 | char *ret[]={ | 88 | static char *ret[]={ |
89 | "9c1185a5c5e9fc54612808977ee8f548b2258d31", | 89 | "9c1185a5c5e9fc54612808977ee8f548b2258d31", |
90 | "0bdc9d2d256b3ee9daae347be6f4dc835a467ffe", | 90 | "0bdc9d2d256b3ee9daae347be6f4dc835a467ffe", |
91 | "8eb208f7e05d987a9b044a8e98c6b087f15a0bfc", | 91 | "8eb208f7e05d987a9b044a8e98c6b087f15a0bfc", |