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