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