1#include <machine/asm.h>
2.text
3.globl	fcrypt_body
4.type	fcrypt_body,@function
5.align	16
6fcrypt_body:
7.L_fcrypt_body_begin:
8	#ifdef __CET__
9
10.byte	243,15,30,251
11	#endif
12
13	pushl	%ebp
14	pushl	%ebx
15	pushl	%esi
16	pushl	%edi
17
18
19	xorl	%edi,%edi
20	xorl	%esi,%esi
21	call	.L000PIC_me_up
22.L000PIC_me_up:
23	popl	%edx
24	leal	_GLOBAL_OFFSET_TABLE_+[.-.L000PIC_me_up](%edx),%edx
25	movl	DES_SPtrans@GOT(%edx),%edx
26	pushl	%edx
27	movl	28(%esp),%ebp
28	pushl	$25
29.L001start:
30
31
32	movl	36(%esp),%eax
33	movl	%esi,%edx
34	shrl	$16,%edx
35	movl	40(%esp),%ecx
36	xorl	%esi,%edx
37	andl	%edx,%eax
38	andl	%ecx,%edx
39	movl	%eax,%ebx
40	shll	$16,%ebx
41	movl	%edx,%ecx
42	shll	$16,%ecx
43	xorl	%ebx,%eax
44	xorl	%ecx,%edx
45	movl	(%ebp),%ebx
46	xorl	%ebx,%eax
47	movl	4(%ebp),%ecx
48	xorl	%esi,%eax
49	xorl	%esi,%edx
50	xorl	%ecx,%edx
51	andl	$0xfcfcfcfc,%eax
52	xorl	%ebx,%ebx
53	andl	$0xcfcfcfcf,%edx
54	xorl	%ecx,%ecx
55	movb	%al,%bl
56	movb	%ah,%cl
57	rorl	$4,%edx
58	movl	4(%esp),%ebp
59	xorl	(%ebp,%ebx,1),%edi
60	movb	%dl,%bl
61	xorl	0x200(%ebp,%ecx,1),%edi
62	movb	%dh,%cl
63	shrl	$16,%eax
64	xorl	0x100(%ebp,%ebx,1),%edi
65	movb	%ah,%bl
66	shrl	$16,%edx
67	xorl	0x300(%ebp,%ecx,1),%edi
68	movb	%dh,%cl
69	andl	$0xff,%eax
70	andl	$0xff,%edx
71	movl	0x600(%ebp,%ebx,1),%ebx
72	xorl	%ebx,%edi
73	movl	0x700(%ebp,%ecx,1),%ebx
74	xorl	%ebx,%edi
75	movl	0x400(%ebp,%eax,1),%ebx
76	xorl	%ebx,%edi
77	movl	0x500(%ebp,%edx,1),%ebx
78	xorl	%ebx,%edi
79	movl	32(%esp),%ebp
80
81
82	movl	36(%esp),%eax
83	movl	%edi,%edx
84	shrl	$16,%edx
85	movl	40(%esp),%ecx
86	xorl	%edi,%edx
87	andl	%edx,%eax
88	andl	%ecx,%edx
89	movl	%eax,%ebx
90	shll	$16,%ebx
91	movl	%edx,%ecx
92	shll	$16,%ecx
93	xorl	%ebx,%eax
94	xorl	%ecx,%edx
95	movl	8(%ebp),%ebx
96	xorl	%ebx,%eax
97	movl	12(%ebp),%ecx
98	xorl	%edi,%eax
99	xorl	%edi,%edx
100	xorl	%ecx,%edx
101	andl	$0xfcfcfcfc,%eax
102	xorl	%ebx,%ebx
103	andl	$0xcfcfcfcf,%edx
104	xorl	%ecx,%ecx
105	movb	%al,%bl
106	movb	%ah,%cl
107	rorl	$4,%edx
108	movl	4(%esp),%ebp
109	xorl	(%ebp,%ebx,1),%esi
110	movb	%dl,%bl
111	xorl	0x200(%ebp,%ecx,1),%esi
112	movb	%dh,%cl
113	shrl	$16,%eax
114	xorl	0x100(%ebp,%ebx,1),%esi
115	movb	%ah,%bl
116	shrl	$16,%edx
117	xorl	0x300(%ebp,%ecx,1),%esi
118	movb	%dh,%cl
119	andl	$0xff,%eax
120	andl	$0xff,%edx
121	movl	0x600(%ebp,%ebx,1),%ebx
122	xorl	%ebx,%esi
123	movl	0x700(%ebp,%ecx,1),%ebx
124	xorl	%ebx,%esi
125	movl	0x400(%ebp,%eax,1),%ebx
126	xorl	%ebx,%esi
127	movl	0x500(%ebp,%edx,1),%ebx
128	xorl	%ebx,%esi
129	movl	32(%esp),%ebp
130
131
132	movl	36(%esp),%eax
133	movl	%esi,%edx
134	shrl	$16,%edx
135	movl	40(%esp),%ecx
136	xorl	%esi,%edx
137	andl	%edx,%eax
138	andl	%ecx,%edx
139	movl	%eax,%ebx
140	shll	$16,%ebx
141	movl	%edx,%ecx
142	shll	$16,%ecx
143	xorl	%ebx,%eax
144	xorl	%ecx,%edx
145	movl	16(%ebp),%ebx
146	xorl	%ebx,%eax
147	movl	20(%ebp),%ecx
148	xorl	%esi,%eax
149	xorl	%esi,%edx
150	xorl	%ecx,%edx
151	andl	$0xfcfcfcfc,%eax
152	xorl	%ebx,%ebx
153	andl	$0xcfcfcfcf,%edx
154	xorl	%ecx,%ecx
155	movb	%al,%bl
156	movb	%ah,%cl
157	rorl	$4,%edx
158	movl	4(%esp),%ebp
159	xorl	(%ebp,%ebx,1),%edi
160	movb	%dl,%bl
161	xorl	0x200(%ebp,%ecx,1),%edi
162	movb	%dh,%cl
163	shrl	$16,%eax
164	xorl	0x100(%ebp,%ebx,1),%edi
165	movb	%ah,%bl
166	shrl	$16,%edx
167	xorl	0x300(%ebp,%ecx,1),%edi
168	movb	%dh,%cl
169	andl	$0xff,%eax
170	andl	$0xff,%edx
171	movl	0x600(%ebp,%ebx,1),%ebx
172	xorl	%ebx,%edi
173	movl	0x700(%ebp,%ecx,1),%ebx
174	xorl	%ebx,%edi
175	movl	0x400(%ebp,%eax,1),%ebx
176	xorl	%ebx,%edi
177	movl	0x500(%ebp,%edx,1),%ebx
178	xorl	%ebx,%edi
179	movl	32(%esp),%ebp
180
181
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	shll	$16,%ebx
191	movl	%edx,%ecx
192	shll	$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,1),%esi
210	movb	%dl,%bl
211	xorl	0x200(%ebp,%ecx,1),%esi
212	movb	%dh,%cl
213	shrl	$16,%eax
214	xorl	0x100(%ebp,%ebx,1),%esi
215	movb	%ah,%bl
216	shrl	$16,%edx
217	xorl	0x300(%ebp,%ecx,1),%esi
218	movb	%dh,%cl
219	andl	$0xff,%eax
220	andl	$0xff,%edx
221	movl	0x600(%ebp,%ebx,1),%ebx
222	xorl	%ebx,%esi
223	movl	0x700(%ebp,%ecx,1),%ebx
224	xorl	%ebx,%esi
225	movl	0x400(%ebp,%eax,1),%ebx
226	xorl	%ebx,%esi
227	movl	0x500(%ebp,%edx,1),%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	shll	$16,%ebx
241	movl	%edx,%ecx
242	shll	$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,1),%edi
260	movb	%dl,%bl
261	xorl	0x200(%ebp,%ecx,1),%edi
262	movb	%dh,%cl
263	shrl	$16,%eax
264	xorl	0x100(%ebp,%ebx,1),%edi
265	movb	%ah,%bl
266	shrl	$16,%edx
267	xorl	0x300(%ebp,%ecx,1),%edi
268	movb	%dh,%cl
269	andl	$0xff,%eax
270	andl	$0xff,%edx
271	movl	0x600(%ebp,%ebx,1),%ebx
272	xorl	%ebx,%edi
273	movl	0x700(%ebp,%ecx,1),%ebx
274	xorl	%ebx,%edi
275	movl	0x400(%ebp,%eax,1),%ebx
276	xorl	%ebx,%edi
277	movl	0x500(%ebp,%edx,1),%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	shll	$16,%ebx
291	movl	%edx,%ecx
292	shll	$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,1),%esi
310	movb	%dl,%bl
311	xorl	0x200(%ebp,%ecx,1),%esi
312	movb	%dh,%cl
313	shrl	$16,%eax
314	xorl	0x100(%ebp,%ebx,1),%esi
315	movb	%ah,%bl
316	shrl	$16,%edx
317	xorl	0x300(%ebp,%ecx,1),%esi
318	movb	%dh,%cl
319	andl	$0xff,%eax
320	andl	$0xff,%edx
321	movl	0x600(%ebp,%ebx,1),%ebx
322	xorl	%ebx,%esi
323	movl	0x700(%ebp,%ecx,1),%ebx
324	xorl	%ebx,%esi
325	movl	0x400(%ebp,%eax,1),%ebx
326	xorl	%ebx,%esi
327	movl	0x500(%ebp,%edx,1),%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	shll	$16,%ebx
341	movl	%edx,%ecx
342	shll	$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,1),%edi
360	movb	%dl,%bl
361	xorl	0x200(%ebp,%ecx,1),%edi
362	movb	%dh,%cl
363	shrl	$16,%eax
364	xorl	0x100(%ebp,%ebx,1),%edi
365	movb	%ah,%bl
366	shrl	$16,%edx
367	xorl	0x300(%ebp,%ecx,1),%edi
368	movb	%dh,%cl
369	andl	$0xff,%eax
370	andl	$0xff,%edx
371	movl	0x600(%ebp,%ebx,1),%ebx
372	xorl	%ebx,%edi
373	movl	0x700(%ebp,%ecx,1),%ebx
374	xorl	%ebx,%edi
375	movl	0x400(%ebp,%eax,1),%ebx
376	xorl	%ebx,%edi
377	movl	0x500(%ebp,%edx,1),%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	shll	$16,%ebx
391	movl	%edx,%ecx
392	shll	$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,1),%esi
410	movb	%dl,%bl
411	xorl	0x200(%ebp,%ecx,1),%esi
412	movb	%dh,%cl
413	shrl	$16,%eax
414	xorl	0x100(%ebp,%ebx,1),%esi
415	movb	%ah,%bl
416	shrl	$16,%edx
417	xorl	0x300(%ebp,%ecx,1),%esi
418	movb	%dh,%cl
419	andl	$0xff,%eax
420	andl	$0xff,%edx
421	movl	0x600(%ebp,%ebx,1),%ebx
422	xorl	%ebx,%esi
423	movl	0x700(%ebp,%ecx,1),%ebx
424	xorl	%ebx,%esi
425	movl	0x400(%ebp,%eax,1),%ebx
426	xorl	%ebx,%esi
427	movl	0x500(%ebp,%edx,1),%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	shll	$16,%ebx
441	movl	%edx,%ecx
442	shll	$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,1),%edi
460	movb	%dl,%bl
461	xorl	0x200(%ebp,%ecx,1),%edi
462	movb	%dh,%cl
463	shrl	$16,%eax
464	xorl	0x100(%ebp,%ebx,1),%edi
465	movb	%ah,%bl
466	shrl	$16,%edx
467	xorl	0x300(%ebp,%ecx,1),%edi
468	movb	%dh,%cl
469	andl	$0xff,%eax
470	andl	$0xff,%edx
471	movl	0x600(%ebp,%ebx,1),%ebx
472	xorl	%ebx,%edi
473	movl	0x700(%ebp,%ecx,1),%ebx
474	xorl	%ebx,%edi
475	movl	0x400(%ebp,%eax,1),%ebx
476	xorl	%ebx,%edi
477	movl	0x500(%ebp,%edx,1),%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	shll	$16,%ebx
491	movl	%edx,%ecx
492	shll	$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,1),%esi
510	movb	%dl,%bl
511	xorl	0x200(%ebp,%ecx,1),%esi
512	movb	%dh,%cl
513	shrl	$16,%eax
514	xorl	0x100(%ebp,%ebx,1),%esi
515	movb	%ah,%bl
516	shrl	$16,%edx
517	xorl	0x300(%ebp,%ecx,1),%esi
518	movb	%dh,%cl
519	andl	$0xff,%eax
520	andl	$0xff,%edx
521	movl	0x600(%ebp,%ebx,1),%ebx
522	xorl	%ebx,%esi
523	movl	0x700(%ebp,%ecx,1),%ebx
524	xorl	%ebx,%esi
525	movl	0x400(%ebp,%eax,1),%ebx
526	xorl	%ebx,%esi
527	movl	0x500(%ebp,%edx,1),%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	shll	$16,%ebx
541	movl	%edx,%ecx
542	shll	$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,1),%edi
560	movb	%dl,%bl
561	xorl	0x200(%ebp,%ecx,1),%edi
562	movb	%dh,%cl
563	shrl	$16,%eax
564	xorl	0x100(%ebp,%ebx,1),%edi
565	movb	%ah,%bl
566	shrl	$16,%edx
567	xorl	0x300(%ebp,%ecx,1),%edi
568	movb	%dh,%cl
569	andl	$0xff,%eax
570	andl	$0xff,%edx
571	movl	0x600(%ebp,%ebx,1),%ebx
572	xorl	%ebx,%edi
573	movl	0x700(%ebp,%ecx,1),%ebx
574	xorl	%ebx,%edi
575	movl	0x400(%ebp,%eax,1),%ebx
576	xorl	%ebx,%edi
577	movl	0x500(%ebp,%edx,1),%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	shll	$16,%ebx
591	movl	%edx,%ecx
592	shll	$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,1),%esi
610	movb	%dl,%bl
611	xorl	0x200(%ebp,%ecx,1),%esi
612	movb	%dh,%cl
613	shrl	$16,%eax
614	xorl	0x100(%ebp,%ebx,1),%esi
615	movb	%ah,%bl
616	shrl	$16,%edx
617	xorl	0x300(%ebp,%ecx,1),%esi
618	movb	%dh,%cl
619	andl	$0xff,%eax
620	andl	$0xff,%edx
621	movl	0x600(%ebp,%ebx,1),%ebx
622	xorl	%ebx,%esi
623	movl	0x700(%ebp,%ecx,1),%ebx
624	xorl	%ebx,%esi
625	movl	0x400(%ebp,%eax,1),%ebx
626	xorl	%ebx,%esi
627	movl	0x500(%ebp,%edx,1),%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	shll	$16,%ebx
641	movl	%edx,%ecx
642	shll	$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,1),%edi
660	movb	%dl,%bl
661	xorl	0x200(%ebp,%ecx,1),%edi
662	movb	%dh,%cl
663	shrl	$16,%eax
664	xorl	0x100(%ebp,%ebx,1),%edi
665	movb	%ah,%bl
666	shrl	$16,%edx
667	xorl	0x300(%ebp,%ecx,1),%edi
668	movb	%dh,%cl
669	andl	$0xff,%eax
670	andl	$0xff,%edx
671	movl	0x600(%ebp,%ebx,1),%ebx
672	xorl	%ebx,%edi
673	movl	0x700(%ebp,%ecx,1),%ebx
674	xorl	%ebx,%edi
675	movl	0x400(%ebp,%eax,1),%ebx
676	xorl	%ebx,%edi
677	movl	0x500(%ebp,%edx,1),%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	shll	$16,%ebx
691	movl	%edx,%ecx
692	shll	$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,1),%esi
710	movb	%dl,%bl
711	xorl	0x200(%ebp,%ecx,1),%esi
712	movb	%dh,%cl
713	shrl	$16,%eax
714	xorl	0x100(%ebp,%ebx,1),%esi
715	movb	%ah,%bl
716	shrl	$16,%edx
717	xorl	0x300(%ebp,%ecx,1),%esi
718	movb	%dh,%cl
719	andl	$0xff,%eax
720	andl	$0xff,%edx
721	movl	0x600(%ebp,%ebx,1),%ebx
722	xorl	%ebx,%esi
723	movl	0x700(%ebp,%ecx,1),%ebx
724	xorl	%ebx,%esi
725	movl	0x400(%ebp,%eax,1),%ebx
726	xorl	%ebx,%esi
727	movl	0x500(%ebp,%edx,1),%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	shll	$16,%ebx
741	movl	%edx,%ecx
742	shll	$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,1),%edi
760	movb	%dl,%bl
761	xorl	0x200(%ebp,%ecx,1),%edi
762	movb	%dh,%cl
763	shrl	$16,%eax
764	xorl	0x100(%ebp,%ebx,1),%edi
765	movb	%ah,%bl
766	shrl	$16,%edx
767	xorl	0x300(%ebp,%ecx,1),%edi
768	movb	%dh,%cl
769	andl	$0xff,%eax
770	andl	$0xff,%edx
771	movl	0x600(%ebp,%ebx,1),%ebx
772	xorl	%ebx,%edi
773	movl	0x700(%ebp,%ecx,1),%ebx
774	xorl	%ebx,%edi
775	movl	0x400(%ebp,%eax,1),%ebx
776	xorl	%ebx,%edi
777	movl	0x500(%ebp,%edx,1),%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	shll	$16,%ebx
791	movl	%edx,%ecx
792	shll	$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,1),%esi
810	movb	%dl,%bl
811	xorl	0x200(%ebp,%ecx,1),%esi
812	movb	%dh,%cl
813	shrl	$16,%eax
814	xorl	0x100(%ebp,%ebx,1),%esi
815	movb	%ah,%bl
816	shrl	$16,%edx
817	xorl	0x300(%ebp,%ecx,1),%esi
818	movb	%dh,%cl
819	andl	$0xff,%eax
820	andl	$0xff,%edx
821	movl	0x600(%ebp,%ebx,1),%ebx
822	xorl	%ebx,%esi
823	movl	0x700(%ebp,%ecx,1),%ebx
824	xorl	%ebx,%esi
825	movl	0x400(%ebp,%eax,1),%ebx
826	xorl	%ebx,%esi
827	movl	0x500(%ebp,%edx,1),%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	.L001start
837
838
839	movl	28(%esp),%edx
840	rorl	$1,%edi
841	movl	%esi,%eax
842	xorl	%edi,%esi
843	andl	$0xaaaaaaaa,%esi
844	xorl	%esi,%eax
845	xorl	%esi,%edi
846
847	roll	$23,%eax
848	movl	%eax,%esi
849	xorl	%edi,%eax
850	andl	$0x03fc03fc,%eax
851	xorl	%eax,%esi
852	xorl	%eax,%edi
853
854	roll	$10,%esi
855	movl	%esi,%eax
856	xorl	%edi,%esi
857	andl	$0x33333333,%esi
858	xorl	%esi,%eax
859	xorl	%esi,%edi
860
861	roll	$18,%edi
862	movl	%edi,%esi
863	xorl	%eax,%edi
864	andl	$0xfff0000f,%edi
865	xorl	%edi,%esi
866	xorl	%edi,%eax
867
868	roll	$12,%esi
869	movl	%esi,%edi
870	xorl	%eax,%esi
871	andl	$0xf0f0f0f0,%esi
872	xorl	%esi,%edi
873	xorl	%esi,%eax
874
875	rorl	$4,%eax
876	movl	%eax,(%edx)
877	movl	%edi,4(%edx)
878	addl	$8,%esp
879	popl	%edi
880	popl	%esi
881	popl	%ebx
882	popl	%ebp
883	ret
884.size	fcrypt_body,.-.L_fcrypt_body_begin
885
886	.section ".note.gnu.property", "a"
887	.p2align 2
888	.long 1f - 0f
889	.long 4f - 1f
890	.long 5
8910:
892	.asciz "GNU"
8931:
894	.p2align 2
895	.long 0xc0000002
896	.long 3f - 2f
8972:
898	.long 3
8993:
900	.p2align 2
9014:
902