OLD | NEW |
| (Empty) |
1 diff -burN android-openssl.orig/import_openssl.sh android-openssl/import_openssl
.sh | |
2 --- android-openssl.orig/import_openssl.sh 2014-04-03 13:23:34.925663547 +0
200 | |
3 +++ android-openssl/import_openssl.sh 2014-04-03 14:13:56.497704796 +0200 | |
4 @@ -118,6 +118,13 @@ | |
5 fi | |
6 } | |
7 | |
8 +function default_asm_mac_ia32_file () { | |
9 + if [ "$2" ]; then | |
10 + echo "$2" | |
11 + else | |
12 + echo "${1%%.pl}-mac.S" | |
13 + fi | |
14 +} | |
15 # Generate an ARM assembly file. | |
16 # $1: generator (perl script) | |
17 # $2: [optional] output file name | |
18 @@ -148,6 +155,11 @@ | |
19 perl "$1" elf "$OUT" > "$OUT" | |
20 } | |
21 | |
22 +function gen_asm_mac_ia32 () { | |
23 + local OUT | |
24 + OUT=$(default_asm_mac_ia32_file "$@") | |
25 + perl "$1" macosx "$OUT" > "$OUT" | |
26 +} | |
27 | |
28 # Filter all items in a list that match a given pattern. | |
29 # $1: space-separated list | |
30 @@ -415,6 +427,24 @@ | |
31 gen_asm_x86_64 crypto/rc4/asm/rc4-x86_64.pl | |
32 gen_asm_x86_64 crypto/rc4/asm/rc4-md5-x86_64.pl | |
33 | |
34 + # Generate mac_ia32 asm | |
35 + gen_asm_mac_ia32 crypto/x86cpuid.pl | |
36 + gen_asm_mac_ia32 crypto/aes/asm/aes-586.pl | |
37 + gen_asm_mac_ia32 crypto/aes/asm/vpaes-x86.pl | |
38 + gen_asm_mac_ia32 crypto/aes/asm/aesni-x86.pl | |
39 + gen_asm_mac_ia32 crypto/bn/asm/bn-586.pl | |
40 + gen_asm_mac_ia32 crypto/bn/asm/co-586.pl | |
41 + gen_asm_mac_ia32 crypto/bn/asm/x86-mont.pl | |
42 + gen_asm_mac_ia32 crypto/bn/asm/x86-gf2m.pl | |
43 + gen_asm_mac_ia32 crypto/modes/asm/ghash-x86.pl | |
44 + gen_asm_mac_ia32 crypto/sha/asm/sha1-586.pl | |
45 + gen_asm_mac_ia32 crypto/sha/asm/sha256-586.pl | |
46 + gen_asm_mac_ia32 crypto/sha/asm/sha512-586.pl | |
47 + gen_asm_mac_ia32 crypto/md5/asm/md5-586.pl | |
48 + gen_asm_mac_ia32 crypto/des/asm/des-586.pl | |
49 + gen_asm_mac_ia32 crypto/des/asm/crypt586.pl | |
50 + gen_asm_mac_ia32 crypto/bf/asm/bf-586.pl | |
51 + | |
52 # Setup android.testssl directory | |
53 mkdir android.testssl | |
54 cat test/testssl | \ | |
55 diff -burN android-openssl.orig/openssl.config android-openssl/openssl.config | |
56 --- android-openssl.orig/openssl.config 2014-04-03 13:23:34.989663548 +0200 | |
57 +++ android-openssl/openssl.config 2014-04-03 14:14:40.309705394 +0200 | |
58 @@ -270,6 +270,22 @@ | |
59 OPENSSL_CPUID_OBJ \ | |
60 " | |
61 | |
62 +OPENSSL_CRYPTO_DEFINES_mac_ia32="\ | |
63 +OPENSSL_BN_ASM_GF2m \ | |
64 +OPENSSL_BN_ASM_MONT \ | |
65 +OPENSSL_BN_ASM_PART_WORDS \ | |
66 +AES_ASM \ | |
67 +GHASH_ASM \ | |
68 +SHA1_ASM \ | |
69 +SHA256_ASM \ | |
70 +SHA512_ASM \ | |
71 +MD5_ASM \ | |
72 +DES_PTR \ | |
73 +DES_RISC1 \ | |
74 +DES_UNROLL \ | |
75 +OPENSSL_CPUID_OBJ \ | |
76 +" | |
77 + | |
78 OPENSSL_CRYPTO_INCLUDES="\ | |
79 . \ | |
80 include \ | |
81 @@ -848,6 +864,35 @@ | |
82 crypto/mem_clr.c \ | |
83 " | |
84 | |
85 +OPENSSL_CRYPTO_SOURCES_mac_ia32="\ | |
86 +crypto/aes/asm/aes-586-mac.S \ | |
87 +crypto/aes/asm/aesni-x86-mac.S \ | |
88 +crypto/aes/asm/vpaes-x86-mac.S \ | |
89 +crypto/bf/asm/bf-586-mac.S \ | |
90 +crypto/bn/asm/bn-586-mac.S \ | |
91 +crypto/bn/asm/co-586-mac.S \ | |
92 +crypto/bn/asm/x86-gf2m-mac.S \ | |
93 +crypto/bn/asm/x86-mont-mac.S \ | |
94 +crypto/des/asm/crypt586-mac.S \ | |
95 +crypto/des/asm/des-586-mac.S \ | |
96 +crypto/md5/asm/md5-586-mac.S \ | |
97 +crypto/modes/asm/ghash-x86-mac.S \ | |
98 +crypto/sha/asm/sha1-586-mac.S \ | |
99 +crypto/sha/asm/sha256-586-mac.S \ | |
100 +crypto/sha/asm/sha512-586-mac.S \ | |
101 +crypto/x86cpuid-mac.S \ | |
102 +" | |
103 + | |
104 +OPENSSL_CRYPTO_SOURCES_EXCLUDES_mac_ia32="\ | |
105 +crypto/aes/aes_core.c \ | |
106 +crypto/aes/aes_cbc.c \ | |
107 +crypto/bf/bf_enc.c \ | |
108 +crypto/bn/bn_asm.c \ | |
109 +crypto/des/des_enc.c \ | |
110 +crypto/des/fcrypt_b.c \ | |
111 +crypto/mem_clr.c \ | |
112 +" | |
113 + | |
114 OPENSSL_CRYPTO_SOURCES_x86_64="\ | |
115 crypto/aes/asm/aes-x86_64.S \ | |
116 crypto/aes/asm/aesni-x86_64.S \ | |
117 @@ -1016,6 +1061,7 @@ | |
118 chacha20poly1305.patch \ | |
119 neon_runtime.patch \ | |
120 paddingext.patch \ | |
121 +mac_ia32_assembly.patch \ | |
122 " | |
123 | |
124 OPENSSL_PATCHES_progs_SOURCES="\ | |
125 @@ -1089,3 +1135,22 @@ | |
126 include/openssl/lhash.h | |
127 ssl/ssl_sess.c | |
128 " | |
129 + | |
130 +OPENSSL_PATCHES_mac_ia32_assembly_SOURCES="\ | |
131 +crypto/aes/asm/aes-586-mac.S \ | |
132 +crypto/aes/asm/aesni-x86-mac.S \ | |
133 +crypto/aes/asm/vpaes-x86-mac.S \ | |
134 +crypto/bf/asm/bf-586-mac.S \ | |
135 +crypto/bn/asm/bn-586-mac.S \ | |
136 +crypto/bn/asm/co-586-mac.S \ | |
137 +crypto/bn/asm/x86-gf2m-mac.S \ | |
138 +crypto/bn/asm/x86-mont-mac.S \ | |
139 +crypto/des/asm/crypt586-mac.S \ | |
140 +crypto/des/asm/des-586-mac.S \ | |
141 +crypto/md5/asm/md5-586-mac.S \ | |
142 +crypto/modes/asm/ghash-x86-mac.S \ | |
143 +crypto/sha/asm/sha1-586-mac.S \ | |
144 +crypto/sha/asm/sha256-586-mac.S \ | |
145 +crypto/sha/asm/sha512-586-mac.S \ | |
146 +crypto/x86cpuid-mac.S \ | |
147 +" | |
148 diff -burN android-openssl.orig/patches/mac_ia32_assembly.patch android-openssl/
patches/mac_ia32_assembly.patch | |
149 --- android-openssl.orig/patches/mac_ia32_assembly.patch 1970-01-01 01:00
:00.000000000 +0100 | |
150 +++ android-openssl/patches/mac_ia32_assembly.patch 2014-04-03 14:13:56.5057
04796 +0200 | |
151 @@ -0,0 +1,16865 @@ | |
152 +From dee77b350211c7b5980f03cc67e30ebf616b029e Mon Sep 17 00:00:00 2001 | |
153 +From: =?UTF-8?q?H=C3=A5vard=20Molland?= <haavardm@opera.com> | |
154 +Date: Thu, 3 Apr 2014 10:58:22 +0200 | |
155 +Subject: [PATCH 4/4] Assembly files for OSX-32. | |
156 + | |
157 +Needed for compiling 32 bit OSX with assembly support. | |
158 +--- | |
159 + crypto/aes/asm/aes-586-mac.S | 3200 +++++++++++++++++++++++++++ | |
160 + crypto/aes/asm/aesni-x86-mac.S | 2107 ++++++++++++++++++ | |
161 + crypto/aes/asm/vpaes-x86-mac.S | 635 ++++++ | |
162 + crypto/bf/asm/bf-586-mac.S | 890 ++++++++ | |
163 + crypto/bn/asm/bn-586-mac.S | 1370 ++++++++++++ | |
164 + crypto/bn/asm/co-586-mac.S | 1246 +++++++++++ | |
165 + crypto/bn/asm/x86-gf2m-mac.S | 332 +++ | |
166 + crypto/bn/asm/x86-mont-mac.S | 336 +++ | |
167 + crypto/des/asm/crypt586-mac.S | 880 ++++++++ | |
168 + crypto/des/asm/des-586-mac.S | 1821 +++++++++++++++ | |
169 + crypto/md5/asm/md5-586-mac.S | 677 ++++++ | |
170 + crypto/modes/asm/ghash-x86-mac.S | 718 ++++++ | |
171 + crypto/sha/asm/sha1-586-mac.S | 1378 ++++++++++++ | |
172 + crypto/sha/asm/sha256-586-mac.S | 256 +++ | |
173 + crypto/sha/asm/sha512-586-mac.S | 561 +++++ | |
174 + crypto/x86cpuid-mac.S | 316 +++ | |
175 + import_openssl.sh | 32 +- | |
176 + openssl.config | 29 - | |
177 + 18 files changed, 16724 insertions(+), 60 deletions(-) | |
178 + create mode 100644 crypto/aes/asm/aes-586-mac.S | |
179 + create mode 100644 crypto/aes/asm/aesni-x86-mac.S | |
180 + create mode 100644 crypto/aes/asm/vpaes-x86-mac.S | |
181 + create mode 100644 crypto/bf/asm/bf-586-mac.S | |
182 + create mode 100644 crypto/bn/asm/bn-586-mac.S | |
183 + create mode 100644 crypto/bn/asm/co-586-mac.S | |
184 + create mode 100644 crypto/bn/asm/x86-gf2m-mac.S | |
185 + create mode 100644 crypto/bn/asm/x86-mont-mac.S | |
186 + create mode 100644 crypto/des/asm/crypt586-mac.S | |
187 + create mode 100644 crypto/des/asm/des-586-mac.S | |
188 + create mode 100644 crypto/md5/asm/md5-586-mac.S | |
189 + create mode 100644 crypto/modes/asm/ghash-x86-mac.S | |
190 + create mode 100644 crypto/sha/asm/sha1-586-mac.S | |
191 + create mode 100644 crypto/sha/asm/sha256-586-mac.S | |
192 + create mode 100644 crypto/sha/asm/sha512-586-mac.S | |
193 + create mode 100644 crypto/x86cpuid-mac.S | |
194 + | |
195 +diff --git a/crypto/aes/asm/aes-586-mac.S b/crypto/aes/asm/aes-586-mac.S | |
196 +new file mode 100644 | |
197 +index 0000000..15d5d7b | |
198 +--- /dev/null | |
199 ++++ b/crypto/aes/asm/aes-586-mac.S | |
200 +@@ -0,0 +1,3200 @@ | |
201 ++.file "aes-586.s" | |
202 ++.text | |
203 ++.align 4 | |
204 ++__x86_AES_encrypt_compact: | |
205 ++ movl %edi,20(%esp) | |
206 ++ xorl (%edi),%eax | |
207 ++ xorl 4(%edi),%ebx | |
208 ++ xorl 8(%edi),%ecx | |
209 ++ xorl 12(%edi),%edx | |
210 ++ movl 240(%edi),%esi | |
211 ++ leal -2(%esi,%esi,1),%esi | |
212 ++ leal (%edi,%esi,8),%esi | |
213 ++ movl %esi,24(%esp) | |
214 ++ movl -128(%ebp),%edi | |
215 ++ movl -96(%ebp),%esi | |
216 ++ movl -64(%ebp),%edi | |
217 ++ movl -32(%ebp),%esi | |
218 ++ movl (%ebp),%edi | |
219 ++ movl 32(%ebp),%esi | |
220 ++ movl 64(%ebp),%edi | |
221 ++ movl 96(%ebp),%esi | |
222 ++.align 4,0x90 | |
223 ++L000loop: | |
224 ++ movl %eax,%esi | |
225 ++ andl $255,%esi | |
226 ++ movzbl -128(%ebp,%esi,1),%esi | |
227 ++ movzbl %bh,%edi | |
228 ++ movzbl -128(%ebp,%edi,1),%edi | |
229 ++ shll $8,%edi | |
230 ++ xorl %edi,%esi | |
231 ++ movl %ecx,%edi | |
232 ++ shrl $16,%edi | |
233 ++ andl $255,%edi | |
234 ++ movzbl -128(%ebp,%edi,1),%edi | |
235 ++ shll $16,%edi | |
236 ++ xorl %edi,%esi | |
237 ++ movl %edx,%edi | |
238 ++ shrl $24,%edi | |
239 ++ movzbl -128(%ebp,%edi,1),%edi | |
240 ++ shll $24,%edi | |
241 ++ xorl %edi,%esi | |
242 ++ movl %esi,4(%esp) | |
243 ++ movl %ebx,%esi | |
244 ++ andl $255,%esi | |
245 ++ shrl $16,%ebx | |
246 ++ movzbl -128(%ebp,%esi,1),%esi | |
247 ++ movzbl %ch,%edi | |
248 ++ movzbl -128(%ebp,%edi,1),%edi | |
249 ++ shll $8,%edi | |
250 ++ xorl %edi,%esi | |
251 ++ movl %edx,%edi | |
252 ++ shrl $16,%edi | |
253 ++ andl $255,%edi | |
254 ++ movzbl -128(%ebp,%edi,1),%edi | |
255 ++ shll $16,%edi | |
256 ++ xorl %edi,%esi | |
257 ++ movl %eax,%edi | |
258 ++ shrl $24,%edi | |
259 ++ movzbl -128(%ebp,%edi,1),%edi | |
260 ++ shll $24,%edi | |
261 ++ xorl %edi,%esi | |
262 ++ movl %esi,8(%esp) | |
263 ++ movl %ecx,%esi | |
264 ++ andl $255,%esi | |
265 ++ shrl $24,%ecx | |
266 ++ movzbl -128(%ebp,%esi,1),%esi | |
267 ++ movzbl %dh,%edi | |
268 ++ movzbl -128(%ebp,%edi,1),%edi | |
269 ++ shll $8,%edi | |
270 ++ xorl %edi,%esi | |
271 ++ movl %eax,%edi | |
272 ++ shrl $16,%edi | |
273 ++ andl $255,%edx | |
274 ++ andl $255,%edi | |
275 ++ movzbl -128(%ebp,%edi,1),%edi | |
276 ++ shll $16,%edi | |
277 ++ xorl %edi,%esi | |
278 ++ movzbl %bh,%edi | |
279 ++ movzbl -128(%ebp,%edi,1),%edi | |
280 ++ shll $24,%edi | |
281 ++ xorl %edi,%esi | |
282 ++ andl $255,%edx | |
283 ++ movzbl -128(%ebp,%edx,1),%edx | |
284 ++ movzbl %ah,%eax | |
285 ++ movzbl -128(%ebp,%eax,1),%eax | |
286 ++ shll $8,%eax | |
287 ++ xorl %eax,%edx | |
288 ++ movl 4(%esp),%eax | |
289 ++ andl $255,%ebx | |
290 ++ movzbl -128(%ebp,%ebx,1),%ebx | |
291 ++ shll $16,%ebx | |
292 ++ xorl %ebx,%edx | |
293 ++ movl 8(%esp),%ebx | |
294 ++ movzbl -128(%ebp,%ecx,1),%ecx | |
295 ++ shll $24,%ecx | |
296 ++ xorl %ecx,%edx | |
297 ++ movl %esi,%ecx | |
298 ++ movl %ecx,%esi | |
299 ++ andl $2155905152,%esi | |
300 ++ movl %esi,%ebp | |
301 ++ shrl $7,%ebp | |
302 ++ leal (%ecx,%ecx,1),%edi | |
303 ++ subl %ebp,%esi | |
304 ++ andl $4278124286,%edi | |
305 ++ andl $454761243,%esi | |
306 ++ movl %ecx,%ebp | |
307 ++ xorl %edi,%esi | |
308 ++ xorl %esi,%ecx | |
309 ++ roll $24,%ecx | |
310 ++ xorl %esi,%ecx | |
311 ++ rorl $16,%ebp | |
312 ++ xorl %ebp,%ecx | |
313 ++ rorl $8,%ebp | |
314 ++ xorl %ebp,%ecx | |
315 ++ movl %edx,%esi | |
316 ++ andl $2155905152,%esi | |
317 ++ movl %esi,%ebp | |
318 ++ shrl $7,%ebp | |
319 ++ leal (%edx,%edx,1),%edi | |
320 ++ subl %ebp,%esi | |
321 ++ andl $4278124286,%edi | |
322 ++ andl $454761243,%esi | |
323 ++ movl %edx,%ebp | |
324 ++ xorl %edi,%esi | |
325 ++ xorl %esi,%edx | |
326 ++ roll $24,%edx | |
327 ++ xorl %esi,%edx | |
328 ++ rorl $16,%ebp | |
329 ++ xorl %ebp,%edx | |
330 ++ rorl $8,%ebp | |
331 ++ xorl %ebp,%edx | |
332 ++ movl %eax,%esi | |
333 ++ andl $2155905152,%esi | |
334 ++ movl %esi,%ebp | |
335 ++ shrl $7,%ebp | |
336 ++ leal (%eax,%eax,1),%edi | |
337 ++ subl %ebp,%esi | |
338 ++ andl $4278124286,%edi | |
339 ++ andl $454761243,%esi | |
340 ++ movl %eax,%ebp | |
341 ++ xorl %edi,%esi | |
342 ++ xorl %esi,%eax | |
343 ++ roll $24,%eax | |
344 ++ xorl %esi,%eax | |
345 ++ rorl $16,%ebp | |
346 ++ xorl %ebp,%eax | |
347 ++ rorl $8,%ebp | |
348 ++ xorl %ebp,%eax | |
349 ++ movl %ebx,%esi | |
350 ++ andl $2155905152,%esi | |
351 ++ movl %esi,%ebp | |
352 ++ shrl $7,%ebp | |
353 ++ leal (%ebx,%ebx,1),%edi | |
354 ++ subl %ebp,%esi | |
355 ++ andl $4278124286,%edi | |
356 ++ andl $454761243,%esi | |
357 ++ movl %ebx,%ebp | |
358 ++ xorl %edi,%esi | |
359 ++ xorl %esi,%ebx | |
360 ++ roll $24,%ebx | |
361 ++ xorl %esi,%ebx | |
362 ++ rorl $16,%ebp | |
363 ++ xorl %ebp,%ebx | |
364 ++ rorl $8,%ebp | |
365 ++ xorl %ebp,%ebx | |
366 ++ movl 20(%esp),%edi | |
367 ++ movl 28(%esp),%ebp | |
368 ++ addl $16,%edi | |
369 ++ xorl (%edi),%eax | |
370 ++ xorl 4(%edi),%ebx | |
371 ++ xorl 8(%edi),%ecx | |
372 ++ xorl 12(%edi),%edx | |
373 ++ cmpl 24(%esp),%edi | |
374 ++ movl %edi,20(%esp) | |
375 ++ jb L000loop | |
376 ++ movl %eax,%esi | |
377 ++ andl $255,%esi | |
378 ++ movzbl -128(%ebp,%esi,1),%esi | |
379 ++ movzbl %bh,%edi | |
380 ++ movzbl -128(%ebp,%edi,1),%edi | |
381 ++ shll $8,%edi | |
382 ++ xorl %edi,%esi | |
383 ++ movl %ecx,%edi | |
384 ++ shrl $16,%edi | |
385 ++ andl $255,%edi | |
386 ++ movzbl -128(%ebp,%edi,1),%edi | |
387 ++ shll $16,%edi | |
388 ++ xorl %edi,%esi | |
389 ++ movl %edx,%edi | |
390 ++ shrl $24,%edi | |
391 ++ movzbl -128(%ebp,%edi,1),%edi | |
392 ++ shll $24,%edi | |
393 ++ xorl %edi,%esi | |
394 ++ movl %esi,4(%esp) | |
395 ++ movl %ebx,%esi | |
396 ++ andl $255,%esi | |
397 ++ shrl $16,%ebx | |
398 ++ movzbl -128(%ebp,%esi,1),%esi | |
399 ++ movzbl %ch,%edi | |
400 ++ movzbl -128(%ebp,%edi,1),%edi | |
401 ++ shll $8,%edi | |
402 ++ xorl %edi,%esi | |
403 ++ movl %edx,%edi | |
404 ++ shrl $16,%edi | |
405 ++ andl $255,%edi | |
406 ++ movzbl -128(%ebp,%edi,1),%edi | |
407 ++ shll $16,%edi | |
408 ++ xorl %edi,%esi | |
409 ++ movl %eax,%edi | |
410 ++ shrl $24,%edi | |
411 ++ movzbl -128(%ebp,%edi,1),%edi | |
412 ++ shll $24,%edi | |
413 ++ xorl %edi,%esi | |
414 ++ movl %esi,8(%esp) | |
415 ++ movl %ecx,%esi | |
416 ++ andl $255,%esi | |
417 ++ shrl $24,%ecx | |
418 ++ movzbl -128(%ebp,%esi,1),%esi | |
419 ++ movzbl %dh,%edi | |
420 ++ movzbl -128(%ebp,%edi,1),%edi | |
421 ++ shll $8,%edi | |
422 ++ xorl %edi,%esi | |
423 ++ movl %eax,%edi | |
424 ++ shrl $16,%edi | |
425 ++ andl $255,%edx | |
426 ++ andl $255,%edi | |
427 ++ movzbl -128(%ebp,%edi,1),%edi | |
428 ++ shll $16,%edi | |
429 ++ xorl %edi,%esi | |
430 ++ movzbl %bh,%edi | |
431 ++ movzbl -128(%ebp,%edi,1),%edi | |
432 ++ shll $24,%edi | |
433 ++ xorl %edi,%esi | |
434 ++ movl 20(%esp),%edi | |
435 ++ andl $255,%edx | |
436 ++ movzbl -128(%ebp,%edx,1),%edx | |
437 ++ movzbl %ah,%eax | |
438 ++ movzbl -128(%ebp,%eax,1),%eax | |
439 ++ shll $8,%eax | |
440 ++ xorl %eax,%edx | |
441 ++ movl 4(%esp),%eax | |
442 ++ andl $255,%ebx | |
443 ++ movzbl -128(%ebp,%ebx,1),%ebx | |
444 ++ shll $16,%ebx | |
445 ++ xorl %ebx,%edx | |
446 ++ movl 8(%esp),%ebx | |
447 ++ movzbl -128(%ebp,%ecx,1),%ecx | |
448 ++ shll $24,%ecx | |
449 ++ xorl %ecx,%edx | |
450 ++ movl %esi,%ecx | |
451 ++ xorl 16(%edi),%eax | |
452 ++ xorl 20(%edi),%ebx | |
453 ++ xorl 24(%edi),%ecx | |
454 ++ xorl 28(%edi),%edx | |
455 ++ ret | |
456 ++.align 4 | |
457 ++__sse_AES_encrypt_compact: | |
458 ++ pxor (%edi),%mm0 | |
459 ++ pxor 8(%edi),%mm4 | |
460 ++ movl 240(%edi),%esi | |
461 ++ leal -2(%esi,%esi,1),%esi | |
462 ++ leal (%edi,%esi,8),%esi | |
463 ++ movl %esi,24(%esp) | |
464 ++ movl $454761243,%eax | |
465 ++ movl %eax,8(%esp) | |
466 ++ movl %eax,12(%esp) | |
467 ++ movl -128(%ebp),%eax | |
468 ++ movl -96(%ebp),%ebx | |
469 ++ movl -64(%ebp),%ecx | |
470 ++ movl -32(%ebp),%edx | |
471 ++ movl (%ebp),%eax | |
472 ++ movl 32(%ebp),%ebx | |
473 ++ movl 64(%ebp),%ecx | |
474 ++ movl 96(%ebp),%edx | |
475 ++.align 4,0x90 | |
476 ++L001loop: | |
477 ++ pshufw $8,%mm0,%mm1 | |
478 ++ pshufw $13,%mm4,%mm5 | |
479 ++ movd %mm1,%eax | |
480 ++ movd %mm5,%ebx | |
481 ++ movzbl %al,%esi | |
482 ++ movzbl -128(%ebp,%esi,1),%ecx | |
483 ++ pshufw $13,%mm0,%mm2 | |
484 ++ movzbl %ah,%edx | |
485 ++ movzbl -128(%ebp,%edx,1),%edx | |
486 ++ shll $8,%edx | |
487 ++ shrl $16,%eax | |
488 ++ movzbl %bl,%esi | |
489 ++ movzbl -128(%ebp,%esi,1),%esi | |
490 ++ shll $16,%esi | |
491 ++ orl %esi,%ecx | |
492 ++ pshufw $8,%mm4,%mm6 | |
493 ++ movzbl %bh,%esi | |
494 ++ movzbl -128(%ebp,%esi,1),%esi | |
495 ++ shll $24,%esi | |
496 ++ orl %esi,%edx | |
497 ++ shrl $16,%ebx | |
498 ++ movzbl %ah,%esi | |
499 ++ movzbl -128(%ebp,%esi,1),%esi | |
500 ++ shll $8,%esi | |
501 ++ orl %esi,%ecx | |
502 ++ movzbl %bh,%esi | |
503 ++ movzbl -128(%ebp,%esi,1),%esi | |
504 ++ shll $24,%esi | |
505 ++ orl %esi,%ecx | |
506 ++ movd %ecx,%mm0 | |
507 ++ movzbl %al,%esi | |
508 ++ movzbl -128(%ebp,%esi,1),%ecx | |
509 ++ movd %mm2,%eax | |
510 ++ movzbl %bl,%esi | |
511 ++ movzbl -128(%ebp,%esi,1),%esi | |
512 ++ shll $16,%esi | |
513 ++ orl %esi,%ecx | |
514 ++ movd %mm6,%ebx | |
515 ++ movzbl %ah,%esi | |
516 ++ movzbl -128(%ebp,%esi,1),%esi | |
517 ++ shll $24,%esi | |
518 ++ orl %esi,%ecx | |
519 ++ movzbl %bh,%esi | |
520 ++ movzbl -128(%ebp,%esi,1),%esi | |
521 ++ shll $8,%esi | |
522 ++ orl %esi,%ecx | |
523 ++ movd %ecx,%mm1 | |
524 ++ movzbl %bl,%esi | |
525 ++ movzbl -128(%ebp,%esi,1),%ecx | |
526 ++ shrl $16,%ebx | |
527 ++ movzbl %al,%esi | |
528 ++ movzbl -128(%ebp,%esi,1),%esi | |
529 ++ shll $16,%esi | |
530 ++ orl %esi,%ecx | |
531 ++ shrl $16,%eax | |
532 ++ punpckldq %mm1,%mm0 | |
533 ++ movzbl %ah,%esi | |
534 ++ movzbl -128(%ebp,%esi,1),%esi | |
535 ++ shll $24,%esi | |
536 ++ orl %esi,%ecx | |
537 ++ andl $255,%eax | |
538 ++ movzbl -128(%ebp,%eax,1),%eax | |
539 ++ shll $16,%eax | |
540 ++ orl %eax,%edx | |
541 ++ movzbl %bh,%esi | |
542 ++ movzbl -128(%ebp,%esi,1),%esi | |
543 ++ shll $8,%esi | |
544 ++ orl %esi,%ecx | |
545 ++ movd %ecx,%mm4 | |
546 ++ andl $255,%ebx | |
547 ++ movzbl -128(%ebp,%ebx,1),%ebx | |
548 ++ orl %ebx,%edx | |
549 ++ movd %edx,%mm5 | |
550 ++ punpckldq %mm5,%mm4 | |
551 ++ addl $16,%edi | |
552 ++ cmpl 24(%esp),%edi | |
553 ++ ja L002out | |
554 ++ movq 8(%esp),%mm2 | |
555 ++ pxor %mm3,%mm3 | |
556 ++ pxor %mm7,%mm7 | |
557 ++ movq %mm0,%mm1 | |
558 ++ movq %mm4,%mm5 | |
559 ++ pcmpgtb %mm0,%mm3 | |
560 ++ pcmpgtb %mm4,%mm7 | |
561 ++ pand %mm2,%mm3 | |
562 ++ pand %mm2,%mm7 | |
563 ++ pshufw $177,%mm0,%mm2 | |
564 ++ pshufw $177,%mm4,%mm6 | |
565 ++ paddb %mm0,%mm0 | |
566 ++ paddb %mm4,%mm4 | |
567 ++ pxor %mm3,%mm0 | |
568 ++ pxor %mm7,%mm4 | |
569 ++ pshufw $177,%mm2,%mm3 | |
570 ++ pshufw $177,%mm6,%mm7 | |
571 ++ pxor %mm0,%mm1 | |
572 ++ pxor %mm4,%mm5 | |
573 ++ pxor %mm2,%mm0 | |
574 ++ pxor %mm6,%mm4 | |
575 ++ movq %mm3,%mm2 | |
576 ++ movq %mm7,%mm6 | |
577 ++ pslld $8,%mm3 | |
578 ++ pslld $8,%mm7 | |
579 ++ psrld $24,%mm2 | |
580 ++ psrld $24,%mm6 | |
581 ++ pxor %mm3,%mm0 | |
582 ++ pxor %mm7,%mm4 | |
583 ++ pxor %mm2,%mm0 | |
584 ++ pxor %mm6,%mm4 | |
585 ++ movq %mm1,%mm3 | |
586 ++ movq %mm5,%mm7 | |
587 ++ movq (%edi),%mm2 | |
588 ++ movq 8(%edi),%mm6 | |
589 ++ psrld $8,%mm1 | |
590 ++ psrld $8,%mm5 | |
591 ++ movl -128(%ebp),%eax | |
592 ++ pslld $24,%mm3 | |
593 ++ pslld $24,%mm7 | |
594 ++ movl -64(%ebp),%ebx | |
595 ++ pxor %mm1,%mm0 | |
596 ++ pxor %mm5,%mm4 | |
597 ++ movl (%ebp),%ecx | |
598 ++ pxor %mm3,%mm0 | |
599 ++ pxor %mm7,%mm4 | |
600 ++ movl 64(%ebp),%edx | |
601 ++ pxor %mm2,%mm0 | |
602 ++ pxor %mm6,%mm4 | |
603 ++ jmp L001loop | |
604 ++.align 4,0x90 | |
605 ++L002out: | |
606 ++ pxor (%edi),%mm0 | |
607 ++ pxor 8(%edi),%mm4 | |
608 ++ ret | |
609 ++.align 4 | |
610 ++__x86_AES_encrypt: | |
611 ++ movl %edi,20(%esp) | |
612 ++ xorl (%edi),%eax | |
613 ++ xorl 4(%edi),%ebx | |
614 ++ xorl 8(%edi),%ecx | |
615 ++ xorl 12(%edi),%edx | |
616 ++ movl 240(%edi),%esi | |
617 ++ leal -2(%esi,%esi,1),%esi | |
618 ++ leal (%edi,%esi,8),%esi | |
619 ++ movl %esi,24(%esp) | |
620 ++.align 4,0x90 | |
621 ++L003loop: | |
622 ++ movl %eax,%esi | |
623 ++ andl $255,%esi | |
624 ++ movl (%ebp,%esi,8),%esi | |
625 ++ movzbl %bh,%edi | |
626 ++ xorl 3(%ebp,%edi,8),%esi | |
627 ++ movl %ecx,%edi | |
628 ++ shrl $16,%edi | |
629 ++ andl $255,%edi | |
630 ++ xorl 2(%ebp,%edi,8),%esi | |
631 ++ movl %edx,%edi | |
632 ++ shrl $24,%edi | |
633 ++ xorl 1(%ebp,%edi,8),%esi | |
634 ++ movl %esi,4(%esp) | |
635 ++ movl %ebx,%esi | |
636 ++ andl $255,%esi | |
637 ++ shrl $16,%ebx | |
638 ++ movl (%ebp,%esi,8),%esi | |
639 ++ movzbl %ch,%edi | |
640 ++ xorl 3(%ebp,%edi,8),%esi | |
641 ++ movl %edx,%edi | |
642 ++ shrl $16,%edi | |
643 ++ andl $255,%edi | |
644 ++ xorl 2(%ebp,%edi,8),%esi | |
645 ++ movl %eax,%edi | |
646 ++ shrl $24,%edi | |
647 ++ xorl 1(%ebp,%edi,8),%esi | |
648 ++ movl %esi,8(%esp) | |
649 ++ movl %ecx,%esi | |
650 ++ andl $255,%esi | |
651 ++ shrl $24,%ecx | |
652 ++ movl (%ebp,%esi,8),%esi | |
653 ++ movzbl %dh,%edi | |
654 ++ xorl 3(%ebp,%edi,8),%esi | |
655 ++ movl %eax,%edi | |
656 ++ shrl $16,%edi | |
657 ++ andl $255,%edx | |
658 ++ andl $255,%edi | |
659 ++ xorl 2(%ebp,%edi,8),%esi | |
660 ++ movzbl %bh,%edi | |
661 ++ xorl 1(%ebp,%edi,8),%esi | |
662 ++ movl 20(%esp),%edi | |
663 ++ movl (%ebp,%edx,8),%edx | |
664 ++ movzbl %ah,%eax | |
665 ++ xorl 3(%ebp,%eax,8),%edx | |
666 ++ movl 4(%esp),%eax | |
667 ++ andl $255,%ebx | |
668 ++ xorl 2(%ebp,%ebx,8),%edx | |
669 ++ movl 8(%esp),%ebx | |
670 ++ xorl 1(%ebp,%ecx,8),%edx | |
671 ++ movl %esi,%ecx | |
672 ++ addl $16,%edi | |
673 ++ xorl (%edi),%eax | |
674 ++ xorl 4(%edi),%ebx | |
675 ++ xorl 8(%edi),%ecx | |
676 ++ xorl 12(%edi),%edx | |
677 ++ cmpl 24(%esp),%edi | |
678 ++ movl %edi,20(%esp) | |
679 ++ jb L003loop | |
680 ++ movl %eax,%esi | |
681 ++ andl $255,%esi | |
682 ++ movl 2(%ebp,%esi,8),%esi | |
683 ++ andl $255,%esi | |
684 ++ movzbl %bh,%edi | |
685 ++ movl (%ebp,%edi,8),%edi | |
686 ++ andl $65280,%edi | |
687 ++ xorl %edi,%esi | |
688 ++ movl %ecx,%edi | |
689 ++ shrl $16,%edi | |
690 ++ andl $255,%edi | |
691 ++ movl (%ebp,%edi,8),%edi | |
692 ++ andl $16711680,%edi | |
693 ++ xorl %edi,%esi | |
694 ++ movl %edx,%edi | |
695 ++ shrl $24,%edi | |
696 ++ movl 2(%ebp,%edi,8),%edi | |
697 ++ andl $4278190080,%edi | |
698 ++ xorl %edi,%esi | |
699 ++ movl %esi,4(%esp) | |
700 ++ movl %ebx,%esi | |
701 ++ andl $255,%esi | |
702 ++ shrl $16,%ebx | |
703 ++ movl 2(%ebp,%esi,8),%esi | |
704 ++ andl $255,%esi | |
705 ++ movzbl %ch,%edi | |
706 ++ movl (%ebp,%edi,8),%edi | |
707 ++ andl $65280,%edi | |
708 ++ xorl %edi,%esi | |
709 ++ movl %edx,%edi | |
710 ++ shrl $16,%edi | |
711 ++ andl $255,%edi | |
712 ++ movl (%ebp,%edi,8),%edi | |
713 ++ andl $16711680,%edi | |
714 ++ xorl %edi,%esi | |
715 ++ movl %eax,%edi | |
716 ++ shrl $24,%edi | |
717 ++ movl 2(%ebp,%edi,8),%edi | |
718 ++ andl $4278190080,%edi | |
719 ++ xorl %edi,%esi | |
720 ++ movl %esi,8(%esp) | |
721 ++ movl %ecx,%esi | |
722 ++ andl $255,%esi | |
723 ++ shrl $24,%ecx | |
724 ++ movl 2(%ebp,%esi,8),%esi | |
725 ++ andl $255,%esi | |
726 ++ movzbl %dh,%edi | |
727 ++ movl (%ebp,%edi,8),%edi | |
728 ++ andl $65280,%edi | |
729 ++ xorl %edi,%esi | |
730 ++ movl %eax,%edi | |
731 ++ shrl $16,%edi | |
732 ++ andl $255,%edx | |
733 ++ andl $255,%edi | |
734 ++ movl (%ebp,%edi,8),%edi | |
735 ++ andl $16711680,%edi | |
736 ++ xorl %edi,%esi | |
737 ++ movzbl %bh,%edi | |
738 ++ movl 2(%ebp,%edi,8),%edi | |
739 ++ andl $4278190080,%edi | |
740 ++ xorl %edi,%esi | |
741 ++ movl 20(%esp),%edi | |
742 ++ andl $255,%edx | |
743 ++ movl 2(%ebp,%edx,8),%edx | |
744 ++ andl $255,%edx | |
745 ++ movzbl %ah,%eax | |
746 ++ movl (%ebp,%eax,8),%eax | |
747 ++ andl $65280,%eax | |
748 ++ xorl %eax,%edx | |
749 ++ movl 4(%esp),%eax | |
750 ++ andl $255,%ebx | |
751 ++ movl (%ebp,%ebx,8),%ebx | |
752 ++ andl $16711680,%ebx | |
753 ++ xorl %ebx,%edx | |
754 ++ movl 8(%esp),%ebx | |
755 ++ movl 2(%ebp,%ecx,8),%ecx | |
756 ++ andl $4278190080,%ecx | |
757 ++ xorl %ecx,%edx | |
758 ++ movl %esi,%ecx | |
759 ++ addl $16,%edi | |
760 ++ xorl (%edi),%eax | |
761 ++ xorl 4(%edi),%ebx | |
762 ++ xorl 8(%edi),%ecx | |
763 ++ xorl 12(%edi),%edx | |
764 ++ ret | |
765 ++.align 6,0x90 | |
766 ++LAES_Te: | |
767 ++.long 2774754246,2774754246 | |
768 ++.long 2222750968,2222750968 | |
769 ++.long 2574743534,2574743534 | |
770 ++.long 2373680118,2373680118 | |
771 ++.long 234025727,234025727 | |
772 ++.long 3177933782,3177933782 | |
773 ++.long 2976870366,2976870366 | |
774 ++.long 1422247313,1422247313 | |
775 ++.long 1345335392,1345335392 | |
776 ++.long 50397442,50397442 | |
777 ++.long 2842126286,2842126286 | |
778 ++.long 2099981142,2099981142 | |
779 ++.long 436141799,436141799 | |
780 ++.long 1658312629,1658312629 | |
781 ++.long 3870010189,3870010189 | |
782 ++.long 2591454956,2591454956 | |
783 ++.long 1170918031,1170918031 | |
784 ++.long 2642575903,2642575903 | |
785 ++.long 1086966153,1086966153 | |
786 ++.long 2273148410,2273148410 | |
787 ++.long 368769775,368769775 | |
788 ++.long 3948501426,3948501426 | |
789 ++.long 3376891790,3376891790 | |
790 ++.long 200339707,200339707 | |
791 ++.long 3970805057,3970805057 | |
792 ++.long 1742001331,1742001331 | |
793 ++.long 4255294047,4255294047 | |
794 ++.long 3937382213,3937382213 | |
795 ++.long 3214711843,3214711843 | |
796 ++.long 4154762323,4154762323 | |
797 ++.long 2524082916,2524082916 | |
798 ++.long 1539358875,1539358875 | |
799 ++.long 3266819957,3266819957 | |
800 ++.long 486407649,486407649 | |
801 ++.long 2928907069,2928907069 | |
802 ++.long 1780885068,1780885068 | |
803 ++.long 1513502316,1513502316 | |
804 ++.long 1094664062,1094664062 | |
805 ++.long 49805301,49805301 | |
806 ++.long 1338821763,1338821763 | |
807 ++.long 1546925160,1546925160 | |
808 ++.long 4104496465,4104496465 | |
809 ++.long 887481809,887481809 | |
810 ++.long 150073849,150073849 | |
811 ++.long 2473685474,2473685474 | |
812 ++.long 1943591083,1943591083 | |
813 ++.long 1395732834,1395732834 | |
814 ++.long 1058346282,1058346282 | |
815 ++.long 201589768,201589768 | |
816 ++.long 1388824469,1388824469 | |
817 ++.long 1696801606,1696801606 | |
818 ++.long 1589887901,1589887901 | |
819 ++.long 672667696,672667696 | |
820 ++.long 2711000631,2711000631 | |
821 ++.long 251987210,251987210 | |
822 ++.long 3046808111,3046808111 | |
823 ++.long 151455502,151455502 | |
824 ++.long 907153956,907153956 | |
825 ++.long 2608889883,2608889883 | |
826 ++.long 1038279391,1038279391 | |
827 ++.long 652995533,652995533 | |
828 ++.long 1764173646,1764173646 | |
829 ++.long 3451040383,3451040383 | |
830 ++.long 2675275242,2675275242 | |
831 ++.long 453576978,453576978 | |
832 ++.long 2659418909,2659418909 | |
833 ++.long 1949051992,1949051992 | |
834 ++.long 773462580,773462580 | |
835 ++.long 756751158,756751158 | |
836 ++.long 2993581788,2993581788 | |
837 ++.long 3998898868,3998898868 | |
838 ++.long 4221608027,4221608027 | |
839 ++.long 4132590244,4132590244 | |
840 ++.long 1295727478,1295727478 | |
841 ++.long 1641469623,1641469623 | |
842 ++.long 3467883389,3467883389 | |
843 ++.long 2066295122,2066295122 | |
844 ++.long 1055122397,1055122397 | |
845 ++.long 1898917726,1898917726 | |
846 ++.long 2542044179,2542044179 | |
847 ++.long 4115878822,4115878822 | |
848 ++.long 1758581177,1758581177 | |
849 ++.long 0,0 | |
850 ++.long 753790401,753790401 | |
851 ++.long 1612718144,1612718144 | |
852 ++.long 536673507,536673507 | |
853 ++.long 3367088505,3367088505 | |
854 ++.long 3982187446,3982187446 | |
855 ++.long 3194645204,3194645204 | |
856 ++.long 1187761037,1187761037 | |
857 ++.long 3653156455,3653156455 | |
858 ++.long 1262041458,1262041458 | |
859 ++.long 3729410708,3729410708 | |
860 ++.long 3561770136,3561770136 | |
861 ++.long 3898103984,3898103984 | |
862 ++.long 1255133061,1255133061 | |
863 ++.long 1808847035,1808847035 | |
864 ++.long 720367557,720367557 | |
865 ++.long 3853167183,3853167183 | |
866 ++.long 385612781,385612781 | |
867 ++.long 3309519750,3309519750 | |
868 ++.long 3612167578,3612167578 | |
869 ++.long 1429418854,1429418854 | |
870 ++.long 2491778321,2491778321 | |
871 ++.long 3477423498,3477423498 | |
872 ++.long 284817897,284817897 | |
873 ++.long 100794884,100794884 | |
874 ++.long 2172616702,2172616702 | |
875 ++.long 4031795360,4031795360 | |
876 ++.long 1144798328,1144798328 | |
877 ++.long 3131023141,3131023141 | |
878 ++.long 3819481163,3819481163 | |
879 ++.long 4082192802,4082192802 | |
880 ++.long 4272137053,4272137053 | |
881 ++.long 3225436288,3225436288 | |
882 ++.long 2324664069,2324664069 | |
883 ++.long 2912064063,2912064063 | |
884 ++.long 3164445985,3164445985 | |
885 ++.long 1211644016,1211644016 | |
886 ++.long 83228145,83228145 | |
887 ++.long 3753688163,3753688163 | |
888 ++.long 3249976951,3249976951 | |
889 ++.long 1977277103,1977277103 | |
890 ++.long 1663115586,1663115586 | |
891 ++.long 806359072,806359072 | |
892 ++.long 452984805,452984805 | |
893 ++.long 250868733,250868733 | |
894 ++.long 1842533055,1842533055 | |
895 ++.long 1288555905,1288555905 | |
896 ++.long 336333848,336333848 | |
897 ++.long 890442534,890442534 | |
898 ++.long 804056259,804056259 | |
899 ++.long 3781124030,3781124030 | |
900 ++.long 2727843637,2727843637 | |
901 ++.long 3427026056,3427026056 | |
902 ++.long 957814574,957814574 | |
903 ++.long 1472513171,1472513171 | |
904 ++.long 4071073621,4071073621 | |
905 ++.long 2189328124,2189328124 | |
906 ++.long 1195195770,1195195770 | |
907 ++.long 2892260552,2892260552 | |
908 ++.long 3881655738,3881655738 | |
909 ++.long 723065138,723065138 | |
910 ++.long 2507371494,2507371494 | |
911 ++.long 2690670784,2690670784 | |
912 ++.long 2558624025,2558624025 | |
913 ++.long 3511635870,3511635870 | |
914 ++.long 2145180835,2145180835 | |
915 ++.long 1713513028,1713513028 | |
916 ++.long 2116692564,2116692564 | |
917 ++.long 2878378043,2878378043 | |
918 ++.long 2206763019,2206763019 | |
919 ++.long 3393603212,3393603212 | |
920 ++.long 703524551,703524551 | |
921 ++.long 3552098411,3552098411 | |
922 ++.long 1007948840,1007948840 | |
923 ++.long 2044649127,2044649127 | |
924 ++.long 3797835452,3797835452 | |
925 ++.long 487262998,487262998 | |
926 ++.long 1994120109,1994120109 | |
927 ++.long 1004593371,1004593371 | |
928 ++.long 1446130276,1446130276 | |
929 ++.long 1312438900,1312438900 | |
930 ++.long 503974420,503974420 | |
931 ++.long 3679013266,3679013266 | |
932 ++.long 168166924,168166924 | |
933 ++.long 1814307912,1814307912 | |
934 ++.long 3831258296,3831258296 | |
935 ++.long 1573044895,1573044895 | |
936 ++.long 1859376061,1859376061 | |
937 ++.long 4021070915,4021070915 | |
938 ++.long 2791465668,2791465668 | |
939 ++.long 2828112185,2828112185 | |
940 ++.long 2761266481,2761266481 | |
941 ++.long 937747667,937747667 | |
942 ++.long 2339994098,2339994098 | |
943 ++.long 854058965,854058965 | |
944 ++.long 1137232011,1137232011 | |
945 ++.long 1496790894,1496790894 | |
946 ++.long 3077402074,3077402074 | |
947 ++.long 2358086913,2358086913 | |
948 ++.long 1691735473,1691735473 | |
949 ++.long 3528347292,3528347292 | |
950 ++.long 3769215305,3769215305 | |
951 ++.long 3027004632,3027004632 | |
952 ++.long 4199962284,4199962284 | |
953 ++.long 133494003,133494003 | |
954 ++.long 636152527,636152527 | |
955 ++.long 2942657994,2942657994 | |
956 ++.long 2390391540,2390391540 | |
957 ++.long 3920539207,3920539207 | |
958 ++.long 403179536,403179536 | |
959 ++.long 3585784431,3585784431 | |
960 ++.long 2289596656,2289596656 | |
961 ++.long 1864705354,1864705354 | |
962 ++.long 1915629148,1915629148 | |
963 ++.long 605822008,605822008 | |
964 ++.long 4054230615,4054230615 | |
965 ++.long 3350508659,3350508659 | |
966 ++.long 1371981463,1371981463 | |
967 ++.long 602466507,602466507 | |
968 ++.long 2094914977,2094914977 | |
969 ++.long 2624877800,2624877800 | |
970 ++.long 555687742,555687742 | |
971 ++.long 3712699286,3712699286 | |
972 ++.long 3703422305,3703422305 | |
973 ++.long 2257292045,2257292045 | |
974 ++.long 2240449039,2240449039 | |
975 ++.long 2423288032,2423288032 | |
976 ++.long 1111375484,1111375484 | |
977 ++.long 3300242801,3300242801 | |
978 ++.long 2858837708,2858837708 | |
979 ++.long 3628615824,3628615824 | |
980 ++.long 84083462,84083462 | |
981 ++.long 32962295,32962295 | |
982 ++.long 302911004,302911004 | |
983 ++.long 2741068226,2741068226 | |
984 ++.long 1597322602,1597322602 | |
985 ++.long 4183250862,4183250862 | |
986 ++.long 3501832553,3501832553 | |
987 ++.long 2441512471,2441512471 | |
988 ++.long 1489093017,1489093017 | |
989 ++.long 656219450,656219450 | |
990 ++.long 3114180135,3114180135 | |
991 ++.long 954327513,954327513 | |
992 ++.long 335083755,335083755 | |
993 ++.long 3013122091,3013122091 | |
994 ++.long 856756514,856756514 | |
995 ++.long 3144247762,3144247762 | |
996 ++.long 1893325225,1893325225 | |
997 ++.long 2307821063,2307821063 | |
998 ++.long 2811532339,2811532339 | |
999 ++.long 3063651117,3063651117 | |
1000 ++.long 572399164,572399164 | |
1001 ++.long 2458355477,2458355477 | |
1002 ++.long 552200649,552200649 | |
1003 ++.long 1238290055,1238290055 | |
1004 ++.long 4283782570,4283782570 | |
1005 ++.long 2015897680,2015897680 | |
1006 ++.long 2061492133,2061492133 | |
1007 ++.long 2408352771,2408352771 | |
1008 ++.long 4171342169,4171342169 | |
1009 ++.long 2156497161,2156497161 | |
1010 ++.long 386731290,386731290 | |
1011 ++.long 3669999461,3669999461 | |
1012 ++.long 837215959,837215959 | |
1013 ++.long 3326231172,3326231172 | |
1014 ++.long 3093850320,3093850320 | |
1015 ++.long 3275833730,3275833730 | |
1016 ++.long 2962856233,2962856233 | |
1017 ++.long 1999449434,1999449434 | |
1018 ++.long 286199582,286199582 | |
1019 ++.long 3417354363,3417354363 | |
1020 ++.long 4233385128,4233385128 | |
1021 ++.long 3602627437,3602627437 | |
1022 ++.long 974525996,974525996 | |
1023 ++.byte 99,124,119,123,242,107,111,197 | |
1024 ++.byte 48,1,103,43,254,215,171,118 | |
1025 ++.byte 202,130,201,125,250,89,71,240 | |
1026 ++.byte 173,212,162,175,156,164,114,192 | |
1027 ++.byte 183,253,147,38,54,63,247,204 | |
1028 ++.byte 52,165,229,241,113,216,49,21 | |
1029 ++.byte 4,199,35,195,24,150,5,154 | |
1030 ++.byte 7,18,128,226,235,39,178,117 | |
1031 ++.byte 9,131,44,26,27,110,90,160 | |
1032 ++.byte 82,59,214,179,41,227,47,132 | |
1033 ++.byte 83,209,0,237,32,252,177,91 | |
1034 ++.byte 106,203,190,57,74,76,88,207 | |
1035 ++.byte 208,239,170,251,67,77,51,133 | |
1036 ++.byte 69,249,2,127,80,60,159,168 | |
1037 ++.byte 81,163,64,143,146,157,56,245 | |
1038 ++.byte 188,182,218,33,16,255,243,210 | |
1039 ++.byte 205,12,19,236,95,151,68,23 | |
1040 ++.byte 196,167,126,61,100,93,25,115 | |
1041 ++.byte 96,129,79,220,34,42,144,136 | |
1042 ++.byte 70,238,184,20,222,94,11,219 | |
1043 ++.byte 224,50,58,10,73,6,36,92 | |
1044 ++.byte 194,211,172,98,145,149,228,121 | |
1045 ++.byte 231,200,55,109,141,213,78,169 | |
1046 ++.byte 108,86,244,234,101,122,174,8 | |
1047 ++.byte 186,120,37,46,28,166,180,198 | |
1048 ++.byte 232,221,116,31,75,189,139,138 | |
1049 ++.byte 112,62,181,102,72,3,246,14 | |
1050 ++.byte 97,53,87,185,134,193,29,158 | |
1051 ++.byte 225,248,152,17,105,217,142,148 | |
1052 ++.byte 155,30,135,233,206,85,40,223 | |
1053 ++.byte 140,161,137,13,191,230,66,104 | |
1054 ++.byte 65,153,45,15,176,84,187,22 | |
1055 ++.byte 99,124,119,123,242,107,111,197 | |
1056 ++.byte 48,1,103,43,254,215,171,118 | |
1057 ++.byte 202,130,201,125,250,89,71,240 | |
1058 ++.byte 173,212,162,175,156,164,114,192 | |
1059 ++.byte 183,253,147,38,54,63,247,204 | |
1060 ++.byte 52,165,229,241,113,216,49,21 | |
1061 ++.byte 4,199,35,195,24,150,5,154 | |
1062 ++.byte 7,18,128,226,235,39,178,117 | |
1063 ++.byte 9,131,44,26,27,110,90,160 | |
1064 ++.byte 82,59,214,179,41,227,47,132 | |
1065 ++.byte 83,209,0,237,32,252,177,91 | |
1066 ++.byte 106,203,190,57,74,76,88,207 | |
1067 ++.byte 208,239,170,251,67,77,51,133 | |
1068 ++.byte 69,249,2,127,80,60,159,168 | |
1069 ++.byte 81,163,64,143,146,157,56,245 | |
1070 ++.byte 188,182,218,33,16,255,243,210 | |
1071 ++.byte 205,12,19,236,95,151,68,23 | |
1072 ++.byte 196,167,126,61,100,93,25,115 | |
1073 ++.byte 96,129,79,220,34,42,144,136 | |
1074 ++.byte 70,238,184,20,222,94,11,219 | |
1075 ++.byte 224,50,58,10,73,6,36,92 | |
1076 ++.byte 194,211,172,98,145,149,228,121 | |
1077 ++.byte 231,200,55,109,141,213,78,169 | |
1078 ++.byte 108,86,244,234,101,122,174,8 | |
1079 ++.byte 186,120,37,46,28,166,180,198 | |
1080 ++.byte 232,221,116,31,75,189,139,138 | |
1081 ++.byte 112,62,181,102,72,3,246,14 | |
1082 ++.byte 97,53,87,185,134,193,29,158 | |
1083 ++.byte 225,248,152,17,105,217,142,148 | |
1084 ++.byte 155,30,135,233,206,85,40,223 | |
1085 ++.byte 140,161,137,13,191,230,66,104 | |
1086 ++.byte 65,153,45,15,176,84,187,22 | |
1087 ++.byte 99,124,119,123,242,107,111,197 | |
1088 ++.byte 48,1,103,43,254,215,171,118 | |
1089 ++.byte 202,130,201,125,250,89,71,240 | |
1090 ++.byte 173,212,162,175,156,164,114,192 | |
1091 ++.byte 183,253,147,38,54,63,247,204 | |
1092 ++.byte 52,165,229,241,113,216,49,21 | |
1093 ++.byte 4,199,35,195,24,150,5,154 | |
1094 ++.byte 7,18,128,226,235,39,178,117 | |
1095 ++.byte 9,131,44,26,27,110,90,160 | |
1096 ++.byte 82,59,214,179,41,227,47,132 | |
1097 ++.byte 83,209,0,237,32,252,177,91 | |
1098 ++.byte 106,203,190,57,74,76,88,207 | |
1099 ++.byte 208,239,170,251,67,77,51,133 | |
1100 ++.byte 69,249,2,127,80,60,159,168 | |
1101 ++.byte 81,163,64,143,146,157,56,245 | |
1102 ++.byte 188,182,218,33,16,255,243,210 | |
1103 ++.byte 205,12,19,236,95,151,68,23 | |
1104 ++.byte 196,167,126,61,100,93,25,115 | |
1105 ++.byte 96,129,79,220,34,42,144,136 | |
1106 ++.byte 70,238,184,20,222,94,11,219 | |
1107 ++.byte 224,50,58,10,73,6,36,92 | |
1108 ++.byte 194,211,172,98,145,149,228,121 | |
1109 ++.byte 231,200,55,109,141,213,78,169 | |
1110 ++.byte 108,86,244,234,101,122,174,8 | |
1111 ++.byte 186,120,37,46,28,166,180,198 | |
1112 ++.byte 232,221,116,31,75,189,139,138 | |
1113 ++.byte 112,62,181,102,72,3,246,14 | |
1114 ++.byte 97,53,87,185,134,193,29,158 | |
1115 ++.byte 225,248,152,17,105,217,142,148 | |
1116 ++.byte 155,30,135,233,206,85,40,223 | |
1117 ++.byte 140,161,137,13,191,230,66,104 | |
1118 ++.byte 65,153,45,15,176,84,187,22 | |
1119 ++.byte 99,124,119,123,242,107,111,197 | |
1120 ++.byte 48,1,103,43,254,215,171,118 | |
1121 ++.byte 202,130,201,125,250,89,71,240 | |
1122 ++.byte 173,212,162,175,156,164,114,192 | |
1123 ++.byte 183,253,147,38,54,63,247,204 | |
1124 ++.byte 52,165,229,241,113,216,49,21 | |
1125 ++.byte 4,199,35,195,24,150,5,154 | |
1126 ++.byte 7,18,128,226,235,39,178,117 | |
1127 ++.byte 9,131,44,26,27,110,90,160 | |
1128 ++.byte 82,59,214,179,41,227,47,132 | |
1129 ++.byte 83,209,0,237,32,252,177,91 | |
1130 ++.byte 106,203,190,57,74,76,88,207 | |
1131 ++.byte 208,239,170,251,67,77,51,133 | |
1132 ++.byte 69,249,2,127,80,60,159,168 | |
1133 ++.byte 81,163,64,143,146,157,56,245 | |
1134 ++.byte 188,182,218,33,16,255,243,210 | |
1135 ++.byte 205,12,19,236,95,151,68,23 | |
1136 ++.byte 196,167,126,61,100,93,25,115 | |
1137 ++.byte 96,129,79,220,34,42,144,136 | |
1138 ++.byte 70,238,184,20,222,94,11,219 | |
1139 ++.byte 224,50,58,10,73,6,36,92 | |
1140 ++.byte 194,211,172,98,145,149,228,121 | |
1141 ++.byte 231,200,55,109,141,213,78,169 | |
1142 ++.byte 108,86,244,234,101,122,174,8 | |
1143 ++.byte 186,120,37,46,28,166,180,198 | |
1144 ++.byte 232,221,116,31,75,189,139,138 | |
1145 ++.byte 112,62,181,102,72,3,246,14 | |
1146 ++.byte 97,53,87,185,134,193,29,158 | |
1147 ++.byte 225,248,152,17,105,217,142,148 | |
1148 ++.byte 155,30,135,233,206,85,40,223 | |
1149 ++.byte 140,161,137,13,191,230,66,104 | |
1150 ++.byte 65,153,45,15,176,84,187,22 | |
1151 ++.long 1,2,4,8 | |
1152 ++.long 16,32,64,128 | |
1153 ++.long 27,54,0,0 | |
1154 ++.long 0,0,0,0 | |
1155 ++.globl _AES_encrypt | |
1156 ++.align 4 | |
1157 ++_AES_encrypt: | |
1158 ++L_AES_encrypt_begin: | |
1159 ++ pushl %ebp | |
1160 ++ pushl %ebx | |
1161 ++ pushl %esi | |
1162 ++ pushl %edi | |
1163 ++ movl 20(%esp),%esi | |
1164 ++ movl 28(%esp),%edi | |
1165 ++ movl %esp,%eax | |
1166 ++ subl $36,%esp | |
1167 ++ andl $-64,%esp | |
1168 ++ leal -127(%edi),%ebx | |
1169 ++ subl %esp,%ebx | |
1170 ++ negl %ebx | |
1171 ++ andl $960,%ebx | |
1172 ++ subl %ebx,%esp | |
1173 ++ addl $4,%esp | |
1174 ++ movl %eax,28(%esp) | |
1175 ++ call L004pic_point | |
1176 ++L004pic_point: | |
1177 ++ popl %ebp | |
1178 ++ movl L_OPENSSL_ia32cap_P$non_lazy_ptr-L004pic_point(%ebp),%eax | |
1179 ++ leal LAES_Te-L004pic_point(%ebp),%ebp | |
1180 ++ leal 764(%esp),%ebx | |
1181 ++ subl %ebp,%ebx | |
1182 ++ andl $768,%ebx | |
1183 ++ leal 2176(%ebp,%ebx,1),%ebp | |
1184 ++ btl $25,(%eax) | |
1185 ++ jnc L005x86 | |
1186 ++ movq (%esi),%mm0 | |
1187 ++ movq 8(%esi),%mm4 | |
1188 ++ call __sse_AES_encrypt_compact | |
1189 ++ movl 28(%esp),%esp | |
1190 ++ movl 24(%esp),%esi | |
1191 ++ movq %mm0,(%esi) | |
1192 ++ movq %mm4,8(%esi) | |
1193 ++ emms | |
1194 ++ popl %edi | |
1195 ++ popl %esi | |
1196 ++ popl %ebx | |
1197 ++ popl %ebp | |
1198 ++ ret | |
1199 ++.align 4,0x90 | |
1200 ++L005x86: | |
1201 ++ movl %ebp,24(%esp) | |
1202 ++ movl (%esi),%eax | |
1203 ++ movl 4(%esi),%ebx | |
1204 ++ movl 8(%esi),%ecx | |
1205 ++ movl 12(%esi),%edx | |
1206 ++ call __x86_AES_encrypt_compact | |
1207 ++ movl 28(%esp),%esp | |
1208 ++ movl 24(%esp),%esi | |
1209 ++ movl %eax,(%esi) | |
1210 ++ movl %ebx,4(%esi) | |
1211 ++ movl %ecx,8(%esi) | |
1212 ++ movl %edx,12(%esi) | |
1213 ++ popl %edi | |
1214 ++ popl %esi | |
1215 ++ popl %ebx | |
1216 ++ popl %ebp | |
1217 ++ ret | |
1218 ++.align 4 | |
1219 ++__x86_AES_decrypt_compact: | |
1220 ++ movl %edi,20(%esp) | |
1221 ++ xorl (%edi),%eax | |
1222 ++ xorl 4(%edi),%ebx | |
1223 ++ xorl 8(%edi),%ecx | |
1224 ++ xorl 12(%edi),%edx | |
1225 ++ movl 240(%edi),%esi | |
1226 ++ leal -2(%esi,%esi,1),%esi | |
1227 ++ leal (%edi,%esi,8),%esi | |
1228 ++ movl %esi,24(%esp) | |
1229 ++ movl -128(%ebp),%edi | |
1230 ++ movl -96(%ebp),%esi | |
1231 ++ movl -64(%ebp),%edi | |
1232 ++ movl -32(%ebp),%esi | |
1233 ++ movl (%ebp),%edi | |
1234 ++ movl 32(%ebp),%esi | |
1235 ++ movl 64(%ebp),%edi | |
1236 ++ movl 96(%ebp),%esi | |
1237 ++.align 4,0x90 | |
1238 ++L006loop: | |
1239 ++ movl %eax,%esi | |
1240 ++ andl $255,%esi | |
1241 ++ movzbl -128(%ebp,%esi,1),%esi | |
1242 ++ movzbl %dh,%edi | |
1243 ++ movzbl -128(%ebp,%edi,1),%edi | |
1244 ++ shll $8,%edi | |
1245 ++ xorl %edi,%esi | |
1246 ++ movl %ecx,%edi | |
1247 ++ shrl $16,%edi | |
1248 ++ andl $255,%edi | |
1249 ++ movzbl -128(%ebp,%edi,1),%edi | |
1250 ++ shll $16,%edi | |
1251 ++ xorl %edi,%esi | |
1252 ++ movl %ebx,%edi | |
1253 ++ shrl $24,%edi | |
1254 ++ movzbl -128(%ebp,%edi,1),%edi | |
1255 ++ shll $24,%edi | |
1256 ++ xorl %edi,%esi | |
1257 ++ movl %esi,4(%esp) | |
1258 ++ movl %ebx,%esi | |
1259 ++ andl $255,%esi | |
1260 ++ movzbl -128(%ebp,%esi,1),%esi | |
1261 ++ movzbl %ah,%edi | |
1262 ++ movzbl -128(%ebp,%edi,1),%edi | |
1263 ++ shll $8,%edi | |
1264 ++ xorl %edi,%esi | |
1265 ++ movl %edx,%edi | |
1266 ++ shrl $16,%edi | |
1267 ++ andl $255,%edi | |
1268 ++ movzbl -128(%ebp,%edi,1),%edi | |
1269 ++ shll $16,%edi | |
1270 ++ xorl %edi,%esi | |
1271 ++ movl %ecx,%edi | |
1272 ++ shrl $24,%edi | |
1273 ++ movzbl -128(%ebp,%edi,1),%edi | |
1274 ++ shll $24,%edi | |
1275 ++ xorl %edi,%esi | |
1276 ++ movl %esi,8(%esp) | |
1277 ++ movl %ecx,%esi | |
1278 ++ andl $255,%esi | |
1279 ++ movzbl -128(%ebp,%esi,1),%esi | |
1280 ++ movzbl %bh,%edi | |
1281 ++ movzbl -128(%ebp,%edi,1),%edi | |
1282 ++ shll $8,%edi | |
1283 ++ xorl %edi,%esi | |
1284 ++ movl %eax,%edi | |
1285 ++ shrl $16,%edi | |
1286 ++ andl $255,%edi | |
1287 ++ movzbl -128(%ebp,%edi,1),%edi | |
1288 ++ shll $16,%edi | |
1289 ++ xorl %edi,%esi | |
1290 ++ movl %edx,%edi | |
1291 ++ shrl $24,%edi | |
1292 ++ movzbl -128(%ebp,%edi,1),%edi | |
1293 ++ shll $24,%edi | |
1294 ++ xorl %edi,%esi | |
1295 ++ andl $255,%edx | |
1296 ++ movzbl -128(%ebp,%edx,1),%edx | |
1297 ++ movzbl %ch,%ecx | |
1298 ++ movzbl -128(%ebp,%ecx,1),%ecx | |
1299 ++ shll $8,%ecx | |
1300 ++ xorl %ecx,%edx | |
1301 ++ movl %esi,%ecx | |
1302 ++ shrl $16,%ebx | |
1303 ++ andl $255,%ebx | |
1304 ++ movzbl -128(%ebp,%ebx,1),%ebx | |
1305 ++ shll $16,%ebx | |
1306 ++ xorl %ebx,%edx | |
1307 ++ shrl $24,%eax | |
1308 ++ movzbl -128(%ebp,%eax,1),%eax | |
1309 ++ shll $24,%eax | |
1310 ++ xorl %eax,%edx | |
1311 ++ movl %ecx,%esi | |
1312 ++ andl $2155905152,%esi | |
1313 ++ movl %esi,%edi | |
1314 ++ shrl $7,%edi | |
1315 ++ leal (%ecx,%ecx,1),%eax | |
1316 ++ subl %edi,%esi | |
1317 ++ andl $4278124286,%eax | |
1318 ++ andl $454761243,%esi | |
1319 ++ xorl %eax,%esi | |
1320 ++ movl %esi,%eax | |
1321 ++ andl $2155905152,%esi | |
1322 ++ movl %esi,%edi | |
1323 ++ shrl $7,%edi | |
1324 ++ leal (%eax,%eax,1),%ebx | |
1325 ++ subl %edi,%esi | |
1326 ++ andl $4278124286,%ebx | |
1327 ++ andl $454761243,%esi | |
1328 ++ xorl %ecx,%eax | |
1329 ++ xorl %ebx,%esi | |
1330 ++ movl %esi,%ebx | |
1331 ++ andl $2155905152,%esi | |
1332 ++ movl %esi,%edi | |
1333 ++ shrl $7,%edi | |
1334 ++ leal (%ebx,%ebx,1),%ebp | |
1335 ++ subl %edi,%esi | |
1336 ++ andl $4278124286,%ebp | |
1337 ++ andl $454761243,%esi | |
1338 ++ xorl %ecx,%ebx | |
1339 ++ roll $8,%ecx | |
1340 ++ xorl %esi,%ebp | |
1341 ++ xorl %eax,%ecx | |
1342 ++ xorl %ebp,%eax | |
1343 ++ roll $24,%eax | |
1344 ++ xorl %ebx,%ecx | |
1345 ++ xorl %ebp,%ebx | |
1346 ++ roll $16,%ebx | |
1347 ++ xorl %ebp,%ecx | |
1348 ++ roll $8,%ebp | |
1349 ++ xorl %eax,%ecx | |
1350 ++ xorl %ebx,%ecx | |
1351 ++ movl 4(%esp),%eax | |
1352 ++ xorl %ebp,%ecx | |
1353 ++ movl %ecx,12(%esp) | |
1354 ++ movl %edx,%esi | |
1355 ++ andl $2155905152,%esi | |
1356 ++ movl %esi,%edi | |
1357 ++ shrl $7,%edi | |
1358 ++ leal (%edx,%edx,1),%ebx | |
1359 ++ subl %edi,%esi | |
1360 ++ andl $4278124286,%ebx | |
1361 ++ andl $454761243,%esi | |
1362 ++ xorl %ebx,%esi | |
1363 ++ movl %esi,%ebx | |
1364 ++ andl $2155905152,%esi | |
1365 ++ movl %esi,%edi | |
1366 ++ shrl $7,%edi | |
1367 ++ leal (%ebx,%ebx,1),%ecx | |
1368 ++ subl %edi,%esi | |
1369 ++ andl $4278124286,%ecx | |
1370 ++ andl $454761243,%esi | |
1371 ++ xorl %edx,%ebx | |
1372 ++ xorl %ecx,%esi | |
1373 ++ movl %esi,%ecx | |
1374 ++ andl $2155905152,%esi | |
1375 ++ movl %esi,%edi | |
1376 ++ shrl $7,%edi | |
1377 ++ leal (%ecx,%ecx,1),%ebp | |
1378 ++ subl %edi,%esi | |
1379 ++ andl $4278124286,%ebp | |
1380 ++ andl $454761243,%esi | |
1381 ++ xorl %edx,%ecx | |
1382 ++ roll $8,%edx | |
1383 ++ xorl %esi,%ebp | |
1384 ++ xorl %ebx,%edx | |
1385 ++ xorl %ebp,%ebx | |
1386 ++ roll $24,%ebx | |
1387 ++ xorl %ecx,%edx | |
1388 ++ xorl %ebp,%ecx | |
1389 ++ roll $16,%ecx | |
1390 ++ xorl %ebp,%edx | |
1391 ++ roll $8,%ebp | |
1392 ++ xorl %ebx,%edx | |
1393 ++ xorl %ecx,%edx | |
1394 ++ movl 8(%esp),%ebx | |
1395 ++ xorl %ebp,%edx | |
1396 ++ movl %edx,16(%esp) | |
1397 ++ movl %eax,%esi | |
1398 ++ andl $2155905152,%esi | |
1399 ++ movl %esi,%edi | |
1400 ++ shrl $7,%edi | |
1401 ++ leal (%eax,%eax,1),%ecx | |
1402 ++ subl %edi,%esi | |
1403 ++ andl $4278124286,%ecx | |
1404 ++ andl $454761243,%esi | |
1405 ++ xorl %ecx,%esi | |
1406 ++ movl %esi,%ecx | |
1407 ++ andl $2155905152,%esi | |
1408 ++ movl %esi,%edi | |
1409 ++ shrl $7,%edi | |
1410 ++ leal (%ecx,%ecx,1),%edx | |
1411 ++ subl %edi,%esi | |
1412 ++ andl $4278124286,%edx | |
1413 ++ andl $454761243,%esi | |
1414 ++ xorl %eax,%ecx | |
1415 ++ xorl %edx,%esi | |
1416 ++ movl %esi,%edx | |
1417 ++ andl $2155905152,%esi | |
1418 ++ movl %esi,%edi | |
1419 ++ shrl $7,%edi | |
1420 ++ leal (%edx,%edx,1),%ebp | |
1421 ++ subl %edi,%esi | |
1422 ++ andl $4278124286,%ebp | |
1423 ++ andl $454761243,%esi | |
1424 ++ xorl %eax,%edx | |
1425 ++ roll $8,%eax | |
1426 ++ xorl %esi,%ebp | |
1427 ++ xorl %ecx,%eax | |
1428 ++ xorl %ebp,%ecx | |
1429 ++ roll $24,%ecx | |
1430 ++ xorl %edx,%eax | |
1431 ++ xorl %ebp,%edx | |
1432 ++ roll $16,%edx | |
1433 ++ xorl %ebp,%eax | |
1434 ++ roll $8,%ebp | |
1435 ++ xorl %ecx,%eax | |
1436 ++ xorl %edx,%eax | |
1437 ++ xorl %ebp,%eax | |
1438 ++ movl %ebx,%esi | |
1439 ++ andl $2155905152,%esi | |
1440 ++ movl %esi,%edi | |
1441 ++ shrl $7,%edi | |
1442 ++ leal (%ebx,%ebx,1),%ecx | |
1443 ++ subl %edi,%esi | |
1444 ++ andl $4278124286,%ecx | |
1445 ++ andl $454761243,%esi | |
1446 ++ xorl %ecx,%esi | |
1447 ++ movl %esi,%ecx | |
1448 ++ andl $2155905152,%esi | |
1449 ++ movl %esi,%edi | |
1450 ++ shrl $7,%edi | |
1451 ++ leal (%ecx,%ecx,1),%edx | |
1452 ++ subl %edi,%esi | |
1453 ++ andl $4278124286,%edx | |
1454 ++ andl $454761243,%esi | |
1455 ++ xorl %ebx,%ecx | |
1456 ++ xorl %edx,%esi | |
1457 ++ movl %esi,%edx | |
1458 ++ andl $2155905152,%esi | |
1459 ++ movl %esi,%edi | |
1460 ++ shrl $7,%edi | |
1461 ++ leal (%edx,%edx,1),%ebp | |
1462 ++ subl %edi,%esi | |
1463 ++ andl $4278124286,%ebp | |
1464 ++ andl $454761243,%esi | |
1465 ++ xorl %ebx,%edx | |
1466 ++ roll $8,%ebx | |
1467 ++ xorl %esi,%ebp | |
1468 ++ xorl %ecx,%ebx | |
1469 ++ xorl %ebp,%ecx | |
1470 ++ roll $24,%ecx | |
1471 ++ xorl %edx,%ebx | |
1472 ++ xorl %ebp,%edx | |
1473 ++ roll $16,%edx | |
1474 ++ xorl %ebp,%ebx | |
1475 ++ roll $8,%ebp | |
1476 ++ xorl %ecx,%ebx | |
1477 ++ xorl %edx,%ebx | |
1478 ++ movl 12(%esp),%ecx | |
1479 ++ xorl %ebp,%ebx | |
1480 ++ movl 16(%esp),%edx | |
1481 ++ movl 20(%esp),%edi | |
1482 ++ movl 28(%esp),%ebp | |
1483 ++ addl $16,%edi | |
1484 ++ xorl (%edi),%eax | |
1485 ++ xorl 4(%edi),%ebx | |
1486 ++ xorl 8(%edi),%ecx | |
1487 ++ xorl 12(%edi),%edx | |
1488 ++ cmpl 24(%esp),%edi | |
1489 ++ movl %edi,20(%esp) | |
1490 ++ jb L006loop | |
1491 ++ movl %eax,%esi | |
1492 ++ andl $255,%esi | |
1493 ++ movzbl -128(%ebp,%esi,1),%esi | |
1494 ++ movzbl %dh,%edi | |
1495 ++ movzbl -128(%ebp,%edi,1),%edi | |
1496 ++ shll $8,%edi | |
1497 ++ xorl %edi,%esi | |
1498 ++ movl %ecx,%edi | |
1499 ++ shrl $16,%edi | |
1500 ++ andl $255,%edi | |
1501 ++ movzbl -128(%ebp,%edi,1),%edi | |
1502 ++ shll $16,%edi | |
1503 ++ xorl %edi,%esi | |
1504 ++ movl %ebx,%edi | |
1505 ++ shrl $24,%edi | |
1506 ++ movzbl -128(%ebp,%edi,1),%edi | |
1507 ++ shll $24,%edi | |
1508 ++ xorl %edi,%esi | |
1509 ++ movl %esi,4(%esp) | |
1510 ++ movl %ebx,%esi | |
1511 ++ andl $255,%esi | |
1512 ++ movzbl -128(%ebp,%esi,1),%esi | |
1513 ++ movzbl %ah,%edi | |
1514 ++ movzbl -128(%ebp,%edi,1),%edi | |
1515 ++ shll $8,%edi | |
1516 ++ xorl %edi,%esi | |
1517 ++ movl %edx,%edi | |
1518 ++ shrl $16,%edi | |
1519 ++ andl $255,%edi | |
1520 ++ movzbl -128(%ebp,%edi,1),%edi | |
1521 ++ shll $16,%edi | |
1522 ++ xorl %edi,%esi | |
1523 ++ movl %ecx,%edi | |
1524 ++ shrl $24,%edi | |
1525 ++ movzbl -128(%ebp,%edi,1),%edi | |
1526 ++ shll $24,%edi | |
1527 ++ xorl %edi,%esi | |
1528 ++ movl %esi,8(%esp) | |
1529 ++ movl %ecx,%esi | |
1530 ++ andl $255,%esi | |
1531 ++ movzbl -128(%ebp,%esi,1),%esi | |
1532 ++ movzbl %bh,%edi | |
1533 ++ movzbl -128(%ebp,%edi,1),%edi | |
1534 ++ shll $8,%edi | |
1535 ++ xorl %edi,%esi | |
1536 ++ movl %eax,%edi | |
1537 ++ shrl $16,%edi | |
1538 ++ andl $255,%edi | |
1539 ++ movzbl -128(%ebp,%edi,1),%edi | |
1540 ++ shll $16,%edi | |
1541 ++ xorl %edi,%esi | |
1542 ++ movl %edx,%edi | |
1543 ++ shrl $24,%edi | |
1544 ++ movzbl -128(%ebp,%edi,1),%edi | |
1545 ++ shll $24,%edi | |
1546 ++ xorl %edi,%esi | |
1547 ++ movl 20(%esp),%edi | |
1548 ++ andl $255,%edx | |
1549 ++ movzbl -128(%ebp,%edx,1),%edx | |
1550 ++ movzbl %ch,%ecx | |
1551 ++ movzbl -128(%ebp,%ecx,1),%ecx | |
1552 ++ shll $8,%ecx | |
1553 ++ xorl %ecx,%edx | |
1554 ++ movl %esi,%ecx | |
1555 ++ shrl $16,%ebx | |
1556 ++ andl $255,%ebx | |
1557 ++ movzbl -128(%ebp,%ebx,1),%ebx | |
1558 ++ shll $16,%ebx | |
1559 ++ xorl %ebx,%edx | |
1560 ++ movl 8(%esp),%ebx | |
1561 ++ shrl $24,%eax | |
1562 ++ movzbl -128(%ebp,%eax,1),%eax | |
1563 ++ shll $24,%eax | |
1564 ++ xorl %eax,%edx | |
1565 ++ movl 4(%esp),%eax | |
1566 ++ xorl 16(%edi),%eax | |
1567 ++ xorl 20(%edi),%ebx | |
1568 ++ xorl 24(%edi),%ecx | |
1569 ++ xorl 28(%edi),%edx | |
1570 ++ ret | |
1571 ++.align 4 | |
1572 ++__sse_AES_decrypt_compact: | |
1573 ++ pxor (%edi),%mm0 | |
1574 ++ pxor 8(%edi),%mm4 | |
1575 ++ movl 240(%edi),%esi | |
1576 ++ leal -2(%esi,%esi,1),%esi | |
1577 ++ leal (%edi,%esi,8),%esi | |
1578 ++ movl %esi,24(%esp) | |
1579 ++ movl $454761243,%eax | |
1580 ++ movl %eax,8(%esp) | |
1581 ++ movl %eax,12(%esp) | |
1582 ++ movl -128(%ebp),%eax | |
1583 ++ movl -96(%ebp),%ebx | |
1584 ++ movl -64(%ebp),%ecx | |
1585 ++ movl -32(%ebp),%edx | |
1586 ++ movl (%ebp),%eax | |
1587 ++ movl 32(%ebp),%ebx | |
1588 ++ movl 64(%ebp),%ecx | |
1589 ++ movl 96(%ebp),%edx | |
1590 ++.align 4,0x90 | |
1591 ++L007loop: | |
1592 ++ pshufw $12,%mm0,%mm1 | |
1593 ++ movd %mm1,%eax | |
1594 ++ pshufw $9,%mm4,%mm5 | |
1595 ++ movzbl %al,%esi | |
1596 ++ movzbl -128(%ebp,%esi,1),%ecx | |
1597 ++ movd %mm5,%ebx | |
1598 ++ movzbl %ah,%edx | |
1599 ++ movzbl -128(%ebp,%edx,1),%edx | |
1600 ++ shll $8,%edx | |
1601 ++ pshufw $6,%mm0,%mm2 | |
1602 ++ movzbl %bl,%esi | |
1603 ++ movzbl -128(%ebp,%esi,1),%esi | |
1604 ++ shll $16,%esi | |
1605 ++ orl %esi,%ecx | |
1606 ++ shrl $16,%eax | |
1607 ++ movzbl %bh,%esi | |
1608 ++ movzbl -128(%ebp,%esi,1),%esi | |
1609 ++ shll $24,%esi | |
1610 ++ orl %esi,%edx | |
1611 ++ shrl $16,%ebx | |
1612 ++ pshufw $3,%mm4,%mm6 | |
1613 ++ movzbl %ah,%esi | |
1614 ++ movzbl -128(%ebp,%esi,1),%esi | |
1615 ++ shll $24,%esi | |
1616 ++ orl %esi,%ecx | |
1617 ++ movzbl %bh,%esi | |
1618 ++ movzbl -128(%ebp,%esi,1),%esi | |
1619 ++ shll $8,%esi | |
1620 ++ orl %esi,%ecx | |
1621 ++ movd %ecx,%mm0 | |
1622 ++ movzbl %al,%esi | |
1623 ++ movd %mm2,%eax | |
1624 ++ movzbl -128(%ebp,%esi,1),%ecx | |
1625 ++ shll $16,%ecx | |
1626 ++ movzbl %bl,%esi | |
1627 ++ movd %mm6,%ebx | |
1628 ++ movzbl -128(%ebp,%esi,1),%esi | |
1629 ++ orl %esi,%ecx | |
1630 ++ movzbl %al,%esi | |
1631 ++ movzbl -128(%ebp,%esi,1),%esi | |
1632 ++ orl %esi,%edx | |
1633 ++ movzbl %bl,%esi | |
1634 ++ movzbl -128(%ebp,%esi,1),%esi | |
1635 ++ shll $16,%esi | |
1636 ++ orl %esi,%edx | |
1637 ++ movd %edx,%mm1 | |
1638 ++ movzbl %ah,%esi | |
1639 ++ movzbl -128(%ebp,%esi,1),%edx | |
1640 ++ shll $8,%edx | |
1641 ++ movzbl %bh,%esi | |
1642 ++ shrl $16,%eax | |
1643 ++ movzbl -128(%ebp,%esi,1),%esi | |
1644 ++ shll $24,%esi | |
1645 ++ orl %esi,%edx | |
1646 ++ shrl $16,%ebx | |
1647 ++ punpckldq %mm1,%mm0 | |
1648 ++ movzbl %bh,%esi | |
1649 ++ movzbl -128(%ebp,%esi,1),%esi | |
1650 ++ shll $8,%esi | |
1651 ++ orl %esi,%ecx | |
1652 ++ andl $255,%ebx | |
1653 ++ movzbl -128(%ebp,%ebx,1),%ebx | |
1654 ++ orl %ebx,%edx | |
1655 ++ movzbl %al,%esi | |
1656 ++ movzbl -128(%ebp,%esi,1),%esi | |
1657 ++ shll $16,%esi | |
1658 ++ orl %esi,%edx | |
1659 ++ movd %edx,%mm4 | |
1660 ++ movzbl %ah,%eax | |
1661 ++ movzbl -128(%ebp,%eax,1),%eax | |
1662 ++ shll $24,%eax | |
1663 ++ orl %eax,%ecx | |
1664 ++ movd %ecx,%mm5 | |
1665 ++ punpckldq %mm5,%mm4 | |
1666 ++ addl $16,%edi | |
1667 ++ cmpl 24(%esp),%edi | |
1668 ++ ja L008out | |
1669 ++ movq %mm0,%mm3 | |
1670 ++ movq %mm4,%mm7 | |
1671 ++ pshufw $228,%mm0,%mm2 | |
1672 ++ pshufw $228,%mm4,%mm6 | |
1673 ++ movq %mm0,%mm1 | |
1674 ++ movq %mm4,%mm5 | |
1675 ++ pshufw $177,%mm0,%mm0 | |
1676 ++ pshufw $177,%mm4,%mm4 | |
1677 ++ pslld $8,%mm2 | |
1678 ++ pslld $8,%mm6 | |
1679 ++ psrld $8,%mm3 | |
1680 ++ psrld $8,%mm7 | |
1681 ++ pxor %mm2,%mm0 | |
1682 ++ pxor %mm6,%mm4 | |
1683 ++ pxor %mm3,%mm0 | |
1684 ++ pxor %mm7,%mm4 | |
1685 ++ pslld $16,%mm2 | |
1686 ++ pslld $16,%mm6 | |
1687 ++ psrld $16,%mm3 | |
1688 ++ psrld $16,%mm7 | |
1689 ++ pxor %mm2,%mm0 | |
1690 ++ pxor %mm6,%mm4 | |
1691 ++ pxor %mm3,%mm0 | |
1692 ++ pxor %mm7,%mm4 | |
1693 ++ movq 8(%esp),%mm3 | |
1694 ++ pxor %mm2,%mm2 | |
1695 ++ pxor %mm6,%mm6 | |
1696 ++ pcmpgtb %mm1,%mm2 | |
1697 ++ pcmpgtb %mm5,%mm6 | |
1698 ++ pand %mm3,%mm2 | |
1699 ++ pand %mm3,%mm6 | |
1700 ++ paddb %mm1,%mm1 | |
1701 ++ paddb %mm5,%mm5 | |
1702 ++ pxor %mm2,%mm1 | |
1703 ++ pxor %mm6,%mm5 | |
1704 ++ movq %mm1,%mm3 | |
1705 ++ movq %mm5,%mm7 | |
1706 ++ movq %mm1,%mm2 | |
1707 ++ movq %mm5,%mm6 | |
1708 ++ pxor %mm1,%mm0 | |
1709 ++ pxor %mm5,%mm4 | |
1710 ++ pslld $24,%mm3 | |
1711 ++ pslld $24,%mm7 | |
1712 ++ psrld $8,%mm2 | |
1713 ++ psrld $8,%mm6 | |
1714 ++ pxor %mm3,%mm0 | |
1715 ++ pxor %mm7,%mm4 | |
1716 ++ pxor %mm2,%mm0 | |
1717 ++ pxor %mm6,%mm4 | |
1718 ++ movq 8(%esp),%mm2 | |
1719 ++ pxor %mm3,%mm3 | |
1720 ++ pxor %mm7,%mm7 | |
1721 ++ pcmpgtb %mm1,%mm3 | |
1722 ++ pcmpgtb %mm5,%mm7 | |
1723 ++ pand %mm2,%mm3 | |
1724 ++ pand %mm2,%mm7 | |
1725 ++ paddb %mm1,%mm1 | |
1726 ++ paddb %mm5,%mm5 | |
1727 ++ pxor %mm3,%mm1 | |
1728 ++ pxor %mm7,%mm5 | |
1729 ++ pshufw $177,%mm1,%mm3 | |
1730 ++ pshufw $177,%mm5,%mm7 | |
1731 ++ pxor %mm1,%mm0 | |
1732 ++ pxor %mm5,%mm4 | |
1733 ++ pxor %mm3,%mm0 | |
1734 ++ pxor %mm7,%mm4 | |
1735 ++ pxor %mm3,%mm3 | |
1736 ++ pxor %mm7,%mm7 | |
1737 ++ pcmpgtb %mm1,%mm3 | |
1738 ++ pcmpgtb %mm5,%mm7 | |
1739 ++ pand %mm2,%mm3 | |
1740 ++ pand %mm2,%mm7 | |
1741 ++ paddb %mm1,%mm1 | |
1742 ++ paddb %mm5,%mm5 | |
1743 ++ pxor %mm3,%mm1 | |
1744 ++ pxor %mm7,%mm5 | |
1745 ++ pxor %mm1,%mm0 | |
1746 ++ pxor %mm5,%mm4 | |
1747 ++ movq %mm1,%mm3 | |
1748 ++ movq %mm5,%mm7 | |
1749 ++ pshufw $177,%mm1,%mm2 | |
1750 ++ pshufw $177,%mm5,%mm6 | |
1751 ++ pxor %mm2,%mm0 | |
1752 ++ pxor %mm6,%mm4 | |
1753 ++ pslld $8,%mm1 | |
1754 ++ pslld $8,%mm5 | |
1755 ++ psrld $8,%mm3 | |
1756 ++ psrld $8,%mm7 | |
1757 ++ movq (%edi),%mm2 | |
1758 ++ movq 8(%edi),%mm6 | |
1759 ++ pxor %mm1,%mm0 | |
1760 ++ pxor %mm5,%mm4 | |
1761 ++ pxor %mm3,%mm0 | |
1762 ++ pxor %mm7,%mm4 | |
1763 ++ movl -128(%ebp),%eax | |
1764 ++ pslld $16,%mm1 | |
1765 ++ pslld $16,%mm5 | |
1766 ++ movl -64(%ebp),%ebx | |
1767 ++ psrld $16,%mm3 | |
1768 ++ psrld $16,%mm7 | |
1769 ++ movl (%ebp),%ecx | |
1770 ++ pxor %mm1,%mm0 | |
1771 ++ pxor %mm5,%mm4 | |
1772 ++ movl 64(%ebp),%edx | |
1773 ++ pxor %mm3,%mm0 | |
1774 ++ pxor %mm7,%mm4 | |
1775 ++ pxor %mm2,%mm0 | |
1776 ++ pxor %mm6,%mm4 | |
1777 ++ jmp L007loop | |
1778 ++.align 4,0x90 | |
1779 ++L008out: | |
1780 ++ pxor (%edi),%mm0 | |
1781 ++ pxor 8(%edi),%mm4 | |
1782 ++ ret | |
1783 ++.align 4 | |
1784 ++__x86_AES_decrypt: | |
1785 ++ movl %edi,20(%esp) | |
1786 ++ xorl (%edi),%eax | |
1787 ++ xorl 4(%edi),%ebx | |
1788 ++ xorl 8(%edi),%ecx | |
1789 ++ xorl 12(%edi),%edx | |
1790 ++ movl 240(%edi),%esi | |
1791 ++ leal -2(%esi,%esi,1),%esi | |
1792 ++ leal (%edi,%esi,8),%esi | |
1793 ++ movl %esi,24(%esp) | |
1794 ++.align 4,0x90 | |
1795 ++L009loop: | |
1796 ++ movl %eax,%esi | |
1797 ++ andl $255,%esi | |
1798 ++ movl (%ebp,%esi,8),%esi | |
1799 ++ movzbl %dh,%edi | |
1800 ++ xorl 3(%ebp,%edi,8),%esi | |
1801 ++ movl %ecx,%edi | |
1802 ++ shrl $16,%edi | |
1803 ++ andl $255,%edi | |
1804 ++ xorl 2(%ebp,%edi,8),%esi | |
1805 ++ movl %ebx,%edi | |
1806 ++ shrl $24,%edi | |
1807 ++ xorl 1(%ebp,%edi,8),%esi | |
1808 ++ movl %esi,4(%esp) | |
1809 ++ movl %ebx,%esi | |
1810 ++ andl $255,%esi | |
1811 ++ movl (%ebp,%esi,8),%esi | |
1812 ++ movzbl %ah,%edi | |
1813 ++ xorl 3(%ebp,%edi,8),%esi | |
1814 ++ movl %edx,%edi | |
1815 ++ shrl $16,%edi | |
1816 ++ andl $255,%edi | |
1817 ++ xorl 2(%ebp,%edi,8),%esi | |
1818 ++ movl %ecx,%edi | |
1819 ++ shrl $24,%edi | |
1820 ++ xorl 1(%ebp,%edi,8),%esi | |
1821 ++ movl %esi,8(%esp) | |
1822 ++ movl %ecx,%esi | |
1823 ++ andl $255,%esi | |
1824 ++ movl (%ebp,%esi,8),%esi | |
1825 ++ movzbl %bh,%edi | |
1826 ++ xorl 3(%ebp,%edi,8),%esi | |
1827 ++ movl %eax,%edi | |
1828 ++ shrl $16,%edi | |
1829 ++ andl $255,%edi | |
1830 ++ xorl 2(%ebp,%edi,8),%esi | |
1831 ++ movl %edx,%edi | |
1832 ++ shrl $24,%edi | |
1833 ++ xorl 1(%ebp,%edi,8),%esi | |
1834 ++ movl 20(%esp),%edi | |
1835 ++ andl $255,%edx | |
1836 ++ movl (%ebp,%edx,8),%edx | |
1837 ++ movzbl %ch,%ecx | |
1838 ++ xorl 3(%ebp,%ecx,8),%edx | |
1839 ++ movl %esi,%ecx | |
1840 ++ shrl $16,%ebx | |
1841 ++ andl $255,%ebx | |
1842 ++ xorl 2(%ebp,%ebx,8),%edx | |
1843 ++ movl 8(%esp),%ebx | |
1844 ++ shrl $24,%eax | |
1845 ++ xorl 1(%ebp,%eax,8),%edx | |
1846 ++ movl 4(%esp),%eax | |
1847 ++ addl $16,%edi | |
1848 ++ xorl (%edi),%eax | |
1849 ++ xorl 4(%edi),%ebx | |
1850 ++ xorl 8(%edi),%ecx | |
1851 ++ xorl 12(%edi),%edx | |
1852 ++ cmpl 24(%esp),%edi | |
1853 ++ movl %edi,20(%esp) | |
1854 ++ jb L009loop | |
1855 ++ leal 2176(%ebp),%ebp | |
1856 ++ movl -128(%ebp),%edi | |
1857 ++ movl -96(%ebp),%esi | |
1858 ++ movl -64(%ebp),%edi | |
1859 ++ movl -32(%ebp),%esi | |
1860 ++ movl (%ebp),%edi | |
1861 ++ movl 32(%ebp),%esi | |
1862 ++ movl 64(%ebp),%edi | |
1863 ++ movl 96(%ebp),%esi | |
1864 ++ leal -128(%ebp),%ebp | |
1865 ++ movl %eax,%esi | |
1866 ++ andl $255,%esi | |
1867 ++ movzbl (%ebp,%esi,1),%esi | |
1868 ++ movzbl %dh,%edi | |
1869 ++ movzbl (%ebp,%edi,1),%edi | |
1870 ++ shll $8,%edi | |
1871 ++ xorl %edi,%esi | |
1872 ++ movl %ecx,%edi | |
1873 ++ shrl $16,%edi | |
1874 ++ andl $255,%edi | |
1875 ++ movzbl (%ebp,%edi,1),%edi | |
1876 ++ shll $16,%edi | |
1877 ++ xorl %edi,%esi | |
1878 ++ movl %ebx,%edi | |
1879 ++ shrl $24,%edi | |
1880 ++ movzbl (%ebp,%edi,1),%edi | |
1881 ++ shll $24,%edi | |
1882 ++ xorl %edi,%esi | |
1883 ++ movl %esi,4(%esp) | |
1884 ++ movl %ebx,%esi | |
1885 ++ andl $255,%esi | |
1886 ++ movzbl (%ebp,%esi,1),%esi | |
1887 ++ movzbl %ah,%edi | |
1888 ++ movzbl (%ebp,%edi,1),%edi | |
1889 ++ shll $8,%edi | |
1890 ++ xorl %edi,%esi | |
1891 ++ movl %edx,%edi | |
1892 ++ shrl $16,%edi | |
1893 ++ andl $255,%edi | |
1894 ++ movzbl (%ebp,%edi,1),%edi | |
1895 ++ shll $16,%edi | |
1896 ++ xorl %edi,%esi | |
1897 ++ movl %ecx,%edi | |
1898 ++ shrl $24,%edi | |
1899 ++ movzbl (%ebp,%edi,1),%edi | |
1900 ++ shll $24,%edi | |
1901 ++ xorl %edi,%esi | |
1902 ++ movl %esi,8(%esp) | |
1903 ++ movl %ecx,%esi | |
1904 ++ andl $255,%esi | |
1905 ++ movzbl (%ebp,%esi,1),%esi | |
1906 ++ movzbl %bh,%edi | |
1907 ++ movzbl (%ebp,%edi,1),%edi | |
1908 ++ shll $8,%edi | |
1909 ++ xorl %edi,%esi | |
1910 ++ movl %eax,%edi | |
1911 ++ shrl $16,%edi | |
1912 ++ andl $255,%edi | |
1913 ++ movzbl (%ebp,%edi,1),%edi | |
1914 ++ shll $16,%edi | |
1915 ++ xorl %edi,%esi | |
1916 ++ movl %edx,%edi | |
1917 ++ shrl $24,%edi | |
1918 ++ movzbl (%ebp,%edi,1),%edi | |
1919 ++ shll $24,%edi | |
1920 ++ xorl %edi,%esi | |
1921 ++ movl 20(%esp),%edi | |
1922 ++ andl $255,%edx | |
1923 ++ movzbl (%ebp,%edx,1),%edx | |
1924 ++ movzbl %ch,%ecx | |
1925 ++ movzbl (%ebp,%ecx,1),%ecx | |
1926 ++ shll $8,%ecx | |
1927 ++ xorl %ecx,%edx | |
1928 ++ movl %esi,%ecx | |
1929 ++ shrl $16,%ebx | |
1930 ++ andl $255,%ebx | |
1931 ++ movzbl (%ebp,%ebx,1),%ebx | |
1932 ++ shll $16,%ebx | |
1933 ++ xorl %ebx,%edx | |
1934 ++ movl 8(%esp),%ebx | |
1935 ++ shrl $24,%eax | |
1936 ++ movzbl (%ebp,%eax,1),%eax | |
1937 ++ shll $24,%eax | |
1938 ++ xorl %eax,%edx | |
1939 ++ movl 4(%esp),%eax | |
1940 ++ leal -2048(%ebp),%ebp | |
1941 ++ addl $16,%edi | |
1942 ++ xorl (%edi),%eax | |
1943 ++ xorl 4(%edi),%ebx | |
1944 ++ xorl 8(%edi),%ecx | |
1945 ++ xorl 12(%edi),%edx | |
1946 ++ ret | |
1947 ++.align 6,0x90 | |
1948 ++LAES_Td: | |
1949 ++.long 1353184337,1353184337 | |
1950 ++.long 1399144830,1399144830 | |
1951 ++.long 3282310938,3282310938 | |
1952 ++.long 2522752826,2522752826 | |
1953 ++.long 3412831035,3412831035 | |
1954 ++.long 4047871263,4047871263 | |
1955 ++.long 2874735276,2874735276 | |
1956 ++.long 2466505547,2466505547 | |
1957 ++.long 1442459680,1442459680 | |
1958 ++.long 4134368941,4134368941 | |
1959 ++.long 2440481928,2440481928 | |
1960 ++.long 625738485,625738485 | |
1961 ++.long 4242007375,4242007375 | |
1962 ++.long 3620416197,3620416197 | |
1963 ++.long 2151953702,2151953702 | |
1964 ++.long 2409849525,2409849525 | |
1965 ++.long 1230680542,1230680542 | |
1966 ++.long 1729870373,1729870373 | |
1967 ++.long 2551114309,2551114309 | |
1968 ++.long 3787521629,3787521629 | |
1969 ++.long 41234371,41234371 | |
1970 ++.long 317738113,317738113 | |
1971 ++.long 2744600205,2744600205 | |
1972 ++.long 3338261355,3338261355 | |
1973 ++.long 3881799427,3881799427 | |
1974 ++.long 2510066197,2510066197 | |
1975 ++.long 3950669247,3950669247 | |
1976 ++.long 3663286933,3663286933 | |
1977 ++.long 763608788,763608788 | |
1978 ++.long 3542185048,3542185048 | |
1979 ++.long 694804553,694804553 | |
1980 ++.long 1154009486,1154009486 | |
1981 ++.long 1787413109,1787413109 | |
1982 ++.long 2021232372,2021232372 | |
1983 ++.long 1799248025,1799248025 | |
1984 ++.long 3715217703,3715217703 | |
1985 ++.long 3058688446,3058688446 | |
1986 ++.long 397248752,397248752 | |
1987 ++.long 1722556617,1722556617 | |
1988 ++.long 3023752829,3023752829 | |
1989 ++.long 407560035,407560035 | |
1990 ++.long 2184256229,2184256229 | |
1991 ++.long 1613975959,1613975959 | |
1992 ++.long 1165972322,1165972322 | |
1993 ++.long 3765920945,3765920945 | |
1994 ++.long 2226023355,2226023355 | |
1995 ++.long 480281086,480281086 | |
1996 ++.long 2485848313,2485848313 | |
1997 ++.long 1483229296,1483229296 | |
1998 ++.long 436028815,436028815 | |
1999 ++.long 2272059028,2272059028 | |
2000 ++.long 3086515026,3086515026 | |
2001 ++.long 601060267,601060267 | |
2002 ++.long 3791801202,3791801202 | |
2003 ++.long 1468997603,1468997603 | |
2004 ++.long 715871590,715871590 | |
2005 ++.long 120122290,120122290 | |
2006 ++.long 63092015,63092015 | |
2007 ++.long 2591802758,2591802758 | |
2008 ++.long 2768779219,2768779219 | |
2009 ++.long 4068943920,4068943920 | |
2010 ++.long 2997206819,2997206819 | |
2011 ++.long 3127509762,3127509762 | |
2012 ++.long 1552029421,1552029421 | |
2013 ++.long 723308426,723308426 | |
2014 ++.long 2461301159,2461301159 | |
2015 ++.long 4042393587,4042393587 | |
2016 ++.long 2715969870,2715969870 | |
2017 ++.long 3455375973,3455375973 | |
2018 ++.long 3586000134,3586000134 | |
2019 ++.long 526529745,526529745 | |
2020 ++.long 2331944644,2331944644 | |
2021 ++.long 2639474228,2639474228 | |
2022 ++.long 2689987490,2689987490 | |
2023 ++.long 853641733,853641733 | |
2024 ++.long 1978398372,1978398372 | |
2025 ++.long 971801355,971801355 | |
2026 ++.long 2867814464,2867814464 | |
2027 ++.long 111112542,111112542 | |
2028 ++.long 1360031421,1360031421 | |
2029 ++.long 4186579262,4186579262 | |
2030 ++.long 1023860118,1023860118 | |
2031 ++.long 2919579357,2919579357 | |
2032 ++.long 1186850381,1186850381 | |
2033 ++.long 3045938321,3045938321 | |
2034 ++.long 90031217,90031217 | |
2035 ++.long 1876166148,1876166148 | |
2036 ++.long 4279586912,4279586912 | |
2037 ++.long 620468249,620468249 | |
2038 ++.long 2548678102,2548678102 | |
2039 ++.long 3426959497,3426959497 | |
2040 ++.long 2006899047,2006899047 | |
2041 ++.long 3175278768,3175278768 | |
2042 ++.long 2290845959,2290845959 | |
2043 ++.long 945494503,945494503 | |
2044 ++.long 3689859193,3689859193 | |
2045 ++.long 1191869601,1191869601 | |
2046 ++.long 3910091388,3910091388 | |
2047 ++.long 3374220536,3374220536 | |
2048 ++.long 0,0 | |
2049 ++.long 2206629897,2206629897 | |
2050 ++.long 1223502642,1223502642 | |
2051 ++.long 2893025566,2893025566 | |
2052 ++.long 1316117100,1316117100 | |
2053 ++.long 4227796733,4227796733 | |
2054 ++.long 1446544655,1446544655 | |
2055 ++.long 517320253,517320253 | |
2056 ++.long 658058550,658058550 | |
2057 ++.long 1691946762,1691946762 | |
2058 ++.long 564550760,564550760 | |
2059 ++.long 3511966619,3511966619 | |
2060 ++.long 976107044,976107044 | |
2061 ++.long 2976320012,2976320012 | |
2062 ++.long 266819475,266819475 | |
2063 ++.long 3533106868,3533106868 | |
2064 ++.long 2660342555,2660342555 | |
2065 ++.long 1338359936,1338359936 | |
2066 ++.long 2720062561,2720062561 | |
2067 ++.long 1766553434,1766553434 | |
2068 ++.long 370807324,370807324 | |
2069 ++.long 179999714,179999714 | |
2070 ++.long 3844776128,3844776128 | |
2071 ++.long 1138762300,1138762300 | |
2072 ++.long 488053522,488053522 | |
2073 ++.long 185403662,185403662 | |
2074 ++.long 2915535858,2915535858 | |
2075 ++.long 3114841645,3114841645 | |
2076 ++.long 3366526484,3366526484 | |
2077 ++.long 2233069911,2233069911 | |
2078 ++.long 1275557295,1275557295 | |
2079 ++.long 3151862254,3151862254 | |
2080 ++.long 4250959779,4250959779 | |
2081 ++.long 2670068215,2670068215 | |
2082 ++.long 3170202204,3170202204 | |
2083 ++.long 3309004356,3309004356 | |
2084 ++.long 880737115,880737115 | |
2085 ++.long 1982415755,1982415755 | |
2086 ++.long 3703972811,3703972811 | |
2087 ++.long 1761406390,1761406390 | |
2088 ++.long 1676797112,1676797112 | |
2089 ++.long 3403428311,3403428311 | |
2090 ++.long 277177154,277177154 | |
2091 ++.long 1076008723,1076008723 | |
2092 ++.long 538035844,538035844 | |
2093 ++.long 2099530373,2099530373 | |
2094 ++.long 4164795346,4164795346 | |
2095 ++.long 288553390,288553390 | |
2096 ++.long 1839278535,1839278535 | |
2097 ++.long 1261411869,1261411869 | |
2098 ++.long 4080055004,4080055004 | |
2099 ++.long 3964831245,3964831245 | |
2100 ++.long 3504587127,3504587127 | |
2101 ++.long 1813426987,1813426987 | |
2102 ++.long 2579067049,2579067049 | |
2103 ++.long 4199060497,4199060497 | |
2104 ++.long 577038663,577038663 | |
2105 ++.long 3297574056,3297574056 | |
2106 ++.long 440397984,440397984 | |
2107 ++.long 3626794326,3626794326 | |
2108 ++.long 4019204898,4019204898 | |
2109 ++.long 3343796615,3343796615 | |
2110 ++.long 3251714265,3251714265 | |
2111 ++.long 4272081548,4272081548 | |
2112 ++.long 906744984,906744984 | |
2113 ++.long 3481400742,3481400742 | |
2114 ++.long 685669029,685669029 | |
2115 ++.long 646887386,646887386 | |
2116 ++.long 2764025151,2764025151 | |
2117 ++.long 3835509292,3835509292 | |
2118 ++.long 227702864,227702864 | |
2119 ++.long 2613862250,2613862250 | |
2120 ++.long 1648787028,1648787028 | |
2121 ++.long 3256061430,3256061430 | |
2122 ++.long 3904428176,3904428176 | |
2123 ++.long 1593260334,1593260334 | |
2124 ++.long 4121936770,4121936770 | |
2125 ++.long 3196083615,3196083615 | |
2126 ++.long 2090061929,2090061929 | |
2127 ++.long 2838353263,2838353263 | |
2128 ++.long 3004310991,3004310991 | |
2129 ++.long 999926984,999926984 | |
2130 ++.long 2809993232,2809993232 | |
2131 ++.long 1852021992,1852021992 | |
2132 ++.long 2075868123,2075868123 | |
2133 ++.long 158869197,158869197 | |
2134 ++.long 4095236462,4095236462 | |
2135 ++.long 28809964,28809964 | |
2136 ++.long 2828685187,2828685187 | |
2137 ++.long 1701746150,1701746150 | |
2138 ++.long 2129067946,2129067946 | |
2139 ++.long 147831841,147831841 | |
2140 ++.long 3873969647,3873969647 | |
2141 ++.long 3650873274,3650873274 | |
2142 ++.long 3459673930,3459673930 | |
2143 ++.long 3557400554,3557400554 | |
2144 ++.long 3598495785,3598495785 | |
2145 ++.long 2947720241,2947720241 | |
2146 ++.long 824393514,824393514 | |
2147 ++.long 815048134,815048134 | |
2148 ++.long 3227951669,3227951669 | |
2149 ++.long 935087732,935087732 | |
2150 ++.long 2798289660,2798289660 | |
2151 ++.long 2966458592,2966458592 | |
2152 ++.long 366520115,366520115 | |
2153 ++.long 1251476721,1251476721 | |
2154 ++.long 4158319681,4158319681 | |
2155 ++.long 240176511,240176511 | |
2156 ++.long 804688151,804688151 | |
2157 ++.long 2379631990,2379631990 | |
2158 ++.long 1303441219,1303441219 | |
2159 ++.long 1414376140,1414376140 | |
2160 ++.long 3741619940,3741619940 | |
2161 ++.long 3820343710,3820343710 | |
2162 ++.long 461924940,461924940 | |
2163 ++.long 3089050817,3089050817 | |
2164 ++.long 2136040774,2136040774 | |
2165 ++.long 82468509,82468509 | |
2166 ++.long 1563790337,1563790337 | |
2167 ++.long 1937016826,1937016826 | |
2168 ++.long 776014843,776014843 | |
2169 ++.long 1511876531,1511876531 | |
2170 ++.long 1389550482,1389550482 | |
2171 ++.long 861278441,861278441 | |
2172 ++.long 323475053,323475053 | |
2173 ++.long 2355222426,2355222426 | |
2174 ++.long 2047648055,2047648055 | |
2175 ++.long 2383738969,2383738969 | |
2176 ++.long 2302415851,2302415851 | |
2177 ++.long 3995576782,3995576782 | |
2178 ++.long 902390199,902390199 | |
2179 ++.long 3991215329,3991215329 | |
2180 ++.long 1018251130,1018251130 | |
2181 ++.long 1507840668,1507840668 | |
2182 ++.long 1064563285,1064563285 | |
2183 ++.long 2043548696,2043548696 | |
2184 ++.long 3208103795,3208103795 | |
2185 ++.long 3939366739,3939366739 | |
2186 ++.long 1537932639,1537932639 | |
2187 ++.long 342834655,342834655 | |
2188 ++.long 2262516856,2262516856 | |
2189 ++.long 2180231114,2180231114 | |
2190 ++.long 1053059257,1053059257 | |
2191 ++.long 741614648,741614648 | |
2192 ++.long 1598071746,1598071746 | |
2193 ++.long 1925389590,1925389590 | |
2194 ++.long 203809468,203809468 | |
2195 ++.long 2336832552,2336832552 | |
2196 ++.long 1100287487,1100287487 | |
2197 ++.long 1895934009,1895934009 | |
2198 ++.long 3736275976,3736275976 | |
2199 ++.long 2632234200,2632234200 | |
2200 ++.long 2428589668,2428589668 | |
2201 ++.long 1636092795,1636092795 | |
2202 ++.long 1890988757,1890988757 | |
2203 ++.long 1952214088,1952214088 | |
2204 ++.long 1113045200,1113045200 | |
2205 ++.byte 82,9,106,213,48,54,165,56 | |
2206 ++.byte 191,64,163,158,129,243,215,251 | |
2207 ++.byte 124,227,57,130,155,47,255,135 | |
2208 ++.byte 52,142,67,68,196,222,233,203 | |
2209 ++.byte 84,123,148,50,166,194,35,61 | |
2210 ++.byte 238,76,149,11,66,250,195,78 | |
2211 ++.byte 8,46,161,102,40,217,36,178 | |
2212 ++.byte 118,91,162,73,109,139,209,37 | |
2213 ++.byte 114,248,246,100,134,104,152,22 | |
2214 ++.byte 212,164,92,204,93,101,182,146 | |
2215 ++.byte 108,112,72,80,253,237,185,218 | |
2216 ++.byte 94,21,70,87,167,141,157,132 | |
2217 ++.byte 144,216,171,0,140,188,211,10 | |
2218 ++.byte 247,228,88,5,184,179,69,6 | |
2219 ++.byte 208,44,30,143,202,63,15,2 | |
2220 ++.byte 193,175,189,3,1,19,138,107 | |
2221 ++.byte 58,145,17,65,79,103,220,234 | |
2222 ++.byte 151,242,207,206,240,180,230,115 | |
2223 ++.byte 150,172,116,34,231,173,53,133 | |
2224 ++.byte 226,249,55,232,28,117,223,110 | |
2225 ++.byte 71,241,26,113,29,41,197,137 | |
2226 ++.byte 111,183,98,14,170,24,190,27 | |
2227 ++.byte 252,86,62,75,198,210,121,32 | |
2228 ++.byte 154,219,192,254,120,205,90,244 | |
2229 ++.byte 31,221,168,51,136,7,199,49 | |
2230 ++.byte 177,18,16,89,39,128,236,95 | |
2231 ++.byte 96,81,127,169,25,181,74,13 | |
2232 ++.byte 45,229,122,159,147,201,156,239 | |
2233 ++.byte 160,224,59,77,174,42,245,176 | |
2234 ++.byte 200,235,187,60,131,83,153,97 | |
2235 ++.byte 23,43,4,126,186,119,214,38 | |
2236 ++.byte 225,105,20,99,85,33,12,125 | |
2237 ++.byte 82,9,106,213,48,54,165,56 | |
2238 ++.byte 191,64,163,158,129,243,215,251 | |
2239 ++.byte 124,227,57,130,155,47,255,135 | |
2240 ++.byte 52,142,67,68,196,222,233,203 | |
2241 ++.byte 84,123,148,50,166,194,35,61 | |
2242 ++.byte 238,76,149,11,66,250,195,78 | |
2243 ++.byte 8,46,161,102,40,217,36,178 | |
2244 ++.byte 118,91,162,73,109,139,209,37 | |
2245 ++.byte 114,248,246,100,134,104,152,22 | |
2246 ++.byte 212,164,92,204,93,101,182,146 | |
2247 ++.byte 108,112,72,80,253,237,185,218 | |
2248 ++.byte 94,21,70,87,167,141,157,132 | |
2249 ++.byte 144,216,171,0,140,188,211,10 | |
2250 ++.byte 247,228,88,5,184,179,69,6 | |
2251 ++.byte 208,44,30,143,202,63,15,2 | |
2252 ++.byte 193,175,189,3,1,19,138,107 | |
2253 ++.byte 58,145,17,65,79,103,220,234 | |
2254 ++.byte 151,242,207,206,240,180,230,115 | |
2255 ++.byte 150,172,116,34,231,173,53,133 | |
2256 ++.byte 226,249,55,232,28,117,223,110 | |
2257 ++.byte 71,241,26,113,29,41,197,137 | |
2258 ++.byte 111,183,98,14,170,24,190,27 | |
2259 ++.byte 252,86,62,75,198,210,121,32 | |
2260 ++.byte 154,219,192,254,120,205,90,244 | |
2261 ++.byte 31,221,168,51,136,7,199,49 | |
2262 ++.byte 177,18,16,89,39,128,236,95 | |
2263 ++.byte 96,81,127,169,25,181,74,13 | |
2264 ++.byte 45,229,122,159,147,201,156,239 | |
2265 ++.byte 160,224,59,77,174,42,245,176 | |
2266 ++.byte 200,235,187,60,131,83,153,97 | |
2267 ++.byte 23,43,4,126,186,119,214,38 | |
2268 ++.byte 225,105,20,99,85,33,12,125 | |
2269 ++.byte 82,9,106,213,48,54,165,56 | |
2270 ++.byte 191,64,163,158,129,243,215,251 | |
2271 ++.byte 124,227,57,130,155,47,255,135 | |
2272 ++.byte 52,142,67,68,196,222,233,203 | |
2273 ++.byte 84,123,148,50,166,194,35,61 | |
2274 ++.byte 238,76,149,11,66,250,195,78 | |
2275 ++.byte 8,46,161,102,40,217,36,178 | |
2276 ++.byte 118,91,162,73,109,139,209,37 | |
2277 ++.byte 114,248,246,100,134,104,152,22 | |
2278 ++.byte 212,164,92,204,93,101,182,146 | |
2279 ++.byte 108,112,72,80,253,237,185,218 | |
2280 ++.byte 94,21,70,87,167,141,157,132 | |
2281 ++.byte 144,216,171,0,140,188,211,10 | |
2282 ++.byte 247,228,88,5,184,179,69,6 | |
2283 ++.byte 208,44,30,143,202,63,15,2 | |
2284 ++.byte 193,175,189,3,1,19,138,107 | |
2285 ++.byte 58,145,17,65,79,103,220,234 | |
2286 ++.byte 151,242,207,206,240,180,230,115 | |
2287 ++.byte 150,172,116,34,231,173,53,133 | |
2288 ++.byte 226,249,55,232,28,117,223,110 | |
2289 ++.byte 71,241,26,113,29,41,197,137 | |
2290 ++.byte 111,183,98,14,170,24,190,27 | |
2291 ++.byte 252,86,62,75,198,210,121,32 | |
2292 ++.byte 154,219,192,254,120,205,90,244 | |
2293 ++.byte 31,221,168,51,136,7,199,49 | |
2294 ++.byte 177,18,16,89,39,128,236,95 | |
2295 ++.byte 96,81,127,169,25,181,74,13 | |
2296 ++.byte 45,229,122,159,147,201,156,239 | |
2297 ++.byte 160,224,59,77,174,42,245,176 | |
2298 ++.byte 200,235,187,60,131,83,153,97 | |
2299 ++.byte 23,43,4,126,186,119,214,38 | |
2300 ++.byte 225,105,20,99,85,33,12,125 | |
2301 ++.byte 82,9,106,213,48,54,165,56 | |
2302 ++.byte 191,64,163,158,129,243,215,251 | |
2303 ++.byte 124,227,57,130,155,47,255,135 | |
2304 ++.byte 52,142,67,68,196,222,233,203 | |
2305 ++.byte 84,123,148,50,166,194,35,61 | |
2306 ++.byte 238,76,149,11,66,250,195,78 | |
2307 ++.byte 8,46,161,102,40,217,36,178 | |
2308 ++.byte 118,91,162,73,109,139,209,37 | |
2309 ++.byte 114,248,246,100,134,104,152,22 | |
2310 ++.byte 212,164,92,204,93,101,182,146 | |
2311 ++.byte 108,112,72,80,253,237,185,218 | |
2312 ++.byte 94,21,70,87,167,141,157,132 | |
2313 ++.byte 144,216,171,0,140,188,211,10 | |
2314 ++.byte 247,228,88,5,184,179,69,6 | |
2315 ++.byte 208,44,30,143,202,63,15,2 | |
2316 ++.byte 193,175,189,3,1,19,138,107 | |
2317 ++.byte 58,145,17,65,79,103,220,234 | |
2318 ++.byte 151,242,207,206,240,180,230,115 | |
2319 ++.byte 150,172,116,34,231,173,53,133 | |
2320 ++.byte 226,249,55,232,28,117,223,110 | |
2321 ++.byte 71,241,26,113,29,41,197,137 | |
2322 ++.byte 111,183,98,14,170,24,190,27 | |
2323 ++.byte 252,86,62,75,198,210,121,32 | |
2324 ++.byte 154,219,192,254,120,205,90,244 | |
2325 ++.byte 31,221,168,51,136,7,199,49 | |
2326 ++.byte 177,18,16,89,39,128,236,95 | |
2327 ++.byte 96,81,127,169,25,181,74,13 | |
2328 ++.byte 45,229,122,159,147,201,156,239 | |
2329 ++.byte 160,224,59,77,174,42,245,176 | |
2330 ++.byte 200,235,187,60,131,83,153,97 | |
2331 ++.byte 23,43,4,126,186,119,214,38 | |
2332 ++.byte 225,105,20,99,85,33,12,125 | |
2333 ++.globl _AES_decrypt | |
2334 ++.align 4 | |
2335 ++_AES_decrypt: | |
2336 ++L_AES_decrypt_begin: | |
2337 ++ pushl %ebp | |
2338 ++ pushl %ebx | |
2339 ++ pushl %esi | |
2340 ++ pushl %edi | |
2341 ++ movl 20(%esp),%esi | |
2342 ++ movl 28(%esp),%edi | |
2343 ++ movl %esp,%eax | |
2344 ++ subl $36,%esp | |
2345 ++ andl $-64,%esp | |
2346 ++ leal -127(%edi),%ebx | |
2347 ++ subl %esp,%ebx | |
2348 ++ negl %ebx | |
2349 ++ andl $960,%ebx | |
2350 ++ subl %ebx,%esp | |
2351 ++ addl $4,%esp | |
2352 ++ movl %eax,28(%esp) | |
2353 ++ call L010pic_point | |
2354 ++L010pic_point: | |
2355 ++ popl %ebp | |
2356 ++ movl L_OPENSSL_ia32cap_P$non_lazy_ptr-L010pic_point(%ebp),%eax | |
2357 ++ leal LAES_Td-L010pic_point(%ebp),%ebp | |
2358 ++ leal 764(%esp),%ebx | |
2359 ++ subl %ebp,%ebx | |
2360 ++ andl $768,%ebx | |
2361 ++ leal 2176(%ebp,%ebx,1),%ebp | |
2362 ++ btl $25,(%eax) | |
2363 ++ jnc L011x86 | |
2364 ++ movq (%esi),%mm0 | |
2365 ++ movq 8(%esi),%mm4 | |
2366 ++ call __sse_AES_decrypt_compact | |
2367 ++ movl 28(%esp),%esp | |
2368 ++ movl 24(%esp),%esi | |
2369 ++ movq %mm0,(%esi) | |
2370 ++ movq %mm4,8(%esi) | |
2371 ++ emms | |
2372 ++ popl %edi | |
2373 ++ popl %esi | |
2374 ++ popl %ebx | |
2375 ++ popl %ebp | |
2376 ++ ret | |
2377 ++.align 4,0x90 | |
2378 ++L011x86: | |
2379 ++ movl %ebp,24(%esp) | |
2380 ++ movl (%esi),%eax | |
2381 ++ movl 4(%esi),%ebx | |
2382 ++ movl 8(%esi),%ecx | |
2383 ++ movl 12(%esi),%edx | |
2384 ++ call __x86_AES_decrypt_compact | |
2385 ++ movl 28(%esp),%esp | |
2386 ++ movl 24(%esp),%esi | |
2387 ++ movl %eax,(%esi) | |
2388 ++ movl %ebx,4(%esi) | |
2389 ++ movl %ecx,8(%esi) | |
2390 ++ movl %edx,12(%esi) | |
2391 ++ popl %edi | |
2392 ++ popl %esi | |
2393 ++ popl %ebx | |
2394 ++ popl %ebp | |
2395 ++ ret | |
2396 ++.globl _AES_cbc_encrypt | |
2397 ++.align 4 | |
2398 ++_AES_cbc_encrypt: | |
2399 ++L_AES_cbc_encrypt_begin: | |
2400 ++ pushl %ebp | |
2401 ++ pushl %ebx | |
2402 ++ pushl %esi | |
2403 ++ pushl %edi | |
2404 ++ movl 28(%esp),%ecx | |
2405 ++ cmpl $0,%ecx | |
2406 ++ je L012drop_out | |
2407 ++ call L013pic_point | |
2408 ++L013pic_point: | |
2409 ++ popl %ebp | |
2410 ++ movl L_OPENSSL_ia32cap_P$non_lazy_ptr-L013pic_point(%ebp),%eax | |
2411 ++ cmpl $0,40(%esp) | |
2412 ++ leal LAES_Te-L013pic_point(%ebp),%ebp | |
2413 ++ jne L014picked_te | |
2414 ++ leal LAES_Td-LAES_Te(%ebp),%ebp | |
2415 ++L014picked_te: | |
2416 ++ pushfl | |
2417 ++ cld | |
2418 ++ cmpl $512,%ecx | |
2419 ++ jb L015slow_way | |
2420 ++ testl $15,%ecx | |
2421 ++ jnz L015slow_way | |
2422 ++ btl $28,(%eax) | |
2423 ++ jc L015slow_way | |
2424 ++ leal -324(%esp),%esi | |
2425 ++ andl $-64,%esi | |
2426 ++ movl %ebp,%eax | |
2427 ++ leal 2304(%ebp),%ebx | |
2428 ++ movl %esi,%edx | |
2429 ++ andl $4095,%eax | |
2430 ++ andl $4095,%ebx | |
2431 ++ andl $4095,%edx | |
2432 ++ cmpl %ebx,%edx | |
2433 ++ jb L016tbl_break_out | |
2434 ++ subl %ebx,%edx | |
2435 ++ subl %edx,%esi | |
2436 ++ jmp L017tbl_ok | |
2437 ++.align 2,0x90 | |
2438 ++L016tbl_break_out: | |
2439 ++ subl %eax,%edx | |
2440 ++ andl $4095,%edx | |
2441 ++ addl $384,%edx | |
2442 ++ subl %edx,%esi | |
2443 ++.align 2,0x90 | |
2444 ++L017tbl_ok: | |
2445 ++ leal 24(%esp),%edx | |
2446 ++ xchgl %esi,%esp | |
2447 ++ addl $4,%esp | |
2448 ++ movl %ebp,24(%esp) | |
2449 ++ movl %esi,28(%esp) | |
2450 ++ movl (%edx),%eax | |
2451 ++ movl 4(%edx),%ebx | |
2452 ++ movl 12(%edx),%edi | |
2453 ++ movl 16(%edx),%esi | |
2454 ++ movl 20(%edx),%edx | |
2455 ++ movl %eax,32(%esp) | |
2456 ++ movl %ebx,36(%esp) | |
2457 ++ movl %ecx,40(%esp) | |
2458 ++ movl %edi,44(%esp) | |
2459 ++ movl %esi,48(%esp) | |
2460 ++ movl $0,316(%esp) | |
2461 ++ movl %edi,%ebx | |
2462 ++ movl $61,%ecx | |
2463 ++ subl %ebp,%ebx | |
2464 ++ movl %edi,%esi | |
2465 ++ andl $4095,%ebx | |
2466 ++ leal 76(%esp),%edi | |
2467 ++ cmpl $2304,%ebx | |
2468 ++ jb L018do_copy | |
2469 ++ cmpl $3852,%ebx | |
2470 ++ jb L019skip_copy | |
2471 ++.align 2,0x90 | |
2472 ++L018do_copy: | |
2473 ++ movl %edi,44(%esp) | |
2474 ++.long 2784229001 | |
2475 ++L019skip_copy: | |
2476 ++ movl $16,%edi | |
2477 ++.align 2,0x90 | |
2478 ++L020prefetch_tbl: | |
2479 ++ movl (%ebp),%eax | |
2480 ++ movl 32(%ebp),%ebx | |
2481 ++ movl 64(%ebp),%ecx | |
2482 ++ movl 96(%ebp),%esi | |
2483 ++ leal 128(%ebp),%ebp | |
2484 ++ subl $1,%edi | |
2485 ++ jnz L020prefetch_tbl | |
2486 ++ subl $2048,%ebp | |
2487 ++ movl 32(%esp),%esi | |
2488 ++ movl 48(%esp),%edi | |
2489 ++ cmpl $0,%edx | |
2490 ++ je L021fast_decrypt | |
2491 ++ movl (%edi),%eax | |
2492 ++ movl 4(%edi),%ebx | |
2493 ++.align 4,0x90 | |
2494 ++L022fast_enc_loop: | |
2495 ++ movl 8(%edi),%ecx | |
2496 ++ movl 12(%edi),%edx | |
2497 ++ xorl (%esi),%eax | |
2498 ++ xorl 4(%esi),%ebx | |
2499 ++ xorl 8(%esi),%ecx | |
2500 ++ xorl 12(%esi),%edx | |
2501 ++ movl 44(%esp),%edi | |
2502 ++ call __x86_AES_encrypt | |
2503 ++ movl 32(%esp),%esi | |
2504 ++ movl 36(%esp),%edi | |
2505 ++ movl %eax,(%edi) | |
2506 ++ movl %ebx,4(%edi) | |
2507 ++ movl %ecx,8(%edi) | |
2508 ++ movl %edx,12(%edi) | |
2509 ++ leal 16(%esi),%esi | |
2510 ++ movl 40(%esp),%ecx | |
2511 ++ movl %esi,32(%esp) | |
2512 ++ leal 16(%edi),%edx | |
2513 ++ movl %edx,36(%esp) | |
2514 ++ subl $16,%ecx | |
2515 ++ movl %ecx,40(%esp) | |
2516 ++ jnz L022fast_enc_loop | |
2517 ++ movl 48(%esp),%esi | |
2518 ++ movl 8(%edi),%ecx | |
2519 ++ movl 12(%edi),%edx | |
2520 ++ movl %eax,(%esi) | |
2521 ++ movl %ebx,4(%esi) | |
2522 ++ movl %ecx,8(%esi) | |
2523 ++ movl %edx,12(%esi) | |
2524 ++ cmpl $0,316(%esp) | |
2525 ++ movl 44(%esp),%edi | |
2526 ++ je L023skip_ezero | |
2527 ++ movl $60,%ecx | |
2528 ++ xorl %eax,%eax | |
2529 ++.align 2,0x90 | |
2530 ++.long 2884892297 | |
2531 ++L023skip_ezero: | |
2532 ++ movl 28(%esp),%esp | |
2533 ++ popfl | |
2534 ++L012drop_out: | |
2535 ++ popl %edi | |
2536 ++ popl %esi | |
2537 ++ popl %ebx | |
2538 ++ popl %ebp | |
2539 ++ ret | |
2540 ++ pushfl | |
2541 ++.align 4,0x90 | |
2542 ++L021fast_decrypt: | |
2543 ++ cmpl 36(%esp),%esi | |
2544 ++ je L024fast_dec_in_place | |
2545 ++ movl %edi,52(%esp) | |
2546 ++.align 2,0x90 | |
2547 ++.align 4,0x90 | |
2548 ++L025fast_dec_loop: | |
2549 ++ movl (%esi),%eax | |
2550 ++ movl 4(%esi),%ebx | |
2551 ++ movl 8(%esi),%ecx | |
2552 ++ movl 12(%esi),%edx | |
2553 ++ movl 44(%esp),%edi | |
2554 ++ call __x86_AES_decrypt | |
2555 ++ movl 52(%esp),%edi | |
2556 ++ movl 40(%esp),%esi | |
2557 ++ xorl (%edi),%eax | |
2558 ++ xorl 4(%edi),%ebx | |
2559 ++ xorl 8(%edi),%ecx | |
2560 ++ xorl 12(%edi),%edx | |
2561 ++ movl 36(%esp),%edi | |
2562 ++ movl 32(%esp),%esi | |
2563 ++ movl %eax,(%edi) | |
2564 ++ movl %ebx,4(%edi) | |
2565 ++ movl %ecx,8(%edi) | |
2566 ++ movl %edx,12(%edi) | |
2567 ++ movl 40(%esp),%ecx | |
2568 ++ movl %esi,52(%esp) | |
2569 ++ leal 16(%esi),%esi | |
2570 ++ movl %esi,32(%esp) | |
2571 ++ leal 16(%edi),%edi | |
2572 ++ movl %edi,36(%esp) | |
2573 ++ subl $16,%ecx | |
2574 ++ movl %ecx,40(%esp) | |
2575 ++ jnz L025fast_dec_loop | |
2576 ++ movl 52(%esp),%edi | |
2577 ++ movl 48(%esp),%esi | |
2578 ++ movl (%edi),%eax | |
2579 ++ movl 4(%edi),%ebx | |
2580 ++ movl 8(%edi),%ecx | |
2581 ++ movl 12(%edi),%edx | |
2582 ++ movl %eax,(%esi) | |
2583 ++ movl %ebx,4(%esi) | |
2584 ++ movl %ecx,8(%esi) | |
2585 ++ movl %edx,12(%esi) | |
2586 ++ jmp L026fast_dec_out | |
2587 ++.align 4,0x90 | |
2588 ++L024fast_dec_in_place: | |
2589 ++L027fast_dec_in_place_loop: | |
2590 ++ movl (%esi),%eax | |
2591 ++ movl 4(%esi),%ebx | |
2592 ++ movl 8(%esi),%ecx | |
2593 ++ movl 12(%esi),%edx | |
2594 ++ leal 60(%esp),%edi | |
2595 ++ movl %eax,(%edi) | |
2596 ++ movl %ebx,4(%edi) | |
2597 ++ movl %ecx,8(%edi) | |
2598 ++ movl %edx,12(%edi) | |
2599 ++ movl 44(%esp),%edi | |
2600 ++ call __x86_AES_decrypt | |
2601 ++ movl 48(%esp),%edi | |
2602 ++ movl 36(%esp),%esi | |
2603 ++ xorl (%edi),%eax | |
2604 ++ xorl 4(%edi),%ebx | |
2605 ++ xorl 8(%edi),%ecx | |
2606 ++ xorl 12(%edi),%edx | |
2607 ++ movl %eax,(%esi) | |
2608 ++ movl %ebx,4(%esi) | |
2609 ++ movl %ecx,8(%esi) | |
2610 ++ movl %edx,12(%esi) | |
2611 ++ leal 16(%esi),%esi | |
2612 ++ movl %esi,36(%esp) | |
2613 ++ leal 60(%esp),%esi | |
2614 ++ movl (%esi),%eax | |
2615 ++ movl 4(%esi),%ebx | |
2616 ++ movl 8(%esi),%ecx | |
2617 ++ movl 12(%esi),%edx | |
2618 ++ movl %eax,(%edi) | |
2619 ++ movl %ebx,4(%edi) | |
2620 ++ movl %ecx,8(%edi) | |
2621 ++ movl %edx,12(%edi) | |
2622 ++ movl 32(%esp),%esi | |
2623 ++ movl 40(%esp),%ecx | |
2624 ++ leal 16(%esi),%esi | |
2625 ++ movl %esi,32(%esp) | |
2626 ++ subl $16,%ecx | |
2627 ++ movl %ecx,40(%esp) | |
2628 ++ jnz L027fast_dec_in_place_loop | |
2629 ++.align 2,0x90 | |
2630 ++L026fast_dec_out: | |
2631 ++ cmpl $0,316(%esp) | |
2632 ++ movl 44(%esp),%edi | |
2633 ++ je L028skip_dzero | |
2634 ++ movl $60,%ecx | |
2635 ++ xorl %eax,%eax | |
2636 ++.align 2,0x90 | |
2637 ++.long 2884892297 | |
2638 ++L028skip_dzero: | |
2639 ++ movl 28(%esp),%esp | |
2640 ++ popfl | |
2641 ++ popl %edi | |
2642 ++ popl %esi | |
2643 ++ popl %ebx | |
2644 ++ popl %ebp | |
2645 ++ ret | |
2646 ++ pushfl | |
2647 ++.align 4,0x90 | |
2648 ++L015slow_way: | |
2649 ++ movl (%eax),%eax | |
2650 ++ movl 36(%esp),%edi | |
2651 ++ leal -80(%esp),%esi | |
2652 ++ andl $-64,%esi | |
2653 ++ leal -143(%edi),%ebx | |
2654 ++ subl %esi,%ebx | |
2655 ++ negl %ebx | |
2656 ++ andl $960,%ebx | |
2657 ++ subl %ebx,%esi | |
2658 ++ leal 768(%esi),%ebx | |
2659 ++ subl %ebp,%ebx | |
2660 ++ andl $768,%ebx | |
2661 ++ leal 2176(%ebp,%ebx,1),%ebp | |
2662 ++ leal 24(%esp),%edx | |
2663 ++ xchgl %esi,%esp | |
2664 ++ addl $4,%esp | |
2665 ++ movl %ebp,24(%esp) | |
2666 ++ movl %esi,28(%esp) | |
2667 ++ movl %eax,52(%esp) | |
2668 ++ movl (%edx),%eax | |
2669 ++ movl 4(%edx),%ebx | |
2670 ++ movl 16(%edx),%esi | |
2671 ++ movl 20(%edx),%edx | |
2672 ++ movl %eax,32(%esp) | |
2673 ++ movl %ebx,36(%esp) | |
2674 ++ movl %ecx,40(%esp) | |
2675 ++ movl %edi,44(%esp) | |
2676 ++ movl %esi,48(%esp) | |
2677 ++ movl %esi,%edi | |
2678 ++ movl %eax,%esi | |
2679 ++ cmpl $0,%edx | |
2680 ++ je L029slow_decrypt | |
2681 ++ cmpl $16,%ecx | |
2682 ++ movl %ebx,%edx | |
2683 ++ jb L030slow_enc_tail | |
2684 ++ btl $25,52(%esp) | |
2685 ++ jnc L031slow_enc_x86 | |
2686 ++ movq (%edi),%mm0 | |
2687 ++ movq 8(%edi),%mm4 | |
2688 ++.align 4,0x90 | |
2689 ++L032slow_enc_loop_sse: | |
2690 ++ pxor (%esi),%mm0 | |
2691 ++ pxor 8(%esi),%mm4 | |
2692 ++ movl 44(%esp),%edi | |
2693 ++ call __sse_AES_encrypt_compact | |
2694 ++ movl 32(%esp),%esi | |
2695 ++ movl 36(%esp),%edi | |
2696 ++ movl 40(%esp),%ecx | |
2697 ++ movq %mm0,(%edi) | |
2698 ++ movq %mm4,8(%edi) | |
2699 ++ leal 16(%esi),%esi | |
2700 ++ movl %esi,32(%esp) | |
2701 ++ leal 16(%edi),%edx | |
2702 ++ movl %edx,36(%esp) | |
2703 ++ subl $16,%ecx | |
2704 ++ cmpl $16,%ecx | |
2705 ++ movl %ecx,40(%esp) | |
2706 ++ jae L032slow_enc_loop_sse | |
2707 ++ testl $15,%ecx | |
2708 ++ jnz L030slow_enc_tail | |
2709 ++ movl 48(%esp),%esi | |
2710 ++ movq %mm0,(%esi) | |
2711 ++ movq %mm4,8(%esi) | |
2712 ++ emms | |
2713 ++ movl 28(%esp),%esp | |
2714 ++ popfl | |
2715 ++ popl %edi | |
2716 ++ popl %esi | |
2717 ++ popl %ebx | |
2718 ++ popl %ebp | |
2719 ++ ret | |
2720 ++ pushfl | |
2721 ++.align 4,0x90 | |
2722 ++L031slow_enc_x86: | |
2723 ++ movl (%edi),%eax | |
2724 ++ movl 4(%edi),%ebx | |
2725 ++.align 2,0x90 | |
2726 ++L033slow_enc_loop_x86: | |
2727 ++ movl 8(%edi),%ecx | |
2728 ++ movl 12(%edi),%edx | |
2729 ++ xorl (%esi),%eax | |
2730 ++ xorl 4(%esi),%ebx | |
2731 ++ xorl 8(%esi),%ecx | |
2732 ++ xorl 12(%esi),%edx | |
2733 ++ movl 44(%esp),%edi | |
2734 ++ call __x86_AES_encrypt_compact | |
2735 ++ movl 32(%esp),%esi | |
2736 ++ movl 36(%esp),%edi | |
2737 ++ movl %eax,(%edi) | |
2738 ++ movl %ebx,4(%edi) | |
2739 ++ movl %ecx,8(%edi) | |
2740 ++ movl %edx,12(%edi) | |
2741 ++ movl 40(%esp),%ecx | |
2742 ++ leal 16(%esi),%esi | |
2743 ++ movl %esi,32(%esp) | |
2744 ++ leal 16(%edi),%edx | |
2745 ++ movl %edx,36(%esp) | |
2746 ++ subl $16,%ecx | |
2747 ++ cmpl $16,%ecx | |
2748 ++ movl %ecx,40(%esp) | |
2749 ++ jae L033slow_enc_loop_x86 | |
2750 ++ testl $15,%ecx | |
2751 ++ jnz L030slow_enc_tail | |
2752 ++ movl 48(%esp),%esi | |
2753 ++ movl 8(%edi),%ecx | |
2754 ++ movl 12(%edi),%edx | |
2755 ++ movl %eax,(%esi) | |
2756 ++ movl %ebx,4(%esi) | |
2757 ++ movl %ecx,8(%esi) | |
2758 ++ movl %edx,12(%esi) | |
2759 ++ movl 28(%esp),%esp | |
2760 ++ popfl | |
2761 ++ popl %edi | |
2762 ++ popl %esi | |
2763 ++ popl %ebx | |
2764 ++ popl %ebp | |
2765 ++ ret | |
2766 ++ pushfl | |
2767 ++.align 4,0x90 | |
2768 ++L030slow_enc_tail: | |
2769 ++ emms | |
2770 ++ movl %edx,%edi | |
2771 ++ movl $16,%ebx | |
2772 ++ subl %ecx,%ebx | |
2773 ++ cmpl %esi,%edi | |
2774 ++ je L034enc_in_place | |
2775 ++.align 2,0x90 | |
2776 ++.long 2767451785 | |
2777 ++ jmp L035enc_skip_in_place | |
2778 ++L034enc_in_place: | |
2779 ++ leal (%edi,%ecx,1),%edi | |
2780 ++L035enc_skip_in_place: | |
2781 ++ movl %ebx,%ecx | |
2782 ++ xorl %eax,%eax | |
2783 ++.align 2,0x90 | |
2784 ++.long 2868115081 | |
2785 ++ movl 48(%esp),%edi | |
2786 ++ movl %edx,%esi | |
2787 ++ movl (%edi),%eax | |
2788 ++ movl 4(%edi),%ebx | |
2789 ++ movl $16,40(%esp) | |
2790 ++ jmp L033slow_enc_loop_x86 | |
2791 ++.align 4,0x90 | |
2792 ++L029slow_decrypt: | |
2793 ++ btl $25,52(%esp) | |
2794 ++ jnc L036slow_dec_loop_x86 | |
2795 ++.align 2,0x90 | |
2796 ++L037slow_dec_loop_sse: | |
2797 ++ movq (%esi),%mm0 | |
2798 ++ movq 8(%esi),%mm4 | |
2799 ++ movl 44(%esp),%edi | |
2800 ++ call __sse_AES_decrypt_compact | |
2801 ++ movl 32(%esp),%esi | |
2802 ++ leal 60(%esp),%eax | |
2803 ++ movl 36(%esp),%ebx | |
2804 ++ movl 40(%esp),%ecx | |
2805 ++ movl 48(%esp),%edi | |
2806 ++ movq (%esi),%mm1 | |
2807 ++ movq 8(%esi),%mm5 | |
2808 ++ pxor (%edi),%mm0 | |
2809 ++ pxor 8(%edi),%mm4 | |
2810 ++ movq %mm1,(%edi) | |
2811 ++ movq %mm5,8(%edi) | |
2812 ++ subl $16,%ecx | |
2813 ++ jc L038slow_dec_partial_sse | |
2814 ++ movq %mm0,(%ebx) | |
2815 ++ movq %mm4,8(%ebx) | |
2816 ++ leal 16(%ebx),%ebx | |
2817 ++ movl %ebx,36(%esp) | |
2818 ++ leal 16(%esi),%esi | |
2819 ++ movl %esi,32(%esp) | |
2820 ++ movl %ecx,40(%esp) | |
2821 ++ jnz L037slow_dec_loop_sse | |
2822 ++ emms | |
2823 ++ movl 28(%esp),%esp | |
2824 ++ popfl | |
2825 ++ popl %edi | |
2826 ++ popl %esi | |
2827 ++ popl %ebx | |
2828 ++ popl %ebp | |
2829 ++ ret | |
2830 ++ pushfl | |
2831 ++.align 4,0x90 | |
2832 ++L038slow_dec_partial_sse: | |
2833 ++ movq %mm0,(%eax) | |
2834 ++ movq %mm4,8(%eax) | |
2835 ++ emms | |
2836 ++ addl $16,%ecx | |
2837 ++ movl %ebx,%edi | |
2838 ++ movl %eax,%esi | |
2839 ++.align 2,0x90 | |
2840 ++.long 2767451785 | |
2841 ++ movl 28(%esp),%esp | |
2842 ++ popfl | |
2843 ++ popl %edi | |
2844 ++ popl %esi | |
2845 ++ popl %ebx | |
2846 ++ popl %ebp | |
2847 ++ ret | |
2848 ++ pushfl | |
2849 ++.align 4,0x90 | |
2850 ++L036slow_dec_loop_x86: | |
2851 ++ movl (%esi),%eax | |
2852 ++ movl 4(%esi),%ebx | |
2853 ++ movl 8(%esi),%ecx | |
2854 ++ movl 12(%esi),%edx | |
2855 ++ leal 60(%esp),%edi | |
2856 ++ movl %eax,(%edi) | |
2857 ++ movl %ebx,4(%edi) | |
2858 ++ movl %ecx,8(%edi) | |
2859 ++ movl %edx,12(%edi) | |
2860 ++ movl 44(%esp),%edi | |
2861 ++ call __x86_AES_decrypt_compact | |
2862 ++ movl 48(%esp),%edi | |
2863 ++ movl 40(%esp),%esi | |
2864 ++ xorl (%edi),%eax | |
2865 ++ xorl 4(%edi),%ebx | |
2866 ++ xorl 8(%edi),%ecx | |
2867 ++ xorl 12(%edi),%edx | |
2868 ++ subl $16,%esi | |
2869 ++ jc L039slow_dec_partial_x86 | |
2870 ++ movl %esi,40(%esp) | |
2871 ++ movl 36(%esp),%esi | |
2872 ++ movl %eax,(%esi) | |
2873 ++ movl %ebx,4(%esi) | |
2874 ++ movl %ecx,8(%esi) | |
2875 ++ movl %edx,12(%esi) | |
2876 ++ leal 16(%esi),%esi | |
2877 ++ movl %esi,36(%esp) | |
2878 ++ leal 60(%esp),%esi | |
2879 ++ movl (%esi),%eax | |
2880 ++ movl 4(%esi),%ebx | |
2881 ++ movl 8(%esi),%ecx | |
2882 ++ movl 12(%esi),%edx | |
2883 ++ movl %eax,(%edi) | |
2884 ++ movl %ebx,4(%edi) | |
2885 ++ movl %ecx,8(%edi) | |
2886 ++ movl %edx,12(%edi) | |
2887 ++ movl 32(%esp),%esi | |
2888 ++ leal 16(%esi),%esi | |
2889 ++ movl %esi,32(%esp) | |
2890 ++ jnz L036slow_dec_loop_x86 | |
2891 ++ movl 28(%esp),%esp | |
2892 ++ popfl | |
2893 ++ popl %edi | |
2894 ++ popl %esi | |
2895 ++ popl %ebx | |
2896 ++ popl %ebp | |
2897 ++ ret | |
2898 ++ pushfl | |
2899 ++.align 4,0x90 | |
2900 ++L039slow_dec_partial_x86: | |
2901 ++ leal 60(%esp),%esi | |
2902 ++ movl %eax,(%esi) | |
2903 ++ movl %ebx,4(%esi) | |
2904 ++ movl %ecx,8(%esi) | |
2905 ++ movl %edx,12(%esi) | |
2906 ++ movl 32(%esp),%esi | |
2907 ++ movl (%esi),%eax | |
2908 ++ movl 4(%esi),%ebx | |
2909 ++ movl 8(%esi),%ecx | |
2910 ++ movl 12(%esi),%edx | |
2911 ++ movl %eax,(%edi) | |
2912 ++ movl %ebx,4(%edi) | |
2913 ++ movl %ecx,8(%edi) | |
2914 ++ movl %edx,12(%edi) | |
2915 ++ movl 40(%esp),%ecx | |
2916 ++ movl 36(%esp),%edi | |
2917 ++ leal 60(%esp),%esi | |
2918 ++.align 2,0x90 | |
2919 ++.long 2767451785 | |
2920 ++ movl 28(%esp),%esp | |
2921 ++ popfl | |
2922 ++ popl %edi | |
2923 ++ popl %esi | |
2924 ++ popl %ebx | |
2925 ++ popl %ebp | |
2926 ++ ret | |
2927 ++.align 4 | |
2928 ++__x86_AES_set_encrypt_key: | |
2929 ++ pushl %ebp | |
2930 ++ pushl %ebx | |
2931 ++ pushl %esi | |
2932 ++ pushl %edi | |
2933 ++ movl 24(%esp),%esi | |
2934 ++ movl 32(%esp),%edi | |
2935 ++ testl $-1,%esi | |
2936 ++ jz L040badpointer | |
2937 ++ testl $-1,%edi | |
2938 ++ jz L040badpointer | |
2939 ++ call L041pic_point | |
2940 ++L041pic_point: | |
2941 ++ popl %ebp | |
2942 ++ leal LAES_Te-L041pic_point(%ebp),%ebp | |
2943 ++ leal 2176(%ebp),%ebp | |
2944 ++ movl -128(%ebp),%eax | |
2945 ++ movl -96(%ebp),%ebx | |
2946 ++ movl -64(%ebp),%ecx | |
2947 ++ movl -32(%ebp),%edx | |
2948 ++ movl (%ebp),%eax | |
2949 ++ movl 32(%ebp),%ebx | |
2950 ++ movl 64(%ebp),%ecx | |
2951 ++ movl 96(%ebp),%edx | |
2952 ++ movl 28(%esp),%ecx | |
2953 ++ cmpl $128,%ecx | |
2954 ++ je L04210rounds | |
2955 ++ cmpl $192,%ecx | |
2956 ++ je L04312rounds | |
2957 ++ cmpl $256,%ecx | |
2958 ++ je L04414rounds | |
2959 ++ movl $-2,%eax | |
2960 ++ jmp L045exit | |
2961 ++L04210rounds: | |
2962 ++ movl (%esi),%eax | |
2963 ++ movl 4(%esi),%ebx | |
2964 ++ movl 8(%esi),%ecx | |
2965 ++ movl 12(%esi),%edx | |
2966 ++ movl %eax,(%edi) | |
2967 ++ movl %ebx,4(%edi) | |
2968 ++ movl %ecx,8(%edi) | |
2969 ++ movl %edx,12(%edi) | |
2970 ++ xorl %ecx,%ecx | |
2971 ++ jmp L04610shortcut | |
2972 ++.align 2,0x90 | |
2973 ++L04710loop: | |
2974 ++ movl (%edi),%eax | |
2975 ++ movl 12(%edi),%edx | |
2976 ++L04610shortcut: | |
2977 ++ movzbl %dl,%esi | |
2978 ++ movzbl -128(%ebp,%esi,1),%ebx | |
2979 ++ movzbl %dh,%esi | |
2980 ++ shll $24,%ebx | |
2981 ++ xorl %ebx,%eax | |
2982 ++ movzbl -128(%ebp,%esi,1),%ebx | |
2983 ++ shrl $16,%edx | |
2984 ++ movzbl %dl,%esi | |
2985 ++ xorl %ebx,%eax | |
2986 ++ movzbl -128(%ebp,%esi,1),%ebx | |
2987 ++ movzbl %dh,%esi | |
2988 ++ shll $8,%ebx | |
2989 ++ xorl %ebx,%eax | |
2990 ++ movzbl -128(%ebp,%esi,1),%ebx | |
2991 ++ shll $16,%ebx | |
2992 ++ xorl %ebx,%eax | |
2993 ++ xorl 896(%ebp,%ecx,4),%eax | |
2994 ++ movl %eax,16(%edi) | |
2995 ++ xorl 4(%edi),%eax | |
2996 ++ movl %eax,20(%edi) | |
2997 ++ xorl 8(%edi),%eax | |
2998 ++ movl %eax,24(%edi) | |
2999 ++ xorl 12(%edi),%eax | |
3000 ++ movl %eax,28(%edi) | |
3001 ++ incl %ecx | |
3002 ++ addl $16,%edi | |
3003 ++ cmpl $10,%ecx | |
3004 ++ jl L04710loop | |
3005 ++ movl $10,80(%edi) | |
3006 ++ xorl %eax,%eax | |
3007 ++ jmp L045exit | |
3008 ++L04312rounds: | |
3009 ++ movl (%esi),%eax | |
3010 ++ movl 4(%esi),%ebx | |
3011 ++ movl 8(%esi),%ecx | |
3012 ++ movl 12(%esi),%edx | |
3013 ++ movl %eax,(%edi) | |
3014 ++ movl %ebx,4(%edi) | |
3015 ++ movl %ecx,8(%edi) | |
3016 ++ movl %edx,12(%edi) | |
3017 ++ movl 16(%esi),%ecx | |
3018 ++ movl 20(%esi),%edx | |
3019 ++ movl %ecx,16(%edi) | |
3020 ++ movl %edx,20(%edi) | |
3021 ++ xorl %ecx,%ecx | |
3022 ++ jmp L04812shortcut | |
3023 ++.align 2,0x90 | |
3024 ++L04912loop: | |
3025 ++ movl (%edi),%eax | |
3026 ++ movl 20(%edi),%edx | |
3027 ++L04812shortcut: | |
3028 ++ movzbl %dl,%esi | |
3029 ++ movzbl -128(%ebp,%esi,1),%ebx | |
3030 ++ movzbl %dh,%esi | |
3031 ++ shll $24,%ebx | |
3032 ++ xorl %ebx,%eax | |
3033 ++ movzbl -128(%ebp,%esi,1),%ebx | |
3034 ++ shrl $16,%edx | |
3035 ++ movzbl %dl,%esi | |
3036 ++ xorl %ebx,%eax | |
3037 ++ movzbl -128(%ebp,%esi,1),%ebx | |
3038 ++ movzbl %dh,%esi | |
3039 ++ shll $8,%ebx | |
3040 ++ xorl %ebx,%eax | |
3041 ++ movzbl -128(%ebp,%esi,1),%ebx | |
3042 ++ shll $16,%ebx | |
3043 ++ xorl %ebx,%eax | |
3044 ++ xorl 896(%ebp,%ecx,4),%eax | |
3045 ++ movl %eax,24(%edi) | |
3046 ++ xorl 4(%edi),%eax | |
3047 ++ movl %eax,28(%edi) | |
3048 ++ xorl 8(%edi),%eax | |
3049 ++ movl %eax,32(%edi) | |
3050 ++ xorl 12(%edi),%eax | |
3051 ++ movl %eax,36(%edi) | |
3052 ++ cmpl $7,%ecx | |
3053 ++ je L05012break | |
3054 ++ incl %ecx | |
3055 ++ xorl 16(%edi),%eax | |
3056 ++ movl %eax,40(%edi) | |
3057 ++ xorl 20(%edi),%eax | |
3058 ++ movl %eax,44(%edi) | |
3059 ++ addl $24,%edi | |
3060 ++ jmp L04912loop | |
3061 ++L05012break: | |
3062 ++ movl $12,72(%edi) | |
3063 ++ xorl %eax,%eax | |
3064 ++ jmp L045exit | |
3065 ++L04414rounds: | |
3066 ++ movl (%esi),%eax | |
3067 ++ movl 4(%esi),%ebx | |
3068 ++ movl 8(%esi),%ecx | |
3069 ++ movl 12(%esi),%edx | |
3070 ++ movl %eax,(%edi) | |
3071 ++ movl %ebx,4(%edi) | |
3072 ++ movl %ecx,8(%edi) | |
3073 ++ movl %edx,12(%edi) | |
3074 ++ movl 16(%esi),%eax | |
3075 ++ movl 20(%esi),%ebx | |
3076 ++ movl 24(%esi),%ecx | |
3077 ++ movl 28(%esi),%edx | |
3078 ++ movl %eax,16(%edi) | |
3079 ++ movl %ebx,20(%edi) | |
3080 ++ movl %ecx,24(%edi) | |
3081 ++ movl %edx,28(%edi) | |
3082 ++ xorl %ecx,%ecx | |
3083 ++ jmp L05114shortcut | |
3084 ++.align 2,0x90 | |
3085 ++L05214loop: | |
3086 ++ movl 28(%edi),%edx | |
3087 ++L05114shortcut: | |
3088 ++ movl (%edi),%eax | |
3089 ++ movzbl %dl,%esi | |
3090 ++ movzbl -128(%ebp,%esi,1),%ebx | |
3091 ++ movzbl %dh,%esi | |
3092 ++ shll $24,%ebx | |
3093 ++ xorl %ebx,%eax | |
3094 ++ movzbl -128(%ebp,%esi,1),%ebx | |
3095 ++ shrl $16,%edx | |
3096 ++ movzbl %dl,%esi | |
3097 ++ xorl %ebx,%eax | |
3098 ++ movzbl -128(%ebp,%esi,1),%ebx | |
3099 ++ movzbl %dh,%esi | |
3100 ++ shll $8,%ebx | |
3101 ++ xorl %ebx,%eax | |
3102 ++ movzbl -128(%ebp,%esi,1),%ebx | |
3103 ++ shll $16,%ebx | |
3104 ++ xorl %ebx,%eax | |
3105 ++ xorl 896(%ebp,%ecx,4),%eax | |
3106 ++ movl %eax,32(%edi) | |
3107 ++ xorl 4(%edi),%eax | |
3108 ++ movl %eax,36(%edi) | |
3109 ++ xorl 8(%edi),%eax | |
3110 ++ movl %eax,40(%edi) | |
3111 ++ xorl 12(%edi),%eax | |
3112 ++ movl %eax,44(%edi) | |
3113 ++ cmpl $6,%ecx | |
3114 ++ je L05314break | |
3115 ++ incl %ecx | |
3116 ++ movl %eax,%edx | |
3117 ++ movl 16(%edi),%eax | |
3118 ++ movzbl %dl,%esi | |
3119 ++ movzbl -128(%ebp,%esi,1),%ebx | |
3120 ++ movzbl %dh,%esi | |
3121 ++ xorl %ebx,%eax | |
3122 ++ movzbl -128(%ebp,%esi,1),%ebx | |
3123 ++ shrl $16,%edx | |
3124 ++ shll $8,%ebx | |
3125 ++ movzbl %dl,%esi | |
3126 ++ xorl %ebx,%eax | |
3127 ++ movzbl -128(%ebp,%esi,1),%ebx | |
3128 ++ movzbl %dh,%esi | |
3129 ++ shll $16,%ebx | |
3130 ++ xorl %ebx,%eax | |
3131 ++ movzbl -128(%ebp,%esi,1),%ebx | |
3132 ++ shll $24,%ebx | |
3133 ++ xorl %ebx,%eax | |
3134 ++ movl %eax,48(%edi) | |
3135 ++ xorl 20(%edi),%eax | |
3136 ++ movl %eax,52(%edi) | |
3137 ++ xorl 24(%edi),%eax | |
3138 ++ movl %eax,56(%edi) | |
3139 ++ xorl 28(%edi),%eax | |
3140 ++ movl %eax,60(%edi) | |
3141 ++ addl $32,%edi | |
3142 ++ jmp L05214loop | |
3143 ++L05314break: | |
3144 ++ movl $14,48(%edi) | |
3145 ++ xorl %eax,%eax | |
3146 ++ jmp L045exit | |
3147 ++L040badpointer: | |
3148 ++ movl $-1,%eax | |
3149 ++L045exit: | |
3150 ++ popl %edi | |
3151 ++ popl %esi | |
3152 ++ popl %ebx | |
3153 ++ popl %ebp | |
3154 ++ ret | |
3155 ++.globl _private_AES_set_encrypt_key | |
3156 ++.align 4 | |
3157 ++_private_AES_set_encrypt_key: | |
3158 ++L_private_AES_set_encrypt_key_begin: | |
3159 ++ call __x86_AES_set_encrypt_key | |
3160 ++ ret | |
3161 ++.globl _private_AES_set_decrypt_key | |
3162 ++.align 4 | |
3163 ++_private_AES_set_decrypt_key: | |
3164 ++L_private_AES_set_decrypt_key_begin: | |
3165 ++ call __x86_AES_set_encrypt_key | |
3166 ++ cmpl $0,%eax | |
3167 ++ je L054proceed | |
3168 ++ ret | |
3169 ++L054proceed: | |
3170 ++ pushl %ebp | |
3171 ++ pushl %ebx | |
3172 ++ pushl %esi | |
3173 ++ pushl %edi | |
3174 ++ movl 28(%esp),%esi | |
3175 ++ movl 240(%esi),%ecx | |
3176 ++ leal (,%ecx,4),%ecx | |
3177 ++ leal (%esi,%ecx,4),%edi | |
3178 ++.align 2,0x90 | |
3179 ++L055invert: | |
3180 ++ movl (%esi),%eax | |
3181 ++ movl 4(%esi),%ebx | |
3182 ++ movl (%edi),%ecx | |
3183 ++ movl 4(%edi),%edx | |
3184 ++ movl %eax,(%edi) | |
3185 ++ movl %ebx,4(%edi) | |
3186 ++ movl %ecx,(%esi) | |
3187 ++ movl %edx,4(%esi) | |
3188 ++ movl 8(%esi),%eax | |
3189 ++ movl 12(%esi),%ebx | |
3190 ++ movl 8(%edi),%ecx | |
3191 ++ movl 12(%edi),%edx | |
3192 ++ movl %eax,8(%edi) | |
3193 ++ movl %ebx,12(%edi) | |
3194 ++ movl %ecx,8(%esi) | |
3195 ++ movl %edx,12(%esi) | |
3196 ++ addl $16,%esi | |
3197 ++ subl $16,%edi | |
3198 ++ cmpl %edi,%esi | |
3199 ++ jne L055invert | |
3200 ++ movl 28(%esp),%edi | |
3201 ++ movl 240(%edi),%esi | |
3202 ++ leal -2(%esi,%esi,1),%esi | |
3203 ++ leal (%edi,%esi,8),%esi | |
3204 ++ movl %esi,28(%esp) | |
3205 ++ movl 16(%edi),%eax | |
3206 ++.align 2,0x90 | |
3207 ++L056permute: | |
3208 ++ addl $16,%edi | |
3209 ++ movl %eax,%esi | |
3210 ++ andl $2155905152,%esi | |
3211 ++ movl %esi,%ebp | |
3212 ++ shrl $7,%ebp | |
3213 ++ leal (%eax,%eax,1),%ebx | |
3214 ++ subl %ebp,%esi | |
3215 ++ andl $4278124286,%ebx | |
3216 ++ andl $454761243,%esi | |
3217 ++ xorl %ebx,%esi | |
3218 ++ movl %esi,%ebx | |
3219 ++ andl $2155905152,%esi | |
3220 ++ movl %esi,%ebp | |
3221 ++ shrl $7,%ebp | |
3222 ++ leal (%ebx,%ebx,1),%ecx | |
3223 ++ subl %ebp,%esi | |
3224 ++ andl $4278124286,%ecx | |
3225 ++ andl $454761243,%esi | |
3226 ++ xorl %eax,%ebx | |
3227 ++ xorl %ecx,%esi | |
3228 ++ movl %esi,%ecx | |
3229 ++ andl $2155905152,%esi | |
3230 ++ movl %esi,%ebp | |
3231 ++ shrl $7,%ebp | |
3232 ++ leal (%ecx,%ecx,1),%edx | |
3233 ++ xorl %eax,%ecx | |
3234 ++ subl %ebp,%esi | |
3235 ++ andl $4278124286,%edx | |
3236 ++ andl $454761243,%esi | |
3237 ++ roll $8,%eax | |
3238 ++ xorl %esi,%edx | |
3239 ++ movl 4(%edi),%ebp | |
3240 ++ xorl %ebx,%eax | |
3241 ++ xorl %edx,%ebx | |
3242 ++ xorl %ecx,%eax | |
3243 ++ roll $24,%ebx | |
3244 ++ xorl %edx,%ecx | |
3245 ++ xorl %edx,%eax | |
3246 ++ roll $16,%ecx | |
3247 ++ xorl %ebx,%eax | |
3248 ++ roll $8,%edx | |
3249 ++ xorl %ecx,%eax | |
3250 ++ movl %ebp,%ebx | |
3251 ++ xorl %edx,%eax | |
3252 ++ movl %eax,(%edi) | |
3253 ++ movl %ebx,%esi | |
3254 ++ andl $2155905152,%esi | |
3255 ++ movl %esi,%ebp | |
3256 ++ shrl $7,%ebp | |
3257 ++ leal (%ebx,%ebx,1),%ecx | |
3258 ++ subl %ebp,%esi | |
3259 ++ andl $4278124286,%ecx | |
3260 ++ andl $454761243,%esi | |
3261 ++ xorl %ecx,%esi | |
3262 ++ movl %esi,%ecx | |
3263 ++ andl $2155905152,%esi | |
3264 ++ movl %esi,%ebp | |
3265 ++ shrl $7,%ebp | |
3266 ++ leal (%ecx,%ecx,1),%edx | |
3267 ++ subl %ebp,%esi | |
3268 ++ andl $4278124286,%edx | |
3269 ++ andl $454761243,%esi | |
3270 ++ xorl %ebx,%ecx | |
3271 ++ xorl %edx,%esi | |
3272 ++ movl %esi,%edx | |
3273 ++ andl $2155905152,%esi | |
3274 ++ movl %esi,%ebp | |
3275 ++ shrl $7,%ebp | |
3276 ++ leal (%edx,%edx,1),%eax | |
3277 ++ xorl %ebx,%edx | |
3278 ++ subl %ebp,%esi | |
3279 ++ andl $4278124286,%eax | |
3280 ++ andl $454761243,%esi | |
3281 ++ roll $8,%ebx | |
3282 ++ xorl %esi,%eax | |
3283 ++ movl 8(%edi),%ebp | |
3284 ++ xorl %ecx,%ebx | |
3285 ++ xorl %eax,%ecx | |
3286 ++ xorl %edx,%ebx | |
3287 ++ roll $24,%ecx | |
3288 ++ xorl %eax,%edx | |
3289 ++ xorl %eax,%ebx | |
3290 ++ roll $16,%edx | |
3291 ++ xorl %ecx,%ebx | |
3292 ++ roll $8,%eax | |
3293 ++ xorl %edx,%ebx | |
3294 ++ movl %ebp,%ecx | |
3295 ++ xorl %eax,%ebx | |
3296 ++ movl %ebx,4(%edi) | |
3297 ++ movl %ecx,%esi | |
3298 ++ andl $2155905152,%esi | |
3299 ++ movl %esi,%ebp | |
3300 ++ shrl $7,%ebp | |
3301 ++ leal (%ecx,%ecx,1),%edx | |
3302 ++ subl %ebp,%esi | |
3303 ++ andl $4278124286,%edx | |
3304 ++ andl $454761243,%esi | |
3305 ++ xorl %edx,%esi | |
3306 ++ movl %esi,%edx | |
3307 ++ andl $2155905152,%esi | |
3308 ++ movl %esi,%ebp | |
3309 ++ shrl $7,%ebp | |
3310 ++ leal (%edx,%edx,1),%eax | |
3311 ++ subl %ebp,%esi | |
3312 ++ andl $4278124286,%eax | |
3313 ++ andl $454761243,%esi | |
3314 ++ xorl %ecx,%edx | |
3315 ++ xorl %eax,%esi | |
3316 ++ movl %esi,%eax | |
3317 ++ andl $2155905152,%esi | |
3318 ++ movl %esi,%ebp | |
3319 ++ shrl $7,%ebp | |
3320 ++ leal (%eax,%eax,1),%ebx | |
3321 ++ xorl %ecx,%eax | |
3322 ++ subl %ebp,%esi | |
3323 ++ andl $4278124286,%ebx | |
3324 ++ andl $454761243,%esi | |
3325 ++ roll $8,%ecx | |
3326 ++ xorl %esi,%ebx | |
3327 ++ movl 12(%edi),%ebp | |
3328 ++ xorl %edx,%ecx | |
3329 ++ xorl %ebx,%edx | |
3330 ++ xorl %eax,%ecx | |
3331 ++ roll $24,%edx | |
3332 ++ xorl %ebx,%eax | |
3333 ++ xorl %ebx,%ecx | |
3334 ++ roll $16,%eax | |
3335 ++ xorl %edx,%ecx | |
3336 ++ roll $8,%ebx | |
3337 ++ xorl %eax,%ecx | |
3338 ++ movl %ebp,%edx | |
3339 ++ xorl %ebx,%ecx | |
3340 ++ movl %ecx,8(%edi) | |
3341 ++ movl %edx,%esi | |
3342 ++ andl $2155905152,%esi | |
3343 ++ movl %esi,%ebp | |
3344 ++ shrl $7,%ebp | |
3345 ++ leal (%edx,%edx,1),%eax | |
3346 ++ subl %ebp,%esi | |
3347 ++ andl $4278124286,%eax | |
3348 ++ andl $454761243,%esi | |
3349 ++ xorl %eax,%esi | |
3350 ++ movl %esi,%eax | |
3351 ++ andl $2155905152,%esi | |
3352 ++ movl %esi,%ebp | |
3353 ++ shrl $7,%ebp | |
3354 ++ leal (%eax,%eax,1),%ebx | |
3355 ++ subl %ebp,%esi | |
3356 ++ andl $4278124286,%ebx | |
3357 ++ andl $454761243,%esi | |
3358 ++ xorl %edx,%eax | |
3359 ++ xorl %ebx,%esi | |
3360 ++ movl %esi,%ebx | |
3361 ++ andl $2155905152,%esi | |
3362 ++ movl %esi,%ebp | |
3363 ++ shrl $7,%ebp | |
3364 ++ leal (%ebx,%ebx,1),%ecx | |
3365 ++ xorl %edx,%ebx | |
3366 ++ subl %ebp,%esi | |
3367 ++ andl $4278124286,%ecx | |
3368 ++ andl $454761243,%esi | |
3369 ++ roll $8,%edx | |
3370 ++ xorl %esi,%ecx | |
3371 ++ movl 16(%edi),%ebp | |
3372 ++ xorl %eax,%edx | |
3373 ++ xorl %ecx,%eax | |
3374 ++ xorl %ebx,%edx | |
3375 ++ roll $24,%eax | |
3376 ++ xorl %ecx,%ebx | |
3377 ++ xorl %ecx,%edx | |
3378 ++ roll $16,%ebx | |
3379 ++ xorl %eax,%edx | |
3380 ++ roll $8,%ecx | |
3381 ++ xorl %ebx,%edx | |
3382 ++ movl %ebp,%eax | |
3383 ++ xorl %ecx,%edx | |
3384 ++ movl %edx,12(%edi) | |
3385 ++ cmpl 28(%esp),%edi | |
3386 ++ jb L056permute | |
3387 ++ xorl %eax,%eax | |
3388 ++ popl %edi | |
3389 ++ popl %esi | |
3390 ++ popl %ebx | |
3391 ++ popl %ebp | |
3392 ++ ret | |
3393 ++.byte 65,69,83,32,102,111,114,32,120,56,54,44,32,67,82,89 | |
3394 ++.byte 80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114 | |
3395 ++.byte 111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 | |
3396 ++.section __IMPORT,__pointers,non_lazy_symbol_pointers | |
3397 ++L_OPENSSL_ia32cap_P$non_lazy_ptr: | |
3398 ++.indirect_symbol _OPENSSL_ia32cap_P | |
3399 ++.long 0 | |
3400 ++.comm _OPENSSL_ia32cap_P,8,2 | |
3401 +diff --git a/crypto/aes/asm/aesni-x86-mac.S b/crypto/aes/asm/aesni-x86-mac.S | |
3402 +new file mode 100644 | |
3403 +index 0000000..2bf45c6 | |
3404 +--- /dev/null | |
3405 ++++ b/crypto/aes/asm/aesni-x86-mac.S | |
3406 +@@ -0,0 +1,2107 @@ | |
3407 ++.file "crypto/aes/asm/aesni-x86.s" | |
3408 ++.text | |
3409 ++.globl _aesni_encrypt | |
3410 ++.align 4 | |
3411 ++_aesni_encrypt: | |
3412 ++L_aesni_encrypt_begin: | |
3413 ++ movl 4(%esp),%eax | |
3414 ++ movl 12(%esp),%edx | |
3415 ++ movups (%eax),%xmm2 | |
3416 ++ movl 240(%edx),%ecx | |
3417 ++ movl 8(%esp),%eax | |
3418 ++ movups (%edx),%xmm0 | |
3419 ++ movups 16(%edx),%xmm1 | |
3420 ++ leal 32(%edx),%edx | |
3421 ++ xorps %xmm0,%xmm2 | |
3422 ++L000enc1_loop_1: | |
3423 ++.byte 102,15,56,220,209 | |
3424 ++ decl %ecx | |
3425 ++ movups (%edx),%xmm1 | |
3426 ++ leal 16(%edx),%edx | |
3427 ++ jnz L000enc1_loop_1 | |
3428 ++.byte 102,15,56,221,209 | |
3429 ++ movups %xmm2,(%eax) | |
3430 ++ ret | |
3431 ++.globl _aesni_decrypt | |
3432 ++.align 4 | |
3433 ++_aesni_decrypt: | |
3434 ++L_aesni_decrypt_begin: | |
3435 ++ movl 4(%esp),%eax | |
3436 ++ movl 12(%esp),%edx | |
3437 ++ movups (%eax),%xmm2 | |
3438 ++ movl 240(%edx),%ecx | |
3439 ++ movl 8(%esp),%eax | |
3440 ++ movups (%edx),%xmm0 | |
3441 ++ movups 16(%edx),%xmm1 | |
3442 ++ leal 32(%edx),%edx | |
3443 ++ xorps %xmm0,%xmm2 | |
3444 ++L001dec1_loop_2: | |
3445 ++.byte 102,15,56,222,209 | |
3446 ++ decl %ecx | |
3447 ++ movups (%edx),%xmm1 | |
3448 ++ leal 16(%edx),%edx | |
3449 ++ jnz L001dec1_loop_2 | |
3450 ++.byte 102,15,56,223,209 | |
3451 ++ movups %xmm2,(%eax) | |
3452 ++ ret | |
3453 ++.align 4 | |
3454 ++__aesni_encrypt3: | |
3455 ++ movups (%edx),%xmm0 | |
3456 ++ shrl $1,%ecx | |
3457 ++ movups 16(%edx),%xmm1 | |
3458 ++ leal 32(%edx),%edx | |
3459 ++ xorps %xmm0,%xmm2 | |
3460 ++ pxor %xmm0,%xmm3 | |
3461 ++ pxor %xmm0,%xmm4 | |
3462 ++ movups (%edx),%xmm0 | |
3463 ++L002enc3_loop: | |
3464 ++.byte 102,15,56,220,209 | |
3465 ++.byte 102,15,56,220,217 | |
3466 ++ decl %ecx | |
3467 ++.byte 102,15,56,220,225 | |
3468 ++ movups 16(%edx),%xmm1 | |
3469 ++.byte 102,15,56,220,208 | |
3470 ++.byte 102,15,56,220,216 | |
3471 ++ leal 32(%edx),%edx | |
3472 ++.byte 102,15,56,220,224 | |
3473 ++ movups (%edx),%xmm0 | |
3474 ++ jnz L002enc3_loop | |
3475 ++.byte 102,15,56,220,209 | |
3476 ++.byte 102,15,56,220,217 | |
3477 ++.byte 102,15,56,220,225 | |
3478 ++.byte 102,15,56,221,208 | |
3479 ++.byte 102,15,56,221,216 | |
3480 ++.byte 102,15,56,221,224 | |
3481 ++ ret | |
3482 ++.align 4 | |
3483 ++__aesni_decrypt3: | |
3484 ++ movups (%edx),%xmm0 | |
3485 ++ shrl $1,%ecx | |
3486 ++ movups 16(%edx),%xmm1 | |
3487 ++ leal 32(%edx),%edx | |
3488 ++ xorps %xmm0,%xmm2 | |
3489 ++ pxor %xmm0,%xmm3 | |
3490 ++ pxor %xmm0,%xmm4 | |
3491 ++ movups (%edx),%xmm0 | |
3492 ++L003dec3_loop: | |
3493 ++.byte 102,15,56,222,209 | |
3494 ++.byte 102,15,56,222,217 | |
3495 ++ decl %ecx | |
3496 ++.byte 102,15,56,222,225 | |
3497 ++ movups 16(%edx),%xmm1 | |
3498 ++.byte 102,15,56,222,208 | |
3499 ++.byte 102,15,56,222,216 | |
3500 ++ leal 32(%edx),%edx | |
3501 ++.byte 102,15,56,222,224 | |
3502 ++ movups (%edx),%xmm0 | |
3503 ++ jnz L003dec3_loop | |
3504 ++.byte 102,15,56,222,209 | |
3505 ++.byte 102,15,56,222,217 | |
3506 ++.byte 102,15,56,222,225 | |
3507 ++.byte 102,15,56,223,208 | |
3508 ++.byte 102,15,56,223,216 | |
3509 ++.byte 102,15,56,223,224 | |
3510 ++ ret | |
3511 ++.align 4 | |
3512 ++__aesni_encrypt4: | |
3513 ++ movups (%edx),%xmm0 | |
3514 ++ movups 16(%edx),%xmm1 | |
3515 ++ shrl $1,%ecx | |
3516 ++ leal 32(%edx),%edx | |
3517 ++ xorps %xmm0,%xmm2 | |
3518 ++ pxor %xmm0,%xmm3 | |
3519 ++ pxor %xmm0,%xmm4 | |
3520 ++ pxor %xmm0,%xmm5 | |
3521 ++ movups (%edx),%xmm0 | |
3522 ++L004enc4_loop: | |
3523 ++.byte 102,15,56,220,209 | |
3524 ++.byte 102,15,56,220,217 | |
3525 ++ decl %ecx | |
3526 ++.byte 102,15,56,220,225 | |
3527 ++.byte 102,15,56,220,233 | |
3528 ++ movups 16(%edx),%xmm1 | |
3529 ++.byte 102,15,56,220,208 | |
3530 ++.byte 102,15,56,220,216 | |
3531 ++ leal 32(%edx),%edx | |
3532 ++.byte 102,15,56,220,224 | |
3533 ++.byte 102,15,56,220,232 | |
3534 ++ movups (%edx),%xmm0 | |
3535 ++ jnz L004enc4_loop | |
3536 ++.byte 102,15,56,220,209 | |
3537 ++.byte 102,15,56,220,217 | |
3538 ++.byte 102,15,56,220,225 | |
3539 ++.byte 102,15,56,220,233 | |
3540 ++.byte 102,15,56,221,208 | |
3541 ++.byte 102,15,56,221,216 | |
3542 ++.byte 102,15,56,221,224 | |
3543 ++.byte 102,15,56,221,232 | |
3544 ++ ret | |
3545 ++.align 4 | |
3546 ++__aesni_decrypt4: | |
3547 ++ movups (%edx),%xmm0 | |
3548 ++ movups 16(%edx),%xmm1 | |
3549 ++ shrl $1,%ecx | |
3550 ++ leal 32(%edx),%edx | |
3551 ++ xorps %xmm0,%xmm2 | |
3552 ++ pxor %xmm0,%xmm3 | |
3553 ++ pxor %xmm0,%xmm4 | |
3554 ++ pxor %xmm0,%xmm5 | |
3555 ++ movups (%edx),%xmm0 | |
3556 ++L005dec4_loop: | |
3557 ++.byte 102,15,56,222,209 | |
3558 ++.byte 102,15,56,222,217 | |
3559 ++ decl %ecx | |
3560 ++.byte 102,15,56,222,225 | |
3561 ++.byte 102,15,56,222,233 | |
3562 ++ movups 16(%edx),%xmm1 | |
3563 ++.byte 102,15,56,222,208 | |
3564 ++.byte 102,15,56,222,216 | |
3565 ++ leal 32(%edx),%edx | |
3566 ++.byte 102,15,56,222,224 | |
3567 ++.byte 102,15,56,222,232 | |
3568 ++ movups (%edx),%xmm0 | |
3569 ++ jnz L005dec4_loop | |
3570 ++.byte 102,15,56,222,209 | |
3571 ++.byte 102,15,56,222,217 | |
3572 ++.byte 102,15,56,222,225 | |
3573 ++.byte 102,15,56,222,233 | |
3574 ++.byte 102,15,56,223,208 | |
3575 ++.byte 102,15,56,223,216 | |
3576 ++.byte 102,15,56,223,224 | |
3577 ++.byte 102,15,56,223,232 | |
3578 ++ ret | |
3579 ++.align 4 | |
3580 ++__aesni_encrypt6: | |
3581 ++ movups (%edx),%xmm0 | |
3582 ++ shrl $1,%ecx | |
3583 ++ movups 16(%edx),%xmm1 | |
3584 ++ leal 32(%edx),%edx | |
3585 ++ xorps %xmm0,%xmm2 | |
3586 ++ pxor %xmm0,%xmm3 | |
3587 ++.byte 102,15,56,220,209 | |
3588 ++ pxor %xmm0,%xmm4 | |
3589 ++.byte 102,15,56,220,217 | |
3590 ++ pxor %xmm0,%xmm5 | |
3591 ++ decl %ecx | |
3592 ++.byte 102,15,56,220,225 | |
3593 ++ pxor %xmm0,%xmm6 | |
3594 ++.byte 102,15,56,220,233 | |
3595 ++ pxor %xmm0,%xmm7 | |
3596 ++.byte 102,15,56,220,241 | |
3597 ++ movups (%edx),%xmm0 | |
3598 ++.byte 102,15,56,220,249 | |
3599 ++ jmp L_aesni_encrypt6_enter | |
3600 ++.align 4,0x90 | |
3601 ++L006enc6_loop: | |
3602 ++.byte 102,15,56,220,209 | |
3603 ++.byte 102,15,56,220,217 | |
3604 ++ decl %ecx | |
3605 ++.byte 102,15,56,220,225 | |
3606 ++.byte 102,15,56,220,233 | |
3607 ++.byte 102,15,56,220,241 | |
3608 ++.byte 102,15,56,220,249 | |
3609 ++.align 4,0x90 | |
3610 ++L_aesni_encrypt6_enter: | |
3611 ++ movups 16(%edx),%xmm1 | |
3612 ++.byte 102,15,56,220,208 | |
3613 ++.byte 102,15,56,220,216 | |
3614 ++ leal 32(%edx),%edx | |
3615 ++.byte 102,15,56,220,224 | |
3616 ++.byte 102,15,56,220,232 | |
3617 ++.byte 102,15,56,220,240 | |
3618 ++.byte 102,15,56,220,248 | |
3619 ++ movups (%edx),%xmm0 | |
3620 ++ jnz L006enc6_loop | |
3621 ++.byte 102,15,56,220,209 | |
3622 ++.byte 102,15,56,220,217 | |
3623 ++.byte 102,15,56,220,225 | |
3624 ++.byte 102,15,56,220,233 | |
3625 ++.byte 102,15,56,220,241 | |
3626 ++.byte 102,15,56,220,249 | |
3627 ++.byte 102,15,56,221,208 | |
3628 ++.byte 102,15,56,221,216 | |
3629 ++.byte 102,15,56,221,224 | |
3630 ++.byte 102,15,56,221,232 | |
3631 ++.byte 102,15,56,221,240 | |
3632 ++.byte 102,15,56,221,248 | |
3633 ++ ret | |
3634 ++.align 4 | |
3635 ++__aesni_decrypt6: | |
3636 ++ movups (%edx),%xmm0 | |
3637 ++ shrl $1,%ecx | |
3638 ++ movups 16(%edx),%xmm1 | |
3639 ++ leal 32(%edx),%edx | |
3640 ++ xorps %xmm0,%xmm2 | |
3641 ++ pxor %xmm0,%xmm3 | |
3642 ++.byte 102,15,56,222,209 | |
3643 ++ pxor %xmm0,%xmm4 | |
3644 ++.byte 102,15,56,222,217 | |
3645 ++ pxor %xmm0,%xmm5 | |
3646 ++ decl %ecx | |
3647 ++.byte 102,15,56,222,225 | |
3648 ++ pxor %xmm0,%xmm6 | |
3649 ++.byte 102,15,56,222,233 | |
3650 ++ pxor %xmm0,%xmm7 | |
3651 ++.byte 102,15,56,222,241 | |
3652 ++ movups (%edx),%xmm0 | |
3653 ++.byte 102,15,56,222,249 | |
3654 ++ jmp L_aesni_decrypt6_enter | |
3655 ++.align 4,0x90 | |
3656 ++L007dec6_loop: | |
3657 ++.byte 102,15,56,222,209 | |
3658 ++.byte 102,15,56,222,217 | |
3659 ++ decl %ecx | |
3660 ++.byte 102,15,56,222,225 | |
3661 ++.byte 102,15,56,222,233 | |
3662 ++.byte 102,15,56,222,241 | |
3663 ++.byte 102,15,56,222,249 | |
3664 ++.align 4,0x90 | |
3665 ++L_aesni_decrypt6_enter: | |
3666 ++ movups 16(%edx),%xmm1 | |
3667 ++.byte 102,15,56,222,208 | |
3668 ++.byte 102,15,56,222,216 | |
3669 ++ leal 32(%edx),%edx | |
3670 ++.byte 102,15,56,222,224 | |
3671 ++.byte 102,15,56,222,232 | |
3672 ++.byte 102,15,56,222,240 | |
3673 ++.byte 102,15,56,222,248 | |
3674 ++ movups (%edx),%xmm0 | |
3675 ++ jnz L007dec6_loop | |
3676 ++.byte 102,15,56,222,209 | |
3677 ++.byte 102,15,56,222,217 | |
3678 ++.byte 102,15,56,222,225 | |
3679 ++.byte 102,15,56,222,233 | |
3680 ++.byte 102,15,56,222,241 | |
3681 ++.byte 102,15,56,222,249 | |
3682 ++.byte 102,15,56,223,208 | |
3683 ++.byte 102,15,56,223,216 | |
3684 ++.byte 102,15,56,223,224 | |
3685 ++.byte 102,15,56,223,232 | |
3686 ++.byte 102,15,56,223,240 | |
3687 ++.byte 102,15,56,223,248 | |
3688 ++ ret | |
3689 ++.globl _aesni_ecb_encrypt | |
3690 ++.align 4 | |
3691 ++_aesni_ecb_encrypt: | |
3692 ++L_aesni_ecb_encrypt_begin: | |
3693 ++ pushl %ebp | |
3694 ++ pushl %ebx | |
3695 ++ pushl %esi | |
3696 ++ pushl %edi | |
3697 ++ movl 20(%esp),%esi | |
3698 ++ movl 24(%esp),%edi | |
3699 ++ movl 28(%esp),%eax | |
3700 ++ movl 32(%esp),%edx | |
3701 ++ movl 36(%esp),%ebx | |
3702 ++ andl $-16,%eax | |
3703 ++ jz L008ecb_ret | |
3704 ++ movl 240(%edx),%ecx | |
3705 ++ testl %ebx,%ebx | |
3706 ++ jz L009ecb_decrypt | |
3707 ++ movl %edx,%ebp | |
3708 ++ movl %ecx,%ebx | |
3709 ++ cmpl $96,%eax | |
3710 ++ jb L010ecb_enc_tail | |
3711 ++ movdqu (%esi),%xmm2 | |
3712 ++ movdqu 16(%esi),%xmm3 | |
3713 ++ movdqu 32(%esi),%xmm4 | |
3714 ++ movdqu 48(%esi),%xmm5 | |
3715 ++ movdqu 64(%esi),%xmm6 | |
3716 ++ movdqu 80(%esi),%xmm7 | |
3717 ++ leal 96(%esi),%esi | |
3718 ++ subl $96,%eax | |
3719 ++ jmp L011ecb_enc_loop6_enter | |
3720 ++.align 4,0x90 | |
3721 ++L012ecb_enc_loop6: | |
3722 ++ movups %xmm2,(%edi) | |
3723 ++ movdqu (%esi),%xmm2 | |
3724 ++ movups %xmm3,16(%edi) | |
3725 ++ movdqu 16(%esi),%xmm3 | |
3726 ++ movups %xmm4,32(%edi) | |
3727 ++ movdqu 32(%esi),%xmm4 | |
3728 ++ movups %xmm5,48(%edi) | |
3729 ++ movdqu 48(%esi),%xmm5 | |
3730 ++ movups %xmm6,64(%edi) | |
3731 ++ movdqu 64(%esi),%xmm6 | |
3732 ++ movups %xmm7,80(%edi) | |
3733 ++ leal 96(%edi),%edi | |
3734 ++ movdqu 80(%esi),%xmm7 | |
3735 ++ leal 96(%esi),%esi | |
3736 ++L011ecb_enc_loop6_enter: | |
3737 ++ call __aesni_encrypt6 | |
3738 ++ movl %ebp,%edx | |
3739 ++ movl %ebx,%ecx | |
3740 ++ subl $96,%eax | |
3741 ++ jnc L012ecb_enc_loop6 | |
3742 ++ movups %xmm2,(%edi) | |
3743 ++ movups %xmm3,16(%edi) | |
3744 ++ movups %xmm4,32(%edi) | |
3745 ++ movups %xmm5,48(%edi) | |
3746 ++ movups %xmm6,64(%edi) | |
3747 ++ movups %xmm7,80(%edi) | |
3748 ++ leal 96(%edi),%edi | |
3749 ++ addl $96,%eax | |
3750 ++ jz L008ecb_ret | |
3751 ++L010ecb_enc_tail: | |
3752 ++ movups (%esi),%xmm2 | |
3753 ++ cmpl $32,%eax | |
3754 ++ jb L013ecb_enc_one | |
3755 ++ movups 16(%esi),%xmm3 | |
3756 ++ je L014ecb_enc_two | |
3757 ++ movups 32(%esi),%xmm4 | |
3758 ++ cmpl $64,%eax | |
3759 ++ jb L015ecb_enc_three | |
3760 ++ movups 48(%esi),%xmm5 | |
3761 ++ je L016ecb_enc_four | |
3762 ++ movups 64(%esi),%xmm6 | |
3763 ++ xorps %xmm7,%xmm7 | |
3764 ++ call __aesni_encrypt6 | |
3765 ++ movups %xmm2,(%edi) | |
3766 ++ movups %xmm3,16(%edi) | |
3767 ++ movups %xmm4,32(%edi) | |
3768 ++ movups %xmm5,48(%edi) | |
3769 ++ movups %xmm6,64(%edi) | |
3770 ++ jmp L008ecb_ret | |
3771 ++.align 4,0x90 | |
3772 ++L013ecb_enc_one: | |
3773 ++ movups (%edx),%xmm0 | |
3774 ++ movups 16(%edx),%xmm1 | |
3775 ++ leal 32(%edx),%edx | |
3776 ++ xorps %xmm0,%xmm2 | |
3777 ++L017enc1_loop_3: | |
3778 ++.byte 102,15,56,220,209 | |
3779 ++ decl %ecx | |
3780 ++ movups (%edx),%xmm1 | |
3781 ++ leal 16(%edx),%edx | |
3782 ++ jnz L017enc1_loop_3 | |
3783 ++.byte 102,15,56,221,209 | |
3784 ++ movups %xmm2,(%edi) | |
3785 ++ jmp L008ecb_ret | |
3786 ++.align 4,0x90 | |
3787 ++L014ecb_enc_two: | |
3788 ++ xorps %xmm4,%xmm4 | |
3789 ++ call __aesni_encrypt3 | |
3790 ++ movups %xmm2,(%edi) | |
3791 ++ movups %xmm3,16(%edi) | |
3792 ++ jmp L008ecb_ret | |
3793 ++.align 4,0x90 | |
3794 ++L015ecb_enc_three: | |
3795 ++ call __aesni_encrypt3 | |
3796 ++ movups %xmm2,(%edi) | |
3797 ++ movups %xmm3,16(%edi) | |
3798 ++ movups %xmm4,32(%edi) | |
3799 ++ jmp L008ecb_ret | |
3800 ++.align 4,0x90 | |
3801 ++L016ecb_enc_four: | |
3802 ++ call __aesni_encrypt4 | |
3803 ++ movups %xmm2,(%edi) | |
3804 ++ movups %xmm3,16(%edi) | |
3805 ++ movups %xmm4,32(%edi) | |
3806 ++ movups %xmm5,48(%edi) | |
3807 ++ jmp L008ecb_ret | |
3808 ++.align 4,0x90 | |
3809 ++L009ecb_decrypt: | |
3810 ++ movl %edx,%ebp | |
3811 ++ movl %ecx,%ebx | |
3812 ++ cmpl $96,%eax | |
3813 ++ jb L018ecb_dec_tail | |
3814 ++ movdqu (%esi),%xmm2 | |
3815 ++ movdqu 16(%esi),%xmm3 | |
3816 ++ movdqu 32(%esi),%xmm4 | |
3817 ++ movdqu 48(%esi),%xmm5 | |
3818 ++ movdqu 64(%esi),%xmm6 | |
3819 ++ movdqu 80(%esi),%xmm7 | |
3820 ++ leal 96(%esi),%esi | |
3821 ++ subl $96,%eax | |
3822 ++ jmp L019ecb_dec_loop6_enter | |
3823 ++.align 4,0x90 | |
3824 ++L020ecb_dec_loop6: | |
3825 ++ movups %xmm2,(%edi) | |
3826 ++ movdqu (%esi),%xmm2 | |
3827 ++ movups %xmm3,16(%edi) | |
3828 ++ movdqu 16(%esi),%xmm3 | |
3829 ++ movups %xmm4,32(%edi) | |
3830 ++ movdqu 32(%esi),%xmm4 | |
3831 ++ movups %xmm5,48(%edi) | |
3832 ++ movdqu 48(%esi),%xmm5 | |
3833 ++ movups %xmm6,64(%edi) | |
3834 ++ movdqu 64(%esi),%xmm6 | |
3835 ++ movups %xmm7,80(%edi) | |
3836 ++ leal 96(%edi),%edi | |
3837 ++ movdqu 80(%esi),%xmm7 | |
3838 ++ leal 96(%esi),%esi | |
3839 ++L019ecb_dec_loop6_enter: | |
3840 ++ call __aesni_decrypt6 | |
3841 ++ movl %ebp,%edx | |
3842 ++ movl %ebx,%ecx | |
3843 ++ subl $96,%eax | |
3844 ++ jnc L020ecb_dec_loop6 | |
3845 ++ movups %xmm2,(%edi) | |
3846 ++ movups %xmm3,16(%edi) | |
3847 ++ movups %xmm4,32(%edi) | |
3848 ++ movups %xmm5,48(%edi) | |
3849 ++ movups %xmm6,64(%edi) | |
3850 ++ movups %xmm7,80(%edi) | |
3851 ++ leal 96(%edi),%edi | |
3852 ++ addl $96,%eax | |
3853 ++ jz L008ecb_ret | |
3854 ++L018ecb_dec_tail: | |
3855 ++ movups (%esi),%xmm2 | |
3856 ++ cmpl $32,%eax | |
3857 ++ jb L021ecb_dec_one | |
3858 ++ movups 16(%esi),%xmm3 | |
3859 ++ je L022ecb_dec_two | |
3860 ++ movups 32(%esi),%xmm4 | |
3861 ++ cmpl $64,%eax | |
3862 ++ jb L023ecb_dec_three | |
3863 ++ movups 48(%esi),%xmm5 | |
3864 ++ je L024ecb_dec_four | |
3865 ++ movups 64(%esi),%xmm6 | |
3866 ++ xorps %xmm7,%xmm7 | |
3867 ++ call __aesni_decrypt6 | |
3868 ++ movups %xmm2,(%edi) | |
3869 ++ movups %xmm3,16(%edi) | |
3870 ++ movups %xmm4,32(%edi) | |
3871 ++ movups %xmm5,48(%edi) | |
3872 ++ movups %xmm6,64(%edi) | |
3873 ++ jmp L008ecb_ret | |
3874 ++.align 4,0x90 | |
3875 ++L021ecb_dec_one: | |
3876 ++ movups (%edx),%xmm0 | |
3877 ++ movups 16(%edx),%xmm1 | |
3878 ++ leal 32(%edx),%edx | |
3879 ++ xorps %xmm0,%xmm2 | |
3880 ++L025dec1_loop_4: | |
3881 ++.byte 102,15,56,222,209 | |
3882 ++ decl %ecx | |
3883 ++ movups (%edx),%xmm1 | |
3884 ++ leal 16(%edx),%edx | |
3885 ++ jnz L025dec1_loop_4 | |
3886 ++.byte 102,15,56,223,209 | |
3887 ++ movups %xmm2,(%edi) | |
3888 ++ jmp L008ecb_ret | |
3889 ++.align 4,0x90 | |
3890 ++L022ecb_dec_two: | |
3891 ++ xorps %xmm4,%xmm4 | |
3892 ++ call __aesni_decrypt3 | |
3893 ++ movups %xmm2,(%edi) | |
3894 ++ movups %xmm3,16(%edi) | |
3895 ++ jmp L008ecb_ret | |
3896 ++.align 4,0x90 | |
3897 ++L023ecb_dec_three: | |
3898 ++ call __aesni_decrypt3 | |
3899 ++ movups %xmm2,(%edi) | |
3900 ++ movups %xmm3,16(%edi) | |
3901 ++ movups %xmm4,32(%edi) | |
3902 ++ jmp L008ecb_ret | |
3903 ++.align 4,0x90 | |
3904 ++L024ecb_dec_four: | |
3905 ++ call __aesni_decrypt4 | |
3906 ++ movups %xmm2,(%edi) | |
3907 ++ movups %xmm3,16(%edi) | |
3908 ++ movups %xmm4,32(%edi) | |
3909 ++ movups %xmm5,48(%edi) | |
3910 ++L008ecb_ret: | |
3911 ++ popl %edi | |
3912 ++ popl %esi | |
3913 ++ popl %ebx | |
3914 ++ popl %ebp | |
3915 ++ ret | |
3916 ++.globl _aesni_ccm64_encrypt_blocks | |
3917 ++.align 4 | |
3918 ++_aesni_ccm64_encrypt_blocks: | |
3919 ++L_aesni_ccm64_encrypt_blocks_begin: | |
3920 ++ pushl %ebp | |
3921 ++ pushl %ebx | |
3922 ++ pushl %esi | |
3923 ++ pushl %edi | |
3924 ++ movl 20(%esp),%esi | |
3925 ++ movl 24(%esp),%edi | |
3926 ++ movl 28(%esp),%eax | |
3927 ++ movl 32(%esp),%edx | |
3928 ++ movl 36(%esp),%ebx | |
3929 ++ movl 40(%esp),%ecx | |
3930 ++ movl %esp,%ebp | |
3931 ++ subl $60,%esp | |
3932 ++ andl $-16,%esp | |
3933 ++ movl %ebp,48(%esp) | |
3934 ++ movdqu (%ebx),%xmm7 | |
3935 ++ movdqu (%ecx),%xmm3 | |
3936 ++ movl 240(%edx),%ecx | |
3937 ++ movl $202182159,(%esp) | |
3938 ++ movl $134810123,4(%esp) | |
3939 ++ movl $67438087,8(%esp) | |
3940 ++ movl $66051,12(%esp) | |
3941 ++ movl $1,%ebx | |
3942 ++ xorl %ebp,%ebp | |
3943 ++ movl %ebx,16(%esp) | |
3944 ++ movl %ebp,20(%esp) | |
3945 ++ movl %ebp,24(%esp) | |
3946 ++ movl %ebp,28(%esp) | |
3947 ++ shrl $1,%ecx | |
3948 ++ leal (%edx),%ebp | |
3949 ++ movdqa (%esp),%xmm5 | |
3950 ++ movdqa %xmm7,%xmm2 | |
3951 ++ movl %ecx,%ebx | |
3952 ++.byte 102,15,56,0,253 | |
3953 ++L026ccm64_enc_outer: | |
3954 ++ movups (%ebp),%xmm0 | |
3955 ++ movl %ebx,%ecx | |
3956 ++ movups (%esi),%xmm6 | |
3957 ++ xorps %xmm0,%xmm2 | |
3958 ++ movups 16(%ebp),%xmm1 | |
3959 ++ xorps %xmm6,%xmm0 | |
3960 ++ leal 32(%ebp),%edx | |
3961 ++ xorps %xmm0,%xmm3 | |
3962 ++ movups (%edx),%xmm0 | |
3963 ++L027ccm64_enc2_loop: | |
3964 ++.byte 102,15,56,220,209 | |
3965 ++ decl %ecx | |
3966 ++.byte 102,15,56,220,217 | |
3967 ++ movups 16(%edx),%xmm1 | |
3968 ++.byte 102,15,56,220,208 | |
3969 ++ leal 32(%edx),%edx | |
3970 ++.byte 102,15,56,220,216 | |
3971 ++ movups (%edx),%xmm0 | |
3972 ++ jnz L027ccm64_enc2_loop | |
3973 ++.byte 102,15,56,220,209 | |
3974 ++.byte 102,15,56,220,217 | |
3975 ++ paddq 16(%esp),%xmm7 | |
3976 ++.byte 102,15,56,221,208 | |
3977 ++.byte 102,15,56,221,216 | |
3978 ++ decl %eax | |
3979 ++ leal 16(%esi),%esi | |
3980 ++ xorps %xmm2,%xmm6 | |
3981 ++ movdqa %xmm7,%xmm2 | |
3982 ++ movups %xmm6,(%edi) | |
3983 ++ leal 16(%edi),%edi | |
3984 ++.byte 102,15,56,0,213 | |
3985 ++ jnz L026ccm64_enc_outer | |
3986 ++ movl 48(%esp),%esp | |
3987 ++ movl 40(%esp),%edi | |
3988 ++ movups %xmm3,(%edi) | |
3989 ++ popl %edi | |
3990 ++ popl %esi | |
3991 ++ popl %ebx | |
3992 ++ popl %ebp | |
3993 ++ ret | |
3994 ++.globl _aesni_ccm64_decrypt_blocks | |
3995 ++.align 4 | |
3996 ++_aesni_ccm64_decrypt_blocks: | |
3997 ++L_aesni_ccm64_decrypt_blocks_begin: | |
3998 ++ pushl %ebp | |
3999 ++ pushl %ebx | |
4000 ++ pushl %esi | |
4001 ++ pushl %edi | |
4002 ++ movl 20(%esp),%esi | |
4003 ++ movl 24(%esp),%edi | |
4004 ++ movl 28(%esp),%eax | |
4005 ++ movl 32(%esp),%edx | |
4006 ++ movl 36(%esp),%ebx | |
4007 ++ movl 40(%esp),%ecx | |
4008 ++ movl %esp,%ebp | |
4009 ++ subl $60,%esp | |
4010 ++ andl $-16,%esp | |
4011 ++ movl %ebp,48(%esp) | |
4012 ++ movdqu (%ebx),%xmm7 | |
4013 ++ movdqu (%ecx),%xmm3 | |
4014 ++ movl 240(%edx),%ecx | |
4015 ++ movl $202182159,(%esp) | |
4016 ++ movl $134810123,4(%esp) | |
4017 ++ movl $67438087,8(%esp) | |
4018 ++ movl $66051,12(%esp) | |
4019 ++ movl $1,%ebx | |
4020 ++ xorl %ebp,%ebp | |
4021 ++ movl %ebx,16(%esp) | |
4022 ++ movl %ebp,20(%esp) | |
4023 ++ movl %ebp,24(%esp) | |
4024 ++ movl %ebp,28(%esp) | |
4025 ++ movdqa (%esp),%xmm5 | |
4026 ++ movdqa %xmm7,%xmm2 | |
4027 ++ movl %edx,%ebp | |
4028 ++ movl %ecx,%ebx | |
4029 ++.byte 102,15,56,0,253 | |
4030 ++ movups (%edx),%xmm0 | |
4031 ++ movups 16(%edx),%xmm1 | |
4032 ++ leal 32(%edx),%edx | |
4033 ++ xorps %xmm0,%xmm2 | |
4034 ++L028enc1_loop_5: | |
4035 ++.byte 102,15,56,220,209 | |
4036 ++ decl %ecx | |
4037 ++ movups (%edx),%xmm1 | |
4038 ++ leal 16(%edx),%edx | |
4039 ++ jnz L028enc1_loop_5 | |
4040 ++.byte 102,15,56,221,209 | |
4041 ++ movups (%esi),%xmm6 | |
4042 ++ paddq 16(%esp),%xmm7 | |
4043 ++ leal 16(%esi),%esi | |
4044 ++ jmp L029ccm64_dec_outer | |
4045 ++.align 4,0x90 | |
4046 ++L029ccm64_dec_outer: | |
4047 ++ xorps %xmm2,%xmm6 | |
4048 ++ movdqa %xmm7,%xmm2 | |
4049 ++ movl %ebx,%ecx | |
4050 ++ movups %xmm6,(%edi) | |
4051 ++ leal 16(%edi),%edi | |
4052 ++.byte 102,15,56,0,213 | |
4053 ++ subl $1,%eax | |
4054 ++ jz L030ccm64_dec_break | |
4055 ++ movups (%ebp),%xmm0 | |
4056 ++ shrl $1,%ecx | |
4057 ++ movups 16(%ebp),%xmm1 | |
4058 ++ xorps %xmm0,%xmm6 | |
4059 ++ leal 32(%ebp),%edx | |
4060 ++ xorps %xmm0,%xmm2 | |
4061 ++ xorps %xmm6,%xmm3 | |
4062 ++ movups (%edx),%xmm0 | |
4063 ++L031ccm64_dec2_loop: | |
4064 ++.byte 102,15,56,220,209 | |
4065 ++ decl %ecx | |
4066 ++.byte 102,15,56,220,217 | |
4067 ++ movups 16(%edx),%xmm1 | |
4068 ++.byte 102,15,56,220,208 | |
4069 ++ leal 32(%edx),%edx | |
4070 ++.byte 102,15,56,220,216 | |
4071 ++ movups (%edx),%xmm0 | |
4072 ++ jnz L031ccm64_dec2_loop | |
4073 ++ movups (%esi),%xmm6 | |
4074 ++ paddq 16(%esp),%xmm7 | |
4075 ++.byte 102,15,56,220,209 | |
4076 ++.byte 102,15,56,220,217 | |
4077 ++ leal 16(%esi),%esi | |
4078 ++.byte 102,15,56,221,208 | |
4079 ++.byte 102,15,56,221,216 | |
4080 ++ jmp L029ccm64_dec_outer | |
4081 ++.align 4,0x90 | |
4082 ++L030ccm64_dec_break: | |
4083 ++ movl %ebp,%edx | |
4084 ++ movups (%edx),%xmm0 | |
4085 ++ movups 16(%edx),%xmm1 | |
4086 ++ xorps %xmm0,%xmm6 | |
4087 ++ leal 32(%edx),%edx | |
4088 ++ xorps %xmm6,%xmm3 | |
4089 ++L032enc1_loop_6: | |
4090 ++.byte 102,15,56,220,217 | |
4091 ++ decl %ecx | |
4092 ++ movups (%edx),%xmm1 | |
4093 ++ leal 16(%edx),%edx | |
4094 ++ jnz L032enc1_loop_6 | |
4095 ++.byte 102,15,56,221,217 | |
4096 ++ movl 48(%esp),%esp | |
4097 ++ movl 40(%esp),%edi | |
4098 ++ movups %xmm3,(%edi) | |
4099 ++ popl %edi | |
4100 ++ popl %esi | |
4101 ++ popl %ebx | |
4102 ++ popl %ebp | |
4103 ++ ret | |
4104 ++.globl _aesni_ctr32_encrypt_blocks | |
4105 ++.align 4 | |
4106 ++_aesni_ctr32_encrypt_blocks: | |
4107 ++L_aesni_ctr32_encrypt_blocks_begin: | |
4108 ++ pushl %ebp | |
4109 ++ pushl %ebx | |
4110 ++ pushl %esi | |
4111 ++ pushl %edi | |
4112 ++ movl 20(%esp),%esi | |
4113 ++ movl 24(%esp),%edi | |
4114 ++ movl 28(%esp),%eax | |
4115 ++ movl 32(%esp),%edx | |
4116 ++ movl 36(%esp),%ebx | |
4117 ++ movl %esp,%ebp | |
4118 ++ subl $88,%esp | |
4119 ++ andl $-16,%esp | |
4120 ++ movl %ebp,80(%esp) | |
4121 ++ cmpl $1,%eax | |
4122 ++ je L033ctr32_one_shortcut | |
4123 ++ movdqu (%ebx),%xmm7 | |
4124 ++ movl $202182159,(%esp) | |
4125 ++ movl $134810123,4(%esp) | |
4126 ++ movl $67438087,8(%esp) | |
4127 ++ movl $66051,12(%esp) | |
4128 ++ movl $6,%ecx | |
4129 ++ xorl %ebp,%ebp | |
4130 ++ movl %ecx,16(%esp) | |
4131 ++ movl %ecx,20(%esp) | |
4132 ++ movl %ecx,24(%esp) | |
4133 ++ movl %ebp,28(%esp) | |
4134 ++.byte 102,15,58,22,251,3 | |
4135 ++.byte 102,15,58,34,253,3 | |
4136 ++ movl 240(%edx),%ecx | |
4137 ++ bswap %ebx | |
4138 ++ pxor %xmm1,%xmm1 | |
4139 ++ pxor %xmm0,%xmm0 | |
4140 ++ movdqa (%esp),%xmm2 | |
4141 ++.byte 102,15,58,34,203,0 | |
4142 ++ leal 3(%ebx),%ebp | |
4143 ++.byte 102,15,58,34,197,0 | |
4144 ++ incl %ebx | |
4145 ++.byte 102,15,58,34,203,1 | |
4146 ++ incl %ebp | |
4147 ++.byte 102,15,58,34,197,1 | |
4148 ++ incl %ebx | |
4149 ++.byte 102,15,58,34,203,2 | |
4150 ++ incl %ebp | |
4151 ++.byte 102,15,58,34,197,2 | |
4152 ++ movdqa %xmm1,48(%esp) | |
4153 ++.byte 102,15,56,0,202 | |
4154 ++ movdqa %xmm0,64(%esp) | |
4155 ++.byte 102,15,56,0,194 | |
4156 ++ pshufd $192,%xmm1,%xmm2 | |
4157 ++ pshufd $128,%xmm1,%xmm3 | |
4158 ++ cmpl $6,%eax | |
4159 ++ jb L034ctr32_tail | |
4160 ++ movdqa %xmm7,32(%esp) | |
4161 ++ shrl $1,%ecx | |
4162 ++ movl %edx,%ebp | |
4163 ++ movl %ecx,%ebx | |
4164 ++ subl $6,%eax | |
4165 ++ jmp L035ctr32_loop6 | |
4166 ++.align 4,0x90 | |
4167 ++L035ctr32_loop6: | |
4168 ++ pshufd $64,%xmm1,%xmm4 | |
4169 ++ movdqa 32(%esp),%xmm1 | |
4170 ++ pshufd $192,%xmm0,%xmm5 | |
4171 ++ por %xmm1,%xmm2 | |
4172 ++ pshufd $128,%xmm0,%xmm6 | |
4173 ++ por %xmm1,%xmm3 | |
4174 ++ pshufd $64,%xmm0,%xmm7 | |
4175 ++ por %xmm1,%xmm4 | |
4176 ++ por %xmm1,%xmm5 | |
4177 ++ por %xmm1,%xmm6 | |
4178 ++ por %xmm1,%xmm7 | |
4179 ++ movups (%ebp),%xmm0 | |
4180 ++ movups 16(%ebp),%xmm1 | |
4181 ++ leal 32(%ebp),%edx | |
4182 ++ decl %ecx | |
4183 ++ pxor %xmm0,%xmm2 | |
4184 ++ pxor %xmm0,%xmm3 | |
4185 ++.byte 102,15,56,220,209 | |
4186 ++ pxor %xmm0,%xmm4 | |
4187 ++.byte 102,15,56,220,217 | |
4188 ++ pxor %xmm0,%xmm5 | |
4189 ++.byte 102,15,56,220,225 | |
4190 ++ pxor %xmm0,%xmm6 | |
4191 ++.byte 102,15,56,220,233 | |
4192 ++ pxor %xmm0,%xmm7 | |
4193 ++.byte 102,15,56,220,241 | |
4194 ++ movups (%edx),%xmm0 | |
4195 ++.byte 102,15,56,220,249 | |
4196 ++ call L_aesni_encrypt6_enter | |
4197 ++ movups (%esi),%xmm1 | |
4198 ++ movups 16(%esi),%xmm0 | |
4199 ++ xorps %xmm1,%xmm2 | |
4200 ++ movups 32(%esi),%xmm1 | |
4201 ++ xorps %xmm0,%xmm3 | |
4202 ++ movups %xmm2,(%edi) | |
4203 ++ movdqa 16(%esp),%xmm0 | |
4204 ++ xorps %xmm1,%xmm4 | |
4205 ++ movdqa 48(%esp),%xmm1 | |
4206 ++ movups %xmm3,16(%edi) | |
4207 ++ movups %xmm4,32(%edi) | |
4208 ++ paddd %xmm0,%xmm1 | |
4209 ++ paddd 64(%esp),%xmm0 | |
4210 ++ movdqa (%esp),%xmm2 | |
4211 ++ movups 48(%esi),%xmm3 | |
4212 ++ movups 64(%esi),%xmm4 | |
4213 ++ xorps %xmm3,%xmm5 | |
4214 ++ movups 80(%esi),%xmm3 | |
4215 ++ leal 96(%esi),%esi | |
4216 ++ movdqa %xmm1,48(%esp) | |
4217 ++.byte 102,15,56,0,202 | |
4218 ++ xorps %xmm4,%xmm6 | |
4219 ++ movups %xmm5,48(%edi) | |
4220 ++ xorps %xmm3,%xmm7 | |
4221 ++ movdqa %xmm0,64(%esp) | |
4222 ++.byte 102,15,56,0,194 | |
4223 ++ movups %xmm6,64(%edi) | |
4224 ++ pshufd $192,%xmm1,%xmm2 | |
4225 ++ movups %xmm7,80(%edi) | |
4226 ++ leal 96(%edi),%edi | |
4227 ++ movl %ebx,%ecx | |
4228 ++ pshufd $128,%xmm1,%xmm3 | |
4229 ++ subl $6,%eax | |
4230 ++ jnc L035ctr32_loop6 | |
4231 ++ addl $6,%eax | |
4232 ++ jz L036ctr32_ret | |
4233 ++ movl %ebp,%edx | |
4234 ++ leal 1(,%ecx,2),%ecx | |
4235 ++ movdqa 32(%esp),%xmm7 | |
4236 ++L034ctr32_tail: | |
4237 ++ por %xmm7,%xmm2 | |
4238 ++ cmpl $2,%eax | |
4239 ++ jb L037ctr32_one | |
4240 ++ pshufd $64,%xmm1,%xmm4 | |
4241 ++ por %xmm7,%xmm3 | |
4242 ++ je L038ctr32_two | |
4243 ++ pshufd $192,%xmm0,%xmm5 | |
4244 ++ por %xmm7,%xmm4 | |
4245 ++ cmpl $4,%eax | |
4246 ++ jb L039ctr32_three | |
4247 ++ pshufd $128,%xmm0,%xmm6 | |
4248 ++ por %xmm7,%xmm5 | |
4249 ++ je L040ctr32_four | |
4250 ++ por %xmm7,%xmm6 | |
4251 ++ call __aesni_encrypt6 | |
4252 ++ movups (%esi),%xmm1 | |
4253 ++ movups 16(%esi),%xmm0 | |
4254 ++ xorps %xmm1,%xmm2 | |
4255 ++ movups 32(%esi),%xmm1 | |
4256 ++ xorps %xmm0,%xmm3 | |
4257 ++ movups 48(%esi),%xmm0 | |
4258 ++ xorps %xmm1,%xmm4 | |
4259 ++ movups 64(%esi),%xmm1 | |
4260 ++ xorps %xmm0,%xmm5 | |
4261 ++ movups %xmm2,(%edi) | |
4262 ++ xorps %xmm1,%xmm6 | |
4263 ++ movups %xmm3,16(%edi) | |
4264 ++ movups %xmm4,32(%edi) | |
4265 ++ movups %xmm5,48(%edi) | |
4266 ++ movups %xmm6,64(%edi) | |
4267 ++ jmp L036ctr32_ret | |
4268 ++.align 4,0x90 | |
4269 ++L033ctr32_one_shortcut: | |
4270 ++ movups (%ebx),%xmm2 | |
4271 ++ movl 240(%edx),%ecx | |
4272 ++L037ctr32_one: | |
4273 ++ movups (%edx),%xmm0 | |
4274 ++ movups 16(%edx),%xmm1 | |
4275 ++ leal 32(%edx),%edx | |
4276 ++ xorps %xmm0,%xmm2 | |
4277 ++L041enc1_loop_7: | |
4278 ++.byte 102,15,56,220,209 | |
4279 ++ decl %ecx | |
4280 ++ movups (%edx),%xmm1 | |
4281 ++ leal 16(%edx),%edx | |
4282 ++ jnz L041enc1_loop_7 | |
4283 ++.byte 102,15,56,221,209 | |
4284 ++ movups (%esi),%xmm6 | |
4285 ++ xorps %xmm2,%xmm6 | |
4286 ++ movups %xmm6,(%edi) | |
4287 ++ jmp L036ctr32_ret | |
4288 ++.align 4,0x90 | |
4289 ++L038ctr32_two: | |
4290 ++ call __aesni_encrypt3 | |
4291 ++ movups (%esi),%xmm5 | |
4292 ++ movups 16(%esi),%xmm6 | |
4293 ++ xorps %xmm5,%xmm2 | |
4294 ++ xorps %xmm6,%xmm3 | |
4295 ++ movups %xmm2,(%edi) | |
4296 ++ movups %xmm3,16(%edi) | |
4297 ++ jmp L036ctr32_ret | |
4298 ++.align 4,0x90 | |
4299 ++L039ctr32_three: | |
4300 ++ call __aesni_encrypt3 | |
4301 ++ movups (%esi),%xmm5 | |
4302 ++ movups 16(%esi),%xmm6 | |
4303 ++ xorps %xmm5,%xmm2 | |
4304 ++ movups 32(%esi),%xmm7 | |
4305 ++ xorps %xmm6,%xmm3 | |
4306 ++ movups %xmm2,(%edi) | |
4307 ++ xorps %xmm7,%xmm4 | |
4308 ++ movups %xmm3,16(%edi) | |
4309 ++ movups %xmm4,32(%edi) | |
4310 ++ jmp L036ctr32_ret | |
4311 ++.align 4,0x90 | |
4312 ++L040ctr32_four: | |
4313 ++ call __aesni_encrypt4 | |
4314 ++ movups (%esi),%xmm6 | |
4315 ++ movups 16(%esi),%xmm7 | |
4316 ++ movups 32(%esi),%xmm1 | |
4317 ++ xorps %xmm6,%xmm2 | |
4318 ++ movups 48(%esi),%xmm0 | |
4319 ++ xorps %xmm7,%xmm3 | |
4320 ++ movups %xmm2,(%edi) | |
4321 ++ xorps %xmm1,%xmm4 | |
4322 ++ movups %xmm3,16(%edi) | |
4323 ++ xorps %xmm0,%xmm5 | |
4324 ++ movups %xmm4,32(%edi) | |
4325 ++ movups %xmm5,48(%edi) | |
4326 ++L036ctr32_ret: | |
4327 ++ movl 80(%esp),%esp | |
4328 ++ popl %edi | |
4329 ++ popl %esi | |
4330 ++ popl %ebx | |
4331 ++ popl %ebp | |
4332 ++ ret | |
4333 ++.globl _aesni_xts_encrypt | |
4334 ++.align 4 | |
4335 ++_aesni_xts_encrypt: | |
4336 ++L_aesni_xts_encrypt_begin: | |
4337 ++ pushl %ebp | |
4338 ++ pushl %ebx | |
4339 ++ pushl %esi | |
4340 ++ pushl %edi | |
4341 ++ movl 36(%esp),%edx | |
4342 ++ movl 40(%esp),%esi | |
4343 ++ movl 240(%edx),%ecx | |
4344 ++ movups (%esi),%xmm2 | |
4345 ++ movups (%edx),%xmm0 | |
4346 ++ movups 16(%edx),%xmm1 | |
4347 ++ leal 32(%edx),%edx | |
4348 ++ xorps %xmm0,%xmm2 | |
4349 ++L042enc1_loop_8: | |
4350 ++.byte 102,15,56,220,209 | |
4351 ++ decl %ecx | |
4352 ++ movups (%edx),%xmm1 | |
4353 ++ leal 16(%edx),%edx | |
4354 ++ jnz L042enc1_loop_8 | |
4355 ++.byte 102,15,56,221,209 | |
4356 ++ movl 20(%esp),%esi | |
4357 ++ movl 24(%esp),%edi | |
4358 ++ movl 28(%esp),%eax | |
4359 ++ movl 32(%esp),%edx | |
4360 ++ movl %esp,%ebp | |
4361 ++ subl $120,%esp | |
4362 ++ movl 240(%edx),%ecx | |
4363 ++ andl $-16,%esp | |
4364 ++ movl $135,96(%esp) | |
4365 ++ movl $0,100(%esp) | |
4366 ++ movl $1,104(%esp) | |
4367 ++ movl $0,108(%esp) | |
4368 ++ movl %eax,112(%esp) | |
4369 ++ movl %ebp,116(%esp) | |
4370 ++ movdqa %xmm2,%xmm1 | |
4371 ++ pxor %xmm0,%xmm0 | |
4372 ++ movdqa 96(%esp),%xmm3 | |
4373 ++ pcmpgtd %xmm1,%xmm0 | |
4374 ++ andl $-16,%eax | |
4375 ++ movl %edx,%ebp | |
4376 ++ movl %ecx,%ebx | |
4377 ++ subl $96,%eax | |
4378 ++ jc L043xts_enc_short | |
4379 ++ shrl $1,%ecx | |
4380 ++ movl %ecx,%ebx | |
4381 ++ jmp L044xts_enc_loop6 | |
4382 ++.align 4,0x90 | |
4383 ++L044xts_enc_loop6: | |
4384 ++ pshufd $19,%xmm0,%xmm2 | |
4385 ++ pxor %xmm0,%xmm0 | |
4386 ++ movdqa %xmm1,(%esp) | |
4387 ++ paddq %xmm1,%xmm1 | |
4388 ++ pand %xmm3,%xmm2 | |
4389 ++ pcmpgtd %xmm1,%xmm0 | |
4390 ++ pxor %xmm2,%xmm1 | |
4391 ++ pshufd $19,%xmm0,%xmm2 | |
4392 ++ pxor %xmm0,%xmm0 | |
4393 ++ movdqa %xmm1,16(%esp) | |
4394 ++ paddq %xmm1,%xmm1 | |
4395 ++ pand %xmm3,%xmm2 | |
4396 ++ pcmpgtd %xmm1,%xmm0 | |
4397 ++ pxor %xmm2,%xmm1 | |
4398 ++ pshufd $19,%xmm0,%xmm2 | |
4399 ++ pxor %xmm0,%xmm0 | |
4400 ++ movdqa %xmm1,32(%esp) | |
4401 ++ paddq %xmm1,%xmm1 | |
4402 ++ pand %xmm3,%xmm2 | |
4403 ++ pcmpgtd %xmm1,%xmm0 | |
4404 ++ pxor %xmm2,%xmm1 | |
4405 ++ pshufd $19,%xmm0,%xmm2 | |
4406 ++ pxor %xmm0,%xmm0 | |
4407 ++ movdqa %xmm1,48(%esp) | |
4408 ++ paddq %xmm1,%xmm1 | |
4409 ++ pand %xmm3,%xmm2 | |
4410 ++ pcmpgtd %xmm1,%xmm0 | |
4411 ++ pxor %xmm2,%xmm1 | |
4412 ++ pshufd $19,%xmm0,%xmm7 | |
4413 ++ movdqa %xmm1,64(%esp) | |
4414 ++ paddq %xmm1,%xmm1 | |
4415 ++ movups (%ebp),%xmm0 | |
4416 ++ pand %xmm3,%xmm7 | |
4417 ++ movups (%esi),%xmm2 | |
4418 ++ pxor %xmm1,%xmm7 | |
4419 ++ movdqu 16(%esi),%xmm3 | |
4420 ++ xorps %xmm0,%xmm2 | |
4421 ++ movdqu 32(%esi),%xmm4 | |
4422 ++ pxor %xmm0,%xmm3 | |
4423 ++ movdqu 48(%esi),%xmm5 | |
4424 ++ pxor %xmm0,%xmm4 | |
4425 ++ movdqu 64(%esi),%xmm6 | |
4426 ++ pxor %xmm0,%xmm5 | |
4427 ++ movdqu 80(%esi),%xmm1 | |
4428 ++ pxor %xmm0,%xmm6 | |
4429 ++ leal 96(%esi),%esi | |
4430 ++ pxor (%esp),%xmm2 | |
4431 ++ movdqa %xmm7,80(%esp) | |
4432 ++ pxor %xmm1,%xmm7 | |
4433 ++ movups 16(%ebp),%xmm1 | |
4434 ++ leal 32(%ebp),%edx | |
4435 ++ pxor 16(%esp),%xmm3 | |
4436 ++.byte 102,15,56,220,209 | |
4437 ++ pxor 32(%esp),%xmm4 | |
4438 ++.byte 102,15,56,220,217 | |
4439 ++ pxor 48(%esp),%xmm5 | |
4440 ++ decl %ecx | |
4441 ++.byte 102,15,56,220,225 | |
4442 ++ pxor 64(%esp),%xmm6 | |
4443 ++.byte 102,15,56,220,233 | |
4444 ++ pxor %xmm0,%xmm7 | |
4445 ++.byte 102,15,56,220,241 | |
4446 ++ movups (%edx),%xmm0 | |
4447 ++.byte 102,15,56,220,249 | |
4448 ++ call L_aesni_encrypt6_enter | |
4449 ++ movdqa 80(%esp),%xmm1 | |
4450 ++ pxor %xmm0,%xmm0 | |
4451 ++ xorps (%esp),%xmm2 | |
4452 ++ pcmpgtd %xmm1,%xmm0 | |
4453 ++ xorps 16(%esp),%xmm3 | |
4454 ++ movups %xmm2,(%edi) | |
4455 ++ xorps 32(%esp),%xmm4 | |
4456 ++ movups %xmm3,16(%edi) | |
4457 ++ xorps 48(%esp),%xmm5 | |
4458 ++ movups %xmm4,32(%edi) | |
4459 ++ xorps 64(%esp),%xmm6 | |
4460 ++ movups %xmm5,48(%edi) | |
4461 ++ xorps %xmm1,%xmm7 | |
4462 ++ movups %xmm6,64(%edi) | |
4463 ++ pshufd $19,%xmm0,%xmm2 | |
4464 ++ movups %xmm7,80(%edi) | |
4465 ++ leal 96(%edi),%edi | |
4466 ++ movdqa 96(%esp),%xmm3 | |
4467 ++ pxor %xmm0,%xmm0 | |
4468 ++ paddq %xmm1,%xmm1 | |
4469 ++ pand %xmm3,%xmm2 | |
4470 ++ pcmpgtd %xmm1,%xmm0 | |
4471 ++ movl %ebx,%ecx | |
4472 ++ pxor %xmm2,%xmm1 | |
4473 ++ subl $96,%eax | |
4474 ++ jnc L044xts_enc_loop6 | |
4475 ++ leal 1(,%ecx,2),%ecx | |
4476 ++ movl %ebp,%edx | |
4477 ++ movl %ecx,%ebx | |
4478 ++L043xts_enc_short: | |
4479 ++ addl $96,%eax | |
4480 ++ jz L045xts_enc_done6x | |
4481 ++ movdqa %xmm1,%xmm5 | |
4482 ++ cmpl $32,%eax | |
4483 ++ jb L046xts_enc_one | |
4484 ++ pshufd $19,%xmm0,%xmm2 | |
4485 ++ pxor %xmm0,%xmm0 | |
4486 ++ paddq %xmm1,%xmm1 | |
4487 ++ pand %xmm3,%xmm2 | |
4488 ++ pcmpgtd %xmm1,%xmm0 | |
4489 ++ pxor %xmm2,%xmm1 | |
4490 ++ je L047xts_enc_two | |
4491 ++ pshufd $19,%xmm0,%xmm2 | |
4492 ++ pxor %xmm0,%xmm0 | |
4493 ++ movdqa %xmm1,%xmm6 | |
4494 ++ paddq %xmm1,%xmm1 | |
4495 ++ pand %xmm3,%xmm2 | |
4496 ++ pcmpgtd %xmm1,%xmm0 | |
4497 ++ pxor %xmm2,%xmm1 | |
4498 ++ cmpl $64,%eax | |
4499 ++ jb L048xts_enc_three | |
4500 ++ pshufd $19,%xmm0,%xmm2 | |
4501 ++ pxor %xmm0,%xmm0 | |
4502 ++ movdqa %xmm1,%xmm7 | |
4503 ++ paddq %xmm1,%xmm1 | |
4504 ++ pand %xmm3,%xmm2 | |
4505 ++ pcmpgtd %xmm1,%xmm0 | |
4506 ++ pxor %xmm2,%xmm1 | |
4507 ++ movdqa %xmm5,(%esp) | |
4508 ++ movdqa %xmm6,16(%esp) | |
4509 ++ je L049xts_enc_four | |
4510 ++ movdqa %xmm7,32(%esp) | |
4511 ++ pshufd $19,%xmm0,%xmm7 | |
4512 ++ movdqa %xmm1,48(%esp) | |
4513 ++ paddq %xmm1,%xmm1 | |
4514 ++ pand %xmm3,%xmm7 | |
4515 ++ pxor %xmm1,%xmm7 | |
4516 ++ movdqu (%esi),%xmm2 | |
4517 ++ movdqu 16(%esi),%xmm3 | |
4518 ++ movdqu 32(%esi),%xmm4 | |
4519 ++ pxor (%esp),%xmm2 | |
4520 ++ movdqu 48(%esi),%xmm5 | |
4521 ++ pxor 16(%esp),%xmm3 | |
4522 ++ movdqu 64(%esi),%xmm6 | |
4523 ++ pxor 32(%esp),%xmm4 | |
4524 ++ leal 80(%esi),%esi | |
4525 ++ pxor 48(%esp),%xmm5 | |
4526 ++ movdqa %xmm7,64(%esp) | |
4527 ++ pxor %xmm7,%xmm6 | |
4528 ++ call __aesni_encrypt6 | |
4529 ++ movaps 64(%esp),%xmm1 | |
4530 ++ xorps (%esp),%xmm2 | |
4531 ++ xorps 16(%esp),%xmm3 | |
4532 ++ xorps 32(%esp),%xmm4 | |
4533 ++ movups %xmm2,(%edi) | |
4534 ++ xorps 48(%esp),%xmm5 | |
4535 ++ movups %xmm3,16(%edi) | |
4536 ++ xorps %xmm1,%xmm6 | |
4537 ++ movups %xmm4,32(%edi) | |
4538 ++ movups %xmm5,48(%edi) | |
4539 ++ movups %xmm6,64(%edi) | |
4540 ++ leal 80(%edi),%edi | |
4541 ++ jmp L050xts_enc_done | |
4542 ++.align 4,0x90 | |
4543 ++L046xts_enc_one: | |
4544 ++ movups (%esi),%xmm2 | |
4545 ++ leal 16(%esi),%esi | |
4546 ++ xorps %xmm5,%xmm2 | |
4547 ++ movups (%edx),%xmm0 | |
4548 ++ movups 16(%edx),%xmm1 | |
4549 ++ leal 32(%edx),%edx | |
4550 ++ xorps %xmm0,%xmm2 | |
4551 ++L051enc1_loop_9: | |
4552 ++.byte 102,15,56,220,209 | |
4553 ++ decl %ecx | |
4554 ++ movups (%edx),%xmm1 | |
4555 ++ leal 16(%edx),%edx | |
4556 ++ jnz L051enc1_loop_9 | |
4557 ++.byte 102,15,56,221,209 | |
4558 ++ xorps %xmm5,%xmm2 | |
4559 ++ movups %xmm2,(%edi) | |
4560 ++ leal 16(%edi),%edi | |
4561 ++ movdqa %xmm5,%xmm1 | |
4562 ++ jmp L050xts_enc_done | |
4563 ++.align 4,0x90 | |
4564 ++L047xts_enc_two: | |
4565 ++ movaps %xmm1,%xmm6 | |
4566 ++ movups (%esi),%xmm2 | |
4567 ++ movups 16(%esi),%xmm3 | |
4568 ++ leal 32(%esi),%esi | |
4569 ++ xorps %xmm5,%xmm2 | |
4570 ++ xorps %xmm6,%xmm3 | |
4571 ++ xorps %xmm4,%xmm4 | |
4572 ++ call __aesni_encrypt3 | |
4573 ++ xorps %xmm5,%xmm2 | |
4574 ++ xorps %xmm6,%xmm3 | |
4575 ++ movups %xmm2,(%edi) | |
4576 ++ movups %xmm3,16(%edi) | |
4577 ++ leal 32(%edi),%edi | |
4578 ++ movdqa %xmm6,%xmm1 | |
4579 ++ jmp L050xts_enc_done | |
4580 ++.align 4,0x90 | |
4581 ++L048xts_enc_three: | |
4582 ++ movaps %xmm1,%xmm7 | |
4583 ++ movups (%esi),%xmm2 | |
4584 ++ movups 16(%esi),%xmm3 | |
4585 ++ movups 32(%esi),%xmm4 | |
4586 ++ leal 48(%esi),%esi | |
4587 ++ xorps %xmm5,%xmm2 | |
4588 ++ xorps %xmm6,%xmm3 | |
4589 ++ xorps %xmm7,%xmm4 | |
4590 ++ call __aesni_encrypt3 | |
4591 ++ xorps %xmm5,%xmm2 | |
4592 ++ xorps %xmm6,%xmm3 | |
4593 ++ xorps %xmm7,%xmm4 | |
4594 ++ movups %xmm2,(%edi) | |
4595 ++ movups %xmm3,16(%edi) | |
4596 ++ movups %xmm4,32(%edi) | |
4597 ++ leal 48(%edi),%edi | |
4598 ++ movdqa %xmm7,%xmm1 | |
4599 ++ jmp L050xts_enc_done | |
4600 ++.align 4,0x90 | |
4601 ++L049xts_enc_four: | |
4602 ++ movaps %xmm1,%xmm6 | |
4603 ++ movups (%esi),%xmm2 | |
4604 ++ movups 16(%esi),%xmm3 | |
4605 ++ movups 32(%esi),%xmm4 | |
4606 ++ xorps (%esp),%xmm2 | |
4607 ++ movups 48(%esi),%xmm5 | |
4608 ++ leal 64(%esi),%esi | |
4609 ++ xorps 16(%esp),%xmm3 | |
4610 ++ xorps %xmm7,%xmm4 | |
4611 ++ xorps %xmm6,%xmm5 | |
4612 ++ call __aesni_encrypt4 | |
4613 ++ xorps (%esp),%xmm2 | |
4614 ++ xorps 16(%esp),%xmm3 | |
4615 ++ xorps %xmm7,%xmm4 | |
4616 ++ movups %xmm2,(%edi) | |
4617 ++ xorps %xmm6,%xmm5 | |
4618 ++ movups %xmm3,16(%edi) | |
4619 ++ movups %xmm4,32(%edi) | |
4620 ++ movups %xmm5,48(%edi) | |
4621 ++ leal 64(%edi),%edi | |
4622 ++ movdqa %xmm6,%xmm1 | |
4623 ++ jmp L050xts_enc_done | |
4624 ++.align 4,0x90 | |
4625 ++L045xts_enc_done6x: | |
4626 ++ movl 112(%esp),%eax | |
4627 ++ andl $15,%eax | |
4628 ++ jz L052xts_enc_ret | |
4629 ++ movdqa %xmm1,%xmm5 | |
4630 ++ movl %eax,112(%esp) | |
4631 ++ jmp L053xts_enc_steal | |
4632 ++.align 4,0x90 | |
4633 ++L050xts_enc_done: | |
4634 ++ movl 112(%esp),%eax | |
4635 ++ pxor %xmm0,%xmm0 | |
4636 ++ andl $15,%eax | |
4637 ++ jz L052xts_enc_ret | |
4638 ++ pcmpgtd %xmm1,%xmm0 | |
4639 ++ movl %eax,112(%esp) | |
4640 ++ pshufd $19,%xmm0,%xmm5 | |
4641 ++ paddq %xmm1,%xmm1 | |
4642 ++ pand 96(%esp),%xmm5 | |
4643 ++ pxor %xmm1,%xmm5 | |
4644 ++L053xts_enc_steal: | |
4645 ++ movzbl (%esi),%ecx | |
4646 ++ movzbl -16(%edi),%edx | |
4647 ++ leal 1(%esi),%esi | |
4648 ++ movb %cl,-16(%edi) | |
4649 ++ movb %dl,(%edi) | |
4650 ++ leal 1(%edi),%edi | |
4651 ++ subl $1,%eax | |
4652 ++ jnz L053xts_enc_steal | |
4653 ++ subl 112(%esp),%edi | |
4654 ++ movl %ebp,%edx | |
4655 ++ movl %ebx,%ecx | |
4656 ++ movups -16(%edi),%xmm2 | |
4657 ++ xorps %xmm5,%xmm2 | |
4658 ++ movups (%edx),%xmm0 | |
4659 ++ movups 16(%edx),%xmm1 | |
4660 ++ leal 32(%edx),%edx | |
4661 ++ xorps %xmm0,%xmm2 | |
4662 ++L054enc1_loop_10: | |
4663 ++.byte 102,15,56,220,209 | |
4664 ++ decl %ecx | |
4665 ++ movups (%edx),%xmm1 | |
4666 ++ leal 16(%edx),%edx | |
4667 ++ jnz L054enc1_loop_10 | |
4668 ++.byte 102,15,56,221,209 | |
4669 ++ xorps %xmm5,%xmm2 | |
4670 ++ movups %xmm2,-16(%edi) | |
4671 ++L052xts_enc_ret: | |
4672 ++ movl 116(%esp),%esp | |
4673 ++ popl %edi | |
4674 ++ popl %esi | |
4675 ++ popl %ebx | |
4676 ++ popl %ebp | |
4677 ++ ret | |
4678 ++.globl _aesni_xts_decrypt | |
4679 ++.align 4 | |
4680 ++_aesni_xts_decrypt: | |
4681 ++L_aesni_xts_decrypt_begin: | |
4682 ++ pushl %ebp | |
4683 ++ pushl %ebx | |
4684 ++ pushl %esi | |
4685 ++ pushl %edi | |
4686 ++ movl 36(%esp),%edx | |
4687 ++ movl 40(%esp),%esi | |
4688 ++ movl 240(%edx),%ecx | |
4689 ++ movups (%esi),%xmm2 | |
4690 ++ movups (%edx),%xmm0 | |
4691 ++ movups 16(%edx),%xmm1 | |
4692 ++ leal 32(%edx),%edx | |
4693 ++ xorps %xmm0,%xmm2 | |
4694 ++L055enc1_loop_11: | |
4695 ++.byte 102,15,56,220,209 | |
4696 ++ decl %ecx | |
4697 ++ movups (%edx),%xmm1 | |
4698 ++ leal 16(%edx),%edx | |
4699 ++ jnz L055enc1_loop_11 | |
4700 ++.byte 102,15,56,221,209 | |
4701 ++ movl 20(%esp),%esi | |
4702 ++ movl 24(%esp),%edi | |
4703 ++ movl 28(%esp),%eax | |
4704 ++ movl 32(%esp),%edx | |
4705 ++ movl %esp,%ebp | |
4706 ++ subl $120,%esp | |
4707 ++ andl $-16,%esp | |
4708 ++ xorl %ebx,%ebx | |
4709 ++ testl $15,%eax | |
4710 ++ setnz %bl | |
4711 ++ shll $4,%ebx | |
4712 ++ subl %ebx,%eax | |
4713 ++ movl $135,96(%esp) | |
4714 ++ movl $0,100(%esp) | |
4715 ++ movl $1,104(%esp) | |
4716 ++ movl $0,108(%esp) | |
4717 ++ movl %eax,112(%esp) | |
4718 ++ movl %ebp,116(%esp) | |
4719 ++ movl 240(%edx),%ecx | |
4720 ++ movl %edx,%ebp | |
4721 ++ movl %ecx,%ebx | |
4722 ++ movdqa %xmm2,%xmm1 | |
4723 ++ pxor %xmm0,%xmm0 | |
4724 ++ movdqa 96(%esp),%xmm3 | |
4725 ++ pcmpgtd %xmm1,%xmm0 | |
4726 ++ andl $-16,%eax | |
4727 ++ subl $96,%eax | |
4728 ++ jc L056xts_dec_short | |
4729 ++ shrl $1,%ecx | |
4730 ++ movl %ecx,%ebx | |
4731 ++ jmp L057xts_dec_loop6 | |
4732 ++.align 4,0x90 | |
4733 ++L057xts_dec_loop6: | |
4734 ++ pshufd $19,%xmm0,%xmm2 | |
4735 ++ pxor %xmm0,%xmm0 | |
4736 ++ movdqa %xmm1,(%esp) | |
4737 ++ paddq %xmm1,%xmm1 | |
4738 ++ pand %xmm3,%xmm2 | |
4739 ++ pcmpgtd %xmm1,%xmm0 | |
4740 ++ pxor %xmm2,%xmm1 | |
4741 ++ pshufd $19,%xmm0,%xmm2 | |
4742 ++ pxor %xmm0,%xmm0 | |
4743 ++ movdqa %xmm1,16(%esp) | |
4744 ++ paddq %xmm1,%xmm1 | |
4745 ++ pand %xmm3,%xmm2 | |
4746 ++ pcmpgtd %xmm1,%xmm0 | |
4747 ++ pxor %xmm2,%xmm1 | |
4748 ++ pshufd $19,%xmm0,%xmm2 | |
4749 ++ pxor %xmm0,%xmm0 | |
4750 ++ movdqa %xmm1,32(%esp) | |
4751 ++ paddq %xmm1,%xmm1 | |
4752 ++ pand %xmm3,%xmm2 | |
4753 ++ pcmpgtd %xmm1,%xmm0 | |
4754 ++ pxor %xmm2,%xmm1 | |
4755 ++ pshufd $19,%xmm0,%xmm2 | |
4756 ++ pxor %xmm0,%xmm0 | |
4757 ++ movdqa %xmm1,48(%esp) | |
4758 ++ paddq %xmm1,%xmm1 | |
4759 ++ pand %xmm3,%xmm2 | |
4760 ++ pcmpgtd %xmm1,%xmm0 | |
4761 ++ pxor %xmm2,%xmm1 | |
4762 ++ pshufd $19,%xmm0,%xmm7 | |
4763 ++ movdqa %xmm1,64(%esp) | |
4764 ++ paddq %xmm1,%xmm1 | |
4765 ++ movups (%ebp),%xmm0 | |
4766 ++ pand %xmm3,%xmm7 | |
4767 ++ movups (%esi),%xmm2 | |
4768 ++ pxor %xmm1,%xmm7 | |
4769 ++ movdqu 16(%esi),%xmm3 | |
4770 ++ xorps %xmm0,%xmm2 | |
4771 ++ movdqu 32(%esi),%xmm4 | |
4772 ++ pxor %xmm0,%xmm3 | |
4773 ++ movdqu 48(%esi),%xmm5 | |
4774 ++ pxor %xmm0,%xmm4 | |
4775 ++ movdqu 64(%esi),%xmm6 | |
4776 ++ pxor %xmm0,%xmm5 | |
4777 ++ movdqu 80(%esi),%xmm1 | |
4778 ++ pxor %xmm0,%xmm6 | |
4779 ++ leal 96(%esi),%esi | |
4780 ++ pxor (%esp),%xmm2 | |
4781 ++ movdqa %xmm7,80(%esp) | |
4782 ++ pxor %xmm1,%xmm7 | |
4783 ++ movups 16(%ebp),%xmm1 | |
4784 ++ leal 32(%ebp),%edx | |
4785 ++ pxor 16(%esp),%xmm3 | |
4786 ++.byte 102,15,56,222,209 | |
4787 ++ pxor 32(%esp),%xmm4 | |
4788 ++.byte 102,15,56,222,217 | |
4789 ++ pxor 48(%esp),%xmm5 | |
4790 ++ decl %ecx | |
4791 ++.byte 102,15,56,222,225 | |
4792 ++ pxor 64(%esp),%xmm6 | |
4793 ++.byte 102,15,56,222,233 | |
4794 ++ pxor %xmm0,%xmm7 | |
4795 ++.byte 102,15,56,222,241 | |
4796 ++ movups (%edx),%xmm0 | |
4797 ++.byte 102,15,56,222,249 | |
4798 ++ call L_aesni_decrypt6_enter | |
4799 ++ movdqa 80(%esp),%xmm1 | |
4800 ++ pxor %xmm0,%xmm0 | |
4801 ++ xorps (%esp),%xmm2 | |
4802 ++ pcmpgtd %xmm1,%xmm0 | |
4803 ++ xorps 16(%esp),%xmm3 | |
4804 ++ movups %xmm2,(%edi) | |
4805 ++ xorps 32(%esp),%xmm4 | |
4806 ++ movups %xmm3,16(%edi) | |
4807 ++ xorps 48(%esp),%xmm5 | |
4808 ++ movups %xmm4,32(%edi) | |
4809 ++ xorps 64(%esp),%xmm6 | |
4810 ++ movups %xmm5,48(%edi) | |
4811 ++ xorps %xmm1,%xmm7 | |
4812 ++ movups %xmm6,64(%edi) | |
4813 ++ pshufd $19,%xmm0,%xmm2 | |
4814 ++ movups %xmm7,80(%edi) | |
4815 ++ leal 96(%edi),%edi | |
4816 ++ movdqa 96(%esp),%xmm3 | |
4817 ++ pxor %xmm0,%xmm0 | |
4818 ++ paddq %xmm1,%xmm1 | |
4819 ++ pand %xmm3,%xmm2 | |
4820 ++ pcmpgtd %xmm1,%xmm0 | |
4821 ++ movl %ebx,%ecx | |
4822 ++ pxor %xmm2,%xmm1 | |
4823 ++ subl $96,%eax | |
4824 ++ jnc L057xts_dec_loop6 | |
4825 ++ leal 1(,%ecx,2),%ecx | |
4826 ++ movl %ebp,%edx | |
4827 ++ movl %ecx,%ebx | |
4828 ++L056xts_dec_short: | |
4829 ++ addl $96,%eax | |
4830 ++ jz L058xts_dec_done6x | |
4831 ++ movdqa %xmm1,%xmm5 | |
4832 ++ cmpl $32,%eax | |
4833 ++ jb L059xts_dec_one | |
4834 ++ pshufd $19,%xmm0,%xmm2 | |
4835 ++ pxor %xmm0,%xmm0 | |
4836 ++ paddq %xmm1,%xmm1 | |
4837 ++ pand %xmm3,%xmm2 | |
4838 ++ pcmpgtd %xmm1,%xmm0 | |
4839 ++ pxor %xmm2,%xmm1 | |
4840 ++ je L060xts_dec_two | |
4841 ++ pshufd $19,%xmm0,%xmm2 | |
4842 ++ pxor %xmm0,%xmm0 | |
4843 ++ movdqa %xmm1,%xmm6 | |
4844 ++ paddq %xmm1,%xmm1 | |
4845 ++ pand %xmm3,%xmm2 | |
4846 ++ pcmpgtd %xmm1,%xmm0 | |
4847 ++ pxor %xmm2,%xmm1 | |
4848 ++ cmpl $64,%eax | |
4849 ++ jb L061xts_dec_three | |
4850 ++ pshufd $19,%xmm0,%xmm2 | |
4851 ++ pxor %xmm0,%xmm0 | |
4852 ++ movdqa %xmm1,%xmm7 | |
4853 ++ paddq %xmm1,%xmm1 | |
4854 ++ pand %xmm3,%xmm2 | |
4855 ++ pcmpgtd %xmm1,%xmm0 | |
4856 ++ pxor %xmm2,%xmm1 | |
4857 ++ movdqa %xmm5,(%esp) | |
4858 ++ movdqa %xmm6,16(%esp) | |
4859 ++ je L062xts_dec_four | |
4860 ++ movdqa %xmm7,32(%esp) | |
4861 ++ pshufd $19,%xmm0,%xmm7 | |
4862 ++ movdqa %xmm1,48(%esp) | |
4863 ++ paddq %xmm1,%xmm1 | |
4864 ++ pand %xmm3,%xmm7 | |
4865 ++ pxor %xmm1,%xmm7 | |
4866 ++ movdqu (%esi),%xmm2 | |
4867 ++ movdqu 16(%esi),%xmm3 | |
4868 ++ movdqu 32(%esi),%xmm4 | |
4869 ++ pxor (%esp),%xmm2 | |
4870 ++ movdqu 48(%esi),%xmm5 | |
4871 ++ pxor 16(%esp),%xmm3 | |
4872 ++ movdqu 64(%esi),%xmm6 | |
4873 ++ pxor 32(%esp),%xmm4 | |
4874 ++ leal 80(%esi),%esi | |
4875 ++ pxor 48(%esp),%xmm5 | |
4876 ++ movdqa %xmm7,64(%esp) | |
4877 ++ pxor %xmm7,%xmm6 | |
4878 ++ call __aesni_decrypt6 | |
4879 ++ movaps 64(%esp),%xmm1 | |
4880 ++ xorps (%esp),%xmm2 | |
4881 ++ xorps 16(%esp),%xmm3 | |
4882 ++ xorps 32(%esp),%xmm4 | |
4883 ++ movups %xmm2,(%edi) | |
4884 ++ xorps 48(%esp),%xmm5 | |
4885 ++ movups %xmm3,16(%edi) | |
4886 ++ xorps %xmm1,%xmm6 | |
4887 ++ movups %xmm4,32(%edi) | |
4888 ++ movups %xmm5,48(%edi) | |
4889 ++ movups %xmm6,64(%edi) | |
4890 ++ leal 80(%edi),%edi | |
4891 ++ jmp L063xts_dec_done | |
4892 ++.align 4,0x90 | |
4893 ++L059xts_dec_one: | |
4894 ++ movups (%esi),%xmm2 | |
4895 ++ leal 16(%esi),%esi | |
4896 ++ xorps %xmm5,%xmm2 | |
4897 ++ movups (%edx),%xmm0 | |
4898 ++ movups 16(%edx),%xmm1 | |
4899 ++ leal 32(%edx),%edx | |
4900 ++ xorps %xmm0,%xmm2 | |
4901 ++L064dec1_loop_12: | |
4902 ++.byte 102,15,56,222,209 | |
4903 ++ decl %ecx | |
4904 ++ movups (%edx),%xmm1 | |
4905 ++ leal 16(%edx),%edx | |
4906 ++ jnz L064dec1_loop_12 | |
4907 ++.byte 102,15,56,223,209 | |
4908 ++ xorps %xmm5,%xmm2 | |
4909 ++ movups %xmm2,(%edi) | |
4910 ++ leal 16(%edi),%edi | |
4911 ++ movdqa %xmm5,%xmm1 | |
4912 ++ jmp L063xts_dec_done | |
4913 ++.align 4,0x90 | |
4914 ++L060xts_dec_two: | |
4915 ++ movaps %xmm1,%xmm6 | |
4916 ++ movups (%esi),%xmm2 | |
4917 ++ movups 16(%esi),%xmm3 | |
4918 ++ leal 32(%esi),%esi | |
4919 ++ xorps %xmm5,%xmm2 | |
4920 ++ xorps %xmm6,%xmm3 | |
4921 ++ call __aesni_decrypt3 | |
4922 ++ xorps %xmm5,%xmm2 | |
4923 ++ xorps %xmm6,%xmm3 | |
4924 ++ movups %xmm2,(%edi) | |
4925 ++ movups %xmm3,16(%edi) | |
4926 ++ leal 32(%edi),%edi | |
4927 ++ movdqa %xmm6,%xmm1 | |
4928 ++ jmp L063xts_dec_done | |
4929 ++.align 4,0x90 | |
4930 ++L061xts_dec_three: | |
4931 ++ movaps %xmm1,%xmm7 | |
4932 ++ movups (%esi),%xmm2 | |
4933 ++ movups 16(%esi),%xmm3 | |
4934 ++ movups 32(%esi),%xmm4 | |
4935 ++ leal 48(%esi),%esi | |
4936 ++ xorps %xmm5,%xmm2 | |
4937 ++ xorps %xmm6,%xmm3 | |
4938 ++ xorps %xmm7,%xmm4 | |
4939 ++ call __aesni_decrypt3 | |
4940 ++ xorps %xmm5,%xmm2 | |
4941 ++ xorps %xmm6,%xmm3 | |
4942 ++ xorps %xmm7,%xmm4 | |
4943 ++ movups %xmm2,(%edi) | |
4944 ++ movups %xmm3,16(%edi) | |
4945 ++ movups %xmm4,32(%edi) | |
4946 ++ leal 48(%edi),%edi | |
4947 ++ movdqa %xmm7,%xmm1 | |
4948 ++ jmp L063xts_dec_done | |
4949 ++.align 4,0x90 | |
4950 ++L062xts_dec_four: | |
4951 ++ movaps %xmm1,%xmm6 | |
4952 ++ movups (%esi),%xmm2 | |
4953 ++ movups 16(%esi),%xmm3 | |
4954 ++ movups 32(%esi),%xmm4 | |
4955 ++ xorps (%esp),%xmm2 | |
4956 ++ movups 48(%esi),%xmm5 | |
4957 ++ leal 64(%esi),%esi | |
4958 ++ xorps 16(%esp),%xmm3 | |
4959 ++ xorps %xmm7,%xmm4 | |
4960 ++ xorps %xmm6,%xmm5 | |
4961 ++ call __aesni_decrypt4 | |
4962 ++ xorps (%esp),%xmm2 | |
4963 ++ xorps 16(%esp),%xmm3 | |
4964 ++ xorps %xmm7,%xmm4 | |
4965 ++ movups %xmm2,(%edi) | |
4966 ++ xorps %xmm6,%xmm5 | |
4967 ++ movups %xmm3,16(%edi) | |
4968 ++ movups %xmm4,32(%edi) | |
4969 ++ movups %xmm5,48(%edi) | |
4970 ++ leal 64(%edi),%edi | |
4971 ++ movdqa %xmm6,%xmm1 | |
4972 ++ jmp L063xts_dec_done | |
4973 ++.align 4,0x90 | |
4974 ++L058xts_dec_done6x: | |
4975 ++ movl 112(%esp),%eax | |
4976 ++ andl $15,%eax | |
4977 ++ jz L065xts_dec_ret | |
4978 ++ movl %eax,112(%esp) | |
4979 ++ jmp L066xts_dec_only_one_more | |
4980 ++.align 4,0x90 | |
4981 ++L063xts_dec_done: | |
4982 ++ movl 112(%esp),%eax | |
4983 ++ pxor %xmm0,%xmm0 | |
4984 ++ andl $15,%eax | |
4985 ++ jz L065xts_dec_ret | |
4986 ++ pcmpgtd %xmm1,%xmm0 | |
4987 ++ movl %eax,112(%esp) | |
4988 ++ pshufd $19,%xmm0,%xmm2 | |
4989 ++ pxor %xmm0,%xmm0 | |
4990 ++ movdqa 96(%esp),%xmm3 | |
4991 ++ paddq %xmm1,%xmm1 | |
4992 ++ pand %xmm3,%xmm2 | |
4993 ++ pcmpgtd %xmm1,%xmm0 | |
4994 ++ pxor %xmm2,%xmm1 | |
4995 ++L066xts_dec_only_one_more: | |
4996 ++ pshufd $19,%xmm0,%xmm5 | |
4997 ++ movdqa %xmm1,%xmm6 | |
4998 ++ paddq %xmm1,%xmm1 | |
4999 ++ pand %xmm3,%xmm5 | |
5000 ++ pxor %xmm1,%xmm5 | |
5001 ++ movl %ebp,%edx | |
5002 ++ movl %ebx,%ecx | |
5003 ++ movups (%esi),%xmm2 | |
5004 ++ xorps %xmm5,%xmm2 | |
5005 ++ movups (%edx),%xmm0 | |
5006 ++ movups 16(%edx),%xmm1 | |
5007 ++ leal 32(%edx),%edx | |
5008 ++ xorps %xmm0,%xmm2 | |
5009 ++L067dec1_loop_13: | |
5010 ++.byte 102,15,56,222,209 | |
5011 ++ decl %ecx | |
5012 ++ movups (%edx),%xmm1 | |
5013 ++ leal 16(%edx),%edx | |
5014 ++ jnz L067dec1_loop_13 | |
5015 ++.byte 102,15,56,223,209 | |
5016 ++ xorps %xmm5,%xmm2 | |
5017 ++ movups %xmm2,(%edi) | |
5018 ++L068xts_dec_steal: | |
5019 ++ movzbl 16(%esi),%ecx | |
5020 ++ movzbl (%edi),%edx | |
5021 ++ leal 1(%esi),%esi | |
5022 ++ movb %cl,(%edi) | |
5023 ++ movb %dl,16(%edi) | |
5024 ++ leal 1(%edi),%edi | |
5025 ++ subl $1,%eax | |
5026 ++ jnz L068xts_dec_steal | |
5027 ++ subl 112(%esp),%edi | |
5028 ++ movl %ebp,%edx | |
5029 ++ movl %ebx,%ecx | |
5030 ++ movups (%edi),%xmm2 | |
5031 ++ xorps %xmm6,%xmm2 | |
5032 ++ movups (%edx),%xmm0 | |
5033 ++ movups 16(%edx),%xmm1 | |
5034 ++ leal 32(%edx),%edx | |
5035 ++ xorps %xmm0,%xmm2 | |
5036 ++L069dec1_loop_14: | |
5037 ++.byte 102,15,56,222,209 | |
5038 ++ decl %ecx | |
5039 ++ movups (%edx),%xmm1 | |
5040 ++ leal 16(%edx),%edx | |
5041 ++ jnz L069dec1_loop_14 | |
5042 ++.byte 102,15,56,223,209 | |
5043 ++ xorps %xmm6,%xmm2 | |
5044 ++ movups %xmm2,(%edi) | |
5045 ++L065xts_dec_ret: | |
5046 ++ movl 116(%esp),%esp | |
5047 ++ popl %edi | |
5048 ++ popl %esi | |
5049 ++ popl %ebx | |
5050 ++ popl %ebp | |
5051 ++ ret | |
5052 ++.globl _aesni_cbc_encrypt | |
5053 ++.align 4 | |
5054 ++_aesni_cbc_encrypt: | |
5055 ++L_aesni_cbc_encrypt_begin: | |
5056 ++ pushl %ebp | |
5057 ++ pushl %ebx | |
5058 ++ pushl %esi | |
5059 ++ pushl %edi | |
5060 ++ movl 20(%esp),%esi | |
5061 ++ movl %esp,%ebx | |
5062 ++ movl 24(%esp),%edi | |
5063 ++ subl $24,%ebx | |
5064 ++ movl 28(%esp),%eax | |
5065 ++ andl $-16,%ebx | |
5066 ++ movl 32(%esp),%edx | |
5067 ++ movl 36(%esp),%ebp | |
5068 ++ testl %eax,%eax | |
5069 ++ jz L070cbc_abort | |
5070 ++ cmpl $0,40(%esp) | |
5071 ++ xchgl %esp,%ebx | |
5072 ++ movups (%ebp),%xmm7 | |
5073 ++ movl 240(%edx),%ecx | |
5074 ++ movl %edx,%ebp | |
5075 ++ movl %ebx,16(%esp) | |
5076 ++ movl %ecx,%ebx | |
5077 ++ je L071cbc_decrypt | |
5078 ++ movaps %xmm7,%xmm2 | |
5079 ++ cmpl $16,%eax | |
5080 ++ jb L072cbc_enc_tail | |
5081 ++ subl $16,%eax | |
5082 ++ jmp L073cbc_enc_loop | |
5083 ++.align 4,0x90 | |
5084 ++L073cbc_enc_loop: | |
5085 ++ movups (%esi),%xmm7 | |
5086 ++ leal 16(%esi),%esi | |
5087 ++ movups (%edx),%xmm0 | |
5088 ++ movups 16(%edx),%xmm1 | |
5089 ++ xorps %xmm0,%xmm7 | |
5090 ++ leal 32(%edx),%edx | |
5091 ++ xorps %xmm7,%xmm2 | |
5092 ++L074enc1_loop_15: | |
5093 ++.byte 102,15,56,220,209 | |
5094 ++ decl %ecx | |
5095 ++ movups (%edx),%xmm1 | |
5096 ++ leal 16(%edx),%edx | |
5097 ++ jnz L074enc1_loop_15 | |
5098 ++.byte 102,15,56,221,209 | |
5099 ++ movl %ebx,%ecx | |
5100 ++ movl %ebp,%edx | |
5101 ++ movups %xmm2,(%edi) | |
5102 ++ leal 16(%edi),%edi | |
5103 ++ subl $16,%eax | |
5104 ++ jnc L073cbc_enc_loop | |
5105 ++ addl $16,%eax | |
5106 ++ jnz L072cbc_enc_tail | |
5107 ++ movaps %xmm2,%xmm7 | |
5108 ++ jmp L075cbc_ret | |
5109 ++L072cbc_enc_tail: | |
5110 ++ movl %eax,%ecx | |
5111 ++.long 2767451785 | |
5112 ++ movl $16,%ecx | |
5113 ++ subl %eax,%ecx | |
5114 ++ xorl %eax,%eax | |
5115 ++.long 2868115081 | |
5116 ++ leal -16(%edi),%edi | |
5117 ++ movl %ebx,%ecx | |
5118 ++ movl %edi,%esi | |
5119 ++ movl %ebp,%edx | |
5120 ++ jmp L073cbc_enc_loop | |
5121 ++.align 4,0x90 | |
5122 ++L071cbc_decrypt: | |
5123 ++ cmpl $80,%eax | |
5124 ++ jbe L076cbc_dec_tail | |
5125 ++ movaps %xmm7,(%esp) | |
5126 ++ subl $80,%eax | |
5127 ++ jmp L077cbc_dec_loop6_enter | |
5128 ++.align 4,0x90 | |
5129 ++L078cbc_dec_loop6: | |
5130 ++ movaps %xmm0,(%esp) | |
5131 ++ movups %xmm7,(%edi) | |
5132 ++ leal 16(%edi),%edi | |
5133 ++L077cbc_dec_loop6_enter: | |
5134 ++ movdqu (%esi),%xmm2 | |
5135 ++ movdqu 16(%esi),%xmm3 | |
5136 ++ movdqu 32(%esi),%xmm4 | |
5137 ++ movdqu 48(%esi),%xmm5 | |
5138 ++ movdqu 64(%esi),%xmm6 | |
5139 ++ movdqu 80(%esi),%xmm7 | |
5140 ++ call __aesni_decrypt6 | |
5141 ++ movups (%esi),%xmm1 | |
5142 ++ movups 16(%esi),%xmm0 | |
5143 ++ xorps (%esp),%xmm2 | |
5144 ++ xorps %xmm1,%xmm3 | |
5145 ++ movups 32(%esi),%xmm1 | |
5146 ++ xorps %xmm0,%xmm4 | |
5147 ++ movups 48(%esi),%xmm0 | |
5148 ++ xorps %xmm1,%xmm5 | |
5149 ++ movups 64(%esi),%xmm1 | |
5150 ++ xorps %xmm0,%xmm6 | |
5151 ++ movups 80(%esi),%xmm0 | |
5152 ++ xorps %xmm1,%xmm7 | |
5153 ++ movups %xmm2,(%edi) | |
5154 ++ movups %xmm3,16(%edi) | |
5155 ++ leal 96(%esi),%esi | |
5156 ++ movups %xmm4,32(%edi) | |
5157 ++ movl %ebx,%ecx | |
5158 ++ movups %xmm5,48(%edi) | |
5159 ++ movl %ebp,%edx | |
5160 ++ movups %xmm6,64(%edi) | |
5161 ++ leal 80(%edi),%edi | |
5162 ++ subl $96,%eax | |
5163 ++ ja L078cbc_dec_loop6 | |
5164 ++ movaps %xmm7,%xmm2 | |
5165 ++ movaps %xmm0,%xmm7 | |
5166 ++ addl $80,%eax | |
5167 ++ jle L079cbc_dec_tail_collected | |
5168 ++ movups %xmm2,(%edi) | |
5169 ++ leal 16(%edi),%edi | |
5170 ++L076cbc_dec_tail: | |
5171 ++ movups (%esi),%xmm2 | |
5172 ++ movaps %xmm2,%xmm6 | |
5173 ++ cmpl $16,%eax | |
5174 ++ jbe L080cbc_dec_one | |
5175 ++ movups 16(%esi),%xmm3 | |
5176 ++ movaps %xmm3,%xmm5 | |
5177 ++ cmpl $32,%eax | |
5178 ++ jbe L081cbc_dec_two | |
5179 ++ movups 32(%esi),%xmm4 | |
5180 ++ cmpl $48,%eax | |
5181 ++ jbe L082cbc_dec_three | |
5182 ++ movups 48(%esi),%xmm5 | |
5183 ++ cmpl $64,%eax | |
5184 ++ jbe L083cbc_dec_four | |
5185 ++ movups 64(%esi),%xmm6 | |
5186 ++ movaps %xmm7,(%esp) | |
5187 ++ movups (%esi),%xmm2 | |
5188 ++ xorps %xmm7,%xmm7 | |
5189 ++ call __aesni_decrypt6 | |
5190 ++ movups (%esi),%xmm1 | |
5191 ++ movups 16(%esi),%xmm0 | |
5192 ++ xorps (%esp),%xmm2 | |
5193 ++ xorps %xmm1,%xmm3 | |
5194 ++ movups 32(%esi),%xmm1 | |
5195 ++ xorps %xmm0,%xmm4 | |
5196 ++ movups 48(%esi),%xmm0 | |
5197 ++ xorps %xmm1,%xmm5 | |
5198 ++ movups 64(%esi),%xmm7 | |
5199 ++ xorps %xmm0,%xmm6 | |
5200 ++ movups %xmm2,(%edi) | |
5201 ++ movups %xmm3,16(%edi) | |
5202 ++ movups %xmm4,32(%edi) | |
5203 ++ movups %xmm5,48(%edi) | |
5204 ++ leal 64(%edi),%edi | |
5205 ++ movaps %xmm6,%xmm2 | |
5206 ++ subl $80,%eax | |
5207 ++ jmp L079cbc_dec_tail_collected | |
5208 ++.align 4,0x90 | |
5209 ++L080cbc_dec_one: | |
5210 ++ movups (%edx),%xmm0 | |
5211 ++ movups 16(%edx),%xmm1 | |
5212 ++ leal 32(%edx),%edx | |
5213 ++ xorps %xmm0,%xmm2 | |
5214 ++L084dec1_loop_16: | |
5215 ++.byte 102,15,56,222,209 | |
5216 ++ decl %ecx | |
5217 ++ movups (%edx),%xmm1 | |
5218 ++ leal 16(%edx),%edx | |
5219 ++ jnz L084dec1_loop_16 | |
5220 ++.byte 102,15,56,223,209 | |
5221 ++ xorps %xmm7,%xmm2 | |
5222 ++ movaps %xmm6,%xmm7 | |
5223 ++ subl $16,%eax | |
5224 ++ jmp L079cbc_dec_tail_collected | |
5225 ++.align 4,0x90 | |
5226 ++L081cbc_dec_two: | |
5227 ++ xorps %xmm4,%xmm4 | |
5228 ++ call __aesni_decrypt3 | |
5229 ++ xorps %xmm7,%xmm2 | |
5230 ++ xorps %xmm6,%xmm3 | |
5231 ++ movups %xmm2,(%edi) | |
5232 ++ movaps %xmm3,%xmm2 | |
5233 ++ leal 16(%edi),%edi | |
5234 ++ movaps %xmm5,%xmm7 | |
5235 ++ subl $32,%eax | |
5236 ++ jmp L079cbc_dec_tail_collected | |
5237 ++.align 4,0x90 | |
5238 ++L082cbc_dec_three: | |
5239 ++ call __aesni_decrypt3 | |
5240 ++ xorps %xmm7,%xmm2 | |
5241 ++ xorps %xmm6,%xmm3 | |
5242 ++ xorps %xmm5,%xmm4 | |
5243 ++ movups %xmm2,(%edi) | |
5244 ++ movaps %xmm4,%xmm2 | |
5245 ++ movups %xmm3,16(%edi) | |
5246 ++ leal 32(%edi),%edi | |
5247 ++ movups 32(%esi),%xmm7 | |
5248 ++ subl $48,%eax | |
5249 ++ jmp L079cbc_dec_tail_collected | |
5250 ++.align 4,0x90 | |
5251 ++L083cbc_dec_four: | |
5252 ++ call __aesni_decrypt4 | |
5253 ++ movups 16(%esi),%xmm1 | |
5254 ++ movups 32(%esi),%xmm0 | |
5255 ++ xorps %xmm7,%xmm2 | |
5256 ++ movups 48(%esi),%xmm7 | |
5257 ++ xorps %xmm6,%xmm3 | |
5258 ++ movups %xmm2,(%edi) | |
5259 ++ xorps %xmm1,%xmm4 | |
5260 ++ movups %xmm3,16(%edi) | |
5261 ++ xorps %xmm0,%xmm5 | |
5262 ++ movups %xmm4,32(%edi) | |
5263 ++ leal 48(%edi),%edi | |
5264 ++ movaps %xmm5,%xmm2 | |
5265 ++ subl $64,%eax | |
5266 ++L079cbc_dec_tail_collected: | |
5267 ++ andl $15,%eax | |
5268 ++ jnz L085cbc_dec_tail_partial | |
5269 ++ movups %xmm2,(%edi) | |
5270 ++ jmp L075cbc_ret | |
5271 ++.align 4,0x90 | |
5272 ++L085cbc_dec_tail_partial: | |
5273 ++ movaps %xmm2,(%esp) | |
5274 ++ movl $16,%ecx | |
5275 ++ movl %esp,%esi | |
5276 ++ subl %eax,%ecx | |
5277 ++.long 2767451785 | |
5278 ++L075cbc_ret: | |
5279 ++ movl 16(%esp),%esp | |
5280 ++ movl 36(%esp),%ebp | |
5281 ++ movups %xmm7,(%ebp) | |
5282 ++L070cbc_abort: | |
5283 ++ popl %edi | |
5284 ++ popl %esi | |
5285 ++ popl %ebx | |
5286 ++ popl %ebp | |
5287 ++ ret | |
5288 ++.align 4 | |
5289 ++__aesni_set_encrypt_key: | |
5290 ++ testl %eax,%eax | |
5291 ++ jz L086bad_pointer | |
5292 ++ testl %edx,%edx | |
5293 ++ jz L086bad_pointer | |
5294 ++ movups (%eax),%xmm0 | |
5295 ++ xorps %xmm4,%xmm4 | |
5296 ++ leal 16(%edx),%edx | |
5297 ++ cmpl $256,%ecx | |
5298 ++ je L08714rounds | |
5299 ++ cmpl $192,%ecx | |
5300 ++ je L08812rounds | |
5301 ++ cmpl $128,%ecx | |
5302 ++ jne L089bad_keybits | |
5303 ++.align 4,0x90 | |
5304 ++L09010rounds: | |
5305 ++ movl $9,%ecx | |
5306 ++ movups %xmm0,-16(%edx) | |
5307 ++.byte 102,15,58,223,200,1 | |
5308 ++ call L091key_128_cold | |
5309 ++.byte 102,15,58,223,200,2 | |
5310 ++ call L092key_128 | |
5311 ++.byte 102,15,58,223,200,4 | |
5312 ++ call L092key_128 | |
5313 ++.byte 102,15,58,223,200,8 | |
5314 ++ call L092key_128 | |
5315 ++.byte 102,15,58,223,200,16 | |
5316 ++ call L092key_128 | |
5317 ++.byte 102,15,58,223,200,32 | |
5318 ++ call L092key_128 | |
5319 ++.byte 102,15,58,223,200,64 | |
5320 ++ call L092key_128 | |
5321 ++.byte 102,15,58,223,200,128 | |
5322 ++ call L092key_128 | |
5323 ++.byte 102,15,58,223,200,27 | |
5324 ++ call L092key_128 | |
5325 ++.byte 102,15,58,223,200,54 | |
5326 ++ call L092key_128 | |
5327 ++ movups %xmm0,(%edx) | |
5328 ++ movl %ecx,80(%edx) | |
5329 ++ xorl %eax,%eax | |
5330 ++ ret | |
5331 ++.align 4,0x90 | |
5332 ++L092key_128: | |
5333 ++ movups %xmm0,(%edx) | |
5334 ++ leal 16(%edx),%edx | |
5335 ++L091key_128_cold: | |
5336 ++ shufps $16,%xmm0,%xmm4 | |
5337 ++ xorps %xmm4,%xmm0 | |
5338 ++ shufps $140,%xmm0,%xmm4 | |
5339 ++ xorps %xmm4,%xmm0 | |
5340 ++ shufps $255,%xmm1,%xmm1 | |
5341 ++ xorps %xmm1,%xmm0 | |
5342 ++ ret | |
5343 ++.align 4,0x90 | |
5344 ++L08812rounds: | |
5345 ++ movq 16(%eax),%xmm2 | |
5346 ++ movl $11,%ecx | |
5347 ++ movups %xmm0,-16(%edx) | |
5348 ++.byte 102,15,58,223,202,1 | |
5349 ++ call L093key_192a_cold | |
5350 ++.byte 102,15,58,223,202,2 | |
5351 ++ call L094key_192b | |
5352 ++.byte 102,15,58,223,202,4 | |
5353 ++ call L095key_192a | |
5354 ++.byte 102,15,58,223,202,8 | |
5355 ++ call L094key_192b | |
5356 ++.byte 102,15,58,223,202,16 | |
5357 ++ call L095key_192a | |
5358 ++.byte 102,15,58,223,202,32 | |
5359 ++ call L094key_192b | |
5360 ++.byte 102,15,58,223,202,64 | |
5361 ++ call L095key_192a | |
5362 ++.byte 102,15,58,223,202,128 | |
5363 ++ call L094key_192b | |
5364 ++ movups %xmm0,(%edx) | |
5365 ++ movl %ecx,48(%edx) | |
5366 ++ xorl %eax,%eax | |
5367 ++ ret | |
5368 ++.align 4,0x90 | |
5369 ++L095key_192a: | |
5370 ++ movups %xmm0,(%edx) | |
5371 ++ leal 16(%edx),%edx | |
5372 ++.align 4,0x90 | |
5373 ++L093key_192a_cold: | |
5374 ++ movaps %xmm2,%xmm5 | |
5375 ++L096key_192b_warm: | |
5376 ++ shufps $16,%xmm0,%xmm4 | |
5377 ++ movdqa %xmm2,%xmm3 | |
5378 ++ xorps %xmm4,%xmm0 | |
5379 ++ shufps $140,%xmm0,%xmm4 | |
5380 ++ pslldq $4,%xmm3 | |
5381 ++ xorps %xmm4,%xmm0 | |
5382 ++ pshufd $85,%xmm1,%xmm1 | |
5383 ++ pxor %xmm3,%xmm2 | |
5384 ++ pxor %xmm1,%xmm0 | |
5385 ++ pshufd $255,%xmm0,%xmm3 | |
5386 ++ pxor %xmm3,%xmm2 | |
5387 ++ ret | |
5388 ++.align 4,0x90 | |
5389 ++L094key_192b: | |
5390 ++ movaps %xmm0,%xmm3 | |
5391 ++ shufps $68,%xmm0,%xmm5 | |
5392 ++ movups %xmm5,(%edx) | |
5393 ++ shufps $78,%xmm2,%xmm3 | |
5394 ++ movups %xmm3,16(%edx) | |
5395 ++ leal 32(%edx),%edx | |
5396 ++ jmp L096key_192b_warm | |
5397 ++.align 4,0x90 | |
5398 ++L08714rounds: | |
5399 ++ movups 16(%eax),%xmm2 | |
5400 ++ movl $13,%ecx | |
5401 ++ leal 16(%edx),%edx | |
5402 ++ movups %xmm0,-32(%edx) | |
5403 ++ movups %xmm2,-16(%edx) | |
5404 ++.byte 102,15,58,223,202,1 | |
5405 ++ call L097key_256a_cold | |
5406 ++.byte 102,15,58,223,200,1 | |
5407 ++ call L098key_256b | |
5408 ++.byte 102,15,58,223,202,2 | |
5409 ++ call L099key_256a | |
5410 ++.byte 102,15,58,223,200,2 | |
5411 ++ call L098key_256b | |
5412 ++.byte 102,15,58,223,202,4 | |
5413 ++ call L099key_256a | |
5414 ++.byte 102,15,58,223,200,4 | |
5415 ++ call L098key_256b | |
5416 ++.byte 102,15,58,223,202,8 | |
5417 ++ call L099key_256a | |
5418 ++.byte 102,15,58,223,200,8 | |
5419 ++ call L098key_256b | |
5420 ++.byte 102,15,58,223,202,16 | |
5421 ++ call L099key_256a | |
5422 ++.byte 102,15,58,223,200,16 | |
5423 ++ call L098key_256b | |
5424 ++.byte 102,15,58,223,202,32 | |
5425 ++ call L099key_256a | |
5426 ++.byte 102,15,58,223,200,32 | |
5427 ++ call L098key_256b | |
5428 ++.byte 102,15,58,223,202,64 | |
5429 ++ call L099key_256a | |
5430 ++ movups %xmm0,(%edx) | |
5431 ++ movl %ecx,16(%edx) | |
5432 ++ xorl %eax,%eax | |
5433 ++ ret | |
5434 ++.align 4,0x90 | |
5435 ++L099key_256a: | |
5436 ++ movups %xmm2,(%edx) | |
5437 ++ leal 16(%edx),%edx | |
5438 ++L097key_256a_cold: | |
5439 ++ shufps $16,%xmm0,%xmm4 | |
5440 ++ xorps %xmm4,%xmm0 | |
5441 ++ shufps $140,%xmm0,%xmm4 | |
5442 ++ xorps %xmm4,%xmm0 | |
5443 ++ shufps $255,%xmm1,%xmm1 | |
5444 ++ xorps %xmm1,%xmm0 | |
5445 ++ ret | |
5446 ++.align 4,0x90 | |
5447 ++L098key_256b: | |
5448 ++ movups %xmm0,(%edx) | |
5449 ++ leal 16(%edx),%edx | |
5450 ++ shufps $16,%xmm2,%xmm4 | |
5451 ++ xorps %xmm4,%xmm2 | |
5452 ++ shufps $140,%xmm2,%xmm4 | |
5453 ++ xorps %xmm4,%xmm2 | |
5454 ++ shufps $170,%xmm1,%xmm1 | |
5455 ++ xorps %xmm1,%xmm2 | |
5456 ++ ret | |
5457 ++.align 2,0x90 | |
5458 ++L086bad_pointer: | |
5459 ++ movl $-1,%eax | |
5460 ++ ret | |
5461 ++.align 2,0x90 | |
5462 ++L089bad_keybits: | |
5463 ++ movl $-2,%eax | |
5464 ++ ret | |
5465 ++.globl _aesni_set_encrypt_key | |
5466 ++.align 4 | |
5467 ++_aesni_set_encrypt_key: | |
5468 ++L_aesni_set_encrypt_key_begin: | |
5469 ++ movl 4(%esp),%eax | |
5470 ++ movl 8(%esp),%ecx | |
5471 ++ movl 12(%esp),%edx | |
5472 ++ call __aesni_set_encrypt_key | |
5473 ++ ret | |
5474 ++.globl _aesni_set_decrypt_key | |
5475 ++.align 4 | |
5476 ++_aesni_set_decrypt_key: | |
5477 ++L_aesni_set_decrypt_key_begin: | |
5478 ++ movl 4(%esp),%eax | |
5479 ++ movl 8(%esp),%ecx | |
5480 ++ movl 12(%esp),%edx | |
5481 ++ call __aesni_set_encrypt_key | |
5482 ++ movl 12(%esp),%edx | |
5483 ++ shll $4,%ecx | |
5484 ++ testl %eax,%eax | |
5485 ++ jnz L100dec_key_ret | |
5486 ++ leal 16(%edx,%ecx,1),%eax | |
5487 ++ movups (%edx),%xmm0 | |
5488 ++ movups (%eax),%xmm1 | |
5489 ++ movups %xmm0,(%eax) | |
5490 ++ movups %xmm1,(%edx) | |
5491 ++ leal 16(%edx),%edx | |
5492 ++ leal -16(%eax),%eax | |
5493 ++L101dec_key_inverse: | |
5494 ++ movups (%edx),%xmm0 | |
5495 ++ movups (%eax),%xmm1 | |
5496 ++.byte 102,15,56,219,192 | |
5497 ++.byte 102,15,56,219,201 | |
5498 ++ leal 16(%edx),%edx | |
5499 ++ leal -16(%eax),%eax | |
5500 ++ movups %xmm0,16(%eax) | |
5501 ++ movups %xmm1,-16(%edx) | |
5502 ++ cmpl %edx,%eax | |
5503 ++ ja L101dec_key_inverse | |
5504 ++ movups (%edx),%xmm0 | |
5505 ++.byte 102,15,56,219,192 | |
5506 ++ movups %xmm0,(%edx) | |
5507 ++ xorl %eax,%eax | |
5508 ++L100dec_key_ret: | |
5509 ++ ret | |
5510 ++.byte 65,69,83,32,102,111,114,32,73,110,116,101,108,32,65,69 | |
5511 ++.byte 83,45,78,73,44,32,67,82,89,80,84,79,71,65,77,83 | |
5512 ++.byte 32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115 | |
5513 ++.byte 115,108,46,111,114,103,62,0 | |
5514 +diff --git a/crypto/aes/asm/vpaes-x86-mac.S b/crypto/aes/asm/vpaes-x86-mac.S | |
5515 +new file mode 100644 | |
5516 +index 0000000..f6d164f | |
5517 +--- /dev/null | |
5518 ++++ b/crypto/aes/asm/vpaes-x86-mac.S | |
5519 +@@ -0,0 +1,635 @@ | |
5520 ++.file "vpaes-x86.s" | |
5521 ++.text | |
5522 ++.align 6,0x90 | |
5523 ++L_vpaes_consts: | |
5524 ++.long 218628480,235210255,168496130,67568393 | |
5525 ++.long 252381056,17041926,33884169,51187212 | |
5526 ++.long 252645135,252645135,252645135,252645135 | |
5527 ++.long 1512730624,3266504856,1377990664,3401244816 | |
5528 ++.long 830229760,1275146365,2969422977,3447763452 | |
5529 ++.long 3411033600,2979783055,338359620,2782886510 | |
5530 ++.long 4209124096,907596821,221174255,1006095553 | |
5531 ++.long 191964160,3799684038,3164090317,1589111125 | |
5532 ++.long 182528256,1777043520,2877432650,3265356744 | |
5533 ++.long 1874708224,3503451415,3305285752,363511674 | |
5534 ++.long 1606117888,3487855781,1093350906,2384367825 | |
5535 ++.long 197121,67569157,134941193,202313229 | |
5536 ++.long 67569157,134941193,202313229,197121 | |
5537 ++.long 134941193,202313229,197121,67569157 | |
5538 ++.long 202313229,197121,67569157,134941193 | |
5539 ++.long 33619971,100992007,168364043,235736079 | |
5540 ++.long 235736079,33619971,100992007,168364043 | |
5541 ++.long 168364043,235736079,33619971,100992007 | |
5542 ++.long 100992007,168364043,235736079,33619971 | |
5543 ++.long 50462976,117835012,185207048,252579084 | |
5544 ++.long 252314880,51251460,117574920,184942860 | |
5545 ++.long 184682752,252054788,50987272,118359308 | |
5546 ++.long 118099200,185467140,251790600,50727180 | |
5547 ++.long 2946363062,528716217,1300004225,1881839624 | |
5548 ++.long 1532713819,1532713819,1532713819,1532713819 | |
5549 ++.long 3602276352,4288629033,3737020424,4153884961 | |
5550 ++.long 1354558464,32357713,2958822624,3775749553 | |
5551 ++.long 1201988352,132424512,1572796698,503232858 | |
5552 ++.long 2213177600,1597421020,4103937655,675398315 | |
5553 ++.long 2749646592,4273543773,1511898873,121693092 | |
5554 ++.long 3040248576,1103263732,2871565598,1608280554 | |
5555 ++.long 2236667136,2588920351,482954393,64377734 | |
5556 ++.long 3069987328,291237287,2117370568,3650299247 | |
5557 ++.long 533321216,3573750986,2572112006,1401264716 | |
5558 ++.long 1339849704,2721158661,548607111,3445553514 | |
5559 ++.long 2128193280,3054596040,2183486460,1257083700 | |
5560 ++.long 655635200,1165381986,3923443150,2344132524 | |
5561 ++.long 190078720,256924420,290342170,357187870 | |
5562 ++.long 1610966272,2263057382,4103205268,309794674 | |
5563 ++.long 2592527872,2233205587,1335446729,3402964816 | |
5564 ++.long 3973531904,3225098121,3002836325,1918774430 | |
5565 ++.long 3870401024,2102906079,2284471353,4117666579 | |
5566 ++.long 617007872,1021508343,366931923,691083277 | |
5567 ++.long 2528395776,3491914898,2968704004,1613121270 | |
5568 ++.long 3445188352,3247741094,844474987,4093578302 | |
5569 ++.long 651481088,1190302358,1689581232,574775300 | |
5570 ++.long 4289380608,206939853,2555985458,2489840491 | |
5571 ++.long 2130264064,327674451,3566485037,3349835193 | |
5572 ++.long 2470714624,316102159,3636825756,3393945945 | |
5573 ++.byte 86,101,99,116,111,114,32,80,101,114,109,117,116,97,116,105 | |
5574 ++.byte 111,110,32,65,69,83,32,102,111,114,32,120,56,54,47,83 | |
5575 ++.byte 83,83,69,51,44,32,77,105,107,101,32,72,97,109,98,117 | |
5576 ++.byte 114,103,32,40,83,116,97,110,102,111,114,100,32,85,110,105 | |
5577 ++.byte 118,101,114,115,105,116,121,41,0 | |
5578 ++.align 6,0x90 | |
5579 ++.align 4 | |
5580 ++__vpaes_preheat: | |
5581 ++ addl (%esp),%ebp | |
5582 ++ movdqa -48(%ebp),%xmm7 | |
5583 ++ movdqa -16(%ebp),%xmm6 | |
5584 ++ ret | |
5585 ++.align 4 | |
5586 ++__vpaes_encrypt_core: | |
5587 ++ movl $16,%ecx | |
5588 ++ movl 240(%edx),%eax | |
5589 ++ movdqa %xmm6,%xmm1 | |
5590 ++ movdqa (%ebp),%xmm2 | |
5591 ++ pandn %xmm0,%xmm1 | |
5592 ++ movdqu (%edx),%xmm5 | |
5593 ++ psrld $4,%xmm1 | |
5594 ++ pand %xmm6,%xmm0 | |
5595 ++.byte 102,15,56,0,208 | |
5596 ++ movdqa 16(%ebp),%xmm0 | |
5597 ++.byte 102,15,56,0,193 | |
5598 ++ pxor %xmm5,%xmm2 | |
5599 ++ pxor %xmm2,%xmm0 | |
5600 ++ addl $16,%edx | |
5601 ++ leal 192(%ebp),%ebx | |
5602 ++ jmp L000enc_entry | |
5603 ++.align 4,0x90 | |
5604 ++L001enc_loop: | |
5605 ++ movdqa 32(%ebp),%xmm4 | |
5606 ++.byte 102,15,56,0,226 | |
5607 ++ pxor %xmm5,%xmm4 | |
5608 ++ movdqa 48(%ebp),%xmm0 | |
5609 ++.byte 102,15,56,0,195 | |
5610 ++ pxor %xmm4,%xmm0 | |
5611 ++ movdqa 64(%ebp),%xmm5 | |
5612 ++.byte 102,15,56,0,234 | |
5613 ++ movdqa -64(%ebx,%ecx,1),%xmm1 | |
5614 ++ movdqa 80(%ebp),%xmm2 | |
5615 ++.byte 102,15,56,0,211 | |
5616 ++ pxor %xmm5,%xmm2 | |
5617 ++ movdqa (%ebx,%ecx,1),%xmm4 | |
5618 ++ movdqa %xmm0,%xmm3 | |
5619 ++.byte 102,15,56,0,193 | |
5620 ++ addl $16,%edx | |
5621 ++ pxor %xmm2,%xmm0 | |
5622 ++.byte 102,15,56,0,220 | |
5623 ++ addl $16,%ecx | |
5624 ++ pxor %xmm0,%xmm3 | |
5625 ++.byte 102,15,56,0,193 | |
5626 ++ andl $48,%ecx | |
5627 ++ pxor %xmm3,%xmm0 | |
5628 ++ subl $1,%eax | |
5629 ++L000enc_entry: | |
5630 ++ movdqa %xmm6,%xmm1 | |
5631 ++ pandn %xmm0,%xmm1 | |
5632 ++ psrld $4,%xmm1 | |
5633 ++ pand %xmm6,%xmm0 | |
5634 ++ movdqa -32(%ebp),%xmm5 | |
5635 ++.byte 102,15,56,0,232 | |
5636 ++ pxor %xmm1,%xmm0 | |
5637 ++ movdqa %xmm7,%xmm3 | |
5638 ++.byte 102,15,56,0,217 | |
5639 ++ pxor %xmm5,%xmm3 | |
5640 ++ movdqa %xmm7,%xmm4 | |
5641 ++.byte 102,15,56,0,224 | |
5642 ++ pxor %xmm5,%xmm4 | |
5643 ++ movdqa %xmm7,%xmm2 | |
5644 ++.byte 102,15,56,0,211 | |
5645 ++ pxor %xmm0,%xmm2 | |
5646 ++ movdqa %xmm7,%xmm3 | |
5647 ++ movdqu (%edx),%xmm5 | |
5648 ++.byte 102,15,56,0,220 | |
5649 ++ pxor %xmm1,%xmm3 | |
5650 ++ jnz L001enc_loop | |
5651 ++ movdqa 96(%ebp),%xmm4 | |
5652 ++ movdqa 112(%ebp),%xmm0 | |
5653 ++.byte 102,15,56,0,226 | |
5654 ++ pxor %xmm5,%xmm4 | |
5655 ++.byte 102,15,56,0,195 | |
5656 ++ movdqa 64(%ebx,%ecx,1),%xmm1 | |
5657 ++ pxor %xmm4,%xmm0 | |
5658 ++.byte 102,15,56,0,193 | |
5659 ++ ret | |
5660 ++.align 4 | |
5661 ++__vpaes_decrypt_core: | |
5662 ++ movl 240(%edx),%eax | |
5663 ++ leal 608(%ebp),%ebx | |
5664 ++ movdqa %xmm6,%xmm1 | |
5665 ++ movdqa -64(%ebx),%xmm2 | |
5666 ++ pandn %xmm0,%xmm1 | |
5667 ++ movl %eax,%ecx | |
5668 ++ psrld $4,%xmm1 | |
5669 ++ movdqu (%edx),%xmm5 | |
5670 ++ shll $4,%ecx | |
5671 ++ pand %xmm6,%xmm0 | |
5672 ++.byte 102,15,56,0,208 | |
5673 ++ movdqa -48(%ebx),%xmm0 | |
5674 ++ xorl $48,%ecx | |
5675 ++.byte 102,15,56,0,193 | |
5676 ++ andl $48,%ecx | |
5677 ++ pxor %xmm5,%xmm2 | |
5678 ++ movdqa 176(%ebp),%xmm5 | |
5679 ++ pxor %xmm2,%xmm0 | |
5680 ++ addl $16,%edx | |
5681 ++ leal -352(%ebx,%ecx,1),%ecx | |
5682 ++ jmp L002dec_entry | |
5683 ++.align 4,0x90 | |
5684 ++L003dec_loop: | |
5685 ++ movdqa -32(%ebx),%xmm4 | |
5686 ++.byte 102,15,56,0,226 | |
5687 ++ pxor %xmm0,%xmm4 | |
5688 ++ movdqa -16(%ebx),%xmm0 | |
5689 ++.byte 102,15,56,0,195 | |
5690 ++ pxor %xmm4,%xmm0 | |
5691 ++ addl $16,%edx | |
5692 ++.byte 102,15,56,0,197 | |
5693 ++ movdqa (%ebx),%xmm4 | |
5694 ++.byte 102,15,56,0,226 | |
5695 ++ pxor %xmm0,%xmm4 | |
5696 ++ movdqa 16(%ebx),%xmm0 | |
5697 ++.byte 102,15,56,0,195 | |
5698 ++ pxor %xmm4,%xmm0 | |
5699 ++ subl $1,%eax | |
5700 ++.byte 102,15,56,0,197 | |
5701 ++ movdqa 32(%ebx),%xmm4 | |
5702 ++.byte 102,15,56,0,226 | |
5703 ++ pxor %xmm0,%xmm4 | |
5704 ++ movdqa 48(%ebx),%xmm0 | |
5705 ++.byte 102,15,56,0,195 | |
5706 ++ pxor %xmm4,%xmm0 | |
5707 ++.byte 102,15,56,0,197 | |
5708 ++ movdqa 64(%ebx),%xmm4 | |
5709 ++.byte 102,15,56,0,226 | |
5710 ++ pxor %xmm0,%xmm4 | |
5711 ++ movdqa 80(%ebx),%xmm0 | |
5712 ++.byte 102,15,56,0,195 | |
5713 ++ pxor %xmm4,%xmm0 | |
5714 ++.byte 102,15,58,15,237,12 | |
5715 ++L002dec_entry: | |
5716 ++ movdqa %xmm6,%xmm1 | |
5717 ++ pandn %xmm0,%xmm1 | |
5718 ++ psrld $4,%xmm1 | |
5719 ++ pand %xmm6,%xmm0 | |
5720 ++ movdqa -32(%ebp),%xmm2 | |
5721 ++.byte 102,15,56,0,208 | |
5722 ++ pxor %xmm1,%xmm0 | |
5723 ++ movdqa %xmm7,%xmm3 | |
5724 ++.byte 102,15,56,0,217 | |
5725 ++ pxor %xmm2,%xmm3 | |
5726 ++ movdqa %xmm7,%xmm4 | |
5727 ++.byte 102,15,56,0,224 | |
5728 ++ pxor %xmm2,%xmm4 | |
5729 ++ movdqa %xmm7,%xmm2 | |
5730 ++.byte 102,15,56,0,211 | |
5731 ++ pxor %xmm0,%xmm2 | |
5732 ++ movdqa %xmm7,%xmm3 | |
5733 ++.byte 102,15,56,0,220 | |
5734 ++ pxor %xmm1,%xmm3 | |
5735 ++ movdqu (%edx),%xmm0 | |
5736 ++ jnz L003dec_loop | |
5737 ++ movdqa 96(%ebx),%xmm4 | |
5738 ++.byte 102,15,56,0,226 | |
5739 ++ pxor %xmm0,%xmm4 | |
5740 ++ movdqa 112(%ebx),%xmm0 | |
5741 ++ movdqa (%ecx),%xmm2 | |
5742 ++.byte 102,15,56,0,195 | |
5743 ++ pxor %xmm4,%xmm0 | |
5744 ++.byte 102,15,56,0,194 | |
5745 ++ ret | |
5746 ++.align 4 | |
5747 ++__vpaes_schedule_core: | |
5748 ++ addl (%esp),%ebp | |
5749 ++ movdqu (%esi),%xmm0 | |
5750 ++ movdqa 320(%ebp),%xmm2 | |
5751 ++ movdqa %xmm0,%xmm3 | |
5752 ++ leal (%ebp),%ebx | |
5753 ++ movdqa %xmm2,4(%esp) | |
5754 ++ call __vpaes_schedule_transform | |
5755 ++ movdqa %xmm0,%xmm7 | |
5756 ++ testl %edi,%edi | |
5757 ++ jnz L004schedule_am_decrypting | |
5758 ++ movdqu %xmm0,(%edx) | |
5759 ++ jmp L005schedule_go | |
5760 ++L004schedule_am_decrypting: | |
5761 ++ movdqa 256(%ebp,%ecx,1),%xmm1 | |
5762 ++.byte 102,15,56,0,217 | |
5763 ++ movdqu %xmm3,(%edx) | |
5764 ++ xorl $48,%ecx | |
5765 ++L005schedule_go: | |
5766 ++ cmpl $192,%eax | |
5767 ++ ja L006schedule_256 | |
5768 ++ je L007schedule_192 | |
5769 ++L008schedule_128: | |
5770 ++ movl $10,%eax | |
5771 ++L009loop_schedule_128: | |
5772 ++ call __vpaes_schedule_round | |
5773 ++ decl %eax | |
5774 ++ jz L010schedule_mangle_last | |
5775 ++ call __vpaes_schedule_mangle | |
5776 ++ jmp L009loop_schedule_128 | |
5777 ++.align 4,0x90 | |
5778 ++L007schedule_192: | |
5779 ++ movdqu 8(%esi),%xmm0 | |
5780 ++ call __vpaes_schedule_transform | |
5781 ++ movdqa %xmm0,%xmm6 | |
5782 ++ pxor %xmm4,%xmm4 | |
5783 ++ movhlps %xmm4,%xmm6 | |
5784 ++ movl $4,%eax | |
5785 ++L011loop_schedule_192: | |
5786 ++ call __vpaes_schedule_round | |
5787 ++.byte 102,15,58,15,198,8 | |
5788 ++ call __vpaes_schedule_mangle | |
5789 ++ call __vpaes_schedule_192_smear | |
5790 ++ call __vpaes_schedule_mangle | |
5791 ++ call __vpaes_schedule_round | |
5792 ++ decl %eax | |
5793 ++ jz L010schedule_mangle_last | |
5794 ++ call __vpaes_schedule_mangle | |
5795 ++ call __vpaes_schedule_192_smear | |
5796 ++ jmp L011loop_schedule_192 | |
5797 ++.align 4,0x90 | |
5798 ++L006schedule_256: | |
5799 ++ movdqu 16(%esi),%xmm0 | |
5800 ++ call __vpaes_schedule_transform | |
5801 ++ movl $7,%eax | |
5802 ++L012loop_schedule_256: | |
5803 ++ call __vpaes_schedule_mangle | |
5804 ++ movdqa %xmm0,%xmm6 | |
5805 ++ call __vpaes_schedule_round | |
5806 ++ decl %eax | |
5807 ++ jz L010schedule_mangle_last | |
5808 ++ call __vpaes_schedule_mangle | |
5809 ++ pshufd $255,%xmm0,%xmm0 | |
5810 ++ movdqa %xmm7,20(%esp) | |
5811 ++ movdqa %xmm6,%xmm7 | |
5812 ++ call L_vpaes_schedule_low_round | |
5813 ++ movdqa 20(%esp),%xmm7 | |
5814 ++ jmp L012loop_schedule_256 | |
5815 ++.align 4,0x90 | |
5816 ++L010schedule_mangle_last: | |
5817 ++ leal 384(%ebp),%ebx | |
5818 ++ testl %edi,%edi | |
5819 ++ jnz L013schedule_mangle_last_dec | |
5820 ++ movdqa 256(%ebp,%ecx,1),%xmm1 | |
5821 ++.byte 102,15,56,0,193 | |
5822 ++ leal 352(%ebp),%ebx | |
5823 ++ addl $32,%edx | |
5824 ++L013schedule_mangle_last_dec: | |
5825 ++ addl $-16,%edx | |
5826 ++ pxor 336(%ebp),%xmm0 | |
5827 ++ call __vpaes_schedule_transform | |
5828 ++ movdqu %xmm0,(%edx) | |
5829 ++ pxor %xmm0,%xmm0 | |
5830 ++ pxor %xmm1,%xmm1 | |
5831 ++ pxor %xmm2,%xmm2 | |
5832 ++ pxor %xmm3,%xmm3 | |
5833 ++ pxor %xmm4,%xmm4 | |
5834 ++ pxor %xmm5,%xmm5 | |
5835 ++ pxor %xmm6,%xmm6 | |
5836 ++ pxor %xmm7,%xmm7 | |
5837 ++ ret | |
5838 ++.align 4 | |
5839 ++__vpaes_schedule_192_smear: | |
5840 ++ pshufd $128,%xmm6,%xmm0 | |
5841 ++ pxor %xmm0,%xmm6 | |
5842 ++ pshufd $254,%xmm7,%xmm0 | |
5843 ++ pxor %xmm0,%xmm6 | |
5844 ++ movdqa %xmm6,%xmm0 | |
5845 ++ pxor %xmm1,%xmm1 | |
5846 ++ movhlps %xmm1,%xmm6 | |
5847 ++ ret | |
5848 ++.align 4 | |
5849 ++__vpaes_schedule_round: | |
5850 ++ movdqa 8(%esp),%xmm2 | |
5851 ++ pxor %xmm1,%xmm1 | |
5852 ++.byte 102,15,58,15,202,15 | |
5853 ++.byte 102,15,58,15,210,15 | |
5854 ++ pxor %xmm1,%xmm7 | |
5855 ++ pshufd $255,%xmm0,%xmm0 | |
5856 ++.byte 102,15,58,15,192,1 | |
5857 ++ movdqa %xmm2,8(%esp) | |
5858 ++L_vpaes_schedule_low_round: | |
5859 ++ movdqa %xmm7,%xmm1 | |
5860 ++ pslldq $4,%xmm7 | |
5861 ++ pxor %xmm1,%xmm7 | |
5862 ++ movdqa %xmm7,%xmm1 | |
5863 ++ pslldq $8,%xmm7 | |
5864 ++ pxor %xmm1,%xmm7 | |
5865 ++ pxor 336(%ebp),%xmm7 | |
5866 ++ movdqa -16(%ebp),%xmm4 | |
5867 ++ movdqa -48(%ebp),%xmm5 | |
5868 ++ movdqa %xmm4,%xmm1 | |
5869 ++ pandn %xmm0,%xmm1 | |
5870 ++ psrld $4,%xmm1 | |
5871 ++ pand %xmm4,%xmm0 | |
5872 ++ movdqa -32(%ebp),%xmm2 | |
5873 ++.byte 102,15,56,0,208 | |
5874 ++ pxor %xmm1,%xmm0 | |
5875 ++ movdqa %xmm5,%xmm3 | |
5876 ++.byte 102,15,56,0,217 | |
5877 ++ pxor %xmm2,%xmm3 | |
5878 ++ movdqa %xmm5,%xmm4 | |
5879 ++.byte 102,15,56,0,224 | |
5880 ++ pxor %xmm2,%xmm4 | |
5881 ++ movdqa %xmm5,%xmm2 | |
5882 ++.byte 102,15,56,0,211 | |
5883 ++ pxor %xmm0,%xmm2 | |
5884 ++ movdqa %xmm5,%xmm3 | |
5885 ++.byte 102,15,56,0,220 | |
5886 ++ pxor %xmm1,%xmm3 | |
5887 ++ movdqa 32(%ebp),%xmm4 | |
5888 ++.byte 102,15,56,0,226 | |
5889 ++ movdqa 48(%ebp),%xmm0 | |
5890 ++.byte 102,15,56,0,195 | |
5891 ++ pxor %xmm4,%xmm0 | |
5892 ++ pxor %xmm7,%xmm0 | |
5893 ++ movdqa %xmm0,%xmm7 | |
5894 ++ ret | |
5895 ++.align 4 | |
5896 ++__vpaes_schedule_transform: | |
5897 ++ movdqa -16(%ebp),%xmm2 | |
5898 ++ movdqa %xmm2,%xmm1 | |
5899 ++ pandn %xmm0,%xmm1 | |
5900 ++ psrld $4,%xmm1 | |
5901 ++ pand %xmm2,%xmm0 | |
5902 ++ movdqa (%ebx),%xmm2 | |
5903 ++.byte 102,15,56,0,208 | |
5904 ++ movdqa 16(%ebx),%xmm0 | |
5905 ++.byte 102,15,56,0,193 | |
5906 ++ pxor %xmm2,%xmm0 | |
5907 ++ ret | |
5908 ++.align 4 | |
5909 ++__vpaes_schedule_mangle: | |
5910 ++ movdqa %xmm0,%xmm4 | |
5911 ++ movdqa 128(%ebp),%xmm5 | |
5912 ++ testl %edi,%edi | |
5913 ++ jnz L014schedule_mangle_dec | |
5914 ++ addl $16,%edx | |
5915 ++ pxor 336(%ebp),%xmm4 | |
5916 ++.byte 102,15,56,0,229 | |
5917 ++ movdqa %xmm4,%xmm3 | |
5918 ++.byte 102,15,56,0,229 | |
5919 ++ pxor %xmm4,%xmm3 | |
5920 ++.byte 102,15,56,0,229 | |
5921 ++ pxor %xmm4,%xmm3 | |
5922 ++ jmp L015schedule_mangle_both | |
5923 ++.align 4,0x90 | |
5924 ++L014schedule_mangle_dec: | |
5925 ++ movdqa -16(%ebp),%xmm2 | |
5926 ++ leal 416(%ebp),%esi | |
5927 ++ movdqa %xmm2,%xmm1 | |
5928 ++ pandn %xmm4,%xmm1 | |
5929 ++ psrld $4,%xmm1 | |
5930 ++ pand %xmm2,%xmm4 | |
5931 ++ movdqa (%esi),%xmm2 | |
5932 ++.byte 102,15,56,0,212 | |
5933 ++ movdqa 16(%esi),%xmm3 | |
5934 ++.byte 102,15,56,0,217 | |
5935 ++ pxor %xmm2,%xmm3 | |
5936 ++.byte 102,15,56,0,221 | |
5937 ++ movdqa 32(%esi),%xmm2 | |
5938 ++.byte 102,15,56,0,212 | |
5939 ++ pxor %xmm3,%xmm2 | |
5940 ++ movdqa 48(%esi),%xmm3 | |
5941 ++.byte 102,15,56,0,217 | |
5942 ++ pxor %xmm2,%xmm3 | |
5943 ++.byte 102,15,56,0,221 | |
5944 ++ movdqa 64(%esi),%xmm2 | |
5945 ++.byte 102,15,56,0,212 | |
5946 ++ pxor %xmm3,%xmm2 | |
5947 ++ movdqa 80(%esi),%xmm3 | |
5948 ++.byte 102,15,56,0,217 | |
5949 ++ pxor %xmm2,%xmm3 | |
5950 ++.byte 102,15,56,0,221 | |
5951 ++ movdqa 96(%esi),%xmm2 | |
5952 ++.byte 102,15,56,0,212 | |
5953 ++ pxor %xmm3,%xmm2 | |
5954 ++ movdqa 112(%esi),%xmm3 | |
5955 ++.byte 102,15,56,0,217 | |
5956 ++ pxor %xmm2,%xmm3 | |
5957 ++ addl $-16,%edx | |
5958 ++L015schedule_mangle_both: | |
5959 ++ movdqa 256(%ebp,%ecx,1),%xmm1 | |
5960 ++.byte 102,15,56,0,217 | |
5961 ++ addl $-16,%ecx | |
5962 ++ andl $48,%ecx | |
5963 ++ movdqu %xmm3,(%edx) | |
5964 ++ ret | |
5965 ++.globl _vpaes_set_encrypt_key | |
5966 ++.align 4 | |
5967 ++_vpaes_set_encrypt_key: | |
5968 ++L_vpaes_set_encrypt_key_begin: | |
5969 ++ pushl %ebp | |
5970 ++ pushl %ebx | |
5971 ++ pushl %esi | |
5972 ++ pushl %edi | |
5973 ++ movl 20(%esp),%esi | |
5974 ++ leal -56(%esp),%ebx | |
5975 ++ movl 24(%esp),%eax | |
5976 ++ andl $-16,%ebx | |
5977 ++ movl 28(%esp),%edx | |
5978 ++ xchgl %esp,%ebx | |
5979 ++ movl %ebx,48(%esp) | |
5980 ++ movl %eax,%ebx | |
5981 ++ shrl $5,%ebx | |
5982 ++ addl $5,%ebx | |
5983 ++ movl %ebx,240(%edx) | |
5984 ++ movl $48,%ecx | |
5985 ++ movl $0,%edi | |
5986 ++ leal L_vpaes_consts+0x30-L016pic_point,%ebp | |
5987 ++ call __vpaes_schedule_core | |
5988 ++L016pic_point: | |
5989 ++ movl 48(%esp),%esp | |
5990 ++ xorl %eax,%eax | |
5991 ++ popl %edi | |
5992 ++ popl %esi | |
5993 ++ popl %ebx | |
5994 ++ popl %ebp | |
5995 ++ ret | |
5996 ++.globl _vpaes_set_decrypt_key | |
5997 ++.align 4 | |
5998 ++_vpaes_set_decrypt_key: | |
5999 ++L_vpaes_set_decrypt_key_begin: | |
6000 ++ pushl %ebp | |
6001 ++ pushl %ebx | |
6002 ++ pushl %esi | |
6003 ++ pushl %edi | |
6004 ++ movl 20(%esp),%esi | |
6005 ++ leal -56(%esp),%ebx | |
6006 ++ movl 24(%esp),%eax | |
6007 ++ andl $-16,%ebx | |
6008 ++ movl 28(%esp),%edx | |
6009 ++ xchgl %esp,%ebx | |
6010 ++ movl %ebx,48(%esp) | |
6011 ++ movl %eax,%ebx | |
6012 ++ shrl $5,%ebx | |
6013 ++ addl $5,%ebx | |
6014 ++ movl %ebx,240(%edx) | |
6015 ++ shll $4,%ebx | |
6016 ++ leal 16(%edx,%ebx,1),%edx | |
6017 ++ movl $1,%edi | |
6018 ++ movl %eax,%ecx | |
6019 ++ shrl $1,%ecx | |
6020 ++ andl $32,%ecx | |
6021 ++ xorl $32,%ecx | |
6022 ++ leal L_vpaes_consts+0x30-L017pic_point,%ebp | |
6023 ++ call __vpaes_schedule_core | |
6024 ++L017pic_point: | |
6025 ++ movl 48(%esp),%esp | |
6026 ++ xorl %eax,%eax | |
6027 ++ popl %edi | |
6028 ++ popl %esi | |
6029 ++ popl %ebx | |
6030 ++ popl %ebp | |
6031 ++ ret | |
6032 ++.globl _vpaes_encrypt | |
6033 ++.align 4 | |
6034 ++_vpaes_encrypt: | |
6035 ++L_vpaes_encrypt_begin: | |
6036 ++ pushl %ebp | |
6037 ++ pushl %ebx | |
6038 ++ pushl %esi | |
6039 ++ pushl %edi | |
6040 ++ leal L_vpaes_consts+0x30-L018pic_point,%ebp | |
6041 ++ call __vpaes_preheat | |
6042 ++L018pic_point: | |
6043 ++ movl 20(%esp),%esi | |
6044 ++ leal -56(%esp),%ebx | |
6045 ++ movl 24(%esp),%edi | |
6046 ++ andl $-16,%ebx | |
6047 ++ movl 28(%esp),%edx | |
6048 ++ xchgl %esp,%ebx | |
6049 ++ movl %ebx,48(%esp) | |
6050 ++ movdqu (%esi),%xmm0 | |
6051 ++ call __vpaes_encrypt_core | |
6052 ++ movdqu %xmm0,(%edi) | |
6053 ++ movl 48(%esp),%esp | |
6054 ++ popl %edi | |
6055 ++ popl %esi | |
6056 ++ popl %ebx | |
6057 ++ popl %ebp | |
6058 ++ ret | |
6059 ++.globl _vpaes_decrypt | |
6060 ++.align 4 | |
6061 ++_vpaes_decrypt: | |
6062 ++L_vpaes_decrypt_begin: | |
6063 ++ pushl %ebp | |
6064 ++ pushl %ebx | |
6065 ++ pushl %esi | |
6066 ++ pushl %edi | |
6067 ++ leal L_vpaes_consts+0x30-L019pic_point,%ebp | |
6068 ++ call __vpaes_preheat | |
6069 ++L019pic_point: | |
6070 ++ movl 20(%esp),%esi | |
6071 ++ leal -56(%esp),%ebx | |
6072 ++ movl 24(%esp),%edi | |
6073 ++ andl $-16,%ebx | |
6074 ++ movl 28(%esp),%edx | |
6075 ++ xchgl %esp,%ebx | |
6076 ++ movl %ebx,48(%esp) | |
6077 ++ movdqu (%esi),%xmm0 | |
6078 ++ call __vpaes_decrypt_core | |
6079 ++ movdqu %xmm0,(%edi) | |
6080 ++ movl 48(%esp),%esp | |
6081 ++ popl %edi | |
6082 ++ popl %esi | |
6083 ++ popl %ebx | |
6084 ++ popl %ebp | |
6085 ++ ret | |
6086 ++.globl _vpaes_cbc_encrypt | |
6087 ++.align 4 | |
6088 ++_vpaes_cbc_encrypt: | |
6089 ++L_vpaes_cbc_encrypt_begin: | |
6090 ++ pushl %ebp | |
6091 ++ pushl %ebx | |
6092 ++ pushl %esi | |
6093 ++ pushl %edi | |
6094 ++ movl 20(%esp),%esi | |
6095 ++ movl 24(%esp),%edi | |
6096 ++ movl 28(%esp),%eax | |
6097 ++ movl 32(%esp),%edx | |
6098 ++ subl $16,%eax | |
6099 ++ jc L020cbc_abort | |
6100 ++ leal -56(%esp),%ebx | |
6101 ++ movl 36(%esp),%ebp | |
6102 ++ andl $-16,%ebx | |
6103 ++ movl 40(%esp),%ecx | |
6104 ++ xchgl %esp,%ebx | |
6105 ++ movdqu (%ebp),%xmm1 | |
6106 ++ subl %esi,%edi | |
6107 ++ movl %ebx,48(%esp) | |
6108 ++ movl %edi,(%esp) | |
6109 ++ movl %edx,4(%esp) | |
6110 ++ movl %ebp,8(%esp) | |
6111 ++ movl %eax,%edi | |
6112 ++ leal L_vpaes_consts+0x30-L021pic_point,%ebp | |
6113 ++ call __vpaes_preheat | |
6114 ++L021pic_point: | |
6115 ++ cmpl $0,%ecx | |
6116 ++ je L022cbc_dec_loop | |
6117 ++ jmp L023cbc_enc_loop | |
6118 ++.align 4,0x90 | |
6119 ++L023cbc_enc_loop: | |
6120 ++ movdqu (%esi),%xmm0 | |
6121 ++ pxor %xmm1,%xmm0 | |
6122 ++ call __vpaes_encrypt_core | |
6123 ++ movl (%esp),%ebx | |
6124 ++ movl 4(%esp),%edx | |
6125 ++ movdqa %xmm0,%xmm1 | |
6126 ++ movdqu %xmm0,(%ebx,%esi,1) | |
6127 ++ leal 16(%esi),%esi | |
6128 ++ subl $16,%edi | |
6129 ++ jnc L023cbc_enc_loop | |
6130 ++ jmp L024cbc_done | |
6131 ++.align 4,0x90 | |
6132 ++L022cbc_dec_loop: | |
6133 ++ movdqu (%esi),%xmm0 | |
6134 ++ movdqa %xmm1,16(%esp) | |
6135 ++ movdqa %xmm0,32(%esp) | |
6136 ++ call __vpaes_decrypt_core | |
6137 ++ movl (%esp),%ebx | |
6138 ++ movl 4(%esp),%edx | |
6139 ++ pxor 16(%esp),%xmm0 | |
6140 ++ movdqa 32(%esp),%xmm1 | |
6141 ++ movdqu %xmm0,(%ebx,%esi,1) | |
6142 ++ leal 16(%esi),%esi | |
6143 ++ subl $16,%edi | |
6144 ++ jnc L022cbc_dec_loop | |
6145 ++L024cbc_done: | |
6146 ++ movl 8(%esp),%ebx | |
6147 ++ movl 48(%esp),%esp | |
6148 ++ movdqu %xmm1,(%ebx) | |
6149 ++L020cbc_abort: | |
6150 ++ popl %edi | |
6151 ++ popl %esi | |
6152 ++ popl %ebx | |
6153 ++ popl %ebp | |
6154 ++ ret | |
6155 +diff --git a/crypto/bf/asm/bf-586-mac.S b/crypto/bf/asm/bf-586-mac.S | |
6156 +new file mode 100644 | |
6157 +index 0000000..bf02384 | |
6158 +--- /dev/null | |
6159 ++++ b/crypto/bf/asm/bf-586-mac.S | |
6160 +@@ -0,0 +1,890 @@ | |
6161 ++.file "bf-586.s" | |
6162 ++.text | |
6163 ++.globl _BF_encrypt | |
6164 ++.align 4 | |
6165 ++_BF_encrypt: | |
6166 ++L_BF_encrypt_begin: | |
6167 ++ | |
6168 ++ pushl %ebp | |
6169 ++ pushl %ebx | |
6170 ++ movl 12(%esp),%ebx | |
6171 ++ movl 16(%esp),%ebp | |
6172 ++ pushl %esi | |
6173 ++ pushl %edi | |
6174 ++ # Load the 2 words | |
6175 ++ movl (%ebx),%edi | |
6176 ++ movl 4(%ebx),%esi | |
6177 ++ xorl %eax,%eax | |
6178 ++ movl (%ebp),%ebx | |
6179 ++ xorl %ecx,%ecx | |
6180 ++ xorl %ebx,%edi | |
6181 ++ | |
6182 ++ # Round 0 | |
6183 ++ movl 4(%ebp),%edx | |
6184 ++ movl %edi,%ebx | |
6185 ++ xorl %edx,%esi | |
6186 ++ shrl $16,%ebx | |
6187 ++ movl %edi,%edx | |
6188 ++ movb %bh,%al | |
6189 ++ andl $255,%ebx | |
6190 ++ movb %dh,%cl | |
6191 ++ andl $255,%edx | |
6192 ++ movl 72(%ebp,%eax,4),%eax | |
6193 ++ movl 1096(%ebp,%ebx,4),%ebx | |
6194 ++ addl %eax,%ebx | |
6195 ++ movl 2120(%ebp,%ecx,4),%eax | |
6196 ++ xorl %eax,%ebx | |
6197 ++ movl 3144(%ebp,%edx,4),%edx | |
6198 ++ addl %edx,%ebx | |
6199 ++ xorl %eax,%eax | |
6200 ++ xorl %ebx,%esi | |
6201 ++ | |
6202 ++ # Round 1 | |
6203 ++ movl 8(%ebp),%edx | |
6204 ++ movl %esi,%ebx | |
6205 ++ xorl %edx,%edi | |
6206 ++ shrl $16,%ebx | |
6207 ++ movl %esi,%edx | |
6208 ++ movb %bh,%al | |
6209 ++ andl $255,%ebx | |
6210 ++ movb %dh,%cl | |
6211 ++ andl $255,%edx | |
6212 ++ movl 72(%ebp,%eax,4),%eax | |
6213 ++ movl 1096(%ebp,%ebx,4),%ebx | |
6214 ++ addl %eax,%ebx | |
6215 ++ movl 2120(%ebp,%ecx,4),%eax | |
6216 ++ xorl %eax,%ebx | |
6217 ++ movl 3144(%ebp,%edx,4),%edx | |
6218 ++ addl %edx,%ebx | |
6219 ++ xorl %eax,%eax | |
6220 ++ xorl %ebx,%edi | |
6221 ++ | |
6222 ++ # Round 2 | |
6223 ++ movl 12(%ebp),%edx | |
6224 ++ movl %edi,%ebx | |
6225 ++ xorl %edx,%esi | |
6226 ++ shrl $16,%ebx | |
6227 ++ movl %edi,%edx | |
6228 ++ movb %bh,%al | |
6229 ++ andl $255,%ebx | |
6230 ++ movb %dh,%cl | |
6231 ++ andl $255,%edx | |
6232 ++ movl 72(%ebp,%eax,4),%eax | |
6233 ++ movl 1096(%ebp,%ebx,4),%ebx | |
6234 ++ addl %eax,%ebx | |
6235 ++ movl 2120(%ebp,%ecx,4),%eax | |
6236 ++ xorl %eax,%ebx | |
6237 ++ movl 3144(%ebp,%edx,4),%edx | |
6238 ++ addl %edx,%ebx | |
6239 ++ xorl %eax,%eax | |
6240 ++ xorl %ebx,%esi | |
6241 ++ | |
6242 ++ # Round 3 | |
6243 ++ movl 16(%ebp),%edx | |
6244 ++ movl %esi,%ebx | |
6245 ++ xorl %edx,%edi | |
6246 ++ shrl $16,%ebx | |
6247 ++ movl %esi,%edx | |
6248 ++ movb %bh,%al | |
6249 ++ andl $255,%ebx | |
6250 ++ movb %dh,%cl | |
6251 ++ andl $255,%edx | |
6252 ++ movl 72(%ebp,%eax,4),%eax | |
6253 ++ movl 1096(%ebp,%ebx,4),%ebx | |
6254 ++ addl %eax,%ebx | |
6255 ++ movl 2120(%ebp,%ecx,4),%eax | |
6256 ++ xorl %eax,%ebx | |
6257 ++ movl 3144(%ebp,%edx,4),%edx | |
6258 ++ addl %edx,%ebx | |
6259 ++ xorl %eax,%eax | |
6260 ++ xorl %ebx,%edi | |
6261 ++ | |
6262 ++ # Round 4 | |
6263 ++ movl 20(%ebp),%edx | |
6264 ++ movl %edi,%ebx | |
6265 ++ xorl %edx,%esi | |
6266 ++ shrl $16,%ebx | |
6267 ++ movl %edi,%edx | |
6268 ++ movb %bh,%al | |
6269 ++ andl $255,%ebx | |
6270 ++ movb %dh,%cl | |
6271 ++ andl $255,%edx | |
6272 ++ movl 72(%ebp,%eax,4),%eax | |
6273 ++ movl 1096(%ebp,%ebx,4),%ebx | |
6274 ++ addl %eax,%ebx | |
6275 ++ movl 2120(%ebp,%ecx,4),%eax | |
6276 ++ xorl %eax,%ebx | |
6277 ++ movl 3144(%ebp,%edx,4),%edx | |
6278 ++ addl %edx,%ebx | |
6279 ++ xorl %eax,%eax | |
6280 ++ xorl %ebx,%esi | |
6281 ++ | |
6282 ++ # Round 5 | |
6283 ++ movl 24(%ebp),%edx | |
6284 ++ movl %esi,%ebx | |
6285 ++ xorl %edx,%edi | |
6286 ++ shrl $16,%ebx | |
6287 ++ movl %esi,%edx | |
6288 ++ movb %bh,%al | |
6289 ++ andl $255,%ebx | |
6290 ++ movb %dh,%cl | |
6291 ++ andl $255,%edx | |
6292 ++ movl 72(%ebp,%eax,4),%eax | |
6293 ++ movl 1096(%ebp,%ebx,4),%ebx | |
6294 ++ addl %eax,%ebx | |
6295 ++ movl 2120(%ebp,%ecx,4),%eax | |
6296 ++ xorl %eax,%ebx | |
6297 ++ movl 3144(%ebp,%edx,4),%edx | |
6298 ++ addl %edx,%ebx | |
6299 ++ xorl %eax,%eax | |
6300 ++ xorl %ebx,%edi | |
6301 ++ | |
6302 ++ # Round 6 | |
6303 ++ movl 28(%ebp),%edx | |
6304 ++ movl %edi,%ebx | |
6305 ++ xorl %edx,%esi | |
6306 ++ shrl $16,%ebx | |
6307 ++ movl %edi,%edx | |
6308 ++ movb %bh,%al | |
6309 ++ andl $255,%ebx | |
6310 ++ movb %dh,%cl | |
6311 ++ andl $255,%edx | |
6312 ++ movl 72(%ebp,%eax,4),%eax | |
6313 ++ movl 1096(%ebp,%ebx,4),%ebx | |
6314 ++ addl %eax,%ebx | |
6315 ++ movl 2120(%ebp,%ecx,4),%eax | |
6316 ++ xorl %eax,%ebx | |
6317 ++ movl 3144(%ebp,%edx,4),%edx | |
6318 ++ addl %edx,%ebx | |
6319 ++ xorl %eax,%eax | |
6320 ++ xorl %ebx,%esi | |
6321 ++ | |
6322 ++ # Round 7 | |
6323 ++ movl 32(%ebp),%edx | |
6324 ++ movl %esi,%ebx | |
6325 ++ xorl %edx,%edi | |
6326 ++ shrl $16,%ebx | |
6327 ++ movl %esi,%edx | |
6328 ++ movb %bh,%al | |
6329 ++ andl $255,%ebx | |
6330 ++ movb %dh,%cl | |
6331 ++ andl $255,%edx | |
6332 ++ movl 72(%ebp,%eax,4),%eax | |
6333 ++ movl 1096(%ebp,%ebx,4),%ebx | |
6334 ++ addl %eax,%ebx | |
6335 ++ movl 2120(%ebp,%ecx,4),%eax | |
6336 ++ xorl %eax,%ebx | |
6337 ++ movl 3144(%ebp,%edx,4),%edx | |
6338 ++ addl %edx,%ebx | |
6339 ++ xorl %eax,%eax | |
6340 ++ xorl %ebx,%edi | |
6341 ++ | |
6342 ++ # Round 8 | |
6343 ++ movl 36(%ebp),%edx | |
6344 ++ movl %edi,%ebx | |
6345 ++ xorl %edx,%esi | |
6346 ++ shrl $16,%ebx | |
6347 ++ movl %edi,%edx | |
6348 ++ movb %bh,%al | |
6349 ++ andl $255,%ebx | |
6350 ++ movb %dh,%cl | |
6351 ++ andl $255,%edx | |
6352 ++ movl 72(%ebp,%eax,4),%eax | |
6353 ++ movl 1096(%ebp,%ebx,4),%ebx | |
6354 ++ addl %eax,%ebx | |
6355 ++ movl 2120(%ebp,%ecx,4),%eax | |
6356 ++ xorl %eax,%ebx | |
6357 ++ movl 3144(%ebp,%edx,4),%edx | |
6358 ++ addl %edx,%ebx | |
6359 ++ xorl %eax,%eax | |
6360 ++ xorl %ebx,%esi | |
6361 ++ | |
6362 ++ # Round 9 | |
6363 ++ movl 40(%ebp),%edx | |
6364 ++ movl %esi,%ebx | |
6365 ++ xorl %edx,%edi | |
6366 ++ shrl $16,%ebx | |
6367 ++ movl %esi,%edx | |
6368 ++ movb %bh,%al | |
6369 ++ andl $255,%ebx | |
6370 ++ movb %dh,%cl | |
6371 ++ andl $255,%edx | |
6372 ++ movl 72(%ebp,%eax,4),%eax | |
6373 ++ movl 1096(%ebp,%ebx,4),%ebx | |
6374 ++ addl %eax,%ebx | |
6375 ++ movl 2120(%ebp,%ecx,4),%eax | |
6376 ++ xorl %eax,%ebx | |
6377 ++ movl 3144(%ebp,%edx,4),%edx | |
6378 ++ addl %edx,%ebx | |
6379 ++ xorl %eax,%eax | |
6380 ++ xorl %ebx,%edi | |
6381 ++ | |
6382 ++ # Round 10 | |
6383 ++ movl 44(%ebp),%edx | |
6384 ++ movl %edi,%ebx | |
6385 ++ xorl %edx,%esi | |
6386 ++ shrl $16,%ebx | |
6387 ++ movl %edi,%edx | |
6388 ++ movb %bh,%al | |
6389 ++ andl $255,%ebx | |
6390 ++ movb %dh,%cl | |
6391 ++ andl $255,%edx | |
6392 ++ movl 72(%ebp,%eax,4),%eax | |
6393 ++ movl 1096(%ebp,%ebx,4),%ebx | |
6394 ++ addl %eax,%ebx | |
6395 ++ movl 2120(%ebp,%ecx,4),%eax | |
6396 ++ xorl %eax,%ebx | |
6397 ++ movl 3144(%ebp,%edx,4),%edx | |
6398 ++ addl %edx,%ebx | |
6399 ++ xorl %eax,%eax | |
6400 ++ xorl %ebx,%esi | |
6401 ++ | |
6402 ++ # Round 11 | |
6403 ++ movl 48(%ebp),%edx | |
6404 ++ movl %esi,%ebx | |
6405 ++ xorl %edx,%edi | |
6406 ++ shrl $16,%ebx | |
6407 ++ movl %esi,%edx | |
6408 ++ movb %bh,%al | |
6409 ++ andl $255,%ebx | |
6410 ++ movb %dh,%cl | |
6411 ++ andl $255,%edx | |
6412 ++ movl 72(%ebp,%eax,4),%eax | |
6413 ++ movl 1096(%ebp,%ebx,4),%ebx | |
6414 ++ addl %eax,%ebx | |
6415 ++ movl 2120(%ebp,%ecx,4),%eax | |
6416 ++ xorl %eax,%ebx | |
6417 ++ movl 3144(%ebp,%edx,4),%edx | |
6418 ++ addl %edx,%ebx | |
6419 ++ xorl %eax,%eax | |
6420 ++ xorl %ebx,%edi | |
6421 ++ | |
6422 ++ # Round 12 | |
6423 ++ movl 52(%ebp),%edx | |
6424 ++ movl %edi,%ebx | |
6425 ++ xorl %edx,%esi | |
6426 ++ shrl $16,%ebx | |
6427 ++ movl %edi,%edx | |
6428 ++ movb %bh,%al | |
6429 ++ andl $255,%ebx | |
6430 ++ movb %dh,%cl | |
6431 ++ andl $255,%edx | |
6432 ++ movl 72(%ebp,%eax,4),%eax | |
6433 ++ movl 1096(%ebp,%ebx,4),%ebx | |
6434 ++ addl %eax,%ebx | |
6435 ++ movl 2120(%ebp,%ecx,4),%eax | |
6436 ++ xorl %eax,%ebx | |
6437 ++ movl 3144(%ebp,%edx,4),%edx | |
6438 ++ addl %edx,%ebx | |
6439 ++ xorl %eax,%eax | |
6440 ++ xorl %ebx,%esi | |
6441 ++ | |
6442 ++ # Round 13 | |
6443 ++ movl 56(%ebp),%edx | |
6444 ++ movl %esi,%ebx | |
6445 ++ xorl %edx,%edi | |
6446 ++ shrl $16,%ebx | |
6447 ++ movl %esi,%edx | |
6448 ++ movb %bh,%al | |
6449 ++ andl $255,%ebx | |
6450 ++ movb %dh,%cl | |
6451 ++ andl $255,%edx | |
6452 ++ movl 72(%ebp,%eax,4),%eax | |
6453 ++ movl 1096(%ebp,%ebx,4),%ebx | |
6454 ++ addl %eax,%ebx | |
6455 ++ movl 2120(%ebp,%ecx,4),%eax | |
6456 ++ xorl %eax,%ebx | |
6457 ++ movl 3144(%ebp,%edx,4),%edx | |
6458 ++ addl %edx,%ebx | |
6459 ++ xorl %eax,%eax | |
6460 ++ xorl %ebx,%edi | |
6461 ++ | |
6462 ++ # Round 14 | |
6463 ++ movl 60(%ebp),%edx | |
6464 ++ movl %edi,%ebx | |
6465 ++ xorl %edx,%esi | |
6466 ++ shrl $16,%ebx | |
6467 ++ movl %edi,%edx | |
6468 ++ movb %bh,%al | |
6469 ++ andl $255,%ebx | |
6470 ++ movb %dh,%cl | |
6471 ++ andl $255,%edx | |
6472 ++ movl 72(%ebp,%eax,4),%eax | |
6473 ++ movl 1096(%ebp,%ebx,4),%ebx | |
6474 ++ addl %eax,%ebx | |
6475 ++ movl 2120(%ebp,%ecx,4),%eax | |
6476 ++ xorl %eax,%ebx | |
6477 ++ movl 3144(%ebp,%edx,4),%edx | |
6478 ++ addl %edx,%ebx | |
6479 ++ xorl %eax,%eax | |
6480 ++ xorl %ebx,%esi | |
6481 ++ | |
6482 ++ # Round 15 | |
6483 ++ movl 64(%ebp),%edx | |
6484 ++ movl %esi,%ebx | |
6485 ++ xorl %edx,%edi | |
6486 ++ shrl $16,%ebx | |
6487 ++ movl %esi,%edx | |
6488 ++ movb %bh,%al | |
6489 ++ andl $255,%ebx | |
6490 ++ movb %dh,%cl | |
6491 ++ andl $255,%edx | |
6492 ++ movl 72(%ebp,%eax,4),%eax | |
6493 ++ movl 1096(%ebp,%ebx,4),%ebx | |
6494 ++ addl %eax,%ebx | |
6495 ++ movl 2120(%ebp,%ecx,4),%eax | |
6496 ++ xorl %eax,%ebx | |
6497 ++ movl 3144(%ebp,%edx,4),%edx | |
6498 ++ addl %edx,%ebx | |
6499 ++ # Load parameter 0 (16) enc=1 | |
6500 ++ movl 20(%esp),%eax | |
6501 ++ xorl %ebx,%edi | |
6502 ++ movl 68(%ebp),%edx | |
6503 ++ xorl %edx,%esi | |
6504 ++ movl %edi,4(%eax) | |
6505 ++ movl %esi,(%eax) | |
6506 ++ popl %edi | |
6507 ++ popl %esi | |
6508 ++ popl %ebx | |
6509 ++ popl %ebp | |
6510 ++ ret | |
6511 ++.globl _BF_decrypt | |
6512 ++.align 4 | |
6513 ++_BF_decrypt: | |
6514 ++L_BF_decrypt_begin: | |
6515 ++ | |
6516 ++ pushl %ebp | |
6517 ++ pushl %ebx | |
6518 ++ movl 12(%esp),%ebx | |
6519 ++ movl 16(%esp),%ebp | |
6520 ++ pushl %esi | |
6521 ++ pushl %edi | |
6522 ++ # Load the 2 words | |
6523 ++ movl (%ebx),%edi | |
6524 ++ movl 4(%ebx),%esi | |
6525 ++ xorl %eax,%eax | |
6526 ++ movl 68(%ebp),%ebx | |
6527 ++ xorl %ecx,%ecx | |
6528 ++ xorl %ebx,%edi | |
6529 ++ | |
6530 ++ # Round 16 | |
6531 ++ movl 64(%ebp),%edx | |
6532 ++ movl %edi,%ebx | |
6533 ++ xorl %edx,%esi | |
6534 ++ shrl $16,%ebx | |
6535 ++ movl %edi,%edx | |
6536 ++ movb %bh,%al | |
6537 ++ andl $255,%ebx | |
6538 ++ movb %dh,%cl | |
6539 ++ andl $255,%edx | |
6540 ++ movl 72(%ebp,%eax,4),%eax | |
6541 ++ movl 1096(%ebp,%ebx,4),%ebx | |
6542 ++ addl %eax,%ebx | |
6543 ++ movl 2120(%ebp,%ecx,4),%eax | |
6544 ++ xorl %eax,%ebx | |
6545 ++ movl 3144(%ebp,%edx,4),%edx | |
6546 ++ addl %edx,%ebx | |
6547 ++ xorl %eax,%eax | |
6548 ++ xorl %ebx,%esi | |
6549 ++ | |
6550 ++ # Round 15 | |
6551 ++ movl 60(%ebp),%edx | |
6552 ++ movl %esi,%ebx | |
6553 ++ xorl %edx,%edi | |
6554 ++ shrl $16,%ebx | |
6555 ++ movl %esi,%edx | |
6556 ++ movb %bh,%al | |
6557 ++ andl $255,%ebx | |
6558 ++ movb %dh,%cl | |
6559 ++ andl $255,%edx | |
6560 ++ movl 72(%ebp,%eax,4),%eax | |
6561 ++ movl 1096(%ebp,%ebx,4),%ebx | |
6562 ++ addl %eax,%ebx | |
6563 ++ movl 2120(%ebp,%ecx,4),%eax | |
6564 ++ xorl %eax,%ebx | |
6565 ++ movl 3144(%ebp,%edx,4),%edx | |
6566 ++ addl %edx,%ebx | |
6567 ++ xorl %eax,%eax | |
6568 ++ xorl %ebx,%edi | |
6569 ++ | |
6570 ++ # Round 14 | |
6571 ++ movl 56(%ebp),%edx | |
6572 ++ movl %edi,%ebx | |
6573 ++ xorl %edx,%esi | |
6574 ++ shrl $16,%ebx | |
6575 ++ movl %edi,%edx | |
6576 ++ movb %bh,%al | |
6577 ++ andl $255,%ebx | |
6578 ++ movb %dh,%cl | |
6579 ++ andl $255,%edx | |
6580 ++ movl 72(%ebp,%eax,4),%eax | |
6581 ++ movl 1096(%ebp,%ebx,4),%ebx | |
6582 ++ addl %eax,%ebx | |
6583 ++ movl 2120(%ebp,%ecx,4),%eax | |
6584 ++ xorl %eax,%ebx | |
6585 ++ movl 3144(%ebp,%edx,4),%edx | |
6586 ++ addl %edx,%ebx | |
6587 ++ xorl %eax,%eax | |
6588 ++ xorl %ebx,%esi | |
6589 ++ | |
6590 ++ # Round 13 | |
6591 ++ movl 52(%ebp),%edx | |
6592 ++ movl %esi,%ebx | |
6593 ++ xorl %edx,%edi | |
6594 ++ shrl $16,%ebx | |
6595 ++ movl %esi,%edx | |
6596 ++ movb %bh,%al | |
6597 ++ andl $255,%ebx | |
6598 ++ movb %dh,%cl | |
6599 ++ andl $255,%edx | |
6600 ++ movl 72(%ebp,%eax,4),%eax | |
6601 ++ movl 1096(%ebp,%ebx,4),%ebx | |
6602 ++ addl %eax,%ebx | |
6603 ++ movl 2120(%ebp,%ecx,4),%eax | |
6604 ++ xorl %eax,%ebx | |
6605 ++ movl 3144(%ebp,%edx,4),%edx | |
6606 ++ addl %edx,%ebx | |
6607 ++ xorl %eax,%eax | |
6608 ++ xorl %ebx,%edi | |
6609 ++ | |
6610 ++ # Round 12 | |
6611 ++ movl 48(%ebp),%edx | |
6612 ++ movl %edi,%ebx | |
6613 ++ xorl %edx,%esi | |
6614 ++ shrl $16,%ebx | |
6615 ++ movl %edi,%edx | |
6616 ++ movb %bh,%al | |
6617 ++ andl $255,%ebx | |
6618 ++ movb %dh,%cl | |
6619 ++ andl $255,%edx | |
6620 ++ movl 72(%ebp,%eax,4),%eax | |
6621 ++ movl 1096(%ebp,%ebx,4),%ebx | |
6622 ++ addl %eax,%ebx | |
6623 ++ movl 2120(%ebp,%ecx,4),%eax | |
6624 ++ xorl %eax,%ebx | |
6625 ++ movl 3144(%ebp,%edx,4),%edx | |
6626 ++ addl %edx,%ebx | |
6627 ++ xorl %eax,%eax | |
6628 ++ xorl %ebx,%esi | |
6629 ++ | |
6630 ++ # Round 11 | |
6631 ++ movl 44(%ebp),%edx | |
6632 ++ movl %esi,%ebx | |
6633 ++ xorl %edx,%edi | |
6634 ++ shrl $16,%ebx | |
6635 ++ movl %esi,%edx | |
6636 ++ movb %bh,%al | |
6637 ++ andl $255,%ebx | |
6638 ++ movb %dh,%cl | |
6639 ++ andl $255,%edx | |
6640 ++ movl 72(%ebp,%eax,4),%eax | |
6641 ++ movl 1096(%ebp,%ebx,4),%ebx | |
6642 ++ addl %eax,%ebx | |
6643 ++ movl 2120(%ebp,%ecx,4),%eax | |
6644 ++ xorl %eax,%ebx | |
6645 ++ movl 3144(%ebp,%edx,4),%edx | |
6646 ++ addl %edx,%ebx | |
6647 ++ xorl %eax,%eax | |
6648 ++ xorl %ebx,%edi | |
6649 ++ | |
6650 ++ # Round 10 | |
6651 ++ movl 40(%ebp),%edx | |
6652 ++ movl %edi,%ebx | |
6653 ++ xorl %edx,%esi | |
6654 ++ shrl $16,%ebx | |
6655 ++ movl %edi,%edx | |
6656 ++ movb %bh,%al | |
6657 ++ andl $255,%ebx | |
6658 ++ movb %dh,%cl | |
6659 ++ andl $255,%edx | |
6660 ++ movl 72(%ebp,%eax,4),%eax | |
6661 ++ movl 1096(%ebp,%ebx,4),%ebx | |
6662 ++ addl %eax,%ebx | |
6663 ++ movl 2120(%ebp,%ecx,4),%eax | |
6664 ++ xorl %eax,%ebx | |
6665 ++ movl 3144(%ebp,%edx,4),%edx | |
6666 ++ addl %edx,%ebx | |
6667 ++ xorl %eax,%eax | |
6668 ++ xorl %ebx,%esi | |
6669 ++ | |
6670 ++ # Round 9 | |
6671 ++ movl 36(%ebp),%edx | |
6672 ++ movl %esi,%ebx | |
6673 ++ xorl %edx,%edi | |
6674 ++ shrl $16,%ebx | |
6675 ++ movl %esi,%edx | |
6676 ++ movb %bh,%al | |
6677 ++ andl $255,%ebx | |
6678 ++ movb %dh,%cl | |
6679 ++ andl $255,%edx | |
6680 ++ movl 72(%ebp,%eax,4),%eax | |
6681 ++ movl 1096(%ebp,%ebx,4),%ebx | |
6682 ++ addl %eax,%ebx | |
6683 ++ movl 2120(%ebp,%ecx,4),%eax | |
6684 ++ xorl %eax,%ebx | |
6685 ++ movl 3144(%ebp,%edx,4),%edx | |
6686 ++ addl %edx,%ebx | |
6687 ++ xorl %eax,%eax | |
6688 ++ xorl %ebx,%edi | |
6689 ++ | |
6690 ++ # Round 8 | |
6691 ++ movl 32(%ebp),%edx | |
6692 ++ movl %edi,%ebx | |
6693 ++ xorl %edx,%esi | |
6694 ++ shrl $16,%ebx | |
6695 ++ movl %edi,%edx | |
6696 ++ movb %bh,%al | |
6697 ++ andl $255,%ebx | |
6698 ++ movb %dh,%cl | |
6699 ++ andl $255,%edx | |
6700 ++ movl 72(%ebp,%eax,4),%eax | |
6701 ++ movl 1096(%ebp,%ebx,4),%ebx | |
6702 ++ addl %eax,%ebx | |
6703 ++ movl 2120(%ebp,%ecx,4),%eax | |
6704 ++ xorl %eax,%ebx | |
6705 ++ movl 3144(%ebp,%edx,4),%edx | |
6706 ++ addl %edx,%ebx | |
6707 ++ xorl %eax,%eax | |
6708 ++ xorl %ebx,%esi | |
6709 ++ | |
6710 ++ # Round 7 | |
6711 ++ movl 28(%ebp),%edx | |
6712 ++ movl %esi,%ebx | |
6713 ++ xorl %edx,%edi | |
6714 ++ shrl $16,%ebx | |
6715 ++ movl %esi,%edx | |
6716 ++ movb %bh,%al | |
6717 ++ andl $255,%ebx | |
6718 ++ movb %dh,%cl | |
6719 ++ andl $255,%edx | |
6720 ++ movl 72(%ebp,%eax,4),%eax | |
6721 ++ movl 1096(%ebp,%ebx,4),%ebx | |
6722 ++ addl %eax,%ebx | |
6723 ++ movl 2120(%ebp,%ecx,4),%eax | |
6724 ++ xorl %eax,%ebx | |
6725 ++ movl 3144(%ebp,%edx,4),%edx | |
6726 ++ addl %edx,%ebx | |
6727 ++ xorl %eax,%eax | |
6728 ++ xorl %ebx,%edi | |
6729 ++ | |
6730 ++ # Round 6 | |
6731 ++ movl 24(%ebp),%edx | |
6732 ++ movl %edi,%ebx | |
6733 ++ xorl %edx,%esi | |
6734 ++ shrl $16,%ebx | |
6735 ++ movl %edi,%edx | |
6736 ++ movb %bh,%al | |
6737 ++ andl $255,%ebx | |
6738 ++ movb %dh,%cl | |
6739 ++ andl $255,%edx | |
6740 ++ movl 72(%ebp,%eax,4),%eax | |
6741 ++ movl 1096(%ebp,%ebx,4),%ebx | |
6742 ++ addl %eax,%ebx | |
6743 ++ movl 2120(%ebp,%ecx,4),%eax | |
6744 ++ xorl %eax,%ebx | |
6745 ++ movl 3144(%ebp,%edx,4),%edx | |
6746 ++ addl %edx,%ebx | |
6747 ++ xorl %eax,%eax | |
6748 ++ xorl %ebx,%esi | |
6749 ++ | |
6750 ++ # Round 5 | |
6751 ++ movl 20(%ebp),%edx | |
6752 ++ movl %esi,%ebx | |
6753 ++ xorl %edx,%edi | |
6754 ++ shrl $16,%ebx | |
6755 ++ movl %esi,%edx | |
6756 ++ movb %bh,%al | |
6757 ++ andl $255,%ebx | |
6758 ++ movb %dh,%cl | |
6759 ++ andl $255,%edx | |
6760 ++ movl 72(%ebp,%eax,4),%eax | |
6761 ++ movl 1096(%ebp,%ebx,4),%ebx | |
6762 ++ addl %eax,%ebx | |
6763 ++ movl 2120(%ebp,%ecx,4),%eax | |
6764 ++ xorl %eax,%ebx | |
6765 ++ movl 3144(%ebp,%edx,4),%edx | |
6766 ++ addl %edx,%ebx | |
6767 ++ xorl %eax,%eax | |
6768 ++ xorl %ebx,%edi | |
6769 ++ | |
6770 ++ # Round 4 | |
6771 ++ movl 16(%ebp),%edx | |
6772 ++ movl %edi,%ebx | |
6773 ++ xorl %edx,%esi | |
6774 ++ shrl $16,%ebx | |
6775 ++ movl %edi,%edx | |
6776 ++ movb %bh,%al | |
6777 ++ andl $255,%ebx | |
6778 ++ movb %dh,%cl | |
6779 ++ andl $255,%edx | |
6780 ++ movl 72(%ebp,%eax,4),%eax | |
6781 ++ movl 1096(%ebp,%ebx,4),%ebx | |
6782 ++ addl %eax,%ebx | |
6783 ++ movl 2120(%ebp,%ecx,4),%eax | |
6784 ++ xorl %eax,%ebx | |
6785 ++ movl 3144(%ebp,%edx,4),%edx | |
6786 ++ addl %edx,%ebx | |
6787 ++ xorl %eax,%eax | |
6788 ++ xorl %ebx,%esi | |
6789 ++ | |
6790 ++ # Round 3 | |
6791 ++ movl 12(%ebp),%edx | |
6792 ++ movl %esi,%ebx | |
6793 ++ xorl %edx,%edi | |
6794 ++ shrl $16,%ebx | |
6795 ++ movl %esi,%edx | |
6796 ++ movb %bh,%al | |
6797 ++ andl $255,%ebx | |
6798 ++ movb %dh,%cl | |
6799 ++ andl $255,%edx | |
6800 ++ movl 72(%ebp,%eax,4),%eax | |
6801 ++ movl 1096(%ebp,%ebx,4),%ebx | |
6802 ++ addl %eax,%ebx | |
6803 ++ movl 2120(%ebp,%ecx,4),%eax | |
6804 ++ xorl %eax,%ebx | |
6805 ++ movl 3144(%ebp,%edx,4),%edx | |
6806 ++ addl %edx,%ebx | |
6807 ++ xorl %eax,%eax | |
6808 ++ xorl %ebx,%edi | |
6809 ++ | |
6810 ++ # Round 2 | |
6811 ++ movl 8(%ebp),%edx | |
6812 ++ movl %edi,%ebx | |
6813 ++ xorl %edx,%esi | |
6814 ++ shrl $16,%ebx | |
6815 ++ movl %edi,%edx | |
6816 ++ movb %bh,%al | |
6817 ++ andl $255,%ebx | |
6818 ++ movb %dh,%cl | |
6819 ++ andl $255,%edx | |
6820 ++ movl 72(%ebp,%eax,4),%eax | |
6821 ++ movl 1096(%ebp,%ebx,4),%ebx | |
6822 ++ addl %eax,%ebx | |
6823 ++ movl 2120(%ebp,%ecx,4),%eax | |
6824 ++ xorl %eax,%ebx | |
6825 ++ movl 3144(%ebp,%edx,4),%edx | |
6826 ++ addl %edx,%ebx | |
6827 ++ xorl %eax,%eax | |
6828 ++ xorl %ebx,%esi | |
6829 ++ | |
6830 ++ # Round 1 | |
6831 ++ movl 4(%ebp),%edx | |
6832 ++ movl %esi,%ebx | |
6833 ++ xorl %edx,%edi | |
6834 ++ shrl $16,%ebx | |
6835 ++ movl %esi,%edx | |
6836 ++ movb %bh,%al | |
6837 ++ andl $255,%ebx | |
6838 ++ movb %dh,%cl | |
6839 ++ andl $255,%edx | |
6840 ++ movl 72(%ebp,%eax,4),%eax | |
6841 ++ movl 1096(%ebp,%ebx,4),%ebx | |
6842 ++ addl %eax,%ebx | |
6843 ++ movl 2120(%ebp,%ecx,4),%eax | |
6844 ++ xorl %eax,%ebx | |
6845 ++ movl 3144(%ebp,%edx,4),%edx | |
6846 ++ addl %edx,%ebx | |
6847 ++ # Load parameter 0 (1) enc=0 | |
6848 ++ movl 20(%esp),%eax | |
6849 ++ xorl %ebx,%edi | |
6850 ++ movl (%ebp),%edx | |
6851 ++ xorl %edx,%esi | |
6852 ++ movl %edi,4(%eax) | |
6853 ++ movl %esi,(%eax) | |
6854 ++ popl %edi | |
6855 ++ popl %esi | |
6856 ++ popl %ebx | |
6857 ++ popl %ebp | |
6858 ++ ret | |
6859 ++.globl _BF_cbc_encrypt | |
6860 ++.align 4 | |
6861 ++_BF_cbc_encrypt: | |
6862 ++L_BF_cbc_encrypt_begin: | |
6863 ++ | |
6864 ++ pushl %ebp | |
6865 ++ pushl %ebx | |
6866 ++ pushl %esi | |
6867 ++ pushl %edi | |
6868 ++ movl 28(%esp),%ebp | |
6869 ++ # getting iv ptr from parameter 4 | |
6870 ++ movl 36(%esp),%ebx | |
6871 ++ movl (%ebx),%esi | |
6872 ++ movl 4(%ebx),%edi | |
6873 ++ pushl %edi | |
6874 ++ pushl %esi | |
6875 ++ pushl %edi | |
6876 ++ pushl %esi | |
6877 ++ movl %esp,%ebx | |
6878 ++ movl 36(%esp),%esi | |
6879 ++ movl 40(%esp),%edi | |
6880 ++ # getting encrypt flag from parameter 5 | |
6881 ++ movl 56(%esp),%ecx | |
6882 ++ # get and push parameter 3 | |
6883 ++ movl 48(%esp),%eax | |
6884 ++ pushl %eax | |
6885 ++ pushl %ebx | |
6886 ++ cmpl $0,%ecx | |
6887 ++ jz L000decrypt | |
6888 ++ andl $4294967288,%ebp | |
6889 ++ movl 8(%esp),%eax | |
6890 ++ movl 12(%esp),%ebx | |
6891 ++ jz L001encrypt_finish | |
6892 ++L002encrypt_loop: | |
6893 ++ movl (%esi),%ecx | |
6894 ++ movl 4(%esi),%edx | |
6895 ++ xorl %ecx,%eax | |
6896 ++ xorl %edx,%ebx | |
6897 ++ bswap %eax | |
6898 ++ bswap %ebx | |
6899 ++ movl %eax,8(%esp) | |
6900 ++ movl %ebx,12(%esp) | |
6901 ++ call L_BF_encrypt_begin | |
6902 ++ movl 8(%esp),%eax | |
6903 ++ movl 12(%esp),%ebx | |
6904 ++ bswap %eax | |
6905 ++ bswap %ebx | |
6906 ++ movl %eax,(%edi) | |
6907 ++ movl %ebx,4(%edi) | |
6908 ++ addl $8,%esi | |
6909 ++ addl $8,%edi | |
6910 ++ subl $8,%ebp | |
6911 ++ jnz L002encrypt_loop | |
6912 ++L001encrypt_finish: | |
6913 ++ movl 52(%esp),%ebp | |
6914 ++ andl $7,%ebp | |
6915 ++ jz L003finish | |
6916 ++ call L004PIC_point | |
6917 ++L004PIC_point: | |
6918 ++ popl %edx | |
6919 ++ leal L005cbc_enc_jmp_table-L004PIC_point(%edx),%ecx | |
6920 ++ movl (%ecx,%ebp,4),%ebp | |
6921 ++ addl %edx,%ebp | |
6922 ++ xorl %ecx,%ecx | |
6923 ++ xorl %edx,%edx | |
6924 ++ jmp *%ebp | |
6925 ++L006ej7: | |
6926 ++ movb 6(%esi),%dh | |
6927 ++ shll $8,%edx | |
6928 ++L007ej6: | |
6929 ++ movb 5(%esi),%dh | |
6930 ++L008ej5: | |
6931 ++ movb 4(%esi),%dl | |
6932 ++L009ej4: | |
6933 ++ movl (%esi),%ecx | |
6934 ++ jmp L010ejend | |
6935 ++L011ej3: | |
6936 ++ movb 2(%esi),%ch | |
6937 ++ shll $8,%ecx | |
6938 ++L012ej2: | |
6939 ++ movb 1(%esi),%ch | |
6940 ++L013ej1: | |
6941 ++ movb (%esi),%cl | |
6942 ++L010ejend: | |
6943 ++ xorl %ecx,%eax | |
6944 ++ xorl %edx,%ebx | |
6945 ++ bswap %eax | |
6946 ++ bswap %ebx | |
6947 ++ movl %eax,8(%esp) | |
6948 ++ movl %ebx,12(%esp) | |
6949 ++ call L_BF_encrypt_begin | |
6950 ++ movl 8(%esp),%eax | |
6951 ++ movl 12(%esp),%ebx | |
6952 ++ bswap %eax | |
6953 ++ bswap %ebx | |
6954 ++ movl %eax,(%edi) | |
6955 ++ movl %ebx,4(%edi) | |
6956 ++ jmp L003finish | |
6957 ++L000decrypt: | |
6958 ++ andl $4294967288,%ebp | |
6959 ++ movl 16(%esp),%eax | |
6960 ++ movl 20(%esp),%ebx | |
6961 ++ jz L014decrypt_finish | |
6962 ++L015decrypt_loop: | |
6963 ++ movl (%esi),%eax | |
6964 ++ movl 4(%esi),%ebx | |
6965 ++ bswap %eax | |
6966 ++ bswap %ebx | |
6967 ++ movl %eax,8(%esp) | |
6968 ++ movl %ebx,12(%esp) | |
6969 ++ call L_BF_decrypt_begin | |
6970 ++ movl 8(%esp),%eax | |
6971 ++ movl 12(%esp),%ebx | |
6972 ++ bswap %eax | |
6973 ++ bswap %ebx | |
6974 ++ movl 16(%esp),%ecx | |
6975 ++ movl 20(%esp),%edx | |
6976 ++ xorl %eax,%ecx | |
6977 ++ xorl %ebx,%edx | |
6978 ++ movl (%esi),%eax | |
6979 ++ movl 4(%esi),%ebx | |
6980 ++ movl %ecx,(%edi) | |
6981 ++ movl %edx,4(%edi) | |
6982 ++ movl %eax,16(%esp) | |
6983 ++ movl %ebx,20(%esp) | |
6984 ++ addl $8,%esi | |
6985 ++ addl $8,%edi | |
6986 ++ subl $8,%ebp | |
6987 ++ jnz L015decrypt_loop | |
6988 ++L014decrypt_finish: | |
6989 ++ movl 52(%esp),%ebp | |
6990 ++ andl $7,%ebp | |
6991 ++ jz L003finish | |
6992 ++ movl (%esi),%eax | |
6993 ++ movl 4(%esi),%ebx | |
6994 ++ bswap %eax | |
6995 ++ bswap %ebx | |
6996 ++ movl %eax,8(%esp) | |
6997 ++ movl %ebx,12(%esp) | |
6998 ++ call L_BF_decrypt_begin | |
6999 ++ movl 8(%esp),%eax | |
7000 ++ movl 12(%esp),%ebx | |
7001 ++ bswap %eax | |
7002 ++ bswap %ebx | |
7003 ++ movl 16(%esp),%ecx | |
7004 ++ movl 20(%esp),%edx | |
7005 ++ xorl %eax,%ecx | |
7006 ++ xorl %ebx,%edx | |
7007 ++ movl (%esi),%eax | |
7008 ++ movl 4(%esi),%ebx | |
7009 ++L016dj7: | |
7010 ++ rorl $16,%edx | |
7011 ++ movb %dl,6(%edi) | |
7012 ++ shrl $16,%edx | |
7013 ++L017dj6: | |
7014 ++ movb %dh,5(%edi) | |
7015 ++L018dj5: | |
7016 ++ movb %dl,4(%edi) | |
7017 ++L019dj4: | |
7018 ++ movl %ecx,(%edi) | |
7019 ++ jmp L020djend | |
7020 ++L021dj3: | |
7021 ++ rorl $16,%ecx | |
7022 ++ movb %cl,2(%edi) | |
7023 ++ shll $16,%ecx | |
7024 ++L022dj2: | |
7025 ++ movb %ch,1(%esi) | |
7026 ++L023dj1: | |
7027 ++ movb %cl,(%esi) | |
7028 ++L020djend: | |
7029 ++ jmp L003finish | |
7030 ++L003finish: | |
7031 ++ movl 60(%esp),%ecx | |
7032 ++ addl $24,%esp | |
7033 ++ movl %eax,(%ecx) | |
7034 ++ movl %ebx,4(%ecx) | |
7035 ++ popl %edi | |
7036 ++ popl %esi | |
7037 ++ popl %ebx | |
7038 ++ popl %ebp | |
7039 ++ ret | |
7040 ++.align 6,0x90 | |
7041 ++L005cbc_enc_jmp_table: | |
7042 ++.long 0 | |
7043 ++.long L013ej1-L004PIC_point | |
7044 ++.long L012ej2-L004PIC_point | |
7045 ++.long L011ej3-L004PIC_point | |
7046 ++.long L009ej4-L004PIC_point | |
7047 ++.long L008ej5-L004PIC_point | |
7048 ++.long L007ej6-L004PIC_point | |
7049 ++.long L006ej7-L004PIC_point | |
7050 ++.align 6,0x90 | |
7051 +diff --git a/crypto/bn/asm/bn-586-mac.S b/crypto/bn/asm/bn-586-mac.S | |
7052 +new file mode 100644 | |
7053 +index 0000000..05a81aa | |
7054 +--- /dev/null | |
7055 ++++ b/crypto/bn/asm/bn-586-mac.S | |
7056 +@@ -0,0 +1,1370 @@ | |
7057 ++.file "crypto/bn/asm/bn-586.s" | |
7058 ++.text | |
7059 ++.globl _bn_mul_add_words | |
7060 ++.align 4 | |
7061 ++_bn_mul_add_words: | |
7062 ++L_bn_mul_add_words_begin: | |
7063 ++ pushl %ebp | |
7064 ++ pushl %ebx | |
7065 ++ pushl %esi | |
7066 ++ pushl %edi | |
7067 ++ | |
7068 ++ xorl %esi,%esi | |
7069 ++ movl 20(%esp),%edi | |
7070 ++ movl 28(%esp),%ecx | |
7071 ++ movl 24(%esp),%ebx | |
7072 ++ andl $4294967288,%ecx | |
7073 ++ movl 32(%esp),%ebp | |
7074 ++ pushl %ecx | |
7075 ++ jz L000maw_finish | |
7076 ++.align 4,0x90 | |
7077 ++L001maw_loop: | |
7078 ++ # Round 0 | |
7079 ++ movl (%ebx),%eax | |
7080 ++ mull %ebp | |
7081 ++ addl %esi,%eax | |
7082 ++ adcl $0,%edx | |
7083 ++ addl (%edi),%eax | |
7084 ++ adcl $0,%edx | |
7085 ++ movl %eax,(%edi) | |
7086 ++ movl %edx,%esi | |
7087 ++ # Round 4 | |
7088 ++ movl 4(%ebx),%eax | |
7089 ++ mull %ebp | |
7090 ++ addl %esi,%eax | |
7091 ++ adcl $0,%edx | |
7092 ++ addl 4(%edi),%eax | |
7093 ++ adcl $0,%edx | |
7094 ++ movl %eax,4(%edi) | |
7095 ++ movl %edx,%esi | |
7096 ++ # Round 8 | |
7097 ++ movl 8(%ebx),%eax | |
7098 ++ mull %ebp | |
7099 ++ addl %esi,%eax | |
7100 ++ adcl $0,%edx | |
7101 ++ addl 8(%edi),%eax | |
7102 ++ adcl $0,%edx | |
7103 ++ movl %eax,8(%edi) | |
7104 ++ movl %edx,%esi | |
7105 ++ # Round 12 | |
7106 ++ movl 12(%ebx),%eax | |
7107 ++ mull %ebp | |
7108 ++ addl %esi,%eax | |
7109 ++ adcl $0,%edx | |
7110 ++ addl 12(%edi),%eax | |
7111 ++ adcl $0,%edx | |
7112 ++ movl %eax,12(%edi) | |
7113 ++ movl %edx,%esi | |
7114 ++ # Round 16 | |
7115 ++ movl 16(%ebx),%eax | |
7116 ++ mull %ebp | |
7117 ++ addl %esi,%eax | |
7118 ++ adcl $0,%edx | |
7119 ++ addl 16(%edi),%eax | |
7120 ++ adcl $0,%edx | |
7121 ++ movl %eax,16(%edi) | |
7122 ++ movl %edx,%esi | |
7123 ++ # Round 20 | |
7124 ++ movl 20(%ebx),%eax | |
7125 ++ mull %ebp | |
7126 ++ addl %esi,%eax | |
7127 ++ adcl $0,%edx | |
7128 ++ addl 20(%edi),%eax | |
7129 ++ adcl $0,%edx | |
7130 ++ movl %eax,20(%edi) | |
7131 ++ movl %edx,%esi | |
7132 ++ # Round 24 | |
7133 ++ movl 24(%ebx),%eax | |
7134 ++ mull %ebp | |
7135 ++ addl %esi,%eax | |
7136 ++ adcl $0,%edx | |
7137 ++ addl 24(%edi),%eax | |
7138 ++ adcl $0,%edx | |
7139 ++ movl %eax,24(%edi) | |
7140 ++ movl %edx,%esi | |
7141 ++ # Round 28 | |
7142 ++ movl 28(%ebx),%eax | |
7143 ++ mull %ebp | |
7144 ++ addl %esi,%eax | |
7145 ++ adcl $0,%edx | |
7146 ++ addl 28(%edi),%eax | |
7147 ++ adcl $0,%edx | |
7148 ++ movl %eax,28(%edi) | |
7149 ++ movl %edx,%esi | |
7150 ++ | |
7151 ++ subl $8,%ecx | |
7152 ++ leal 32(%ebx),%ebx | |
7153 ++ leal 32(%edi),%edi | |
7154 ++ jnz L001maw_loop | |
7155 ++L000maw_finish: | |
7156 ++ movl 32(%esp),%ecx | |
7157 ++ andl $7,%ecx | |
7158 ++ jnz L002maw_finish2 | |
7159 ++ jmp L003maw_end | |
7160 ++L002maw_finish2: | |
7161 ++ # Tail Round 0 | |
7162 ++ movl (%ebx),%eax | |
7163 ++ mull %ebp | |
7164 ++ addl %esi,%eax | |
7165 ++ adcl $0,%edx | |
7166 ++ addl (%edi),%eax | |
7167 ++ adcl $0,%edx | |
7168 ++ decl %ecx | |
7169 ++ movl %eax,(%edi) | |
7170 ++ movl %edx,%esi | |
7171 ++ jz L003maw_end | |
7172 ++ # Tail Round 1 | |
7173 ++ movl 4(%ebx),%eax | |
7174 ++ mull %ebp | |
7175 ++ addl %esi,%eax | |
7176 ++ adcl $0,%edx | |
7177 ++ addl 4(%edi),%eax | |
7178 ++ adcl $0,%edx | |
7179 ++ decl %ecx | |
7180 ++ movl %eax,4(%edi) | |
7181 ++ movl %edx,%esi | |
7182 ++ jz L003maw_end | |
7183 ++ # Tail Round 2 | |
7184 ++ movl 8(%ebx),%eax | |
7185 ++ mull %ebp | |
7186 ++ addl %esi,%eax | |
7187 ++ adcl $0,%edx | |
7188 ++ addl 8(%edi),%eax | |
7189 ++ adcl $0,%edx | |
7190 ++ decl %ecx | |
7191 ++ movl %eax,8(%edi) | |
7192 ++ movl %edx,%esi | |
7193 ++ jz L003maw_end | |
7194 ++ # Tail Round 3 | |
7195 ++ movl 12(%ebx),%eax | |
7196 ++ mull %ebp | |
7197 ++ addl %esi,%eax | |
7198 ++ adcl $0,%edx | |
7199 ++ addl 12(%edi),%eax | |
7200 ++ adcl $0,%edx | |
7201 ++ decl %ecx | |
7202 ++ movl %eax,12(%edi) | |
7203 ++ movl %edx,%esi | |
7204 ++ jz L003maw_end | |
7205 ++ # Tail Round 4 | |
7206 ++ movl 16(%ebx),%eax | |
7207 ++ mull %ebp | |
7208 ++ addl %esi,%eax | |
7209 ++ adcl $0,%edx | |
7210 ++ addl 16(%edi),%eax | |
7211 ++ adcl $0,%edx | |
7212 ++ decl %ecx | |
7213 ++ movl %eax,16(%edi) | |
7214 ++ movl %edx,%esi | |
7215 ++ jz L003maw_end | |
7216 ++ # Tail Round 5 | |
7217 ++ movl 20(%ebx),%eax | |
7218 ++ mull %ebp | |
7219 ++ addl %esi,%eax | |
7220 ++ adcl $0,%edx | |
7221 ++ addl 20(%edi),%eax | |
7222 ++ adcl $0,%edx | |
7223 ++ decl %ecx | |
7224 ++ movl %eax,20(%edi) | |
7225 ++ movl %edx,%esi | |
7226 ++ jz L003maw_end | |
7227 ++ # Tail Round 6 | |
7228 ++ movl 24(%ebx),%eax | |
7229 ++ mull %ebp | |
7230 ++ addl %esi,%eax | |
7231 ++ adcl $0,%edx | |
7232 ++ addl 24(%edi),%eax | |
7233 ++ adcl $0,%edx | |
7234 ++ movl %eax,24(%edi) | |
7235 ++ movl %edx,%esi | |
7236 ++L003maw_end: | |
7237 ++ movl %esi,%eax | |
7238 ++ popl %ecx | |
7239 ++ popl %edi | |
7240 ++ popl %esi | |
7241 ++ popl %ebx | |
7242 ++ popl %ebp | |
7243 ++ ret | |
7244 ++.globl _bn_mul_words | |
7245 ++.align 4 | |
7246 ++_bn_mul_words: | |
7247 ++L_bn_mul_words_begin: | |
7248 ++ pushl %ebp | |
7249 ++ pushl %ebx | |
7250 ++ pushl %esi | |
7251 ++ pushl %edi | |
7252 ++ | |
7253 ++ xorl %esi,%esi | |
7254 ++ movl 20(%esp),%edi | |
7255 ++ movl 24(%esp),%ebx | |
7256 ++ movl 28(%esp),%ebp | |
7257 ++ movl 32(%esp),%ecx | |
7258 ++ andl $4294967288,%ebp | |
7259 ++ jz L004mw_finish | |
7260 ++L005mw_loop: | |
7261 ++ # Round 0 | |
7262 ++ movl (%ebx),%eax | |
7263 ++ mull %ecx | |
7264 ++ addl %esi,%eax | |
7265 ++ adcl $0,%edx | |
7266 ++ movl %eax,(%edi) | |
7267 ++ movl %edx,%esi | |
7268 ++ # Round 4 | |
7269 ++ movl 4(%ebx),%eax | |
7270 ++ mull %ecx | |
7271 ++ addl %esi,%eax | |
7272 ++ adcl $0,%edx | |
7273 ++ movl %eax,4(%edi) | |
7274 ++ movl %edx,%esi | |
7275 ++ # Round 8 | |
7276 ++ movl 8(%ebx),%eax | |
7277 ++ mull %ecx | |
7278 ++ addl %esi,%eax | |
7279 ++ adcl $0,%edx | |
7280 ++ movl %eax,8(%edi) | |
7281 ++ movl %edx,%esi | |
7282 ++ # Round 12 | |
7283 ++ movl 12(%ebx),%eax | |
7284 ++ mull %ecx | |
7285 ++ addl %esi,%eax | |
7286 ++ adcl $0,%edx | |
7287 ++ movl %eax,12(%edi) | |
7288 ++ movl %edx,%esi | |
7289 ++ # Round 16 | |
7290 ++ movl 16(%ebx),%eax | |
7291 ++ mull %ecx | |
7292 ++ addl %esi,%eax | |
7293 ++ adcl $0,%edx | |
7294 ++ movl %eax,16(%edi) | |
7295 ++ movl %edx,%esi | |
7296 ++ # Round 20 | |
7297 ++ movl 20(%ebx),%eax | |
7298 ++ mull %ecx | |
7299 ++ addl %esi,%eax | |
7300 ++ adcl $0,%edx | |
7301 ++ movl %eax,20(%edi) | |
7302 ++ movl %edx,%esi | |
7303 ++ # Round 24 | |
7304 ++ movl 24(%ebx),%eax | |
7305 ++ mull %ecx | |
7306 ++ addl %esi,%eax | |
7307 ++ adcl $0,%edx | |
7308 ++ movl %eax,24(%edi) | |
7309 ++ movl %edx,%esi | |
7310 ++ # Round 28 | |
7311 ++ movl 28(%ebx),%eax | |
7312 ++ mull %ecx | |
7313 ++ addl %esi,%eax | |
7314 ++ adcl $0,%edx | |
7315 ++ movl %eax,28(%edi) | |
7316 ++ movl %edx,%esi | |
7317 ++ | |
7318 ++ addl $32,%ebx | |
7319 ++ addl $32,%edi | |
7320 ++ subl $8,%ebp | |
7321 ++ jz L004mw_finish | |
7322 ++ jmp L005mw_loop | |
7323 ++L004mw_finish: | |
7324 ++ movl 28(%esp),%ebp | |
7325 ++ andl $7,%ebp | |
7326 ++ jnz L006mw_finish2 | |
7327 ++ jmp L007mw_end | |
7328 ++L006mw_finish2: | |
7329 ++ # Tail Round 0 | |
7330 ++ movl (%ebx),%eax | |
7331 ++ mull %ecx | |
7332 ++ addl %esi,%eax | |
7333 ++ adcl $0,%edx | |
7334 ++ movl %eax,(%edi) | |
7335 ++ movl %edx,%esi | |
7336 ++ decl %ebp | |
7337 ++ jz L007mw_end | |
7338 ++ # Tail Round 1 | |
7339 ++ movl 4(%ebx),%eax | |
7340 ++ mull %ecx | |
7341 ++ addl %esi,%eax | |
7342 ++ adcl $0,%edx | |
7343 ++ movl %eax,4(%edi) | |
7344 ++ movl %edx,%esi | |
7345 ++ decl %ebp | |
7346 ++ jz L007mw_end | |
7347 ++ # Tail Round 2 | |
7348 ++ movl 8(%ebx),%eax | |
7349 ++ mull %ecx | |
7350 ++ addl %esi,%eax | |
7351 ++ adcl $0,%edx | |
7352 ++ movl %eax,8(%edi) | |
7353 ++ movl %edx,%esi | |
7354 ++ decl %ebp | |
7355 ++ jz L007mw_end | |
7356 ++ # Tail Round 3 | |
7357 ++ movl 12(%ebx),%eax | |
7358 ++ mull %ecx | |
7359 ++ addl %esi,%eax | |
7360 ++ adcl $0,%edx | |
7361 ++ movl %eax,12(%edi) | |
7362 ++ movl %edx,%esi | |
7363 ++ decl %ebp | |
7364 ++ jz L007mw_end | |
7365 ++ # Tail Round 4 | |
7366 ++ movl 16(%ebx),%eax | |
7367 ++ mull %ecx | |
7368 ++ addl %esi,%eax | |
7369 ++ adcl $0,%edx | |
7370 ++ movl %eax,16(%edi) | |
7371 ++ movl %edx,%esi | |
7372 ++ decl %ebp | |
7373 ++ jz L007mw_end | |
7374 ++ # Tail Round 5 | |
7375 ++ movl 20(%ebx),%eax | |
7376 ++ mull %ecx | |
7377 ++ addl %esi,%eax | |
7378 ++ adcl $0,%edx | |
7379 ++ movl %eax,20(%edi) | |
7380 ++ movl %edx,%esi | |
7381 ++ decl %ebp | |
7382 ++ jz L007mw_end | |
7383 ++ # Tail Round 6 | |
7384 ++ movl 24(%ebx),%eax | |
7385 ++ mull %ecx | |
7386 ++ addl %esi,%eax | |
7387 ++ adcl $0,%edx | |
7388 ++ movl %eax,24(%edi) | |
7389 ++ movl %edx,%esi | |
7390 ++L007mw_end: | |
7391 ++ movl %esi,%eax | |
7392 ++ popl %edi | |
7393 ++ popl %esi | |
7394 ++ popl %ebx | |
7395 ++ popl %ebp | |
7396 ++ ret | |
7397 ++.globl _bn_sqr_words | |
7398 ++.align 4 | |
7399 ++_bn_sqr_words: | |
7400 ++L_bn_sqr_words_begin: | |
7401 ++ pushl %ebp | |
7402 ++ pushl %ebx | |
7403 ++ pushl %esi | |
7404 ++ pushl %edi | |
7405 ++ | |
7406 ++ movl 20(%esp),%esi | |
7407 ++ movl 24(%esp),%edi | |
7408 ++ movl 28(%esp),%ebx | |
7409 ++ andl $4294967288,%ebx | |
7410 ++ jz L008sw_finish | |
7411 ++L009sw_loop: | |
7412 ++ # Round 0 | |
7413 ++ movl (%edi),%eax | |
7414 ++ mull %eax | |
7415 ++ movl %eax,(%esi) | |
7416 ++ movl %edx,4(%esi) | |
7417 ++ # Round 4 | |
7418 ++ movl 4(%edi),%eax | |
7419 ++ mull %eax | |
7420 ++ movl %eax,8(%esi) | |
7421 ++ movl %edx,12(%esi) | |
7422 ++ # Round 8 | |
7423 ++ movl 8(%edi),%eax | |
7424 ++ mull %eax | |
7425 ++ movl %eax,16(%esi) | |
7426 ++ movl %edx,20(%esi) | |
7427 ++ # Round 12 | |
7428 ++ movl 12(%edi),%eax | |
7429 ++ mull %eax | |
7430 ++ movl %eax,24(%esi) | |
7431 ++ movl %edx,28(%esi) | |
7432 ++ # Round 16 | |
7433 ++ movl 16(%edi),%eax | |
7434 ++ mull %eax | |
7435 ++ movl %eax,32(%esi) | |
7436 ++ movl %edx,36(%esi) | |
7437 ++ # Round 20 | |
7438 ++ movl 20(%edi),%eax | |
7439 ++ mull %eax | |
7440 ++ movl %eax,40(%esi) | |
7441 ++ movl %edx,44(%esi) | |
7442 ++ # Round 24 | |
7443 ++ movl 24(%edi),%eax | |
7444 ++ mull %eax | |
7445 ++ movl %eax,48(%esi) | |
7446 ++ movl %edx,52(%esi) | |
7447 ++ # Round 28 | |
7448 ++ movl 28(%edi),%eax | |
7449 ++ mull %eax | |
7450 ++ movl %eax,56(%esi) | |
7451 ++ movl %edx,60(%esi) | |
7452 ++ | |
7453 ++ addl $32,%edi | |
7454 ++ addl $64,%esi | |
7455 ++ subl $8,%ebx | |
7456 ++ jnz L009sw_loop | |
7457 ++L008sw_finish: | |
7458 ++ movl 28(%esp),%ebx | |
7459 ++ andl $7,%ebx | |
7460 ++ jz L010sw_end | |
7461 ++ # Tail Round 0 | |
7462 ++ movl (%edi),%eax | |
7463 ++ mull %eax | |
7464 ++ movl %eax,(%esi) | |
7465 ++ decl %ebx | |
7466 ++ movl %edx,4(%esi) | |
7467 ++ jz L010sw_end | |
7468 ++ # Tail Round 1 | |
7469 ++ movl 4(%edi),%eax | |
7470 ++ mull %eax | |
7471 ++ movl %eax,8(%esi) | |
7472 ++ decl %ebx | |
7473 ++ movl %edx,12(%esi) | |
7474 ++ jz L010sw_end | |
7475 ++ # Tail Round 2 | |
7476 ++ movl 8(%edi),%eax | |
7477 ++ mull %eax | |
7478 ++ movl %eax,16(%esi) | |
7479 ++ decl %ebx | |
7480 ++ movl %edx,20(%esi) | |
7481 ++ jz L010sw_end | |
7482 ++ # Tail Round 3 | |
7483 ++ movl 12(%edi),%eax | |
7484 ++ mull %eax | |
7485 ++ movl %eax,24(%esi) | |
7486 ++ decl %ebx | |
7487 ++ movl %edx,28(%esi) | |
7488 ++ jz L010sw_end | |
7489 ++ # Tail Round 4 | |
7490 ++ movl 16(%edi),%eax | |
7491 ++ mull %eax | |
7492 ++ movl %eax,32(%esi) | |
7493 ++ decl %ebx | |
7494 ++ movl %edx,36(%esi) | |
7495 ++ jz L010sw_end | |
7496 ++ # Tail Round 5 | |
7497 ++ movl 20(%edi),%eax | |
7498 ++ mull %eax | |
7499 ++ movl %eax,40(%esi) | |
7500 ++ decl %ebx | |
7501 ++ movl %edx,44(%esi) | |
7502 ++ jz L010sw_end | |
7503 ++ # Tail Round 6 | |
7504 ++ movl 24(%edi),%eax | |
7505 ++ mull %eax | |
7506 ++ movl %eax,48(%esi) | |
7507 ++ movl %edx,52(%esi) | |
7508 ++L010sw_end: | |
7509 ++ popl %edi | |
7510 ++ popl %esi | |
7511 ++ popl %ebx | |
7512 ++ popl %ebp | |
7513 ++ ret | |
7514 ++.globl _bn_div_words | |
7515 ++.align 4 | |
7516 ++_bn_div_words: | |
7517 ++L_bn_div_words_begin: | |
7518 ++ movl 4(%esp),%edx | |
7519 ++ movl 8(%esp),%eax | |
7520 ++ movl 12(%esp),%ecx | |
7521 ++ divl %ecx | |
7522 ++ ret | |
7523 ++.globl _bn_add_words | |
7524 ++.align 4 | |
7525 ++_bn_add_words: | |
7526 ++L_bn_add_words_begin: | |
7527 ++ pushl %ebp | |
7528 ++ pushl %ebx | |
7529 ++ pushl %esi | |
7530 ++ pushl %edi | |
7531 ++ | |
7532 ++ movl 20(%esp),%ebx | |
7533 ++ movl 24(%esp),%esi | |
7534 ++ movl 28(%esp),%edi | |
7535 ++ movl 32(%esp),%ebp | |
7536 ++ xorl %eax,%eax | |
7537 ++ andl $4294967288,%ebp | |
7538 ++ jz L011aw_finish | |
7539 ++L012aw_loop: | |
7540 ++ # Round 0 | |
7541 ++ movl (%esi),%ecx | |
7542 ++ movl (%edi),%edx | |
7543 ++ addl %eax,%ecx | |
7544 ++ movl $0,%eax | |
7545 ++ adcl %eax,%eax | |
7546 ++ addl %edx,%ecx | |
7547 ++ adcl $0,%eax | |
7548 ++ movl %ecx,(%ebx) | |
7549 ++ # Round 1 | |
7550 ++ movl 4(%esi),%ecx | |
7551 ++ movl 4(%edi),%edx | |
7552 ++ addl %eax,%ecx | |
7553 ++ movl $0,%eax | |
7554 ++ adcl %eax,%eax | |
7555 ++ addl %edx,%ecx | |
7556 ++ adcl $0,%eax | |
7557 ++ movl %ecx,4(%ebx) | |
7558 ++ # Round 2 | |
7559 ++ movl 8(%esi),%ecx | |
7560 ++ movl 8(%edi),%edx | |
7561 ++ addl %eax,%ecx | |
7562 ++ movl $0,%eax | |
7563 ++ adcl %eax,%eax | |
7564 ++ addl %edx,%ecx | |
7565 ++ adcl $0,%eax | |
7566 ++ movl %ecx,8(%ebx) | |
7567 ++ # Round 3 | |
7568 ++ movl 12(%esi),%ecx | |
7569 ++ movl 12(%edi),%edx | |
7570 ++ addl %eax,%ecx | |
7571 ++ movl $0,%eax | |
7572 ++ adcl %eax,%eax | |
7573 ++ addl %edx,%ecx | |
7574 ++ adcl $0,%eax | |
7575 ++ movl %ecx,12(%ebx) | |
7576 ++ # Round 4 | |
7577 ++ movl 16(%esi),%ecx | |
7578 ++ movl 16(%edi),%edx | |
7579 ++ addl %eax,%ecx | |
7580 ++ movl $0,%eax | |
7581 ++ adcl %eax,%eax | |
7582 ++ addl %edx,%ecx | |
7583 ++ adcl $0,%eax | |
7584 ++ movl %ecx,16(%ebx) | |
7585 ++ # Round 5 | |
7586 ++ movl 20(%esi),%ecx | |
7587 ++ movl 20(%edi),%edx | |
7588 ++ addl %eax,%ecx | |
7589 ++ movl $0,%eax | |
7590 ++ adcl %eax,%eax | |
7591 ++ addl %edx,%ecx | |
7592 ++ adcl $0,%eax | |
7593 ++ movl %ecx,20(%ebx) | |
7594 ++ # Round 6 | |
7595 ++ movl 24(%esi),%ecx | |
7596 ++ movl 24(%edi),%edx | |
7597 ++ addl %eax,%ecx | |
7598 ++ movl $0,%eax | |
7599 ++ adcl %eax,%eax | |
7600 ++ addl %edx,%ecx | |
7601 ++ adcl $0,%eax | |
7602 ++ movl %ecx,24(%ebx) | |
7603 ++ # Round 7 | |
7604 ++ movl 28(%esi),%ecx | |
7605 ++ movl 28(%edi),%edx | |
7606 ++ addl %eax,%ecx | |
7607 ++ movl $0,%eax | |
7608 ++ adcl %eax,%eax | |
7609 ++ addl %edx,%ecx | |
7610 ++ adcl $0,%eax | |
7611 ++ movl %ecx,28(%ebx) | |
7612 ++ | |
7613 ++ addl $32,%esi | |
7614 ++ addl $32,%edi | |
7615 ++ addl $32,%ebx | |
7616 ++ subl $8,%ebp | |
7617 ++ jnz L012aw_loop | |
7618 ++L011aw_finish: | |
7619 ++ movl 32(%esp),%ebp | |
7620 ++ andl $7,%ebp | |
7621 ++ jz L013aw_end | |
7622 ++ # Tail Round 0 | |
7623 ++ movl (%esi),%ecx | |
7624 ++ movl (%edi),%edx | |
7625 ++ addl %eax,%ecx | |
7626 ++ movl $0,%eax | |
7627 ++ adcl %eax,%eax | |
7628 ++ addl %edx,%ecx | |
7629 ++ adcl $0,%eax | |
7630 ++ decl %ebp | |
7631 ++ movl %ecx,(%ebx) | |
7632 ++ jz L013aw_end | |
7633 ++ # Tail Round 1 | |
7634 ++ movl 4(%esi),%ecx | |
7635 ++ movl 4(%edi),%edx | |
7636 ++ addl %eax,%ecx | |
7637 ++ movl $0,%eax | |
7638 ++ adcl %eax,%eax | |
7639 ++ addl %edx,%ecx | |
7640 ++ adcl $0,%eax | |
7641 ++ decl %ebp | |
7642 ++ movl %ecx,4(%ebx) | |
7643 ++ jz L013aw_end | |
7644 ++ # Tail Round 2 | |
7645 ++ movl 8(%esi),%ecx | |
7646 ++ movl 8(%edi),%edx | |
7647 ++ addl %eax,%ecx | |
7648 ++ movl $0,%eax | |
7649 ++ adcl %eax,%eax | |
7650 ++ addl %edx,%ecx | |
7651 ++ adcl $0,%eax | |
7652 ++ decl %ebp | |
7653 ++ movl %ecx,8(%ebx) | |
7654 ++ jz L013aw_end | |
7655 ++ # Tail Round 3 | |
7656 ++ movl 12(%esi),%ecx | |
7657 ++ movl 12(%edi),%edx | |
7658 ++ addl %eax,%ecx | |
7659 ++ movl $0,%eax | |
7660 ++ adcl %eax,%eax | |
7661 ++ addl %edx,%ecx | |
7662 ++ adcl $0,%eax | |
7663 ++ decl %ebp | |
7664 ++ movl %ecx,12(%ebx) | |
7665 ++ jz L013aw_end | |
7666 ++ # Tail Round 4 | |
7667 ++ movl 16(%esi),%ecx | |
7668 ++ movl 16(%edi),%edx | |
7669 ++ addl %eax,%ecx | |
7670 ++ movl $0,%eax | |
7671 ++ adcl %eax,%eax | |
7672 ++ addl %edx,%ecx | |
7673 ++ adcl $0,%eax | |
7674 ++ decl %ebp | |
7675 ++ movl %ecx,16(%ebx) | |
7676 ++ jz L013aw_end | |
7677 ++ # Tail Round 5 | |
7678 ++ movl 20(%esi),%ecx | |
7679 ++ movl 20(%edi),%edx | |
7680 ++ addl %eax,%ecx | |
7681 ++ movl $0,%eax | |
7682 ++ adcl %eax,%eax | |
7683 ++ addl %edx,%ecx | |
7684 ++ adcl $0,%eax | |
7685 ++ decl %ebp | |
7686 ++ movl %ecx,20(%ebx) | |
7687 ++ jz L013aw_end | |
7688 ++ # Tail Round 6 | |
7689 ++ movl 24(%esi),%ecx | |
7690 ++ movl 24(%edi),%edx | |
7691 ++ addl %eax,%ecx | |
7692 ++ movl $0,%eax | |
7693 ++ adcl %eax,%eax | |
7694 ++ addl %edx,%ecx | |
7695 ++ adcl $0,%eax | |
7696 ++ movl %ecx,24(%ebx) | |
7697 ++L013aw_end: | |
7698 ++ popl %edi | |
7699 ++ popl %esi | |
7700 ++ popl %ebx | |
7701 ++ popl %ebp | |
7702 ++ ret | |
7703 ++.globl _bn_sub_words | |
7704 ++.align 4 | |
7705 ++_bn_sub_words: | |
7706 ++L_bn_sub_words_begin: | |
7707 ++ pushl %ebp | |
7708 ++ pushl %ebx | |
7709 ++ pushl %esi | |
7710 ++ pushl %edi | |
7711 ++ | |
7712 ++ movl 20(%esp),%ebx | |
7713 ++ movl 24(%esp),%esi | |
7714 ++ movl 28(%esp),%edi | |
7715 ++ movl 32(%esp),%ebp | |
7716 ++ xorl %eax,%eax | |
7717 ++ andl $4294967288,%ebp | |
7718 ++ jz L014aw_finish | |
7719 ++L015aw_loop: | |
7720 ++ # Round 0 | |
7721 ++ movl (%esi),%ecx | |
7722 ++ movl (%edi),%edx | |
7723 ++ subl %eax,%ecx | |
7724 ++ movl $0,%eax | |
7725 ++ adcl %eax,%eax | |
7726 ++ subl %edx,%ecx | |
7727 ++ adcl $0,%eax | |
7728 ++ movl %ecx,(%ebx) | |
7729 ++ # Round 1 | |
7730 ++ movl 4(%esi),%ecx | |
7731 ++ movl 4(%edi),%edx | |
7732 ++ subl %eax,%ecx | |
7733 ++ movl $0,%eax | |
7734 ++ adcl %eax,%eax | |
7735 ++ subl %edx,%ecx | |
7736 ++ adcl $0,%eax | |
7737 ++ movl %ecx,4(%ebx) | |
7738 ++ # Round 2 | |
7739 ++ movl 8(%esi),%ecx | |
7740 ++ movl 8(%edi),%edx | |
7741 ++ subl %eax,%ecx | |
7742 ++ movl $0,%eax | |
7743 ++ adcl %eax,%eax | |
7744 ++ subl %edx,%ecx | |
7745 ++ adcl $0,%eax | |
7746 ++ movl %ecx,8(%ebx) | |
7747 ++ # Round 3 | |
7748 ++ movl 12(%esi),%ecx | |
7749 ++ movl 12(%edi),%edx | |
7750 ++ subl %eax,%ecx | |
7751 ++ movl $0,%eax | |
7752 ++ adcl %eax,%eax | |
7753 ++ subl %edx,%ecx | |
7754 ++ adcl $0,%eax | |
7755 ++ movl %ecx,12(%ebx) | |
7756 ++ # Round 4 | |
7757 ++ movl 16(%esi),%ecx | |
7758 ++ movl 16(%edi),%edx | |
7759 ++ subl %eax,%ecx | |
7760 ++ movl $0,%eax | |
7761 ++ adcl %eax,%eax | |
7762 ++ subl %edx,%ecx | |
7763 ++ adcl $0,%eax | |
7764 ++ movl %ecx,16(%ebx) | |
7765 ++ # Round 5 | |
7766 ++ movl 20(%esi),%ecx | |
7767 ++ movl 20(%edi),%edx | |
7768 ++ subl %eax,%ecx | |
7769 ++ movl $0,%eax | |
7770 ++ adcl %eax,%eax | |
7771 ++ subl %edx,%ecx | |
7772 ++ adcl $0,%eax | |
7773 ++ movl %ecx,20(%ebx) | |
7774 ++ # Round 6 | |
7775 ++ movl 24(%esi),%ecx | |
7776 ++ movl 24(%edi),%edx | |
7777 ++ subl %eax,%ecx | |
7778 ++ movl $0,%eax | |
7779 ++ adcl %eax,%eax | |
7780 ++ subl %edx,%ecx | |
7781 ++ adcl $0,%eax | |
7782 ++ movl %ecx,24(%ebx) | |
7783 ++ # Round 7 | |
7784 ++ movl 28(%esi),%ecx | |
7785 ++ movl 28(%edi),%edx | |
7786 ++ subl %eax,%ecx | |
7787 ++ movl $0,%eax | |
7788 ++ adcl %eax,%eax | |
7789 ++ subl %edx,%ecx | |
7790 ++ adcl $0,%eax | |
7791 ++ movl %ecx,28(%ebx) | |
7792 ++ | |
7793 ++ addl $32,%esi | |
7794 ++ addl $32,%edi | |
7795 ++ addl $32,%ebx | |
7796 ++ subl $8,%ebp | |
7797 ++ jnz L015aw_loop | |
7798 ++L014aw_finish: | |
7799 ++ movl 32(%esp),%ebp | |
7800 ++ andl $7,%ebp | |
7801 ++ jz L016aw_end | |
7802 ++ # Tail Round 0 | |
7803 ++ movl (%esi),%ecx | |
7804 ++ movl (%edi),%edx | |
7805 ++ subl %eax,%ecx | |
7806 ++ movl $0,%eax | |
7807 ++ adcl %eax,%eax | |
7808 ++ subl %edx,%ecx | |
7809 ++ adcl $0,%eax | |
7810 ++ decl %ebp | |
7811 ++ movl %ecx,(%ebx) | |
7812 ++ jz L016aw_end | |
7813 ++ # Tail Round 1 | |
7814 ++ movl 4(%esi),%ecx | |
7815 ++ movl 4(%edi),%edx | |
7816 ++ subl %eax,%ecx | |
7817 ++ movl $0,%eax | |
7818 ++ adcl %eax,%eax | |
7819 ++ subl %edx,%ecx | |
7820 ++ adcl $0,%eax | |
7821 ++ decl %ebp | |
7822 ++ movl %ecx,4(%ebx) | |
7823 ++ jz L016aw_end | |
7824 ++ # Tail Round 2 | |
7825 ++ movl 8(%esi),%ecx | |
7826 ++ movl 8(%edi),%edx | |
7827 ++ subl %eax,%ecx | |
7828 ++ movl $0,%eax | |
7829 ++ adcl %eax,%eax | |
7830 ++ subl %edx,%ecx | |
7831 ++ adcl $0,%eax | |
7832 ++ decl %ebp | |
7833 ++ movl %ecx,8(%ebx) | |
7834 ++ jz L016aw_end | |
7835 ++ # Tail Round 3 | |
7836 ++ movl 12(%esi),%ecx | |
7837 ++ movl 12(%edi),%edx | |
7838 ++ subl %eax,%ecx | |
7839 ++ movl $0,%eax | |
7840 ++ adcl %eax,%eax | |
7841 ++ subl %edx,%ecx | |
7842 ++ adcl $0,%eax | |
7843 ++ decl %ebp | |
7844 ++ movl %ecx,12(%ebx) | |
7845 ++ jz L016aw_end | |
7846 ++ # Tail Round 4 | |
7847 ++ movl 16(%esi),%ecx | |
7848 ++ movl 16(%edi),%edx | |
7849 ++ subl %eax,%ecx | |
7850 ++ movl $0,%eax | |
7851 ++ adcl %eax,%eax | |
7852 ++ subl %edx,%ecx | |
7853 ++ adcl $0,%eax | |
7854 ++ decl %ebp | |
7855 ++ movl %ecx,16(%ebx) | |
7856 ++ jz L016aw_end | |
7857 ++ # Tail Round 5 | |
7858 ++ movl 20(%esi),%ecx | |
7859 ++ movl 20(%edi),%edx | |
7860 ++ subl %eax,%ecx | |
7861 ++ movl $0,%eax | |
7862 ++ adcl %eax,%eax | |
7863 ++ subl %edx,%ecx | |
7864 ++ adcl $0,%eax | |
7865 ++ decl %ebp | |
7866 ++ movl %ecx,20(%ebx) | |
7867 ++ jz L016aw_end | |
7868 ++ # Tail Round 6 | |
7869 ++ movl 24(%esi),%ecx | |
7870 ++ movl 24(%edi),%edx | |
7871 ++ subl %eax,%ecx | |
7872 ++ movl $0,%eax | |
7873 ++ adcl %eax,%eax | |
7874 ++ subl %edx,%ecx | |
7875 ++ adcl $0,%eax | |
7876 ++ movl %ecx,24(%ebx) | |
7877 ++L016aw_end: | |
7878 ++ popl %edi | |
7879 ++ popl %esi | |
7880 ++ popl %ebx | |
7881 ++ popl %ebp | |
7882 ++ ret | |
7883 ++.globl _bn_sub_part_words | |
7884 ++.align 4 | |
7885 ++_bn_sub_part_words: | |
7886 ++L_bn_sub_part_words_begin: | |
7887 ++ pushl %ebp | |
7888 ++ pushl %ebx | |
7889 ++ pushl %esi | |
7890 ++ pushl %edi | |
7891 ++ | |
7892 ++ movl 20(%esp),%ebx | |
7893 ++ movl 24(%esp),%esi | |
7894 ++ movl 28(%esp),%edi | |
7895 ++ movl 32(%esp),%ebp | |
7896 ++ xorl %eax,%eax | |
7897 ++ andl $4294967288,%ebp | |
7898 ++ jz L017aw_finish | |
7899 ++L018aw_loop: | |
7900 ++ # Round 0 | |
7901 ++ movl (%esi),%ecx | |
7902 ++ movl (%edi),%edx | |
7903 ++ subl %eax,%ecx | |
7904 ++ movl $0,%eax | |
7905 ++ adcl %eax,%eax | |
7906 ++ subl %edx,%ecx | |
7907 ++ adcl $0,%eax | |
7908 ++ movl %ecx,(%ebx) | |
7909 ++ # Round 1 | |
7910 ++ movl 4(%esi),%ecx | |
7911 ++ movl 4(%edi),%edx | |
7912 ++ subl %eax,%ecx | |
7913 ++ movl $0,%eax | |
7914 ++ adcl %eax,%eax | |
7915 ++ subl %edx,%ecx | |
7916 ++ adcl $0,%eax | |
7917 ++ movl %ecx,4(%ebx) | |
7918 ++ # Round 2 | |
7919 ++ movl 8(%esi),%ecx | |
7920 ++ movl 8(%edi),%edx | |
7921 ++ subl %eax,%ecx | |
7922 ++ movl $0,%eax | |
7923 ++ adcl %eax,%eax | |
7924 ++ subl %edx,%ecx | |
7925 ++ adcl $0,%eax | |
7926 ++ movl %ecx,8(%ebx) | |
7927 ++ # Round 3 | |
7928 ++ movl 12(%esi),%ecx | |
7929 ++ movl 12(%edi),%edx | |
7930 ++ subl %eax,%ecx | |
7931 ++ movl $0,%eax | |
7932 ++ adcl %eax,%eax | |
7933 ++ subl %edx,%ecx | |
7934 ++ adcl $0,%eax | |
7935 ++ movl %ecx,12(%ebx) | |
7936 ++ # Round 4 | |
7937 ++ movl 16(%esi),%ecx | |
7938 ++ movl 16(%edi),%edx | |
7939 ++ subl %eax,%ecx | |
7940 ++ movl $0,%eax | |
7941 ++ adcl %eax,%eax | |
7942 ++ subl %edx,%ecx | |
7943 ++ adcl $0,%eax | |
7944 ++ movl %ecx,16(%ebx) | |
7945 ++ # Round 5 | |
7946 ++ movl 20(%esi),%ecx | |
7947 ++ movl 20(%edi),%edx | |
7948 ++ subl %eax,%ecx | |
7949 ++ movl $0,%eax | |
7950 ++ adcl %eax,%eax | |
7951 ++ subl %edx,%ecx | |
7952 ++ adcl $0,%eax | |
7953 ++ movl %ecx,20(%ebx) | |
7954 ++ # Round 6 | |
7955 ++ movl 24(%esi),%ecx | |
7956 ++ movl 24(%edi),%edx | |
7957 ++ subl %eax,%ecx | |
7958 ++ movl $0,%eax | |
7959 ++ adcl %eax,%eax | |
7960 ++ subl %edx,%ecx | |
7961 ++ adcl $0,%eax | |
7962 ++ movl %ecx,24(%ebx) | |
7963 ++ # Round 7 | |
7964 ++ movl 28(%esi),%ecx | |
7965 ++ movl 28(%edi),%edx | |
7966 ++ subl %eax,%ecx | |
7967 ++ movl $0,%eax | |
7968 ++ adcl %eax,%eax | |
7969 ++ subl %edx,%ecx | |
7970 ++ adcl $0,%eax | |
7971 ++ movl %ecx,28(%ebx) | |
7972 ++ | |
7973 ++ addl $32,%esi | |
7974 ++ addl $32,%edi | |
7975 ++ addl $32,%ebx | |
7976 ++ subl $8,%ebp | |
7977 ++ jnz L018aw_loop | |
7978 ++L017aw_finish: | |
7979 ++ movl 32(%esp),%ebp | |
7980 ++ andl $7,%ebp | |
7981 ++ jz L019aw_end | |
7982 ++ # Tail Round 0 | |
7983 ++ movl (%esi),%ecx | |
7984 ++ movl (%edi),%edx | |
7985 ++ subl %eax,%ecx | |
7986 ++ movl $0,%eax | |
7987 ++ adcl %eax,%eax | |
7988 ++ subl %edx,%ecx | |
7989 ++ adcl $0,%eax | |
7990 ++ movl %ecx,(%ebx) | |
7991 ++ addl $4,%esi | |
7992 ++ addl $4,%edi | |
7993 ++ addl $4,%ebx | |
7994 ++ decl %ebp | |
7995 ++ jz L019aw_end | |
7996 ++ # Tail Round 1 | |
7997 ++ movl (%esi),%ecx | |
7998 ++ movl (%edi),%edx | |
7999 ++ subl %eax,%ecx | |
8000 ++ movl $0,%eax | |
8001 ++ adcl %eax,%eax | |
8002 ++ subl %edx,%ecx | |
8003 ++ adcl $0,%eax | |
8004 ++ movl %ecx,(%ebx) | |
8005 ++ addl $4,%esi | |
8006 ++ addl $4,%edi | |
8007 ++ addl $4,%ebx | |
8008 ++ decl %ebp | |
8009 ++ jz L019aw_end | |
8010 ++ # Tail Round 2 | |
8011 ++ movl (%esi),%ecx | |
8012 ++ movl (%edi),%edx | |
8013 ++ subl %eax,%ecx | |
8014 ++ movl $0,%eax | |
8015 ++ adcl %eax,%eax | |
8016 ++ subl %edx,%ecx | |
8017 ++ adcl $0,%eax | |
8018 ++ movl %ecx,(%ebx) | |
8019 ++ addl $4,%esi | |
8020 ++ addl $4,%edi | |
8021 ++ addl $4,%ebx | |
8022 ++ decl %ebp | |
8023 ++ jz L019aw_end | |
8024 ++ # Tail Round 3 | |
8025 ++ movl (%esi),%ecx | |
8026 ++ movl (%edi),%edx | |
8027 ++ subl %eax,%ecx | |
8028 ++ movl $0,%eax | |
8029 ++ adcl %eax,%eax | |
8030 ++ subl %edx,%ecx | |
8031 ++ adcl $0,%eax | |
8032 ++ movl %ecx,(%ebx) | |
8033 ++ addl $4,%esi | |
8034 ++ addl $4,%edi | |
8035 ++ addl $4,%ebx | |
8036 ++ decl %ebp | |
8037 ++ jz L019aw_end | |
8038 ++ # Tail Round 4 | |
8039 ++ movl (%esi),%ecx | |
8040 ++ movl (%edi),%edx | |
8041 ++ subl %eax,%ecx | |
8042 ++ movl $0,%eax | |
8043 ++ adcl %eax,%eax | |
8044 ++ subl %edx,%ecx | |
8045 ++ adcl $0,%eax | |
8046 ++ movl %ecx,(%ebx) | |
8047 ++ addl $4,%esi | |
8048 ++ addl $4,%edi | |
8049 ++ addl $4,%ebx | |
8050 ++ decl %ebp | |
8051 ++ jz L019aw_end | |
8052 ++ # Tail Round 5 | |
8053 ++ movl (%esi),%ecx | |
8054 ++ movl (%edi),%edx | |
8055 ++ subl %eax,%ecx | |
8056 ++ movl $0,%eax | |
8057 ++ adcl %eax,%eax | |
8058 ++ subl %edx,%ecx | |
8059 ++ adcl $0,%eax | |
8060 ++ movl %ecx,(%ebx) | |
8061 ++ addl $4,%esi | |
8062 ++ addl $4,%edi | |
8063 ++ addl $4,%ebx | |
8064 ++ decl %ebp | |
8065 ++ jz L019aw_end | |
8066 ++ # Tail Round 6 | |
8067 ++ movl (%esi),%ecx | |
8068 ++ movl (%edi),%edx | |
8069 ++ subl %eax,%ecx | |
8070 ++ movl $0,%eax | |
8071 ++ adcl %eax,%eax | |
8072 ++ subl %edx,%ecx | |
8073 ++ adcl $0,%eax | |
8074 ++ movl %ecx,(%ebx) | |
8075 ++ addl $4,%esi | |
8076 ++ addl $4,%edi | |
8077 ++ addl $4,%ebx | |
8078 ++L019aw_end: | |
8079 ++ cmpl $0,36(%esp) | |
8080 ++ je L020pw_end | |
8081 ++ movl 36(%esp),%ebp | |
8082 ++ cmpl $0,%ebp | |
8083 ++ je L020pw_end | |
8084 ++ jge L021pw_pos | |
8085 ++ # pw_neg | |
8086 ++ movl $0,%edx | |
8087 ++ subl %ebp,%edx | |
8088 ++ movl %edx,%ebp | |
8089 ++ andl $4294967288,%ebp | |
8090 ++ jz L022pw_neg_finish | |
8091 ++L023pw_neg_loop: | |
8092 ++ # dl<0 Round 0 | |
8093 ++ movl $0,%ecx | |
8094 ++ movl (%edi),%edx | |
8095 ++ subl %eax,%ecx | |
8096 ++ movl $0,%eax | |
8097 ++ adcl %eax,%eax | |
8098 ++ subl %edx,%ecx | |
8099 ++ adcl $0,%eax | |
8100 ++ movl %ecx,(%ebx) | |
8101 ++ # dl<0 Round 1 | |
8102 ++ movl $0,%ecx | |
8103 ++ movl 4(%edi),%edx | |
8104 ++ subl %eax,%ecx | |
8105 ++ movl $0,%eax | |
8106 ++ adcl %eax,%eax | |
8107 ++ subl %edx,%ecx | |
8108 ++ adcl $0,%eax | |
8109 ++ movl %ecx,4(%ebx) | |
8110 ++ # dl<0 Round 2 | |
8111 ++ movl $0,%ecx | |
8112 ++ movl 8(%edi),%edx | |
8113 ++ subl %eax,%ecx | |
8114 ++ movl $0,%eax | |
8115 ++ adcl %eax,%eax | |
8116 ++ subl %edx,%ecx | |
8117 ++ adcl $0,%eax | |
8118 ++ movl %ecx,8(%ebx) | |
8119 ++ # dl<0 Round 3 | |
8120 ++ movl $0,%ecx | |
8121 ++ movl 12(%edi),%edx | |
8122 ++ subl %eax,%ecx | |
8123 ++ movl $0,%eax | |
8124 ++ adcl %eax,%eax | |
8125 ++ subl %edx,%ecx | |
8126 ++ adcl $0,%eax | |
8127 ++ movl %ecx,12(%ebx) | |
8128 ++ # dl<0 Round 4 | |
8129 ++ movl $0,%ecx | |
8130 ++ movl 16(%edi),%edx | |
8131 ++ subl %eax,%ecx | |
8132 ++ movl $0,%eax | |
8133 ++ adcl %eax,%eax | |
8134 ++ subl %edx,%ecx | |
8135 ++ adcl $0,%eax | |
8136 ++ movl %ecx,16(%ebx) | |
8137 ++ # dl<0 Round 5 | |
8138 ++ movl $0,%ecx | |
8139 ++ movl 20(%edi),%edx | |
8140 ++ subl %eax,%ecx | |
8141 ++ movl $0,%eax | |
8142 ++ adcl %eax,%eax | |
8143 ++ subl %edx,%ecx | |
8144 ++ adcl $0,%eax | |
8145 ++ movl %ecx,20(%ebx) | |
8146 ++ # dl<0 Round 6 | |
8147 ++ movl $0,%ecx | |
8148 ++ movl 24(%edi),%edx | |
8149 ++ subl %eax,%ecx | |
8150 ++ movl $0,%eax | |
8151 ++ adcl %eax,%eax | |
8152 ++ subl %edx,%ecx | |
8153 ++ adcl $0,%eax | |
8154 ++ movl %ecx,24(%ebx) | |
8155 ++ # dl<0 Round 7 | |
8156 ++ movl $0,%ecx | |
8157 ++ movl 28(%edi),%edx | |
8158 ++ subl %eax,%ecx | |
8159 ++ movl $0,%eax | |
8160 ++ adcl %eax,%eax | |
8161 ++ subl %edx,%ecx | |
8162 ++ adcl $0,%eax | |
8163 ++ movl %ecx,28(%ebx) | |
8164 ++ | |
8165 ++ addl $32,%edi | |
8166 ++ addl $32,%ebx | |
8167 ++ subl $8,%ebp | |
8168 ++ jnz L023pw_neg_loop | |
8169 ++L022pw_neg_finish: | |
8170 ++ movl 36(%esp),%edx | |
8171 ++ movl $0,%ebp | |
8172 ++ subl %edx,%ebp | |
8173 ++ andl $7,%ebp | |
8174 ++ jz L020pw_end | |
8175 ++ # dl<0 Tail Round 0 | |
8176 ++ movl $0,%ecx | |
8177 ++ movl (%edi),%edx | |
8178 ++ subl %eax,%ecx | |
8179 ++ movl $0,%eax | |
8180 ++ adcl %eax,%eax | |
8181 ++ subl %edx,%ecx | |
8182 ++ adcl $0,%eax | |
8183 ++ decl %ebp | |
8184 ++ movl %ecx,(%ebx) | |
8185 ++ jz L020pw_end | |
8186 ++ # dl<0 Tail Round 1 | |
8187 ++ movl $0,%ecx | |
8188 ++ movl 4(%edi),%edx | |
8189 ++ subl %eax,%ecx | |
8190 ++ movl $0,%eax | |
8191 ++ adcl %eax,%eax | |
8192 ++ subl %edx,%ecx | |
8193 ++ adcl $0,%eax | |
8194 ++ decl %ebp | |
8195 ++ movl %ecx,4(%ebx) | |
8196 ++ jz L020pw_end | |
8197 ++ # dl<0 Tail Round 2 | |
8198 ++ movl $0,%ecx | |
8199 ++ movl 8(%edi),%edx | |
8200 ++ subl %eax,%ecx | |
8201 ++ movl $0,%eax | |
8202 ++ adcl %eax,%eax | |
8203 ++ subl %edx,%ecx | |
8204 ++ adcl $0,%eax | |
8205 ++ decl %ebp | |
8206 ++ movl %ecx,8(%ebx) | |
8207 ++ jz L020pw_end | |
8208 ++ # dl<0 Tail Round 3 | |
8209 ++ movl $0,%ecx | |
8210 ++ movl 12(%edi),%edx | |
8211 ++ subl %eax,%ecx | |
8212 ++ movl $0,%eax | |
8213 ++ adcl %eax,%eax | |
8214 ++ subl %edx,%ecx | |
8215 ++ adcl $0,%eax | |
8216 ++ decl %ebp | |
8217 ++ movl %ecx,12(%ebx) | |
8218 ++ jz L020pw_end | |
8219 ++ # dl<0 Tail Round 4 | |
8220 ++ movl $0,%ecx | |
8221 ++ movl 16(%edi),%edx | |
8222 ++ subl %eax,%ecx | |
8223 ++ movl $0,%eax | |
8224 ++ adcl %eax,%eax | |
8225 ++ subl %edx,%ecx | |
8226 ++ adcl $0,%eax | |
8227 ++ decl %ebp | |
8228 ++ movl %ecx,16(%ebx) | |
8229 ++ jz L020pw_end | |
8230 ++ # dl<0 Tail Round 5 | |
8231 ++ movl $0,%ecx | |
8232 ++ movl 20(%edi),%edx | |
8233 ++ subl %eax,%ecx | |
8234 ++ movl $0,%eax | |
8235 ++ adcl %eax,%eax | |
8236 ++ subl %edx,%ecx | |
8237 ++ adcl $0,%eax | |
8238 ++ decl %ebp | |
8239 ++ movl %ecx,20(%ebx) | |
8240 ++ jz L020pw_end | |
8241 ++ # dl<0 Tail Round 6 | |
8242 ++ movl $0,%ecx | |
8243 ++ movl 24(%edi),%edx | |
8244 ++ subl %eax,%ecx | |
8245 ++ movl $0,%eax | |
8246 ++ adcl %eax,%eax | |
8247 ++ subl %edx,%ecx | |
8248 ++ adcl $0,%eax | |
8249 ++ movl %ecx,24(%ebx) | |
8250 ++ jmp L020pw_end | |
8251 ++L021pw_pos: | |
8252 ++ andl $4294967288,%ebp | |
8253 ++ jz L024pw_pos_finish | |
8254 ++L025pw_pos_loop: | |
8255 ++ # dl>0 Round 0 | |
8256 ++ movl (%esi),%ecx | |
8257 ++ subl %eax,%ecx | |
8258 ++ movl %ecx,(%ebx) | |
8259 ++ jnc L026pw_nc0 | |
8260 ++ # dl>0 Round 1 | |
8261 ++ movl 4(%esi),%ecx | |
8262 ++ subl %eax,%ecx | |
8263 ++ movl %ecx,4(%ebx) | |
8264 ++ jnc L027pw_nc1 | |
8265 ++ # dl>0 Round 2 | |
8266 ++ movl 8(%esi),%ecx | |
8267 ++ subl %eax,%ecx | |
8268 ++ movl %ecx,8(%ebx) | |
8269 ++ jnc L028pw_nc2 | |
8270 ++ # dl>0 Round 3 | |
8271 ++ movl 12(%esi),%ecx | |
8272 ++ subl %eax,%ecx | |
8273 ++ movl %ecx,12(%ebx) | |
8274 ++ jnc L029pw_nc3 | |
8275 ++ # dl>0 Round 4 | |
8276 ++ movl 16(%esi),%ecx | |
8277 ++ subl %eax,%ecx | |
8278 ++ movl %ecx,16(%ebx) | |
8279 ++ jnc L030pw_nc4 | |
8280 ++ # dl>0 Round 5 | |
8281 ++ movl 20(%esi),%ecx | |
8282 ++ subl %eax,%ecx | |
8283 ++ movl %ecx,20(%ebx) | |
8284 ++ jnc L031pw_nc5 | |
8285 ++ # dl>0 Round 6 | |
8286 ++ movl 24(%esi),%ecx | |
8287 ++ subl %eax,%ecx | |
8288 ++ movl %ecx,24(%ebx) | |
8289 ++ jnc L032pw_nc6 | |
8290 ++ # dl>0 Round 7 | |
8291 ++ movl 28(%esi),%ecx | |
8292 ++ subl %eax,%ecx | |
8293 ++ movl %ecx,28(%ebx) | |
8294 ++ jnc L033pw_nc7 | |
8295 ++ | |
8296 ++ addl $32,%esi | |
8297 ++ addl $32,%ebx | |
8298 ++ subl $8,%ebp | |
8299 ++ jnz L025pw_pos_loop | |
8300 ++L024pw_pos_finish: | |
8301 ++ movl 36(%esp),%ebp | |
8302 ++ andl $7,%ebp | |
8303 ++ jz L020pw_end | |
8304 ++ # dl>0 Tail Round 0 | |
8305 ++ movl (%esi),%ecx | |
8306 ++ subl %eax,%ecx | |
8307 ++ movl %ecx,(%ebx) | |
8308 ++ jnc L034pw_tail_nc0 | |
8309 ++ decl %ebp | |
8310 ++ jz L020pw_end | |
8311 ++ # dl>0 Tail Round 1 | |
8312 ++ movl 4(%esi),%ecx | |
8313 ++ subl %eax,%ecx | |
8314 ++ movl %ecx,4(%ebx) | |
8315 ++ jnc L035pw_tail_nc1 | |
8316 ++ decl %ebp | |
8317 ++ jz L020pw_end | |
8318 ++ # dl>0 Tail Round 2 | |
8319 ++ movl 8(%esi),%ecx | |
8320 ++ subl %eax,%ecx | |
8321 ++ movl %ecx,8(%ebx) | |
8322 ++ jnc L036pw_tail_nc2 | |
8323 ++ decl %ebp | |
8324 ++ jz L020pw_end | |
8325 ++ # dl>0 Tail Round 3 | |
8326 ++ movl 12(%esi),%ecx | |
8327 ++ subl %eax,%ecx | |
8328 ++ movl %ecx,12(%ebx) | |
8329 ++ jnc L037pw_tail_nc3 | |
8330 ++ decl %ebp | |
8331 ++ jz L020pw_end | |
8332 ++ # dl>0 Tail Round 4 | |
8333 ++ movl 16(%esi),%ecx | |
8334 ++ subl %eax,%ecx | |
8335 ++ movl %ecx,16(%ebx) | |
8336 ++ jnc L038pw_tail_nc4 | |
8337 ++ decl %ebp | |
8338 ++ jz L020pw_end | |
8339 ++ # dl>0 Tail Round 5 | |
8340 ++ movl 20(%esi),%ecx | |
8341 ++ subl %eax,%ecx | |
8342 ++ movl %ecx,20(%ebx) | |
8343 ++ jnc L039pw_tail_nc5 | |
8344 ++ decl %ebp | |
8345 ++ jz L020pw_end | |
8346 ++ # dl>0 Tail Round 6 | |
8347 ++ movl 24(%esi),%ecx | |
8348 ++ subl %eax,%ecx | |
8349 ++ movl %ecx,24(%ebx) | |
8350 ++ jnc L040pw_tail_nc6 | |
8351 ++ movl $1,%eax | |
8352 ++ jmp L020pw_end | |
8353 ++L041pw_nc_loop: | |
8354 ++ movl (%esi),%ecx | |
8355 ++ movl %ecx,(%ebx) | |
8356 ++L026pw_nc0: | |
8357 ++ movl 4(%esi),%ecx | |
8358 ++ movl %ecx,4(%ebx) | |
8359 ++L027pw_nc1: | |
8360 ++ movl 8(%esi),%ecx | |
8361 ++ movl %ecx,8(%ebx) | |
8362 ++L028pw_nc2: | |
8363 ++ movl 12(%esi),%ecx | |
8364 ++ movl %ecx,12(%ebx) | |
8365 ++L029pw_nc3: | |
8366 ++ movl 16(%esi),%ecx | |
8367 ++ movl %ecx,16(%ebx) | |
8368 ++L030pw_nc4: | |
8369 ++ movl 20(%esi),%ecx | |
8370 ++ movl %ecx,20(%ebx) | |
8371 ++L031pw_nc5: | |
8372 ++ movl 24(%esi),%ecx | |
8373 ++ movl %ecx,24(%ebx) | |
8374 ++L032pw_nc6: | |
8375 ++ movl 28(%esi),%ecx | |
8376 ++ movl %ecx,28(%ebx) | |
8377 ++L033pw_nc7: | |
8378 ++ | |
8379 ++ addl $32,%esi | |
8380 ++ addl $32,%ebx | |
8381 ++ subl $8,%ebp | |
8382 ++ jnz L041pw_nc_loop | |
8383 ++ movl 36(%esp),%ebp | |
8384 ++ andl $7,%ebp | |
8385 ++ jz L042pw_nc_end | |
8386 ++ movl (%esi),%ecx | |
8387 ++ movl %ecx,(%ebx) | |
8388 ++L034pw_tail_nc0: | |
8389 ++ decl %ebp | |
8390 ++ jz L042pw_nc_end | |
8391 ++ movl 4(%esi),%ecx | |
8392 ++ movl %ecx,4(%ebx) | |
8393 ++L035pw_tail_nc1: | |
8394 ++ decl %ebp | |
8395 ++ jz L042pw_nc_end | |
8396 ++ movl 8(%esi),%ecx | |
8397 ++ movl %ecx,8(%ebx) | |
8398 ++L036pw_tail_nc2: | |
8399 ++ decl %ebp | |
8400 ++ jz L042pw_nc_end | |
8401 ++ movl 12(%esi),%ecx | |
8402 ++ movl %ecx,12(%ebx) | |
8403 ++L037pw_tail_nc3: | |
8404 ++ decl %ebp | |
8405 ++ jz L042pw_nc_end | |
8406 ++ movl 16(%esi),%ecx | |
8407 ++ movl %ecx,16(%ebx) | |
8408 ++L038pw_tail_nc4: | |
8409 ++ decl %ebp | |
8410 ++ jz L042pw_nc_end | |
8411 ++ movl 20(%esi),%ecx | |
8412 ++ movl %ecx,20(%ebx) | |
8413 ++L039pw_tail_nc5: | |
8414 ++ decl %ebp | |
8415 ++ jz L042pw_nc_end | |
8416 ++ movl 24(%esi),%ecx | |
8417 ++ movl %ecx,24(%ebx) | |
8418 ++L040pw_tail_nc6: | |
8419 ++L042pw_nc_end: | |
8420 ++ movl $0,%eax | |
8421 ++L020pw_end: | |
8422 ++ popl %edi | |
8423 ++ popl %esi | |
8424 ++ popl %ebx | |
8425 ++ popl %ebp | |
8426 ++ ret | |
8427 +diff --git a/crypto/bn/asm/co-586-mac.S b/crypto/bn/asm/co-586-mac.S | |
8428 +new file mode 100644 | |
8429 +index 0000000..d82fdcb | |
8430 +--- /dev/null | |
8431 ++++ b/crypto/bn/asm/co-586-mac.S | |
8432 +@@ -0,0 +1,1246 @@ | |
8433 ++.file "crypto/bn/asm/co-586.s" | |
8434 ++.text | |
8435 ++.globl _bn_mul_comba8 | |
8436 ++.align 4 | |
8437 ++_bn_mul_comba8: | |
8438 ++L_bn_mul_comba8_begin: | |
8439 ++ pushl %esi | |
8440 ++ movl 12(%esp),%esi | |
8441 ++ pushl %edi | |
8442 ++ movl 20(%esp),%edi | |
8443 ++ pushl %ebp | |
8444 ++ pushl %ebx | |
8445 ++ xorl %ebx,%ebx | |
8446 ++ movl (%esi),%eax | |
8447 ++ xorl %ecx,%ecx | |
8448 ++ movl (%edi),%edx | |
8449 ++ # ################## Calculate word 0 | |
8450 ++ xorl %ebp,%ebp | |
8451 ++ # mul a[0]*b[0] | |
8452 ++ mull %edx | |
8453 ++ addl %eax,%ebx | |
8454 ++ movl 20(%esp),%eax | |
8455 ++ adcl %edx,%ecx | |
8456 ++ movl (%edi),%edx | |
8457 ++ adcl $0,%ebp | |
8458 ++ movl %ebx,(%eax) | |
8459 ++ movl 4(%esi),%eax | |
8460 ++ # saved r[0] | |
8461 ++ # ################## Calculate word 1 | |
8462 ++ xorl %ebx,%ebx | |
8463 ++ # mul a[1]*b[0] | |
8464 ++ mull %edx | |
8465 ++ addl %eax,%ecx | |
8466 ++ movl (%esi),%eax | |
8467 ++ adcl %edx,%ebp | |
8468 ++ movl 4(%edi),%edx | |
8469 ++ adcl $0,%ebx | |
8470 ++ # mul a[0]*b[1] | |
8471 ++ mull %edx | |
8472 ++ addl %eax,%ecx | |
8473 ++ movl 20(%esp),%eax | |
8474 ++ adcl %edx,%ebp | |
8475 ++ movl (%edi),%edx | |
8476 ++ adcl $0,%ebx | |
8477 ++ movl %ecx,4(%eax) | |
8478 ++ movl 8(%esi),%eax | |
8479 ++ # saved r[1] | |
8480 ++ # ################## Calculate word 2 | |
8481 ++ xorl %ecx,%ecx | |
8482 ++ # mul a[2]*b[0] | |
8483 ++ mull %edx | |
8484 ++ addl %eax,%ebp | |
8485 ++ movl 4(%esi),%eax | |
8486 ++ adcl %edx,%ebx | |
8487 ++ movl 4(%edi),%edx | |
8488 ++ adcl $0,%ecx | |
8489 ++ # mul a[1]*b[1] | |
8490 ++ mull %edx | |
8491 ++ addl %eax,%ebp | |
8492 ++ movl (%esi),%eax | |
8493 ++ adcl %edx,%ebx | |
8494 ++ movl 8(%edi),%edx | |
8495 ++ adcl $0,%ecx | |
8496 ++ # mul a[0]*b[2] | |
8497 ++ mull %edx | |
8498 ++ addl %eax,%ebp | |
8499 ++ movl 20(%esp),%eax | |
8500 ++ adcl %edx,%ebx | |
8501 ++ movl (%edi),%edx | |
8502 ++ adcl $0,%ecx | |
8503 ++ movl %ebp,8(%eax) | |
8504 ++ movl 12(%esi),%eax | |
8505 ++ # saved r[2] | |
8506 ++ # ################## Calculate word 3 | |
8507 ++ xorl %ebp,%ebp | |
8508 ++ # mul a[3]*b[0] | |
8509 ++ mull %edx | |
8510 ++ addl %eax,%ebx | |
8511 ++ movl 8(%esi),%eax | |
8512 ++ adcl %edx,%ecx | |
8513 ++ movl 4(%edi),%edx | |
8514 ++ adcl $0,%ebp | |
8515 ++ # mul a[2]*b[1] | |
8516 ++ mull %edx | |
8517 ++ addl %eax,%ebx | |
8518 ++ movl 4(%esi),%eax | |
8519 ++ adcl %edx,%ecx | |
8520 ++ movl 8(%edi),%edx | |
8521 ++ adcl $0,%ebp | |
8522 ++ # mul a[1]*b[2] | |
8523 ++ mull %edx | |
8524 ++ addl %eax,%ebx | |
8525 ++ movl (%esi),%eax | |
8526 ++ adcl %edx,%ecx | |
8527 ++ movl 12(%edi),%edx | |
8528 ++ adcl $0,%ebp | |
8529 ++ # mul a[0]*b[3] | |
8530 ++ mull %edx | |
8531 ++ addl %eax,%ebx | |
8532 ++ movl 20(%esp),%eax | |
8533 ++ adcl %edx,%ecx | |
8534 ++ movl (%edi),%edx | |
8535 ++ adcl $0,%ebp | |
8536 ++ movl %ebx,12(%eax) | |
8537 ++ movl 16(%esi),%eax | |
8538 ++ # saved r[3] | |
8539 ++ # ################## Calculate word 4 | |
8540 ++ xorl %ebx,%ebx | |
8541 ++ # mul a[4]*b[0] | |
8542 ++ mull %edx | |
8543 ++ addl %eax,%ecx | |
8544 ++ movl 12(%esi),%eax | |
8545 ++ adcl %edx,%ebp | |
8546 ++ movl 4(%edi),%edx | |
8547 ++ adcl $0,%ebx | |
8548 ++ # mul a[3]*b[1] | |
8549 ++ mull %edx | |
8550 ++ addl %eax,%ecx | |
8551 ++ movl 8(%esi),%eax | |
8552 ++ adcl %edx,%ebp | |
8553 ++ movl 8(%edi),%edx | |
8554 ++ adcl $0,%ebx | |
8555 ++ # mul a[2]*b[2] | |
8556 ++ mull %edx | |
8557 ++ addl %eax,%ecx | |
8558 ++ movl 4(%esi),%eax | |
8559 ++ adcl %edx,%ebp | |
8560 ++ movl 12(%edi),%edx | |
8561 ++ adcl $0,%ebx | |
8562 ++ # mul a[1]*b[3] | |
8563 ++ mull %edx | |
8564 ++ addl %eax,%ecx | |
8565 ++ movl (%esi),%eax | |
8566 ++ adcl %edx,%ebp | |
8567 ++ movl 16(%edi),%edx | |
8568 ++ adcl $0,%ebx | |
8569 ++ # mul a[0]*b[4] | |
8570 ++ mull %edx | |
8571 ++ addl %eax,%ecx | |
8572 ++ movl 20(%esp),%eax | |
8573 ++ adcl %edx,%ebp | |
8574 ++ movl (%edi),%edx | |
8575 ++ adcl $0,%ebx | |
8576 ++ movl %ecx,16(%eax) | |
8577 ++ movl 20(%esi),%eax | |
8578 ++ # saved r[4] | |
8579 ++ # ################## Calculate word 5 | |
8580 ++ xorl %ecx,%ecx | |
8581 ++ # mul a[5]*b[0] | |
8582 ++ mull %edx | |
8583 ++ addl %eax,%ebp | |
8584 ++ movl 16(%esi),%eax | |
8585 ++ adcl %edx,%ebx | |
8586 ++ movl 4(%edi),%edx | |
8587 ++ adcl $0,%ecx | |
8588 ++ # mul a[4]*b[1] | |
8589 ++ mull %edx | |
8590 ++ addl %eax,%ebp | |
8591 ++ movl 12(%esi),%eax | |
8592 ++ adcl %edx,%ebx | |
8593 ++ movl 8(%edi),%edx | |
8594 ++ adcl $0,%ecx | |
8595 ++ # mul a[3]*b[2] | |
8596 ++ mull %edx | |
8597 ++ addl %eax,%ebp | |
8598 ++ movl 8(%esi),%eax | |
8599 ++ adcl %edx,%ebx | |
8600 ++ movl 12(%edi),%edx | |
8601 ++ adcl $0,%ecx | |
8602 ++ # mul a[2]*b[3] | |
8603 ++ mull %edx | |
8604 ++ addl %eax,%ebp | |
8605 ++ movl 4(%esi),%eax | |
8606 ++ adcl %edx,%ebx | |
8607 ++ movl 16(%edi),%edx | |
8608 ++ adcl $0,%ecx | |
8609 ++ # mul a[1]*b[4] | |
8610 ++ mull %edx | |
8611 ++ addl %eax,%ebp | |
8612 ++ movl (%esi),%eax | |
8613 ++ adcl %edx,%ebx | |
8614 ++ movl 20(%edi),%edx | |
8615 ++ adcl $0,%ecx | |
8616 ++ # mul a[0]*b[5] | |
8617 ++ mull %edx | |
8618 ++ addl %eax,%ebp | |
8619 ++ movl 20(%esp),%eax | |
8620 ++ adcl %edx,%ebx | |
8621 ++ movl (%edi),%edx | |
8622 ++ adcl $0,%ecx | |
8623 ++ movl %ebp,20(%eax) | |
8624 ++ movl 24(%esi),%eax | |
8625 ++ # saved r[5] | |
8626 ++ # ################## Calculate word 6 | |
8627 ++ xorl %ebp,%ebp | |
8628 ++ # mul a[6]*b[0] | |
8629 ++ mull %edx | |
8630 ++ addl %eax,%ebx | |
8631 ++ movl 20(%esi),%eax | |
8632 ++ adcl %edx,%ecx | |
8633 ++ movl 4(%edi),%edx | |
8634 ++ adcl $0,%ebp | |
8635 ++ # mul a[5]*b[1] | |
8636 ++ mull %edx | |
8637 ++ addl %eax,%ebx | |
8638 ++ movl 16(%esi),%eax | |
8639 ++ adcl %edx,%ecx | |
8640 ++ movl 8(%edi),%edx | |
8641 ++ adcl $0,%ebp | |
8642 ++ # mul a[4]*b[2] | |
8643 ++ mull %edx | |
8644 ++ addl %eax,%ebx | |
8645 ++ movl 12(%esi),%eax | |
8646 ++ adcl %edx,%ecx | |
8647 ++ movl 12(%edi),%edx | |
8648 ++ adcl $0,%ebp | |
8649 ++ # mul a[3]*b[3] | |
8650 ++ mull %edx | |
8651 ++ addl %eax,%ebx | |
8652 ++ movl 8(%esi),%eax | |
8653 ++ adcl %edx,%ecx | |
8654 ++ movl 16(%edi),%edx | |
8655 ++ adcl $0,%ebp | |
8656 ++ # mul a[2]*b[4] | |
8657 ++ mull %edx | |
8658 ++ addl %eax,%ebx | |
8659 ++ movl 4(%esi),%eax | |
8660 ++ adcl %edx,%ecx | |
8661 ++ movl 20(%edi),%edx | |
8662 ++ adcl $0,%ebp | |
8663 ++ # mul a[1]*b[5] | |
8664 ++ mull %edx | |
8665 ++ addl %eax,%ebx | |
8666 ++ movl (%esi),%eax | |
8667 ++ adcl %edx,%ecx | |
8668 ++ movl 24(%edi),%edx | |
8669 ++ adcl $0,%ebp | |
8670 ++ # mul a[0]*b[6] | |
8671 ++ mull %edx | |
8672 ++ addl %eax,%ebx | |
8673 ++ movl 20(%esp),%eax | |
8674 ++ adcl %edx,%ecx | |
8675 ++ movl (%edi),%edx | |
8676 ++ adcl $0,%ebp | |
8677 ++ movl %ebx,24(%eax) | |
8678 ++ movl 28(%esi),%eax | |
8679 ++ # saved r[6] | |
8680 ++ # ################## Calculate word 7 | |
8681 ++ xorl %ebx,%ebx | |
8682 ++ # mul a[7]*b[0] | |
8683 ++ mull %edx | |
8684 ++ addl %eax,%ecx | |
8685 ++ movl 24(%esi),%eax | |
8686 ++ adcl %edx,%ebp | |
8687 ++ movl 4(%edi),%edx | |
8688 ++ adcl $0,%ebx | |
8689 ++ # mul a[6]*b[1] | |
8690 ++ mull %edx | |
8691 ++ addl %eax,%ecx | |
8692 ++ movl 20(%esi),%eax | |
8693 ++ adcl %edx,%ebp | |
8694 ++ movl 8(%edi),%edx | |
8695 ++ adcl $0,%ebx | |
8696 ++ # mul a[5]*b[2] | |
8697 ++ mull %edx | |
8698 ++ addl %eax,%ecx | |
8699 ++ movl 16(%esi),%eax | |
8700 ++ adcl %edx,%ebp | |
8701 ++ movl 12(%edi),%edx | |
8702 ++ adcl $0,%ebx | |
8703 ++ # mul a[4]*b[3] | |
8704 ++ mull %edx | |
8705 ++ addl %eax,%ecx | |
8706 ++ movl 12(%esi),%eax | |
8707 ++ adcl %edx,%ebp | |
8708 ++ movl 16(%edi),%edx | |
8709 ++ adcl $0,%ebx | |
8710 ++ # mul a[3]*b[4] | |
8711 ++ mull %edx | |
8712 ++ addl %eax,%ecx | |
8713 ++ movl 8(%esi),%eax | |
8714 ++ adcl %edx,%ebp | |
8715 ++ movl 20(%edi),%edx | |
8716 ++ adcl $0,%ebx | |
8717 ++ # mul a[2]*b[5] | |
8718 ++ mull %edx | |
8719 ++ addl %eax,%ecx | |
8720 ++ movl 4(%esi),%eax | |
8721 ++ adcl %edx,%ebp | |
8722 ++ movl 24(%edi),%edx | |
8723 ++ adcl $0,%ebx | |
8724 ++ # mul a[1]*b[6] | |
8725 ++ mull %edx | |
8726 ++ addl %eax,%ecx | |
8727 ++ movl (%esi),%eax | |
8728 ++ adcl %edx,%ebp | |
8729 ++ movl 28(%edi),%edx | |
8730 ++ adcl $0,%ebx | |
8731 ++ # mul a[0]*b[7] | |
8732 ++ mull %edx | |
8733 ++ addl %eax,%ecx | |
8734 ++ movl 20(%esp),%eax | |
8735 ++ adcl %edx,%ebp | |
8736 ++ movl 4(%edi),%edx | |
8737 ++ adcl $0,%ebx | |
8738 ++ movl %ecx,28(%eax) | |
8739 ++ movl 28(%esi),%eax | |
8740 ++ # saved r[7] | |
8741 ++ # ################## Calculate word 8 | |
8742 ++ xorl %ecx,%ecx | |
8743 ++ # mul a[7]*b[1] | |
8744 ++ mull %edx | |
8745 ++ addl %eax,%ebp | |
8746 ++ movl 24(%esi),%eax | |
8747 ++ adcl %edx,%ebx | |
8748 ++ movl 8(%edi),%edx | |
8749 ++ adcl $0,%ecx | |
8750 ++ # mul a[6]*b[2] | |
8751 ++ mull %edx | |
8752 ++ addl %eax,%ebp | |
8753 ++ movl 20(%esi),%eax | |
8754 ++ adcl %edx,%ebx | |
8755 ++ movl 12(%edi),%edx | |
8756 ++ adcl $0,%ecx | |
8757 ++ # mul a[5]*b[3] | |
8758 ++ mull %edx | |
8759 ++ addl %eax,%ebp | |
8760 ++ movl 16(%esi),%eax | |
8761 ++ adcl %edx,%ebx | |
8762 ++ movl 16(%edi),%edx | |
8763 ++ adcl $0,%ecx | |
8764 ++ # mul a[4]*b[4] | |
8765 ++ mull %edx | |
8766 ++ addl %eax,%ebp | |
8767 ++ movl 12(%esi),%eax | |
8768 ++ adcl %edx,%ebx | |
8769 ++ movl 20(%edi),%edx | |
8770 ++ adcl $0,%ecx | |
8771 ++ # mul a[3]*b[5] | |
8772 ++ mull %edx | |
8773 ++ addl %eax,%ebp | |
8774 ++ movl 8(%esi),%eax | |
8775 ++ adcl %edx,%ebx | |
8776 ++ movl 24(%edi),%edx | |
8777 ++ adcl $0,%ecx | |
8778 ++ # mul a[2]*b[6] | |
8779 ++ mull %edx | |
8780 ++ addl %eax,%ebp | |
8781 ++ movl 4(%esi),%eax | |
8782 ++ adcl %edx,%ebx | |
8783 ++ movl 28(%edi),%edx | |
8784 ++ adcl $0,%ecx | |
8785 ++ # mul a[1]*b[7] | |
8786 ++ mull %edx | |
8787 ++ addl %eax,%ebp | |
8788 ++ movl 20(%esp),%eax | |
8789 ++ adcl %edx,%ebx | |
8790 ++ movl 8(%edi),%edx | |
8791 ++ adcl $0,%ecx | |
8792 ++ movl %ebp,32(%eax) | |
8793 ++ movl 28(%esi),%eax | |
8794 ++ # saved r[8] | |
8795 ++ # ################## Calculate word 9 | |
8796 ++ xorl %ebp,%ebp | |
8797 ++ # mul a[7]*b[2] | |
8798 ++ mull %edx | |
8799 ++ addl %eax,%ebx | |
8800 ++ movl 24(%esi),%eax | |
8801 ++ adcl %edx,%ecx | |
8802 ++ movl 12(%edi),%edx | |
8803 ++ adcl $0,%ebp | |
8804 ++ # mul a[6]*b[3] | |
8805 ++ mull %edx | |
8806 ++ addl %eax,%ebx | |
8807 ++ movl 20(%esi),%eax | |
8808 ++ adcl %edx,%ecx | |
8809 ++ movl 16(%edi),%edx | |
8810 ++ adcl $0,%ebp | |
8811 ++ # mul a[5]*b[4] | |
8812 ++ mull %edx | |
8813 ++ addl %eax,%ebx | |
8814 ++ movl 16(%esi),%eax | |
8815 ++ adcl %edx,%ecx | |
8816 ++ movl 20(%edi),%edx | |
8817 ++ adcl $0,%ebp | |
8818 ++ # mul a[4]*b[5] | |
8819 ++ mull %edx | |
8820 ++ addl %eax,%ebx | |
8821 ++ movl 12(%esi),%eax | |
8822 ++ adcl %edx,%ecx | |
8823 ++ movl 24(%edi),%edx | |
8824 ++ adcl $0,%ebp | |
8825 ++ # mul a[3]*b[6] | |
8826 ++ mull %edx | |
8827 ++ addl %eax,%ebx | |
8828 ++ movl 8(%esi),%eax | |
8829 ++ adcl %edx,%ecx | |
8830 ++ movl 28(%edi),%edx | |
8831 ++ adcl $0,%ebp | |
8832 ++ # mul a[2]*b[7] | |
8833 ++ mull %edx | |
8834 ++ addl %eax,%ebx | |
8835 ++ movl 20(%esp),%eax | |
8836 ++ adcl %edx,%ecx | |
8837 ++ movl 12(%edi),%edx | |
8838 ++ adcl $0,%ebp | |
8839 ++ movl %ebx,36(%eax) | |
8840 ++ movl 28(%esi),%eax | |
8841 ++ # saved r[9] | |
8842 ++ # ################## Calculate word 10 | |
8843 ++ xorl %ebx,%ebx | |
8844 ++ # mul a[7]*b[3] | |
8845 ++ mull %edx | |
8846 ++ addl %eax,%ecx | |
8847 ++ movl 24(%esi),%eax | |
8848 ++ adcl %edx,%ebp | |
8849 ++ movl 16(%edi),%edx | |
8850 ++ adcl $0,%ebx | |
8851 ++ # mul a[6]*b[4] | |
8852 ++ mull %edx | |
8853 ++ addl %eax,%ecx | |
8854 ++ movl 20(%esi),%eax | |
8855 ++ adcl %edx,%ebp | |
8856 ++ movl 20(%edi),%edx | |
8857 ++ adcl $0,%ebx | |
8858 ++ # mul a[5]*b[5] | |
8859 ++ mull %edx | |
8860 ++ addl %eax,%ecx | |
8861 ++ movl 16(%esi),%eax | |
8862 ++ adcl %edx,%ebp | |
8863 ++ movl 24(%edi),%edx | |
8864 ++ adcl $0,%ebx | |
8865 ++ # mul a[4]*b[6] | |
8866 ++ mull %edx | |
8867 ++ addl %eax,%ecx | |
8868 ++ movl 12(%esi),%eax | |
8869 ++ adcl %edx,%ebp | |
8870 ++ movl 28(%edi),%edx | |
8871 ++ adcl $0,%ebx | |
8872 ++ # mul a[3]*b[7] | |
8873 ++ mull %edx | |
8874 ++ addl %eax,%ecx | |
8875 ++ movl 20(%esp),%eax | |
8876 ++ adcl %edx,%ebp | |
8877 ++ movl 16(%edi),%edx | |
8878 ++ adcl $0,%ebx | |
8879 ++ movl %ecx,40(%eax) | |
8880 ++ movl 28(%esi),%eax | |
8881 ++ # saved r[10] | |
8882 ++ # ################## Calculate word 11 | |
8883 ++ xorl %ecx,%ecx | |
8884 ++ # mul a[7]*b[4] | |
8885 ++ mull %edx | |
8886 ++ addl %eax,%ebp | |
8887 ++ movl 24(%esi),%eax | |
8888 ++ adcl %edx,%ebx | |
8889 ++ movl 20(%edi),%edx | |
8890 ++ adcl $0,%ecx | |
8891 ++ # mul a[6]*b[5] | |
8892 ++ mull %edx | |
8893 ++ addl %eax,%ebp | |
8894 ++ movl 20(%esi),%eax | |
8895 ++ adcl %edx,%ebx | |
8896 ++ movl 24(%edi),%edx | |
8897 ++ adcl $0,%ecx | |
8898 ++ # mul a[5]*b[6] | |
8899 ++ mull %edx | |
8900 ++ addl %eax,%ebp | |
8901 ++ movl 16(%esi),%eax | |
8902 ++ adcl %edx,%ebx | |
8903 ++ movl 28(%edi),%edx | |
8904 ++ adcl $0,%ecx | |
8905 ++ # mul a[4]*b[7] | |
8906 ++ mull %edx | |
8907 ++ addl %eax,%ebp | |
8908 ++ movl 20(%esp),%eax | |
8909 ++ adcl %edx,%ebx | |
8910 ++ movl 20(%edi),%edx | |
8911 ++ adcl $0,%ecx | |
8912 ++ movl %ebp,44(%eax) | |
8913 ++ movl 28(%esi),%eax | |
8914 ++ # saved r[11] | |
8915 ++ # ################## Calculate word 12 | |
8916 ++ xorl %ebp,%ebp | |
8917 ++ # mul a[7]*b[5] | |
8918 ++ mull %edx | |
8919 ++ addl %eax,%ebx | |
8920 ++ movl 24(%esi),%eax | |
8921 ++ adcl %edx,%ecx | |
8922 ++ movl 24(%edi),%edx | |
8923 ++ adcl $0,%ebp | |
8924 ++ # mul a[6]*b[6] | |
8925 ++ mull %edx | |
8926 ++ addl %eax,%ebx | |
8927 ++ movl 20(%esi),%eax | |
8928 ++ adcl %edx,%ecx | |
8929 ++ movl 28(%edi),%edx | |
8930 ++ adcl $0,%ebp | |
8931 ++ # mul a[5]*b[7] | |
8932 ++ mull %edx | |
8933 ++ addl %eax,%ebx | |
8934 ++ movl 20(%esp),%eax | |
8935 ++ adcl %edx,%ecx | |
8936 ++ movl 24(%edi),%edx | |
8937 ++ adcl $0,%ebp | |
8938 ++ movl %ebx,48(%eax) | |
8939 ++ movl 28(%esi),%eax | |
8940 ++ # saved r[12] | |
8941 ++ # ################## Calculate word 13 | |
8942 ++ xorl %ebx,%ebx | |
8943 ++ # mul a[7]*b[6] | |
8944 ++ mull %edx | |
8945 ++ addl %eax,%ecx | |
8946 ++ movl 24(%esi),%eax | |
8947 ++ adcl %edx,%ebp | |
8948 ++ movl 28(%edi),%edx | |
8949 ++ adcl $0,%ebx | |
8950 ++ # mul a[6]*b[7] | |
8951 ++ mull %edx | |
8952 ++ addl %eax,%ecx | |
8953 ++ movl 20(%esp),%eax | |
8954 ++ adcl %edx,%ebp | |
8955 ++ movl 28(%edi),%edx | |
8956 ++ adcl $0,%ebx | |
8957 ++ movl %ecx,52(%eax) | |
8958 ++ movl 28(%esi),%eax | |
8959 ++ # saved r[13] | |
8960 ++ # ################## Calculate word 14 | |
8961 ++ xorl %ecx,%ecx | |
8962 ++ # mul a[7]*b[7] | |
8963 ++ mull %edx | |
8964 ++ addl %eax,%ebp | |
8965 ++ movl 20(%esp),%eax | |
8966 ++ adcl %edx,%ebx | |
8967 ++ adcl $0,%ecx | |
8968 ++ movl %ebp,56(%eax) | |
8969 ++ # saved r[14] | |
8970 ++ # save r[15] | |
8971 ++ movl %ebx,60(%eax) | |
8972 ++ popl %ebx | |
8973 ++ popl %ebp | |
8974 ++ popl %edi | |
8975 ++ popl %esi | |
8976 ++ ret | |
8977 ++.globl _bn_mul_comba4 | |
8978 ++.align 4 | |
8979 ++_bn_mul_comba4: | |
8980 ++L_bn_mul_comba4_begin: | |
8981 ++ pushl %esi | |
8982 ++ movl 12(%esp),%esi | |
8983 ++ pushl %edi | |
8984 ++ movl 20(%esp),%edi | |
8985 ++ pushl %ebp | |
8986 ++ pushl %ebx | |
8987 ++ xorl %ebx,%ebx | |
8988 ++ movl (%esi),%eax | |
8989 ++ xorl %ecx,%ecx | |
8990 ++ movl (%edi),%edx | |
8991 ++ # ################## Calculate word 0 | |
8992 ++ xorl %ebp,%ebp | |
8993 ++ # mul a[0]*b[0] | |
8994 ++ mull %edx | |
8995 ++ addl %eax,%ebx | |
8996 ++ movl 20(%esp),%eax | |
8997 ++ adcl %edx,%ecx | |
8998 ++ movl (%edi),%edx | |
8999 ++ adcl $0,%ebp | |
9000 ++ movl %ebx,(%eax) | |
9001 ++ movl 4(%esi),%eax | |
9002 ++ # saved r[0] | |
9003 ++ # ################## Calculate word 1 | |
9004 ++ xorl %ebx,%ebx | |
9005 ++ # mul a[1]*b[0] | |
9006 ++ mull %edx | |
9007 ++ addl %eax,%ecx | |
9008 ++ movl (%esi),%eax | |
9009 ++ adcl %edx,%ebp | |
9010 ++ movl 4(%edi),%edx | |
9011 ++ adcl $0,%ebx | |
9012 ++ # mul a[0]*b[1] | |
9013 ++ mull %edx | |
9014 ++ addl %eax,%ecx | |
9015 ++ movl 20(%esp),%eax | |
9016 ++ adcl %edx,%ebp | |
9017 ++ movl (%edi),%edx | |
9018 ++ adcl $0,%ebx | |
9019 ++ movl %ecx,4(%eax) | |
9020 ++ movl 8(%esi),%eax | |
9021 ++ # saved r[1] | |
9022 ++ # ################## Calculate word 2 | |
9023 ++ xorl %ecx,%ecx | |
9024 ++ # mul a[2]*b[0] | |
9025 ++ mull %edx | |
9026 ++ addl %eax,%ebp | |
9027 ++ movl 4(%esi),%eax | |
9028 ++ adcl %edx,%ebx | |
9029 ++ movl 4(%edi),%edx | |
9030 ++ adcl $0,%ecx | |
9031 ++ # mul a[1]*b[1] | |
9032 ++ mull %edx | |
9033 ++ addl %eax,%ebp | |
9034 ++ movl (%esi),%eax | |
9035 ++ adcl %edx,%ebx | |
9036 ++ movl 8(%edi),%edx | |
9037 ++ adcl $0,%ecx | |
9038 ++ # mul a[0]*b[2] | |
9039 ++ mull %edx | |
9040 ++ addl %eax,%ebp | |
9041 ++ movl 20(%esp),%eax | |
9042 ++ adcl %edx,%ebx | |
9043 ++ movl (%edi),%edx | |
9044 ++ adcl $0,%ecx | |
9045 ++ movl %ebp,8(%eax) | |
9046 ++ movl 12(%esi),%eax | |
9047 ++ # saved r[2] | |
9048 ++ # ################## Calculate word 3 | |
9049 ++ xorl %ebp,%ebp | |
9050 ++ # mul a[3]*b[0] | |
9051 ++ mull %edx | |
9052 ++ addl %eax,%ebx | |
9053 ++ movl 8(%esi),%eax | |
9054 ++ adcl %edx,%ecx | |
9055 ++ movl 4(%edi),%edx | |
9056 ++ adcl $0,%ebp | |
9057 ++ # mul a[2]*b[1] | |
9058 ++ mull %edx | |
9059 ++ addl %eax,%ebx | |
9060 ++ movl 4(%esi),%eax | |
9061 ++ adcl %edx,%ecx | |
9062 ++ movl 8(%edi),%edx | |
9063 ++ adcl $0,%ebp | |
9064 ++ # mul a[1]*b[2] | |
9065 ++ mull %edx | |
9066 ++ addl %eax,%ebx | |
9067 ++ movl (%esi),%eax | |
9068 ++ adcl %edx,%ecx | |
9069 ++ movl 12(%edi),%edx | |
9070 ++ adcl $0,%ebp | |
9071 ++ # mul a[0]*b[3] | |
9072 ++ mull %edx | |
9073 ++ addl %eax,%ebx | |
9074 ++ movl 20(%esp),%eax | |
9075 ++ adcl %edx,%ecx | |
9076 ++ movl 4(%edi),%edx | |
9077 ++ adcl $0,%ebp | |
9078 ++ movl %ebx,12(%eax) | |
9079 ++ movl 12(%esi),%eax | |
9080 ++ # saved r[3] | |
9081 ++ # ################## Calculate word 4 | |
9082 ++ xorl %ebx,%ebx | |
9083 ++ # mul a[3]*b[1] | |
9084 ++ mull %edx | |
9085 ++ addl %eax,%ecx | |
9086 ++ movl 8(%esi),%eax | |
9087 ++ adcl %edx,%ebp | |
9088 ++ movl 8(%edi),%edx | |
9089 ++ adcl $0,%ebx | |
9090 ++ # mul a[2]*b[2] | |
9091 ++ mull %edx | |
9092 ++ addl %eax,%ecx | |
9093 ++ movl 4(%esi),%eax | |
9094 ++ adcl %edx,%ebp | |
9095 ++ movl 12(%edi),%edx | |
9096 ++ adcl $0,%ebx | |
9097 ++ # mul a[1]*b[3] | |
9098 ++ mull %edx | |
9099 ++ addl %eax,%ecx | |
9100 ++ movl 20(%esp),%eax | |
9101 ++ adcl %edx,%ebp | |
9102 ++ movl 8(%edi),%edx | |
9103 ++ adcl $0,%ebx | |
9104 ++ movl %ecx,16(%eax) | |
9105 ++ movl 12(%esi),%eax | |
9106 ++ # saved r[4] | |
9107 ++ # ################## Calculate word 5 | |
9108 ++ xorl %ecx,%ecx | |
9109 ++ # mul a[3]*b[2] | |
9110 ++ mull %edx | |
9111 ++ addl %eax,%ebp | |
9112 ++ movl 8(%esi),%eax | |
9113 ++ adcl %edx,%ebx | |
9114 ++ movl 12(%edi),%edx | |
9115 ++ adcl $0,%ecx | |
9116 ++ # mul a[2]*b[3] | |
9117 ++ mull %edx | |
9118 ++ addl %eax,%ebp | |
9119 ++ movl 20(%esp),%eax | |
9120 ++ adcl %edx,%ebx | |
9121 ++ movl 12(%edi),%edx | |
9122 ++ adcl $0,%ecx | |
9123 ++ movl %ebp,20(%eax) | |
9124 ++ movl 12(%esi),%eax | |
9125 ++ # saved r[5] | |
9126 ++ # ################## Calculate word 6 | |
9127 ++ xorl %ebp,%ebp | |
9128 ++ # mul a[3]*b[3] | |
9129 ++ mull %edx | |
9130 ++ addl %eax,%ebx | |
9131 ++ movl 20(%esp),%eax | |
9132 ++ adcl %edx,%ecx | |
9133 ++ adcl $0,%ebp | |
9134 ++ movl %ebx,24(%eax) | |
9135 ++ # saved r[6] | |
9136 ++ # save r[7] | |
9137 ++ movl %ecx,28(%eax) | |
9138 ++ popl %ebx | |
9139 ++ popl %ebp | |
9140 ++ popl %edi | |
9141 ++ popl %esi | |
9142 ++ ret | |
9143 ++.globl _bn_sqr_comba8 | |
9144 ++.align 4 | |
9145 ++_bn_sqr_comba8: | |
9146 ++L_bn_sqr_comba8_begin: | |
9147 ++ pushl %esi | |
9148 ++ pushl %edi | |
9149 ++ pushl %ebp | |
9150 ++ pushl %ebx | |
9151 ++ movl 20(%esp),%edi | |
9152 ++ movl 24(%esp),%esi | |
9153 ++ xorl %ebx,%ebx | |
9154 ++ xorl %ecx,%ecx | |
9155 ++ movl (%esi),%eax | |
9156 ++ # ############### Calculate word 0 | |
9157 ++ xorl %ebp,%ebp | |
9158 ++ # sqr a[0]*a[0] | |
9159 ++ mull %eax | |
9160 ++ addl %eax,%ebx | |
9161 ++ adcl %edx,%ecx | |
9162 ++ movl (%esi),%edx | |
9163 ++ adcl $0,%ebp | |
9164 ++ movl %ebx,(%edi) | |
9165 ++ movl 4(%esi),%eax | |
9166 ++ # saved r[0] | |
9167 ++ # ############### Calculate word 1 | |
9168 ++ xorl %ebx,%ebx | |
9169 ++ # sqr a[1]*a[0] | |
9170 ++ mull %edx | |
9171 ++ addl %eax,%eax | |
9172 ++ adcl %edx,%edx | |
9173 ++ adcl $0,%ebx | |
9174 ++ addl %eax,%ecx | |
9175 ++ adcl %edx,%ebp | |
9176 ++ movl 8(%esi),%eax | |
9177 ++ adcl $0,%ebx | |
9178 ++ movl %ecx,4(%edi) | |
9179 ++ movl (%esi),%edx | |
9180 ++ # saved r[1] | |
9181 ++ # ############### Calculate word 2 | |
9182 ++ xorl %ecx,%ecx | |
9183 ++ # sqr a[2]*a[0] | |
9184 ++ mull %edx | |
9185 ++ addl %eax,%eax | |
9186 ++ adcl %edx,%edx | |
9187 ++ adcl $0,%ecx | |
9188 ++ addl %eax,%ebp | |
9189 ++ adcl %edx,%ebx | |
9190 ++ movl 4(%esi),%eax | |
9191 ++ adcl $0,%ecx | |
9192 ++ # sqr a[1]*a[1] | |
9193 ++ mull %eax | |
9194 ++ addl %eax,%ebp | |
9195 ++ adcl %edx,%ebx | |
9196 ++ movl (%esi),%edx | |
9197 ++ adcl $0,%ecx | |
9198 ++ movl %ebp,8(%edi) | |
9199 ++ movl 12(%esi),%eax | |
9200 ++ # saved r[2] | |
9201 ++ # ############### Calculate word 3 | |
9202 ++ xorl %ebp,%ebp | |
9203 ++ # sqr a[3]*a[0] | |
9204 ++ mull %edx | |
9205 ++ addl %eax,%eax | |
9206 ++ adcl %edx,%edx | |
9207 ++ adcl $0,%ebp | |
9208 ++ addl %eax,%ebx | |
9209 ++ adcl %edx,%ecx | |
9210 ++ movl 8(%esi),%eax | |
9211 ++ adcl $0,%ebp | |
9212 ++ movl 4(%esi),%edx | |
9213 ++ # sqr a[2]*a[1] | |
9214 ++ mull %edx | |
9215 ++ addl %eax,%eax | |
9216 ++ adcl %edx,%edx | |
9217 ++ adcl $0,%ebp | |
9218 ++ addl %eax,%ebx | |
9219 ++ adcl %edx,%ecx | |
9220 ++ movl 16(%esi),%eax | |
9221 ++ adcl $0,%ebp | |
9222 ++ movl %ebx,12(%edi) | |
9223 ++ movl (%esi),%edx | |
9224 ++ # saved r[3] | |
9225 ++ # ############### Calculate word 4 | |
9226 ++ xorl %ebx,%ebx | |
9227 ++ # sqr a[4]*a[0] | |
9228 ++ mull %edx | |
9229 ++ addl %eax,%eax | |
9230 ++ adcl %edx,%edx | |
9231 ++ adcl $0,%ebx | |
9232 ++ addl %eax,%ecx | |
9233 ++ adcl %edx,%ebp | |
9234 ++ movl 12(%esi),%eax | |
9235 ++ adcl $0,%ebx | |
9236 ++ movl 4(%esi),%edx | |
9237 ++ # sqr a[3]*a[1] | |
9238 ++ mull %edx | |
9239 ++ addl %eax,%eax | |
9240 ++ adcl %edx,%edx | |
9241 ++ adcl $0,%ebx | |
9242 ++ addl %eax,%ecx | |
9243 ++ adcl %edx,%ebp | |
9244 ++ movl 8(%esi),%eax | |
9245 ++ adcl $0,%ebx | |
9246 ++ # sqr a[2]*a[2] | |
9247 ++ mull %eax | |
9248 ++ addl %eax,%ecx | |
9249 ++ adcl %edx,%ebp | |
9250 ++ movl (%esi),%edx | |
9251 ++ adcl $0,%ebx | |
9252 ++ movl %ecx,16(%edi) | |
9253 ++ movl 20(%esi),%eax | |
9254 ++ # saved r[4] | |
9255 ++ # ############### Calculate word 5 | |
9256 ++ xorl %ecx,%ecx | |
9257 ++ # sqr a[5]*a[0] | |
9258 ++ mull %edx | |
9259 ++ addl %eax,%eax | |
9260 ++ adcl %edx,%edx | |
9261 ++ adcl $0,%ecx | |
9262 ++ addl %eax,%ebp | |
9263 ++ adcl %edx,%ebx | |
9264 ++ movl 16(%esi),%eax | |
9265 ++ adcl $0,%ecx | |
9266 ++ movl 4(%esi),%edx | |
9267 ++ # sqr a[4]*a[1] | |
9268 ++ mull %edx | |
9269 ++ addl %eax,%eax | |
9270 ++ adcl %edx,%edx | |
9271 ++ adcl $0,%ecx | |
9272 ++ addl %eax,%ebp | |
9273 ++ adcl %edx,%ebx | |
9274 ++ movl 12(%esi),%eax | |
9275 ++ adcl $0,%ecx | |
9276 ++ movl 8(%esi),%edx | |
9277 ++ # sqr a[3]*a[2] | |
9278 ++ mull %edx | |
9279 ++ addl %eax,%eax | |
9280 ++ adcl %edx,%edx | |
9281 ++ adcl $0,%ecx | |
9282 ++ addl %eax,%ebp | |
9283 ++ adcl %edx,%ebx | |
9284 ++ movl 24(%esi),%eax | |
9285 ++ adcl $0,%ecx | |
9286 ++ movl %ebp,20(%edi) | |
9287 ++ movl (%esi),%edx | |
9288 ++ # saved r[5] | |
9289 ++ # ############### Calculate word 6 | |
9290 ++ xorl %ebp,%ebp | |
9291 ++ # sqr a[6]*a[0] | |
9292 ++ mull %edx | |
9293 ++ addl %eax,%eax | |
9294 ++ adcl %edx,%edx | |
9295 ++ adcl $0,%ebp | |
9296 ++ addl %eax,%ebx | |
9297 ++ adcl %edx,%ecx | |
9298 ++ movl 20(%esi),%eax | |
9299 ++ adcl $0,%ebp | |
9300 ++ movl 4(%esi),%edx | |
9301 ++ # sqr a[5]*a[1] | |
9302 ++ mull %edx | |
9303 ++ addl %eax,%eax | |
9304 ++ adcl %edx,%edx | |
9305 ++ adcl $0,%ebp | |
9306 ++ addl %eax,%ebx | |
9307 ++ adcl %edx,%ecx | |
9308 ++ movl 16(%esi),%eax | |
9309 ++ adcl $0,%ebp | |
9310 ++ movl 8(%esi),%edx | |
9311 ++ # sqr a[4]*a[2] | |
9312 ++ mull %edx | |
9313 ++ addl %eax,%eax | |
9314 ++ adcl %edx,%edx | |
9315 ++ adcl $0,%ebp | |
9316 ++ addl %eax,%ebx | |
9317 ++ adcl %edx,%ecx | |
9318 ++ movl 12(%esi),%eax | |
9319 ++ adcl $0,%ebp | |
9320 ++ # sqr a[3]*a[3] | |
9321 ++ mull %eax | |
9322 ++ addl %eax,%ebx | |
9323 ++ adcl %edx,%ecx | |
9324 ++ movl (%esi),%edx | |
9325 ++ adcl $0,%ebp | |
9326 ++ movl %ebx,24(%edi) | |
9327 ++ movl 28(%esi),%eax | |
9328 ++ # saved r[6] | |
9329 ++ # ############### Calculate word 7 | |
9330 ++ xorl %ebx,%ebx | |
9331 ++ # sqr a[7]*a[0] | |
9332 ++ mull %edx | |
9333 ++ addl %eax,%eax | |
9334 ++ adcl %edx,%edx | |
9335 ++ adcl $0,%ebx | |
9336 ++ addl %eax,%ecx | |
9337 ++ adcl %edx,%ebp | |
9338 ++ movl 24(%esi),%eax | |
9339 ++ adcl $0,%ebx | |
9340 ++ movl 4(%esi),%edx | |
9341 ++ # sqr a[6]*a[1] | |
9342 ++ mull %edx | |
9343 ++ addl %eax,%eax | |
9344 ++ adcl %edx,%edx | |
9345 ++ adcl $0,%ebx | |
9346 ++ addl %eax,%ecx | |
9347 ++ adcl %edx,%ebp | |
9348 ++ movl 20(%esi),%eax | |
9349 ++ adcl $0,%ebx | |
9350 ++ movl 8(%esi),%edx | |
9351 ++ # sqr a[5]*a[2] | |
9352 ++ mull %edx | |
9353 ++ addl %eax,%eax | |
9354 ++ adcl %edx,%edx | |
9355 ++ adcl $0,%ebx | |
9356 ++ addl %eax,%ecx | |
9357 ++ adcl %edx,%ebp | |
9358 ++ movl 16(%esi),%eax | |
9359 ++ adcl $0,%ebx | |
9360 ++ movl 12(%esi),%edx | |
9361 ++ # sqr a[4]*a[3] | |
9362 ++ mull %edx | |
9363 ++ addl %eax,%eax | |
9364 ++ adcl %edx,%edx | |
9365 ++ adcl $0,%ebx | |
9366 ++ addl %eax,%ecx | |
9367 ++ adcl %edx,%ebp | |
9368 ++ movl 28(%esi),%eax | |
9369 ++ adcl $0,%ebx | |
9370 ++ movl %ecx,28(%edi) | |
9371 ++ movl 4(%esi),%edx | |
9372 ++ # saved r[7] | |
9373 ++ # ############### Calculate word 8 | |
9374 ++ xorl %ecx,%ecx | |
9375 ++ # sqr a[7]*a[1] | |
9376 ++ mull %edx | |
9377 ++ addl %eax,%eax | |
9378 ++ adcl %edx,%edx | |
9379 ++ adcl $0,%ecx | |
9380 ++ addl %eax,%ebp | |
9381 ++ adcl %edx,%ebx | |
9382 ++ movl 24(%esi),%eax | |
9383 ++ adcl $0,%ecx | |
9384 ++ movl 8(%esi),%edx | |
9385 ++ # sqr a[6]*a[2] | |
9386 ++ mull %edx | |
9387 ++ addl %eax,%eax | |
9388 ++ adcl %edx,%edx | |
9389 ++ adcl $0,%ecx | |
9390 ++ addl %eax,%ebp | |
9391 ++ adcl %edx,%ebx | |
9392 ++ movl 20(%esi),%eax | |
9393 ++ adcl $0,%ecx | |
9394 ++ movl 12(%esi),%edx | |
9395 ++ # sqr a[5]*a[3] | |
9396 ++ mull %edx | |
9397 ++ addl %eax,%eax | |
9398 ++ adcl %edx,%edx | |
9399 ++ adcl $0,%ecx | |
9400 ++ addl %eax,%ebp | |
9401 ++ adcl %edx,%ebx | |
9402 ++ movl 16(%esi),%eax | |
9403 ++ adcl $0,%ecx | |
9404 ++ # sqr a[4]*a[4] | |
9405 ++ mull %eax | |
9406 ++ addl %eax,%ebp | |
9407 ++ adcl %edx,%ebx | |
9408 ++ movl 8(%esi),%edx | |
9409 ++ adcl $0,%ecx | |
9410 ++ movl %ebp,32(%edi) | |
9411 ++ movl 28(%esi),%eax | |
9412 ++ # saved r[8] | |
9413 ++ # ############### Calculate word 9 | |
9414 ++ xorl %ebp,%ebp | |
9415 ++ # sqr a[7]*a[2] | |
9416 ++ mull %edx | |
9417 ++ addl %eax,%eax | |
9418 ++ adcl %edx,%edx | |
9419 ++ adcl $0,%ebp | |
9420 ++ addl %eax,%ebx | |
9421 ++ adcl %edx,%ecx | |
9422 ++ movl 24(%esi),%eax | |
9423 ++ adcl $0,%ebp | |
9424 ++ movl 12(%esi),%edx | |
9425 ++ # sqr a[6]*a[3] | |
9426 ++ mull %edx | |
9427 ++ addl %eax,%eax | |
9428 ++ adcl %edx,%edx | |
9429 ++ adcl $0,%ebp | |
9430 ++ addl %eax,%ebx | |
9431 ++ adcl %edx,%ecx | |
9432 ++ movl 20(%esi),%eax | |
9433 ++ adcl $0,%ebp | |
9434 ++ movl 16(%esi),%edx | |
9435 ++ # sqr a[5]*a[4] | |
9436 ++ mull %edx | |
9437 ++ addl %eax,%eax | |
9438 ++ adcl %edx,%edx | |
9439 ++ adcl $0,%ebp | |
9440 ++ addl %eax,%ebx | |
9441 ++ adcl %edx,%ecx | |
9442 ++ movl 28(%esi),%eax | |
9443 ++ adcl $0,%ebp | |
9444 ++ movl %ebx,36(%edi) | |
9445 ++ movl 12(%esi),%edx | |
9446 ++ # saved r[9] | |
9447 ++ # ############### Calculate word 10 | |
9448 ++ xorl %ebx,%ebx | |
9449 ++ # sqr a[7]*a[3] | |
9450 ++ mull %edx | |
9451 ++ addl %eax,%eax | |
9452 ++ adcl %edx,%edx | |
9453 ++ adcl $0,%ebx | |
9454 ++ addl %eax,%ecx | |
9455 ++ adcl %edx,%ebp | |
9456 ++ movl 24(%esi),%eax | |
9457 ++ adcl $0,%ebx | |
9458 ++ movl 16(%esi),%edx | |
9459 ++ # sqr a[6]*a[4] | |
9460 ++ mull %edx | |
9461 ++ addl %eax,%eax | |
9462 ++ adcl %edx,%edx | |
9463 ++ adcl $0,%ebx | |
9464 ++ addl %eax,%ecx | |
9465 ++ adcl %edx,%ebp | |
9466 ++ movl 20(%esi),%eax | |
9467 ++ adcl $0,%ebx | |
9468 ++ # sqr a[5]*a[5] | |
9469 ++ mull %eax | |
9470 ++ addl %eax,%ecx | |
9471 ++ adcl %edx,%ebp | |
9472 ++ movl 16(%esi),%edx | |
9473 ++ adcl $0,%ebx | |
9474 ++ movl %ecx,40(%edi) | |
9475 ++ movl 28(%esi),%eax | |
9476 ++ # saved r[10] | |
9477 ++ # ############### Calculate word 11 | |
9478 ++ xorl %ecx,%ecx | |
9479 ++ # sqr a[7]*a[4] | |
9480 ++ mull %edx | |
9481 ++ addl %eax,%eax | |
9482 ++ adcl %edx,%edx | |
9483 ++ adcl $0,%ecx | |
9484 ++ addl %eax,%ebp | |
9485 ++ adcl %edx,%ebx | |
9486 ++ movl 24(%esi),%eax | |
9487 ++ adcl $0,%ecx | |
9488 ++ movl 20(%esi),%edx | |
9489 ++ # sqr a[6]*a[5] | |
9490 ++ mull %edx | |
9491 ++ addl %eax,%eax | |
9492 ++ adcl %edx,%edx | |
9493 ++ adcl $0,%ecx | |
9494 ++ addl %eax,%ebp | |
9495 ++ adcl %edx,%ebx | |
9496 ++ movl 28(%esi),%eax | |
9497 ++ adcl $0,%ecx | |
9498 ++ movl %ebp,44(%edi) | |
9499 ++ movl 20(%esi),%edx | |
9500 ++ # saved r[11] | |
9501 ++ # ############### Calculate word 12 | |
9502 ++ xorl %ebp,%ebp | |
9503 ++ # sqr a[7]*a[5] | |
9504 ++ mull %edx | |
9505 ++ addl %eax,%eax | |
9506 ++ adcl %edx,%edx | |
9507 ++ adcl $0,%ebp | |
9508 ++ addl %eax,%ebx | |
9509 ++ adcl %edx,%ecx | |
9510 ++ movl 24(%esi),%eax | |
9511 ++ adcl $0,%ebp | |
9512 ++ # sqr a[6]*a[6] | |
9513 ++ mull %eax | |
9514 ++ addl %eax,%ebx | |
9515 ++ adcl %edx,%ecx | |
9516 ++ movl 24(%esi),%edx | |
9517 ++ adcl $0,%ebp | |
9518 ++ movl %ebx,48(%edi) | |
9519 ++ movl 28(%esi),%eax | |
9520 ++ # saved r[12] | |
9521 ++ # ############### Calculate word 13 | |
9522 ++ xorl %ebx,%ebx | |
9523 ++ # sqr a[7]*a[6] | |
9524 ++ mull %edx | |
9525 ++ addl %eax,%eax | |
9526 ++ adcl %edx,%edx | |
9527 ++ adcl $0,%ebx | |
9528 ++ addl %eax,%ecx | |
9529 ++ adcl %edx,%ebp | |
9530 ++ movl 28(%esi),%eax | |
9531 ++ adcl $0,%ebx | |
9532 ++ movl %ecx,52(%edi) | |
9533 ++ # saved r[13] | |
9534 ++ # ############### Calculate word 14 | |
9535 ++ xorl %ecx,%ecx | |
9536 ++ # sqr a[7]*a[7] | |
9537 ++ mull %eax | |
9538 ++ addl %eax,%ebp | |
9539 ++ adcl %edx,%ebx | |
9540 ++ adcl $0,%ecx | |
9541 ++ movl %ebp,56(%edi) | |
9542 ++ # saved r[14] | |
9543 ++ movl %ebx,60(%edi) | |
9544 ++ popl %ebx | |
9545 ++ popl %ebp | |
9546 ++ popl %edi | |
9547 ++ popl %esi | |
9548 ++ ret | |
9549 ++.globl _bn_sqr_comba4 | |
9550 ++.align 4 | |
9551 ++_bn_sqr_comba4: | |
9552 ++L_bn_sqr_comba4_begin: | |
9553 ++ pushl %esi | |
9554 ++ pushl %edi | |
9555 ++ pushl %ebp | |
9556 ++ pushl %ebx | |
9557 ++ movl 20(%esp),%edi | |
9558 ++ movl 24(%esp),%esi | |
9559 ++ xorl %ebx,%ebx | |
9560 ++ xorl %ecx,%ecx | |
9561 ++ movl (%esi),%eax | |
9562 ++ # ############### Calculate word 0 | |
9563 ++ xorl %ebp,%ebp | |
9564 ++ # sqr a[0]*a[0] | |
9565 ++ mull %eax | |
9566 ++ addl %eax,%ebx | |
9567 ++ adcl %edx,%ecx | |
9568 ++ movl (%esi),%edx | |
9569 ++ adcl $0,%ebp | |
9570 ++ movl %ebx,(%edi) | |
9571 ++ movl 4(%esi),%eax | |
9572 ++ # saved r[0] | |
9573 ++ # ############### Calculate word 1 | |
9574 ++ xorl %ebx,%ebx | |
9575 ++ # sqr a[1]*a[0] | |
9576 ++ mull %edx | |
9577 ++ addl %eax,%eax | |
9578 ++ adcl %edx,%edx | |
9579 ++ adcl $0,%ebx | |
9580 ++ addl %eax,%ecx | |
9581 ++ adcl %edx,%ebp | |
9582 ++ movl 8(%esi),%eax | |
9583 ++ adcl $0,%ebx | |
9584 ++ movl %ecx,4(%edi) | |
9585 ++ movl (%esi),%edx | |
9586 ++ # saved r[1] | |
9587 ++ # ############### Calculate word 2 | |
9588 ++ xorl %ecx,%ecx | |
9589 ++ # sqr a[2]*a[0] | |
9590 ++ mull %edx | |
9591 ++ addl %eax,%eax | |
9592 ++ adcl %edx,%edx | |
9593 ++ adcl $0,%ecx | |
9594 ++ addl %eax,%ebp | |
9595 ++ adcl %edx,%ebx | |
9596 ++ movl 4(%esi),%eax | |
9597 ++ adcl $0,%ecx | |
9598 ++ # sqr a[1]*a[1] | |
9599 ++ mull %eax | |
9600 ++ addl %eax,%ebp | |
9601 ++ adcl %edx,%ebx | |
9602 ++ movl (%esi),%edx | |
9603 ++ adcl $0,%ecx | |
9604 ++ movl %ebp,8(%edi) | |
9605 ++ movl 12(%esi),%eax | |
9606 ++ # saved r[2] | |
9607 ++ # ############### Calculate word 3 | |
9608 ++ xorl %ebp,%ebp | |
9609 ++ # sqr a[3]*a[0] | |
9610 ++ mull %edx | |
9611 ++ addl %eax,%eax | |
9612 ++ adcl %edx,%edx | |
9613 ++ adcl $0,%ebp | |
9614 ++ addl %eax,%ebx | |
9615 ++ adcl %edx,%ecx | |
9616 ++ movl 8(%esi),%eax | |
9617 ++ adcl $0,%ebp | |
9618 ++ movl 4(%esi),%edx | |
9619 ++ # sqr a[2]*a[1] | |
9620 ++ mull %edx | |
9621 ++ addl %eax,%eax | |
9622 ++ adcl %edx,%edx | |
9623 ++ adcl $0,%ebp | |
9624 ++ addl %eax,%ebx | |
9625 ++ adcl %edx,%ecx | |
9626 ++ movl 12(%esi),%eax | |
9627 ++ adcl $0,%ebp | |
9628 ++ movl %ebx,12(%edi) | |
9629 ++ movl 4(%esi),%edx | |
9630 ++ # saved r[3] | |
9631 ++ # ############### Calculate word 4 | |
9632 ++ xorl %ebx,%ebx | |
9633 ++ # sqr a[3]*a[1] | |
9634 ++ mull %edx | |
9635 ++ addl %eax,%eax | |
9636 ++ adcl %edx,%edx | |
9637 ++ adcl $0,%ebx | |
9638 ++ addl %eax,%ecx | |
9639 ++ adcl %edx,%ebp | |
9640 ++ movl 8(%esi),%eax | |
9641 ++ adcl $0,%ebx | |
9642 ++ # sqr a[2]*a[2] | |
9643 ++ mull %eax | |
9644 ++ addl %eax,%ecx | |
9645 ++ adcl %edx,%ebp | |
9646 ++ movl 8(%esi),%edx | |
9647 ++ adcl $0,%ebx | |
9648 ++ movl %ecx,16(%edi) | |
9649 ++ movl 12(%esi),%eax | |
9650 ++ # saved r[4] | |
9651 ++ # ############### Calculate word 5 | |
9652 ++ xorl %ecx,%ecx | |
9653 ++ # sqr a[3]*a[2] | |
9654 ++ mull %edx | |
9655 ++ addl %eax,%eax | |
9656 ++ adcl %edx,%edx | |
9657 ++ adcl $0,%ecx | |
9658 ++ addl %eax,%ebp | |
9659 ++ adcl %edx,%ebx | |
9660 ++ movl 12(%esi),%eax | |
9661 ++ adcl $0,%ecx | |
9662 ++ movl %ebp,20(%edi) | |
9663 ++ # saved r[5] | |
9664 ++ # ############### Calculate word 6 | |
9665 ++ xorl %ebp,%ebp | |
9666 ++ # sqr a[3]*a[3] | |
9667 ++ mull %eax | |
9668 ++ addl %eax,%ebx | |
9669 ++ adcl %edx,%ecx | |
9670 ++ adcl $0,%ebp | |
9671 ++ movl %ebx,24(%edi) | |
9672 ++ # saved r[6] | |
9673 ++ movl %ecx,28(%edi) | |
9674 ++ popl %ebx | |
9675 ++ popl %ebp | |
9676 ++ popl %edi | |
9677 ++ popl %esi | |
9678 ++ ret | |
9679 +diff --git a/crypto/bn/asm/x86-gf2m-mac.S b/crypto/bn/asm/x86-gf2m-mac.S | |
9680 +new file mode 100644 | |
9681 +index 0000000..31718e0 | |
9682 +--- /dev/null | |
9683 ++++ b/crypto/bn/asm/x86-gf2m-mac.S | |
9684 +@@ -0,0 +1,332 @@ | |
9685 ++.file "crypto/bn/asm/x86-gf2m.s" | |
9686 ++.text | |
9687 ++.align 4 | |
9688 ++__mul_1x1_mmx: | |
9689 ++ subl $36,%esp | |
9690 ++ movl %eax,%ecx | |
9691 ++ leal (%eax,%eax,1),%edx | |
9692 ++ andl $1073741823,%ecx | |
9693 ++ leal (%edx,%edx,1),%ebp | |
9694 ++ movl $0,(%esp) | |
9695 ++ andl $2147483647,%edx | |
9696 ++ movd %eax,%mm2 | |
9697 ++ movd %ebx,%mm3 | |
9698 ++ movl %ecx,4(%esp) | |
9699 ++ xorl %edx,%ecx | |
9700 ++ pxor %mm5,%mm5 | |
9701 ++ pxor %mm4,%mm4 | |
9702 ++ movl %edx,8(%esp) | |
9703 ++ xorl %ebp,%edx | |
9704 ++ movl %ecx,12(%esp) | |
9705 ++ pcmpgtd %mm2,%mm5 | |
9706 ++ paddd %mm2,%mm2 | |
9707 ++ xorl %edx,%ecx | |
9708 ++ movl %ebp,16(%esp) | |
9709 ++ xorl %edx,%ebp | |
9710 ++ pand %mm3,%mm5 | |
9711 ++ pcmpgtd %mm2,%mm4 | |
9712 ++ movl %ecx,20(%esp) | |
9713 ++ xorl %ecx,%ebp | |
9714 ++ psllq $31,%mm5 | |
9715 ++ pand %mm3,%mm4 | |
9716 ++ movl %edx,24(%esp) | |
9717 ++ movl $7,%esi | |
9718 ++ movl %ebp,28(%esp) | |
9719 ++ movl %esi,%ebp | |
9720 ++ andl %ebx,%esi | |
9721 ++ shrl $3,%ebx | |
9722 ++ movl %ebp,%edi | |
9723 ++ psllq $30,%mm4 | |
9724 ++ andl %ebx,%edi | |
9725 ++ shrl $3,%ebx | |
9726 ++ movd (%esp,%esi,4),%mm0 | |
9727 ++ movl %ebp,%esi | |
9728 ++ andl %ebx,%esi | |
9729 ++ shrl $3,%ebx | |
9730 ++ movd (%esp,%edi,4),%mm2 | |
9731 ++ movl %ebp,%edi | |
9732 ++ psllq $3,%mm2 | |
9733 ++ andl %ebx,%edi | |
9734 ++ shrl $3,%ebx | |
9735 ++ pxor %mm2,%mm0 | |
9736 ++ movd (%esp,%esi,4),%mm1 | |
9737 ++ movl %ebp,%esi | |
9738 ++ psllq $6,%mm1 | |
9739 ++ andl %ebx,%esi | |
9740 ++ shrl $3,%ebx | |
9741 ++ pxor %mm1,%mm0 | |
9742 ++ movd (%esp,%edi,4),%mm2 | |
9743 ++ movl %ebp,%edi | |
9744 ++ psllq $9,%mm2 | |
9745 ++ andl %ebx,%edi | |
9746 ++ shrl $3,%ebx | |
9747 ++ pxor %mm2,%mm0 | |
9748 ++ movd (%esp,%esi,4),%mm1 | |
9749 ++ movl %ebp,%esi | |
9750 ++ psllq $12,%mm1 | |
9751 ++ andl %ebx,%esi | |
9752 ++ shrl $3,%ebx | |
9753 ++ pxor %mm1,%mm0 | |
9754 ++ movd (%esp,%edi,4),%mm2 | |
9755 ++ movl %ebp,%edi | |
9756 ++ psllq $15,%mm2 | |
9757 ++ andl %ebx,%edi | |
9758 ++ shrl $3,%ebx | |
9759 ++ pxor %mm2,%mm0 | |
9760 ++ movd (%esp,%esi,4),%mm1 | |
9761 ++ movl %ebp,%esi | |
9762 ++ psllq $18,%mm1 | |
9763 ++ andl %ebx,%esi | |
9764 ++ shrl $3,%ebx | |
9765 ++ pxor %mm1,%mm0 | |
9766 ++ movd (%esp,%edi,4),%mm2 | |
9767 ++ movl %ebp,%edi | |
9768 ++ psllq $21,%mm2 | |
9769 ++ andl %ebx,%edi | |
9770 ++ shrl $3,%ebx | |
9771 ++ pxor %mm2,%mm0 | |
9772 ++ movd (%esp,%esi,4),%mm1 | |
9773 ++ movl %ebp,%esi | |
9774 ++ psllq $24,%mm1 | |
9775 ++ andl %ebx,%esi | |
9776 ++ shrl $3,%ebx | |
9777 ++ pxor %mm1,%mm0 | |
9778 ++ movd (%esp,%edi,4),%mm2 | |
9779 ++ pxor %mm4,%mm0 | |
9780 ++ psllq $27,%mm2 | |
9781 ++ pxor %mm2,%mm0 | |
9782 ++ movd (%esp,%esi,4),%mm1 | |
9783 ++ pxor %mm5,%mm0 | |
9784 ++ psllq $30,%mm1 | |
9785 ++ addl $36,%esp | |
9786 ++ pxor %mm1,%mm0 | |
9787 ++ ret | |
9788 ++.align 4 | |
9789 ++__mul_1x1_ialu: | |
9790 ++ subl $36,%esp | |
9791 ++ movl %eax,%ecx | |
9792 ++ leal (%eax,%eax,1),%edx | |
9793 ++ leal (,%eax,4),%ebp | |
9794 ++ andl $1073741823,%ecx | |
9795 ++ leal (%eax,%eax,1),%edi | |
9796 ++ sarl $31,%eax | |
9797 ++ movl $0,(%esp) | |
9798 ++ andl $2147483647,%edx | |
9799 ++ movl %ecx,4(%esp) | |
9800 ++ xorl %edx,%ecx | |
9801 ++ movl %edx,8(%esp) | |
9802 ++ xorl %ebp,%edx | |
9803 ++ movl %ecx,12(%esp) | |
9804 ++ xorl %edx,%ecx | |
9805 ++ movl %ebp,16(%esp) | |
9806 ++ xorl %edx,%ebp | |
9807 ++ movl %ecx,20(%esp) | |
9808 ++ xorl %ecx,%ebp | |
9809 ++ sarl $31,%edi | |
9810 ++ andl %ebx,%eax | |
9811 ++ movl %edx,24(%esp) | |
9812 ++ andl %ebx,%edi | |
9813 ++ movl %ebp,28(%esp) | |
9814 ++ movl %eax,%edx | |
9815 ++ shll $31,%eax | |
9816 ++ movl %edi,%ecx | |
9817 ++ shrl $1,%edx | |
9818 ++ movl $7,%esi | |
9819 ++ shll $30,%edi | |
9820 ++ andl %ebx,%esi | |
9821 ++ shrl $2,%ecx | |
9822 ++ xorl %edi,%eax | |
9823 ++ shrl $3,%ebx | |
9824 ++ movl $7,%edi | |
9825 ++ andl %ebx,%edi | |
9826 ++ shrl $3,%ebx | |
9827 ++ xorl %ecx,%edx | |
9828 ++ xorl (%esp,%esi,4),%eax | |
9829 ++ movl $7,%esi | |
9830 ++ andl %ebx,%esi | |
9831 ++ shrl $3,%ebx | |
9832 ++ movl (%esp,%edi,4),%ebp | |
9833 ++ movl $7,%edi | |
9834 ++ movl %ebp,%ecx | |
9835 ++ shll $3,%ebp | |
9836 ++ andl %ebx,%edi | |
9837 ++ shrl $29,%ecx | |
9838 ++ xorl %ebp,%eax | |
9839 ++ shrl $3,%ebx | |
9840 ++ xorl %ecx,%edx | |
9841 ++ movl (%esp,%esi,4),%ecx | |
9842 ++ movl $7,%esi | |
9843 ++ movl %ecx,%ebp | |
9844 ++ shll $6,%ecx | |
9845 ++ andl %ebx,%esi | |
9846 ++ shrl $26,%ebp | |
9847 ++ xorl %ecx,%eax | |
9848 ++ shrl $3,%ebx | |
9849 ++ xorl %ebp,%edx | |
9850 ++ movl (%esp,%edi,4),%ebp | |
9851 ++ movl $7,%edi | |
9852 ++ movl %ebp,%ecx | |
9853 ++ shll $9,%ebp | |
9854 ++ andl %ebx,%edi | |
9855 ++ shrl $23,%ecx | |
9856 ++ xorl %ebp,%eax | |
9857 ++ shrl $3,%ebx | |
9858 ++ xorl %ecx,%edx | |
9859 ++ movl (%esp,%esi,4),%ecx | |
9860 ++ movl $7,%esi | |
9861 ++ movl %ecx,%ebp | |
9862 ++ shll $12,%ecx | |
9863 ++ andl %ebx,%esi | |
9864 ++ shrl $20,%ebp | |
9865 ++ xorl %ecx,%eax | |
9866 ++ shrl $3,%ebx | |
9867 ++ xorl %ebp,%edx | |
9868 ++ movl (%esp,%edi,4),%ebp | |
9869 ++ movl $7,%edi | |
9870 ++ movl %ebp,%ecx | |
9871 ++ shll $15,%ebp | |
9872 ++ andl %ebx,%edi | |
9873 ++ shrl $17,%ecx | |
9874 ++ xorl %ebp,%eax | |
9875 ++ shrl $3,%ebx | |
9876 ++ xorl %ecx,%edx | |
9877 ++ movl (%esp,%esi,4),%ecx | |
9878 ++ movl $7,%esi | |
9879 ++ movl %ecx,%ebp | |
9880 ++ shll $18,%ecx | |
9881 ++ andl %ebx,%esi | |
9882 ++ shrl $14,%ebp | |
9883 ++ xorl %ecx,%eax | |
9884 ++ shrl $3,%ebx | |
9885 ++ xorl %ebp,%edx | |
9886 ++ movl (%esp,%edi,4),%ebp | |
9887 ++ movl $7,%edi | |
9888 ++ movl %ebp,%ecx | |
9889 ++ shll $21,%ebp | |
9890 ++ andl %ebx,%edi | |
9891 ++ shrl $11,%ecx | |
9892 ++ xorl %ebp,%eax | |
9893 ++ shrl $3,%ebx | |
9894 ++ xorl %ecx,%edx | |
9895 ++ movl (%esp,%esi,4),%ecx | |
9896 ++ movl $7,%esi | |
9897 ++ movl %ecx,%ebp | |
9898 ++ shll $24,%ecx | |
9899 ++ andl %ebx,%esi | |
9900 ++ shrl $8,%ebp | |
9901 ++ xorl %ecx,%eax | |
9902 ++ shrl $3,%ebx | |
9903 ++ xorl %ebp,%edx | |
9904 ++ movl (%esp,%edi,4),%ebp | |
9905 ++ movl %ebp,%ecx | |
9906 ++ shll $27,%ebp | |
9907 ++ movl (%esp,%esi,4),%edi | |
9908 ++ shrl $5,%ecx | |
9909 ++ movl %edi,%esi | |
9910 ++ xorl %ebp,%eax | |
9911 ++ shll $30,%edi | |
9912 ++ xorl %ecx,%edx | |
9913 ++ shrl $2,%esi | |
9914 ++ xorl %edi,%eax | |
9915 ++ xorl %esi,%edx | |
9916 ++ addl $36,%esp | |
9917 ++ ret | |
9918 ++.globl _bn_GF2m_mul_2x2 | |
9919 ++.align 4 | |
9920 ++_bn_GF2m_mul_2x2: | |
9921 ++L_bn_GF2m_mul_2x2_begin: | |
9922 ++ call L000PIC_me_up | |
9923 ++L000PIC_me_up: | |
9924 ++ popl %edx | |
9925 ++ movl L_OPENSSL_ia32cap_P$non_lazy_ptr-L000PIC_me_up(%edx),%edx | |
9926 ++ movl (%edx),%eax | |
9927 ++ movl 4(%edx),%edx | |
9928 ++ testl $8388608,%eax | |
9929 ++ jz L001ialu | |
9930 ++ pushl %ebp | |
9931 ++ pushl %ebx | |
9932 ++ pushl %esi | |
9933 ++ pushl %edi | |
9934 ++ movl 24(%esp),%eax | |
9935 ++ movl 32(%esp),%ebx | |
9936 ++ call __mul_1x1_mmx | |
9937 ++ movq %mm0,%mm7 | |
9938 ++ movl 28(%esp),%eax | |
9939 ++ movl 36(%esp),%ebx | |
9940 ++ call __mul_1x1_mmx | |
9941 ++ movq %mm0,%mm6 | |
9942 ++ movl 24(%esp),%eax | |
9943 ++ movl 32(%esp),%ebx | |
9944 ++ xorl 28(%esp),%eax | |
9945 ++ xorl 36(%esp),%ebx | |
9946 ++ call __mul_1x1_mmx | |
9947 ++ pxor %mm7,%mm0 | |
9948 ++ movl 20(%esp),%eax | |
9949 ++ pxor %mm6,%mm0 | |
9950 ++ movq %mm0,%mm2 | |
9951 ++ psllq $32,%mm0 | |
9952 ++ popl %edi | |
9953 ++ psrlq $32,%mm2 | |
9954 ++ popl %esi | |
9955 ++ pxor %mm6,%mm0 | |
9956 ++ popl %ebx | |
9957 ++ pxor %mm7,%mm2 | |
9958 ++ movq %mm0,(%eax) | |
9959 ++ popl %ebp | |
9960 ++ movq %mm2,8(%eax) | |
9961 ++ emms | |
9962 ++ ret | |
9963 ++.align 4,0x90 | |
9964 ++L001ialu: | |
9965 ++ pushl %ebp | |
9966 ++ pushl %ebx | |
9967 ++ pushl %esi | |
9968 ++ pushl %edi | |
9969 ++ subl $20,%esp | |
9970 ++ movl 44(%esp),%eax | |
9971 ++ movl 52(%esp),%ebx | |
9972 ++ call __mul_1x1_ialu | |
9973 ++ movl %eax,8(%esp) | |
9974 ++ movl %edx,12(%esp) | |
9975 ++ movl 48(%esp),%eax | |
9976 ++ movl 56(%esp),%ebx | |
9977 ++ call __mul_1x1_ialu | |
9978 ++ movl %eax,(%esp) | |
9979 ++ movl %edx,4(%esp) | |
9980 ++ movl 44(%esp),%eax | |
9981 ++ movl 52(%esp),%ebx | |
9982 ++ xorl 48(%esp),%eax | |
9983 ++ xorl 56(%esp),%ebx | |
9984 ++ call __mul_1x1_ialu | |
9985 ++ movl 40(%esp),%ebp | |
9986 ++ movl (%esp),%ebx | |
9987 ++ movl 4(%esp),%ecx | |
9988 ++ movl 8(%esp),%edi | |
9989 ++ movl 12(%esp),%esi | |
9990 ++ xorl %edx,%eax | |
9991 ++ xorl %ecx,%edx | |
9992 ++ xorl %ebx,%eax | |
9993 ++ movl %ebx,(%ebp) | |
9994 ++ xorl %edi,%edx | |
9995 ++ movl %esi,12(%ebp) | |
9996 ++ xorl %esi,%eax | |
9997 ++ addl $20,%esp | |
9998 ++ xorl %esi,%edx | |
9999 ++ popl %edi | |
10000 ++ xorl %edx,%eax | |
10001 ++ popl %esi | |
10002 ++ movl %edx,8(%ebp) | |
10003 ++ popl %ebx | |
10004 ++ movl %eax,4(%ebp) | |
10005 ++ popl %ebp | |
10006 ++ ret | |
10007 ++.byte 71,70,40,50,94,109,41,32,77,117,108,116,105,112,108,105 | |
10008 ++.byte 99,97,116,105,111,110,32,102,111,114,32,120,56,54,44,32 | |
10009 ++.byte 67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97 | |
10010 ++.byte 112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103 | |
10011 ++.byte 62,0 | |
10012 ++.section __IMPORT,__pointers,non_lazy_symbol_pointers | |
10013 ++L_OPENSSL_ia32cap_P$non_lazy_ptr: | |
10014 ++.indirect_symbol _OPENSSL_ia32cap_P | |
10015 ++.long 0 | |
10016 ++.comm _OPENSSL_ia32cap_P,8,2 | |
10017 +diff --git a/crypto/bn/asm/x86-mont-mac.S b/crypto/bn/asm/x86-mont-mac.S | |
10018 +new file mode 100644 | |
10019 +index 0000000..aab259a | |
10020 +--- /dev/null | |
10021 ++++ b/crypto/bn/asm/x86-mont-mac.S | |
10022 +@@ -0,0 +1,336 @@ | |
10023 ++.file "crypto/bn/asm/x86-mont.s" | |
10024 ++.text | |
10025 ++.globl _bn_mul_mont | |
10026 ++.align 4 | |
10027 ++_bn_mul_mont: | |
10028 ++L_bn_mul_mont_begin: | |
10029 ++ pushl %ebp | |
10030 ++ pushl %ebx | |
10031 ++ pushl %esi | |
10032 ++ pushl %edi | |
10033 ++ xorl %eax,%eax | |
10034 ++ movl 40(%esp),%edi | |
10035 ++ cmpl $4,%edi | |
10036 ++ jl L000just_leave | |
10037 ++ leal 20(%esp),%esi | |
10038 ++ leal 24(%esp),%edx | |
10039 ++ movl %esp,%ebp | |
10040 ++ addl $2,%edi | |
10041 ++ negl %edi | |
10042 ++ leal -32(%esp,%edi,4),%esp | |
10043 ++ negl %edi | |
10044 ++ movl %esp,%eax | |
10045 ++ subl %edx,%eax | |
10046 ++ andl $2047,%eax | |
10047 ++ subl %eax,%esp | |
10048 ++ xorl %esp,%edx | |
10049 ++ andl $2048,%edx | |
10050 ++ xorl $2048,%edx | |
10051 ++ subl %edx,%esp | |
10052 ++ andl $-64,%esp | |
10053 ++ movl (%esi),%eax | |
10054 ++ movl 4(%esi),%ebx | |
10055 ++ movl 8(%esi),%ecx | |
10056 ++ movl 12(%esi),%edx | |
10057 ++ movl 16(%esi),%esi | |
10058 ++ movl (%esi),%esi | |
10059 ++ movl %eax,4(%esp) | |
10060 ++ movl %ebx,8(%esp) | |
10061 ++ movl %ecx,12(%esp) | |
10062 ++ movl %edx,16(%esp) | |
10063 ++ movl %esi,20(%esp) | |
10064 ++ leal -3(%edi),%ebx | |
10065 ++ movl %ebp,24(%esp) | |
10066 ++ movl 8(%esp),%esi | |
10067 ++ leal 1(%ebx),%ebp | |
10068 ++ movl 12(%esp),%edi | |
10069 ++ xorl %ecx,%ecx | |
10070 ++ movl %esi,%edx | |
10071 ++ andl $1,%ebp | |
10072 ++ subl %edi,%edx | |
10073 ++ leal 4(%edi,%ebx,4),%eax | |
10074 ++ orl %edx,%ebp | |
10075 ++ movl (%edi),%edi | |
10076 ++ jz L001bn_sqr_mont | |
10077 ++ movl %eax,28(%esp) | |
10078 ++ movl (%esi),%eax | |
10079 ++ xorl %edx,%edx | |
10080 ++.align 4,0x90 | |
10081 ++L002mull: | |
10082 ++ movl %edx,%ebp | |
10083 ++ mull %edi | |
10084 ++ addl %eax,%ebp | |
10085 ++ leal 1(%ecx),%ecx | |
10086 ++ adcl $0,%edx | |
10087 ++ movl (%esi,%ecx,4),%eax | |
10088 ++ cmpl %ebx,%ecx | |
10089 ++ movl %ebp,28(%esp,%ecx,4) | |
10090 ++ jl L002mull | |
10091 ++ movl %edx,%ebp | |
10092 ++ mull %edi | |
10093 ++ movl 20(%esp),%edi | |
10094 ++ addl %ebp,%eax | |
10095 ++ movl 16(%esp),%esi | |
10096 ++ adcl $0,%edx | |
10097 ++ imull 32(%esp),%edi | |
10098 ++ movl %eax,32(%esp,%ebx,4) | |
10099 ++ xorl %ecx,%ecx | |
10100 ++ movl %edx,36(%esp,%ebx,4) | |
10101 ++ movl %ecx,40(%esp,%ebx,4) | |
10102 ++ movl (%esi),%eax | |
10103 ++ mull %edi | |
10104 ++ addl 32(%esp),%eax | |
10105 ++ movl 4(%esi),%eax | |
10106 ++ adcl $0,%edx | |
10107 ++ incl %ecx | |
10108 ++ jmp L0032ndmadd | |
10109 ++.align 4,0x90 | |
10110 ++L0041stmadd: | |
10111 ++ movl %edx,%ebp | |
10112 ++ mull %edi | |
10113 ++ addl 32(%esp,%ecx,4),%ebp | |
10114 ++ leal 1(%ecx),%ecx | |
10115 ++ adcl $0,%edx | |
10116 ++ addl %eax,%ebp | |
10117 ++ movl (%esi,%ecx,4),%eax | |
10118 ++ adcl $0,%edx | |
10119 ++ cmpl %ebx,%ecx | |
10120 ++ movl %ebp,28(%esp,%ecx,4) | |
10121 ++ jl L0041stmadd | |
10122 ++ movl %edx,%ebp | |
10123 ++ mull %edi | |
10124 ++ addl 32(%esp,%ebx,4),%eax | |
10125 ++ movl 20(%esp),%edi | |
10126 ++ adcl $0,%edx | |
10127 ++ movl 16(%esp),%esi | |
10128 ++ addl %eax,%ebp | |
10129 ++ adcl $0,%edx | |
10130 ++ imull 32(%esp),%edi | |
10131 ++ xorl %ecx,%ecx | |
10132 ++ addl 36(%esp,%ebx,4),%edx | |
10133 ++ movl %ebp,32(%esp,%ebx,4) | |
10134 ++ adcl $0,%ecx | |
10135 ++ movl (%esi),%eax | |
10136 ++ movl %edx,36(%esp,%ebx,4) | |
10137 ++ movl %ecx,40(%esp,%ebx,4) | |
10138 ++ mull %edi | |
10139 ++ addl 32(%esp),%eax | |
10140 ++ movl 4(%esi),%eax | |
10141 ++ adcl $0,%edx | |
10142 ++ movl $1,%ecx | |
10143 ++.align 4,0x90 | |
10144 ++L0032ndmadd: | |
10145 ++ movl %edx,%ebp | |
10146 ++ mull %edi | |
10147 ++ addl 32(%esp,%ecx,4),%ebp | |
10148 ++ leal 1(%ecx),%ecx | |
10149 ++ adcl $0,%edx | |
10150 ++ addl %eax,%ebp | |
10151 ++ movl (%esi,%ecx,4),%eax | |
10152 ++ adcl $0,%edx | |
10153 ++ cmpl %ebx,%ecx | |
10154 ++ movl %ebp,24(%esp,%ecx,4) | |
10155 ++ jl L0032ndmadd | |
10156 ++ movl %edx,%ebp | |
10157 ++ mull %edi | |
10158 ++ addl 32(%esp,%ebx,4),%ebp | |
10159 ++ adcl $0,%edx | |
10160 ++ addl %eax,%ebp | |
10161 ++ adcl $0,%edx | |
10162 ++ movl %ebp,28(%esp,%ebx,4) | |
10163 ++ xorl %eax,%eax | |
10164 ++ movl 12(%esp),%ecx | |
10165 ++ addl 36(%esp,%ebx,4),%edx | |
10166 ++ adcl 40(%esp,%ebx,4),%eax | |
10167 ++ leal 4(%ecx),%ecx | |
10168 ++ movl %edx,32(%esp,%ebx,4) | |
10169 ++ cmpl 28(%esp),%ecx | |
10170 ++ movl %eax,36(%esp,%ebx,4) | |
10171 ++ je L005common_tail | |
10172 ++ movl (%ecx),%edi | |
10173 ++ movl 8(%esp),%esi | |
10174 ++ movl %ecx,12(%esp) | |
10175 ++ xorl %ecx,%ecx | |
10176 ++ xorl %edx,%edx | |
10177 ++ movl (%esi),%eax | |
10178 ++ jmp L0041stmadd | |
10179 ++.align 4,0x90 | |
10180 ++L001bn_sqr_mont: | |
10181 ++ movl %ebx,(%esp) | |
10182 ++ movl %ecx,12(%esp) | |
10183 ++ movl %edi,%eax | |
10184 ++ mull %edi | |
10185 ++ movl %eax,32(%esp) | |
10186 ++ movl %edx,%ebx | |
10187 ++ shrl $1,%edx | |
10188 ++ andl $1,%ebx | |
10189 ++ incl %ecx | |
10190 ++.align 4,0x90 | |
10191 ++L006sqr: | |
10192 ++ movl (%esi,%ecx,4),%eax | |
10193 ++ movl %edx,%ebp | |
10194 ++ mull %edi | |
10195 ++ addl %ebp,%eax | |
10196 ++ leal 1(%ecx),%ecx | |
10197 ++ adcl $0,%edx | |
10198 ++ leal (%ebx,%eax,2),%ebp | |
10199 ++ shrl $31,%eax | |
10200 ++ cmpl (%esp),%ecx | |
10201 ++ movl %eax,%ebx | |
10202 ++ movl %ebp,28(%esp,%ecx,4) | |
10203 ++ jl L006sqr | |
10204 ++ movl (%esi,%ecx,4),%eax | |
10205 ++ movl %edx,%ebp | |
10206 ++ mull %edi | |
10207 ++ addl %ebp,%eax | |
10208 ++ movl 20(%esp),%edi | |
10209 ++ adcl $0,%edx | |
10210 ++ movl 16(%esp),%esi | |
10211 ++ leal (%ebx,%eax,2),%ebp | |
10212 ++ imull 32(%esp),%edi | |
10213 ++ shrl $31,%eax | |
10214 ++ movl %ebp,32(%esp,%ecx,4) | |
10215 ++ leal (%eax,%edx,2),%ebp | |
10216 ++ movl (%esi),%eax | |
10217 ++ shrl $31,%edx | |
10218 ++ movl %ebp,36(%esp,%ecx,4) | |
10219 ++ movl %edx,40(%esp,%ecx,4) | |
10220 ++ mull %edi | |
10221 ++ addl 32(%esp),%eax | |
10222 ++ movl %ecx,%ebx | |
10223 ++ adcl $0,%edx | |
10224 ++ movl 4(%esi),%eax | |
10225 ++ movl $1,%ecx | |
10226 ++.align 4,0x90 | |
10227 ++L0073rdmadd: | |
10228 ++ movl %edx,%ebp | |
10229 ++ mull %edi | |
10230 ++ addl 32(%esp,%ecx,4),%ebp | |
10231 ++ adcl $0,%edx | |
10232 ++ addl %eax,%ebp | |
10233 ++ movl 4(%esi,%ecx,4),%eax | |
10234 ++ adcl $0,%edx | |
10235 ++ movl %ebp,28(%esp,%ecx,4) | |
10236 ++ movl %edx,%ebp | |
10237 ++ mull %edi | |
10238 ++ addl 36(%esp,%ecx,4),%ebp | |
10239 ++ leal 2(%ecx),%ecx | |
10240 ++ adcl $0,%edx | |
10241 ++ addl %eax,%ebp | |
10242 ++ movl (%esi,%ecx,4),%eax | |
10243 ++ adcl $0,%edx | |
10244 ++ cmpl %ebx,%ecx | |
10245 ++ movl %ebp,24(%esp,%ecx,4) | |
10246 ++ jl L0073rdmadd | |
10247 ++ movl %edx,%ebp | |
10248 ++ mull %edi | |
10249 ++ addl 32(%esp,%ebx,4),%ebp | |
10250 ++ adcl $0,%edx | |
10251 ++ addl %eax,%ebp | |
10252 ++ adcl $0,%edx | |
10253 ++ movl %ebp,28(%esp,%ebx,4) | |
10254 ++ movl 12(%esp),%ecx | |
10255 ++ xorl %eax,%eax | |
10256 ++ movl 8(%esp),%esi | |
10257 ++ addl 36(%esp,%ebx,4),%edx | |
10258 ++ adcl 40(%esp,%ebx,4),%eax | |
10259 ++ movl %edx,32(%esp,%ebx,4) | |
10260 ++ cmpl %ebx,%ecx | |
10261 ++ movl %eax,36(%esp,%ebx,4) | |
10262 ++ je L005common_tail | |
10263 ++ movl 4(%esi,%ecx,4),%edi | |
10264 ++ leal 1(%ecx),%ecx | |
10265 ++ movl %edi,%eax | |
10266 ++ movl %ecx,12(%esp) | |
10267 ++ mull %edi | |
10268 ++ addl 32(%esp,%ecx,4),%eax | |
10269 ++ adcl $0,%edx | |
10270 ++ movl %eax,32(%esp,%ecx,4) | |
10271 ++ xorl %ebp,%ebp | |
10272 ++ cmpl %ebx,%ecx | |
10273 ++ leal 1(%ecx),%ecx | |
10274 ++ je L008sqrlast | |
10275 ++ movl %edx,%ebx | |
10276 ++ shrl $1,%edx | |
10277 ++ andl $1,%ebx | |
10278 ++.align 4,0x90 | |
10279 ++L009sqradd: | |
10280 ++ movl (%esi,%ecx,4),%eax | |
10281 ++ movl %edx,%ebp | |
10282 ++ mull %edi | |
10283 ++ addl %ebp,%eax | |
10284 ++ leal (%eax,%eax,1),%ebp | |
10285 ++ adcl $0,%edx | |
10286 ++ shrl $31,%eax | |
10287 ++ addl 32(%esp,%ecx,4),%ebp | |
10288 ++ leal 1(%ecx),%ecx | |
10289 ++ adcl $0,%eax | |
10290 ++ addl %ebx,%ebp | |
10291 ++ adcl $0,%eax | |
10292 ++ cmpl (%esp),%ecx | |
10293 ++ movl %ebp,28(%esp,%ecx,4) | |
10294 ++ movl %eax,%ebx | |
10295 ++ jle L009sqradd | |
10296 ++ movl %edx,%ebp | |
10297 ++ addl %edx,%edx | |
10298 ++ shrl $31,%ebp | |
10299 ++ addl %ebx,%edx | |
10300 ++ adcl $0,%ebp | |
10301 ++L008sqrlast: | |
10302 ++ movl 20(%esp),%edi | |
10303 ++ movl 16(%esp),%esi | |
10304 ++ imull 32(%esp),%edi | |
10305 ++ addl 32(%esp,%ecx,4),%edx | |
10306 ++ movl (%esi),%eax | |
10307 ++ adcl $0,%ebp | |
10308 ++ movl %edx,32(%esp,%ecx,4) | |
10309 ++ movl %ebp,36(%esp,%ecx,4) | |
10310 ++ mull %edi | |
10311 ++ addl 32(%esp),%eax | |
10312 ++ leal -1(%ecx),%ebx | |
10313 ++ adcl $0,%edx | |
10314 ++ movl $1,%ecx | |
10315 ++ movl 4(%esi),%eax | |
10316 ++ jmp L0073rdmadd | |
10317 ++.align 4,0x90 | |
10318 ++L005common_tail: | |
10319 ++ movl 16(%esp),%ebp | |
10320 ++ movl 4(%esp),%edi | |
10321 ++ leal 32(%esp),%esi | |
10322 ++ movl (%esi),%eax | |
10323 ++ movl %ebx,%ecx | |
10324 ++ xorl %edx,%edx | |
10325 ++.align 4,0x90 | |
10326 ++L010sub: | |
10327 ++ sbbl (%ebp,%edx,4),%eax | |
10328 ++ movl %eax,(%edi,%edx,4) | |
10329 ++ decl %ecx | |
10330 ++ movl 4(%esi,%edx,4),%eax | |
10331 ++ leal 1(%edx),%edx | |
10332 ++ jge L010sub | |
10333 ++ sbbl $0,%eax | |
10334 ++ andl %eax,%esi | |
10335 ++ notl %eax | |
10336 ++ movl %edi,%ebp | |
10337 ++ andl %eax,%ebp | |
10338 ++ orl %ebp,%esi | |
10339 ++.align 4,0x90 | |
10340 ++L011copy: | |
10341 ++ movl (%esi,%ebx,4),%eax | |
10342 ++ movl %eax,(%edi,%ebx,4) | |
10343 ++ movl %ecx,32(%esp,%ebx,4) | |
10344 ++ decl %ebx | |
10345 ++ jge L011copy | |
10346 ++ movl 24(%esp),%esp | |
10347 ++ movl $1,%eax | |
10348 ++L000just_leave: | |
10349 ++ popl %edi | |
10350 ++ popl %esi | |
10351 ++ popl %ebx | |
10352 ++ popl %ebp | |
10353 ++ ret | |
10354 ++.byte 77,111,110,116,103,111,109,101,114,121,32,77,117,108,116,105 | |
10355 ++.byte 112,108,105,99,97,116,105,111,110,32,102,111,114,32,120,56 | |
10356 ++.byte 54,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121 | |
10357 ++.byte 32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46 | |
10358 ++.byte 111,114,103,62,0 | |
10359 +diff --git a/crypto/des/asm/crypt586-mac.S b/crypto/des/asm/crypt586-mac.S | |
10360 +new file mode 100644 | |
10361 +index 0000000..9156a65 | |
10362 +--- /dev/null | |
10363 ++++ b/crypto/des/asm/crypt586-mac.S | |
10364 +@@ -0,0 +1,880 @@ | |
10365 ++.file "crypt586.s" | |
10366 ++.text | |
10367 ++.globl _fcrypt_body | |
10368 ++.align 4 | |
10369 ++_fcrypt_body: | |
10370 ++L_fcrypt_body_begin: | |
10371 ++ pushl %ebp | |
10372 ++ pushl %ebx | |
10373 ++ pushl %esi | |
10374 ++ pushl %edi | |
10375 ++ | |
10376 ++ # Load the 2 words | |
10377 ++ xorl %edi,%edi | |
10378 ++ xorl %esi,%esi | |
10379 ++ call L000PIC_me_up | |
10380 ++L000PIC_me_up: | |
10381 ++ popl %edx | |
10382 ++ movl L_DES_SPtrans$non_lazy_ptr-L000PIC_me_up(%edx),%edx | |
10383 ++ pushl %edx | |
10384 ++ movl 28(%esp),%ebp | |
10385 ++ pushl $25 | |
10386 ++L001start: | |
10387 ++ | |
10388 ++ # Round 0 | |
10389 ++ movl 36(%esp),%eax | |
10390 ++ movl %esi,%edx | |
10391 ++ shrl $16,%edx | |
10392 ++ movl 40(%esp),%ecx | |
10393 ++ xorl %esi,%edx | |
10394 ++ andl %edx,%eax | |
10395 ++ andl %ecx,%edx | |
10396 ++ movl %eax,%ebx | |
10397 ++ shll $16,%ebx | |
10398 ++ movl %edx,%ecx | |
10399 ++ shll $16,%ecx | |
10400 ++ xorl %ebx,%eax | |
10401 ++ xorl %ecx,%edx | |
10402 ++ movl (%ebp),%ebx | |
10403 ++ xorl %ebx,%eax | |
10404 ++ movl 4(%ebp),%ecx | |
10405 ++ xorl %esi,%eax | |
10406 ++ xorl %esi,%edx | |
10407 ++ xorl %ecx,%edx | |
10408 ++ andl $0xfcfcfcfc,%eax | |
10409 ++ xorl %ebx,%ebx | |
10410 ++ andl $0xcfcfcfcf,%edx | |
10411 ++ xorl %ecx,%ecx | |
10412 ++ movb %al,%bl | |
10413 ++ movb %ah,%cl | |
10414 ++ rorl $4,%edx | |
10415 ++ movl 4(%esp),%ebp | |
10416 ++ xorl (%ebp,%ebx,1),%edi | |
10417 ++ movb %dl,%bl | |
10418 ++ xorl 0x200(%ebp,%ecx,1),%edi | |
10419 ++ movb %dh,%cl | |
10420 ++ shrl $16,%eax | |
10421 ++ xorl 0x100(%ebp,%ebx,1),%edi | |
10422 ++ movb %ah,%bl | |
10423 ++ shrl $16,%edx | |
10424 ++ xorl 0x300(%ebp,%ecx,1),%edi | |
10425 ++ movb %dh,%cl | |
10426 ++ andl $0xff,%eax | |
10427 ++ andl $0xff,%edx | |
10428 ++ movl 0x600(%ebp,%ebx,1),%ebx | |
10429 ++ xorl %ebx,%edi | |
10430 ++ movl 0x700(%ebp,%ecx,1),%ebx | |
10431 ++ xorl %ebx,%edi | |
10432 ++ movl 0x400(%ebp,%eax,1),%ebx | |
10433 ++ xorl %ebx,%edi | |
10434 ++ movl 0x500(%ebp,%edx,1),%ebx | |
10435 ++ xorl %ebx,%edi | |
10436 ++ movl 32(%esp),%ebp | |
10437 ++ | |
10438 ++ # Round 1 | |
10439 ++ movl 36(%esp),%eax | |
10440 ++ movl %edi,%edx | |
10441 ++ shrl $16,%edx | |
10442 ++ movl 40(%esp),%ecx | |
10443 ++ xorl %edi,%edx | |
10444 ++ andl %edx,%eax | |
10445 ++ andl %ecx,%edx | |
10446 ++ movl %eax,%ebx | |
10447 ++ shll $16,%ebx | |
10448 ++ movl %edx,%ecx | |
10449 ++ shll $16,%ecx | |
10450 ++ xorl %ebx,%eax | |
10451 ++ xorl %ecx,%edx | |
10452 ++ movl 8(%ebp),%ebx | |
10453 ++ xorl %ebx,%eax | |
10454 ++ movl 12(%ebp),%ecx | |
10455 ++ xorl %edi,%eax | |
10456 ++ xorl %edi,%edx | |
10457 ++ xorl %ecx,%edx | |
10458 ++ andl $0xfcfcfcfc,%eax | |
10459 ++ xorl %ebx,%ebx | |
10460 ++ andl $0xcfcfcfcf,%edx | |
10461 ++ xorl %ecx,%ecx | |
10462 ++ movb %al,%bl | |
10463 ++ movb %ah,%cl | |
10464 ++ rorl $4,%edx | |
10465 ++ movl 4(%esp),%ebp | |
10466 ++ xorl (%ebp,%ebx,1),%esi | |
10467 ++ movb %dl,%bl | |
10468 ++ xorl 0x200(%ebp,%ecx,1),%esi | |
10469 ++ movb %dh,%cl | |
10470 ++ shrl $16,%eax | |
10471 ++ xorl 0x100(%ebp,%ebx,1),%esi | |
10472 ++ movb %ah,%bl | |
10473 ++ shrl $16,%edx | |
10474 ++ xorl 0x300(%ebp,%ecx,1),%esi | |
10475 ++ movb %dh,%cl | |
10476 ++ andl $0xff,%eax | |
10477 ++ andl $0xff,%edx | |
10478 ++ movl 0x600(%ebp,%ebx,1),%ebx | |
10479 ++ xorl %ebx,%esi | |
10480 ++ movl 0x700(%ebp,%ecx,1),%ebx | |
10481 ++ xorl %ebx,%esi | |
10482 ++ movl 0x400(%ebp,%eax,1),%ebx | |
10483 ++ xorl %ebx,%esi | |
10484 ++ movl 0x500(%ebp,%edx,1),%ebx | |
10485 ++ xorl %ebx,%esi | |
10486 ++ movl 32(%esp),%ebp | |
10487 ++ | |
10488 ++ # Round 2 | |
10489 ++ movl 36(%esp),%eax | |
10490 ++ movl %esi,%edx | |
10491 ++ shrl $16,%edx | |
10492 ++ movl 40(%esp),%ecx | |
10493 ++ xorl %esi,%edx | |
10494 ++ andl %edx,%eax | |
10495 ++ andl %ecx,%edx | |
10496 ++ movl %eax,%ebx | |
10497 ++ shll $16,%ebx | |
10498 ++ movl %edx,%ecx | |
10499 ++ shll $16,%ecx | |
10500 ++ xorl %ebx,%eax | |
10501 ++ xorl %ecx,%edx | |
10502 ++ movl 16(%ebp),%ebx | |
10503 ++ xorl %ebx,%eax | |
10504 ++ movl 20(%ebp),%ecx | |
10505 ++ xorl %esi,%eax | |
10506 ++ xorl %esi,%edx | |
10507 ++ xorl %ecx,%edx | |
10508 ++ andl $0xfcfcfcfc,%eax | |
10509 ++ xorl %ebx,%ebx | |
10510 ++ andl $0xcfcfcfcf,%edx | |
10511 ++ xorl %ecx,%ecx | |
10512 ++ movb %al,%bl | |
10513 ++ movb %ah,%cl | |
10514 ++ rorl $4,%edx | |
10515 ++ movl 4(%esp),%ebp | |
10516 ++ xorl (%ebp,%ebx,1),%edi | |
10517 ++ movb %dl,%bl | |
10518 ++ xorl 0x200(%ebp,%ecx,1),%edi | |
10519 ++ movb %dh,%cl | |
10520 ++ shrl $16,%eax | |
10521 ++ xorl 0x100(%ebp,%ebx,1),%edi | |
10522 ++ movb %ah,%bl | |
10523 ++ shrl $16,%edx | |
10524 ++ xorl 0x300(%ebp,%ecx,1),%edi | |
10525 ++ movb %dh,%cl | |
10526 ++ andl $0xff,%eax | |
10527 ++ andl $0xff,%edx | |
10528 ++ movl 0x600(%ebp,%ebx,1),%ebx | |
10529 ++ xorl %ebx,%edi | |
10530 ++ movl 0x700(%ebp,%ecx,1),%ebx | |
10531 ++ xorl %ebx,%edi | |
10532 ++ movl 0x400(%ebp,%eax,1),%ebx | |
10533 ++ xorl %ebx,%edi | |
10534 ++ movl 0x500(%ebp,%edx,1),%ebx | |
10535 ++ xorl %ebx,%edi | |
10536 ++ movl 32(%esp),%ebp | |
10537 ++ | |
10538 ++ # Round 3 | |
10539 ++ movl 36(%esp),%eax | |
10540 ++ movl %edi,%edx | |
10541 ++ shrl $16,%edx | |
10542 ++ movl 40(%esp),%ecx | |
10543 ++ xorl %edi,%edx | |
10544 ++ andl %edx,%eax | |
10545 ++ andl %ecx,%edx | |
10546 ++ movl %eax,%ebx | |
10547 ++ shll $16,%ebx | |
10548 ++ movl %edx,%ecx | |
10549 ++ shll $16,%ecx | |
10550 ++ xorl %ebx,%eax | |
10551 ++ xorl %ecx,%edx | |
10552 ++ movl 24(%ebp),%ebx | |
10553 ++ xorl %ebx,%eax | |
10554 ++ movl 28(%ebp),%ecx | |
10555 ++ xorl %edi,%eax | |
10556 ++ xorl %edi,%edx | |
10557 ++ xorl %ecx,%edx | |
10558 ++ andl $0xfcfcfcfc,%eax | |
10559 ++ xorl %ebx,%ebx | |
10560 ++ andl $0xcfcfcfcf,%edx | |
10561 ++ xorl %ecx,%ecx | |
10562 ++ movb %al,%bl | |
10563 ++ movb %ah,%cl | |
10564 ++ rorl $4,%edx | |
10565 ++ movl 4(%esp),%ebp | |
10566 ++ xorl (%ebp,%ebx,1),%esi | |
10567 ++ movb %dl,%bl | |
10568 ++ xorl 0x200(%ebp,%ecx,1),%esi | |
10569 ++ movb %dh,%cl | |
10570 ++ shrl $16,%eax | |
10571 ++ xorl 0x100(%ebp,%ebx,1),%esi | |
10572 ++ movb %ah,%bl | |
10573 ++ shrl $16,%edx | |
10574 ++ xorl 0x300(%ebp,%ecx,1),%esi | |
10575 ++ movb %dh,%cl | |
10576 ++ andl $0xff,%eax | |
10577 ++ andl $0xff,%edx | |
10578 ++ movl 0x600(%ebp,%ebx,1),%ebx | |
10579 ++ xorl %ebx,%esi | |
10580 ++ movl 0x700(%ebp,%ecx,1),%ebx | |
10581 ++ xorl %ebx,%esi | |
10582 ++ movl 0x400(%ebp,%eax,1),%ebx | |
10583 ++ xorl %ebx,%esi | |
10584 ++ movl 0x500(%ebp,%edx,1),%ebx | |
10585 ++ xorl %ebx,%esi | |
10586 ++ movl 32(%esp),%ebp | |
10587 ++ | |
10588 ++ # Round 4 | |
10589 ++ movl 36(%esp),%eax | |
10590 ++ movl %esi,%edx | |
10591 ++ shrl $16,%edx | |
10592 ++ movl 40(%esp),%ecx | |
10593 ++ xorl %esi,%edx | |
10594 ++ andl %edx,%eax | |
10595 ++ andl %ecx,%edx | |
10596 ++ movl %eax,%ebx | |
10597 ++ shll $16,%ebx | |
10598 ++ movl %edx,%ecx | |
10599 ++ shll $16,%ecx | |
10600 ++ xorl %ebx,%eax | |
10601 ++ xorl %ecx,%edx | |
10602 ++ movl 32(%ebp),%ebx | |
10603 ++ xorl %ebx,%eax | |
10604 ++ movl 36(%ebp),%ecx | |
10605 ++ xorl %esi,%eax | |
10606 ++ xorl %esi,%edx | |
10607 ++ xorl %ecx,%edx | |
10608 ++ andl $0xfcfcfcfc,%eax | |
10609 ++ xorl %ebx,%ebx | |
10610 ++ andl $0xcfcfcfcf,%edx | |
10611 ++ xorl %ecx,%ecx | |
10612 ++ movb %al,%bl | |
10613 ++ movb %ah,%cl | |
10614 ++ rorl $4,%edx | |
10615 ++ movl 4(%esp),%ebp | |
10616 ++ xorl (%ebp,%ebx,1),%edi | |
10617 ++ movb %dl,%bl | |
10618 ++ xorl 0x200(%ebp,%ecx,1),%edi | |
10619 ++ movb %dh,%cl | |
10620 ++ shrl $16,%eax | |
10621 ++ xorl 0x100(%ebp,%ebx,1),%edi | |
10622 ++ movb %ah,%bl | |
10623 ++ shrl $16,%edx | |
10624 ++ xorl 0x300(%ebp,%ecx,1),%edi | |
10625 ++ movb %dh,%cl | |
10626 ++ andl $0xff,%eax | |
10627 ++ andl $0xff,%edx | |
10628 ++ movl 0x600(%ebp,%ebx,1),%ebx | |
10629 ++ xorl %ebx,%edi | |
10630 ++ movl 0x700(%ebp,%ecx,1),%ebx | |
10631 ++ xorl %ebx,%edi | |
10632 ++ movl 0x400(%ebp,%eax,1),%ebx | |
10633 ++ xorl %ebx,%edi | |
10634 ++ movl 0x500(%ebp,%edx,1),%ebx | |
10635 ++ xorl %ebx,%edi | |
10636 ++ movl 32(%esp),%ebp | |
10637 ++ | |
10638 ++ # Round 5 | |
10639 ++ movl 36(%esp),%eax | |
10640 ++ movl %edi,%edx | |
10641 ++ shrl $16,%edx | |
10642 ++ movl 40(%esp),%ecx | |
10643 ++ xorl %edi,%edx | |
10644 ++ andl %edx,%eax | |
10645 ++ andl %ecx,%edx | |
10646 ++ movl %eax,%ebx | |
10647 ++ shll $16,%ebx | |
10648 ++ movl %edx,%ecx | |
10649 ++ shll $16,%ecx | |
10650 ++ xorl %ebx,%eax | |
10651 ++ xorl %ecx,%edx | |
10652 ++ movl 40(%ebp),%ebx | |
10653 ++ xorl %ebx,%eax | |
10654 ++ movl 44(%ebp),%ecx | |
10655 ++ xorl %edi,%eax | |
10656 ++ xorl %edi,%edx | |
10657 ++ xorl %ecx,%edx | |
10658 ++ andl $0xfcfcfcfc,%eax | |
10659 ++ xorl %ebx,%ebx | |
10660 ++ andl $0xcfcfcfcf,%edx | |
10661 ++ xorl %ecx,%ecx | |
10662 ++ movb %al,%bl | |
10663 ++ movb %ah,%cl | |
10664 ++ rorl $4,%edx | |
10665 ++ movl 4(%esp),%ebp | |
10666 ++ xorl (%ebp,%ebx,1),%esi | |
10667 ++ movb %dl,%bl | |
10668 ++ xorl 0x200(%ebp,%ecx,1),%esi | |
10669 ++ movb %dh,%cl | |
10670 ++ shrl $16,%eax | |
10671 ++ xorl 0x100(%ebp,%ebx,1),%esi | |
10672 ++ movb %ah,%bl | |
10673 ++ shrl $16,%edx | |
10674 ++ xorl 0x300(%ebp,%ecx,1),%esi | |
10675 ++ movb %dh,%cl | |
10676 ++ andl $0xff,%eax | |
10677 ++ andl $0xff,%edx | |
10678 ++ movl 0x600(%ebp,%ebx,1),%ebx | |
10679 ++ xorl %ebx,%esi | |
10680 ++ movl 0x700(%ebp,%ecx,1),%ebx | |
10681 ++ xorl %ebx,%esi | |
10682 ++ movl 0x400(%ebp,%eax,1),%ebx | |
10683 ++ xorl %ebx,%esi | |
10684 ++ movl 0x500(%ebp,%edx,1),%ebx | |
10685 ++ xorl %ebx,%esi | |
10686 ++ movl 32(%esp),%ebp | |
10687 ++ | |
10688 ++ # Round 6 | |
10689 ++ movl 36(%esp),%eax | |
10690 ++ movl %esi,%edx | |
10691 ++ shrl $16,%edx | |
10692 ++ movl 40(%esp),%ecx | |
10693 ++ xorl %esi,%edx | |
10694 ++ andl %edx,%eax | |
10695 ++ andl %ecx,%edx | |
10696 ++ movl %eax,%ebx | |
10697 ++ shll $16,%ebx | |
10698 ++ movl %edx,%ecx | |
10699 ++ shll $16,%ecx | |
10700 ++ xorl %ebx,%eax | |
10701 ++ xorl %ecx,%edx | |
10702 ++ movl 48(%ebp),%ebx | |
10703 ++ xorl %ebx,%eax | |
10704 ++ movl 52(%ebp),%ecx | |
10705 ++ xorl %esi,%eax | |
10706 ++ xorl %esi,%edx | |
10707 ++ xorl %ecx,%edx | |
10708 ++ andl $0xfcfcfcfc,%eax | |
10709 ++ xorl %ebx,%ebx | |
10710 ++ andl $0xcfcfcfcf,%edx | |
10711 ++ xorl %ecx,%ecx | |
10712 ++ movb %al,%bl | |
10713 ++ movb %ah,%cl | |
10714 ++ rorl $4,%edx | |
10715 ++ movl 4(%esp),%ebp | |
10716 ++ xorl (%ebp,%ebx,1),%edi | |
10717 ++ movb %dl,%bl | |
10718 ++ xorl 0x200(%ebp,%ecx,1),%edi | |
10719 ++ movb %dh,%cl | |
10720 ++ shrl $16,%eax | |
10721 ++ xorl 0x100(%ebp,%ebx,1),%edi | |
10722 ++ movb %ah,%bl | |
10723 ++ shrl $16,%edx | |
10724 ++ xorl 0x300(%ebp,%ecx,1),%edi | |
10725 ++ movb %dh,%cl | |
10726 ++ andl $0xff,%eax | |
10727 ++ andl $0xff,%edx | |
10728 ++ movl 0x600(%ebp,%ebx,1),%ebx | |
10729 ++ xorl %ebx,%edi | |
10730 ++ movl 0x700(%ebp,%ecx,1),%ebx | |
10731 ++ xorl %ebx,%edi | |
10732 ++ movl 0x400(%ebp,%eax,1),%ebx | |
10733 ++ xorl %ebx,%edi | |
10734 ++ movl 0x500(%ebp,%edx,1),%ebx | |
10735 ++ xorl %ebx,%edi | |
10736 ++ movl 32(%esp),%ebp | |
10737 ++ | |
10738 ++ # Round 7 | |
10739 ++ movl 36(%esp),%eax | |
10740 ++ movl %edi,%edx | |
10741 ++ shrl $16,%edx | |
10742 ++ movl 40(%esp),%ecx | |
10743 ++ xorl %edi,%edx | |
10744 ++ andl %edx,%eax | |
10745 ++ andl %ecx,%edx | |
10746 ++ movl %eax,%ebx | |
10747 ++ shll $16,%ebx | |
10748 ++ movl %edx,%ecx | |
10749 ++ shll $16,%ecx | |
10750 ++ xorl %ebx,%eax | |
10751 ++ xorl %ecx,%edx | |
10752 ++ movl 56(%ebp),%ebx | |
10753 ++ xorl %ebx,%eax | |
10754 ++ movl 60(%ebp),%ecx | |
10755 ++ xorl %edi,%eax | |
10756 ++ xorl %edi,%edx | |
10757 ++ xorl %ecx,%edx | |
10758 ++ andl $0xfcfcfcfc,%eax | |
10759 ++ xorl %ebx,%ebx | |
10760 ++ andl $0xcfcfcfcf,%edx | |
10761 ++ xorl %ecx,%ecx | |
10762 ++ movb %al,%bl | |
10763 ++ movb %ah,%cl | |
10764 ++ rorl $4,%edx | |
10765 ++ movl 4(%esp),%ebp | |
10766 ++ xorl (%ebp,%ebx,1),%esi | |
10767 ++ movb %dl,%bl | |
10768 ++ xorl 0x200(%ebp,%ecx,1),%esi | |
10769 ++ movb %dh,%cl | |
10770 ++ shrl $16,%eax | |
10771 ++ xorl 0x100(%ebp,%ebx,1),%esi | |
10772 ++ movb %ah,%bl | |
10773 ++ shrl $16,%edx | |
10774 ++ xorl 0x300(%ebp,%ecx,1),%esi | |
10775 ++ movb %dh,%cl | |
10776 ++ andl $0xff,%eax | |
10777 ++ andl $0xff,%edx | |
10778 ++ movl 0x600(%ebp,%ebx,1),%ebx | |
10779 ++ xorl %ebx,%esi | |
10780 ++ movl 0x700(%ebp,%ecx,1),%ebx | |
10781 ++ xorl %ebx,%esi | |
10782 ++ movl 0x400(%ebp,%eax,1),%ebx | |
10783 ++ xorl %ebx,%esi | |
10784 ++ movl 0x500(%ebp,%edx,1),%ebx | |
10785 ++ xorl %ebx,%esi | |
10786 ++ movl 32(%esp),%ebp | |
10787 ++ | |
10788 ++ # Round 8 | |
10789 ++ movl 36(%esp),%eax | |
10790 ++ movl %esi,%edx | |
10791 ++ shrl $16,%edx | |
10792 ++ movl 40(%esp),%ecx | |
10793 ++ xorl %esi,%edx | |
10794 ++ andl %edx,%eax | |
10795 ++ andl %ecx,%edx | |
10796 ++ movl %eax,%ebx | |
10797 ++ shll $16,%ebx | |
10798 ++ movl %edx,%ecx | |
10799 ++ shll $16,%ecx | |
10800 ++ xorl %ebx,%eax | |
10801 ++ xorl %ecx,%edx | |
10802 ++ movl 64(%ebp),%ebx | |
10803 ++ xorl %ebx,%eax | |
10804 ++ movl 68(%ebp),%ecx | |
10805 ++ xorl %esi,%eax | |
10806 ++ xorl %esi,%edx | |
10807 ++ xorl %ecx,%edx | |
10808 ++ andl $0xfcfcfcfc,%eax | |
10809 ++ xorl %ebx,%ebx | |
10810 ++ andl $0xcfcfcfcf,%edx | |
10811 ++ xorl %ecx,%ecx | |
10812 ++ movb %al,%bl | |
10813 ++ movb %ah,%cl | |
10814 ++ rorl $4,%edx | |
10815 ++ movl 4(%esp),%ebp | |
10816 ++ xorl (%ebp,%ebx,1),%edi | |
10817 ++ movb %dl,%bl | |
10818 ++ xorl 0x200(%ebp,%ecx,1),%edi | |
10819 ++ movb %dh,%cl | |
10820 ++ shrl $16,%eax | |
10821 ++ xorl 0x100(%ebp,%ebx,1),%edi | |
10822 ++ movb %ah,%bl | |
10823 ++ shrl $16,%edx | |
10824 ++ xorl 0x300(%ebp,%ecx,1),%edi | |
10825 ++ movb %dh,%cl | |
10826 ++ andl $0xff,%eax | |
10827 ++ andl $0xff,%edx | |
10828 ++ movl 0x600(%ebp,%ebx,1),%ebx | |
10829 ++ xorl %ebx,%edi | |
10830 ++ movl 0x700(%ebp,%ecx,1),%ebx | |
10831 ++ xorl %ebx,%edi | |
10832 ++ movl 0x400(%ebp,%eax,1),%ebx | |
10833 ++ xorl %ebx,%edi | |
10834 ++ movl 0x500(%ebp,%edx,1),%ebx | |
10835 ++ xorl %ebx,%edi | |
10836 ++ movl 32(%esp),%ebp | |
10837 ++ | |
10838 ++ # Round 9 | |
10839 ++ movl 36(%esp),%eax | |
10840 ++ movl %edi,%edx | |
10841 ++ shrl $16,%edx | |
10842 ++ movl 40(%esp),%ecx | |
10843 ++ xorl %edi,%edx | |
10844 ++ andl %edx,%eax | |
10845 ++ andl %ecx,%edx | |
10846 ++ movl %eax,%ebx | |
10847 ++ shll $16,%ebx | |
10848 ++ movl %edx,%ecx | |
10849 ++ shll $16,%ecx | |
10850 ++ xorl %ebx,%eax | |
10851 ++ xorl %ecx,%edx | |
10852 ++ movl 72(%ebp),%ebx | |
10853 ++ xorl %ebx,%eax | |
10854 ++ movl 76(%ebp),%ecx | |
10855 ++ xorl %edi,%eax | |
10856 ++ xorl %edi,%edx | |
10857 ++ xorl %ecx,%edx | |
10858 ++ andl $0xfcfcfcfc,%eax | |
10859 ++ xorl %ebx,%ebx | |
10860 ++ andl $0xcfcfcfcf,%edx | |
10861 ++ xorl %ecx,%ecx | |
10862 ++ movb %al,%bl | |
10863 ++ movb %ah,%cl | |
10864 ++ rorl $4,%edx | |
10865 ++ movl 4(%esp),%ebp | |
10866 ++ xorl (%ebp,%ebx,1),%esi | |
10867 ++ movb %dl,%bl | |
10868 ++ xorl 0x200(%ebp,%ecx,1),%esi | |
10869 ++ movb %dh,%cl | |
10870 ++ shrl $16,%eax | |
10871 ++ xorl 0x100(%ebp,%ebx,1),%esi | |
10872 ++ movb %ah,%bl | |
10873 ++ shrl $16,%edx | |
10874 ++ xorl 0x300(%ebp,%ecx,1),%esi | |
10875 ++ movb %dh,%cl | |
10876 ++ andl $0xff,%eax | |
10877 ++ andl $0xff,%edx | |
10878 ++ movl 0x600(%ebp,%ebx,1),%ebx | |
10879 ++ xorl %ebx,%esi | |
10880 ++ movl 0x700(%ebp,%ecx,1),%ebx | |
10881 ++ xorl %ebx,%esi | |
10882 ++ movl 0x400(%ebp,%eax,1),%ebx | |
10883 ++ xorl %ebx,%esi | |
10884 ++ movl 0x500(%ebp,%edx,1),%ebx | |
10885 ++ xorl %ebx,%esi | |
10886 ++ movl 32(%esp),%ebp | |
10887 ++ | |
10888 ++ # Round 10 | |
10889 ++ movl 36(%esp),%eax | |
10890 ++ movl %esi,%edx | |
10891 ++ shrl $16,%edx | |
10892 ++ movl 40(%esp),%ecx | |
10893 ++ xorl %esi,%edx | |
10894 ++ andl %edx,%eax | |
10895 ++ andl %ecx,%edx | |
10896 ++ movl %eax,%ebx | |
10897 ++ shll $16,%ebx | |
10898 ++ movl %edx,%ecx | |
10899 ++ shll $16,%ecx | |
10900 ++ xorl %ebx,%eax | |
10901 ++ xorl %ecx,%edx | |
10902 ++ movl 80(%ebp),%ebx | |
10903 ++ xorl %ebx,%eax | |
10904 ++ movl 84(%ebp),%ecx | |
10905 ++ xorl %esi,%eax | |
10906 ++ xorl %esi,%edx | |
10907 ++ xorl %ecx,%edx | |
10908 ++ andl $0xfcfcfcfc,%eax | |
10909 ++ xorl %ebx,%ebx | |
10910 ++ andl $0xcfcfcfcf,%edx | |
10911 ++ xorl %ecx,%ecx | |
10912 ++ movb %al,%bl | |
10913 ++ movb %ah,%cl | |
10914 ++ rorl $4,%edx | |
10915 ++ movl 4(%esp),%ebp | |
10916 ++ xorl (%ebp,%ebx,1),%edi | |
10917 ++ movb %dl,%bl | |
10918 ++ xorl 0x200(%ebp,%ecx,1),%edi | |
10919 ++ movb %dh,%cl | |
10920 ++ shrl $16,%eax | |
10921 ++ xorl 0x100(%ebp,%ebx,1),%edi | |
10922 ++ movb %ah,%bl | |
10923 ++ shrl $16,%edx | |
10924 ++ xorl 0x300(%ebp,%ecx,1),%edi | |
10925 ++ movb %dh,%cl | |
10926 ++ andl $0xff,%eax | |
10927 ++ andl $0xff,%edx | |
10928 ++ movl 0x600(%ebp,%ebx,1),%ebx | |
10929 ++ xorl %ebx,%edi | |
10930 ++ movl 0x700(%ebp,%ecx,1),%ebx | |
10931 ++ xorl %ebx,%edi | |
10932 ++ movl 0x400(%ebp,%eax,1),%ebx | |
10933 ++ xorl %ebx,%edi | |
10934 ++ movl 0x500(%ebp,%edx,1),%ebx | |
10935 ++ xorl %ebx,%edi | |
10936 ++ movl 32(%esp),%ebp | |
10937 ++ | |
10938 ++ # Round 11 | |
10939 ++ movl 36(%esp),%eax | |
10940 ++ movl %edi,%edx | |
10941 ++ shrl $16,%edx | |
10942 ++ movl 40(%esp),%ecx | |
10943 ++ xorl %edi,%edx | |
10944 ++ andl %edx,%eax | |
10945 ++ andl %ecx,%edx | |
10946 ++ movl %eax,%ebx | |
10947 ++ shll $16,%ebx | |
10948 ++ movl %edx,%ecx | |
10949 ++ shll $16,%ecx | |
10950 ++ xorl %ebx,%eax | |
10951 ++ xorl %ecx,%edx | |
10952 ++ movl 88(%ebp),%ebx | |
10953 ++ xorl %ebx,%eax | |
10954 ++ movl 92(%ebp),%ecx | |
10955 ++ xorl %edi,%eax | |
10956 ++ xorl %edi,%edx | |
10957 ++ xorl %ecx,%edx | |
10958 ++ andl $0xfcfcfcfc,%eax | |
10959 ++ xorl %ebx,%ebx | |
10960 ++ andl $0xcfcfcfcf,%edx | |
10961 ++ xorl %ecx,%ecx | |
10962 ++ movb %al,%bl | |
10963 ++ movb %ah,%cl | |
10964 ++ rorl $4,%edx | |
10965 ++ movl 4(%esp),%ebp | |
10966 ++ xorl (%ebp,%ebx,1),%esi | |
10967 ++ movb %dl,%bl | |
10968 ++ xorl 0x200(%ebp,%ecx,1),%esi | |
10969 ++ movb %dh,%cl | |
10970 ++ shrl $16,%eax | |
10971 ++ xorl 0x100(%ebp,%ebx,1),%esi | |
10972 ++ movb %ah,%bl | |
10973 ++ shrl $16,%edx | |
10974 ++ xorl 0x300(%ebp,%ecx,1),%esi | |
10975 ++ movb %dh,%cl | |
10976 ++ andl $0xff,%eax | |
10977 ++ andl $0xff,%edx | |
10978 ++ movl 0x600(%ebp,%ebx,1),%ebx | |
10979 ++ xorl %ebx,%esi | |
10980 ++ movl 0x700(%ebp,%ecx,1),%ebx | |
10981 ++ xorl %ebx,%esi | |
10982 ++ movl 0x400(%ebp,%eax,1),%ebx | |
10983 ++ xorl %ebx,%esi | |
10984 ++ movl 0x500(%ebp,%edx,1),%ebx | |
10985 ++ xorl %ebx,%esi | |
10986 ++ movl 32(%esp),%ebp | |
10987 ++ | |
10988 ++ # Round 12 | |
10989 ++ movl 36(%esp),%eax | |
10990 ++ movl %esi,%edx | |
10991 ++ shrl $16,%edx | |
10992 ++ movl 40(%esp),%ecx | |
10993 ++ xorl %esi,%edx | |
10994 ++ andl %edx,%eax | |
10995 ++ andl %ecx,%edx | |
10996 ++ movl %eax,%ebx | |
10997 ++ shll $16,%ebx | |
10998 ++ movl %edx,%ecx | |
10999 ++ shll $16,%ecx | |
11000 ++ xorl %ebx,%eax | |
11001 ++ xorl %ecx,%edx | |
11002 ++ movl 96(%ebp),%ebx | |
11003 ++ xorl %ebx,%eax | |
11004 ++ movl 100(%ebp),%ecx | |
11005 ++ xorl %esi,%eax | |
11006 ++ xorl %esi,%edx | |
11007 ++ xorl %ecx,%edx | |
11008 ++ andl $0xfcfcfcfc,%eax | |
11009 ++ xorl %ebx,%ebx | |
11010 ++ andl $0xcfcfcfcf,%edx | |
11011 ++ xorl %ecx,%ecx | |
11012 ++ movb %al,%bl | |
11013 ++ movb %ah,%cl | |
11014 ++ rorl $4,%edx | |
11015 ++ movl 4(%esp),%ebp | |
11016 ++ xorl (%ebp,%ebx,1),%edi | |
11017 ++ movb %dl,%bl | |
11018 ++ xorl 0x200(%ebp,%ecx,1),%edi | |
11019 ++ movb %dh,%cl | |
11020 ++ shrl $16,%eax | |
11021 ++ xorl 0x100(%ebp,%ebx,1),%edi | |
11022 ++ movb %ah,%bl | |
11023 ++ shrl $16,%edx | |
11024 ++ xorl 0x300(%ebp,%ecx,1),%edi | |
11025 ++ movb %dh,%cl | |
11026 ++ andl $0xff,%eax | |
11027 ++ andl $0xff,%edx | |
11028 ++ movl 0x600(%ebp,%ebx,1),%ebx | |
11029 ++ xorl %ebx,%edi | |
11030 ++ movl 0x700(%ebp,%ecx,1),%ebx | |
11031 ++ xorl %ebx,%edi | |
11032 ++ movl 0x400(%ebp,%eax,1),%ebx | |
11033 ++ xorl %ebx,%edi | |
11034 ++ movl 0x500(%ebp,%edx,1),%ebx | |
11035 ++ xorl %ebx,%edi | |
11036 ++ movl 32(%esp),%ebp | |
11037 ++ | |
11038 ++ # Round 13 | |
11039 ++ movl 36(%esp),%eax | |
11040 ++ movl %edi,%edx | |
11041 ++ shrl $16,%edx | |
11042 ++ movl 40(%esp),%ecx | |
11043 ++ xorl %edi,%edx | |
11044 ++ andl %edx,%eax | |
11045 ++ andl %ecx,%edx | |
11046 ++ movl %eax,%ebx | |
11047 ++ shll $16,%ebx | |
11048 ++ movl %edx,%ecx | |
11049 ++ shll $16,%ecx | |
11050 ++ xorl %ebx,%eax | |
11051 ++ xorl %ecx,%edx | |
11052 ++ movl 104(%ebp),%ebx | |
11053 ++ xorl %ebx,%eax | |
11054 ++ movl 108(%ebp),%ecx | |
11055 ++ xorl %edi,%eax | |
11056 ++ xorl %edi,%edx | |
11057 ++ xorl %ecx,%edx | |
11058 ++ andl $0xfcfcfcfc,%eax | |
11059 ++ xorl %ebx,%ebx | |
11060 ++ andl $0xcfcfcfcf,%edx | |
11061 ++ xorl %ecx,%ecx | |
11062 ++ movb %al,%bl | |
11063 ++ movb %ah,%cl | |
11064 ++ rorl $4,%edx | |
11065 ++ movl 4(%esp),%ebp | |
11066 ++ xorl (%ebp,%ebx,1),%esi | |
11067 ++ movb %dl,%bl | |
11068 ++ xorl 0x200(%ebp,%ecx,1),%esi | |
11069 ++ movb %dh,%cl | |
11070 ++ shrl $16,%eax | |
11071 ++ xorl 0x100(%ebp,%ebx,1),%esi | |
11072 ++ movb %ah,%bl | |
11073 ++ shrl $16,%edx | |
11074 ++ xorl 0x300(%ebp,%ecx,1),%esi | |
11075 ++ movb %dh,%cl | |
11076 ++ andl $0xff,%eax | |
11077 ++ andl $0xff,%edx | |
11078 ++ movl 0x600(%ebp,%ebx,1),%ebx | |
11079 ++ xorl %ebx,%esi | |
11080 ++ movl 0x700(%ebp,%ecx,1),%ebx | |
11081 ++ xorl %ebx,%esi | |
11082 ++ movl 0x400(%ebp,%eax,1),%ebx | |
11083 ++ xorl %ebx,%esi | |
11084 ++ movl 0x500(%ebp,%edx,1),%ebx | |
11085 ++ xorl %ebx,%esi | |
11086 ++ movl 32(%esp),%ebp | |
11087 ++ | |
11088 ++ # Round 14 | |
11089 ++ movl 36(%esp),%eax | |
11090 ++ movl %esi,%edx | |
11091 ++ shrl $16,%edx | |
11092 ++ movl 40(%esp),%ecx | |
11093 ++ xorl %esi,%edx | |
11094 ++ andl %edx,%eax | |
11095 ++ andl %ecx,%edx | |
11096 ++ movl %eax,%ebx | |
11097 ++ shll $16,%ebx | |
11098 ++ movl %edx,%ecx | |
11099 ++ shll $16,%ecx | |
11100 ++ xorl %ebx,%eax | |
11101 ++ xorl %ecx,%edx | |
11102 ++ movl 112(%ebp),%ebx | |
11103 ++ xorl %ebx,%eax | |
11104 ++ movl 116(%ebp),%ecx | |
11105 ++ xorl %esi,%eax | |
11106 ++ xorl %esi,%edx | |
11107 ++ xorl %ecx,%edx | |
11108 ++ andl $0xfcfcfcfc,%eax | |
11109 ++ xorl %ebx,%ebx | |
11110 ++ andl $0xcfcfcfcf,%edx | |
11111 ++ xorl %ecx,%ecx | |
11112 ++ movb %al,%bl | |
11113 ++ movb %ah,%cl | |
11114 ++ rorl $4,%edx | |
11115 ++ movl 4(%esp),%ebp | |
11116 ++ xorl (%ebp,%ebx,1),%edi | |
11117 ++ movb %dl,%bl | |
11118 ++ xorl 0x200(%ebp,%ecx,1),%edi | |
11119 ++ movb %dh,%cl | |
11120 ++ shrl $16,%eax | |
11121 ++ xorl 0x100(%ebp,%ebx,1),%edi | |
11122 ++ movb %ah,%bl | |
11123 ++ shrl $16,%edx | |
11124 ++ xorl 0x300(%ebp,%ecx,1),%edi | |
11125 ++ movb %dh,%cl | |
11126 ++ andl $0xff,%eax | |
11127 ++ andl $0xff,%edx | |
11128 ++ movl 0x600(%ebp,%ebx,1),%ebx | |
11129 ++ xorl %ebx,%edi | |
11130 ++ movl 0x700(%ebp,%ecx,1),%ebx | |
11131 ++ xorl %ebx,%edi | |
11132 ++ movl 0x400(%ebp,%eax,1),%ebx | |
11133 ++ xorl %ebx,%edi | |
11134 ++ movl 0x500(%ebp,%edx,1),%ebx | |
11135 ++ xorl %ebx,%edi | |
11136 ++ movl 32(%esp),%ebp | |
11137 ++ | |
11138 ++ # Round 15 | |
11139 ++ movl 36(%esp),%eax | |
11140 ++ movl %edi,%edx | |
11141 ++ shrl $16,%edx | |
11142 ++ movl 40(%esp),%ecx | |
11143 ++ xorl %edi,%edx | |
11144 ++ andl %edx,%eax | |
11145 ++ andl %ecx,%edx | |
11146 ++ movl %eax,%ebx | |
11147 ++ shll $16,%ebx | |
11148 ++ movl %edx,%ecx | |
11149 ++ shll $16,%ecx | |
11150 ++ xorl %ebx,%eax | |
11151 ++ xorl %ecx,%edx | |
11152 ++ movl 120(%ebp),%ebx | |
11153 ++ xorl %ebx,%eax | |
11154 ++ movl 124(%ebp),%ecx | |
11155 ++ xorl %edi,%eax | |
11156 ++ xorl %edi,%edx | |
11157 ++ xorl %ecx,%edx | |
11158 ++ andl $0xfcfcfcfc,%eax | |
11159 ++ xorl %ebx,%ebx | |
11160 ++ andl $0xcfcfcfcf,%edx | |
11161 ++ xorl %ecx,%ecx | |
11162 ++ movb %al,%bl | |
11163 ++ movb %ah,%cl | |
11164 ++ rorl $4,%edx | |
11165 ++ movl 4(%esp),%ebp | |
11166 ++ xorl (%ebp,%ebx,1),%esi | |
11167 ++ movb %dl,%bl | |
11168 ++ xorl 0x200(%ebp,%ecx,1),%esi | |
11169 ++ movb %dh,%cl | |
11170 ++ shrl $16,%eax | |
11171 ++ xorl 0x100(%ebp,%ebx,1),%esi | |
11172 ++ movb %ah,%bl | |
11173 ++ shrl $16,%edx | |
11174 ++ xorl 0x300(%ebp,%ecx,1),%esi | |
11175 ++ movb %dh,%cl | |
11176 ++ andl $0xff,%eax | |
11177 ++ andl $0xff,%edx | |
11178 ++ movl 0x600(%ebp,%ebx,1),%ebx | |
11179 ++ xorl %ebx,%esi | |
11180 ++ movl 0x700(%ebp,%ecx,1),%ebx | |
11181 ++ xorl %ebx,%esi | |
11182 ++ movl 0x400(%ebp,%eax,1),%ebx | |
11183 ++ xorl %ebx,%esi | |
11184 ++ movl 0x500(%ebp,%edx,1),%ebx | |
11185 ++ xorl %ebx,%esi | |
11186 ++ movl 32(%esp),%ebp | |
11187 ++ movl (%esp),%ebx | |
11188 ++ movl %edi,%eax | |
11189 ++ decl %ebx | |
11190 ++ movl %esi,%edi | |
11191 ++ movl %eax,%esi | |
11192 ++ movl %ebx,(%esp) | |
11193 ++ jnz L001start | |
11194 ++ | |
11195 ++ # FP | |
11196 ++ movl 28(%esp),%edx | |
11197 ++ rorl $1,%edi | |
11198 ++ movl %esi,%eax | |
11199 ++ xorl %edi,%esi | |
11200 ++ andl $0xaaaaaaaa,%esi | |
11201 ++ xorl %esi,%eax | |
11202 ++ xorl %esi,%edi | |
11203 ++ | |
11204 ++ roll $23,%eax | |
11205 ++ movl %eax,%esi | |
11206 ++ xorl %edi,%eax | |
11207 ++ andl $0x03fc03fc,%eax | |
11208 ++ xorl %eax,%esi | |
11209 ++ xorl %eax,%edi | |
11210 ++ | |
11211 ++ roll $10,%esi | |
11212 ++ movl %esi,%eax | |
11213 ++ xorl %edi,%esi | |
11214 ++ andl $0x33333333,%esi | |
11215 ++ xorl %esi,%eax | |
11216 ++ xorl %esi,%edi | |
11217 ++ | |
11218 ++ roll $18,%edi | |
11219 ++ movl %edi,%esi | |
11220 ++ xorl %eax,%edi | |
11221 ++ andl $0xfff0000f,%edi | |
11222 ++ xorl %edi,%esi | |
11223 ++ xorl %edi,%eax | |
11224 ++ | |
11225 ++ roll $12,%esi | |
11226 ++ movl %esi,%edi | |
11227 ++ xorl %eax,%esi | |
11228 ++ andl $0xf0f0f0f0,%esi | |
11229 ++ xorl %esi,%edi | |
11230 ++ xorl %esi,%eax | |
11231 ++ | |
11232 ++ rorl $4,%eax | |
11233 ++ movl %eax,(%edx) | |
11234 ++ movl %edi,4(%edx) | |
11235 ++ addl $8,%esp | |
11236 ++ popl %edi | |
11237 ++ popl %esi | |
11238 ++ popl %ebx | |
11239 ++ popl %ebp | |
11240 ++ ret | |
11241 ++.section __IMPORT,__pointers,non_lazy_symbol_pointers | |
11242 ++L_DES_SPtrans$non_lazy_ptr: | |
11243 ++.indirect_symbol _DES_SPtrans | |
11244 ++.long 0 | |
11245 +diff --git a/crypto/des/asm/des-586-mac.S b/crypto/des/asm/des-586-mac.S | |
11246 +new file mode 100644 | |
11247 +index 0000000..4969416 | |
11248 +--- /dev/null | |
11249 ++++ b/crypto/des/asm/des-586-mac.S | |
11250 +@@ -0,0 +1,1821 @@ | |
11251 ++.file "des-586.s" | |
11252 ++.text | |
11253 ++.globl _DES_SPtrans | |
11254 ++.align 4 | |
11255 ++__x86_DES_encrypt: | |
11256 ++ pushl %ecx | |
11257 ++ # Round 0 | |
11258 ++ movl (%ecx),%eax | |
11259 ++ xorl %ebx,%ebx | |
11260 ++ movl 4(%ecx),%edx | |
11261 ++ xorl %esi,%eax | |
11262 ++ xorl %ecx,%ecx | |
11263 ++ xorl %esi,%edx | |
11264 ++ andl $0xfcfcfcfc,%eax | |
11265 ++ andl $0xcfcfcfcf,%edx | |
11266 ++ movb %al,%bl | |
11267 ++ movb %ah,%cl | |
11268 ++ rorl $4,%edx | |
11269 ++ xorl (%ebp,%ebx,1),%edi | |
11270 ++ movb %dl,%bl | |
11271 ++ xorl 0x200(%ebp,%ecx,1),%edi | |
11272 ++ movb %dh,%cl | |
11273 ++ shrl $16,%eax | |
11274 ++ xorl 0x100(%ebp,%ebx,1),%edi | |
11275 ++ movb %ah,%bl | |
11276 ++ shrl $16,%edx | |
11277 ++ xorl 0x300(%ebp,%ecx,1),%edi | |
11278 ++ movb %dh,%cl | |
11279 ++ andl $0xff,%eax | |
11280 ++ andl $0xff,%edx | |
11281 ++ xorl 0x600(%ebp,%ebx,1),%edi | |
11282 ++ xorl 0x700(%ebp,%ecx,1),%edi | |
11283 ++ movl (%esp),%ecx | |
11284 ++ xorl 0x400(%ebp,%eax,1),%edi | |
11285 ++ xorl 0x500(%ebp,%edx,1),%edi | |
11286 ++ # Round 1 | |
11287 ++ movl 8(%ecx),%eax | |
11288 ++ xorl %ebx,%ebx | |
11289 ++ movl 12(%ecx),%edx | |
11290 ++ xorl %edi,%eax | |
11291 ++ xorl %ecx,%ecx | |
11292 ++ xorl %edi,%edx | |
11293 ++ andl $0xfcfcfcfc,%eax | |
11294 ++ andl $0xcfcfcfcf,%edx | |
11295 ++ movb %al,%bl | |
11296 ++ movb %ah,%cl | |
11297 ++ rorl $4,%edx | |
11298 ++ xorl (%ebp,%ebx,1),%esi | |
11299 ++ movb %dl,%bl | |
11300 ++ xorl 0x200(%ebp,%ecx,1),%esi | |
11301 ++ movb %dh,%cl | |
11302 ++ shrl $16,%eax | |
11303 ++ xorl 0x100(%ebp,%ebx,1),%esi | |
11304 ++ movb %ah,%bl | |
11305 ++ shrl $16,%edx | |
11306 ++ xorl 0x300(%ebp,%ecx,1),%esi | |
11307 ++ movb %dh,%cl | |
11308 ++ andl $0xff,%eax | |
11309 ++ andl $0xff,%edx | |
11310 ++ xorl 0x600(%ebp,%ebx,1),%esi | |
11311 ++ xorl 0x700(%ebp,%ecx,1),%esi | |
11312 ++ movl (%esp),%ecx | |
11313 ++ xorl 0x400(%ebp,%eax,1),%esi | |
11314 ++ xorl 0x500(%ebp,%edx,1),%esi | |
11315 ++ # Round 2 | |
11316 ++ movl 16(%ecx),%eax | |
11317 ++ xorl %ebx,%ebx | |
11318 ++ movl 20(%ecx),%edx | |
11319 ++ xorl %esi,%eax | |
11320 ++ xorl %ecx,%ecx | |
11321 ++ xorl %esi,%edx | |
11322 ++ andl $0xfcfcfcfc,%eax | |
11323 ++ andl $0xcfcfcfcf,%edx | |
11324 ++ movb %al,%bl | |
11325 ++ movb %ah,%cl | |
11326 ++ rorl $4,%edx | |
11327 ++ xorl (%ebp,%ebx,1),%edi | |
11328 ++ movb %dl,%bl | |
11329 ++ xorl 0x200(%ebp,%ecx,1),%edi | |
11330 ++ movb %dh,%cl | |
11331 ++ shrl $16,%eax | |
11332 ++ xorl 0x100(%ebp,%ebx,1),%edi | |
11333 ++ movb %ah,%bl | |
11334 ++ shrl $16,%edx | |
11335 ++ xorl 0x300(%ebp,%ecx,1),%edi | |
11336 ++ movb %dh,%cl | |
11337 ++ andl $0xff,%eax | |
11338 ++ andl $0xff,%edx | |
11339 ++ xorl 0x600(%ebp,%ebx,1),%edi | |
11340 ++ xorl 0x700(%ebp,%ecx,1),%edi | |
11341 ++ movl (%esp),%ecx | |
11342 ++ xorl 0x400(%ebp,%eax,1),%edi | |
11343 ++ xorl 0x500(%ebp,%edx,1),%edi | |
11344 ++ # Round 3 | |
11345 ++ movl 24(%ecx),%eax | |
11346 ++ xorl %ebx,%ebx | |
11347 ++ movl 28(%ecx),%edx | |
11348 ++ xorl %edi,%eax | |
11349 ++ xorl %ecx,%ecx | |
11350 ++ xorl %edi,%edx | |
11351 ++ andl $0xfcfcfcfc,%eax | |
11352 ++ andl $0xcfcfcfcf,%edx | |
11353 ++ movb %al,%bl | |
11354 ++ movb %ah,%cl | |
11355 ++ rorl $4,%edx | |
11356 ++ xorl (%ebp,%ebx,1),%esi | |
11357 ++ movb %dl,%bl | |
11358 ++ xorl 0x200(%ebp,%ecx,1),%esi | |
11359 ++ movb %dh,%cl | |
11360 ++ shrl $16,%eax | |
11361 ++ xorl 0x100(%ebp,%ebx,1),%esi | |
11362 ++ movb %ah,%bl | |
11363 ++ shrl $16,%edx | |
11364 ++ xorl 0x300(%ebp,%ecx,1),%esi | |
11365 ++ movb %dh,%cl | |
11366 ++ andl $0xff,%eax | |
11367 ++ andl $0xff,%edx | |
11368 ++ xorl 0x600(%ebp,%ebx,1),%esi | |
11369 ++ xorl 0x700(%ebp,%ecx,1),%esi | |
11370 ++ movl (%esp),%ecx | |
11371 ++ xorl 0x400(%ebp,%eax,1),%esi | |
11372 ++ xorl 0x500(%ebp,%edx,1),%esi | |
11373 ++ # Round 4 | |
11374 ++ movl 32(%ecx),%eax | |
11375 ++ xorl %ebx,%ebx | |
11376 ++ movl 36(%ecx),%edx | |
11377 ++ xorl %esi,%eax | |
11378 ++ xorl %ecx,%ecx | |
11379 ++ xorl %esi,%edx | |
11380 ++ andl $0xfcfcfcfc,%eax | |
11381 ++ andl $0xcfcfcfcf,%edx | |
11382 ++ movb %al,%bl | |
11383 ++ movb %ah,%cl | |
11384 ++ rorl $4,%edx | |
11385 ++ xorl (%ebp,%ebx,1),%edi | |
11386 ++ movb %dl,%bl | |
11387 ++ xorl 0x200(%ebp,%ecx,1),%edi | |
11388 ++ movb %dh,%cl | |
11389 ++ shrl $16,%eax | |
11390 ++ xorl 0x100(%ebp,%ebx,1),%edi | |
11391 ++ movb %ah,%bl | |
11392 ++ shrl $16,%edx | |
11393 ++ xorl 0x300(%ebp,%ecx,1),%edi | |
11394 ++ movb %dh,%cl | |
11395 ++ andl $0xff,%eax | |
11396 ++ andl $0xff,%edx | |
11397 ++ xorl 0x600(%ebp,%ebx,1),%edi | |
11398 ++ xorl 0x700(%ebp,%ecx,1),%edi | |
11399 ++ movl (%esp),%ecx | |
11400 ++ xorl 0x400(%ebp,%eax,1),%edi | |
11401 ++ xorl 0x500(%ebp,%edx,1),%edi | |
11402 ++ # Round 5 | |
11403 ++ movl 40(%ecx),%eax | |
11404 ++ xorl %ebx,%ebx | |
11405 ++ movl 44(%ecx),%edx | |
11406 ++ xorl %edi,%eax | |
11407 ++ xorl %ecx,%ecx | |
11408 ++ xorl %edi,%edx | |
11409 ++ andl $0xfcfcfcfc,%eax | |
11410 ++ andl $0xcfcfcfcf,%edx | |
11411 ++ movb %al,%bl | |
11412 ++ movb %ah,%cl | |
11413 ++ rorl $4,%edx | |
11414 ++ xorl (%ebp,%ebx,1),%esi | |
11415 ++ movb %dl,%bl | |
11416 ++ xorl 0x200(%ebp,%ecx,1),%esi | |
11417 ++ movb %dh,%cl | |
11418 ++ shrl $16,%eax | |
11419 ++ xorl 0x100(%ebp,%ebx,1),%esi | |
11420 ++ movb %ah,%bl | |
11421 ++ shrl $16,%edx | |
11422 ++ xorl 0x300(%ebp,%ecx,1),%esi | |
11423 ++ movb %dh,%cl | |
11424 ++ andl $0xff,%eax | |
11425 ++ andl $0xff,%edx | |
11426 ++ xorl 0x600(%ebp,%ebx,1),%esi | |
11427 ++ xorl 0x700(%ebp,%ecx,1),%esi | |
11428 ++ movl (%esp),%ecx | |
11429 ++ xorl 0x400(%ebp,%eax,1),%esi | |
11430 ++ xorl 0x500(%ebp,%edx,1),%esi | |
11431 ++ # Round 6 | |
11432 ++ movl 48(%ecx),%eax | |
11433 ++ xorl %ebx,%ebx | |
11434 ++ movl 52(%ecx),%edx | |
11435 ++ xorl %esi,%eax | |
11436 ++ xorl %ecx,%ecx | |
11437 ++ xorl %esi,%edx | |
11438 ++ andl $0xfcfcfcfc,%eax | |
11439 ++ andl $0xcfcfcfcf,%edx | |
11440 ++ movb %al,%bl | |
11441 ++ movb %ah,%cl | |
11442 ++ rorl $4,%edx | |
11443 ++ xorl (%ebp,%ebx,1),%edi | |
11444 ++ movb %dl,%bl | |
11445 ++ xorl 0x200(%ebp,%ecx,1),%edi | |
11446 ++ movb %dh,%cl | |
11447 ++ shrl $16,%eax | |
11448 ++ xorl 0x100(%ebp,%ebx,1),%edi | |
11449 ++ movb %ah,%bl | |
11450 ++ shrl $16,%edx | |
11451 ++ xorl 0x300(%ebp,%ecx,1),%edi | |
11452 ++ movb %dh,%cl | |
11453 ++ andl $0xff,%eax | |
11454 ++ andl $0xff,%edx | |
11455 ++ xorl 0x600(%ebp,%ebx,1),%edi | |
11456 ++ xorl 0x700(%ebp,%ecx,1),%edi | |
11457 ++ movl (%esp),%ecx | |
11458 ++ xorl 0x400(%ebp,%eax,1),%edi | |
11459 ++ xorl 0x500(%ebp,%edx,1),%edi | |
11460 ++ # Round 7 | |
11461 ++ movl 56(%ecx),%eax | |
11462 ++ xorl %ebx,%ebx | |
11463 ++ movl 60(%ecx),%edx | |
11464 ++ xorl %edi,%eax | |
11465 ++ xorl %ecx,%ecx | |
11466 ++ xorl %edi,%edx | |
11467 ++ andl $0xfcfcfcfc,%eax | |
11468 ++ andl $0xcfcfcfcf,%edx | |
11469 ++ movb %al,%bl | |
11470 ++ movb %ah,%cl | |
11471 ++ rorl $4,%edx | |
11472 ++ xorl (%ebp,%ebx,1),%esi | |
11473 ++ movb %dl,%bl | |
11474 ++ xorl 0x200(%ebp,%ecx,1),%esi | |
11475 ++ movb %dh,%cl | |
11476 ++ shrl $16,%eax | |
11477 ++ xorl 0x100(%ebp,%ebx,1),%esi | |
11478 ++ movb %ah,%bl | |
11479 ++ shrl $16,%edx | |
11480 ++ xorl 0x300(%ebp,%ecx,1),%esi | |
11481 ++ movb %dh,%cl | |
11482 ++ andl $0xff,%eax | |
11483 ++ andl $0xff,%edx | |
11484 ++ xorl 0x600(%ebp,%ebx,1),%esi | |
11485 ++ xorl 0x700(%ebp,%ecx,1),%esi | |
11486 ++ movl (%esp),%ecx | |
11487 ++ xorl 0x400(%ebp,%eax,1),%esi | |
11488 ++ xorl 0x500(%ebp,%edx,1),%esi | |
11489 ++ # Round 8 | |
11490 ++ movl 64(%ecx),%eax | |
11491 ++ xorl %ebx,%ebx | |
11492 ++ movl 68(%ecx),%edx | |
11493 ++ xorl %esi,%eax | |
11494 ++ xorl %ecx,%ecx | |
11495 ++ xorl %esi,%edx | |
11496 ++ andl $0xfcfcfcfc,%eax | |
11497 ++ andl $0xcfcfcfcf,%edx | |
11498 ++ movb %al,%bl | |
11499 ++ movb %ah,%cl | |
11500 ++ rorl $4,%edx | |
11501 ++ xorl (%ebp,%ebx,1),%edi | |
11502 ++ movb %dl,%bl | |
11503 ++ xorl 0x200(%ebp,%ecx,1),%edi | |
11504 ++ movb %dh,%cl | |
11505 ++ shrl $16,%eax | |
11506 ++ xorl 0x100(%ebp,%ebx,1),%edi | |
11507 ++ movb %ah,%bl | |
11508 ++ shrl $16,%edx | |
11509 ++ xorl 0x300(%ebp,%ecx,1),%edi | |
11510 ++ movb %dh,%cl | |
11511 ++ andl $0xff,%eax | |
11512 ++ andl $0xff,%edx | |
11513 ++ xorl 0x600(%ebp,%ebx,1),%edi | |
11514 ++ xorl 0x700(%ebp,%ecx,1),%edi | |
11515 ++ movl (%esp),%ecx | |
11516 ++ xorl 0x400(%ebp,%eax,1),%edi | |
11517 ++ xorl 0x500(%ebp,%edx,1),%edi | |
11518 ++ # Round 9 | |
11519 ++ movl 72(%ecx),%eax | |
11520 ++ xorl %ebx,%ebx | |
11521 ++ movl 76(%ecx),%edx | |
11522 ++ xorl %edi,%eax | |
11523 ++ xorl %ecx,%ecx | |
11524 ++ xorl %edi,%edx | |
11525 ++ andl $0xfcfcfcfc,%eax | |
11526 ++ andl $0xcfcfcfcf,%edx | |
11527 ++ movb %al,%bl | |
11528 ++ movb %ah,%cl | |
11529 ++ rorl $4,%edx | |
11530 ++ xorl (%ebp,%ebx,1),%esi | |
11531 ++ movb %dl,%bl | |
11532 ++ xorl 0x200(%ebp,%ecx,1),%esi | |
11533 ++ movb %dh,%cl | |
11534 ++ shrl $16,%eax | |
11535 ++ xorl 0x100(%ebp,%ebx,1),%esi | |
11536 ++ movb %ah,%bl | |
11537 ++ shrl $16,%edx | |
11538 ++ xorl 0x300(%ebp,%ecx,1),%esi | |
11539 ++ movb %dh,%cl | |
11540 ++ andl $0xff,%eax | |
11541 ++ andl $0xff,%edx | |
11542 ++ xorl 0x600(%ebp,%ebx,1),%esi | |
11543 ++ xorl 0x700(%ebp,%ecx,1),%esi | |
11544 ++ movl (%esp),%ecx | |
11545 ++ xorl 0x400(%ebp,%eax,1),%esi | |
11546 ++ xorl 0x500(%ebp,%edx,1),%esi | |
11547 ++ # Round 10 | |
11548 ++ movl 80(%ecx),%eax | |
11549 ++ xorl %ebx,%ebx | |
11550 ++ movl 84(%ecx),%edx | |
11551 ++ xorl %esi,%eax | |
11552 ++ xorl %ecx,%ecx | |
11553 ++ xorl %esi,%edx | |
11554 ++ andl $0xfcfcfcfc,%eax | |
11555 ++ andl $0xcfcfcfcf,%edx | |
11556 ++ movb %al,%bl | |
11557 ++ movb %ah,%cl | |
11558 ++ rorl $4,%edx | |
11559 ++ xorl (%ebp,%ebx,1),%edi | |
11560 ++ movb %dl,%bl | |
11561 ++ xorl 0x200(%ebp,%ecx,1),%edi | |
11562 ++ movb %dh,%cl | |
11563 ++ shrl $16,%eax | |
11564 ++ xorl 0x100(%ebp,%ebx,1),%edi | |
11565 ++ movb %ah,%bl | |
11566 ++ shrl $16,%edx | |
11567 ++ xorl 0x300(%ebp,%ecx,1),%edi | |
11568 ++ movb %dh,%cl | |
11569 ++ andl $0xff,%eax | |
11570 ++ andl $0xff,%edx | |
11571 ++ xorl 0x600(%ebp,%ebx,1),%edi | |
11572 ++ xorl 0x700(%ebp,%ecx,1),%edi | |
11573 ++ movl (%esp),%ecx | |
11574 ++ xorl 0x400(%ebp,%eax,1),%edi | |
11575 ++ xorl 0x500(%ebp,%edx,1),%edi | |
11576 ++ # Round 11 | |
11577 ++ movl 88(%ecx),%eax | |
11578 ++ xorl %ebx,%ebx | |
11579 ++ movl 92(%ecx),%edx | |
11580 ++ xorl %edi,%eax | |
11581 ++ xorl %ecx,%ecx | |
11582 ++ xorl %edi,%edx | |
11583 ++ andl $0xfcfcfcfc,%eax | |
11584 ++ andl $0xcfcfcfcf,%edx | |
11585 ++ movb %al,%bl | |
11586 ++ movb %ah,%cl | |
11587 ++ rorl $4,%edx | |
11588 ++ xorl (%ebp,%ebx,1),%esi | |
11589 ++ movb %dl,%bl | |
11590 ++ xorl 0x200(%ebp,%ecx,1),%esi | |
11591 ++ movb %dh,%cl | |
11592 ++ shrl $16,%eax | |
11593 ++ xorl 0x100(%ebp,%ebx,1),%esi | |
11594 ++ movb %ah,%bl | |
11595 ++ shrl $16,%edx | |
11596 ++ xorl 0x300(%ebp,%ecx,1),%esi | |
11597 ++ movb %dh,%cl | |
11598 ++ andl $0xff,%eax | |
11599 ++ andl $0xff,%edx | |
11600 ++ xorl 0x600(%ebp,%ebx,1),%esi | |
11601 ++ xorl 0x700(%ebp,%ecx,1),%esi | |
11602 ++ movl (%esp),%ecx | |
11603 ++ xorl 0x400(%ebp,%eax,1),%esi | |
11604 ++ xorl 0x500(%ebp,%edx,1),%esi | |
11605 ++ # Round 12 | |
11606 ++ movl 96(%ecx),%eax | |
11607 ++ xorl %ebx,%ebx | |
11608 ++ movl 100(%ecx),%edx | |
11609 ++ xorl %esi,%eax | |
11610 ++ xorl %ecx,%ecx | |
11611 ++ xorl %esi,%edx | |
11612 ++ andl $0xfcfcfcfc,%eax | |
11613 ++ andl $0xcfcfcfcf,%edx | |
11614 ++ movb %al,%bl | |
11615 ++ movb %ah,%cl | |
11616 ++ rorl $4,%edx | |
11617 ++ xorl (%ebp,%ebx,1),%edi | |
11618 ++ movb %dl,%bl | |
11619 ++ xorl 0x200(%ebp,%ecx,1),%edi | |
11620 ++ movb %dh,%cl | |
11621 ++ shrl $16,%eax | |
11622 ++ xorl 0x100(%ebp,%ebx,1),%edi | |
11623 ++ movb %ah,%bl | |
11624 ++ shrl $16,%edx | |
11625 ++ xorl 0x300(%ebp,%ecx,1),%edi | |
11626 ++ movb %dh,%cl | |
11627 ++ andl $0xff,%eax | |
11628 ++ andl $0xff,%edx | |
11629 ++ xorl 0x600(%ebp,%ebx,1),%edi | |
11630 ++ xorl 0x700(%ebp,%ecx,1),%edi | |
11631 ++ movl (%esp),%ecx | |
11632 ++ xorl 0x400(%ebp,%eax,1),%edi | |
11633 ++ xorl 0x500(%ebp,%edx,1),%edi | |
11634 ++ # Round 13 | |
11635 ++ movl 104(%ecx),%eax | |
11636 ++ xorl %ebx,%ebx | |
11637 ++ movl 108(%ecx),%edx | |
11638 ++ xorl %edi,%eax | |
11639 ++ xorl %ecx,%ecx | |
11640 ++ xorl %edi,%edx | |
11641 ++ andl $0xfcfcfcfc,%eax | |
11642 ++ andl $0xcfcfcfcf,%edx | |
11643 ++ movb %al,%bl | |
11644 ++ movb %ah,%cl | |
11645 ++ rorl $4,%edx | |
11646 ++ xorl (%ebp,%ebx,1),%esi | |
11647 ++ movb %dl,%bl | |
11648 ++ xorl 0x200(%ebp,%ecx,1),%esi | |
11649 ++ movb %dh,%cl | |
11650 ++ shrl $16,%eax | |
11651 ++ xorl 0x100(%ebp,%ebx,1),%esi | |
11652 ++ movb %ah,%bl | |
11653 ++ shrl $16,%edx | |
11654 ++ xorl 0x300(%ebp,%ecx,1),%esi | |
11655 ++ movb %dh,%cl | |
11656 ++ andl $0xff,%eax | |
11657 ++ andl $0xff,%edx | |
11658 ++ xorl 0x600(%ebp,%ebx,1),%esi | |
11659 ++ xorl 0x700(%ebp,%ecx,1),%esi | |
11660 ++ movl (%esp),%ecx | |
11661 ++ xorl 0x400(%ebp,%eax,1),%esi | |
11662 ++ xorl 0x500(%ebp,%edx,1),%esi | |
11663 ++ # Round 14 | |
11664 ++ movl 112(%ecx),%eax | |
11665 ++ xorl %ebx,%ebx | |
11666 ++ movl 116(%ecx),%edx | |
11667 ++ xorl %esi,%eax | |
11668 ++ xorl %ecx,%ecx | |
11669 ++ xorl %esi,%edx | |
11670 ++ andl $0xfcfcfcfc,%eax | |
11671 ++ andl $0xcfcfcfcf,%edx | |
11672 ++ movb %al,%bl | |
11673 ++ movb %ah,%cl | |
11674 ++ rorl $4,%edx | |
11675 ++ xorl (%ebp,%ebx,1),%edi | |
11676 ++ movb %dl,%bl | |
11677 ++ xorl 0x200(%ebp,%ecx,1),%edi | |
11678 ++ movb %dh,%cl | |
11679 ++ shrl $16,%eax | |
11680 ++ xorl 0x100(%ebp,%ebx,1),%edi | |
11681 ++ movb %ah,%bl | |
11682 ++ shrl $16,%edx | |
11683 ++ xorl 0x300(%ebp,%ecx,1),%edi | |
11684 ++ movb %dh,%cl | |
11685 ++ andl $0xff,%eax | |
11686 ++ andl $0xff,%edx | |
11687 ++ xorl 0x600(%ebp,%ebx,1),%edi | |
11688 ++ xorl 0x700(%ebp,%ecx,1),%edi | |
11689 ++ movl (%esp),%ecx | |
11690 ++ xorl 0x400(%ebp,%eax,1),%edi | |
11691 ++ xorl 0x500(%ebp,%edx,1),%edi | |
11692 ++ # Round 15 | |
11693 ++ movl 120(%ecx),%eax | |
11694 ++ xorl %ebx,%ebx | |
11695 ++ movl 124(%ecx),%edx | |
11696 ++ xorl %edi,%eax | |
11697 ++ xorl %ecx,%ecx | |
11698 ++ xorl %edi,%edx | |
11699 ++ andl $0xfcfcfcfc,%eax | |
11700 ++ andl $0xcfcfcfcf,%edx | |
11701 ++ movb %al,%bl | |
11702 ++ movb %ah,%cl | |
11703 ++ rorl $4,%edx | |
11704 ++ xorl (%ebp,%ebx,1),%esi | |
11705 ++ movb %dl,%bl | |
11706 ++ xorl 0x200(%ebp,%ecx,1),%esi | |
11707 ++ movb %dh,%cl | |
11708 ++ shrl $16,%eax | |
11709 ++ xorl 0x100(%ebp,%ebx,1),%esi | |
11710 ++ movb %ah,%bl | |
11711 ++ shrl $16,%edx | |
11712 ++ xorl 0x300(%ebp,%ecx,1),%esi | |
11713 ++ movb %dh,%cl | |
11714 ++ andl $0xff,%eax | |
11715 ++ andl $0xff,%edx | |
11716 ++ xorl 0x600(%ebp,%ebx,1),%esi | |
11717 ++ xorl 0x700(%ebp,%ecx,1),%esi | |
11718 ++ movl (%esp),%ecx | |
11719 ++ xorl 0x400(%ebp,%eax,1),%esi | |
11720 ++ xorl 0x500(%ebp,%edx,1),%esi | |
11721 ++ addl $4,%esp | |
11722 ++ ret | |
11723 ++.align 4 | |
11724 ++__x86_DES_decrypt: | |
11725 ++ pushl %ecx | |
11726 ++ # Round 15 | |
11727 ++ movl 120(%ecx),%eax | |
11728 ++ xorl %ebx,%ebx | |
11729 ++ movl 124(%ecx),%edx | |
11730 ++ xorl %esi,%eax | |
11731 ++ xorl %ecx,%ecx | |
11732 ++ xorl %esi,%edx | |
11733 ++ andl $0xfcfcfcfc,%eax | |
11734 ++ andl $0xcfcfcfcf,%edx | |
11735 ++ movb %al,%bl | |
11736 ++ movb %ah,%cl | |
11737 ++ rorl $4,%edx | |
11738 ++ xorl (%ebp,%ebx,1),%edi | |
11739 ++ movb %dl,%bl | |
11740 ++ xorl 0x200(%ebp,%ecx,1),%edi | |
11741 ++ movb %dh,%cl | |
11742 ++ shrl $16,%eax | |
11743 ++ xorl 0x100(%ebp,%ebx,1),%edi | |
11744 ++ movb %ah,%bl | |
11745 ++ shrl $16,%edx | |
11746 ++ xorl 0x300(%ebp,%ecx,1),%edi | |
11747 ++ movb %dh,%cl | |
11748 ++ andl $0xff,%eax | |
11749 ++ andl $0xff,%edx | |
11750 ++ xorl 0x600(%ebp,%ebx,1),%edi | |
11751 ++ xorl 0x700(%ebp,%ecx,1),%edi | |
11752 ++ movl (%esp),%ecx | |
11753 ++ xorl 0x400(%ebp,%eax,1),%edi | |
11754 ++ xorl 0x500(%ebp,%edx,1),%edi | |
11755 ++ # Round 14 | |
11756 ++ movl 112(%ecx),%eax | |
11757 ++ xorl %ebx,%ebx | |
11758 ++ movl 116(%ecx),%edx | |
11759 ++ xorl %edi,%eax | |
11760 ++ xorl %ecx,%ecx | |
11761 ++ xorl %edi,%edx | |
11762 ++ andl $0xfcfcfcfc,%eax | |
11763 ++ andl $0xcfcfcfcf,%edx | |
11764 ++ movb %al,%bl | |
11765 ++ movb %ah,%cl | |
11766 ++ rorl $4,%edx | |
11767 ++ xorl (%ebp,%ebx,1),%esi | |
11768 ++ movb %dl,%bl | |
11769 ++ xorl 0x200(%ebp,%ecx,1),%esi | |
11770 ++ movb %dh,%cl | |
11771 ++ shrl $16,%eax | |
11772 ++ xorl 0x100(%ebp,%ebx,1),%esi | |
11773 ++ movb %ah,%bl | |
11774 ++ shrl $16,%edx | |
11775 ++ xorl 0x300(%ebp,%ecx,1),%esi | |
11776 ++ movb %dh,%cl | |
11777 ++ andl $0xff,%eax | |
11778 ++ andl $0xff,%edx | |
11779 ++ xorl 0x600(%ebp,%ebx,1),%esi | |
11780 ++ xorl 0x700(%ebp,%ecx,1),%esi | |
11781 ++ movl (%esp),%ecx | |
11782 ++ xorl 0x400(%ebp,%eax,1),%esi | |
11783 ++ xorl 0x500(%ebp,%edx,1),%esi | |
11784 ++ # Round 13 | |
11785 ++ movl 104(%ecx),%eax | |
11786 ++ xorl %ebx,%ebx | |
11787 ++ movl 108(%ecx),%edx | |
11788 ++ xorl %esi,%eax | |
11789 ++ xorl %ecx,%ecx | |
11790 ++ xorl %esi,%edx | |
11791 ++ andl $0xfcfcfcfc,%eax | |
11792 ++ andl $0xcfcfcfcf,%edx | |
11793 ++ movb %al,%bl | |
11794 ++ movb %ah,%cl | |
11795 ++ rorl $4,%edx | |
11796 ++ xorl (%ebp,%ebx,1),%edi | |
11797 ++ movb %dl,%bl | |
11798 ++ xorl 0x200(%ebp,%ecx,1),%edi | |
11799 ++ movb %dh,%cl | |
11800 ++ shrl $16,%eax | |
11801 ++ xorl 0x100(%ebp,%ebx,1),%edi | |
11802 ++ movb %ah,%bl | |
11803 ++ shrl $16,%edx | |
11804 ++ xorl 0x300(%ebp,%ecx,1),%edi | |
11805 ++ movb %dh,%cl | |
11806 ++ andl $0xff,%eax | |
11807 ++ andl $0xff,%edx | |
11808 ++ xorl 0x600(%ebp,%ebx,1),%edi | |
11809 ++ xorl 0x700(%ebp,%ecx,1),%edi | |
11810 ++ movl (%esp),%ecx | |
11811 ++ xorl 0x400(%ebp,%eax,1),%edi | |
11812 ++ xorl 0x500(%ebp,%edx,1),%edi | |
11813 ++ # Round 12 | |
11814 ++ movl 96(%ecx),%eax | |
11815 ++ xorl %ebx,%ebx | |
11816 ++ movl 100(%ecx),%edx | |
11817 ++ xorl %edi,%eax | |
11818 ++ xorl %ecx,%ecx | |
11819 ++ xorl %edi,%edx | |
11820 ++ andl $0xfcfcfcfc,%eax | |
11821 ++ andl $0xcfcfcfcf,%edx | |
11822 ++ movb %al,%bl | |
11823 ++ movb %ah,%cl | |
11824 ++ rorl $4,%edx | |
11825 ++ xorl (%ebp,%ebx,1),%esi | |
11826 ++ movb %dl,%bl | |
11827 ++ xorl 0x200(%ebp,%ecx,1),%esi | |
11828 ++ movb %dh,%cl | |
11829 ++ shrl $16,%eax | |
11830 ++ xorl 0x100(%ebp,%ebx,1),%esi | |
11831 ++ movb %ah,%bl | |
11832 ++ shrl $16,%edx | |
11833 ++ xorl 0x300(%ebp,%ecx,1),%esi | |
11834 ++ movb %dh,%cl | |
11835 ++ andl $0xff,%eax | |
11836 ++ andl $0xff,%edx | |
11837 ++ xorl 0x600(%ebp,%ebx,1),%esi | |
11838 ++ xorl 0x700(%ebp,%ecx,1),%esi | |
11839 ++ movl (%esp),%ecx | |
11840 ++ xorl 0x400(%ebp,%eax,1),%esi | |
11841 ++ xorl 0x500(%ebp,%edx,1),%esi | |
11842 ++ # Round 11 | |
11843 ++ movl 88(%ecx),%eax | |
11844 ++ xorl %ebx,%ebx | |
11845 ++ movl 92(%ecx),%edx | |
11846 ++ xorl %esi,%eax | |
11847 ++ xorl %ecx,%ecx | |
11848 ++ xorl %esi,%edx | |
11849 ++ andl $0xfcfcfcfc,%eax | |
11850 ++ andl $0xcfcfcfcf,%edx | |
11851 ++ movb %al,%bl | |
11852 ++ movb %ah,%cl | |
11853 ++ rorl $4,%edx | |
11854 ++ xorl (%ebp,%ebx,1),%edi | |
11855 ++ movb %dl,%bl | |
11856 ++ xorl 0x200(%ebp,%ecx,1),%edi | |
11857 ++ movb %dh,%cl | |
11858 ++ shrl $16,%eax | |
11859 ++ xorl 0x100(%ebp,%ebx,1),%edi | |
11860 ++ movb %ah,%bl | |
11861 ++ shrl $16,%edx | |
11862 ++ xorl 0x300(%ebp,%ecx,1),%edi | |
11863 ++ movb %dh,%cl | |
11864 ++ andl $0xff,%eax | |
11865 ++ andl $0xff,%edx | |
11866 ++ xorl 0x600(%ebp,%ebx,1),%edi | |
11867 ++ xorl 0x700(%ebp,%ecx,1),%edi | |
11868 ++ movl (%esp),%ecx | |
11869 ++ xorl 0x400(%ebp,%eax,1),%edi | |
11870 ++ xorl 0x500(%ebp,%edx,1),%edi | |
11871 ++ # Round 10 | |
11872 ++ movl 80(%ecx),%eax | |
11873 ++ xorl %ebx,%ebx | |
11874 ++ movl 84(%ecx),%edx | |
11875 ++ xorl %edi,%eax | |
11876 ++ xorl %ecx,%ecx | |
11877 ++ xorl %edi,%edx | |
11878 ++ andl $0xfcfcfcfc,%eax | |
11879 ++ andl $0xcfcfcfcf,%edx | |
11880 ++ movb %al,%bl | |
11881 ++ movb %ah,%cl | |
11882 ++ rorl $4,%edx | |
11883 ++ xorl (%ebp,%ebx,1),%esi | |
11884 ++ movb %dl,%bl | |
11885 ++ xorl 0x200(%ebp,%ecx,1),%esi | |
11886 ++ movb %dh,%cl | |
11887 ++ shrl $16,%eax | |
11888 ++ xorl 0x100(%ebp,%ebx,1),%esi | |
11889 ++ movb %ah,%bl | |
11890 ++ shrl $16,%edx | |
11891 ++ xorl 0x300(%ebp,%ecx,1),%esi | |
11892 ++ movb %dh,%cl | |
11893 ++ andl $0xff,%eax | |
11894 ++ andl $0xff,%edx | |
11895 ++ xorl 0x600(%ebp,%ebx,1),%esi | |
11896 ++ xorl 0x700(%ebp,%ecx,1),%esi | |
11897 ++ movl (%esp),%ecx | |
11898 ++ xorl 0x400(%ebp,%eax,1),%esi | |
11899 ++ xorl 0x500(%ebp,%edx,1),%esi | |
11900 ++ # Round 9 | |
11901 ++ movl 72(%ecx),%eax | |
11902 ++ xorl %ebx,%ebx | |
11903 ++ movl 76(%ecx),%edx | |
11904 ++ xorl %esi,%eax | |
11905 ++ xorl %ecx,%ecx | |
11906 ++ xorl %esi,%edx | |
11907 ++ andl $0xfcfcfcfc,%eax | |
11908 ++ andl $0xcfcfcfcf,%edx | |
11909 ++ movb %al,%bl | |
11910 ++ movb %ah,%cl | |
11911 ++ rorl $4,%edx | |
11912 ++ xorl (%ebp,%ebx,1),%edi | |
11913 ++ movb %dl,%bl | |
11914 ++ xorl 0x200(%ebp,%ecx,1),%edi | |
11915 ++ movb %dh,%cl | |
11916 ++ shrl $16,%eax | |
11917 ++ xorl 0x100(%ebp,%ebx,1),%edi | |
11918 ++ movb %ah,%bl | |
11919 ++ shrl $16,%edx | |
11920 ++ xorl 0x300(%ebp,%ecx,1),%edi | |
11921 ++ movb %dh,%cl | |
11922 ++ andl $0xff,%eax | |
11923 ++ andl $0xff,%edx | |
11924 ++ xorl 0x600(%ebp,%ebx,1),%edi | |
11925 ++ xorl 0x700(%ebp,%ecx,1),%edi | |
11926 ++ movl (%esp),%ecx | |
11927 ++ xorl 0x400(%ebp,%eax,1),%edi | |
11928 ++ xorl 0x500(%ebp,%edx,1),%edi | |
11929 ++ # Round 8 | |
11930 ++ movl 64(%ecx),%eax | |
11931 ++ xorl %ebx,%ebx | |
11932 ++ movl 68(%ecx),%edx | |
11933 ++ xorl %edi,%eax | |
11934 ++ xorl %ecx,%ecx | |
11935 ++ xorl %edi,%edx | |
11936 ++ andl $0xfcfcfcfc,%eax | |
11937 ++ andl $0xcfcfcfcf,%edx | |
11938 ++ movb %al,%bl | |
11939 ++ movb %ah,%cl | |
11940 ++ rorl $4,%edx | |
11941 ++ xorl (%ebp,%ebx,1),%esi | |
11942 ++ movb %dl,%bl | |
11943 ++ xorl 0x200(%ebp,%ecx,1),%esi | |
11944 ++ movb %dh,%cl | |
11945 ++ shrl $16,%eax | |
11946 ++ xorl 0x100(%ebp,%ebx,1),%esi | |
11947 ++ movb %ah,%bl | |
11948 ++ shrl $16,%edx | |
11949 ++ xorl 0x300(%ebp,%ecx,1),%esi | |
11950 ++ movb %dh,%cl | |
11951 ++ andl $0xff,%eax | |
11952 ++ andl $0xff,%edx | |
11953 ++ xorl 0x600(%ebp,%ebx,1),%esi | |
11954 ++ xorl 0x700(%ebp,%ecx,1),%esi | |
11955 ++ movl (%esp),%ecx | |
11956 ++ xorl 0x400(%ebp,%eax,1),%esi | |
11957 ++ xorl 0x500(%ebp,%edx,1),%esi | |
11958 ++ # Round 7 | |
11959 ++ movl 56(%ecx),%eax | |
11960 ++ xorl %ebx,%ebx | |
11961 ++ movl 60(%ecx),%edx | |
11962 ++ xorl %esi,%eax | |
11963 ++ xorl %ecx,%ecx | |
11964 ++ xorl %esi,%edx | |
11965 ++ andl $0xfcfcfcfc,%eax | |
11966 ++ andl $0xcfcfcfcf,%edx | |
11967 ++ movb %al,%bl | |
11968 ++ movb %ah,%cl | |
11969 ++ rorl $4,%edx | |
11970 ++ xorl (%ebp,%ebx,1),%edi | |
11971 ++ movb %dl,%bl | |
11972 ++ xorl 0x200(%ebp,%ecx,1),%edi | |
11973 ++ movb %dh,%cl | |
11974 ++ shrl $16,%eax | |
11975 ++ xorl 0x100(%ebp,%ebx,1),%edi | |
11976 ++ movb %ah,%bl | |
11977 ++ shrl $16,%edx | |
11978 ++ xorl 0x300(%ebp,%ecx,1),%edi | |
11979 ++ movb %dh,%cl | |
11980 ++ andl $0xff,%eax | |
11981 ++ andl $0xff,%edx | |
11982 ++ xorl 0x600(%ebp,%ebx,1),%edi | |
11983 ++ xorl 0x700(%ebp,%ecx,1),%edi | |
11984 ++ movl (%esp),%ecx | |
11985 ++ xorl 0x400(%ebp,%eax,1),%edi | |
11986 ++ xorl 0x500(%ebp,%edx,1),%edi | |
11987 ++ # Round 6 | |
11988 ++ movl 48(%ecx),%eax | |
11989 ++ xorl %ebx,%ebx | |
11990 ++ movl 52(%ecx),%edx | |
11991 ++ xorl %edi,%eax | |
11992 ++ xorl %ecx,%ecx | |
11993 ++ xorl %edi,%edx | |
11994 ++ andl $0xfcfcfcfc,%eax | |
11995 ++ andl $0xcfcfcfcf,%edx | |
11996 ++ movb %al,%bl | |
11997 ++ movb %ah,%cl | |
11998 ++ rorl $4,%edx | |
11999 ++ xorl (%ebp,%ebx,1),%esi | |
12000 ++ movb %dl,%bl | |
12001 ++ xorl 0x200(%ebp,%ecx,1),%esi | |
12002 ++ movb %dh,%cl | |
12003 ++ shrl $16,%eax | |
12004 ++ xorl 0x100(%ebp,%ebx,1),%esi | |
12005 ++ movb %ah,%bl | |
12006 ++ shrl $16,%edx | |
12007 ++ xorl 0x300(%ebp,%ecx,1),%esi | |
12008 ++ movb %dh,%cl | |
12009 ++ andl $0xff,%eax | |
12010 ++ andl $0xff,%edx | |
12011 ++ xorl 0x600(%ebp,%ebx,1),%esi | |
12012 ++ xorl 0x700(%ebp,%ecx,1),%esi | |
12013 ++ movl (%esp),%ecx | |
12014 ++ xorl 0x400(%ebp,%eax,1),%esi | |
12015 ++ xorl 0x500(%ebp,%edx,1),%esi | |
12016 ++ # Round 5 | |
12017 ++ movl 40(%ecx),%eax | |
12018 ++ xorl %ebx,%ebx | |
12019 ++ movl 44(%ecx),%edx | |
12020 ++ xorl %esi,%eax | |
12021 ++ xorl %ecx,%ecx | |
12022 ++ xorl %esi,%edx | |
12023 ++ andl $0xfcfcfcfc,%eax | |
12024 ++ andl $0xcfcfcfcf,%edx | |
12025 ++ movb %al,%bl | |
12026 ++ movb %ah,%cl | |
12027 ++ rorl $4,%edx | |
12028 ++ xorl (%ebp,%ebx,1),%edi | |
12029 ++ movb %dl,%bl | |
12030 ++ xorl 0x200(%ebp,%ecx,1),%edi | |
12031 ++ movb %dh,%cl | |
12032 ++ shrl $16,%eax | |
12033 ++ xorl 0x100(%ebp,%ebx,1),%edi | |
12034 ++ movb %ah,%bl | |
12035 ++ shrl $16,%edx | |
12036 ++ xorl 0x300(%ebp,%ecx,1),%edi | |
12037 ++ movb %dh,%cl | |
12038 ++ andl $0xff,%eax | |
12039 ++ andl $0xff,%edx | |
12040 ++ xorl 0x600(%ebp,%ebx,1),%edi | |
12041 ++ xorl 0x700(%ebp,%ecx,1),%edi | |
12042 ++ movl (%esp),%ecx | |
12043 ++ xorl 0x400(%ebp,%eax,1),%edi | |
12044 ++ xorl 0x500(%ebp,%edx,1),%edi | |
12045 ++ # Round 4 | |
12046 ++ movl 32(%ecx),%eax | |
12047 ++ xorl %ebx,%ebx | |
12048 ++ movl 36(%ecx),%edx | |
12049 ++ xorl %edi,%eax | |
12050 ++ xorl %ecx,%ecx | |
12051 ++ xorl %edi,%edx | |
12052 ++ andl $0xfcfcfcfc,%eax | |
12053 ++ andl $0xcfcfcfcf,%edx | |
12054 ++ movb %al,%bl | |
12055 ++ movb %ah,%cl | |
12056 ++ rorl $4,%edx | |
12057 ++ xorl (%ebp,%ebx,1),%esi | |
12058 ++ movb %dl,%bl | |
12059 ++ xorl 0x200(%ebp,%ecx,1),%esi | |
12060 ++ movb %dh,%cl | |
12061 ++ shrl $16,%eax | |
12062 ++ xorl 0x100(%ebp,%ebx,1),%esi | |
12063 ++ movb %ah,%bl | |
12064 ++ shrl $16,%edx | |
12065 ++ xorl 0x300(%ebp,%ecx,1),%esi | |
12066 ++ movb %dh,%cl | |
12067 ++ andl $0xff,%eax | |
12068 ++ andl $0xff,%edx | |
12069 ++ xorl 0x600(%ebp,%ebx,1),%esi | |
12070 ++ xorl 0x700(%ebp,%ecx,1),%esi | |
12071 ++ movl (%esp),%ecx | |
12072 ++ xorl 0x400(%ebp,%eax,1),%esi | |
12073 ++ xorl 0x500(%ebp,%edx,1),%esi | |
12074 ++ # Round 3 | |
12075 ++ movl 24(%ecx),%eax | |
12076 ++ xorl %ebx,%ebx | |
12077 ++ movl 28(%ecx),%edx | |
12078 ++ xorl %esi,%eax | |
12079 ++ xorl %ecx,%ecx | |
12080 ++ xorl %esi,%edx | |
12081 ++ andl $0xfcfcfcfc,%eax | |
12082 ++ andl $0xcfcfcfcf,%edx | |
12083 ++ movb %al,%bl | |
12084 ++ movb %ah,%cl | |
12085 ++ rorl $4,%edx | |
12086 ++ xorl (%ebp,%ebx,1),%edi | |
12087 ++ movb %dl,%bl | |
12088 ++ xorl 0x200(%ebp,%ecx,1),%edi | |
12089 ++ movb %dh,%cl | |
12090 ++ shrl $16,%eax | |
12091 ++ xorl 0x100(%ebp,%ebx,1),%edi | |
12092 ++ movb %ah,%bl | |
12093 ++ shrl $16,%edx | |
12094 ++ xorl 0x300(%ebp,%ecx,1),%edi | |
12095 ++ movb %dh,%cl | |
12096 ++ andl $0xff,%eax | |
12097 ++ andl $0xff,%edx | |
12098 ++ xorl 0x600(%ebp,%ebx,1),%edi | |
12099 ++ xorl 0x700(%ebp,%ecx,1),%edi | |
12100 ++ movl (%esp),%ecx | |
12101 ++ xorl 0x400(%ebp,%eax,1),%edi | |
12102 ++ xorl 0x500(%ebp,%edx,1),%edi | |
12103 ++ # Round 2 | |
12104 ++ movl 16(%ecx),%eax | |
12105 ++ xorl %ebx,%ebx | |
12106 ++ movl 20(%ecx),%edx | |
12107 ++ xorl %edi,%eax | |
12108 ++ xorl %ecx,%ecx | |
12109 ++ xorl %edi,%edx | |
12110 ++ andl $0xfcfcfcfc,%eax | |
12111 ++ andl $0xcfcfcfcf,%edx | |
12112 ++ movb %al,%bl | |
12113 ++ movb %ah,%cl | |
12114 ++ rorl $4,%edx | |
12115 ++ xorl (%ebp,%ebx,1),%esi | |
12116 ++ movb %dl,%bl | |
12117 ++ xorl 0x200(%ebp,%ecx,1),%esi | |
12118 ++ movb %dh,%cl | |
12119 ++ shrl $16,%eax | |
12120 ++ xorl 0x100(%ebp,%ebx,1),%esi | |
12121 ++ movb %ah,%bl | |
12122 ++ shrl $16,%edx | |
12123 ++ xorl 0x300(%ebp,%ecx,1),%esi | |
12124 ++ movb %dh,%cl | |
12125 ++ andl $0xff,%eax | |
12126 ++ andl $0xff,%edx | |
12127 ++ xorl 0x600(%ebp,%ebx,1),%esi | |
12128 ++ xorl 0x700(%ebp,%ecx,1),%esi | |
12129 ++ movl (%esp),%ecx | |
12130 ++ xorl 0x400(%ebp,%eax,1),%esi | |
12131 ++ xorl 0x500(%ebp,%edx,1),%esi | |
12132 ++ # Round 1 | |
12133 ++ movl 8(%ecx),%eax | |
12134 ++ xorl %ebx,%ebx | |
12135 ++ movl 12(%ecx),%edx | |
12136 ++ xorl %esi,%eax | |
12137 ++ xorl %ecx,%ecx | |
12138 ++ xorl %esi,%edx | |
12139 ++ andl $0xfcfcfcfc,%eax | |
12140 ++ andl $0xcfcfcfcf,%edx | |
12141 ++ movb %al,%bl | |
12142 ++ movb %ah,%cl | |
12143 ++ rorl $4,%edx | |
12144 ++ xorl (%ebp,%ebx,1),%edi | |
12145 ++ movb %dl,%bl | |
12146 ++ xorl 0x200(%ebp,%ecx,1),%edi | |
12147 ++ movb %dh,%cl | |
12148 ++ shrl $16,%eax | |
12149 ++ xorl 0x100(%ebp,%ebx,1),%edi | |
12150 ++ movb %ah,%bl | |
12151 ++ shrl $16,%edx | |
12152 ++ xorl 0x300(%ebp,%ecx,1),%edi | |
12153 ++ movb %dh,%cl | |
12154 ++ andl $0xff,%eax | |
12155 ++ andl $0xff,%edx | |
12156 ++ xorl 0x600(%ebp,%ebx,1),%edi | |
12157 ++ xorl 0x700(%ebp,%ecx,1),%edi | |
12158 ++ movl (%esp),%ecx | |
12159 ++ xorl 0x400(%ebp,%eax,1),%edi | |
12160 ++ xorl 0x500(%ebp,%edx,1),%edi | |
12161 ++ # Round 0 | |
12162 ++ movl (%ecx),%eax | |
12163 ++ xorl %ebx,%ebx | |
12164 ++ movl 4(%ecx),%edx | |
12165 ++ xorl %edi,%eax | |
12166 ++ xorl %ecx,%ecx | |
12167 ++ xorl %edi,%edx | |
12168 ++ andl $0xfcfcfcfc,%eax | |
12169 ++ andl $0xcfcfcfcf,%edx | |
12170 ++ movb %al,%bl | |
12171 ++ movb %ah,%cl | |
12172 ++ rorl $4,%edx | |
12173 ++ xorl (%ebp,%ebx,1),%esi | |
12174 ++ movb %dl,%bl | |
12175 ++ xorl 0x200(%ebp,%ecx,1),%esi | |
12176 ++ movb %dh,%cl | |
12177 ++ shrl $16,%eax | |
12178 ++ xorl 0x100(%ebp,%ebx,1),%esi | |
12179 ++ movb %ah,%bl | |
12180 ++ shrl $16,%edx | |
12181 ++ xorl 0x300(%ebp,%ecx,1),%esi | |
12182 ++ movb %dh,%cl | |
12183 ++ andl $0xff,%eax | |
12184 ++ andl $0xff,%edx | |
12185 ++ xorl 0x600(%ebp,%ebx,1),%esi | |
12186 ++ xorl 0x700(%ebp,%ecx,1),%esi | |
12187 ++ movl (%esp),%ecx | |
12188 ++ xorl 0x400(%ebp,%eax,1),%esi | |
12189 ++ xorl 0x500(%ebp,%edx,1),%esi | |
12190 ++ addl $4,%esp | |
12191 ++ ret | |
12192 ++.globl _DES_encrypt1 | |
12193 ++.align 4 | |
12194 ++_DES_encrypt1: | |
12195 ++L_DES_encrypt1_begin: | |
12196 ++ pushl %esi | |
12197 ++ pushl %edi | |
12198 ++ | |
12199 ++ # Load the 2 words | |
12200 ++ movl 12(%esp),%esi | |
12201 ++ xorl %ecx,%ecx | |
12202 ++ pushl %ebx | |
12203 ++ pushl %ebp | |
12204 ++ movl (%esi),%eax | |
12205 ++ movl 28(%esp),%ebx | |
12206 ++ movl 4(%esi),%edi | |
12207 ++ | |
12208 ++ # IP | |
12209 ++ roll $4,%eax | |
12210 ++ movl %eax,%esi | |
12211 ++ xorl %edi,%eax | |
12212 ++ andl $0xf0f0f0f0,%eax | |
12213 ++ xorl %eax,%esi | |
12214 ++ xorl %eax,%edi | |
12215 ++ | |
12216 ++ roll $20,%edi | |
12217 ++ movl %edi,%eax | |
12218 ++ xorl %esi,%edi | |
12219 ++ andl $0xfff0000f,%edi | |
12220 ++ xorl %edi,%eax | |
12221 ++ xorl %edi,%esi | |
12222 ++ | |
12223 ++ roll $14,%eax | |
12224 ++ movl %eax,%edi | |
12225 ++ xorl %esi,%eax | |
12226 ++ andl $0x33333333,%eax | |
12227 ++ xorl %eax,%edi | |
12228 ++ xorl %eax,%esi | |
12229 ++ | |
12230 ++ roll $22,%esi | |
12231 ++ movl %esi,%eax | |
12232 ++ xorl %edi,%esi | |
12233 ++ andl $0x03fc03fc,%esi | |
12234 ++ xorl %esi,%eax | |
12235 ++ xorl %esi,%edi | |
12236 ++ | |
12237 ++ roll $9,%eax | |
12238 ++ movl %eax,%esi | |
12239 ++ xorl %edi,%eax | |
12240 ++ andl $0xaaaaaaaa,%eax | |
12241 ++ xorl %eax,%esi | |
12242 ++ xorl %eax,%edi | |
12243 ++ | |
12244 ++ roll $1,%edi | |
12245 ++ call L000pic_point | |
12246 ++L000pic_point: | |
12247 ++ popl %ebp | |
12248 ++ leal _DES_SPtrans-L000pic_point(%ebp),%ebp | |
12249 ++ movl 24(%esp),%ecx | |
12250 ++ cmpl $0,%ebx | |
12251 ++ je L001decrypt | |
12252 ++ call __x86_DES_encrypt | |
12253 ++ jmp L002done | |
12254 ++L001decrypt: | |
12255 ++ call __x86_DES_decrypt | |
12256 ++L002done: | |
12257 ++ | |
12258 ++ # FP | |
12259 ++ movl 20(%esp),%edx | |
12260 ++ rorl $1,%esi | |
12261 ++ movl %edi,%eax | |
12262 ++ xorl %esi,%edi | |
12263 ++ andl $0xaaaaaaaa,%edi | |
12264 ++ xorl %edi,%eax | |
12265 ++ xorl %edi,%esi | |
12266 ++ | |
12267 ++ roll $23,%eax | |
12268 ++ movl %eax,%edi | |
12269 ++ xorl %esi,%eax | |
12270 ++ andl $0x03fc03fc,%eax | |
12271 ++ xorl %eax,%edi | |
12272 ++ xorl %eax,%esi | |
12273 ++ | |
12274 ++ roll $10,%edi | |
12275 ++ movl %edi,%eax | |
12276 ++ xorl %esi,%edi | |
12277 ++ andl $0x33333333,%edi | |
12278 ++ xorl %edi,%eax | |
12279 ++ xorl %edi,%esi | |
12280 ++ | |
12281 ++ roll $18,%esi | |
12282 ++ movl %esi,%edi | |
12283 ++ xorl %eax,%esi | |
12284 ++ andl $0xfff0000f,%esi | |
12285 ++ xorl %esi,%edi | |
12286 ++ xorl %esi,%eax | |
12287 ++ | |
12288 ++ roll $12,%edi | |
12289 ++ movl %edi,%esi | |
12290 ++ xorl %eax,%edi | |
12291 ++ andl $0xf0f0f0f0,%edi | |
12292 ++ xorl %edi,%esi | |
12293 ++ xorl %edi,%eax | |
12294 ++ | |
12295 ++ rorl $4,%eax | |
12296 ++ movl %eax,(%edx) | |
12297 ++ movl %esi,4(%edx) | |
12298 ++ popl %ebp | |
12299 ++ popl %ebx | |
12300 ++ popl %edi | |
12301 ++ popl %esi | |
12302 ++ ret | |
12303 ++.globl _DES_encrypt2 | |
12304 ++.align 4 | |
12305 ++_DES_encrypt2: | |
12306 ++L_DES_encrypt2_begin: | |
12307 ++ pushl %esi | |
12308 ++ pushl %edi | |
12309 ++ | |
12310 ++ # Load the 2 words | |
12311 ++ movl 12(%esp),%eax | |
12312 ++ xorl %ecx,%ecx | |
12313 ++ pushl %ebx | |
12314 ++ pushl %ebp | |
12315 ++ movl (%eax),%esi | |
12316 ++ movl 28(%esp),%ebx | |
12317 ++ roll $3,%esi | |
12318 ++ movl 4(%eax),%edi | |
12319 ++ roll $3,%edi | |
12320 ++ call L003pic_point | |
12321 ++L003pic_point: | |
12322 ++ popl %ebp | |
12323 ++ leal _DES_SPtrans-L003pic_point(%ebp),%ebp | |
12324 ++ movl 24(%esp),%ecx | |
12325 ++ cmpl $0,%ebx | |
12326 ++ je L004decrypt | |
12327 ++ call __x86_DES_encrypt | |
12328 ++ jmp L005done | |
12329 ++L004decrypt: | |
12330 ++ call __x86_DES_decrypt | |
12331 ++L005done: | |
12332 ++ | |
12333 ++ # Fixup | |
12334 ++ rorl $3,%edi | |
12335 ++ movl 20(%esp),%eax | |
12336 ++ rorl $3,%esi | |
12337 ++ movl %edi,(%eax) | |
12338 ++ movl %esi,4(%eax) | |
12339 ++ popl %ebp | |
12340 ++ popl %ebx | |
12341 ++ popl %edi | |
12342 ++ popl %esi | |
12343 ++ ret | |
12344 ++.globl _DES_encrypt3 | |
12345 ++.align 4 | |
12346 ++_DES_encrypt3: | |
12347 ++L_DES_encrypt3_begin: | |
12348 ++ pushl %ebx | |
12349 ++ movl 8(%esp),%ebx | |
12350 ++ pushl %ebp | |
12351 ++ pushl %esi | |
12352 ++ pushl %edi | |
12353 ++ | |
12354 ++ # Load the data words | |
12355 ++ movl (%ebx),%edi | |
12356 ++ movl 4(%ebx),%esi | |
12357 ++ subl $12,%esp | |
12358 ++ | |
12359 ++ # IP | |
12360 ++ roll $4,%edi | |
12361 ++ movl %edi,%edx | |
12362 ++ xorl %esi,%edi | |
12363 ++ andl $0xf0f0f0f0,%edi | |
12364 ++ xorl %edi,%edx | |
12365 ++ xorl %edi,%esi | |
12366 ++ | |
12367 ++ roll $20,%esi | |
12368 ++ movl %esi,%edi | |
12369 ++ xorl %edx,%esi | |
12370 ++ andl $0xfff0000f,%esi | |
12371 ++ xorl %esi,%edi | |
12372 ++ xorl %esi,%edx | |
12373 ++ | |
12374 ++ roll $14,%edi | |
12375 ++ movl %edi,%esi | |
12376 ++ xorl %edx,%edi | |
12377 ++ andl $0x33333333,%edi | |
12378 ++ xorl %edi,%esi | |
12379 ++ xorl %edi,%edx | |
12380 ++ | |
12381 ++ roll $22,%edx | |
12382 ++ movl %edx,%edi | |
12383 ++ xorl %esi,%edx | |
12384 ++ andl $0x03fc03fc,%edx | |
12385 ++ xorl %edx,%edi | |
12386 ++ xorl %edx,%esi | |
12387 ++ | |
12388 ++ roll $9,%edi | |
12389 ++ movl %edi,%edx | |
12390 ++ xorl %esi,%edi | |
12391 ++ andl $0xaaaaaaaa,%edi | |
12392 ++ xorl %edi,%edx | |
12393 ++ xorl %edi,%esi | |
12394 ++ | |
12395 ++ rorl $3,%edx | |
12396 ++ rorl $2,%esi | |
12397 ++ movl %esi,4(%ebx) | |
12398 ++ movl 36(%esp),%eax | |
12399 ++ movl %edx,(%ebx) | |
12400 ++ movl 40(%esp),%edi | |
12401 ++ movl 44(%esp),%esi | |
12402 ++ movl $1,8(%esp) | |
12403 ++ movl %eax,4(%esp) | |
12404 ++ movl %ebx,(%esp) | |
12405 ++ call L_DES_encrypt2_begin | |
12406 ++ movl $0,8(%esp) | |
12407 ++ movl %edi,4(%esp) | |
12408 ++ movl %ebx,(%esp) | |
12409 ++ call L_DES_encrypt2_begin | |
12410 ++ movl $1,8(%esp) | |
12411 ++ movl %esi,4(%esp) | |
12412 ++ movl %ebx,(%esp) | |
12413 ++ call L_DES_encrypt2_begin | |
12414 ++ addl $12,%esp | |
12415 ++ movl (%ebx),%edi | |
12416 ++ movl 4(%ebx),%esi | |
12417 ++ | |
12418 ++ # FP | |
12419 ++ roll $2,%esi | |
12420 ++ roll $3,%edi | |
12421 ++ movl %edi,%eax | |
12422 ++ xorl %esi,%edi | |
12423 ++ andl $0xaaaaaaaa,%edi | |
12424 ++ xorl %edi,%eax | |
12425 ++ xorl %edi,%esi | |
12426 ++ | |
12427 ++ roll $23,%eax | |
12428 ++ movl %eax,%edi | |
12429 ++ xorl %esi,%eax | |
12430 ++ andl $0x03fc03fc,%eax | |
12431 ++ xorl %eax,%edi | |
12432 ++ xorl %eax,%esi | |
12433 ++ | |
12434 ++ roll $10,%edi | |
12435 ++ movl %edi,%eax | |
12436 ++ xorl %esi,%edi | |
12437 ++ andl $0x33333333,%edi | |
12438 ++ xorl %edi,%eax | |
12439 ++ xorl %edi,%esi | |
12440 ++ | |
12441 ++ roll $18,%esi | |
12442 ++ movl %esi,%edi | |
12443 ++ xorl %eax,%esi | |
12444 ++ andl $0xfff0000f,%esi | |
12445 ++ xorl %esi,%edi | |
12446 ++ xorl %esi,%eax | |
12447 ++ | |
12448 ++ roll $12,%edi | |
12449 ++ movl %edi,%esi | |
12450 ++ xorl %eax,%edi | |
12451 ++ andl $0xf0f0f0f0,%edi | |
12452 ++ xorl %edi,%esi | |
12453 ++ xorl %edi,%eax | |
12454 ++ | |
12455 ++ rorl $4,%eax | |
12456 ++ movl %eax,(%ebx) | |
12457 ++ movl %esi,4(%ebx) | |
12458 ++ popl %edi | |
12459 ++ popl %esi | |
12460 ++ popl %ebp | |
12461 ++ popl %ebx | |
12462 ++ ret | |
12463 ++.globl _DES_decrypt3 | |
12464 ++.align 4 | |
12465 ++_DES_decrypt3: | |
12466 ++L_DES_decrypt3_begin: | |
12467 ++ pushl %ebx | |
12468 ++ movl 8(%esp),%ebx | |
12469 ++ pushl %ebp | |
12470 ++ pushl %esi | |
12471 ++ pushl %edi | |
12472 ++ | |
12473 ++ # Load the data words | |
12474 ++ movl (%ebx),%edi | |
12475 ++ movl 4(%ebx),%esi | |
12476 ++ subl $12,%esp | |
12477 ++ | |
12478 ++ # IP | |
12479 ++ roll $4,%edi | |
12480 ++ movl %edi,%edx | |
12481 ++ xorl %esi,%edi | |
12482 ++ andl $0xf0f0f0f0,%edi | |
12483 ++ xorl %edi,%edx | |
12484 ++ xorl %edi,%esi | |
12485 ++ | |
12486 ++ roll $20,%esi | |
12487 ++ movl %esi,%edi | |
12488 ++ xorl %edx,%esi | |
12489 ++ andl $0xfff0000f,%esi | |
12490 ++ xorl %esi,%edi | |
12491 ++ xorl %esi,%edx | |
12492 ++ | |
12493 ++ roll $14,%edi | |
12494 ++ movl %edi,%esi | |
12495 ++ xorl %edx,%edi | |
12496 ++ andl $0x33333333,%edi | |
12497 ++ xorl %edi,%esi | |
12498 ++ xorl %edi,%edx | |
12499 ++ | |
12500 ++ roll $22,%edx | |
12501 ++ movl %edx,%edi | |
12502 ++ xorl %esi,%edx | |
12503 ++ andl $0x03fc03fc,%edx | |
12504 ++ xorl %edx,%edi | |
12505 ++ xorl %edx,%esi | |
12506 ++ | |
12507 ++ roll $9,%edi | |
12508 ++ movl %edi,%edx | |
12509 ++ xorl %esi,%edi | |
12510 ++ andl $0xaaaaaaaa,%edi | |
12511 ++ xorl %edi,%edx | |
12512 ++ xorl %edi,%esi | |
12513 ++ | |
12514 ++ rorl $3,%edx | |
12515 ++ rorl $2,%esi | |
12516 ++ movl %esi,4(%ebx) | |
12517 ++ movl 36(%esp),%esi | |
12518 ++ movl %edx,(%ebx) | |
12519 ++ movl 40(%esp),%edi | |
12520 ++ movl 44(%esp),%eax | |
12521 ++ movl $0,8(%esp) | |
12522 ++ movl %eax,4(%esp) | |
12523 ++ movl %ebx,(%esp) | |
12524 ++ call L_DES_encrypt2_begin | |
12525 ++ movl $1,8(%esp) | |
12526 ++ movl %edi,4(%esp) | |
12527 ++ movl %ebx,(%esp) | |
12528 ++ call L_DES_encrypt2_begin | |
12529 ++ movl $0,8(%esp) | |
12530 ++ movl %esi,4(%esp) | |
12531 ++ movl %ebx,(%esp) | |
12532 ++ call L_DES_encrypt2_begin | |
12533 ++ addl $12,%esp | |
12534 ++ movl (%ebx),%edi | |
12535 ++ movl 4(%ebx),%esi | |
12536 ++ | |
12537 ++ # FP | |
12538 ++ roll $2,%esi | |
12539 ++ roll $3,%edi | |
12540 ++ movl %edi,%eax | |
12541 ++ xorl %esi,%edi | |
12542 ++ andl $0xaaaaaaaa,%edi | |
12543 ++ xorl %edi,%eax | |
12544 ++ xorl %edi,%esi | |
12545 ++ | |
12546 ++ roll $23,%eax | |
12547 ++ movl %eax,%edi | |
12548 ++ xorl %esi,%eax | |
12549 ++ andl $0x03fc03fc,%eax | |
12550 ++ xorl %eax,%edi | |
12551 ++ xorl %eax,%esi | |
12552 ++ | |
12553 ++ roll $10,%edi | |
12554 ++ movl %edi,%eax | |
12555 ++ xorl %esi,%edi | |
12556 ++ andl $0x33333333,%edi | |
12557 ++ xorl %edi,%eax | |
12558 ++ xorl %edi,%esi | |
12559 ++ | |
12560 ++ roll $18,%esi | |
12561 ++ movl %esi,%edi | |
12562 ++ xorl %eax,%esi | |
12563 ++ andl $0xfff0000f,%esi | |
12564 ++ xorl %esi,%edi | |
12565 ++ xorl %esi,%eax | |
12566 ++ | |
12567 ++ roll $12,%edi | |
12568 ++ movl %edi,%esi | |
12569 ++ xorl %eax,%edi | |
12570 ++ andl $0xf0f0f0f0,%edi | |
12571 ++ xorl %edi,%esi | |
12572 ++ xorl %edi,%eax | |
12573 ++ | |
12574 ++ rorl $4,%eax | |
12575 ++ movl %eax,(%ebx) | |
12576 ++ movl %esi,4(%ebx) | |
12577 ++ popl %edi | |
12578 ++ popl %esi | |
12579 ++ popl %ebp | |
12580 ++ popl %ebx | |
12581 ++ ret | |
12582 ++.globl _DES_ncbc_encrypt | |
12583 ++.align 4 | |
12584 ++_DES_ncbc_encrypt: | |
12585 ++L_DES_ncbc_encrypt_begin: | |
12586 ++ | |
12587 ++ pushl %ebp | |
12588 ++ pushl %ebx | |
12589 ++ pushl %esi | |
12590 ++ pushl %edi | |
12591 ++ movl 28(%esp),%ebp | |
12592 ++ # getting iv ptr from parameter 4 | |
12593 ++ movl 36(%esp),%ebx | |
12594 ++ movl (%ebx),%esi | |
12595 ++ movl 4(%ebx),%edi | |
12596 ++ pushl %edi | |
12597 ++ pushl %esi | |
12598 ++ pushl %edi | |
12599 ++ pushl %esi | |
12600 ++ movl %esp,%ebx | |
12601 ++ movl 36(%esp),%esi | |
12602 ++ movl 40(%esp),%edi | |
12603 ++ # getting encrypt flag from parameter 5 | |
12604 ++ movl 56(%esp),%ecx | |
12605 ++ # get and push parameter 5 | |
12606 ++ pushl %ecx | |
12607 ++ # get and push parameter 3 | |
12608 ++ movl 52(%esp),%eax | |
12609 ++ pushl %eax | |
12610 ++ pushl %ebx | |
12611 ++ cmpl $0,%ecx | |
12612 ++ jz L006decrypt | |
12613 ++ andl $4294967288,%ebp | |
12614 ++ movl 12(%esp),%eax | |
12615 ++ movl 16(%esp),%ebx | |
12616 ++ jz L007encrypt_finish | |
12617 ++L008encrypt_loop: | |
12618 ++ movl (%esi),%ecx | |
12619 ++ movl 4(%esi),%edx | |
12620 ++ xorl %ecx,%eax | |
12621 ++ xorl %edx,%ebx | |
12622 ++ movl %eax,12(%esp) | |
12623 ++ movl %ebx,16(%esp) | |
12624 ++ call L_DES_encrypt1_begin | |
12625 ++ movl 12(%esp),%eax | |
12626 ++ movl 16(%esp),%ebx | |
12627 ++ movl %eax,(%edi) | |
12628 ++ movl %ebx,4(%edi) | |
12629 ++ addl $8,%esi | |
12630 ++ addl $8,%edi | |
12631 ++ subl $8,%ebp | |
12632 ++ jnz L008encrypt_loop | |
12633 ++L007encrypt_finish: | |
12634 ++ movl 56(%esp),%ebp | |
12635 ++ andl $7,%ebp | |
12636 ++ jz L009finish | |
12637 ++ call L010PIC_point | |
12638 ++L010PIC_point: | |
12639 ++ popl %edx | |
12640 ++ leal L011cbc_enc_jmp_table-L010PIC_point(%edx),%ecx | |
12641 ++ movl (%ecx,%ebp,4),%ebp | |
12642 ++ addl %edx,%ebp | |
12643 ++ xorl %ecx,%ecx | |
12644 ++ xorl %edx,%edx | |
12645 ++ jmp *%ebp | |
12646 ++L012ej7: | |
12647 ++ movb 6(%esi),%dh | |
12648 ++ shll $8,%edx | |
12649 ++L013ej6: | |
12650 ++ movb 5(%esi),%dh | |
12651 ++L014ej5: | |
12652 ++ movb 4(%esi),%dl | |
12653 ++L015ej4: | |
12654 ++ movl (%esi),%ecx | |
12655 ++ jmp L016ejend | |
12656 ++L017ej3: | |
12657 ++ movb 2(%esi),%ch | |
12658 ++ shll $8,%ecx | |
12659 ++L018ej2: | |
12660 ++ movb 1(%esi),%ch | |
12661 ++L019ej1: | |
12662 ++ movb (%esi),%cl | |
12663 ++L016ejend: | |
12664 ++ xorl %ecx,%eax | |
12665 ++ xorl %edx,%ebx | |
12666 ++ movl %eax,12(%esp) | |
12667 ++ movl %ebx,16(%esp) | |
12668 ++ call L_DES_encrypt1_begin | |
12669 ++ movl 12(%esp),%eax | |
12670 ++ movl 16(%esp),%ebx | |
12671 ++ movl %eax,(%edi) | |
12672 ++ movl %ebx,4(%edi) | |
12673 ++ jmp L009finish | |
12674 ++L006decrypt: | |
12675 ++ andl $4294967288,%ebp | |
12676 ++ movl 20(%esp),%eax | |
12677 ++ movl 24(%esp),%ebx | |
12678 ++ jz L020decrypt_finish | |
12679 ++L021decrypt_loop: | |
12680 ++ movl (%esi),%eax | |
12681 ++ movl 4(%esi),%ebx | |
12682 ++ movl %eax,12(%esp) | |
12683 ++ movl %ebx,16(%esp) | |
12684 ++ call L_DES_encrypt1_begin | |
12685 ++ movl 12(%esp),%eax | |
12686 ++ movl 16(%esp),%ebx | |
12687 ++ movl 20(%esp),%ecx | |
12688 ++ movl 24(%esp),%edx | |
12689 ++ xorl %eax,%ecx | |
12690 ++ xorl %ebx,%edx | |
12691 ++ movl (%esi),%eax | |
12692 ++ movl 4(%esi),%ebx | |
12693 ++ movl %ecx,(%edi) | |
12694 ++ movl %edx,4(%edi) | |
12695 ++ movl %eax,20(%esp) | |
12696 ++ movl %ebx,24(%esp) | |
12697 ++ addl $8,%esi | |
12698 ++ addl $8,%edi | |
12699 ++ subl $8,%ebp | |
12700 ++ jnz L021decrypt_loop | |
12701 ++L020decrypt_finish: | |
12702 ++ movl 56(%esp),%ebp | |
12703 ++ andl $7,%ebp | |
12704 ++ jz L009finish | |
12705 ++ movl (%esi),%eax | |
12706 ++ movl 4(%esi),%ebx | |
12707 ++ movl %eax,12(%esp) | |
12708 ++ movl %ebx,16(%esp) | |
12709 ++ call L_DES_encrypt1_begin | |
12710 ++ movl 12(%esp),%eax | |
12711 ++ movl 16(%esp),%ebx | |
12712 ++ movl 20(%esp),%ecx | |
12713 ++ movl 24(%esp),%edx | |
12714 ++ xorl %eax,%ecx | |
12715 ++ xorl %ebx,%edx | |
12716 ++ movl (%esi),%eax | |
12717 ++ movl 4(%esi),%ebx | |
12718 ++L022dj7: | |
12719 ++ rorl $16,%edx | |
12720 ++ movb %dl,6(%edi) | |
12721 ++ shrl $16,%edx | |
12722 ++L023dj6: | |
12723 ++ movb %dh,5(%edi) | |
12724 ++L024dj5: | |
12725 ++ movb %dl,4(%edi) | |
12726 ++L025dj4: | |
12727 ++ movl %ecx,(%edi) | |
12728 ++ jmp L026djend | |
12729 ++L027dj3: | |
12730 ++ rorl $16,%ecx | |
12731 ++ movb %cl,2(%edi) | |
12732 ++ shll $16,%ecx | |
12733 ++L028dj2: | |
12734 ++ movb %ch,1(%esi) | |
12735 ++L029dj1: | |
12736 ++ movb %cl,(%esi) | |
12737 ++L026djend: | |
12738 ++ jmp L009finish | |
12739 ++L009finish: | |
12740 ++ movl 64(%esp),%ecx | |
12741 ++ addl $28,%esp | |
12742 ++ movl %eax,(%ecx) | |
12743 ++ movl %ebx,4(%ecx) | |
12744 ++ popl %edi | |
12745 ++ popl %esi | |
12746 ++ popl %ebx | |
12747 ++ popl %ebp | |
12748 ++ ret | |
12749 ++.align 6,0x90 | |
12750 ++L011cbc_enc_jmp_table: | |
12751 ++.long 0 | |
12752 ++.long L019ej1-L010PIC_point | |
12753 ++.long L018ej2-L010PIC_point | |
12754 ++.long L017ej3-L010PIC_point | |
12755 ++.long L015ej4-L010PIC_point | |
12756 ++.long L014ej5-L010PIC_point | |
12757 ++.long L013ej6-L010PIC_point | |
12758 ++.long L012ej7-L010PIC_point | |
12759 ++.align 6,0x90 | |
12760 ++.globl _DES_ede3_cbc_encrypt | |
12761 ++.align 4 | |
12762 ++_DES_ede3_cbc_encrypt: | |
12763 ++L_DES_ede3_cbc_encrypt_begin: | |
12764 ++ | |
12765 ++ pushl %ebp | |
12766 ++ pushl %ebx | |
12767 ++ pushl %esi | |
12768 ++ pushl %edi | |
12769 ++ movl 28(%esp),%ebp | |
12770 ++ # getting iv ptr from parameter 6 | |
12771 ++ movl 44(%esp),%ebx | |
12772 ++ movl (%ebx),%esi | |
12773 ++ movl 4(%ebx),%edi | |
12774 ++ pushl %edi | |
12775 ++ pushl %esi | |
12776 ++ pushl %edi | |
12777 ++ pushl %esi | |
12778 ++ movl %esp,%ebx | |
12779 ++ movl 36(%esp),%esi | |
12780 ++ movl 40(%esp),%edi | |
12781 ++ # getting encrypt flag from parameter 7 | |
12782 ++ movl 64(%esp),%ecx | |
12783 ++ # get and push parameter 5 | |
12784 ++ movl 56(%esp),%eax | |
12785 ++ pushl %eax | |
12786 ++ # get and push parameter 4 | |
12787 ++ movl 56(%esp),%eax | |
12788 ++ pushl %eax | |
12789 ++ # get and push parameter 3 | |
12790 ++ movl 56(%esp),%eax | |
12791 ++ pushl %eax | |
12792 ++ pushl %ebx | |
12793 ++ cmpl $0,%ecx | |
12794 ++ jz L030decrypt | |
12795 ++ andl $4294967288,%ebp | |
12796 ++ movl 16(%esp),%eax | |
12797 ++ movl 20(%esp),%ebx | |
12798 ++ jz L031encrypt_finish | |
12799 ++L032encrypt_loop: | |
12800 ++ movl (%esi),%ecx | |
12801 ++ movl 4(%esi),%edx | |
12802 ++ xorl %ecx,%eax | |
12803 ++ xorl %edx,%ebx | |
12804 ++ movl %eax,16(%esp) | |
12805 ++ movl %ebx,20(%esp) | |
12806 ++ call L_DES_encrypt3_begin | |
12807 ++ movl 16(%esp),%eax | |
12808 ++ movl 20(%esp),%ebx | |
12809 ++ movl %eax,(%edi) | |
12810 ++ movl %ebx,4(%edi) | |
12811 ++ addl $8,%esi | |
12812 ++ addl $8,%edi | |
12813 ++ subl $8,%ebp | |
12814 ++ jnz L032encrypt_loop | |
12815 ++L031encrypt_finish: | |
12816 ++ movl 60(%esp),%ebp | |
12817 ++ andl $7,%ebp | |
12818 ++ jz L033finish | |
12819 ++ call L034PIC_point | |
12820 ++L034PIC_point: | |
12821 ++ popl %edx | |
12822 ++ leal L035cbc_enc_jmp_table-L034PIC_point(%edx),%ecx | |
12823 ++ movl (%ecx,%ebp,4),%ebp | |
12824 ++ addl %edx,%ebp | |
12825 ++ xorl %ecx,%ecx | |
12826 ++ xorl %edx,%edx | |
12827 ++ jmp *%ebp | |
12828 ++L036ej7: | |
12829 ++ movb 6(%esi),%dh | |
12830 ++ shll $8,%edx | |
12831 ++L037ej6: | |
12832 ++ movb 5(%esi),%dh | |
12833 ++L038ej5: | |
12834 ++ movb 4(%esi),%dl | |
12835 ++L039ej4: | |
12836 ++ movl (%esi),%ecx | |
12837 ++ jmp L040ejend | |
12838 ++L041ej3: | |
12839 ++ movb 2(%esi),%ch | |
12840 ++ shll $8,%ecx | |
12841 ++L042ej2: | |
12842 ++ movb 1(%esi),%ch | |
12843 ++L043ej1: | |
12844 ++ movb (%esi),%cl | |
12845 ++L040ejend: | |
12846 ++ xorl %ecx,%eax | |
12847 ++ xorl %edx,%ebx | |
12848 ++ movl %eax,16(%esp) | |
12849 ++ movl %ebx,20(%esp) | |
12850 ++ call L_DES_encrypt3_begin | |
12851 ++ movl 16(%esp),%eax | |
12852 ++ movl 20(%esp),%ebx | |
12853 ++ movl %eax,(%edi) | |
12854 ++ movl %ebx,4(%edi) | |
12855 ++ jmp L033finish | |
12856 ++L030decrypt: | |
12857 ++ andl $4294967288,%ebp | |
12858 ++ movl 24(%esp),%eax | |
12859 ++ movl 28(%esp),%ebx | |
12860 ++ jz L044decrypt_finish | |
12861 ++L045decrypt_loop: | |
12862 ++ movl (%esi),%eax | |
12863 ++ movl 4(%esi),%ebx | |
12864 ++ movl %eax,16(%esp) | |
12865 ++ movl %ebx,20(%esp) | |
12866 ++ call L_DES_decrypt3_begin | |
12867 ++ movl 16(%esp),%eax | |
12868 ++ movl 20(%esp),%ebx | |
12869 ++ movl 24(%esp),%ecx | |
12870 ++ movl 28(%esp),%edx | |
12871 ++ xorl %eax,%ecx | |
12872 ++ xorl %ebx,%edx | |
12873 ++ movl (%esi),%eax | |
12874 ++ movl 4(%esi),%ebx | |
12875 ++ movl %ecx,(%edi) | |
12876 ++ movl %edx,4(%edi) | |
12877 ++ movl %eax,24(%esp) | |
12878 ++ movl %ebx,28(%esp) | |
12879 ++ addl $8,%esi | |
12880 ++ addl $8,%edi | |
12881 ++ subl $8,%ebp | |
12882 ++ jnz L045decrypt_loop | |
12883 ++L044decrypt_finish: | |
12884 ++ movl 60(%esp),%ebp | |
12885 ++ andl $7,%ebp | |
12886 ++ jz L033finish | |
12887 ++ movl (%esi),%eax | |
12888 ++ movl 4(%esi),%ebx | |
12889 ++ movl %eax,16(%esp) | |
12890 ++ movl %ebx,20(%esp) | |
12891 ++ call L_DES_decrypt3_begin | |
12892 ++ movl 16(%esp),%eax | |
12893 ++ movl 20(%esp),%ebx | |
12894 ++ movl 24(%esp),%ecx | |
12895 ++ movl 28(%esp),%edx | |
12896 ++ xorl %eax,%ecx | |
12897 ++ xorl %ebx,%edx | |
12898 ++ movl (%esi),%eax | |
12899 ++ movl 4(%esi),%ebx | |
12900 ++L046dj7: | |
12901 ++ rorl $16,%edx | |
12902 ++ movb %dl,6(%edi) | |
12903 ++ shrl $16,%edx | |
12904 ++L047dj6: | |
12905 ++ movb %dh,5(%edi) | |
12906 ++L048dj5: | |
12907 ++ movb %dl,4(%edi) | |
12908 ++L049dj4: | |
12909 ++ movl %ecx,(%edi) | |
12910 ++ jmp L050djend | |
12911 ++L051dj3: | |
12912 ++ rorl $16,%ecx | |
12913 ++ movb %cl,2(%edi) | |
12914 ++ shll $16,%ecx | |
12915 ++L052dj2: | |
12916 ++ movb %ch,1(%esi) | |
12917 ++L053dj1: | |
12918 ++ movb %cl,(%esi) | |
12919 ++L050djend: | |
12920 ++ jmp L033finish | |
12921 ++L033finish: | |
12922 ++ movl 76(%esp),%ecx | |
12923 ++ addl $32,%esp | |
12924 ++ movl %eax,(%ecx) | |
12925 ++ movl %ebx,4(%ecx) | |
12926 ++ popl %edi | |
12927 ++ popl %esi | |
12928 ++ popl %ebx | |
12929 ++ popl %ebp | |
12930 ++ ret | |
12931 ++.align 6,0x90 | |
12932 ++L035cbc_enc_jmp_table: | |
12933 ++.long 0 | |
12934 ++.long L043ej1-L034PIC_point | |
12935 ++.long L042ej2-L034PIC_point | |
12936 ++.long L041ej3-L034PIC_point | |
12937 ++.long L039ej4-L034PIC_point | |
12938 ++.long L038ej5-L034PIC_point | |
12939 ++.long L037ej6-L034PIC_point | |
12940 ++.long L036ej7-L034PIC_point | |
12941 ++.align 6,0x90 | |
12942 ++.align 6,0x90 | |
12943 ++_DES_SPtrans: | |
12944 ++.long 34080768,524288,33554434,34080770 | |
12945 ++.long 33554432,526338,524290,33554434 | |
12946 ++.long 526338,34080768,34078720,2050 | |
12947 ++.long 33556482,33554432,0,524290 | |
12948 ++.long 524288,2,33556480,526336 | |
12949 ++.long 34080770,34078720,2050,33556480 | |
12950 ++.long 2,2048,526336,34078722 | |
12951 ++.long 2048,33556482,34078722,0 | |
12952 ++.long 0,34080770,33556480,524290 | |
12953 ++.long 34080768,524288,2050,33556480 | |
12954 ++.long 34078722,2048,526336,33554434 | |
12955 ++.long 526338,2,33554434,34078720 | |
12956 ++.long 34080770,526336,34078720,33556482 | |
12957 ++.long 33554432,2050,524290,0 | |
12958 ++.long 524288,33554432,33556482,34080768 | |
12959 ++.long 2,34078722,2048,526338 | |
12960 ++.long 1074823184,0,1081344,1074790400 | |
12961 ++.long 1073741840,32784,1073774592,1081344 | |
12962 ++.long 32768,1074790416,16,1073774592 | |
12963 ++.long 1048592,1074823168,1074790400,16 | |
12964 ++.long 1048576,1073774608,1074790416,32768 | |
12965 ++.long 1081360,1073741824,0,1048592 | |
12966 ++.long 1073774608,1081360,1074823168,1073741840 | |
12967 ++.long 1073741824,1048576,32784,1074823184 | |
12968 ++.long 1048592,1074823168,1073774592,1081360 | |
12969 ++.long 1074823184,1048592,1073741840,0 | |
12970 ++.long 1073741824,32784,1048576,1074790416 | |
12971 ++.long 32768,1073741824,1081360,1073774608 | |
12972 ++.long 1074823168,32768,0,1073741840 | |
12973 ++.long 16,1074823184,1081344,1074790400 | |
12974 ++.long 1074790416,1048576,32784,1073774592 | |
12975 ++.long 1073774608,16,1074790400,1081344 | |
12976 ++.long 67108865,67371264,256,67109121 | |
12977 ++.long 262145,67108864,67109121,262400 | |
12978 ++.long 67109120,262144,67371008,1 | |
12979 ++.long 67371265,257,1,67371009 | |
12980 ++.long 0,262145,67371264,256 | |
12981 ++.long 257,67371265,262144,67108865 | |
12982 ++.long 67371009,67109120,262401,67371008 | |
12983 ++.long 262400,0,67108864,262401 | |
12984 ++.long 67371264,256,1,262144 | |
12985 ++.long 257,262145,67371008,67109121 | |
12986 ++.long 0,67371264,262400,67371009 | |
12987 ++.long 262145,67108864,67371265,1 | |
12988 ++.long 262401,67108865,67108864,67371265 | |
12989 ++.long 262144,67109120,67109121,262400 | |
12990 ++.long 67109120,0,67371009,257 | |
12991 ++.long 67108865,262401,256,67371008 | |
12992 ++.long 4198408,268439552,8,272633864 | |
12993 ++.long 0,272629760,268439560,4194312 | |
12994 ++.long 272633856,268435464,268435456,4104 | |
12995 ++.long 268435464,4198408,4194304,268435456 | |
12996 ++.long 272629768,4198400,4096,8 | |
12997 ++.long 4198400,268439560,272629760,4096 | |
12998 ++.long 4104,0,4194312,272633856 | |
12999 ++.long 268439552,272629768,272633864,4194304 | |
13000 ++.long 272629768,4104,4194304,268435464 | |
13001 ++.long 4198400,268439552,8,272629760 | |
13002 ++.long 268439560,0,4096,4194312 | |
13003 ++.long 0,272629768,272633856,4096 | |
13004 ++.long 268435456,272633864,4198408,4194304 | |
13005 ++.long 272633864,8,268439552,4198408 | |
13006 ++.long 4194312,4198400,272629760,268439560 | |
13007 ++.long 4104,268435456,268435464,272633856 | |
13008 ++.long 134217728,65536,1024,134284320 | |
13009 ++.long 134283296,134218752,66592,134283264 | |
13010 ++.long 65536,32,134217760,66560 | |
13011 ++.long 134218784,134283296,134284288,0 | |
13012 ++.long 66560,134217728,65568,1056 | |
13013 ++.long 134218752,66592,0,134217760 | |
13014 ++.long 32,134218784,134284320,65568 | |
13015 ++.long 134283264,1024,1056,134284288 | |
13016 ++.long 134284288,134218784,65568,134283264 | |
13017 ++.long 65536,32,134217760,134218752 | |
13018 ++.long 134217728,66560,134284320,0 | |
13019 ++.long 66592,134217728,1024,65568 | |
13020 ++.long 134218784,1024,0,134284320 | |
13021 ++.long 134283296,134284288,1056,65536 | |
13022 ++.long 66560,134283296,134218752,1056 | |
13023 ++.long 32,66592,134283264,134217760 | |
13024 ++.long 2147483712,2097216,0,2149588992 | |
13025 ++.long 2097216,8192,2147491904,2097152 | |
13026 ++.long 8256,2149589056,2105344,2147483648 | |
13027 ++.long 2147491840,2147483712,2149580800,2105408 | |
13028 ++.long 2097152,2147491904,2149580864,0 | |
13029 ++.long 8192,64,2149588992,2149580864 | |
13030 ++.long 2149589056,2149580800,2147483648,8256 | |
13031 ++.long 64,2105344,2105408,2147491840 | |
13032 ++.long 8256,2147483648,2147491840,2105408 | |
13033 ++.long 2149588992,2097216,0,2147491840 | |
13034 ++.long 2147483648,8192,2149580864,2097152 | |
13035 ++.long 2097216,2149589056,2105344,64 | |
13036 ++.long 2149589056,2105344,2097152,2147491904 | |
13037 ++.long 2147483712,2149580800,2105408,0 | |
13038 ++.long 8192,2147483712,2147491904,2149588992 | |
13039 ++.long 2149580800,8256,64,2149580864 | |
13040 ++.long 16384,512,16777728,16777220 | |
13041 ++.long 16794116,16388,16896,0 | |
13042 ++.long 16777216,16777732,516,16793600 | |
13043 ++.long 4,16794112,16793600,516 | |
13044 ++.long 16777732,16384,16388,16794116 | |
13045 ++.long 0,16777728,16777220,16896 | |
13046 ++.long 16793604,16900,16794112,4 | |
13047 ++.long 16900,16793604,512,16777216 | |
13048 ++.long 16900,16793600,16793604,516 | |
13049 ++.long 16384,512,16777216,16793604 | |
13050 ++.long 16777732,16900,16896,0 | |
13051 ++.long 512,16777220,4,16777728 | |
13052 ++.long 0,16777732,16777728,16896 | |
13053 ++.long 516,16384,16794116,16777216 | |
13054 ++.long 16794112,4,16388,16794116 | |
13055 ++.long 16777220,16794112,16793600,16388 | |
13056 ++.long 545259648,545390592,131200,0 | |
13057 ++.long 537001984,8388736,545259520,545390720 | |
13058 ++.long 128,536870912,8519680,131200 | |
13059 ++.long 8519808,537002112,536871040,545259520 | |
13060 ++.long 131072,8519808,8388736,537001984 | |
13061 ++.long 545390720,536871040,0,8519680 | |
13062 ++.long 536870912,8388608,537002112,545259648 | |
13063 ++.long 8388608,131072,545390592,128 | |
13064 ++.long 8388608,131072,536871040,545390720 | |
13065 ++.long 131200,536870912,0,8519680 | |
13066 ++.long 545259648,537002112,537001984,8388736 | |
13067 ++.long 545390592,128,8388736,537001984 | |
13068 ++.long 545390720,8388608,545259520,536871040 | |
13069 ++.long 8519680,131200,537002112,545259520 | |
13070 ++.long 128,545390592,8519808,0 | |
13071 ++.long 536870912,545259648,131072,8519808 | |
13072 +diff --git a/crypto/md5/asm/md5-586-mac.S b/crypto/md5/asm/md5-586-mac.S | |
13073 +new file mode 100644 | |
13074 +index 0000000..8413d0c | |
13075 +--- /dev/null | |
13076 ++++ b/crypto/md5/asm/md5-586-mac.S | |
13077 +@@ -0,0 +1,677 @@ | |
13078 ++.file "crypto/md5/asm/md5-586.s" | |
13079 ++.text | |
13080 ++.globl _md5_block_asm_data_order | |
13081 ++.align 4 | |
13082 ++_md5_block_asm_data_order: | |
13083 ++L_md5_block_asm_data_order_begin: | |
13084 ++ pushl %esi | |
13085 ++ pushl %edi | |
13086 ++ movl 12(%esp),%edi | |
13087 ++ movl 16(%esp),%esi | |
13088 ++ movl 20(%esp),%ecx | |
13089 ++ pushl %ebp | |
13090 ++ shll $6,%ecx | |
13091 ++ pushl %ebx | |
13092 ++ addl %esi,%ecx | |
13093 ++ subl $64,%ecx | |
13094 ++ movl (%edi),%eax | |
13095 ++ pushl %ecx | |
13096 ++ movl 4(%edi),%ebx | |
13097 ++ movl 8(%edi),%ecx | |
13098 ++ movl 12(%edi),%edx | |
13099 ++L000start: | |
13100 ++ | |
13101 ++ # R0 section | |
13102 ++ movl %ecx,%edi | |
13103 ++ movl (%esi),%ebp | |
13104 ++ # R0 0 | |
13105 ++ xorl %edx,%edi | |
13106 ++ andl %ebx,%edi | |
13107 ++ leal 3614090360(%eax,%ebp,1),%eax | |
13108 ++ xorl %edx,%edi | |
13109 ++ addl %edi,%eax | |
13110 ++ movl %ebx,%edi | |
13111 ++ roll $7,%eax | |
13112 ++ movl 4(%esi),%ebp | |
13113 ++ addl %ebx,%eax | |
13114 ++ # R0 1 | |
13115 ++ xorl %ecx,%edi | |
13116 ++ andl %eax,%edi | |
13117 ++ leal 3905402710(%edx,%ebp,1),%edx | |
13118 ++ xorl %ecx,%edi | |
13119 ++ addl %edi,%edx | |
13120 ++ movl %eax,%edi | |
13121 ++ roll $12,%edx | |
13122 ++ movl 8(%esi),%ebp | |
13123 ++ addl %eax,%edx | |
13124 ++ # R0 2 | |
13125 ++ xorl %ebx,%edi | |
13126 ++ andl %edx,%edi | |
13127 ++ leal 606105819(%ecx,%ebp,1),%ecx | |
13128 ++ xorl %ebx,%edi | |
13129 ++ addl %edi,%ecx | |
13130 ++ movl %edx,%edi | |
13131 ++ roll $17,%ecx | |
13132 ++ movl 12(%esi),%ebp | |
13133 ++ addl %edx,%ecx | |
13134 ++ # R0 3 | |
13135 ++ xorl %eax,%edi | |
13136 ++ andl %ecx,%edi | |
13137 ++ leal 3250441966(%ebx,%ebp,1),%ebx | |
13138 ++ xorl %eax,%edi | |
13139 ++ addl %edi,%ebx | |
13140 ++ movl %ecx,%edi | |
13141 ++ roll $22,%ebx | |
13142 ++ movl 16(%esi),%ebp | |
13143 ++ addl %ecx,%ebx | |
13144 ++ # R0 4 | |
13145 ++ xorl %edx,%edi | |
13146 ++ andl %ebx,%edi | |
13147 ++ leal 4118548399(%eax,%ebp,1),%eax | |
13148 ++ xorl %edx,%edi | |
13149 ++ addl %edi,%eax | |
13150 ++ movl %ebx,%edi | |
13151 ++ roll $7,%eax | |
13152 ++ movl 20(%esi),%ebp | |
13153 ++ addl %ebx,%eax | |
13154 ++ # R0 5 | |
13155 ++ xorl %ecx,%edi | |
13156 ++ andl %eax,%edi | |
13157 ++ leal 1200080426(%edx,%ebp,1),%edx | |
13158 ++ xorl %ecx,%edi | |
13159 ++ addl %edi,%edx | |
13160 ++ movl %eax,%edi | |
13161 ++ roll $12,%edx | |
13162 ++ movl 24(%esi),%ebp | |
13163 ++ addl %eax,%edx | |
13164 ++ # R0 6 | |
13165 ++ xorl %ebx,%edi | |
13166 ++ andl %edx,%edi | |
13167 ++ leal 2821735955(%ecx,%ebp,1),%ecx | |
13168 ++ xorl %ebx,%edi | |
13169 ++ addl %edi,%ecx | |
13170 ++ movl %edx,%edi | |
13171 ++ roll $17,%ecx | |
13172 ++ movl 28(%esi),%ebp | |
13173 ++ addl %edx,%ecx | |
13174 ++ # R0 7 | |
13175 ++ xorl %eax,%edi | |
13176 ++ andl %ecx,%edi | |
13177 ++ leal 4249261313(%ebx,%ebp,1),%ebx | |
13178 ++ xorl %eax,%edi | |
13179 ++ addl %edi,%ebx | |
13180 ++ movl %ecx,%edi | |
13181 ++ roll $22,%ebx | |
13182 ++ movl 32(%esi),%ebp | |
13183 ++ addl %ecx,%ebx | |
13184 ++ # R0 8 | |
13185 ++ xorl %edx,%edi | |
13186 ++ andl %ebx,%edi | |
13187 ++ leal 1770035416(%eax,%ebp,1),%eax | |
13188 ++ xorl %edx,%edi | |
13189 ++ addl %edi,%eax | |
13190 ++ movl %ebx,%edi | |
13191 ++ roll $7,%eax | |
13192 ++ movl 36(%esi),%ebp | |
13193 ++ addl %ebx,%eax | |
13194 ++ # R0 9 | |
13195 ++ xorl %ecx,%edi | |
13196 ++ andl %eax,%edi | |
13197 ++ leal 2336552879(%edx,%ebp,1),%edx | |
13198 ++ xorl %ecx,%edi | |
13199 ++ addl %edi,%edx | |
13200 ++ movl %eax,%edi | |
13201 ++ roll $12,%edx | |
13202 ++ movl 40(%esi),%ebp | |
13203 ++ addl %eax,%edx | |
13204 ++ # R0 10 | |
13205 ++ xorl %ebx,%edi | |
13206 ++ andl %edx,%edi | |
13207 ++ leal 4294925233(%ecx,%ebp,1),%ecx | |
13208 ++ xorl %ebx,%edi | |
13209 ++ addl %edi,%ecx | |
13210 ++ movl %edx,%edi | |
13211 ++ roll $17,%ecx | |
13212 ++ movl 44(%esi),%ebp | |
13213 ++ addl %edx,%ecx | |
13214 ++ # R0 11 | |
13215 ++ xorl %eax,%edi | |
13216 ++ andl %ecx,%edi | |
13217 ++ leal 2304563134(%ebx,%ebp,1),%ebx | |
13218 ++ xorl %eax,%edi | |
13219 ++ addl %edi,%ebx | |
13220 ++ movl %ecx,%edi | |
13221 ++ roll $22,%ebx | |
13222 ++ movl 48(%esi),%ebp | |
13223 ++ addl %ecx,%ebx | |
13224 ++ # R0 12 | |
13225 ++ xorl %edx,%edi | |
13226 ++ andl %ebx,%edi | |
13227 ++ leal 1804603682(%eax,%ebp,1),%eax | |
13228 ++ xorl %edx,%edi | |
13229 ++ addl %edi,%eax | |
13230 ++ movl %ebx,%edi | |
13231 ++ roll $7,%eax | |
13232 ++ movl 52(%esi),%ebp | |
13233 ++ addl %ebx,%eax | |
13234 ++ # R0 13 | |
13235 ++ xorl %ecx,%edi | |
13236 ++ andl %eax,%edi | |
13237 ++ leal 4254626195(%edx,%ebp,1),%edx | |
13238 ++ xorl %ecx,%edi | |
13239 ++ addl %edi,%edx | |
13240 ++ movl %eax,%edi | |
13241 ++ roll $12,%edx | |
13242 ++ movl 56(%esi),%ebp | |
13243 ++ addl %eax,%edx | |
13244 ++ # R0 14 | |
13245 ++ xorl %ebx,%edi | |
13246 ++ andl %edx,%edi | |
13247 ++ leal 2792965006(%ecx,%ebp,1),%ecx | |
13248 ++ xorl %ebx,%edi | |
13249 ++ addl %edi,%ecx | |
13250 ++ movl %edx,%edi | |
13251 ++ roll $17,%ecx | |
13252 ++ movl 60(%esi),%ebp | |
13253 ++ addl %edx,%ecx | |
13254 ++ # R0 15 | |
13255 ++ xorl %eax,%edi | |
13256 ++ andl %ecx,%edi | |
13257 ++ leal 1236535329(%ebx,%ebp,1),%ebx | |
13258 ++ xorl %eax,%edi | |
13259 ++ addl %edi,%ebx | |
13260 ++ movl %ecx,%edi | |
13261 ++ roll $22,%ebx | |
13262 ++ movl 4(%esi),%ebp | |
13263 ++ addl %ecx,%ebx | |
13264 ++ | |
13265 ++ # R1 section | |
13266 ++ # R1 16 | |
13267 ++ leal 4129170786(%eax,%ebp,1),%eax | |
13268 ++ xorl %ebx,%edi | |
13269 ++ andl %edx,%edi | |
13270 ++ movl 24(%esi),%ebp | |
13271 ++ xorl %ecx,%edi | |
13272 ++ addl %edi,%eax | |
13273 ++ movl %ebx,%edi | |
13274 ++ roll $5,%eax | |
13275 ++ addl %ebx,%eax | |
13276 ++ # R1 17 | |
13277 ++ leal 3225465664(%edx,%ebp,1),%edx | |
13278 ++ xorl %eax,%edi | |
13279 ++ andl %ecx,%edi | |
13280 ++ movl 44(%esi),%ebp | |
13281 ++ xorl %ebx,%edi | |
13282 ++ addl %edi,%edx | |
13283 ++ movl %eax,%edi | |
13284 ++ roll $9,%edx | |
13285 ++ addl %eax,%edx | |
13286 ++ # R1 18 | |
13287 ++ leal 643717713(%ecx,%ebp,1),%ecx | |
13288 ++ xorl %edx,%edi | |
13289 ++ andl %ebx,%edi | |
13290 ++ movl (%esi),%ebp | |
13291 ++ xorl %eax,%edi | |
13292 ++ addl %edi,%ecx | |
13293 ++ movl %edx,%edi | |
13294 ++ roll $14,%ecx | |
13295 ++ addl %edx,%ecx | |
13296 ++ # R1 19 | |
13297 ++ leal 3921069994(%ebx,%ebp,1),%ebx | |
13298 ++ xorl %ecx,%edi | |
13299 ++ andl %eax,%edi | |
13300 ++ movl 20(%esi),%ebp | |
13301 ++ xorl %edx,%edi | |
13302 ++ addl %edi,%ebx | |
13303 ++ movl %ecx,%edi | |
13304 ++ roll $20,%ebx | |
13305 ++ addl %ecx,%ebx | |
13306 ++ # R1 20 | |
13307 ++ leal 3593408605(%eax,%ebp,1),%eax | |
13308 ++ xorl %ebx,%edi | |
13309 ++ andl %edx,%edi | |
13310 ++ movl 40(%esi),%ebp | |
13311 ++ xorl %ecx,%edi | |
13312 ++ addl %edi,%eax | |
13313 ++ movl %ebx,%edi | |
13314 ++ roll $5,%eax | |
13315 ++ addl %ebx,%eax | |
13316 ++ # R1 21 | |
13317 ++ leal 38016083(%edx,%ebp,1),%edx | |
13318 ++ xorl %eax,%edi | |
13319 ++ andl %ecx,%edi | |
13320 ++ movl 60(%esi),%ebp | |
13321 ++ xorl %ebx,%edi | |
13322 ++ addl %edi,%edx | |
13323 ++ movl %eax,%edi | |
13324 ++ roll $9,%edx | |
13325 ++ addl %eax,%edx | |
13326 ++ # R1 22 | |
13327 ++ leal 3634488961(%ecx,%ebp,1),%ecx | |
13328 ++ xorl %edx,%edi | |
13329 ++ andl %ebx,%edi | |
13330 ++ movl 16(%esi),%ebp | |
13331 ++ xorl %eax,%edi | |
13332 ++ addl %edi,%ecx | |
13333 ++ movl %edx,%edi | |
13334 ++ roll $14,%ecx | |
13335 ++ addl %edx,%ecx | |
13336 ++ # R1 23 | |
13337 ++ leal 3889429448(%ebx,%ebp,1),%ebx | |
13338 ++ xorl %ecx,%edi | |
13339 ++ andl %eax,%edi | |
13340 ++ movl 36(%esi),%ebp | |
13341 ++ xorl %edx,%edi | |
13342 ++ addl %edi,%ebx | |
13343 ++ movl %ecx,%edi | |
13344 ++ roll $20,%ebx | |
13345 ++ addl %ecx,%ebx | |
13346 ++ # R1 24 | |
13347 ++ leal 568446438(%eax,%ebp,1),%eax | |
13348 ++ xorl %ebx,%edi | |
13349 ++ andl %edx,%edi | |
13350 ++ movl 56(%esi),%ebp | |
13351 ++ xorl %ecx,%edi | |
13352 ++ addl %edi,%eax | |
13353 ++ movl %ebx,%edi | |
13354 ++ roll $5,%eax | |
13355 ++ addl %ebx,%eax | |
13356 ++ # R1 25 | |
13357 ++ leal 3275163606(%edx,%ebp,1),%edx | |
13358 ++ xorl %eax,%edi | |
13359 ++ andl %ecx,%edi | |
13360 ++ movl 12(%esi),%ebp | |
13361 ++ xorl %ebx,%edi | |
13362 ++ addl %edi,%edx | |
13363 ++ movl %eax,%edi | |
13364 ++ roll $9,%edx | |
13365 ++ addl %eax,%edx | |
13366 ++ # R1 26 | |
13367 ++ leal 4107603335(%ecx,%ebp,1),%ecx | |
13368 ++ xorl %edx,%edi | |
13369 ++ andl %ebx,%edi | |
13370 ++ movl 32(%esi),%ebp | |
13371 ++ xorl %eax,%edi | |
13372 ++ addl %edi,%ecx | |
13373 ++ movl %edx,%edi | |
13374 ++ roll $14,%ecx | |
13375 ++ addl %edx,%ecx | |
13376 ++ # R1 27 | |
13377 ++ leal 1163531501(%ebx,%ebp,1),%ebx | |
13378 ++ xorl %ecx,%edi | |
13379 ++ andl %eax,%edi | |
13380 ++ movl 52(%esi),%ebp | |
13381 ++ xorl %edx,%edi | |
13382 ++ addl %edi,%ebx | |
13383 ++ movl %ecx,%edi | |
13384 ++ roll $20,%ebx | |
13385 ++ addl %ecx,%ebx | |
13386 ++ # R1 28 | |
13387 ++ leal 2850285829(%eax,%ebp,1),%eax | |
13388 ++ xorl %ebx,%edi | |
13389 ++ andl %edx,%edi | |
13390 ++ movl 8(%esi),%ebp | |
13391 ++ xorl %ecx,%edi | |
13392 ++ addl %edi,%eax | |
13393 ++ movl %ebx,%edi | |
13394 ++ roll $5,%eax | |
13395 ++ addl %ebx,%eax | |
13396 ++ # R1 29 | |
13397 ++ leal 4243563512(%edx,%ebp,1),%edx | |
13398 ++ xorl %eax,%edi | |
13399 ++ andl %ecx,%edi | |
13400 ++ movl 28(%esi),%ebp | |
13401 ++ xorl %ebx,%edi | |
13402 ++ addl %edi,%edx | |
13403 ++ movl %eax,%edi | |
13404 ++ roll $9,%edx | |
13405 ++ addl %eax,%edx | |
13406 ++ # R1 30 | |
13407 ++ leal 1735328473(%ecx,%ebp,1),%ecx | |
13408 ++ xorl %edx,%edi | |
13409 ++ andl %ebx,%edi | |
13410 ++ movl 48(%esi),%ebp | |
13411 ++ xorl %eax,%edi | |
13412 ++ addl %edi,%ecx | |
13413 ++ movl %edx,%edi | |
13414 ++ roll $14,%ecx | |
13415 ++ addl %edx,%ecx | |
13416 ++ # R1 31 | |
13417 ++ leal 2368359562(%ebx,%ebp,1),%ebx | |
13418 ++ xorl %ecx,%edi | |
13419 ++ andl %eax,%edi | |
13420 ++ movl 20(%esi),%ebp | |
13421 ++ xorl %edx,%edi | |
13422 ++ addl %edi,%ebx | |
13423 ++ movl %ecx,%edi | |
13424 ++ roll $20,%ebx | |
13425 ++ addl %ecx,%ebx | |
13426 ++ | |
13427 ++ # R2 section | |
13428 ++ # R2 32 | |
13429 ++ xorl %edx,%edi | |
13430 ++ xorl %ebx,%edi | |
13431 ++ leal 4294588738(%eax,%ebp,1),%eax | |
13432 ++ addl %edi,%eax | |
13433 ++ roll $4,%eax | |
13434 ++ movl 32(%esi),%ebp | |
13435 ++ movl %ebx,%edi | |
13436 ++ # R2 33 | |
13437 ++ leal 2272392833(%edx,%ebp,1),%edx | |
13438 ++ addl %ebx,%eax | |
13439 ++ xorl %ecx,%edi | |
13440 ++ xorl %eax,%edi | |
13441 ++ movl 44(%esi),%ebp | |
13442 ++ addl %edi,%edx | |
13443 ++ movl %eax,%edi | |
13444 ++ roll $11,%edx | |
13445 ++ addl %eax,%edx | |
13446 ++ # R2 34 | |
13447 ++ xorl %ebx,%edi | |
13448 ++ xorl %edx,%edi | |
13449 ++ leal 1839030562(%ecx,%ebp,1),%ecx | |
13450 ++ addl %edi,%ecx | |
13451 ++ roll $16,%ecx | |
13452 ++ movl 56(%esi),%ebp | |
13453 ++ movl %edx,%edi | |
13454 ++ # R2 35 | |
13455 ++ leal 4259657740(%ebx,%ebp,1),%ebx | |
13456 ++ addl %edx,%ecx | |
13457 ++ xorl %eax,%edi | |
13458 ++ xorl %ecx,%edi | |
13459 ++ movl 4(%esi),%ebp | |
13460 ++ addl %edi,%ebx | |
13461 ++ movl %ecx,%edi | |
13462 ++ roll $23,%ebx | |
13463 ++ addl %ecx,%ebx | |
13464 ++ # R2 36 | |
13465 ++ xorl %edx,%edi | |
13466 ++ xorl %ebx,%edi | |
13467 ++ leal 2763975236(%eax,%ebp,1),%eax | |
13468 ++ addl %edi,%eax | |
13469 ++ roll $4,%eax | |
13470 ++ movl 16(%esi),%ebp | |
13471 ++ movl %ebx,%edi | |
13472 ++ # R2 37 | |
13473 ++ leal 1272893353(%edx,%ebp,1),%edx | |
13474 ++ addl %ebx,%eax | |
13475 ++ xorl %ecx,%edi | |
13476 ++ xorl %eax,%edi | |
13477 ++ movl 28(%esi),%ebp | |
13478 ++ addl %edi,%edx | |
13479 ++ movl %eax,%edi | |
13480 ++ roll $11,%edx | |
13481 ++ addl %eax,%edx | |
13482 ++ # R2 38 | |
13483 ++ xorl %ebx,%edi | |
13484 ++ xorl %edx,%edi | |
13485 ++ leal 4139469664(%ecx,%ebp,1),%ecx | |
13486 ++ addl %edi,%ecx | |
13487 ++ roll $16,%ecx | |
13488 ++ movl 40(%esi),%ebp | |
13489 ++ movl %edx,%edi | |
13490 ++ # R2 39 | |
13491 ++ leal 3200236656(%ebx,%ebp,1),%ebx | |
13492 ++ addl %edx,%ecx | |
13493 ++ xorl %eax,%edi | |
13494 ++ xorl %ecx,%edi | |
13495 ++ movl 52(%esi),%ebp | |
13496 ++ addl %edi,%ebx | |
13497 ++ movl %ecx,%edi | |
13498 ++ roll $23,%ebx | |
13499 ++ addl %ecx,%ebx | |
13500 ++ # R2 40 | |
13501 ++ xorl %edx,%edi | |
13502 ++ xorl %ebx,%edi | |
13503 ++ leal 681279174(%eax,%ebp,1),%eax | |
13504 ++ addl %edi,%eax | |
13505 ++ roll $4,%eax | |
13506 ++ movl (%esi),%ebp | |
13507 ++ movl %ebx,%edi | |
13508 ++ # R2 41 | |
13509 ++ leal 3936430074(%edx,%ebp,1),%edx | |
13510 ++ addl %ebx,%eax | |
13511 ++ xorl %ecx,%edi | |
13512 ++ xorl %eax,%edi | |
13513 ++ movl 12(%esi),%ebp | |
13514 ++ addl %edi,%edx | |
13515 ++ movl %eax,%edi | |
13516 ++ roll $11,%edx | |
13517 ++ addl %eax,%edx | |
13518 ++ # R2 42 | |
13519 ++ xorl %ebx,%edi | |
13520 ++ xorl %edx,%edi | |
13521 ++ leal 3572445317(%ecx,%ebp,1),%ecx | |
13522 ++ addl %edi,%ecx | |
13523 ++ roll $16,%ecx | |
13524 ++ movl 24(%esi),%ebp | |
13525 ++ movl %edx,%edi | |
13526 ++ # R2 43 | |
13527 ++ leal 76029189(%ebx,%ebp,1),%ebx | |
13528 ++ addl %edx,%ecx | |
13529 ++ xorl %eax,%edi | |
13530 ++ xorl %ecx,%edi | |
13531 ++ movl 36(%esi),%ebp | |
13532 ++ addl %edi,%ebx | |
13533 ++ movl %ecx,%edi | |
13534 ++ roll $23,%ebx | |
13535 ++ addl %ecx,%ebx | |
13536 ++ # R2 44 | |
13537 ++ xorl %edx,%edi | |
13538 ++ xorl %ebx,%edi | |
13539 ++ leal 3654602809(%eax,%ebp,1),%eax | |
13540 ++ addl %edi,%eax | |
13541 ++ roll $4,%eax | |
13542 ++ movl 48(%esi),%ebp | |
13543 ++ movl %ebx,%edi | |
13544 ++ # R2 45 | |
13545 ++ leal 3873151461(%edx,%ebp,1),%edx | |
13546 ++ addl %ebx,%eax | |
13547 ++ xorl %ecx,%edi | |
13548 ++ xorl %eax,%edi | |
13549 ++ movl 60(%esi),%ebp | |
13550 ++ addl %edi,%edx | |
13551 ++ movl %eax,%edi | |
13552 ++ roll $11,%edx | |
13553 ++ addl %eax,%edx | |
13554 ++ # R2 46 | |
13555 ++ xorl %ebx,%edi | |
13556 ++ xorl %edx,%edi | |
13557 ++ leal 530742520(%ecx,%ebp,1),%ecx | |
13558 ++ addl %edi,%ecx | |
13559 ++ roll $16,%ecx | |
13560 ++ movl 8(%esi),%ebp | |
13561 ++ movl %edx,%edi | |
13562 ++ # R2 47 | |
13563 ++ leal 3299628645(%ebx,%ebp,1),%ebx | |
13564 ++ addl %edx,%ecx | |
13565 ++ xorl %eax,%edi | |
13566 ++ xorl %ecx,%edi | |
13567 ++ movl (%esi),%ebp | |
13568 ++ addl %edi,%ebx | |
13569 ++ movl $-1,%edi | |
13570 ++ roll $23,%ebx | |
13571 ++ addl %ecx,%ebx | |
13572 ++ | |
13573 ++ # R3 section | |
13574 ++ # R3 48 | |
13575 ++ xorl %edx,%edi | |
13576 ++ orl %ebx,%edi | |
13577 ++ leal 4096336452(%eax,%ebp,1),%eax | |
13578 ++ xorl %ecx,%edi | |
13579 ++ movl 28(%esi),%ebp | |
13580 ++ addl %edi,%eax | |
13581 ++ movl $-1,%edi | |
13582 ++ roll $6,%eax | |
13583 ++ xorl %ecx,%edi | |
13584 ++ addl %ebx,%eax | |
13585 ++ # R3 49 | |
13586 ++ orl %eax,%edi | |
13587 ++ leal 1126891415(%edx,%ebp,1),%edx | |
13588 ++ xorl %ebx,%edi | |
13589 ++ movl 56(%esi),%ebp | |
13590 ++ addl %edi,%edx | |
13591 ++ movl $-1,%edi | |
13592 ++ roll $10,%edx | |
13593 ++ xorl %ebx,%edi | |
13594 ++ addl %eax,%edx | |
13595 ++ # R3 50 | |
13596 ++ orl %edx,%edi | |
13597 ++ leal 2878612391(%ecx,%ebp,1),%ecx | |
13598 ++ xorl %eax,%edi | |
13599 ++ movl 20(%esi),%ebp | |
13600 ++ addl %edi,%ecx | |
13601 ++ movl $-1,%edi | |
13602 ++ roll $15,%ecx | |
13603 ++ xorl %eax,%edi | |
13604 ++ addl %edx,%ecx | |
13605 ++ # R3 51 | |
13606 ++ orl %ecx,%edi | |
13607 ++ leal 4237533241(%ebx,%ebp,1),%ebx | |
13608 ++ xorl %edx,%edi | |
13609 ++ movl 48(%esi),%ebp | |
13610 ++ addl %edi,%ebx | |
13611 ++ movl $-1,%edi | |
13612 ++ roll $21,%ebx | |
13613 ++ xorl %edx,%edi | |
13614 ++ addl %ecx,%ebx | |
13615 ++ # R3 52 | |
13616 ++ orl %ebx,%edi | |
13617 ++ leal 1700485571(%eax,%ebp,1),%eax | |
13618 ++ xorl %ecx,%edi | |
13619 ++ movl 12(%esi),%ebp | |
13620 ++ addl %edi,%eax | |
13621 ++ movl $-1,%edi | |
13622 ++ roll $6,%eax | |
13623 ++ xorl %ecx,%edi | |
13624 ++ addl %ebx,%eax | |
13625 ++ # R3 53 | |
13626 ++ orl %eax,%edi | |
13627 ++ leal 2399980690(%edx,%ebp,1),%edx | |
13628 ++ xorl %ebx,%edi | |
13629 ++ movl 40(%esi),%ebp | |
13630 ++ addl %edi,%edx | |
13631 ++ movl $-1,%edi | |
13632 ++ roll $10,%edx | |
13633 ++ xorl %ebx,%edi | |
13634 ++ addl %eax,%edx | |
13635 ++ # R3 54 | |
13636 ++ orl %edx,%edi | |
13637 ++ leal 4293915773(%ecx,%ebp,1),%ecx | |
13638 ++ xorl %eax,%edi | |
13639 ++ movl 4(%esi),%ebp | |
13640 ++ addl %edi,%ecx | |
13641 ++ movl $-1,%edi | |
13642 ++ roll $15,%ecx | |
13643 ++ xorl %eax,%edi | |
13644 ++ addl %edx,%ecx | |
13645 ++ # R3 55 | |
13646 ++ orl %ecx,%edi | |
13647 ++ leal 2240044497(%ebx,%ebp,1),%ebx | |
13648 ++ xorl %edx,%edi | |
13649 ++ movl 32(%esi),%ebp | |
13650 ++ addl %edi,%ebx | |
13651 ++ movl $-1,%edi | |
13652 ++ roll $21,%ebx | |
13653 ++ xorl %edx,%edi | |
13654 ++ addl %ecx,%ebx | |
13655 ++ # R3 56 | |
13656 ++ orl %ebx,%edi | |
13657 ++ leal 1873313359(%eax,%ebp,1),%eax | |
13658 ++ xorl %ecx,%edi | |
13659 ++ movl 60(%esi),%ebp | |
13660 ++ addl %edi,%eax | |
13661 ++ movl $-1,%edi | |
13662 ++ roll $6,%eax | |
13663 ++ xorl %ecx,%edi | |
13664 ++ addl %ebx,%eax | |
13665 ++ # R3 57 | |
13666 ++ orl %eax,%edi | |
13667 ++ leal 4264355552(%edx,%ebp,1),%edx | |
13668 ++ xorl %ebx,%edi | |
13669 ++ movl 24(%esi),%ebp | |
13670 ++ addl %edi,%edx | |
13671 ++ movl $-1,%edi | |
13672 ++ roll $10,%edx | |
13673 ++ xorl %ebx,%edi | |
13674 ++ addl %eax,%edx | |
13675 ++ # R3 58 | |
13676 ++ orl %edx,%edi | |
13677 ++ leal 2734768916(%ecx,%ebp,1),%ecx | |
13678 ++ xorl %eax,%edi | |
13679 ++ movl 52(%esi),%ebp | |
13680 ++ addl %edi,%ecx | |
13681 ++ movl $-1,%edi | |
13682 ++ roll $15,%ecx | |
13683 ++ xorl %eax,%edi | |
13684 ++ addl %edx,%ecx | |
13685 ++ # R3 59 | |
13686 ++ orl %ecx,%edi | |
13687 ++ leal 1309151649(%ebx,%ebp,1),%ebx | |
13688 ++ xorl %edx,%edi | |
13689 ++ movl 16(%esi),%ebp | |
13690 ++ addl %edi,%ebx | |
13691 ++ movl $-1,%edi | |
13692 ++ roll $21,%ebx | |
13693 ++ xorl %edx,%edi | |
13694 ++ addl %ecx,%ebx | |
13695 ++ # R3 60 | |
13696 ++ orl %ebx,%edi | |
13697 ++ leal 4149444226(%eax,%ebp,1),%eax | |
13698 ++ xorl %ecx,%edi | |
13699 ++ movl 44(%esi),%ebp | |
13700 ++ addl %edi,%eax | |
13701 ++ movl $-1,%edi | |
13702 ++ roll $6,%eax | |
13703 ++ xorl %ecx,%edi | |
13704 ++ addl %ebx,%eax | |
13705 ++ # R3 61 | |
13706 ++ orl %eax,%edi | |
13707 ++ leal 3174756917(%edx,%ebp,1),%edx | |
13708 ++ xorl %ebx,%edi | |
13709 ++ movl 8(%esi),%ebp | |
13710 ++ addl %edi,%edx | |
13711 ++ movl $-1,%edi | |
13712 ++ roll $10,%edx | |
13713 ++ xorl %ebx,%edi | |
13714 ++ addl %eax,%edx | |
13715 ++ # R3 62 | |
13716 ++ orl %edx,%edi | |
13717 ++ leal 718787259(%ecx,%ebp,1),%ecx | |
13718 ++ xorl %eax,%edi | |
13719 ++ movl 36(%esi),%ebp | |
13720 ++ addl %edi,%ecx | |
13721 ++ movl $-1,%edi | |
13722 ++ roll $15,%ecx | |
13723 ++ xorl %eax,%edi | |
13724 ++ addl %edx,%ecx | |
13725 ++ # R3 63 | |
13726 ++ orl %ecx,%edi | |
13727 ++ leal 3951481745(%ebx,%ebp,1),%ebx | |
13728 ++ xorl %edx,%edi | |
13729 ++ movl 24(%esp),%ebp | |
13730 ++ addl %edi,%ebx | |
13731 ++ addl $64,%esi | |
13732 ++ roll $21,%ebx | |
13733 ++ movl (%ebp),%edi | |
13734 ++ addl %ecx,%ebx | |
13735 ++ addl %edi,%eax | |
13736 ++ movl 4(%ebp),%edi | |
13737 ++ addl %edi,%ebx | |
13738 ++ movl 8(%ebp),%edi | |
13739 ++ addl %edi,%ecx | |
13740 ++ movl 12(%ebp),%edi | |
13741 ++ addl %edi,%edx | |
13742 ++ movl %eax,(%ebp) | |
13743 ++ movl %ebx,4(%ebp) | |
13744 ++ movl (%esp),%edi | |
13745 ++ movl %ecx,8(%ebp) | |
13746 ++ movl %edx,12(%ebp) | |
13747 ++ cmpl %esi,%edi | |
13748 ++ jae L000start | |
13749 ++ popl %eax | |
13750 ++ popl %ebx | |
13751 ++ popl %ebp | |
13752 ++ popl %edi | |
13753 ++ popl %esi | |
13754 ++ ret | |
13755 +diff --git a/crypto/modes/asm/ghash-x86-mac.S b/crypto/modes/asm/ghash-x86-mac.
S | |
13756 +new file mode 100644 | |
13757 +index 0000000..dc6ba14 | |
13758 +--- /dev/null | |
13759 ++++ b/crypto/modes/asm/ghash-x86-mac.S | |
13760 +@@ -0,0 +1,718 @@ | |
13761 ++.file "ghash-x86.s" | |
13762 ++.text | |
13763 ++.globl _gcm_gmult_4bit_x86 | |
13764 ++.align 4 | |
13765 ++_gcm_gmult_4bit_x86: | |
13766 ++L_gcm_gmult_4bit_x86_begin: | |
13767 ++ pushl %ebp | |
13768 ++ pushl %ebx | |
13769 ++ pushl %esi | |
13770 ++ pushl %edi | |
13771 ++ subl $84,%esp | |
13772 ++ movl 104(%esp),%edi | |
13773 ++ movl 108(%esp),%esi | |
13774 ++ movl (%edi),%ebp | |
13775 ++ movl 4(%edi),%edx | |
13776 ++ movl 8(%edi),%ecx | |
13777 ++ movl 12(%edi),%ebx | |
13778 ++ movl $0,16(%esp) | |
13779 ++ movl $471859200,20(%esp) | |
13780 ++ movl $943718400,24(%esp) | |
13781 ++ movl $610271232,28(%esp) | |
13782 ++ movl $1887436800,32(%esp) | |
13783 ++ movl $1822425088,36(%esp) | |
13784 ++ movl $1220542464,40(%esp) | |
13785 ++ movl $1423966208,44(%esp) | |
13786 ++ movl $3774873600,48(%esp) | |
13787 ++ movl $4246732800,52(%esp) | |
13788 ++ movl $3644850176,56(%esp) | |
13789 ++ movl $3311403008,60(%esp) | |
13790 ++ movl $2441084928,64(%esp) | |
13791 ++ movl $2376073216,68(%esp) | |
13792 ++ movl $2847932416,72(%esp) | |
13793 ++ movl $3051356160,76(%esp) | |
13794 ++ movl %ebp,(%esp) | |
13795 ++ movl %edx,4(%esp) | |
13796 ++ movl %ecx,8(%esp) | |
13797 ++ movl %ebx,12(%esp) | |
13798 ++ shrl $20,%ebx | |
13799 ++ andl $240,%ebx | |
13800 ++ movl 4(%esi,%ebx,1),%ebp | |
13801 ++ movl (%esi,%ebx,1),%edx | |
13802 ++ movl 12(%esi,%ebx,1),%ecx | |
13803 ++ movl 8(%esi,%ebx,1),%ebx | |
13804 ++ xorl %eax,%eax | |
13805 ++ movl $15,%edi | |
13806 ++ jmp L000x86_loop | |
13807 ++.align 4,0x90 | |
13808 ++L000x86_loop: | |
13809 ++ movb %bl,%al | |
13810 ++ shrdl $4,%ecx,%ebx | |
13811 ++ andb $15,%al | |
13812 ++ shrdl $4,%edx,%ecx | |
13813 ++ shrdl $4,%ebp,%edx | |
13814 ++ shrl $4,%ebp | |
13815 ++ xorl 16(%esp,%eax,4),%ebp | |
13816 ++ movb (%esp,%edi,1),%al | |
13817 ++ andb $240,%al | |
13818 ++ xorl 8(%esi,%eax,1),%ebx | |
13819 ++ xorl 12(%esi,%eax,1),%ecx | |
13820 ++ xorl (%esi,%eax,1),%edx | |
13821 ++ xorl 4(%esi,%eax,1),%ebp | |
13822 ++ decl %edi | |
13823 ++ js L001x86_break | |
13824 ++ movb %bl,%al | |
13825 ++ shrdl $4,%ecx,%ebx | |
13826 ++ andb $15,%al | |
13827 ++ shrdl $4,%edx,%ecx | |
13828 ++ shrdl $4,%ebp,%edx | |
13829 ++ shrl $4,%ebp | |
13830 ++ xorl 16(%esp,%eax,4),%ebp | |
13831 ++ movb (%esp,%edi,1),%al | |
13832 ++ shlb $4,%al | |
13833 ++ xorl 8(%esi,%eax,1),%ebx | |
13834 ++ xorl 12(%esi,%eax,1),%ecx | |
13835 ++ xorl (%esi,%eax,1),%edx | |
13836 ++ xorl 4(%esi,%eax,1),%ebp | |
13837 ++ jmp L000x86_loop | |
13838 ++.align 4,0x90 | |
13839 ++L001x86_break: | |
13840 ++ bswap %ebx | |
13841 ++ bswap %ecx | |
13842 ++ bswap %edx | |
13843 ++ bswap %ebp | |
13844 ++ movl 104(%esp),%edi | |
13845 ++ movl %ebx,12(%edi) | |
13846 ++ movl %ecx,8(%edi) | |
13847 ++ movl %edx,4(%edi) | |
13848 ++ movl %ebp,(%edi) | |
13849 ++ addl $84,%esp | |
13850 ++ popl %edi | |
13851 ++ popl %esi | |
13852 ++ popl %ebx | |
13853 ++ popl %ebp | |
13854 ++ ret | |
13855 ++.globl _gcm_ghash_4bit_x86 | |
13856 ++.align 4 | |
13857 ++_gcm_ghash_4bit_x86: | |
13858 ++L_gcm_ghash_4bit_x86_begin: | |
13859 ++ pushl %ebp | |
13860 ++ pushl %ebx | |
13861 ++ pushl %esi | |
13862 ++ pushl %edi | |
13863 ++ subl $84,%esp | |
13864 ++ movl 104(%esp),%ebx | |
13865 ++ movl 108(%esp),%esi | |
13866 ++ movl 112(%esp),%edi | |
13867 ++ movl 116(%esp),%ecx | |
13868 ++ addl %edi,%ecx | |
13869 ++ movl %ecx,116(%esp) | |
13870 ++ movl (%ebx),%ebp | |
13871 ++ movl 4(%ebx),%edx | |
13872 ++ movl 8(%ebx),%ecx | |
13873 ++ movl 12(%ebx),%ebx | |
13874 ++ movl $0,16(%esp) | |
13875 ++ movl $471859200,20(%esp) | |
13876 ++ movl $943718400,24(%esp) | |
13877 ++ movl $610271232,28(%esp) | |
13878 ++ movl $1887436800,32(%esp) | |
13879 ++ movl $1822425088,36(%esp) | |
13880 ++ movl $1220542464,40(%esp) | |
13881 ++ movl $1423966208,44(%esp) | |
13882 ++ movl $3774873600,48(%esp) | |
13883 ++ movl $4246732800,52(%esp) | |
13884 ++ movl $3644850176,56(%esp) | |
13885 ++ movl $3311403008,60(%esp) | |
13886 ++ movl $2441084928,64(%esp) | |
13887 ++ movl $2376073216,68(%esp) | |
13888 ++ movl $2847932416,72(%esp) | |
13889 ++ movl $3051356160,76(%esp) | |
13890 ++.align 4,0x90 | |
13891 ++L002x86_outer_loop: | |
13892 ++ xorl 12(%edi),%ebx | |
13893 ++ xorl 8(%edi),%ecx | |
13894 ++ xorl 4(%edi),%edx | |
13895 ++ xorl (%edi),%ebp | |
13896 ++ movl %ebx,12(%esp) | |
13897 ++ movl %ecx,8(%esp) | |
13898 ++ movl %edx,4(%esp) | |
13899 ++ movl %ebp,(%esp) | |
13900 ++ shrl $20,%ebx | |
13901 ++ andl $240,%ebx | |
13902 ++ movl 4(%esi,%ebx,1),%ebp | |
13903 ++ movl (%esi,%ebx,1),%edx | |
13904 ++ movl 12(%esi,%ebx,1),%ecx | |
13905 ++ movl 8(%esi,%ebx,1),%ebx | |
13906 ++ xorl %eax,%eax | |
13907 ++ movl $15,%edi | |
13908 ++ jmp L003x86_loop | |
13909 ++.align 4,0x90 | |
13910 ++L003x86_loop: | |
13911 ++ movb %bl,%al | |
13912 ++ shrdl $4,%ecx,%ebx | |
13913 ++ andb $15,%al | |
13914 ++ shrdl $4,%edx,%ecx | |
13915 ++ shrdl $4,%ebp,%edx | |
13916 ++ shrl $4,%ebp | |
13917 ++ xorl 16(%esp,%eax,4),%ebp | |
13918 ++ movb (%esp,%edi,1),%al | |
13919 ++ andb $240,%al | |
13920 ++ xorl 8(%esi,%eax,1),%ebx | |
13921 ++ xorl 12(%esi,%eax,1),%ecx | |
13922 ++ xorl (%esi,%eax,1),%edx | |
13923 ++ xorl 4(%esi,%eax,1),%ebp | |
13924 ++ decl %edi | |
13925 ++ js L004x86_break | |
13926 ++ movb %bl,%al | |
13927 ++ shrdl $4,%ecx,%ebx | |
13928 ++ andb $15,%al | |
13929 ++ shrdl $4,%edx,%ecx | |
13930 ++ shrdl $4,%ebp,%edx | |
13931 ++ shrl $4,%ebp | |
13932 ++ xorl 16(%esp,%eax,4),%ebp | |
13933 ++ movb (%esp,%edi,1),%al | |
13934 ++ shlb $4,%al | |
13935 ++ xorl 8(%esi,%eax,1),%ebx | |
13936 ++ xorl 12(%esi,%eax,1),%ecx | |
13937 ++ xorl (%esi,%eax,1),%edx | |
13938 ++ xorl 4(%esi,%eax,1),%ebp | |
13939 ++ jmp L003x86_loop | |
13940 ++.align 4,0x90 | |
13941 ++L004x86_break: | |
13942 ++ bswap %ebx | |
13943 ++ bswap %ecx | |
13944 ++ bswap %edx | |
13945 ++ bswap %ebp | |
13946 ++ movl 112(%esp),%edi | |
13947 ++ leal 16(%edi),%edi | |
13948 ++ cmpl 116(%esp),%edi | |
13949 ++ movl %edi,112(%esp) | |
13950 ++ jb L002x86_outer_loop | |
13951 ++ movl 104(%esp),%edi | |
13952 ++ movl %ebx,12(%edi) | |
13953 ++ movl %ecx,8(%edi) | |
13954 ++ movl %edx,4(%edi) | |
13955 ++ movl %ebp,(%edi) | |
13956 ++ addl $84,%esp | |
13957 ++ popl %edi | |
13958 ++ popl %esi | |
13959 ++ popl %ebx | |
13960 ++ popl %ebp | |
13961 ++ ret | |
13962 ++.align 4 | |
13963 ++__mmx_gmult_4bit_inner: | |
13964 ++ xorl %ecx,%ecx | |
13965 ++ movl %ebx,%edx | |
13966 ++ movb %dl,%cl | |
13967 ++ shlb $4,%cl | |
13968 ++ andl $240,%edx | |
13969 ++ movq 8(%esi,%ecx,1),%mm0 | |
13970 ++ movq (%esi,%ecx,1),%mm1 | |
13971 ++ movd %mm0,%ebp | |
13972 ++ psrlq $4,%mm0 | |
13973 ++ movq %mm1,%mm2 | |
13974 ++ psrlq $4,%mm1 | |
13975 ++ pxor 8(%esi,%edx,1),%mm0 | |
13976 ++ movb 14(%edi),%cl | |
13977 ++ psllq $60,%mm2 | |
13978 ++ andl $15,%ebp | |
13979 ++ pxor (%esi,%edx,1),%mm1 | |
13980 ++ movl %ecx,%edx | |
13981 ++ movd %mm0,%ebx | |
13982 ++ pxor %mm2,%mm0 | |
13983 ++ shlb $4,%cl | |
13984 ++ psrlq $4,%mm0 | |
13985 ++ movq %mm1,%mm2 | |
13986 ++ psrlq $4,%mm1 | |
13987 ++ pxor 8(%esi,%ecx,1),%mm0 | |
13988 ++ psllq $60,%mm2 | |
13989 ++ andl $240,%edx | |
13990 ++ pxor (%eax,%ebp,8),%mm1 | |
13991 ++ andl $15,%ebx | |
13992 ++ pxor (%esi,%ecx,1),%mm1 | |
13993 ++ movd %mm0,%ebp | |
13994 ++ pxor %mm2,%mm0 | |
13995 ++ psrlq $4,%mm0 | |
13996 ++ movq %mm1,%mm2 | |
13997 ++ psrlq $4,%mm1 | |
13998 ++ pxor 8(%esi,%edx,1),%mm0 | |
13999 ++ movb 13(%edi),%cl | |
14000 ++ psllq $60,%mm2 | |
14001 ++ pxor (%eax,%ebx,8),%mm1 | |
14002 ++ andl $15,%ebp | |
14003 ++ pxor (%esi,%edx,1),%mm1 | |
14004 ++ movl %ecx,%edx | |
14005 ++ movd %mm0,%ebx | |
14006 ++ pxor %mm2,%mm0 | |
14007 ++ shlb $4,%cl | |
14008 ++ psrlq $4,%mm0 | |
14009 ++ movq %mm1,%mm2 | |
14010 ++ psrlq $4,%mm1 | |
14011 ++ pxor 8(%esi,%ecx,1),%mm0 | |
14012 ++ psllq $60,%mm2 | |
14013 ++ andl $240,%edx | |
14014 ++ pxor (%eax,%ebp,8),%mm1 | |
14015 ++ andl $15,%ebx | |
14016 ++ pxor (%esi,%ecx,1),%mm1 | |
14017 ++ movd %mm0,%ebp | |
14018 ++ pxor %mm2,%mm0 | |
14019 ++ psrlq $4,%mm0 | |
14020 ++ movq %mm1,%mm2 | |
14021 ++ psrlq $4,%mm1 | |
14022 ++ pxor 8(%esi,%edx,1),%mm0 | |
14023 ++ movb 12(%edi),%cl | |
14024 ++ psllq $60,%mm2 | |
14025 ++ pxor (%eax,%ebx,8),%mm1 | |
14026 ++ andl $15,%ebp | |
14027 ++ pxor (%esi,%edx,1),%mm1 | |
14028 ++ movl %ecx,%edx | |
14029 ++ movd %mm0,%ebx | |
14030 ++ pxor %mm2,%mm0 | |
14031 ++ shlb $4,%cl | |
14032 ++ psrlq $4,%mm0 | |
14033 ++ movq %mm1,%mm2 | |
14034 ++ psrlq $4,%mm1 | |
14035 ++ pxor 8(%esi,%ecx,1),%mm0 | |
14036 ++ psllq $60,%mm2 | |
14037 ++ andl $240,%edx | |
14038 ++ pxor (%eax,%ebp,8),%mm1 | |
14039 ++ andl $15,%ebx | |
14040 ++ pxor (%esi,%ecx,1),%mm1 | |
14041 ++ movd %mm0,%ebp | |
14042 ++ pxor %mm2,%mm0 | |
14043 ++ psrlq $4,%mm0 | |
14044 ++ movq %mm1,%mm2 | |
14045 ++ psrlq $4,%mm1 | |
14046 ++ pxor 8(%esi,%edx,1),%mm0 | |
14047 ++ movb 11(%edi),%cl | |
14048 ++ psllq $60,%mm2 | |
14049 ++ pxor (%eax,%ebx,8),%mm1 | |
14050 ++ andl $15,%ebp | |
14051 ++ pxor (%esi,%edx,1),%mm1 | |
14052 ++ movl %ecx,%edx | |
14053 ++ movd %mm0,%ebx | |
14054 ++ pxor %mm2,%mm0 | |
14055 ++ shlb $4,%cl | |
14056 ++ psrlq $4,%mm0 | |
14057 ++ movq %mm1,%mm2 | |
14058 ++ psrlq $4,%mm1 | |
14059 ++ pxor 8(%esi,%ecx,1),%mm0 | |
14060 ++ psllq $60,%mm2 | |
14061 ++ andl $240,%edx | |
14062 ++ pxor (%eax,%ebp,8),%mm1 | |
14063 ++ andl $15,%ebx | |
14064 ++ pxor (%esi,%ecx,1),%mm1 | |
14065 ++ movd %mm0,%ebp | |
14066 ++ pxor %mm2,%mm0 | |
14067 ++ psrlq $4,%mm0 | |
14068 ++ movq %mm1,%mm2 | |
14069 ++ psrlq $4,%mm1 | |
14070 ++ pxor 8(%esi,%edx,1),%mm0 | |
14071 ++ movb 10(%edi),%cl | |
14072 ++ psllq $60,%mm2 | |
14073 ++ pxor (%eax,%ebx,8),%mm1 | |
14074 ++ andl $15,%ebp | |
14075 ++ pxor (%esi,%edx,1),%mm1 | |
14076 ++ movl %ecx,%edx | |
14077 ++ movd %mm0,%ebx | |
14078 ++ pxor %mm2,%mm0 | |
14079 ++ shlb $4,%cl | |
14080 ++ psrlq $4,%mm0 | |
14081 ++ movq %mm1,%mm2 | |
14082 ++ psrlq $4,%mm1 | |
14083 ++ pxor 8(%esi,%ecx,1),%mm0 | |
14084 ++ psllq $60,%mm2 | |
14085 ++ andl $240,%edx | |
14086 ++ pxor (%eax,%ebp,8),%mm1 | |
14087 ++ andl $15,%ebx | |
14088 ++ pxor (%esi,%ecx,1),%mm1 | |
14089 ++ movd %mm0,%ebp | |
14090 ++ pxor %mm2,%mm0 | |
14091 ++ psrlq $4,%mm0 | |
14092 ++ movq %mm1,%mm2 | |
14093 ++ psrlq $4,%mm1 | |
14094 ++ pxor 8(%esi,%edx,1),%mm0 | |
14095 ++ movb 9(%edi),%cl | |
14096 ++ psllq $60,%mm2 | |
14097 ++ pxor (%eax,%ebx,8),%mm1 | |
14098 ++ andl $15,%ebp | |
14099 ++ pxor (%esi,%edx,1),%mm1 | |
14100 ++ movl %ecx,%edx | |
14101 ++ movd %mm0,%ebx | |
14102 ++ pxor %mm2,%mm0 | |
14103 ++ shlb $4,%cl | |
14104 ++ psrlq $4,%mm0 | |
14105 ++ movq %mm1,%mm2 | |
14106 ++ psrlq $4,%mm1 | |
14107 ++ pxor 8(%esi,%ecx,1),%mm0 | |
14108 ++ psllq $60,%mm2 | |
14109 ++ andl $240,%edx | |
14110 ++ pxor (%eax,%ebp,8),%mm1 | |
14111 ++ andl $15,%ebx | |
14112 ++ pxor (%esi,%ecx,1),%mm1 | |
14113 ++ movd %mm0,%ebp | |
14114 ++ pxor %mm2,%mm0 | |
14115 ++ psrlq $4,%mm0 | |
14116 ++ movq %mm1,%mm2 | |
14117 ++ psrlq $4,%mm1 | |
14118 ++ pxor 8(%esi,%edx,1),%mm0 | |
14119 ++ movb 8(%edi),%cl | |
14120 ++ psllq $60,%mm2 | |
14121 ++ pxor (%eax,%ebx,8),%mm1 | |
14122 ++ andl $15,%ebp | |
14123 ++ pxor (%esi,%edx,1),%mm1 | |
14124 ++ movl %ecx,%edx | |
14125 ++ movd %mm0,%ebx | |
14126 ++ pxor %mm2,%mm0 | |
14127 ++ shlb $4,%cl | |
14128 ++ psrlq $4,%mm0 | |
14129 ++ movq %mm1,%mm2 | |
14130 ++ psrlq $4,%mm1 | |
14131 ++ pxor 8(%esi,%ecx,1),%mm0 | |
14132 ++ psllq $60,%mm2 | |
14133 ++ andl $240,%edx | |
14134 ++ pxor (%eax,%ebp,8),%mm1 | |
14135 ++ andl $15,%ebx | |
14136 ++ pxor (%esi,%ecx,1),%mm1 | |
14137 ++ movd %mm0,%ebp | |
14138 ++ pxor %mm2,%mm0 | |
14139 ++ psrlq $4,%mm0 | |
14140 ++ movq %mm1,%mm2 | |
14141 ++ psrlq $4,%mm1 | |
14142 ++ pxor 8(%esi,%edx,1),%mm0 | |
14143 ++ movb 7(%edi),%cl | |
14144 ++ psllq $60,%mm2 | |
14145 ++ pxor (%eax,%ebx,8),%mm1 | |
14146 ++ andl $15,%ebp | |
14147 ++ pxor (%esi,%edx,1),%mm1 | |
14148 ++ movl %ecx,%edx | |
14149 ++ movd %mm0,%ebx | |
14150 ++ pxor %mm2,%mm0 | |
14151 ++ shlb $4,%cl | |
14152 ++ psrlq $4,%mm0 | |
14153 ++ movq %mm1,%mm2 | |
14154 ++ psrlq $4,%mm1 | |
14155 ++ pxor 8(%esi,%ecx,1),%mm0 | |
14156 ++ psllq $60,%mm2 | |
14157 ++ andl $240,%edx | |
14158 ++ pxor (%eax,%ebp,8),%mm1 | |
14159 ++ andl $15,%ebx | |
14160 ++ pxor (%esi,%ecx,1),%mm1 | |
14161 ++ movd %mm0,%ebp | |
14162 ++ pxor %mm2,%mm0 | |
14163 ++ psrlq $4,%mm0 | |
14164 ++ movq %mm1,%mm2 | |
14165 ++ psrlq $4,%mm1 | |
14166 ++ pxor 8(%esi,%edx,1),%mm0 | |
14167 ++ movb 6(%edi),%cl | |
14168 ++ psllq $60,%mm2 | |
14169 ++ pxor (%eax,%ebx,8),%mm1 | |
14170 ++ andl $15,%ebp | |
14171 ++ pxor (%esi,%edx,1),%mm1 | |
14172 ++ movl %ecx,%edx | |
14173 ++ movd %mm0,%ebx | |
14174 ++ pxor %mm2,%mm0 | |
14175 ++ shlb $4,%cl | |
14176 ++ psrlq $4,%mm0 | |
14177 ++ movq %mm1,%mm2 | |
14178 ++ psrlq $4,%mm1 | |
14179 ++ pxor 8(%esi,%ecx,1),%mm0 | |
14180 ++ psllq $60,%mm2 | |
14181 ++ andl $240,%edx | |
14182 ++ pxor (%eax,%ebp,8),%mm1 | |
14183 ++ andl $15,%ebx | |
14184 ++ pxor (%esi,%ecx,1),%mm1 | |
14185 ++ movd %mm0,%ebp | |
14186 ++ pxor %mm2,%mm0 | |
14187 ++ psrlq $4,%mm0 | |
14188 ++ movq %mm1,%mm2 | |
14189 ++ psrlq $4,%mm1 | |
14190 ++ pxor 8(%esi,%edx,1),%mm0 | |
14191 ++ movb 5(%edi),%cl | |
14192 ++ psllq $60,%mm2 | |
14193 ++ pxor (%eax,%ebx,8),%mm1 | |
14194 ++ andl $15,%ebp | |
14195 ++ pxor (%esi,%edx,1),%mm1 | |
14196 ++ movl %ecx,%edx | |
14197 ++ movd %mm0,%ebx | |
14198 ++ pxor %mm2,%mm0 | |
14199 ++ shlb $4,%cl | |
14200 ++ psrlq $4,%mm0 | |
14201 ++ movq %mm1,%mm2 | |
14202 ++ psrlq $4,%mm1 | |
14203 ++ pxor 8(%esi,%ecx,1),%mm0 | |
14204 ++ psllq $60,%mm2 | |
14205 ++ andl $240,%edx | |
14206 ++ pxor (%eax,%ebp,8),%mm1 | |
14207 ++ andl $15,%ebx | |
14208 ++ pxor (%esi,%ecx,1),%mm1 | |
14209 ++ movd %mm0,%ebp | |
14210 ++ pxor %mm2,%mm0 | |
14211 ++ psrlq $4,%mm0 | |
14212 ++ movq %mm1,%mm2 | |
14213 ++ psrlq $4,%mm1 | |
14214 ++ pxor 8(%esi,%edx,1),%mm0 | |
14215 ++ movb 4(%edi),%cl | |
14216 ++ psllq $60,%mm2 | |
14217 ++ pxor (%eax,%ebx,8),%mm1 | |
14218 ++ andl $15,%ebp | |
14219 ++ pxor (%esi,%edx,1),%mm1 | |
14220 ++ movl %ecx,%edx | |
14221 ++ movd %mm0,%ebx | |
14222 ++ pxor %mm2,%mm0 | |
14223 ++ shlb $4,%cl | |
14224 ++ psrlq $4,%mm0 | |
14225 ++ movq %mm1,%mm2 | |
14226 ++ psrlq $4,%mm1 | |
14227 ++ pxor 8(%esi,%ecx,1),%mm0 | |
14228 ++ psllq $60,%mm2 | |
14229 ++ andl $240,%edx | |
14230 ++ pxor (%eax,%ebp,8),%mm1 | |
14231 ++ andl $15,%ebx | |
14232 ++ pxor (%esi,%ecx,1),%mm1 | |
14233 ++ movd %mm0,%ebp | |
14234 ++ pxor %mm2,%mm0 | |
14235 ++ psrlq $4,%mm0 | |
14236 ++ movq %mm1,%mm2 | |
14237 ++ psrlq $4,%mm1 | |
14238 ++ pxor 8(%esi,%edx,1),%mm0 | |
14239 ++ movb 3(%edi),%cl | |
14240 ++ psllq $60,%mm2 | |
14241 ++ pxor (%eax,%ebx,8),%mm1 | |
14242 ++ andl $15,%ebp | |
14243 ++ pxor (%esi,%edx,1),%mm1 | |
14244 ++ movl %ecx,%edx | |
14245 ++ movd %mm0,%ebx | |
14246 ++ pxor %mm2,%mm0 | |
14247 ++ shlb $4,%cl | |
14248 ++ psrlq $4,%mm0 | |
14249 ++ movq %mm1,%mm2 | |
14250 ++ psrlq $4,%mm1 | |
14251 ++ pxor 8(%esi,%ecx,1),%mm0 | |
14252 ++ psllq $60,%mm2 | |
14253 ++ andl $240,%edx | |
14254 ++ pxor (%eax,%ebp,8),%mm1 | |
14255 ++ andl $15,%ebx | |
14256 ++ pxor (%esi,%ecx,1),%mm1 | |
14257 ++ movd %mm0,%ebp | |
14258 ++ pxor %mm2,%mm0 | |
14259 ++ psrlq $4,%mm0 | |
14260 ++ movq %mm1,%mm2 | |
14261 ++ psrlq $4,%mm1 | |
14262 ++ pxor 8(%esi,%edx,1),%mm0 | |
14263 ++ movb 2(%edi),%cl | |
14264 ++ psllq $60,%mm2 | |
14265 ++ pxor (%eax,%ebx,8),%mm1 | |
14266 ++ andl $15,%ebp | |
14267 ++ pxor (%esi,%edx,1),%mm1 | |
14268 ++ movl %ecx,%edx | |
14269 ++ movd %mm0,%ebx | |
14270 ++ pxor %mm2,%mm0 | |
14271 ++ shlb $4,%cl | |
14272 ++ psrlq $4,%mm0 | |
14273 ++ movq %mm1,%mm2 | |
14274 ++ psrlq $4,%mm1 | |
14275 ++ pxor 8(%esi,%ecx,1),%mm0 | |
14276 ++ psllq $60,%mm2 | |
14277 ++ andl $240,%edx | |
14278 ++ pxor (%eax,%ebp,8),%mm1 | |
14279 ++ andl $15,%ebx | |
14280 ++ pxor (%esi,%ecx,1),%mm1 | |
14281 ++ movd %mm0,%ebp | |
14282 ++ pxor %mm2,%mm0 | |
14283 ++ psrlq $4,%mm0 | |
14284 ++ movq %mm1,%mm2 | |
14285 ++ psrlq $4,%mm1 | |
14286 ++ pxor 8(%esi,%edx,1),%mm0 | |
14287 ++ movb 1(%edi),%cl | |
14288 ++ psllq $60,%mm2 | |
14289 ++ pxor (%eax,%ebx,8),%mm1 | |
14290 ++ andl $15,%ebp | |
14291 ++ pxor (%esi,%edx,1),%mm1 | |
14292 ++ movl %ecx,%edx | |
14293 ++ movd %mm0,%ebx | |
14294 ++ pxor %mm2,%mm0 | |
14295 ++ shlb $4,%cl | |
14296 ++ psrlq $4,%mm0 | |
14297 ++ movq %mm1,%mm2 | |
14298 ++ psrlq $4,%mm1 | |
14299 ++ pxor 8(%esi,%ecx,1),%mm0 | |
14300 ++ psllq $60,%mm2 | |
14301 ++ andl $240,%edx | |
14302 ++ pxor (%eax,%ebp,8),%mm1 | |
14303 ++ andl $15,%ebx | |
14304 ++ pxor (%esi,%ecx,1),%mm1 | |
14305 ++ movd %mm0,%ebp | |
14306 ++ pxor %mm2,%mm0 | |
14307 ++ psrlq $4,%mm0 | |
14308 ++ movq %mm1,%mm2 | |
14309 ++ psrlq $4,%mm1 | |
14310 ++ pxor 8(%esi,%edx,1),%mm0 | |
14311 ++ movb (%edi),%cl | |
14312 ++ psllq $60,%mm2 | |
14313 ++ pxor (%eax,%ebx,8),%mm1 | |
14314 ++ andl $15,%ebp | |
14315 ++ pxor (%esi,%edx,1),%mm1 | |
14316 ++ movl %ecx,%edx | |
14317 ++ movd %mm0,%ebx | |
14318 ++ pxor %mm2,%mm0 | |
14319 ++ shlb $4,%cl | |
14320 ++ psrlq $4,%mm0 | |
14321 ++ movq %mm1,%mm2 | |
14322 ++ psrlq $4,%mm1 | |
14323 ++ pxor 8(%esi,%ecx,1),%mm0 | |
14324 ++ psllq $60,%mm2 | |
14325 ++ andl $240,%edx | |
14326 ++ pxor (%eax,%ebp,8),%mm1 | |
14327 ++ andl $15,%ebx | |
14328 ++ pxor (%esi,%ecx,1),%mm1 | |
14329 ++ movd %mm0,%ebp | |
14330 ++ pxor %mm2,%mm0 | |
14331 ++ psrlq $4,%mm0 | |
14332 ++ movq %mm1,%mm2 | |
14333 ++ psrlq $4,%mm1 | |
14334 ++ pxor 8(%esi,%edx,1),%mm0 | |
14335 ++ psllq $60,%mm2 | |
14336 ++ pxor (%eax,%ebx,8),%mm1 | |
14337 ++ andl $15,%ebp | |
14338 ++ pxor (%esi,%edx,1),%mm1 | |
14339 ++ movd %mm0,%ebx | |
14340 ++ pxor %mm2,%mm0 | |
14341 ++ movl 4(%eax,%ebp,8),%edi | |
14342 ++ psrlq $32,%mm0 | |
14343 ++ movd %mm1,%edx | |
14344 ++ psrlq $32,%mm1 | |
14345 ++ movd %mm0,%ecx | |
14346 ++ movd %mm1,%ebp | |
14347 ++ shll $4,%edi | |
14348 ++ bswap %ebx | |
14349 ++ bswap %edx | |
14350 ++ bswap %ecx | |
14351 ++ xorl %edi,%ebp | |
14352 ++ bswap %ebp | |
14353 ++ ret | |
14354 ++.globl _gcm_gmult_4bit_mmx | |
14355 ++.align 4 | |
14356 ++_gcm_gmult_4bit_mmx: | |
14357 ++L_gcm_gmult_4bit_mmx_begin: | |
14358 ++ pushl %ebp | |
14359 ++ pushl %ebx | |
14360 ++ pushl %esi | |
14361 ++ pushl %edi | |
14362 ++ movl 20(%esp),%edi | |
14363 ++ movl 24(%esp),%esi | |
14364 ++ call L005pic_point | |
14365 ++L005pic_point: | |
14366 ++ popl %eax | |
14367 ++ leal Lrem_4bit-L005pic_point(%eax),%eax | |
14368 ++ movzbl 15(%edi),%ebx | |
14369 ++ call __mmx_gmult_4bit_inner | |
14370 ++ movl 20(%esp),%edi | |
14371 ++ emms | |
14372 ++ movl %ebx,12(%edi) | |
14373 ++ movl %edx,4(%edi) | |
14374 ++ movl %ecx,8(%edi) | |
14375 ++ movl %ebp,(%edi) | |
14376 ++ popl %edi | |
14377 ++ popl %esi | |
14378 ++ popl %ebx | |
14379 ++ popl %ebp | |
14380 ++ ret | |
14381 ++.globl _gcm_ghash_4bit_mmx | |
14382 ++.align 4 | |
14383 ++_gcm_ghash_4bit_mmx: | |
14384 ++L_gcm_ghash_4bit_mmx_begin: | |
14385 ++ pushl %ebp | |
14386 ++ pushl %ebx | |
14387 ++ pushl %esi | |
14388 ++ pushl %edi | |
14389 ++ movl 20(%esp),%ebp | |
14390 ++ movl 24(%esp),%esi | |
14391 ++ movl 28(%esp),%edi | |
14392 ++ movl 32(%esp),%ecx | |
14393 ++ call L006pic_point | |
14394 ++L006pic_point: | |
14395 ++ popl %eax | |
14396 ++ leal Lrem_4bit-L006pic_point(%eax),%eax | |
14397 ++ addl %edi,%ecx | |
14398 ++ movl %ecx,32(%esp) | |
14399 ++ subl $20,%esp | |
14400 ++ movl 12(%ebp),%ebx | |
14401 ++ movl 4(%ebp),%edx | |
14402 ++ movl 8(%ebp),%ecx | |
14403 ++ movl (%ebp),%ebp | |
14404 ++ jmp L007mmx_outer_loop | |
14405 ++.align 4,0x90 | |
14406 ++L007mmx_outer_loop: | |
14407 ++ xorl 12(%edi),%ebx | |
14408 ++ xorl 4(%edi),%edx | |
14409 ++ xorl 8(%edi),%ecx | |
14410 ++ xorl (%edi),%ebp | |
14411 ++ movl %edi,48(%esp) | |
14412 ++ movl %ebx,12(%esp) | |
14413 ++ movl %edx,4(%esp) | |
14414 ++ movl %ecx,8(%esp) | |
14415 ++ movl %ebp,(%esp) | |
14416 ++ movl %esp,%edi | |
14417 ++ shrl $24,%ebx | |
14418 ++ call __mmx_gmult_4bit_inner | |
14419 ++ movl 48(%esp),%edi | |
14420 ++ leal 16(%edi),%edi | |
14421 ++ cmpl 52(%esp),%edi | |
14422 ++ jb L007mmx_outer_loop | |
14423 ++ movl 40(%esp),%edi | |
14424 ++ emms | |
14425 ++ movl %ebx,12(%edi) | |
14426 ++ movl %edx,4(%edi) | |
14427 ++ movl %ecx,8(%edi) | |
14428 ++ movl %ebp,(%edi) | |
14429 ++ addl $20,%esp | |
14430 ++ popl %edi | |
14431 ++ popl %esi | |
14432 ++ popl %ebx | |
14433 ++ popl %ebp | |
14434 ++ ret | |
14435 ++.align 6,0x90 | |
14436 ++Lrem_4bit: | |
14437 ++.long 0,0,0,29491200,0,58982400,0,38141952 | |
14438 ++.long 0,117964800,0,113901568,0,76283904,0,88997888 | |
14439 ++.long 0,235929600,0,265420800,0,227803136,0,206962688 | |
14440 ++.long 0,152567808,0,148504576,0,177995776,0,190709760 | |
14441 ++.align 6,0x90 | |
14442 ++L008rem_8bit: | |
14443 ++.value 0,450,900,582,1800,1738,1164,1358 | |
14444 ++.value 3600,4050,3476,3158,2328,2266,2716,2910 | |
14445 ++.value 7200,7650,8100,7782,6952,6890,6316,6510 | |
14446 ++.value 4656,5106,4532,4214,5432,5370,5820,6014 | |
14447 ++.value 14400,14722,15300,14854,16200,16010,15564,15630 | |
14448 ++.value 13904,14226,13780,13334,12632,12442,13020,13086 | |
14449 ++.value 9312,9634,10212,9766,9064,8874,8428,8494 | |
14450 ++.value 10864,11186,10740,10294,11640,11450,12028,12094 | |
14451 ++.value 28800,28994,29444,29382,30600,30282,29708,30158 | |
14452 ++.value 32400,32594,32020,31958,31128,30810,31260,31710 | |
14453 ++.value 27808,28002,28452,28390,27560,27242,26668,27118 | |
14454 ++.value 25264,25458,24884,24822,26040,25722,26172,26622 | |
14455 ++.value 18624,18690,19268,19078,20424,19978,19532,19854 | |
14456 ++.value 18128,18194,17748,17558,16856,16410,16988,17310 | |
14457 ++.value 21728,21794,22372,22182,21480,21034,20588,20910 | |
14458 ++.value 23280,23346,22900,22710,24056,23610,24188,24510 | |
14459 ++.value 57600,57538,57988,58182,58888,59338,58764,58446 | |
14460 ++.value 61200,61138,60564,60758,59416,59866,60316,59998 | |
14461 ++.value 64800,64738,65188,65382,64040,64490,63916,63598 | |
14462 ++.value 62256,62194,61620,61814,62520,62970,63420,63102 | |
14463 ++.value 55616,55426,56004,56070,56904,57226,56780,56334 | |
14464 ++.value 55120,54930,54484,54550,53336,53658,54236,53790 | |
14465 ++.value 50528,50338,50916,50982,49768,50090,49644,49198 | |
14466 ++.value 52080,51890,51444,51510,52344,52666,53244,52798 | |
14467 ++.value 37248,36930,37380,37830,38536,38730,38156,38094 | |
14468 ++.value 40848,40530,39956,40406,39064,39258,39708,39646 | |
14469 ++.value 36256,35938,36388,36838,35496,35690,35116,35054 | |
14470 ++.value 33712,33394,32820,33270,33976,34170,34620,34558 | |
14471 ++.value 43456,43010,43588,43910,44744,44810,44364,44174 | |
14472 ++.value 42960,42514,42068,42390,41176,41242,41820,41630 | |
14473 ++.value 46560,46114,46692,47014,45800,45866,45420,45230 | |
14474 ++.value 48112,47666,47220,47542,48376,48442,49020,48830 | |
14475 ++.byte 71,72,65,83,72,32,102,111,114,32,120,56,54,44,32,67 | |
14476 ++.byte 82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112 | |
14477 ++.byte 112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62 | |
14478 ++.byte 0 | |
14479 +diff --git a/crypto/sha/asm/sha1-586-mac.S b/crypto/sha/asm/sha1-586-mac.S | |
14480 +new file mode 100644 | |
14481 +index 0000000..b843b80 | |
14482 +--- /dev/null | |
14483 ++++ b/crypto/sha/asm/sha1-586-mac.S | |
14484 +@@ -0,0 +1,1378 @@ | |
14485 ++.file "sha1-586.s" | |
14486 ++.text | |
14487 ++.globl _sha1_block_data_order | |
14488 ++.align 4 | |
14489 ++_sha1_block_data_order: | |
14490 ++L_sha1_block_data_order_begin: | |
14491 ++ pushl %ebp | |
14492 ++ pushl %ebx | |
14493 ++ pushl %esi | |
14494 ++ pushl %edi | |
14495 ++ movl 20(%esp),%ebp | |
14496 ++ movl 24(%esp),%esi | |
14497 ++ movl 28(%esp),%eax | |
14498 ++ subl $76,%esp | |
14499 ++ shll $6,%eax | |
14500 ++ addl %esi,%eax | |
14501 ++ movl %eax,104(%esp) | |
14502 ++ movl 16(%ebp),%edi | |
14503 ++ jmp L000loop | |
14504 ++.align 4,0x90 | |
14505 ++L000loop: | |
14506 ++ movl (%esi),%eax | |
14507 ++ movl 4(%esi),%ebx | |
14508 ++ movl 8(%esi),%ecx | |
14509 ++ movl 12(%esi),%edx | |
14510 ++ bswap %eax | |
14511 ++ bswap %ebx | |
14512 ++ bswap %ecx | |
14513 ++ bswap %edx | |
14514 ++ movl %eax,(%esp) | |
14515 ++ movl %ebx,4(%esp) | |
14516 ++ movl %ecx,8(%esp) | |
14517 ++ movl %edx,12(%esp) | |
14518 ++ movl 16(%esi),%eax | |
14519 ++ movl 20(%esi),%ebx | |
14520 ++ movl 24(%esi),%ecx | |
14521 ++ movl 28(%esi),%edx | |
14522 ++ bswap %eax | |
14523 ++ bswap %ebx | |
14524 ++ bswap %ecx | |
14525 ++ bswap %edx | |
14526 ++ movl %eax,16(%esp) | |
14527 ++ movl %ebx,20(%esp) | |
14528 ++ movl %ecx,24(%esp) | |
14529 ++ movl %edx,28(%esp) | |
14530 ++ movl 32(%esi),%eax | |
14531 ++ movl 36(%esi),%ebx | |
14532 ++ movl 40(%esi),%ecx | |
14533 ++ movl 44(%esi),%edx | |
14534 ++ bswap %eax | |
14535 ++ bswap %ebx | |
14536 ++ bswap %ecx | |
14537 ++ bswap %edx | |
14538 ++ movl %eax,32(%esp) | |
14539 ++ movl %ebx,36(%esp) | |
14540 ++ movl %ecx,40(%esp) | |
14541 ++ movl %edx,44(%esp) | |
14542 ++ movl 48(%esi),%eax | |
14543 ++ movl 52(%esi),%ebx | |
14544 ++ movl 56(%esi),%ecx | |
14545 ++ movl 60(%esi),%edx | |
14546 ++ bswap %eax | |
14547 ++ bswap %ebx | |
14548 ++ bswap %ecx | |
14549 ++ bswap %edx | |
14550 ++ movl %eax,48(%esp) | |
14551 ++ movl %ebx,52(%esp) | |
14552 ++ movl %ecx,56(%esp) | |
14553 ++ movl %edx,60(%esp) | |
14554 ++ movl %esi,100(%esp) | |
14555 ++ movl (%ebp),%eax | |
14556 ++ movl 4(%ebp),%ebx | |
14557 ++ movl 8(%ebp),%ecx | |
14558 ++ movl 12(%ebp),%edx | |
14559 ++ # 00_15 0 | |
14560 ++ movl %ecx,%esi | |
14561 ++ movl %eax,%ebp | |
14562 ++ roll $5,%ebp | |
14563 ++ xorl %edx,%esi | |
14564 ++ addl %edi,%ebp | |
14565 ++ movl (%esp),%edi | |
14566 ++ andl %ebx,%esi | |
14567 ++ rorl $2,%ebx | |
14568 ++ xorl %edx,%esi | |
14569 ++ leal 1518500249(%ebp,%edi,1),%ebp | |
14570 ++ addl %esi,%ebp | |
14571 ++ # 00_15 1 | |
14572 ++ movl %ebx,%edi | |
14573 ++ movl %ebp,%esi | |
14574 ++ roll $5,%ebp | |
14575 ++ xorl %ecx,%edi | |
14576 ++ addl %edx,%ebp | |
14577 ++ movl 4(%esp),%edx | |
14578 ++ andl %eax,%edi | |
14579 ++ rorl $2,%eax | |
14580 ++ xorl %ecx,%edi | |
14581 ++ leal 1518500249(%ebp,%edx,1),%ebp | |
14582 ++ addl %edi,%ebp | |
14583 ++ # 00_15 2 | |
14584 ++ movl %eax,%edx | |
14585 ++ movl %ebp,%edi | |
14586 ++ roll $5,%ebp | |
14587 ++ xorl %ebx,%edx | |
14588 ++ addl %ecx,%ebp | |
14589 ++ movl 8(%esp),%ecx | |
14590 ++ andl %esi,%edx | |
14591 ++ rorl $2,%esi | |
14592 ++ xorl %ebx,%edx | |
14593 ++ leal 1518500249(%ebp,%ecx,1),%ebp | |
14594 ++ addl %edx,%ebp | |
14595 ++ # 00_15 3 | |
14596 ++ movl %esi,%ecx | |
14597 ++ movl %ebp,%edx | |
14598 ++ roll $5,%ebp | |
14599 ++ xorl %eax,%ecx | |
14600 ++ addl %ebx,%ebp | |
14601 ++ movl 12(%esp),%ebx | |
14602 ++ andl %edi,%ecx | |
14603 ++ rorl $2,%edi | |
14604 ++ xorl %eax,%ecx | |
14605 ++ leal 1518500249(%ebp,%ebx,1),%ebp | |
14606 ++ addl %ecx,%ebp | |
14607 ++ # 00_15 4 | |
14608 ++ movl %edi,%ebx | |
14609 ++ movl %ebp,%ecx | |
14610 ++ roll $5,%ebp | |
14611 ++ xorl %esi,%ebx | |
14612 ++ addl %eax,%ebp | |
14613 ++ movl 16(%esp),%eax | |
14614 ++ andl %edx,%ebx | |
14615 ++ rorl $2,%edx | |
14616 ++ xorl %esi,%ebx | |
14617 ++ leal 1518500249(%ebp,%eax,1),%ebp | |
14618 ++ addl %ebx,%ebp | |
14619 ++ # 00_15 5 | |
14620 ++ movl %edx,%eax | |
14621 ++ movl %ebp,%ebx | |
14622 ++ roll $5,%ebp | |
14623 ++ xorl %edi,%eax | |
14624 ++ addl %esi,%ebp | |
14625 ++ movl 20(%esp),%esi | |
14626 ++ andl %ecx,%eax | |
14627 ++ rorl $2,%ecx | |
14628 ++ xorl %edi,%eax | |
14629 ++ leal 1518500249(%ebp,%esi,1),%ebp | |
14630 ++ addl %eax,%ebp | |
14631 ++ # 00_15 6 | |
14632 ++ movl %ecx,%esi | |
14633 ++ movl %ebp,%eax | |
14634 ++ roll $5,%ebp | |
14635 ++ xorl %edx,%esi | |
14636 ++ addl %edi,%ebp | |
14637 ++ movl 24(%esp),%edi | |
14638 ++ andl %ebx,%esi | |
14639 ++ rorl $2,%ebx | |
14640 ++ xorl %edx,%esi | |
14641 ++ leal 1518500249(%ebp,%edi,1),%ebp | |
14642 ++ addl %esi,%ebp | |
14643 ++ # 00_15 7 | |
14644 ++ movl %ebx,%edi | |
14645 ++ movl %ebp,%esi | |
14646 ++ roll $5,%ebp | |
14647 ++ xorl %ecx,%edi | |
14648 ++ addl %edx,%ebp | |
14649 ++ movl 28(%esp),%edx | |
14650 ++ andl %eax,%edi | |
14651 ++ rorl $2,%eax | |
14652 ++ xorl %ecx,%edi | |
14653 ++ leal 1518500249(%ebp,%edx,1),%ebp | |
14654 ++ addl %edi,%ebp | |
14655 ++ # 00_15 8 | |
14656 ++ movl %eax,%edx | |
14657 ++ movl %ebp,%edi | |
14658 ++ roll $5,%ebp | |
14659 ++ xorl %ebx,%edx | |
14660 ++ addl %ecx,%ebp | |
14661 ++ movl 32(%esp),%ecx | |
14662 ++ andl %esi,%edx | |
14663 ++ rorl $2,%esi | |
14664 ++ xorl %ebx,%edx | |
14665 ++ leal 1518500249(%ebp,%ecx,1),%ebp | |
14666 ++ addl %edx,%ebp | |
14667 ++ # 00_15 9 | |
14668 ++ movl %esi,%ecx | |
14669 ++ movl %ebp,%edx | |
14670 ++ roll $5,%ebp | |
14671 ++ xorl %eax,%ecx | |
14672 ++ addl %ebx,%ebp | |
14673 ++ movl 36(%esp),%ebx | |
14674 ++ andl %edi,%ecx | |
14675 ++ rorl $2,%edi | |
14676 ++ xorl %eax,%ecx | |
14677 ++ leal 1518500249(%ebp,%ebx,1),%ebp | |
14678 ++ addl %ecx,%ebp | |
14679 ++ # 00_15 10 | |
14680 ++ movl %edi,%ebx | |
14681 ++ movl %ebp,%ecx | |
14682 ++ roll $5,%ebp | |
14683 ++ xorl %esi,%ebx | |
14684 ++ addl %eax,%ebp | |
14685 ++ movl 40(%esp),%eax | |
14686 ++ andl %edx,%ebx | |
14687 ++ rorl $2,%edx | |
14688 ++ xorl %esi,%ebx | |
14689 ++ leal 1518500249(%ebp,%eax,1),%ebp | |
14690 ++ addl %ebx,%ebp | |
14691 ++ # 00_15 11 | |
14692 ++ movl %edx,%eax | |
14693 ++ movl %ebp,%ebx | |
14694 ++ roll $5,%ebp | |
14695 ++ xorl %edi,%eax | |
14696 ++ addl %esi,%ebp | |
14697 ++ movl 44(%esp),%esi | |
14698 ++ andl %ecx,%eax | |
14699 ++ rorl $2,%ecx | |
14700 ++ xorl %edi,%eax | |
14701 ++ leal 1518500249(%ebp,%esi,1),%ebp | |
14702 ++ addl %eax,%ebp | |
14703 ++ # 00_15 12 | |
14704 ++ movl %ecx,%esi | |
14705 ++ movl %ebp,%eax | |
14706 ++ roll $5,%ebp | |
14707 ++ xorl %edx,%esi | |
14708 ++ addl %edi,%ebp | |
14709 ++ movl 48(%esp),%edi | |
14710 ++ andl %ebx,%esi | |
14711 ++ rorl $2,%ebx | |
14712 ++ xorl %edx,%esi | |
14713 ++ leal 1518500249(%ebp,%edi,1),%ebp | |
14714 ++ addl %esi,%ebp | |
14715 ++ # 00_15 13 | |
14716 ++ movl %ebx,%edi | |
14717 ++ movl %ebp,%esi | |
14718 ++ roll $5,%ebp | |
14719 ++ xorl %ecx,%edi | |
14720 ++ addl %edx,%ebp | |
14721 ++ movl 52(%esp),%edx | |
14722 ++ andl %eax,%edi | |
14723 ++ rorl $2,%eax | |
14724 ++ xorl %ecx,%edi | |
14725 ++ leal 1518500249(%ebp,%edx,1),%ebp | |
14726 ++ addl %edi,%ebp | |
14727 ++ # 00_15 14 | |
14728 ++ movl %eax,%edx | |
14729 ++ movl %ebp,%edi | |
14730 ++ roll $5,%ebp | |
14731 ++ xorl %ebx,%edx | |
14732 ++ addl %ecx,%ebp | |
14733 ++ movl 56(%esp),%ecx | |
14734 ++ andl %esi,%edx | |
14735 ++ rorl $2,%esi | |
14736 ++ xorl %ebx,%edx | |
14737 ++ leal 1518500249(%ebp,%ecx,1),%ebp | |
14738 ++ addl %edx,%ebp | |
14739 ++ # 00_15 15 | |
14740 ++ movl %esi,%ecx | |
14741 ++ movl %ebp,%edx | |
14742 ++ roll $5,%ebp | |
14743 ++ xorl %eax,%ecx | |
14744 ++ addl %ebx,%ebp | |
14745 ++ movl 60(%esp),%ebx | |
14746 ++ andl %edi,%ecx | |
14747 ++ rorl $2,%edi | |
14748 ++ xorl %eax,%ecx | |
14749 ++ leal 1518500249(%ebp,%ebx,1),%ebp | |
14750 ++ movl (%esp),%ebx | |
14751 ++ addl %ebp,%ecx | |
14752 ++ # 16_19 16 | |
14753 ++ movl %edi,%ebp | |
14754 ++ xorl 8(%esp),%ebx | |
14755 ++ xorl %esi,%ebp | |
14756 ++ xorl 32(%esp),%ebx | |
14757 ++ andl %edx,%ebp | |
14758 ++ xorl 52(%esp),%ebx | |
14759 ++ roll $1,%ebx | |
14760 ++ xorl %esi,%ebp | |
14761 ++ addl %ebp,%eax | |
14762 ++ movl %ecx,%ebp | |
14763 ++ rorl $2,%edx | |
14764 ++ movl %ebx,(%esp) | |
14765 ++ roll $5,%ebp | |
14766 ++ leal 1518500249(%ebx,%eax,1),%ebx | |
14767 ++ movl 4(%esp),%eax | |
14768 ++ addl %ebp,%ebx | |
14769 ++ # 16_19 17 | |
14770 ++ movl %edx,%ebp | |
14771 ++ xorl 12(%esp),%eax | |
14772 ++ xorl %edi,%ebp | |
14773 ++ xorl 36(%esp),%eax | |
14774 ++ andl %ecx,%ebp | |
14775 ++ xorl 56(%esp),%eax | |
14776 ++ roll $1,%eax | |
14777 ++ xorl %edi,%ebp | |
14778 ++ addl %ebp,%esi | |
14779 ++ movl %ebx,%ebp | |
14780 ++ rorl $2,%ecx | |
14781 ++ movl %eax,4(%esp) | |
14782 ++ roll $5,%ebp | |
14783 ++ leal 1518500249(%eax,%esi,1),%eax | |
14784 ++ movl 8(%esp),%esi | |
14785 ++ addl %ebp,%eax | |
14786 ++ # 16_19 18 | |
14787 ++ movl %ecx,%ebp | |
14788 ++ xorl 16(%esp),%esi | |
14789 ++ xorl %edx,%ebp | |
14790 ++ xorl 40(%esp),%esi | |
14791 ++ andl %ebx,%ebp | |
14792 ++ xorl 60(%esp),%esi | |
14793 ++ roll $1,%esi | |
14794 ++ xorl %edx,%ebp | |
14795 ++ addl %ebp,%edi | |
14796 ++ movl %eax,%ebp | |
14797 ++ rorl $2,%ebx | |
14798 ++ movl %esi,8(%esp) | |
14799 ++ roll $5,%ebp | |
14800 ++ leal 1518500249(%esi,%edi,1),%esi | |
14801 ++ movl 12(%esp),%edi | |
14802 ++ addl %ebp,%esi | |
14803 ++ # 16_19 19 | |
14804 ++ movl %ebx,%ebp | |
14805 ++ xorl 20(%esp),%edi | |
14806 ++ xorl %ecx,%ebp | |
14807 ++ xorl 44(%esp),%edi | |
14808 ++ andl %eax,%ebp | |
14809 ++ xorl (%esp),%edi | |
14810 ++ roll $1,%edi | |
14811 ++ xorl %ecx,%ebp | |
14812 ++ addl %ebp,%edx | |
14813 ++ movl %esi,%ebp | |
14814 ++ rorl $2,%eax | |
14815 ++ movl %edi,12(%esp) | |
14816 ++ roll $5,%ebp | |
14817 ++ leal 1518500249(%edi,%edx,1),%edi | |
14818 ++ movl 16(%esp),%edx | |
14819 ++ addl %ebp,%edi | |
14820 ++ # 20_39 20 | |
14821 ++ movl %esi,%ebp | |
14822 ++ xorl 24(%esp),%edx | |
14823 ++ xorl %eax,%ebp | |
14824 ++ xorl 48(%esp),%edx | |
14825 ++ xorl %ebx,%ebp | |
14826 ++ xorl 4(%esp),%edx | |
14827 ++ roll $1,%edx | |
14828 ++ addl %ebp,%ecx | |
14829 ++ rorl $2,%esi | |
14830 ++ movl %edi,%ebp | |
14831 ++ roll $5,%ebp | |
14832 ++ movl %edx,16(%esp) | |
14833 ++ leal 1859775393(%edx,%ecx,1),%edx | |
14834 ++ movl 20(%esp),%ecx | |
14835 ++ addl %ebp,%edx | |
14836 ++ # 20_39 21 | |
14837 ++ movl %edi,%ebp | |
14838 ++ xorl 28(%esp),%ecx | |
14839 ++ xorl %esi,%ebp | |
14840 ++ xorl 52(%esp),%ecx | |
14841 ++ xorl %eax,%ebp | |
14842 ++ xorl 8(%esp),%ecx | |
14843 ++ roll $1,%ecx | |
14844 ++ addl %ebp,%ebx | |
14845 ++ rorl $2,%edi | |
14846 ++ movl %edx,%ebp | |
14847 ++ roll $5,%ebp | |
14848 ++ movl %ecx,20(%esp) | |
14849 ++ leal 1859775393(%ecx,%ebx,1),%ecx | |
14850 ++ movl 24(%esp),%ebx | |
14851 ++ addl %ebp,%ecx | |
14852 ++ # 20_39 22 | |
14853 ++ movl %edx,%ebp | |
14854 ++ xorl 32(%esp),%ebx | |
14855 ++ xorl %edi,%ebp | |
14856 ++ xorl 56(%esp),%ebx | |
14857 ++ xorl %esi,%ebp | |
14858 ++ xorl 12(%esp),%ebx | |
14859 ++ roll $1,%ebx | |
14860 ++ addl %ebp,%eax | |
14861 ++ rorl $2,%edx | |
14862 ++ movl %ecx,%ebp | |
14863 ++ roll $5,%ebp | |
14864 ++ movl %ebx,24(%esp) | |
14865 ++ leal 1859775393(%ebx,%eax,1),%ebx | |
14866 ++ movl 28(%esp),%eax | |
14867 ++ addl %ebp,%ebx | |
14868 ++ # 20_39 23 | |
14869 ++ movl %ecx,%ebp | |
14870 ++ xorl 36(%esp),%eax | |
14871 ++ xorl %edx,%ebp | |
14872 ++ xorl 60(%esp),%eax | |
14873 ++ xorl %edi,%ebp | |
14874 ++ xorl 16(%esp),%eax | |
14875 ++ roll $1,%eax | |
14876 ++ addl %ebp,%esi | |
14877 ++ rorl $2,%ecx | |
14878 ++ movl %ebx,%ebp | |
14879 ++ roll $5,%ebp | |
14880 ++ movl %eax,28(%esp) | |
14881 ++ leal 1859775393(%eax,%esi,1),%eax | |
14882 ++ movl 32(%esp),%esi | |
14883 ++ addl %ebp,%eax | |
14884 ++ # 20_39 24 | |
14885 ++ movl %ebx,%ebp | |
14886 ++ xorl 40(%esp),%esi | |
14887 ++ xorl %ecx,%ebp | |
14888 ++ xorl (%esp),%esi | |
14889 ++ xorl %edx,%ebp | |
14890 ++ xorl 20(%esp),%esi | |
14891 ++ roll $1,%esi | |
14892 ++ addl %ebp,%edi | |
14893 ++ rorl $2,%ebx | |
14894 ++ movl %eax,%ebp | |
14895 ++ roll $5,%ebp | |
14896 ++ movl %esi,32(%esp) | |
14897 ++ leal 1859775393(%esi,%edi,1),%esi | |
14898 ++ movl 36(%esp),%edi | |
14899 ++ addl %ebp,%esi | |
14900 ++ # 20_39 25 | |
14901 ++ movl %eax,%ebp | |
14902 ++ xorl 44(%esp),%edi | |
14903 ++ xorl %ebx,%ebp | |
14904 ++ xorl 4(%esp),%edi | |
14905 ++ xorl %ecx,%ebp | |
14906 ++ xorl 24(%esp),%edi | |
14907 ++ roll $1,%edi | |
14908 ++ addl %ebp,%edx | |
14909 ++ rorl $2,%eax | |
14910 ++ movl %esi,%ebp | |
14911 ++ roll $5,%ebp | |
14912 ++ movl %edi,36(%esp) | |
14913 ++ leal 1859775393(%edi,%edx,1),%edi | |
14914 ++ movl 40(%esp),%edx | |
14915 ++ addl %ebp,%edi | |
14916 ++ # 20_39 26 | |
14917 ++ movl %esi,%ebp | |
14918 ++ xorl 48(%esp),%edx | |
14919 ++ xorl %eax,%ebp | |
14920 ++ xorl 8(%esp),%edx | |
14921 ++ xorl %ebx,%ebp | |
14922 ++ xorl 28(%esp),%edx | |
14923 ++ roll $1,%edx | |
14924 ++ addl %ebp,%ecx | |
14925 ++ rorl $2,%esi | |
14926 ++ movl %edi,%ebp | |
14927 ++ roll $5,%ebp | |
14928 ++ movl %edx,40(%esp) | |
14929 ++ leal 1859775393(%edx,%ecx,1),%edx | |
14930 ++ movl 44(%esp),%ecx | |
14931 ++ addl %ebp,%edx | |
14932 ++ # 20_39 27 | |
14933 ++ movl %edi,%ebp | |
14934 ++ xorl 52(%esp),%ecx | |
14935 ++ xorl %esi,%ebp | |
14936 ++ xorl 12(%esp),%ecx | |
14937 ++ xorl %eax,%ebp | |
14938 ++ xorl 32(%esp),%ecx | |
14939 ++ roll $1,%ecx | |
14940 ++ addl %ebp,%ebx | |
14941 ++ rorl $2,%edi | |
14942 ++ movl %edx,%ebp | |
14943 ++ roll $5,%ebp | |
14944 ++ movl %ecx,44(%esp) | |
14945 ++ leal 1859775393(%ecx,%ebx,1),%ecx | |
14946 ++ movl 48(%esp),%ebx | |
14947 ++ addl %ebp,%ecx | |
14948 ++ # 20_39 28 | |
14949 ++ movl %edx,%ebp | |
14950 ++ xorl 56(%esp),%ebx | |
14951 ++ xorl %edi,%ebp | |
14952 ++ xorl 16(%esp),%ebx | |
14953 ++ xorl %esi,%ebp | |
14954 ++ xorl 36(%esp),%ebx | |
14955 ++ roll $1,%ebx | |
14956 ++ addl %ebp,%eax | |
14957 ++ rorl $2,%edx | |
14958 ++ movl %ecx,%ebp | |
14959 ++ roll $5,%ebp | |
14960 ++ movl %ebx,48(%esp) | |
14961 ++ leal 1859775393(%ebx,%eax,1),%ebx | |
14962 ++ movl 52(%esp),%eax | |
14963 ++ addl %ebp,%ebx | |
14964 ++ # 20_39 29 | |
14965 ++ movl %ecx,%ebp | |
14966 ++ xorl 60(%esp),%eax | |
14967 ++ xorl %edx,%ebp | |
14968 ++ xorl 20(%esp),%eax | |
14969 ++ xorl %edi,%ebp | |
14970 ++ xorl 40(%esp),%eax | |
14971 ++ roll $1,%eax | |
14972 ++ addl %ebp,%esi | |
14973 ++ rorl $2,%ecx | |
14974 ++ movl %ebx,%ebp | |
14975 ++ roll $5,%ebp | |
14976 ++ movl %eax,52(%esp) | |
14977 ++ leal 1859775393(%eax,%esi,1),%eax | |
14978 ++ movl 56(%esp),%esi | |
14979 ++ addl %ebp,%eax | |
14980 ++ # 20_39 30 | |
14981 ++ movl %ebx,%ebp | |
14982 ++ xorl (%esp),%esi | |
14983 ++ xorl %ecx,%ebp | |
14984 ++ xorl 24(%esp),%esi | |
14985 ++ xorl %edx,%ebp | |
14986 ++ xorl 44(%esp),%esi | |
14987 ++ roll $1,%esi | |
14988 ++ addl %ebp,%edi | |
14989 ++ rorl $2,%ebx | |
14990 ++ movl %eax,%ebp | |
14991 ++ roll $5,%ebp | |
14992 ++ movl %esi,56(%esp) | |
14993 ++ leal 1859775393(%esi,%edi,1),%esi | |
14994 ++ movl 60(%esp),%edi | |
14995 ++ addl %ebp,%esi | |
14996 ++ # 20_39 31 | |
14997 ++ movl %eax,%ebp | |
14998 ++ xorl 4(%esp),%edi | |
14999 ++ xorl %ebx,%ebp | |
15000 ++ xorl 28(%esp),%edi | |
15001 ++ xorl %ecx,%ebp | |
15002 ++ xorl 48(%esp),%edi | |
15003 ++ roll $1,%edi | |
15004 ++ addl %ebp,%edx | |
15005 ++ rorl $2,%eax | |
15006 ++ movl %esi,%ebp | |
15007 ++ roll $5,%ebp | |
15008 ++ movl %edi,60(%esp) | |
15009 ++ leal 1859775393(%edi,%edx,1),%edi | |
15010 ++ movl (%esp),%edx | |
15011 ++ addl %ebp,%edi | |
15012 ++ # 20_39 32 | |
15013 ++ movl %esi,%ebp | |
15014 ++ xorl 8(%esp),%edx | |
15015 ++ xorl %eax,%ebp | |
15016 ++ xorl 32(%esp),%edx | |
15017 ++ xorl %ebx,%ebp | |
15018 ++ xorl 52(%esp),%edx | |
15019 ++ roll $1,%edx | |
15020 ++ addl %ebp,%ecx | |
15021 ++ rorl $2,%esi | |
15022 ++ movl %edi,%ebp | |
15023 ++ roll $5,%ebp | |
15024 ++ movl %edx,(%esp) | |
15025 ++ leal 1859775393(%edx,%ecx,1),%edx | |
15026 ++ movl 4(%esp),%ecx | |
15027 ++ addl %ebp,%edx | |
15028 ++ # 20_39 33 | |
15029 ++ movl %edi,%ebp | |
15030 ++ xorl 12(%esp),%ecx | |
15031 ++ xorl %esi,%ebp | |
15032 ++ xorl 36(%esp),%ecx | |
15033 ++ xorl %eax,%ebp | |
15034 ++ xorl 56(%esp),%ecx | |
15035 ++ roll $1,%ecx | |
15036 ++ addl %ebp,%ebx | |
15037 ++ rorl $2,%edi | |
15038 ++ movl %edx,%ebp | |
15039 ++ roll $5,%ebp | |
15040 ++ movl %ecx,4(%esp) | |
15041 ++ leal 1859775393(%ecx,%ebx,1),%ecx | |
15042 ++ movl 8(%esp),%ebx | |
15043 ++ addl %ebp,%ecx | |
15044 ++ # 20_39 34 | |
15045 ++ movl %edx,%ebp | |
15046 ++ xorl 16(%esp),%ebx | |
15047 ++ xorl %edi,%ebp | |
15048 ++ xorl 40(%esp),%ebx | |
15049 ++ xorl %esi,%ebp | |
15050 ++ xorl 60(%esp),%ebx | |
15051 ++ roll $1,%ebx | |
15052 ++ addl %ebp,%eax | |
15053 ++ rorl $2,%edx | |
15054 ++ movl %ecx,%ebp | |
15055 ++ roll $5,%ebp | |
15056 ++ movl %ebx,8(%esp) | |
15057 ++ leal 1859775393(%ebx,%eax,1),%ebx | |
15058 ++ movl 12(%esp),%eax | |
15059 ++ addl %ebp,%ebx | |
15060 ++ # 20_39 35 | |
15061 ++ movl %ecx,%ebp | |
15062 ++ xorl 20(%esp),%eax | |
15063 ++ xorl %edx,%ebp | |
15064 ++ xorl 44(%esp),%eax | |
15065 ++ xorl %edi,%ebp | |
15066 ++ xorl (%esp),%eax | |
15067 ++ roll $1,%eax | |
15068 ++ addl %ebp,%esi | |
15069 ++ rorl $2,%ecx | |
15070 ++ movl %ebx,%ebp | |
15071 ++ roll $5,%ebp | |
15072 ++ movl %eax,12(%esp) | |
15073 ++ leal 1859775393(%eax,%esi,1),%eax | |
15074 ++ movl 16(%esp),%esi | |
15075 ++ addl %ebp,%eax | |
15076 ++ # 20_39 36 | |
15077 ++ movl %ebx,%ebp | |
15078 ++ xorl 24(%esp),%esi | |
15079 ++ xorl %ecx,%ebp | |
15080 ++ xorl 48(%esp),%esi | |
15081 ++ xorl %edx,%ebp | |
15082 ++ xorl 4(%esp),%esi | |
15083 ++ roll $1,%esi | |
15084 ++ addl %ebp,%edi | |
15085 ++ rorl $2,%ebx | |
15086 ++ movl %eax,%ebp | |
15087 ++ roll $5,%ebp | |
15088 ++ movl %esi,16(%esp) | |
15089 ++ leal 1859775393(%esi,%edi,1),%esi | |
15090 ++ movl 20(%esp),%edi | |
15091 ++ addl %ebp,%esi | |
15092 ++ # 20_39 37 | |
15093 ++ movl %eax,%ebp | |
15094 ++ xorl 28(%esp),%edi | |
15095 ++ xorl %ebx,%ebp | |
15096 ++ xorl 52(%esp),%edi | |
15097 ++ xorl %ecx,%ebp | |
15098 ++ xorl 8(%esp),%edi | |
15099 ++ roll $1,%edi | |
15100 ++ addl %ebp,%edx | |
15101 ++ rorl $2,%eax | |
15102 ++ movl %esi,%ebp | |
15103 ++ roll $5,%ebp | |
15104 ++ movl %edi,20(%esp) | |
15105 ++ leal 1859775393(%edi,%edx,1),%edi | |
15106 ++ movl 24(%esp),%edx | |
15107 ++ addl %ebp,%edi | |
15108 ++ # 20_39 38 | |
15109 ++ movl %esi,%ebp | |
15110 ++ xorl 32(%esp),%edx | |
15111 ++ xorl %eax,%ebp | |
15112 ++ xorl 56(%esp),%edx | |
15113 ++ xorl %ebx,%ebp | |
15114 ++ xorl 12(%esp),%edx | |
15115 ++ roll $1,%edx | |
15116 ++ addl %ebp,%ecx | |
15117 ++ rorl $2,%esi | |
15118 ++ movl %edi,%ebp | |
15119 ++ roll $5,%ebp | |
15120 ++ movl %edx,24(%esp) | |
15121 ++ leal 1859775393(%edx,%ecx,1),%edx | |
15122 ++ movl 28(%esp),%ecx | |
15123 ++ addl %ebp,%edx | |
15124 ++ # 20_39 39 | |
15125 ++ movl %edi,%ebp | |
15126 ++ xorl 36(%esp),%ecx | |
15127 ++ xorl %esi,%ebp | |
15128 ++ xorl 60(%esp),%ecx | |
15129 ++ xorl %eax,%ebp | |
15130 ++ xorl 16(%esp),%ecx | |
15131 ++ roll $1,%ecx | |
15132 ++ addl %ebp,%ebx | |
15133 ++ rorl $2,%edi | |
15134 ++ movl %edx,%ebp | |
15135 ++ roll $5,%ebp | |
15136 ++ movl %ecx,28(%esp) | |
15137 ++ leal 1859775393(%ecx,%ebx,1),%ecx | |
15138 ++ movl 32(%esp),%ebx | |
15139 ++ addl %ebp,%ecx | |
15140 ++ # 40_59 40 | |
15141 ++ movl %edi,%ebp | |
15142 ++ xorl 40(%esp),%ebx | |
15143 ++ xorl %esi,%ebp | |
15144 ++ xorl (%esp),%ebx | |
15145 ++ andl %edx,%ebp | |
15146 ++ xorl 20(%esp),%ebx | |
15147 ++ roll $1,%ebx | |
15148 ++ addl %eax,%ebp | |
15149 ++ rorl $2,%edx | |
15150 ++ movl %ecx,%eax | |
15151 ++ roll $5,%eax | |
15152 ++ movl %ebx,32(%esp) | |
15153 ++ leal 2400959708(%ebx,%ebp,1),%ebx | |
15154 ++ movl %edi,%ebp | |
15155 ++ addl %eax,%ebx | |
15156 ++ andl %esi,%ebp | |
15157 ++ movl 36(%esp),%eax | |
15158 ++ addl %ebp,%ebx | |
15159 ++ # 40_59 41 | |
15160 ++ movl %edx,%ebp | |
15161 ++ xorl 44(%esp),%eax | |
15162 ++ xorl %edi,%ebp | |
15163 ++ xorl 4(%esp),%eax | |
15164 ++ andl %ecx,%ebp | |
15165 ++ xorl 24(%esp),%eax | |
15166 ++ roll $1,%eax | |
15167 ++ addl %esi,%ebp | |
15168 ++ rorl $2,%ecx | |
15169 ++ movl %ebx,%esi | |
15170 ++ roll $5,%esi | |
15171 ++ movl %eax,36(%esp) | |
15172 ++ leal 2400959708(%eax,%ebp,1),%eax | |
15173 ++ movl %edx,%ebp | |
15174 ++ addl %esi,%eax | |
15175 ++ andl %edi,%ebp | |
15176 ++ movl 40(%esp),%esi | |
15177 ++ addl %ebp,%eax | |
15178 ++ # 40_59 42 | |
15179 ++ movl %ecx,%ebp | |
15180 ++ xorl 48(%esp),%esi | |
15181 ++ xorl %edx,%ebp | |
15182 ++ xorl 8(%esp),%esi | |
15183 ++ andl %ebx,%ebp | |
15184 ++ xorl 28(%esp),%esi | |
15185 ++ roll $1,%esi | |
15186 ++ addl %edi,%ebp | |
15187 ++ rorl $2,%ebx | |
15188 ++ movl %eax,%edi | |
15189 ++ roll $5,%edi | |
15190 ++ movl %esi,40(%esp) | |
15191 ++ leal 2400959708(%esi,%ebp,1),%esi | |
15192 ++ movl %ecx,%ebp | |
15193 ++ addl %edi,%esi | |
15194 ++ andl %edx,%ebp | |
15195 ++ movl 44(%esp),%edi | |
15196 ++ addl %ebp,%esi | |
15197 ++ # 40_59 43 | |
15198 ++ movl %ebx,%ebp | |
15199 ++ xorl 52(%esp),%edi | |
15200 ++ xorl %ecx,%ebp | |
15201 ++ xorl 12(%esp),%edi | |
15202 ++ andl %eax,%ebp | |
15203 ++ xorl 32(%esp),%edi | |
15204 ++ roll $1,%edi | |
15205 ++ addl %edx,%ebp | |
15206 ++ rorl $2,%eax | |
15207 ++ movl %esi,%edx | |
15208 ++ roll $5,%edx | |
15209 ++ movl %edi,44(%esp) | |
15210 ++ leal 2400959708(%edi,%ebp,1),%edi | |
15211 ++ movl %ebx,%ebp | |
15212 ++ addl %edx,%edi | |
15213 ++ andl %ecx,%ebp | |
15214 ++ movl 48(%esp),%edx | |
15215 ++ addl %ebp,%edi | |
15216 ++ # 40_59 44 | |
15217 ++ movl %eax,%ebp | |
15218 ++ xorl 56(%esp),%edx | |
15219 ++ xorl %ebx,%ebp | |
15220 ++ xorl 16(%esp),%edx | |
15221 ++ andl %esi,%ebp | |
15222 ++ xorl 36(%esp),%edx | |
15223 ++ roll $1,%edx | |
15224 ++ addl %ecx,%ebp | |
15225 ++ rorl $2,%esi | |
15226 ++ movl %edi,%ecx | |
15227 ++ roll $5,%ecx | |
15228 ++ movl %edx,48(%esp) | |
15229 ++ leal 2400959708(%edx,%ebp,1),%edx | |
15230 ++ movl %eax,%ebp | |
15231 ++ addl %ecx,%edx | |
15232 ++ andl %ebx,%ebp | |
15233 ++ movl 52(%esp),%ecx | |
15234 ++ addl %ebp,%edx | |
15235 ++ # 40_59 45 | |
15236 ++ movl %esi,%ebp | |
15237 ++ xorl 60(%esp),%ecx | |
15238 ++ xorl %eax,%ebp | |
15239 ++ xorl 20(%esp),%ecx | |
15240 ++ andl %edi,%ebp | |
15241 ++ xorl 40(%esp),%ecx | |
15242 ++ roll $1,%ecx | |
15243 ++ addl %ebx,%ebp | |
15244 ++ rorl $2,%edi | |
15245 ++ movl %edx,%ebx | |
15246 ++ roll $5,%ebx | |
15247 ++ movl %ecx,52(%esp) | |
15248 ++ leal 2400959708(%ecx,%ebp,1),%ecx | |
15249 ++ movl %esi,%ebp | |
15250 ++ addl %ebx,%ecx | |
15251 ++ andl %eax,%ebp | |
15252 ++ movl 56(%esp),%ebx | |
15253 ++ addl %ebp,%ecx | |
15254 ++ # 40_59 46 | |
15255 ++ movl %edi,%ebp | |
15256 ++ xorl (%esp),%ebx | |
15257 ++ xorl %esi,%ebp | |
15258 ++ xorl 24(%esp),%ebx | |
15259 ++ andl %edx,%ebp | |
15260 ++ xorl 44(%esp),%ebx | |
15261 ++ roll $1,%ebx | |
15262 ++ addl %eax,%ebp | |
15263 ++ rorl $2,%edx | |
15264 ++ movl %ecx,%eax | |
15265 ++ roll $5,%eax | |
15266 ++ movl %ebx,56(%esp) | |
15267 ++ leal 2400959708(%ebx,%ebp,1),%ebx | |
15268 ++ movl %edi,%ebp | |
15269 ++ addl %eax,%ebx | |
15270 ++ andl %esi,%ebp | |
15271 ++ movl 60(%esp),%eax | |
15272 ++ addl %ebp,%ebx | |
15273 ++ # 40_59 47 | |
15274 ++ movl %edx,%ebp | |
15275 ++ xorl 4(%esp),%eax | |
15276 ++ xorl %edi,%ebp | |
15277 ++ xorl 28(%esp),%eax | |
15278 ++ andl %ecx,%ebp | |
15279 ++ xorl 48(%esp),%eax | |
15280 ++ roll $1,%eax | |
15281 ++ addl %esi,%ebp | |
15282 ++ rorl $2,%ecx | |
15283 ++ movl %ebx,%esi | |
15284 ++ roll $5,%esi | |
15285 ++ movl %eax,60(%esp) | |
15286 ++ leal 2400959708(%eax,%ebp,1),%eax | |
15287 ++ movl %edx,%ebp | |
15288 ++ addl %esi,%eax | |
15289 ++ andl %edi,%ebp | |
15290 ++ movl (%esp),%esi | |
15291 ++ addl %ebp,%eax | |
15292 ++ # 40_59 48 | |
15293 ++ movl %ecx,%ebp | |
15294 ++ xorl 8(%esp),%esi | |
15295 ++ xorl %edx,%ebp | |
15296 ++ xorl 32(%esp),%esi | |
15297 ++ andl %ebx,%ebp | |
15298 ++ xorl 52(%esp),%esi | |
15299 ++ roll $1,%esi | |
15300 ++ addl %edi,%ebp | |
15301 ++ rorl $2,%ebx | |
15302 ++ movl %eax,%edi | |
15303 ++ roll $5,%edi | |
15304 ++ movl %esi,(%esp) | |
15305 ++ leal 2400959708(%esi,%ebp,1),%esi | |
15306 ++ movl %ecx,%ebp | |
15307 ++ addl %edi,%esi | |
15308 ++ andl %edx,%ebp | |
15309 ++ movl 4(%esp),%edi | |
15310 ++ addl %ebp,%esi | |
15311 ++ # 40_59 49 | |
15312 ++ movl %ebx,%ebp | |
15313 ++ xorl 12(%esp),%edi | |
15314 ++ xorl %ecx,%ebp | |
15315 ++ xorl 36(%esp),%edi | |
15316 ++ andl %eax,%ebp | |
15317 ++ xorl 56(%esp),%edi | |
15318 ++ roll $1,%edi | |
15319 ++ addl %edx,%ebp | |
15320 ++ rorl $2,%eax | |
15321 ++ movl %esi,%edx | |
15322 ++ roll $5,%edx | |
15323 ++ movl %edi,4(%esp) | |
15324 ++ leal 2400959708(%edi,%ebp,1),%edi | |
15325 ++ movl %ebx,%ebp | |
15326 ++ addl %edx,%edi | |
15327 ++ andl %ecx,%ebp | |
15328 ++ movl 8(%esp),%edx | |
15329 ++ addl %ebp,%edi | |
15330 ++ # 40_59 50 | |
15331 ++ movl %eax,%ebp | |
15332 ++ xorl 16(%esp),%edx | |
15333 ++ xorl %ebx,%ebp | |
15334 ++ xorl 40(%esp),%edx | |
15335 ++ andl %esi,%ebp | |
15336 ++ xorl 60(%esp),%edx | |
15337 ++ roll $1,%edx | |
15338 ++ addl %ecx,%ebp | |
15339 ++ rorl $2,%esi | |
15340 ++ movl %edi,%ecx | |
15341 ++ roll $5,%ecx | |
15342 ++ movl %edx,8(%esp) | |
15343 ++ leal 2400959708(%edx,%ebp,1),%edx | |
15344 ++ movl %eax,%ebp | |
15345 ++ addl %ecx,%edx | |
15346 ++ andl %ebx,%ebp | |
15347 ++ movl 12(%esp),%ecx | |
15348 ++ addl %ebp,%edx | |
15349 ++ # 40_59 51 | |
15350 ++ movl %esi,%ebp | |
15351 ++ xorl 20(%esp),%ecx | |
15352 ++ xorl %eax,%ebp | |
15353 ++ xorl 44(%esp),%ecx | |
15354 ++ andl %edi,%ebp | |
15355 ++ xorl (%esp),%ecx | |
15356 ++ roll $1,%ecx | |
15357 ++ addl %ebx,%ebp | |
15358 ++ rorl $2,%edi | |
15359 ++ movl %edx,%ebx | |
15360 ++ roll $5,%ebx | |
15361 ++ movl %ecx,12(%esp) | |
15362 ++ leal 2400959708(%ecx,%ebp,1),%ecx | |
15363 ++ movl %esi,%ebp | |
15364 ++ addl %ebx,%ecx | |
15365 ++ andl %eax,%ebp | |
15366 ++ movl 16(%esp),%ebx | |
15367 ++ addl %ebp,%ecx | |
15368 ++ # 40_59 52 | |
15369 ++ movl %edi,%ebp | |
15370 ++ xorl 24(%esp),%ebx | |
15371 ++ xorl %esi,%ebp | |
15372 ++ xorl 48(%esp),%ebx | |
15373 ++ andl %edx,%ebp | |
15374 ++ xorl 4(%esp),%ebx | |
15375 ++ roll $1,%ebx | |
15376 ++ addl %eax,%ebp | |
15377 ++ rorl $2,%edx | |
15378 ++ movl %ecx,%eax | |
15379 ++ roll $5,%eax | |
15380 ++ movl %ebx,16(%esp) | |
15381 ++ leal 2400959708(%ebx,%ebp,1),%ebx | |
15382 ++ movl %edi,%ebp | |
15383 ++ addl %eax,%ebx | |
15384 ++ andl %esi,%ebp | |
15385 ++ movl 20(%esp),%eax | |
15386 ++ addl %ebp,%ebx | |
15387 ++ # 40_59 53 | |
15388 ++ movl %edx,%ebp | |
15389 ++ xorl 28(%esp),%eax | |
15390 ++ xorl %edi,%ebp | |
15391 ++ xorl 52(%esp),%eax | |
15392 ++ andl %ecx,%ebp | |
15393 ++ xorl 8(%esp),%eax | |
15394 ++ roll $1,%eax | |
15395 ++ addl %esi,%ebp | |
15396 ++ rorl $2,%ecx | |
15397 ++ movl %ebx,%esi | |
15398 ++ roll $5,%esi | |
15399 ++ movl %eax,20(%esp) | |
15400 ++ leal 2400959708(%eax,%ebp,1),%eax | |
15401 ++ movl %edx,%ebp | |
15402 ++ addl %esi,%eax | |
15403 ++ andl %edi,%ebp | |
15404 ++ movl 24(%esp),%esi | |
15405 ++ addl %ebp,%eax | |
15406 ++ # 40_59 54 | |
15407 ++ movl %ecx,%ebp | |
15408 ++ xorl 32(%esp),%esi | |
15409 ++ xorl %edx,%ebp | |
15410 ++ xorl 56(%esp),%esi | |
15411 ++ andl %ebx,%ebp | |
15412 ++ xorl 12(%esp),%esi | |
15413 ++ roll $1,%esi | |
15414 ++ addl %edi,%ebp | |
15415 ++ rorl $2,%ebx | |
15416 ++ movl %eax,%edi | |
15417 ++ roll $5,%edi | |
15418 ++ movl %esi,24(%esp) | |
15419 ++ leal 2400959708(%esi,%ebp,1),%esi | |
15420 ++ movl %ecx,%ebp | |
15421 ++ addl %edi,%esi | |
15422 ++ andl %edx,%ebp | |
15423 ++ movl 28(%esp),%edi | |
15424 ++ addl %ebp,%esi | |
15425 ++ # 40_59 55 | |
15426 ++ movl %ebx,%ebp | |
15427 ++ xorl 36(%esp),%edi | |
15428 ++ xorl %ecx,%ebp | |
15429 ++ xorl 60(%esp),%edi | |
15430 ++ andl %eax,%ebp | |
15431 ++ xorl 16(%esp),%edi | |
15432 ++ roll $1,%edi | |
15433 ++ addl %edx,%ebp | |
15434 ++ rorl $2,%eax | |
15435 ++ movl %esi,%edx | |
15436 ++ roll $5,%edx | |
15437 ++ movl %edi,28(%esp) | |
15438 ++ leal 2400959708(%edi,%ebp,1),%edi | |
15439 ++ movl %ebx,%ebp | |
15440 ++ addl %edx,%edi | |
15441 ++ andl %ecx,%ebp | |
15442 ++ movl 32(%esp),%edx | |
15443 ++ addl %ebp,%edi | |
15444 ++ # 40_59 56 | |
15445 ++ movl %eax,%ebp | |
15446 ++ xorl 40(%esp),%edx | |
15447 ++ xorl %ebx,%ebp | |
15448 ++ xorl (%esp),%edx | |
15449 ++ andl %esi,%ebp | |
15450 ++ xorl 20(%esp),%edx | |
15451 ++ roll $1,%edx | |
15452 ++ addl %ecx,%ebp | |
15453 ++ rorl $2,%esi | |
15454 ++ movl %edi,%ecx | |
15455 ++ roll $5,%ecx | |
15456 ++ movl %edx,32(%esp) | |
15457 ++ leal 2400959708(%edx,%ebp,1),%edx | |
15458 ++ movl %eax,%ebp | |
15459 ++ addl %ecx,%edx | |
15460 ++ andl %ebx,%ebp | |
15461 ++ movl 36(%esp),%ecx | |
15462 ++ addl %ebp,%edx | |
15463 ++ # 40_59 57 | |
15464 ++ movl %esi,%ebp | |
15465 ++ xorl 44(%esp),%ecx | |
15466 ++ xorl %eax,%ebp | |
15467 ++ xorl 4(%esp),%ecx | |
15468 ++ andl %edi,%ebp | |
15469 ++ xorl 24(%esp),%ecx | |
15470 ++ roll $1,%ecx | |
15471 ++ addl %ebx,%ebp | |
15472 ++ rorl $2,%edi | |
15473 ++ movl %edx,%ebx | |
15474 ++ roll $5,%ebx | |
15475 ++ movl %ecx,36(%esp) | |
15476 ++ leal 2400959708(%ecx,%ebp,1),%ecx | |
15477 ++ movl %esi,%ebp | |
15478 ++ addl %ebx,%ecx | |
15479 ++ andl %eax,%ebp | |
15480 ++ movl 40(%esp),%ebx | |
15481 ++ addl %ebp,%ecx | |
15482 ++ # 40_59 58 | |
15483 ++ movl %edi,%ebp | |
15484 ++ xorl 48(%esp),%ebx | |
15485 ++ xorl %esi,%ebp | |
15486 ++ xorl 8(%esp),%ebx | |
15487 ++ andl %edx,%ebp | |
15488 ++ xorl 28(%esp),%ebx | |
15489 ++ roll $1,%ebx | |
15490 ++ addl %eax,%ebp | |
15491 ++ rorl $2,%edx | |
15492 ++ movl %ecx,%eax | |
15493 ++ roll $5,%eax | |
15494 ++ movl %ebx,40(%esp) | |
15495 ++ leal 2400959708(%ebx,%ebp,1),%ebx | |
15496 ++ movl %edi,%ebp | |
15497 ++ addl %eax,%ebx | |
15498 ++ andl %esi,%ebp | |
15499 ++ movl 44(%esp),%eax | |
15500 ++ addl %ebp,%ebx | |
15501 ++ # 40_59 59 | |
15502 ++ movl %edx,%ebp | |
15503 ++ xorl 52(%esp),%eax | |
15504 ++ xorl %edi,%ebp | |
15505 ++ xorl 12(%esp),%eax | |
15506 ++ andl %ecx,%ebp | |
15507 ++ xorl 32(%esp),%eax | |
15508 ++ roll $1,%eax | |
15509 ++ addl %esi,%ebp | |
15510 ++ rorl $2,%ecx | |
15511 ++ movl %ebx,%esi | |
15512 ++ roll $5,%esi | |
15513 ++ movl %eax,44(%esp) | |
15514 ++ leal 2400959708(%eax,%ebp,1),%eax | |
15515 ++ movl %edx,%ebp | |
15516 ++ addl %esi,%eax | |
15517 ++ andl %edi,%ebp | |
15518 ++ movl 48(%esp),%esi | |
15519 ++ addl %ebp,%eax | |
15520 ++ # 20_39 60 | |
15521 ++ movl %ebx,%ebp | |
15522 ++ xorl 56(%esp),%esi | |
15523 ++ xorl %ecx,%ebp | |
15524 ++ xorl 16(%esp),%esi | |
15525 ++ xorl %edx,%ebp | |
15526 ++ xorl 36(%esp),%esi | |
15527 ++ roll $1,%esi | |
15528 ++ addl %ebp,%edi | |
15529 ++ rorl $2,%ebx | |
15530 ++ movl %eax,%ebp | |
15531 ++ roll $5,%ebp | |
15532 ++ movl %esi,48(%esp) | |
15533 ++ leal 3395469782(%esi,%edi,1),%esi | |
15534 ++ movl 52(%esp),%edi | |
15535 ++ addl %ebp,%esi | |
15536 ++ # 20_39 61 | |
15537 ++ movl %eax,%ebp | |
15538 ++ xorl 60(%esp),%edi | |
15539 ++ xorl %ebx,%ebp | |
15540 ++ xorl 20(%esp),%edi | |
15541 ++ xorl %ecx,%ebp | |
15542 ++ xorl 40(%esp),%edi | |
15543 ++ roll $1,%edi | |
15544 ++ addl %ebp,%edx | |
15545 ++ rorl $2,%eax | |
15546 ++ movl %esi,%ebp | |
15547 ++ roll $5,%ebp | |
15548 ++ movl %edi,52(%esp) | |
15549 ++ leal 3395469782(%edi,%edx,1),%edi | |
15550 ++ movl 56(%esp),%edx | |
15551 ++ addl %ebp,%edi | |
15552 ++ # 20_39 62 | |
15553 ++ movl %esi,%ebp | |
15554 ++ xorl (%esp),%edx | |
15555 ++ xorl %eax,%ebp | |
15556 ++ xorl 24(%esp),%edx | |
15557 ++ xorl %ebx,%ebp | |
15558 ++ xorl 44(%esp),%edx | |
15559 ++ roll $1,%edx | |
15560 ++ addl %ebp,%ecx | |
15561 ++ rorl $2,%esi | |
15562 ++ movl %edi,%ebp | |
15563 ++ roll $5,%ebp | |
15564 ++ movl %edx,56(%esp) | |
15565 ++ leal 3395469782(%edx,%ecx,1),%edx | |
15566 ++ movl 60(%esp),%ecx | |
15567 ++ addl %ebp,%edx | |
15568 ++ # 20_39 63 | |
15569 ++ movl %edi,%ebp | |
15570 ++ xorl 4(%esp),%ecx | |
15571 ++ xorl %esi,%ebp | |
15572 ++ xorl 28(%esp),%ecx | |
15573 ++ xorl %eax,%ebp | |
15574 ++ xorl 48(%esp),%ecx | |
15575 ++ roll $1,%ecx | |
15576 ++ addl %ebp,%ebx | |
15577 ++ rorl $2,%edi | |
15578 ++ movl %edx,%ebp | |
15579 ++ roll $5,%ebp | |
15580 ++ movl %ecx,60(%esp) | |
15581 ++ leal 3395469782(%ecx,%ebx,1),%ecx | |
15582 ++ movl (%esp),%ebx | |
15583 ++ addl %ebp,%ecx | |
15584 ++ # 20_39 64 | |
15585 ++ movl %edx,%ebp | |
15586 ++ xorl 8(%esp),%ebx | |
15587 ++ xorl %edi,%ebp | |
15588 ++ xorl 32(%esp),%ebx | |
15589 ++ xorl %esi,%ebp | |
15590 ++ xorl 52(%esp),%ebx | |
15591 ++ roll $1,%ebx | |
15592 ++ addl %ebp,%eax | |
15593 ++ rorl $2,%edx | |
15594 ++ movl %ecx,%ebp | |
15595 ++ roll $5,%ebp | |
15596 ++ movl %ebx,(%esp) | |
15597 ++ leal 3395469782(%ebx,%eax,1),%ebx | |
15598 ++ movl 4(%esp),%eax | |
15599 ++ addl %ebp,%ebx | |
15600 ++ # 20_39 65 | |
15601 ++ movl %ecx,%ebp | |
15602 ++ xorl 12(%esp),%eax | |
15603 ++ xorl %edx,%ebp | |
15604 ++ xorl 36(%esp),%eax | |
15605 ++ xorl %edi,%ebp | |
15606 ++ xorl 56(%esp),%eax | |
15607 ++ roll $1,%eax | |
15608 ++ addl %ebp,%esi | |
15609 ++ rorl $2,%ecx | |
15610 ++ movl %ebx,%ebp | |
15611 ++ roll $5,%ebp | |
15612 ++ movl %eax,4(%esp) | |
15613 ++ leal 3395469782(%eax,%esi,1),%eax | |
15614 ++ movl 8(%esp),%esi | |
15615 ++ addl %ebp,%eax | |
15616 ++ # 20_39 66 | |
15617 ++ movl %ebx,%ebp | |
15618 ++ xorl 16(%esp),%esi | |
15619 ++ xorl %ecx,%ebp | |
15620 ++ xorl 40(%esp),%esi | |
15621 ++ xorl %edx,%ebp | |
15622 ++ xorl 60(%esp),%esi | |
15623 ++ roll $1,%esi | |
15624 ++ addl %ebp,%edi | |
15625 ++ rorl $2,%ebx | |
15626 ++ movl %eax,%ebp | |
15627 ++ roll $5,%ebp | |
15628 ++ movl %esi,8(%esp) | |
15629 ++ leal 3395469782(%esi,%edi,1),%esi | |
15630 ++ movl 12(%esp),%edi | |
15631 ++ addl %ebp,%esi | |
15632 ++ # 20_39 67 | |
15633 ++ movl %eax,%ebp | |
15634 ++ xorl 20(%esp),%edi | |
15635 ++ xorl %ebx,%ebp | |
15636 ++ xorl 44(%esp),%edi | |
15637 ++ xorl %ecx,%ebp | |
15638 ++ xorl (%esp),%edi | |
15639 ++ roll $1,%edi | |
15640 ++ addl %ebp,%edx | |
15641 ++ rorl $2,%eax | |
15642 ++ movl %esi,%ebp | |
15643 ++ roll $5,%ebp | |
15644 ++ movl %edi,12(%esp) | |
15645 ++ leal 3395469782(%edi,%edx,1),%edi | |
15646 ++ movl 16(%esp),%edx | |
15647 ++ addl %ebp,%edi | |
15648 ++ # 20_39 68 | |
15649 ++ movl %esi,%ebp | |
15650 ++ xorl 24(%esp),%edx | |
15651 ++ xorl %eax,%ebp | |
15652 ++ xorl 48(%esp),%edx | |
15653 ++ xorl %ebx,%ebp | |
15654 ++ xorl 4(%esp),%edx | |
15655 ++ roll $1,%edx | |
15656 ++ addl %ebp,%ecx | |
15657 ++ rorl $2,%esi | |
15658 ++ movl %edi,%ebp | |
15659 ++ roll $5,%ebp | |
15660 ++ movl %edx,16(%esp) | |
15661 ++ leal 3395469782(%edx,%ecx,1),%edx | |
15662 ++ movl 20(%esp),%ecx | |
15663 ++ addl %ebp,%edx | |
15664 ++ # 20_39 69 | |
15665 ++ movl %edi,%ebp | |
15666 ++ xorl 28(%esp),%ecx | |
15667 ++ xorl %esi,%ebp | |
15668 ++ xorl 52(%esp),%ecx | |
15669 ++ xorl %eax,%ebp | |
15670 ++ xorl 8(%esp),%ecx | |
15671 ++ roll $1,%ecx | |
15672 ++ addl %ebp,%ebx | |
15673 ++ rorl $2,%edi | |
15674 ++ movl %edx,%ebp | |
15675 ++ roll $5,%ebp | |
15676 ++ movl %ecx,20(%esp) | |
15677 ++ leal 3395469782(%ecx,%ebx,1),%ecx | |
15678 ++ movl 24(%esp),%ebx | |
15679 ++ addl %ebp,%ecx | |
15680 ++ # 20_39 70 | |
15681 ++ movl %edx,%ebp | |
15682 ++ xorl 32(%esp),%ebx | |
15683 ++ xorl %edi,%ebp | |
15684 ++ xorl 56(%esp),%ebx | |
15685 ++ xorl %esi,%ebp | |
15686 ++ xorl 12(%esp),%ebx | |
15687 ++ roll $1,%ebx | |
15688 ++ addl %ebp,%eax | |
15689 ++ rorl $2,%edx | |
15690 ++ movl %ecx,%ebp | |
15691 ++ roll $5,%ebp | |
15692 ++ movl %ebx,24(%esp) | |
15693 ++ leal 3395469782(%ebx,%eax,1),%ebx | |
15694 ++ movl 28(%esp),%eax | |
15695 ++ addl %ebp,%ebx | |
15696 ++ # 20_39 71 | |
15697 ++ movl %ecx,%ebp | |
15698 ++ xorl 36(%esp),%eax | |
15699 ++ xorl %edx,%ebp | |
15700 ++ xorl 60(%esp),%eax | |
15701 ++ xorl %edi,%ebp | |
15702 ++ xorl 16(%esp),%eax | |
15703 ++ roll $1,%eax | |
15704 ++ addl %ebp,%esi | |
15705 ++ rorl $2,%ecx | |
15706 ++ movl %ebx,%ebp | |
15707 ++ roll $5,%ebp | |
15708 ++ movl %eax,28(%esp) | |
15709 ++ leal 3395469782(%eax,%esi,1),%eax | |
15710 ++ movl 32(%esp),%esi | |
15711 ++ addl %ebp,%eax | |
15712 ++ # 20_39 72 | |
15713 ++ movl %ebx,%ebp | |
15714 ++ xorl 40(%esp),%esi | |
15715 ++ xorl %ecx,%ebp | |
15716 ++ xorl (%esp),%esi | |
15717 ++ xorl %edx,%ebp | |
15718 ++ xorl 20(%esp),%esi | |
15719 ++ roll $1,%esi | |
15720 ++ addl %ebp,%edi | |
15721 ++ rorl $2,%ebx | |
15722 ++ movl %eax,%ebp | |
15723 ++ roll $5,%ebp | |
15724 ++ movl %esi,32(%esp) | |
15725 ++ leal 3395469782(%esi,%edi,1),%esi | |
15726 ++ movl 36(%esp),%edi | |
15727 ++ addl %ebp,%esi | |
15728 ++ # 20_39 73 | |
15729 ++ movl %eax,%ebp | |
15730 ++ xorl 44(%esp),%edi | |
15731 ++ xorl %ebx,%ebp | |
15732 ++ xorl 4(%esp),%edi | |
15733 ++ xorl %ecx,%ebp | |
15734 ++ xorl 24(%esp),%edi | |
15735 ++ roll $1,%edi | |
15736 ++ addl %ebp,%edx | |
15737 ++ rorl $2,%eax | |
15738 ++ movl %esi,%ebp | |
15739 ++ roll $5,%ebp | |
15740 ++ movl %edi,36(%esp) | |
15741 ++ leal 3395469782(%edi,%edx,1),%edi | |
15742 ++ movl 40(%esp),%edx | |
15743 ++ addl %ebp,%edi | |
15744 ++ # 20_39 74 | |
15745 ++ movl %esi,%ebp | |
15746 ++ xorl 48(%esp),%edx | |
15747 ++ xorl %eax,%ebp | |
15748 ++ xorl 8(%esp),%edx | |
15749 ++ xorl %ebx,%ebp | |
15750 ++ xorl 28(%esp),%edx | |
15751 ++ roll $1,%edx | |
15752 ++ addl %ebp,%ecx | |
15753 ++ rorl $2,%esi | |
15754 ++ movl %edi,%ebp | |
15755 ++ roll $5,%ebp | |
15756 ++ movl %edx,40(%esp) | |
15757 ++ leal 3395469782(%edx,%ecx,1),%edx | |
15758 ++ movl 44(%esp),%ecx | |
15759 ++ addl %ebp,%edx | |
15760 ++ # 20_39 75 | |
15761 ++ movl %edi,%ebp | |
15762 ++ xorl 52(%esp),%ecx | |
15763 ++ xorl %esi,%ebp | |
15764 ++ xorl 12(%esp),%ecx | |
15765 ++ xorl %eax,%ebp | |
15766 ++ xorl 32(%esp),%ecx | |
15767 ++ roll $1,%ecx | |
15768 ++ addl %ebp,%ebx | |
15769 ++ rorl $2,%edi | |
15770 ++ movl %edx,%ebp | |
15771 ++ roll $5,%ebp | |
15772 ++ movl %ecx,44(%esp) | |
15773 ++ leal 3395469782(%ecx,%ebx,1),%ecx | |
15774 ++ movl 48(%esp),%ebx | |
15775 ++ addl %ebp,%ecx | |
15776 ++ # 20_39 76 | |
15777 ++ movl %edx,%ebp | |
15778 ++ xorl 56(%esp),%ebx | |
15779 ++ xorl %edi,%ebp | |
15780 ++ xorl 16(%esp),%ebx | |
15781 ++ xorl %esi,%ebp | |
15782 ++ xorl 36(%esp),%ebx | |
15783 ++ roll $1,%ebx | |
15784 ++ addl %ebp,%eax | |
15785 ++ rorl $2,%edx | |
15786 ++ movl %ecx,%ebp | |
15787 ++ roll $5,%ebp | |
15788 ++ movl %ebx,48(%esp) | |
15789 ++ leal 3395469782(%ebx,%eax,1),%ebx | |
15790 ++ movl 52(%esp),%eax | |
15791 ++ addl %ebp,%ebx | |
15792 ++ # 20_39 77 | |
15793 ++ movl %ecx,%ebp | |
15794 ++ xorl 60(%esp),%eax | |
15795 ++ xorl %edx,%ebp | |
15796 ++ xorl 20(%esp),%eax | |
15797 ++ xorl %edi,%ebp | |
15798 ++ xorl 40(%esp),%eax | |
15799 ++ roll $1,%eax | |
15800 ++ addl %ebp,%esi | |
15801 ++ rorl $2,%ecx | |
15802 ++ movl %ebx,%ebp | |
15803 ++ roll $5,%ebp | |
15804 ++ leal 3395469782(%eax,%esi,1),%eax | |
15805 ++ movl 56(%esp),%esi | |
15806 ++ addl %ebp,%eax | |
15807 ++ # 20_39 78 | |
15808 ++ movl %ebx,%ebp | |
15809 ++ xorl (%esp),%esi | |
15810 ++ xorl %ecx,%ebp | |
15811 ++ xorl 24(%esp),%esi | |
15812 ++ xorl %edx,%ebp | |
15813 ++ xorl 44(%esp),%esi | |
15814 ++ roll $1,%esi | |
15815 ++ addl %ebp,%edi | |
15816 ++ rorl $2,%ebx | |
15817 ++ movl %eax,%ebp | |
15818 ++ roll $5,%ebp | |
15819 ++ leal 3395469782(%esi,%edi,1),%esi | |
15820 ++ movl 60(%esp),%edi | |
15821 ++ addl %ebp,%esi | |
15822 ++ # 20_39 79 | |
15823 ++ movl %eax,%ebp | |
15824 ++ xorl 4(%esp),%edi | |
15825 ++ xorl %ebx,%ebp | |
15826 ++ xorl 28(%esp),%edi | |
15827 ++ xorl %ecx,%ebp | |
15828 ++ xorl 48(%esp),%edi | |
15829 ++ roll $1,%edi | |
15830 ++ addl %ebp,%edx | |
15831 ++ rorl $2,%eax | |
15832 ++ movl %esi,%ebp | |
15833 ++ roll $5,%ebp | |
15834 ++ leal 3395469782(%edi,%edx,1),%edi | |
15835 ++ addl %ebp,%edi | |
15836 ++ movl 96(%esp),%ebp | |
15837 ++ movl 100(%esp),%edx | |
15838 ++ addl (%ebp),%edi | |
15839 ++ addl 4(%ebp),%esi | |
15840 ++ addl 8(%ebp),%eax | |
15841 ++ addl 12(%ebp),%ebx | |
15842 ++ addl 16(%ebp),%ecx | |
15843 ++ movl %edi,(%ebp) | |
15844 ++ addl $64,%edx | |
15845 ++ movl %esi,4(%ebp) | |
15846 ++ cmpl 104(%esp),%edx | |
15847 ++ movl %eax,8(%ebp) | |
15848 ++ movl %ecx,%edi | |
15849 ++ movl %ebx,12(%ebp) | |
15850 ++ movl %edx,%esi | |
15851 ++ movl %ecx,16(%ebp) | |
15852 ++ jb L000loop | |
15853 ++ addl $76,%esp | |
15854 ++ popl %edi | |
15855 ++ popl %esi | |
15856 ++ popl %ebx | |
15857 ++ popl %ebp | |
15858 ++ ret | |
15859 ++.byte 83,72,65,49,32,98,108,111,99,107,32,116,114,97,110,115 | |
15860 ++.byte 102,111,114,109,32,102,111,114,32,120,56,54,44,32,67,82 | |
15861 ++.byte 89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112 | |
15862 ++.byte 114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 | |
15863 +diff --git a/crypto/sha/asm/sha256-586-mac.S b/crypto/sha/asm/sha256-586-mac.S | |
15864 +new file mode 100644 | |
15865 +index 0000000..67c7a96 | |
15866 +--- /dev/null | |
15867 ++++ b/crypto/sha/asm/sha256-586-mac.S | |
15868 +@@ -0,0 +1,256 @@ | |
15869 ++.file "sha512-586.s" | |
15870 ++.text | |
15871 ++.globl _sha256_block_data_order | |
15872 ++.align 4 | |
15873 ++_sha256_block_data_order: | |
15874 ++L_sha256_block_data_order_begin: | |
15875 ++ pushl %ebp | |
15876 ++ pushl %ebx | |
15877 ++ pushl %esi | |
15878 ++ pushl %edi | |
15879 ++ movl 20(%esp),%esi | |
15880 ++ movl 24(%esp),%edi | |
15881 ++ movl 28(%esp),%eax | |
15882 ++ movl %esp,%ebx | |
15883 ++ call L000pic_point | |
15884 ++L000pic_point: | |
15885 ++ popl %ebp | |
15886 ++ leal L001K256-L000pic_point(%ebp),%ebp | |
15887 ++ subl $16,%esp | |
15888 ++ andl $-64,%esp | |
15889 ++ shll $6,%eax | |
15890 ++ addl %edi,%eax | |
15891 ++ movl %esi,(%esp) | |
15892 ++ movl %edi,4(%esp) | |
15893 ++ movl %eax,8(%esp) | |
15894 ++ movl %ebx,12(%esp) | |
15895 ++.align 4,0x90 | |
15896 ++L002loop: | |
15897 ++ movl (%edi),%eax | |
15898 ++ movl 4(%edi),%ebx | |
15899 ++ movl 8(%edi),%ecx | |
15900 ++ movl 12(%edi),%edx | |
15901 ++ bswap %eax | |
15902 ++ bswap %ebx | |
15903 ++ bswap %ecx | |
15904 ++ bswap %edx | |
15905 ++ pushl %eax | |
15906 ++ pushl %ebx | |
15907 ++ pushl %ecx | |
15908 ++ pushl %edx | |
15909 ++ movl 16(%edi),%eax | |
15910 ++ movl 20(%edi),%ebx | |
15911 ++ movl 24(%edi),%ecx | |
15912 ++ movl 28(%edi),%edx | |
15913 ++ bswap %eax | |
15914 ++ bswap %ebx | |
15915 ++ bswap %ecx | |
15916 ++ bswap %edx | |
15917 ++ pushl %eax | |
15918 ++ pushl %ebx | |
15919 ++ pushl %ecx | |
15920 ++ pushl %edx | |
15921 ++ movl 32(%edi),%eax | |
15922 ++ movl 36(%edi),%ebx | |
15923 ++ movl 40(%edi),%ecx | |
15924 ++ movl 44(%edi),%edx | |
15925 ++ bswap %eax | |
15926 ++ bswap %ebx | |
15927 ++ bswap %ecx | |
15928 ++ bswap %edx | |
15929 ++ pushl %eax | |
15930 ++ pushl %ebx | |
15931 ++ pushl %ecx | |
15932 ++ pushl %edx | |
15933 ++ movl 48(%edi),%eax | |
15934 ++ movl 52(%edi),%ebx | |
15935 ++ movl 56(%edi),%ecx | |
15936 ++ movl 60(%edi),%edx | |
15937 ++ bswap %eax | |
15938 ++ bswap %ebx | |
15939 ++ bswap %ecx | |
15940 ++ bswap %edx | |
15941 ++ pushl %eax | |
15942 ++ pushl %ebx | |
15943 ++ pushl %ecx | |
15944 ++ pushl %edx | |
15945 ++ addl $64,%edi | |
15946 ++ subl $32,%esp | |
15947 ++ movl %edi,100(%esp) | |
15948 ++ movl (%esi),%eax | |
15949 ++ movl 4(%esi),%ebx | |
15950 ++ movl 8(%esi),%ecx | |
15951 ++ movl 12(%esi),%edi | |
15952 ++ movl %ebx,4(%esp) | |
15953 ++ movl %ecx,8(%esp) | |
15954 ++ movl %edi,12(%esp) | |
15955 ++ movl 16(%esi),%edx | |
15956 ++ movl 20(%esi),%ebx | |
15957 ++ movl 24(%esi),%ecx | |
15958 ++ movl 28(%esi),%edi | |
15959 ++ movl %ebx,20(%esp) | |
15960 ++ movl %ecx,24(%esp) | |
15961 ++ movl %edi,28(%esp) | |
15962 ++.align 4,0x90 | |
15963 ++L00300_15: | |
15964 ++ movl 92(%esp),%ebx | |
15965 ++ movl %edx,%ecx | |
15966 ++ rorl $14,%ecx | |
15967 ++ movl 20(%esp),%esi | |
15968 ++ xorl %edx,%ecx | |
15969 ++ rorl $5,%ecx | |
15970 ++ xorl %edx,%ecx | |
15971 ++ rorl $6,%ecx | |
15972 ++ movl 24(%esp),%edi | |
15973 ++ addl %ecx,%ebx | |
15974 ++ xorl %edi,%esi | |
15975 ++ movl %edx,16(%esp) | |
15976 ++ movl %eax,%ecx | |
15977 ++ andl %edx,%esi | |
15978 ++ movl 12(%esp),%edx | |
15979 ++ xorl %edi,%esi | |
15980 ++ movl %eax,%edi | |
15981 ++ addl %esi,%ebx | |
15982 ++ rorl $9,%ecx | |
15983 ++ addl 28(%esp),%ebx | |
15984 ++ xorl %eax,%ecx | |
15985 ++ rorl $11,%ecx | |
15986 ++ movl 4(%esp),%esi | |
15987 ++ xorl %eax,%ecx | |
15988 ++ rorl $2,%ecx | |
15989 ++ addl %ebx,%edx | |
15990 ++ movl 8(%esp),%edi | |
15991 ++ addl %ecx,%ebx | |
15992 ++ movl %eax,(%esp) | |
15993 ++ movl %eax,%ecx | |
15994 ++ subl $4,%esp | |
15995 ++ orl %esi,%eax | |
15996 ++ andl %esi,%ecx | |
15997 ++ andl %edi,%eax | |
15998 ++ movl (%ebp),%esi | |
15999 ++ orl %ecx,%eax | |
16000 ++ addl $4,%ebp | |
16001 ++ addl %ebx,%eax | |
16002 ++ addl %esi,%edx | |
16003 ++ addl %esi,%eax | |
16004 ++ cmpl $3248222580,%esi | |
16005 ++ jne L00300_15 | |
16006 ++ movl 152(%esp),%ebx | |
16007 ++.align 4,0x90 | |
16008 ++L00416_63: | |
16009 ++ movl %ebx,%esi | |
16010 ++ movl 100(%esp),%ecx | |
16011 ++ rorl $11,%esi | |
16012 ++ movl %ecx,%edi | |
16013 ++ xorl %ebx,%esi | |
16014 ++ rorl $7,%esi | |
16015 ++ shrl $3,%ebx | |
16016 ++ rorl $2,%edi | |
16017 ++ xorl %esi,%ebx | |
16018 ++ xorl %ecx,%edi | |
16019 ++ rorl $17,%edi | |
16020 ++ shrl $10,%ecx | |
16021 ++ addl 156(%esp),%ebx | |
16022 ++ xorl %ecx,%edi | |
16023 ++ addl 120(%esp),%ebx | |
16024 ++ movl %edx,%ecx | |
16025 ++ addl %edi,%ebx | |
16026 ++ rorl $14,%ecx | |
16027 ++ movl 20(%esp),%esi | |
16028 ++ xorl %edx,%ecx | |
16029 ++ rorl $5,%ecx | |
16030 ++ movl %ebx,92(%esp) | |
16031 ++ xorl %edx,%ecx | |
16032 ++ rorl $6,%ecx | |
16033 ++ movl 24(%esp),%edi | |
16034 ++ addl %ecx,%ebx | |
16035 ++ xorl %edi,%esi | |
16036 ++ movl %edx,16(%esp) | |
16037 ++ movl %eax,%ecx | |
16038 ++ andl %edx,%esi | |
16039 ++ movl 12(%esp),%edx | |
16040 ++ xorl %edi,%esi | |
16041 ++ movl %eax,%edi | |
16042 ++ addl %esi,%ebx | |
16043 ++ rorl $9,%ecx | |
16044 ++ addl 28(%esp),%ebx | |
16045 ++ xorl %eax,%ecx | |
16046 ++ rorl $11,%ecx | |
16047 ++ movl 4(%esp),%esi | |
16048 ++ xorl %eax,%ecx | |
16049 ++ rorl $2,%ecx | |
16050 ++ addl %ebx,%edx | |
16051 ++ movl 8(%esp),%edi | |
16052 ++ addl %ecx,%ebx | |
16053 ++ movl %eax,(%esp) | |
16054 ++ movl %eax,%ecx | |
16055 ++ subl $4,%esp | |
16056 ++ orl %esi,%eax | |
16057 ++ andl %esi,%ecx | |
16058 ++ andl %edi,%eax | |
16059 ++ movl (%ebp),%esi | |
16060 ++ orl %ecx,%eax | |
16061 ++ addl $4,%ebp | |
16062 ++ addl %ebx,%eax | |
16063 ++ movl 152(%esp),%ebx | |
16064 ++ addl %esi,%edx | |
16065 ++ addl %esi,%eax | |
16066 ++ cmpl $3329325298,%esi | |
16067 ++ jne L00416_63 | |
16068 ++ movl 352(%esp),%esi | |
16069 ++ movl 4(%esp),%ebx | |
16070 ++ movl 8(%esp),%ecx | |
16071 ++ movl 12(%esp),%edi | |
16072 ++ addl (%esi),%eax | |
16073 ++ addl 4(%esi),%ebx | |
16074 ++ addl 8(%esi),%ecx | |
16075 ++ addl 12(%esi),%edi | |
16076 ++ movl %eax,(%esi) | |
16077 ++ movl %ebx,4(%esi) | |
16078 ++ movl %ecx,8(%esi) | |
16079 ++ movl %edi,12(%esi) | |
16080 ++ movl 20(%esp),%eax | |
16081 ++ movl 24(%esp),%ebx | |
16082 ++ movl 28(%esp),%ecx | |
16083 ++ movl 356(%esp),%edi | |
16084 ++ addl 16(%esi),%edx | |
16085 ++ addl 20(%esi),%eax | |
16086 ++ addl 24(%esi),%ebx | |
16087 ++ addl 28(%esi),%ecx | |
16088 ++ movl %edx,16(%esi) | |
16089 ++ movl %eax,20(%esi) | |
16090 ++ movl %ebx,24(%esi) | |
16091 ++ movl %ecx,28(%esi) | |
16092 ++ addl $352,%esp | |
16093 ++ subl $256,%ebp | |
16094 ++ cmpl 8(%esp),%edi | |
16095 ++ jb L002loop | |
16096 ++ movl 12(%esp),%esp | |
16097 ++ popl %edi | |
16098 ++ popl %esi | |
16099 ++ popl %ebx | |
16100 ++ popl %ebp | |
16101 ++ ret | |
16102 ++.align 6,0x90 | |
16103 ++L001K256: | |
16104 ++.long 1116352408,1899447441,3049323471,3921009573 | |
16105 ++.long 961987163,1508970993,2453635748,2870763221 | |
16106 ++.long 3624381080,310598401,607225278,1426881987 | |
16107 ++.long 1925078388,2162078206,2614888103,3248222580 | |
16108 ++.long 3835390401,4022224774,264347078,604807628 | |
16109 ++.long 770255983,1249150122,1555081692,1996064986 | |
16110 ++.long 2554220882,2821834349,2952996808,3210313671 | |
16111 ++.long 3336571891,3584528711,113926993,338241895 | |
16112 ++.long 666307205,773529912,1294757372,1396182291 | |
16113 ++.long 1695183700,1986661051,2177026350,2456956037 | |
16114 ++.long 2730485921,2820302411,3259730800,3345764771 | |
16115 ++.long 3516065817,3600352804,4094571909,275423344 | |
16116 ++.long 430227734,506948616,659060556,883997877 | |
16117 ++.long 958139571,1322822218,1537002063,1747873779 | |
16118 ++.long 1955562222,2024104815,2227730452,2361852424 | |
16119 ++.long 2428436474,2756734187,3204031479,3329325298 | |
16120 ++.byte 83,72,65,50,53,54,32,98,108,111,99,107,32,116,114,97 | |
16121 ++.byte 110,115,102,111,114,109,32,102,111,114,32,120,56,54,44,32 | |
16122 ++.byte 67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97 | |
16123 ++.byte 112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103 | |
16124 ++.byte 62,0 | |
16125 +diff --git a/crypto/sha/asm/sha512-586-mac.S b/crypto/sha/asm/sha512-586-mac.S | |
16126 +new file mode 100644 | |
16127 +index 0000000..2c99753 | |
16128 +--- /dev/null | |
16129 ++++ b/crypto/sha/asm/sha512-586-mac.S | |
16130 +@@ -0,0 +1,561 @@ | |
16131 ++.file "sha512-586.s" | |
16132 ++.text | |
16133 ++.globl _sha512_block_data_order | |
16134 ++.align 4 | |
16135 ++_sha512_block_data_order: | |
16136 ++L_sha512_block_data_order_begin: | |
16137 ++ pushl %ebp | |
16138 ++ pushl %ebx | |
16139 ++ pushl %esi | |
16140 ++ pushl %edi | |
16141 ++ movl 20(%esp),%esi | |
16142 ++ movl 24(%esp),%edi | |
16143 ++ movl 28(%esp),%eax | |
16144 ++ movl %esp,%ebx | |
16145 ++ call L000pic_point | |
16146 ++L000pic_point: | |
16147 ++ popl %ebp | |
16148 ++ leal L001K512-L000pic_point(%ebp),%ebp | |
16149 ++ subl $16,%esp | |
16150 ++ andl $-64,%esp | |
16151 ++ shll $7,%eax | |
16152 ++ addl %edi,%eax | |
16153 ++ movl %esi,(%esp) | |
16154 ++ movl %edi,4(%esp) | |
16155 ++ movl %eax,8(%esp) | |
16156 ++ movl %ebx,12(%esp) | |
16157 ++.align 4,0x90 | |
16158 ++L002loop_x86: | |
16159 ++ movl (%edi),%eax | |
16160 ++ movl 4(%edi),%ebx | |
16161 ++ movl 8(%edi),%ecx | |
16162 ++ movl 12(%edi),%edx | |
16163 ++ bswap %eax | |
16164 ++ bswap %ebx | |
16165 ++ bswap %ecx | |
16166 ++ bswap %edx | |
16167 ++ pushl %eax | |
16168 ++ pushl %ebx | |
16169 ++ pushl %ecx | |
16170 ++ pushl %edx | |
16171 ++ movl 16(%edi),%eax | |
16172 ++ movl 20(%edi),%ebx | |
16173 ++ movl 24(%edi),%ecx | |
16174 ++ movl 28(%edi),%edx | |
16175 ++ bswap %eax | |
16176 ++ bswap %ebx | |
16177 ++ bswap %ecx | |
16178 ++ bswap %edx | |
16179 ++ pushl %eax | |
16180 ++ pushl %ebx | |
16181 ++ pushl %ecx | |
16182 ++ pushl %edx | |
16183 ++ movl 32(%edi),%eax | |
16184 ++ movl 36(%edi),%ebx | |
16185 ++ movl 40(%edi),%ecx | |
16186 ++ movl 44(%edi),%edx | |
16187 ++ bswap %eax | |
16188 ++ bswap %ebx | |
16189 ++ bswap %ecx | |
16190 ++ bswap %edx | |
16191 ++ pushl %eax | |
16192 ++ pushl %ebx | |
16193 ++ pushl %ecx | |
16194 ++ pushl %edx | |
16195 ++ movl 48(%edi),%eax | |
16196 ++ movl 52(%edi),%ebx | |
16197 ++ movl 56(%edi),%ecx | |
16198 ++ movl 60(%edi),%edx | |
16199 ++ bswap %eax | |
16200 ++ bswap %ebx | |
16201 ++ bswap %ecx | |
16202 ++ bswap %edx | |
16203 ++ pushl %eax | |
16204 ++ pushl %ebx | |
16205 ++ pushl %ecx | |
16206 ++ pushl %edx | |
16207 ++ movl 64(%edi),%eax | |
16208 ++ movl 68(%edi),%ebx | |
16209 ++ movl 72(%edi),%ecx | |
16210 ++ movl 76(%edi),%edx | |
16211 ++ bswap %eax | |
16212 ++ bswap %ebx | |
16213 ++ bswap %ecx | |
16214 ++ bswap %edx | |
16215 ++ pushl %eax | |
16216 ++ pushl %ebx | |
16217 ++ pushl %ecx | |
16218 ++ pushl %edx | |
16219 ++ movl 80(%edi),%eax | |
16220 ++ movl 84(%edi),%ebx | |
16221 ++ movl 88(%edi),%ecx | |
16222 ++ movl 92(%edi),%edx | |
16223 ++ bswap %eax | |
16224 ++ bswap %ebx | |
16225 ++ bswap %ecx | |
16226 ++ bswap %edx | |
16227 ++ pushl %eax | |
16228 ++ pushl %ebx | |
16229 ++ pushl %ecx | |
16230 ++ pushl %edx | |
16231 ++ movl 96(%edi),%eax | |
16232 ++ movl 100(%edi),%ebx | |
16233 ++ movl 104(%edi),%ecx | |
16234 ++ movl 108(%edi),%edx | |
16235 ++ bswap %eax | |
16236 ++ bswap %ebx | |
16237 ++ bswap %ecx | |
16238 ++ bswap %edx | |
16239 ++ pushl %eax | |
16240 ++ pushl %ebx | |
16241 ++ pushl %ecx | |
16242 ++ pushl %edx | |
16243 ++ movl 112(%edi),%eax | |
16244 ++ movl 116(%edi),%ebx | |
16245 ++ movl 120(%edi),%ecx | |
16246 ++ movl 124(%edi),%edx | |
16247 ++ bswap %eax | |
16248 ++ bswap %ebx | |
16249 ++ bswap %ecx | |
16250 ++ bswap %edx | |
16251 ++ pushl %eax | |
16252 ++ pushl %ebx | |
16253 ++ pushl %ecx | |
16254 ++ pushl %edx | |
16255 ++ addl $128,%edi | |
16256 ++ subl $72,%esp | |
16257 ++ movl %edi,204(%esp) | |
16258 ++ leal 8(%esp),%edi | |
16259 ++ movl $16,%ecx | |
16260 ++.long 2784229001 | |
16261 ++.align 4,0x90 | |
16262 ++L00300_15_x86: | |
16263 ++ movl 40(%esp),%ecx | |
16264 ++ movl 44(%esp),%edx | |
16265 ++ movl %ecx,%esi | |
16266 ++ shrl $9,%ecx | |
16267 ++ movl %edx,%edi | |
16268 ++ shrl $9,%edx | |
16269 ++ movl %ecx,%ebx | |
16270 ++ shll $14,%esi | |
16271 ++ movl %edx,%eax | |
16272 ++ shll $14,%edi | |
16273 ++ xorl %esi,%ebx | |
16274 ++ shrl $5,%ecx | |
16275 ++ xorl %edi,%eax | |
16276 ++ shrl $5,%edx | |
16277 ++ xorl %ecx,%eax | |
16278 ++ shll $4,%esi | |
16279 ++ xorl %edx,%ebx | |
16280 ++ shll $4,%edi | |
16281 ++ xorl %esi,%ebx | |
16282 ++ shrl $4,%ecx | |
16283 ++ xorl %edi,%eax | |
16284 ++ shrl $4,%edx | |
16285 ++ xorl %ecx,%eax | |
16286 ++ shll $5,%esi | |
16287 ++ xorl %edx,%ebx | |
16288 ++ shll $5,%edi | |
16289 ++ xorl %esi,%eax | |
16290 ++ xorl %edi,%ebx | |
16291 ++ movl 48(%esp),%ecx | |
16292 ++ movl 52(%esp),%edx | |
16293 ++ movl 56(%esp),%esi | |
16294 ++ movl 60(%esp),%edi | |
16295 ++ addl 64(%esp),%eax | |
16296 ++ adcl 68(%esp),%ebx | |
16297 ++ xorl %esi,%ecx | |
16298 ++ xorl %edi,%edx | |
16299 ++ andl 40(%esp),%ecx | |
16300 ++ andl 44(%esp),%edx | |
16301 ++ addl 192(%esp),%eax | |
16302 ++ adcl 196(%esp),%ebx | |
16303 ++ xorl %esi,%ecx | |
16304 ++ xorl %edi,%edx | |
16305 ++ movl (%ebp),%esi | |
16306 ++ movl 4(%ebp),%edi | |
16307 ++ addl %ecx,%eax | |
16308 ++ adcl %edx,%ebx | |
16309 ++ movl 32(%esp),%ecx | |
16310 ++ movl 36(%esp),%edx | |
16311 ++ addl %esi,%eax | |
16312 ++ adcl %edi,%ebx | |
16313 ++ movl %eax,(%esp) | |
16314 ++ movl %ebx,4(%esp) | |
16315 ++ addl %ecx,%eax | |
16316 ++ adcl %edx,%ebx | |
16317 ++ movl 8(%esp),%ecx | |
16318 ++ movl 12(%esp),%edx | |
16319 ++ movl %eax,32(%esp) | |
16320 ++ movl %ebx,36(%esp) | |
16321 ++ movl %ecx,%esi | |
16322 ++ shrl $2,%ecx | |
16323 ++ movl %edx,%edi | |
16324 ++ shrl $2,%edx | |
16325 ++ movl %ecx,%ebx | |
16326 ++ shll $4,%esi | |
16327 ++ movl %edx,%eax | |
16328 ++ shll $4,%edi | |
16329 ++ xorl %esi,%ebx | |
16330 ++ shrl $5,%ecx | |
16331 ++ xorl %edi,%eax | |
16332 ++ shrl $5,%edx | |
16333 ++ xorl %ecx,%ebx | |
16334 ++ shll $21,%esi | |
16335 ++ xorl %edx,%eax | |
16336 ++ shll $21,%edi | |
16337 ++ xorl %esi,%eax | |
16338 ++ shrl $21,%ecx | |
16339 ++ xorl %edi,%ebx | |
16340 ++ shrl $21,%edx | |
16341 ++ xorl %ecx,%eax | |
16342 ++ shll $5,%esi | |
16343 ++ xorl %edx,%ebx | |
16344 ++ shll $5,%edi | |
16345 ++ xorl %esi,%eax | |
16346 ++ xorl %edi,%ebx | |
16347 ++ movl 8(%esp),%ecx | |
16348 ++ movl 12(%esp),%edx | |
16349 ++ movl 16(%esp),%esi | |
16350 ++ movl 20(%esp),%edi | |
16351 ++ addl (%esp),%eax | |
16352 ++ adcl 4(%esp),%ebx | |
16353 ++ orl %esi,%ecx | |
16354 ++ orl %edi,%edx | |
16355 ++ andl 24(%esp),%ecx | |
16356 ++ andl 28(%esp),%edx | |
16357 ++ andl 8(%esp),%esi | |
16358 ++ andl 12(%esp),%edi | |
16359 ++ orl %esi,%ecx | |
16360 ++ orl %edi,%edx | |
16361 ++ addl %ecx,%eax | |
16362 ++ adcl %edx,%ebx | |
16363 ++ movl %eax,(%esp) | |
16364 ++ movl %ebx,4(%esp) | |
16365 ++ movb (%ebp),%dl | |
16366 ++ subl $8,%esp | |
16367 ++ leal 8(%ebp),%ebp | |
16368 ++ cmpb $148,%dl | |
16369 ++ jne L00300_15_x86 | |
16370 ++.align 4,0x90 | |
16371 ++L00416_79_x86: | |
16372 ++ movl 312(%esp),%ecx | |
16373 ++ movl 316(%esp),%edx | |
16374 ++ movl %ecx,%esi | |
16375 ++ shrl $1,%ecx | |
16376 ++ movl %edx,%edi | |
16377 ++ shrl $1,%edx | |
16378 ++ movl %ecx,%eax | |
16379 ++ shll $24,%esi | |
16380 ++ movl %edx,%ebx | |
16381 ++ shll $24,%edi | |
16382 ++ xorl %esi,%ebx | |
16383 ++ shrl $6,%ecx | |
16384 ++ xorl %edi,%eax | |
16385 ++ shrl $6,%edx | |
16386 ++ xorl %ecx,%eax | |
16387 ++ shll $7,%esi | |
16388 ++ xorl %edx,%ebx | |
16389 ++ shll $1,%edi | |
16390 ++ xorl %esi,%ebx | |
16391 ++ shrl $1,%ecx | |
16392 ++ xorl %edi,%eax | |
16393 ++ shrl $1,%edx | |
16394 ++ xorl %ecx,%eax | |
16395 ++ shll $6,%edi | |
16396 ++ xorl %edx,%ebx | |
16397 ++ xorl %edi,%eax | |
16398 ++ movl %eax,(%esp) | |
16399 ++ movl %ebx,4(%esp) | |
16400 ++ movl 208(%esp),%ecx | |
16401 ++ movl 212(%esp),%edx | |
16402 ++ movl %ecx,%esi | |
16403 ++ shrl $6,%ecx | |
16404 ++ movl %edx,%edi | |
16405 ++ shrl $6,%edx | |
16406 ++ movl %ecx,%eax | |
16407 ++ shll $3,%esi | |
16408 ++ movl %edx,%ebx | |
16409 ++ shll $3,%edi | |
16410 ++ xorl %esi,%eax | |
16411 ++ shrl $13,%ecx | |
16412 ++ xorl %edi,%ebx | |
16413 ++ shrl $13,%edx | |
16414 ++ xorl %ecx,%eax | |
16415 ++ shll $10,%esi | |
16416 ++ xorl %edx,%ebx | |
16417 ++ shll $10,%edi | |
16418 ++ xorl %esi,%ebx | |
16419 ++ shrl $10,%ecx | |
16420 ++ xorl %edi,%eax | |
16421 ++ shrl $10,%edx | |
16422 ++ xorl %ecx,%ebx | |
16423 ++ shll $13,%edi | |
16424 ++ xorl %edx,%eax | |
16425 ++ xorl %edi,%eax | |
16426 ++ movl 320(%esp),%ecx | |
16427 ++ movl 324(%esp),%edx | |
16428 ++ addl (%esp),%eax | |
16429 ++ adcl 4(%esp),%ebx | |
16430 ++ movl 248(%esp),%esi | |
16431 ++ movl 252(%esp),%edi | |
16432 ++ addl %ecx,%eax | |
16433 ++ adcl %edx,%ebx | |
16434 ++ addl %esi,%eax | |
16435 ++ adcl %edi,%ebx | |
16436 ++ movl %eax,192(%esp) | |
16437 ++ movl %ebx,196(%esp) | |
16438 ++ movl 40(%esp),%ecx | |
16439 ++ movl 44(%esp),%edx | |
16440 ++ movl %ecx,%esi | |
16441 ++ shrl $9,%ecx | |
16442 ++ movl %edx,%edi | |
16443 ++ shrl $9,%edx | |
16444 ++ movl %ecx,%ebx | |
16445 ++ shll $14,%esi | |
16446 ++ movl %edx,%eax | |
16447 ++ shll $14,%edi | |
16448 ++ xorl %esi,%ebx | |
16449 ++ shrl $5,%ecx | |
16450 ++ xorl %edi,%eax | |
16451 ++ shrl $5,%edx | |
16452 ++ xorl %ecx,%eax | |
16453 ++ shll $4,%esi | |
16454 ++ xorl %edx,%ebx | |
16455 ++ shll $4,%edi | |
16456 ++ xorl %esi,%ebx | |
16457 ++ shrl $4,%ecx | |
16458 ++ xorl %edi,%eax | |
16459 ++ shrl $4,%edx | |
16460 ++ xorl %ecx,%eax | |
16461 ++ shll $5,%esi | |
16462 ++ xorl %edx,%ebx | |
16463 ++ shll $5,%edi | |
16464 ++ xorl %esi,%eax | |
16465 ++ xorl %edi,%ebx | |
16466 ++ movl 48(%esp),%ecx | |
16467 ++ movl 52(%esp),%edx | |
16468 ++ movl 56(%esp),%esi | |
16469 ++ movl 60(%esp),%edi | |
16470 ++ addl 64(%esp),%eax | |
16471 ++ adcl 68(%esp),%ebx | |
16472 ++ xorl %esi,%ecx | |
16473 ++ xorl %edi,%edx | |
16474 ++ andl 40(%esp),%ecx | |
16475 ++ andl 44(%esp),%edx | |
16476 ++ addl 192(%esp),%eax | |
16477 ++ adcl 196(%esp),%ebx | |
16478 ++ xorl %esi,%ecx | |
16479 ++ xorl %edi,%edx | |
16480 ++ movl (%ebp),%esi | |
16481 ++ movl 4(%ebp),%edi | |
16482 ++ addl %ecx,%eax | |
16483 ++ adcl %edx,%ebx | |
16484 ++ movl 32(%esp),%ecx | |
16485 ++ movl 36(%esp),%edx | |
16486 ++ addl %esi,%eax | |
16487 ++ adcl %edi,%ebx | |
16488 ++ movl %eax,(%esp) | |
16489 ++ movl %ebx,4(%esp) | |
16490 ++ addl %ecx,%eax | |
16491 ++ adcl %edx,%ebx | |
16492 ++ movl 8(%esp),%ecx | |
16493 ++ movl 12(%esp),%edx | |
16494 ++ movl %eax,32(%esp) | |
16495 ++ movl %ebx,36(%esp) | |
16496 ++ movl %ecx,%esi | |
16497 ++ shrl $2,%ecx | |
16498 ++ movl %edx,%edi | |
16499 ++ shrl $2,%edx | |
16500 ++ movl %ecx,%ebx | |
16501 ++ shll $4,%esi | |
16502 ++ movl %edx,%eax | |
16503 ++ shll $4,%edi | |
16504 ++ xorl %esi,%ebx | |
16505 ++ shrl $5,%ecx | |
16506 ++ xorl %edi,%eax | |
16507 ++ shrl $5,%edx | |
16508 ++ xorl %ecx,%ebx | |
16509 ++ shll $21,%esi | |
16510 ++ xorl %edx,%eax | |
16511 ++ shll $21,%edi | |
16512 ++ xorl %esi,%eax | |
16513 ++ shrl $21,%ecx | |
16514 ++ xorl %edi,%ebx | |
16515 ++ shrl $21,%edx | |
16516 ++ xorl %ecx,%eax | |
16517 ++ shll $5,%esi | |
16518 ++ xorl %edx,%ebx | |
16519 ++ shll $5,%edi | |
16520 ++ xorl %esi,%eax | |
16521 ++ xorl %edi,%ebx | |
16522 ++ movl 8(%esp),%ecx | |
16523 ++ movl 12(%esp),%edx | |
16524 ++ movl 16(%esp),%esi | |
16525 ++ movl 20(%esp),%edi | |
16526 ++ addl (%esp),%eax | |
16527 ++ adcl 4(%esp),%ebx | |
16528 ++ orl %esi,%ecx | |
16529 ++ orl %edi,%edx | |
16530 ++ andl 24(%esp),%ecx | |
16531 ++ andl 28(%esp),%edx | |
16532 ++ andl 8(%esp),%esi | |
16533 ++ andl 12(%esp),%edi | |
16534 ++ orl %esi,%ecx | |
16535 ++ orl %edi,%edx | |
16536 ++ addl %ecx,%eax | |
16537 ++ adcl %edx,%ebx | |
16538 ++ movl %eax,(%esp) | |
16539 ++ movl %ebx,4(%esp) | |
16540 ++ movb (%ebp),%dl | |
16541 ++ subl $8,%esp | |
16542 ++ leal 8(%ebp),%ebp | |
16543 ++ cmpb $23,%dl | |
16544 ++ jne L00416_79_x86 | |
16545 ++ movl 840(%esp),%esi | |
16546 ++ movl 844(%esp),%edi | |
16547 ++ movl (%esi),%eax | |
16548 ++ movl 4(%esi),%ebx | |
16549 ++ movl 8(%esi),%ecx | |
16550 ++ movl 12(%esi),%edx | |
16551 ++ addl 8(%esp),%eax | |
16552 ++ adcl 12(%esp),%ebx | |
16553 ++ movl %eax,(%esi) | |
16554 ++ movl %ebx,4(%esi) | |
16555 ++ addl 16(%esp),%ecx | |
16556 ++ adcl 20(%esp),%edx | |
16557 ++ movl %ecx,8(%esi) | |
16558 ++ movl %edx,12(%esi) | |
16559 ++ movl 16(%esi),%eax | |
16560 ++ movl 20(%esi),%ebx | |
16561 ++ movl 24(%esi),%ecx | |
16562 ++ movl 28(%esi),%edx | |
16563 ++ addl 24(%esp),%eax | |
16564 ++ adcl 28(%esp),%ebx | |
16565 ++ movl %eax,16(%esi) | |
16566 ++ movl %ebx,20(%esi) | |
16567 ++ addl 32(%esp),%ecx | |
16568 ++ adcl 36(%esp),%edx | |
16569 ++ movl %ecx,24(%esi) | |
16570 ++ movl %edx,28(%esi) | |
16571 ++ movl 32(%esi),%eax | |
16572 ++ movl 36(%esi),%ebx | |
16573 ++ movl 40(%esi),%ecx | |
16574 ++ movl 44(%esi),%edx | |
16575 ++ addl 40(%esp),%eax | |
16576 ++ adcl 44(%esp),%ebx | |
16577 ++ movl %eax,32(%esi) | |
16578 ++ movl %ebx,36(%esi) | |
16579 ++ addl 48(%esp),%ecx | |
16580 ++ adcl 52(%esp),%edx | |
16581 ++ movl %ecx,40(%esi) | |
16582 ++ movl %edx,44(%esi) | |
16583 ++ movl 48(%esi),%eax | |
16584 ++ movl 52(%esi),%ebx | |
16585 ++ movl 56(%esi),%ecx | |
16586 ++ movl 60(%esi),%edx | |
16587 ++ addl 56(%esp),%eax | |
16588 ++ adcl 60(%esp),%ebx | |
16589 ++ movl %eax,48(%esi) | |
16590 ++ movl %ebx,52(%esi) | |
16591 ++ addl 64(%esp),%ecx | |
16592 ++ adcl 68(%esp),%edx | |
16593 ++ movl %ecx,56(%esi) | |
16594 ++ movl %edx,60(%esi) | |
16595 ++ addl $840,%esp | |
16596 ++ subl $640,%ebp | |
16597 ++ cmpl 8(%esp),%edi | |
16598 ++ jb L002loop_x86 | |
16599 ++ movl 12(%esp),%esp | |
16600 ++ popl %edi | |
16601 ++ popl %esi | |
16602 ++ popl %ebx | |
16603 ++ popl %ebp | |
16604 ++ ret | |
16605 ++.align 6,0x90 | |
16606 ++L001K512: | |
16607 ++.long 3609767458,1116352408 | |
16608 ++.long 602891725,1899447441 | |
16609 ++.long 3964484399,3049323471 | |
16610 ++.long 2173295548,3921009573 | |
16611 ++.long 4081628472,961987163 | |
16612 ++.long 3053834265,1508970993 | |
16613 ++.long 2937671579,2453635748 | |
16614 ++.long 3664609560,2870763221 | |
16615 ++.long 2734883394,3624381080 | |
16616 ++.long 1164996542,310598401 | |
16617 ++.long 1323610764,607225278 | |
16618 ++.long 3590304994,1426881987 | |
16619 ++.long 4068182383,1925078388 | |
16620 ++.long 991336113,2162078206 | |
16621 ++.long 633803317,2614888103 | |
16622 ++.long 3479774868,3248222580 | |
16623 ++.long 2666613458,3835390401 | |
16624 ++.long 944711139,4022224774 | |
16625 ++.long 2341262773,264347078 | |
16626 ++.long 2007800933,604807628 | |
16627 ++.long 1495990901,770255983 | |
16628 ++.long 1856431235,1249150122 | |
16629 ++.long 3175218132,1555081692 | |
16630 ++.long 2198950837,1996064986 | |
16631 ++.long 3999719339,2554220882 | |
16632 ++.long 766784016,2821834349 | |
16633 ++.long 2566594879,2952996808 | |
16634 ++.long 3203337956,3210313671 | |
16635 ++.long 1034457026,3336571891 | |
16636 ++.long 2466948901,3584528711 | |
16637 ++.long 3758326383,113926993 | |
16638 ++.long 168717936,338241895 | |
16639 ++.long 1188179964,666307205 | |
16640 ++.long 1546045734,773529912 | |
16641 ++.long 1522805485,1294757372 | |
16642 ++.long 2643833823,1396182291 | |
16643 ++.long 2343527390,1695183700 | |
16644 ++.long 1014477480,1986661051 | |
16645 ++.long 1206759142,2177026350 | |
16646 ++.long 344077627,2456956037 | |
16647 ++.long 1290863460,2730485921 | |
16648 ++.long 3158454273,2820302411 | |
16649 ++.long 3505952657,3259730800 | |
16650 ++.long 106217008,3345764771 | |
16651 ++.long 3606008344,3516065817 | |
16652 ++.long 1432725776,3600352804 | |
16653 ++.long 1467031594,4094571909 | |
16654 ++.long 851169720,275423344 | |
16655 ++.long 3100823752,430227734 | |
16656 ++.long 1363258195,506948616 | |
16657 ++.long 3750685593,659060556 | |
16658 ++.long 3785050280,883997877 | |
16659 ++.long 3318307427,958139571 | |
16660 ++.long 3812723403,1322822218 | |
16661 ++.long 2003034995,1537002063 | |
16662 ++.long 3602036899,1747873779 | |
16663 ++.long 1575990012,1955562222 | |
16664 ++.long 1125592928,2024104815 | |
16665 ++.long 2716904306,2227730452 | |
16666 ++.long 442776044,2361852424 | |
16667 ++.long 593698344,2428436474 | |
16668 ++.long 3733110249,2756734187 | |
16669 ++.long 2999351573,3204031479 | |
16670 ++.long 3815920427,3329325298 | |
16671 ++.long 3928383900,3391569614 | |
16672 ++.long 566280711,3515267271 | |
16673 ++.long 3454069534,3940187606 | |
16674 ++.long 4000239992,4118630271 | |
16675 ++.long 1914138554,116418474 | |
16676 ++.long 2731055270,174292421 | |
16677 ++.long 3203993006,289380356 | |
16678 ++.long 320620315,460393269 | |
16679 ++.long 587496836,685471733 | |
16680 ++.long 1086792851,852142971 | |
16681 ++.long 365543100,1017036298 | |
16682 ++.long 2618297676,1126000580 | |
16683 ++.long 3409855158,1288033470 | |
16684 ++.long 4234509866,1501505948 | |
16685 ++.long 987167468,1607167915 | |
16686 ++.long 1246189591,1816402316 | |
16687 ++.byte 83,72,65,53,49,50,32,98,108,111,99,107,32,116,114,97 | |
16688 ++.byte 110,115,102,111,114,109,32,102,111,114,32,120,56,54,44,32 | |
16689 ++.byte 67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97 | |
16690 ++.byte 112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103 | |
16691 ++.byte 62,0 | |
16692 +diff --git a/crypto/x86cpuid-mac.S b/crypto/x86cpuid-mac.S | |
16693 +new file mode 100644 | |
16694 +index 0000000..db36e6f | |
16695 +--- /dev/null | |
16696 ++++ b/crypto/x86cpuid-mac.S | |
16697 +@@ -0,0 +1,316 @@ | |
16698 ++.file "x86cpuid.s" | |
16699 ++.text | |
16700 ++.globl _OPENSSL_ia32_cpuid | |
16701 ++.align 4 | |
16702 ++_OPENSSL_ia32_cpuid: | |
16703 ++L_OPENSSL_ia32_cpuid_begin: | |
16704 ++ pushl %ebp | |
16705 ++ pushl %ebx | |
16706 ++ pushl %esi | |
16707 ++ pushl %edi | |
16708 ++ xorl %edx,%edx | |
16709 ++ pushfl | |
16710 ++ popl %eax | |
16711 ++ movl %eax,%ecx | |
16712 ++ xorl $2097152,%eax | |
16713 ++ pushl %eax | |
16714 ++ popfl | |
16715 ++ pushfl | |
16716 ++ popl %eax | |
16717 ++ xorl %eax,%ecx | |
16718 ++ xorl %eax,%eax | |
16719 ++ btl $21,%ecx | |
16720 ++ jnc L000nocpuid | |
16721 ++ .byte 0x0f,0xa2 | |
16722 ++ movl %eax,%edi | |
16723 ++ xorl %eax,%eax | |
16724 ++ cmpl $1970169159,%ebx | |
16725 ++ setne %al | |
16726 ++ movl %eax,%ebp | |
16727 ++ cmpl $1231384169,%edx | |
16728 ++ setne %al | |
16729 ++ orl %eax,%ebp | |
16730 ++ cmpl $1818588270,%ecx | |
16731 ++ setne %al | |
16732 ++ orl %eax,%ebp | |
16733 ++ jz L001intel | |
16734 ++ cmpl $1752462657,%ebx | |
16735 ++ setne %al | |
16736 ++ movl %eax,%esi | |
16737 ++ cmpl $1769238117,%edx | |
16738 ++ setne %al | |
16739 ++ orl %eax,%esi | |
16740 ++ cmpl $1145913699,%ecx | |
16741 ++ setne %al | |
16742 ++ orl %eax,%esi | |
16743 ++ jnz L001intel | |
16744 ++ movl $2147483648,%eax | |
16745 ++ .byte 0x0f,0xa2 | |
16746 ++ cmpl $2147483649,%eax | |
16747 ++ jb L001intel | |
16748 ++ movl %eax,%esi | |
16749 ++ movl $2147483649,%eax | |
16750 ++ .byte 0x0f,0xa2 | |
16751 ++ orl %ecx,%ebp | |
16752 ++ andl $2049,%ebp | |
16753 ++ cmpl $2147483656,%esi | |
16754 ++ jb L001intel | |
16755 ++ movl $2147483656,%eax | |
16756 ++ .byte 0x0f,0xa2 | |
16757 ++ movzbl %cl,%esi | |
16758 ++ incl %esi | |
16759 ++ movl $1,%eax | |
16760 ++ .byte 0x0f,0xa2 | |
16761 ++ btl $28,%edx | |
16762 ++ jnc L002generic | |
16763 ++ shrl $16,%ebx | |
16764 ++ andl $255,%ebx | |
16765 ++ cmpl %esi,%ebx | |
16766 ++ ja L002generic | |
16767 ++ andl $4026531839,%edx | |
16768 ++ jmp L002generic | |
16769 ++L001intel: | |
16770 ++ cmpl $4,%edi | |
16771 ++ movl $-1,%edi | |
16772 ++ jb L003nocacheinfo | |
16773 ++ movl $4,%eax | |
16774 ++ movl $0,%ecx | |
16775 ++ .byte 0x0f,0xa2 | |
16776 ++ movl %eax,%edi | |
16777 ++ shrl $14,%edi | |
16778 ++ andl $4095,%edi | |
16779 ++L003nocacheinfo: | |
16780 ++ movl $1,%eax | |
16781 ++ .byte 0x0f,0xa2 | |
16782 ++ andl $3220176895,%edx | |
16783 ++ cmpl $0,%ebp | |
16784 ++ jne L004notintel | |
16785 ++ orl $1073741824,%edx | |
16786 ++ andb $15,%ah | |
16787 ++ cmpb $15,%ah | |
16788 ++ jne L004notintel | |
16789 ++ orl $1048576,%edx | |
16790 ++L004notintel: | |
16791 ++ btl $28,%edx | |
16792 ++ jnc L002generic | |
16793 ++ andl $4026531839,%edx | |
16794 ++ cmpl $0,%edi | |
16795 ++ je L002generic | |
16796 ++ orl $268435456,%edx | |
16797 ++ shrl $16,%ebx | |
16798 ++ cmpb $1,%bl | |
16799 ++ ja L002generic | |
16800 ++ andl $4026531839,%edx | |
16801 ++L002generic: | |
16802 ++ andl $2048,%ebp | |
16803 ++ andl $4294965247,%ecx | |
16804 ++ movl %edx,%esi | |
16805 ++ orl %ecx,%ebp | |
16806 ++ btl $27,%ecx | |
16807 ++ jnc L005clear_avx | |
16808 ++ xorl %ecx,%ecx | |
16809 ++.byte 15,1,208 | |
16810 ++ andl $6,%eax | |
16811 ++ cmpl $6,%eax | |
16812 ++ je L006done | |
16813 ++ cmpl $2,%eax | |
16814 ++ je L005clear_avx | |
16815 ++L007clear_xmm: | |
16816 ++ andl $4261412861,%ebp | |
16817 ++ andl $4278190079,%esi | |
16818 ++L005clear_avx: | |
16819 ++ andl $4026525695,%ebp | |
16820 ++L006done: | |
16821 ++ movl %esi,%eax | |
16822 ++ movl %ebp,%edx | |
16823 ++L000nocpuid: | |
16824 ++ popl %edi | |
16825 ++ popl %esi | |
16826 ++ popl %ebx | |
16827 ++ popl %ebp | |
16828 ++ ret | |
16829 ++.globl _OPENSSL_rdtsc | |
16830 ++.align 4 | |
16831 ++_OPENSSL_rdtsc: | |
16832 ++L_OPENSSL_rdtsc_begin: | |
16833 ++ xorl %eax,%eax | |
16834 ++ xorl %edx,%edx | |
16835 ++ call L008PIC_me_up | |
16836 ++L008PIC_me_up: | |
16837 ++ popl %ecx | |
16838 ++ movl L_OPENSSL_ia32cap_P$non_lazy_ptr-L008PIC_me_up(%ecx),%ecx | |
16839 ++ btl $4,(%ecx) | |
16840 ++ jnc L009notsc | |
16841 ++ .byte 0x0f,0x31 | |
16842 ++L009notsc: | |
16843 ++ ret | |
16844 ++.globl _OPENSSL_instrument_halt | |
16845 ++.align 4 | |
16846 ++_OPENSSL_instrument_halt: | |
16847 ++L_OPENSSL_instrument_halt_begin: | |
16848 ++ call L010PIC_me_up | |
16849 ++L010PIC_me_up: | |
16850 ++ popl %ecx | |
16851 ++ movl L_OPENSSL_ia32cap_P$non_lazy_ptr-L010PIC_me_up(%ecx),%ecx | |
16852 ++ btl $4,(%ecx) | |
16853 ++ jnc L011nohalt | |
16854 ++.long 2421723150 | |
16855 ++ andl $3,%eax | |
16856 ++ jnz L011nohalt | |
16857 ++ pushfl | |
16858 ++ popl %eax | |
16859 ++ btl $9,%eax | |
16860 ++ jnc L011nohalt | |
16861 ++ .byte 0x0f,0x31 | |
16862 ++ pushl %edx | |
16863 ++ pushl %eax | |
16864 ++ hlt | |
16865 ++ .byte 0x0f,0x31 | |
16866 ++ subl (%esp),%eax | |
16867 ++ sbbl 4(%esp),%edx | |
16868 ++ addl $8,%esp | |
16869 ++ ret | |
16870 ++L011nohalt: | |
16871 ++ xorl %eax,%eax | |
16872 ++ xorl %edx,%edx | |
16873 ++ ret | |
16874 ++.globl _OPENSSL_far_spin | |
16875 ++.align 4 | |
16876 ++_OPENSSL_far_spin: | |
16877 ++L_OPENSSL_far_spin_begin: | |
16878 ++ pushfl | |
16879 ++ popl %eax | |
16880 ++ btl $9,%eax | |
16881 ++ jnc L012nospin | |
16882 ++ movl 4(%esp),%eax | |
16883 ++ movl 8(%esp),%ecx | |
16884 ++.long 2430111262 | |
16885 ++ xorl %eax,%eax | |
16886 ++ movl (%ecx),%edx | |
16887 ++ jmp L013spin | |
16888 ++.align 4,0x90 | |
16889 ++L013spin: | |
16890 ++ incl %eax | |
16891 ++ cmpl (%ecx),%edx | |
16892 ++ je L013spin | |
16893 ++.long 529567888 | |
16894 ++ ret | |
16895 ++L012nospin: | |
16896 ++ xorl %eax,%eax | |
16897 ++ xorl %edx,%edx | |
16898 ++ ret | |
16899 ++.globl _OPENSSL_wipe_cpu | |
16900 ++.align 4 | |
16901 ++_OPENSSL_wipe_cpu: | |
16902 ++L_OPENSSL_wipe_cpu_begin: | |
16903 ++ xorl %eax,%eax | |
16904 ++ xorl %edx,%edx | |
16905 ++ call L014PIC_me_up | |
16906 ++L014PIC_me_up: | |
16907 ++ popl %ecx | |
16908 ++ movl L_OPENSSL_ia32cap_P$non_lazy_ptr-L014PIC_me_up(%ecx),%ecx | |
16909 ++ movl (%ecx),%ecx | |
16910 ++ btl $1,(%ecx) | |
16911 ++ jnc L015no_x87 | |
16912 ++.long 4007259865,4007259865,4007259865,4007259865,2430851995 | |
16913 ++L015no_x87: | |
16914 ++ leal 4(%esp),%eax | |
16915 ++ ret | |
16916 ++.globl _OPENSSL_atomic_add | |
16917 ++.align 4 | |
16918 ++_OPENSSL_atomic_add: | |
16919 ++L_OPENSSL_atomic_add_begin: | |
16920 ++ movl 4(%esp),%edx | |
16921 ++ movl 8(%esp),%ecx | |
16922 ++ pushl %ebx | |
16923 ++ nop | |
16924 ++ movl (%edx),%eax | |
16925 ++L016spin: | |
16926 ++ leal (%eax,%ecx,1),%ebx | |
16927 ++ nop | |
16928 ++.long 447811568 | |
16929 ++ jne L016spin | |
16930 ++ movl %ebx,%eax | |
16931 ++ popl %ebx | |
16932 ++ ret | |
16933 ++.globl _OPENSSL_indirect_call | |
16934 ++.align 4 | |
16935 ++_OPENSSL_indirect_call: | |
16936 ++L_OPENSSL_indirect_call_begin: | |
16937 ++ pushl %ebp | |
16938 ++ movl %esp,%ebp | |
16939 ++ subl $28,%esp | |
16940 ++ movl 12(%ebp),%ecx | |
16941 ++ movl %ecx,(%esp) | |
16942 ++ movl 16(%ebp),%edx | |
16943 ++ movl %edx,4(%esp) | |
16944 ++ movl 20(%ebp),%eax | |
16945 ++ movl %eax,8(%esp) | |
16946 ++ movl 24(%ebp),%eax | |
16947 ++ movl %eax,12(%esp) | |
16948 ++ movl 28(%ebp),%eax | |
16949 ++ movl %eax,16(%esp) | |
16950 ++ movl 32(%ebp),%eax | |
16951 ++ movl %eax,20(%esp) | |
16952 ++ movl 36(%ebp),%eax | |
16953 ++ movl %eax,24(%esp) | |
16954 ++ call *8(%ebp) | |
16955 ++ movl %ebp,%esp | |
16956 ++ popl %ebp | |
16957 ++ ret | |
16958 ++.globl _OPENSSL_cleanse | |
16959 ++.align 4 | |
16960 ++_OPENSSL_cleanse: | |
16961 ++L_OPENSSL_cleanse_begin: | |
16962 ++ movl 4(%esp),%edx | |
16963 ++ movl 8(%esp),%ecx | |
16964 ++ xorl %eax,%eax | |
16965 ++ cmpl $7,%ecx | |
16966 ++ jae L017lot | |
16967 ++ cmpl $0,%ecx | |
16968 ++ je L018ret | |
16969 ++L019little: | |
16970 ++ movb %al,(%edx) | |
16971 ++ subl $1,%ecx | |
16972 ++ leal 1(%edx),%edx | |
16973 ++ jnz L019little | |
16974 ++L018ret: | |
16975 ++ ret | |
16976 ++.align 4,0x90 | |
16977 ++L017lot: | |
16978 ++ testl $3,%edx | |
16979 ++ jz L020aligned | |
16980 ++ movb %al,(%edx) | |
16981 ++ leal -1(%ecx),%ecx | |
16982 ++ leal 1(%edx),%edx | |
16983 ++ jmp L017lot | |
16984 ++L020aligned: | |
16985 ++ movl %eax,(%edx) | |
16986 ++ leal -4(%ecx),%ecx | |
16987 ++ testl $-4,%ecx | |
16988 ++ leal 4(%edx),%edx | |
16989 ++ jnz L020aligned | |
16990 ++ cmpl $0,%ecx | |
16991 ++ jne L019little | |
16992 ++ ret | |
16993 ++.globl _OPENSSL_ia32_rdrand | |
16994 ++.align 4 | |
16995 ++_OPENSSL_ia32_rdrand: | |
16996 ++L_OPENSSL_ia32_rdrand_begin: | |
16997 ++ movl $8,%ecx | |
16998 ++L021loop: | |
16999 ++.byte 15,199,240 | |
17000 ++ jc L022break | |
17001 ++ loop L021loop | |
17002 ++L022break: | |
17003 ++ cmpl $0,%eax | |
17004 ++ cmovel %ecx,%eax | |
17005 ++ ret | |
17006 ++.section __IMPORT,__pointers,non_lazy_symbol_pointers | |
17007 ++L_OPENSSL_ia32cap_P$non_lazy_ptr: | |
17008 ++.indirect_symbol _OPENSSL_ia32cap_P | |
17009 ++.long 0 | |
17010 ++.comm _OPENSSL_ia32cap_P,8,2 | |
17011 ++.mod_init_func | |
17012 ++.align 2 | |
17013 ++.long _OPENSSL_cpuid_setup | |
17014 +-- | |
17015 +1.8.3.2 | |
17016 + | |
OLD | NEW |