1299966Sjkim# $FreeBSD$
2299966Sjkim# Do not modify. This file is auto-generated from bf-686.pl.
3299966Sjkim#ifdef PIC
4299966Sjkim.file	"bf-686.S"
595967Speter.text
6238405Sjkim.globl	BF_encrypt
7238405Sjkim.type	BF_encrypt,@function
8238405Sjkim.align	16
995967SpeterBF_encrypt:
10238405Sjkim.L_BF_encrypt_begin:
1195967Speter	pushl	%ebp
1295967Speter	pushl	%ebx
1395967Speter	pushl	%esi
1495967Speter	pushl	%edi
1595967Speter
1695967Speter
17238405Sjkim	movl	20(%esp),%eax
18238405Sjkim	movl	(%eax),%ecx
19238405Sjkim	movl	4(%eax),%edx
20127326Smarkm
2195967Speter
22238405Sjkim	movl	24(%esp),%edi
23238405Sjkim	xorl	%eax,%eax
24238405Sjkim	xorl	%ebx,%ebx
25238405Sjkim	xorl	(%edi),%ecx
26127326Smarkm
2795967Speter
28238405Sjkim	rorl	$16,%ecx
29238405Sjkim	movl	4(%edi),%esi
30238405Sjkim	movb	%ch,%al
31238405Sjkim	movb	%cl,%bl
32238405Sjkim	rorl	$16,%ecx
33238405Sjkim	xorl	%esi,%edx
3495967Speter	movl	72(%edi,%eax,4),%esi
3595967Speter	movl	1096(%edi,%ebx,4),%ebp
36238405Sjkim	movb	%ch,%al
37238405Sjkim	movb	%cl,%bl
38238405Sjkim	addl	%ebp,%esi
3995967Speter	movl	2120(%edi,%eax,4),%eax
40238405Sjkim	xorl	%eax,%esi
4195967Speter	movl	3144(%edi,%ebx,4),%ebp
42238405Sjkim	addl	%ebp,%esi
43238405Sjkim	xorl	%eax,%eax
44238405Sjkim	xorl	%esi,%edx
4595967Speter
46127326Smarkm
47238405Sjkim	rorl	$16,%edx
48238405Sjkim	movl	8(%edi),%esi
49238405Sjkim	movb	%dh,%al
50238405Sjkim	movb	%dl,%bl
51238405Sjkim	rorl	$16,%edx
52238405Sjkim	xorl	%esi,%ecx
5395967Speter	movl	72(%edi,%eax,4),%esi
5495967Speter	movl	1096(%edi,%ebx,4),%ebp
55238405Sjkim	movb	%dh,%al
56238405Sjkim	movb	%dl,%bl
57238405Sjkim	addl	%ebp,%esi
5895967Speter	movl	2120(%edi,%eax,4),%eax
59238405Sjkim	xorl	%eax,%esi
6095967Speter	movl	3144(%edi,%ebx,4),%ebp
61238405Sjkim	addl	%ebp,%esi
62238405Sjkim	xorl	%eax,%eax
63238405Sjkim	xorl	%esi,%ecx
6495967Speter
65127326Smarkm
66238405Sjkim	rorl	$16,%ecx
67238405Sjkim	movl	12(%edi),%esi
68238405Sjkim	movb	%ch,%al
69238405Sjkim	movb	%cl,%bl
70238405Sjkim	rorl	$16,%ecx
71238405Sjkim	xorl	%esi,%edx
7295967Speter	movl	72(%edi,%eax,4),%esi
7395967Speter	movl	1096(%edi,%ebx,4),%ebp
74238405Sjkim	movb	%ch,%al
75238405Sjkim	movb	%cl,%bl
76238405Sjkim	addl	%ebp,%esi
7795967Speter	movl	2120(%edi,%eax,4),%eax
78238405Sjkim	xorl	%eax,%esi
7995967Speter	movl	3144(%edi,%ebx,4),%ebp
80238405Sjkim	addl	%ebp,%esi
81238405Sjkim	xorl	%eax,%eax
82238405Sjkim	xorl	%esi,%edx
8395967Speter
84127326Smarkm
85238405Sjkim	rorl	$16,%edx
86238405Sjkim	movl	16(%edi),%esi
87238405Sjkim	movb	%dh,%al
88238405Sjkim	movb	%dl,%bl
89238405Sjkim	rorl	$16,%edx
90238405Sjkim	xorl	%esi,%ecx
9195967Speter	movl	72(%edi,%eax,4),%esi
9295967Speter	movl	1096(%edi,%ebx,4),%ebp
93238405Sjkim	movb	%dh,%al
94238405Sjkim	movb	%dl,%bl
95238405Sjkim	addl	%ebp,%esi
9695967Speter	movl	2120(%edi,%eax,4),%eax
97238405Sjkim	xorl	%eax,%esi
9895967Speter	movl	3144(%edi,%ebx,4),%ebp
99238405Sjkim	addl	%ebp,%esi
100238405Sjkim	xorl	%eax,%eax
101238405Sjkim	xorl	%esi,%ecx
10295967Speter
103127326Smarkm
104238405Sjkim	rorl	$16,%ecx
105238405Sjkim	movl	20(%edi),%esi
106238405Sjkim	movb	%ch,%al
107238405Sjkim	movb	%cl,%bl
108238405Sjkim	rorl	$16,%ecx
109238405Sjkim	xorl	%esi,%edx
11095967Speter	movl	72(%edi,%eax,4),%esi
11195967Speter	movl	1096(%edi,%ebx,4),%ebp
112238405Sjkim	movb	%ch,%al
113238405Sjkim	movb	%cl,%bl
114238405Sjkim	addl	%ebp,%esi
11595967Speter	movl	2120(%edi,%eax,4),%eax
116238405Sjkim	xorl	%eax,%esi
11795967Speter	movl	3144(%edi,%ebx,4),%ebp
118238405Sjkim	addl	%ebp,%esi
119238405Sjkim	xorl	%eax,%eax
120238405Sjkim	xorl	%esi,%edx
12195967Speter
122127326Smarkm
123238405Sjkim	rorl	$16,%edx
124238405Sjkim	movl	24(%edi),%esi
125238405Sjkim	movb	%dh,%al
126238405Sjkim	movb	%dl,%bl
127238405Sjkim	rorl	$16,%edx
128238405Sjkim	xorl	%esi,%ecx
12995967Speter	movl	72(%edi,%eax,4),%esi
13095967Speter	movl	1096(%edi,%ebx,4),%ebp
131238405Sjkim	movb	%dh,%al
132238405Sjkim	movb	%dl,%bl
133238405Sjkim	addl	%ebp,%esi
13495967Speter	movl	2120(%edi,%eax,4),%eax
135238405Sjkim	xorl	%eax,%esi
13695967Speter	movl	3144(%edi,%ebx,4),%ebp
137238405Sjkim	addl	%ebp,%esi
138238405Sjkim	xorl	%eax,%eax
139238405Sjkim	xorl	%esi,%ecx
14095967Speter
141127326Smarkm
142238405Sjkim	rorl	$16,%ecx
143238405Sjkim	movl	28(%edi),%esi
144238405Sjkim	movb	%ch,%al
145238405Sjkim	movb	%cl,%bl
146238405Sjkim	rorl	$16,%ecx
147238405Sjkim	xorl	%esi,%edx
14895967Speter	movl	72(%edi,%eax,4),%esi
14995967Speter	movl	1096(%edi,%ebx,4),%ebp
150238405Sjkim	movb	%ch,%al
151238405Sjkim	movb	%cl,%bl
152238405Sjkim	addl	%ebp,%esi
15395967Speter	movl	2120(%edi,%eax,4),%eax
154238405Sjkim	xorl	%eax,%esi
15595967Speter	movl	3144(%edi,%ebx,4),%ebp
156238405Sjkim	addl	%ebp,%esi
157238405Sjkim	xorl	%eax,%eax
158238405Sjkim	xorl	%esi,%edx
15995967Speter
160127326Smarkm
161238405Sjkim	rorl	$16,%edx
162238405Sjkim	movl	32(%edi),%esi
163238405Sjkim	movb	%dh,%al
164238405Sjkim	movb	%dl,%bl
165238405Sjkim	rorl	$16,%edx
166238405Sjkim	xorl	%esi,%ecx
16795967Speter	movl	72(%edi,%eax,4),%esi
16895967Speter	movl	1096(%edi,%ebx,4),%ebp
169238405Sjkim	movb	%dh,%al
170238405Sjkim	movb	%dl,%bl
171238405Sjkim	addl	%ebp,%esi
17295967Speter	movl	2120(%edi,%eax,4),%eax
173238405Sjkim	xorl	%eax,%esi
17495967Speter	movl	3144(%edi,%ebx,4),%ebp
175238405Sjkim	addl	%ebp,%esi
176238405Sjkim	xorl	%eax,%eax
177238405Sjkim	xorl	%esi,%ecx
17895967Speter
179127326Smarkm
180238405Sjkim	rorl	$16,%ecx
181238405Sjkim	movl	36(%edi),%esi
182238405Sjkim	movb	%ch,%al
183238405Sjkim	movb	%cl,%bl
184238405Sjkim	rorl	$16,%ecx
185238405Sjkim	xorl	%esi,%edx
18695967Speter	movl	72(%edi,%eax,4),%esi
18795967Speter	movl	1096(%edi,%ebx,4),%ebp
188238405Sjkim	movb	%ch,%al
189238405Sjkim	movb	%cl,%bl
190238405Sjkim	addl	%ebp,%esi
19195967Speter	movl	2120(%edi,%eax,4),%eax
192238405Sjkim	xorl	%eax,%esi
19395967Speter	movl	3144(%edi,%ebx,4),%ebp
194238405Sjkim	addl	%ebp,%esi
195238405Sjkim	xorl	%eax,%eax
196238405Sjkim	xorl	%esi,%edx
19795967Speter
198127326Smarkm
199238405Sjkim	rorl	$16,%edx
200238405Sjkim	movl	40(%edi),%esi
201238405Sjkim	movb	%dh,%al
202238405Sjkim	movb	%dl,%bl
203238405Sjkim	rorl	$16,%edx
204238405Sjkim	xorl	%esi,%ecx
20595967Speter	movl	72(%edi,%eax,4),%esi
20695967Speter	movl	1096(%edi,%ebx,4),%ebp
207238405Sjkim	movb	%dh,%al
208238405Sjkim	movb	%dl,%bl
209238405Sjkim	addl	%ebp,%esi
21095967Speter	movl	2120(%edi,%eax,4),%eax
211238405Sjkim	xorl	%eax,%esi
21295967Speter	movl	3144(%edi,%ebx,4),%ebp
213238405Sjkim	addl	%ebp,%esi
214238405Sjkim	xorl	%eax,%eax
215238405Sjkim	xorl	%esi,%ecx
21695967Speter
217127326Smarkm
218238405Sjkim	rorl	$16,%ecx
219238405Sjkim	movl	44(%edi),%esi
220238405Sjkim	movb	%ch,%al
221238405Sjkim	movb	%cl,%bl
222238405Sjkim	rorl	$16,%ecx
223238405Sjkim	xorl	%esi,%edx
22495967Speter	movl	72(%edi,%eax,4),%esi
22595967Speter	movl	1096(%edi,%ebx,4),%ebp
226238405Sjkim	movb	%ch,%al
227238405Sjkim	movb	%cl,%bl
228238405Sjkim	addl	%ebp,%esi
22995967Speter	movl	2120(%edi,%eax,4),%eax
230238405Sjkim	xorl	%eax,%esi
23195967Speter	movl	3144(%edi,%ebx,4),%ebp
232238405Sjkim	addl	%ebp,%esi
233238405Sjkim	xorl	%eax,%eax
234238405Sjkim	xorl	%esi,%edx
23595967Speter
236127326Smarkm
237238405Sjkim	rorl	$16,%edx
238238405Sjkim	movl	48(%edi),%esi
239238405Sjkim	movb	%dh,%al
240238405Sjkim	movb	%dl,%bl
241238405Sjkim	rorl	$16,%edx
242238405Sjkim	xorl	%esi,%ecx
24395967Speter	movl	72(%edi,%eax,4),%esi
24495967Speter	movl	1096(%edi,%ebx,4),%ebp
245238405Sjkim	movb	%dh,%al
246238405Sjkim	movb	%dl,%bl
247238405Sjkim	addl	%ebp,%esi
24895967Speter	movl	2120(%edi,%eax,4),%eax
249238405Sjkim	xorl	%eax,%esi
25095967Speter	movl	3144(%edi,%ebx,4),%ebp
251238405Sjkim	addl	%ebp,%esi
252238405Sjkim	xorl	%eax,%eax
253238405Sjkim	xorl	%esi,%ecx
25495967Speter
255127326Smarkm
256238405Sjkim	rorl	$16,%ecx
257238405Sjkim	movl	52(%edi),%esi
258238405Sjkim	movb	%ch,%al
259238405Sjkim	movb	%cl,%bl
260238405Sjkim	rorl	$16,%ecx
261238405Sjkim	xorl	%esi,%edx
26295967Speter	movl	72(%edi,%eax,4),%esi
26395967Speter	movl	1096(%edi,%ebx,4),%ebp
264238405Sjkim	movb	%ch,%al
265238405Sjkim	movb	%cl,%bl
266238405Sjkim	addl	%ebp,%esi
26795967Speter	movl	2120(%edi,%eax,4),%eax
268238405Sjkim	xorl	%eax,%esi
26995967Speter	movl	3144(%edi,%ebx,4),%ebp
270238405Sjkim	addl	%ebp,%esi
271238405Sjkim	xorl	%eax,%eax
272238405Sjkim	xorl	%esi,%edx
27395967Speter
274127326Smarkm
275238405Sjkim	rorl	$16,%edx
276238405Sjkim	movl	56(%edi),%esi
277238405Sjkim	movb	%dh,%al
278238405Sjkim	movb	%dl,%bl
279238405Sjkim	rorl	$16,%edx
280238405Sjkim	xorl	%esi,%ecx
28195967Speter	movl	72(%edi,%eax,4),%esi
28295967Speter	movl	1096(%edi,%ebx,4),%ebp
283238405Sjkim	movb	%dh,%al
284238405Sjkim	movb	%dl,%bl
285238405Sjkim	addl	%ebp,%esi
28695967Speter	movl	2120(%edi,%eax,4),%eax
287238405Sjkim	xorl	%eax,%esi
28895967Speter	movl	3144(%edi,%ebx,4),%ebp
289238405Sjkim	addl	%ebp,%esi
290238405Sjkim	xorl	%eax,%eax
291238405Sjkim	xorl	%esi,%ecx
29295967Speter
293127326Smarkm
294238405Sjkim	rorl	$16,%ecx
295238405Sjkim	movl	60(%edi),%esi
296238405Sjkim	movb	%ch,%al
297238405Sjkim	movb	%cl,%bl
298238405Sjkim	rorl	$16,%ecx
299238405Sjkim	xorl	%esi,%edx
30095967Speter	movl	72(%edi,%eax,4),%esi
30195967Speter	movl	1096(%edi,%ebx,4),%ebp
302238405Sjkim	movb	%ch,%al
303238405Sjkim	movb	%cl,%bl
304238405Sjkim	addl	%ebp,%esi
30595967Speter	movl	2120(%edi,%eax,4),%eax
306238405Sjkim	xorl	%eax,%esi
30795967Speter	movl	3144(%edi,%ebx,4),%ebp
308238405Sjkim	addl	%ebp,%esi
309238405Sjkim	xorl	%eax,%eax
310238405Sjkim	xorl	%esi,%edx
31195967Speter
312127326Smarkm
313238405Sjkim	rorl	$16,%edx
314238405Sjkim	movl	64(%edi),%esi
315238405Sjkim	movb	%dh,%al
316238405Sjkim	movb	%dl,%bl
317238405Sjkim	rorl	$16,%edx
318238405Sjkim	xorl	%esi,%ecx
31995967Speter	movl	72(%edi,%eax,4),%esi
32095967Speter	movl	1096(%edi,%ebx,4),%ebp
321238405Sjkim	movb	%dh,%al
322238405Sjkim	movb	%dl,%bl
323238405Sjkim	addl	%ebp,%esi
32495967Speter	movl	2120(%edi,%eax,4),%eax
325238405Sjkim	xorl	%eax,%esi
32695967Speter	movl	3144(%edi,%ebx,4),%ebp
327238405Sjkim	addl	%ebp,%esi
328238405Sjkim	xorl	%eax,%eax
329238405Sjkim	xorl	%esi,%ecx
330238405Sjkim	xorl	68(%edi),%edx
331238405Sjkim	movl	20(%esp),%eax
332238405Sjkim	movl	%edx,(%eax)
333238405Sjkim	movl	%ecx,4(%eax)
33495967Speter	popl	%edi
33595967Speter	popl	%esi
33695967Speter	popl	%ebx
33795967Speter	popl	%ebp
33895967Speter	ret
339238405Sjkim.size	BF_encrypt,.-.L_BF_encrypt_begin
340238405Sjkim.globl	BF_decrypt
341238405Sjkim.type	BF_decrypt,@function
342238405Sjkim.align	16
34395967SpeterBF_decrypt:
344238405Sjkim.L_BF_decrypt_begin:
34595967Speter	pushl	%ebp
34695967Speter	pushl	%ebx
34795967Speter	pushl	%esi
34895967Speter	pushl	%edi
34995967Speter
35095967Speter
351238405Sjkim	movl	20(%esp),%eax
352238405Sjkim	movl	(%eax),%ecx
353238405Sjkim	movl	4(%eax),%edx
354127326Smarkm
35595967Speter
356238405Sjkim	movl	24(%esp),%edi
357238405Sjkim	xorl	%eax,%eax
358238405Sjkim	xorl	%ebx,%ebx
359238405Sjkim	xorl	68(%edi),%ecx
360127326Smarkm
36195967Speter
362238405Sjkim	rorl	$16,%ecx
363238405Sjkim	movl	64(%edi),%esi
364238405Sjkim	movb	%ch,%al
365238405Sjkim	movb	%cl,%bl
366238405Sjkim	rorl	$16,%ecx
367238405Sjkim	xorl	%esi,%edx
36895967Speter	movl	72(%edi,%eax,4),%esi
36995967Speter	movl	1096(%edi,%ebx,4),%ebp
370238405Sjkim	movb	%ch,%al
371238405Sjkim	movb	%cl,%bl
372238405Sjkim	addl	%ebp,%esi
37395967Speter	movl	2120(%edi,%eax,4),%eax
374238405Sjkim	xorl	%eax,%esi
37595967Speter	movl	3144(%edi,%ebx,4),%ebp
376238405Sjkim	addl	%ebp,%esi
377238405Sjkim	xorl	%eax,%eax
378238405Sjkim	xorl	%esi,%edx
37995967Speter
380127326Smarkm
381238405Sjkim	rorl	$16,%edx
382238405Sjkim	movl	60(%edi),%esi
383238405Sjkim	movb	%dh,%al
384238405Sjkim	movb	%dl,%bl
385238405Sjkim	rorl	$16,%edx
386238405Sjkim	xorl	%esi,%ecx
38795967Speter	movl	72(%edi,%eax,4),%esi
38895967Speter	movl	1096(%edi,%ebx,4),%ebp
389238405Sjkim	movb	%dh,%al
390238405Sjkim	movb	%dl,%bl
391238405Sjkim	addl	%ebp,%esi
39295967Speter	movl	2120(%edi,%eax,4),%eax
393238405Sjkim	xorl	%eax,%esi
39495967Speter	movl	3144(%edi,%ebx,4),%ebp
395238405Sjkim	addl	%ebp,%esi
396238405Sjkim	xorl	%eax,%eax
397238405Sjkim	xorl	%esi,%ecx
39895967Speter
399127326Smarkm
400238405Sjkim	rorl	$16,%ecx
401238405Sjkim	movl	56(%edi),%esi
402238405Sjkim	movb	%ch,%al
403238405Sjkim	movb	%cl,%bl
404238405Sjkim	rorl	$16,%ecx
405238405Sjkim	xorl	%esi,%edx
40695967Speter	movl	72(%edi,%eax,4),%esi
40795967Speter	movl	1096(%edi,%ebx,4),%ebp
408238405Sjkim	movb	%ch,%al
409238405Sjkim	movb	%cl,%bl
410238405Sjkim	addl	%ebp,%esi
41195967Speter	movl	2120(%edi,%eax,4),%eax
412238405Sjkim	xorl	%eax,%esi
41395967Speter	movl	3144(%edi,%ebx,4),%ebp
414238405Sjkim	addl	%ebp,%esi
415238405Sjkim	xorl	%eax,%eax
416238405Sjkim	xorl	%esi,%edx
41795967Speter
418127326Smarkm
419238405Sjkim	rorl	$16,%edx
420238405Sjkim	movl	52(%edi),%esi
421238405Sjkim	movb	%dh,%al
422238405Sjkim	movb	%dl,%bl
423238405Sjkim	rorl	$16,%edx
424238405Sjkim	xorl	%esi,%ecx
42595967Speter	movl	72(%edi,%eax,4),%esi
42695967Speter	movl	1096(%edi,%ebx,4),%ebp
427238405Sjkim	movb	%dh,%al
428238405Sjkim	movb	%dl,%bl
429238405Sjkim	addl	%ebp,%esi
43095967Speter	movl	2120(%edi,%eax,4),%eax
431238405Sjkim	xorl	%eax,%esi
43295967Speter	movl	3144(%edi,%ebx,4),%ebp
433238405Sjkim	addl	%ebp,%esi
434238405Sjkim	xorl	%eax,%eax
435238405Sjkim	xorl	%esi,%ecx
43695967Speter
437127326Smarkm
438238405Sjkim	rorl	$16,%ecx
439238405Sjkim	movl	48(%edi),%esi
440238405Sjkim	movb	%ch,%al
441238405Sjkim	movb	%cl,%bl
442238405Sjkim	rorl	$16,%ecx
443238405Sjkim	xorl	%esi,%edx
44495967Speter	movl	72(%edi,%eax,4),%esi
44595967Speter	movl	1096(%edi,%ebx,4),%ebp
446238405Sjkim	movb	%ch,%al
447238405Sjkim	movb	%cl,%bl
448238405Sjkim	addl	%ebp,%esi
44995967Speter	movl	2120(%edi,%eax,4),%eax
450238405Sjkim	xorl	%eax,%esi
45195967Speter	movl	3144(%edi,%ebx,4),%ebp
452238405Sjkim	addl	%ebp,%esi
453238405Sjkim	xorl	%eax,%eax
454238405Sjkim	xorl	%esi,%edx
45595967Speter
456127326Smarkm
457238405Sjkim	rorl	$16,%edx
458238405Sjkim	movl	44(%edi),%esi
459238405Sjkim	movb	%dh,%al
460238405Sjkim	movb	%dl,%bl
461238405Sjkim	rorl	$16,%edx
462238405Sjkim	xorl	%esi,%ecx
46395967Speter	movl	72(%edi,%eax,4),%esi
46495967Speter	movl	1096(%edi,%ebx,4),%ebp
465238405Sjkim	movb	%dh,%al
466238405Sjkim	movb	%dl,%bl
467238405Sjkim	addl	%ebp,%esi
46895967Speter	movl	2120(%edi,%eax,4),%eax
469238405Sjkim	xorl	%eax,%esi
47095967Speter	movl	3144(%edi,%ebx,4),%ebp
471238405Sjkim	addl	%ebp,%esi
472238405Sjkim	xorl	%eax,%eax
473238405Sjkim	xorl	%esi,%ecx
47495967Speter
475127326Smarkm
476238405Sjkim	rorl	$16,%ecx
477238405Sjkim	movl	40(%edi),%esi
478238405Sjkim	movb	%ch,%al
479238405Sjkim	movb	%cl,%bl
480238405Sjkim	rorl	$16,%ecx
481238405Sjkim	xorl	%esi,%edx
48295967Speter	movl	72(%edi,%eax,4),%esi
48395967Speter	movl	1096(%edi,%ebx,4),%ebp
484238405Sjkim	movb	%ch,%al
485238405Sjkim	movb	%cl,%bl
486238405Sjkim	addl	%ebp,%esi
48795967Speter	movl	2120(%edi,%eax,4),%eax
488238405Sjkim	xorl	%eax,%esi
48995967Speter	movl	3144(%edi,%ebx,4),%ebp
490238405Sjkim	addl	%ebp,%esi
491238405Sjkim	xorl	%eax,%eax
492238405Sjkim	xorl	%esi,%edx
49395967Speter
494127326Smarkm
495238405Sjkim	rorl	$16,%edx
496238405Sjkim	movl	36(%edi),%esi
497238405Sjkim	movb	%dh,%al
498238405Sjkim	movb	%dl,%bl
499238405Sjkim	rorl	$16,%edx
500238405Sjkim	xorl	%esi,%ecx
50195967Speter	movl	72(%edi,%eax,4),%esi
50295967Speter	movl	1096(%edi,%ebx,4),%ebp
503238405Sjkim	movb	%dh,%al
504238405Sjkim	movb	%dl,%bl
505238405Sjkim	addl	%ebp,%esi
50695967Speter	movl	2120(%edi,%eax,4),%eax
507238405Sjkim	xorl	%eax,%esi
50895967Speter	movl	3144(%edi,%ebx,4),%ebp
509238405Sjkim	addl	%ebp,%esi
510238405Sjkim	xorl	%eax,%eax
511238405Sjkim	xorl	%esi,%ecx
51295967Speter
513127326Smarkm
514238405Sjkim	rorl	$16,%ecx
515238405Sjkim	movl	32(%edi),%esi
516238405Sjkim	movb	%ch,%al
517238405Sjkim	movb	%cl,%bl
518238405Sjkim	rorl	$16,%ecx
519238405Sjkim	xorl	%esi,%edx
52095967Speter	movl	72(%edi,%eax,4),%esi
52195967Speter	movl	1096(%edi,%ebx,4),%ebp
522238405Sjkim	movb	%ch,%al
523238405Sjkim	movb	%cl,%bl
524238405Sjkim	addl	%ebp,%esi
52595967Speter	movl	2120(%edi,%eax,4),%eax
526238405Sjkim	xorl	%eax,%esi
52795967Speter	movl	3144(%edi,%ebx,4),%ebp
528238405Sjkim	addl	%ebp,%esi
529238405Sjkim	xorl	%eax,%eax
530238405Sjkim	xorl	%esi,%edx
53195967Speter
532127326Smarkm
533238405Sjkim	rorl	$16,%edx
534238405Sjkim	movl	28(%edi),%esi
535238405Sjkim	movb	%dh,%al
536238405Sjkim	movb	%dl,%bl
537238405Sjkim	rorl	$16,%edx
538238405Sjkim	xorl	%esi,%ecx
53995967Speter	movl	72(%edi,%eax,4),%esi
54095967Speter	movl	1096(%edi,%ebx,4),%ebp
541238405Sjkim	movb	%dh,%al
542238405Sjkim	movb	%dl,%bl
543238405Sjkim	addl	%ebp,%esi
54495967Speter	movl	2120(%edi,%eax,4),%eax
545238405Sjkim	xorl	%eax,%esi
54695967Speter	movl	3144(%edi,%ebx,4),%ebp
547238405Sjkim	addl	%ebp,%esi
548238405Sjkim	xorl	%eax,%eax
549238405Sjkim	xorl	%esi,%ecx
55095967Speter
551127326Smarkm
552238405Sjkim	rorl	$16,%ecx
553238405Sjkim	movl	24(%edi),%esi
554238405Sjkim	movb	%ch,%al
555238405Sjkim	movb	%cl,%bl
556238405Sjkim	rorl	$16,%ecx
557238405Sjkim	xorl	%esi,%edx
55895967Speter	movl	72(%edi,%eax,4),%esi
55995967Speter	movl	1096(%edi,%ebx,4),%ebp
560238405Sjkim	movb	%ch,%al
561238405Sjkim	movb	%cl,%bl
562238405Sjkim	addl	%ebp,%esi
56395967Speter	movl	2120(%edi,%eax,4),%eax
564238405Sjkim	xorl	%eax,%esi
56595967Speter	movl	3144(%edi,%ebx,4),%ebp
566238405Sjkim	addl	%ebp,%esi
567238405Sjkim	xorl	%eax,%eax
568238405Sjkim	xorl	%esi,%edx
56995967Speter
570127326Smarkm
571238405Sjkim	rorl	$16,%edx
572238405Sjkim	movl	20(%edi),%esi
573238405Sjkim	movb	%dh,%al
574238405Sjkim	movb	%dl,%bl
575238405Sjkim	rorl	$16,%edx
576238405Sjkim	xorl	%esi,%ecx
57795967Speter	movl	72(%edi,%eax,4),%esi
57895967Speter	movl	1096(%edi,%ebx,4),%ebp
579238405Sjkim	movb	%dh,%al
580238405Sjkim	movb	%dl,%bl
581238405Sjkim	addl	%ebp,%esi
58295967Speter	movl	2120(%edi,%eax,4),%eax
583238405Sjkim	xorl	%eax,%esi
58495967Speter	movl	3144(%edi,%ebx,4),%ebp
585238405Sjkim	addl	%ebp,%esi
586238405Sjkim	xorl	%eax,%eax
587238405Sjkim	xorl	%esi,%ecx
58895967Speter
589127326Smarkm
590238405Sjkim	rorl	$16,%ecx
591238405Sjkim	movl	16(%edi),%esi
592238405Sjkim	movb	%ch,%al
593238405Sjkim	movb	%cl,%bl
594238405Sjkim	rorl	$16,%ecx
595238405Sjkim	xorl	%esi,%edx
59695967Speter	movl	72(%edi,%eax,4),%esi
59795967Speter	movl	1096(%edi,%ebx,4),%ebp
598238405Sjkim	movb	%ch,%al
599238405Sjkim	movb	%cl,%bl
600238405Sjkim	addl	%ebp,%esi
60195967Speter	movl	2120(%edi,%eax,4),%eax
602238405Sjkim	xorl	%eax,%esi
60395967Speter	movl	3144(%edi,%ebx,4),%ebp
604238405Sjkim	addl	%ebp,%esi
605238405Sjkim	xorl	%eax,%eax
606238405Sjkim	xorl	%esi,%edx
60795967Speter
608127326Smarkm
609238405Sjkim	rorl	$16,%edx
610238405Sjkim	movl	12(%edi),%esi
611238405Sjkim	movb	%dh,%al
612238405Sjkim	movb	%dl,%bl
613238405Sjkim	rorl	$16,%edx
614238405Sjkim	xorl	%esi,%ecx
61595967Speter	movl	72(%edi,%eax,4),%esi
61695967Speter	movl	1096(%edi,%ebx,4),%ebp
617238405Sjkim	movb	%dh,%al
618238405Sjkim	movb	%dl,%bl
619238405Sjkim	addl	%ebp,%esi
62095967Speter	movl	2120(%edi,%eax,4),%eax
621238405Sjkim	xorl	%eax,%esi
62295967Speter	movl	3144(%edi,%ebx,4),%ebp
623238405Sjkim	addl	%ebp,%esi
624238405Sjkim	xorl	%eax,%eax
625238405Sjkim	xorl	%esi,%ecx
62695967Speter
627127326Smarkm
628238405Sjkim	rorl	$16,%ecx
629238405Sjkim	movl	8(%edi),%esi
630238405Sjkim	movb	%ch,%al
631238405Sjkim	movb	%cl,%bl
632238405Sjkim	rorl	$16,%ecx
633238405Sjkim	xorl	%esi,%edx
63495967Speter	movl	72(%edi,%eax,4),%esi
63595967Speter	movl	1096(%edi,%ebx,4),%ebp
636238405Sjkim	movb	%ch,%al
637238405Sjkim	movb	%cl,%bl
638238405Sjkim	addl	%ebp,%esi
63995967Speter	movl	2120(%edi,%eax,4),%eax
640238405Sjkim	xorl	%eax,%esi
64195967Speter	movl	3144(%edi,%ebx,4),%ebp
642238405Sjkim	addl	%ebp,%esi
643238405Sjkim	xorl	%eax,%eax
644238405Sjkim	xorl	%esi,%edx
64595967Speter
646127326Smarkm
647238405Sjkim	rorl	$16,%edx
648238405Sjkim	movl	4(%edi),%esi
649238405Sjkim	movb	%dh,%al
650238405Sjkim	movb	%dl,%bl
651238405Sjkim	rorl	$16,%edx
652238405Sjkim	xorl	%esi,%ecx
65395967Speter	movl	72(%edi,%eax,4),%esi
65495967Speter	movl	1096(%edi,%ebx,4),%ebp
655238405Sjkim	movb	%dh,%al
656238405Sjkim	movb	%dl,%bl
657238405Sjkim	addl	%ebp,%esi
65895967Speter	movl	2120(%edi,%eax,4),%eax
659238405Sjkim	xorl	%eax,%esi
66095967Speter	movl	3144(%edi,%ebx,4),%ebp
661238405Sjkim	addl	%ebp,%esi
662238405Sjkim	xorl	%eax,%eax
663238405Sjkim	xorl	%esi,%ecx
664238405Sjkim	xorl	(%edi),%edx
665238405Sjkim	movl	20(%esp),%eax
666238405Sjkim	movl	%edx,(%eax)
667238405Sjkim	movl	%ecx,4(%eax)
66895967Speter	popl	%edi
66995967Speter	popl	%esi
67095967Speter	popl	%ebx
67195967Speter	popl	%ebp
67295967Speter	ret
673238405Sjkim.size	BF_decrypt,.-.L_BF_decrypt_begin
674238405Sjkim.globl	BF_cbc_encrypt
675238405Sjkim.type	BF_cbc_encrypt,@function
676238405Sjkim.align	16
67795967SpeterBF_cbc_encrypt:
678238405Sjkim.L_BF_cbc_encrypt_begin:
67995967Speter
68095967Speter	pushl	%ebp
68195967Speter	pushl	%ebx
68295967Speter	pushl	%esi
68395967Speter	pushl	%edi
684238405Sjkim	movl	28(%esp),%ebp
685127326Smarkm
686238405Sjkim	movl	36(%esp),%ebx
687238405Sjkim	movl	(%ebx),%esi
688238405Sjkim	movl	4(%ebx),%edi
68995967Speter	pushl	%edi
69095967Speter	pushl	%esi
69195967Speter	pushl	%edi
69295967Speter	pushl	%esi
693238405Sjkim	movl	%esp,%ebx
694238405Sjkim	movl	36(%esp),%esi
695238405Sjkim	movl	40(%esp),%edi
696127326Smarkm
697238405Sjkim	movl	56(%esp),%ecx
698127326Smarkm
699238405Sjkim	movl	48(%esp),%eax
70095967Speter	pushl	%eax
70195967Speter	pushl	%ebx
702238405Sjkim	cmpl	$0,%ecx
70395967Speter	jz	.L000decrypt
704238405Sjkim	andl	$4294967288,%ebp
705238405Sjkim	movl	8(%esp),%eax
706238405Sjkim	movl	12(%esp),%ebx
70795967Speter	jz	.L001encrypt_finish
70895967Speter.L002encrypt_loop:
709238405Sjkim	movl	(%esi),%ecx
710238405Sjkim	movl	4(%esi),%edx
711238405Sjkim	xorl	%ecx,%eax
712238405Sjkim	xorl	%edx,%ebx
713238405Sjkim	bswap	%eax
714238405Sjkim	bswap	%ebx
715238405Sjkim	movl	%eax,8(%esp)
716238405Sjkim	movl	%ebx,12(%esp)
717238405Sjkim	call	.L_BF_encrypt_begin
718238405Sjkim	movl	8(%esp),%eax
719238405Sjkim	movl	12(%esp),%ebx
720238405Sjkim	bswap	%eax
721238405Sjkim	bswap	%ebx
722238405Sjkim	movl	%eax,(%edi)
723238405Sjkim	movl	%ebx,4(%edi)
724238405Sjkim	addl	$8,%esi
725238405Sjkim	addl	$8,%edi
726238405Sjkim	subl	$8,%ebp
72795967Speter	jnz	.L002encrypt_loop
72895967Speter.L001encrypt_finish:
729238405Sjkim	movl	52(%esp),%ebp
730238405Sjkim	andl	$7,%ebp
73195967Speter	jz	.L003finish
732127326Smarkm	call	.L004PIC_point
733127326Smarkm.L004PIC_point:
734127326Smarkm	popl	%edx
735127326Smarkm	leal	.L005cbc_enc_jmp_table-.L004PIC_point(%edx),%ecx
736238405Sjkim	movl	(%ecx,%ebp,4),%ebp
737238405Sjkim	addl	%edx,%ebp
738238405Sjkim	xorl	%ecx,%ecx
739238405Sjkim	xorl	%edx,%edx
74095967Speter	jmp	*%ebp
741127326Smarkm.L006ej7:
742238405Sjkim	movb	6(%esi),%dh
743238405Sjkim	shll	$8,%edx
744127326Smarkm.L007ej6:
745238405Sjkim	movb	5(%esi),%dh
746127326Smarkm.L008ej5:
747238405Sjkim	movb	4(%esi),%dl
748127326Smarkm.L009ej4:
749238405Sjkim	movl	(%esi),%ecx
750127326Smarkm	jmp	.L010ejend
751127326Smarkm.L011ej3:
752238405Sjkim	movb	2(%esi),%ch
753238405Sjkim	shll	$8,%ecx
754127326Smarkm.L012ej2:
755238405Sjkim	movb	1(%esi),%ch
756127326Smarkm.L013ej1:
757238405Sjkim	movb	(%esi),%cl
758127326Smarkm.L010ejend:
759238405Sjkim	xorl	%ecx,%eax
760238405Sjkim	xorl	%edx,%ebx
761238405Sjkim	bswap	%eax
762238405Sjkim	bswap	%ebx
763238405Sjkim	movl	%eax,8(%esp)
764238405Sjkim	movl	%ebx,12(%esp)
765238405Sjkim	call	.L_BF_encrypt_begin
766238405Sjkim	movl	8(%esp),%eax
767238405Sjkim	movl	12(%esp),%ebx
768238405Sjkim	bswap	%eax
769238405Sjkim	bswap	%ebx
770238405Sjkim	movl	%eax,(%edi)
771238405Sjkim	movl	%ebx,4(%edi)
77295967Speter	jmp	.L003finish
77395967Speter.L000decrypt:
774238405Sjkim	andl	$4294967288,%ebp
775238405Sjkim	movl	16(%esp),%eax
776238405Sjkim	movl	20(%esp),%ebx
777127326Smarkm	jz	.L014decrypt_finish
778127326Smarkm.L015decrypt_loop:
779238405Sjkim	movl	(%esi),%eax
780238405Sjkim	movl	4(%esi),%ebx
781238405Sjkim	bswap	%eax
782238405Sjkim	bswap	%ebx
783238405Sjkim	movl	%eax,8(%esp)
784238405Sjkim	movl	%ebx,12(%esp)
785238405Sjkim	call	.L_BF_decrypt_begin
786238405Sjkim	movl	8(%esp),%eax
787238405Sjkim	movl	12(%esp),%ebx
788238405Sjkim	bswap	%eax
789238405Sjkim	bswap	%ebx
790238405Sjkim	movl	16(%esp),%ecx
791238405Sjkim	movl	20(%esp),%edx
792238405Sjkim	xorl	%eax,%ecx
793238405Sjkim	xorl	%ebx,%edx
794238405Sjkim	movl	(%esi),%eax
795238405Sjkim	movl	4(%esi),%ebx
796238405Sjkim	movl	%ecx,(%edi)
797238405Sjkim	movl	%edx,4(%edi)
798238405Sjkim	movl	%eax,16(%esp)
799238405Sjkim	movl	%ebx,20(%esp)
800238405Sjkim	addl	$8,%esi
801238405Sjkim	addl	$8,%edi
802238405Sjkim	subl	$8,%ebp
803127326Smarkm	jnz	.L015decrypt_loop
804127326Smarkm.L014decrypt_finish:
805238405Sjkim	movl	52(%esp),%ebp
806238405Sjkim	andl	$7,%ebp
80795967Speter	jz	.L003finish
808238405Sjkim	movl	(%esi),%eax
809238405Sjkim	movl	4(%esi),%ebx
810238405Sjkim	bswap	%eax
811238405Sjkim	bswap	%ebx
812238405Sjkim	movl	%eax,8(%esp)
813238405Sjkim	movl	%ebx,12(%esp)
814238405Sjkim	call	.L_BF_decrypt_begin
815238405Sjkim	movl	8(%esp),%eax
816238405Sjkim	movl	12(%esp),%ebx
817238405Sjkim	bswap	%eax
818238405Sjkim	bswap	%ebx
819238405Sjkim	movl	16(%esp),%ecx
820238405Sjkim	movl	20(%esp),%edx
821238405Sjkim	xorl	%eax,%ecx
822238405Sjkim	xorl	%ebx,%edx
823238405Sjkim	movl	(%esi),%eax
824238405Sjkim	movl	4(%esi),%ebx
825127326Smarkm.L016dj7:
826238405Sjkim	rorl	$16,%edx
827238405Sjkim	movb	%dl,6(%edi)
828238405Sjkim	shrl	$16,%edx
829127326Smarkm.L017dj6:
830238405Sjkim	movb	%dh,5(%edi)
831127326Smarkm.L018dj5:
832238405Sjkim	movb	%dl,4(%edi)
833127326Smarkm.L019dj4:
834238405Sjkim	movl	%ecx,(%edi)
835127326Smarkm	jmp	.L020djend
836127326Smarkm.L021dj3:
837238405Sjkim	rorl	$16,%ecx
838238405Sjkim	movb	%cl,2(%edi)
839238405Sjkim	shll	$16,%ecx
840127326Smarkm.L022dj2:
841238405Sjkim	movb	%ch,1(%esi)
842127326Smarkm.L023dj1:
843238405Sjkim	movb	%cl,(%esi)
844127326Smarkm.L020djend:
84595967Speter	jmp	.L003finish
84695967Speter.L003finish:
847238405Sjkim	movl	60(%esp),%ecx
848238405Sjkim	addl	$24,%esp
849238405Sjkim	movl	%eax,(%ecx)
850238405Sjkim	movl	%ebx,4(%ecx)
85195967Speter	popl	%edi
85295967Speter	popl	%esi
85395967Speter	popl	%ebx
85495967Speter	popl	%ebp
85595967Speter	ret
856238405Sjkim.align	64
857127326Smarkm.L005cbc_enc_jmp_table:
858238405Sjkim.long	0
859238405Sjkim.long	.L013ej1-.L004PIC_point
860238405Sjkim.long	.L012ej2-.L004PIC_point
861238405Sjkim.long	.L011ej3-.L004PIC_point
862238405Sjkim.long	.L009ej4-.L004PIC_point
863238405Sjkim.long	.L008ej5-.L004PIC_point
864238405Sjkim.long	.L007ej6-.L004PIC_point
865238405Sjkim.long	.L006ej7-.L004PIC_point
866238405Sjkim.align	64
867238405Sjkim.size	BF_cbc_encrypt,.-.L_BF_cbc_encrypt_begin
868299966Sjkim#else
869299966Sjkim.file	"bf-686.S"
870299966Sjkim.text
871299966Sjkim.globl	BF_encrypt
872299966Sjkim.type	BF_encrypt,@function
873299966Sjkim.align	16
874299966SjkimBF_encrypt:
875299966Sjkim.L_BF_encrypt_begin:
876299966Sjkim	pushl	%ebp
877299966Sjkim	pushl	%ebx
878299966Sjkim	pushl	%esi
879299966Sjkim	pushl	%edi
880299966Sjkim
881299966Sjkim
882299966Sjkim	movl	20(%esp),%eax
883299966Sjkim	movl	(%eax),%ecx
884299966Sjkim	movl	4(%eax),%edx
885299966Sjkim
886299966Sjkim
887299966Sjkim	movl	24(%esp),%edi
888299966Sjkim	xorl	%eax,%eax
889299966Sjkim	xorl	%ebx,%ebx
890299966Sjkim	xorl	(%edi),%ecx
891299966Sjkim
892299966Sjkim
893299966Sjkim	rorl	$16,%ecx
894299966Sjkim	movl	4(%edi),%esi
895299966Sjkim	movb	%ch,%al
896299966Sjkim	movb	%cl,%bl
897299966Sjkim	rorl	$16,%ecx
898299966Sjkim	xorl	%esi,%edx
899299966Sjkim	movl	72(%edi,%eax,4),%esi
900299966Sjkim	movl	1096(%edi,%ebx,4),%ebp
901299966Sjkim	movb	%ch,%al
902299966Sjkim	movb	%cl,%bl
903299966Sjkim	addl	%ebp,%esi
904299966Sjkim	movl	2120(%edi,%eax,4),%eax
905299966Sjkim	xorl	%eax,%esi
906299966Sjkim	movl	3144(%edi,%ebx,4),%ebp
907299966Sjkim	addl	%ebp,%esi
908299966Sjkim	xorl	%eax,%eax
909299966Sjkim	xorl	%esi,%edx
910299966Sjkim
911299966Sjkim
912299966Sjkim	rorl	$16,%edx
913299966Sjkim	movl	8(%edi),%esi
914299966Sjkim	movb	%dh,%al
915299966Sjkim	movb	%dl,%bl
916299966Sjkim	rorl	$16,%edx
917299966Sjkim	xorl	%esi,%ecx
918299966Sjkim	movl	72(%edi,%eax,4),%esi
919299966Sjkim	movl	1096(%edi,%ebx,4),%ebp
920299966Sjkim	movb	%dh,%al
921299966Sjkim	movb	%dl,%bl
922299966Sjkim	addl	%ebp,%esi
923299966Sjkim	movl	2120(%edi,%eax,4),%eax
924299966Sjkim	xorl	%eax,%esi
925299966Sjkim	movl	3144(%edi,%ebx,4),%ebp
926299966Sjkim	addl	%ebp,%esi
927299966Sjkim	xorl	%eax,%eax
928299966Sjkim	xorl	%esi,%ecx
929299966Sjkim
930299966Sjkim
931299966Sjkim	rorl	$16,%ecx
932299966Sjkim	movl	12(%edi),%esi
933299966Sjkim	movb	%ch,%al
934299966Sjkim	movb	%cl,%bl
935299966Sjkim	rorl	$16,%ecx
936299966Sjkim	xorl	%esi,%edx
937299966Sjkim	movl	72(%edi,%eax,4),%esi
938299966Sjkim	movl	1096(%edi,%ebx,4),%ebp
939299966Sjkim	movb	%ch,%al
940299966Sjkim	movb	%cl,%bl
941299966Sjkim	addl	%ebp,%esi
942299966Sjkim	movl	2120(%edi,%eax,4),%eax
943299966Sjkim	xorl	%eax,%esi
944299966Sjkim	movl	3144(%edi,%ebx,4),%ebp
945299966Sjkim	addl	%ebp,%esi
946299966Sjkim	xorl	%eax,%eax
947299966Sjkim	xorl	%esi,%edx
948299966Sjkim
949299966Sjkim
950299966Sjkim	rorl	$16,%edx
951299966Sjkim	movl	16(%edi),%esi
952299966Sjkim	movb	%dh,%al
953299966Sjkim	movb	%dl,%bl
954299966Sjkim	rorl	$16,%edx
955299966Sjkim	xorl	%esi,%ecx
956299966Sjkim	movl	72(%edi,%eax,4),%esi
957299966Sjkim	movl	1096(%edi,%ebx,4),%ebp
958299966Sjkim	movb	%dh,%al
959299966Sjkim	movb	%dl,%bl
960299966Sjkim	addl	%ebp,%esi
961299966Sjkim	movl	2120(%edi,%eax,4),%eax
962299966Sjkim	xorl	%eax,%esi
963299966Sjkim	movl	3144(%edi,%ebx,4),%ebp
964299966Sjkim	addl	%ebp,%esi
965299966Sjkim	xorl	%eax,%eax
966299966Sjkim	xorl	%esi,%ecx
967299966Sjkim
968299966Sjkim
969299966Sjkim	rorl	$16,%ecx
970299966Sjkim	movl	20(%edi),%esi
971299966Sjkim	movb	%ch,%al
972299966Sjkim	movb	%cl,%bl
973299966Sjkim	rorl	$16,%ecx
974299966Sjkim	xorl	%esi,%edx
975299966Sjkim	movl	72(%edi,%eax,4),%esi
976299966Sjkim	movl	1096(%edi,%ebx,4),%ebp
977299966Sjkim	movb	%ch,%al
978299966Sjkim	movb	%cl,%bl
979299966Sjkim	addl	%ebp,%esi
980299966Sjkim	movl	2120(%edi,%eax,4),%eax
981299966Sjkim	xorl	%eax,%esi
982299966Sjkim	movl	3144(%edi,%ebx,4),%ebp
983299966Sjkim	addl	%ebp,%esi
984299966Sjkim	xorl	%eax,%eax
985299966Sjkim	xorl	%esi,%edx
986299966Sjkim
987299966Sjkim
988299966Sjkim	rorl	$16,%edx
989299966Sjkim	movl	24(%edi),%esi
990299966Sjkim	movb	%dh,%al
991299966Sjkim	movb	%dl,%bl
992299966Sjkim	rorl	$16,%edx
993299966Sjkim	xorl	%esi,%ecx
994299966Sjkim	movl	72(%edi,%eax,4),%esi
995299966Sjkim	movl	1096(%edi,%ebx,4),%ebp
996299966Sjkim	movb	%dh,%al
997299966Sjkim	movb	%dl,%bl
998299966Sjkim	addl	%ebp,%esi
999299966Sjkim	movl	2120(%edi,%eax,4),%eax
1000299966Sjkim	xorl	%eax,%esi
1001299966Sjkim	movl	3144(%edi,%ebx,4),%ebp
1002299966Sjkim	addl	%ebp,%esi
1003299966Sjkim	xorl	%eax,%eax
1004299966Sjkim	xorl	%esi,%ecx
1005299966Sjkim
1006299966Sjkim
1007299966Sjkim	rorl	$16,%ecx
1008299966Sjkim	movl	28(%edi),%esi
1009299966Sjkim	movb	%ch,%al
1010299966Sjkim	movb	%cl,%bl
1011299966Sjkim	rorl	$16,%ecx
1012299966Sjkim	xorl	%esi,%edx
1013299966Sjkim	movl	72(%edi,%eax,4),%esi
1014299966Sjkim	movl	1096(%edi,%ebx,4),%ebp
1015299966Sjkim	movb	%ch,%al
1016299966Sjkim	movb	%cl,%bl
1017299966Sjkim	addl	%ebp,%esi
1018299966Sjkim	movl	2120(%edi,%eax,4),%eax
1019299966Sjkim	xorl	%eax,%esi
1020299966Sjkim	movl	3144(%edi,%ebx,4),%ebp
1021299966Sjkim	addl	%ebp,%esi
1022299966Sjkim	xorl	%eax,%eax
1023299966Sjkim	xorl	%esi,%edx
1024299966Sjkim
1025299966Sjkim
1026299966Sjkim	rorl	$16,%edx
1027299966Sjkim	movl	32(%edi),%esi
1028299966Sjkim	movb	%dh,%al
1029299966Sjkim	movb	%dl,%bl
1030299966Sjkim	rorl	$16,%edx
1031299966Sjkim	xorl	%esi,%ecx
1032299966Sjkim	movl	72(%edi,%eax,4),%esi
1033299966Sjkim	movl	1096(%edi,%ebx,4),%ebp
1034299966Sjkim	movb	%dh,%al
1035299966Sjkim	movb	%dl,%bl
1036299966Sjkim	addl	%ebp,%esi
1037299966Sjkim	movl	2120(%edi,%eax,4),%eax
1038299966Sjkim	xorl	%eax,%esi
1039299966Sjkim	movl	3144(%edi,%ebx,4),%ebp
1040299966Sjkim	addl	%ebp,%esi
1041299966Sjkim	xorl	%eax,%eax
1042299966Sjkim	xorl	%esi,%ecx
1043299966Sjkim
1044299966Sjkim
1045299966Sjkim	rorl	$16,%ecx
1046299966Sjkim	movl	36(%edi),%esi
1047299966Sjkim	movb	%ch,%al
1048299966Sjkim	movb	%cl,%bl
1049299966Sjkim	rorl	$16,%ecx
1050299966Sjkim	xorl	%esi,%edx
1051299966Sjkim	movl	72(%edi,%eax,4),%esi
1052299966Sjkim	movl	1096(%edi,%ebx,4),%ebp
1053299966Sjkim	movb	%ch,%al
1054299966Sjkim	movb	%cl,%bl
1055299966Sjkim	addl	%ebp,%esi
1056299966Sjkim	movl	2120(%edi,%eax,4),%eax
1057299966Sjkim	xorl	%eax,%esi
1058299966Sjkim	movl	3144(%edi,%ebx,4),%ebp
1059299966Sjkim	addl	%ebp,%esi
1060299966Sjkim	xorl	%eax,%eax
1061299966Sjkim	xorl	%esi,%edx
1062299966Sjkim
1063299966Sjkim
1064299966Sjkim	rorl	$16,%edx
1065299966Sjkim	movl	40(%edi),%esi
1066299966Sjkim	movb	%dh,%al
1067299966Sjkim	movb	%dl,%bl
1068299966Sjkim	rorl	$16,%edx
1069299966Sjkim	xorl	%esi,%ecx
1070299966Sjkim	movl	72(%edi,%eax,4),%esi
1071299966Sjkim	movl	1096(%edi,%ebx,4),%ebp
1072299966Sjkim	movb	%dh,%al
1073299966Sjkim	movb	%dl,%bl
1074299966Sjkim	addl	%ebp,%esi
1075299966Sjkim	movl	2120(%edi,%eax,4),%eax
1076299966Sjkim	xorl	%eax,%esi
1077299966Sjkim	movl	3144(%edi,%ebx,4),%ebp
1078299966Sjkim	addl	%ebp,%esi
1079299966Sjkim	xorl	%eax,%eax
1080299966Sjkim	xorl	%esi,%ecx
1081299966Sjkim
1082299966Sjkim
1083299966Sjkim	rorl	$16,%ecx
1084299966Sjkim	movl	44(%edi),%esi
1085299966Sjkim	movb	%ch,%al
1086299966Sjkim	movb	%cl,%bl
1087299966Sjkim	rorl	$16,%ecx
1088299966Sjkim	xorl	%esi,%edx
1089299966Sjkim	movl	72(%edi,%eax,4),%esi
1090299966Sjkim	movl	1096(%edi,%ebx,4),%ebp
1091299966Sjkim	movb	%ch,%al
1092299966Sjkim	movb	%cl,%bl
1093299966Sjkim	addl	%ebp,%esi
1094299966Sjkim	movl	2120(%edi,%eax,4),%eax
1095299966Sjkim	xorl	%eax,%esi
1096299966Sjkim	movl	3144(%edi,%ebx,4),%ebp
1097299966Sjkim	addl	%ebp,%esi
1098299966Sjkim	xorl	%eax,%eax
1099299966Sjkim	xorl	%esi,%edx
1100299966Sjkim
1101299966Sjkim
1102299966Sjkim	rorl	$16,%edx
1103299966Sjkim	movl	48(%edi),%esi
1104299966Sjkim	movb	%dh,%al
1105299966Sjkim	movb	%dl,%bl
1106299966Sjkim	rorl	$16,%edx
1107299966Sjkim	xorl	%esi,%ecx
1108299966Sjkim	movl	72(%edi,%eax,4),%esi
1109299966Sjkim	movl	1096(%edi,%ebx,4),%ebp
1110299966Sjkim	movb	%dh,%al
1111299966Sjkim	movb	%dl,%bl
1112299966Sjkim	addl	%ebp,%esi
1113299966Sjkim	movl	2120(%edi,%eax,4),%eax
1114299966Sjkim	xorl	%eax,%esi
1115299966Sjkim	movl	3144(%edi,%ebx,4),%ebp
1116299966Sjkim	addl	%ebp,%esi
1117299966Sjkim	xorl	%eax,%eax
1118299966Sjkim	xorl	%esi,%ecx
1119299966Sjkim
1120299966Sjkim
1121299966Sjkim	rorl	$16,%ecx
1122299966Sjkim	movl	52(%edi),%esi
1123299966Sjkim	movb	%ch,%al
1124299966Sjkim	movb	%cl,%bl
1125299966Sjkim	rorl	$16,%ecx
1126299966Sjkim	xorl	%esi,%edx
1127299966Sjkim	movl	72(%edi,%eax,4),%esi
1128299966Sjkim	movl	1096(%edi,%ebx,4),%ebp
1129299966Sjkim	movb	%ch,%al
1130299966Sjkim	movb	%cl,%bl
1131299966Sjkim	addl	%ebp,%esi
1132299966Sjkim	movl	2120(%edi,%eax,4),%eax
1133299966Sjkim	xorl	%eax,%esi
1134299966Sjkim	movl	3144(%edi,%ebx,4),%ebp
1135299966Sjkim	addl	%ebp,%esi
1136299966Sjkim	xorl	%eax,%eax
1137299966Sjkim	xorl	%esi,%edx
1138299966Sjkim
1139299966Sjkim
1140299966Sjkim	rorl	$16,%edx
1141299966Sjkim	movl	56(%edi),%esi
1142299966Sjkim	movb	%dh,%al
1143299966Sjkim	movb	%dl,%bl
1144299966Sjkim	rorl	$16,%edx
1145299966Sjkim	xorl	%esi,%ecx
1146299966Sjkim	movl	72(%edi,%eax,4),%esi
1147299966Sjkim	movl	1096(%edi,%ebx,4),%ebp
1148299966Sjkim	movb	%dh,%al
1149299966Sjkim	movb	%dl,%bl
1150299966Sjkim	addl	%ebp,%esi
1151299966Sjkim	movl	2120(%edi,%eax,4),%eax
1152299966Sjkim	xorl	%eax,%esi
1153299966Sjkim	movl	3144(%edi,%ebx,4),%ebp
1154299966Sjkim	addl	%ebp,%esi
1155299966Sjkim	xorl	%eax,%eax
1156299966Sjkim	xorl	%esi,%ecx
1157299966Sjkim
1158299966Sjkim
1159299966Sjkim	rorl	$16,%ecx
1160299966Sjkim	movl	60(%edi),%esi
1161299966Sjkim	movb	%ch,%al
1162299966Sjkim	movb	%cl,%bl
1163299966Sjkim	rorl	$16,%ecx
1164299966Sjkim	xorl	%esi,%edx
1165299966Sjkim	movl	72(%edi,%eax,4),%esi
1166299966Sjkim	movl	1096(%edi,%ebx,4),%ebp
1167299966Sjkim	movb	%ch,%al
1168299966Sjkim	movb	%cl,%bl
1169299966Sjkim	addl	%ebp,%esi
1170299966Sjkim	movl	2120(%edi,%eax,4),%eax
1171299966Sjkim	xorl	%eax,%esi
1172299966Sjkim	movl	3144(%edi,%ebx,4),%ebp
1173299966Sjkim	addl	%ebp,%esi
1174299966Sjkim	xorl	%eax,%eax
1175299966Sjkim	xorl	%esi,%edx
1176299966Sjkim
1177299966Sjkim
1178299966Sjkim	rorl	$16,%edx
1179299966Sjkim	movl	64(%edi),%esi
1180299966Sjkim	movb	%dh,%al
1181299966Sjkim	movb	%dl,%bl
1182299966Sjkim	rorl	$16,%edx
1183299966Sjkim	xorl	%esi,%ecx
1184299966Sjkim	movl	72(%edi,%eax,4),%esi
1185299966Sjkim	movl	1096(%edi,%ebx,4),%ebp
1186299966Sjkim	movb	%dh,%al
1187299966Sjkim	movb	%dl,%bl
1188299966Sjkim	addl	%ebp,%esi
1189299966Sjkim	movl	2120(%edi,%eax,4),%eax
1190299966Sjkim	xorl	%eax,%esi
1191299966Sjkim	movl	3144(%edi,%ebx,4),%ebp
1192299966Sjkim	addl	%ebp,%esi
1193299966Sjkim	xorl	%eax,%eax
1194299966Sjkim	xorl	%esi,%ecx
1195299966Sjkim	xorl	68(%edi),%edx
1196299966Sjkim	movl	20(%esp),%eax
1197299966Sjkim	movl	%edx,(%eax)
1198299966Sjkim	movl	%ecx,4(%eax)
1199299966Sjkim	popl	%edi
1200299966Sjkim	popl	%esi
1201299966Sjkim	popl	%ebx
1202299966Sjkim	popl	%ebp
1203299966Sjkim	ret
1204299966Sjkim.size	BF_encrypt,.-.L_BF_encrypt_begin
1205299966Sjkim.globl	BF_decrypt
1206299966Sjkim.type	BF_decrypt,@function
1207299966Sjkim.align	16
1208299966SjkimBF_decrypt:
1209299966Sjkim.L_BF_decrypt_begin:
1210299966Sjkim	pushl	%ebp
1211299966Sjkim	pushl	%ebx
1212299966Sjkim	pushl	%esi
1213299966Sjkim	pushl	%edi
1214299966Sjkim
1215299966Sjkim
1216299966Sjkim	movl	20(%esp),%eax
1217299966Sjkim	movl	(%eax),%ecx
1218299966Sjkim	movl	4(%eax),%edx
1219299966Sjkim
1220299966Sjkim
1221299966Sjkim	movl	24(%esp),%edi
1222299966Sjkim	xorl	%eax,%eax
1223299966Sjkim	xorl	%ebx,%ebx
1224299966Sjkim	xorl	68(%edi),%ecx
1225299966Sjkim
1226299966Sjkim
1227299966Sjkim	rorl	$16,%ecx
1228299966Sjkim	movl	64(%edi),%esi
1229299966Sjkim	movb	%ch,%al
1230299966Sjkim	movb	%cl,%bl
1231299966Sjkim	rorl	$16,%ecx
1232299966Sjkim	xorl	%esi,%edx
1233299966Sjkim	movl	72(%edi,%eax,4),%esi
1234299966Sjkim	movl	1096(%edi,%ebx,4),%ebp
1235299966Sjkim	movb	%ch,%al
1236299966Sjkim	movb	%cl,%bl
1237299966Sjkim	addl	%ebp,%esi
1238299966Sjkim	movl	2120(%edi,%eax,4),%eax
1239299966Sjkim	xorl	%eax,%esi
1240299966Sjkim	movl	3144(%edi,%ebx,4),%ebp
1241299966Sjkim	addl	%ebp,%esi
1242299966Sjkim	xorl	%eax,%eax
1243299966Sjkim	xorl	%esi,%edx
1244299966Sjkim
1245299966Sjkim
1246299966Sjkim	rorl	$16,%edx
1247299966Sjkim	movl	60(%edi),%esi
1248299966Sjkim	movb	%dh,%al
1249299966Sjkim	movb	%dl,%bl
1250299966Sjkim	rorl	$16,%edx
1251299966Sjkim	xorl	%esi,%ecx
1252299966Sjkim	movl	72(%edi,%eax,4),%esi
1253299966Sjkim	movl	1096(%edi,%ebx,4),%ebp
1254299966Sjkim	movb	%dh,%al
1255299966Sjkim	movb	%dl,%bl
1256299966Sjkim	addl	%ebp,%esi
1257299966Sjkim	movl	2120(%edi,%eax,4),%eax
1258299966Sjkim	xorl	%eax,%esi
1259299966Sjkim	movl	3144(%edi,%ebx,4),%ebp
1260299966Sjkim	addl	%ebp,%esi
1261299966Sjkim	xorl	%eax,%eax
1262299966Sjkim	xorl	%esi,%ecx
1263299966Sjkim
1264299966Sjkim
1265299966Sjkim	rorl	$16,%ecx
1266299966Sjkim	movl	56(%edi),%esi
1267299966Sjkim	movb	%ch,%al
1268299966Sjkim	movb	%cl,%bl
1269299966Sjkim	rorl	$16,%ecx
1270299966Sjkim	xorl	%esi,%edx
1271299966Sjkim	movl	72(%edi,%eax,4),%esi
1272299966Sjkim	movl	1096(%edi,%ebx,4),%ebp
1273299966Sjkim	movb	%ch,%al
1274299966Sjkim	movb	%cl,%bl
1275299966Sjkim	addl	%ebp,%esi
1276299966Sjkim	movl	2120(%edi,%eax,4),%eax
1277299966Sjkim	xorl	%eax,%esi
1278299966Sjkim	movl	3144(%edi,%ebx,4),%ebp
1279299966Sjkim	addl	%ebp,%esi
1280299966Sjkim	xorl	%eax,%eax
1281299966Sjkim	xorl	%esi,%edx
1282299966Sjkim
1283299966Sjkim
1284299966Sjkim	rorl	$16,%edx
1285299966Sjkim	movl	52(%edi),%esi
1286299966Sjkim	movb	%dh,%al
1287299966Sjkim	movb	%dl,%bl
1288299966Sjkim	rorl	$16,%edx
1289299966Sjkim	xorl	%esi,%ecx
1290299966Sjkim	movl	72(%edi,%eax,4),%esi
1291299966Sjkim	movl	1096(%edi,%ebx,4),%ebp
1292299966Sjkim	movb	%dh,%al
1293299966Sjkim	movb	%dl,%bl
1294299966Sjkim	addl	%ebp,%esi
1295299966Sjkim	movl	2120(%edi,%eax,4),%eax
1296299966Sjkim	xorl	%eax,%esi
1297299966Sjkim	movl	3144(%edi,%ebx,4),%ebp
1298299966Sjkim	addl	%ebp,%esi
1299299966Sjkim	xorl	%eax,%eax
1300299966Sjkim	xorl	%esi,%ecx
1301299966Sjkim
1302299966Sjkim
1303299966Sjkim	rorl	$16,%ecx
1304299966Sjkim	movl	48(%edi),%esi
1305299966Sjkim	movb	%ch,%al
1306299966Sjkim	movb	%cl,%bl
1307299966Sjkim	rorl	$16,%ecx
1308299966Sjkim	xorl	%esi,%edx
1309299966Sjkim	movl	72(%edi,%eax,4),%esi
1310299966Sjkim	movl	1096(%edi,%ebx,4),%ebp
1311299966Sjkim	movb	%ch,%al
1312299966Sjkim	movb	%cl,%bl
1313299966Sjkim	addl	%ebp,%esi
1314299966Sjkim	movl	2120(%edi,%eax,4),%eax
1315299966Sjkim	xorl	%eax,%esi
1316299966Sjkim	movl	3144(%edi,%ebx,4),%ebp
1317299966Sjkim	addl	%ebp,%esi
1318299966Sjkim	xorl	%eax,%eax
1319299966Sjkim	xorl	%esi,%edx
1320299966Sjkim
1321299966Sjkim
1322299966Sjkim	rorl	$16,%edx
1323299966Sjkim	movl	44(%edi),%esi
1324299966Sjkim	movb	%dh,%al
1325299966Sjkim	movb	%dl,%bl
1326299966Sjkim	rorl	$16,%edx
1327299966Sjkim	xorl	%esi,%ecx
1328299966Sjkim	movl	72(%edi,%eax,4),%esi
1329299966Sjkim	movl	1096(%edi,%ebx,4),%ebp
1330299966Sjkim	movb	%dh,%al
1331299966Sjkim	movb	%dl,%bl
1332299966Sjkim	addl	%ebp,%esi
1333299966Sjkim	movl	2120(%edi,%eax,4),%eax
1334299966Sjkim	xorl	%eax,%esi
1335299966Sjkim	movl	3144(%edi,%ebx,4),%ebp
1336299966Sjkim	addl	%ebp,%esi
1337299966Sjkim	xorl	%eax,%eax
1338299966Sjkim	xorl	%esi,%ecx
1339299966Sjkim
1340299966Sjkim
1341299966Sjkim	rorl	$16,%ecx
1342299966Sjkim	movl	40(%edi),%esi
1343299966Sjkim	movb	%ch,%al
1344299966Sjkim	movb	%cl,%bl
1345299966Sjkim	rorl	$16,%ecx
1346299966Sjkim	xorl	%esi,%edx
1347299966Sjkim	movl	72(%edi,%eax,4),%esi
1348299966Sjkim	movl	1096(%edi,%ebx,4),%ebp
1349299966Sjkim	movb	%ch,%al
1350299966Sjkim	movb	%cl,%bl
1351299966Sjkim	addl	%ebp,%esi
1352299966Sjkim	movl	2120(%edi,%eax,4),%eax
1353299966Sjkim	xorl	%eax,%esi
1354299966Sjkim	movl	3144(%edi,%ebx,4),%ebp
1355299966Sjkim	addl	%ebp,%esi
1356299966Sjkim	xorl	%eax,%eax
1357299966Sjkim	xorl	%esi,%edx
1358299966Sjkim
1359299966Sjkim
1360299966Sjkim	rorl	$16,%edx
1361299966Sjkim	movl	36(%edi),%esi
1362299966Sjkim	movb	%dh,%al
1363299966Sjkim	movb	%dl,%bl
1364299966Sjkim	rorl	$16,%edx
1365299966Sjkim	xorl	%esi,%ecx
1366299966Sjkim	movl	72(%edi,%eax,4),%esi
1367299966Sjkim	movl	1096(%edi,%ebx,4),%ebp
1368299966Sjkim	movb	%dh,%al
1369299966Sjkim	movb	%dl,%bl
1370299966Sjkim	addl	%ebp,%esi
1371299966Sjkim	movl	2120(%edi,%eax,4),%eax
1372299966Sjkim	xorl	%eax,%esi
1373299966Sjkim	movl	3144(%edi,%ebx,4),%ebp
1374299966Sjkim	addl	%ebp,%esi
1375299966Sjkim	xorl	%eax,%eax
1376299966Sjkim	xorl	%esi,%ecx
1377299966Sjkim
1378299966Sjkim
1379299966Sjkim	rorl	$16,%ecx
1380299966Sjkim	movl	32(%edi),%esi
1381299966Sjkim	movb	%ch,%al
1382299966Sjkim	movb	%cl,%bl
1383299966Sjkim	rorl	$16,%ecx
1384299966Sjkim	xorl	%esi,%edx
1385299966Sjkim	movl	72(%edi,%eax,4),%esi
1386299966Sjkim	movl	1096(%edi,%ebx,4),%ebp
1387299966Sjkim	movb	%ch,%al
1388299966Sjkim	movb	%cl,%bl
1389299966Sjkim	addl	%ebp,%esi
1390299966Sjkim	movl	2120(%edi,%eax,4),%eax
1391299966Sjkim	xorl	%eax,%esi
1392299966Sjkim	movl	3144(%edi,%ebx,4),%ebp
1393299966Sjkim	addl	%ebp,%esi
1394299966Sjkim	xorl	%eax,%eax
1395299966Sjkim	xorl	%esi,%edx
1396299966Sjkim
1397299966Sjkim
1398299966Sjkim	rorl	$16,%edx
1399299966Sjkim	movl	28(%edi),%esi
1400299966Sjkim	movb	%dh,%al
1401299966Sjkim	movb	%dl,%bl
1402299966Sjkim	rorl	$16,%edx
1403299966Sjkim	xorl	%esi,%ecx
1404299966Sjkim	movl	72(%edi,%eax,4),%esi
1405299966Sjkim	movl	1096(%edi,%ebx,4),%ebp
1406299966Sjkim	movb	%dh,%al
1407299966Sjkim	movb	%dl,%bl
1408299966Sjkim	addl	%ebp,%esi
1409299966Sjkim	movl	2120(%edi,%eax,4),%eax
1410299966Sjkim	xorl	%eax,%esi
1411299966Sjkim	movl	3144(%edi,%ebx,4),%ebp
1412299966Sjkim	addl	%ebp,%esi
1413299966Sjkim	xorl	%eax,%eax
1414299966Sjkim	xorl	%esi,%ecx
1415299966Sjkim
1416299966Sjkim
1417299966Sjkim	rorl	$16,%ecx
1418299966Sjkim	movl	24(%edi),%esi
1419299966Sjkim	movb	%ch,%al
1420299966Sjkim	movb	%cl,%bl
1421299966Sjkim	rorl	$16,%ecx
1422299966Sjkim	xorl	%esi,%edx
1423299966Sjkim	movl	72(%edi,%eax,4),%esi
1424299966Sjkim	movl	1096(%edi,%ebx,4),%ebp
1425299966Sjkim	movb	%ch,%al
1426299966Sjkim	movb	%cl,%bl
1427299966Sjkim	addl	%ebp,%esi
1428299966Sjkim	movl	2120(%edi,%eax,4),%eax
1429299966Sjkim	xorl	%eax,%esi
1430299966Sjkim	movl	3144(%edi,%ebx,4),%ebp
1431299966Sjkim	addl	%ebp,%esi
1432299966Sjkim	xorl	%eax,%eax
1433299966Sjkim	xorl	%esi,%edx
1434299966Sjkim
1435299966Sjkim
1436299966Sjkim	rorl	$16,%edx
1437299966Sjkim	movl	20(%edi),%esi
1438299966Sjkim	movb	%dh,%al
1439299966Sjkim	movb	%dl,%bl
1440299966Sjkim	rorl	$16,%edx
1441299966Sjkim	xorl	%esi,%ecx
1442299966Sjkim	movl	72(%edi,%eax,4),%esi
1443299966Sjkim	movl	1096(%edi,%ebx,4),%ebp
1444299966Sjkim	movb	%dh,%al
1445299966Sjkim	movb	%dl,%bl
1446299966Sjkim	addl	%ebp,%esi
1447299966Sjkim	movl	2120(%edi,%eax,4),%eax
1448299966Sjkim	xorl	%eax,%esi
1449299966Sjkim	movl	3144(%edi,%ebx,4),%ebp
1450299966Sjkim	addl	%ebp,%esi
1451299966Sjkim	xorl	%eax,%eax
1452299966Sjkim	xorl	%esi,%ecx
1453299966Sjkim
1454299966Sjkim
1455299966Sjkim	rorl	$16,%ecx
1456299966Sjkim	movl	16(%edi),%esi
1457299966Sjkim	movb	%ch,%al
1458299966Sjkim	movb	%cl,%bl
1459299966Sjkim	rorl	$16,%ecx
1460299966Sjkim	xorl	%esi,%edx
1461299966Sjkim	movl	72(%edi,%eax,4),%esi
1462299966Sjkim	movl	1096(%edi,%ebx,4),%ebp
1463299966Sjkim	movb	%ch,%al
1464299966Sjkim	movb	%cl,%bl
1465299966Sjkim	addl	%ebp,%esi
1466299966Sjkim	movl	2120(%edi,%eax,4),%eax
1467299966Sjkim	xorl	%eax,%esi
1468299966Sjkim	movl	3144(%edi,%ebx,4),%ebp
1469299966Sjkim	addl	%ebp,%esi
1470299966Sjkim	xorl	%eax,%eax
1471299966Sjkim	xorl	%esi,%edx
1472299966Sjkim
1473299966Sjkim
1474299966Sjkim	rorl	$16,%edx
1475299966Sjkim	movl	12(%edi),%esi
1476299966Sjkim	movb	%dh,%al
1477299966Sjkim	movb	%dl,%bl
1478299966Sjkim	rorl	$16,%edx
1479299966Sjkim	xorl	%esi,%ecx
1480299966Sjkim	movl	72(%edi,%eax,4),%esi
1481299966Sjkim	movl	1096(%edi,%ebx,4),%ebp
1482299966Sjkim	movb	%dh,%al
1483299966Sjkim	movb	%dl,%bl
1484299966Sjkim	addl	%ebp,%esi
1485299966Sjkim	movl	2120(%edi,%eax,4),%eax
1486299966Sjkim	xorl	%eax,%esi
1487299966Sjkim	movl	3144(%edi,%ebx,4),%ebp
1488299966Sjkim	addl	%ebp,%esi
1489299966Sjkim	xorl	%eax,%eax
1490299966Sjkim	xorl	%esi,%ecx
1491299966Sjkim
1492299966Sjkim
1493299966Sjkim	rorl	$16,%ecx
1494299966Sjkim	movl	8(%edi),%esi
1495299966Sjkim	movb	%ch,%al
1496299966Sjkim	movb	%cl,%bl
1497299966Sjkim	rorl	$16,%ecx
1498299966Sjkim	xorl	%esi,%edx
1499299966Sjkim	movl	72(%edi,%eax,4),%esi
1500299966Sjkim	movl	1096(%edi,%ebx,4),%ebp
1501299966Sjkim	movb	%ch,%al
1502299966Sjkim	movb	%cl,%bl
1503299966Sjkim	addl	%ebp,%esi
1504299966Sjkim	movl	2120(%edi,%eax,4),%eax
1505299966Sjkim	xorl	%eax,%esi
1506299966Sjkim	movl	3144(%edi,%ebx,4),%ebp
1507299966Sjkim	addl	%ebp,%esi
1508299966Sjkim	xorl	%eax,%eax
1509299966Sjkim	xorl	%esi,%edx
1510299966Sjkim
1511299966Sjkim
1512299966Sjkim	rorl	$16,%edx
1513299966Sjkim	movl	4(%edi),%esi
1514299966Sjkim	movb	%dh,%al
1515299966Sjkim	movb	%dl,%bl
1516299966Sjkim	rorl	$16,%edx
1517299966Sjkim	xorl	%esi,%ecx
1518299966Sjkim	movl	72(%edi,%eax,4),%esi
1519299966Sjkim	movl	1096(%edi,%ebx,4),%ebp
1520299966Sjkim	movb	%dh,%al
1521299966Sjkim	movb	%dl,%bl
1522299966Sjkim	addl	%ebp,%esi
1523299966Sjkim	movl	2120(%edi,%eax,4),%eax
1524299966Sjkim	xorl	%eax,%esi
1525299966Sjkim	movl	3144(%edi,%ebx,4),%ebp
1526299966Sjkim	addl	%ebp,%esi
1527299966Sjkim	xorl	%eax,%eax
1528299966Sjkim	xorl	%esi,%ecx
1529299966Sjkim	xorl	(%edi),%edx
1530299966Sjkim	movl	20(%esp),%eax
1531299966Sjkim	movl	%edx,(%eax)
1532299966Sjkim	movl	%ecx,4(%eax)
1533299966Sjkim	popl	%edi
1534299966Sjkim	popl	%esi
1535299966Sjkim	popl	%ebx
1536299966Sjkim	popl	%ebp
1537299966Sjkim	ret
1538299966Sjkim.size	BF_decrypt,.-.L_BF_decrypt_begin
1539299966Sjkim.globl	BF_cbc_encrypt
1540299966Sjkim.type	BF_cbc_encrypt,@function
1541299966Sjkim.align	16
1542299966SjkimBF_cbc_encrypt:
1543299966Sjkim.L_BF_cbc_encrypt_begin:
1544299966Sjkim
1545299966Sjkim	pushl	%ebp
1546299966Sjkim	pushl	%ebx
1547299966Sjkim	pushl	%esi
1548299966Sjkim	pushl	%edi
1549299966Sjkim	movl	28(%esp),%ebp
1550299966Sjkim
1551299966Sjkim	movl	36(%esp),%ebx
1552299966Sjkim	movl	(%ebx),%esi
1553299966Sjkim	movl	4(%ebx),%edi
1554299966Sjkim	pushl	%edi
1555299966Sjkim	pushl	%esi
1556299966Sjkim	pushl	%edi
1557299966Sjkim	pushl	%esi
1558299966Sjkim	movl	%esp,%ebx
1559299966Sjkim	movl	36(%esp),%esi
1560299966Sjkim	movl	40(%esp),%edi
1561299966Sjkim
1562299966Sjkim	movl	56(%esp),%ecx
1563299966Sjkim
1564299966Sjkim	movl	48(%esp),%eax
1565299966Sjkim	pushl	%eax
1566299966Sjkim	pushl	%ebx
1567299966Sjkim	cmpl	$0,%ecx
1568299966Sjkim	jz	.L000decrypt
1569299966Sjkim	andl	$4294967288,%ebp
1570299966Sjkim	movl	8(%esp),%eax
1571299966Sjkim	movl	12(%esp),%ebx
1572299966Sjkim	jz	.L001encrypt_finish
1573299966Sjkim.L002encrypt_loop:
1574299966Sjkim	movl	(%esi),%ecx
1575299966Sjkim	movl	4(%esi),%edx
1576299966Sjkim	xorl	%ecx,%eax
1577299966Sjkim	xorl	%edx,%ebx
1578299966Sjkim	bswap	%eax
1579299966Sjkim	bswap	%ebx
1580299966Sjkim	movl	%eax,8(%esp)
1581299966Sjkim	movl	%ebx,12(%esp)
1582299966Sjkim	call	.L_BF_encrypt_begin
1583299966Sjkim	movl	8(%esp),%eax
1584299966Sjkim	movl	12(%esp),%ebx
1585299966Sjkim	bswap	%eax
1586299966Sjkim	bswap	%ebx
1587299966Sjkim	movl	%eax,(%edi)
1588299966Sjkim	movl	%ebx,4(%edi)
1589299966Sjkim	addl	$8,%esi
1590299966Sjkim	addl	$8,%edi
1591299966Sjkim	subl	$8,%ebp
1592299966Sjkim	jnz	.L002encrypt_loop
1593299966Sjkim.L001encrypt_finish:
1594299966Sjkim	movl	52(%esp),%ebp
1595299966Sjkim	andl	$7,%ebp
1596299966Sjkim	jz	.L003finish
1597299966Sjkim	call	.L004PIC_point
1598299966Sjkim.L004PIC_point:
1599299966Sjkim	popl	%edx
1600299966Sjkim	leal	.L005cbc_enc_jmp_table-.L004PIC_point(%edx),%ecx
1601299966Sjkim	movl	(%ecx,%ebp,4),%ebp
1602299966Sjkim	addl	%edx,%ebp
1603299966Sjkim	xorl	%ecx,%ecx
1604299966Sjkim	xorl	%edx,%edx
1605299966Sjkim	jmp	*%ebp
1606299966Sjkim.L006ej7:
1607299966Sjkim	movb	6(%esi),%dh
1608299966Sjkim	shll	$8,%edx
1609299966Sjkim.L007ej6:
1610299966Sjkim	movb	5(%esi),%dh
1611299966Sjkim.L008ej5:
1612299966Sjkim	movb	4(%esi),%dl
1613299966Sjkim.L009ej4:
1614299966Sjkim	movl	(%esi),%ecx
1615299966Sjkim	jmp	.L010ejend
1616299966Sjkim.L011ej3:
1617299966Sjkim	movb	2(%esi),%ch
1618299966Sjkim	shll	$8,%ecx
1619299966Sjkim.L012ej2:
1620299966Sjkim	movb	1(%esi),%ch
1621299966Sjkim.L013ej1:
1622299966Sjkim	movb	(%esi),%cl
1623299966Sjkim.L010ejend:
1624299966Sjkim	xorl	%ecx,%eax
1625299966Sjkim	xorl	%edx,%ebx
1626299966Sjkim	bswap	%eax
1627299966Sjkim	bswap	%ebx
1628299966Sjkim	movl	%eax,8(%esp)
1629299966Sjkim	movl	%ebx,12(%esp)
1630299966Sjkim	call	.L_BF_encrypt_begin
1631299966Sjkim	movl	8(%esp),%eax
1632299966Sjkim	movl	12(%esp),%ebx
1633299966Sjkim	bswap	%eax
1634299966Sjkim	bswap	%ebx
1635299966Sjkim	movl	%eax,(%edi)
1636299966Sjkim	movl	%ebx,4(%edi)
1637299966Sjkim	jmp	.L003finish
1638299966Sjkim.L000decrypt:
1639299966Sjkim	andl	$4294967288,%ebp
1640299966Sjkim	movl	16(%esp),%eax
1641299966Sjkim	movl	20(%esp),%ebx
1642299966Sjkim	jz	.L014decrypt_finish
1643299966Sjkim.L015decrypt_loop:
1644299966Sjkim	movl	(%esi),%eax
1645299966Sjkim	movl	4(%esi),%ebx
1646299966Sjkim	bswap	%eax
1647299966Sjkim	bswap	%ebx
1648299966Sjkim	movl	%eax,8(%esp)
1649299966Sjkim	movl	%ebx,12(%esp)
1650299966Sjkim	call	.L_BF_decrypt_begin
1651299966Sjkim	movl	8(%esp),%eax
1652299966Sjkim	movl	12(%esp),%ebx
1653299966Sjkim	bswap	%eax
1654299966Sjkim	bswap	%ebx
1655299966Sjkim	movl	16(%esp),%ecx
1656299966Sjkim	movl	20(%esp),%edx
1657299966Sjkim	xorl	%eax,%ecx
1658299966Sjkim	xorl	%ebx,%edx
1659299966Sjkim	movl	(%esi),%eax
1660299966Sjkim	movl	4(%esi),%ebx
1661299966Sjkim	movl	%ecx,(%edi)
1662299966Sjkim	movl	%edx,4(%edi)
1663299966Sjkim	movl	%eax,16(%esp)
1664299966Sjkim	movl	%ebx,20(%esp)
1665299966Sjkim	addl	$8,%esi
1666299966Sjkim	addl	$8,%edi
1667299966Sjkim	subl	$8,%ebp
1668299966Sjkim	jnz	.L015decrypt_loop
1669299966Sjkim.L014decrypt_finish:
1670299966Sjkim	movl	52(%esp),%ebp
1671299966Sjkim	andl	$7,%ebp
1672299966Sjkim	jz	.L003finish
1673299966Sjkim	movl	(%esi),%eax
1674299966Sjkim	movl	4(%esi),%ebx
1675299966Sjkim	bswap	%eax
1676299966Sjkim	bswap	%ebx
1677299966Sjkim	movl	%eax,8(%esp)
1678299966Sjkim	movl	%ebx,12(%esp)
1679299966Sjkim	call	.L_BF_decrypt_begin
1680299966Sjkim	movl	8(%esp),%eax
1681299966Sjkim	movl	12(%esp),%ebx
1682299966Sjkim	bswap	%eax
1683299966Sjkim	bswap	%ebx
1684299966Sjkim	movl	16(%esp),%ecx
1685299966Sjkim	movl	20(%esp),%edx
1686299966Sjkim	xorl	%eax,%ecx
1687299966Sjkim	xorl	%ebx,%edx
1688299966Sjkim	movl	(%esi),%eax
1689299966Sjkim	movl	4(%esi),%ebx
1690299966Sjkim.L016dj7:
1691299966Sjkim	rorl	$16,%edx
1692299966Sjkim	movb	%dl,6(%edi)
1693299966Sjkim	shrl	$16,%edx
1694299966Sjkim.L017dj6:
1695299966Sjkim	movb	%dh,5(%edi)
1696299966Sjkim.L018dj5:
1697299966Sjkim	movb	%dl,4(%edi)
1698299966Sjkim.L019dj4:
1699299966Sjkim	movl	%ecx,(%edi)
1700299966Sjkim	jmp	.L020djend
1701299966Sjkim.L021dj3:
1702299966Sjkim	rorl	$16,%ecx
1703299966Sjkim	movb	%cl,2(%edi)
1704299966Sjkim	shll	$16,%ecx
1705299966Sjkim.L022dj2:
1706299966Sjkim	movb	%ch,1(%esi)
1707299966Sjkim.L023dj1:
1708299966Sjkim	movb	%cl,(%esi)
1709299966Sjkim.L020djend:
1710299966Sjkim	jmp	.L003finish
1711299966Sjkim.L003finish:
1712299966Sjkim	movl	60(%esp),%ecx
1713299966Sjkim	addl	$24,%esp
1714299966Sjkim	movl	%eax,(%ecx)
1715299966Sjkim	movl	%ebx,4(%ecx)
1716299966Sjkim	popl	%edi
1717299966Sjkim	popl	%esi
1718299966Sjkim	popl	%ebx
1719299966Sjkim	popl	%ebp
1720299966Sjkim	ret
1721299966Sjkim.align	64
1722299966Sjkim.L005cbc_enc_jmp_table:
1723299966Sjkim.long	0
1724299966Sjkim.long	.L013ej1-.L004PIC_point
1725299966Sjkim.long	.L012ej2-.L004PIC_point
1726299966Sjkim.long	.L011ej3-.L004PIC_point
1727299966Sjkim.long	.L009ej4-.L004PIC_point
1728299966Sjkim.long	.L008ej5-.L004PIC_point
1729299966Sjkim.long	.L007ej6-.L004PIC_point
1730299966Sjkim.long	.L006ej7-.L004PIC_point
1731299966Sjkim.align	64
1732299966Sjkim.size	BF_cbc_encrypt,.-.L_BF_cbc_encrypt_begin
1733299966Sjkim#endif
1734