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