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