crypt586.s revision 127326
1239310Sdim	# $FreeBSD: head/secure/lib/libcrypto/i386/crypt586.s 127326 2004-03-23 08:32:29Z markm $
2239310Sdim
3239310Sdim
4239310Sdim
5239310Sdim
6239310Sdim
7239310Sdim
8239310Sdim	.file	"crypt586.s"
9239310Sdim	.version	"01.01"
10239310Sdimgcc2_compiled.:
11239310Sdim.text
12239310Sdim	.align 16
13239310Sdim.globl fcrypt_body
14239310Sdim	.type	fcrypt_body,@function
15252723Sdimfcrypt_body:
16239310Sdim	pushl	%ebp
17252723Sdim	pushl	%ebx
18252723Sdim	pushl	%esi
19239310Sdim	pushl	%edi
20252723Sdim
21239310Sdim
22239310Sdim
23239310Sdim	xorl	%edi,		%edi
24239310Sdim	xorl	%esi,		%esi
25239310Sdim	leal	DES_SPtrans,	%edx
26239310Sdim	pushl	%edx
27239310Sdim	movl	28(%esp),	%ebp
28252723Sdim	pushl	$25
29239310Sdim.L000start:
30239310Sdim
31239310Sdim
32239310Sdim	movl	36(%esp),	%eax
33252723Sdim	movl	%esi,		%edx
34252723Sdim	shrl	$16,		%edx
35252723Sdim	movl	40(%esp),	%ecx
36252723Sdim	xorl	%esi,		%edx
37239310Sdim	andl	%edx,		%eax
38239310Sdim	andl	%ecx,		%edx
39239310Sdim	movl	%eax,		%ebx
40239310Sdim	sall	$16,		%ebx
41239310Sdim	movl	%edx,		%ecx
42239310Sdim	sall	$16,		%ecx
43239310Sdim	xorl	%ebx,		%eax
44239310Sdim	xorl	%ecx,		%edx
45239310Sdim	movl	(%ebp),		%ebx
46239310Sdim	xorl	%ebx,		%eax
47239310Sdim	movl	4(%ebp),	%ecx
48239310Sdim	xorl	%esi,		%eax
49239310Sdim	xorl	%esi,		%edx
50252723Sdim	xorl	%ecx,		%edx
51252723Sdim	andl	$0xfcfcfcfc,	%eax
52252723Sdim	xorl	%ebx,		%ebx
53252723Sdim	andl	$0xcfcfcfcf,	%edx
54239310Sdim	xorl	%ecx,		%ecx
55239310Sdim	movb	%al,		%bl
56239310Sdim	movb	%ah,		%cl
57239310Sdim	rorl	$4,		%edx
58239310Sdim	movl	4(%esp),	%ebp
59239310Sdim	xorl	     (%ebp,%ebx),%edi
60252723Sdim	movb	%dl,		%bl
61252723Sdim	xorl	0x200(%ebp,%ecx),%edi
62252723Sdim	movb	%dh,		%cl
63252723Sdim	shrl	$16,		%eax
64239310Sdim	xorl	0x100(%ebp,%ebx),%edi
65239310Sdim	movb	%ah,		%bl
66252723Sdim	shrl	$16,		%edx
67252723Sdim	xorl	0x300(%ebp,%ecx),%edi
68252723Sdim	movb	%dh,		%cl
69252723Sdim	andl	$0xff,		%eax
70252723Sdim	andl	$0xff,		%edx
71252723Sdim	movl	0x600(%ebp,%ebx),%ebx
72252723Sdim	xorl	%ebx,		%edi
73252723Sdim	movl	0x700(%ebp,%ecx),%ebx
74263509Sdim	xorl	%ebx,		%edi
75263509Sdim	movl	0x400(%ebp,%eax),%ebx
76263509Sdim	xorl	%ebx,		%edi
77239310Sdim	movl	0x500(%ebp,%edx),%ebx
78239310Sdim	xorl	%ebx,		%edi
79239310Sdim	movl	32(%esp),	%ebp
80252723Sdim
81252723Sdim
82252723Sdim	movl	36(%esp),	%eax
83252723Sdim	movl	%edi,		%edx
84252723Sdim	shrl	$16,		%edx
85239310Sdim	movl	40(%esp),	%ecx
86239310Sdim	xorl	%edi,		%edx
87239310Sdim	andl	%edx,		%eax
88252723Sdim	andl	%ecx,		%edx
89252723Sdim	movl	%eax,		%ebx
90252723Sdim	sall	$16,		%ebx
91252723Sdim	movl	%edx,		%ecx
92252723Sdim	sall	$16,		%ecx
93239310Sdim	xorl	%ebx,		%eax
94263509Sdim	xorl	%ecx,		%edx
95239310Sdim	movl	8(%ebp),	%ebx
96239310Sdim	xorl	%ebx,		%eax
97239310Sdim	movl	12(%ebp),	%ecx
98252723Sdim	xorl	%edi,		%eax
99239310Sdim	xorl	%edi,		%edx
100239310Sdim	xorl	%ecx,		%edx
101239310Sdim	andl	$0xfcfcfcfc,	%eax
102239310Sdim	xorl	%ebx,		%ebx
103239310Sdim	andl	$0xcfcfcfcf,	%edx
104252723Sdim	xorl	%ecx,		%ecx
105239310Sdim	movb	%al,		%bl
106239310Sdim	movb	%ah,		%cl
107263509Sdim	rorl	$4,		%edx
108263509Sdim	movl	4(%esp),	%ebp
109263509Sdim	xorl	     (%ebp,%ebx),%esi
110263509Sdim	movb	%dl,		%bl
111263509Sdim	xorl	0x200(%ebp,%ecx),%esi
112239310Sdim	movb	%dh,		%cl
113263509Sdim	shrl	$16,		%eax
114239310Sdim	xorl	0x100(%ebp,%ebx),%esi
115239310Sdim	movb	%ah,		%bl
116239310Sdim	shrl	$16,		%edx
117239310Sdim	xorl	0x300(%ebp,%ecx),%esi
118239310Sdim	movb	%dh,		%cl
119239310Sdim	andl	$0xff,		%eax
120252723Sdim	andl	$0xff,		%edx
121263509Sdim	movl	0x600(%ebp,%ebx),%ebx
122263509Sdim	xorl	%ebx,		%esi
123263509Sdim	movl	0x700(%ebp,%ecx),%ebx
124263509Sdim	xorl	%ebx,		%esi
125263509Sdim	movl	0x400(%ebp,%eax),%ebx
126263509Sdim	xorl	%ebx,		%esi
127263509Sdim	movl	0x500(%ebp,%edx),%ebx
128263509Sdim	xorl	%ebx,		%esi
129263509Sdim	movl	32(%esp),	%ebp
130263509Sdim
131252723Sdim
132252723Sdim	movl	36(%esp),	%eax
133252723Sdim	movl	%esi,		%edx
134252723Sdim	shrl	$16,		%edx
135239310Sdim	movl	40(%esp),	%ecx
136239310Sdim	xorl	%esi,		%edx
137239310Sdim	andl	%edx,		%eax
138239310Sdim	andl	%ecx,		%edx
139239310Sdim	movl	%eax,		%ebx
140239310Sdim	sall	$16,		%ebx
141239310Sdim	movl	%edx,		%ecx
142239310Sdim	sall	$16,		%ecx
143252723Sdim	xorl	%ebx,		%eax
144263509Sdim	xorl	%ecx,		%edx
145263509Sdim	movl	16(%ebp),	%ebx
146263509Sdim	xorl	%ebx,		%eax
147263509Sdim	movl	20(%ebp),	%ecx
148263509Sdim	xorl	%esi,		%eax
149263509Sdim	xorl	%esi,		%edx
150263509Sdim	xorl	%ecx,		%edx
151263509Sdim	andl	$0xfcfcfcfc,	%eax
152263509Sdim	xorl	%ebx,		%ebx
153263509Sdim	andl	$0xcfcfcfcf,	%edx
154263509Sdim	xorl	%ecx,		%ecx
155263509Sdim	movb	%al,		%bl
156263509Sdim	movb	%ah,		%cl
157263509Sdim	rorl	$4,		%edx
158263509Sdim	movl	4(%esp),	%ebp
159263509Sdim	xorl	     (%ebp,%ebx),%edi
160263509Sdim	movb	%dl,		%bl
161263509Sdim	xorl	0x200(%ebp,%ecx),%edi
162263509Sdim	movb	%dh,		%cl
163263509Sdim	shrl	$16,		%eax
164263509Sdim	xorl	0x100(%ebp,%ebx),%edi
165263509Sdim	movb	%ah,		%bl
166263509Sdim	shrl	$16,		%edx
167263509Sdim	xorl	0x300(%ebp,%ecx),%edi
168263509Sdim	movb	%dh,		%cl
169263509Sdim	andl	$0xff,		%eax
170263509Sdim	andl	$0xff,		%edx
171263509Sdim	movl	0x600(%ebp,%ebx),%ebx
172263509Sdim	xorl	%ebx,		%edi
173263509Sdim	movl	0x700(%ebp,%ecx),%ebx
174263509Sdim	xorl	%ebx,		%edi
175263509Sdim	movl	0x400(%ebp,%eax),%ebx
176263509Sdim	xorl	%ebx,		%edi
177263509Sdim	movl	0x500(%ebp,%edx),%ebx
178263509Sdim	xorl	%ebx,		%edi
179263509Sdim	movl	32(%esp),	%ebp
180263509Sdim
181263509Sdim
182	movl	36(%esp),	%eax
183	movl	%edi,		%edx
184	shrl	$16,		%edx
185	movl	40(%esp),	%ecx
186	xorl	%edi,		%edx
187	andl	%edx,		%eax
188	andl	%ecx,		%edx
189	movl	%eax,		%ebx
190	sall	$16,		%ebx
191	movl	%edx,		%ecx
192	sall	$16,		%ecx
193	xorl	%ebx,		%eax
194	xorl	%ecx,		%edx
195	movl	24(%ebp),	%ebx
196	xorl	%ebx,		%eax
197	movl	28(%ebp),	%ecx
198	xorl	%edi,		%eax
199	xorl	%edi,		%edx
200	xorl	%ecx,		%edx
201	andl	$0xfcfcfcfc,	%eax
202	xorl	%ebx,		%ebx
203	andl	$0xcfcfcfcf,	%edx
204	xorl	%ecx,		%ecx
205	movb	%al,		%bl
206	movb	%ah,		%cl
207	rorl	$4,		%edx
208	movl	4(%esp),	%ebp
209	xorl	     (%ebp,%ebx),%esi
210	movb	%dl,		%bl
211	xorl	0x200(%ebp,%ecx),%esi
212	movb	%dh,		%cl
213	shrl	$16,		%eax
214	xorl	0x100(%ebp,%ebx),%esi
215	movb	%ah,		%bl
216	shrl	$16,		%edx
217	xorl	0x300(%ebp,%ecx),%esi
218	movb	%dh,		%cl
219	andl	$0xff,		%eax
220	andl	$0xff,		%edx
221	movl	0x600(%ebp,%ebx),%ebx
222	xorl	%ebx,		%esi
223	movl	0x700(%ebp,%ecx),%ebx
224	xorl	%ebx,		%esi
225	movl	0x400(%ebp,%eax),%ebx
226	xorl	%ebx,		%esi
227	movl	0x500(%ebp,%edx),%ebx
228	xorl	%ebx,		%esi
229	movl	32(%esp),	%ebp
230
231
232	movl	36(%esp),	%eax
233	movl	%esi,		%edx
234	shrl	$16,		%edx
235	movl	40(%esp),	%ecx
236	xorl	%esi,		%edx
237	andl	%edx,		%eax
238	andl	%ecx,		%edx
239	movl	%eax,		%ebx
240	sall	$16,		%ebx
241	movl	%edx,		%ecx
242	sall	$16,		%ecx
243	xorl	%ebx,		%eax
244	xorl	%ecx,		%edx
245	movl	32(%ebp),	%ebx
246	xorl	%ebx,		%eax
247	movl	36(%ebp),	%ecx
248	xorl	%esi,		%eax
249	xorl	%esi,		%edx
250	xorl	%ecx,		%edx
251	andl	$0xfcfcfcfc,	%eax
252	xorl	%ebx,		%ebx
253	andl	$0xcfcfcfcf,	%edx
254	xorl	%ecx,		%ecx
255	movb	%al,		%bl
256	movb	%ah,		%cl
257	rorl	$4,		%edx
258	movl	4(%esp),	%ebp
259	xorl	     (%ebp,%ebx),%edi
260	movb	%dl,		%bl
261	xorl	0x200(%ebp,%ecx),%edi
262	movb	%dh,		%cl
263	shrl	$16,		%eax
264	xorl	0x100(%ebp,%ebx),%edi
265	movb	%ah,		%bl
266	shrl	$16,		%edx
267	xorl	0x300(%ebp,%ecx),%edi
268	movb	%dh,		%cl
269	andl	$0xff,		%eax
270	andl	$0xff,		%edx
271	movl	0x600(%ebp,%ebx),%ebx
272	xorl	%ebx,		%edi
273	movl	0x700(%ebp,%ecx),%ebx
274	xorl	%ebx,		%edi
275	movl	0x400(%ebp,%eax),%ebx
276	xorl	%ebx,		%edi
277	movl	0x500(%ebp,%edx),%ebx
278	xorl	%ebx,		%edi
279	movl	32(%esp),	%ebp
280
281
282	movl	36(%esp),	%eax
283	movl	%edi,		%edx
284	shrl	$16,		%edx
285	movl	40(%esp),	%ecx
286	xorl	%edi,		%edx
287	andl	%edx,		%eax
288	andl	%ecx,		%edx
289	movl	%eax,		%ebx
290	sall	$16,		%ebx
291	movl	%edx,		%ecx
292	sall	$16,		%ecx
293	xorl	%ebx,		%eax
294	xorl	%ecx,		%edx
295	movl	40(%ebp),	%ebx
296	xorl	%ebx,		%eax
297	movl	44(%ebp),	%ecx
298	xorl	%edi,		%eax
299	xorl	%edi,		%edx
300	xorl	%ecx,		%edx
301	andl	$0xfcfcfcfc,	%eax
302	xorl	%ebx,		%ebx
303	andl	$0xcfcfcfcf,	%edx
304	xorl	%ecx,		%ecx
305	movb	%al,		%bl
306	movb	%ah,		%cl
307	rorl	$4,		%edx
308	movl	4(%esp),	%ebp
309	xorl	     (%ebp,%ebx),%esi
310	movb	%dl,		%bl
311	xorl	0x200(%ebp,%ecx),%esi
312	movb	%dh,		%cl
313	shrl	$16,		%eax
314	xorl	0x100(%ebp,%ebx),%esi
315	movb	%ah,		%bl
316	shrl	$16,		%edx
317	xorl	0x300(%ebp,%ecx),%esi
318	movb	%dh,		%cl
319	andl	$0xff,		%eax
320	andl	$0xff,		%edx
321	movl	0x600(%ebp,%ebx),%ebx
322	xorl	%ebx,		%esi
323	movl	0x700(%ebp,%ecx),%ebx
324	xorl	%ebx,		%esi
325	movl	0x400(%ebp,%eax),%ebx
326	xorl	%ebx,		%esi
327	movl	0x500(%ebp,%edx),%ebx
328	xorl	%ebx,		%esi
329	movl	32(%esp),	%ebp
330
331
332	movl	36(%esp),	%eax
333	movl	%esi,		%edx
334	shrl	$16,		%edx
335	movl	40(%esp),	%ecx
336	xorl	%esi,		%edx
337	andl	%edx,		%eax
338	andl	%ecx,		%edx
339	movl	%eax,		%ebx
340	sall	$16,		%ebx
341	movl	%edx,		%ecx
342	sall	$16,		%ecx
343	xorl	%ebx,		%eax
344	xorl	%ecx,		%edx
345	movl	48(%ebp),	%ebx
346	xorl	%ebx,		%eax
347	movl	52(%ebp),	%ecx
348	xorl	%esi,		%eax
349	xorl	%esi,		%edx
350	xorl	%ecx,		%edx
351	andl	$0xfcfcfcfc,	%eax
352	xorl	%ebx,		%ebx
353	andl	$0xcfcfcfcf,	%edx
354	xorl	%ecx,		%ecx
355	movb	%al,		%bl
356	movb	%ah,		%cl
357	rorl	$4,		%edx
358	movl	4(%esp),	%ebp
359	xorl	     (%ebp,%ebx),%edi
360	movb	%dl,		%bl
361	xorl	0x200(%ebp,%ecx),%edi
362	movb	%dh,		%cl
363	shrl	$16,		%eax
364	xorl	0x100(%ebp,%ebx),%edi
365	movb	%ah,		%bl
366	shrl	$16,		%edx
367	xorl	0x300(%ebp,%ecx),%edi
368	movb	%dh,		%cl
369	andl	$0xff,		%eax
370	andl	$0xff,		%edx
371	movl	0x600(%ebp,%ebx),%ebx
372	xorl	%ebx,		%edi
373	movl	0x700(%ebp,%ecx),%ebx
374	xorl	%ebx,		%edi
375	movl	0x400(%ebp,%eax),%ebx
376	xorl	%ebx,		%edi
377	movl	0x500(%ebp,%edx),%ebx
378	xorl	%ebx,		%edi
379	movl	32(%esp),	%ebp
380
381
382	movl	36(%esp),	%eax
383	movl	%edi,		%edx
384	shrl	$16,		%edx
385	movl	40(%esp),	%ecx
386	xorl	%edi,		%edx
387	andl	%edx,		%eax
388	andl	%ecx,		%edx
389	movl	%eax,		%ebx
390	sall	$16,		%ebx
391	movl	%edx,		%ecx
392	sall	$16,		%ecx
393	xorl	%ebx,		%eax
394	xorl	%ecx,		%edx
395	movl	56(%ebp),	%ebx
396	xorl	%ebx,		%eax
397	movl	60(%ebp),	%ecx
398	xorl	%edi,		%eax
399	xorl	%edi,		%edx
400	xorl	%ecx,		%edx
401	andl	$0xfcfcfcfc,	%eax
402	xorl	%ebx,		%ebx
403	andl	$0xcfcfcfcf,	%edx
404	xorl	%ecx,		%ecx
405	movb	%al,		%bl
406	movb	%ah,		%cl
407	rorl	$4,		%edx
408	movl	4(%esp),	%ebp
409	xorl	     (%ebp,%ebx),%esi
410	movb	%dl,		%bl
411	xorl	0x200(%ebp,%ecx),%esi
412	movb	%dh,		%cl
413	shrl	$16,		%eax
414	xorl	0x100(%ebp,%ebx),%esi
415	movb	%ah,		%bl
416	shrl	$16,		%edx
417	xorl	0x300(%ebp,%ecx),%esi
418	movb	%dh,		%cl
419	andl	$0xff,		%eax
420	andl	$0xff,		%edx
421	movl	0x600(%ebp,%ebx),%ebx
422	xorl	%ebx,		%esi
423	movl	0x700(%ebp,%ecx),%ebx
424	xorl	%ebx,		%esi
425	movl	0x400(%ebp,%eax),%ebx
426	xorl	%ebx,		%esi
427	movl	0x500(%ebp,%edx),%ebx
428	xorl	%ebx,		%esi
429	movl	32(%esp),	%ebp
430
431
432	movl	36(%esp),	%eax
433	movl	%esi,		%edx
434	shrl	$16,		%edx
435	movl	40(%esp),	%ecx
436	xorl	%esi,		%edx
437	andl	%edx,		%eax
438	andl	%ecx,		%edx
439	movl	%eax,		%ebx
440	sall	$16,		%ebx
441	movl	%edx,		%ecx
442	sall	$16,		%ecx
443	xorl	%ebx,		%eax
444	xorl	%ecx,		%edx
445	movl	64(%ebp),	%ebx
446	xorl	%ebx,		%eax
447	movl	68(%ebp),	%ecx
448	xorl	%esi,		%eax
449	xorl	%esi,		%edx
450	xorl	%ecx,		%edx
451	andl	$0xfcfcfcfc,	%eax
452	xorl	%ebx,		%ebx
453	andl	$0xcfcfcfcf,	%edx
454	xorl	%ecx,		%ecx
455	movb	%al,		%bl
456	movb	%ah,		%cl
457	rorl	$4,		%edx
458	movl	4(%esp),	%ebp
459	xorl	     (%ebp,%ebx),%edi
460	movb	%dl,		%bl
461	xorl	0x200(%ebp,%ecx),%edi
462	movb	%dh,		%cl
463	shrl	$16,		%eax
464	xorl	0x100(%ebp,%ebx),%edi
465	movb	%ah,		%bl
466	shrl	$16,		%edx
467	xorl	0x300(%ebp,%ecx),%edi
468	movb	%dh,		%cl
469	andl	$0xff,		%eax
470	andl	$0xff,		%edx
471	movl	0x600(%ebp,%ebx),%ebx
472	xorl	%ebx,		%edi
473	movl	0x700(%ebp,%ecx),%ebx
474	xorl	%ebx,		%edi
475	movl	0x400(%ebp,%eax),%ebx
476	xorl	%ebx,		%edi
477	movl	0x500(%ebp,%edx),%ebx
478	xorl	%ebx,		%edi
479	movl	32(%esp),	%ebp
480
481
482	movl	36(%esp),	%eax
483	movl	%edi,		%edx
484	shrl	$16,		%edx
485	movl	40(%esp),	%ecx
486	xorl	%edi,		%edx
487	andl	%edx,		%eax
488	andl	%ecx,		%edx
489	movl	%eax,		%ebx
490	sall	$16,		%ebx
491	movl	%edx,		%ecx
492	sall	$16,		%ecx
493	xorl	%ebx,		%eax
494	xorl	%ecx,		%edx
495	movl	72(%ebp),	%ebx
496	xorl	%ebx,		%eax
497	movl	76(%ebp),	%ecx
498	xorl	%edi,		%eax
499	xorl	%edi,		%edx
500	xorl	%ecx,		%edx
501	andl	$0xfcfcfcfc,	%eax
502	xorl	%ebx,		%ebx
503	andl	$0xcfcfcfcf,	%edx
504	xorl	%ecx,		%ecx
505	movb	%al,		%bl
506	movb	%ah,		%cl
507	rorl	$4,		%edx
508	movl	4(%esp),	%ebp
509	xorl	     (%ebp,%ebx),%esi
510	movb	%dl,		%bl
511	xorl	0x200(%ebp,%ecx),%esi
512	movb	%dh,		%cl
513	shrl	$16,		%eax
514	xorl	0x100(%ebp,%ebx),%esi
515	movb	%ah,		%bl
516	shrl	$16,		%edx
517	xorl	0x300(%ebp,%ecx),%esi
518	movb	%dh,		%cl
519	andl	$0xff,		%eax
520	andl	$0xff,		%edx
521	movl	0x600(%ebp,%ebx),%ebx
522	xorl	%ebx,		%esi
523	movl	0x700(%ebp,%ecx),%ebx
524	xorl	%ebx,		%esi
525	movl	0x400(%ebp,%eax),%ebx
526	xorl	%ebx,		%esi
527	movl	0x500(%ebp,%edx),%ebx
528	xorl	%ebx,		%esi
529	movl	32(%esp),	%ebp
530
531
532	movl	36(%esp),	%eax
533	movl	%esi,		%edx
534	shrl	$16,		%edx
535	movl	40(%esp),	%ecx
536	xorl	%esi,		%edx
537	andl	%edx,		%eax
538	andl	%ecx,		%edx
539	movl	%eax,		%ebx
540	sall	$16,		%ebx
541	movl	%edx,		%ecx
542	sall	$16,		%ecx
543	xorl	%ebx,		%eax
544	xorl	%ecx,		%edx
545	movl	80(%ebp),	%ebx
546	xorl	%ebx,		%eax
547	movl	84(%ebp),	%ecx
548	xorl	%esi,		%eax
549	xorl	%esi,		%edx
550	xorl	%ecx,		%edx
551	andl	$0xfcfcfcfc,	%eax
552	xorl	%ebx,		%ebx
553	andl	$0xcfcfcfcf,	%edx
554	xorl	%ecx,		%ecx
555	movb	%al,		%bl
556	movb	%ah,		%cl
557	rorl	$4,		%edx
558	movl	4(%esp),	%ebp
559	xorl	     (%ebp,%ebx),%edi
560	movb	%dl,		%bl
561	xorl	0x200(%ebp,%ecx),%edi
562	movb	%dh,		%cl
563	shrl	$16,		%eax
564	xorl	0x100(%ebp,%ebx),%edi
565	movb	%ah,		%bl
566	shrl	$16,		%edx
567	xorl	0x300(%ebp,%ecx),%edi
568	movb	%dh,		%cl
569	andl	$0xff,		%eax
570	andl	$0xff,		%edx
571	movl	0x600(%ebp,%ebx),%ebx
572	xorl	%ebx,		%edi
573	movl	0x700(%ebp,%ecx),%ebx
574	xorl	%ebx,		%edi
575	movl	0x400(%ebp,%eax),%ebx
576	xorl	%ebx,		%edi
577	movl	0x500(%ebp,%edx),%ebx
578	xorl	%ebx,		%edi
579	movl	32(%esp),	%ebp
580
581
582	movl	36(%esp),	%eax
583	movl	%edi,		%edx
584	shrl	$16,		%edx
585	movl	40(%esp),	%ecx
586	xorl	%edi,		%edx
587	andl	%edx,		%eax
588	andl	%ecx,		%edx
589	movl	%eax,		%ebx
590	sall	$16,		%ebx
591	movl	%edx,		%ecx
592	sall	$16,		%ecx
593	xorl	%ebx,		%eax
594	xorl	%ecx,		%edx
595	movl	88(%ebp),	%ebx
596	xorl	%ebx,		%eax
597	movl	92(%ebp),	%ecx
598	xorl	%edi,		%eax
599	xorl	%edi,		%edx
600	xorl	%ecx,		%edx
601	andl	$0xfcfcfcfc,	%eax
602	xorl	%ebx,		%ebx
603	andl	$0xcfcfcfcf,	%edx
604	xorl	%ecx,		%ecx
605	movb	%al,		%bl
606	movb	%ah,		%cl
607	rorl	$4,		%edx
608	movl	4(%esp),	%ebp
609	xorl	     (%ebp,%ebx),%esi
610	movb	%dl,		%bl
611	xorl	0x200(%ebp,%ecx),%esi
612	movb	%dh,		%cl
613	shrl	$16,		%eax
614	xorl	0x100(%ebp,%ebx),%esi
615	movb	%ah,		%bl
616	shrl	$16,		%edx
617	xorl	0x300(%ebp,%ecx),%esi
618	movb	%dh,		%cl
619	andl	$0xff,		%eax
620	andl	$0xff,		%edx
621	movl	0x600(%ebp,%ebx),%ebx
622	xorl	%ebx,		%esi
623	movl	0x700(%ebp,%ecx),%ebx
624	xorl	%ebx,		%esi
625	movl	0x400(%ebp,%eax),%ebx
626	xorl	%ebx,		%esi
627	movl	0x500(%ebp,%edx),%ebx
628	xorl	%ebx,		%esi
629	movl	32(%esp),	%ebp
630
631
632	movl	36(%esp),	%eax
633	movl	%esi,		%edx
634	shrl	$16,		%edx
635	movl	40(%esp),	%ecx
636	xorl	%esi,		%edx
637	andl	%edx,		%eax
638	andl	%ecx,		%edx
639	movl	%eax,		%ebx
640	sall	$16,		%ebx
641	movl	%edx,		%ecx
642	sall	$16,		%ecx
643	xorl	%ebx,		%eax
644	xorl	%ecx,		%edx
645	movl	96(%ebp),	%ebx
646	xorl	%ebx,		%eax
647	movl	100(%ebp),	%ecx
648	xorl	%esi,		%eax
649	xorl	%esi,		%edx
650	xorl	%ecx,		%edx
651	andl	$0xfcfcfcfc,	%eax
652	xorl	%ebx,		%ebx
653	andl	$0xcfcfcfcf,	%edx
654	xorl	%ecx,		%ecx
655	movb	%al,		%bl
656	movb	%ah,		%cl
657	rorl	$4,		%edx
658	movl	4(%esp),	%ebp
659	xorl	     (%ebp,%ebx),%edi
660	movb	%dl,		%bl
661	xorl	0x200(%ebp,%ecx),%edi
662	movb	%dh,		%cl
663	shrl	$16,		%eax
664	xorl	0x100(%ebp,%ebx),%edi
665	movb	%ah,		%bl
666	shrl	$16,		%edx
667	xorl	0x300(%ebp,%ecx),%edi
668	movb	%dh,		%cl
669	andl	$0xff,		%eax
670	andl	$0xff,		%edx
671	movl	0x600(%ebp,%ebx),%ebx
672	xorl	%ebx,		%edi
673	movl	0x700(%ebp,%ecx),%ebx
674	xorl	%ebx,		%edi
675	movl	0x400(%ebp,%eax),%ebx
676	xorl	%ebx,		%edi
677	movl	0x500(%ebp,%edx),%ebx
678	xorl	%ebx,		%edi
679	movl	32(%esp),	%ebp
680
681
682	movl	36(%esp),	%eax
683	movl	%edi,		%edx
684	shrl	$16,		%edx
685	movl	40(%esp),	%ecx
686	xorl	%edi,		%edx
687	andl	%edx,		%eax
688	andl	%ecx,		%edx
689	movl	%eax,		%ebx
690	sall	$16,		%ebx
691	movl	%edx,		%ecx
692	sall	$16,		%ecx
693	xorl	%ebx,		%eax
694	xorl	%ecx,		%edx
695	movl	104(%ebp),	%ebx
696	xorl	%ebx,		%eax
697	movl	108(%ebp),	%ecx
698	xorl	%edi,		%eax
699	xorl	%edi,		%edx
700	xorl	%ecx,		%edx
701	andl	$0xfcfcfcfc,	%eax
702	xorl	%ebx,		%ebx
703	andl	$0xcfcfcfcf,	%edx
704	xorl	%ecx,		%ecx
705	movb	%al,		%bl
706	movb	%ah,		%cl
707	rorl	$4,		%edx
708	movl	4(%esp),	%ebp
709	xorl	     (%ebp,%ebx),%esi
710	movb	%dl,		%bl
711	xorl	0x200(%ebp,%ecx),%esi
712	movb	%dh,		%cl
713	shrl	$16,		%eax
714	xorl	0x100(%ebp,%ebx),%esi
715	movb	%ah,		%bl
716	shrl	$16,		%edx
717	xorl	0x300(%ebp,%ecx),%esi
718	movb	%dh,		%cl
719	andl	$0xff,		%eax
720	andl	$0xff,		%edx
721	movl	0x600(%ebp,%ebx),%ebx
722	xorl	%ebx,		%esi
723	movl	0x700(%ebp,%ecx),%ebx
724	xorl	%ebx,		%esi
725	movl	0x400(%ebp,%eax),%ebx
726	xorl	%ebx,		%esi
727	movl	0x500(%ebp,%edx),%ebx
728	xorl	%ebx,		%esi
729	movl	32(%esp),	%ebp
730
731
732	movl	36(%esp),	%eax
733	movl	%esi,		%edx
734	shrl	$16,		%edx
735	movl	40(%esp),	%ecx
736	xorl	%esi,		%edx
737	andl	%edx,		%eax
738	andl	%ecx,		%edx
739	movl	%eax,		%ebx
740	sall	$16,		%ebx
741	movl	%edx,		%ecx
742	sall	$16,		%ecx
743	xorl	%ebx,		%eax
744	xorl	%ecx,		%edx
745	movl	112(%ebp),	%ebx
746	xorl	%ebx,		%eax
747	movl	116(%ebp),	%ecx
748	xorl	%esi,		%eax
749	xorl	%esi,		%edx
750	xorl	%ecx,		%edx
751	andl	$0xfcfcfcfc,	%eax
752	xorl	%ebx,		%ebx
753	andl	$0xcfcfcfcf,	%edx
754	xorl	%ecx,		%ecx
755	movb	%al,		%bl
756	movb	%ah,		%cl
757	rorl	$4,		%edx
758	movl	4(%esp),	%ebp
759	xorl	     (%ebp,%ebx),%edi
760	movb	%dl,		%bl
761	xorl	0x200(%ebp,%ecx),%edi
762	movb	%dh,		%cl
763	shrl	$16,		%eax
764	xorl	0x100(%ebp,%ebx),%edi
765	movb	%ah,		%bl
766	shrl	$16,		%edx
767	xorl	0x300(%ebp,%ecx),%edi
768	movb	%dh,		%cl
769	andl	$0xff,		%eax
770	andl	$0xff,		%edx
771	movl	0x600(%ebp,%ebx),%ebx
772	xorl	%ebx,		%edi
773	movl	0x700(%ebp,%ecx),%ebx
774	xorl	%ebx,		%edi
775	movl	0x400(%ebp,%eax),%ebx
776	xorl	%ebx,		%edi
777	movl	0x500(%ebp,%edx),%ebx
778	xorl	%ebx,		%edi
779	movl	32(%esp),	%ebp
780
781
782	movl	36(%esp),	%eax
783	movl	%edi,		%edx
784	shrl	$16,		%edx
785	movl	40(%esp),	%ecx
786	xorl	%edi,		%edx
787	andl	%edx,		%eax
788	andl	%ecx,		%edx
789	movl	%eax,		%ebx
790	sall	$16,		%ebx
791	movl	%edx,		%ecx
792	sall	$16,		%ecx
793	xorl	%ebx,		%eax
794	xorl	%ecx,		%edx
795	movl	120(%ebp),	%ebx
796	xorl	%ebx,		%eax
797	movl	124(%ebp),	%ecx
798	xorl	%edi,		%eax
799	xorl	%edi,		%edx
800	xorl	%ecx,		%edx
801	andl	$0xfcfcfcfc,	%eax
802	xorl	%ebx,		%ebx
803	andl	$0xcfcfcfcf,	%edx
804	xorl	%ecx,		%ecx
805	movb	%al,		%bl
806	movb	%ah,		%cl
807	rorl	$4,		%edx
808	movl	4(%esp),	%ebp
809	xorl	     (%ebp,%ebx),%esi
810	movb	%dl,		%bl
811	xorl	0x200(%ebp,%ecx),%esi
812	movb	%dh,		%cl
813	shrl	$16,		%eax
814	xorl	0x100(%ebp,%ebx),%esi
815	movb	%ah,		%bl
816	shrl	$16,		%edx
817	xorl	0x300(%ebp,%ecx),%esi
818	movb	%dh,		%cl
819	andl	$0xff,		%eax
820	andl	$0xff,		%edx
821	movl	0x600(%ebp,%ebx),%ebx
822	xorl	%ebx,		%esi
823	movl	0x700(%ebp,%ecx),%ebx
824	xorl	%ebx,		%esi
825	movl	0x400(%ebp,%eax),%ebx
826	xorl	%ebx,		%esi
827	movl	0x500(%ebp,%edx),%ebx
828	xorl	%ebx,		%esi
829	movl	32(%esp),	%ebp
830	movl	(%esp),		%ebx
831	movl	%edi,		%eax
832	decl	%ebx
833	movl	%esi,		%edi
834	movl	%eax,		%esi
835	movl	%ebx,		(%esp)
836	jnz	.L000start
837
838
839	movl	28(%esp),	%edx
840.byte 209
841.byte 207
842	movl	%esi,		%eax
843	xorl	%edi,		%esi
844	andl	$0xaaaaaaaa,	%esi
845	xorl	%esi,		%eax
846	xorl	%esi,		%edi
847
848	roll	$23,		%eax
849	movl	%eax,		%esi
850	xorl	%edi,		%eax
851	andl	$0x03fc03fc,	%eax
852	xorl	%eax,		%esi
853	xorl	%eax,		%edi
854
855	roll	$10,		%esi
856	movl	%esi,		%eax
857	xorl	%edi,		%esi
858	andl	$0x33333333,	%esi
859	xorl	%esi,		%eax
860	xorl	%esi,		%edi
861
862	roll	$18,		%edi
863	movl	%edi,		%esi
864	xorl	%eax,		%edi
865	andl	$0xfff0000f,	%edi
866	xorl	%edi,		%esi
867	xorl	%edi,		%eax
868
869	roll	$12,		%esi
870	movl	%esi,		%edi
871	xorl	%eax,		%esi
872	andl	$0xf0f0f0f0,	%esi
873	xorl	%esi,		%edi
874	xorl	%esi,		%eax
875
876	rorl	$4,		%eax
877	movl	%eax,		(%edx)
878	movl	%edi,		4(%edx)
879	addl	$8,		%esp
880	popl	%edi
881	popl	%esi
882	popl	%ebx
883	popl	%ebp
884	ret
885.L_fcrypt_body_end:
886	.size	fcrypt_body,.L_fcrypt_body_end-fcrypt_body
887.ident	"fcrypt_body"
888