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