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