Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(269)

Side by Side Diff: openssl/crypto/des/asm/des-586.S

Issue 2072073002: Delete bundled copy of OpenSSL and replace with README. (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/openssl@master
Patch Set: Delete bundled copy of OpenSSL and replace with README. Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « openssl/crypto/des/asm/crypt586-mac.S ('k') | openssl/crypto/des/asm/des-586.pl » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 .file "des-586.s"
2 .text
3 .globl DES_SPtrans
4 .type _x86_DES_encrypt,@function
5 .align 16
6 _x86_DES_encrypt:
7 pushl %ecx
8
9 movl (%ecx),%eax
10 xorl %ebx,%ebx
11 movl 4(%ecx),%edx
12 xorl %esi,%eax
13 xorl %ecx,%ecx
14 xorl %esi,%edx
15 andl $0xfcfcfcfc,%eax
16 andl $0xcfcfcfcf,%edx
17 movb %al,%bl
18 movb %ah,%cl
19 rorl $4,%edx
20 xorl (%ebp,%ebx,1),%edi
21 movb %dl,%bl
22 xorl 0x200(%ebp,%ecx,1),%edi
23 movb %dh,%cl
24 shrl $16,%eax
25 xorl 0x100(%ebp,%ebx,1),%edi
26 movb %ah,%bl
27 shrl $16,%edx
28 xorl 0x300(%ebp,%ecx,1),%edi
29 movb %dh,%cl
30 andl $0xff,%eax
31 andl $0xff,%edx
32 xorl 0x600(%ebp,%ebx,1),%edi
33 xorl 0x700(%ebp,%ecx,1),%edi
34 movl (%esp),%ecx
35 xorl 0x400(%ebp,%eax,1),%edi
36 xorl 0x500(%ebp,%edx,1),%edi
37
38 movl 8(%ecx),%eax
39 xorl %ebx,%ebx
40 movl 12(%ecx),%edx
41 xorl %edi,%eax
42 xorl %ecx,%ecx
43 xorl %edi,%edx
44 andl $0xfcfcfcfc,%eax
45 andl $0xcfcfcfcf,%edx
46 movb %al,%bl
47 movb %ah,%cl
48 rorl $4,%edx
49 xorl (%ebp,%ebx,1),%esi
50 movb %dl,%bl
51 xorl 0x200(%ebp,%ecx,1),%esi
52 movb %dh,%cl
53 shrl $16,%eax
54 xorl 0x100(%ebp,%ebx,1),%esi
55 movb %ah,%bl
56 shrl $16,%edx
57 xorl 0x300(%ebp,%ecx,1),%esi
58 movb %dh,%cl
59 andl $0xff,%eax
60 andl $0xff,%edx
61 xorl 0x600(%ebp,%ebx,1),%esi
62 xorl 0x700(%ebp,%ecx,1),%esi
63 movl (%esp),%ecx
64 xorl 0x400(%ebp,%eax,1),%esi
65 xorl 0x500(%ebp,%edx,1),%esi
66
67 movl 16(%ecx),%eax
68 xorl %ebx,%ebx
69 movl 20(%ecx),%edx
70 xorl %esi,%eax
71 xorl %ecx,%ecx
72 xorl %esi,%edx
73 andl $0xfcfcfcfc,%eax
74 andl $0xcfcfcfcf,%edx
75 movb %al,%bl
76 movb %ah,%cl
77 rorl $4,%edx
78 xorl (%ebp,%ebx,1),%edi
79 movb %dl,%bl
80 xorl 0x200(%ebp,%ecx,1),%edi
81 movb %dh,%cl
82 shrl $16,%eax
83 xorl 0x100(%ebp,%ebx,1),%edi
84 movb %ah,%bl
85 shrl $16,%edx
86 xorl 0x300(%ebp,%ecx,1),%edi
87 movb %dh,%cl
88 andl $0xff,%eax
89 andl $0xff,%edx
90 xorl 0x600(%ebp,%ebx,1),%edi
91 xorl 0x700(%ebp,%ecx,1),%edi
92 movl (%esp),%ecx
93 xorl 0x400(%ebp,%eax,1),%edi
94 xorl 0x500(%ebp,%edx,1),%edi
95
96 movl 24(%ecx),%eax
97 xorl %ebx,%ebx
98 movl 28(%ecx),%edx
99 xorl %edi,%eax
100 xorl %ecx,%ecx
101 xorl %edi,%edx
102 andl $0xfcfcfcfc,%eax
103 andl $0xcfcfcfcf,%edx
104 movb %al,%bl
105 movb %ah,%cl
106 rorl $4,%edx
107 xorl (%ebp,%ebx,1),%esi
108 movb %dl,%bl
109 xorl 0x200(%ebp,%ecx,1),%esi
110 movb %dh,%cl
111 shrl $16,%eax
112 xorl 0x100(%ebp,%ebx,1),%esi
113 movb %ah,%bl
114 shrl $16,%edx
115 xorl 0x300(%ebp,%ecx,1),%esi
116 movb %dh,%cl
117 andl $0xff,%eax
118 andl $0xff,%edx
119 xorl 0x600(%ebp,%ebx,1),%esi
120 xorl 0x700(%ebp,%ecx,1),%esi
121 movl (%esp),%ecx
122 xorl 0x400(%ebp,%eax,1),%esi
123 xorl 0x500(%ebp,%edx,1),%esi
124
125 movl 32(%ecx),%eax
126 xorl %ebx,%ebx
127 movl 36(%ecx),%edx
128 xorl %esi,%eax
129 xorl %ecx,%ecx
130 xorl %esi,%edx
131 andl $0xfcfcfcfc,%eax
132 andl $0xcfcfcfcf,%edx
133 movb %al,%bl
134 movb %ah,%cl
135 rorl $4,%edx
136 xorl (%ebp,%ebx,1),%edi
137 movb %dl,%bl
138 xorl 0x200(%ebp,%ecx,1),%edi
139 movb %dh,%cl
140 shrl $16,%eax
141 xorl 0x100(%ebp,%ebx,1),%edi
142 movb %ah,%bl
143 shrl $16,%edx
144 xorl 0x300(%ebp,%ecx,1),%edi
145 movb %dh,%cl
146 andl $0xff,%eax
147 andl $0xff,%edx
148 xorl 0x600(%ebp,%ebx,1),%edi
149 xorl 0x700(%ebp,%ecx,1),%edi
150 movl (%esp),%ecx
151 xorl 0x400(%ebp,%eax,1),%edi
152 xorl 0x500(%ebp,%edx,1),%edi
153
154 movl 40(%ecx),%eax
155 xorl %ebx,%ebx
156 movl 44(%ecx),%edx
157 xorl %edi,%eax
158 xorl %ecx,%ecx
159 xorl %edi,%edx
160 andl $0xfcfcfcfc,%eax
161 andl $0xcfcfcfcf,%edx
162 movb %al,%bl
163 movb %ah,%cl
164 rorl $4,%edx
165 xorl (%ebp,%ebx,1),%esi
166 movb %dl,%bl
167 xorl 0x200(%ebp,%ecx,1),%esi
168 movb %dh,%cl
169 shrl $16,%eax
170 xorl 0x100(%ebp,%ebx,1),%esi
171 movb %ah,%bl
172 shrl $16,%edx
173 xorl 0x300(%ebp,%ecx,1),%esi
174 movb %dh,%cl
175 andl $0xff,%eax
176 andl $0xff,%edx
177 xorl 0x600(%ebp,%ebx,1),%esi
178 xorl 0x700(%ebp,%ecx,1),%esi
179 movl (%esp),%ecx
180 xorl 0x400(%ebp,%eax,1),%esi
181 xorl 0x500(%ebp,%edx,1),%esi
182
183 movl 48(%ecx),%eax
184 xorl %ebx,%ebx
185 movl 52(%ecx),%edx
186 xorl %esi,%eax
187 xorl %ecx,%ecx
188 xorl %esi,%edx
189 andl $0xfcfcfcfc,%eax
190 andl $0xcfcfcfcf,%edx
191 movb %al,%bl
192 movb %ah,%cl
193 rorl $4,%edx
194 xorl (%ebp,%ebx,1),%edi
195 movb %dl,%bl
196 xorl 0x200(%ebp,%ecx,1),%edi
197 movb %dh,%cl
198 shrl $16,%eax
199 xorl 0x100(%ebp,%ebx,1),%edi
200 movb %ah,%bl
201 shrl $16,%edx
202 xorl 0x300(%ebp,%ecx,1),%edi
203 movb %dh,%cl
204 andl $0xff,%eax
205 andl $0xff,%edx
206 xorl 0x600(%ebp,%ebx,1),%edi
207 xorl 0x700(%ebp,%ecx,1),%edi
208 movl (%esp),%ecx
209 xorl 0x400(%ebp,%eax,1),%edi
210 xorl 0x500(%ebp,%edx,1),%edi
211
212 movl 56(%ecx),%eax
213 xorl %ebx,%ebx
214 movl 60(%ecx),%edx
215 xorl %edi,%eax
216 xorl %ecx,%ecx
217 xorl %edi,%edx
218 andl $0xfcfcfcfc,%eax
219 andl $0xcfcfcfcf,%edx
220 movb %al,%bl
221 movb %ah,%cl
222 rorl $4,%edx
223 xorl (%ebp,%ebx,1),%esi
224 movb %dl,%bl
225 xorl 0x200(%ebp,%ecx,1),%esi
226 movb %dh,%cl
227 shrl $16,%eax
228 xorl 0x100(%ebp,%ebx,1),%esi
229 movb %ah,%bl
230 shrl $16,%edx
231 xorl 0x300(%ebp,%ecx,1),%esi
232 movb %dh,%cl
233 andl $0xff,%eax
234 andl $0xff,%edx
235 xorl 0x600(%ebp,%ebx,1),%esi
236 xorl 0x700(%ebp,%ecx,1),%esi
237 movl (%esp),%ecx
238 xorl 0x400(%ebp,%eax,1),%esi
239 xorl 0x500(%ebp,%edx,1),%esi
240
241 movl 64(%ecx),%eax
242 xorl %ebx,%ebx
243 movl 68(%ecx),%edx
244 xorl %esi,%eax
245 xorl %ecx,%ecx
246 xorl %esi,%edx
247 andl $0xfcfcfcfc,%eax
248 andl $0xcfcfcfcf,%edx
249 movb %al,%bl
250 movb %ah,%cl
251 rorl $4,%edx
252 xorl (%ebp,%ebx,1),%edi
253 movb %dl,%bl
254 xorl 0x200(%ebp,%ecx,1),%edi
255 movb %dh,%cl
256 shrl $16,%eax
257 xorl 0x100(%ebp,%ebx,1),%edi
258 movb %ah,%bl
259 shrl $16,%edx
260 xorl 0x300(%ebp,%ecx,1),%edi
261 movb %dh,%cl
262 andl $0xff,%eax
263 andl $0xff,%edx
264 xorl 0x600(%ebp,%ebx,1),%edi
265 xorl 0x700(%ebp,%ecx,1),%edi
266 movl (%esp),%ecx
267 xorl 0x400(%ebp,%eax,1),%edi
268 xorl 0x500(%ebp,%edx,1),%edi
269
270 movl 72(%ecx),%eax
271 xorl %ebx,%ebx
272 movl 76(%ecx),%edx
273 xorl %edi,%eax
274 xorl %ecx,%ecx
275 xorl %edi,%edx
276 andl $0xfcfcfcfc,%eax
277 andl $0xcfcfcfcf,%edx
278 movb %al,%bl
279 movb %ah,%cl
280 rorl $4,%edx
281 xorl (%ebp,%ebx,1),%esi
282 movb %dl,%bl
283 xorl 0x200(%ebp,%ecx,1),%esi
284 movb %dh,%cl
285 shrl $16,%eax
286 xorl 0x100(%ebp,%ebx,1),%esi
287 movb %ah,%bl
288 shrl $16,%edx
289 xorl 0x300(%ebp,%ecx,1),%esi
290 movb %dh,%cl
291 andl $0xff,%eax
292 andl $0xff,%edx
293 xorl 0x600(%ebp,%ebx,1),%esi
294 xorl 0x700(%ebp,%ecx,1),%esi
295 movl (%esp),%ecx
296 xorl 0x400(%ebp,%eax,1),%esi
297 xorl 0x500(%ebp,%edx,1),%esi
298
299 movl 80(%ecx),%eax
300 xorl %ebx,%ebx
301 movl 84(%ecx),%edx
302 xorl %esi,%eax
303 xorl %ecx,%ecx
304 xorl %esi,%edx
305 andl $0xfcfcfcfc,%eax
306 andl $0xcfcfcfcf,%edx
307 movb %al,%bl
308 movb %ah,%cl
309 rorl $4,%edx
310 xorl (%ebp,%ebx,1),%edi
311 movb %dl,%bl
312 xorl 0x200(%ebp,%ecx,1),%edi
313 movb %dh,%cl
314 shrl $16,%eax
315 xorl 0x100(%ebp,%ebx,1),%edi
316 movb %ah,%bl
317 shrl $16,%edx
318 xorl 0x300(%ebp,%ecx,1),%edi
319 movb %dh,%cl
320 andl $0xff,%eax
321 andl $0xff,%edx
322 xorl 0x600(%ebp,%ebx,1),%edi
323 xorl 0x700(%ebp,%ecx,1),%edi
324 movl (%esp),%ecx
325 xorl 0x400(%ebp,%eax,1),%edi
326 xorl 0x500(%ebp,%edx,1),%edi
327
328 movl 88(%ecx),%eax
329 xorl %ebx,%ebx
330 movl 92(%ecx),%edx
331 xorl %edi,%eax
332 xorl %ecx,%ecx
333 xorl %edi,%edx
334 andl $0xfcfcfcfc,%eax
335 andl $0xcfcfcfcf,%edx
336 movb %al,%bl
337 movb %ah,%cl
338 rorl $4,%edx
339 xorl (%ebp,%ebx,1),%esi
340 movb %dl,%bl
341 xorl 0x200(%ebp,%ecx,1),%esi
342 movb %dh,%cl
343 shrl $16,%eax
344 xorl 0x100(%ebp,%ebx,1),%esi
345 movb %ah,%bl
346 shrl $16,%edx
347 xorl 0x300(%ebp,%ecx,1),%esi
348 movb %dh,%cl
349 andl $0xff,%eax
350 andl $0xff,%edx
351 xorl 0x600(%ebp,%ebx,1),%esi
352 xorl 0x700(%ebp,%ecx,1),%esi
353 movl (%esp),%ecx
354 xorl 0x400(%ebp,%eax,1),%esi
355 xorl 0x500(%ebp,%edx,1),%esi
356
357 movl 96(%ecx),%eax
358 xorl %ebx,%ebx
359 movl 100(%ecx),%edx
360 xorl %esi,%eax
361 xorl %ecx,%ecx
362 xorl %esi,%edx
363 andl $0xfcfcfcfc,%eax
364 andl $0xcfcfcfcf,%edx
365 movb %al,%bl
366 movb %ah,%cl
367 rorl $4,%edx
368 xorl (%ebp,%ebx,1),%edi
369 movb %dl,%bl
370 xorl 0x200(%ebp,%ecx,1),%edi
371 movb %dh,%cl
372 shrl $16,%eax
373 xorl 0x100(%ebp,%ebx,1),%edi
374 movb %ah,%bl
375 shrl $16,%edx
376 xorl 0x300(%ebp,%ecx,1),%edi
377 movb %dh,%cl
378 andl $0xff,%eax
379 andl $0xff,%edx
380 xorl 0x600(%ebp,%ebx,1),%edi
381 xorl 0x700(%ebp,%ecx,1),%edi
382 movl (%esp),%ecx
383 xorl 0x400(%ebp,%eax,1),%edi
384 xorl 0x500(%ebp,%edx,1),%edi
385
386 movl 104(%ecx),%eax
387 xorl %ebx,%ebx
388 movl 108(%ecx),%edx
389 xorl %edi,%eax
390 xorl %ecx,%ecx
391 xorl %edi,%edx
392 andl $0xfcfcfcfc,%eax
393 andl $0xcfcfcfcf,%edx
394 movb %al,%bl
395 movb %ah,%cl
396 rorl $4,%edx
397 xorl (%ebp,%ebx,1),%esi
398 movb %dl,%bl
399 xorl 0x200(%ebp,%ecx,1),%esi
400 movb %dh,%cl
401 shrl $16,%eax
402 xorl 0x100(%ebp,%ebx,1),%esi
403 movb %ah,%bl
404 shrl $16,%edx
405 xorl 0x300(%ebp,%ecx,1),%esi
406 movb %dh,%cl
407 andl $0xff,%eax
408 andl $0xff,%edx
409 xorl 0x600(%ebp,%ebx,1),%esi
410 xorl 0x700(%ebp,%ecx,1),%esi
411 movl (%esp),%ecx
412 xorl 0x400(%ebp,%eax,1),%esi
413 xorl 0x500(%ebp,%edx,1),%esi
414
415 movl 112(%ecx),%eax
416 xorl %ebx,%ebx
417 movl 116(%ecx),%edx
418 xorl %esi,%eax
419 xorl %ecx,%ecx
420 xorl %esi,%edx
421 andl $0xfcfcfcfc,%eax
422 andl $0xcfcfcfcf,%edx
423 movb %al,%bl
424 movb %ah,%cl
425 rorl $4,%edx
426 xorl (%ebp,%ebx,1),%edi
427 movb %dl,%bl
428 xorl 0x200(%ebp,%ecx,1),%edi
429 movb %dh,%cl
430 shrl $16,%eax
431 xorl 0x100(%ebp,%ebx,1),%edi
432 movb %ah,%bl
433 shrl $16,%edx
434 xorl 0x300(%ebp,%ecx,1),%edi
435 movb %dh,%cl
436 andl $0xff,%eax
437 andl $0xff,%edx
438 xorl 0x600(%ebp,%ebx,1),%edi
439 xorl 0x700(%ebp,%ecx,1),%edi
440 movl (%esp),%ecx
441 xorl 0x400(%ebp,%eax,1),%edi
442 xorl 0x500(%ebp,%edx,1),%edi
443
444 movl 120(%ecx),%eax
445 xorl %ebx,%ebx
446 movl 124(%ecx),%edx
447 xorl %edi,%eax
448 xorl %ecx,%ecx
449 xorl %edi,%edx
450 andl $0xfcfcfcfc,%eax
451 andl $0xcfcfcfcf,%edx
452 movb %al,%bl
453 movb %ah,%cl
454 rorl $4,%edx
455 xorl (%ebp,%ebx,1),%esi
456 movb %dl,%bl
457 xorl 0x200(%ebp,%ecx,1),%esi
458 movb %dh,%cl
459 shrl $16,%eax
460 xorl 0x100(%ebp,%ebx,1),%esi
461 movb %ah,%bl
462 shrl $16,%edx
463 xorl 0x300(%ebp,%ecx,1),%esi
464 movb %dh,%cl
465 andl $0xff,%eax
466 andl $0xff,%edx
467 xorl 0x600(%ebp,%ebx,1),%esi
468 xorl 0x700(%ebp,%ecx,1),%esi
469 movl (%esp),%ecx
470 xorl 0x400(%ebp,%eax,1),%esi
471 xorl 0x500(%ebp,%edx,1),%esi
472 addl $4,%esp
473 ret
474 .size _x86_DES_encrypt,.-_x86_DES_encrypt
475 .type _x86_DES_decrypt,@function
476 .align 16
477 _x86_DES_decrypt:
478 pushl %ecx
479
480 movl 120(%ecx),%eax
481 xorl %ebx,%ebx
482 movl 124(%ecx),%edx
483 xorl %esi,%eax
484 xorl %ecx,%ecx
485 xorl %esi,%edx
486 andl $0xfcfcfcfc,%eax
487 andl $0xcfcfcfcf,%edx
488 movb %al,%bl
489 movb %ah,%cl
490 rorl $4,%edx
491 xorl (%ebp,%ebx,1),%edi
492 movb %dl,%bl
493 xorl 0x200(%ebp,%ecx,1),%edi
494 movb %dh,%cl
495 shrl $16,%eax
496 xorl 0x100(%ebp,%ebx,1),%edi
497 movb %ah,%bl
498 shrl $16,%edx
499 xorl 0x300(%ebp,%ecx,1),%edi
500 movb %dh,%cl
501 andl $0xff,%eax
502 andl $0xff,%edx
503 xorl 0x600(%ebp,%ebx,1),%edi
504 xorl 0x700(%ebp,%ecx,1),%edi
505 movl (%esp),%ecx
506 xorl 0x400(%ebp,%eax,1),%edi
507 xorl 0x500(%ebp,%edx,1),%edi
508
509 movl 112(%ecx),%eax
510 xorl %ebx,%ebx
511 movl 116(%ecx),%edx
512 xorl %edi,%eax
513 xorl %ecx,%ecx
514 xorl %edi,%edx
515 andl $0xfcfcfcfc,%eax
516 andl $0xcfcfcfcf,%edx
517 movb %al,%bl
518 movb %ah,%cl
519 rorl $4,%edx
520 xorl (%ebp,%ebx,1),%esi
521 movb %dl,%bl
522 xorl 0x200(%ebp,%ecx,1),%esi
523 movb %dh,%cl
524 shrl $16,%eax
525 xorl 0x100(%ebp,%ebx,1),%esi
526 movb %ah,%bl
527 shrl $16,%edx
528 xorl 0x300(%ebp,%ecx,1),%esi
529 movb %dh,%cl
530 andl $0xff,%eax
531 andl $0xff,%edx
532 xorl 0x600(%ebp,%ebx,1),%esi
533 xorl 0x700(%ebp,%ecx,1),%esi
534 movl (%esp),%ecx
535 xorl 0x400(%ebp,%eax,1),%esi
536 xorl 0x500(%ebp,%edx,1),%esi
537
538 movl 104(%ecx),%eax
539 xorl %ebx,%ebx
540 movl 108(%ecx),%edx
541 xorl %esi,%eax
542 xorl %ecx,%ecx
543 xorl %esi,%edx
544 andl $0xfcfcfcfc,%eax
545 andl $0xcfcfcfcf,%edx
546 movb %al,%bl
547 movb %ah,%cl
548 rorl $4,%edx
549 xorl (%ebp,%ebx,1),%edi
550 movb %dl,%bl
551 xorl 0x200(%ebp,%ecx,1),%edi
552 movb %dh,%cl
553 shrl $16,%eax
554 xorl 0x100(%ebp,%ebx,1),%edi
555 movb %ah,%bl
556 shrl $16,%edx
557 xorl 0x300(%ebp,%ecx,1),%edi
558 movb %dh,%cl
559 andl $0xff,%eax
560 andl $0xff,%edx
561 xorl 0x600(%ebp,%ebx,1),%edi
562 xorl 0x700(%ebp,%ecx,1),%edi
563 movl (%esp),%ecx
564 xorl 0x400(%ebp,%eax,1),%edi
565 xorl 0x500(%ebp,%edx,1),%edi
566
567 movl 96(%ecx),%eax
568 xorl %ebx,%ebx
569 movl 100(%ecx),%edx
570 xorl %edi,%eax
571 xorl %ecx,%ecx
572 xorl %edi,%edx
573 andl $0xfcfcfcfc,%eax
574 andl $0xcfcfcfcf,%edx
575 movb %al,%bl
576 movb %ah,%cl
577 rorl $4,%edx
578 xorl (%ebp,%ebx,1),%esi
579 movb %dl,%bl
580 xorl 0x200(%ebp,%ecx,1),%esi
581 movb %dh,%cl
582 shrl $16,%eax
583 xorl 0x100(%ebp,%ebx,1),%esi
584 movb %ah,%bl
585 shrl $16,%edx
586 xorl 0x300(%ebp,%ecx,1),%esi
587 movb %dh,%cl
588 andl $0xff,%eax
589 andl $0xff,%edx
590 xorl 0x600(%ebp,%ebx,1),%esi
591 xorl 0x700(%ebp,%ecx,1),%esi
592 movl (%esp),%ecx
593 xorl 0x400(%ebp,%eax,1),%esi
594 xorl 0x500(%ebp,%edx,1),%esi
595
596 movl 88(%ecx),%eax
597 xorl %ebx,%ebx
598 movl 92(%ecx),%edx
599 xorl %esi,%eax
600 xorl %ecx,%ecx
601 xorl %esi,%edx
602 andl $0xfcfcfcfc,%eax
603 andl $0xcfcfcfcf,%edx
604 movb %al,%bl
605 movb %ah,%cl
606 rorl $4,%edx
607 xorl (%ebp,%ebx,1),%edi
608 movb %dl,%bl
609 xorl 0x200(%ebp,%ecx,1),%edi
610 movb %dh,%cl
611 shrl $16,%eax
612 xorl 0x100(%ebp,%ebx,1),%edi
613 movb %ah,%bl
614 shrl $16,%edx
615 xorl 0x300(%ebp,%ecx,1),%edi
616 movb %dh,%cl
617 andl $0xff,%eax
618 andl $0xff,%edx
619 xorl 0x600(%ebp,%ebx,1),%edi
620 xorl 0x700(%ebp,%ecx,1),%edi
621 movl (%esp),%ecx
622 xorl 0x400(%ebp,%eax,1),%edi
623 xorl 0x500(%ebp,%edx,1),%edi
624
625 movl 80(%ecx),%eax
626 xorl %ebx,%ebx
627 movl 84(%ecx),%edx
628 xorl %edi,%eax
629 xorl %ecx,%ecx
630 xorl %edi,%edx
631 andl $0xfcfcfcfc,%eax
632 andl $0xcfcfcfcf,%edx
633 movb %al,%bl
634 movb %ah,%cl
635 rorl $4,%edx
636 xorl (%ebp,%ebx,1),%esi
637 movb %dl,%bl
638 xorl 0x200(%ebp,%ecx,1),%esi
639 movb %dh,%cl
640 shrl $16,%eax
641 xorl 0x100(%ebp,%ebx,1),%esi
642 movb %ah,%bl
643 shrl $16,%edx
644 xorl 0x300(%ebp,%ecx,1),%esi
645 movb %dh,%cl
646 andl $0xff,%eax
647 andl $0xff,%edx
648 xorl 0x600(%ebp,%ebx,1),%esi
649 xorl 0x700(%ebp,%ecx,1),%esi
650 movl (%esp),%ecx
651 xorl 0x400(%ebp,%eax,1),%esi
652 xorl 0x500(%ebp,%edx,1),%esi
653
654 movl 72(%ecx),%eax
655 xorl %ebx,%ebx
656 movl 76(%ecx),%edx
657 xorl %esi,%eax
658 xorl %ecx,%ecx
659 xorl %esi,%edx
660 andl $0xfcfcfcfc,%eax
661 andl $0xcfcfcfcf,%edx
662 movb %al,%bl
663 movb %ah,%cl
664 rorl $4,%edx
665 xorl (%ebp,%ebx,1),%edi
666 movb %dl,%bl
667 xorl 0x200(%ebp,%ecx,1),%edi
668 movb %dh,%cl
669 shrl $16,%eax
670 xorl 0x100(%ebp,%ebx,1),%edi
671 movb %ah,%bl
672 shrl $16,%edx
673 xorl 0x300(%ebp,%ecx,1),%edi
674 movb %dh,%cl
675 andl $0xff,%eax
676 andl $0xff,%edx
677 xorl 0x600(%ebp,%ebx,1),%edi
678 xorl 0x700(%ebp,%ecx,1),%edi
679 movl (%esp),%ecx
680 xorl 0x400(%ebp,%eax,1),%edi
681 xorl 0x500(%ebp,%edx,1),%edi
682
683 movl 64(%ecx),%eax
684 xorl %ebx,%ebx
685 movl 68(%ecx),%edx
686 xorl %edi,%eax
687 xorl %ecx,%ecx
688 xorl %edi,%edx
689 andl $0xfcfcfcfc,%eax
690 andl $0xcfcfcfcf,%edx
691 movb %al,%bl
692 movb %ah,%cl
693 rorl $4,%edx
694 xorl (%ebp,%ebx,1),%esi
695 movb %dl,%bl
696 xorl 0x200(%ebp,%ecx,1),%esi
697 movb %dh,%cl
698 shrl $16,%eax
699 xorl 0x100(%ebp,%ebx,1),%esi
700 movb %ah,%bl
701 shrl $16,%edx
702 xorl 0x300(%ebp,%ecx,1),%esi
703 movb %dh,%cl
704 andl $0xff,%eax
705 andl $0xff,%edx
706 xorl 0x600(%ebp,%ebx,1),%esi
707 xorl 0x700(%ebp,%ecx,1),%esi
708 movl (%esp),%ecx
709 xorl 0x400(%ebp,%eax,1),%esi
710 xorl 0x500(%ebp,%edx,1),%esi
711
712 movl 56(%ecx),%eax
713 xorl %ebx,%ebx
714 movl 60(%ecx),%edx
715 xorl %esi,%eax
716 xorl %ecx,%ecx
717 xorl %esi,%edx
718 andl $0xfcfcfcfc,%eax
719 andl $0xcfcfcfcf,%edx
720 movb %al,%bl
721 movb %ah,%cl
722 rorl $4,%edx
723 xorl (%ebp,%ebx,1),%edi
724 movb %dl,%bl
725 xorl 0x200(%ebp,%ecx,1),%edi
726 movb %dh,%cl
727 shrl $16,%eax
728 xorl 0x100(%ebp,%ebx,1),%edi
729 movb %ah,%bl
730 shrl $16,%edx
731 xorl 0x300(%ebp,%ecx,1),%edi
732 movb %dh,%cl
733 andl $0xff,%eax
734 andl $0xff,%edx
735 xorl 0x600(%ebp,%ebx,1),%edi
736 xorl 0x700(%ebp,%ecx,1),%edi
737 movl (%esp),%ecx
738 xorl 0x400(%ebp,%eax,1),%edi
739 xorl 0x500(%ebp,%edx,1),%edi
740
741 movl 48(%ecx),%eax
742 xorl %ebx,%ebx
743 movl 52(%ecx),%edx
744 xorl %edi,%eax
745 xorl %ecx,%ecx
746 xorl %edi,%edx
747 andl $0xfcfcfcfc,%eax
748 andl $0xcfcfcfcf,%edx
749 movb %al,%bl
750 movb %ah,%cl
751 rorl $4,%edx
752 xorl (%ebp,%ebx,1),%esi
753 movb %dl,%bl
754 xorl 0x200(%ebp,%ecx,1),%esi
755 movb %dh,%cl
756 shrl $16,%eax
757 xorl 0x100(%ebp,%ebx,1),%esi
758 movb %ah,%bl
759 shrl $16,%edx
760 xorl 0x300(%ebp,%ecx,1),%esi
761 movb %dh,%cl
762 andl $0xff,%eax
763 andl $0xff,%edx
764 xorl 0x600(%ebp,%ebx,1),%esi
765 xorl 0x700(%ebp,%ecx,1),%esi
766 movl (%esp),%ecx
767 xorl 0x400(%ebp,%eax,1),%esi
768 xorl 0x500(%ebp,%edx,1),%esi
769
770 movl 40(%ecx),%eax
771 xorl %ebx,%ebx
772 movl 44(%ecx),%edx
773 xorl %esi,%eax
774 xorl %ecx,%ecx
775 xorl %esi,%edx
776 andl $0xfcfcfcfc,%eax
777 andl $0xcfcfcfcf,%edx
778 movb %al,%bl
779 movb %ah,%cl
780 rorl $4,%edx
781 xorl (%ebp,%ebx,1),%edi
782 movb %dl,%bl
783 xorl 0x200(%ebp,%ecx,1),%edi
784 movb %dh,%cl
785 shrl $16,%eax
786 xorl 0x100(%ebp,%ebx,1),%edi
787 movb %ah,%bl
788 shrl $16,%edx
789 xorl 0x300(%ebp,%ecx,1),%edi
790 movb %dh,%cl
791 andl $0xff,%eax
792 andl $0xff,%edx
793 xorl 0x600(%ebp,%ebx,1),%edi
794 xorl 0x700(%ebp,%ecx,1),%edi
795 movl (%esp),%ecx
796 xorl 0x400(%ebp,%eax,1),%edi
797 xorl 0x500(%ebp,%edx,1),%edi
798
799 movl 32(%ecx),%eax
800 xorl %ebx,%ebx
801 movl 36(%ecx),%edx
802 xorl %edi,%eax
803 xorl %ecx,%ecx
804 xorl %edi,%edx
805 andl $0xfcfcfcfc,%eax
806 andl $0xcfcfcfcf,%edx
807 movb %al,%bl
808 movb %ah,%cl
809 rorl $4,%edx
810 xorl (%ebp,%ebx,1),%esi
811 movb %dl,%bl
812 xorl 0x200(%ebp,%ecx,1),%esi
813 movb %dh,%cl
814 shrl $16,%eax
815 xorl 0x100(%ebp,%ebx,1),%esi
816 movb %ah,%bl
817 shrl $16,%edx
818 xorl 0x300(%ebp,%ecx,1),%esi
819 movb %dh,%cl
820 andl $0xff,%eax
821 andl $0xff,%edx
822 xorl 0x600(%ebp,%ebx,1),%esi
823 xorl 0x700(%ebp,%ecx,1),%esi
824 movl (%esp),%ecx
825 xorl 0x400(%ebp,%eax,1),%esi
826 xorl 0x500(%ebp,%edx,1),%esi
827
828 movl 24(%ecx),%eax
829 xorl %ebx,%ebx
830 movl 28(%ecx),%edx
831 xorl %esi,%eax
832 xorl %ecx,%ecx
833 xorl %esi,%edx
834 andl $0xfcfcfcfc,%eax
835 andl $0xcfcfcfcf,%edx
836 movb %al,%bl
837 movb %ah,%cl
838 rorl $4,%edx
839 xorl (%ebp,%ebx,1),%edi
840 movb %dl,%bl
841 xorl 0x200(%ebp,%ecx,1),%edi
842 movb %dh,%cl
843 shrl $16,%eax
844 xorl 0x100(%ebp,%ebx,1),%edi
845 movb %ah,%bl
846 shrl $16,%edx
847 xorl 0x300(%ebp,%ecx,1),%edi
848 movb %dh,%cl
849 andl $0xff,%eax
850 andl $0xff,%edx
851 xorl 0x600(%ebp,%ebx,1),%edi
852 xorl 0x700(%ebp,%ecx,1),%edi
853 movl (%esp),%ecx
854 xorl 0x400(%ebp,%eax,1),%edi
855 xorl 0x500(%ebp,%edx,1),%edi
856
857 movl 16(%ecx),%eax
858 xorl %ebx,%ebx
859 movl 20(%ecx),%edx
860 xorl %edi,%eax
861 xorl %ecx,%ecx
862 xorl %edi,%edx
863 andl $0xfcfcfcfc,%eax
864 andl $0xcfcfcfcf,%edx
865 movb %al,%bl
866 movb %ah,%cl
867 rorl $4,%edx
868 xorl (%ebp,%ebx,1),%esi
869 movb %dl,%bl
870 xorl 0x200(%ebp,%ecx,1),%esi
871 movb %dh,%cl
872 shrl $16,%eax
873 xorl 0x100(%ebp,%ebx,1),%esi
874 movb %ah,%bl
875 shrl $16,%edx
876 xorl 0x300(%ebp,%ecx,1),%esi
877 movb %dh,%cl
878 andl $0xff,%eax
879 andl $0xff,%edx
880 xorl 0x600(%ebp,%ebx,1),%esi
881 xorl 0x700(%ebp,%ecx,1),%esi
882 movl (%esp),%ecx
883 xorl 0x400(%ebp,%eax,1),%esi
884 xorl 0x500(%ebp,%edx,1),%esi
885
886 movl 8(%ecx),%eax
887 xorl %ebx,%ebx
888 movl 12(%ecx),%edx
889 xorl %esi,%eax
890 xorl %ecx,%ecx
891 xorl %esi,%edx
892 andl $0xfcfcfcfc,%eax
893 andl $0xcfcfcfcf,%edx
894 movb %al,%bl
895 movb %ah,%cl
896 rorl $4,%edx
897 xorl (%ebp,%ebx,1),%edi
898 movb %dl,%bl
899 xorl 0x200(%ebp,%ecx,1),%edi
900 movb %dh,%cl
901 shrl $16,%eax
902 xorl 0x100(%ebp,%ebx,1),%edi
903 movb %ah,%bl
904 shrl $16,%edx
905 xorl 0x300(%ebp,%ecx,1),%edi
906 movb %dh,%cl
907 andl $0xff,%eax
908 andl $0xff,%edx
909 xorl 0x600(%ebp,%ebx,1),%edi
910 xorl 0x700(%ebp,%ecx,1),%edi
911 movl (%esp),%ecx
912 xorl 0x400(%ebp,%eax,1),%edi
913 xorl 0x500(%ebp,%edx,1),%edi
914
915 movl (%ecx),%eax
916 xorl %ebx,%ebx
917 movl 4(%ecx),%edx
918 xorl %edi,%eax
919 xorl %ecx,%ecx
920 xorl %edi,%edx
921 andl $0xfcfcfcfc,%eax
922 andl $0xcfcfcfcf,%edx
923 movb %al,%bl
924 movb %ah,%cl
925 rorl $4,%edx
926 xorl (%ebp,%ebx,1),%esi
927 movb %dl,%bl
928 xorl 0x200(%ebp,%ecx,1),%esi
929 movb %dh,%cl
930 shrl $16,%eax
931 xorl 0x100(%ebp,%ebx,1),%esi
932 movb %ah,%bl
933 shrl $16,%edx
934 xorl 0x300(%ebp,%ecx,1),%esi
935 movb %dh,%cl
936 andl $0xff,%eax
937 andl $0xff,%edx
938 xorl 0x600(%ebp,%ebx,1),%esi
939 xorl 0x700(%ebp,%ecx,1),%esi
940 movl (%esp),%ecx
941 xorl 0x400(%ebp,%eax,1),%esi
942 xorl 0x500(%ebp,%edx,1),%esi
943 addl $4,%esp
944 ret
945 .size _x86_DES_decrypt,.-_x86_DES_decrypt
946 .globl DES_encrypt1
947 .type DES_encrypt1,@function
948 .align 16
949 DES_encrypt1:
950 .L_DES_encrypt1_begin:
951 pushl %esi
952 pushl %edi
953
954
955 movl 12(%esp),%esi
956 xorl %ecx,%ecx
957 pushl %ebx
958 pushl %ebp
959 movl (%esi),%eax
960 movl 28(%esp),%ebx
961 movl 4(%esi),%edi
962
963
964 roll $4,%eax
965 movl %eax,%esi
966 xorl %edi,%eax
967 andl $0xf0f0f0f0,%eax
968 xorl %eax,%esi
969 xorl %eax,%edi
970
971 roll $20,%edi
972 movl %edi,%eax
973 xorl %esi,%edi
974 andl $0xfff0000f,%edi
975 xorl %edi,%eax
976 xorl %edi,%esi
977
978 roll $14,%eax
979 movl %eax,%edi
980 xorl %esi,%eax
981 andl $0x33333333,%eax
982 xorl %eax,%edi
983 xorl %eax,%esi
984
985 roll $22,%esi
986 movl %esi,%eax
987 xorl %edi,%esi
988 andl $0x03fc03fc,%esi
989 xorl %esi,%eax
990 xorl %esi,%edi
991
992 roll $9,%eax
993 movl %eax,%esi
994 xorl %edi,%eax
995 andl $0xaaaaaaaa,%eax
996 xorl %eax,%esi
997 xorl %eax,%edi
998
999 roll $1,%edi
1000 call .L000pic_point
1001 .L000pic_point:
1002 popl %ebp
1003 leal DES_SPtrans-.L000pic_point(%ebp),%ebp
1004 movl 24(%esp),%ecx
1005 cmpl $0,%ebx
1006 je .L001decrypt
1007 call _x86_DES_encrypt
1008 jmp .L002done
1009 .L001decrypt:
1010 call _x86_DES_decrypt
1011 .L002done:
1012
1013
1014 movl 20(%esp),%edx
1015 rorl $1,%esi
1016 movl %edi,%eax
1017 xorl %esi,%edi
1018 andl $0xaaaaaaaa,%edi
1019 xorl %edi,%eax
1020 xorl %edi,%esi
1021
1022 roll $23,%eax
1023 movl %eax,%edi
1024 xorl %esi,%eax
1025 andl $0x03fc03fc,%eax
1026 xorl %eax,%edi
1027 xorl %eax,%esi
1028
1029 roll $10,%edi
1030 movl %edi,%eax
1031 xorl %esi,%edi
1032 andl $0x33333333,%edi
1033 xorl %edi,%eax
1034 xorl %edi,%esi
1035
1036 roll $18,%esi
1037 movl %esi,%edi
1038 xorl %eax,%esi
1039 andl $0xfff0000f,%esi
1040 xorl %esi,%edi
1041 xorl %esi,%eax
1042
1043 roll $12,%edi
1044 movl %edi,%esi
1045 xorl %eax,%edi
1046 andl $0xf0f0f0f0,%edi
1047 xorl %edi,%esi
1048 xorl %edi,%eax
1049
1050 rorl $4,%eax
1051 movl %eax,(%edx)
1052 movl %esi,4(%edx)
1053 popl %ebp
1054 popl %ebx
1055 popl %edi
1056 popl %esi
1057 ret
1058 .size DES_encrypt1,.-.L_DES_encrypt1_begin
1059 .globl DES_encrypt2
1060 .type DES_encrypt2,@function
1061 .align 16
1062 DES_encrypt2:
1063 .L_DES_encrypt2_begin:
1064 pushl %esi
1065 pushl %edi
1066
1067
1068 movl 12(%esp),%eax
1069 xorl %ecx,%ecx
1070 pushl %ebx
1071 pushl %ebp
1072 movl (%eax),%esi
1073 movl 28(%esp),%ebx
1074 roll $3,%esi
1075 movl 4(%eax),%edi
1076 roll $3,%edi
1077 call .L003pic_point
1078 .L003pic_point:
1079 popl %ebp
1080 leal DES_SPtrans-.L003pic_point(%ebp),%ebp
1081 movl 24(%esp),%ecx
1082 cmpl $0,%ebx
1083 je .L004decrypt
1084 call _x86_DES_encrypt
1085 jmp .L005done
1086 .L004decrypt:
1087 call _x86_DES_decrypt
1088 .L005done:
1089
1090
1091 rorl $3,%edi
1092 movl 20(%esp),%eax
1093 rorl $3,%esi
1094 movl %edi,(%eax)
1095 movl %esi,4(%eax)
1096 popl %ebp
1097 popl %ebx
1098 popl %edi
1099 popl %esi
1100 ret
1101 .size DES_encrypt2,.-.L_DES_encrypt2_begin
1102 .globl DES_encrypt3
1103 .type DES_encrypt3,@function
1104 .align 16
1105 DES_encrypt3:
1106 .L_DES_encrypt3_begin:
1107 pushl %ebx
1108 movl 8(%esp),%ebx
1109 pushl %ebp
1110 pushl %esi
1111 pushl %edi
1112
1113
1114 movl (%ebx),%edi
1115 movl 4(%ebx),%esi
1116 subl $12,%esp
1117
1118
1119 roll $4,%edi
1120 movl %edi,%edx
1121 xorl %esi,%edi
1122 andl $0xf0f0f0f0,%edi
1123 xorl %edi,%edx
1124 xorl %edi,%esi
1125
1126 roll $20,%esi
1127 movl %esi,%edi
1128 xorl %edx,%esi
1129 andl $0xfff0000f,%esi
1130 xorl %esi,%edi
1131 xorl %esi,%edx
1132
1133 roll $14,%edi
1134 movl %edi,%esi
1135 xorl %edx,%edi
1136 andl $0x33333333,%edi
1137 xorl %edi,%esi
1138 xorl %edi,%edx
1139
1140 roll $22,%edx
1141 movl %edx,%edi
1142 xorl %esi,%edx
1143 andl $0x03fc03fc,%edx
1144 xorl %edx,%edi
1145 xorl %edx,%esi
1146
1147 roll $9,%edi
1148 movl %edi,%edx
1149 xorl %esi,%edi
1150 andl $0xaaaaaaaa,%edi
1151 xorl %edi,%edx
1152 xorl %edi,%esi
1153
1154 rorl $3,%edx
1155 rorl $2,%esi
1156 movl %esi,4(%ebx)
1157 movl 36(%esp),%eax
1158 movl %edx,(%ebx)
1159 movl 40(%esp),%edi
1160 movl 44(%esp),%esi
1161 movl $1,8(%esp)
1162 movl %eax,4(%esp)
1163 movl %ebx,(%esp)
1164 call .L_DES_encrypt2_begin
1165 movl $0,8(%esp)
1166 movl %edi,4(%esp)
1167 movl %ebx,(%esp)
1168 call .L_DES_encrypt2_begin
1169 movl $1,8(%esp)
1170 movl %esi,4(%esp)
1171 movl %ebx,(%esp)
1172 call .L_DES_encrypt2_begin
1173 addl $12,%esp
1174 movl (%ebx),%edi
1175 movl 4(%ebx),%esi
1176
1177
1178 roll $2,%esi
1179 roll $3,%edi
1180 movl %edi,%eax
1181 xorl %esi,%edi
1182 andl $0xaaaaaaaa,%edi
1183 xorl %edi,%eax
1184 xorl %edi,%esi
1185
1186 roll $23,%eax
1187 movl %eax,%edi
1188 xorl %esi,%eax
1189 andl $0x03fc03fc,%eax
1190 xorl %eax,%edi
1191 xorl %eax,%esi
1192
1193 roll $10,%edi
1194 movl %edi,%eax
1195 xorl %esi,%edi
1196 andl $0x33333333,%edi
1197 xorl %edi,%eax
1198 xorl %edi,%esi
1199
1200 roll $18,%esi
1201 movl %esi,%edi
1202 xorl %eax,%esi
1203 andl $0xfff0000f,%esi
1204 xorl %esi,%edi
1205 xorl %esi,%eax
1206
1207 roll $12,%edi
1208 movl %edi,%esi
1209 xorl %eax,%edi
1210 andl $0xf0f0f0f0,%edi
1211 xorl %edi,%esi
1212 xorl %edi,%eax
1213
1214 rorl $4,%eax
1215 movl %eax,(%ebx)
1216 movl %esi,4(%ebx)
1217 popl %edi
1218 popl %esi
1219 popl %ebp
1220 popl %ebx
1221 ret
1222 .size DES_encrypt3,.-.L_DES_encrypt3_begin
1223 .globl DES_decrypt3
1224 .type DES_decrypt3,@function
1225 .align 16
1226 DES_decrypt3:
1227 .L_DES_decrypt3_begin:
1228 pushl %ebx
1229 movl 8(%esp),%ebx
1230 pushl %ebp
1231 pushl %esi
1232 pushl %edi
1233
1234
1235 movl (%ebx),%edi
1236 movl 4(%ebx),%esi
1237 subl $12,%esp
1238
1239
1240 roll $4,%edi
1241 movl %edi,%edx
1242 xorl %esi,%edi
1243 andl $0xf0f0f0f0,%edi
1244 xorl %edi,%edx
1245 xorl %edi,%esi
1246
1247 roll $20,%esi
1248 movl %esi,%edi
1249 xorl %edx,%esi
1250 andl $0xfff0000f,%esi
1251 xorl %esi,%edi
1252 xorl %esi,%edx
1253
1254 roll $14,%edi
1255 movl %edi,%esi
1256 xorl %edx,%edi
1257 andl $0x33333333,%edi
1258 xorl %edi,%esi
1259 xorl %edi,%edx
1260
1261 roll $22,%edx
1262 movl %edx,%edi
1263 xorl %esi,%edx
1264 andl $0x03fc03fc,%edx
1265 xorl %edx,%edi
1266 xorl %edx,%esi
1267
1268 roll $9,%edi
1269 movl %edi,%edx
1270 xorl %esi,%edi
1271 andl $0xaaaaaaaa,%edi
1272 xorl %edi,%edx
1273 xorl %edi,%esi
1274
1275 rorl $3,%edx
1276 rorl $2,%esi
1277 movl %esi,4(%ebx)
1278 movl 36(%esp),%esi
1279 movl %edx,(%ebx)
1280 movl 40(%esp),%edi
1281 movl 44(%esp),%eax
1282 movl $0,8(%esp)
1283 movl %eax,4(%esp)
1284 movl %ebx,(%esp)
1285 call .L_DES_encrypt2_begin
1286 movl $1,8(%esp)
1287 movl %edi,4(%esp)
1288 movl %ebx,(%esp)
1289 call .L_DES_encrypt2_begin
1290 movl $0,8(%esp)
1291 movl %esi,4(%esp)
1292 movl %ebx,(%esp)
1293 call .L_DES_encrypt2_begin
1294 addl $12,%esp
1295 movl (%ebx),%edi
1296 movl 4(%ebx),%esi
1297
1298
1299 roll $2,%esi
1300 roll $3,%edi
1301 movl %edi,%eax
1302 xorl %esi,%edi
1303 andl $0xaaaaaaaa,%edi
1304 xorl %edi,%eax
1305 xorl %edi,%esi
1306
1307 roll $23,%eax
1308 movl %eax,%edi
1309 xorl %esi,%eax
1310 andl $0x03fc03fc,%eax
1311 xorl %eax,%edi
1312 xorl %eax,%esi
1313
1314 roll $10,%edi
1315 movl %edi,%eax
1316 xorl %esi,%edi
1317 andl $0x33333333,%edi
1318 xorl %edi,%eax
1319 xorl %edi,%esi
1320
1321 roll $18,%esi
1322 movl %esi,%edi
1323 xorl %eax,%esi
1324 andl $0xfff0000f,%esi
1325 xorl %esi,%edi
1326 xorl %esi,%eax
1327
1328 roll $12,%edi
1329 movl %edi,%esi
1330 xorl %eax,%edi
1331 andl $0xf0f0f0f0,%edi
1332 xorl %edi,%esi
1333 xorl %edi,%eax
1334
1335 rorl $4,%eax
1336 movl %eax,(%ebx)
1337 movl %esi,4(%ebx)
1338 popl %edi
1339 popl %esi
1340 popl %ebp
1341 popl %ebx
1342 ret
1343 .size DES_decrypt3,.-.L_DES_decrypt3_begin
1344 .globl DES_ncbc_encrypt
1345 .type DES_ncbc_encrypt,@function
1346 .align 16
1347 DES_ncbc_encrypt:
1348 .L_DES_ncbc_encrypt_begin:
1349
1350 pushl %ebp
1351 pushl %ebx
1352 pushl %esi
1353 pushl %edi
1354 movl 28(%esp),%ebp
1355
1356 movl 36(%esp),%ebx
1357 movl (%ebx),%esi
1358 movl 4(%ebx),%edi
1359 pushl %edi
1360 pushl %esi
1361 pushl %edi
1362 pushl %esi
1363 movl %esp,%ebx
1364 movl 36(%esp),%esi
1365 movl 40(%esp),%edi
1366
1367 movl 56(%esp),%ecx
1368
1369 pushl %ecx
1370
1371 movl 52(%esp),%eax
1372 pushl %eax
1373 pushl %ebx
1374 cmpl $0,%ecx
1375 jz .L006decrypt
1376 andl $4294967288,%ebp
1377 movl 12(%esp),%eax
1378 movl 16(%esp),%ebx
1379 jz .L007encrypt_finish
1380 .L008encrypt_loop:
1381 movl (%esi),%ecx
1382 movl 4(%esi),%edx
1383 xorl %ecx,%eax
1384 xorl %edx,%ebx
1385 movl %eax,12(%esp)
1386 movl %ebx,16(%esp)
1387 call .L_DES_encrypt1_begin
1388 movl 12(%esp),%eax
1389 movl 16(%esp),%ebx
1390 movl %eax,(%edi)
1391 movl %ebx,4(%edi)
1392 addl $8,%esi
1393 addl $8,%edi
1394 subl $8,%ebp
1395 jnz .L008encrypt_loop
1396 .L007encrypt_finish:
1397 movl 56(%esp),%ebp
1398 andl $7,%ebp
1399 jz .L009finish
1400 call .L010PIC_point
1401 .L010PIC_point:
1402 popl %edx
1403 leal .L011cbc_enc_jmp_table-.L010PIC_point(%edx),%ecx
1404 movl (%ecx,%ebp,4),%ebp
1405 addl %edx,%ebp
1406 xorl %ecx,%ecx
1407 xorl %edx,%edx
1408 jmp *%ebp
1409 .L012ej7:
1410 movb 6(%esi),%dh
1411 shll $8,%edx
1412 .L013ej6:
1413 movb 5(%esi),%dh
1414 .L014ej5:
1415 movb 4(%esi),%dl
1416 .L015ej4:
1417 movl (%esi),%ecx
1418 jmp .L016ejend
1419 .L017ej3:
1420 movb 2(%esi),%ch
1421 shll $8,%ecx
1422 .L018ej2:
1423 movb 1(%esi),%ch
1424 .L019ej1:
1425 movb (%esi),%cl
1426 .L016ejend:
1427 xorl %ecx,%eax
1428 xorl %edx,%ebx
1429 movl %eax,12(%esp)
1430 movl %ebx,16(%esp)
1431 call .L_DES_encrypt1_begin
1432 movl 12(%esp),%eax
1433 movl 16(%esp),%ebx
1434 movl %eax,(%edi)
1435 movl %ebx,4(%edi)
1436 jmp .L009finish
1437 .L006decrypt:
1438 andl $4294967288,%ebp
1439 movl 20(%esp),%eax
1440 movl 24(%esp),%ebx
1441 jz .L020decrypt_finish
1442 .L021decrypt_loop:
1443 movl (%esi),%eax
1444 movl 4(%esi),%ebx
1445 movl %eax,12(%esp)
1446 movl %ebx,16(%esp)
1447 call .L_DES_encrypt1_begin
1448 movl 12(%esp),%eax
1449 movl 16(%esp),%ebx
1450 movl 20(%esp),%ecx
1451 movl 24(%esp),%edx
1452 xorl %eax,%ecx
1453 xorl %ebx,%edx
1454 movl (%esi),%eax
1455 movl 4(%esi),%ebx
1456 movl %ecx,(%edi)
1457 movl %edx,4(%edi)
1458 movl %eax,20(%esp)
1459 movl %ebx,24(%esp)
1460 addl $8,%esi
1461 addl $8,%edi
1462 subl $8,%ebp
1463 jnz .L021decrypt_loop
1464 .L020decrypt_finish:
1465 movl 56(%esp),%ebp
1466 andl $7,%ebp
1467 jz .L009finish
1468 movl (%esi),%eax
1469 movl 4(%esi),%ebx
1470 movl %eax,12(%esp)
1471 movl %ebx,16(%esp)
1472 call .L_DES_encrypt1_begin
1473 movl 12(%esp),%eax
1474 movl 16(%esp),%ebx
1475 movl 20(%esp),%ecx
1476 movl 24(%esp),%edx
1477 xorl %eax,%ecx
1478 xorl %ebx,%edx
1479 movl (%esi),%eax
1480 movl 4(%esi),%ebx
1481 .L022dj7:
1482 rorl $16,%edx
1483 movb %dl,6(%edi)
1484 shrl $16,%edx
1485 .L023dj6:
1486 movb %dh,5(%edi)
1487 .L024dj5:
1488 movb %dl,4(%edi)
1489 .L025dj4:
1490 movl %ecx,(%edi)
1491 jmp .L026djend
1492 .L027dj3:
1493 rorl $16,%ecx
1494 movb %cl,2(%edi)
1495 shll $16,%ecx
1496 .L028dj2:
1497 movb %ch,1(%esi)
1498 .L029dj1:
1499 movb %cl,(%esi)
1500 .L026djend:
1501 jmp .L009finish
1502 .L009finish:
1503 movl 64(%esp),%ecx
1504 addl $28,%esp
1505 movl %eax,(%ecx)
1506 movl %ebx,4(%ecx)
1507 popl %edi
1508 popl %esi
1509 popl %ebx
1510 popl %ebp
1511 ret
1512 .align 64
1513 .L011cbc_enc_jmp_table:
1514 .long 0
1515 .long .L019ej1-.L010PIC_point
1516 .long .L018ej2-.L010PIC_point
1517 .long .L017ej3-.L010PIC_point
1518 .long .L015ej4-.L010PIC_point
1519 .long .L014ej5-.L010PIC_point
1520 .long .L013ej6-.L010PIC_point
1521 .long .L012ej7-.L010PIC_point
1522 .align 64
1523 .size DES_ncbc_encrypt,.-.L_DES_ncbc_encrypt_begin
1524 .globl DES_ede3_cbc_encrypt
1525 .type DES_ede3_cbc_encrypt,@function
1526 .align 16
1527 DES_ede3_cbc_encrypt:
1528 .L_DES_ede3_cbc_encrypt_begin:
1529
1530 pushl %ebp
1531 pushl %ebx
1532 pushl %esi
1533 pushl %edi
1534 movl 28(%esp),%ebp
1535
1536 movl 44(%esp),%ebx
1537 movl (%ebx),%esi
1538 movl 4(%ebx),%edi
1539 pushl %edi
1540 pushl %esi
1541 pushl %edi
1542 pushl %esi
1543 movl %esp,%ebx
1544 movl 36(%esp),%esi
1545 movl 40(%esp),%edi
1546
1547 movl 64(%esp),%ecx
1548
1549 movl 56(%esp),%eax
1550 pushl %eax
1551
1552 movl 56(%esp),%eax
1553 pushl %eax
1554
1555 movl 56(%esp),%eax
1556 pushl %eax
1557 pushl %ebx
1558 cmpl $0,%ecx
1559 jz .L030decrypt
1560 andl $4294967288,%ebp
1561 movl 16(%esp),%eax
1562 movl 20(%esp),%ebx
1563 jz .L031encrypt_finish
1564 .L032encrypt_loop:
1565 movl (%esi),%ecx
1566 movl 4(%esi),%edx
1567 xorl %ecx,%eax
1568 xorl %edx,%ebx
1569 movl %eax,16(%esp)
1570 movl %ebx,20(%esp)
1571 call .L_DES_encrypt3_begin
1572 movl 16(%esp),%eax
1573 movl 20(%esp),%ebx
1574 movl %eax,(%edi)
1575 movl %ebx,4(%edi)
1576 addl $8,%esi
1577 addl $8,%edi
1578 subl $8,%ebp
1579 jnz .L032encrypt_loop
1580 .L031encrypt_finish:
1581 movl 60(%esp),%ebp
1582 andl $7,%ebp
1583 jz .L033finish
1584 call .L034PIC_point
1585 .L034PIC_point:
1586 popl %edx
1587 leal .L035cbc_enc_jmp_table-.L034PIC_point(%edx),%ecx
1588 movl (%ecx,%ebp,4),%ebp
1589 addl %edx,%ebp
1590 xorl %ecx,%ecx
1591 xorl %edx,%edx
1592 jmp *%ebp
1593 .L036ej7:
1594 movb 6(%esi),%dh
1595 shll $8,%edx
1596 .L037ej6:
1597 movb 5(%esi),%dh
1598 .L038ej5:
1599 movb 4(%esi),%dl
1600 .L039ej4:
1601 movl (%esi),%ecx
1602 jmp .L040ejend
1603 .L041ej3:
1604 movb 2(%esi),%ch
1605 shll $8,%ecx
1606 .L042ej2:
1607 movb 1(%esi),%ch
1608 .L043ej1:
1609 movb (%esi),%cl
1610 .L040ejend:
1611 xorl %ecx,%eax
1612 xorl %edx,%ebx
1613 movl %eax,16(%esp)
1614 movl %ebx,20(%esp)
1615 call .L_DES_encrypt3_begin
1616 movl 16(%esp),%eax
1617 movl 20(%esp),%ebx
1618 movl %eax,(%edi)
1619 movl %ebx,4(%edi)
1620 jmp .L033finish
1621 .L030decrypt:
1622 andl $4294967288,%ebp
1623 movl 24(%esp),%eax
1624 movl 28(%esp),%ebx
1625 jz .L044decrypt_finish
1626 .L045decrypt_loop:
1627 movl (%esi),%eax
1628 movl 4(%esi),%ebx
1629 movl %eax,16(%esp)
1630 movl %ebx,20(%esp)
1631 call .L_DES_decrypt3_begin
1632 movl 16(%esp),%eax
1633 movl 20(%esp),%ebx
1634 movl 24(%esp),%ecx
1635 movl 28(%esp),%edx
1636 xorl %eax,%ecx
1637 xorl %ebx,%edx
1638 movl (%esi),%eax
1639 movl 4(%esi),%ebx
1640 movl %ecx,(%edi)
1641 movl %edx,4(%edi)
1642 movl %eax,24(%esp)
1643 movl %ebx,28(%esp)
1644 addl $8,%esi
1645 addl $8,%edi
1646 subl $8,%ebp
1647 jnz .L045decrypt_loop
1648 .L044decrypt_finish:
1649 movl 60(%esp),%ebp
1650 andl $7,%ebp
1651 jz .L033finish
1652 movl (%esi),%eax
1653 movl 4(%esi),%ebx
1654 movl %eax,16(%esp)
1655 movl %ebx,20(%esp)
1656 call .L_DES_decrypt3_begin
1657 movl 16(%esp),%eax
1658 movl 20(%esp),%ebx
1659 movl 24(%esp),%ecx
1660 movl 28(%esp),%edx
1661 xorl %eax,%ecx
1662 xorl %ebx,%edx
1663 movl (%esi),%eax
1664 movl 4(%esi),%ebx
1665 .L046dj7:
1666 rorl $16,%edx
1667 movb %dl,6(%edi)
1668 shrl $16,%edx
1669 .L047dj6:
1670 movb %dh,5(%edi)
1671 .L048dj5:
1672 movb %dl,4(%edi)
1673 .L049dj4:
1674 movl %ecx,(%edi)
1675 jmp .L050djend
1676 .L051dj3:
1677 rorl $16,%ecx
1678 movb %cl,2(%edi)
1679 shll $16,%ecx
1680 .L052dj2:
1681 movb %ch,1(%esi)
1682 .L053dj1:
1683 movb %cl,(%esi)
1684 .L050djend:
1685 jmp .L033finish
1686 .L033finish:
1687 movl 76(%esp),%ecx
1688 addl $32,%esp
1689 movl %eax,(%ecx)
1690 movl %ebx,4(%ecx)
1691 popl %edi
1692 popl %esi
1693 popl %ebx
1694 popl %ebp
1695 ret
1696 .align 64
1697 .L035cbc_enc_jmp_table:
1698 .long 0
1699 .long .L043ej1-.L034PIC_point
1700 .long .L042ej2-.L034PIC_point
1701 .long .L041ej3-.L034PIC_point
1702 .long .L039ej4-.L034PIC_point
1703 .long .L038ej5-.L034PIC_point
1704 .long .L037ej6-.L034PIC_point
1705 .long .L036ej7-.L034PIC_point
1706 .align 64
1707 .size DES_ede3_cbc_encrypt,.-.L_DES_ede3_cbc_encrypt_begin
1708 .align 64
1709 DES_SPtrans:
1710 .long 34080768,524288,33554434,34080770
1711 .long 33554432,526338,524290,33554434
1712 .long 526338,34080768,34078720,2050
1713 .long 33556482,33554432,0,524290
1714 .long 524288,2,33556480,526336
1715 .long 34080770,34078720,2050,33556480
1716 .long 2,2048,526336,34078722
1717 .long 2048,33556482,34078722,0
1718 .long 0,34080770,33556480,524290
1719 .long 34080768,524288,2050,33556480
1720 .long 34078722,2048,526336,33554434
1721 .long 526338,2,33554434,34078720
1722 .long 34080770,526336,34078720,33556482
1723 .long 33554432,2050,524290,0
1724 .long 524288,33554432,33556482,34080768
1725 .long 2,34078722,2048,526338
1726 .long 1074823184,0,1081344,1074790400
1727 .long 1073741840,32784,1073774592,1081344
1728 .long 32768,1074790416,16,1073774592
1729 .long 1048592,1074823168,1074790400,16
1730 .long 1048576,1073774608,1074790416,32768
1731 .long 1081360,1073741824,0,1048592
1732 .long 1073774608,1081360,1074823168,1073741840
1733 .long 1073741824,1048576,32784,1074823184
1734 .long 1048592,1074823168,1073774592,1081360
1735 .long 1074823184,1048592,1073741840,0
1736 .long 1073741824,32784,1048576,1074790416
1737 .long 32768,1073741824,1081360,1073774608
1738 .long 1074823168,32768,0,1073741840
1739 .long 16,1074823184,1081344,1074790400
1740 .long 1074790416,1048576,32784,1073774592
1741 .long 1073774608,16,1074790400,1081344
1742 .long 67108865,67371264,256,67109121
1743 .long 262145,67108864,67109121,262400
1744 .long 67109120,262144,67371008,1
1745 .long 67371265,257,1,67371009
1746 .long 0,262145,67371264,256
1747 .long 257,67371265,262144,67108865
1748 .long 67371009,67109120,262401,67371008
1749 .long 262400,0,67108864,262401
1750 .long 67371264,256,1,262144
1751 .long 257,262145,67371008,67109121
1752 .long 0,67371264,262400,67371009
1753 .long 262145,67108864,67371265,1
1754 .long 262401,67108865,67108864,67371265
1755 .long 262144,67109120,67109121,262400
1756 .long 67109120,0,67371009,257
1757 .long 67108865,262401,256,67371008
1758 .long 4198408,268439552,8,272633864
1759 .long 0,272629760,268439560,4194312
1760 .long 272633856,268435464,268435456,4104
1761 .long 268435464,4198408,4194304,268435456
1762 .long 272629768,4198400,4096,8
1763 .long 4198400,268439560,272629760,4096
1764 .long 4104,0,4194312,272633856
1765 .long 268439552,272629768,272633864,4194304
1766 .long 272629768,4104,4194304,268435464
1767 .long 4198400,268439552,8,272629760
1768 .long 268439560,0,4096,4194312
1769 .long 0,272629768,272633856,4096
1770 .long 268435456,272633864,4198408,4194304
1771 .long 272633864,8,268439552,4198408
1772 .long 4194312,4198400,272629760,268439560
1773 .long 4104,268435456,268435464,272633856
1774 .long 134217728,65536,1024,134284320
1775 .long 134283296,134218752,66592,134283264
1776 .long 65536,32,134217760,66560
1777 .long 134218784,134283296,134284288,0
1778 .long 66560,134217728,65568,1056
1779 .long 134218752,66592,0,134217760
1780 .long 32,134218784,134284320,65568
1781 .long 134283264,1024,1056,134284288
1782 .long 134284288,134218784,65568,134283264
1783 .long 65536,32,134217760,134218752
1784 .long 134217728,66560,134284320,0
1785 .long 66592,134217728,1024,65568
1786 .long 134218784,1024,0,134284320
1787 .long 134283296,134284288,1056,65536
1788 .long 66560,134283296,134218752,1056
1789 .long 32,66592,134283264,134217760
1790 .long 2147483712,2097216,0,2149588992
1791 .long 2097216,8192,2147491904,2097152
1792 .long 8256,2149589056,2105344,2147483648
1793 .long 2147491840,2147483712,2149580800,2105408
1794 .long 2097152,2147491904,2149580864,0
1795 .long 8192,64,2149588992,2149580864
1796 .long 2149589056,2149580800,2147483648,8256
1797 .long 64,2105344,2105408,2147491840
1798 .long 8256,2147483648,2147491840,2105408
1799 .long 2149588992,2097216,0,2147491840
1800 .long 2147483648,8192,2149580864,2097152
1801 .long 2097216,2149589056,2105344,64
1802 .long 2149589056,2105344,2097152,2147491904
1803 .long 2147483712,2149580800,2105408,0
1804 .long 8192,2147483712,2147491904,2149588992
1805 .long 2149580800,8256,64,2149580864
1806 .long 16384,512,16777728,16777220
1807 .long 16794116,16388,16896,0
1808 .long 16777216,16777732,516,16793600
1809 .long 4,16794112,16793600,516
1810 .long 16777732,16384,16388,16794116
1811 .long 0,16777728,16777220,16896
1812 .long 16793604,16900,16794112,4
1813 .long 16900,16793604,512,16777216
1814 .long 16900,16793600,16793604,516
1815 .long 16384,512,16777216,16793604
1816 .long 16777732,16900,16896,0
1817 .long 512,16777220,4,16777728
1818 .long 0,16777732,16777728,16896
1819 .long 516,16384,16794116,16777216
1820 .long 16794112,4,16388,16794116
1821 .long 16777220,16794112,16793600,16388
1822 .long 545259648,545390592,131200,0
1823 .long 537001984,8388736,545259520,545390720
1824 .long 128,536870912,8519680,131200
1825 .long 8519808,537002112,536871040,545259520
1826 .long 131072,8519808,8388736,537001984
1827 .long 545390720,536871040,0,8519680
1828 .long 536870912,8388608,537002112,545259648
1829 .long 8388608,131072,545390592,128
1830 .long 8388608,131072,536871040,545390720
1831 .long 131200,536870912,0,8519680
1832 .long 545259648,537002112,537001984,8388736
1833 .long 545390592,128,8388736,537001984
1834 .long 545390720,8388608,545259520,536871040
1835 .long 8519680,131200,537002112,545259520
1836 .long 128,545390592,8519808,0
1837 .long 536870912,545259648,131072,8519808
OLDNEW
« no previous file with comments | « openssl/crypto/des/asm/crypt586-mac.S ('k') | openssl/crypto/des/asm/des-586.pl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698