Sync usage with man page.
[netbsd-mini2440.git] / crypto / external / bsd / openssl / lib / libcrypto / arch / i386 / crypt586.S
blobfb321ba904711b605203dd6b47697151bf1c761f
1 .file   "crypt586.s"
2 .text
3 .globl  fcrypt_body
4 .type   fcrypt_body,@function
5 .align  16
6 fcrypt_body:
7 .L_fcrypt_body_begin:
8         pushl   %ebp
9         pushl   %ebx
10         pushl   %esi
11         pushl   %edi
14         xorl    %edi,%edi
15         xorl    %esi,%esi
16         call    .L000PIC_me_up
17 .L000PIC_me_up:
18         popl    %edx
19         leal    _GLOBAL_OFFSET_TABLE_+[.-.L000PIC_me_up](%edx),%edx
20         movl    DES_SPtrans@GOT(%edx),%edx
21         pushl   %edx
22         movl    28(%esp),%ebp
23         pushl   $25
24 .L001start:
27         movl    36(%esp),%eax
28         movl    %esi,%edx
29         shrl    $16,%edx
30         movl    40(%esp),%ecx
31         xorl    %esi,%edx
32         andl    %edx,%eax
33         andl    %ecx,%edx
34         movl    %eax,%ebx
35         shll    $16,%ebx
36         movl    %edx,%ecx
37         shll    $16,%ecx
38         xorl    %ebx,%eax
39         xorl    %ecx,%edx
40         movl    (%ebp),%ebx
41         xorl    %ebx,%eax
42         movl    4(%ebp),%ecx
43         xorl    %esi,%eax
44         xorl    %esi,%edx
45         xorl    %ecx,%edx
46         andl    $0xfcfcfcfc,%eax
47         xorl    %ebx,%ebx
48         andl    $0xcfcfcfcf,%edx
49         xorl    %ecx,%ecx
50         movb    %al,%bl
51         movb    %ah,%cl
52         rorl    $4,%edx
53         movl    4(%esp),%ebp
54         xorl    (%ebp,%ebx,1),%edi
55         movb    %dl,%bl
56         xorl    0x200(%ebp,%ecx,1),%edi
57         movb    %dh,%cl
58         shrl    $16,%eax
59         xorl    0x100(%ebp,%ebx,1),%edi
60         movb    %ah,%bl
61         shrl    $16,%edx
62         xorl    0x300(%ebp,%ecx,1),%edi
63         movb    %dh,%cl
64         andl    $0xff,%eax
65         andl    $0xff,%edx
66         movl    0x600(%ebp,%ebx,1),%ebx
67         xorl    %ebx,%edi
68         movl    0x700(%ebp,%ecx,1),%ebx
69         xorl    %ebx,%edi
70         movl    0x400(%ebp,%eax,1),%ebx
71         xorl    %ebx,%edi
72         movl    0x500(%ebp,%edx,1),%ebx
73         xorl    %ebx,%edi
74         movl    32(%esp),%ebp
77         movl    36(%esp),%eax
78         movl    %edi,%edx
79         shrl    $16,%edx
80         movl    40(%esp),%ecx
81         xorl    %edi,%edx
82         andl    %edx,%eax
83         andl    %ecx,%edx
84         movl    %eax,%ebx
85         shll    $16,%ebx
86         movl    %edx,%ecx
87         shll    $16,%ecx
88         xorl    %ebx,%eax
89         xorl    %ecx,%edx
90         movl    8(%ebp),%ebx
91         xorl    %ebx,%eax
92         movl    12(%ebp),%ecx
93         xorl    %edi,%eax
94         xorl    %edi,%edx
95         xorl    %ecx,%edx
96         andl    $0xfcfcfcfc,%eax
97         xorl    %ebx,%ebx
98         andl    $0xcfcfcfcf,%edx
99         xorl    %ecx,%ecx
100         movb    %al,%bl
101         movb    %ah,%cl
102         rorl    $4,%edx
103         movl    4(%esp),%ebp
104         xorl    (%ebp,%ebx,1),%esi
105         movb    %dl,%bl
106         xorl    0x200(%ebp,%ecx,1),%esi
107         movb    %dh,%cl
108         shrl    $16,%eax
109         xorl    0x100(%ebp,%ebx,1),%esi
110         movb    %ah,%bl
111         shrl    $16,%edx
112         xorl    0x300(%ebp,%ecx,1),%esi
113         movb    %dh,%cl
114         andl    $0xff,%eax
115         andl    $0xff,%edx
116         movl    0x600(%ebp,%ebx,1),%ebx
117         xorl    %ebx,%esi
118         movl    0x700(%ebp,%ecx,1),%ebx
119         xorl    %ebx,%esi
120         movl    0x400(%ebp,%eax,1),%ebx
121         xorl    %ebx,%esi
122         movl    0x500(%ebp,%edx,1),%ebx
123         xorl    %ebx,%esi
124         movl    32(%esp),%ebp
127         movl    36(%esp),%eax
128         movl    %esi,%edx
129         shrl    $16,%edx
130         movl    40(%esp),%ecx
131         xorl    %esi,%edx
132         andl    %edx,%eax
133         andl    %ecx,%edx
134         movl    %eax,%ebx
135         shll    $16,%ebx
136         movl    %edx,%ecx
137         shll    $16,%ecx
138         xorl    %ebx,%eax
139         xorl    %ecx,%edx
140         movl    16(%ebp),%ebx
141         xorl    %ebx,%eax
142         movl    20(%ebp),%ecx
143         xorl    %esi,%eax
144         xorl    %esi,%edx
145         xorl    %ecx,%edx
146         andl    $0xfcfcfcfc,%eax
147         xorl    %ebx,%ebx
148         andl    $0xcfcfcfcf,%edx
149         xorl    %ecx,%ecx
150         movb    %al,%bl
151         movb    %ah,%cl
152         rorl    $4,%edx
153         movl    4(%esp),%ebp
154         xorl    (%ebp,%ebx,1),%edi
155         movb    %dl,%bl
156         xorl    0x200(%ebp,%ecx,1),%edi
157         movb    %dh,%cl
158         shrl    $16,%eax
159         xorl    0x100(%ebp,%ebx,1),%edi
160         movb    %ah,%bl
161         shrl    $16,%edx
162         xorl    0x300(%ebp,%ecx,1),%edi
163         movb    %dh,%cl
164         andl    $0xff,%eax
165         andl    $0xff,%edx
166         movl    0x600(%ebp,%ebx,1),%ebx
167         xorl    %ebx,%edi
168         movl    0x700(%ebp,%ecx,1),%ebx
169         xorl    %ebx,%edi
170         movl    0x400(%ebp,%eax,1),%ebx
171         xorl    %ebx,%edi
172         movl    0x500(%ebp,%edx,1),%ebx
173         xorl    %ebx,%edi
174         movl    32(%esp),%ebp
177         movl    36(%esp),%eax
178         movl    %edi,%edx
179         shrl    $16,%edx
180         movl    40(%esp),%ecx
181         xorl    %edi,%edx
182         andl    %edx,%eax
183         andl    %ecx,%edx
184         movl    %eax,%ebx
185         shll    $16,%ebx
186         movl    %edx,%ecx
187         shll    $16,%ecx
188         xorl    %ebx,%eax
189         xorl    %ecx,%edx
190         movl    24(%ebp),%ebx
191         xorl    %ebx,%eax
192         movl    28(%ebp),%ecx
193         xorl    %edi,%eax
194         xorl    %edi,%edx
195         xorl    %ecx,%edx
196         andl    $0xfcfcfcfc,%eax
197         xorl    %ebx,%ebx
198         andl    $0xcfcfcfcf,%edx
199         xorl    %ecx,%ecx
200         movb    %al,%bl
201         movb    %ah,%cl
202         rorl    $4,%edx
203         movl    4(%esp),%ebp
204         xorl    (%ebp,%ebx,1),%esi
205         movb    %dl,%bl
206         xorl    0x200(%ebp,%ecx,1),%esi
207         movb    %dh,%cl
208         shrl    $16,%eax
209         xorl    0x100(%ebp,%ebx,1),%esi
210         movb    %ah,%bl
211         shrl    $16,%edx
212         xorl    0x300(%ebp,%ecx,1),%esi
213         movb    %dh,%cl
214         andl    $0xff,%eax
215         andl    $0xff,%edx
216         movl    0x600(%ebp,%ebx,1),%ebx
217         xorl    %ebx,%esi
218         movl    0x700(%ebp,%ecx,1),%ebx
219         xorl    %ebx,%esi
220         movl    0x400(%ebp,%eax,1),%ebx
221         xorl    %ebx,%esi
222         movl    0x500(%ebp,%edx,1),%ebx
223         xorl    %ebx,%esi
224         movl    32(%esp),%ebp
227         movl    36(%esp),%eax
228         movl    %esi,%edx
229         shrl    $16,%edx
230         movl    40(%esp),%ecx
231         xorl    %esi,%edx
232         andl    %edx,%eax
233         andl    %ecx,%edx
234         movl    %eax,%ebx
235         shll    $16,%ebx
236         movl    %edx,%ecx
237         shll    $16,%ecx
238         xorl    %ebx,%eax
239         xorl    %ecx,%edx
240         movl    32(%ebp),%ebx
241         xorl    %ebx,%eax
242         movl    36(%ebp),%ecx
243         xorl    %esi,%eax
244         xorl    %esi,%edx
245         xorl    %ecx,%edx
246         andl    $0xfcfcfcfc,%eax
247         xorl    %ebx,%ebx
248         andl    $0xcfcfcfcf,%edx
249         xorl    %ecx,%ecx
250         movb    %al,%bl
251         movb    %ah,%cl
252         rorl    $4,%edx
253         movl    4(%esp),%ebp
254         xorl    (%ebp,%ebx,1),%edi
255         movb    %dl,%bl
256         xorl    0x200(%ebp,%ecx,1),%edi
257         movb    %dh,%cl
258         shrl    $16,%eax
259         xorl    0x100(%ebp,%ebx,1),%edi
260         movb    %ah,%bl
261         shrl    $16,%edx
262         xorl    0x300(%ebp,%ecx,1),%edi
263         movb    %dh,%cl
264         andl    $0xff,%eax
265         andl    $0xff,%edx
266         movl    0x600(%ebp,%ebx,1),%ebx
267         xorl    %ebx,%edi
268         movl    0x700(%ebp,%ecx,1),%ebx
269         xorl    %ebx,%edi
270         movl    0x400(%ebp,%eax,1),%ebx
271         xorl    %ebx,%edi
272         movl    0x500(%ebp,%edx,1),%ebx
273         xorl    %ebx,%edi
274         movl    32(%esp),%ebp
277         movl    36(%esp),%eax
278         movl    %edi,%edx
279         shrl    $16,%edx
280         movl    40(%esp),%ecx
281         xorl    %edi,%edx
282         andl    %edx,%eax
283         andl    %ecx,%edx
284         movl    %eax,%ebx
285         shll    $16,%ebx
286         movl    %edx,%ecx
287         shll    $16,%ecx
288         xorl    %ebx,%eax
289         xorl    %ecx,%edx
290         movl    40(%ebp),%ebx
291         xorl    %ebx,%eax
292         movl    44(%ebp),%ecx
293         xorl    %edi,%eax
294         xorl    %edi,%edx
295         xorl    %ecx,%edx
296         andl    $0xfcfcfcfc,%eax
297         xorl    %ebx,%ebx
298         andl    $0xcfcfcfcf,%edx
299         xorl    %ecx,%ecx
300         movb    %al,%bl
301         movb    %ah,%cl
302         rorl    $4,%edx
303         movl    4(%esp),%ebp
304         xorl    (%ebp,%ebx,1),%esi
305         movb    %dl,%bl
306         xorl    0x200(%ebp,%ecx,1),%esi
307         movb    %dh,%cl
308         shrl    $16,%eax
309         xorl    0x100(%ebp,%ebx,1),%esi
310         movb    %ah,%bl
311         shrl    $16,%edx
312         xorl    0x300(%ebp,%ecx,1),%esi
313         movb    %dh,%cl
314         andl    $0xff,%eax
315         andl    $0xff,%edx
316         movl    0x600(%ebp,%ebx,1),%ebx
317         xorl    %ebx,%esi
318         movl    0x700(%ebp,%ecx,1),%ebx
319         xorl    %ebx,%esi
320         movl    0x400(%ebp,%eax,1),%ebx
321         xorl    %ebx,%esi
322         movl    0x500(%ebp,%edx,1),%ebx
323         xorl    %ebx,%esi
324         movl    32(%esp),%ebp
327         movl    36(%esp),%eax
328         movl    %esi,%edx
329         shrl    $16,%edx
330         movl    40(%esp),%ecx
331         xorl    %esi,%edx
332         andl    %edx,%eax
333         andl    %ecx,%edx
334         movl    %eax,%ebx
335         shll    $16,%ebx
336         movl    %edx,%ecx
337         shll    $16,%ecx
338         xorl    %ebx,%eax
339         xorl    %ecx,%edx
340         movl    48(%ebp),%ebx
341         xorl    %ebx,%eax
342         movl    52(%ebp),%ecx
343         xorl    %esi,%eax
344         xorl    %esi,%edx
345         xorl    %ecx,%edx
346         andl    $0xfcfcfcfc,%eax
347         xorl    %ebx,%ebx
348         andl    $0xcfcfcfcf,%edx
349         xorl    %ecx,%ecx
350         movb    %al,%bl
351         movb    %ah,%cl
352         rorl    $4,%edx
353         movl    4(%esp),%ebp
354         xorl    (%ebp,%ebx,1),%edi
355         movb    %dl,%bl
356         xorl    0x200(%ebp,%ecx,1),%edi
357         movb    %dh,%cl
358         shrl    $16,%eax
359         xorl    0x100(%ebp,%ebx,1),%edi
360         movb    %ah,%bl
361         shrl    $16,%edx
362         xorl    0x300(%ebp,%ecx,1),%edi
363         movb    %dh,%cl
364         andl    $0xff,%eax
365         andl    $0xff,%edx
366         movl    0x600(%ebp,%ebx,1),%ebx
367         xorl    %ebx,%edi
368         movl    0x700(%ebp,%ecx,1),%ebx
369         xorl    %ebx,%edi
370         movl    0x400(%ebp,%eax,1),%ebx
371         xorl    %ebx,%edi
372         movl    0x500(%ebp,%edx,1),%ebx
373         xorl    %ebx,%edi
374         movl    32(%esp),%ebp
377         movl    36(%esp),%eax
378         movl    %edi,%edx
379         shrl    $16,%edx
380         movl    40(%esp),%ecx
381         xorl    %edi,%edx
382         andl    %edx,%eax
383         andl    %ecx,%edx
384         movl    %eax,%ebx
385         shll    $16,%ebx
386         movl    %edx,%ecx
387         shll    $16,%ecx
388         xorl    %ebx,%eax
389         xorl    %ecx,%edx
390         movl    56(%ebp),%ebx
391         xorl    %ebx,%eax
392         movl    60(%ebp),%ecx
393         xorl    %edi,%eax
394         xorl    %edi,%edx
395         xorl    %ecx,%edx
396         andl    $0xfcfcfcfc,%eax
397         xorl    %ebx,%ebx
398         andl    $0xcfcfcfcf,%edx
399         xorl    %ecx,%ecx
400         movb    %al,%bl
401         movb    %ah,%cl
402         rorl    $4,%edx
403         movl    4(%esp),%ebp
404         xorl    (%ebp,%ebx,1),%esi
405         movb    %dl,%bl
406         xorl    0x200(%ebp,%ecx,1),%esi
407         movb    %dh,%cl
408         shrl    $16,%eax
409         xorl    0x100(%ebp,%ebx,1),%esi
410         movb    %ah,%bl
411         shrl    $16,%edx
412         xorl    0x300(%ebp,%ecx,1),%esi
413         movb    %dh,%cl
414         andl    $0xff,%eax
415         andl    $0xff,%edx
416         movl    0x600(%ebp,%ebx,1),%ebx
417         xorl    %ebx,%esi
418         movl    0x700(%ebp,%ecx,1),%ebx
419         xorl    %ebx,%esi
420         movl    0x400(%ebp,%eax,1),%ebx
421         xorl    %ebx,%esi
422         movl    0x500(%ebp,%edx,1),%ebx
423         xorl    %ebx,%esi
424         movl    32(%esp),%ebp
427         movl    36(%esp),%eax
428         movl    %esi,%edx
429         shrl    $16,%edx
430         movl    40(%esp),%ecx
431         xorl    %esi,%edx
432         andl    %edx,%eax
433         andl    %ecx,%edx
434         movl    %eax,%ebx
435         shll    $16,%ebx
436         movl    %edx,%ecx
437         shll    $16,%ecx
438         xorl    %ebx,%eax
439         xorl    %ecx,%edx
440         movl    64(%ebp),%ebx
441         xorl    %ebx,%eax
442         movl    68(%ebp),%ecx
443         xorl    %esi,%eax
444         xorl    %esi,%edx
445         xorl    %ecx,%edx
446         andl    $0xfcfcfcfc,%eax
447         xorl    %ebx,%ebx
448         andl    $0xcfcfcfcf,%edx
449         xorl    %ecx,%ecx
450         movb    %al,%bl
451         movb    %ah,%cl
452         rorl    $4,%edx
453         movl    4(%esp),%ebp
454         xorl    (%ebp,%ebx,1),%edi
455         movb    %dl,%bl
456         xorl    0x200(%ebp,%ecx,1),%edi
457         movb    %dh,%cl
458         shrl    $16,%eax
459         xorl    0x100(%ebp,%ebx,1),%edi
460         movb    %ah,%bl
461         shrl    $16,%edx
462         xorl    0x300(%ebp,%ecx,1),%edi
463         movb    %dh,%cl
464         andl    $0xff,%eax
465         andl    $0xff,%edx
466         movl    0x600(%ebp,%ebx,1),%ebx
467         xorl    %ebx,%edi
468         movl    0x700(%ebp,%ecx,1),%ebx
469         xorl    %ebx,%edi
470         movl    0x400(%ebp,%eax,1),%ebx
471         xorl    %ebx,%edi
472         movl    0x500(%ebp,%edx,1),%ebx
473         xorl    %ebx,%edi
474         movl    32(%esp),%ebp
477         movl    36(%esp),%eax
478         movl    %edi,%edx
479         shrl    $16,%edx
480         movl    40(%esp),%ecx
481         xorl    %edi,%edx
482         andl    %edx,%eax
483         andl    %ecx,%edx
484         movl    %eax,%ebx
485         shll    $16,%ebx
486         movl    %edx,%ecx
487         shll    $16,%ecx
488         xorl    %ebx,%eax
489         xorl    %ecx,%edx
490         movl    72(%ebp),%ebx
491         xorl    %ebx,%eax
492         movl    76(%ebp),%ecx
493         xorl    %edi,%eax
494         xorl    %edi,%edx
495         xorl    %ecx,%edx
496         andl    $0xfcfcfcfc,%eax
497         xorl    %ebx,%ebx
498         andl    $0xcfcfcfcf,%edx
499         xorl    %ecx,%ecx
500         movb    %al,%bl
501         movb    %ah,%cl
502         rorl    $4,%edx
503         movl    4(%esp),%ebp
504         xorl    (%ebp,%ebx,1),%esi
505         movb    %dl,%bl
506         xorl    0x200(%ebp,%ecx,1),%esi
507         movb    %dh,%cl
508         shrl    $16,%eax
509         xorl    0x100(%ebp,%ebx,1),%esi
510         movb    %ah,%bl
511         shrl    $16,%edx
512         xorl    0x300(%ebp,%ecx,1),%esi
513         movb    %dh,%cl
514         andl    $0xff,%eax
515         andl    $0xff,%edx
516         movl    0x600(%ebp,%ebx,1),%ebx
517         xorl    %ebx,%esi
518         movl    0x700(%ebp,%ecx,1),%ebx
519         xorl    %ebx,%esi
520         movl    0x400(%ebp,%eax,1),%ebx
521         xorl    %ebx,%esi
522         movl    0x500(%ebp,%edx,1),%ebx
523         xorl    %ebx,%esi
524         movl    32(%esp),%ebp
527         movl    36(%esp),%eax
528         movl    %esi,%edx
529         shrl    $16,%edx
530         movl    40(%esp),%ecx
531         xorl    %esi,%edx
532         andl    %edx,%eax
533         andl    %ecx,%edx
534         movl    %eax,%ebx
535         shll    $16,%ebx
536         movl    %edx,%ecx
537         shll    $16,%ecx
538         xorl    %ebx,%eax
539         xorl    %ecx,%edx
540         movl    80(%ebp),%ebx
541         xorl    %ebx,%eax
542         movl    84(%ebp),%ecx
543         xorl    %esi,%eax
544         xorl    %esi,%edx
545         xorl    %ecx,%edx
546         andl    $0xfcfcfcfc,%eax
547         xorl    %ebx,%ebx
548         andl    $0xcfcfcfcf,%edx
549         xorl    %ecx,%ecx
550         movb    %al,%bl
551         movb    %ah,%cl
552         rorl    $4,%edx
553         movl    4(%esp),%ebp
554         xorl    (%ebp,%ebx,1),%edi
555         movb    %dl,%bl
556         xorl    0x200(%ebp,%ecx,1),%edi
557         movb    %dh,%cl
558         shrl    $16,%eax
559         xorl    0x100(%ebp,%ebx,1),%edi
560         movb    %ah,%bl
561         shrl    $16,%edx
562         xorl    0x300(%ebp,%ecx,1),%edi
563         movb    %dh,%cl
564         andl    $0xff,%eax
565         andl    $0xff,%edx
566         movl    0x600(%ebp,%ebx,1),%ebx
567         xorl    %ebx,%edi
568         movl    0x700(%ebp,%ecx,1),%ebx
569         xorl    %ebx,%edi
570         movl    0x400(%ebp,%eax,1),%ebx
571         xorl    %ebx,%edi
572         movl    0x500(%ebp,%edx,1),%ebx
573         xorl    %ebx,%edi
574         movl    32(%esp),%ebp
577         movl    36(%esp),%eax
578         movl    %edi,%edx
579         shrl    $16,%edx
580         movl    40(%esp),%ecx
581         xorl    %edi,%edx
582         andl    %edx,%eax
583         andl    %ecx,%edx
584         movl    %eax,%ebx
585         shll    $16,%ebx
586         movl    %edx,%ecx
587         shll    $16,%ecx
588         xorl    %ebx,%eax
589         xorl    %ecx,%edx
590         movl    88(%ebp),%ebx
591         xorl    %ebx,%eax
592         movl    92(%ebp),%ecx
593         xorl    %edi,%eax
594         xorl    %edi,%edx
595         xorl    %ecx,%edx
596         andl    $0xfcfcfcfc,%eax
597         xorl    %ebx,%ebx
598         andl    $0xcfcfcfcf,%edx
599         xorl    %ecx,%ecx
600         movb    %al,%bl
601         movb    %ah,%cl
602         rorl    $4,%edx
603         movl    4(%esp),%ebp
604         xorl    (%ebp,%ebx,1),%esi
605         movb    %dl,%bl
606         xorl    0x200(%ebp,%ecx,1),%esi
607         movb    %dh,%cl
608         shrl    $16,%eax
609         xorl    0x100(%ebp,%ebx,1),%esi
610         movb    %ah,%bl
611         shrl    $16,%edx
612         xorl    0x300(%ebp,%ecx,1),%esi
613         movb    %dh,%cl
614         andl    $0xff,%eax
615         andl    $0xff,%edx
616         movl    0x600(%ebp,%ebx,1),%ebx
617         xorl    %ebx,%esi
618         movl    0x700(%ebp,%ecx,1),%ebx
619         xorl    %ebx,%esi
620         movl    0x400(%ebp,%eax,1),%ebx
621         xorl    %ebx,%esi
622         movl    0x500(%ebp,%edx,1),%ebx
623         xorl    %ebx,%esi
624         movl    32(%esp),%ebp
627         movl    36(%esp),%eax
628         movl    %esi,%edx
629         shrl    $16,%edx
630         movl    40(%esp),%ecx
631         xorl    %esi,%edx
632         andl    %edx,%eax
633         andl    %ecx,%edx
634         movl    %eax,%ebx
635         shll    $16,%ebx
636         movl    %edx,%ecx
637         shll    $16,%ecx
638         xorl    %ebx,%eax
639         xorl    %ecx,%edx
640         movl    96(%ebp),%ebx
641         xorl    %ebx,%eax
642         movl    100(%ebp),%ecx
643         xorl    %esi,%eax
644         xorl    %esi,%edx
645         xorl    %ecx,%edx
646         andl    $0xfcfcfcfc,%eax
647         xorl    %ebx,%ebx
648         andl    $0xcfcfcfcf,%edx
649         xorl    %ecx,%ecx
650         movb    %al,%bl
651         movb    %ah,%cl
652         rorl    $4,%edx
653         movl    4(%esp),%ebp
654         xorl    (%ebp,%ebx,1),%edi
655         movb    %dl,%bl
656         xorl    0x200(%ebp,%ecx,1),%edi
657         movb    %dh,%cl
658         shrl    $16,%eax
659         xorl    0x100(%ebp,%ebx,1),%edi
660         movb    %ah,%bl
661         shrl    $16,%edx
662         xorl    0x300(%ebp,%ecx,1),%edi
663         movb    %dh,%cl
664         andl    $0xff,%eax
665         andl    $0xff,%edx
666         movl    0x600(%ebp,%ebx,1),%ebx
667         xorl    %ebx,%edi
668         movl    0x700(%ebp,%ecx,1),%ebx
669         xorl    %ebx,%edi
670         movl    0x400(%ebp,%eax,1),%ebx
671         xorl    %ebx,%edi
672         movl    0x500(%ebp,%edx,1),%ebx
673         xorl    %ebx,%edi
674         movl    32(%esp),%ebp
677         movl    36(%esp),%eax
678         movl    %edi,%edx
679         shrl    $16,%edx
680         movl    40(%esp),%ecx
681         xorl    %edi,%edx
682         andl    %edx,%eax
683         andl    %ecx,%edx
684         movl    %eax,%ebx
685         shll    $16,%ebx
686         movl    %edx,%ecx
687         shll    $16,%ecx
688         xorl    %ebx,%eax
689         xorl    %ecx,%edx
690         movl    104(%ebp),%ebx
691         xorl    %ebx,%eax
692         movl    108(%ebp),%ecx
693         xorl    %edi,%eax
694         xorl    %edi,%edx
695         xorl    %ecx,%edx
696         andl    $0xfcfcfcfc,%eax
697         xorl    %ebx,%ebx
698         andl    $0xcfcfcfcf,%edx
699         xorl    %ecx,%ecx
700         movb    %al,%bl
701         movb    %ah,%cl
702         rorl    $4,%edx
703         movl    4(%esp),%ebp
704         xorl    (%ebp,%ebx,1),%esi
705         movb    %dl,%bl
706         xorl    0x200(%ebp,%ecx,1),%esi
707         movb    %dh,%cl
708         shrl    $16,%eax
709         xorl    0x100(%ebp,%ebx,1),%esi
710         movb    %ah,%bl
711         shrl    $16,%edx
712         xorl    0x300(%ebp,%ecx,1),%esi
713         movb    %dh,%cl
714         andl    $0xff,%eax
715         andl    $0xff,%edx
716         movl    0x600(%ebp,%ebx,1),%ebx
717         xorl    %ebx,%esi
718         movl    0x700(%ebp,%ecx,1),%ebx
719         xorl    %ebx,%esi
720         movl    0x400(%ebp,%eax,1),%ebx
721         xorl    %ebx,%esi
722         movl    0x500(%ebp,%edx,1),%ebx
723         xorl    %ebx,%esi
724         movl    32(%esp),%ebp
727         movl    36(%esp),%eax
728         movl    %esi,%edx
729         shrl    $16,%edx
730         movl    40(%esp),%ecx
731         xorl    %esi,%edx
732         andl    %edx,%eax
733         andl    %ecx,%edx
734         movl    %eax,%ebx
735         shll    $16,%ebx
736         movl    %edx,%ecx
737         shll    $16,%ecx
738         xorl    %ebx,%eax
739         xorl    %ecx,%edx
740         movl    112(%ebp),%ebx
741         xorl    %ebx,%eax
742         movl    116(%ebp),%ecx
743         xorl    %esi,%eax
744         xorl    %esi,%edx
745         xorl    %ecx,%edx
746         andl    $0xfcfcfcfc,%eax
747         xorl    %ebx,%ebx
748         andl    $0xcfcfcfcf,%edx
749         xorl    %ecx,%ecx
750         movb    %al,%bl
751         movb    %ah,%cl
752         rorl    $4,%edx
753         movl    4(%esp),%ebp
754         xorl    (%ebp,%ebx,1),%edi
755         movb    %dl,%bl
756         xorl    0x200(%ebp,%ecx,1),%edi
757         movb    %dh,%cl
758         shrl    $16,%eax
759         xorl    0x100(%ebp,%ebx,1),%edi
760         movb    %ah,%bl
761         shrl    $16,%edx
762         xorl    0x300(%ebp,%ecx,1),%edi
763         movb    %dh,%cl
764         andl    $0xff,%eax
765         andl    $0xff,%edx
766         movl    0x600(%ebp,%ebx,1),%ebx
767         xorl    %ebx,%edi
768         movl    0x700(%ebp,%ecx,1),%ebx
769         xorl    %ebx,%edi
770         movl    0x400(%ebp,%eax,1),%ebx
771         xorl    %ebx,%edi
772         movl    0x500(%ebp,%edx,1),%ebx
773         xorl    %ebx,%edi
774         movl    32(%esp),%ebp
777         movl    36(%esp),%eax
778         movl    %edi,%edx
779         shrl    $16,%edx
780         movl    40(%esp),%ecx
781         xorl    %edi,%edx
782         andl    %edx,%eax
783         andl    %ecx,%edx
784         movl    %eax,%ebx
785         shll    $16,%ebx
786         movl    %edx,%ecx
787         shll    $16,%ecx
788         xorl    %ebx,%eax
789         xorl    %ecx,%edx
790         movl    120(%ebp),%ebx
791         xorl    %ebx,%eax
792         movl    124(%ebp),%ecx
793         xorl    %edi,%eax
794         xorl    %edi,%edx
795         xorl    %ecx,%edx
796         andl    $0xfcfcfcfc,%eax
797         xorl    %ebx,%ebx
798         andl    $0xcfcfcfcf,%edx
799         xorl    %ecx,%ecx
800         movb    %al,%bl
801         movb    %ah,%cl
802         rorl    $4,%edx
803         movl    4(%esp),%ebp
804         xorl    (%ebp,%ebx,1),%esi
805         movb    %dl,%bl
806         xorl    0x200(%ebp,%ecx,1),%esi
807         movb    %dh,%cl
808         shrl    $16,%eax
809         xorl    0x100(%ebp,%ebx,1),%esi
810         movb    %ah,%bl
811         shrl    $16,%edx
812         xorl    0x300(%ebp,%ecx,1),%esi
813         movb    %dh,%cl
814         andl    $0xff,%eax
815         andl    $0xff,%edx
816         movl    0x600(%ebp,%ebx,1),%ebx
817         xorl    %ebx,%esi
818         movl    0x700(%ebp,%ecx,1),%ebx
819         xorl    %ebx,%esi
820         movl    0x400(%ebp,%eax,1),%ebx
821         xorl    %ebx,%esi
822         movl    0x500(%ebp,%edx,1),%ebx
823         xorl    %ebx,%esi
824         movl    32(%esp),%ebp
825         movl    (%esp),%ebx
826         movl    %edi,%eax
827         decl    %ebx
828         movl    %esi,%edi
829         movl    %eax,%esi
830         movl    %ebx,(%esp)
831         jnz     .L001start
834         movl    28(%esp),%edx
835         rorl    $1,%edi
836         movl    %esi,%eax
837         xorl    %edi,%esi
838         andl    $0xaaaaaaaa,%esi
839         xorl    %esi,%eax
840         xorl    %esi,%edi
842         roll    $23,%eax
843         movl    %eax,%esi
844         xorl    %edi,%eax
845         andl    $0x03fc03fc,%eax
846         xorl    %eax,%esi
847         xorl    %eax,%edi
849         roll    $10,%esi
850         movl    %esi,%eax
851         xorl    %edi,%esi
852         andl    $0x33333333,%esi
853         xorl    %esi,%eax
854         xorl    %esi,%edi
856         roll    $18,%edi
857         movl    %edi,%esi
858         xorl    %eax,%edi
859         andl    $0xfff0000f,%edi
860         xorl    %edi,%esi
861         xorl    %edi,%eax
863         roll    $12,%esi
864         movl    %esi,%edi
865         xorl    %eax,%esi
866         andl    $0xf0f0f0f0,%esi
867         xorl    %esi,%edi
868         xorl    %esi,%eax
870         rorl    $4,%eax
871         movl    %eax,(%edx)
872         movl    %edi,4(%edx)
873         addl    $8,%esp
874         popl    %edi
875         popl    %esi
876         popl    %ebx
877         popl    %ebp
878         ret
879 .size   fcrypt_body,.-.L_fcrypt_body_begin