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