xref: /freebsd/sys/crypto/openssl/i386/des-586.S (revision c0855eaa3ee9614804b6bd6a255aa9f71e095f43)
1bc3d5698SJohn Baldwin/* Do not modify. This file is auto-generated from des-586.pl. */
2bc3d5698SJohn Baldwin#ifdef PIC
3bc3d5698SJohn Baldwin.text
4bc3d5698SJohn Baldwin.globl	DES_SPtrans
5bc3d5698SJohn Baldwin.type	_x86_DES_encrypt,@function
6bc3d5698SJohn Baldwin.align	16
7bc3d5698SJohn Baldwin_x86_DES_encrypt:
8*c0855eaaSJohn Baldwin	#ifdef __CET__
9*c0855eaaSJohn Baldwin
10*c0855eaaSJohn Baldwin.byte	243,15,30,251
11*c0855eaaSJohn Baldwin	#endif
12*c0855eaaSJohn Baldwin
13bc3d5698SJohn Baldwin	pushl	%ecx
14bc3d5698SJohn Baldwin
15bc3d5698SJohn Baldwin	movl	(%ecx),%eax
16bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
17bc3d5698SJohn Baldwin	movl	4(%ecx),%edx
18bc3d5698SJohn Baldwin	xorl	%esi,%eax
19bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
20bc3d5698SJohn Baldwin	xorl	%esi,%edx
21bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
22bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
23bc3d5698SJohn Baldwin	movb	%al,%bl
24bc3d5698SJohn Baldwin	movb	%ah,%cl
25bc3d5698SJohn Baldwin	rorl	$4,%edx
26bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%edi
27bc3d5698SJohn Baldwin	movb	%dl,%bl
28bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%edi
29bc3d5698SJohn Baldwin	movb	%dh,%cl
30bc3d5698SJohn Baldwin	shrl	$16,%eax
31bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%edi
32bc3d5698SJohn Baldwin	movb	%ah,%bl
33bc3d5698SJohn Baldwin	shrl	$16,%edx
34bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%edi
35bc3d5698SJohn Baldwin	movb	%dh,%cl
36bc3d5698SJohn Baldwin	andl	$0xff,%eax
37bc3d5698SJohn Baldwin	andl	$0xff,%edx
38bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%edi
39bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%edi
40bc3d5698SJohn Baldwin	movl	(%esp),%ecx
41bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%edi
42bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%edi
43bc3d5698SJohn Baldwin
44bc3d5698SJohn Baldwin	movl	8(%ecx),%eax
45bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
46bc3d5698SJohn Baldwin	movl	12(%ecx),%edx
47bc3d5698SJohn Baldwin	xorl	%edi,%eax
48bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
49bc3d5698SJohn Baldwin	xorl	%edi,%edx
50bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
51bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
52bc3d5698SJohn Baldwin	movb	%al,%bl
53bc3d5698SJohn Baldwin	movb	%ah,%cl
54bc3d5698SJohn Baldwin	rorl	$4,%edx
55bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%esi
56bc3d5698SJohn Baldwin	movb	%dl,%bl
57bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%esi
58bc3d5698SJohn Baldwin	movb	%dh,%cl
59bc3d5698SJohn Baldwin	shrl	$16,%eax
60bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%esi
61bc3d5698SJohn Baldwin	movb	%ah,%bl
62bc3d5698SJohn Baldwin	shrl	$16,%edx
63bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%esi
64bc3d5698SJohn Baldwin	movb	%dh,%cl
65bc3d5698SJohn Baldwin	andl	$0xff,%eax
66bc3d5698SJohn Baldwin	andl	$0xff,%edx
67bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%esi
68bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%esi
69bc3d5698SJohn Baldwin	movl	(%esp),%ecx
70bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%esi
71bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%esi
72bc3d5698SJohn Baldwin
73bc3d5698SJohn Baldwin	movl	16(%ecx),%eax
74bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
75bc3d5698SJohn Baldwin	movl	20(%ecx),%edx
76bc3d5698SJohn Baldwin	xorl	%esi,%eax
77bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
78bc3d5698SJohn Baldwin	xorl	%esi,%edx
79bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
80bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
81bc3d5698SJohn Baldwin	movb	%al,%bl
82bc3d5698SJohn Baldwin	movb	%ah,%cl
83bc3d5698SJohn Baldwin	rorl	$4,%edx
84bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%edi
85bc3d5698SJohn Baldwin	movb	%dl,%bl
86bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%edi
87bc3d5698SJohn Baldwin	movb	%dh,%cl
88bc3d5698SJohn Baldwin	shrl	$16,%eax
89bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%edi
90bc3d5698SJohn Baldwin	movb	%ah,%bl
91bc3d5698SJohn Baldwin	shrl	$16,%edx
92bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%edi
93bc3d5698SJohn Baldwin	movb	%dh,%cl
94bc3d5698SJohn Baldwin	andl	$0xff,%eax
95bc3d5698SJohn Baldwin	andl	$0xff,%edx
96bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%edi
97bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%edi
98bc3d5698SJohn Baldwin	movl	(%esp),%ecx
99bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%edi
100bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%edi
101bc3d5698SJohn Baldwin
102bc3d5698SJohn Baldwin	movl	24(%ecx),%eax
103bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
104bc3d5698SJohn Baldwin	movl	28(%ecx),%edx
105bc3d5698SJohn Baldwin	xorl	%edi,%eax
106bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
107bc3d5698SJohn Baldwin	xorl	%edi,%edx
108bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
109bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
110bc3d5698SJohn Baldwin	movb	%al,%bl
111bc3d5698SJohn Baldwin	movb	%ah,%cl
112bc3d5698SJohn Baldwin	rorl	$4,%edx
113bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%esi
114bc3d5698SJohn Baldwin	movb	%dl,%bl
115bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%esi
116bc3d5698SJohn Baldwin	movb	%dh,%cl
117bc3d5698SJohn Baldwin	shrl	$16,%eax
118bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%esi
119bc3d5698SJohn Baldwin	movb	%ah,%bl
120bc3d5698SJohn Baldwin	shrl	$16,%edx
121bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%esi
122bc3d5698SJohn Baldwin	movb	%dh,%cl
123bc3d5698SJohn Baldwin	andl	$0xff,%eax
124bc3d5698SJohn Baldwin	andl	$0xff,%edx
125bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%esi
126bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%esi
127bc3d5698SJohn Baldwin	movl	(%esp),%ecx
128bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%esi
129bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%esi
130bc3d5698SJohn Baldwin
131bc3d5698SJohn Baldwin	movl	32(%ecx),%eax
132bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
133bc3d5698SJohn Baldwin	movl	36(%ecx),%edx
134bc3d5698SJohn Baldwin	xorl	%esi,%eax
135bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
136bc3d5698SJohn Baldwin	xorl	%esi,%edx
137bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
138bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
139bc3d5698SJohn Baldwin	movb	%al,%bl
140bc3d5698SJohn Baldwin	movb	%ah,%cl
141bc3d5698SJohn Baldwin	rorl	$4,%edx
142bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%edi
143bc3d5698SJohn Baldwin	movb	%dl,%bl
144bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%edi
145bc3d5698SJohn Baldwin	movb	%dh,%cl
146bc3d5698SJohn Baldwin	shrl	$16,%eax
147bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%edi
148bc3d5698SJohn Baldwin	movb	%ah,%bl
149bc3d5698SJohn Baldwin	shrl	$16,%edx
150bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%edi
151bc3d5698SJohn Baldwin	movb	%dh,%cl
152bc3d5698SJohn Baldwin	andl	$0xff,%eax
153bc3d5698SJohn Baldwin	andl	$0xff,%edx
154bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%edi
155bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%edi
156bc3d5698SJohn Baldwin	movl	(%esp),%ecx
157bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%edi
158bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%edi
159bc3d5698SJohn Baldwin
160bc3d5698SJohn Baldwin	movl	40(%ecx),%eax
161bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
162bc3d5698SJohn Baldwin	movl	44(%ecx),%edx
163bc3d5698SJohn Baldwin	xorl	%edi,%eax
164bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
165bc3d5698SJohn Baldwin	xorl	%edi,%edx
166bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
167bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
168bc3d5698SJohn Baldwin	movb	%al,%bl
169bc3d5698SJohn Baldwin	movb	%ah,%cl
170bc3d5698SJohn Baldwin	rorl	$4,%edx
171bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%esi
172bc3d5698SJohn Baldwin	movb	%dl,%bl
173bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%esi
174bc3d5698SJohn Baldwin	movb	%dh,%cl
175bc3d5698SJohn Baldwin	shrl	$16,%eax
176bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%esi
177bc3d5698SJohn Baldwin	movb	%ah,%bl
178bc3d5698SJohn Baldwin	shrl	$16,%edx
179bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%esi
180bc3d5698SJohn Baldwin	movb	%dh,%cl
181bc3d5698SJohn Baldwin	andl	$0xff,%eax
182bc3d5698SJohn Baldwin	andl	$0xff,%edx
183bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%esi
184bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%esi
185bc3d5698SJohn Baldwin	movl	(%esp),%ecx
186bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%esi
187bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%esi
188bc3d5698SJohn Baldwin
189bc3d5698SJohn Baldwin	movl	48(%ecx),%eax
190bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
191bc3d5698SJohn Baldwin	movl	52(%ecx),%edx
192bc3d5698SJohn Baldwin	xorl	%esi,%eax
193bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
194bc3d5698SJohn Baldwin	xorl	%esi,%edx
195bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
196bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
197bc3d5698SJohn Baldwin	movb	%al,%bl
198bc3d5698SJohn Baldwin	movb	%ah,%cl
199bc3d5698SJohn Baldwin	rorl	$4,%edx
200bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%edi
201bc3d5698SJohn Baldwin	movb	%dl,%bl
202bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%edi
203bc3d5698SJohn Baldwin	movb	%dh,%cl
204bc3d5698SJohn Baldwin	shrl	$16,%eax
205bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%edi
206bc3d5698SJohn Baldwin	movb	%ah,%bl
207bc3d5698SJohn Baldwin	shrl	$16,%edx
208bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%edi
209bc3d5698SJohn Baldwin	movb	%dh,%cl
210bc3d5698SJohn Baldwin	andl	$0xff,%eax
211bc3d5698SJohn Baldwin	andl	$0xff,%edx
212bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%edi
213bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%edi
214bc3d5698SJohn Baldwin	movl	(%esp),%ecx
215bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%edi
216bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%edi
217bc3d5698SJohn Baldwin
218bc3d5698SJohn Baldwin	movl	56(%ecx),%eax
219bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
220bc3d5698SJohn Baldwin	movl	60(%ecx),%edx
221bc3d5698SJohn Baldwin	xorl	%edi,%eax
222bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
223bc3d5698SJohn Baldwin	xorl	%edi,%edx
224bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
225bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
226bc3d5698SJohn Baldwin	movb	%al,%bl
227bc3d5698SJohn Baldwin	movb	%ah,%cl
228bc3d5698SJohn Baldwin	rorl	$4,%edx
229bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%esi
230bc3d5698SJohn Baldwin	movb	%dl,%bl
231bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%esi
232bc3d5698SJohn Baldwin	movb	%dh,%cl
233bc3d5698SJohn Baldwin	shrl	$16,%eax
234bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%esi
235bc3d5698SJohn Baldwin	movb	%ah,%bl
236bc3d5698SJohn Baldwin	shrl	$16,%edx
237bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%esi
238bc3d5698SJohn Baldwin	movb	%dh,%cl
239bc3d5698SJohn Baldwin	andl	$0xff,%eax
240bc3d5698SJohn Baldwin	andl	$0xff,%edx
241bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%esi
242bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%esi
243bc3d5698SJohn Baldwin	movl	(%esp),%ecx
244bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%esi
245bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%esi
246bc3d5698SJohn Baldwin
247bc3d5698SJohn Baldwin	movl	64(%ecx),%eax
248bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
249bc3d5698SJohn Baldwin	movl	68(%ecx),%edx
250bc3d5698SJohn Baldwin	xorl	%esi,%eax
251bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
252bc3d5698SJohn Baldwin	xorl	%esi,%edx
253bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
254bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
255bc3d5698SJohn Baldwin	movb	%al,%bl
256bc3d5698SJohn Baldwin	movb	%ah,%cl
257bc3d5698SJohn Baldwin	rorl	$4,%edx
258bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%edi
259bc3d5698SJohn Baldwin	movb	%dl,%bl
260bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%edi
261bc3d5698SJohn Baldwin	movb	%dh,%cl
262bc3d5698SJohn Baldwin	shrl	$16,%eax
263bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%edi
264bc3d5698SJohn Baldwin	movb	%ah,%bl
265bc3d5698SJohn Baldwin	shrl	$16,%edx
266bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%edi
267bc3d5698SJohn Baldwin	movb	%dh,%cl
268bc3d5698SJohn Baldwin	andl	$0xff,%eax
269bc3d5698SJohn Baldwin	andl	$0xff,%edx
270bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%edi
271bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%edi
272bc3d5698SJohn Baldwin	movl	(%esp),%ecx
273bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%edi
274bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%edi
275bc3d5698SJohn Baldwin
276bc3d5698SJohn Baldwin	movl	72(%ecx),%eax
277bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
278bc3d5698SJohn Baldwin	movl	76(%ecx),%edx
279bc3d5698SJohn Baldwin	xorl	%edi,%eax
280bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
281bc3d5698SJohn Baldwin	xorl	%edi,%edx
282bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
283bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
284bc3d5698SJohn Baldwin	movb	%al,%bl
285bc3d5698SJohn Baldwin	movb	%ah,%cl
286bc3d5698SJohn Baldwin	rorl	$4,%edx
287bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%esi
288bc3d5698SJohn Baldwin	movb	%dl,%bl
289bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%esi
290bc3d5698SJohn Baldwin	movb	%dh,%cl
291bc3d5698SJohn Baldwin	shrl	$16,%eax
292bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%esi
293bc3d5698SJohn Baldwin	movb	%ah,%bl
294bc3d5698SJohn Baldwin	shrl	$16,%edx
295bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%esi
296bc3d5698SJohn Baldwin	movb	%dh,%cl
297bc3d5698SJohn Baldwin	andl	$0xff,%eax
298bc3d5698SJohn Baldwin	andl	$0xff,%edx
299bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%esi
300bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%esi
301bc3d5698SJohn Baldwin	movl	(%esp),%ecx
302bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%esi
303bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%esi
304bc3d5698SJohn Baldwin
305bc3d5698SJohn Baldwin	movl	80(%ecx),%eax
306bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
307bc3d5698SJohn Baldwin	movl	84(%ecx),%edx
308bc3d5698SJohn Baldwin	xorl	%esi,%eax
309bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
310bc3d5698SJohn Baldwin	xorl	%esi,%edx
311bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
312bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
313bc3d5698SJohn Baldwin	movb	%al,%bl
314bc3d5698SJohn Baldwin	movb	%ah,%cl
315bc3d5698SJohn Baldwin	rorl	$4,%edx
316bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%edi
317bc3d5698SJohn Baldwin	movb	%dl,%bl
318bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%edi
319bc3d5698SJohn Baldwin	movb	%dh,%cl
320bc3d5698SJohn Baldwin	shrl	$16,%eax
321bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%edi
322bc3d5698SJohn Baldwin	movb	%ah,%bl
323bc3d5698SJohn Baldwin	shrl	$16,%edx
324bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%edi
325bc3d5698SJohn Baldwin	movb	%dh,%cl
326bc3d5698SJohn Baldwin	andl	$0xff,%eax
327bc3d5698SJohn Baldwin	andl	$0xff,%edx
328bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%edi
329bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%edi
330bc3d5698SJohn Baldwin	movl	(%esp),%ecx
331bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%edi
332bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%edi
333bc3d5698SJohn Baldwin
334bc3d5698SJohn Baldwin	movl	88(%ecx),%eax
335bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
336bc3d5698SJohn Baldwin	movl	92(%ecx),%edx
337bc3d5698SJohn Baldwin	xorl	%edi,%eax
338bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
339bc3d5698SJohn Baldwin	xorl	%edi,%edx
340bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
341bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
342bc3d5698SJohn Baldwin	movb	%al,%bl
343bc3d5698SJohn Baldwin	movb	%ah,%cl
344bc3d5698SJohn Baldwin	rorl	$4,%edx
345bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%esi
346bc3d5698SJohn Baldwin	movb	%dl,%bl
347bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%esi
348bc3d5698SJohn Baldwin	movb	%dh,%cl
349bc3d5698SJohn Baldwin	shrl	$16,%eax
350bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%esi
351bc3d5698SJohn Baldwin	movb	%ah,%bl
352bc3d5698SJohn Baldwin	shrl	$16,%edx
353bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%esi
354bc3d5698SJohn Baldwin	movb	%dh,%cl
355bc3d5698SJohn Baldwin	andl	$0xff,%eax
356bc3d5698SJohn Baldwin	andl	$0xff,%edx
357bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%esi
358bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%esi
359bc3d5698SJohn Baldwin	movl	(%esp),%ecx
360bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%esi
361bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%esi
362bc3d5698SJohn Baldwin
363bc3d5698SJohn Baldwin	movl	96(%ecx),%eax
364bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
365bc3d5698SJohn Baldwin	movl	100(%ecx),%edx
366bc3d5698SJohn Baldwin	xorl	%esi,%eax
367bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
368bc3d5698SJohn Baldwin	xorl	%esi,%edx
369bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
370bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
371bc3d5698SJohn Baldwin	movb	%al,%bl
372bc3d5698SJohn Baldwin	movb	%ah,%cl
373bc3d5698SJohn Baldwin	rorl	$4,%edx
374bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%edi
375bc3d5698SJohn Baldwin	movb	%dl,%bl
376bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%edi
377bc3d5698SJohn Baldwin	movb	%dh,%cl
378bc3d5698SJohn Baldwin	shrl	$16,%eax
379bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%edi
380bc3d5698SJohn Baldwin	movb	%ah,%bl
381bc3d5698SJohn Baldwin	shrl	$16,%edx
382bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%edi
383bc3d5698SJohn Baldwin	movb	%dh,%cl
384bc3d5698SJohn Baldwin	andl	$0xff,%eax
385bc3d5698SJohn Baldwin	andl	$0xff,%edx
386bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%edi
387bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%edi
388bc3d5698SJohn Baldwin	movl	(%esp),%ecx
389bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%edi
390bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%edi
391bc3d5698SJohn Baldwin
392bc3d5698SJohn Baldwin	movl	104(%ecx),%eax
393bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
394bc3d5698SJohn Baldwin	movl	108(%ecx),%edx
395bc3d5698SJohn Baldwin	xorl	%edi,%eax
396bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
397bc3d5698SJohn Baldwin	xorl	%edi,%edx
398bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
399bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
400bc3d5698SJohn Baldwin	movb	%al,%bl
401bc3d5698SJohn Baldwin	movb	%ah,%cl
402bc3d5698SJohn Baldwin	rorl	$4,%edx
403bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%esi
404bc3d5698SJohn Baldwin	movb	%dl,%bl
405bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%esi
406bc3d5698SJohn Baldwin	movb	%dh,%cl
407bc3d5698SJohn Baldwin	shrl	$16,%eax
408bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%esi
409bc3d5698SJohn Baldwin	movb	%ah,%bl
410bc3d5698SJohn Baldwin	shrl	$16,%edx
411bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%esi
412bc3d5698SJohn Baldwin	movb	%dh,%cl
413bc3d5698SJohn Baldwin	andl	$0xff,%eax
414bc3d5698SJohn Baldwin	andl	$0xff,%edx
415bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%esi
416bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%esi
417bc3d5698SJohn Baldwin	movl	(%esp),%ecx
418bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%esi
419bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%esi
420bc3d5698SJohn Baldwin
421bc3d5698SJohn Baldwin	movl	112(%ecx),%eax
422bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
423bc3d5698SJohn Baldwin	movl	116(%ecx),%edx
424bc3d5698SJohn Baldwin	xorl	%esi,%eax
425bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
426bc3d5698SJohn Baldwin	xorl	%esi,%edx
427bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
428bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
429bc3d5698SJohn Baldwin	movb	%al,%bl
430bc3d5698SJohn Baldwin	movb	%ah,%cl
431bc3d5698SJohn Baldwin	rorl	$4,%edx
432bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%edi
433bc3d5698SJohn Baldwin	movb	%dl,%bl
434bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%edi
435bc3d5698SJohn Baldwin	movb	%dh,%cl
436bc3d5698SJohn Baldwin	shrl	$16,%eax
437bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%edi
438bc3d5698SJohn Baldwin	movb	%ah,%bl
439bc3d5698SJohn Baldwin	shrl	$16,%edx
440bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%edi
441bc3d5698SJohn Baldwin	movb	%dh,%cl
442bc3d5698SJohn Baldwin	andl	$0xff,%eax
443bc3d5698SJohn Baldwin	andl	$0xff,%edx
444bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%edi
445bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%edi
446bc3d5698SJohn Baldwin	movl	(%esp),%ecx
447bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%edi
448bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%edi
449bc3d5698SJohn Baldwin
450bc3d5698SJohn Baldwin	movl	120(%ecx),%eax
451bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
452bc3d5698SJohn Baldwin	movl	124(%ecx),%edx
453bc3d5698SJohn Baldwin	xorl	%edi,%eax
454bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
455bc3d5698SJohn Baldwin	xorl	%edi,%edx
456bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
457bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
458bc3d5698SJohn Baldwin	movb	%al,%bl
459bc3d5698SJohn Baldwin	movb	%ah,%cl
460bc3d5698SJohn Baldwin	rorl	$4,%edx
461bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%esi
462bc3d5698SJohn Baldwin	movb	%dl,%bl
463bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%esi
464bc3d5698SJohn Baldwin	movb	%dh,%cl
465bc3d5698SJohn Baldwin	shrl	$16,%eax
466bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%esi
467bc3d5698SJohn Baldwin	movb	%ah,%bl
468bc3d5698SJohn Baldwin	shrl	$16,%edx
469bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%esi
470bc3d5698SJohn Baldwin	movb	%dh,%cl
471bc3d5698SJohn Baldwin	andl	$0xff,%eax
472bc3d5698SJohn Baldwin	andl	$0xff,%edx
473bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%esi
474bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%esi
475bc3d5698SJohn Baldwin	movl	(%esp),%ecx
476bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%esi
477bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%esi
478bc3d5698SJohn Baldwin	addl	$4,%esp
479bc3d5698SJohn Baldwin	ret
480bc3d5698SJohn Baldwin.size	_x86_DES_encrypt,.-_x86_DES_encrypt
481bc3d5698SJohn Baldwin.type	_x86_DES_decrypt,@function
482bc3d5698SJohn Baldwin.align	16
483bc3d5698SJohn Baldwin_x86_DES_decrypt:
484*c0855eaaSJohn Baldwin	#ifdef __CET__
485*c0855eaaSJohn Baldwin
486*c0855eaaSJohn Baldwin.byte	243,15,30,251
487*c0855eaaSJohn Baldwin	#endif
488*c0855eaaSJohn Baldwin
489bc3d5698SJohn Baldwin	pushl	%ecx
490bc3d5698SJohn Baldwin
491bc3d5698SJohn Baldwin	movl	120(%ecx),%eax
492bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
493bc3d5698SJohn Baldwin	movl	124(%ecx),%edx
494bc3d5698SJohn Baldwin	xorl	%esi,%eax
495bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
496bc3d5698SJohn Baldwin	xorl	%esi,%edx
497bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
498bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
499bc3d5698SJohn Baldwin	movb	%al,%bl
500bc3d5698SJohn Baldwin	movb	%ah,%cl
501bc3d5698SJohn Baldwin	rorl	$4,%edx
502bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%edi
503bc3d5698SJohn Baldwin	movb	%dl,%bl
504bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%edi
505bc3d5698SJohn Baldwin	movb	%dh,%cl
506bc3d5698SJohn Baldwin	shrl	$16,%eax
507bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%edi
508bc3d5698SJohn Baldwin	movb	%ah,%bl
509bc3d5698SJohn Baldwin	shrl	$16,%edx
510bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%edi
511bc3d5698SJohn Baldwin	movb	%dh,%cl
512bc3d5698SJohn Baldwin	andl	$0xff,%eax
513bc3d5698SJohn Baldwin	andl	$0xff,%edx
514bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%edi
515bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%edi
516bc3d5698SJohn Baldwin	movl	(%esp),%ecx
517bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%edi
518bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%edi
519bc3d5698SJohn Baldwin
520bc3d5698SJohn Baldwin	movl	112(%ecx),%eax
521bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
522bc3d5698SJohn Baldwin	movl	116(%ecx),%edx
523bc3d5698SJohn Baldwin	xorl	%edi,%eax
524bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
525bc3d5698SJohn Baldwin	xorl	%edi,%edx
526bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
527bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
528bc3d5698SJohn Baldwin	movb	%al,%bl
529bc3d5698SJohn Baldwin	movb	%ah,%cl
530bc3d5698SJohn Baldwin	rorl	$4,%edx
531bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%esi
532bc3d5698SJohn Baldwin	movb	%dl,%bl
533bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%esi
534bc3d5698SJohn Baldwin	movb	%dh,%cl
535bc3d5698SJohn Baldwin	shrl	$16,%eax
536bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%esi
537bc3d5698SJohn Baldwin	movb	%ah,%bl
538bc3d5698SJohn Baldwin	shrl	$16,%edx
539bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%esi
540bc3d5698SJohn Baldwin	movb	%dh,%cl
541bc3d5698SJohn Baldwin	andl	$0xff,%eax
542bc3d5698SJohn Baldwin	andl	$0xff,%edx
543bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%esi
544bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%esi
545bc3d5698SJohn Baldwin	movl	(%esp),%ecx
546bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%esi
547bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%esi
548bc3d5698SJohn Baldwin
549bc3d5698SJohn Baldwin	movl	104(%ecx),%eax
550bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
551bc3d5698SJohn Baldwin	movl	108(%ecx),%edx
552bc3d5698SJohn Baldwin	xorl	%esi,%eax
553bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
554bc3d5698SJohn Baldwin	xorl	%esi,%edx
555bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
556bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
557bc3d5698SJohn Baldwin	movb	%al,%bl
558bc3d5698SJohn Baldwin	movb	%ah,%cl
559bc3d5698SJohn Baldwin	rorl	$4,%edx
560bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%edi
561bc3d5698SJohn Baldwin	movb	%dl,%bl
562bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%edi
563bc3d5698SJohn Baldwin	movb	%dh,%cl
564bc3d5698SJohn Baldwin	shrl	$16,%eax
565bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%edi
566bc3d5698SJohn Baldwin	movb	%ah,%bl
567bc3d5698SJohn Baldwin	shrl	$16,%edx
568bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%edi
569bc3d5698SJohn Baldwin	movb	%dh,%cl
570bc3d5698SJohn Baldwin	andl	$0xff,%eax
571bc3d5698SJohn Baldwin	andl	$0xff,%edx
572bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%edi
573bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%edi
574bc3d5698SJohn Baldwin	movl	(%esp),%ecx
575bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%edi
576bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%edi
577bc3d5698SJohn Baldwin
578bc3d5698SJohn Baldwin	movl	96(%ecx),%eax
579bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
580bc3d5698SJohn Baldwin	movl	100(%ecx),%edx
581bc3d5698SJohn Baldwin	xorl	%edi,%eax
582bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
583bc3d5698SJohn Baldwin	xorl	%edi,%edx
584bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
585bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
586bc3d5698SJohn Baldwin	movb	%al,%bl
587bc3d5698SJohn Baldwin	movb	%ah,%cl
588bc3d5698SJohn Baldwin	rorl	$4,%edx
589bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%esi
590bc3d5698SJohn Baldwin	movb	%dl,%bl
591bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%esi
592bc3d5698SJohn Baldwin	movb	%dh,%cl
593bc3d5698SJohn Baldwin	shrl	$16,%eax
594bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%esi
595bc3d5698SJohn Baldwin	movb	%ah,%bl
596bc3d5698SJohn Baldwin	shrl	$16,%edx
597bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%esi
598bc3d5698SJohn Baldwin	movb	%dh,%cl
599bc3d5698SJohn Baldwin	andl	$0xff,%eax
600bc3d5698SJohn Baldwin	andl	$0xff,%edx
601bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%esi
602bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%esi
603bc3d5698SJohn Baldwin	movl	(%esp),%ecx
604bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%esi
605bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%esi
606bc3d5698SJohn Baldwin
607bc3d5698SJohn Baldwin	movl	88(%ecx),%eax
608bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
609bc3d5698SJohn Baldwin	movl	92(%ecx),%edx
610bc3d5698SJohn Baldwin	xorl	%esi,%eax
611bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
612bc3d5698SJohn Baldwin	xorl	%esi,%edx
613bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
614bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
615bc3d5698SJohn Baldwin	movb	%al,%bl
616bc3d5698SJohn Baldwin	movb	%ah,%cl
617bc3d5698SJohn Baldwin	rorl	$4,%edx
618bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%edi
619bc3d5698SJohn Baldwin	movb	%dl,%bl
620bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%edi
621bc3d5698SJohn Baldwin	movb	%dh,%cl
622bc3d5698SJohn Baldwin	shrl	$16,%eax
623bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%edi
624bc3d5698SJohn Baldwin	movb	%ah,%bl
625bc3d5698SJohn Baldwin	shrl	$16,%edx
626bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%edi
627bc3d5698SJohn Baldwin	movb	%dh,%cl
628bc3d5698SJohn Baldwin	andl	$0xff,%eax
629bc3d5698SJohn Baldwin	andl	$0xff,%edx
630bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%edi
631bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%edi
632bc3d5698SJohn Baldwin	movl	(%esp),%ecx
633bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%edi
634bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%edi
635bc3d5698SJohn Baldwin
636bc3d5698SJohn Baldwin	movl	80(%ecx),%eax
637bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
638bc3d5698SJohn Baldwin	movl	84(%ecx),%edx
639bc3d5698SJohn Baldwin	xorl	%edi,%eax
640bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
641bc3d5698SJohn Baldwin	xorl	%edi,%edx
642bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
643bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
644bc3d5698SJohn Baldwin	movb	%al,%bl
645bc3d5698SJohn Baldwin	movb	%ah,%cl
646bc3d5698SJohn Baldwin	rorl	$4,%edx
647bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%esi
648bc3d5698SJohn Baldwin	movb	%dl,%bl
649bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%esi
650bc3d5698SJohn Baldwin	movb	%dh,%cl
651bc3d5698SJohn Baldwin	shrl	$16,%eax
652bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%esi
653bc3d5698SJohn Baldwin	movb	%ah,%bl
654bc3d5698SJohn Baldwin	shrl	$16,%edx
655bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%esi
656bc3d5698SJohn Baldwin	movb	%dh,%cl
657bc3d5698SJohn Baldwin	andl	$0xff,%eax
658bc3d5698SJohn Baldwin	andl	$0xff,%edx
659bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%esi
660bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%esi
661bc3d5698SJohn Baldwin	movl	(%esp),%ecx
662bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%esi
663bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%esi
664bc3d5698SJohn Baldwin
665bc3d5698SJohn Baldwin	movl	72(%ecx),%eax
666bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
667bc3d5698SJohn Baldwin	movl	76(%ecx),%edx
668bc3d5698SJohn Baldwin	xorl	%esi,%eax
669bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
670bc3d5698SJohn Baldwin	xorl	%esi,%edx
671bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
672bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
673bc3d5698SJohn Baldwin	movb	%al,%bl
674bc3d5698SJohn Baldwin	movb	%ah,%cl
675bc3d5698SJohn Baldwin	rorl	$4,%edx
676bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%edi
677bc3d5698SJohn Baldwin	movb	%dl,%bl
678bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%edi
679bc3d5698SJohn Baldwin	movb	%dh,%cl
680bc3d5698SJohn Baldwin	shrl	$16,%eax
681bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%edi
682bc3d5698SJohn Baldwin	movb	%ah,%bl
683bc3d5698SJohn Baldwin	shrl	$16,%edx
684bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%edi
685bc3d5698SJohn Baldwin	movb	%dh,%cl
686bc3d5698SJohn Baldwin	andl	$0xff,%eax
687bc3d5698SJohn Baldwin	andl	$0xff,%edx
688bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%edi
689bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%edi
690bc3d5698SJohn Baldwin	movl	(%esp),%ecx
691bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%edi
692bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%edi
693bc3d5698SJohn Baldwin
694bc3d5698SJohn Baldwin	movl	64(%ecx),%eax
695bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
696bc3d5698SJohn Baldwin	movl	68(%ecx),%edx
697bc3d5698SJohn Baldwin	xorl	%edi,%eax
698bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
699bc3d5698SJohn Baldwin	xorl	%edi,%edx
700bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
701bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
702bc3d5698SJohn Baldwin	movb	%al,%bl
703bc3d5698SJohn Baldwin	movb	%ah,%cl
704bc3d5698SJohn Baldwin	rorl	$4,%edx
705bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%esi
706bc3d5698SJohn Baldwin	movb	%dl,%bl
707bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%esi
708bc3d5698SJohn Baldwin	movb	%dh,%cl
709bc3d5698SJohn Baldwin	shrl	$16,%eax
710bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%esi
711bc3d5698SJohn Baldwin	movb	%ah,%bl
712bc3d5698SJohn Baldwin	shrl	$16,%edx
713bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%esi
714bc3d5698SJohn Baldwin	movb	%dh,%cl
715bc3d5698SJohn Baldwin	andl	$0xff,%eax
716bc3d5698SJohn Baldwin	andl	$0xff,%edx
717bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%esi
718bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%esi
719bc3d5698SJohn Baldwin	movl	(%esp),%ecx
720bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%esi
721bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%esi
722bc3d5698SJohn Baldwin
723bc3d5698SJohn Baldwin	movl	56(%ecx),%eax
724bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
725bc3d5698SJohn Baldwin	movl	60(%ecx),%edx
726bc3d5698SJohn Baldwin	xorl	%esi,%eax
727bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
728bc3d5698SJohn Baldwin	xorl	%esi,%edx
729bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
730bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
731bc3d5698SJohn Baldwin	movb	%al,%bl
732bc3d5698SJohn Baldwin	movb	%ah,%cl
733bc3d5698SJohn Baldwin	rorl	$4,%edx
734bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%edi
735bc3d5698SJohn Baldwin	movb	%dl,%bl
736bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%edi
737bc3d5698SJohn Baldwin	movb	%dh,%cl
738bc3d5698SJohn Baldwin	shrl	$16,%eax
739bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%edi
740bc3d5698SJohn Baldwin	movb	%ah,%bl
741bc3d5698SJohn Baldwin	shrl	$16,%edx
742bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%edi
743bc3d5698SJohn Baldwin	movb	%dh,%cl
744bc3d5698SJohn Baldwin	andl	$0xff,%eax
745bc3d5698SJohn Baldwin	andl	$0xff,%edx
746bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%edi
747bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%edi
748bc3d5698SJohn Baldwin	movl	(%esp),%ecx
749bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%edi
750bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%edi
751bc3d5698SJohn Baldwin
752bc3d5698SJohn Baldwin	movl	48(%ecx),%eax
753bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
754bc3d5698SJohn Baldwin	movl	52(%ecx),%edx
755bc3d5698SJohn Baldwin	xorl	%edi,%eax
756bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
757bc3d5698SJohn Baldwin	xorl	%edi,%edx
758bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
759bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
760bc3d5698SJohn Baldwin	movb	%al,%bl
761bc3d5698SJohn Baldwin	movb	%ah,%cl
762bc3d5698SJohn Baldwin	rorl	$4,%edx
763bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%esi
764bc3d5698SJohn Baldwin	movb	%dl,%bl
765bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%esi
766bc3d5698SJohn Baldwin	movb	%dh,%cl
767bc3d5698SJohn Baldwin	shrl	$16,%eax
768bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%esi
769bc3d5698SJohn Baldwin	movb	%ah,%bl
770bc3d5698SJohn Baldwin	shrl	$16,%edx
771bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%esi
772bc3d5698SJohn Baldwin	movb	%dh,%cl
773bc3d5698SJohn Baldwin	andl	$0xff,%eax
774bc3d5698SJohn Baldwin	andl	$0xff,%edx
775bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%esi
776bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%esi
777bc3d5698SJohn Baldwin	movl	(%esp),%ecx
778bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%esi
779bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%esi
780bc3d5698SJohn Baldwin
781bc3d5698SJohn Baldwin	movl	40(%ecx),%eax
782bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
783bc3d5698SJohn Baldwin	movl	44(%ecx),%edx
784bc3d5698SJohn Baldwin	xorl	%esi,%eax
785bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
786bc3d5698SJohn Baldwin	xorl	%esi,%edx
787bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
788bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
789bc3d5698SJohn Baldwin	movb	%al,%bl
790bc3d5698SJohn Baldwin	movb	%ah,%cl
791bc3d5698SJohn Baldwin	rorl	$4,%edx
792bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%edi
793bc3d5698SJohn Baldwin	movb	%dl,%bl
794bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%edi
795bc3d5698SJohn Baldwin	movb	%dh,%cl
796bc3d5698SJohn Baldwin	shrl	$16,%eax
797bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%edi
798bc3d5698SJohn Baldwin	movb	%ah,%bl
799bc3d5698SJohn Baldwin	shrl	$16,%edx
800bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%edi
801bc3d5698SJohn Baldwin	movb	%dh,%cl
802bc3d5698SJohn Baldwin	andl	$0xff,%eax
803bc3d5698SJohn Baldwin	andl	$0xff,%edx
804bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%edi
805bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%edi
806bc3d5698SJohn Baldwin	movl	(%esp),%ecx
807bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%edi
808bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%edi
809bc3d5698SJohn Baldwin
810bc3d5698SJohn Baldwin	movl	32(%ecx),%eax
811bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
812bc3d5698SJohn Baldwin	movl	36(%ecx),%edx
813bc3d5698SJohn Baldwin	xorl	%edi,%eax
814bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
815bc3d5698SJohn Baldwin	xorl	%edi,%edx
816bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
817bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
818bc3d5698SJohn Baldwin	movb	%al,%bl
819bc3d5698SJohn Baldwin	movb	%ah,%cl
820bc3d5698SJohn Baldwin	rorl	$4,%edx
821bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%esi
822bc3d5698SJohn Baldwin	movb	%dl,%bl
823bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%esi
824bc3d5698SJohn Baldwin	movb	%dh,%cl
825bc3d5698SJohn Baldwin	shrl	$16,%eax
826bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%esi
827bc3d5698SJohn Baldwin	movb	%ah,%bl
828bc3d5698SJohn Baldwin	shrl	$16,%edx
829bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%esi
830bc3d5698SJohn Baldwin	movb	%dh,%cl
831bc3d5698SJohn Baldwin	andl	$0xff,%eax
832bc3d5698SJohn Baldwin	andl	$0xff,%edx
833bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%esi
834bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%esi
835bc3d5698SJohn Baldwin	movl	(%esp),%ecx
836bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%esi
837bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%esi
838bc3d5698SJohn Baldwin
839bc3d5698SJohn Baldwin	movl	24(%ecx),%eax
840bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
841bc3d5698SJohn Baldwin	movl	28(%ecx),%edx
842bc3d5698SJohn Baldwin	xorl	%esi,%eax
843bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
844bc3d5698SJohn Baldwin	xorl	%esi,%edx
845bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
846bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
847bc3d5698SJohn Baldwin	movb	%al,%bl
848bc3d5698SJohn Baldwin	movb	%ah,%cl
849bc3d5698SJohn Baldwin	rorl	$4,%edx
850bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%edi
851bc3d5698SJohn Baldwin	movb	%dl,%bl
852bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%edi
853bc3d5698SJohn Baldwin	movb	%dh,%cl
854bc3d5698SJohn Baldwin	shrl	$16,%eax
855bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%edi
856bc3d5698SJohn Baldwin	movb	%ah,%bl
857bc3d5698SJohn Baldwin	shrl	$16,%edx
858bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%edi
859bc3d5698SJohn Baldwin	movb	%dh,%cl
860bc3d5698SJohn Baldwin	andl	$0xff,%eax
861bc3d5698SJohn Baldwin	andl	$0xff,%edx
862bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%edi
863bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%edi
864bc3d5698SJohn Baldwin	movl	(%esp),%ecx
865bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%edi
866bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%edi
867bc3d5698SJohn Baldwin
868bc3d5698SJohn Baldwin	movl	16(%ecx),%eax
869bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
870bc3d5698SJohn Baldwin	movl	20(%ecx),%edx
871bc3d5698SJohn Baldwin	xorl	%edi,%eax
872bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
873bc3d5698SJohn Baldwin	xorl	%edi,%edx
874bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
875bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
876bc3d5698SJohn Baldwin	movb	%al,%bl
877bc3d5698SJohn Baldwin	movb	%ah,%cl
878bc3d5698SJohn Baldwin	rorl	$4,%edx
879bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%esi
880bc3d5698SJohn Baldwin	movb	%dl,%bl
881bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%esi
882bc3d5698SJohn Baldwin	movb	%dh,%cl
883bc3d5698SJohn Baldwin	shrl	$16,%eax
884bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%esi
885bc3d5698SJohn Baldwin	movb	%ah,%bl
886bc3d5698SJohn Baldwin	shrl	$16,%edx
887bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%esi
888bc3d5698SJohn Baldwin	movb	%dh,%cl
889bc3d5698SJohn Baldwin	andl	$0xff,%eax
890bc3d5698SJohn Baldwin	andl	$0xff,%edx
891bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%esi
892bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%esi
893bc3d5698SJohn Baldwin	movl	(%esp),%ecx
894bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%esi
895bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%esi
896bc3d5698SJohn Baldwin
897bc3d5698SJohn Baldwin	movl	8(%ecx),%eax
898bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
899bc3d5698SJohn Baldwin	movl	12(%ecx),%edx
900bc3d5698SJohn Baldwin	xorl	%esi,%eax
901bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
902bc3d5698SJohn Baldwin	xorl	%esi,%edx
903bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
904bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
905bc3d5698SJohn Baldwin	movb	%al,%bl
906bc3d5698SJohn Baldwin	movb	%ah,%cl
907bc3d5698SJohn Baldwin	rorl	$4,%edx
908bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%edi
909bc3d5698SJohn Baldwin	movb	%dl,%bl
910bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%edi
911bc3d5698SJohn Baldwin	movb	%dh,%cl
912bc3d5698SJohn Baldwin	shrl	$16,%eax
913bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%edi
914bc3d5698SJohn Baldwin	movb	%ah,%bl
915bc3d5698SJohn Baldwin	shrl	$16,%edx
916bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%edi
917bc3d5698SJohn Baldwin	movb	%dh,%cl
918bc3d5698SJohn Baldwin	andl	$0xff,%eax
919bc3d5698SJohn Baldwin	andl	$0xff,%edx
920bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%edi
921bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%edi
922bc3d5698SJohn Baldwin	movl	(%esp),%ecx
923bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%edi
924bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%edi
925bc3d5698SJohn Baldwin
926bc3d5698SJohn Baldwin	movl	(%ecx),%eax
927bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
928bc3d5698SJohn Baldwin	movl	4(%ecx),%edx
929bc3d5698SJohn Baldwin	xorl	%edi,%eax
930bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
931bc3d5698SJohn Baldwin	xorl	%edi,%edx
932bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
933bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
934bc3d5698SJohn Baldwin	movb	%al,%bl
935bc3d5698SJohn Baldwin	movb	%ah,%cl
936bc3d5698SJohn Baldwin	rorl	$4,%edx
937bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%esi
938bc3d5698SJohn Baldwin	movb	%dl,%bl
939bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%esi
940bc3d5698SJohn Baldwin	movb	%dh,%cl
941bc3d5698SJohn Baldwin	shrl	$16,%eax
942bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%esi
943bc3d5698SJohn Baldwin	movb	%ah,%bl
944bc3d5698SJohn Baldwin	shrl	$16,%edx
945bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%esi
946bc3d5698SJohn Baldwin	movb	%dh,%cl
947bc3d5698SJohn Baldwin	andl	$0xff,%eax
948bc3d5698SJohn Baldwin	andl	$0xff,%edx
949bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%esi
950bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%esi
951bc3d5698SJohn Baldwin	movl	(%esp),%ecx
952bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%esi
953bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%esi
954bc3d5698SJohn Baldwin	addl	$4,%esp
955bc3d5698SJohn Baldwin	ret
956bc3d5698SJohn Baldwin.size	_x86_DES_decrypt,.-_x86_DES_decrypt
957bc3d5698SJohn Baldwin.globl	DES_encrypt1
958bc3d5698SJohn Baldwin.type	DES_encrypt1,@function
959bc3d5698SJohn Baldwin.align	16
960bc3d5698SJohn BaldwinDES_encrypt1:
961bc3d5698SJohn Baldwin.L_DES_encrypt1_begin:
962*c0855eaaSJohn Baldwin	#ifdef __CET__
963*c0855eaaSJohn Baldwin
964*c0855eaaSJohn Baldwin.byte	243,15,30,251
965*c0855eaaSJohn Baldwin	#endif
966*c0855eaaSJohn Baldwin
967bc3d5698SJohn Baldwin	pushl	%esi
968bc3d5698SJohn Baldwin	pushl	%edi
969bc3d5698SJohn Baldwin
970bc3d5698SJohn Baldwin
971bc3d5698SJohn Baldwin	movl	12(%esp),%esi
972bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
973bc3d5698SJohn Baldwin	pushl	%ebx
974bc3d5698SJohn Baldwin	pushl	%ebp
975bc3d5698SJohn Baldwin	movl	(%esi),%eax
976bc3d5698SJohn Baldwin	movl	28(%esp),%ebx
977bc3d5698SJohn Baldwin	movl	4(%esi),%edi
978bc3d5698SJohn Baldwin
979bc3d5698SJohn Baldwin
980bc3d5698SJohn Baldwin	roll	$4,%eax
981bc3d5698SJohn Baldwin	movl	%eax,%esi
982bc3d5698SJohn Baldwin	xorl	%edi,%eax
983bc3d5698SJohn Baldwin	andl	$0xf0f0f0f0,%eax
984bc3d5698SJohn Baldwin	xorl	%eax,%esi
985bc3d5698SJohn Baldwin	xorl	%eax,%edi
986bc3d5698SJohn Baldwin
987bc3d5698SJohn Baldwin	roll	$20,%edi
988bc3d5698SJohn Baldwin	movl	%edi,%eax
989bc3d5698SJohn Baldwin	xorl	%esi,%edi
990bc3d5698SJohn Baldwin	andl	$0xfff0000f,%edi
991bc3d5698SJohn Baldwin	xorl	%edi,%eax
992bc3d5698SJohn Baldwin	xorl	%edi,%esi
993bc3d5698SJohn Baldwin
994bc3d5698SJohn Baldwin	roll	$14,%eax
995bc3d5698SJohn Baldwin	movl	%eax,%edi
996bc3d5698SJohn Baldwin	xorl	%esi,%eax
997bc3d5698SJohn Baldwin	andl	$0x33333333,%eax
998bc3d5698SJohn Baldwin	xorl	%eax,%edi
999bc3d5698SJohn Baldwin	xorl	%eax,%esi
1000bc3d5698SJohn Baldwin
1001bc3d5698SJohn Baldwin	roll	$22,%esi
1002bc3d5698SJohn Baldwin	movl	%esi,%eax
1003bc3d5698SJohn Baldwin	xorl	%edi,%esi
1004bc3d5698SJohn Baldwin	andl	$0x03fc03fc,%esi
1005bc3d5698SJohn Baldwin	xorl	%esi,%eax
1006bc3d5698SJohn Baldwin	xorl	%esi,%edi
1007bc3d5698SJohn Baldwin
1008bc3d5698SJohn Baldwin	roll	$9,%eax
1009bc3d5698SJohn Baldwin	movl	%eax,%esi
1010bc3d5698SJohn Baldwin	xorl	%edi,%eax
1011bc3d5698SJohn Baldwin	andl	$0xaaaaaaaa,%eax
1012bc3d5698SJohn Baldwin	xorl	%eax,%esi
1013bc3d5698SJohn Baldwin	xorl	%eax,%edi
1014bc3d5698SJohn Baldwin
1015bc3d5698SJohn Baldwin	roll	$1,%edi
1016bc3d5698SJohn Baldwin	call	.L000pic_point
1017bc3d5698SJohn Baldwin.L000pic_point:
1018bc3d5698SJohn Baldwin	popl	%ebp
1019bc3d5698SJohn Baldwin	leal	.Ldes_sptrans-.L000pic_point(%ebp),%ebp
1020bc3d5698SJohn Baldwin	movl	24(%esp),%ecx
1021bc3d5698SJohn Baldwin	cmpl	$0,%ebx
1022bc3d5698SJohn Baldwin	je	.L001decrypt
1023bc3d5698SJohn Baldwin	call	_x86_DES_encrypt
1024bc3d5698SJohn Baldwin	jmp	.L002done
1025bc3d5698SJohn Baldwin.L001decrypt:
1026bc3d5698SJohn Baldwin	call	_x86_DES_decrypt
1027bc3d5698SJohn Baldwin.L002done:
1028bc3d5698SJohn Baldwin
1029bc3d5698SJohn Baldwin
1030bc3d5698SJohn Baldwin	movl	20(%esp),%edx
1031bc3d5698SJohn Baldwin	rorl	$1,%esi
1032bc3d5698SJohn Baldwin	movl	%edi,%eax
1033bc3d5698SJohn Baldwin	xorl	%esi,%edi
1034bc3d5698SJohn Baldwin	andl	$0xaaaaaaaa,%edi
1035bc3d5698SJohn Baldwin	xorl	%edi,%eax
1036bc3d5698SJohn Baldwin	xorl	%edi,%esi
1037bc3d5698SJohn Baldwin
1038bc3d5698SJohn Baldwin	roll	$23,%eax
1039bc3d5698SJohn Baldwin	movl	%eax,%edi
1040bc3d5698SJohn Baldwin	xorl	%esi,%eax
1041bc3d5698SJohn Baldwin	andl	$0x03fc03fc,%eax
1042bc3d5698SJohn Baldwin	xorl	%eax,%edi
1043bc3d5698SJohn Baldwin	xorl	%eax,%esi
1044bc3d5698SJohn Baldwin
1045bc3d5698SJohn Baldwin	roll	$10,%edi
1046bc3d5698SJohn Baldwin	movl	%edi,%eax
1047bc3d5698SJohn Baldwin	xorl	%esi,%edi
1048bc3d5698SJohn Baldwin	andl	$0x33333333,%edi
1049bc3d5698SJohn Baldwin	xorl	%edi,%eax
1050bc3d5698SJohn Baldwin	xorl	%edi,%esi
1051bc3d5698SJohn Baldwin
1052bc3d5698SJohn Baldwin	roll	$18,%esi
1053bc3d5698SJohn Baldwin	movl	%esi,%edi
1054bc3d5698SJohn Baldwin	xorl	%eax,%esi
1055bc3d5698SJohn Baldwin	andl	$0xfff0000f,%esi
1056bc3d5698SJohn Baldwin	xorl	%esi,%edi
1057bc3d5698SJohn Baldwin	xorl	%esi,%eax
1058bc3d5698SJohn Baldwin
1059bc3d5698SJohn Baldwin	roll	$12,%edi
1060bc3d5698SJohn Baldwin	movl	%edi,%esi
1061bc3d5698SJohn Baldwin	xorl	%eax,%edi
1062bc3d5698SJohn Baldwin	andl	$0xf0f0f0f0,%edi
1063bc3d5698SJohn Baldwin	xorl	%edi,%esi
1064bc3d5698SJohn Baldwin	xorl	%edi,%eax
1065bc3d5698SJohn Baldwin
1066bc3d5698SJohn Baldwin	rorl	$4,%eax
1067bc3d5698SJohn Baldwin	movl	%eax,(%edx)
1068bc3d5698SJohn Baldwin	movl	%esi,4(%edx)
1069bc3d5698SJohn Baldwin	popl	%ebp
1070bc3d5698SJohn Baldwin	popl	%ebx
1071bc3d5698SJohn Baldwin	popl	%edi
1072bc3d5698SJohn Baldwin	popl	%esi
1073bc3d5698SJohn Baldwin	ret
1074bc3d5698SJohn Baldwin.size	DES_encrypt1,.-.L_DES_encrypt1_begin
1075bc3d5698SJohn Baldwin.globl	DES_encrypt2
1076bc3d5698SJohn Baldwin.type	DES_encrypt2,@function
1077bc3d5698SJohn Baldwin.align	16
1078bc3d5698SJohn BaldwinDES_encrypt2:
1079bc3d5698SJohn Baldwin.L_DES_encrypt2_begin:
1080*c0855eaaSJohn Baldwin	#ifdef __CET__
1081*c0855eaaSJohn Baldwin
1082*c0855eaaSJohn Baldwin.byte	243,15,30,251
1083*c0855eaaSJohn Baldwin	#endif
1084*c0855eaaSJohn Baldwin
1085bc3d5698SJohn Baldwin	pushl	%esi
1086bc3d5698SJohn Baldwin	pushl	%edi
1087bc3d5698SJohn Baldwin
1088bc3d5698SJohn Baldwin
1089bc3d5698SJohn Baldwin	movl	12(%esp),%eax
1090bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
1091bc3d5698SJohn Baldwin	pushl	%ebx
1092bc3d5698SJohn Baldwin	pushl	%ebp
1093bc3d5698SJohn Baldwin	movl	(%eax),%esi
1094bc3d5698SJohn Baldwin	movl	28(%esp),%ebx
1095bc3d5698SJohn Baldwin	roll	$3,%esi
1096bc3d5698SJohn Baldwin	movl	4(%eax),%edi
1097bc3d5698SJohn Baldwin	roll	$3,%edi
1098bc3d5698SJohn Baldwin	call	.L003pic_point
1099bc3d5698SJohn Baldwin.L003pic_point:
1100bc3d5698SJohn Baldwin	popl	%ebp
1101bc3d5698SJohn Baldwin	leal	.Ldes_sptrans-.L003pic_point(%ebp),%ebp
1102bc3d5698SJohn Baldwin	movl	24(%esp),%ecx
1103bc3d5698SJohn Baldwin	cmpl	$0,%ebx
1104bc3d5698SJohn Baldwin	je	.L004decrypt
1105bc3d5698SJohn Baldwin	call	_x86_DES_encrypt
1106bc3d5698SJohn Baldwin	jmp	.L005done
1107bc3d5698SJohn Baldwin.L004decrypt:
1108bc3d5698SJohn Baldwin	call	_x86_DES_decrypt
1109bc3d5698SJohn Baldwin.L005done:
1110bc3d5698SJohn Baldwin
1111bc3d5698SJohn Baldwin
1112bc3d5698SJohn Baldwin	rorl	$3,%edi
1113bc3d5698SJohn Baldwin	movl	20(%esp),%eax
1114bc3d5698SJohn Baldwin	rorl	$3,%esi
1115bc3d5698SJohn Baldwin	movl	%edi,(%eax)
1116bc3d5698SJohn Baldwin	movl	%esi,4(%eax)
1117bc3d5698SJohn Baldwin	popl	%ebp
1118bc3d5698SJohn Baldwin	popl	%ebx
1119bc3d5698SJohn Baldwin	popl	%edi
1120bc3d5698SJohn Baldwin	popl	%esi
1121bc3d5698SJohn Baldwin	ret
1122bc3d5698SJohn Baldwin.size	DES_encrypt2,.-.L_DES_encrypt2_begin
1123bc3d5698SJohn Baldwin.globl	DES_encrypt3
1124bc3d5698SJohn Baldwin.type	DES_encrypt3,@function
1125bc3d5698SJohn Baldwin.align	16
1126bc3d5698SJohn BaldwinDES_encrypt3:
1127bc3d5698SJohn Baldwin.L_DES_encrypt3_begin:
1128*c0855eaaSJohn Baldwin	#ifdef __CET__
1129*c0855eaaSJohn Baldwin
1130*c0855eaaSJohn Baldwin.byte	243,15,30,251
1131*c0855eaaSJohn Baldwin	#endif
1132*c0855eaaSJohn Baldwin
1133bc3d5698SJohn Baldwin	pushl	%ebx
1134bc3d5698SJohn Baldwin	movl	8(%esp),%ebx
1135bc3d5698SJohn Baldwin	pushl	%ebp
1136bc3d5698SJohn Baldwin	pushl	%esi
1137bc3d5698SJohn Baldwin	pushl	%edi
1138bc3d5698SJohn Baldwin
1139bc3d5698SJohn Baldwin
1140bc3d5698SJohn Baldwin	movl	(%ebx),%edi
1141bc3d5698SJohn Baldwin	movl	4(%ebx),%esi
1142bc3d5698SJohn Baldwin	subl	$12,%esp
1143bc3d5698SJohn Baldwin
1144bc3d5698SJohn Baldwin
1145bc3d5698SJohn Baldwin	roll	$4,%edi
1146bc3d5698SJohn Baldwin	movl	%edi,%edx
1147bc3d5698SJohn Baldwin	xorl	%esi,%edi
1148bc3d5698SJohn Baldwin	andl	$0xf0f0f0f0,%edi
1149bc3d5698SJohn Baldwin	xorl	%edi,%edx
1150bc3d5698SJohn Baldwin	xorl	%edi,%esi
1151bc3d5698SJohn Baldwin
1152bc3d5698SJohn Baldwin	roll	$20,%esi
1153bc3d5698SJohn Baldwin	movl	%esi,%edi
1154bc3d5698SJohn Baldwin	xorl	%edx,%esi
1155bc3d5698SJohn Baldwin	andl	$0xfff0000f,%esi
1156bc3d5698SJohn Baldwin	xorl	%esi,%edi
1157bc3d5698SJohn Baldwin	xorl	%esi,%edx
1158bc3d5698SJohn Baldwin
1159bc3d5698SJohn Baldwin	roll	$14,%edi
1160bc3d5698SJohn Baldwin	movl	%edi,%esi
1161bc3d5698SJohn Baldwin	xorl	%edx,%edi
1162bc3d5698SJohn Baldwin	andl	$0x33333333,%edi
1163bc3d5698SJohn Baldwin	xorl	%edi,%esi
1164bc3d5698SJohn Baldwin	xorl	%edi,%edx
1165bc3d5698SJohn Baldwin
1166bc3d5698SJohn Baldwin	roll	$22,%edx
1167bc3d5698SJohn Baldwin	movl	%edx,%edi
1168bc3d5698SJohn Baldwin	xorl	%esi,%edx
1169bc3d5698SJohn Baldwin	andl	$0x03fc03fc,%edx
1170bc3d5698SJohn Baldwin	xorl	%edx,%edi
1171bc3d5698SJohn Baldwin	xorl	%edx,%esi
1172bc3d5698SJohn Baldwin
1173bc3d5698SJohn Baldwin	roll	$9,%edi
1174bc3d5698SJohn Baldwin	movl	%edi,%edx
1175bc3d5698SJohn Baldwin	xorl	%esi,%edi
1176bc3d5698SJohn Baldwin	andl	$0xaaaaaaaa,%edi
1177bc3d5698SJohn Baldwin	xorl	%edi,%edx
1178bc3d5698SJohn Baldwin	xorl	%edi,%esi
1179bc3d5698SJohn Baldwin
1180bc3d5698SJohn Baldwin	rorl	$3,%edx
1181bc3d5698SJohn Baldwin	rorl	$2,%esi
1182bc3d5698SJohn Baldwin	movl	%esi,4(%ebx)
1183bc3d5698SJohn Baldwin	movl	36(%esp),%eax
1184bc3d5698SJohn Baldwin	movl	%edx,(%ebx)
1185bc3d5698SJohn Baldwin	movl	40(%esp),%edi
1186bc3d5698SJohn Baldwin	movl	44(%esp),%esi
1187bc3d5698SJohn Baldwin	movl	$1,8(%esp)
1188bc3d5698SJohn Baldwin	movl	%eax,4(%esp)
1189bc3d5698SJohn Baldwin	movl	%ebx,(%esp)
1190bc3d5698SJohn Baldwin	call	.L_DES_encrypt2_begin
1191bc3d5698SJohn Baldwin	movl	$0,8(%esp)
1192bc3d5698SJohn Baldwin	movl	%edi,4(%esp)
1193bc3d5698SJohn Baldwin	movl	%ebx,(%esp)
1194bc3d5698SJohn Baldwin	call	.L_DES_encrypt2_begin
1195bc3d5698SJohn Baldwin	movl	$1,8(%esp)
1196bc3d5698SJohn Baldwin	movl	%esi,4(%esp)
1197bc3d5698SJohn Baldwin	movl	%ebx,(%esp)
1198bc3d5698SJohn Baldwin	call	.L_DES_encrypt2_begin
1199bc3d5698SJohn Baldwin	addl	$12,%esp
1200bc3d5698SJohn Baldwin	movl	(%ebx),%edi
1201bc3d5698SJohn Baldwin	movl	4(%ebx),%esi
1202bc3d5698SJohn Baldwin
1203bc3d5698SJohn Baldwin
1204bc3d5698SJohn Baldwin	roll	$2,%esi
1205bc3d5698SJohn Baldwin	roll	$3,%edi
1206bc3d5698SJohn Baldwin	movl	%edi,%eax
1207bc3d5698SJohn Baldwin	xorl	%esi,%edi
1208bc3d5698SJohn Baldwin	andl	$0xaaaaaaaa,%edi
1209bc3d5698SJohn Baldwin	xorl	%edi,%eax
1210bc3d5698SJohn Baldwin	xorl	%edi,%esi
1211bc3d5698SJohn Baldwin
1212bc3d5698SJohn Baldwin	roll	$23,%eax
1213bc3d5698SJohn Baldwin	movl	%eax,%edi
1214bc3d5698SJohn Baldwin	xorl	%esi,%eax
1215bc3d5698SJohn Baldwin	andl	$0x03fc03fc,%eax
1216bc3d5698SJohn Baldwin	xorl	%eax,%edi
1217bc3d5698SJohn Baldwin	xorl	%eax,%esi
1218bc3d5698SJohn Baldwin
1219bc3d5698SJohn Baldwin	roll	$10,%edi
1220bc3d5698SJohn Baldwin	movl	%edi,%eax
1221bc3d5698SJohn Baldwin	xorl	%esi,%edi
1222bc3d5698SJohn Baldwin	andl	$0x33333333,%edi
1223bc3d5698SJohn Baldwin	xorl	%edi,%eax
1224bc3d5698SJohn Baldwin	xorl	%edi,%esi
1225bc3d5698SJohn Baldwin
1226bc3d5698SJohn Baldwin	roll	$18,%esi
1227bc3d5698SJohn Baldwin	movl	%esi,%edi
1228bc3d5698SJohn Baldwin	xorl	%eax,%esi
1229bc3d5698SJohn Baldwin	andl	$0xfff0000f,%esi
1230bc3d5698SJohn Baldwin	xorl	%esi,%edi
1231bc3d5698SJohn Baldwin	xorl	%esi,%eax
1232bc3d5698SJohn Baldwin
1233bc3d5698SJohn Baldwin	roll	$12,%edi
1234bc3d5698SJohn Baldwin	movl	%edi,%esi
1235bc3d5698SJohn Baldwin	xorl	%eax,%edi
1236bc3d5698SJohn Baldwin	andl	$0xf0f0f0f0,%edi
1237bc3d5698SJohn Baldwin	xorl	%edi,%esi
1238bc3d5698SJohn Baldwin	xorl	%edi,%eax
1239bc3d5698SJohn Baldwin
1240bc3d5698SJohn Baldwin	rorl	$4,%eax
1241bc3d5698SJohn Baldwin	movl	%eax,(%ebx)
1242bc3d5698SJohn Baldwin	movl	%esi,4(%ebx)
1243bc3d5698SJohn Baldwin	popl	%edi
1244bc3d5698SJohn Baldwin	popl	%esi
1245bc3d5698SJohn Baldwin	popl	%ebp
1246bc3d5698SJohn Baldwin	popl	%ebx
1247bc3d5698SJohn Baldwin	ret
1248bc3d5698SJohn Baldwin.size	DES_encrypt3,.-.L_DES_encrypt3_begin
1249bc3d5698SJohn Baldwin.globl	DES_decrypt3
1250bc3d5698SJohn Baldwin.type	DES_decrypt3,@function
1251bc3d5698SJohn Baldwin.align	16
1252bc3d5698SJohn BaldwinDES_decrypt3:
1253bc3d5698SJohn Baldwin.L_DES_decrypt3_begin:
1254*c0855eaaSJohn Baldwin	#ifdef __CET__
1255*c0855eaaSJohn Baldwin
1256*c0855eaaSJohn Baldwin.byte	243,15,30,251
1257*c0855eaaSJohn Baldwin	#endif
1258*c0855eaaSJohn Baldwin
1259bc3d5698SJohn Baldwin	pushl	%ebx
1260bc3d5698SJohn Baldwin	movl	8(%esp),%ebx
1261bc3d5698SJohn Baldwin	pushl	%ebp
1262bc3d5698SJohn Baldwin	pushl	%esi
1263bc3d5698SJohn Baldwin	pushl	%edi
1264bc3d5698SJohn Baldwin
1265bc3d5698SJohn Baldwin
1266bc3d5698SJohn Baldwin	movl	(%ebx),%edi
1267bc3d5698SJohn Baldwin	movl	4(%ebx),%esi
1268bc3d5698SJohn Baldwin	subl	$12,%esp
1269bc3d5698SJohn Baldwin
1270bc3d5698SJohn Baldwin
1271bc3d5698SJohn Baldwin	roll	$4,%edi
1272bc3d5698SJohn Baldwin	movl	%edi,%edx
1273bc3d5698SJohn Baldwin	xorl	%esi,%edi
1274bc3d5698SJohn Baldwin	andl	$0xf0f0f0f0,%edi
1275bc3d5698SJohn Baldwin	xorl	%edi,%edx
1276bc3d5698SJohn Baldwin	xorl	%edi,%esi
1277bc3d5698SJohn Baldwin
1278bc3d5698SJohn Baldwin	roll	$20,%esi
1279bc3d5698SJohn Baldwin	movl	%esi,%edi
1280bc3d5698SJohn Baldwin	xorl	%edx,%esi
1281bc3d5698SJohn Baldwin	andl	$0xfff0000f,%esi
1282bc3d5698SJohn Baldwin	xorl	%esi,%edi
1283bc3d5698SJohn Baldwin	xorl	%esi,%edx
1284bc3d5698SJohn Baldwin
1285bc3d5698SJohn Baldwin	roll	$14,%edi
1286bc3d5698SJohn Baldwin	movl	%edi,%esi
1287bc3d5698SJohn Baldwin	xorl	%edx,%edi
1288bc3d5698SJohn Baldwin	andl	$0x33333333,%edi
1289bc3d5698SJohn Baldwin	xorl	%edi,%esi
1290bc3d5698SJohn Baldwin	xorl	%edi,%edx
1291bc3d5698SJohn Baldwin
1292bc3d5698SJohn Baldwin	roll	$22,%edx
1293bc3d5698SJohn Baldwin	movl	%edx,%edi
1294bc3d5698SJohn Baldwin	xorl	%esi,%edx
1295bc3d5698SJohn Baldwin	andl	$0x03fc03fc,%edx
1296bc3d5698SJohn Baldwin	xorl	%edx,%edi
1297bc3d5698SJohn Baldwin	xorl	%edx,%esi
1298bc3d5698SJohn Baldwin
1299bc3d5698SJohn Baldwin	roll	$9,%edi
1300bc3d5698SJohn Baldwin	movl	%edi,%edx
1301bc3d5698SJohn Baldwin	xorl	%esi,%edi
1302bc3d5698SJohn Baldwin	andl	$0xaaaaaaaa,%edi
1303bc3d5698SJohn Baldwin	xorl	%edi,%edx
1304bc3d5698SJohn Baldwin	xorl	%edi,%esi
1305bc3d5698SJohn Baldwin
1306bc3d5698SJohn Baldwin	rorl	$3,%edx
1307bc3d5698SJohn Baldwin	rorl	$2,%esi
1308bc3d5698SJohn Baldwin	movl	%esi,4(%ebx)
1309bc3d5698SJohn Baldwin	movl	36(%esp),%esi
1310bc3d5698SJohn Baldwin	movl	%edx,(%ebx)
1311bc3d5698SJohn Baldwin	movl	40(%esp),%edi
1312bc3d5698SJohn Baldwin	movl	44(%esp),%eax
1313bc3d5698SJohn Baldwin	movl	$0,8(%esp)
1314bc3d5698SJohn Baldwin	movl	%eax,4(%esp)
1315bc3d5698SJohn Baldwin	movl	%ebx,(%esp)
1316bc3d5698SJohn Baldwin	call	.L_DES_encrypt2_begin
1317bc3d5698SJohn Baldwin	movl	$1,8(%esp)
1318bc3d5698SJohn Baldwin	movl	%edi,4(%esp)
1319bc3d5698SJohn Baldwin	movl	%ebx,(%esp)
1320bc3d5698SJohn Baldwin	call	.L_DES_encrypt2_begin
1321bc3d5698SJohn Baldwin	movl	$0,8(%esp)
1322bc3d5698SJohn Baldwin	movl	%esi,4(%esp)
1323bc3d5698SJohn Baldwin	movl	%ebx,(%esp)
1324bc3d5698SJohn Baldwin	call	.L_DES_encrypt2_begin
1325bc3d5698SJohn Baldwin	addl	$12,%esp
1326bc3d5698SJohn Baldwin	movl	(%ebx),%edi
1327bc3d5698SJohn Baldwin	movl	4(%ebx),%esi
1328bc3d5698SJohn Baldwin
1329bc3d5698SJohn Baldwin
1330bc3d5698SJohn Baldwin	roll	$2,%esi
1331bc3d5698SJohn Baldwin	roll	$3,%edi
1332bc3d5698SJohn Baldwin	movl	%edi,%eax
1333bc3d5698SJohn Baldwin	xorl	%esi,%edi
1334bc3d5698SJohn Baldwin	andl	$0xaaaaaaaa,%edi
1335bc3d5698SJohn Baldwin	xorl	%edi,%eax
1336bc3d5698SJohn Baldwin	xorl	%edi,%esi
1337bc3d5698SJohn Baldwin
1338bc3d5698SJohn Baldwin	roll	$23,%eax
1339bc3d5698SJohn Baldwin	movl	%eax,%edi
1340bc3d5698SJohn Baldwin	xorl	%esi,%eax
1341bc3d5698SJohn Baldwin	andl	$0x03fc03fc,%eax
1342bc3d5698SJohn Baldwin	xorl	%eax,%edi
1343bc3d5698SJohn Baldwin	xorl	%eax,%esi
1344bc3d5698SJohn Baldwin
1345bc3d5698SJohn Baldwin	roll	$10,%edi
1346bc3d5698SJohn Baldwin	movl	%edi,%eax
1347bc3d5698SJohn Baldwin	xorl	%esi,%edi
1348bc3d5698SJohn Baldwin	andl	$0x33333333,%edi
1349bc3d5698SJohn Baldwin	xorl	%edi,%eax
1350bc3d5698SJohn Baldwin	xorl	%edi,%esi
1351bc3d5698SJohn Baldwin
1352bc3d5698SJohn Baldwin	roll	$18,%esi
1353bc3d5698SJohn Baldwin	movl	%esi,%edi
1354bc3d5698SJohn Baldwin	xorl	%eax,%esi
1355bc3d5698SJohn Baldwin	andl	$0xfff0000f,%esi
1356bc3d5698SJohn Baldwin	xorl	%esi,%edi
1357bc3d5698SJohn Baldwin	xorl	%esi,%eax
1358bc3d5698SJohn Baldwin
1359bc3d5698SJohn Baldwin	roll	$12,%edi
1360bc3d5698SJohn Baldwin	movl	%edi,%esi
1361bc3d5698SJohn Baldwin	xorl	%eax,%edi
1362bc3d5698SJohn Baldwin	andl	$0xf0f0f0f0,%edi
1363bc3d5698SJohn Baldwin	xorl	%edi,%esi
1364bc3d5698SJohn Baldwin	xorl	%edi,%eax
1365bc3d5698SJohn Baldwin
1366bc3d5698SJohn Baldwin	rorl	$4,%eax
1367bc3d5698SJohn Baldwin	movl	%eax,(%ebx)
1368bc3d5698SJohn Baldwin	movl	%esi,4(%ebx)
1369bc3d5698SJohn Baldwin	popl	%edi
1370bc3d5698SJohn Baldwin	popl	%esi
1371bc3d5698SJohn Baldwin	popl	%ebp
1372bc3d5698SJohn Baldwin	popl	%ebx
1373bc3d5698SJohn Baldwin	ret
1374bc3d5698SJohn Baldwin.size	DES_decrypt3,.-.L_DES_decrypt3_begin
1375bc3d5698SJohn Baldwin.globl	DES_ncbc_encrypt
1376bc3d5698SJohn Baldwin.type	DES_ncbc_encrypt,@function
1377bc3d5698SJohn Baldwin.align	16
1378bc3d5698SJohn BaldwinDES_ncbc_encrypt:
1379bc3d5698SJohn Baldwin.L_DES_ncbc_encrypt_begin:
1380*c0855eaaSJohn Baldwin	#ifdef __CET__
1381*c0855eaaSJohn Baldwin
1382*c0855eaaSJohn Baldwin.byte	243,15,30,251
1383*c0855eaaSJohn Baldwin	#endif
1384*c0855eaaSJohn Baldwin
1385bc3d5698SJohn Baldwin
1386bc3d5698SJohn Baldwin	pushl	%ebp
1387bc3d5698SJohn Baldwin	pushl	%ebx
1388bc3d5698SJohn Baldwin	pushl	%esi
1389bc3d5698SJohn Baldwin	pushl	%edi
1390bc3d5698SJohn Baldwin	movl	28(%esp),%ebp
1391bc3d5698SJohn Baldwin
1392bc3d5698SJohn Baldwin	movl	36(%esp),%ebx
1393bc3d5698SJohn Baldwin	movl	(%ebx),%esi
1394bc3d5698SJohn Baldwin	movl	4(%ebx),%edi
1395bc3d5698SJohn Baldwin	pushl	%edi
1396bc3d5698SJohn Baldwin	pushl	%esi
1397bc3d5698SJohn Baldwin	pushl	%edi
1398bc3d5698SJohn Baldwin	pushl	%esi
1399bc3d5698SJohn Baldwin	movl	%esp,%ebx
1400bc3d5698SJohn Baldwin	movl	36(%esp),%esi
1401bc3d5698SJohn Baldwin	movl	40(%esp),%edi
1402bc3d5698SJohn Baldwin
1403bc3d5698SJohn Baldwin	movl	56(%esp),%ecx
1404bc3d5698SJohn Baldwin
1405bc3d5698SJohn Baldwin	pushl	%ecx
1406bc3d5698SJohn Baldwin
1407bc3d5698SJohn Baldwin	movl	52(%esp),%eax
1408bc3d5698SJohn Baldwin	pushl	%eax
1409bc3d5698SJohn Baldwin	pushl	%ebx
1410bc3d5698SJohn Baldwin	cmpl	$0,%ecx
1411bc3d5698SJohn Baldwin	jz	.L006decrypt
1412bc3d5698SJohn Baldwin	andl	$4294967288,%ebp
1413bc3d5698SJohn Baldwin	movl	12(%esp),%eax
1414bc3d5698SJohn Baldwin	movl	16(%esp),%ebx
1415bc3d5698SJohn Baldwin	jz	.L007encrypt_finish
1416bc3d5698SJohn Baldwin.L008encrypt_loop:
1417bc3d5698SJohn Baldwin	movl	(%esi),%ecx
1418bc3d5698SJohn Baldwin	movl	4(%esi),%edx
1419bc3d5698SJohn Baldwin	xorl	%ecx,%eax
1420bc3d5698SJohn Baldwin	xorl	%edx,%ebx
1421bc3d5698SJohn Baldwin	movl	%eax,12(%esp)
1422bc3d5698SJohn Baldwin	movl	%ebx,16(%esp)
1423bc3d5698SJohn Baldwin	call	.L_DES_encrypt1_begin
1424bc3d5698SJohn Baldwin	movl	12(%esp),%eax
1425bc3d5698SJohn Baldwin	movl	16(%esp),%ebx
1426bc3d5698SJohn Baldwin	movl	%eax,(%edi)
1427bc3d5698SJohn Baldwin	movl	%ebx,4(%edi)
1428bc3d5698SJohn Baldwin	addl	$8,%esi
1429bc3d5698SJohn Baldwin	addl	$8,%edi
1430bc3d5698SJohn Baldwin	subl	$8,%ebp
1431bc3d5698SJohn Baldwin	jnz	.L008encrypt_loop
1432bc3d5698SJohn Baldwin.L007encrypt_finish:
1433bc3d5698SJohn Baldwin	movl	56(%esp),%ebp
1434bc3d5698SJohn Baldwin	andl	$7,%ebp
1435bc3d5698SJohn Baldwin	jz	.L009finish
1436bc3d5698SJohn Baldwin	call	.L010PIC_point
1437bc3d5698SJohn Baldwin.L010PIC_point:
1438bc3d5698SJohn Baldwin	popl	%edx
1439bc3d5698SJohn Baldwin	leal	.L011cbc_enc_jmp_table-.L010PIC_point(%edx),%ecx
1440bc3d5698SJohn Baldwin	movl	(%ecx,%ebp,4),%ebp
1441bc3d5698SJohn Baldwin	addl	%edx,%ebp
1442bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
1443bc3d5698SJohn Baldwin	xorl	%edx,%edx
1444bc3d5698SJohn Baldwin	jmp	*%ebp
1445bc3d5698SJohn Baldwin.L012ej7:
1446*c0855eaaSJohn Baldwin	#ifdef __CET__
1447*c0855eaaSJohn Baldwin
1448*c0855eaaSJohn Baldwin.byte	243,15,30,251
1449*c0855eaaSJohn Baldwin	#endif
1450*c0855eaaSJohn Baldwin
1451bc3d5698SJohn Baldwin	movb	6(%esi),%dh
1452bc3d5698SJohn Baldwin	shll	$8,%edx
1453bc3d5698SJohn Baldwin.L013ej6:
1454*c0855eaaSJohn Baldwin	#ifdef __CET__
1455*c0855eaaSJohn Baldwin
1456*c0855eaaSJohn Baldwin.byte	243,15,30,251
1457*c0855eaaSJohn Baldwin	#endif
1458*c0855eaaSJohn Baldwin
1459bc3d5698SJohn Baldwin	movb	5(%esi),%dh
1460bc3d5698SJohn Baldwin.L014ej5:
1461*c0855eaaSJohn Baldwin	#ifdef __CET__
1462*c0855eaaSJohn Baldwin
1463*c0855eaaSJohn Baldwin.byte	243,15,30,251
1464*c0855eaaSJohn Baldwin	#endif
1465*c0855eaaSJohn Baldwin
1466bc3d5698SJohn Baldwin	movb	4(%esi),%dl
1467bc3d5698SJohn Baldwin.L015ej4:
1468*c0855eaaSJohn Baldwin	#ifdef __CET__
1469*c0855eaaSJohn Baldwin
1470*c0855eaaSJohn Baldwin.byte	243,15,30,251
1471*c0855eaaSJohn Baldwin	#endif
1472*c0855eaaSJohn Baldwin
1473bc3d5698SJohn Baldwin	movl	(%esi),%ecx
1474bc3d5698SJohn Baldwin	jmp	.L016ejend
1475bc3d5698SJohn Baldwin.L017ej3:
1476*c0855eaaSJohn Baldwin	#ifdef __CET__
1477*c0855eaaSJohn Baldwin
1478*c0855eaaSJohn Baldwin.byte	243,15,30,251
1479*c0855eaaSJohn Baldwin	#endif
1480*c0855eaaSJohn Baldwin
1481bc3d5698SJohn Baldwin	movb	2(%esi),%ch
1482bc3d5698SJohn Baldwin	shll	$8,%ecx
1483bc3d5698SJohn Baldwin.L018ej2:
1484*c0855eaaSJohn Baldwin	#ifdef __CET__
1485*c0855eaaSJohn Baldwin
1486*c0855eaaSJohn Baldwin.byte	243,15,30,251
1487*c0855eaaSJohn Baldwin	#endif
1488*c0855eaaSJohn Baldwin
1489bc3d5698SJohn Baldwin	movb	1(%esi),%ch
1490bc3d5698SJohn Baldwin.L019ej1:
1491*c0855eaaSJohn Baldwin	#ifdef __CET__
1492*c0855eaaSJohn Baldwin
1493*c0855eaaSJohn Baldwin.byte	243,15,30,251
1494*c0855eaaSJohn Baldwin	#endif
1495*c0855eaaSJohn Baldwin
1496bc3d5698SJohn Baldwin	movb	(%esi),%cl
1497bc3d5698SJohn Baldwin.L016ejend:
1498bc3d5698SJohn Baldwin	xorl	%ecx,%eax
1499bc3d5698SJohn Baldwin	xorl	%edx,%ebx
1500bc3d5698SJohn Baldwin	movl	%eax,12(%esp)
1501bc3d5698SJohn Baldwin	movl	%ebx,16(%esp)
1502bc3d5698SJohn Baldwin	call	.L_DES_encrypt1_begin
1503bc3d5698SJohn Baldwin	movl	12(%esp),%eax
1504bc3d5698SJohn Baldwin	movl	16(%esp),%ebx
1505bc3d5698SJohn Baldwin	movl	%eax,(%edi)
1506bc3d5698SJohn Baldwin	movl	%ebx,4(%edi)
1507bc3d5698SJohn Baldwin	jmp	.L009finish
1508bc3d5698SJohn Baldwin.L006decrypt:
1509bc3d5698SJohn Baldwin	andl	$4294967288,%ebp
1510bc3d5698SJohn Baldwin	movl	20(%esp),%eax
1511bc3d5698SJohn Baldwin	movl	24(%esp),%ebx
1512bc3d5698SJohn Baldwin	jz	.L020decrypt_finish
1513bc3d5698SJohn Baldwin.L021decrypt_loop:
1514bc3d5698SJohn Baldwin	movl	(%esi),%eax
1515bc3d5698SJohn Baldwin	movl	4(%esi),%ebx
1516bc3d5698SJohn Baldwin	movl	%eax,12(%esp)
1517bc3d5698SJohn Baldwin	movl	%ebx,16(%esp)
1518bc3d5698SJohn Baldwin	call	.L_DES_encrypt1_begin
1519bc3d5698SJohn Baldwin	movl	12(%esp),%eax
1520bc3d5698SJohn Baldwin	movl	16(%esp),%ebx
1521bc3d5698SJohn Baldwin	movl	20(%esp),%ecx
1522bc3d5698SJohn Baldwin	movl	24(%esp),%edx
1523bc3d5698SJohn Baldwin	xorl	%eax,%ecx
1524bc3d5698SJohn Baldwin	xorl	%ebx,%edx
1525bc3d5698SJohn Baldwin	movl	(%esi),%eax
1526bc3d5698SJohn Baldwin	movl	4(%esi),%ebx
1527bc3d5698SJohn Baldwin	movl	%ecx,(%edi)
1528bc3d5698SJohn Baldwin	movl	%edx,4(%edi)
1529bc3d5698SJohn Baldwin	movl	%eax,20(%esp)
1530bc3d5698SJohn Baldwin	movl	%ebx,24(%esp)
1531bc3d5698SJohn Baldwin	addl	$8,%esi
1532bc3d5698SJohn Baldwin	addl	$8,%edi
1533bc3d5698SJohn Baldwin	subl	$8,%ebp
1534bc3d5698SJohn Baldwin	jnz	.L021decrypt_loop
1535bc3d5698SJohn Baldwin.L020decrypt_finish:
1536bc3d5698SJohn Baldwin	movl	56(%esp),%ebp
1537bc3d5698SJohn Baldwin	andl	$7,%ebp
1538bc3d5698SJohn Baldwin	jz	.L009finish
1539bc3d5698SJohn Baldwin	movl	(%esi),%eax
1540bc3d5698SJohn Baldwin	movl	4(%esi),%ebx
1541bc3d5698SJohn Baldwin	movl	%eax,12(%esp)
1542bc3d5698SJohn Baldwin	movl	%ebx,16(%esp)
1543bc3d5698SJohn Baldwin	call	.L_DES_encrypt1_begin
1544bc3d5698SJohn Baldwin	movl	12(%esp),%eax
1545bc3d5698SJohn Baldwin	movl	16(%esp),%ebx
1546bc3d5698SJohn Baldwin	movl	20(%esp),%ecx
1547bc3d5698SJohn Baldwin	movl	24(%esp),%edx
1548bc3d5698SJohn Baldwin	xorl	%eax,%ecx
1549bc3d5698SJohn Baldwin	xorl	%ebx,%edx
1550bc3d5698SJohn Baldwin	movl	(%esi),%eax
1551bc3d5698SJohn Baldwin	movl	4(%esi),%ebx
1552bc3d5698SJohn Baldwin.L022dj7:
1553bc3d5698SJohn Baldwin	rorl	$16,%edx
1554bc3d5698SJohn Baldwin	movb	%dl,6(%edi)
1555bc3d5698SJohn Baldwin	shrl	$16,%edx
1556bc3d5698SJohn Baldwin.L023dj6:
1557bc3d5698SJohn Baldwin	movb	%dh,5(%edi)
1558bc3d5698SJohn Baldwin.L024dj5:
1559bc3d5698SJohn Baldwin	movb	%dl,4(%edi)
1560bc3d5698SJohn Baldwin.L025dj4:
1561bc3d5698SJohn Baldwin	movl	%ecx,(%edi)
1562bc3d5698SJohn Baldwin	jmp	.L026djend
1563bc3d5698SJohn Baldwin.L027dj3:
1564bc3d5698SJohn Baldwin	rorl	$16,%ecx
1565bc3d5698SJohn Baldwin	movb	%cl,2(%edi)
1566bc3d5698SJohn Baldwin	shll	$16,%ecx
1567bc3d5698SJohn Baldwin.L028dj2:
1568bc3d5698SJohn Baldwin	movb	%ch,1(%esi)
1569bc3d5698SJohn Baldwin.L029dj1:
1570bc3d5698SJohn Baldwin	movb	%cl,(%esi)
1571bc3d5698SJohn Baldwin.L026djend:
1572bc3d5698SJohn Baldwin	jmp	.L009finish
1573bc3d5698SJohn Baldwin.L009finish:
1574bc3d5698SJohn Baldwin	movl	64(%esp),%ecx
1575bc3d5698SJohn Baldwin	addl	$28,%esp
1576bc3d5698SJohn Baldwin	movl	%eax,(%ecx)
1577bc3d5698SJohn Baldwin	movl	%ebx,4(%ecx)
1578bc3d5698SJohn Baldwin	popl	%edi
1579bc3d5698SJohn Baldwin	popl	%esi
1580bc3d5698SJohn Baldwin	popl	%ebx
1581bc3d5698SJohn Baldwin	popl	%ebp
1582bc3d5698SJohn Baldwin	ret
1583bc3d5698SJohn Baldwin.align	64
1584bc3d5698SJohn Baldwin.L011cbc_enc_jmp_table:
1585bc3d5698SJohn Baldwin.long	0
1586bc3d5698SJohn Baldwin.long	.L019ej1-.L010PIC_point
1587bc3d5698SJohn Baldwin.long	.L018ej2-.L010PIC_point
1588bc3d5698SJohn Baldwin.long	.L017ej3-.L010PIC_point
1589bc3d5698SJohn Baldwin.long	.L015ej4-.L010PIC_point
1590bc3d5698SJohn Baldwin.long	.L014ej5-.L010PIC_point
1591bc3d5698SJohn Baldwin.long	.L013ej6-.L010PIC_point
1592bc3d5698SJohn Baldwin.long	.L012ej7-.L010PIC_point
1593bc3d5698SJohn Baldwin.align	64
1594bc3d5698SJohn Baldwin.size	DES_ncbc_encrypt,.-.L_DES_ncbc_encrypt_begin
1595bc3d5698SJohn Baldwin.globl	DES_ede3_cbc_encrypt
1596bc3d5698SJohn Baldwin.type	DES_ede3_cbc_encrypt,@function
1597bc3d5698SJohn Baldwin.align	16
1598bc3d5698SJohn BaldwinDES_ede3_cbc_encrypt:
1599bc3d5698SJohn Baldwin.L_DES_ede3_cbc_encrypt_begin:
1600*c0855eaaSJohn Baldwin	#ifdef __CET__
1601*c0855eaaSJohn Baldwin
1602*c0855eaaSJohn Baldwin.byte	243,15,30,251
1603*c0855eaaSJohn Baldwin	#endif
1604*c0855eaaSJohn Baldwin
1605bc3d5698SJohn Baldwin
1606bc3d5698SJohn Baldwin	pushl	%ebp
1607bc3d5698SJohn Baldwin	pushl	%ebx
1608bc3d5698SJohn Baldwin	pushl	%esi
1609bc3d5698SJohn Baldwin	pushl	%edi
1610bc3d5698SJohn Baldwin	movl	28(%esp),%ebp
1611bc3d5698SJohn Baldwin
1612bc3d5698SJohn Baldwin	movl	44(%esp),%ebx
1613bc3d5698SJohn Baldwin	movl	(%ebx),%esi
1614bc3d5698SJohn Baldwin	movl	4(%ebx),%edi
1615bc3d5698SJohn Baldwin	pushl	%edi
1616bc3d5698SJohn Baldwin	pushl	%esi
1617bc3d5698SJohn Baldwin	pushl	%edi
1618bc3d5698SJohn Baldwin	pushl	%esi
1619bc3d5698SJohn Baldwin	movl	%esp,%ebx
1620bc3d5698SJohn Baldwin	movl	36(%esp),%esi
1621bc3d5698SJohn Baldwin	movl	40(%esp),%edi
1622bc3d5698SJohn Baldwin
1623bc3d5698SJohn Baldwin	movl	64(%esp),%ecx
1624bc3d5698SJohn Baldwin
1625bc3d5698SJohn Baldwin	movl	56(%esp),%eax
1626bc3d5698SJohn Baldwin	pushl	%eax
1627bc3d5698SJohn Baldwin
1628bc3d5698SJohn Baldwin	movl	56(%esp),%eax
1629bc3d5698SJohn Baldwin	pushl	%eax
1630bc3d5698SJohn Baldwin
1631bc3d5698SJohn Baldwin	movl	56(%esp),%eax
1632bc3d5698SJohn Baldwin	pushl	%eax
1633bc3d5698SJohn Baldwin	pushl	%ebx
1634bc3d5698SJohn Baldwin	cmpl	$0,%ecx
1635bc3d5698SJohn Baldwin	jz	.L030decrypt
1636bc3d5698SJohn Baldwin	andl	$4294967288,%ebp
1637bc3d5698SJohn Baldwin	movl	16(%esp),%eax
1638bc3d5698SJohn Baldwin	movl	20(%esp),%ebx
1639bc3d5698SJohn Baldwin	jz	.L031encrypt_finish
1640bc3d5698SJohn Baldwin.L032encrypt_loop:
1641bc3d5698SJohn Baldwin	movl	(%esi),%ecx
1642bc3d5698SJohn Baldwin	movl	4(%esi),%edx
1643bc3d5698SJohn Baldwin	xorl	%ecx,%eax
1644bc3d5698SJohn Baldwin	xorl	%edx,%ebx
1645bc3d5698SJohn Baldwin	movl	%eax,16(%esp)
1646bc3d5698SJohn Baldwin	movl	%ebx,20(%esp)
1647bc3d5698SJohn Baldwin	call	.L_DES_encrypt3_begin
1648bc3d5698SJohn Baldwin	movl	16(%esp),%eax
1649bc3d5698SJohn Baldwin	movl	20(%esp),%ebx
1650bc3d5698SJohn Baldwin	movl	%eax,(%edi)
1651bc3d5698SJohn Baldwin	movl	%ebx,4(%edi)
1652bc3d5698SJohn Baldwin	addl	$8,%esi
1653bc3d5698SJohn Baldwin	addl	$8,%edi
1654bc3d5698SJohn Baldwin	subl	$8,%ebp
1655bc3d5698SJohn Baldwin	jnz	.L032encrypt_loop
1656bc3d5698SJohn Baldwin.L031encrypt_finish:
1657bc3d5698SJohn Baldwin	movl	60(%esp),%ebp
1658bc3d5698SJohn Baldwin	andl	$7,%ebp
1659bc3d5698SJohn Baldwin	jz	.L033finish
1660bc3d5698SJohn Baldwin	call	.L034PIC_point
1661bc3d5698SJohn Baldwin.L034PIC_point:
1662bc3d5698SJohn Baldwin	popl	%edx
1663bc3d5698SJohn Baldwin	leal	.L035cbc_enc_jmp_table-.L034PIC_point(%edx),%ecx
1664bc3d5698SJohn Baldwin	movl	(%ecx,%ebp,4),%ebp
1665bc3d5698SJohn Baldwin	addl	%edx,%ebp
1666bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
1667bc3d5698SJohn Baldwin	xorl	%edx,%edx
1668bc3d5698SJohn Baldwin	jmp	*%ebp
1669bc3d5698SJohn Baldwin.L036ej7:
1670*c0855eaaSJohn Baldwin	#ifdef __CET__
1671*c0855eaaSJohn Baldwin
1672*c0855eaaSJohn Baldwin.byte	243,15,30,251
1673*c0855eaaSJohn Baldwin	#endif
1674*c0855eaaSJohn Baldwin
1675bc3d5698SJohn Baldwin	movb	6(%esi),%dh
1676bc3d5698SJohn Baldwin	shll	$8,%edx
1677bc3d5698SJohn Baldwin.L037ej6:
1678*c0855eaaSJohn Baldwin	#ifdef __CET__
1679*c0855eaaSJohn Baldwin
1680*c0855eaaSJohn Baldwin.byte	243,15,30,251
1681*c0855eaaSJohn Baldwin	#endif
1682*c0855eaaSJohn Baldwin
1683bc3d5698SJohn Baldwin	movb	5(%esi),%dh
1684bc3d5698SJohn Baldwin.L038ej5:
1685*c0855eaaSJohn Baldwin	#ifdef __CET__
1686*c0855eaaSJohn Baldwin
1687*c0855eaaSJohn Baldwin.byte	243,15,30,251
1688*c0855eaaSJohn Baldwin	#endif
1689*c0855eaaSJohn Baldwin
1690bc3d5698SJohn Baldwin	movb	4(%esi),%dl
1691bc3d5698SJohn Baldwin.L039ej4:
1692*c0855eaaSJohn Baldwin	#ifdef __CET__
1693*c0855eaaSJohn Baldwin
1694*c0855eaaSJohn Baldwin.byte	243,15,30,251
1695*c0855eaaSJohn Baldwin	#endif
1696*c0855eaaSJohn Baldwin
1697bc3d5698SJohn Baldwin	movl	(%esi),%ecx
1698bc3d5698SJohn Baldwin	jmp	.L040ejend
1699bc3d5698SJohn Baldwin.L041ej3:
1700*c0855eaaSJohn Baldwin	#ifdef __CET__
1701*c0855eaaSJohn Baldwin
1702*c0855eaaSJohn Baldwin.byte	243,15,30,251
1703*c0855eaaSJohn Baldwin	#endif
1704*c0855eaaSJohn Baldwin
1705bc3d5698SJohn Baldwin	movb	2(%esi),%ch
1706bc3d5698SJohn Baldwin	shll	$8,%ecx
1707bc3d5698SJohn Baldwin.L042ej2:
1708*c0855eaaSJohn Baldwin	#ifdef __CET__
1709*c0855eaaSJohn Baldwin
1710*c0855eaaSJohn Baldwin.byte	243,15,30,251
1711*c0855eaaSJohn Baldwin	#endif
1712*c0855eaaSJohn Baldwin
1713bc3d5698SJohn Baldwin	movb	1(%esi),%ch
1714bc3d5698SJohn Baldwin.L043ej1:
1715*c0855eaaSJohn Baldwin	#ifdef __CET__
1716*c0855eaaSJohn Baldwin
1717*c0855eaaSJohn Baldwin.byte	243,15,30,251
1718*c0855eaaSJohn Baldwin	#endif
1719*c0855eaaSJohn Baldwin
1720bc3d5698SJohn Baldwin	movb	(%esi),%cl
1721bc3d5698SJohn Baldwin.L040ejend:
1722bc3d5698SJohn Baldwin	xorl	%ecx,%eax
1723bc3d5698SJohn Baldwin	xorl	%edx,%ebx
1724bc3d5698SJohn Baldwin	movl	%eax,16(%esp)
1725bc3d5698SJohn Baldwin	movl	%ebx,20(%esp)
1726bc3d5698SJohn Baldwin	call	.L_DES_encrypt3_begin
1727bc3d5698SJohn Baldwin	movl	16(%esp),%eax
1728bc3d5698SJohn Baldwin	movl	20(%esp),%ebx
1729bc3d5698SJohn Baldwin	movl	%eax,(%edi)
1730bc3d5698SJohn Baldwin	movl	%ebx,4(%edi)
1731bc3d5698SJohn Baldwin	jmp	.L033finish
1732bc3d5698SJohn Baldwin.L030decrypt:
1733bc3d5698SJohn Baldwin	andl	$4294967288,%ebp
1734bc3d5698SJohn Baldwin	movl	24(%esp),%eax
1735bc3d5698SJohn Baldwin	movl	28(%esp),%ebx
1736bc3d5698SJohn Baldwin	jz	.L044decrypt_finish
1737bc3d5698SJohn Baldwin.L045decrypt_loop:
1738bc3d5698SJohn Baldwin	movl	(%esi),%eax
1739bc3d5698SJohn Baldwin	movl	4(%esi),%ebx
1740bc3d5698SJohn Baldwin	movl	%eax,16(%esp)
1741bc3d5698SJohn Baldwin	movl	%ebx,20(%esp)
1742bc3d5698SJohn Baldwin	call	.L_DES_decrypt3_begin
1743bc3d5698SJohn Baldwin	movl	16(%esp),%eax
1744bc3d5698SJohn Baldwin	movl	20(%esp),%ebx
1745bc3d5698SJohn Baldwin	movl	24(%esp),%ecx
1746bc3d5698SJohn Baldwin	movl	28(%esp),%edx
1747bc3d5698SJohn Baldwin	xorl	%eax,%ecx
1748bc3d5698SJohn Baldwin	xorl	%ebx,%edx
1749bc3d5698SJohn Baldwin	movl	(%esi),%eax
1750bc3d5698SJohn Baldwin	movl	4(%esi),%ebx
1751bc3d5698SJohn Baldwin	movl	%ecx,(%edi)
1752bc3d5698SJohn Baldwin	movl	%edx,4(%edi)
1753bc3d5698SJohn Baldwin	movl	%eax,24(%esp)
1754bc3d5698SJohn Baldwin	movl	%ebx,28(%esp)
1755bc3d5698SJohn Baldwin	addl	$8,%esi
1756bc3d5698SJohn Baldwin	addl	$8,%edi
1757bc3d5698SJohn Baldwin	subl	$8,%ebp
1758bc3d5698SJohn Baldwin	jnz	.L045decrypt_loop
1759bc3d5698SJohn Baldwin.L044decrypt_finish:
1760bc3d5698SJohn Baldwin	movl	60(%esp),%ebp
1761bc3d5698SJohn Baldwin	andl	$7,%ebp
1762bc3d5698SJohn Baldwin	jz	.L033finish
1763bc3d5698SJohn Baldwin	movl	(%esi),%eax
1764bc3d5698SJohn Baldwin	movl	4(%esi),%ebx
1765bc3d5698SJohn Baldwin	movl	%eax,16(%esp)
1766bc3d5698SJohn Baldwin	movl	%ebx,20(%esp)
1767bc3d5698SJohn Baldwin	call	.L_DES_decrypt3_begin
1768bc3d5698SJohn Baldwin	movl	16(%esp),%eax
1769bc3d5698SJohn Baldwin	movl	20(%esp),%ebx
1770bc3d5698SJohn Baldwin	movl	24(%esp),%ecx
1771bc3d5698SJohn Baldwin	movl	28(%esp),%edx
1772bc3d5698SJohn Baldwin	xorl	%eax,%ecx
1773bc3d5698SJohn Baldwin	xorl	%ebx,%edx
1774bc3d5698SJohn Baldwin	movl	(%esi),%eax
1775bc3d5698SJohn Baldwin	movl	4(%esi),%ebx
1776bc3d5698SJohn Baldwin.L046dj7:
1777bc3d5698SJohn Baldwin	rorl	$16,%edx
1778bc3d5698SJohn Baldwin	movb	%dl,6(%edi)
1779bc3d5698SJohn Baldwin	shrl	$16,%edx
1780bc3d5698SJohn Baldwin.L047dj6:
1781bc3d5698SJohn Baldwin	movb	%dh,5(%edi)
1782bc3d5698SJohn Baldwin.L048dj5:
1783bc3d5698SJohn Baldwin	movb	%dl,4(%edi)
1784bc3d5698SJohn Baldwin.L049dj4:
1785bc3d5698SJohn Baldwin	movl	%ecx,(%edi)
1786bc3d5698SJohn Baldwin	jmp	.L050djend
1787bc3d5698SJohn Baldwin.L051dj3:
1788bc3d5698SJohn Baldwin	rorl	$16,%ecx
1789bc3d5698SJohn Baldwin	movb	%cl,2(%edi)
1790bc3d5698SJohn Baldwin	shll	$16,%ecx
1791bc3d5698SJohn Baldwin.L052dj2:
1792bc3d5698SJohn Baldwin	movb	%ch,1(%esi)
1793bc3d5698SJohn Baldwin.L053dj1:
1794bc3d5698SJohn Baldwin	movb	%cl,(%esi)
1795bc3d5698SJohn Baldwin.L050djend:
1796bc3d5698SJohn Baldwin	jmp	.L033finish
1797bc3d5698SJohn Baldwin.L033finish:
1798bc3d5698SJohn Baldwin	movl	76(%esp),%ecx
1799bc3d5698SJohn Baldwin	addl	$32,%esp
1800bc3d5698SJohn Baldwin	movl	%eax,(%ecx)
1801bc3d5698SJohn Baldwin	movl	%ebx,4(%ecx)
1802bc3d5698SJohn Baldwin	popl	%edi
1803bc3d5698SJohn Baldwin	popl	%esi
1804bc3d5698SJohn Baldwin	popl	%ebx
1805bc3d5698SJohn Baldwin	popl	%ebp
1806bc3d5698SJohn Baldwin	ret
1807bc3d5698SJohn Baldwin.align	64
1808bc3d5698SJohn Baldwin.L035cbc_enc_jmp_table:
1809bc3d5698SJohn Baldwin.long	0
1810bc3d5698SJohn Baldwin.long	.L043ej1-.L034PIC_point
1811bc3d5698SJohn Baldwin.long	.L042ej2-.L034PIC_point
1812bc3d5698SJohn Baldwin.long	.L041ej3-.L034PIC_point
1813bc3d5698SJohn Baldwin.long	.L039ej4-.L034PIC_point
1814bc3d5698SJohn Baldwin.long	.L038ej5-.L034PIC_point
1815bc3d5698SJohn Baldwin.long	.L037ej6-.L034PIC_point
1816bc3d5698SJohn Baldwin.long	.L036ej7-.L034PIC_point
1817bc3d5698SJohn Baldwin.align	64
1818bc3d5698SJohn Baldwin.size	DES_ede3_cbc_encrypt,.-.L_DES_ede3_cbc_encrypt_begin
1819bc3d5698SJohn Baldwin.align	64
1820bc3d5698SJohn BaldwinDES_SPtrans:
1821bc3d5698SJohn Baldwin.Ldes_sptrans:
1822bc3d5698SJohn Baldwin.long	34080768,524288,33554434,34080770
1823bc3d5698SJohn Baldwin.long	33554432,526338,524290,33554434
1824bc3d5698SJohn Baldwin.long	526338,34080768,34078720,2050
1825bc3d5698SJohn Baldwin.long	33556482,33554432,0,524290
1826bc3d5698SJohn Baldwin.long	524288,2,33556480,526336
1827bc3d5698SJohn Baldwin.long	34080770,34078720,2050,33556480
1828bc3d5698SJohn Baldwin.long	2,2048,526336,34078722
1829bc3d5698SJohn Baldwin.long	2048,33556482,34078722,0
1830bc3d5698SJohn Baldwin.long	0,34080770,33556480,524290
1831bc3d5698SJohn Baldwin.long	34080768,524288,2050,33556480
1832bc3d5698SJohn Baldwin.long	34078722,2048,526336,33554434
1833bc3d5698SJohn Baldwin.long	526338,2,33554434,34078720
1834bc3d5698SJohn Baldwin.long	34080770,526336,34078720,33556482
1835bc3d5698SJohn Baldwin.long	33554432,2050,524290,0
1836bc3d5698SJohn Baldwin.long	524288,33554432,33556482,34080768
1837bc3d5698SJohn Baldwin.long	2,34078722,2048,526338
1838bc3d5698SJohn Baldwin.long	1074823184,0,1081344,1074790400
1839bc3d5698SJohn Baldwin.long	1073741840,32784,1073774592,1081344
1840bc3d5698SJohn Baldwin.long	32768,1074790416,16,1073774592
1841bc3d5698SJohn Baldwin.long	1048592,1074823168,1074790400,16
1842bc3d5698SJohn Baldwin.long	1048576,1073774608,1074790416,32768
1843bc3d5698SJohn Baldwin.long	1081360,1073741824,0,1048592
1844bc3d5698SJohn Baldwin.long	1073774608,1081360,1074823168,1073741840
1845bc3d5698SJohn Baldwin.long	1073741824,1048576,32784,1074823184
1846bc3d5698SJohn Baldwin.long	1048592,1074823168,1073774592,1081360
1847bc3d5698SJohn Baldwin.long	1074823184,1048592,1073741840,0
1848bc3d5698SJohn Baldwin.long	1073741824,32784,1048576,1074790416
1849bc3d5698SJohn Baldwin.long	32768,1073741824,1081360,1073774608
1850bc3d5698SJohn Baldwin.long	1074823168,32768,0,1073741840
1851bc3d5698SJohn Baldwin.long	16,1074823184,1081344,1074790400
1852bc3d5698SJohn Baldwin.long	1074790416,1048576,32784,1073774592
1853bc3d5698SJohn Baldwin.long	1073774608,16,1074790400,1081344
1854bc3d5698SJohn Baldwin.long	67108865,67371264,256,67109121
1855bc3d5698SJohn Baldwin.long	262145,67108864,67109121,262400
1856bc3d5698SJohn Baldwin.long	67109120,262144,67371008,1
1857bc3d5698SJohn Baldwin.long	67371265,257,1,67371009
1858bc3d5698SJohn Baldwin.long	0,262145,67371264,256
1859bc3d5698SJohn Baldwin.long	257,67371265,262144,67108865
1860bc3d5698SJohn Baldwin.long	67371009,67109120,262401,67371008
1861bc3d5698SJohn Baldwin.long	262400,0,67108864,262401
1862bc3d5698SJohn Baldwin.long	67371264,256,1,262144
1863bc3d5698SJohn Baldwin.long	257,262145,67371008,67109121
1864bc3d5698SJohn Baldwin.long	0,67371264,262400,67371009
1865bc3d5698SJohn Baldwin.long	262145,67108864,67371265,1
1866bc3d5698SJohn Baldwin.long	262401,67108865,67108864,67371265
1867bc3d5698SJohn Baldwin.long	262144,67109120,67109121,262400
1868bc3d5698SJohn Baldwin.long	67109120,0,67371009,257
1869bc3d5698SJohn Baldwin.long	67108865,262401,256,67371008
1870bc3d5698SJohn Baldwin.long	4198408,268439552,8,272633864
1871bc3d5698SJohn Baldwin.long	0,272629760,268439560,4194312
1872bc3d5698SJohn Baldwin.long	272633856,268435464,268435456,4104
1873bc3d5698SJohn Baldwin.long	268435464,4198408,4194304,268435456
1874bc3d5698SJohn Baldwin.long	272629768,4198400,4096,8
1875bc3d5698SJohn Baldwin.long	4198400,268439560,272629760,4096
1876bc3d5698SJohn Baldwin.long	4104,0,4194312,272633856
1877bc3d5698SJohn Baldwin.long	268439552,272629768,272633864,4194304
1878bc3d5698SJohn Baldwin.long	272629768,4104,4194304,268435464
1879bc3d5698SJohn Baldwin.long	4198400,268439552,8,272629760
1880bc3d5698SJohn Baldwin.long	268439560,0,4096,4194312
1881bc3d5698SJohn Baldwin.long	0,272629768,272633856,4096
1882bc3d5698SJohn Baldwin.long	268435456,272633864,4198408,4194304
1883bc3d5698SJohn Baldwin.long	272633864,8,268439552,4198408
1884bc3d5698SJohn Baldwin.long	4194312,4198400,272629760,268439560
1885bc3d5698SJohn Baldwin.long	4104,268435456,268435464,272633856
1886bc3d5698SJohn Baldwin.long	134217728,65536,1024,134284320
1887bc3d5698SJohn Baldwin.long	134283296,134218752,66592,134283264
1888bc3d5698SJohn Baldwin.long	65536,32,134217760,66560
1889bc3d5698SJohn Baldwin.long	134218784,134283296,134284288,0
1890bc3d5698SJohn Baldwin.long	66560,134217728,65568,1056
1891bc3d5698SJohn Baldwin.long	134218752,66592,0,134217760
1892bc3d5698SJohn Baldwin.long	32,134218784,134284320,65568
1893bc3d5698SJohn Baldwin.long	134283264,1024,1056,134284288
1894bc3d5698SJohn Baldwin.long	134284288,134218784,65568,134283264
1895bc3d5698SJohn Baldwin.long	65536,32,134217760,134218752
1896bc3d5698SJohn Baldwin.long	134217728,66560,134284320,0
1897bc3d5698SJohn Baldwin.long	66592,134217728,1024,65568
1898bc3d5698SJohn Baldwin.long	134218784,1024,0,134284320
1899bc3d5698SJohn Baldwin.long	134283296,134284288,1056,65536
1900bc3d5698SJohn Baldwin.long	66560,134283296,134218752,1056
1901bc3d5698SJohn Baldwin.long	32,66592,134283264,134217760
1902bc3d5698SJohn Baldwin.long	2147483712,2097216,0,2149588992
1903bc3d5698SJohn Baldwin.long	2097216,8192,2147491904,2097152
1904bc3d5698SJohn Baldwin.long	8256,2149589056,2105344,2147483648
1905bc3d5698SJohn Baldwin.long	2147491840,2147483712,2149580800,2105408
1906bc3d5698SJohn Baldwin.long	2097152,2147491904,2149580864,0
1907bc3d5698SJohn Baldwin.long	8192,64,2149588992,2149580864
1908bc3d5698SJohn Baldwin.long	2149589056,2149580800,2147483648,8256
1909bc3d5698SJohn Baldwin.long	64,2105344,2105408,2147491840
1910bc3d5698SJohn Baldwin.long	8256,2147483648,2147491840,2105408
1911bc3d5698SJohn Baldwin.long	2149588992,2097216,0,2147491840
1912bc3d5698SJohn Baldwin.long	2147483648,8192,2149580864,2097152
1913bc3d5698SJohn Baldwin.long	2097216,2149589056,2105344,64
1914bc3d5698SJohn Baldwin.long	2149589056,2105344,2097152,2147491904
1915bc3d5698SJohn Baldwin.long	2147483712,2149580800,2105408,0
1916bc3d5698SJohn Baldwin.long	8192,2147483712,2147491904,2149588992
1917bc3d5698SJohn Baldwin.long	2149580800,8256,64,2149580864
1918bc3d5698SJohn Baldwin.long	16384,512,16777728,16777220
1919bc3d5698SJohn Baldwin.long	16794116,16388,16896,0
1920bc3d5698SJohn Baldwin.long	16777216,16777732,516,16793600
1921bc3d5698SJohn Baldwin.long	4,16794112,16793600,516
1922bc3d5698SJohn Baldwin.long	16777732,16384,16388,16794116
1923bc3d5698SJohn Baldwin.long	0,16777728,16777220,16896
1924bc3d5698SJohn Baldwin.long	16793604,16900,16794112,4
1925bc3d5698SJohn Baldwin.long	16900,16793604,512,16777216
1926bc3d5698SJohn Baldwin.long	16900,16793600,16793604,516
1927bc3d5698SJohn Baldwin.long	16384,512,16777216,16793604
1928bc3d5698SJohn Baldwin.long	16777732,16900,16896,0
1929bc3d5698SJohn Baldwin.long	512,16777220,4,16777728
1930bc3d5698SJohn Baldwin.long	0,16777732,16777728,16896
1931bc3d5698SJohn Baldwin.long	516,16384,16794116,16777216
1932bc3d5698SJohn Baldwin.long	16794112,4,16388,16794116
1933bc3d5698SJohn Baldwin.long	16777220,16794112,16793600,16388
1934bc3d5698SJohn Baldwin.long	545259648,545390592,131200,0
1935bc3d5698SJohn Baldwin.long	537001984,8388736,545259520,545390720
1936bc3d5698SJohn Baldwin.long	128,536870912,8519680,131200
1937bc3d5698SJohn Baldwin.long	8519808,537002112,536871040,545259520
1938bc3d5698SJohn Baldwin.long	131072,8519808,8388736,537001984
1939bc3d5698SJohn Baldwin.long	545390720,536871040,0,8519680
1940bc3d5698SJohn Baldwin.long	536870912,8388608,537002112,545259648
1941bc3d5698SJohn Baldwin.long	8388608,131072,545390592,128
1942bc3d5698SJohn Baldwin.long	8388608,131072,536871040,545390720
1943bc3d5698SJohn Baldwin.long	131200,536870912,0,8519680
1944bc3d5698SJohn Baldwin.long	545259648,537002112,537001984,8388736
1945bc3d5698SJohn Baldwin.long	545390592,128,8388736,537001984
1946bc3d5698SJohn Baldwin.long	545390720,8388608,545259520,536871040
1947bc3d5698SJohn Baldwin.long	8519680,131200,537002112,545259520
1948bc3d5698SJohn Baldwin.long	128,545390592,8519808,0
1949bc3d5698SJohn Baldwin.long	536870912,545259648,131072,8519808
1950*c0855eaaSJohn Baldwin
1951*c0855eaaSJohn Baldwin	.section ".note.gnu.property", "a"
1952*c0855eaaSJohn Baldwin	.p2align 2
1953*c0855eaaSJohn Baldwin	.long 1f - 0f
1954*c0855eaaSJohn Baldwin	.long 4f - 1f
1955*c0855eaaSJohn Baldwin	.long 5
1956*c0855eaaSJohn Baldwin0:
1957*c0855eaaSJohn Baldwin	.asciz "GNU"
1958*c0855eaaSJohn Baldwin1:
1959*c0855eaaSJohn Baldwin	.p2align 2
1960*c0855eaaSJohn Baldwin	.long 0xc0000002
1961*c0855eaaSJohn Baldwin	.long 3f - 2f
1962*c0855eaaSJohn Baldwin2:
1963*c0855eaaSJohn Baldwin	.long 3
1964*c0855eaaSJohn Baldwin3:
1965*c0855eaaSJohn Baldwin	.p2align 2
1966*c0855eaaSJohn Baldwin4:
1967bc3d5698SJohn Baldwin#else
1968bc3d5698SJohn Baldwin.text
1969bc3d5698SJohn Baldwin.globl	DES_SPtrans
1970bc3d5698SJohn Baldwin.type	_x86_DES_encrypt,@function
1971bc3d5698SJohn Baldwin.align	16
1972bc3d5698SJohn Baldwin_x86_DES_encrypt:
1973*c0855eaaSJohn Baldwin	#ifdef __CET__
1974*c0855eaaSJohn Baldwin
1975*c0855eaaSJohn Baldwin.byte	243,15,30,251
1976*c0855eaaSJohn Baldwin	#endif
1977*c0855eaaSJohn Baldwin
1978bc3d5698SJohn Baldwin	pushl	%ecx
1979bc3d5698SJohn Baldwin
1980bc3d5698SJohn Baldwin	movl	(%ecx),%eax
1981bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
1982bc3d5698SJohn Baldwin	movl	4(%ecx),%edx
1983bc3d5698SJohn Baldwin	xorl	%esi,%eax
1984bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
1985bc3d5698SJohn Baldwin	xorl	%esi,%edx
1986bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
1987bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
1988bc3d5698SJohn Baldwin	movb	%al,%bl
1989bc3d5698SJohn Baldwin	movb	%ah,%cl
1990bc3d5698SJohn Baldwin	rorl	$4,%edx
1991bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%edi
1992bc3d5698SJohn Baldwin	movb	%dl,%bl
1993bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%edi
1994bc3d5698SJohn Baldwin	movb	%dh,%cl
1995bc3d5698SJohn Baldwin	shrl	$16,%eax
1996bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%edi
1997bc3d5698SJohn Baldwin	movb	%ah,%bl
1998bc3d5698SJohn Baldwin	shrl	$16,%edx
1999bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%edi
2000bc3d5698SJohn Baldwin	movb	%dh,%cl
2001bc3d5698SJohn Baldwin	andl	$0xff,%eax
2002bc3d5698SJohn Baldwin	andl	$0xff,%edx
2003bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%edi
2004bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%edi
2005bc3d5698SJohn Baldwin	movl	(%esp),%ecx
2006bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%edi
2007bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%edi
2008bc3d5698SJohn Baldwin
2009bc3d5698SJohn Baldwin	movl	8(%ecx),%eax
2010bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
2011bc3d5698SJohn Baldwin	movl	12(%ecx),%edx
2012bc3d5698SJohn Baldwin	xorl	%edi,%eax
2013bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
2014bc3d5698SJohn Baldwin	xorl	%edi,%edx
2015bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
2016bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
2017bc3d5698SJohn Baldwin	movb	%al,%bl
2018bc3d5698SJohn Baldwin	movb	%ah,%cl
2019bc3d5698SJohn Baldwin	rorl	$4,%edx
2020bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%esi
2021bc3d5698SJohn Baldwin	movb	%dl,%bl
2022bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%esi
2023bc3d5698SJohn Baldwin	movb	%dh,%cl
2024bc3d5698SJohn Baldwin	shrl	$16,%eax
2025bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%esi
2026bc3d5698SJohn Baldwin	movb	%ah,%bl
2027bc3d5698SJohn Baldwin	shrl	$16,%edx
2028bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%esi
2029bc3d5698SJohn Baldwin	movb	%dh,%cl
2030bc3d5698SJohn Baldwin	andl	$0xff,%eax
2031bc3d5698SJohn Baldwin	andl	$0xff,%edx
2032bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%esi
2033bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%esi
2034bc3d5698SJohn Baldwin	movl	(%esp),%ecx
2035bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%esi
2036bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%esi
2037bc3d5698SJohn Baldwin
2038bc3d5698SJohn Baldwin	movl	16(%ecx),%eax
2039bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
2040bc3d5698SJohn Baldwin	movl	20(%ecx),%edx
2041bc3d5698SJohn Baldwin	xorl	%esi,%eax
2042bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
2043bc3d5698SJohn Baldwin	xorl	%esi,%edx
2044bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
2045bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
2046bc3d5698SJohn Baldwin	movb	%al,%bl
2047bc3d5698SJohn Baldwin	movb	%ah,%cl
2048bc3d5698SJohn Baldwin	rorl	$4,%edx
2049bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%edi
2050bc3d5698SJohn Baldwin	movb	%dl,%bl
2051bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%edi
2052bc3d5698SJohn Baldwin	movb	%dh,%cl
2053bc3d5698SJohn Baldwin	shrl	$16,%eax
2054bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%edi
2055bc3d5698SJohn Baldwin	movb	%ah,%bl
2056bc3d5698SJohn Baldwin	shrl	$16,%edx
2057bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%edi
2058bc3d5698SJohn Baldwin	movb	%dh,%cl
2059bc3d5698SJohn Baldwin	andl	$0xff,%eax
2060bc3d5698SJohn Baldwin	andl	$0xff,%edx
2061bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%edi
2062bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%edi
2063bc3d5698SJohn Baldwin	movl	(%esp),%ecx
2064bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%edi
2065bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%edi
2066bc3d5698SJohn Baldwin
2067bc3d5698SJohn Baldwin	movl	24(%ecx),%eax
2068bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
2069bc3d5698SJohn Baldwin	movl	28(%ecx),%edx
2070bc3d5698SJohn Baldwin	xorl	%edi,%eax
2071bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
2072bc3d5698SJohn Baldwin	xorl	%edi,%edx
2073bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
2074bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
2075bc3d5698SJohn Baldwin	movb	%al,%bl
2076bc3d5698SJohn Baldwin	movb	%ah,%cl
2077bc3d5698SJohn Baldwin	rorl	$4,%edx
2078bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%esi
2079bc3d5698SJohn Baldwin	movb	%dl,%bl
2080bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%esi
2081bc3d5698SJohn Baldwin	movb	%dh,%cl
2082bc3d5698SJohn Baldwin	shrl	$16,%eax
2083bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%esi
2084bc3d5698SJohn Baldwin	movb	%ah,%bl
2085bc3d5698SJohn Baldwin	shrl	$16,%edx
2086bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%esi
2087bc3d5698SJohn Baldwin	movb	%dh,%cl
2088bc3d5698SJohn Baldwin	andl	$0xff,%eax
2089bc3d5698SJohn Baldwin	andl	$0xff,%edx
2090bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%esi
2091bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%esi
2092bc3d5698SJohn Baldwin	movl	(%esp),%ecx
2093bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%esi
2094bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%esi
2095bc3d5698SJohn Baldwin
2096bc3d5698SJohn Baldwin	movl	32(%ecx),%eax
2097bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
2098bc3d5698SJohn Baldwin	movl	36(%ecx),%edx
2099bc3d5698SJohn Baldwin	xorl	%esi,%eax
2100bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
2101bc3d5698SJohn Baldwin	xorl	%esi,%edx
2102bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
2103bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
2104bc3d5698SJohn Baldwin	movb	%al,%bl
2105bc3d5698SJohn Baldwin	movb	%ah,%cl
2106bc3d5698SJohn Baldwin	rorl	$4,%edx
2107bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%edi
2108bc3d5698SJohn Baldwin	movb	%dl,%bl
2109bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%edi
2110bc3d5698SJohn Baldwin	movb	%dh,%cl
2111bc3d5698SJohn Baldwin	shrl	$16,%eax
2112bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%edi
2113bc3d5698SJohn Baldwin	movb	%ah,%bl
2114bc3d5698SJohn Baldwin	shrl	$16,%edx
2115bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%edi
2116bc3d5698SJohn Baldwin	movb	%dh,%cl
2117bc3d5698SJohn Baldwin	andl	$0xff,%eax
2118bc3d5698SJohn Baldwin	andl	$0xff,%edx
2119bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%edi
2120bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%edi
2121bc3d5698SJohn Baldwin	movl	(%esp),%ecx
2122bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%edi
2123bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%edi
2124bc3d5698SJohn Baldwin
2125bc3d5698SJohn Baldwin	movl	40(%ecx),%eax
2126bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
2127bc3d5698SJohn Baldwin	movl	44(%ecx),%edx
2128bc3d5698SJohn Baldwin	xorl	%edi,%eax
2129bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
2130bc3d5698SJohn Baldwin	xorl	%edi,%edx
2131bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
2132bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
2133bc3d5698SJohn Baldwin	movb	%al,%bl
2134bc3d5698SJohn Baldwin	movb	%ah,%cl
2135bc3d5698SJohn Baldwin	rorl	$4,%edx
2136bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%esi
2137bc3d5698SJohn Baldwin	movb	%dl,%bl
2138bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%esi
2139bc3d5698SJohn Baldwin	movb	%dh,%cl
2140bc3d5698SJohn Baldwin	shrl	$16,%eax
2141bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%esi
2142bc3d5698SJohn Baldwin	movb	%ah,%bl
2143bc3d5698SJohn Baldwin	shrl	$16,%edx
2144bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%esi
2145bc3d5698SJohn Baldwin	movb	%dh,%cl
2146bc3d5698SJohn Baldwin	andl	$0xff,%eax
2147bc3d5698SJohn Baldwin	andl	$0xff,%edx
2148bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%esi
2149bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%esi
2150bc3d5698SJohn Baldwin	movl	(%esp),%ecx
2151bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%esi
2152bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%esi
2153bc3d5698SJohn Baldwin
2154bc3d5698SJohn Baldwin	movl	48(%ecx),%eax
2155bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
2156bc3d5698SJohn Baldwin	movl	52(%ecx),%edx
2157bc3d5698SJohn Baldwin	xorl	%esi,%eax
2158bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
2159bc3d5698SJohn Baldwin	xorl	%esi,%edx
2160bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
2161bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
2162bc3d5698SJohn Baldwin	movb	%al,%bl
2163bc3d5698SJohn Baldwin	movb	%ah,%cl
2164bc3d5698SJohn Baldwin	rorl	$4,%edx
2165bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%edi
2166bc3d5698SJohn Baldwin	movb	%dl,%bl
2167bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%edi
2168bc3d5698SJohn Baldwin	movb	%dh,%cl
2169bc3d5698SJohn Baldwin	shrl	$16,%eax
2170bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%edi
2171bc3d5698SJohn Baldwin	movb	%ah,%bl
2172bc3d5698SJohn Baldwin	shrl	$16,%edx
2173bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%edi
2174bc3d5698SJohn Baldwin	movb	%dh,%cl
2175bc3d5698SJohn Baldwin	andl	$0xff,%eax
2176bc3d5698SJohn Baldwin	andl	$0xff,%edx
2177bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%edi
2178bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%edi
2179bc3d5698SJohn Baldwin	movl	(%esp),%ecx
2180bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%edi
2181bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%edi
2182bc3d5698SJohn Baldwin
2183bc3d5698SJohn Baldwin	movl	56(%ecx),%eax
2184bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
2185bc3d5698SJohn Baldwin	movl	60(%ecx),%edx
2186bc3d5698SJohn Baldwin	xorl	%edi,%eax
2187bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
2188bc3d5698SJohn Baldwin	xorl	%edi,%edx
2189bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
2190bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
2191bc3d5698SJohn Baldwin	movb	%al,%bl
2192bc3d5698SJohn Baldwin	movb	%ah,%cl
2193bc3d5698SJohn Baldwin	rorl	$4,%edx
2194bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%esi
2195bc3d5698SJohn Baldwin	movb	%dl,%bl
2196bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%esi
2197bc3d5698SJohn Baldwin	movb	%dh,%cl
2198bc3d5698SJohn Baldwin	shrl	$16,%eax
2199bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%esi
2200bc3d5698SJohn Baldwin	movb	%ah,%bl
2201bc3d5698SJohn Baldwin	shrl	$16,%edx
2202bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%esi
2203bc3d5698SJohn Baldwin	movb	%dh,%cl
2204bc3d5698SJohn Baldwin	andl	$0xff,%eax
2205bc3d5698SJohn Baldwin	andl	$0xff,%edx
2206bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%esi
2207bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%esi
2208bc3d5698SJohn Baldwin	movl	(%esp),%ecx
2209bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%esi
2210bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%esi
2211bc3d5698SJohn Baldwin
2212bc3d5698SJohn Baldwin	movl	64(%ecx),%eax
2213bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
2214bc3d5698SJohn Baldwin	movl	68(%ecx),%edx
2215bc3d5698SJohn Baldwin	xorl	%esi,%eax
2216bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
2217bc3d5698SJohn Baldwin	xorl	%esi,%edx
2218bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
2219bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
2220bc3d5698SJohn Baldwin	movb	%al,%bl
2221bc3d5698SJohn Baldwin	movb	%ah,%cl
2222bc3d5698SJohn Baldwin	rorl	$4,%edx
2223bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%edi
2224bc3d5698SJohn Baldwin	movb	%dl,%bl
2225bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%edi
2226bc3d5698SJohn Baldwin	movb	%dh,%cl
2227bc3d5698SJohn Baldwin	shrl	$16,%eax
2228bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%edi
2229bc3d5698SJohn Baldwin	movb	%ah,%bl
2230bc3d5698SJohn Baldwin	shrl	$16,%edx
2231bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%edi
2232bc3d5698SJohn Baldwin	movb	%dh,%cl
2233bc3d5698SJohn Baldwin	andl	$0xff,%eax
2234bc3d5698SJohn Baldwin	andl	$0xff,%edx
2235bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%edi
2236bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%edi
2237bc3d5698SJohn Baldwin	movl	(%esp),%ecx
2238bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%edi
2239bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%edi
2240bc3d5698SJohn Baldwin
2241bc3d5698SJohn Baldwin	movl	72(%ecx),%eax
2242bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
2243bc3d5698SJohn Baldwin	movl	76(%ecx),%edx
2244bc3d5698SJohn Baldwin	xorl	%edi,%eax
2245bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
2246bc3d5698SJohn Baldwin	xorl	%edi,%edx
2247bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
2248bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
2249bc3d5698SJohn Baldwin	movb	%al,%bl
2250bc3d5698SJohn Baldwin	movb	%ah,%cl
2251bc3d5698SJohn Baldwin	rorl	$4,%edx
2252bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%esi
2253bc3d5698SJohn Baldwin	movb	%dl,%bl
2254bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%esi
2255bc3d5698SJohn Baldwin	movb	%dh,%cl
2256bc3d5698SJohn Baldwin	shrl	$16,%eax
2257bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%esi
2258bc3d5698SJohn Baldwin	movb	%ah,%bl
2259bc3d5698SJohn Baldwin	shrl	$16,%edx
2260bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%esi
2261bc3d5698SJohn Baldwin	movb	%dh,%cl
2262bc3d5698SJohn Baldwin	andl	$0xff,%eax
2263bc3d5698SJohn Baldwin	andl	$0xff,%edx
2264bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%esi
2265bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%esi
2266bc3d5698SJohn Baldwin	movl	(%esp),%ecx
2267bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%esi
2268bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%esi
2269bc3d5698SJohn Baldwin
2270bc3d5698SJohn Baldwin	movl	80(%ecx),%eax
2271bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
2272bc3d5698SJohn Baldwin	movl	84(%ecx),%edx
2273bc3d5698SJohn Baldwin	xorl	%esi,%eax
2274bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
2275bc3d5698SJohn Baldwin	xorl	%esi,%edx
2276bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
2277bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
2278bc3d5698SJohn Baldwin	movb	%al,%bl
2279bc3d5698SJohn Baldwin	movb	%ah,%cl
2280bc3d5698SJohn Baldwin	rorl	$4,%edx
2281bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%edi
2282bc3d5698SJohn Baldwin	movb	%dl,%bl
2283bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%edi
2284bc3d5698SJohn Baldwin	movb	%dh,%cl
2285bc3d5698SJohn Baldwin	shrl	$16,%eax
2286bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%edi
2287bc3d5698SJohn Baldwin	movb	%ah,%bl
2288bc3d5698SJohn Baldwin	shrl	$16,%edx
2289bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%edi
2290bc3d5698SJohn Baldwin	movb	%dh,%cl
2291bc3d5698SJohn Baldwin	andl	$0xff,%eax
2292bc3d5698SJohn Baldwin	andl	$0xff,%edx
2293bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%edi
2294bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%edi
2295bc3d5698SJohn Baldwin	movl	(%esp),%ecx
2296bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%edi
2297bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%edi
2298bc3d5698SJohn Baldwin
2299bc3d5698SJohn Baldwin	movl	88(%ecx),%eax
2300bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
2301bc3d5698SJohn Baldwin	movl	92(%ecx),%edx
2302bc3d5698SJohn Baldwin	xorl	%edi,%eax
2303bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
2304bc3d5698SJohn Baldwin	xorl	%edi,%edx
2305bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
2306bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
2307bc3d5698SJohn Baldwin	movb	%al,%bl
2308bc3d5698SJohn Baldwin	movb	%ah,%cl
2309bc3d5698SJohn Baldwin	rorl	$4,%edx
2310bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%esi
2311bc3d5698SJohn Baldwin	movb	%dl,%bl
2312bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%esi
2313bc3d5698SJohn Baldwin	movb	%dh,%cl
2314bc3d5698SJohn Baldwin	shrl	$16,%eax
2315bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%esi
2316bc3d5698SJohn Baldwin	movb	%ah,%bl
2317bc3d5698SJohn Baldwin	shrl	$16,%edx
2318bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%esi
2319bc3d5698SJohn Baldwin	movb	%dh,%cl
2320bc3d5698SJohn Baldwin	andl	$0xff,%eax
2321bc3d5698SJohn Baldwin	andl	$0xff,%edx
2322bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%esi
2323bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%esi
2324bc3d5698SJohn Baldwin	movl	(%esp),%ecx
2325bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%esi
2326bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%esi
2327bc3d5698SJohn Baldwin
2328bc3d5698SJohn Baldwin	movl	96(%ecx),%eax
2329bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
2330bc3d5698SJohn Baldwin	movl	100(%ecx),%edx
2331bc3d5698SJohn Baldwin	xorl	%esi,%eax
2332bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
2333bc3d5698SJohn Baldwin	xorl	%esi,%edx
2334bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
2335bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
2336bc3d5698SJohn Baldwin	movb	%al,%bl
2337bc3d5698SJohn Baldwin	movb	%ah,%cl
2338bc3d5698SJohn Baldwin	rorl	$4,%edx
2339bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%edi
2340bc3d5698SJohn Baldwin	movb	%dl,%bl
2341bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%edi
2342bc3d5698SJohn Baldwin	movb	%dh,%cl
2343bc3d5698SJohn Baldwin	shrl	$16,%eax
2344bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%edi
2345bc3d5698SJohn Baldwin	movb	%ah,%bl
2346bc3d5698SJohn Baldwin	shrl	$16,%edx
2347bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%edi
2348bc3d5698SJohn Baldwin	movb	%dh,%cl
2349bc3d5698SJohn Baldwin	andl	$0xff,%eax
2350bc3d5698SJohn Baldwin	andl	$0xff,%edx
2351bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%edi
2352bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%edi
2353bc3d5698SJohn Baldwin	movl	(%esp),%ecx
2354bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%edi
2355bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%edi
2356bc3d5698SJohn Baldwin
2357bc3d5698SJohn Baldwin	movl	104(%ecx),%eax
2358bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
2359bc3d5698SJohn Baldwin	movl	108(%ecx),%edx
2360bc3d5698SJohn Baldwin	xorl	%edi,%eax
2361bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
2362bc3d5698SJohn Baldwin	xorl	%edi,%edx
2363bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
2364bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
2365bc3d5698SJohn Baldwin	movb	%al,%bl
2366bc3d5698SJohn Baldwin	movb	%ah,%cl
2367bc3d5698SJohn Baldwin	rorl	$4,%edx
2368bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%esi
2369bc3d5698SJohn Baldwin	movb	%dl,%bl
2370bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%esi
2371bc3d5698SJohn Baldwin	movb	%dh,%cl
2372bc3d5698SJohn Baldwin	shrl	$16,%eax
2373bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%esi
2374bc3d5698SJohn Baldwin	movb	%ah,%bl
2375bc3d5698SJohn Baldwin	shrl	$16,%edx
2376bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%esi
2377bc3d5698SJohn Baldwin	movb	%dh,%cl
2378bc3d5698SJohn Baldwin	andl	$0xff,%eax
2379bc3d5698SJohn Baldwin	andl	$0xff,%edx
2380bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%esi
2381bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%esi
2382bc3d5698SJohn Baldwin	movl	(%esp),%ecx
2383bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%esi
2384bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%esi
2385bc3d5698SJohn Baldwin
2386bc3d5698SJohn Baldwin	movl	112(%ecx),%eax
2387bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
2388bc3d5698SJohn Baldwin	movl	116(%ecx),%edx
2389bc3d5698SJohn Baldwin	xorl	%esi,%eax
2390bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
2391bc3d5698SJohn Baldwin	xorl	%esi,%edx
2392bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
2393bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
2394bc3d5698SJohn Baldwin	movb	%al,%bl
2395bc3d5698SJohn Baldwin	movb	%ah,%cl
2396bc3d5698SJohn Baldwin	rorl	$4,%edx
2397bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%edi
2398bc3d5698SJohn Baldwin	movb	%dl,%bl
2399bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%edi
2400bc3d5698SJohn Baldwin	movb	%dh,%cl
2401bc3d5698SJohn Baldwin	shrl	$16,%eax
2402bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%edi
2403bc3d5698SJohn Baldwin	movb	%ah,%bl
2404bc3d5698SJohn Baldwin	shrl	$16,%edx
2405bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%edi
2406bc3d5698SJohn Baldwin	movb	%dh,%cl
2407bc3d5698SJohn Baldwin	andl	$0xff,%eax
2408bc3d5698SJohn Baldwin	andl	$0xff,%edx
2409bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%edi
2410bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%edi
2411bc3d5698SJohn Baldwin	movl	(%esp),%ecx
2412bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%edi
2413bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%edi
2414bc3d5698SJohn Baldwin
2415bc3d5698SJohn Baldwin	movl	120(%ecx),%eax
2416bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
2417bc3d5698SJohn Baldwin	movl	124(%ecx),%edx
2418bc3d5698SJohn Baldwin	xorl	%edi,%eax
2419bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
2420bc3d5698SJohn Baldwin	xorl	%edi,%edx
2421bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
2422bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
2423bc3d5698SJohn Baldwin	movb	%al,%bl
2424bc3d5698SJohn Baldwin	movb	%ah,%cl
2425bc3d5698SJohn Baldwin	rorl	$4,%edx
2426bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%esi
2427bc3d5698SJohn Baldwin	movb	%dl,%bl
2428bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%esi
2429bc3d5698SJohn Baldwin	movb	%dh,%cl
2430bc3d5698SJohn Baldwin	shrl	$16,%eax
2431bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%esi
2432bc3d5698SJohn Baldwin	movb	%ah,%bl
2433bc3d5698SJohn Baldwin	shrl	$16,%edx
2434bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%esi
2435bc3d5698SJohn Baldwin	movb	%dh,%cl
2436bc3d5698SJohn Baldwin	andl	$0xff,%eax
2437bc3d5698SJohn Baldwin	andl	$0xff,%edx
2438bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%esi
2439bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%esi
2440bc3d5698SJohn Baldwin	movl	(%esp),%ecx
2441bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%esi
2442bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%esi
2443bc3d5698SJohn Baldwin	addl	$4,%esp
2444bc3d5698SJohn Baldwin	ret
2445bc3d5698SJohn Baldwin.size	_x86_DES_encrypt,.-_x86_DES_encrypt
2446bc3d5698SJohn Baldwin.type	_x86_DES_decrypt,@function
2447bc3d5698SJohn Baldwin.align	16
2448bc3d5698SJohn Baldwin_x86_DES_decrypt:
2449*c0855eaaSJohn Baldwin	#ifdef __CET__
2450*c0855eaaSJohn Baldwin
2451*c0855eaaSJohn Baldwin.byte	243,15,30,251
2452*c0855eaaSJohn Baldwin	#endif
2453*c0855eaaSJohn Baldwin
2454bc3d5698SJohn Baldwin	pushl	%ecx
2455bc3d5698SJohn Baldwin
2456bc3d5698SJohn Baldwin	movl	120(%ecx),%eax
2457bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
2458bc3d5698SJohn Baldwin	movl	124(%ecx),%edx
2459bc3d5698SJohn Baldwin	xorl	%esi,%eax
2460bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
2461bc3d5698SJohn Baldwin	xorl	%esi,%edx
2462bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
2463bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
2464bc3d5698SJohn Baldwin	movb	%al,%bl
2465bc3d5698SJohn Baldwin	movb	%ah,%cl
2466bc3d5698SJohn Baldwin	rorl	$4,%edx
2467bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%edi
2468bc3d5698SJohn Baldwin	movb	%dl,%bl
2469bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%edi
2470bc3d5698SJohn Baldwin	movb	%dh,%cl
2471bc3d5698SJohn Baldwin	shrl	$16,%eax
2472bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%edi
2473bc3d5698SJohn Baldwin	movb	%ah,%bl
2474bc3d5698SJohn Baldwin	shrl	$16,%edx
2475bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%edi
2476bc3d5698SJohn Baldwin	movb	%dh,%cl
2477bc3d5698SJohn Baldwin	andl	$0xff,%eax
2478bc3d5698SJohn Baldwin	andl	$0xff,%edx
2479bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%edi
2480bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%edi
2481bc3d5698SJohn Baldwin	movl	(%esp),%ecx
2482bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%edi
2483bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%edi
2484bc3d5698SJohn Baldwin
2485bc3d5698SJohn Baldwin	movl	112(%ecx),%eax
2486bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
2487bc3d5698SJohn Baldwin	movl	116(%ecx),%edx
2488bc3d5698SJohn Baldwin	xorl	%edi,%eax
2489bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
2490bc3d5698SJohn Baldwin	xorl	%edi,%edx
2491bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
2492bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
2493bc3d5698SJohn Baldwin	movb	%al,%bl
2494bc3d5698SJohn Baldwin	movb	%ah,%cl
2495bc3d5698SJohn Baldwin	rorl	$4,%edx
2496bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%esi
2497bc3d5698SJohn Baldwin	movb	%dl,%bl
2498bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%esi
2499bc3d5698SJohn Baldwin	movb	%dh,%cl
2500bc3d5698SJohn Baldwin	shrl	$16,%eax
2501bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%esi
2502bc3d5698SJohn Baldwin	movb	%ah,%bl
2503bc3d5698SJohn Baldwin	shrl	$16,%edx
2504bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%esi
2505bc3d5698SJohn Baldwin	movb	%dh,%cl
2506bc3d5698SJohn Baldwin	andl	$0xff,%eax
2507bc3d5698SJohn Baldwin	andl	$0xff,%edx
2508bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%esi
2509bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%esi
2510bc3d5698SJohn Baldwin	movl	(%esp),%ecx
2511bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%esi
2512bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%esi
2513bc3d5698SJohn Baldwin
2514bc3d5698SJohn Baldwin	movl	104(%ecx),%eax
2515bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
2516bc3d5698SJohn Baldwin	movl	108(%ecx),%edx
2517bc3d5698SJohn Baldwin	xorl	%esi,%eax
2518bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
2519bc3d5698SJohn Baldwin	xorl	%esi,%edx
2520bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
2521bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
2522bc3d5698SJohn Baldwin	movb	%al,%bl
2523bc3d5698SJohn Baldwin	movb	%ah,%cl
2524bc3d5698SJohn Baldwin	rorl	$4,%edx
2525bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%edi
2526bc3d5698SJohn Baldwin	movb	%dl,%bl
2527bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%edi
2528bc3d5698SJohn Baldwin	movb	%dh,%cl
2529bc3d5698SJohn Baldwin	shrl	$16,%eax
2530bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%edi
2531bc3d5698SJohn Baldwin	movb	%ah,%bl
2532bc3d5698SJohn Baldwin	shrl	$16,%edx
2533bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%edi
2534bc3d5698SJohn Baldwin	movb	%dh,%cl
2535bc3d5698SJohn Baldwin	andl	$0xff,%eax
2536bc3d5698SJohn Baldwin	andl	$0xff,%edx
2537bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%edi
2538bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%edi
2539bc3d5698SJohn Baldwin	movl	(%esp),%ecx
2540bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%edi
2541bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%edi
2542bc3d5698SJohn Baldwin
2543bc3d5698SJohn Baldwin	movl	96(%ecx),%eax
2544bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
2545bc3d5698SJohn Baldwin	movl	100(%ecx),%edx
2546bc3d5698SJohn Baldwin	xorl	%edi,%eax
2547bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
2548bc3d5698SJohn Baldwin	xorl	%edi,%edx
2549bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
2550bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
2551bc3d5698SJohn Baldwin	movb	%al,%bl
2552bc3d5698SJohn Baldwin	movb	%ah,%cl
2553bc3d5698SJohn Baldwin	rorl	$4,%edx
2554bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%esi
2555bc3d5698SJohn Baldwin	movb	%dl,%bl
2556bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%esi
2557bc3d5698SJohn Baldwin	movb	%dh,%cl
2558bc3d5698SJohn Baldwin	shrl	$16,%eax
2559bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%esi
2560bc3d5698SJohn Baldwin	movb	%ah,%bl
2561bc3d5698SJohn Baldwin	shrl	$16,%edx
2562bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%esi
2563bc3d5698SJohn Baldwin	movb	%dh,%cl
2564bc3d5698SJohn Baldwin	andl	$0xff,%eax
2565bc3d5698SJohn Baldwin	andl	$0xff,%edx
2566bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%esi
2567bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%esi
2568bc3d5698SJohn Baldwin	movl	(%esp),%ecx
2569bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%esi
2570bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%esi
2571bc3d5698SJohn Baldwin
2572bc3d5698SJohn Baldwin	movl	88(%ecx),%eax
2573bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
2574bc3d5698SJohn Baldwin	movl	92(%ecx),%edx
2575bc3d5698SJohn Baldwin	xorl	%esi,%eax
2576bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
2577bc3d5698SJohn Baldwin	xorl	%esi,%edx
2578bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
2579bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
2580bc3d5698SJohn Baldwin	movb	%al,%bl
2581bc3d5698SJohn Baldwin	movb	%ah,%cl
2582bc3d5698SJohn Baldwin	rorl	$4,%edx
2583bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%edi
2584bc3d5698SJohn Baldwin	movb	%dl,%bl
2585bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%edi
2586bc3d5698SJohn Baldwin	movb	%dh,%cl
2587bc3d5698SJohn Baldwin	shrl	$16,%eax
2588bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%edi
2589bc3d5698SJohn Baldwin	movb	%ah,%bl
2590bc3d5698SJohn Baldwin	shrl	$16,%edx
2591bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%edi
2592bc3d5698SJohn Baldwin	movb	%dh,%cl
2593bc3d5698SJohn Baldwin	andl	$0xff,%eax
2594bc3d5698SJohn Baldwin	andl	$0xff,%edx
2595bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%edi
2596bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%edi
2597bc3d5698SJohn Baldwin	movl	(%esp),%ecx
2598bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%edi
2599bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%edi
2600bc3d5698SJohn Baldwin
2601bc3d5698SJohn Baldwin	movl	80(%ecx),%eax
2602bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
2603bc3d5698SJohn Baldwin	movl	84(%ecx),%edx
2604bc3d5698SJohn Baldwin	xorl	%edi,%eax
2605bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
2606bc3d5698SJohn Baldwin	xorl	%edi,%edx
2607bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
2608bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
2609bc3d5698SJohn Baldwin	movb	%al,%bl
2610bc3d5698SJohn Baldwin	movb	%ah,%cl
2611bc3d5698SJohn Baldwin	rorl	$4,%edx
2612bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%esi
2613bc3d5698SJohn Baldwin	movb	%dl,%bl
2614bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%esi
2615bc3d5698SJohn Baldwin	movb	%dh,%cl
2616bc3d5698SJohn Baldwin	shrl	$16,%eax
2617bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%esi
2618bc3d5698SJohn Baldwin	movb	%ah,%bl
2619bc3d5698SJohn Baldwin	shrl	$16,%edx
2620bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%esi
2621bc3d5698SJohn Baldwin	movb	%dh,%cl
2622bc3d5698SJohn Baldwin	andl	$0xff,%eax
2623bc3d5698SJohn Baldwin	andl	$0xff,%edx
2624bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%esi
2625bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%esi
2626bc3d5698SJohn Baldwin	movl	(%esp),%ecx
2627bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%esi
2628bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%esi
2629bc3d5698SJohn Baldwin
2630bc3d5698SJohn Baldwin	movl	72(%ecx),%eax
2631bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
2632bc3d5698SJohn Baldwin	movl	76(%ecx),%edx
2633bc3d5698SJohn Baldwin	xorl	%esi,%eax
2634bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
2635bc3d5698SJohn Baldwin	xorl	%esi,%edx
2636bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
2637bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
2638bc3d5698SJohn Baldwin	movb	%al,%bl
2639bc3d5698SJohn Baldwin	movb	%ah,%cl
2640bc3d5698SJohn Baldwin	rorl	$4,%edx
2641bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%edi
2642bc3d5698SJohn Baldwin	movb	%dl,%bl
2643bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%edi
2644bc3d5698SJohn Baldwin	movb	%dh,%cl
2645bc3d5698SJohn Baldwin	shrl	$16,%eax
2646bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%edi
2647bc3d5698SJohn Baldwin	movb	%ah,%bl
2648bc3d5698SJohn Baldwin	shrl	$16,%edx
2649bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%edi
2650bc3d5698SJohn Baldwin	movb	%dh,%cl
2651bc3d5698SJohn Baldwin	andl	$0xff,%eax
2652bc3d5698SJohn Baldwin	andl	$0xff,%edx
2653bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%edi
2654bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%edi
2655bc3d5698SJohn Baldwin	movl	(%esp),%ecx
2656bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%edi
2657bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%edi
2658bc3d5698SJohn Baldwin
2659bc3d5698SJohn Baldwin	movl	64(%ecx),%eax
2660bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
2661bc3d5698SJohn Baldwin	movl	68(%ecx),%edx
2662bc3d5698SJohn Baldwin	xorl	%edi,%eax
2663bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
2664bc3d5698SJohn Baldwin	xorl	%edi,%edx
2665bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
2666bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
2667bc3d5698SJohn Baldwin	movb	%al,%bl
2668bc3d5698SJohn Baldwin	movb	%ah,%cl
2669bc3d5698SJohn Baldwin	rorl	$4,%edx
2670bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%esi
2671bc3d5698SJohn Baldwin	movb	%dl,%bl
2672bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%esi
2673bc3d5698SJohn Baldwin	movb	%dh,%cl
2674bc3d5698SJohn Baldwin	shrl	$16,%eax
2675bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%esi
2676bc3d5698SJohn Baldwin	movb	%ah,%bl
2677bc3d5698SJohn Baldwin	shrl	$16,%edx
2678bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%esi
2679bc3d5698SJohn Baldwin	movb	%dh,%cl
2680bc3d5698SJohn Baldwin	andl	$0xff,%eax
2681bc3d5698SJohn Baldwin	andl	$0xff,%edx
2682bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%esi
2683bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%esi
2684bc3d5698SJohn Baldwin	movl	(%esp),%ecx
2685bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%esi
2686bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%esi
2687bc3d5698SJohn Baldwin
2688bc3d5698SJohn Baldwin	movl	56(%ecx),%eax
2689bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
2690bc3d5698SJohn Baldwin	movl	60(%ecx),%edx
2691bc3d5698SJohn Baldwin	xorl	%esi,%eax
2692bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
2693bc3d5698SJohn Baldwin	xorl	%esi,%edx
2694bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
2695bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
2696bc3d5698SJohn Baldwin	movb	%al,%bl
2697bc3d5698SJohn Baldwin	movb	%ah,%cl
2698bc3d5698SJohn Baldwin	rorl	$4,%edx
2699bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%edi
2700bc3d5698SJohn Baldwin	movb	%dl,%bl
2701bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%edi
2702bc3d5698SJohn Baldwin	movb	%dh,%cl
2703bc3d5698SJohn Baldwin	shrl	$16,%eax
2704bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%edi
2705bc3d5698SJohn Baldwin	movb	%ah,%bl
2706bc3d5698SJohn Baldwin	shrl	$16,%edx
2707bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%edi
2708bc3d5698SJohn Baldwin	movb	%dh,%cl
2709bc3d5698SJohn Baldwin	andl	$0xff,%eax
2710bc3d5698SJohn Baldwin	andl	$0xff,%edx
2711bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%edi
2712bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%edi
2713bc3d5698SJohn Baldwin	movl	(%esp),%ecx
2714bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%edi
2715bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%edi
2716bc3d5698SJohn Baldwin
2717bc3d5698SJohn Baldwin	movl	48(%ecx),%eax
2718bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
2719bc3d5698SJohn Baldwin	movl	52(%ecx),%edx
2720bc3d5698SJohn Baldwin	xorl	%edi,%eax
2721bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
2722bc3d5698SJohn Baldwin	xorl	%edi,%edx
2723bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
2724bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
2725bc3d5698SJohn Baldwin	movb	%al,%bl
2726bc3d5698SJohn Baldwin	movb	%ah,%cl
2727bc3d5698SJohn Baldwin	rorl	$4,%edx
2728bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%esi
2729bc3d5698SJohn Baldwin	movb	%dl,%bl
2730bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%esi
2731bc3d5698SJohn Baldwin	movb	%dh,%cl
2732bc3d5698SJohn Baldwin	shrl	$16,%eax
2733bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%esi
2734bc3d5698SJohn Baldwin	movb	%ah,%bl
2735bc3d5698SJohn Baldwin	shrl	$16,%edx
2736bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%esi
2737bc3d5698SJohn Baldwin	movb	%dh,%cl
2738bc3d5698SJohn Baldwin	andl	$0xff,%eax
2739bc3d5698SJohn Baldwin	andl	$0xff,%edx
2740bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%esi
2741bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%esi
2742bc3d5698SJohn Baldwin	movl	(%esp),%ecx
2743bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%esi
2744bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%esi
2745bc3d5698SJohn Baldwin
2746bc3d5698SJohn Baldwin	movl	40(%ecx),%eax
2747bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
2748bc3d5698SJohn Baldwin	movl	44(%ecx),%edx
2749bc3d5698SJohn Baldwin	xorl	%esi,%eax
2750bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
2751bc3d5698SJohn Baldwin	xorl	%esi,%edx
2752bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
2753bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
2754bc3d5698SJohn Baldwin	movb	%al,%bl
2755bc3d5698SJohn Baldwin	movb	%ah,%cl
2756bc3d5698SJohn Baldwin	rorl	$4,%edx
2757bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%edi
2758bc3d5698SJohn Baldwin	movb	%dl,%bl
2759bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%edi
2760bc3d5698SJohn Baldwin	movb	%dh,%cl
2761bc3d5698SJohn Baldwin	shrl	$16,%eax
2762bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%edi
2763bc3d5698SJohn Baldwin	movb	%ah,%bl
2764bc3d5698SJohn Baldwin	shrl	$16,%edx
2765bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%edi
2766bc3d5698SJohn Baldwin	movb	%dh,%cl
2767bc3d5698SJohn Baldwin	andl	$0xff,%eax
2768bc3d5698SJohn Baldwin	andl	$0xff,%edx
2769bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%edi
2770bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%edi
2771bc3d5698SJohn Baldwin	movl	(%esp),%ecx
2772bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%edi
2773bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%edi
2774bc3d5698SJohn Baldwin
2775bc3d5698SJohn Baldwin	movl	32(%ecx),%eax
2776bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
2777bc3d5698SJohn Baldwin	movl	36(%ecx),%edx
2778bc3d5698SJohn Baldwin	xorl	%edi,%eax
2779bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
2780bc3d5698SJohn Baldwin	xorl	%edi,%edx
2781bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
2782bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
2783bc3d5698SJohn Baldwin	movb	%al,%bl
2784bc3d5698SJohn Baldwin	movb	%ah,%cl
2785bc3d5698SJohn Baldwin	rorl	$4,%edx
2786bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%esi
2787bc3d5698SJohn Baldwin	movb	%dl,%bl
2788bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%esi
2789bc3d5698SJohn Baldwin	movb	%dh,%cl
2790bc3d5698SJohn Baldwin	shrl	$16,%eax
2791bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%esi
2792bc3d5698SJohn Baldwin	movb	%ah,%bl
2793bc3d5698SJohn Baldwin	shrl	$16,%edx
2794bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%esi
2795bc3d5698SJohn Baldwin	movb	%dh,%cl
2796bc3d5698SJohn Baldwin	andl	$0xff,%eax
2797bc3d5698SJohn Baldwin	andl	$0xff,%edx
2798bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%esi
2799bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%esi
2800bc3d5698SJohn Baldwin	movl	(%esp),%ecx
2801bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%esi
2802bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%esi
2803bc3d5698SJohn Baldwin
2804bc3d5698SJohn Baldwin	movl	24(%ecx),%eax
2805bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
2806bc3d5698SJohn Baldwin	movl	28(%ecx),%edx
2807bc3d5698SJohn Baldwin	xorl	%esi,%eax
2808bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
2809bc3d5698SJohn Baldwin	xorl	%esi,%edx
2810bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
2811bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
2812bc3d5698SJohn Baldwin	movb	%al,%bl
2813bc3d5698SJohn Baldwin	movb	%ah,%cl
2814bc3d5698SJohn Baldwin	rorl	$4,%edx
2815bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%edi
2816bc3d5698SJohn Baldwin	movb	%dl,%bl
2817bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%edi
2818bc3d5698SJohn Baldwin	movb	%dh,%cl
2819bc3d5698SJohn Baldwin	shrl	$16,%eax
2820bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%edi
2821bc3d5698SJohn Baldwin	movb	%ah,%bl
2822bc3d5698SJohn Baldwin	shrl	$16,%edx
2823bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%edi
2824bc3d5698SJohn Baldwin	movb	%dh,%cl
2825bc3d5698SJohn Baldwin	andl	$0xff,%eax
2826bc3d5698SJohn Baldwin	andl	$0xff,%edx
2827bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%edi
2828bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%edi
2829bc3d5698SJohn Baldwin	movl	(%esp),%ecx
2830bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%edi
2831bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%edi
2832bc3d5698SJohn Baldwin
2833bc3d5698SJohn Baldwin	movl	16(%ecx),%eax
2834bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
2835bc3d5698SJohn Baldwin	movl	20(%ecx),%edx
2836bc3d5698SJohn Baldwin	xorl	%edi,%eax
2837bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
2838bc3d5698SJohn Baldwin	xorl	%edi,%edx
2839bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
2840bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
2841bc3d5698SJohn Baldwin	movb	%al,%bl
2842bc3d5698SJohn Baldwin	movb	%ah,%cl
2843bc3d5698SJohn Baldwin	rorl	$4,%edx
2844bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%esi
2845bc3d5698SJohn Baldwin	movb	%dl,%bl
2846bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%esi
2847bc3d5698SJohn Baldwin	movb	%dh,%cl
2848bc3d5698SJohn Baldwin	shrl	$16,%eax
2849bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%esi
2850bc3d5698SJohn Baldwin	movb	%ah,%bl
2851bc3d5698SJohn Baldwin	shrl	$16,%edx
2852bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%esi
2853bc3d5698SJohn Baldwin	movb	%dh,%cl
2854bc3d5698SJohn Baldwin	andl	$0xff,%eax
2855bc3d5698SJohn Baldwin	andl	$0xff,%edx
2856bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%esi
2857bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%esi
2858bc3d5698SJohn Baldwin	movl	(%esp),%ecx
2859bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%esi
2860bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%esi
2861bc3d5698SJohn Baldwin
2862bc3d5698SJohn Baldwin	movl	8(%ecx),%eax
2863bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
2864bc3d5698SJohn Baldwin	movl	12(%ecx),%edx
2865bc3d5698SJohn Baldwin	xorl	%esi,%eax
2866bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
2867bc3d5698SJohn Baldwin	xorl	%esi,%edx
2868bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
2869bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
2870bc3d5698SJohn Baldwin	movb	%al,%bl
2871bc3d5698SJohn Baldwin	movb	%ah,%cl
2872bc3d5698SJohn Baldwin	rorl	$4,%edx
2873bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%edi
2874bc3d5698SJohn Baldwin	movb	%dl,%bl
2875bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%edi
2876bc3d5698SJohn Baldwin	movb	%dh,%cl
2877bc3d5698SJohn Baldwin	shrl	$16,%eax
2878bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%edi
2879bc3d5698SJohn Baldwin	movb	%ah,%bl
2880bc3d5698SJohn Baldwin	shrl	$16,%edx
2881bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%edi
2882bc3d5698SJohn Baldwin	movb	%dh,%cl
2883bc3d5698SJohn Baldwin	andl	$0xff,%eax
2884bc3d5698SJohn Baldwin	andl	$0xff,%edx
2885bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%edi
2886bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%edi
2887bc3d5698SJohn Baldwin	movl	(%esp),%ecx
2888bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%edi
2889bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%edi
2890bc3d5698SJohn Baldwin
2891bc3d5698SJohn Baldwin	movl	(%ecx),%eax
2892bc3d5698SJohn Baldwin	xorl	%ebx,%ebx
2893bc3d5698SJohn Baldwin	movl	4(%ecx),%edx
2894bc3d5698SJohn Baldwin	xorl	%edi,%eax
2895bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
2896bc3d5698SJohn Baldwin	xorl	%edi,%edx
2897bc3d5698SJohn Baldwin	andl	$0xfcfcfcfc,%eax
2898bc3d5698SJohn Baldwin	andl	$0xcfcfcfcf,%edx
2899bc3d5698SJohn Baldwin	movb	%al,%bl
2900bc3d5698SJohn Baldwin	movb	%ah,%cl
2901bc3d5698SJohn Baldwin	rorl	$4,%edx
2902bc3d5698SJohn Baldwin	xorl	(%ebp,%ebx,1),%esi
2903bc3d5698SJohn Baldwin	movb	%dl,%bl
2904bc3d5698SJohn Baldwin	xorl	0x200(%ebp,%ecx,1),%esi
2905bc3d5698SJohn Baldwin	movb	%dh,%cl
2906bc3d5698SJohn Baldwin	shrl	$16,%eax
2907bc3d5698SJohn Baldwin	xorl	0x100(%ebp,%ebx,1),%esi
2908bc3d5698SJohn Baldwin	movb	%ah,%bl
2909bc3d5698SJohn Baldwin	shrl	$16,%edx
2910bc3d5698SJohn Baldwin	xorl	0x300(%ebp,%ecx,1),%esi
2911bc3d5698SJohn Baldwin	movb	%dh,%cl
2912bc3d5698SJohn Baldwin	andl	$0xff,%eax
2913bc3d5698SJohn Baldwin	andl	$0xff,%edx
2914bc3d5698SJohn Baldwin	xorl	0x600(%ebp,%ebx,1),%esi
2915bc3d5698SJohn Baldwin	xorl	0x700(%ebp,%ecx,1),%esi
2916bc3d5698SJohn Baldwin	movl	(%esp),%ecx
2917bc3d5698SJohn Baldwin	xorl	0x400(%ebp,%eax,1),%esi
2918bc3d5698SJohn Baldwin	xorl	0x500(%ebp,%edx,1),%esi
2919bc3d5698SJohn Baldwin	addl	$4,%esp
2920bc3d5698SJohn Baldwin	ret
2921bc3d5698SJohn Baldwin.size	_x86_DES_decrypt,.-_x86_DES_decrypt
2922bc3d5698SJohn Baldwin.globl	DES_encrypt1
2923bc3d5698SJohn Baldwin.type	DES_encrypt1,@function
2924bc3d5698SJohn Baldwin.align	16
2925bc3d5698SJohn BaldwinDES_encrypt1:
2926bc3d5698SJohn Baldwin.L_DES_encrypt1_begin:
2927*c0855eaaSJohn Baldwin	#ifdef __CET__
2928*c0855eaaSJohn Baldwin
2929*c0855eaaSJohn Baldwin.byte	243,15,30,251
2930*c0855eaaSJohn Baldwin	#endif
2931*c0855eaaSJohn Baldwin
2932bc3d5698SJohn Baldwin	pushl	%esi
2933bc3d5698SJohn Baldwin	pushl	%edi
2934bc3d5698SJohn Baldwin
2935bc3d5698SJohn Baldwin
2936bc3d5698SJohn Baldwin	movl	12(%esp),%esi
2937bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
2938bc3d5698SJohn Baldwin	pushl	%ebx
2939bc3d5698SJohn Baldwin	pushl	%ebp
2940bc3d5698SJohn Baldwin	movl	(%esi),%eax
2941bc3d5698SJohn Baldwin	movl	28(%esp),%ebx
2942bc3d5698SJohn Baldwin	movl	4(%esi),%edi
2943bc3d5698SJohn Baldwin
2944bc3d5698SJohn Baldwin
2945bc3d5698SJohn Baldwin	roll	$4,%eax
2946bc3d5698SJohn Baldwin	movl	%eax,%esi
2947bc3d5698SJohn Baldwin	xorl	%edi,%eax
2948bc3d5698SJohn Baldwin	andl	$0xf0f0f0f0,%eax
2949bc3d5698SJohn Baldwin	xorl	%eax,%esi
2950bc3d5698SJohn Baldwin	xorl	%eax,%edi
2951bc3d5698SJohn Baldwin
2952bc3d5698SJohn Baldwin	roll	$20,%edi
2953bc3d5698SJohn Baldwin	movl	%edi,%eax
2954bc3d5698SJohn Baldwin	xorl	%esi,%edi
2955bc3d5698SJohn Baldwin	andl	$0xfff0000f,%edi
2956bc3d5698SJohn Baldwin	xorl	%edi,%eax
2957bc3d5698SJohn Baldwin	xorl	%edi,%esi
2958bc3d5698SJohn Baldwin
2959bc3d5698SJohn Baldwin	roll	$14,%eax
2960bc3d5698SJohn Baldwin	movl	%eax,%edi
2961bc3d5698SJohn Baldwin	xorl	%esi,%eax
2962bc3d5698SJohn Baldwin	andl	$0x33333333,%eax
2963bc3d5698SJohn Baldwin	xorl	%eax,%edi
2964bc3d5698SJohn Baldwin	xorl	%eax,%esi
2965bc3d5698SJohn Baldwin
2966bc3d5698SJohn Baldwin	roll	$22,%esi
2967bc3d5698SJohn Baldwin	movl	%esi,%eax
2968bc3d5698SJohn Baldwin	xorl	%edi,%esi
2969bc3d5698SJohn Baldwin	andl	$0x03fc03fc,%esi
2970bc3d5698SJohn Baldwin	xorl	%esi,%eax
2971bc3d5698SJohn Baldwin	xorl	%esi,%edi
2972bc3d5698SJohn Baldwin
2973bc3d5698SJohn Baldwin	roll	$9,%eax
2974bc3d5698SJohn Baldwin	movl	%eax,%esi
2975bc3d5698SJohn Baldwin	xorl	%edi,%eax
2976bc3d5698SJohn Baldwin	andl	$0xaaaaaaaa,%eax
2977bc3d5698SJohn Baldwin	xorl	%eax,%esi
2978bc3d5698SJohn Baldwin	xorl	%eax,%edi
2979bc3d5698SJohn Baldwin
2980bc3d5698SJohn Baldwin	roll	$1,%edi
2981bc3d5698SJohn Baldwin	call	.L000pic_point
2982bc3d5698SJohn Baldwin.L000pic_point:
2983bc3d5698SJohn Baldwin	popl	%ebp
2984bc3d5698SJohn Baldwin	leal	.Ldes_sptrans-.L000pic_point(%ebp),%ebp
2985bc3d5698SJohn Baldwin	movl	24(%esp),%ecx
2986bc3d5698SJohn Baldwin	cmpl	$0,%ebx
2987bc3d5698SJohn Baldwin	je	.L001decrypt
2988bc3d5698SJohn Baldwin	call	_x86_DES_encrypt
2989bc3d5698SJohn Baldwin	jmp	.L002done
2990bc3d5698SJohn Baldwin.L001decrypt:
2991bc3d5698SJohn Baldwin	call	_x86_DES_decrypt
2992bc3d5698SJohn Baldwin.L002done:
2993bc3d5698SJohn Baldwin
2994bc3d5698SJohn Baldwin
2995bc3d5698SJohn Baldwin	movl	20(%esp),%edx
2996bc3d5698SJohn Baldwin	rorl	$1,%esi
2997bc3d5698SJohn Baldwin	movl	%edi,%eax
2998bc3d5698SJohn Baldwin	xorl	%esi,%edi
2999bc3d5698SJohn Baldwin	andl	$0xaaaaaaaa,%edi
3000bc3d5698SJohn Baldwin	xorl	%edi,%eax
3001bc3d5698SJohn Baldwin	xorl	%edi,%esi
3002bc3d5698SJohn Baldwin
3003bc3d5698SJohn Baldwin	roll	$23,%eax
3004bc3d5698SJohn Baldwin	movl	%eax,%edi
3005bc3d5698SJohn Baldwin	xorl	%esi,%eax
3006bc3d5698SJohn Baldwin	andl	$0x03fc03fc,%eax
3007bc3d5698SJohn Baldwin	xorl	%eax,%edi
3008bc3d5698SJohn Baldwin	xorl	%eax,%esi
3009bc3d5698SJohn Baldwin
3010bc3d5698SJohn Baldwin	roll	$10,%edi
3011bc3d5698SJohn Baldwin	movl	%edi,%eax
3012bc3d5698SJohn Baldwin	xorl	%esi,%edi
3013bc3d5698SJohn Baldwin	andl	$0x33333333,%edi
3014bc3d5698SJohn Baldwin	xorl	%edi,%eax
3015bc3d5698SJohn Baldwin	xorl	%edi,%esi
3016bc3d5698SJohn Baldwin
3017bc3d5698SJohn Baldwin	roll	$18,%esi
3018bc3d5698SJohn Baldwin	movl	%esi,%edi
3019bc3d5698SJohn Baldwin	xorl	%eax,%esi
3020bc3d5698SJohn Baldwin	andl	$0xfff0000f,%esi
3021bc3d5698SJohn Baldwin	xorl	%esi,%edi
3022bc3d5698SJohn Baldwin	xorl	%esi,%eax
3023bc3d5698SJohn Baldwin
3024bc3d5698SJohn Baldwin	roll	$12,%edi
3025bc3d5698SJohn Baldwin	movl	%edi,%esi
3026bc3d5698SJohn Baldwin	xorl	%eax,%edi
3027bc3d5698SJohn Baldwin	andl	$0xf0f0f0f0,%edi
3028bc3d5698SJohn Baldwin	xorl	%edi,%esi
3029bc3d5698SJohn Baldwin	xorl	%edi,%eax
3030bc3d5698SJohn Baldwin
3031bc3d5698SJohn Baldwin	rorl	$4,%eax
3032bc3d5698SJohn Baldwin	movl	%eax,(%edx)
3033bc3d5698SJohn Baldwin	movl	%esi,4(%edx)
3034bc3d5698SJohn Baldwin	popl	%ebp
3035bc3d5698SJohn Baldwin	popl	%ebx
3036bc3d5698SJohn Baldwin	popl	%edi
3037bc3d5698SJohn Baldwin	popl	%esi
3038bc3d5698SJohn Baldwin	ret
3039bc3d5698SJohn Baldwin.size	DES_encrypt1,.-.L_DES_encrypt1_begin
3040bc3d5698SJohn Baldwin.globl	DES_encrypt2
3041bc3d5698SJohn Baldwin.type	DES_encrypt2,@function
3042bc3d5698SJohn Baldwin.align	16
3043bc3d5698SJohn BaldwinDES_encrypt2:
3044bc3d5698SJohn Baldwin.L_DES_encrypt2_begin:
3045*c0855eaaSJohn Baldwin	#ifdef __CET__
3046*c0855eaaSJohn Baldwin
3047*c0855eaaSJohn Baldwin.byte	243,15,30,251
3048*c0855eaaSJohn Baldwin	#endif
3049*c0855eaaSJohn Baldwin
3050bc3d5698SJohn Baldwin	pushl	%esi
3051bc3d5698SJohn Baldwin	pushl	%edi
3052bc3d5698SJohn Baldwin
3053bc3d5698SJohn Baldwin
3054bc3d5698SJohn Baldwin	movl	12(%esp),%eax
3055bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
3056bc3d5698SJohn Baldwin	pushl	%ebx
3057bc3d5698SJohn Baldwin	pushl	%ebp
3058bc3d5698SJohn Baldwin	movl	(%eax),%esi
3059bc3d5698SJohn Baldwin	movl	28(%esp),%ebx
3060bc3d5698SJohn Baldwin	roll	$3,%esi
3061bc3d5698SJohn Baldwin	movl	4(%eax),%edi
3062bc3d5698SJohn Baldwin	roll	$3,%edi
3063bc3d5698SJohn Baldwin	call	.L003pic_point
3064bc3d5698SJohn Baldwin.L003pic_point:
3065bc3d5698SJohn Baldwin	popl	%ebp
3066bc3d5698SJohn Baldwin	leal	.Ldes_sptrans-.L003pic_point(%ebp),%ebp
3067bc3d5698SJohn Baldwin	movl	24(%esp),%ecx
3068bc3d5698SJohn Baldwin	cmpl	$0,%ebx
3069bc3d5698SJohn Baldwin	je	.L004decrypt
3070bc3d5698SJohn Baldwin	call	_x86_DES_encrypt
3071bc3d5698SJohn Baldwin	jmp	.L005done
3072bc3d5698SJohn Baldwin.L004decrypt:
3073bc3d5698SJohn Baldwin	call	_x86_DES_decrypt
3074bc3d5698SJohn Baldwin.L005done:
3075bc3d5698SJohn Baldwin
3076bc3d5698SJohn Baldwin
3077bc3d5698SJohn Baldwin	rorl	$3,%edi
3078bc3d5698SJohn Baldwin	movl	20(%esp),%eax
3079bc3d5698SJohn Baldwin	rorl	$3,%esi
3080bc3d5698SJohn Baldwin	movl	%edi,(%eax)
3081bc3d5698SJohn Baldwin	movl	%esi,4(%eax)
3082bc3d5698SJohn Baldwin	popl	%ebp
3083bc3d5698SJohn Baldwin	popl	%ebx
3084bc3d5698SJohn Baldwin	popl	%edi
3085bc3d5698SJohn Baldwin	popl	%esi
3086bc3d5698SJohn Baldwin	ret
3087bc3d5698SJohn Baldwin.size	DES_encrypt2,.-.L_DES_encrypt2_begin
3088bc3d5698SJohn Baldwin.globl	DES_encrypt3
3089bc3d5698SJohn Baldwin.type	DES_encrypt3,@function
3090bc3d5698SJohn Baldwin.align	16
3091bc3d5698SJohn BaldwinDES_encrypt3:
3092bc3d5698SJohn Baldwin.L_DES_encrypt3_begin:
3093*c0855eaaSJohn Baldwin	#ifdef __CET__
3094*c0855eaaSJohn Baldwin
3095*c0855eaaSJohn Baldwin.byte	243,15,30,251
3096*c0855eaaSJohn Baldwin	#endif
3097*c0855eaaSJohn Baldwin
3098bc3d5698SJohn Baldwin	pushl	%ebx
3099bc3d5698SJohn Baldwin	movl	8(%esp),%ebx
3100bc3d5698SJohn Baldwin	pushl	%ebp
3101bc3d5698SJohn Baldwin	pushl	%esi
3102bc3d5698SJohn Baldwin	pushl	%edi
3103bc3d5698SJohn Baldwin
3104bc3d5698SJohn Baldwin
3105bc3d5698SJohn Baldwin	movl	(%ebx),%edi
3106bc3d5698SJohn Baldwin	movl	4(%ebx),%esi
3107bc3d5698SJohn Baldwin	subl	$12,%esp
3108bc3d5698SJohn Baldwin
3109bc3d5698SJohn Baldwin
3110bc3d5698SJohn Baldwin	roll	$4,%edi
3111bc3d5698SJohn Baldwin	movl	%edi,%edx
3112bc3d5698SJohn Baldwin	xorl	%esi,%edi
3113bc3d5698SJohn Baldwin	andl	$0xf0f0f0f0,%edi
3114bc3d5698SJohn Baldwin	xorl	%edi,%edx
3115bc3d5698SJohn Baldwin	xorl	%edi,%esi
3116bc3d5698SJohn Baldwin
3117bc3d5698SJohn Baldwin	roll	$20,%esi
3118bc3d5698SJohn Baldwin	movl	%esi,%edi
3119bc3d5698SJohn Baldwin	xorl	%edx,%esi
3120bc3d5698SJohn Baldwin	andl	$0xfff0000f,%esi
3121bc3d5698SJohn Baldwin	xorl	%esi,%edi
3122bc3d5698SJohn Baldwin	xorl	%esi,%edx
3123bc3d5698SJohn Baldwin
3124bc3d5698SJohn Baldwin	roll	$14,%edi
3125bc3d5698SJohn Baldwin	movl	%edi,%esi
3126bc3d5698SJohn Baldwin	xorl	%edx,%edi
3127bc3d5698SJohn Baldwin	andl	$0x33333333,%edi
3128bc3d5698SJohn Baldwin	xorl	%edi,%esi
3129bc3d5698SJohn Baldwin	xorl	%edi,%edx
3130bc3d5698SJohn Baldwin
3131bc3d5698SJohn Baldwin	roll	$22,%edx
3132bc3d5698SJohn Baldwin	movl	%edx,%edi
3133bc3d5698SJohn Baldwin	xorl	%esi,%edx
3134bc3d5698SJohn Baldwin	andl	$0x03fc03fc,%edx
3135bc3d5698SJohn Baldwin	xorl	%edx,%edi
3136bc3d5698SJohn Baldwin	xorl	%edx,%esi
3137bc3d5698SJohn Baldwin
3138bc3d5698SJohn Baldwin	roll	$9,%edi
3139bc3d5698SJohn Baldwin	movl	%edi,%edx
3140bc3d5698SJohn Baldwin	xorl	%esi,%edi
3141bc3d5698SJohn Baldwin	andl	$0xaaaaaaaa,%edi
3142bc3d5698SJohn Baldwin	xorl	%edi,%edx
3143bc3d5698SJohn Baldwin	xorl	%edi,%esi
3144bc3d5698SJohn Baldwin
3145bc3d5698SJohn Baldwin	rorl	$3,%edx
3146bc3d5698SJohn Baldwin	rorl	$2,%esi
3147bc3d5698SJohn Baldwin	movl	%esi,4(%ebx)
3148bc3d5698SJohn Baldwin	movl	36(%esp),%eax
3149bc3d5698SJohn Baldwin	movl	%edx,(%ebx)
3150bc3d5698SJohn Baldwin	movl	40(%esp),%edi
3151bc3d5698SJohn Baldwin	movl	44(%esp),%esi
3152bc3d5698SJohn Baldwin	movl	$1,8(%esp)
3153bc3d5698SJohn Baldwin	movl	%eax,4(%esp)
3154bc3d5698SJohn Baldwin	movl	%ebx,(%esp)
3155bc3d5698SJohn Baldwin	call	.L_DES_encrypt2_begin
3156bc3d5698SJohn Baldwin	movl	$0,8(%esp)
3157bc3d5698SJohn Baldwin	movl	%edi,4(%esp)
3158bc3d5698SJohn Baldwin	movl	%ebx,(%esp)
3159bc3d5698SJohn Baldwin	call	.L_DES_encrypt2_begin
3160bc3d5698SJohn Baldwin	movl	$1,8(%esp)
3161bc3d5698SJohn Baldwin	movl	%esi,4(%esp)
3162bc3d5698SJohn Baldwin	movl	%ebx,(%esp)
3163bc3d5698SJohn Baldwin	call	.L_DES_encrypt2_begin
3164bc3d5698SJohn Baldwin	addl	$12,%esp
3165bc3d5698SJohn Baldwin	movl	(%ebx),%edi
3166bc3d5698SJohn Baldwin	movl	4(%ebx),%esi
3167bc3d5698SJohn Baldwin
3168bc3d5698SJohn Baldwin
3169bc3d5698SJohn Baldwin	roll	$2,%esi
3170bc3d5698SJohn Baldwin	roll	$3,%edi
3171bc3d5698SJohn Baldwin	movl	%edi,%eax
3172bc3d5698SJohn Baldwin	xorl	%esi,%edi
3173bc3d5698SJohn Baldwin	andl	$0xaaaaaaaa,%edi
3174bc3d5698SJohn Baldwin	xorl	%edi,%eax
3175bc3d5698SJohn Baldwin	xorl	%edi,%esi
3176bc3d5698SJohn Baldwin
3177bc3d5698SJohn Baldwin	roll	$23,%eax
3178bc3d5698SJohn Baldwin	movl	%eax,%edi
3179bc3d5698SJohn Baldwin	xorl	%esi,%eax
3180bc3d5698SJohn Baldwin	andl	$0x03fc03fc,%eax
3181bc3d5698SJohn Baldwin	xorl	%eax,%edi
3182bc3d5698SJohn Baldwin	xorl	%eax,%esi
3183bc3d5698SJohn Baldwin
3184bc3d5698SJohn Baldwin	roll	$10,%edi
3185bc3d5698SJohn Baldwin	movl	%edi,%eax
3186bc3d5698SJohn Baldwin	xorl	%esi,%edi
3187bc3d5698SJohn Baldwin	andl	$0x33333333,%edi
3188bc3d5698SJohn Baldwin	xorl	%edi,%eax
3189bc3d5698SJohn Baldwin	xorl	%edi,%esi
3190bc3d5698SJohn Baldwin
3191bc3d5698SJohn Baldwin	roll	$18,%esi
3192bc3d5698SJohn Baldwin	movl	%esi,%edi
3193bc3d5698SJohn Baldwin	xorl	%eax,%esi
3194bc3d5698SJohn Baldwin	andl	$0xfff0000f,%esi
3195bc3d5698SJohn Baldwin	xorl	%esi,%edi
3196bc3d5698SJohn Baldwin	xorl	%esi,%eax
3197bc3d5698SJohn Baldwin
3198bc3d5698SJohn Baldwin	roll	$12,%edi
3199bc3d5698SJohn Baldwin	movl	%edi,%esi
3200bc3d5698SJohn Baldwin	xorl	%eax,%edi
3201bc3d5698SJohn Baldwin	andl	$0xf0f0f0f0,%edi
3202bc3d5698SJohn Baldwin	xorl	%edi,%esi
3203bc3d5698SJohn Baldwin	xorl	%edi,%eax
3204bc3d5698SJohn Baldwin
3205bc3d5698SJohn Baldwin	rorl	$4,%eax
3206bc3d5698SJohn Baldwin	movl	%eax,(%ebx)
3207bc3d5698SJohn Baldwin	movl	%esi,4(%ebx)
3208bc3d5698SJohn Baldwin	popl	%edi
3209bc3d5698SJohn Baldwin	popl	%esi
3210bc3d5698SJohn Baldwin	popl	%ebp
3211bc3d5698SJohn Baldwin	popl	%ebx
3212bc3d5698SJohn Baldwin	ret
3213bc3d5698SJohn Baldwin.size	DES_encrypt3,.-.L_DES_encrypt3_begin
3214bc3d5698SJohn Baldwin.globl	DES_decrypt3
3215bc3d5698SJohn Baldwin.type	DES_decrypt3,@function
3216bc3d5698SJohn Baldwin.align	16
3217bc3d5698SJohn BaldwinDES_decrypt3:
3218bc3d5698SJohn Baldwin.L_DES_decrypt3_begin:
3219*c0855eaaSJohn Baldwin	#ifdef __CET__
3220*c0855eaaSJohn Baldwin
3221*c0855eaaSJohn Baldwin.byte	243,15,30,251
3222*c0855eaaSJohn Baldwin	#endif
3223*c0855eaaSJohn Baldwin
3224bc3d5698SJohn Baldwin	pushl	%ebx
3225bc3d5698SJohn Baldwin	movl	8(%esp),%ebx
3226bc3d5698SJohn Baldwin	pushl	%ebp
3227bc3d5698SJohn Baldwin	pushl	%esi
3228bc3d5698SJohn Baldwin	pushl	%edi
3229bc3d5698SJohn Baldwin
3230bc3d5698SJohn Baldwin
3231bc3d5698SJohn Baldwin	movl	(%ebx),%edi
3232bc3d5698SJohn Baldwin	movl	4(%ebx),%esi
3233bc3d5698SJohn Baldwin	subl	$12,%esp
3234bc3d5698SJohn Baldwin
3235bc3d5698SJohn Baldwin
3236bc3d5698SJohn Baldwin	roll	$4,%edi
3237bc3d5698SJohn Baldwin	movl	%edi,%edx
3238bc3d5698SJohn Baldwin	xorl	%esi,%edi
3239bc3d5698SJohn Baldwin	andl	$0xf0f0f0f0,%edi
3240bc3d5698SJohn Baldwin	xorl	%edi,%edx
3241bc3d5698SJohn Baldwin	xorl	%edi,%esi
3242bc3d5698SJohn Baldwin
3243bc3d5698SJohn Baldwin	roll	$20,%esi
3244bc3d5698SJohn Baldwin	movl	%esi,%edi
3245bc3d5698SJohn Baldwin	xorl	%edx,%esi
3246bc3d5698SJohn Baldwin	andl	$0xfff0000f,%esi
3247bc3d5698SJohn Baldwin	xorl	%esi,%edi
3248bc3d5698SJohn Baldwin	xorl	%esi,%edx
3249bc3d5698SJohn Baldwin
3250bc3d5698SJohn Baldwin	roll	$14,%edi
3251bc3d5698SJohn Baldwin	movl	%edi,%esi
3252bc3d5698SJohn Baldwin	xorl	%edx,%edi
3253bc3d5698SJohn Baldwin	andl	$0x33333333,%edi
3254bc3d5698SJohn Baldwin	xorl	%edi,%esi
3255bc3d5698SJohn Baldwin	xorl	%edi,%edx
3256bc3d5698SJohn Baldwin
3257bc3d5698SJohn Baldwin	roll	$22,%edx
3258bc3d5698SJohn Baldwin	movl	%edx,%edi
3259bc3d5698SJohn Baldwin	xorl	%esi,%edx
3260bc3d5698SJohn Baldwin	andl	$0x03fc03fc,%edx
3261bc3d5698SJohn Baldwin	xorl	%edx,%edi
3262bc3d5698SJohn Baldwin	xorl	%edx,%esi
3263bc3d5698SJohn Baldwin
3264bc3d5698SJohn Baldwin	roll	$9,%edi
3265bc3d5698SJohn Baldwin	movl	%edi,%edx
3266bc3d5698SJohn Baldwin	xorl	%esi,%edi
3267bc3d5698SJohn Baldwin	andl	$0xaaaaaaaa,%edi
3268bc3d5698SJohn Baldwin	xorl	%edi,%edx
3269bc3d5698SJohn Baldwin	xorl	%edi,%esi
3270bc3d5698SJohn Baldwin
3271bc3d5698SJohn Baldwin	rorl	$3,%edx
3272bc3d5698SJohn Baldwin	rorl	$2,%esi
3273bc3d5698SJohn Baldwin	movl	%esi,4(%ebx)
3274bc3d5698SJohn Baldwin	movl	36(%esp),%esi
3275bc3d5698SJohn Baldwin	movl	%edx,(%ebx)
3276bc3d5698SJohn Baldwin	movl	40(%esp),%edi
3277bc3d5698SJohn Baldwin	movl	44(%esp),%eax
3278bc3d5698SJohn Baldwin	movl	$0,8(%esp)
3279bc3d5698SJohn Baldwin	movl	%eax,4(%esp)
3280bc3d5698SJohn Baldwin	movl	%ebx,(%esp)
3281bc3d5698SJohn Baldwin	call	.L_DES_encrypt2_begin
3282bc3d5698SJohn Baldwin	movl	$1,8(%esp)
3283bc3d5698SJohn Baldwin	movl	%edi,4(%esp)
3284bc3d5698SJohn Baldwin	movl	%ebx,(%esp)
3285bc3d5698SJohn Baldwin	call	.L_DES_encrypt2_begin
3286bc3d5698SJohn Baldwin	movl	$0,8(%esp)
3287bc3d5698SJohn Baldwin	movl	%esi,4(%esp)
3288bc3d5698SJohn Baldwin	movl	%ebx,(%esp)
3289bc3d5698SJohn Baldwin	call	.L_DES_encrypt2_begin
3290bc3d5698SJohn Baldwin	addl	$12,%esp
3291bc3d5698SJohn Baldwin	movl	(%ebx),%edi
3292bc3d5698SJohn Baldwin	movl	4(%ebx),%esi
3293bc3d5698SJohn Baldwin
3294bc3d5698SJohn Baldwin
3295bc3d5698SJohn Baldwin	roll	$2,%esi
3296bc3d5698SJohn Baldwin	roll	$3,%edi
3297bc3d5698SJohn Baldwin	movl	%edi,%eax
3298bc3d5698SJohn Baldwin	xorl	%esi,%edi
3299bc3d5698SJohn Baldwin	andl	$0xaaaaaaaa,%edi
3300bc3d5698SJohn Baldwin	xorl	%edi,%eax
3301bc3d5698SJohn Baldwin	xorl	%edi,%esi
3302bc3d5698SJohn Baldwin
3303bc3d5698SJohn Baldwin	roll	$23,%eax
3304bc3d5698SJohn Baldwin	movl	%eax,%edi
3305bc3d5698SJohn Baldwin	xorl	%esi,%eax
3306bc3d5698SJohn Baldwin	andl	$0x03fc03fc,%eax
3307bc3d5698SJohn Baldwin	xorl	%eax,%edi
3308bc3d5698SJohn Baldwin	xorl	%eax,%esi
3309bc3d5698SJohn Baldwin
3310bc3d5698SJohn Baldwin	roll	$10,%edi
3311bc3d5698SJohn Baldwin	movl	%edi,%eax
3312bc3d5698SJohn Baldwin	xorl	%esi,%edi
3313bc3d5698SJohn Baldwin	andl	$0x33333333,%edi
3314bc3d5698SJohn Baldwin	xorl	%edi,%eax
3315bc3d5698SJohn Baldwin	xorl	%edi,%esi
3316bc3d5698SJohn Baldwin
3317bc3d5698SJohn Baldwin	roll	$18,%esi
3318bc3d5698SJohn Baldwin	movl	%esi,%edi
3319bc3d5698SJohn Baldwin	xorl	%eax,%esi
3320bc3d5698SJohn Baldwin	andl	$0xfff0000f,%esi
3321bc3d5698SJohn Baldwin	xorl	%esi,%edi
3322bc3d5698SJohn Baldwin	xorl	%esi,%eax
3323bc3d5698SJohn Baldwin
3324bc3d5698SJohn Baldwin	roll	$12,%edi
3325bc3d5698SJohn Baldwin	movl	%edi,%esi
3326bc3d5698SJohn Baldwin	xorl	%eax,%edi
3327bc3d5698SJohn Baldwin	andl	$0xf0f0f0f0,%edi
3328bc3d5698SJohn Baldwin	xorl	%edi,%esi
3329bc3d5698SJohn Baldwin	xorl	%edi,%eax
3330bc3d5698SJohn Baldwin
3331bc3d5698SJohn Baldwin	rorl	$4,%eax
3332bc3d5698SJohn Baldwin	movl	%eax,(%ebx)
3333bc3d5698SJohn Baldwin	movl	%esi,4(%ebx)
3334bc3d5698SJohn Baldwin	popl	%edi
3335bc3d5698SJohn Baldwin	popl	%esi
3336bc3d5698SJohn Baldwin	popl	%ebp
3337bc3d5698SJohn Baldwin	popl	%ebx
3338bc3d5698SJohn Baldwin	ret
3339bc3d5698SJohn Baldwin.size	DES_decrypt3,.-.L_DES_decrypt3_begin
3340bc3d5698SJohn Baldwin.globl	DES_ncbc_encrypt
3341bc3d5698SJohn Baldwin.type	DES_ncbc_encrypt,@function
3342bc3d5698SJohn Baldwin.align	16
3343bc3d5698SJohn BaldwinDES_ncbc_encrypt:
3344bc3d5698SJohn Baldwin.L_DES_ncbc_encrypt_begin:
3345*c0855eaaSJohn Baldwin	#ifdef __CET__
3346*c0855eaaSJohn Baldwin
3347*c0855eaaSJohn Baldwin.byte	243,15,30,251
3348*c0855eaaSJohn Baldwin	#endif
3349*c0855eaaSJohn Baldwin
3350bc3d5698SJohn Baldwin
3351bc3d5698SJohn Baldwin	pushl	%ebp
3352bc3d5698SJohn Baldwin	pushl	%ebx
3353bc3d5698SJohn Baldwin	pushl	%esi
3354bc3d5698SJohn Baldwin	pushl	%edi
3355bc3d5698SJohn Baldwin	movl	28(%esp),%ebp
3356bc3d5698SJohn Baldwin
3357bc3d5698SJohn Baldwin	movl	36(%esp),%ebx
3358bc3d5698SJohn Baldwin	movl	(%ebx),%esi
3359bc3d5698SJohn Baldwin	movl	4(%ebx),%edi
3360bc3d5698SJohn Baldwin	pushl	%edi
3361bc3d5698SJohn Baldwin	pushl	%esi
3362bc3d5698SJohn Baldwin	pushl	%edi
3363bc3d5698SJohn Baldwin	pushl	%esi
3364bc3d5698SJohn Baldwin	movl	%esp,%ebx
3365bc3d5698SJohn Baldwin	movl	36(%esp),%esi
3366bc3d5698SJohn Baldwin	movl	40(%esp),%edi
3367bc3d5698SJohn Baldwin
3368bc3d5698SJohn Baldwin	movl	56(%esp),%ecx
3369bc3d5698SJohn Baldwin
3370bc3d5698SJohn Baldwin	pushl	%ecx
3371bc3d5698SJohn Baldwin
3372bc3d5698SJohn Baldwin	movl	52(%esp),%eax
3373bc3d5698SJohn Baldwin	pushl	%eax
3374bc3d5698SJohn Baldwin	pushl	%ebx
3375bc3d5698SJohn Baldwin	cmpl	$0,%ecx
3376bc3d5698SJohn Baldwin	jz	.L006decrypt
3377bc3d5698SJohn Baldwin	andl	$4294967288,%ebp
3378bc3d5698SJohn Baldwin	movl	12(%esp),%eax
3379bc3d5698SJohn Baldwin	movl	16(%esp),%ebx
3380bc3d5698SJohn Baldwin	jz	.L007encrypt_finish
3381bc3d5698SJohn Baldwin.L008encrypt_loop:
3382bc3d5698SJohn Baldwin	movl	(%esi),%ecx
3383bc3d5698SJohn Baldwin	movl	4(%esi),%edx
3384bc3d5698SJohn Baldwin	xorl	%ecx,%eax
3385bc3d5698SJohn Baldwin	xorl	%edx,%ebx
3386bc3d5698SJohn Baldwin	movl	%eax,12(%esp)
3387bc3d5698SJohn Baldwin	movl	%ebx,16(%esp)
3388bc3d5698SJohn Baldwin	call	.L_DES_encrypt1_begin
3389bc3d5698SJohn Baldwin	movl	12(%esp),%eax
3390bc3d5698SJohn Baldwin	movl	16(%esp),%ebx
3391bc3d5698SJohn Baldwin	movl	%eax,(%edi)
3392bc3d5698SJohn Baldwin	movl	%ebx,4(%edi)
3393bc3d5698SJohn Baldwin	addl	$8,%esi
3394bc3d5698SJohn Baldwin	addl	$8,%edi
3395bc3d5698SJohn Baldwin	subl	$8,%ebp
3396bc3d5698SJohn Baldwin	jnz	.L008encrypt_loop
3397bc3d5698SJohn Baldwin.L007encrypt_finish:
3398bc3d5698SJohn Baldwin	movl	56(%esp),%ebp
3399bc3d5698SJohn Baldwin	andl	$7,%ebp
3400bc3d5698SJohn Baldwin	jz	.L009finish
3401bc3d5698SJohn Baldwin	call	.L010PIC_point
3402bc3d5698SJohn Baldwin.L010PIC_point:
3403bc3d5698SJohn Baldwin	popl	%edx
3404bc3d5698SJohn Baldwin	leal	.L011cbc_enc_jmp_table-.L010PIC_point(%edx),%ecx
3405bc3d5698SJohn Baldwin	movl	(%ecx,%ebp,4),%ebp
3406bc3d5698SJohn Baldwin	addl	%edx,%ebp
3407bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
3408bc3d5698SJohn Baldwin	xorl	%edx,%edx
3409bc3d5698SJohn Baldwin	jmp	*%ebp
3410bc3d5698SJohn Baldwin.L012ej7:
3411*c0855eaaSJohn Baldwin	#ifdef __CET__
3412*c0855eaaSJohn Baldwin
3413*c0855eaaSJohn Baldwin.byte	243,15,30,251
3414*c0855eaaSJohn Baldwin	#endif
3415*c0855eaaSJohn Baldwin
3416bc3d5698SJohn Baldwin	movb	6(%esi),%dh
3417bc3d5698SJohn Baldwin	shll	$8,%edx
3418bc3d5698SJohn Baldwin.L013ej6:
3419*c0855eaaSJohn Baldwin	#ifdef __CET__
3420*c0855eaaSJohn Baldwin
3421*c0855eaaSJohn Baldwin.byte	243,15,30,251
3422*c0855eaaSJohn Baldwin	#endif
3423*c0855eaaSJohn Baldwin
3424bc3d5698SJohn Baldwin	movb	5(%esi),%dh
3425bc3d5698SJohn Baldwin.L014ej5:
3426*c0855eaaSJohn Baldwin	#ifdef __CET__
3427*c0855eaaSJohn Baldwin
3428*c0855eaaSJohn Baldwin.byte	243,15,30,251
3429*c0855eaaSJohn Baldwin	#endif
3430*c0855eaaSJohn Baldwin
3431bc3d5698SJohn Baldwin	movb	4(%esi),%dl
3432bc3d5698SJohn Baldwin.L015ej4:
3433*c0855eaaSJohn Baldwin	#ifdef __CET__
3434*c0855eaaSJohn Baldwin
3435*c0855eaaSJohn Baldwin.byte	243,15,30,251
3436*c0855eaaSJohn Baldwin	#endif
3437*c0855eaaSJohn Baldwin
3438bc3d5698SJohn Baldwin	movl	(%esi),%ecx
3439bc3d5698SJohn Baldwin	jmp	.L016ejend
3440bc3d5698SJohn Baldwin.L017ej3:
3441*c0855eaaSJohn Baldwin	#ifdef __CET__
3442*c0855eaaSJohn Baldwin
3443*c0855eaaSJohn Baldwin.byte	243,15,30,251
3444*c0855eaaSJohn Baldwin	#endif
3445*c0855eaaSJohn Baldwin
3446bc3d5698SJohn Baldwin	movb	2(%esi),%ch
3447bc3d5698SJohn Baldwin	shll	$8,%ecx
3448bc3d5698SJohn Baldwin.L018ej2:
3449*c0855eaaSJohn Baldwin	#ifdef __CET__
3450*c0855eaaSJohn Baldwin
3451*c0855eaaSJohn Baldwin.byte	243,15,30,251
3452*c0855eaaSJohn Baldwin	#endif
3453*c0855eaaSJohn Baldwin
3454bc3d5698SJohn Baldwin	movb	1(%esi),%ch
3455bc3d5698SJohn Baldwin.L019ej1:
3456*c0855eaaSJohn Baldwin	#ifdef __CET__
3457*c0855eaaSJohn Baldwin
3458*c0855eaaSJohn Baldwin.byte	243,15,30,251
3459*c0855eaaSJohn Baldwin	#endif
3460*c0855eaaSJohn Baldwin
3461bc3d5698SJohn Baldwin	movb	(%esi),%cl
3462bc3d5698SJohn Baldwin.L016ejend:
3463bc3d5698SJohn Baldwin	xorl	%ecx,%eax
3464bc3d5698SJohn Baldwin	xorl	%edx,%ebx
3465bc3d5698SJohn Baldwin	movl	%eax,12(%esp)
3466bc3d5698SJohn Baldwin	movl	%ebx,16(%esp)
3467bc3d5698SJohn Baldwin	call	.L_DES_encrypt1_begin
3468bc3d5698SJohn Baldwin	movl	12(%esp),%eax
3469bc3d5698SJohn Baldwin	movl	16(%esp),%ebx
3470bc3d5698SJohn Baldwin	movl	%eax,(%edi)
3471bc3d5698SJohn Baldwin	movl	%ebx,4(%edi)
3472bc3d5698SJohn Baldwin	jmp	.L009finish
3473bc3d5698SJohn Baldwin.L006decrypt:
3474bc3d5698SJohn Baldwin	andl	$4294967288,%ebp
3475bc3d5698SJohn Baldwin	movl	20(%esp),%eax
3476bc3d5698SJohn Baldwin	movl	24(%esp),%ebx
3477bc3d5698SJohn Baldwin	jz	.L020decrypt_finish
3478bc3d5698SJohn Baldwin.L021decrypt_loop:
3479bc3d5698SJohn Baldwin	movl	(%esi),%eax
3480bc3d5698SJohn Baldwin	movl	4(%esi),%ebx
3481bc3d5698SJohn Baldwin	movl	%eax,12(%esp)
3482bc3d5698SJohn Baldwin	movl	%ebx,16(%esp)
3483bc3d5698SJohn Baldwin	call	.L_DES_encrypt1_begin
3484bc3d5698SJohn Baldwin	movl	12(%esp),%eax
3485bc3d5698SJohn Baldwin	movl	16(%esp),%ebx
3486bc3d5698SJohn Baldwin	movl	20(%esp),%ecx
3487bc3d5698SJohn Baldwin	movl	24(%esp),%edx
3488bc3d5698SJohn Baldwin	xorl	%eax,%ecx
3489bc3d5698SJohn Baldwin	xorl	%ebx,%edx
3490bc3d5698SJohn Baldwin	movl	(%esi),%eax
3491bc3d5698SJohn Baldwin	movl	4(%esi),%ebx
3492bc3d5698SJohn Baldwin	movl	%ecx,(%edi)
3493bc3d5698SJohn Baldwin	movl	%edx,4(%edi)
3494bc3d5698SJohn Baldwin	movl	%eax,20(%esp)
3495bc3d5698SJohn Baldwin	movl	%ebx,24(%esp)
3496bc3d5698SJohn Baldwin	addl	$8,%esi
3497bc3d5698SJohn Baldwin	addl	$8,%edi
3498bc3d5698SJohn Baldwin	subl	$8,%ebp
3499bc3d5698SJohn Baldwin	jnz	.L021decrypt_loop
3500bc3d5698SJohn Baldwin.L020decrypt_finish:
3501bc3d5698SJohn Baldwin	movl	56(%esp),%ebp
3502bc3d5698SJohn Baldwin	andl	$7,%ebp
3503bc3d5698SJohn Baldwin	jz	.L009finish
3504bc3d5698SJohn Baldwin	movl	(%esi),%eax
3505bc3d5698SJohn Baldwin	movl	4(%esi),%ebx
3506bc3d5698SJohn Baldwin	movl	%eax,12(%esp)
3507bc3d5698SJohn Baldwin	movl	%ebx,16(%esp)
3508bc3d5698SJohn Baldwin	call	.L_DES_encrypt1_begin
3509bc3d5698SJohn Baldwin	movl	12(%esp),%eax
3510bc3d5698SJohn Baldwin	movl	16(%esp),%ebx
3511bc3d5698SJohn Baldwin	movl	20(%esp),%ecx
3512bc3d5698SJohn Baldwin	movl	24(%esp),%edx
3513bc3d5698SJohn Baldwin	xorl	%eax,%ecx
3514bc3d5698SJohn Baldwin	xorl	%ebx,%edx
3515bc3d5698SJohn Baldwin	movl	(%esi),%eax
3516bc3d5698SJohn Baldwin	movl	4(%esi),%ebx
3517bc3d5698SJohn Baldwin.L022dj7:
3518bc3d5698SJohn Baldwin	rorl	$16,%edx
3519bc3d5698SJohn Baldwin	movb	%dl,6(%edi)
3520bc3d5698SJohn Baldwin	shrl	$16,%edx
3521bc3d5698SJohn Baldwin.L023dj6:
3522bc3d5698SJohn Baldwin	movb	%dh,5(%edi)
3523bc3d5698SJohn Baldwin.L024dj5:
3524bc3d5698SJohn Baldwin	movb	%dl,4(%edi)
3525bc3d5698SJohn Baldwin.L025dj4:
3526bc3d5698SJohn Baldwin	movl	%ecx,(%edi)
3527bc3d5698SJohn Baldwin	jmp	.L026djend
3528bc3d5698SJohn Baldwin.L027dj3:
3529bc3d5698SJohn Baldwin	rorl	$16,%ecx
3530bc3d5698SJohn Baldwin	movb	%cl,2(%edi)
3531bc3d5698SJohn Baldwin	shll	$16,%ecx
3532bc3d5698SJohn Baldwin.L028dj2:
3533bc3d5698SJohn Baldwin	movb	%ch,1(%esi)
3534bc3d5698SJohn Baldwin.L029dj1:
3535bc3d5698SJohn Baldwin	movb	%cl,(%esi)
3536bc3d5698SJohn Baldwin.L026djend:
3537bc3d5698SJohn Baldwin	jmp	.L009finish
3538bc3d5698SJohn Baldwin.L009finish:
3539bc3d5698SJohn Baldwin	movl	64(%esp),%ecx
3540bc3d5698SJohn Baldwin	addl	$28,%esp
3541bc3d5698SJohn Baldwin	movl	%eax,(%ecx)
3542bc3d5698SJohn Baldwin	movl	%ebx,4(%ecx)
3543bc3d5698SJohn Baldwin	popl	%edi
3544bc3d5698SJohn Baldwin	popl	%esi
3545bc3d5698SJohn Baldwin	popl	%ebx
3546bc3d5698SJohn Baldwin	popl	%ebp
3547bc3d5698SJohn Baldwin	ret
3548bc3d5698SJohn Baldwin.align	64
3549bc3d5698SJohn Baldwin.L011cbc_enc_jmp_table:
3550bc3d5698SJohn Baldwin.long	0
3551bc3d5698SJohn Baldwin.long	.L019ej1-.L010PIC_point
3552bc3d5698SJohn Baldwin.long	.L018ej2-.L010PIC_point
3553bc3d5698SJohn Baldwin.long	.L017ej3-.L010PIC_point
3554bc3d5698SJohn Baldwin.long	.L015ej4-.L010PIC_point
3555bc3d5698SJohn Baldwin.long	.L014ej5-.L010PIC_point
3556bc3d5698SJohn Baldwin.long	.L013ej6-.L010PIC_point
3557bc3d5698SJohn Baldwin.long	.L012ej7-.L010PIC_point
3558bc3d5698SJohn Baldwin.align	64
3559bc3d5698SJohn Baldwin.size	DES_ncbc_encrypt,.-.L_DES_ncbc_encrypt_begin
3560bc3d5698SJohn Baldwin.globl	DES_ede3_cbc_encrypt
3561bc3d5698SJohn Baldwin.type	DES_ede3_cbc_encrypt,@function
3562bc3d5698SJohn Baldwin.align	16
3563bc3d5698SJohn BaldwinDES_ede3_cbc_encrypt:
3564bc3d5698SJohn Baldwin.L_DES_ede3_cbc_encrypt_begin:
3565*c0855eaaSJohn Baldwin	#ifdef __CET__
3566*c0855eaaSJohn Baldwin
3567*c0855eaaSJohn Baldwin.byte	243,15,30,251
3568*c0855eaaSJohn Baldwin	#endif
3569*c0855eaaSJohn Baldwin
3570bc3d5698SJohn Baldwin
3571bc3d5698SJohn Baldwin	pushl	%ebp
3572bc3d5698SJohn Baldwin	pushl	%ebx
3573bc3d5698SJohn Baldwin	pushl	%esi
3574bc3d5698SJohn Baldwin	pushl	%edi
3575bc3d5698SJohn Baldwin	movl	28(%esp),%ebp
3576bc3d5698SJohn Baldwin
3577bc3d5698SJohn Baldwin	movl	44(%esp),%ebx
3578bc3d5698SJohn Baldwin	movl	(%ebx),%esi
3579bc3d5698SJohn Baldwin	movl	4(%ebx),%edi
3580bc3d5698SJohn Baldwin	pushl	%edi
3581bc3d5698SJohn Baldwin	pushl	%esi
3582bc3d5698SJohn Baldwin	pushl	%edi
3583bc3d5698SJohn Baldwin	pushl	%esi
3584bc3d5698SJohn Baldwin	movl	%esp,%ebx
3585bc3d5698SJohn Baldwin	movl	36(%esp),%esi
3586bc3d5698SJohn Baldwin	movl	40(%esp),%edi
3587bc3d5698SJohn Baldwin
3588bc3d5698SJohn Baldwin	movl	64(%esp),%ecx
3589bc3d5698SJohn Baldwin
3590bc3d5698SJohn Baldwin	movl	56(%esp),%eax
3591bc3d5698SJohn Baldwin	pushl	%eax
3592bc3d5698SJohn Baldwin
3593bc3d5698SJohn Baldwin	movl	56(%esp),%eax
3594bc3d5698SJohn Baldwin	pushl	%eax
3595bc3d5698SJohn Baldwin
3596bc3d5698SJohn Baldwin	movl	56(%esp),%eax
3597bc3d5698SJohn Baldwin	pushl	%eax
3598bc3d5698SJohn Baldwin	pushl	%ebx
3599bc3d5698SJohn Baldwin	cmpl	$0,%ecx
3600bc3d5698SJohn Baldwin	jz	.L030decrypt
3601bc3d5698SJohn Baldwin	andl	$4294967288,%ebp
3602bc3d5698SJohn Baldwin	movl	16(%esp),%eax
3603bc3d5698SJohn Baldwin	movl	20(%esp),%ebx
3604bc3d5698SJohn Baldwin	jz	.L031encrypt_finish
3605bc3d5698SJohn Baldwin.L032encrypt_loop:
3606bc3d5698SJohn Baldwin	movl	(%esi),%ecx
3607bc3d5698SJohn Baldwin	movl	4(%esi),%edx
3608bc3d5698SJohn Baldwin	xorl	%ecx,%eax
3609bc3d5698SJohn Baldwin	xorl	%edx,%ebx
3610bc3d5698SJohn Baldwin	movl	%eax,16(%esp)
3611bc3d5698SJohn Baldwin	movl	%ebx,20(%esp)
3612bc3d5698SJohn Baldwin	call	.L_DES_encrypt3_begin
3613bc3d5698SJohn Baldwin	movl	16(%esp),%eax
3614bc3d5698SJohn Baldwin	movl	20(%esp),%ebx
3615bc3d5698SJohn Baldwin	movl	%eax,(%edi)
3616bc3d5698SJohn Baldwin	movl	%ebx,4(%edi)
3617bc3d5698SJohn Baldwin	addl	$8,%esi
3618bc3d5698SJohn Baldwin	addl	$8,%edi
3619bc3d5698SJohn Baldwin	subl	$8,%ebp
3620bc3d5698SJohn Baldwin	jnz	.L032encrypt_loop
3621bc3d5698SJohn Baldwin.L031encrypt_finish:
3622bc3d5698SJohn Baldwin	movl	60(%esp),%ebp
3623bc3d5698SJohn Baldwin	andl	$7,%ebp
3624bc3d5698SJohn Baldwin	jz	.L033finish
3625bc3d5698SJohn Baldwin	call	.L034PIC_point
3626bc3d5698SJohn Baldwin.L034PIC_point:
3627bc3d5698SJohn Baldwin	popl	%edx
3628bc3d5698SJohn Baldwin	leal	.L035cbc_enc_jmp_table-.L034PIC_point(%edx),%ecx
3629bc3d5698SJohn Baldwin	movl	(%ecx,%ebp,4),%ebp
3630bc3d5698SJohn Baldwin	addl	%edx,%ebp
3631bc3d5698SJohn Baldwin	xorl	%ecx,%ecx
3632bc3d5698SJohn Baldwin	xorl	%edx,%edx
3633bc3d5698SJohn Baldwin	jmp	*%ebp
3634bc3d5698SJohn Baldwin.L036ej7:
3635*c0855eaaSJohn Baldwin	#ifdef __CET__
3636*c0855eaaSJohn Baldwin
3637*c0855eaaSJohn Baldwin.byte	243,15,30,251
3638*c0855eaaSJohn Baldwin	#endif
3639*c0855eaaSJohn Baldwin
3640bc3d5698SJohn Baldwin	movb	6(%esi),%dh
3641bc3d5698SJohn Baldwin	shll	$8,%edx
3642bc3d5698SJohn Baldwin.L037ej6:
3643*c0855eaaSJohn Baldwin	#ifdef __CET__
3644*c0855eaaSJohn Baldwin
3645*c0855eaaSJohn Baldwin.byte	243,15,30,251
3646*c0855eaaSJohn Baldwin	#endif
3647*c0855eaaSJohn Baldwin
3648bc3d5698SJohn Baldwin	movb	5(%esi),%dh
3649bc3d5698SJohn Baldwin.L038ej5:
3650*c0855eaaSJohn Baldwin	#ifdef __CET__
3651*c0855eaaSJohn Baldwin
3652*c0855eaaSJohn Baldwin.byte	243,15,30,251
3653*c0855eaaSJohn Baldwin	#endif
3654*c0855eaaSJohn Baldwin
3655bc3d5698SJohn Baldwin	movb	4(%esi),%dl
3656bc3d5698SJohn Baldwin.L039ej4:
3657*c0855eaaSJohn Baldwin	#ifdef __CET__
3658*c0855eaaSJohn Baldwin
3659*c0855eaaSJohn Baldwin.byte	243,15,30,251
3660*c0855eaaSJohn Baldwin	#endif
3661*c0855eaaSJohn Baldwin
3662bc3d5698SJohn Baldwin	movl	(%esi),%ecx
3663bc3d5698SJohn Baldwin	jmp	.L040ejend
3664bc3d5698SJohn Baldwin.L041ej3:
3665*c0855eaaSJohn Baldwin	#ifdef __CET__
3666*c0855eaaSJohn Baldwin
3667*c0855eaaSJohn Baldwin.byte	243,15,30,251
3668*c0855eaaSJohn Baldwin	#endif
3669*c0855eaaSJohn Baldwin
3670bc3d5698SJohn Baldwin	movb	2(%esi),%ch
3671bc3d5698SJohn Baldwin	shll	$8,%ecx
3672bc3d5698SJohn Baldwin.L042ej2:
3673*c0855eaaSJohn Baldwin	#ifdef __CET__
3674*c0855eaaSJohn Baldwin
3675*c0855eaaSJohn Baldwin.byte	243,15,30,251
3676*c0855eaaSJohn Baldwin	#endif
3677*c0855eaaSJohn Baldwin
3678bc3d5698SJohn Baldwin	movb	1(%esi),%ch
3679bc3d5698SJohn Baldwin.L043ej1:
3680*c0855eaaSJohn Baldwin	#ifdef __CET__
3681*c0855eaaSJohn Baldwin
3682*c0855eaaSJohn Baldwin.byte	243,15,30,251
3683*c0855eaaSJohn Baldwin	#endif
3684*c0855eaaSJohn Baldwin
3685bc3d5698SJohn Baldwin	movb	(%esi),%cl
3686bc3d5698SJohn Baldwin.L040ejend:
3687bc3d5698SJohn Baldwin	xorl	%ecx,%eax
3688bc3d5698SJohn Baldwin	xorl	%edx,%ebx
3689bc3d5698SJohn Baldwin	movl	%eax,16(%esp)
3690bc3d5698SJohn Baldwin	movl	%ebx,20(%esp)
3691bc3d5698SJohn Baldwin	call	.L_DES_encrypt3_begin
3692bc3d5698SJohn Baldwin	movl	16(%esp),%eax
3693bc3d5698SJohn Baldwin	movl	20(%esp),%ebx
3694bc3d5698SJohn Baldwin	movl	%eax,(%edi)
3695bc3d5698SJohn Baldwin	movl	%ebx,4(%edi)
3696bc3d5698SJohn Baldwin	jmp	.L033finish
3697bc3d5698SJohn Baldwin.L030decrypt:
3698bc3d5698SJohn Baldwin	andl	$4294967288,%ebp
3699bc3d5698SJohn Baldwin	movl	24(%esp),%eax
3700bc3d5698SJohn Baldwin	movl	28(%esp),%ebx
3701bc3d5698SJohn Baldwin	jz	.L044decrypt_finish
3702bc3d5698SJohn Baldwin.L045decrypt_loop:
3703bc3d5698SJohn Baldwin	movl	(%esi),%eax
3704bc3d5698SJohn Baldwin	movl	4(%esi),%ebx
3705bc3d5698SJohn Baldwin	movl	%eax,16(%esp)
3706bc3d5698SJohn Baldwin	movl	%ebx,20(%esp)
3707bc3d5698SJohn Baldwin	call	.L_DES_decrypt3_begin
3708bc3d5698SJohn Baldwin	movl	16(%esp),%eax
3709bc3d5698SJohn Baldwin	movl	20(%esp),%ebx
3710bc3d5698SJohn Baldwin	movl	24(%esp),%ecx
3711bc3d5698SJohn Baldwin	movl	28(%esp),%edx
3712bc3d5698SJohn Baldwin	xorl	%eax,%ecx
3713bc3d5698SJohn Baldwin	xorl	%ebx,%edx
3714bc3d5698SJohn Baldwin	movl	(%esi),%eax
3715bc3d5698SJohn Baldwin	movl	4(%esi),%ebx
3716bc3d5698SJohn Baldwin	movl	%ecx,(%edi)
3717bc3d5698SJohn Baldwin	movl	%edx,4(%edi)
3718bc3d5698SJohn Baldwin	movl	%eax,24(%esp)
3719bc3d5698SJohn Baldwin	movl	%ebx,28(%esp)
3720bc3d5698SJohn Baldwin	addl	$8,%esi
3721bc3d5698SJohn Baldwin	addl	$8,%edi
3722bc3d5698SJohn Baldwin	subl	$8,%ebp
3723bc3d5698SJohn Baldwin	jnz	.L045decrypt_loop
3724bc3d5698SJohn Baldwin.L044decrypt_finish:
3725bc3d5698SJohn Baldwin	movl	60(%esp),%ebp
3726bc3d5698SJohn Baldwin	andl	$7,%ebp
3727bc3d5698SJohn Baldwin	jz	.L033finish
3728bc3d5698SJohn Baldwin	movl	(%esi),%eax
3729bc3d5698SJohn Baldwin	movl	4(%esi),%ebx
3730bc3d5698SJohn Baldwin	movl	%eax,16(%esp)
3731bc3d5698SJohn Baldwin	movl	%ebx,20(%esp)
3732bc3d5698SJohn Baldwin	call	.L_DES_decrypt3_begin
3733bc3d5698SJohn Baldwin	movl	16(%esp),%eax
3734bc3d5698SJohn Baldwin	movl	20(%esp),%ebx
3735bc3d5698SJohn Baldwin	movl	24(%esp),%ecx
3736bc3d5698SJohn Baldwin	movl	28(%esp),%edx
3737bc3d5698SJohn Baldwin	xorl	%eax,%ecx
3738bc3d5698SJohn Baldwin	xorl	%ebx,%edx
3739bc3d5698SJohn Baldwin	movl	(%esi),%eax
3740bc3d5698SJohn Baldwin	movl	4(%esi),%ebx
3741bc3d5698SJohn Baldwin.L046dj7:
3742bc3d5698SJohn Baldwin	rorl	$16,%edx
3743bc3d5698SJohn Baldwin	movb	%dl,6(%edi)
3744bc3d5698SJohn Baldwin	shrl	$16,%edx
3745bc3d5698SJohn Baldwin.L047dj6:
3746bc3d5698SJohn Baldwin	movb	%dh,5(%edi)
3747bc3d5698SJohn Baldwin.L048dj5:
3748bc3d5698SJohn Baldwin	movb	%dl,4(%edi)
3749bc3d5698SJohn Baldwin.L049dj4:
3750bc3d5698SJohn Baldwin	movl	%ecx,(%edi)
3751bc3d5698SJohn Baldwin	jmp	.L050djend
3752bc3d5698SJohn Baldwin.L051dj3:
3753bc3d5698SJohn Baldwin	rorl	$16,%ecx
3754bc3d5698SJohn Baldwin	movb	%cl,2(%edi)
3755bc3d5698SJohn Baldwin	shll	$16,%ecx
3756bc3d5698SJohn Baldwin.L052dj2:
3757bc3d5698SJohn Baldwin	movb	%ch,1(%esi)
3758bc3d5698SJohn Baldwin.L053dj1:
3759bc3d5698SJohn Baldwin	movb	%cl,(%esi)
3760bc3d5698SJohn Baldwin.L050djend:
3761bc3d5698SJohn Baldwin	jmp	.L033finish
3762bc3d5698SJohn Baldwin.L033finish:
3763bc3d5698SJohn Baldwin	movl	76(%esp),%ecx
3764bc3d5698SJohn Baldwin	addl	$32,%esp
3765bc3d5698SJohn Baldwin	movl	%eax,(%ecx)
3766bc3d5698SJohn Baldwin	movl	%ebx,4(%ecx)
3767bc3d5698SJohn Baldwin	popl	%edi
3768bc3d5698SJohn Baldwin	popl	%esi
3769bc3d5698SJohn Baldwin	popl	%ebx
3770bc3d5698SJohn Baldwin	popl	%ebp
3771bc3d5698SJohn Baldwin	ret
3772bc3d5698SJohn Baldwin.align	64
3773bc3d5698SJohn Baldwin.L035cbc_enc_jmp_table:
3774bc3d5698SJohn Baldwin.long	0
3775bc3d5698SJohn Baldwin.long	.L043ej1-.L034PIC_point
3776bc3d5698SJohn Baldwin.long	.L042ej2-.L034PIC_point
3777bc3d5698SJohn Baldwin.long	.L041ej3-.L034PIC_point
3778bc3d5698SJohn Baldwin.long	.L039ej4-.L034PIC_point
3779bc3d5698SJohn Baldwin.long	.L038ej5-.L034PIC_point
3780bc3d5698SJohn Baldwin.long	.L037ej6-.L034PIC_point
3781bc3d5698SJohn Baldwin.long	.L036ej7-.L034PIC_point
3782bc3d5698SJohn Baldwin.align	64
3783bc3d5698SJohn Baldwin.size	DES_ede3_cbc_encrypt,.-.L_DES_ede3_cbc_encrypt_begin
3784bc3d5698SJohn Baldwin.align	64
3785bc3d5698SJohn BaldwinDES_SPtrans:
3786bc3d5698SJohn Baldwin.Ldes_sptrans:
3787bc3d5698SJohn Baldwin.long	34080768,524288,33554434,34080770
3788bc3d5698SJohn Baldwin.long	33554432,526338,524290,33554434
3789bc3d5698SJohn Baldwin.long	526338,34080768,34078720,2050
3790bc3d5698SJohn Baldwin.long	33556482,33554432,0,524290
3791bc3d5698SJohn Baldwin.long	524288,2,33556480,526336
3792bc3d5698SJohn Baldwin.long	34080770,34078720,2050,33556480
3793bc3d5698SJohn Baldwin.long	2,2048,526336,34078722
3794bc3d5698SJohn Baldwin.long	2048,33556482,34078722,0
3795bc3d5698SJohn Baldwin.long	0,34080770,33556480,524290
3796bc3d5698SJohn Baldwin.long	34080768,524288,2050,33556480
3797bc3d5698SJohn Baldwin.long	34078722,2048,526336,33554434
3798bc3d5698SJohn Baldwin.long	526338,2,33554434,34078720
3799bc3d5698SJohn Baldwin.long	34080770,526336,34078720,33556482
3800bc3d5698SJohn Baldwin.long	33554432,2050,524290,0
3801bc3d5698SJohn Baldwin.long	524288,33554432,33556482,34080768
3802bc3d5698SJohn Baldwin.long	2,34078722,2048,526338
3803bc3d5698SJohn Baldwin.long	1074823184,0,1081344,1074790400
3804bc3d5698SJohn Baldwin.long	1073741840,32784,1073774592,1081344
3805bc3d5698SJohn Baldwin.long	32768,1074790416,16,1073774592
3806bc3d5698SJohn Baldwin.long	1048592,1074823168,1074790400,16
3807bc3d5698SJohn Baldwin.long	1048576,1073774608,1074790416,32768
3808bc3d5698SJohn Baldwin.long	1081360,1073741824,0,1048592
3809bc3d5698SJohn Baldwin.long	1073774608,1081360,1074823168,1073741840
3810bc3d5698SJohn Baldwin.long	1073741824,1048576,32784,1074823184
3811bc3d5698SJohn Baldwin.long	1048592,1074823168,1073774592,1081360
3812bc3d5698SJohn Baldwin.long	1074823184,1048592,1073741840,0
3813bc3d5698SJohn Baldwin.long	1073741824,32784,1048576,1074790416
3814bc3d5698SJohn Baldwin.long	32768,1073741824,1081360,1073774608
3815bc3d5698SJohn Baldwin.long	1074823168,32768,0,1073741840
3816bc3d5698SJohn Baldwin.long	16,1074823184,1081344,1074790400
3817bc3d5698SJohn Baldwin.long	1074790416,1048576,32784,1073774592
3818bc3d5698SJohn Baldwin.long	1073774608,16,1074790400,1081344
3819bc3d5698SJohn Baldwin.long	67108865,67371264,256,67109121
3820bc3d5698SJohn Baldwin.long	262145,67108864,67109121,262400
3821bc3d5698SJohn Baldwin.long	67109120,262144,67371008,1
3822bc3d5698SJohn Baldwin.long	67371265,257,1,67371009
3823bc3d5698SJohn Baldwin.long	0,262145,67371264,256
3824bc3d5698SJohn Baldwin.long	257,67371265,262144,67108865
3825bc3d5698SJohn Baldwin.long	67371009,67109120,262401,67371008
3826bc3d5698SJohn Baldwin.long	262400,0,67108864,262401
3827bc3d5698SJohn Baldwin.long	67371264,256,1,262144
3828bc3d5698SJohn Baldwin.long	257,262145,67371008,67109121
3829bc3d5698SJohn Baldwin.long	0,67371264,262400,67371009
3830bc3d5698SJohn Baldwin.long	262145,67108864,67371265,1
3831bc3d5698SJohn Baldwin.long	262401,67108865,67108864,67371265
3832bc3d5698SJohn Baldwin.long	262144,67109120,67109121,262400
3833bc3d5698SJohn Baldwin.long	67109120,0,67371009,257
3834bc3d5698SJohn Baldwin.long	67108865,262401,256,67371008
3835bc3d5698SJohn Baldwin.long	4198408,268439552,8,272633864
3836bc3d5698SJohn Baldwin.long	0,272629760,268439560,4194312
3837bc3d5698SJohn Baldwin.long	272633856,268435464,268435456,4104
3838bc3d5698SJohn Baldwin.long	268435464,4198408,4194304,268435456
3839bc3d5698SJohn Baldwin.long	272629768,4198400,4096,8
3840bc3d5698SJohn Baldwin.long	4198400,268439560,272629760,4096
3841bc3d5698SJohn Baldwin.long	4104,0,4194312,272633856
3842bc3d5698SJohn Baldwin.long	268439552,272629768,272633864,4194304
3843bc3d5698SJohn Baldwin.long	272629768,4104,4194304,268435464
3844bc3d5698SJohn Baldwin.long	4198400,268439552,8,272629760
3845bc3d5698SJohn Baldwin.long	268439560,0,4096,4194312
3846bc3d5698SJohn Baldwin.long	0,272629768,272633856,4096
3847bc3d5698SJohn Baldwin.long	268435456,272633864,4198408,4194304
3848bc3d5698SJohn Baldwin.long	272633864,8,268439552,4198408
3849bc3d5698SJohn Baldwin.long	4194312,4198400,272629760,268439560
3850bc3d5698SJohn Baldwin.long	4104,268435456,268435464,272633856
3851bc3d5698SJohn Baldwin.long	134217728,65536,1024,134284320
3852bc3d5698SJohn Baldwin.long	134283296,134218752,66592,134283264
3853bc3d5698SJohn Baldwin.long	65536,32,134217760,66560
3854bc3d5698SJohn Baldwin.long	134218784,134283296,134284288,0
3855bc3d5698SJohn Baldwin.long	66560,134217728,65568,1056
3856bc3d5698SJohn Baldwin.long	134218752,66592,0,134217760
3857bc3d5698SJohn Baldwin.long	32,134218784,134284320,65568
3858bc3d5698SJohn Baldwin.long	134283264,1024,1056,134284288
3859bc3d5698SJohn Baldwin.long	134284288,134218784,65568,134283264
3860bc3d5698SJohn Baldwin.long	65536,32,134217760,134218752
3861bc3d5698SJohn Baldwin.long	134217728,66560,134284320,0
3862bc3d5698SJohn Baldwin.long	66592,134217728,1024,65568
3863bc3d5698SJohn Baldwin.long	134218784,1024,0,134284320
3864bc3d5698SJohn Baldwin.long	134283296,134284288,1056,65536
3865bc3d5698SJohn Baldwin.long	66560,134283296,134218752,1056
3866bc3d5698SJohn Baldwin.long	32,66592,134283264,134217760
3867bc3d5698SJohn Baldwin.long	2147483712,2097216,0,2149588992
3868bc3d5698SJohn Baldwin.long	2097216,8192,2147491904,2097152
3869bc3d5698SJohn Baldwin.long	8256,2149589056,2105344,2147483648
3870bc3d5698SJohn Baldwin.long	2147491840,2147483712,2149580800,2105408
3871bc3d5698SJohn Baldwin.long	2097152,2147491904,2149580864,0
3872bc3d5698SJohn Baldwin.long	8192,64,2149588992,2149580864
3873bc3d5698SJohn Baldwin.long	2149589056,2149580800,2147483648,8256
3874bc3d5698SJohn Baldwin.long	64,2105344,2105408,2147491840
3875bc3d5698SJohn Baldwin.long	8256,2147483648,2147491840,2105408
3876bc3d5698SJohn Baldwin.long	2149588992,2097216,0,2147491840
3877bc3d5698SJohn Baldwin.long	2147483648,8192,2149580864,2097152
3878bc3d5698SJohn Baldwin.long	2097216,2149589056,2105344,64
3879bc3d5698SJohn Baldwin.long	2149589056,2105344,2097152,2147491904
3880bc3d5698SJohn Baldwin.long	2147483712,2149580800,2105408,0
3881bc3d5698SJohn Baldwin.long	8192,2147483712,2147491904,2149588992
3882bc3d5698SJohn Baldwin.long	2149580800,8256,64,2149580864
3883bc3d5698SJohn Baldwin.long	16384,512,16777728,16777220
3884bc3d5698SJohn Baldwin.long	16794116,16388,16896,0
3885bc3d5698SJohn Baldwin.long	16777216,16777732,516,16793600
3886bc3d5698SJohn Baldwin.long	4,16794112,16793600,516
3887bc3d5698SJohn Baldwin.long	16777732,16384,16388,16794116
3888bc3d5698SJohn Baldwin.long	0,16777728,16777220,16896
3889bc3d5698SJohn Baldwin.long	16793604,16900,16794112,4
3890bc3d5698SJohn Baldwin.long	16900,16793604,512,16777216
3891bc3d5698SJohn Baldwin.long	16900,16793600,16793604,516
3892bc3d5698SJohn Baldwin.long	16384,512,16777216,16793604
3893bc3d5698SJohn Baldwin.long	16777732,16900,16896,0
3894bc3d5698SJohn Baldwin.long	512,16777220,4,16777728
3895bc3d5698SJohn Baldwin.long	0,16777732,16777728,16896
3896bc3d5698SJohn Baldwin.long	516,16384,16794116,16777216
3897bc3d5698SJohn Baldwin.long	16794112,4,16388,16794116
3898bc3d5698SJohn Baldwin.long	16777220,16794112,16793600,16388
3899bc3d5698SJohn Baldwin.long	545259648,545390592,131200,0
3900bc3d5698SJohn Baldwin.long	537001984,8388736,545259520,545390720
3901bc3d5698SJohn Baldwin.long	128,536870912,8519680,131200
3902bc3d5698SJohn Baldwin.long	8519808,537002112,536871040,545259520
3903bc3d5698SJohn Baldwin.long	131072,8519808,8388736,537001984
3904bc3d5698SJohn Baldwin.long	545390720,536871040,0,8519680
3905bc3d5698SJohn Baldwin.long	536870912,8388608,537002112,545259648
3906bc3d5698SJohn Baldwin.long	8388608,131072,545390592,128
3907bc3d5698SJohn Baldwin.long	8388608,131072,536871040,545390720
3908bc3d5698SJohn Baldwin.long	131200,536870912,0,8519680
3909bc3d5698SJohn Baldwin.long	545259648,537002112,537001984,8388736
3910bc3d5698SJohn Baldwin.long	545390592,128,8388736,537001984
3911bc3d5698SJohn Baldwin.long	545390720,8388608,545259520,536871040
3912bc3d5698SJohn Baldwin.long	8519680,131200,537002112,545259520
3913bc3d5698SJohn Baldwin.long	128,545390592,8519808,0
3914bc3d5698SJohn Baldwin.long	536870912,545259648,131072,8519808
3915*c0855eaaSJohn Baldwin
3916*c0855eaaSJohn Baldwin	.section ".note.gnu.property", "a"
3917*c0855eaaSJohn Baldwin	.p2align 2
3918*c0855eaaSJohn Baldwin	.long 1f - 0f
3919*c0855eaaSJohn Baldwin	.long 4f - 1f
3920*c0855eaaSJohn Baldwin	.long 5
3921*c0855eaaSJohn Baldwin0:
3922*c0855eaaSJohn Baldwin	.asciz "GNU"
3923*c0855eaaSJohn Baldwin1:
3924*c0855eaaSJohn Baldwin	.p2align 2
3925*c0855eaaSJohn Baldwin	.long 0xc0000002
3926*c0855eaaSJohn Baldwin	.long 3f - 2f
3927*c0855eaaSJohn Baldwin2:
3928*c0855eaaSJohn Baldwin	.long 3
3929*c0855eaaSJohn Baldwin3:
3930*c0855eaaSJohn Baldwin	.p2align 2
3931*c0855eaaSJohn Baldwin4:
3932bc3d5698SJohn Baldwin#endif
3933