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