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