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