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