xref: /minix3/crypto/external/bsd/openssl/lib/libcrypto/arch/i386/cmll-x86.S (revision ebfedea0ce5bbe81e252ddf32d732e40fb633fae)
1*ebfedea0SLionel Sambuc#include <machine/asm.h>
2*ebfedea0SLionel Sambuc.text
3*ebfedea0SLionel Sambuc.globl	Camellia_EncryptBlock_Rounds
4*ebfedea0SLionel Sambuc.type	Camellia_EncryptBlock_Rounds,@function
5*ebfedea0SLionel Sambuc.align	16
6*ebfedea0SLionel SambucCamellia_EncryptBlock_Rounds:
7*ebfedea0SLionel Sambuc.L_Camellia_EncryptBlock_Rounds_begin:
8*ebfedea0SLionel Sambuc	pushl	%ebp
9*ebfedea0SLionel Sambuc	pushl	%ebx
10*ebfedea0SLionel Sambuc	pushl	%esi
11*ebfedea0SLionel Sambuc	pushl	%edi
12*ebfedea0SLionel Sambuc	movl	20(%esp),%eax
13*ebfedea0SLionel Sambuc	movl	24(%esp),%esi
14*ebfedea0SLionel Sambuc	movl	28(%esp),%edi
15*ebfedea0SLionel Sambuc	movl	%esp,%ebx
16*ebfedea0SLionel Sambuc	subl	$28,%esp
17*ebfedea0SLionel Sambuc	andl	$-64,%esp
18*ebfedea0SLionel Sambuc	leal	-127(%edi),%ecx
19*ebfedea0SLionel Sambuc	subl	%esp,%ecx
20*ebfedea0SLionel Sambuc	negl	%ecx
21*ebfedea0SLionel Sambuc	andl	$960,%ecx
22*ebfedea0SLionel Sambuc	subl	%ecx,%esp
23*ebfedea0SLionel Sambuc	addl	$4,%esp
24*ebfedea0SLionel Sambuc	shll	$6,%eax
25*ebfedea0SLionel Sambuc	leal	(%edi,%eax,1),%eax
26*ebfedea0SLionel Sambuc	movl	%ebx,20(%esp)
27*ebfedea0SLionel Sambuc	movl	%eax,16(%esp)
28*ebfedea0SLionel Sambuc	call	.L000pic_point
29*ebfedea0SLionel Sambuc.L000pic_point:
30*ebfedea0SLionel Sambuc	popl	%ebp
31*ebfedea0SLionel Sambuc	leal	.LCamellia_SBOX-.L000pic_point(%ebp),%ebp
32*ebfedea0SLionel Sambuc	movl	(%esi),%eax
33*ebfedea0SLionel Sambuc	movl	4(%esi),%ebx
34*ebfedea0SLionel Sambuc	movl	8(%esi),%ecx
35*ebfedea0SLionel Sambuc	bswap	%eax
36*ebfedea0SLionel Sambuc	movl	12(%esi),%edx
37*ebfedea0SLionel Sambuc	bswap	%ebx
38*ebfedea0SLionel Sambuc	bswap	%ecx
39*ebfedea0SLionel Sambuc	bswap	%edx
40*ebfedea0SLionel Sambuc	call	_x86_Camellia_encrypt
41*ebfedea0SLionel Sambuc	movl	20(%esp),%esp
42*ebfedea0SLionel Sambuc	bswap	%eax
43*ebfedea0SLionel Sambuc	movl	32(%esp),%esi
44*ebfedea0SLionel Sambuc	bswap	%ebx
45*ebfedea0SLionel Sambuc	bswap	%ecx
46*ebfedea0SLionel Sambuc	bswap	%edx
47*ebfedea0SLionel Sambuc	movl	%eax,(%esi)
48*ebfedea0SLionel Sambuc	movl	%ebx,4(%esi)
49*ebfedea0SLionel Sambuc	movl	%ecx,8(%esi)
50*ebfedea0SLionel Sambuc	movl	%edx,12(%esi)
51*ebfedea0SLionel Sambuc	popl	%edi
52*ebfedea0SLionel Sambuc	popl	%esi
53*ebfedea0SLionel Sambuc	popl	%ebx
54*ebfedea0SLionel Sambuc	popl	%ebp
55*ebfedea0SLionel Sambuc	ret
56*ebfedea0SLionel Sambuc.size	Camellia_EncryptBlock_Rounds,.-.L_Camellia_EncryptBlock_Rounds_begin
57*ebfedea0SLionel Sambuc.globl	Camellia_EncryptBlock
58*ebfedea0SLionel Sambuc.type	Camellia_EncryptBlock,@function
59*ebfedea0SLionel Sambuc.align	16
60*ebfedea0SLionel SambucCamellia_EncryptBlock:
61*ebfedea0SLionel Sambuc.L_Camellia_EncryptBlock_begin:
62*ebfedea0SLionel Sambuc	movl	$128,%eax
63*ebfedea0SLionel Sambuc	subl	4(%esp),%eax
64*ebfedea0SLionel Sambuc	movl	$3,%eax
65*ebfedea0SLionel Sambuc	adcl	$0,%eax
66*ebfedea0SLionel Sambuc	movl	%eax,4(%esp)
67*ebfedea0SLionel Sambuc	jmp	.L_Camellia_EncryptBlock_Rounds_begin
68*ebfedea0SLionel Sambuc.size	Camellia_EncryptBlock,.-.L_Camellia_EncryptBlock_begin
69*ebfedea0SLionel Sambuc.globl	Camellia_encrypt
70*ebfedea0SLionel Sambuc.type	Camellia_encrypt,@function
71*ebfedea0SLionel Sambuc.align	16
72*ebfedea0SLionel SambucCamellia_encrypt:
73*ebfedea0SLionel Sambuc.L_Camellia_encrypt_begin:
74*ebfedea0SLionel Sambuc	pushl	%ebp
75*ebfedea0SLionel Sambuc	pushl	%ebx
76*ebfedea0SLionel Sambuc	pushl	%esi
77*ebfedea0SLionel Sambuc	pushl	%edi
78*ebfedea0SLionel Sambuc	movl	20(%esp),%esi
79*ebfedea0SLionel Sambuc	movl	28(%esp),%edi
80*ebfedea0SLionel Sambuc	movl	%esp,%ebx
81*ebfedea0SLionel Sambuc	subl	$28,%esp
82*ebfedea0SLionel Sambuc	andl	$-64,%esp
83*ebfedea0SLionel Sambuc	movl	272(%edi),%eax
84*ebfedea0SLionel Sambuc	leal	-127(%edi),%ecx
85*ebfedea0SLionel Sambuc	subl	%esp,%ecx
86*ebfedea0SLionel Sambuc	negl	%ecx
87*ebfedea0SLionel Sambuc	andl	$960,%ecx
88*ebfedea0SLionel Sambuc	subl	%ecx,%esp
89*ebfedea0SLionel Sambuc	addl	$4,%esp
90*ebfedea0SLionel Sambuc	shll	$6,%eax
91*ebfedea0SLionel Sambuc	leal	(%edi,%eax,1),%eax
92*ebfedea0SLionel Sambuc	movl	%ebx,20(%esp)
93*ebfedea0SLionel Sambuc	movl	%eax,16(%esp)
94*ebfedea0SLionel Sambuc	call	.L001pic_point
95*ebfedea0SLionel Sambuc.L001pic_point:
96*ebfedea0SLionel Sambuc	popl	%ebp
97*ebfedea0SLionel Sambuc	leal	.LCamellia_SBOX-.L001pic_point(%ebp),%ebp
98*ebfedea0SLionel Sambuc	movl	(%esi),%eax
99*ebfedea0SLionel Sambuc	movl	4(%esi),%ebx
100*ebfedea0SLionel Sambuc	movl	8(%esi),%ecx
101*ebfedea0SLionel Sambuc	bswap	%eax
102*ebfedea0SLionel Sambuc	movl	12(%esi),%edx
103*ebfedea0SLionel Sambuc	bswap	%ebx
104*ebfedea0SLionel Sambuc	bswap	%ecx
105*ebfedea0SLionel Sambuc	bswap	%edx
106*ebfedea0SLionel Sambuc	call	_x86_Camellia_encrypt
107*ebfedea0SLionel Sambuc	movl	20(%esp),%esp
108*ebfedea0SLionel Sambuc	bswap	%eax
109*ebfedea0SLionel Sambuc	movl	24(%esp),%esi
110*ebfedea0SLionel Sambuc	bswap	%ebx
111*ebfedea0SLionel Sambuc	bswap	%ecx
112*ebfedea0SLionel Sambuc	bswap	%edx
113*ebfedea0SLionel Sambuc	movl	%eax,(%esi)
114*ebfedea0SLionel Sambuc	movl	%ebx,4(%esi)
115*ebfedea0SLionel Sambuc	movl	%ecx,8(%esi)
116*ebfedea0SLionel Sambuc	movl	%edx,12(%esi)
117*ebfedea0SLionel Sambuc	popl	%edi
118*ebfedea0SLionel Sambuc	popl	%esi
119*ebfedea0SLionel Sambuc	popl	%ebx
120*ebfedea0SLionel Sambuc	popl	%ebp
121*ebfedea0SLionel Sambuc	ret
122*ebfedea0SLionel Sambuc.size	Camellia_encrypt,.-.L_Camellia_encrypt_begin
123*ebfedea0SLionel Sambuc.type	_x86_Camellia_encrypt,@function
124*ebfedea0SLionel Sambuc.align	16
125*ebfedea0SLionel Sambuc_x86_Camellia_encrypt:
126*ebfedea0SLionel Sambuc	xorl	(%edi),%eax
127*ebfedea0SLionel Sambuc	xorl	4(%edi),%ebx
128*ebfedea0SLionel Sambuc	xorl	8(%edi),%ecx
129*ebfedea0SLionel Sambuc	xorl	12(%edi),%edx
130*ebfedea0SLionel Sambuc	movl	16(%edi),%esi
131*ebfedea0SLionel Sambuc	movl	%eax,4(%esp)
132*ebfedea0SLionel Sambuc	movl	%ebx,8(%esp)
133*ebfedea0SLionel Sambuc	movl	%ecx,12(%esp)
134*ebfedea0SLionel Sambuc	movl	%edx,16(%esp)
135*ebfedea0SLionel Sambuc.align	16
136*ebfedea0SLionel Sambuc.L002loop:
137*ebfedea0SLionel Sambuc	xorl	%esi,%eax
138*ebfedea0SLionel Sambuc	xorl	20(%edi),%ebx
139*ebfedea0SLionel Sambuc	movzbl	%ah,%esi
140*ebfedea0SLionel Sambuc	movl	2052(%ebp,%esi,8),%edx
141*ebfedea0SLionel Sambuc	movzbl	%al,%esi
142*ebfedea0SLionel Sambuc	xorl	4(%ebp,%esi,8),%edx
143*ebfedea0SLionel Sambuc	shrl	$16,%eax
144*ebfedea0SLionel Sambuc	movzbl	%bl,%esi
145*ebfedea0SLionel Sambuc	movl	(%ebp,%esi,8),%ecx
146*ebfedea0SLionel Sambuc	movzbl	%ah,%esi
147*ebfedea0SLionel Sambuc	xorl	(%ebp,%esi,8),%edx
148*ebfedea0SLionel Sambuc	movzbl	%bh,%esi
149*ebfedea0SLionel Sambuc	xorl	4(%ebp,%esi,8),%ecx
150*ebfedea0SLionel Sambuc	shrl	$16,%ebx
151*ebfedea0SLionel Sambuc	movzbl	%al,%eax
152*ebfedea0SLionel Sambuc	xorl	2048(%ebp,%eax,8),%edx
153*ebfedea0SLionel Sambuc	movzbl	%bh,%esi
154*ebfedea0SLionel Sambuc	movl	16(%esp),%eax
155*ebfedea0SLionel Sambuc	xorl	%edx,%ecx
156*ebfedea0SLionel Sambuc	rorl	$8,%edx
157*ebfedea0SLionel Sambuc	xorl	2048(%ebp,%esi,8),%ecx
158*ebfedea0SLionel Sambuc	movzbl	%bl,%esi
159*ebfedea0SLionel Sambuc	movl	12(%esp),%ebx
160*ebfedea0SLionel Sambuc	xorl	%eax,%edx
161*ebfedea0SLionel Sambuc	xorl	2052(%ebp,%esi,8),%ecx
162*ebfedea0SLionel Sambuc	movl	24(%edi),%esi
163*ebfedea0SLionel Sambuc	xorl	%ecx,%edx
164*ebfedea0SLionel Sambuc	movl	%edx,16(%esp)
165*ebfedea0SLionel Sambuc	xorl	%ebx,%ecx
166*ebfedea0SLionel Sambuc	movl	%ecx,12(%esp)
167*ebfedea0SLionel Sambuc	xorl	%esi,%ecx
168*ebfedea0SLionel Sambuc	xorl	28(%edi),%edx
169*ebfedea0SLionel Sambuc	movzbl	%ch,%esi
170*ebfedea0SLionel Sambuc	movl	2052(%ebp,%esi,8),%ebx
171*ebfedea0SLionel Sambuc	movzbl	%cl,%esi
172*ebfedea0SLionel Sambuc	xorl	4(%ebp,%esi,8),%ebx
173*ebfedea0SLionel Sambuc	shrl	$16,%ecx
174*ebfedea0SLionel Sambuc	movzbl	%dl,%esi
175*ebfedea0SLionel Sambuc	movl	(%ebp,%esi,8),%eax
176*ebfedea0SLionel Sambuc	movzbl	%ch,%esi
177*ebfedea0SLionel Sambuc	xorl	(%ebp,%esi,8),%ebx
178*ebfedea0SLionel Sambuc	movzbl	%dh,%esi
179*ebfedea0SLionel Sambuc	xorl	4(%ebp,%esi,8),%eax
180*ebfedea0SLionel Sambuc	shrl	$16,%edx
181*ebfedea0SLionel Sambuc	movzbl	%cl,%ecx
182*ebfedea0SLionel Sambuc	xorl	2048(%ebp,%ecx,8),%ebx
183*ebfedea0SLionel Sambuc	movzbl	%dh,%esi
184*ebfedea0SLionel Sambuc	movl	8(%esp),%ecx
185*ebfedea0SLionel Sambuc	xorl	%ebx,%eax
186*ebfedea0SLionel Sambuc	rorl	$8,%ebx
187*ebfedea0SLionel Sambuc	xorl	2048(%ebp,%esi,8),%eax
188*ebfedea0SLionel Sambuc	movzbl	%dl,%esi
189*ebfedea0SLionel Sambuc	movl	4(%esp),%edx
190*ebfedea0SLionel Sambuc	xorl	%ecx,%ebx
191*ebfedea0SLionel Sambuc	xorl	2052(%ebp,%esi,8),%eax
192*ebfedea0SLionel Sambuc	movl	32(%edi),%esi
193*ebfedea0SLionel Sambuc	xorl	%eax,%ebx
194*ebfedea0SLionel Sambuc	movl	%ebx,8(%esp)
195*ebfedea0SLionel Sambuc	xorl	%edx,%eax
196*ebfedea0SLionel Sambuc	movl	%eax,4(%esp)
197*ebfedea0SLionel Sambuc	xorl	%esi,%eax
198*ebfedea0SLionel Sambuc	xorl	36(%edi),%ebx
199*ebfedea0SLionel Sambuc	movzbl	%ah,%esi
200*ebfedea0SLionel Sambuc	movl	2052(%ebp,%esi,8),%edx
201*ebfedea0SLionel Sambuc	movzbl	%al,%esi
202*ebfedea0SLionel Sambuc	xorl	4(%ebp,%esi,8),%edx
203*ebfedea0SLionel Sambuc	shrl	$16,%eax
204*ebfedea0SLionel Sambuc	movzbl	%bl,%esi
205*ebfedea0SLionel Sambuc	movl	(%ebp,%esi,8),%ecx
206*ebfedea0SLionel Sambuc	movzbl	%ah,%esi
207*ebfedea0SLionel Sambuc	xorl	(%ebp,%esi,8),%edx
208*ebfedea0SLionel Sambuc	movzbl	%bh,%esi
209*ebfedea0SLionel Sambuc	xorl	4(%ebp,%esi,8),%ecx
210*ebfedea0SLionel Sambuc	shrl	$16,%ebx
211*ebfedea0SLionel Sambuc	movzbl	%al,%eax
212*ebfedea0SLionel Sambuc	xorl	2048(%ebp,%eax,8),%edx
213*ebfedea0SLionel Sambuc	movzbl	%bh,%esi
214*ebfedea0SLionel Sambuc	movl	16(%esp),%eax
215*ebfedea0SLionel Sambuc	xorl	%edx,%ecx
216*ebfedea0SLionel Sambuc	rorl	$8,%edx
217*ebfedea0SLionel Sambuc	xorl	2048(%ebp,%esi,8),%ecx
218*ebfedea0SLionel Sambuc	movzbl	%bl,%esi
219*ebfedea0SLionel Sambuc	movl	12(%esp),%ebx
220*ebfedea0SLionel Sambuc	xorl	%eax,%edx
221*ebfedea0SLionel Sambuc	xorl	2052(%ebp,%esi,8),%ecx
222*ebfedea0SLionel Sambuc	movl	40(%edi),%esi
223*ebfedea0SLionel Sambuc	xorl	%ecx,%edx
224*ebfedea0SLionel Sambuc	movl	%edx,16(%esp)
225*ebfedea0SLionel Sambuc	xorl	%ebx,%ecx
226*ebfedea0SLionel Sambuc	movl	%ecx,12(%esp)
227*ebfedea0SLionel Sambuc	xorl	%esi,%ecx
228*ebfedea0SLionel Sambuc	xorl	44(%edi),%edx
229*ebfedea0SLionel Sambuc	movzbl	%ch,%esi
230*ebfedea0SLionel Sambuc	movl	2052(%ebp,%esi,8),%ebx
231*ebfedea0SLionel Sambuc	movzbl	%cl,%esi
232*ebfedea0SLionel Sambuc	xorl	4(%ebp,%esi,8),%ebx
233*ebfedea0SLionel Sambuc	shrl	$16,%ecx
234*ebfedea0SLionel Sambuc	movzbl	%dl,%esi
235*ebfedea0SLionel Sambuc	movl	(%ebp,%esi,8),%eax
236*ebfedea0SLionel Sambuc	movzbl	%ch,%esi
237*ebfedea0SLionel Sambuc	xorl	(%ebp,%esi,8),%ebx
238*ebfedea0SLionel Sambuc	movzbl	%dh,%esi
239*ebfedea0SLionel Sambuc	xorl	4(%ebp,%esi,8),%eax
240*ebfedea0SLionel Sambuc	shrl	$16,%edx
241*ebfedea0SLionel Sambuc	movzbl	%cl,%ecx
242*ebfedea0SLionel Sambuc	xorl	2048(%ebp,%ecx,8),%ebx
243*ebfedea0SLionel Sambuc	movzbl	%dh,%esi
244*ebfedea0SLionel Sambuc	movl	8(%esp),%ecx
245*ebfedea0SLionel Sambuc	xorl	%ebx,%eax
246*ebfedea0SLionel Sambuc	rorl	$8,%ebx
247*ebfedea0SLionel Sambuc	xorl	2048(%ebp,%esi,8),%eax
248*ebfedea0SLionel Sambuc	movzbl	%dl,%esi
249*ebfedea0SLionel Sambuc	movl	4(%esp),%edx
250*ebfedea0SLionel Sambuc	xorl	%ecx,%ebx
251*ebfedea0SLionel Sambuc	xorl	2052(%ebp,%esi,8),%eax
252*ebfedea0SLionel Sambuc	movl	48(%edi),%esi
253*ebfedea0SLionel Sambuc	xorl	%eax,%ebx
254*ebfedea0SLionel Sambuc	movl	%ebx,8(%esp)
255*ebfedea0SLionel Sambuc	xorl	%edx,%eax
256*ebfedea0SLionel Sambuc	movl	%eax,4(%esp)
257*ebfedea0SLionel Sambuc	xorl	%esi,%eax
258*ebfedea0SLionel Sambuc	xorl	52(%edi),%ebx
259*ebfedea0SLionel Sambuc	movzbl	%ah,%esi
260*ebfedea0SLionel Sambuc	movl	2052(%ebp,%esi,8),%edx
261*ebfedea0SLionel Sambuc	movzbl	%al,%esi
262*ebfedea0SLionel Sambuc	xorl	4(%ebp,%esi,8),%edx
263*ebfedea0SLionel Sambuc	shrl	$16,%eax
264*ebfedea0SLionel Sambuc	movzbl	%bl,%esi
265*ebfedea0SLionel Sambuc	movl	(%ebp,%esi,8),%ecx
266*ebfedea0SLionel Sambuc	movzbl	%ah,%esi
267*ebfedea0SLionel Sambuc	xorl	(%ebp,%esi,8),%edx
268*ebfedea0SLionel Sambuc	movzbl	%bh,%esi
269*ebfedea0SLionel Sambuc	xorl	4(%ebp,%esi,8),%ecx
270*ebfedea0SLionel Sambuc	shrl	$16,%ebx
271*ebfedea0SLionel Sambuc	movzbl	%al,%eax
272*ebfedea0SLionel Sambuc	xorl	2048(%ebp,%eax,8),%edx
273*ebfedea0SLionel Sambuc	movzbl	%bh,%esi
274*ebfedea0SLionel Sambuc	movl	16(%esp),%eax
275*ebfedea0SLionel Sambuc	xorl	%edx,%ecx
276*ebfedea0SLionel Sambuc	rorl	$8,%edx
277*ebfedea0SLionel Sambuc	xorl	2048(%ebp,%esi,8),%ecx
278*ebfedea0SLionel Sambuc	movzbl	%bl,%esi
279*ebfedea0SLionel Sambuc	movl	12(%esp),%ebx
280*ebfedea0SLionel Sambuc	xorl	%eax,%edx
281*ebfedea0SLionel Sambuc	xorl	2052(%ebp,%esi,8),%ecx
282*ebfedea0SLionel Sambuc	movl	56(%edi),%esi
283*ebfedea0SLionel Sambuc	xorl	%ecx,%edx
284*ebfedea0SLionel Sambuc	movl	%edx,16(%esp)
285*ebfedea0SLionel Sambuc	xorl	%ebx,%ecx
286*ebfedea0SLionel Sambuc	movl	%ecx,12(%esp)
287*ebfedea0SLionel Sambuc	xorl	%esi,%ecx
288*ebfedea0SLionel Sambuc	xorl	60(%edi),%edx
289*ebfedea0SLionel Sambuc	movzbl	%ch,%esi
290*ebfedea0SLionel Sambuc	movl	2052(%ebp,%esi,8),%ebx
291*ebfedea0SLionel Sambuc	movzbl	%cl,%esi
292*ebfedea0SLionel Sambuc	xorl	4(%ebp,%esi,8),%ebx
293*ebfedea0SLionel Sambuc	shrl	$16,%ecx
294*ebfedea0SLionel Sambuc	movzbl	%dl,%esi
295*ebfedea0SLionel Sambuc	movl	(%ebp,%esi,8),%eax
296*ebfedea0SLionel Sambuc	movzbl	%ch,%esi
297*ebfedea0SLionel Sambuc	xorl	(%ebp,%esi,8),%ebx
298*ebfedea0SLionel Sambuc	movzbl	%dh,%esi
299*ebfedea0SLionel Sambuc	xorl	4(%ebp,%esi,8),%eax
300*ebfedea0SLionel Sambuc	shrl	$16,%edx
301*ebfedea0SLionel Sambuc	movzbl	%cl,%ecx
302*ebfedea0SLionel Sambuc	xorl	2048(%ebp,%ecx,8),%ebx
303*ebfedea0SLionel Sambuc	movzbl	%dh,%esi
304*ebfedea0SLionel Sambuc	movl	8(%esp),%ecx
305*ebfedea0SLionel Sambuc	xorl	%ebx,%eax
306*ebfedea0SLionel Sambuc	rorl	$8,%ebx
307*ebfedea0SLionel Sambuc	xorl	2048(%ebp,%esi,8),%eax
308*ebfedea0SLionel Sambuc	movzbl	%dl,%esi
309*ebfedea0SLionel Sambuc	movl	4(%esp),%edx
310*ebfedea0SLionel Sambuc	xorl	%ecx,%ebx
311*ebfedea0SLionel Sambuc	xorl	2052(%ebp,%esi,8),%eax
312*ebfedea0SLionel Sambuc	movl	64(%edi),%esi
313*ebfedea0SLionel Sambuc	xorl	%eax,%ebx
314*ebfedea0SLionel Sambuc	movl	%ebx,8(%esp)
315*ebfedea0SLionel Sambuc	xorl	%edx,%eax
316*ebfedea0SLionel Sambuc	movl	%eax,4(%esp)
317*ebfedea0SLionel Sambuc	addl	$64,%edi
318*ebfedea0SLionel Sambuc	cmpl	20(%esp),%edi
319*ebfedea0SLionel Sambuc	je	.L003done
320*ebfedea0SLionel Sambuc	andl	%eax,%esi
321*ebfedea0SLionel Sambuc	movl	16(%esp),%edx
322*ebfedea0SLionel Sambuc	roll	$1,%esi
323*ebfedea0SLionel Sambuc	movl	%edx,%ecx
324*ebfedea0SLionel Sambuc	xorl	%esi,%ebx
325*ebfedea0SLionel Sambuc	orl	12(%edi),%ecx
326*ebfedea0SLionel Sambuc	movl	%ebx,8(%esp)
327*ebfedea0SLionel Sambuc	xorl	12(%esp),%ecx
328*ebfedea0SLionel Sambuc	movl	4(%edi),%esi
329*ebfedea0SLionel Sambuc	movl	%ecx,12(%esp)
330*ebfedea0SLionel Sambuc	orl	%ebx,%esi
331*ebfedea0SLionel Sambuc	andl	8(%edi),%ecx
332*ebfedea0SLionel Sambuc	xorl	%esi,%eax
333*ebfedea0SLionel Sambuc	roll	$1,%ecx
334*ebfedea0SLionel Sambuc	movl	%eax,4(%esp)
335*ebfedea0SLionel Sambuc	xorl	%ecx,%edx
336*ebfedea0SLionel Sambuc	movl	16(%edi),%esi
337*ebfedea0SLionel Sambuc	movl	%edx,16(%esp)
338*ebfedea0SLionel Sambuc	jmp	.L002loop
339*ebfedea0SLionel Sambuc.align	8
340*ebfedea0SLionel Sambuc.L003done:
341*ebfedea0SLionel Sambuc	movl	%eax,%ecx
342*ebfedea0SLionel Sambuc	movl	%ebx,%edx
343*ebfedea0SLionel Sambuc	movl	12(%esp),%eax
344*ebfedea0SLionel Sambuc	movl	16(%esp),%ebx
345*ebfedea0SLionel Sambuc	xorl	%esi,%eax
346*ebfedea0SLionel Sambuc	xorl	4(%edi),%ebx
347*ebfedea0SLionel Sambuc	xorl	8(%edi),%ecx
348*ebfedea0SLionel Sambuc	xorl	12(%edi),%edx
349*ebfedea0SLionel Sambuc	ret
350*ebfedea0SLionel Sambuc.size	_x86_Camellia_encrypt,.-_x86_Camellia_encrypt
351*ebfedea0SLionel Sambuc.globl	Camellia_DecryptBlock_Rounds
352*ebfedea0SLionel Sambuc.type	Camellia_DecryptBlock_Rounds,@function
353*ebfedea0SLionel Sambuc.align	16
354*ebfedea0SLionel SambucCamellia_DecryptBlock_Rounds:
355*ebfedea0SLionel Sambuc.L_Camellia_DecryptBlock_Rounds_begin:
356*ebfedea0SLionel Sambuc	pushl	%ebp
357*ebfedea0SLionel Sambuc	pushl	%ebx
358*ebfedea0SLionel Sambuc	pushl	%esi
359*ebfedea0SLionel Sambuc	pushl	%edi
360*ebfedea0SLionel Sambuc	movl	20(%esp),%eax
361*ebfedea0SLionel Sambuc	movl	24(%esp),%esi
362*ebfedea0SLionel Sambuc	movl	28(%esp),%edi
363*ebfedea0SLionel Sambuc	movl	%esp,%ebx
364*ebfedea0SLionel Sambuc	subl	$28,%esp
365*ebfedea0SLionel Sambuc	andl	$-64,%esp
366*ebfedea0SLionel Sambuc	leal	-127(%edi),%ecx
367*ebfedea0SLionel Sambuc	subl	%esp,%ecx
368*ebfedea0SLionel Sambuc	negl	%ecx
369*ebfedea0SLionel Sambuc	andl	$960,%ecx
370*ebfedea0SLionel Sambuc	subl	%ecx,%esp
371*ebfedea0SLionel Sambuc	addl	$4,%esp
372*ebfedea0SLionel Sambuc	shll	$6,%eax
373*ebfedea0SLionel Sambuc	movl	%edi,16(%esp)
374*ebfedea0SLionel Sambuc	leal	(%edi,%eax,1),%edi
375*ebfedea0SLionel Sambuc	movl	%ebx,20(%esp)
376*ebfedea0SLionel Sambuc	call	.L004pic_point
377*ebfedea0SLionel Sambuc.L004pic_point:
378*ebfedea0SLionel Sambuc	popl	%ebp
379*ebfedea0SLionel Sambuc	leal	.LCamellia_SBOX-.L004pic_point(%ebp),%ebp
380*ebfedea0SLionel Sambuc	movl	(%esi),%eax
381*ebfedea0SLionel Sambuc	movl	4(%esi),%ebx
382*ebfedea0SLionel Sambuc	movl	8(%esi),%ecx
383*ebfedea0SLionel Sambuc	bswap	%eax
384*ebfedea0SLionel Sambuc	movl	12(%esi),%edx
385*ebfedea0SLionel Sambuc	bswap	%ebx
386*ebfedea0SLionel Sambuc	bswap	%ecx
387*ebfedea0SLionel Sambuc	bswap	%edx
388*ebfedea0SLionel Sambuc	call	_x86_Camellia_decrypt
389*ebfedea0SLionel Sambuc	movl	20(%esp),%esp
390*ebfedea0SLionel Sambuc	bswap	%eax
391*ebfedea0SLionel Sambuc	movl	32(%esp),%esi
392*ebfedea0SLionel Sambuc	bswap	%ebx
393*ebfedea0SLionel Sambuc	bswap	%ecx
394*ebfedea0SLionel Sambuc	bswap	%edx
395*ebfedea0SLionel Sambuc	movl	%eax,(%esi)
396*ebfedea0SLionel Sambuc	movl	%ebx,4(%esi)
397*ebfedea0SLionel Sambuc	movl	%ecx,8(%esi)
398*ebfedea0SLionel Sambuc	movl	%edx,12(%esi)
399*ebfedea0SLionel Sambuc	popl	%edi
400*ebfedea0SLionel Sambuc	popl	%esi
401*ebfedea0SLionel Sambuc	popl	%ebx
402*ebfedea0SLionel Sambuc	popl	%ebp
403*ebfedea0SLionel Sambuc	ret
404*ebfedea0SLionel Sambuc.size	Camellia_DecryptBlock_Rounds,.-.L_Camellia_DecryptBlock_Rounds_begin
405*ebfedea0SLionel Sambuc.globl	Camellia_DecryptBlock
406*ebfedea0SLionel Sambuc.type	Camellia_DecryptBlock,@function
407*ebfedea0SLionel Sambuc.align	16
408*ebfedea0SLionel SambucCamellia_DecryptBlock:
409*ebfedea0SLionel Sambuc.L_Camellia_DecryptBlock_begin:
410*ebfedea0SLionel Sambuc	movl	$128,%eax
411*ebfedea0SLionel Sambuc	subl	4(%esp),%eax
412*ebfedea0SLionel Sambuc	movl	$3,%eax
413*ebfedea0SLionel Sambuc	adcl	$0,%eax
414*ebfedea0SLionel Sambuc	movl	%eax,4(%esp)
415*ebfedea0SLionel Sambuc	jmp	.L_Camellia_DecryptBlock_Rounds_begin
416*ebfedea0SLionel Sambuc.size	Camellia_DecryptBlock,.-.L_Camellia_DecryptBlock_begin
417*ebfedea0SLionel Sambuc.globl	Camellia_decrypt
418*ebfedea0SLionel Sambuc.type	Camellia_decrypt,@function
419*ebfedea0SLionel Sambuc.align	16
420*ebfedea0SLionel SambucCamellia_decrypt:
421*ebfedea0SLionel Sambuc.L_Camellia_decrypt_begin:
422*ebfedea0SLionel Sambuc	pushl	%ebp
423*ebfedea0SLionel Sambuc	pushl	%ebx
424*ebfedea0SLionel Sambuc	pushl	%esi
425*ebfedea0SLionel Sambuc	pushl	%edi
426*ebfedea0SLionel Sambuc	movl	20(%esp),%esi
427*ebfedea0SLionel Sambuc	movl	28(%esp),%edi
428*ebfedea0SLionel Sambuc	movl	%esp,%ebx
429*ebfedea0SLionel Sambuc	subl	$28,%esp
430*ebfedea0SLionel Sambuc	andl	$-64,%esp
431*ebfedea0SLionel Sambuc	movl	272(%edi),%eax
432*ebfedea0SLionel Sambuc	leal	-127(%edi),%ecx
433*ebfedea0SLionel Sambuc	subl	%esp,%ecx
434*ebfedea0SLionel Sambuc	negl	%ecx
435*ebfedea0SLionel Sambuc	andl	$960,%ecx
436*ebfedea0SLionel Sambuc	subl	%ecx,%esp
437*ebfedea0SLionel Sambuc	addl	$4,%esp
438*ebfedea0SLionel Sambuc	shll	$6,%eax
439*ebfedea0SLionel Sambuc	movl	%edi,16(%esp)
440*ebfedea0SLionel Sambuc	leal	(%edi,%eax,1),%edi
441*ebfedea0SLionel Sambuc	movl	%ebx,20(%esp)
442*ebfedea0SLionel Sambuc	call	.L005pic_point
443*ebfedea0SLionel Sambuc.L005pic_point:
444*ebfedea0SLionel Sambuc	popl	%ebp
445*ebfedea0SLionel Sambuc	leal	.LCamellia_SBOX-.L005pic_point(%ebp),%ebp
446*ebfedea0SLionel Sambuc	movl	(%esi),%eax
447*ebfedea0SLionel Sambuc	movl	4(%esi),%ebx
448*ebfedea0SLionel Sambuc	movl	8(%esi),%ecx
449*ebfedea0SLionel Sambuc	bswap	%eax
450*ebfedea0SLionel Sambuc	movl	12(%esi),%edx
451*ebfedea0SLionel Sambuc	bswap	%ebx
452*ebfedea0SLionel Sambuc	bswap	%ecx
453*ebfedea0SLionel Sambuc	bswap	%edx
454*ebfedea0SLionel Sambuc	call	_x86_Camellia_decrypt
455*ebfedea0SLionel Sambuc	movl	20(%esp),%esp
456*ebfedea0SLionel Sambuc	bswap	%eax
457*ebfedea0SLionel Sambuc	movl	24(%esp),%esi
458*ebfedea0SLionel Sambuc	bswap	%ebx
459*ebfedea0SLionel Sambuc	bswap	%ecx
460*ebfedea0SLionel Sambuc	bswap	%edx
461*ebfedea0SLionel Sambuc	movl	%eax,(%esi)
462*ebfedea0SLionel Sambuc	movl	%ebx,4(%esi)
463*ebfedea0SLionel Sambuc	movl	%ecx,8(%esi)
464*ebfedea0SLionel Sambuc	movl	%edx,12(%esi)
465*ebfedea0SLionel Sambuc	popl	%edi
466*ebfedea0SLionel Sambuc	popl	%esi
467*ebfedea0SLionel Sambuc	popl	%ebx
468*ebfedea0SLionel Sambuc	popl	%ebp
469*ebfedea0SLionel Sambuc	ret
470*ebfedea0SLionel Sambuc.size	Camellia_decrypt,.-.L_Camellia_decrypt_begin
471*ebfedea0SLionel Sambuc.type	_x86_Camellia_decrypt,@function
472*ebfedea0SLionel Sambuc.align	16
473*ebfedea0SLionel Sambuc_x86_Camellia_decrypt:
474*ebfedea0SLionel Sambuc	xorl	(%edi),%eax
475*ebfedea0SLionel Sambuc	xorl	4(%edi),%ebx
476*ebfedea0SLionel Sambuc	xorl	8(%edi),%ecx
477*ebfedea0SLionel Sambuc	xorl	12(%edi),%edx
478*ebfedea0SLionel Sambuc	movl	-8(%edi),%esi
479*ebfedea0SLionel Sambuc	movl	%eax,4(%esp)
480*ebfedea0SLionel Sambuc	movl	%ebx,8(%esp)
481*ebfedea0SLionel Sambuc	movl	%ecx,12(%esp)
482*ebfedea0SLionel Sambuc	movl	%edx,16(%esp)
483*ebfedea0SLionel Sambuc.align	16
484*ebfedea0SLionel Sambuc.L006loop:
485*ebfedea0SLionel Sambuc	xorl	%esi,%eax
486*ebfedea0SLionel Sambuc	xorl	-4(%edi),%ebx
487*ebfedea0SLionel Sambuc	movzbl	%ah,%esi
488*ebfedea0SLionel Sambuc	movl	2052(%ebp,%esi,8),%edx
489*ebfedea0SLionel Sambuc	movzbl	%al,%esi
490*ebfedea0SLionel Sambuc	xorl	4(%ebp,%esi,8),%edx
491*ebfedea0SLionel Sambuc	shrl	$16,%eax
492*ebfedea0SLionel Sambuc	movzbl	%bl,%esi
493*ebfedea0SLionel Sambuc	movl	(%ebp,%esi,8),%ecx
494*ebfedea0SLionel Sambuc	movzbl	%ah,%esi
495*ebfedea0SLionel Sambuc	xorl	(%ebp,%esi,8),%edx
496*ebfedea0SLionel Sambuc	movzbl	%bh,%esi
497*ebfedea0SLionel Sambuc	xorl	4(%ebp,%esi,8),%ecx
498*ebfedea0SLionel Sambuc	shrl	$16,%ebx
499*ebfedea0SLionel Sambuc	movzbl	%al,%eax
500*ebfedea0SLionel Sambuc	xorl	2048(%ebp,%eax,8),%edx
501*ebfedea0SLionel Sambuc	movzbl	%bh,%esi
502*ebfedea0SLionel Sambuc	movl	16(%esp),%eax
503*ebfedea0SLionel Sambuc	xorl	%edx,%ecx
504*ebfedea0SLionel Sambuc	rorl	$8,%edx
505*ebfedea0SLionel Sambuc	xorl	2048(%ebp,%esi,8),%ecx
506*ebfedea0SLionel Sambuc	movzbl	%bl,%esi
507*ebfedea0SLionel Sambuc	movl	12(%esp),%ebx
508*ebfedea0SLionel Sambuc	xorl	%eax,%edx
509*ebfedea0SLionel Sambuc	xorl	2052(%ebp,%esi,8),%ecx
510*ebfedea0SLionel Sambuc	movl	-16(%edi),%esi
511*ebfedea0SLionel Sambuc	xorl	%ecx,%edx
512*ebfedea0SLionel Sambuc	movl	%edx,16(%esp)
513*ebfedea0SLionel Sambuc	xorl	%ebx,%ecx
514*ebfedea0SLionel Sambuc	movl	%ecx,12(%esp)
515*ebfedea0SLionel Sambuc	xorl	%esi,%ecx
516*ebfedea0SLionel Sambuc	xorl	-12(%edi),%edx
517*ebfedea0SLionel Sambuc	movzbl	%ch,%esi
518*ebfedea0SLionel Sambuc	movl	2052(%ebp,%esi,8),%ebx
519*ebfedea0SLionel Sambuc	movzbl	%cl,%esi
520*ebfedea0SLionel Sambuc	xorl	4(%ebp,%esi,8),%ebx
521*ebfedea0SLionel Sambuc	shrl	$16,%ecx
522*ebfedea0SLionel Sambuc	movzbl	%dl,%esi
523*ebfedea0SLionel Sambuc	movl	(%ebp,%esi,8),%eax
524*ebfedea0SLionel Sambuc	movzbl	%ch,%esi
525*ebfedea0SLionel Sambuc	xorl	(%ebp,%esi,8),%ebx
526*ebfedea0SLionel Sambuc	movzbl	%dh,%esi
527*ebfedea0SLionel Sambuc	xorl	4(%ebp,%esi,8),%eax
528*ebfedea0SLionel Sambuc	shrl	$16,%edx
529*ebfedea0SLionel Sambuc	movzbl	%cl,%ecx
530*ebfedea0SLionel Sambuc	xorl	2048(%ebp,%ecx,8),%ebx
531*ebfedea0SLionel Sambuc	movzbl	%dh,%esi
532*ebfedea0SLionel Sambuc	movl	8(%esp),%ecx
533*ebfedea0SLionel Sambuc	xorl	%ebx,%eax
534*ebfedea0SLionel Sambuc	rorl	$8,%ebx
535*ebfedea0SLionel Sambuc	xorl	2048(%ebp,%esi,8),%eax
536*ebfedea0SLionel Sambuc	movzbl	%dl,%esi
537*ebfedea0SLionel Sambuc	movl	4(%esp),%edx
538*ebfedea0SLionel Sambuc	xorl	%ecx,%ebx
539*ebfedea0SLionel Sambuc	xorl	2052(%ebp,%esi,8),%eax
540*ebfedea0SLionel Sambuc	movl	-24(%edi),%esi
541*ebfedea0SLionel Sambuc	xorl	%eax,%ebx
542*ebfedea0SLionel Sambuc	movl	%ebx,8(%esp)
543*ebfedea0SLionel Sambuc	xorl	%edx,%eax
544*ebfedea0SLionel Sambuc	movl	%eax,4(%esp)
545*ebfedea0SLionel Sambuc	xorl	%esi,%eax
546*ebfedea0SLionel Sambuc	xorl	-20(%edi),%ebx
547*ebfedea0SLionel Sambuc	movzbl	%ah,%esi
548*ebfedea0SLionel Sambuc	movl	2052(%ebp,%esi,8),%edx
549*ebfedea0SLionel Sambuc	movzbl	%al,%esi
550*ebfedea0SLionel Sambuc	xorl	4(%ebp,%esi,8),%edx
551*ebfedea0SLionel Sambuc	shrl	$16,%eax
552*ebfedea0SLionel Sambuc	movzbl	%bl,%esi
553*ebfedea0SLionel Sambuc	movl	(%ebp,%esi,8),%ecx
554*ebfedea0SLionel Sambuc	movzbl	%ah,%esi
555*ebfedea0SLionel Sambuc	xorl	(%ebp,%esi,8),%edx
556*ebfedea0SLionel Sambuc	movzbl	%bh,%esi
557*ebfedea0SLionel Sambuc	xorl	4(%ebp,%esi,8),%ecx
558*ebfedea0SLionel Sambuc	shrl	$16,%ebx
559*ebfedea0SLionel Sambuc	movzbl	%al,%eax
560*ebfedea0SLionel Sambuc	xorl	2048(%ebp,%eax,8),%edx
561*ebfedea0SLionel Sambuc	movzbl	%bh,%esi
562*ebfedea0SLionel Sambuc	movl	16(%esp),%eax
563*ebfedea0SLionel Sambuc	xorl	%edx,%ecx
564*ebfedea0SLionel Sambuc	rorl	$8,%edx
565*ebfedea0SLionel Sambuc	xorl	2048(%ebp,%esi,8),%ecx
566*ebfedea0SLionel Sambuc	movzbl	%bl,%esi
567*ebfedea0SLionel Sambuc	movl	12(%esp),%ebx
568*ebfedea0SLionel Sambuc	xorl	%eax,%edx
569*ebfedea0SLionel Sambuc	xorl	2052(%ebp,%esi,8),%ecx
570*ebfedea0SLionel Sambuc	movl	-32(%edi),%esi
571*ebfedea0SLionel Sambuc	xorl	%ecx,%edx
572*ebfedea0SLionel Sambuc	movl	%edx,16(%esp)
573*ebfedea0SLionel Sambuc	xorl	%ebx,%ecx
574*ebfedea0SLionel Sambuc	movl	%ecx,12(%esp)
575*ebfedea0SLionel Sambuc	xorl	%esi,%ecx
576*ebfedea0SLionel Sambuc	xorl	-28(%edi),%edx
577*ebfedea0SLionel Sambuc	movzbl	%ch,%esi
578*ebfedea0SLionel Sambuc	movl	2052(%ebp,%esi,8),%ebx
579*ebfedea0SLionel Sambuc	movzbl	%cl,%esi
580*ebfedea0SLionel Sambuc	xorl	4(%ebp,%esi,8),%ebx
581*ebfedea0SLionel Sambuc	shrl	$16,%ecx
582*ebfedea0SLionel Sambuc	movzbl	%dl,%esi
583*ebfedea0SLionel Sambuc	movl	(%ebp,%esi,8),%eax
584*ebfedea0SLionel Sambuc	movzbl	%ch,%esi
585*ebfedea0SLionel Sambuc	xorl	(%ebp,%esi,8),%ebx
586*ebfedea0SLionel Sambuc	movzbl	%dh,%esi
587*ebfedea0SLionel Sambuc	xorl	4(%ebp,%esi,8),%eax
588*ebfedea0SLionel Sambuc	shrl	$16,%edx
589*ebfedea0SLionel Sambuc	movzbl	%cl,%ecx
590*ebfedea0SLionel Sambuc	xorl	2048(%ebp,%ecx,8),%ebx
591*ebfedea0SLionel Sambuc	movzbl	%dh,%esi
592*ebfedea0SLionel Sambuc	movl	8(%esp),%ecx
593*ebfedea0SLionel Sambuc	xorl	%ebx,%eax
594*ebfedea0SLionel Sambuc	rorl	$8,%ebx
595*ebfedea0SLionel Sambuc	xorl	2048(%ebp,%esi,8),%eax
596*ebfedea0SLionel Sambuc	movzbl	%dl,%esi
597*ebfedea0SLionel Sambuc	movl	4(%esp),%edx
598*ebfedea0SLionel Sambuc	xorl	%ecx,%ebx
599*ebfedea0SLionel Sambuc	xorl	2052(%ebp,%esi,8),%eax
600*ebfedea0SLionel Sambuc	movl	-40(%edi),%esi
601*ebfedea0SLionel Sambuc	xorl	%eax,%ebx
602*ebfedea0SLionel Sambuc	movl	%ebx,8(%esp)
603*ebfedea0SLionel Sambuc	xorl	%edx,%eax
604*ebfedea0SLionel Sambuc	movl	%eax,4(%esp)
605*ebfedea0SLionel Sambuc	xorl	%esi,%eax
606*ebfedea0SLionel Sambuc	xorl	-36(%edi),%ebx
607*ebfedea0SLionel Sambuc	movzbl	%ah,%esi
608*ebfedea0SLionel Sambuc	movl	2052(%ebp,%esi,8),%edx
609*ebfedea0SLionel Sambuc	movzbl	%al,%esi
610*ebfedea0SLionel Sambuc	xorl	4(%ebp,%esi,8),%edx
611*ebfedea0SLionel Sambuc	shrl	$16,%eax
612*ebfedea0SLionel Sambuc	movzbl	%bl,%esi
613*ebfedea0SLionel Sambuc	movl	(%ebp,%esi,8),%ecx
614*ebfedea0SLionel Sambuc	movzbl	%ah,%esi
615*ebfedea0SLionel Sambuc	xorl	(%ebp,%esi,8),%edx
616*ebfedea0SLionel Sambuc	movzbl	%bh,%esi
617*ebfedea0SLionel Sambuc	xorl	4(%ebp,%esi,8),%ecx
618*ebfedea0SLionel Sambuc	shrl	$16,%ebx
619*ebfedea0SLionel Sambuc	movzbl	%al,%eax
620*ebfedea0SLionel Sambuc	xorl	2048(%ebp,%eax,8),%edx
621*ebfedea0SLionel Sambuc	movzbl	%bh,%esi
622*ebfedea0SLionel Sambuc	movl	16(%esp),%eax
623*ebfedea0SLionel Sambuc	xorl	%edx,%ecx
624*ebfedea0SLionel Sambuc	rorl	$8,%edx
625*ebfedea0SLionel Sambuc	xorl	2048(%ebp,%esi,8),%ecx
626*ebfedea0SLionel Sambuc	movzbl	%bl,%esi
627*ebfedea0SLionel Sambuc	movl	12(%esp),%ebx
628*ebfedea0SLionel Sambuc	xorl	%eax,%edx
629*ebfedea0SLionel Sambuc	xorl	2052(%ebp,%esi,8),%ecx
630*ebfedea0SLionel Sambuc	movl	-48(%edi),%esi
631*ebfedea0SLionel Sambuc	xorl	%ecx,%edx
632*ebfedea0SLionel Sambuc	movl	%edx,16(%esp)
633*ebfedea0SLionel Sambuc	xorl	%ebx,%ecx
634*ebfedea0SLionel Sambuc	movl	%ecx,12(%esp)
635*ebfedea0SLionel Sambuc	xorl	%esi,%ecx
636*ebfedea0SLionel Sambuc	xorl	-44(%edi),%edx
637*ebfedea0SLionel Sambuc	movzbl	%ch,%esi
638*ebfedea0SLionel Sambuc	movl	2052(%ebp,%esi,8),%ebx
639*ebfedea0SLionel Sambuc	movzbl	%cl,%esi
640*ebfedea0SLionel Sambuc	xorl	4(%ebp,%esi,8),%ebx
641*ebfedea0SLionel Sambuc	shrl	$16,%ecx
642*ebfedea0SLionel Sambuc	movzbl	%dl,%esi
643*ebfedea0SLionel Sambuc	movl	(%ebp,%esi,8),%eax
644*ebfedea0SLionel Sambuc	movzbl	%ch,%esi
645*ebfedea0SLionel Sambuc	xorl	(%ebp,%esi,8),%ebx
646*ebfedea0SLionel Sambuc	movzbl	%dh,%esi
647*ebfedea0SLionel Sambuc	xorl	4(%ebp,%esi,8),%eax
648*ebfedea0SLionel Sambuc	shrl	$16,%edx
649*ebfedea0SLionel Sambuc	movzbl	%cl,%ecx
650*ebfedea0SLionel Sambuc	xorl	2048(%ebp,%ecx,8),%ebx
651*ebfedea0SLionel Sambuc	movzbl	%dh,%esi
652*ebfedea0SLionel Sambuc	movl	8(%esp),%ecx
653*ebfedea0SLionel Sambuc	xorl	%ebx,%eax
654*ebfedea0SLionel Sambuc	rorl	$8,%ebx
655*ebfedea0SLionel Sambuc	xorl	2048(%ebp,%esi,8),%eax
656*ebfedea0SLionel Sambuc	movzbl	%dl,%esi
657*ebfedea0SLionel Sambuc	movl	4(%esp),%edx
658*ebfedea0SLionel Sambuc	xorl	%ecx,%ebx
659*ebfedea0SLionel Sambuc	xorl	2052(%ebp,%esi,8),%eax
660*ebfedea0SLionel Sambuc	movl	-56(%edi),%esi
661*ebfedea0SLionel Sambuc	xorl	%eax,%ebx
662*ebfedea0SLionel Sambuc	movl	%ebx,8(%esp)
663*ebfedea0SLionel Sambuc	xorl	%edx,%eax
664*ebfedea0SLionel Sambuc	movl	%eax,4(%esp)
665*ebfedea0SLionel Sambuc	subl	$64,%edi
666*ebfedea0SLionel Sambuc	cmpl	20(%esp),%edi
667*ebfedea0SLionel Sambuc	je	.L007done
668*ebfedea0SLionel Sambuc	andl	%eax,%esi
669*ebfedea0SLionel Sambuc	movl	16(%esp),%edx
670*ebfedea0SLionel Sambuc	roll	$1,%esi
671*ebfedea0SLionel Sambuc	movl	%edx,%ecx
672*ebfedea0SLionel Sambuc	xorl	%esi,%ebx
673*ebfedea0SLionel Sambuc	orl	4(%edi),%ecx
674*ebfedea0SLionel Sambuc	movl	%ebx,8(%esp)
675*ebfedea0SLionel Sambuc	xorl	12(%esp),%ecx
676*ebfedea0SLionel Sambuc	movl	12(%edi),%esi
677*ebfedea0SLionel Sambuc	movl	%ecx,12(%esp)
678*ebfedea0SLionel Sambuc	orl	%ebx,%esi
679*ebfedea0SLionel Sambuc	andl	(%edi),%ecx
680*ebfedea0SLionel Sambuc	xorl	%esi,%eax
681*ebfedea0SLionel Sambuc	roll	$1,%ecx
682*ebfedea0SLionel Sambuc	movl	%eax,4(%esp)
683*ebfedea0SLionel Sambuc	xorl	%ecx,%edx
684*ebfedea0SLionel Sambuc	movl	-8(%edi),%esi
685*ebfedea0SLionel Sambuc	movl	%edx,16(%esp)
686*ebfedea0SLionel Sambuc	jmp	.L006loop
687*ebfedea0SLionel Sambuc.align	8
688*ebfedea0SLionel Sambuc.L007done:
689*ebfedea0SLionel Sambuc	movl	%eax,%ecx
690*ebfedea0SLionel Sambuc	movl	%ebx,%edx
691*ebfedea0SLionel Sambuc	movl	12(%esp),%eax
692*ebfedea0SLionel Sambuc	movl	16(%esp),%ebx
693*ebfedea0SLionel Sambuc	xorl	%esi,%ecx
694*ebfedea0SLionel Sambuc	xorl	12(%edi),%edx
695*ebfedea0SLionel Sambuc	xorl	(%edi),%eax
696*ebfedea0SLionel Sambuc	xorl	4(%edi),%ebx
697*ebfedea0SLionel Sambuc	ret
698*ebfedea0SLionel Sambuc.size	_x86_Camellia_decrypt,.-_x86_Camellia_decrypt
699*ebfedea0SLionel Sambuc.globl	Camellia_Ekeygen
700*ebfedea0SLionel Sambuc.type	Camellia_Ekeygen,@function
701*ebfedea0SLionel Sambuc.align	16
702*ebfedea0SLionel SambucCamellia_Ekeygen:
703*ebfedea0SLionel Sambuc.L_Camellia_Ekeygen_begin:
704*ebfedea0SLionel Sambuc	pushl	%ebp
705*ebfedea0SLionel Sambuc	pushl	%ebx
706*ebfedea0SLionel Sambuc	pushl	%esi
707*ebfedea0SLionel Sambuc	pushl	%edi
708*ebfedea0SLionel Sambuc	subl	$16,%esp
709*ebfedea0SLionel Sambuc	movl	36(%esp),%ebp
710*ebfedea0SLionel Sambuc	movl	40(%esp),%esi
711*ebfedea0SLionel Sambuc	movl	44(%esp),%edi
712*ebfedea0SLionel Sambuc	movl	(%esi),%eax
713*ebfedea0SLionel Sambuc	movl	4(%esi),%ebx
714*ebfedea0SLionel Sambuc	movl	8(%esi),%ecx
715*ebfedea0SLionel Sambuc	movl	12(%esi),%edx
716*ebfedea0SLionel Sambuc	bswap	%eax
717*ebfedea0SLionel Sambuc	bswap	%ebx
718*ebfedea0SLionel Sambuc	bswap	%ecx
719*ebfedea0SLionel Sambuc	bswap	%edx
720*ebfedea0SLionel Sambuc	movl	%eax,(%edi)
721*ebfedea0SLionel Sambuc	movl	%ebx,4(%edi)
722*ebfedea0SLionel Sambuc	movl	%ecx,8(%edi)
723*ebfedea0SLionel Sambuc	movl	%edx,12(%edi)
724*ebfedea0SLionel Sambuc	cmpl	$128,%ebp
725*ebfedea0SLionel Sambuc	je	.L0081st128
726*ebfedea0SLionel Sambuc	movl	16(%esi),%eax
727*ebfedea0SLionel Sambuc	movl	20(%esi),%ebx
728*ebfedea0SLionel Sambuc	cmpl	$192,%ebp
729*ebfedea0SLionel Sambuc	je	.L0091st192
730*ebfedea0SLionel Sambuc	movl	24(%esi),%ecx
731*ebfedea0SLionel Sambuc	movl	28(%esi),%edx
732*ebfedea0SLionel Sambuc	jmp	.L0101st256
733*ebfedea0SLionel Sambuc.align	4
734*ebfedea0SLionel Sambuc.L0091st192:
735*ebfedea0SLionel Sambuc	movl	%eax,%ecx
736*ebfedea0SLionel Sambuc	movl	%ebx,%edx
737*ebfedea0SLionel Sambuc	notl	%ecx
738*ebfedea0SLionel Sambuc	notl	%edx
739*ebfedea0SLionel Sambuc.align	4
740*ebfedea0SLionel Sambuc.L0101st256:
741*ebfedea0SLionel Sambuc	bswap	%eax
742*ebfedea0SLionel Sambuc	bswap	%ebx
743*ebfedea0SLionel Sambuc	bswap	%ecx
744*ebfedea0SLionel Sambuc	bswap	%edx
745*ebfedea0SLionel Sambuc	movl	%eax,32(%edi)
746*ebfedea0SLionel Sambuc	movl	%ebx,36(%edi)
747*ebfedea0SLionel Sambuc	movl	%ecx,40(%edi)
748*ebfedea0SLionel Sambuc	movl	%edx,44(%edi)
749*ebfedea0SLionel Sambuc	xorl	(%edi),%eax
750*ebfedea0SLionel Sambuc	xorl	4(%edi),%ebx
751*ebfedea0SLionel Sambuc	xorl	8(%edi),%ecx
752*ebfedea0SLionel Sambuc	xorl	12(%edi),%edx
753*ebfedea0SLionel Sambuc.align	4
754*ebfedea0SLionel Sambuc.L0081st128:
755*ebfedea0SLionel Sambuc	call	.L011pic_point
756*ebfedea0SLionel Sambuc.L011pic_point:
757*ebfedea0SLionel Sambuc	popl	%ebp
758*ebfedea0SLionel Sambuc	leal	.LCamellia_SBOX-.L011pic_point(%ebp),%ebp
759*ebfedea0SLionel Sambuc	leal	.LCamellia_SIGMA-.LCamellia_SBOX(%ebp),%edi
760*ebfedea0SLionel Sambuc	movl	(%edi),%esi
761*ebfedea0SLionel Sambuc	movl	%eax,(%esp)
762*ebfedea0SLionel Sambuc	movl	%ebx,4(%esp)
763*ebfedea0SLionel Sambuc	movl	%ecx,8(%esp)
764*ebfedea0SLionel Sambuc	movl	%edx,12(%esp)
765*ebfedea0SLionel Sambuc	xorl	%esi,%eax
766*ebfedea0SLionel Sambuc	xorl	4(%edi),%ebx
767*ebfedea0SLionel Sambuc	movzbl	%ah,%esi
768*ebfedea0SLionel Sambuc	movl	2052(%ebp,%esi,8),%edx
769*ebfedea0SLionel Sambuc	movzbl	%al,%esi
770*ebfedea0SLionel Sambuc	xorl	4(%ebp,%esi,8),%edx
771*ebfedea0SLionel Sambuc	shrl	$16,%eax
772*ebfedea0SLionel Sambuc	movzbl	%bl,%esi
773*ebfedea0SLionel Sambuc	movl	(%ebp,%esi,8),%ecx
774*ebfedea0SLionel Sambuc	movzbl	%ah,%esi
775*ebfedea0SLionel Sambuc	xorl	(%ebp,%esi,8),%edx
776*ebfedea0SLionel Sambuc	movzbl	%bh,%esi
777*ebfedea0SLionel Sambuc	xorl	4(%ebp,%esi,8),%ecx
778*ebfedea0SLionel Sambuc	shrl	$16,%ebx
779*ebfedea0SLionel Sambuc	movzbl	%al,%eax
780*ebfedea0SLionel Sambuc	xorl	2048(%ebp,%eax,8),%edx
781*ebfedea0SLionel Sambuc	movzbl	%bh,%esi
782*ebfedea0SLionel Sambuc	movl	12(%esp),%eax
783*ebfedea0SLionel Sambuc	xorl	%edx,%ecx
784*ebfedea0SLionel Sambuc	rorl	$8,%edx
785*ebfedea0SLionel Sambuc	xorl	2048(%ebp,%esi,8),%ecx
786*ebfedea0SLionel Sambuc	movzbl	%bl,%esi
787*ebfedea0SLionel Sambuc	movl	8(%esp),%ebx
788*ebfedea0SLionel Sambuc	xorl	%eax,%edx
789*ebfedea0SLionel Sambuc	xorl	2052(%ebp,%esi,8),%ecx
790*ebfedea0SLionel Sambuc	movl	8(%edi),%esi
791*ebfedea0SLionel Sambuc	xorl	%ecx,%edx
792*ebfedea0SLionel Sambuc	movl	%edx,12(%esp)
793*ebfedea0SLionel Sambuc	xorl	%ebx,%ecx
794*ebfedea0SLionel Sambuc	movl	%ecx,8(%esp)
795*ebfedea0SLionel Sambuc	xorl	%esi,%ecx
796*ebfedea0SLionel Sambuc	xorl	12(%edi),%edx
797*ebfedea0SLionel Sambuc	movzbl	%ch,%esi
798*ebfedea0SLionel Sambuc	movl	2052(%ebp,%esi,8),%ebx
799*ebfedea0SLionel Sambuc	movzbl	%cl,%esi
800*ebfedea0SLionel Sambuc	xorl	4(%ebp,%esi,8),%ebx
801*ebfedea0SLionel Sambuc	shrl	$16,%ecx
802*ebfedea0SLionel Sambuc	movzbl	%dl,%esi
803*ebfedea0SLionel Sambuc	movl	(%ebp,%esi,8),%eax
804*ebfedea0SLionel Sambuc	movzbl	%ch,%esi
805*ebfedea0SLionel Sambuc	xorl	(%ebp,%esi,8),%ebx
806*ebfedea0SLionel Sambuc	movzbl	%dh,%esi
807*ebfedea0SLionel Sambuc	xorl	4(%ebp,%esi,8),%eax
808*ebfedea0SLionel Sambuc	shrl	$16,%edx
809*ebfedea0SLionel Sambuc	movzbl	%cl,%ecx
810*ebfedea0SLionel Sambuc	xorl	2048(%ebp,%ecx,8),%ebx
811*ebfedea0SLionel Sambuc	movzbl	%dh,%esi
812*ebfedea0SLionel Sambuc	movl	4(%esp),%ecx
813*ebfedea0SLionel Sambuc	xorl	%ebx,%eax
814*ebfedea0SLionel Sambuc	rorl	$8,%ebx
815*ebfedea0SLionel Sambuc	xorl	2048(%ebp,%esi,8),%eax
816*ebfedea0SLionel Sambuc	movzbl	%dl,%esi
817*ebfedea0SLionel Sambuc	movl	(%esp),%edx
818*ebfedea0SLionel Sambuc	xorl	%ecx,%ebx
819*ebfedea0SLionel Sambuc	xorl	2052(%ebp,%esi,8),%eax
820*ebfedea0SLionel Sambuc	movl	16(%edi),%esi
821*ebfedea0SLionel Sambuc	xorl	%eax,%ebx
822*ebfedea0SLionel Sambuc	movl	%ebx,4(%esp)
823*ebfedea0SLionel Sambuc	xorl	%edx,%eax
824*ebfedea0SLionel Sambuc	movl	%eax,(%esp)
825*ebfedea0SLionel Sambuc	movl	8(%esp),%ecx
826*ebfedea0SLionel Sambuc	movl	12(%esp),%edx
827*ebfedea0SLionel Sambuc	movl	44(%esp),%esi
828*ebfedea0SLionel Sambuc	xorl	(%esi),%eax
829*ebfedea0SLionel Sambuc	xorl	4(%esi),%ebx
830*ebfedea0SLionel Sambuc	xorl	8(%esi),%ecx
831*ebfedea0SLionel Sambuc	xorl	12(%esi),%edx
832*ebfedea0SLionel Sambuc	movl	16(%edi),%esi
833*ebfedea0SLionel Sambuc	movl	%eax,(%esp)
834*ebfedea0SLionel Sambuc	movl	%ebx,4(%esp)
835*ebfedea0SLionel Sambuc	movl	%ecx,8(%esp)
836*ebfedea0SLionel Sambuc	movl	%edx,12(%esp)
837*ebfedea0SLionel Sambuc	xorl	%esi,%eax
838*ebfedea0SLionel Sambuc	xorl	20(%edi),%ebx
839*ebfedea0SLionel Sambuc	movzbl	%ah,%esi
840*ebfedea0SLionel Sambuc	movl	2052(%ebp,%esi,8),%edx
841*ebfedea0SLionel Sambuc	movzbl	%al,%esi
842*ebfedea0SLionel Sambuc	xorl	4(%ebp,%esi,8),%edx
843*ebfedea0SLionel Sambuc	shrl	$16,%eax
844*ebfedea0SLionel Sambuc	movzbl	%bl,%esi
845*ebfedea0SLionel Sambuc	movl	(%ebp,%esi,8),%ecx
846*ebfedea0SLionel Sambuc	movzbl	%ah,%esi
847*ebfedea0SLionel Sambuc	xorl	(%ebp,%esi,8),%edx
848*ebfedea0SLionel Sambuc	movzbl	%bh,%esi
849*ebfedea0SLionel Sambuc	xorl	4(%ebp,%esi,8),%ecx
850*ebfedea0SLionel Sambuc	shrl	$16,%ebx
851*ebfedea0SLionel Sambuc	movzbl	%al,%eax
852*ebfedea0SLionel Sambuc	xorl	2048(%ebp,%eax,8),%edx
853*ebfedea0SLionel Sambuc	movzbl	%bh,%esi
854*ebfedea0SLionel Sambuc	movl	12(%esp),%eax
855*ebfedea0SLionel Sambuc	xorl	%edx,%ecx
856*ebfedea0SLionel Sambuc	rorl	$8,%edx
857*ebfedea0SLionel Sambuc	xorl	2048(%ebp,%esi,8),%ecx
858*ebfedea0SLionel Sambuc	movzbl	%bl,%esi
859*ebfedea0SLionel Sambuc	movl	8(%esp),%ebx
860*ebfedea0SLionel Sambuc	xorl	%eax,%edx
861*ebfedea0SLionel Sambuc	xorl	2052(%ebp,%esi,8),%ecx
862*ebfedea0SLionel Sambuc	movl	24(%edi),%esi
863*ebfedea0SLionel Sambuc	xorl	%ecx,%edx
864*ebfedea0SLionel Sambuc	movl	%edx,12(%esp)
865*ebfedea0SLionel Sambuc	xorl	%ebx,%ecx
866*ebfedea0SLionel Sambuc	movl	%ecx,8(%esp)
867*ebfedea0SLionel Sambuc	xorl	%esi,%ecx
868*ebfedea0SLionel Sambuc	xorl	28(%edi),%edx
869*ebfedea0SLionel Sambuc	movzbl	%ch,%esi
870*ebfedea0SLionel Sambuc	movl	2052(%ebp,%esi,8),%ebx
871*ebfedea0SLionel Sambuc	movzbl	%cl,%esi
872*ebfedea0SLionel Sambuc	xorl	4(%ebp,%esi,8),%ebx
873*ebfedea0SLionel Sambuc	shrl	$16,%ecx
874*ebfedea0SLionel Sambuc	movzbl	%dl,%esi
875*ebfedea0SLionel Sambuc	movl	(%ebp,%esi,8),%eax
876*ebfedea0SLionel Sambuc	movzbl	%ch,%esi
877*ebfedea0SLionel Sambuc	xorl	(%ebp,%esi,8),%ebx
878*ebfedea0SLionel Sambuc	movzbl	%dh,%esi
879*ebfedea0SLionel Sambuc	xorl	4(%ebp,%esi,8),%eax
880*ebfedea0SLionel Sambuc	shrl	$16,%edx
881*ebfedea0SLionel Sambuc	movzbl	%cl,%ecx
882*ebfedea0SLionel Sambuc	xorl	2048(%ebp,%ecx,8),%ebx
883*ebfedea0SLionel Sambuc	movzbl	%dh,%esi
884*ebfedea0SLionel Sambuc	movl	4(%esp),%ecx
885*ebfedea0SLionel Sambuc	xorl	%ebx,%eax
886*ebfedea0SLionel Sambuc	rorl	$8,%ebx
887*ebfedea0SLionel Sambuc	xorl	2048(%ebp,%esi,8),%eax
888*ebfedea0SLionel Sambuc	movzbl	%dl,%esi
889*ebfedea0SLionel Sambuc	movl	(%esp),%edx
890*ebfedea0SLionel Sambuc	xorl	%ecx,%ebx
891*ebfedea0SLionel Sambuc	xorl	2052(%ebp,%esi,8),%eax
892*ebfedea0SLionel Sambuc	movl	32(%edi),%esi
893*ebfedea0SLionel Sambuc	xorl	%eax,%ebx
894*ebfedea0SLionel Sambuc	movl	%ebx,4(%esp)
895*ebfedea0SLionel Sambuc	xorl	%edx,%eax
896*ebfedea0SLionel Sambuc	movl	%eax,(%esp)
897*ebfedea0SLionel Sambuc	movl	8(%esp),%ecx
898*ebfedea0SLionel Sambuc	movl	12(%esp),%edx
899*ebfedea0SLionel Sambuc	movl	36(%esp),%esi
900*ebfedea0SLionel Sambuc	cmpl	$128,%esi
901*ebfedea0SLionel Sambuc	jne	.L0122nd256
902*ebfedea0SLionel Sambuc	movl	44(%esp),%edi
903*ebfedea0SLionel Sambuc	leal	128(%edi),%edi
904*ebfedea0SLionel Sambuc	movl	%eax,-112(%edi)
905*ebfedea0SLionel Sambuc	movl	%ebx,-108(%edi)
906*ebfedea0SLionel Sambuc	movl	%ecx,-104(%edi)
907*ebfedea0SLionel Sambuc	movl	%edx,-100(%edi)
908*ebfedea0SLionel Sambuc	movl	%eax,%ebp
909*ebfedea0SLionel Sambuc	shll	$15,%eax
910*ebfedea0SLionel Sambuc	movl	%ebx,%esi
911*ebfedea0SLionel Sambuc	shrl	$17,%esi
912*ebfedea0SLionel Sambuc	shll	$15,%ebx
913*ebfedea0SLionel Sambuc	orl	%esi,%eax
914*ebfedea0SLionel Sambuc	movl	%ecx,%esi
915*ebfedea0SLionel Sambuc	shll	$15,%ecx
916*ebfedea0SLionel Sambuc	movl	%eax,-80(%edi)
917*ebfedea0SLionel Sambuc	shrl	$17,%esi
918*ebfedea0SLionel Sambuc	orl	%esi,%ebx
919*ebfedea0SLionel Sambuc	shrl	$17,%ebp
920*ebfedea0SLionel Sambuc	movl	%edx,%esi
921*ebfedea0SLionel Sambuc	shrl	$17,%esi
922*ebfedea0SLionel Sambuc	movl	%ebx,-76(%edi)
923*ebfedea0SLionel Sambuc	shll	$15,%edx
924*ebfedea0SLionel Sambuc	orl	%esi,%ecx
925*ebfedea0SLionel Sambuc	orl	%ebp,%edx
926*ebfedea0SLionel Sambuc	movl	%ecx,-72(%edi)
927*ebfedea0SLionel Sambuc	movl	%edx,-68(%edi)
928*ebfedea0SLionel Sambuc	movl	%eax,%ebp
929*ebfedea0SLionel Sambuc	shll	$15,%eax
930*ebfedea0SLionel Sambuc	movl	%ebx,%esi
931*ebfedea0SLionel Sambuc	shrl	$17,%esi
932*ebfedea0SLionel Sambuc	shll	$15,%ebx
933*ebfedea0SLionel Sambuc	orl	%esi,%eax
934*ebfedea0SLionel Sambuc	movl	%ecx,%esi
935*ebfedea0SLionel Sambuc	shll	$15,%ecx
936*ebfedea0SLionel Sambuc	movl	%eax,-64(%edi)
937*ebfedea0SLionel Sambuc	shrl	$17,%esi
938*ebfedea0SLionel Sambuc	orl	%esi,%ebx
939*ebfedea0SLionel Sambuc	shrl	$17,%ebp
940*ebfedea0SLionel Sambuc	movl	%edx,%esi
941*ebfedea0SLionel Sambuc	shrl	$17,%esi
942*ebfedea0SLionel Sambuc	movl	%ebx,-60(%edi)
943*ebfedea0SLionel Sambuc	shll	$15,%edx
944*ebfedea0SLionel Sambuc	orl	%esi,%ecx
945*ebfedea0SLionel Sambuc	orl	%ebp,%edx
946*ebfedea0SLionel Sambuc	movl	%ecx,-56(%edi)
947*ebfedea0SLionel Sambuc	movl	%edx,-52(%edi)
948*ebfedea0SLionel Sambuc	movl	%eax,%ebp
949*ebfedea0SLionel Sambuc	shll	$15,%eax
950*ebfedea0SLionel Sambuc	movl	%ebx,%esi
951*ebfedea0SLionel Sambuc	shrl	$17,%esi
952*ebfedea0SLionel Sambuc	shll	$15,%ebx
953*ebfedea0SLionel Sambuc	orl	%esi,%eax
954*ebfedea0SLionel Sambuc	movl	%ecx,%esi
955*ebfedea0SLionel Sambuc	shll	$15,%ecx
956*ebfedea0SLionel Sambuc	movl	%eax,-32(%edi)
957*ebfedea0SLionel Sambuc	shrl	$17,%esi
958*ebfedea0SLionel Sambuc	orl	%esi,%ebx
959*ebfedea0SLionel Sambuc	shrl	$17,%ebp
960*ebfedea0SLionel Sambuc	movl	%edx,%esi
961*ebfedea0SLionel Sambuc	shrl	$17,%esi
962*ebfedea0SLionel Sambuc	movl	%ebx,-28(%edi)
963*ebfedea0SLionel Sambuc	shll	$15,%edx
964*ebfedea0SLionel Sambuc	orl	%esi,%ecx
965*ebfedea0SLionel Sambuc	orl	%ebp,%edx
966*ebfedea0SLionel Sambuc	movl	%eax,%ebp
967*ebfedea0SLionel Sambuc	shll	$15,%eax
968*ebfedea0SLionel Sambuc	movl	%ebx,%esi
969*ebfedea0SLionel Sambuc	shrl	$17,%esi
970*ebfedea0SLionel Sambuc	shll	$15,%ebx
971*ebfedea0SLionel Sambuc	orl	%esi,%eax
972*ebfedea0SLionel Sambuc	movl	%ecx,%esi
973*ebfedea0SLionel Sambuc	shll	$15,%ecx
974*ebfedea0SLionel Sambuc	movl	%eax,-16(%edi)
975*ebfedea0SLionel Sambuc	shrl	$17,%esi
976*ebfedea0SLionel Sambuc	orl	%esi,%ebx
977*ebfedea0SLionel Sambuc	shrl	$17,%ebp
978*ebfedea0SLionel Sambuc	movl	%edx,%esi
979*ebfedea0SLionel Sambuc	shrl	$17,%esi
980*ebfedea0SLionel Sambuc	movl	%ebx,-12(%edi)
981*ebfedea0SLionel Sambuc	shll	$15,%edx
982*ebfedea0SLionel Sambuc	orl	%esi,%ecx
983*ebfedea0SLionel Sambuc	orl	%ebp,%edx
984*ebfedea0SLionel Sambuc	movl	%ecx,-8(%edi)
985*ebfedea0SLionel Sambuc	movl	%edx,-4(%edi)
986*ebfedea0SLionel Sambuc	movl	%ebx,%ebp
987*ebfedea0SLionel Sambuc	shll	$2,%ebx
988*ebfedea0SLionel Sambuc	movl	%ecx,%esi
989*ebfedea0SLionel Sambuc	shrl	$30,%esi
990*ebfedea0SLionel Sambuc	shll	$2,%ecx
991*ebfedea0SLionel Sambuc	orl	%esi,%ebx
992*ebfedea0SLionel Sambuc	movl	%edx,%esi
993*ebfedea0SLionel Sambuc	shll	$2,%edx
994*ebfedea0SLionel Sambuc	movl	%ebx,32(%edi)
995*ebfedea0SLionel Sambuc	shrl	$30,%esi
996*ebfedea0SLionel Sambuc	orl	%esi,%ecx
997*ebfedea0SLionel Sambuc	shrl	$30,%ebp
998*ebfedea0SLionel Sambuc	movl	%eax,%esi
999*ebfedea0SLionel Sambuc	shrl	$30,%esi
1000*ebfedea0SLionel Sambuc	movl	%ecx,36(%edi)
1001*ebfedea0SLionel Sambuc	shll	$2,%eax
1002*ebfedea0SLionel Sambuc	orl	%esi,%edx
1003*ebfedea0SLionel Sambuc	orl	%ebp,%eax
1004*ebfedea0SLionel Sambuc	movl	%edx,40(%edi)
1005*ebfedea0SLionel Sambuc	movl	%eax,44(%edi)
1006*ebfedea0SLionel Sambuc	movl	%ebx,%ebp
1007*ebfedea0SLionel Sambuc	shll	$17,%ebx
1008*ebfedea0SLionel Sambuc	movl	%ecx,%esi
1009*ebfedea0SLionel Sambuc	shrl	$15,%esi
1010*ebfedea0SLionel Sambuc	shll	$17,%ecx
1011*ebfedea0SLionel Sambuc	orl	%esi,%ebx
1012*ebfedea0SLionel Sambuc	movl	%edx,%esi
1013*ebfedea0SLionel Sambuc	shll	$17,%edx
1014*ebfedea0SLionel Sambuc	movl	%ebx,64(%edi)
1015*ebfedea0SLionel Sambuc	shrl	$15,%esi
1016*ebfedea0SLionel Sambuc	orl	%esi,%ecx
1017*ebfedea0SLionel Sambuc	shrl	$15,%ebp
1018*ebfedea0SLionel Sambuc	movl	%eax,%esi
1019*ebfedea0SLionel Sambuc	shrl	$15,%esi
1020*ebfedea0SLionel Sambuc	movl	%ecx,68(%edi)
1021*ebfedea0SLionel Sambuc	shll	$17,%eax
1022*ebfedea0SLionel Sambuc	orl	%esi,%edx
1023*ebfedea0SLionel Sambuc	orl	%ebp,%eax
1024*ebfedea0SLionel Sambuc	movl	%edx,72(%edi)
1025*ebfedea0SLionel Sambuc	movl	%eax,76(%edi)
1026*ebfedea0SLionel Sambuc	movl	-128(%edi),%ebx
1027*ebfedea0SLionel Sambuc	movl	-124(%edi),%ecx
1028*ebfedea0SLionel Sambuc	movl	-120(%edi),%edx
1029*ebfedea0SLionel Sambuc	movl	-116(%edi),%eax
1030*ebfedea0SLionel Sambuc	movl	%ebx,%ebp
1031*ebfedea0SLionel Sambuc	shll	$15,%ebx
1032*ebfedea0SLionel Sambuc	movl	%ecx,%esi
1033*ebfedea0SLionel Sambuc	shrl	$17,%esi
1034*ebfedea0SLionel Sambuc	shll	$15,%ecx
1035*ebfedea0SLionel Sambuc	orl	%esi,%ebx
1036*ebfedea0SLionel Sambuc	movl	%edx,%esi
1037*ebfedea0SLionel Sambuc	shll	$15,%edx
1038*ebfedea0SLionel Sambuc	movl	%ebx,-96(%edi)
1039*ebfedea0SLionel Sambuc	shrl	$17,%esi
1040*ebfedea0SLionel Sambuc	orl	%esi,%ecx
1041*ebfedea0SLionel Sambuc	shrl	$17,%ebp
1042*ebfedea0SLionel Sambuc	movl	%eax,%esi
1043*ebfedea0SLionel Sambuc	shrl	$17,%esi
1044*ebfedea0SLionel Sambuc	movl	%ecx,-92(%edi)
1045*ebfedea0SLionel Sambuc	shll	$15,%eax
1046*ebfedea0SLionel Sambuc	orl	%esi,%edx
1047*ebfedea0SLionel Sambuc	orl	%ebp,%eax
1048*ebfedea0SLionel Sambuc	movl	%edx,-88(%edi)
1049*ebfedea0SLionel Sambuc	movl	%eax,-84(%edi)
1050*ebfedea0SLionel Sambuc	movl	%ebx,%ebp
1051*ebfedea0SLionel Sambuc	shll	$30,%ebx
1052*ebfedea0SLionel Sambuc	movl	%ecx,%esi
1053*ebfedea0SLionel Sambuc	shrl	$2,%esi
1054*ebfedea0SLionel Sambuc	shll	$30,%ecx
1055*ebfedea0SLionel Sambuc	orl	%esi,%ebx
1056*ebfedea0SLionel Sambuc	movl	%edx,%esi
1057*ebfedea0SLionel Sambuc	shll	$30,%edx
1058*ebfedea0SLionel Sambuc	movl	%ebx,-48(%edi)
1059*ebfedea0SLionel Sambuc	shrl	$2,%esi
1060*ebfedea0SLionel Sambuc	orl	%esi,%ecx
1061*ebfedea0SLionel Sambuc	shrl	$2,%ebp
1062*ebfedea0SLionel Sambuc	movl	%eax,%esi
1063*ebfedea0SLionel Sambuc	shrl	$2,%esi
1064*ebfedea0SLionel Sambuc	movl	%ecx,-44(%edi)
1065*ebfedea0SLionel Sambuc	shll	$30,%eax
1066*ebfedea0SLionel Sambuc	orl	%esi,%edx
1067*ebfedea0SLionel Sambuc	orl	%ebp,%eax
1068*ebfedea0SLionel Sambuc	movl	%edx,-40(%edi)
1069*ebfedea0SLionel Sambuc	movl	%eax,-36(%edi)
1070*ebfedea0SLionel Sambuc	movl	%ebx,%ebp
1071*ebfedea0SLionel Sambuc	shll	$15,%ebx
1072*ebfedea0SLionel Sambuc	movl	%ecx,%esi
1073*ebfedea0SLionel Sambuc	shrl	$17,%esi
1074*ebfedea0SLionel Sambuc	shll	$15,%ecx
1075*ebfedea0SLionel Sambuc	orl	%esi,%ebx
1076*ebfedea0SLionel Sambuc	movl	%edx,%esi
1077*ebfedea0SLionel Sambuc	shll	$15,%edx
1078*ebfedea0SLionel Sambuc	shrl	$17,%esi
1079*ebfedea0SLionel Sambuc	orl	%esi,%ecx
1080*ebfedea0SLionel Sambuc	shrl	$17,%ebp
1081*ebfedea0SLionel Sambuc	movl	%eax,%esi
1082*ebfedea0SLionel Sambuc	shrl	$17,%esi
1083*ebfedea0SLionel Sambuc	shll	$15,%eax
1084*ebfedea0SLionel Sambuc	orl	%esi,%edx
1085*ebfedea0SLionel Sambuc	orl	%ebp,%eax
1086*ebfedea0SLionel Sambuc	movl	%edx,-24(%edi)
1087*ebfedea0SLionel Sambuc	movl	%eax,-20(%edi)
1088*ebfedea0SLionel Sambuc	movl	%ebx,%ebp
1089*ebfedea0SLionel Sambuc	shll	$17,%ebx
1090*ebfedea0SLionel Sambuc	movl	%ecx,%esi
1091*ebfedea0SLionel Sambuc	shrl	$15,%esi
1092*ebfedea0SLionel Sambuc	shll	$17,%ecx
1093*ebfedea0SLionel Sambuc	orl	%esi,%ebx
1094*ebfedea0SLionel Sambuc	movl	%edx,%esi
1095*ebfedea0SLionel Sambuc	shll	$17,%edx
1096*ebfedea0SLionel Sambuc	movl	%ebx,(%edi)
1097*ebfedea0SLionel Sambuc	shrl	$15,%esi
1098*ebfedea0SLionel Sambuc	orl	%esi,%ecx
1099*ebfedea0SLionel Sambuc	shrl	$15,%ebp
1100*ebfedea0SLionel Sambuc	movl	%eax,%esi
1101*ebfedea0SLionel Sambuc	shrl	$15,%esi
1102*ebfedea0SLionel Sambuc	movl	%ecx,4(%edi)
1103*ebfedea0SLionel Sambuc	shll	$17,%eax
1104*ebfedea0SLionel Sambuc	orl	%esi,%edx
1105*ebfedea0SLionel Sambuc	orl	%ebp,%eax
1106*ebfedea0SLionel Sambuc	movl	%edx,8(%edi)
1107*ebfedea0SLionel Sambuc	movl	%eax,12(%edi)
1108*ebfedea0SLionel Sambuc	movl	%ebx,%ebp
1109*ebfedea0SLionel Sambuc	shll	$17,%ebx
1110*ebfedea0SLionel Sambuc	movl	%ecx,%esi
1111*ebfedea0SLionel Sambuc	shrl	$15,%esi
1112*ebfedea0SLionel Sambuc	shll	$17,%ecx
1113*ebfedea0SLionel Sambuc	orl	%esi,%ebx
1114*ebfedea0SLionel Sambuc	movl	%edx,%esi
1115*ebfedea0SLionel Sambuc	shll	$17,%edx
1116*ebfedea0SLionel Sambuc	movl	%ebx,16(%edi)
1117*ebfedea0SLionel Sambuc	shrl	$15,%esi
1118*ebfedea0SLionel Sambuc	orl	%esi,%ecx
1119*ebfedea0SLionel Sambuc	shrl	$15,%ebp
1120*ebfedea0SLionel Sambuc	movl	%eax,%esi
1121*ebfedea0SLionel Sambuc	shrl	$15,%esi
1122*ebfedea0SLionel Sambuc	movl	%ecx,20(%edi)
1123*ebfedea0SLionel Sambuc	shll	$17,%eax
1124*ebfedea0SLionel Sambuc	orl	%esi,%edx
1125*ebfedea0SLionel Sambuc	orl	%ebp,%eax
1126*ebfedea0SLionel Sambuc	movl	%edx,24(%edi)
1127*ebfedea0SLionel Sambuc	movl	%eax,28(%edi)
1128*ebfedea0SLionel Sambuc	movl	%ebx,%ebp
1129*ebfedea0SLionel Sambuc	shll	$17,%ebx
1130*ebfedea0SLionel Sambuc	movl	%ecx,%esi
1131*ebfedea0SLionel Sambuc	shrl	$15,%esi
1132*ebfedea0SLionel Sambuc	shll	$17,%ecx
1133*ebfedea0SLionel Sambuc	orl	%esi,%ebx
1134*ebfedea0SLionel Sambuc	movl	%edx,%esi
1135*ebfedea0SLionel Sambuc	shll	$17,%edx
1136*ebfedea0SLionel Sambuc	movl	%ebx,48(%edi)
1137*ebfedea0SLionel Sambuc	shrl	$15,%esi
1138*ebfedea0SLionel Sambuc	orl	%esi,%ecx
1139*ebfedea0SLionel Sambuc	shrl	$15,%ebp
1140*ebfedea0SLionel Sambuc	movl	%eax,%esi
1141*ebfedea0SLionel Sambuc	shrl	$15,%esi
1142*ebfedea0SLionel Sambuc	movl	%ecx,52(%edi)
1143*ebfedea0SLionel Sambuc	shll	$17,%eax
1144*ebfedea0SLionel Sambuc	orl	%esi,%edx
1145*ebfedea0SLionel Sambuc	orl	%ebp,%eax
1146*ebfedea0SLionel Sambuc	movl	%edx,56(%edi)
1147*ebfedea0SLionel Sambuc	movl	%eax,60(%edi)
1148*ebfedea0SLionel Sambuc	movl	$3,%eax
1149*ebfedea0SLionel Sambuc	jmp	.L013done
1150*ebfedea0SLionel Sambuc.align	16
1151*ebfedea0SLionel Sambuc.L0122nd256:
1152*ebfedea0SLionel Sambuc	movl	44(%esp),%esi
1153*ebfedea0SLionel Sambuc	movl	%eax,48(%esi)
1154*ebfedea0SLionel Sambuc	movl	%ebx,52(%esi)
1155*ebfedea0SLionel Sambuc	movl	%ecx,56(%esi)
1156*ebfedea0SLionel Sambuc	movl	%edx,60(%esi)
1157*ebfedea0SLionel Sambuc	xorl	32(%esi),%eax
1158*ebfedea0SLionel Sambuc	xorl	36(%esi),%ebx
1159*ebfedea0SLionel Sambuc	xorl	40(%esi),%ecx
1160*ebfedea0SLionel Sambuc	xorl	44(%esi),%edx
1161*ebfedea0SLionel Sambuc	movl	32(%edi),%esi
1162*ebfedea0SLionel Sambuc	movl	%eax,(%esp)
1163*ebfedea0SLionel Sambuc	movl	%ebx,4(%esp)
1164*ebfedea0SLionel Sambuc	movl	%ecx,8(%esp)
1165*ebfedea0SLionel Sambuc	movl	%edx,12(%esp)
1166*ebfedea0SLionel Sambuc	xorl	%esi,%eax
1167*ebfedea0SLionel Sambuc	xorl	36(%edi),%ebx
1168*ebfedea0SLionel Sambuc	movzbl	%ah,%esi
1169*ebfedea0SLionel Sambuc	movl	2052(%ebp,%esi,8),%edx
1170*ebfedea0SLionel Sambuc	movzbl	%al,%esi
1171*ebfedea0SLionel Sambuc	xorl	4(%ebp,%esi,8),%edx
1172*ebfedea0SLionel Sambuc	shrl	$16,%eax
1173*ebfedea0SLionel Sambuc	movzbl	%bl,%esi
1174*ebfedea0SLionel Sambuc	movl	(%ebp,%esi,8),%ecx
1175*ebfedea0SLionel Sambuc	movzbl	%ah,%esi
1176*ebfedea0SLionel Sambuc	xorl	(%ebp,%esi,8),%edx
1177*ebfedea0SLionel Sambuc	movzbl	%bh,%esi
1178*ebfedea0SLionel Sambuc	xorl	4(%ebp,%esi,8),%ecx
1179*ebfedea0SLionel Sambuc	shrl	$16,%ebx
1180*ebfedea0SLionel Sambuc	movzbl	%al,%eax
1181*ebfedea0SLionel Sambuc	xorl	2048(%ebp,%eax,8),%edx
1182*ebfedea0SLionel Sambuc	movzbl	%bh,%esi
1183*ebfedea0SLionel Sambuc	movl	12(%esp),%eax
1184*ebfedea0SLionel Sambuc	xorl	%edx,%ecx
1185*ebfedea0SLionel Sambuc	rorl	$8,%edx
1186*ebfedea0SLionel Sambuc	xorl	2048(%ebp,%esi,8),%ecx
1187*ebfedea0SLionel Sambuc	movzbl	%bl,%esi
1188*ebfedea0SLionel Sambuc	movl	8(%esp),%ebx
1189*ebfedea0SLionel Sambuc	xorl	%eax,%edx
1190*ebfedea0SLionel Sambuc	xorl	2052(%ebp,%esi,8),%ecx
1191*ebfedea0SLionel Sambuc	movl	40(%edi),%esi
1192*ebfedea0SLionel Sambuc	xorl	%ecx,%edx
1193*ebfedea0SLionel Sambuc	movl	%edx,12(%esp)
1194*ebfedea0SLionel Sambuc	xorl	%ebx,%ecx
1195*ebfedea0SLionel Sambuc	movl	%ecx,8(%esp)
1196*ebfedea0SLionel Sambuc	xorl	%esi,%ecx
1197*ebfedea0SLionel Sambuc	xorl	44(%edi),%edx
1198*ebfedea0SLionel Sambuc	movzbl	%ch,%esi
1199*ebfedea0SLionel Sambuc	movl	2052(%ebp,%esi,8),%ebx
1200*ebfedea0SLionel Sambuc	movzbl	%cl,%esi
1201*ebfedea0SLionel Sambuc	xorl	4(%ebp,%esi,8),%ebx
1202*ebfedea0SLionel Sambuc	shrl	$16,%ecx
1203*ebfedea0SLionel Sambuc	movzbl	%dl,%esi
1204*ebfedea0SLionel Sambuc	movl	(%ebp,%esi,8),%eax
1205*ebfedea0SLionel Sambuc	movzbl	%ch,%esi
1206*ebfedea0SLionel Sambuc	xorl	(%ebp,%esi,8),%ebx
1207*ebfedea0SLionel Sambuc	movzbl	%dh,%esi
1208*ebfedea0SLionel Sambuc	xorl	4(%ebp,%esi,8),%eax
1209*ebfedea0SLionel Sambuc	shrl	$16,%edx
1210*ebfedea0SLionel Sambuc	movzbl	%cl,%ecx
1211*ebfedea0SLionel Sambuc	xorl	2048(%ebp,%ecx,8),%ebx
1212*ebfedea0SLionel Sambuc	movzbl	%dh,%esi
1213*ebfedea0SLionel Sambuc	movl	4(%esp),%ecx
1214*ebfedea0SLionel Sambuc	xorl	%ebx,%eax
1215*ebfedea0SLionel Sambuc	rorl	$8,%ebx
1216*ebfedea0SLionel Sambuc	xorl	2048(%ebp,%esi,8),%eax
1217*ebfedea0SLionel Sambuc	movzbl	%dl,%esi
1218*ebfedea0SLionel Sambuc	movl	(%esp),%edx
1219*ebfedea0SLionel Sambuc	xorl	%ecx,%ebx
1220*ebfedea0SLionel Sambuc	xorl	2052(%ebp,%esi,8),%eax
1221*ebfedea0SLionel Sambuc	movl	48(%edi),%esi
1222*ebfedea0SLionel Sambuc	xorl	%eax,%ebx
1223*ebfedea0SLionel Sambuc	movl	%ebx,4(%esp)
1224*ebfedea0SLionel Sambuc	xorl	%edx,%eax
1225*ebfedea0SLionel Sambuc	movl	%eax,(%esp)
1226*ebfedea0SLionel Sambuc	movl	8(%esp),%ecx
1227*ebfedea0SLionel Sambuc	movl	12(%esp),%edx
1228*ebfedea0SLionel Sambuc	movl	44(%esp),%edi
1229*ebfedea0SLionel Sambuc	leal	128(%edi),%edi
1230*ebfedea0SLionel Sambuc	movl	%eax,-112(%edi)
1231*ebfedea0SLionel Sambuc	movl	%ebx,-108(%edi)
1232*ebfedea0SLionel Sambuc	movl	%ecx,-104(%edi)
1233*ebfedea0SLionel Sambuc	movl	%edx,-100(%edi)
1234*ebfedea0SLionel Sambuc	movl	%eax,%ebp
1235*ebfedea0SLionel Sambuc	shll	$30,%eax
1236*ebfedea0SLionel Sambuc	movl	%ebx,%esi
1237*ebfedea0SLionel Sambuc	shrl	$2,%esi
1238*ebfedea0SLionel Sambuc	shll	$30,%ebx
1239*ebfedea0SLionel Sambuc	orl	%esi,%eax
1240*ebfedea0SLionel Sambuc	movl	%ecx,%esi
1241*ebfedea0SLionel Sambuc	shll	$30,%ecx
1242*ebfedea0SLionel Sambuc	movl	%eax,-48(%edi)
1243*ebfedea0SLionel Sambuc	shrl	$2,%esi
1244*ebfedea0SLionel Sambuc	orl	%esi,%ebx
1245*ebfedea0SLionel Sambuc	shrl	$2,%ebp
1246*ebfedea0SLionel Sambuc	movl	%edx,%esi
1247*ebfedea0SLionel Sambuc	shrl	$2,%esi
1248*ebfedea0SLionel Sambuc	movl	%ebx,-44(%edi)
1249*ebfedea0SLionel Sambuc	shll	$30,%edx
1250*ebfedea0SLionel Sambuc	orl	%esi,%ecx
1251*ebfedea0SLionel Sambuc	orl	%ebp,%edx
1252*ebfedea0SLionel Sambuc	movl	%ecx,-40(%edi)
1253*ebfedea0SLionel Sambuc	movl	%edx,-36(%edi)
1254*ebfedea0SLionel Sambuc	movl	%eax,%ebp
1255*ebfedea0SLionel Sambuc	shll	$30,%eax
1256*ebfedea0SLionel Sambuc	movl	%ebx,%esi
1257*ebfedea0SLionel Sambuc	shrl	$2,%esi
1258*ebfedea0SLionel Sambuc	shll	$30,%ebx
1259*ebfedea0SLionel Sambuc	orl	%esi,%eax
1260*ebfedea0SLionel Sambuc	movl	%ecx,%esi
1261*ebfedea0SLionel Sambuc	shll	$30,%ecx
1262*ebfedea0SLionel Sambuc	movl	%eax,32(%edi)
1263*ebfedea0SLionel Sambuc	shrl	$2,%esi
1264*ebfedea0SLionel Sambuc	orl	%esi,%ebx
1265*ebfedea0SLionel Sambuc	shrl	$2,%ebp
1266*ebfedea0SLionel Sambuc	movl	%edx,%esi
1267*ebfedea0SLionel Sambuc	shrl	$2,%esi
1268*ebfedea0SLionel Sambuc	movl	%ebx,36(%edi)
1269*ebfedea0SLionel Sambuc	shll	$30,%edx
1270*ebfedea0SLionel Sambuc	orl	%esi,%ecx
1271*ebfedea0SLionel Sambuc	orl	%ebp,%edx
1272*ebfedea0SLionel Sambuc	movl	%ecx,40(%edi)
1273*ebfedea0SLionel Sambuc	movl	%edx,44(%edi)
1274*ebfedea0SLionel Sambuc	movl	%ebx,%ebp
1275*ebfedea0SLionel Sambuc	shll	$19,%ebx
1276*ebfedea0SLionel Sambuc	movl	%ecx,%esi
1277*ebfedea0SLionel Sambuc	shrl	$13,%esi
1278*ebfedea0SLionel Sambuc	shll	$19,%ecx
1279*ebfedea0SLionel Sambuc	orl	%esi,%ebx
1280*ebfedea0SLionel Sambuc	movl	%edx,%esi
1281*ebfedea0SLionel Sambuc	shll	$19,%edx
1282*ebfedea0SLionel Sambuc	movl	%ebx,128(%edi)
1283*ebfedea0SLionel Sambuc	shrl	$13,%esi
1284*ebfedea0SLionel Sambuc	orl	%esi,%ecx
1285*ebfedea0SLionel Sambuc	shrl	$13,%ebp
1286*ebfedea0SLionel Sambuc	movl	%eax,%esi
1287*ebfedea0SLionel Sambuc	shrl	$13,%esi
1288*ebfedea0SLionel Sambuc	movl	%ecx,132(%edi)
1289*ebfedea0SLionel Sambuc	shll	$19,%eax
1290*ebfedea0SLionel Sambuc	orl	%esi,%edx
1291*ebfedea0SLionel Sambuc	orl	%ebp,%eax
1292*ebfedea0SLionel Sambuc	movl	%edx,136(%edi)
1293*ebfedea0SLionel Sambuc	movl	%eax,140(%edi)
1294*ebfedea0SLionel Sambuc	movl	-96(%edi),%ebx
1295*ebfedea0SLionel Sambuc	movl	-92(%edi),%ecx
1296*ebfedea0SLionel Sambuc	movl	-88(%edi),%edx
1297*ebfedea0SLionel Sambuc	movl	-84(%edi),%eax
1298*ebfedea0SLionel Sambuc	movl	%ebx,%ebp
1299*ebfedea0SLionel Sambuc	shll	$15,%ebx
1300*ebfedea0SLionel Sambuc	movl	%ecx,%esi
1301*ebfedea0SLionel Sambuc	shrl	$17,%esi
1302*ebfedea0SLionel Sambuc	shll	$15,%ecx
1303*ebfedea0SLionel Sambuc	orl	%esi,%ebx
1304*ebfedea0SLionel Sambuc	movl	%edx,%esi
1305*ebfedea0SLionel Sambuc	shll	$15,%edx
1306*ebfedea0SLionel Sambuc	movl	%ebx,-96(%edi)
1307*ebfedea0SLionel Sambuc	shrl	$17,%esi
1308*ebfedea0SLionel Sambuc	orl	%esi,%ecx
1309*ebfedea0SLionel Sambuc	shrl	$17,%ebp
1310*ebfedea0SLionel Sambuc	movl	%eax,%esi
1311*ebfedea0SLionel Sambuc	shrl	$17,%esi
1312*ebfedea0SLionel Sambuc	movl	%ecx,-92(%edi)
1313*ebfedea0SLionel Sambuc	shll	$15,%eax
1314*ebfedea0SLionel Sambuc	orl	%esi,%edx
1315*ebfedea0SLionel Sambuc	orl	%ebp,%eax
1316*ebfedea0SLionel Sambuc	movl	%edx,-88(%edi)
1317*ebfedea0SLionel Sambuc	movl	%eax,-84(%edi)
1318*ebfedea0SLionel Sambuc	movl	%ebx,%ebp
1319*ebfedea0SLionel Sambuc	shll	$15,%ebx
1320*ebfedea0SLionel Sambuc	movl	%ecx,%esi
1321*ebfedea0SLionel Sambuc	shrl	$17,%esi
1322*ebfedea0SLionel Sambuc	shll	$15,%ecx
1323*ebfedea0SLionel Sambuc	orl	%esi,%ebx
1324*ebfedea0SLionel Sambuc	movl	%edx,%esi
1325*ebfedea0SLionel Sambuc	shll	$15,%edx
1326*ebfedea0SLionel Sambuc	movl	%ebx,-64(%edi)
1327*ebfedea0SLionel Sambuc	shrl	$17,%esi
1328*ebfedea0SLionel Sambuc	orl	%esi,%ecx
1329*ebfedea0SLionel Sambuc	shrl	$17,%ebp
1330*ebfedea0SLionel Sambuc	movl	%eax,%esi
1331*ebfedea0SLionel Sambuc	shrl	$17,%esi
1332*ebfedea0SLionel Sambuc	movl	%ecx,-60(%edi)
1333*ebfedea0SLionel Sambuc	shll	$15,%eax
1334*ebfedea0SLionel Sambuc	orl	%esi,%edx
1335*ebfedea0SLionel Sambuc	orl	%ebp,%eax
1336*ebfedea0SLionel Sambuc	movl	%edx,-56(%edi)
1337*ebfedea0SLionel Sambuc	movl	%eax,-52(%edi)
1338*ebfedea0SLionel Sambuc	movl	%ebx,%ebp
1339*ebfedea0SLionel Sambuc	shll	$30,%ebx
1340*ebfedea0SLionel Sambuc	movl	%ecx,%esi
1341*ebfedea0SLionel Sambuc	shrl	$2,%esi
1342*ebfedea0SLionel Sambuc	shll	$30,%ecx
1343*ebfedea0SLionel Sambuc	orl	%esi,%ebx
1344*ebfedea0SLionel Sambuc	movl	%edx,%esi
1345*ebfedea0SLionel Sambuc	shll	$30,%edx
1346*ebfedea0SLionel Sambuc	movl	%ebx,16(%edi)
1347*ebfedea0SLionel Sambuc	shrl	$2,%esi
1348*ebfedea0SLionel Sambuc	orl	%esi,%ecx
1349*ebfedea0SLionel Sambuc	shrl	$2,%ebp
1350*ebfedea0SLionel Sambuc	movl	%eax,%esi
1351*ebfedea0SLionel Sambuc	shrl	$2,%esi
1352*ebfedea0SLionel Sambuc	movl	%ecx,20(%edi)
1353*ebfedea0SLionel Sambuc	shll	$30,%eax
1354*ebfedea0SLionel Sambuc	orl	%esi,%edx
1355*ebfedea0SLionel Sambuc	orl	%ebp,%eax
1356*ebfedea0SLionel Sambuc	movl	%edx,24(%edi)
1357*ebfedea0SLionel Sambuc	movl	%eax,28(%edi)
1358*ebfedea0SLionel Sambuc	movl	%ecx,%ebp
1359*ebfedea0SLionel Sambuc	shll	$2,%ecx
1360*ebfedea0SLionel Sambuc	movl	%edx,%esi
1361*ebfedea0SLionel Sambuc	shrl	$30,%esi
1362*ebfedea0SLionel Sambuc	shll	$2,%edx
1363*ebfedea0SLionel Sambuc	orl	%esi,%ecx
1364*ebfedea0SLionel Sambuc	movl	%eax,%esi
1365*ebfedea0SLionel Sambuc	shll	$2,%eax
1366*ebfedea0SLionel Sambuc	movl	%ecx,80(%edi)
1367*ebfedea0SLionel Sambuc	shrl	$30,%esi
1368*ebfedea0SLionel Sambuc	orl	%esi,%edx
1369*ebfedea0SLionel Sambuc	shrl	$30,%ebp
1370*ebfedea0SLionel Sambuc	movl	%ebx,%esi
1371*ebfedea0SLionel Sambuc	shrl	$30,%esi
1372*ebfedea0SLionel Sambuc	movl	%edx,84(%edi)
1373*ebfedea0SLionel Sambuc	shll	$2,%ebx
1374*ebfedea0SLionel Sambuc	orl	%esi,%eax
1375*ebfedea0SLionel Sambuc	orl	%ebp,%ebx
1376*ebfedea0SLionel Sambuc	movl	%eax,88(%edi)
1377*ebfedea0SLionel Sambuc	movl	%ebx,92(%edi)
1378*ebfedea0SLionel Sambuc	movl	-80(%edi),%ecx
1379*ebfedea0SLionel Sambuc	movl	-76(%edi),%edx
1380*ebfedea0SLionel Sambuc	movl	-72(%edi),%eax
1381*ebfedea0SLionel Sambuc	movl	-68(%edi),%ebx
1382*ebfedea0SLionel Sambuc	movl	%ecx,%ebp
1383*ebfedea0SLionel Sambuc	shll	$15,%ecx
1384*ebfedea0SLionel Sambuc	movl	%edx,%esi
1385*ebfedea0SLionel Sambuc	shrl	$17,%esi
1386*ebfedea0SLionel Sambuc	shll	$15,%edx
1387*ebfedea0SLionel Sambuc	orl	%esi,%ecx
1388*ebfedea0SLionel Sambuc	movl	%eax,%esi
1389*ebfedea0SLionel Sambuc	shll	$15,%eax
1390*ebfedea0SLionel Sambuc	movl	%ecx,-80(%edi)
1391*ebfedea0SLionel Sambuc	shrl	$17,%esi
1392*ebfedea0SLionel Sambuc	orl	%esi,%edx
1393*ebfedea0SLionel Sambuc	shrl	$17,%ebp
1394*ebfedea0SLionel Sambuc	movl	%ebx,%esi
1395*ebfedea0SLionel Sambuc	shrl	$17,%esi
1396*ebfedea0SLionel Sambuc	movl	%edx,-76(%edi)
1397*ebfedea0SLionel Sambuc	shll	$15,%ebx
1398*ebfedea0SLionel Sambuc	orl	%esi,%eax
1399*ebfedea0SLionel Sambuc	orl	%ebp,%ebx
1400*ebfedea0SLionel Sambuc	movl	%eax,-72(%edi)
1401*ebfedea0SLionel Sambuc	movl	%ebx,-68(%edi)
1402*ebfedea0SLionel Sambuc	movl	%ecx,%ebp
1403*ebfedea0SLionel Sambuc	shll	$30,%ecx
1404*ebfedea0SLionel Sambuc	movl	%edx,%esi
1405*ebfedea0SLionel Sambuc	shrl	$2,%esi
1406*ebfedea0SLionel Sambuc	shll	$30,%edx
1407*ebfedea0SLionel Sambuc	orl	%esi,%ecx
1408*ebfedea0SLionel Sambuc	movl	%eax,%esi
1409*ebfedea0SLionel Sambuc	shll	$30,%eax
1410*ebfedea0SLionel Sambuc	movl	%ecx,-16(%edi)
1411*ebfedea0SLionel Sambuc	shrl	$2,%esi
1412*ebfedea0SLionel Sambuc	orl	%esi,%edx
1413*ebfedea0SLionel Sambuc	shrl	$2,%ebp
1414*ebfedea0SLionel Sambuc	movl	%ebx,%esi
1415*ebfedea0SLionel Sambuc	shrl	$2,%esi
1416*ebfedea0SLionel Sambuc	movl	%edx,-12(%edi)
1417*ebfedea0SLionel Sambuc	shll	$30,%ebx
1418*ebfedea0SLionel Sambuc	orl	%esi,%eax
1419*ebfedea0SLionel Sambuc	orl	%ebp,%ebx
1420*ebfedea0SLionel Sambuc	movl	%eax,-8(%edi)
1421*ebfedea0SLionel Sambuc	movl	%ebx,-4(%edi)
1422*ebfedea0SLionel Sambuc	movl	%edx,64(%edi)
1423*ebfedea0SLionel Sambuc	movl	%eax,68(%edi)
1424*ebfedea0SLionel Sambuc	movl	%ebx,72(%edi)
1425*ebfedea0SLionel Sambuc	movl	%ecx,76(%edi)
1426*ebfedea0SLionel Sambuc	movl	%edx,%ebp
1427*ebfedea0SLionel Sambuc	shll	$17,%edx
1428*ebfedea0SLionel Sambuc	movl	%eax,%esi
1429*ebfedea0SLionel Sambuc	shrl	$15,%esi
1430*ebfedea0SLionel Sambuc	shll	$17,%eax
1431*ebfedea0SLionel Sambuc	orl	%esi,%edx
1432*ebfedea0SLionel Sambuc	movl	%ebx,%esi
1433*ebfedea0SLionel Sambuc	shll	$17,%ebx
1434*ebfedea0SLionel Sambuc	movl	%edx,96(%edi)
1435*ebfedea0SLionel Sambuc	shrl	$15,%esi
1436*ebfedea0SLionel Sambuc	orl	%esi,%eax
1437*ebfedea0SLionel Sambuc	shrl	$15,%ebp
1438*ebfedea0SLionel Sambuc	movl	%ecx,%esi
1439*ebfedea0SLionel Sambuc	shrl	$15,%esi
1440*ebfedea0SLionel Sambuc	movl	%eax,100(%edi)
1441*ebfedea0SLionel Sambuc	shll	$17,%ecx
1442*ebfedea0SLionel Sambuc	orl	%esi,%ebx
1443*ebfedea0SLionel Sambuc	orl	%ebp,%ecx
1444*ebfedea0SLionel Sambuc	movl	%ebx,104(%edi)
1445*ebfedea0SLionel Sambuc	movl	%ecx,108(%edi)
1446*ebfedea0SLionel Sambuc	movl	-128(%edi),%edx
1447*ebfedea0SLionel Sambuc	movl	-124(%edi),%eax
1448*ebfedea0SLionel Sambuc	movl	-120(%edi),%ebx
1449*ebfedea0SLionel Sambuc	movl	-116(%edi),%ecx
1450*ebfedea0SLionel Sambuc	movl	%eax,%ebp
1451*ebfedea0SLionel Sambuc	shll	$13,%eax
1452*ebfedea0SLionel Sambuc	movl	%ebx,%esi
1453*ebfedea0SLionel Sambuc	shrl	$19,%esi
1454*ebfedea0SLionel Sambuc	shll	$13,%ebx
1455*ebfedea0SLionel Sambuc	orl	%esi,%eax
1456*ebfedea0SLionel Sambuc	movl	%ecx,%esi
1457*ebfedea0SLionel Sambuc	shll	$13,%ecx
1458*ebfedea0SLionel Sambuc	movl	%eax,-32(%edi)
1459*ebfedea0SLionel Sambuc	shrl	$19,%esi
1460*ebfedea0SLionel Sambuc	orl	%esi,%ebx
1461*ebfedea0SLionel Sambuc	shrl	$19,%ebp
1462*ebfedea0SLionel Sambuc	movl	%edx,%esi
1463*ebfedea0SLionel Sambuc	shrl	$19,%esi
1464*ebfedea0SLionel Sambuc	movl	%ebx,-28(%edi)
1465*ebfedea0SLionel Sambuc	shll	$13,%edx
1466*ebfedea0SLionel Sambuc	orl	%esi,%ecx
1467*ebfedea0SLionel Sambuc	orl	%ebp,%edx
1468*ebfedea0SLionel Sambuc	movl	%ecx,-24(%edi)
1469*ebfedea0SLionel Sambuc	movl	%edx,-20(%edi)
1470*ebfedea0SLionel Sambuc	movl	%eax,%ebp
1471*ebfedea0SLionel Sambuc	shll	$15,%eax
1472*ebfedea0SLionel Sambuc	movl	%ebx,%esi
1473*ebfedea0SLionel Sambuc	shrl	$17,%esi
1474*ebfedea0SLionel Sambuc	shll	$15,%ebx
1475*ebfedea0SLionel Sambuc	orl	%esi,%eax
1476*ebfedea0SLionel Sambuc	movl	%ecx,%esi
1477*ebfedea0SLionel Sambuc	shll	$15,%ecx
1478*ebfedea0SLionel Sambuc	movl	%eax,(%edi)
1479*ebfedea0SLionel Sambuc	shrl	$17,%esi
1480*ebfedea0SLionel Sambuc	orl	%esi,%ebx
1481*ebfedea0SLionel Sambuc	shrl	$17,%ebp
1482*ebfedea0SLionel Sambuc	movl	%edx,%esi
1483*ebfedea0SLionel Sambuc	shrl	$17,%esi
1484*ebfedea0SLionel Sambuc	movl	%ebx,4(%edi)
1485*ebfedea0SLionel Sambuc	shll	$15,%edx
1486*ebfedea0SLionel Sambuc	orl	%esi,%ecx
1487*ebfedea0SLionel Sambuc	orl	%ebp,%edx
1488*ebfedea0SLionel Sambuc	movl	%ecx,8(%edi)
1489*ebfedea0SLionel Sambuc	movl	%edx,12(%edi)
1490*ebfedea0SLionel Sambuc	movl	%eax,%ebp
1491*ebfedea0SLionel Sambuc	shll	$17,%eax
1492*ebfedea0SLionel Sambuc	movl	%ebx,%esi
1493*ebfedea0SLionel Sambuc	shrl	$15,%esi
1494*ebfedea0SLionel Sambuc	shll	$17,%ebx
1495*ebfedea0SLionel Sambuc	orl	%esi,%eax
1496*ebfedea0SLionel Sambuc	movl	%ecx,%esi
1497*ebfedea0SLionel Sambuc	shll	$17,%ecx
1498*ebfedea0SLionel Sambuc	movl	%eax,48(%edi)
1499*ebfedea0SLionel Sambuc	shrl	$15,%esi
1500*ebfedea0SLionel Sambuc	orl	%esi,%ebx
1501*ebfedea0SLionel Sambuc	shrl	$15,%ebp
1502*ebfedea0SLionel Sambuc	movl	%edx,%esi
1503*ebfedea0SLionel Sambuc	shrl	$15,%esi
1504*ebfedea0SLionel Sambuc	movl	%ebx,52(%edi)
1505*ebfedea0SLionel Sambuc	shll	$17,%edx
1506*ebfedea0SLionel Sambuc	orl	%esi,%ecx
1507*ebfedea0SLionel Sambuc	orl	%ebp,%edx
1508*ebfedea0SLionel Sambuc	movl	%ecx,56(%edi)
1509*ebfedea0SLionel Sambuc	movl	%edx,60(%edi)
1510*ebfedea0SLionel Sambuc	movl	%ebx,%ebp
1511*ebfedea0SLionel Sambuc	shll	$2,%ebx
1512*ebfedea0SLionel Sambuc	movl	%ecx,%esi
1513*ebfedea0SLionel Sambuc	shrl	$30,%esi
1514*ebfedea0SLionel Sambuc	shll	$2,%ecx
1515*ebfedea0SLionel Sambuc	orl	%esi,%ebx
1516*ebfedea0SLionel Sambuc	movl	%edx,%esi
1517*ebfedea0SLionel Sambuc	shll	$2,%edx
1518*ebfedea0SLionel Sambuc	movl	%ebx,112(%edi)
1519*ebfedea0SLionel Sambuc	shrl	$30,%esi
1520*ebfedea0SLionel Sambuc	orl	%esi,%ecx
1521*ebfedea0SLionel Sambuc	shrl	$30,%ebp
1522*ebfedea0SLionel Sambuc	movl	%eax,%esi
1523*ebfedea0SLionel Sambuc	shrl	$30,%esi
1524*ebfedea0SLionel Sambuc	movl	%ecx,116(%edi)
1525*ebfedea0SLionel Sambuc	shll	$2,%eax
1526*ebfedea0SLionel Sambuc	orl	%esi,%edx
1527*ebfedea0SLionel Sambuc	orl	%ebp,%eax
1528*ebfedea0SLionel Sambuc	movl	%edx,120(%edi)
1529*ebfedea0SLionel Sambuc	movl	%eax,124(%edi)
1530*ebfedea0SLionel Sambuc	movl	$4,%eax
1531*ebfedea0SLionel Sambuc.L013done:
1532*ebfedea0SLionel Sambuc	leal	144(%edi),%edx
1533*ebfedea0SLionel Sambuc	addl	$16,%esp
1534*ebfedea0SLionel Sambuc	popl	%edi
1535*ebfedea0SLionel Sambuc	popl	%esi
1536*ebfedea0SLionel Sambuc	popl	%ebx
1537*ebfedea0SLionel Sambuc	popl	%ebp
1538*ebfedea0SLionel Sambuc	ret
1539*ebfedea0SLionel Sambuc.size	Camellia_Ekeygen,.-.L_Camellia_Ekeygen_begin
1540*ebfedea0SLionel Sambuc.globl	private_Camellia_set_key
1541*ebfedea0SLionel Sambuc.type	private_Camellia_set_key,@function
1542*ebfedea0SLionel Sambuc.align	16
1543*ebfedea0SLionel Sambucprivate_Camellia_set_key:
1544*ebfedea0SLionel Sambuc.L_private_Camellia_set_key_begin:
1545*ebfedea0SLionel Sambuc	pushl	%ebx
1546*ebfedea0SLionel Sambuc	movl	8(%esp),%ecx
1547*ebfedea0SLionel Sambuc	movl	12(%esp),%ebx
1548*ebfedea0SLionel Sambuc	movl	16(%esp),%edx
1549*ebfedea0SLionel Sambuc	movl	$-1,%eax
1550*ebfedea0SLionel Sambuc	testl	%ecx,%ecx
1551*ebfedea0SLionel Sambuc	jz	.L014done
1552*ebfedea0SLionel Sambuc	testl	%edx,%edx
1553*ebfedea0SLionel Sambuc	jz	.L014done
1554*ebfedea0SLionel Sambuc	movl	$-2,%eax
1555*ebfedea0SLionel Sambuc	cmpl	$256,%ebx
1556*ebfedea0SLionel Sambuc	je	.L015arg_ok
1557*ebfedea0SLionel Sambuc	cmpl	$192,%ebx
1558*ebfedea0SLionel Sambuc	je	.L015arg_ok
1559*ebfedea0SLionel Sambuc	cmpl	$128,%ebx
1560*ebfedea0SLionel Sambuc	jne	.L014done
1561*ebfedea0SLionel Sambuc.align	4
1562*ebfedea0SLionel Sambuc.L015arg_ok:
1563*ebfedea0SLionel Sambuc	pushl	%edx
1564*ebfedea0SLionel Sambuc	pushl	%ecx
1565*ebfedea0SLionel Sambuc	pushl	%ebx
1566*ebfedea0SLionel Sambuc	call	.L_Camellia_Ekeygen_begin
1567*ebfedea0SLionel Sambuc	addl	$12,%esp
1568*ebfedea0SLionel Sambuc	movl	%eax,(%edx)
1569*ebfedea0SLionel Sambuc	xorl	%eax,%eax
1570*ebfedea0SLionel Sambuc.align	4
1571*ebfedea0SLionel Sambuc.L014done:
1572*ebfedea0SLionel Sambuc	popl	%ebx
1573*ebfedea0SLionel Sambuc	ret
1574*ebfedea0SLionel Sambuc.size	private_Camellia_set_key,.-.L_private_Camellia_set_key_begin
1575*ebfedea0SLionel Sambuc.align	64
1576*ebfedea0SLionel Sambuc.LCamellia_SIGMA:
1577*ebfedea0SLionel Sambuc.long	2694735487,1003262091,3061508184,1286239154,3337565999,3914302142,1426019237,4057165596,283453434,3731369245,2958461122,3018244605,0,0,0,0
1578*ebfedea0SLionel Sambuc.align	64
1579*ebfedea0SLionel Sambuc.LCamellia_SBOX:
1580*ebfedea0SLionel Sambuc.long	1886416896,1886388336
1581*ebfedea0SLionel Sambuc.long	2189591040,741081132
1582*ebfedea0SLionel Sambuc.long	741092352,3014852787
1583*ebfedea0SLionel Sambuc.long	3974949888,3233808576
1584*ebfedea0SLionel Sambuc.long	3014898432,3840147684
1585*ebfedea0SLionel Sambuc.long	656877312,1465319511
1586*ebfedea0SLionel Sambuc.long	3233857536,3941204202
1587*ebfedea0SLionel Sambuc.long	3857048832,2930639022
1588*ebfedea0SLionel Sambuc.long	3840205824,589496355
1589*ebfedea0SLionel Sambuc.long	2240120064,1802174571
1590*ebfedea0SLionel Sambuc.long	1465341696,1162149957
1591*ebfedea0SLionel Sambuc.long	892679424,2779054245
1592*ebfedea0SLionel Sambuc.long	3941263872,3991732461
1593*ebfedea0SLionel Sambuc.long	202116096,1330577487
1594*ebfedea0SLionel Sambuc.long	2930683392,488439837
1595*ebfedea0SLionel Sambuc.long	1094795520,2459041938
1596*ebfedea0SLionel Sambuc.long	589505280,2256928902
1597*ebfedea0SLionel Sambuc.long	4025478912,2947481775
1598*ebfedea0SLionel Sambuc.long	1802201856,2088501372
1599*ebfedea0SLionel Sambuc.long	2475922176,522125343
1600*ebfedea0SLionel Sambuc.long	1162167552,1044250686
1601*ebfedea0SLionel Sambuc.long	421075200,3705405660
1602*ebfedea0SLionel Sambuc.long	2779096320,1583218782
1603*ebfedea0SLionel Sambuc.long	555819264,185270283
1604*ebfedea0SLionel Sambuc.long	3991792896,2795896998
1605*ebfedea0SLionel Sambuc.long	235802112,960036921
1606*ebfedea0SLionel Sambuc.long	1330597632,3587506389
1607*ebfedea0SLionel Sambuc.long	1313754624,1566376029
1608*ebfedea0SLionel Sambuc.long	488447232,3654877401
1609*ebfedea0SLionel Sambuc.long	1701143808,1515847770
1610*ebfedea0SLionel Sambuc.long	2459079168,1364262993
1611*ebfedea0SLionel Sambuc.long	3183328512,1819017324
1612*ebfedea0SLionel Sambuc.long	2256963072,2341142667
1613*ebfedea0SLionel Sambuc.long	3099113472,2593783962
1614*ebfedea0SLionel Sambuc.long	2947526400,4227531003
1615*ebfedea0SLionel Sambuc.long	2408550144,2964324528
1616*ebfedea0SLionel Sambuc.long	2088532992,1953759348
1617*ebfedea0SLionel Sambuc.long	3958106880,724238379
1618*ebfedea0SLionel Sambuc.long	522133248,4042260720
1619*ebfedea0SLionel Sambuc.long	3469659648,2223243396
1620*ebfedea0SLionel Sambuc.long	1044266496,3755933919
1621*ebfedea0SLionel Sambuc.long	808464384,3419078859
1622*ebfedea0SLionel Sambuc.long	3705461760,875823156
1623*ebfedea0SLionel Sambuc.long	1600085760,1987444854
1624*ebfedea0SLionel Sambuc.long	1583242752,1835860077
1625*ebfedea0SLionel Sambuc.long	3318072576,2846425257
1626*ebfedea0SLionel Sambuc.long	185273088,3520135377
1627*ebfedea0SLionel Sambuc.long	437918208,67371012
1628*ebfedea0SLionel Sambuc.long	2795939328,336855060
1629*ebfedea0SLionel Sambuc.long	3789676800,976879674
1630*ebfedea0SLionel Sambuc.long	960051456,3739091166
1631*ebfedea0SLionel Sambuc.long	3402287616,286326801
1632*ebfedea0SLionel Sambuc.long	3587560704,842137650
1633*ebfedea0SLionel Sambuc.long	1195853568,2627469468
1634*ebfedea0SLionel Sambuc.long	1566399744,1397948499
1635*ebfedea0SLionel Sambuc.long	1027423488,4075946226
1636*ebfedea0SLionel Sambuc.long	3654932736,4278059262
1637*ebfedea0SLionel Sambuc.long	16843008,3486449871
1638*ebfedea0SLionel Sambuc.long	1515870720,3284336835
1639*ebfedea0SLionel Sambuc.long	3604403712,2054815866
1640*ebfedea0SLionel Sambuc.long	1364283648,606339108
1641*ebfedea0SLionel Sambuc.long	1448498688,3907518696
1642*ebfedea0SLionel Sambuc.long	1819044864,1616904288
1643*ebfedea0SLionel Sambuc.long	1296911616,1768489065
1644*ebfedea0SLionel Sambuc.long	2341178112,2863268010
1645*ebfedea0SLionel Sambuc.long	218959104,2694840480
1646*ebfedea0SLionel Sambuc.long	2593823232,2711683233
1647*ebfedea0SLionel Sambuc.long	1717986816,1650589794
1648*ebfedea0SLionel Sambuc.long	4227595008,1414791252
1649*ebfedea0SLionel Sambuc.long	3435973632,505282590
1650*ebfedea0SLionel Sambuc.long	2964369408,3772776672
1651*ebfedea0SLionel Sambuc.long	757935360,1684275300
1652*ebfedea0SLionel Sambuc.long	1953788928,269484048
1653*ebfedea0SLionel Sambuc.long	303174144,0
1654*ebfedea0SLionel Sambuc.long	724249344,2745368739
1655*ebfedea0SLionel Sambuc.long	538976256,1970602101
1656*ebfedea0SLionel Sambuc.long	4042321920,2324299914
1657*ebfedea0SLionel Sambuc.long	2981212416,3873833190
1658*ebfedea0SLionel Sambuc.long	2223277056,151584777
1659*ebfedea0SLionel Sambuc.long	2576980224,3722248413
1660*ebfedea0SLionel Sambuc.long	3755990784,2273771655
1661*ebfedea0SLionel Sambuc.long	1280068608,2206400643
1662*ebfedea0SLionel Sambuc.long	3419130624,3452764365
1663*ebfedea0SLionel Sambuc.long	3267543552,2425356432
1664*ebfedea0SLionel Sambuc.long	875836416,1936916595
1665*ebfedea0SLionel Sambuc.long	2122219008,4143317238
1666*ebfedea0SLionel Sambuc.long	1987474944,2644312221
1667*ebfedea0SLionel Sambuc.long	84215040,3216965823
1668*ebfedea0SLionel Sambuc.long	1835887872,1381105746
1669*ebfedea0SLionel Sambuc.long	3082270464,3638034648
1670*ebfedea0SLionel Sambuc.long	2846468352,3368550600
1671*ebfedea0SLionel Sambuc.long	825307392,3334865094
1672*ebfedea0SLionel Sambuc.long	3520188672,2172715137
1673*ebfedea0SLionel Sambuc.long	387389184,1869545583
1674*ebfedea0SLionel Sambuc.long	67372032,320012307
1675*ebfedea0SLionel Sambuc.long	3621246720,1667432547
1676*ebfedea0SLionel Sambuc.long	336860160,3924361449
1677*ebfedea0SLionel Sambuc.long	1482184704,2812739751
1678*ebfedea0SLionel Sambuc.long	976894464,2677997727
1679*ebfedea0SLionel Sambuc.long	1633771776,3166437564
1680*ebfedea0SLionel Sambuc.long	3739147776,690552873
1681*ebfedea0SLionel Sambuc.long	454761216,4193845497
1682*ebfedea0SLionel Sambuc.long	286331136,791609391
1683*ebfedea0SLionel Sambuc.long	471604224,3031695540
1684*ebfedea0SLionel Sambuc.long	842150400,2021130360
1685*ebfedea0SLionel Sambuc.long	252645120,101056518
1686*ebfedea0SLionel Sambuc.long	2627509248,3890675943
1687*ebfedea0SLionel Sambuc.long	370546176,1903231089
1688*ebfedea0SLionel Sambuc.long	1397969664,3570663636
1689*ebfedea0SLionel Sambuc.long	404232192,2880110763
1690*ebfedea0SLionel Sambuc.long	4076007936,2290614408
1691*ebfedea0SLionel Sambuc.long	572662272,2374828173
1692*ebfedea0SLionel Sambuc.long	4278124032,1920073842
1693*ebfedea0SLionel Sambuc.long	1145324544,3115909305
1694*ebfedea0SLionel Sambuc.long	3486502656,4177002744
1695*ebfedea0SLionel Sambuc.long	2998055424,2896953516
1696*ebfedea0SLionel Sambuc.long	3284386560,909508662
1697*ebfedea0SLionel Sambuc.long	3048584448,707395626
1698*ebfedea0SLionel Sambuc.long	2054846976,1010565180
1699*ebfedea0SLionel Sambuc.long	2442236160,4059103473
1700*ebfedea0SLionel Sambuc.long	606348288,1077936192
1701*ebfedea0SLionel Sambuc.long	134744064,3553820883
1702*ebfedea0SLionel Sambuc.long	3907577856,3149594811
1703*ebfedea0SLionel Sambuc.long	2829625344,1128464451
1704*ebfedea0SLionel Sambuc.long	1616928768,353697813
1705*ebfedea0SLionel Sambuc.long	4244438016,2913796269
1706*ebfedea0SLionel Sambuc.long	1768515840,2004287607
1707*ebfedea0SLionel Sambuc.long	1347440640,2155872384
1708*ebfedea0SLionel Sambuc.long	2863311360,2189557890
1709*ebfedea0SLionel Sambuc.long	3503345664,3974889708
1710*ebfedea0SLionel Sambuc.long	2694881280,656867367
1711*ebfedea0SLionel Sambuc.long	2105376000,3856990437
1712*ebfedea0SLionel Sambuc.long	2711724288,2240086149
1713*ebfedea0SLionel Sambuc.long	2307492096,892665909
1714*ebfedea0SLionel Sambuc.long	1650614784,202113036
1715*ebfedea0SLionel Sambuc.long	2543294208,1094778945
1716*ebfedea0SLionel Sambuc.long	1414812672,4025417967
1717*ebfedea0SLionel Sambuc.long	1532713728,2475884691
1718*ebfedea0SLionel Sambuc.long	505290240,421068825
1719*ebfedea0SLionel Sambuc.long	2509608192,555810849
1720*ebfedea0SLionel Sambuc.long	3772833792,235798542
1721*ebfedea0SLionel Sambuc.long	4294967040,1313734734
1722*ebfedea0SLionel Sambuc.long	1684300800,1701118053
1723*ebfedea0SLionel Sambuc.long	3537031680,3183280317
1724*ebfedea0SLionel Sambuc.long	269488128,3099066552
1725*ebfedea0SLionel Sambuc.long	3301229568,2408513679
1726*ebfedea0SLionel Sambuc.long	0,3958046955
1727*ebfedea0SLionel Sambuc.long	1212696576,3469607118
1728*ebfedea0SLionel Sambuc.long	2745410304,808452144
1729*ebfedea0SLionel Sambuc.long	4160222976,1600061535
1730*ebfedea0SLionel Sambuc.long	1970631936,3318022341
1731*ebfedea0SLionel Sambuc.long	3688618752,437911578
1732*ebfedea0SLionel Sambuc.long	2324335104,3789619425
1733*ebfedea0SLionel Sambuc.long	50529024,3402236106
1734*ebfedea0SLionel Sambuc.long	3873891840,1195835463
1735*ebfedea0SLionel Sambuc.long	3671775744,1027407933
1736*ebfedea0SLionel Sambuc.long	151587072,16842753
1737*ebfedea0SLionel Sambuc.long	1061109504,3604349142
1738*ebfedea0SLionel Sambuc.long	3722304768,1448476758
1739*ebfedea0SLionel Sambuc.long	2492765184,1296891981
1740*ebfedea0SLionel Sambuc.long	2273806080,218955789
1741*ebfedea0SLionel Sambuc.long	1549556736,1717960806
1742*ebfedea0SLionel Sambuc.long	2206434048,3435921612
1743*ebfedea0SLionel Sambuc.long	33686016,757923885
1744*ebfedea0SLionel Sambuc.long	3452816640,303169554
1745*ebfedea0SLionel Sambuc.long	1246382592,538968096
1746*ebfedea0SLionel Sambuc.long	2425393152,2981167281
1747*ebfedea0SLionel Sambuc.long	858993408,2576941209
1748*ebfedea0SLionel Sambuc.long	1936945920,1280049228
1749*ebfedea0SLionel Sambuc.long	1734829824,3267494082
1750*ebfedea0SLionel Sambuc.long	4143379968,2122186878
1751*ebfedea0SLionel Sambuc.long	4092850944,84213765
1752*ebfedea0SLionel Sambuc.long	2644352256,3082223799
1753*ebfedea0SLionel Sambuc.long	2139062016,825294897
1754*ebfedea0SLionel Sambuc.long	3217014528,387383319
1755*ebfedea0SLionel Sambuc.long	3806519808,3621191895
1756*ebfedea0SLionel Sambuc.long	1381126656,1482162264
1757*ebfedea0SLionel Sambuc.long	2610666240,1633747041
1758*ebfedea0SLionel Sambuc.long	3638089728,454754331
1759*ebfedea0SLionel Sambuc.long	640034304,471597084
1760*ebfedea0SLionel Sambuc.long	3368601600,252641295
1761*ebfedea0SLionel Sambuc.long	926365440,370540566
1762*ebfedea0SLionel Sambuc.long	3334915584,404226072
1763*ebfedea0SLionel Sambuc.long	993737472,572653602
1764*ebfedea0SLionel Sambuc.long	2172748032,1145307204
1765*ebfedea0SLionel Sambuc.long	2526451200,2998010034
1766*ebfedea0SLionel Sambuc.long	1869573888,3048538293
1767*ebfedea0SLionel Sambuc.long	1263225600,2442199185
1768*ebfedea0SLionel Sambuc.long	320017152,134742024
1769*ebfedea0SLionel Sambuc.long	3200171520,2829582504
1770*ebfedea0SLionel Sambuc.long	1667457792,4244373756
1771*ebfedea0SLionel Sambuc.long	774778368,1347420240
1772*ebfedea0SLionel Sambuc.long	3924420864,3503292624
1773*ebfedea0SLionel Sambuc.long	2038003968,2105344125
1774*ebfedea0SLionel Sambuc.long	2812782336,2307457161
1775*ebfedea0SLionel Sambuc.long	2358021120,2543255703
1776*ebfedea0SLionel Sambuc.long	2678038272,1532690523
1777*ebfedea0SLionel Sambuc.long	1852730880,2509570197
1778*ebfedea0SLionel Sambuc.long	3166485504,4294902015
1779*ebfedea0SLionel Sambuc.long	2391707136,3536978130
1780*ebfedea0SLionel Sambuc.long	690563328,3301179588
1781*ebfedea0SLionel Sambuc.long	4126536960,1212678216
1782*ebfedea0SLionel Sambuc.long	4193908992,4160159991
1783*ebfedea0SLionel Sambuc.long	3065427456,3688562907
1784*ebfedea0SLionel Sambuc.long	791621376,50528259
1785*ebfedea0SLionel Sambuc.long	4261281024,3671720154
1786*ebfedea0SLionel Sambuc.long	3031741440,1061093439
1787*ebfedea0SLionel Sambuc.long	1499027712,2492727444
1788*ebfedea0SLionel Sambuc.long	2021160960,1549533276
1789*ebfedea0SLionel Sambuc.long	2560137216,33685506
1790*ebfedea0SLionel Sambuc.long	101058048,1246363722
1791*ebfedea0SLionel Sambuc.long	1785358848,858980403
1792*ebfedea0SLionel Sambuc.long	3890734848,1734803559
1793*ebfedea0SLionel Sambuc.long	1179010560,4092788979
1794*ebfedea0SLionel Sambuc.long	1903259904,2139029631
1795*ebfedea0SLionel Sambuc.long	3132799488,3806462178
1796*ebfedea0SLionel Sambuc.long	3570717696,2610626715
1797*ebfedea0SLionel Sambuc.long	623191296,640024614
1798*ebfedea0SLionel Sambuc.long	2880154368,926351415
1799*ebfedea0SLionel Sambuc.long	1111638528,993722427
1800*ebfedea0SLionel Sambuc.long	2290649088,2526412950
1801*ebfedea0SLionel Sambuc.long	2728567296,1263206475
1802*ebfedea0SLionel Sambuc.long	2374864128,3200123070
1803*ebfedea0SLionel Sambuc.long	4210752000,774766638
1804*ebfedea0SLionel Sambuc.long	1920102912,2037973113
1805*ebfedea0SLionel Sambuc.long	117901056,2357985420
1806*ebfedea0SLionel Sambuc.long	3115956480,1852702830
1807*ebfedea0SLionel Sambuc.long	1431655680,2391670926
1808*ebfedea0SLionel Sambuc.long	4177065984,4126474485
1809*ebfedea0SLionel Sambuc.long	4008635904,3065381046
1810*ebfedea0SLionel Sambuc.long	2896997376,4261216509
1811*ebfedea0SLionel Sambuc.long	168430080,1499005017
1812*ebfedea0SLionel Sambuc.long	909522432,2560098456
1813*ebfedea0SLionel Sambuc.long	1229539584,1785331818
1814*ebfedea0SLionel Sambuc.long	707406336,1178992710
1815*ebfedea0SLionel Sambuc.long	1751672832,3132752058
1816*ebfedea0SLionel Sambuc.long	1010580480,623181861
1817*ebfedea0SLionel Sambuc.long	943208448,1111621698
1818*ebfedea0SLionel Sambuc.long	4059164928,2728525986
1819*ebfedea0SLionel Sambuc.long	2762253312,4210688250
1820*ebfedea0SLionel Sambuc.long	1077952512,117899271
1821*ebfedea0SLionel Sambuc.long	673720320,1431634005
1822*ebfedea0SLionel Sambuc.long	3553874688,4008575214
1823*ebfedea0SLionel Sambuc.long	2071689984,168427530
1824*ebfedea0SLionel Sambuc.long	3149642496,1229520969
1825*ebfedea0SLionel Sambuc.long	3385444608,1751646312
1826*ebfedea0SLionel Sambuc.long	1128481536,943194168
1827*ebfedea0SLionel Sambuc.long	3250700544,2762211492
1828*ebfedea0SLionel Sambuc.long	353703168,673710120
1829*ebfedea0SLionel Sambuc.long	3823362816,2071658619
1830*ebfedea0SLionel Sambuc.long	2913840384,3385393353
1831*ebfedea0SLionel Sambuc.long	4109693952,3250651329
1832*ebfedea0SLionel Sambuc.long	2004317952,3823304931
1833*ebfedea0SLionel Sambuc.long	3351758592,4109631732
1834*ebfedea0SLionel Sambuc.long	2155905024,3351707847
1835*ebfedea0SLionel Sambuc.long	2661195264,2661154974
1836*ebfedea0SLionel Sambuc.long	14737632,939538488
1837*ebfedea0SLionel Sambuc.long	328965,1090535745
1838*ebfedea0SLionel Sambuc.long	5789784,369104406
1839*ebfedea0SLionel Sambuc.long	14277081,1979741814
1840*ebfedea0SLionel Sambuc.long	6776679,3640711641
1841*ebfedea0SLionel Sambuc.long	5131854,2466288531
1842*ebfedea0SLionel Sambuc.long	8487297,1610637408
1843*ebfedea0SLionel Sambuc.long	13355979,4060148466
1844*ebfedea0SLionel Sambuc.long	13224393,1912631922
1845*ebfedea0SLionel Sambuc.long	723723,3254829762
1846*ebfedea0SLionel Sambuc.long	11447982,2868947883
1847*ebfedea0SLionel Sambuc.long	6974058,2583730842
1848*ebfedea0SLionel Sambuc.long	14013909,1962964341
1849*ebfedea0SLionel Sambuc.long	1579032,100664838
1850*ebfedea0SLionel Sambuc.long	6118749,1459640151
1851*ebfedea0SLionel Sambuc.long	8553090,2684395680
1852*ebfedea0SLionel Sambuc.long	4605510,2432733585
1853*ebfedea0SLionel Sambuc.long	14671839,4144035831
1854*ebfedea0SLionel Sambuc.long	14079702,3036722613
1855*ebfedea0SLionel Sambuc.long	2565927,3372272073
1856*ebfedea0SLionel Sambuc.long	9079434,2717950626
1857*ebfedea0SLionel Sambuc.long	3289650,2348846220
1858*ebfedea0SLionel Sambuc.long	4934475,3523269330
1859*ebfedea0SLionel Sambuc.long	4342338,2415956112
1860*ebfedea0SLionel Sambuc.long	14408667,4127258358
1861*ebfedea0SLionel Sambuc.long	1842204,117442311
1862*ebfedea0SLionel Sambuc.long	10395294,2801837991
1863*ebfedea0SLionel Sambuc.long	10263708,654321447
1864*ebfedea0SLionel Sambuc.long	3815994,2382401166
1865*ebfedea0SLionel Sambuc.long	13290186,2986390194
1866*ebfedea0SLionel Sambuc.long	2434341,1224755529
1867*ebfedea0SLionel Sambuc.long	8092539,3724599006
1868*ebfedea0SLionel Sambuc.long	855309,1124090691
1869*ebfedea0SLionel Sambuc.long	7434609,1543527516
1870*ebfedea0SLionel Sambuc.long	6250335,3607156695
1871*ebfedea0SLionel Sambuc.long	2039583,3338717127
1872*ebfedea0SLionel Sambuc.long	16316664,1040203326
1873*ebfedea0SLionel Sambuc.long	14145495,4110480885
1874*ebfedea0SLionel Sambuc.long	4079166,2399178639
1875*ebfedea0SLionel Sambuc.long	10329501,1728079719
1876*ebfedea0SLionel Sambuc.long	8158332,520101663
1877*ebfedea0SLionel Sambuc.long	6316128,402659352
1878*ebfedea0SLionel Sambuc.long	12171705,1845522030
1879*ebfedea0SLionel Sambuc.long	12500670,2936057775
1880*ebfedea0SLionel Sambuc.long	12369084,788541231
1881*ebfedea0SLionel Sambuc.long	9145227,3791708898
1882*ebfedea0SLionel Sambuc.long	1447446,2231403909
1883*ebfedea0SLionel Sambuc.long	3421236,218107149
1884*ebfedea0SLionel Sambuc.long	5066061,1392530259
1885*ebfedea0SLionel Sambuc.long	12829635,4026593520
1886*ebfedea0SLionel Sambuc.long	7500402,2617285788
1887*ebfedea0SLionel Sambuc.long	9803157,1694524773
1888*ebfedea0SLionel Sambuc.long	11250603,3925928682
1889*ebfedea0SLionel Sambuc.long	9342606,2734728099
1890*ebfedea0SLionel Sambuc.long	12237498,2919280302
1891*ebfedea0SLionel Sambuc.long	8026746,2650840734
1892*ebfedea0SLionel Sambuc.long	11776947,3959483628
1893*ebfedea0SLionel Sambuc.long	131586,2147516544
1894*ebfedea0SLionel Sambuc.long	11842740,754986285
1895*ebfedea0SLionel Sambuc.long	11382189,1795189611
1896*ebfedea0SLionel Sambuc.long	10658466,2818615464
1897*ebfedea0SLionel Sambuc.long	11316396,721431339
1898*ebfedea0SLionel Sambuc.long	14211288,905983542
1899*ebfedea0SLionel Sambuc.long	10132122,2785060518
1900*ebfedea0SLionel Sambuc.long	1513239,3305162181
1901*ebfedea0SLionel Sambuc.long	1710618,2248181382
1902*ebfedea0SLionel Sambuc.long	3487029,1291865421
1903*ebfedea0SLionel Sambuc.long	13421772,855651123
1904*ebfedea0SLionel Sambuc.long	16250871,4244700669
1905*ebfedea0SLionel Sambuc.long	10066329,1711302246
1906*ebfedea0SLionel Sambuc.long	6381921,1476417624
1907*ebfedea0SLionel Sambuc.long	5921370,2516620950
1908*ebfedea0SLionel Sambuc.long	15263976,973093434
1909*ebfedea0SLionel Sambuc.long	2368548,150997257
1910*ebfedea0SLionel Sambuc.long	5658198,2499843477
1911*ebfedea0SLionel Sambuc.long	4210752,268439568
1912*ebfedea0SLionel Sambuc.long	14803425,2013296760
1913*ebfedea0SLionel Sambuc.long	6513507,3623934168
1914*ebfedea0SLionel Sambuc.long	592137,1107313218
1915*ebfedea0SLionel Sambuc.long	3355443,3422604492
1916*ebfedea0SLionel Sambuc.long	12566463,4009816047
1917*ebfedea0SLionel Sambuc.long	10000536,637543974
1918*ebfedea0SLionel Sambuc.long	9934743,3842041317
1919*ebfedea0SLionel Sambuc.long	8750469,1627414881
1920*ebfedea0SLionel Sambuc.long	6842472,436214298
1921*ebfedea0SLionel Sambuc.long	16579836,1056980799
1922*ebfedea0SLionel Sambuc.long	15527148,989870907
1923*ebfedea0SLionel Sambuc.long	657930,2181071490
1924*ebfedea0SLionel Sambuc.long	14342874,3053500086
1925*ebfedea0SLionel Sambuc.long	7303023,3674266587
1926*ebfedea0SLionel Sambuc.long	5460819,3556824276
1927*ebfedea0SLionel Sambuc.long	6447714,2550175896
1928*ebfedea0SLionel Sambuc.long	10724259,3892373736
1929*ebfedea0SLionel Sambuc.long	3026478,2332068747
1930*ebfedea0SLionel Sambuc.long	526344,33554946
1931*ebfedea0SLionel Sambuc.long	11513775,3942706155
1932*ebfedea0SLionel Sambuc.long	2631720,167774730
1933*ebfedea0SLionel Sambuc.long	11579568,738208812
1934*ebfedea0SLionel Sambuc.long	7631988,486546717
1935*ebfedea0SLionel Sambuc.long	12763842,2952835248
1936*ebfedea0SLionel Sambuc.long	12434877,1862299503
1937*ebfedea0SLionel Sambuc.long	3552822,2365623693
1938*ebfedea0SLionel Sambuc.long	2236962,2281736328
1939*ebfedea0SLionel Sambuc.long	3684408,234884622
1940*ebfedea0SLionel Sambuc.long	6579300,419436825
1941*ebfedea0SLionel Sambuc.long	1973790,2264958855
1942*ebfedea0SLionel Sambuc.long	3750201,1308642894
1943*ebfedea0SLionel Sambuc.long	2894892,184552203
1944*ebfedea0SLionel Sambuc.long	10921638,2835392937
1945*ebfedea0SLionel Sambuc.long	3158064,201329676
1946*ebfedea0SLionel Sambuc.long	15066597,2030074233
1947*ebfedea0SLionel Sambuc.long	4473924,285217041
1948*ebfedea0SLionel Sambuc.long	16645629,2130739071
1949*ebfedea0SLionel Sambuc.long	8947848,570434082
1950*ebfedea0SLionel Sambuc.long	10461087,3875596263
1951*ebfedea0SLionel Sambuc.long	6645093,1493195097
1952*ebfedea0SLionel Sambuc.long	8882055,3774931425
1953*ebfedea0SLionel Sambuc.long	7039851,3657489114
1954*ebfedea0SLionel Sambuc.long	16053492,1023425853
1955*ebfedea0SLionel Sambuc.long	2302755,3355494600
1956*ebfedea0SLionel Sambuc.long	4737096,301994514
1957*ebfedea0SLionel Sambuc.long	1052688,67109892
1958*ebfedea0SLionel Sambuc.long	13750737,1946186868
1959*ebfedea0SLionel Sambuc.long	5329233,1409307732
1960*ebfedea0SLionel Sambuc.long	12632256,805318704
1961*ebfedea0SLionel Sambuc.long	16382457,2113961598
1962*ebfedea0SLionel Sambuc.long	13816530,3019945140
1963*ebfedea0SLionel Sambuc.long	10526880,671098920
1964*ebfedea0SLionel Sambuc.long	5592405,1426085205
1965*ebfedea0SLionel Sambuc.long	10592673,1744857192
1966*ebfedea0SLionel Sambuc.long	4276545,1342197840
1967*ebfedea0SLionel Sambuc.long	16448250,3187719870
1968*ebfedea0SLionel Sambuc.long	4408131,3489714384
1969*ebfedea0SLionel Sambuc.long	1250067,3288384708
1970*ebfedea0SLionel Sambuc.long	12895428,822096177
1971*ebfedea0SLionel Sambuc.long	3092271,3405827019
1972*ebfedea0SLionel Sambuc.long	11053224,704653866
1973*ebfedea0SLionel Sambuc.long	11974326,2902502829
1974*ebfedea0SLionel Sambuc.long	3947580,251662095
1975*ebfedea0SLionel Sambuc.long	2829099,3389049546
1976*ebfedea0SLionel Sambuc.long	12698049,1879076976
1977*ebfedea0SLionel Sambuc.long	16777215,4278255615
1978*ebfedea0SLionel Sambuc.long	13158600,838873650
1979*ebfedea0SLionel Sambuc.long	10855845,1761634665
1980*ebfedea0SLionel Sambuc.long	2105376,134219784
1981*ebfedea0SLionel Sambuc.long	9013641,1644192354
1982*ebfedea0SLionel Sambuc.long	0,0
1983*ebfedea0SLionel Sambuc.long	9474192,603989028
1984*ebfedea0SLionel Sambuc.long	4671303,3506491857
1985*ebfedea0SLionel Sambuc.long	15724527,4211145723
1986*ebfedea0SLionel Sambuc.long	15395562,3120609978
1987*ebfedea0SLionel Sambuc.long	12040119,3976261101
1988*ebfedea0SLionel Sambuc.long	1381653,1157645637
1989*ebfedea0SLionel Sambuc.long	394758,2164294017
1990*ebfedea0SLionel Sambuc.long	13487565,1929409395
1991*ebfedea0SLionel Sambuc.long	11908533,1828744557
1992*ebfedea0SLionel Sambuc.long	1184274,2214626436
1993*ebfedea0SLionel Sambuc.long	8289918,2667618207
1994*ebfedea0SLionel Sambuc.long	12303291,3993038574
1995*ebfedea0SLionel Sambuc.long	2697513,1241533002
1996*ebfedea0SLionel Sambuc.long	986895,3271607235
1997*ebfedea0SLionel Sambuc.long	12105912,771763758
1998*ebfedea0SLionel Sambuc.long	460551,3238052289
1999*ebfedea0SLionel Sambuc.long	263172,16777473
2000*ebfedea0SLionel Sambuc.long	10197915,3858818790
2001*ebfedea0SLionel Sambuc.long	9737364,620766501
2002*ebfedea0SLionel Sambuc.long	2171169,1207978056
2003*ebfedea0SLionel Sambuc.long	6710886,2566953369
2004*ebfedea0SLionel Sambuc.long	15132390,3103832505
2005*ebfedea0SLionel Sambuc.long	13553358,3003167667
2006*ebfedea0SLionel Sambuc.long	15592941,2063629179
2007*ebfedea0SLionel Sambuc.long	15198183,4177590777
2008*ebfedea0SLionel Sambuc.long	3881787,3456159438
2009*ebfedea0SLionel Sambuc.long	16711422,3204497343
2010*ebfedea0SLionel Sambuc.long	8355711,3741376479
2011*ebfedea0SLionel Sambuc.long	12961221,1895854449
2012*ebfedea0SLionel Sambuc.long	10790052,687876393
2013*ebfedea0SLionel Sambuc.long	3618615,3439381965
2014*ebfedea0SLionel Sambuc.long	11645361,1811967084
2015*ebfedea0SLionel Sambuc.long	5000268,318771987
2016*ebfedea0SLionel Sambuc.long	9539985,1677747300
2017*ebfedea0SLionel Sambuc.long	7237230,2600508315
2018*ebfedea0SLionel Sambuc.long	9276813,1660969827
2019*ebfedea0SLionel Sambuc.long	7763574,2634063261
2020*ebfedea0SLionel Sambuc.long	197379,3221274816
2021*ebfedea0SLionel Sambuc.long	2960685,1258310475
2022*ebfedea0SLionel Sambuc.long	14606046,3070277559
2023*ebfedea0SLionel Sambuc.long	9868950,2768283045
2024*ebfedea0SLionel Sambuc.long	2500134,2298513801
2025*ebfedea0SLionel Sambuc.long	8224125,1593859935
2026*ebfedea0SLionel Sambuc.long	13027014,2969612721
2027*ebfedea0SLionel Sambuc.long	6052956,385881879
2028*ebfedea0SLionel Sambuc.long	13882323,4093703412
2029*ebfedea0SLionel Sambuc.long	15921906,3154164924
2030*ebfedea0SLionel Sambuc.long	5197647,3540046803
2031*ebfedea0SLionel Sambuc.long	1644825,1174423110
2032*ebfedea0SLionel Sambuc.long	4144959,3472936911
2033*ebfedea0SLionel Sambuc.long	14474460,922761015
2034*ebfedea0SLionel Sambuc.long	7960953,1577082462
2035*ebfedea0SLionel Sambuc.long	1907997,1191200583
2036*ebfedea0SLionel Sambuc.long	5395026,2483066004
2037*ebfedea0SLionel Sambuc.long	15461355,4194368250
2038*ebfedea0SLionel Sambuc.long	15987699,4227923196
2039*ebfedea0SLionel Sambuc.long	7171437,1526750043
2040*ebfedea0SLionel Sambuc.long	6184542,2533398423
2041*ebfedea0SLionel Sambuc.long	16514043,4261478142
2042*ebfedea0SLionel Sambuc.long	6908265,1509972570
2043*ebfedea0SLionel Sambuc.long	11711154,2885725356
2044*ebfedea0SLionel Sambuc.long	15790320,1006648380
2045*ebfedea0SLionel Sambuc.long	3223857,1275087948
2046*ebfedea0SLionel Sambuc.long	789516,50332419
2047*ebfedea0SLionel Sambuc.long	13948116,889206069
2048*ebfedea0SLionel Sambuc.long	13619151,4076925939
2049*ebfedea0SLionel Sambuc.long	9211020,587211555
2050*ebfedea0SLionel Sambuc.long	14869218,3087055032
2051*ebfedea0SLionel Sambuc.long	7697781,1560304989
2052*ebfedea0SLionel Sambuc.long	11119017,1778412138
2053*ebfedea0SLionel Sambuc.long	4868682,2449511058
2054*ebfedea0SLionel Sambuc.long	5723991,3573601749
2055*ebfedea0SLionel Sambuc.long	8684676,553656609
2056*ebfedea0SLionel Sambuc.long	1118481,1140868164
2057*ebfedea0SLionel Sambuc.long	4539717,1358975313
2058*ebfedea0SLionel Sambuc.long	1776411,3321939654
2059*ebfedea0SLionel Sambuc.long	16119285,2097184125
2060*ebfedea0SLionel Sambuc.long	15000804,956315961
2061*ebfedea0SLionel Sambuc.long	921102,2197848963
2062*ebfedea0SLionel Sambuc.long	7566195,3691044060
2063*ebfedea0SLionel Sambuc.long	11184810,2852170410
2064*ebfedea0SLionel Sambuc.long	15856113,2080406652
2065*ebfedea0SLionel Sambuc.long	14540253,1996519287
2066*ebfedea0SLionel Sambuc.long	5855577,1442862678
2067*ebfedea0SLionel Sambuc.long	1315860,83887365
2068*ebfedea0SLionel Sambuc.long	7105644,452991771
2069*ebfedea0SLionel Sambuc.long	9605778,2751505572
2070*ebfedea0SLionel Sambuc.long	5526612,352326933
2071*ebfedea0SLionel Sambuc.long	13684944,872428596
2072*ebfedea0SLionel Sambuc.long	7895160,503324190
2073*ebfedea0SLionel Sambuc.long	7368816,469769244
2074*ebfedea0SLionel Sambuc.long	14935011,4160813304
2075*ebfedea0SLionel Sambuc.long	4802889,1375752786
2076*ebfedea0SLionel Sambuc.long	8421504,536879136
2077*ebfedea0SLionel Sambuc.long	5263440,335549460
2078*ebfedea0SLionel Sambuc.long	10987431,3909151209
2079*ebfedea0SLionel Sambuc.long	16185078,3170942397
2080*ebfedea0SLionel Sambuc.long	7829367,3707821533
2081*ebfedea0SLionel Sambuc.long	9671571,3825263844
2082*ebfedea0SLionel Sambuc.long	8816262,2701173153
2083*ebfedea0SLionel Sambuc.long	8618883,3758153952
2084*ebfedea0SLionel Sambuc.long	2763306,2315291274
2085*ebfedea0SLionel Sambuc.long	13092807,4043370993
2086*ebfedea0SLionel Sambuc.long	5987163,3590379222
2087*ebfedea0SLionel Sambuc.long	15329769,2046851706
2088*ebfedea0SLionel Sambuc.long	15658734,3137387451
2089*ebfedea0SLionel Sambuc.long	9408399,3808486371
2090*ebfedea0SLionel Sambuc.long	65793,1073758272
2091*ebfedea0SLionel Sambuc.long	4013373,1325420367
2092*ebfedea0SLionel Sambuc.globl	Camellia_cbc_encrypt
2093*ebfedea0SLionel Sambuc.type	Camellia_cbc_encrypt,@function
2094*ebfedea0SLionel Sambuc.align	16
2095*ebfedea0SLionel SambucCamellia_cbc_encrypt:
2096*ebfedea0SLionel Sambuc.L_Camellia_cbc_encrypt_begin:
2097*ebfedea0SLionel Sambuc	pushl	%ebp
2098*ebfedea0SLionel Sambuc	pushl	%ebx
2099*ebfedea0SLionel Sambuc	pushl	%esi
2100*ebfedea0SLionel Sambuc	pushl	%edi
2101*ebfedea0SLionel Sambuc	movl	28(%esp),%ecx
2102*ebfedea0SLionel Sambuc	cmpl	$0,%ecx
2103*ebfedea0SLionel Sambuc	je	.L016enc_out
2104*ebfedea0SLionel Sambuc	pushfl
2105*ebfedea0SLionel Sambuc	cld
2106*ebfedea0SLionel Sambuc	movl	24(%esp),%eax
2107*ebfedea0SLionel Sambuc	movl	28(%esp),%ebx
2108*ebfedea0SLionel Sambuc	movl	36(%esp),%edx
2109*ebfedea0SLionel Sambuc	movl	40(%esp),%ebp
2110*ebfedea0SLionel Sambuc	leal	-64(%esp),%esi
2111*ebfedea0SLionel Sambuc	andl	$-64,%esi
2112*ebfedea0SLionel Sambuc	leal	-127(%edx),%edi
2113*ebfedea0SLionel Sambuc	subl	%esi,%edi
2114*ebfedea0SLionel Sambuc	negl	%edi
2115*ebfedea0SLionel Sambuc	andl	$960,%edi
2116*ebfedea0SLionel Sambuc	subl	%edi,%esi
2117*ebfedea0SLionel Sambuc	movl	44(%esp),%edi
2118*ebfedea0SLionel Sambuc	xchgl	%esi,%esp
2119*ebfedea0SLionel Sambuc	addl	$4,%esp
2120*ebfedea0SLionel Sambuc	movl	%esi,20(%esp)
2121*ebfedea0SLionel Sambuc	movl	%eax,24(%esp)
2122*ebfedea0SLionel Sambuc	movl	%ebx,28(%esp)
2123*ebfedea0SLionel Sambuc	movl	%ecx,32(%esp)
2124*ebfedea0SLionel Sambuc	movl	%edx,36(%esp)
2125*ebfedea0SLionel Sambuc	movl	%ebp,40(%esp)
2126*ebfedea0SLionel Sambuc	call	.L017pic_point
2127*ebfedea0SLionel Sambuc.L017pic_point:
2128*ebfedea0SLionel Sambuc	popl	%ebp
2129*ebfedea0SLionel Sambuc	leal	.LCamellia_SBOX-.L017pic_point(%ebp),%ebp
2130*ebfedea0SLionel Sambuc	movl	$32,%esi
2131*ebfedea0SLionel Sambuc.align	4
2132*ebfedea0SLionel Sambuc.L018prefetch_sbox:
2133*ebfedea0SLionel Sambuc	movl	(%ebp),%eax
2134*ebfedea0SLionel Sambuc	movl	32(%ebp),%ebx
2135*ebfedea0SLionel Sambuc	movl	64(%ebp),%ecx
2136*ebfedea0SLionel Sambuc	movl	96(%ebp),%edx
2137*ebfedea0SLionel Sambuc	leal	128(%ebp),%ebp
2138*ebfedea0SLionel Sambuc	decl	%esi
2139*ebfedea0SLionel Sambuc	jnz	.L018prefetch_sbox
2140*ebfedea0SLionel Sambuc	movl	36(%esp),%eax
2141*ebfedea0SLionel Sambuc	subl	$4096,%ebp
2142*ebfedea0SLionel Sambuc	movl	24(%esp),%esi
2143*ebfedea0SLionel Sambuc	movl	272(%eax),%edx
2144*ebfedea0SLionel Sambuc	cmpl	$0,%edi
2145*ebfedea0SLionel Sambuc	je	.L019DECRYPT
2146*ebfedea0SLionel Sambuc	movl	32(%esp),%ecx
2147*ebfedea0SLionel Sambuc	movl	40(%esp),%edi
2148*ebfedea0SLionel Sambuc	shll	$6,%edx
2149*ebfedea0SLionel Sambuc	leal	(%eax,%edx,1),%edx
2150*ebfedea0SLionel Sambuc	movl	%edx,16(%esp)
2151*ebfedea0SLionel Sambuc	testl	$4294967280,%ecx
2152*ebfedea0SLionel Sambuc	jz	.L020enc_tail
2153*ebfedea0SLionel Sambuc	movl	(%edi),%eax
2154*ebfedea0SLionel Sambuc	movl	4(%edi),%ebx
2155*ebfedea0SLionel Sambuc.align	4
2156*ebfedea0SLionel Sambuc.L021enc_loop:
2157*ebfedea0SLionel Sambuc	movl	8(%edi),%ecx
2158*ebfedea0SLionel Sambuc	movl	12(%edi),%edx
2159*ebfedea0SLionel Sambuc	xorl	(%esi),%eax
2160*ebfedea0SLionel Sambuc	xorl	4(%esi),%ebx
2161*ebfedea0SLionel Sambuc	xorl	8(%esi),%ecx
2162*ebfedea0SLionel Sambuc	bswap	%eax
2163*ebfedea0SLionel Sambuc	xorl	12(%esi),%edx
2164*ebfedea0SLionel Sambuc	bswap	%ebx
2165*ebfedea0SLionel Sambuc	movl	36(%esp),%edi
2166*ebfedea0SLionel Sambuc	bswap	%ecx
2167*ebfedea0SLionel Sambuc	bswap	%edx
2168*ebfedea0SLionel Sambuc	call	_x86_Camellia_encrypt
2169*ebfedea0SLionel Sambuc	movl	24(%esp),%esi
2170*ebfedea0SLionel Sambuc	movl	28(%esp),%edi
2171*ebfedea0SLionel Sambuc	bswap	%eax
2172*ebfedea0SLionel Sambuc	bswap	%ebx
2173*ebfedea0SLionel Sambuc	bswap	%ecx
2174*ebfedea0SLionel Sambuc	movl	%eax,(%edi)
2175*ebfedea0SLionel Sambuc	bswap	%edx
2176*ebfedea0SLionel Sambuc	movl	%ebx,4(%edi)
2177*ebfedea0SLionel Sambuc	movl	%ecx,8(%edi)
2178*ebfedea0SLionel Sambuc	movl	%edx,12(%edi)
2179*ebfedea0SLionel Sambuc	movl	32(%esp),%ecx
2180*ebfedea0SLionel Sambuc	leal	16(%esi),%esi
2181*ebfedea0SLionel Sambuc	movl	%esi,24(%esp)
2182*ebfedea0SLionel Sambuc	leal	16(%edi),%edx
2183*ebfedea0SLionel Sambuc	movl	%edx,28(%esp)
2184*ebfedea0SLionel Sambuc	subl	$16,%ecx
2185*ebfedea0SLionel Sambuc	testl	$4294967280,%ecx
2186*ebfedea0SLionel Sambuc	movl	%ecx,32(%esp)
2187*ebfedea0SLionel Sambuc	jnz	.L021enc_loop
2188*ebfedea0SLionel Sambuc	testl	$15,%ecx
2189*ebfedea0SLionel Sambuc	jnz	.L020enc_tail
2190*ebfedea0SLionel Sambuc	movl	40(%esp),%esi
2191*ebfedea0SLionel Sambuc	movl	8(%edi),%ecx
2192*ebfedea0SLionel Sambuc	movl	12(%edi),%edx
2193*ebfedea0SLionel Sambuc	movl	%eax,(%esi)
2194*ebfedea0SLionel Sambuc	movl	%ebx,4(%esi)
2195*ebfedea0SLionel Sambuc	movl	%ecx,8(%esi)
2196*ebfedea0SLionel Sambuc	movl	%edx,12(%esi)
2197*ebfedea0SLionel Sambuc	movl	20(%esp),%esp
2198*ebfedea0SLionel Sambuc	popfl
2199*ebfedea0SLionel Sambuc.L016enc_out:
2200*ebfedea0SLionel Sambuc	popl	%edi
2201*ebfedea0SLionel Sambuc	popl	%esi
2202*ebfedea0SLionel Sambuc	popl	%ebx
2203*ebfedea0SLionel Sambuc	popl	%ebp
2204*ebfedea0SLionel Sambuc	ret
2205*ebfedea0SLionel Sambuc	pushfl
2206*ebfedea0SLionel Sambuc.align	4
2207*ebfedea0SLionel Sambuc.L020enc_tail:
2208*ebfedea0SLionel Sambuc	movl	%edi,%eax
2209*ebfedea0SLionel Sambuc	movl	28(%esp),%edi
2210*ebfedea0SLionel Sambuc	pushl	%eax
2211*ebfedea0SLionel Sambuc	movl	$16,%ebx
2212*ebfedea0SLionel Sambuc	subl	%ecx,%ebx
2213*ebfedea0SLionel Sambuc	cmpl	%esi,%edi
2214*ebfedea0SLionel Sambuc	je	.L022enc_in_place
2215*ebfedea0SLionel Sambuc.align	4
2216*ebfedea0SLionel Sambuc.long	2767451785
2217*ebfedea0SLionel Sambuc	jmp	.L023enc_skip_in_place
2218*ebfedea0SLionel Sambuc.L022enc_in_place:
2219*ebfedea0SLionel Sambuc	leal	(%edi,%ecx,1),%edi
2220*ebfedea0SLionel Sambuc.L023enc_skip_in_place:
2221*ebfedea0SLionel Sambuc	movl	%ebx,%ecx
2222*ebfedea0SLionel Sambuc	xorl	%eax,%eax
2223*ebfedea0SLionel Sambuc.align	4
2224*ebfedea0SLionel Sambuc.long	2868115081
2225*ebfedea0SLionel Sambuc	popl	%edi
2226*ebfedea0SLionel Sambuc	movl	28(%esp),%esi
2227*ebfedea0SLionel Sambuc	movl	(%edi),%eax
2228*ebfedea0SLionel Sambuc	movl	4(%edi),%ebx
2229*ebfedea0SLionel Sambuc	movl	$16,32(%esp)
2230*ebfedea0SLionel Sambuc	jmp	.L021enc_loop
2231*ebfedea0SLionel Sambuc.align	16
2232*ebfedea0SLionel Sambuc.L019DECRYPT:
2233*ebfedea0SLionel Sambuc	shll	$6,%edx
2234*ebfedea0SLionel Sambuc	leal	(%eax,%edx,1),%edx
2235*ebfedea0SLionel Sambuc	movl	%eax,16(%esp)
2236*ebfedea0SLionel Sambuc	movl	%edx,36(%esp)
2237*ebfedea0SLionel Sambuc	cmpl	28(%esp),%esi
2238*ebfedea0SLionel Sambuc	je	.L024dec_in_place
2239*ebfedea0SLionel Sambuc	movl	40(%esp),%edi
2240*ebfedea0SLionel Sambuc	movl	%edi,44(%esp)
2241*ebfedea0SLionel Sambuc.align	4
2242*ebfedea0SLionel Sambuc.L025dec_loop:
2243*ebfedea0SLionel Sambuc	movl	(%esi),%eax
2244*ebfedea0SLionel Sambuc	movl	4(%esi),%ebx
2245*ebfedea0SLionel Sambuc	movl	8(%esi),%ecx
2246*ebfedea0SLionel Sambuc	bswap	%eax
2247*ebfedea0SLionel Sambuc	movl	12(%esi),%edx
2248*ebfedea0SLionel Sambuc	bswap	%ebx
2249*ebfedea0SLionel Sambuc	movl	36(%esp),%edi
2250*ebfedea0SLionel Sambuc	bswap	%ecx
2251*ebfedea0SLionel Sambuc	bswap	%edx
2252*ebfedea0SLionel Sambuc	call	_x86_Camellia_decrypt
2253*ebfedea0SLionel Sambuc	movl	44(%esp),%edi
2254*ebfedea0SLionel Sambuc	movl	32(%esp),%esi
2255*ebfedea0SLionel Sambuc	bswap	%eax
2256*ebfedea0SLionel Sambuc	bswap	%ebx
2257*ebfedea0SLionel Sambuc	bswap	%ecx
2258*ebfedea0SLionel Sambuc	xorl	(%edi),%eax
2259*ebfedea0SLionel Sambuc	bswap	%edx
2260*ebfedea0SLionel Sambuc	xorl	4(%edi),%ebx
2261*ebfedea0SLionel Sambuc	xorl	8(%edi),%ecx
2262*ebfedea0SLionel Sambuc	xorl	12(%edi),%edx
2263*ebfedea0SLionel Sambuc	subl	$16,%esi
2264*ebfedea0SLionel Sambuc	jc	.L026dec_partial
2265*ebfedea0SLionel Sambuc	movl	%esi,32(%esp)
2266*ebfedea0SLionel Sambuc	movl	24(%esp),%esi
2267*ebfedea0SLionel Sambuc	movl	28(%esp),%edi
2268*ebfedea0SLionel Sambuc	movl	%eax,(%edi)
2269*ebfedea0SLionel Sambuc	movl	%ebx,4(%edi)
2270*ebfedea0SLionel Sambuc	movl	%ecx,8(%edi)
2271*ebfedea0SLionel Sambuc	movl	%edx,12(%edi)
2272*ebfedea0SLionel Sambuc	movl	%esi,44(%esp)
2273*ebfedea0SLionel Sambuc	leal	16(%esi),%esi
2274*ebfedea0SLionel Sambuc	movl	%esi,24(%esp)
2275*ebfedea0SLionel Sambuc	leal	16(%edi),%edi
2276*ebfedea0SLionel Sambuc	movl	%edi,28(%esp)
2277*ebfedea0SLionel Sambuc	jnz	.L025dec_loop
2278*ebfedea0SLionel Sambuc	movl	44(%esp),%edi
2279*ebfedea0SLionel Sambuc.L027dec_end:
2280*ebfedea0SLionel Sambuc	movl	40(%esp),%esi
2281*ebfedea0SLionel Sambuc	movl	(%edi),%eax
2282*ebfedea0SLionel Sambuc	movl	4(%edi),%ebx
2283*ebfedea0SLionel Sambuc	movl	8(%edi),%ecx
2284*ebfedea0SLionel Sambuc	movl	12(%edi),%edx
2285*ebfedea0SLionel Sambuc	movl	%eax,(%esi)
2286*ebfedea0SLionel Sambuc	movl	%ebx,4(%esi)
2287*ebfedea0SLionel Sambuc	movl	%ecx,8(%esi)
2288*ebfedea0SLionel Sambuc	movl	%edx,12(%esi)
2289*ebfedea0SLionel Sambuc	jmp	.L028dec_out
2290*ebfedea0SLionel Sambuc.align	4
2291*ebfedea0SLionel Sambuc.L026dec_partial:
2292*ebfedea0SLionel Sambuc	leal	44(%esp),%edi
2293*ebfedea0SLionel Sambuc	movl	%eax,(%edi)
2294*ebfedea0SLionel Sambuc	movl	%ebx,4(%edi)
2295*ebfedea0SLionel Sambuc	movl	%ecx,8(%edi)
2296*ebfedea0SLionel Sambuc	movl	%edx,12(%edi)
2297*ebfedea0SLionel Sambuc	leal	16(%esi),%ecx
2298*ebfedea0SLionel Sambuc	movl	%edi,%esi
2299*ebfedea0SLionel Sambuc	movl	28(%esp),%edi
2300*ebfedea0SLionel Sambuc.long	2767451785
2301*ebfedea0SLionel Sambuc	movl	24(%esp),%edi
2302*ebfedea0SLionel Sambuc	jmp	.L027dec_end
2303*ebfedea0SLionel Sambuc.align	4
2304*ebfedea0SLionel Sambuc.L024dec_in_place:
2305*ebfedea0SLionel Sambuc.L029dec_in_place_loop:
2306*ebfedea0SLionel Sambuc	leal	44(%esp),%edi
2307*ebfedea0SLionel Sambuc	movl	(%esi),%eax
2308*ebfedea0SLionel Sambuc	movl	4(%esi),%ebx
2309*ebfedea0SLionel Sambuc	movl	8(%esi),%ecx
2310*ebfedea0SLionel Sambuc	movl	12(%esi),%edx
2311*ebfedea0SLionel Sambuc	movl	%eax,(%edi)
2312*ebfedea0SLionel Sambuc	movl	%ebx,4(%edi)
2313*ebfedea0SLionel Sambuc	movl	%ecx,8(%edi)
2314*ebfedea0SLionel Sambuc	bswap	%eax
2315*ebfedea0SLionel Sambuc	movl	%edx,12(%edi)
2316*ebfedea0SLionel Sambuc	bswap	%ebx
2317*ebfedea0SLionel Sambuc	movl	36(%esp),%edi
2318*ebfedea0SLionel Sambuc	bswap	%ecx
2319*ebfedea0SLionel Sambuc	bswap	%edx
2320*ebfedea0SLionel Sambuc	call	_x86_Camellia_decrypt
2321*ebfedea0SLionel Sambuc	movl	40(%esp),%edi
2322*ebfedea0SLionel Sambuc	movl	28(%esp),%esi
2323*ebfedea0SLionel Sambuc	bswap	%eax
2324*ebfedea0SLionel Sambuc	bswap	%ebx
2325*ebfedea0SLionel Sambuc	bswap	%ecx
2326*ebfedea0SLionel Sambuc	xorl	(%edi),%eax
2327*ebfedea0SLionel Sambuc	bswap	%edx
2328*ebfedea0SLionel Sambuc	xorl	4(%edi),%ebx
2329*ebfedea0SLionel Sambuc	xorl	8(%edi),%ecx
2330*ebfedea0SLionel Sambuc	xorl	12(%edi),%edx
2331*ebfedea0SLionel Sambuc	movl	%eax,(%esi)
2332*ebfedea0SLionel Sambuc	movl	%ebx,4(%esi)
2333*ebfedea0SLionel Sambuc	movl	%ecx,8(%esi)
2334*ebfedea0SLionel Sambuc	movl	%edx,12(%esi)
2335*ebfedea0SLionel Sambuc	leal	16(%esi),%esi
2336*ebfedea0SLionel Sambuc	movl	%esi,28(%esp)
2337*ebfedea0SLionel Sambuc	leal	44(%esp),%esi
2338*ebfedea0SLionel Sambuc	movl	(%esi),%eax
2339*ebfedea0SLionel Sambuc	movl	4(%esi),%ebx
2340*ebfedea0SLionel Sambuc	movl	8(%esi),%ecx
2341*ebfedea0SLionel Sambuc	movl	12(%esi),%edx
2342*ebfedea0SLionel Sambuc	movl	%eax,(%edi)
2343*ebfedea0SLionel Sambuc	movl	%ebx,4(%edi)
2344*ebfedea0SLionel Sambuc	movl	%ecx,8(%edi)
2345*ebfedea0SLionel Sambuc	movl	%edx,12(%edi)
2346*ebfedea0SLionel Sambuc	movl	24(%esp),%esi
2347*ebfedea0SLionel Sambuc	leal	16(%esi),%esi
2348*ebfedea0SLionel Sambuc	movl	%esi,24(%esp)
2349*ebfedea0SLionel Sambuc	movl	32(%esp),%ecx
2350*ebfedea0SLionel Sambuc	subl	$16,%ecx
2351*ebfedea0SLionel Sambuc	jc	.L030dec_in_place_partial
2352*ebfedea0SLionel Sambuc	movl	%ecx,32(%esp)
2353*ebfedea0SLionel Sambuc	jnz	.L029dec_in_place_loop
2354*ebfedea0SLionel Sambuc	jmp	.L028dec_out
2355*ebfedea0SLionel Sambuc.align	4
2356*ebfedea0SLionel Sambuc.L030dec_in_place_partial:
2357*ebfedea0SLionel Sambuc	movl	28(%esp),%edi
2358*ebfedea0SLionel Sambuc	leal	44(%esp),%esi
2359*ebfedea0SLionel Sambuc	leal	(%edi,%ecx,1),%edi
2360*ebfedea0SLionel Sambuc	leal	16(%esi,%ecx,1),%esi
2361*ebfedea0SLionel Sambuc	negl	%ecx
2362*ebfedea0SLionel Sambuc.long	2767451785
2363*ebfedea0SLionel Sambuc.align	4
2364*ebfedea0SLionel Sambuc.L028dec_out:
2365*ebfedea0SLionel Sambuc	movl	20(%esp),%esp
2366*ebfedea0SLionel Sambuc	popfl
2367*ebfedea0SLionel Sambuc	popl	%edi
2368*ebfedea0SLionel Sambuc	popl	%esi
2369*ebfedea0SLionel Sambuc	popl	%ebx
2370*ebfedea0SLionel Sambuc	popl	%ebp
2371*ebfedea0SLionel Sambuc	ret
2372*ebfedea0SLionel Sambuc.size	Camellia_cbc_encrypt,.-.L_Camellia_cbc_encrypt_begin
2373*ebfedea0SLionel Sambuc.byte	67,97,109,101,108,108,105,97,32,102,111,114,32,120,56,54
2374*ebfedea0SLionel Sambuc.byte	32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115
2375*ebfedea0SLionel Sambuc.byte	115,108,46,111,114,103,62,0
2376