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	pushl	%ebp
9	pushl	%ebx
10	pushl	%esi
11	pushl	%edi
12
13
14	xorl	%edi,%edi
15	xorl	%esi,%esi
16	call	.L000PIC_me_up
17.L000PIC_me_up:
18	popl	%edx
19	leal	_GLOBAL_OFFSET_TABLE_+[.-.L000PIC_me_up](%edx),%edx
20	movl	DES_SPtrans@GOT(%edx),%edx
21	pushl	%edx
22	movl	28(%esp),%ebp
23	pushl	$25
24.L001start:
25
26
27	movl	36(%esp),%eax
28	movl	%esi,%edx
29	shrl	$16,%edx
30	movl	40(%esp),%ecx
31	xorl	%esi,%edx
32	andl	%edx,%eax
33	andl	%ecx,%edx
34	movl	%eax,%ebx
35	shll	$16,%ebx
36	movl	%edx,%ecx
37	shll	$16,%ecx
38	xorl	%ebx,%eax
39	xorl	%ecx,%edx
40	movl	(%ebp),%ebx
41	xorl	%ebx,%eax
42	movl	4(%ebp),%ecx
43	xorl	%esi,%eax
44	xorl	%esi,%edx
45	xorl	%ecx,%edx
46	andl	$0xfcfcfcfc,%eax
47	xorl	%ebx,%ebx
48	andl	$0xcfcfcfcf,%edx
49	xorl	%ecx,%ecx
50	movb	%al,%bl
51	movb	%ah,%cl
52	rorl	$4,%edx
53	movl	4(%esp),%ebp
54	xorl	(%ebp,%ebx,1),%edi
55	movb	%dl,%bl
56	xorl	0x200(%ebp,%ecx,1),%edi
57	movb	%dh,%cl
58	shrl	$16,%eax
59	xorl	0x100(%ebp,%ebx,1),%edi
60	movb	%ah,%bl
61	shrl	$16,%edx
62	xorl	0x300(%ebp,%ecx,1),%edi
63	movb	%dh,%cl
64	andl	$0xff,%eax
65	andl	$0xff,%edx
66	movl	0x600(%ebp,%ebx,1),%ebx
67	xorl	%ebx,%edi
68	movl	0x700(%ebp,%ecx,1),%ebx
69	xorl	%ebx,%edi
70	movl	0x400(%ebp,%eax,1),%ebx
71	xorl	%ebx,%edi
72	movl	0x500(%ebp,%edx,1),%ebx
73	xorl	%ebx,%edi
74	movl	32(%esp),%ebp
75
76
77	movl	36(%esp),%eax
78	movl	%edi,%edx
79	shrl	$16,%edx
80	movl	40(%esp),%ecx
81	xorl	%edi,%edx
82	andl	%edx,%eax
83	andl	%ecx,%edx
84	movl	%eax,%ebx
85	shll	$16,%ebx
86	movl	%edx,%ecx
87	shll	$16,%ecx
88	xorl	%ebx,%eax
89	xorl	%ecx,%edx
90	movl	8(%ebp),%ebx
91	xorl	%ebx,%eax
92	movl	12(%ebp),%ecx
93	xorl	%edi,%eax
94	xorl	%edi,%edx
95	xorl	%ecx,%edx
96	andl	$0xfcfcfcfc,%eax
97	xorl	%ebx,%ebx
98	andl	$0xcfcfcfcf,%edx
99	xorl	%ecx,%ecx
100	movb	%al,%bl
101	movb	%ah,%cl
102	rorl	$4,%edx
103	movl	4(%esp),%ebp
104	xorl	(%ebp,%ebx,1),%esi
105	movb	%dl,%bl
106	xorl	0x200(%ebp,%ecx,1),%esi
107	movb	%dh,%cl
108	shrl	$16,%eax
109	xorl	0x100(%ebp,%ebx,1),%esi
110	movb	%ah,%bl
111	shrl	$16,%edx
112	xorl	0x300(%ebp,%ecx,1),%esi
113	movb	%dh,%cl
114	andl	$0xff,%eax
115	andl	$0xff,%edx
116	movl	0x600(%ebp,%ebx,1),%ebx
117	xorl	%ebx,%esi
118	movl	0x700(%ebp,%ecx,1),%ebx
119	xorl	%ebx,%esi
120	movl	0x400(%ebp,%eax,1),%ebx
121	xorl	%ebx,%esi
122	movl	0x500(%ebp,%edx,1),%ebx
123	xorl	%ebx,%esi
124	movl	32(%esp),%ebp
125
126
127	movl	36(%esp),%eax
128	movl	%esi,%edx
129	shrl	$16,%edx
130	movl	40(%esp),%ecx
131	xorl	%esi,%edx
132	andl	%edx,%eax
133	andl	%ecx,%edx
134	movl	%eax,%ebx
135	shll	$16,%ebx
136	movl	%edx,%ecx
137	shll	$16,%ecx
138	xorl	%ebx,%eax
139	xorl	%ecx,%edx
140	movl	16(%ebp),%ebx
141	xorl	%ebx,%eax
142	movl	20(%ebp),%ecx
143	xorl	%esi,%eax
144	xorl	%esi,%edx
145	xorl	%ecx,%edx
146	andl	$0xfcfcfcfc,%eax
147	xorl	%ebx,%ebx
148	andl	$0xcfcfcfcf,%edx
149	xorl	%ecx,%ecx
150	movb	%al,%bl
151	movb	%ah,%cl
152	rorl	$4,%edx
153	movl	4(%esp),%ebp
154	xorl	(%ebp,%ebx,1),%edi
155	movb	%dl,%bl
156	xorl	0x200(%ebp,%ecx,1),%edi
157	movb	%dh,%cl
158	shrl	$16,%eax
159	xorl	0x100(%ebp,%ebx,1),%edi
160	movb	%ah,%bl
161	shrl	$16,%edx
162	xorl	0x300(%ebp,%ecx,1),%edi
163	movb	%dh,%cl
164	andl	$0xff,%eax
165	andl	$0xff,%edx
166	movl	0x600(%ebp,%ebx,1),%ebx
167	xorl	%ebx,%edi
168	movl	0x700(%ebp,%ecx,1),%ebx
169	xorl	%ebx,%edi
170	movl	0x400(%ebp,%eax,1),%ebx
171	xorl	%ebx,%edi
172	movl	0x500(%ebp,%edx,1),%ebx
173	xorl	%ebx,%edi
174	movl	32(%esp),%ebp
175
176
177	movl	36(%esp),%eax
178	movl	%edi,%edx
179	shrl	$16,%edx
180	movl	40(%esp),%ecx
181	xorl	%edi,%edx
182	andl	%edx,%eax
183	andl	%ecx,%edx
184	movl	%eax,%ebx
185	shll	$16,%ebx
186	movl	%edx,%ecx
187	shll	$16,%ecx
188	xorl	%ebx,%eax
189	xorl	%ecx,%edx
190	movl	24(%ebp),%ebx
191	xorl	%ebx,%eax
192	movl	28(%ebp),%ecx
193	xorl	%edi,%eax
194	xorl	%edi,%edx
195	xorl	%ecx,%edx
196	andl	$0xfcfcfcfc,%eax
197	xorl	%ebx,%ebx
198	andl	$0xcfcfcfcf,%edx
199	xorl	%ecx,%ecx
200	movb	%al,%bl
201	movb	%ah,%cl
202	rorl	$4,%edx
203	movl	4(%esp),%ebp
204	xorl	(%ebp,%ebx,1),%esi
205	movb	%dl,%bl
206	xorl	0x200(%ebp,%ecx,1),%esi
207	movb	%dh,%cl
208	shrl	$16,%eax
209	xorl	0x100(%ebp,%ebx,1),%esi
210	movb	%ah,%bl
211	shrl	$16,%edx
212	xorl	0x300(%ebp,%ecx,1),%esi
213	movb	%dh,%cl
214	andl	$0xff,%eax
215	andl	$0xff,%edx
216	movl	0x600(%ebp,%ebx,1),%ebx
217	xorl	%ebx,%esi
218	movl	0x700(%ebp,%ecx,1),%ebx
219	xorl	%ebx,%esi
220	movl	0x400(%ebp,%eax,1),%ebx
221	xorl	%ebx,%esi
222	movl	0x500(%ebp,%edx,1),%ebx
223	xorl	%ebx,%esi
224	movl	32(%esp),%ebp
225
226
227	movl	36(%esp),%eax
228	movl	%esi,%edx
229	shrl	$16,%edx
230	movl	40(%esp),%ecx
231	xorl	%esi,%edx
232	andl	%edx,%eax
233	andl	%ecx,%edx
234	movl	%eax,%ebx
235	shll	$16,%ebx
236	movl	%edx,%ecx
237	shll	$16,%ecx
238	xorl	%ebx,%eax
239	xorl	%ecx,%edx
240	movl	32(%ebp),%ebx
241	xorl	%ebx,%eax
242	movl	36(%ebp),%ecx
243	xorl	%esi,%eax
244	xorl	%esi,%edx
245	xorl	%ecx,%edx
246	andl	$0xfcfcfcfc,%eax
247	xorl	%ebx,%ebx
248	andl	$0xcfcfcfcf,%edx
249	xorl	%ecx,%ecx
250	movb	%al,%bl
251	movb	%ah,%cl
252	rorl	$4,%edx
253	movl	4(%esp),%ebp
254	xorl	(%ebp,%ebx,1),%edi
255	movb	%dl,%bl
256	xorl	0x200(%ebp,%ecx,1),%edi
257	movb	%dh,%cl
258	shrl	$16,%eax
259	xorl	0x100(%ebp,%ebx,1),%edi
260	movb	%ah,%bl
261	shrl	$16,%edx
262	xorl	0x300(%ebp,%ecx,1),%edi
263	movb	%dh,%cl
264	andl	$0xff,%eax
265	andl	$0xff,%edx
266	movl	0x600(%ebp,%ebx,1),%ebx
267	xorl	%ebx,%edi
268	movl	0x700(%ebp,%ecx,1),%ebx
269	xorl	%ebx,%edi
270	movl	0x400(%ebp,%eax,1),%ebx
271	xorl	%ebx,%edi
272	movl	0x500(%ebp,%edx,1),%ebx
273	xorl	%ebx,%edi
274	movl	32(%esp),%ebp
275
276
277	movl	36(%esp),%eax
278	movl	%edi,%edx
279	shrl	$16,%edx
280	movl	40(%esp),%ecx
281	xorl	%edi,%edx
282	andl	%edx,%eax
283	andl	%ecx,%edx
284	movl	%eax,%ebx
285	shll	$16,%ebx
286	movl	%edx,%ecx
287	shll	$16,%ecx
288	xorl	%ebx,%eax
289	xorl	%ecx,%edx
290	movl	40(%ebp),%ebx
291	xorl	%ebx,%eax
292	movl	44(%ebp),%ecx
293	xorl	%edi,%eax
294	xorl	%edi,%edx
295	xorl	%ecx,%edx
296	andl	$0xfcfcfcfc,%eax
297	xorl	%ebx,%ebx
298	andl	$0xcfcfcfcf,%edx
299	xorl	%ecx,%ecx
300	movb	%al,%bl
301	movb	%ah,%cl
302	rorl	$4,%edx
303	movl	4(%esp),%ebp
304	xorl	(%ebp,%ebx,1),%esi
305	movb	%dl,%bl
306	xorl	0x200(%ebp,%ecx,1),%esi
307	movb	%dh,%cl
308	shrl	$16,%eax
309	xorl	0x100(%ebp,%ebx,1),%esi
310	movb	%ah,%bl
311	shrl	$16,%edx
312	xorl	0x300(%ebp,%ecx,1),%esi
313	movb	%dh,%cl
314	andl	$0xff,%eax
315	andl	$0xff,%edx
316	movl	0x600(%ebp,%ebx,1),%ebx
317	xorl	%ebx,%esi
318	movl	0x700(%ebp,%ecx,1),%ebx
319	xorl	%ebx,%esi
320	movl	0x400(%ebp,%eax,1),%ebx
321	xorl	%ebx,%esi
322	movl	0x500(%ebp,%edx,1),%ebx
323	xorl	%ebx,%esi
324	movl	32(%esp),%ebp
325
326
327	movl	36(%esp),%eax
328	movl	%esi,%edx
329	shrl	$16,%edx
330	movl	40(%esp),%ecx
331	xorl	%esi,%edx
332	andl	%edx,%eax
333	andl	%ecx,%edx
334	movl	%eax,%ebx
335	shll	$16,%ebx
336	movl	%edx,%ecx
337	shll	$16,%ecx
338	xorl	%ebx,%eax
339	xorl	%ecx,%edx
340	movl	48(%ebp),%ebx
341	xorl	%ebx,%eax
342	movl	52(%ebp),%ecx
343	xorl	%esi,%eax
344	xorl	%esi,%edx
345	xorl	%ecx,%edx
346	andl	$0xfcfcfcfc,%eax
347	xorl	%ebx,%ebx
348	andl	$0xcfcfcfcf,%edx
349	xorl	%ecx,%ecx
350	movb	%al,%bl
351	movb	%ah,%cl
352	rorl	$4,%edx
353	movl	4(%esp),%ebp
354	xorl	(%ebp,%ebx,1),%edi
355	movb	%dl,%bl
356	xorl	0x200(%ebp,%ecx,1),%edi
357	movb	%dh,%cl
358	shrl	$16,%eax
359	xorl	0x100(%ebp,%ebx,1),%edi
360	movb	%ah,%bl
361	shrl	$16,%edx
362	xorl	0x300(%ebp,%ecx,1),%edi
363	movb	%dh,%cl
364	andl	$0xff,%eax
365	andl	$0xff,%edx
366	movl	0x600(%ebp,%ebx,1),%ebx
367	xorl	%ebx,%edi
368	movl	0x700(%ebp,%ecx,1),%ebx
369	xorl	%ebx,%edi
370	movl	0x400(%ebp,%eax,1),%ebx
371	xorl	%ebx,%edi
372	movl	0x500(%ebp,%edx,1),%ebx
373	xorl	%ebx,%edi
374	movl	32(%esp),%ebp
375
376
377	movl	36(%esp),%eax
378	movl	%edi,%edx
379	shrl	$16,%edx
380	movl	40(%esp),%ecx
381	xorl	%edi,%edx
382	andl	%edx,%eax
383	andl	%ecx,%edx
384	movl	%eax,%ebx
385	shll	$16,%ebx
386	movl	%edx,%ecx
387	shll	$16,%ecx
388	xorl	%ebx,%eax
389	xorl	%ecx,%edx
390	movl	56(%ebp),%ebx
391	xorl	%ebx,%eax
392	movl	60(%ebp),%ecx
393	xorl	%edi,%eax
394	xorl	%edi,%edx
395	xorl	%ecx,%edx
396	andl	$0xfcfcfcfc,%eax
397	xorl	%ebx,%ebx
398	andl	$0xcfcfcfcf,%edx
399	xorl	%ecx,%ecx
400	movb	%al,%bl
401	movb	%ah,%cl
402	rorl	$4,%edx
403	movl	4(%esp),%ebp
404	xorl	(%ebp,%ebx,1),%esi
405	movb	%dl,%bl
406	xorl	0x200(%ebp,%ecx,1),%esi
407	movb	%dh,%cl
408	shrl	$16,%eax
409	xorl	0x100(%ebp,%ebx,1),%esi
410	movb	%ah,%bl
411	shrl	$16,%edx
412	xorl	0x300(%ebp,%ecx,1),%esi
413	movb	%dh,%cl
414	andl	$0xff,%eax
415	andl	$0xff,%edx
416	movl	0x600(%ebp,%ebx,1),%ebx
417	xorl	%ebx,%esi
418	movl	0x700(%ebp,%ecx,1),%ebx
419	xorl	%ebx,%esi
420	movl	0x400(%ebp,%eax,1),%ebx
421	xorl	%ebx,%esi
422	movl	0x500(%ebp,%edx,1),%ebx
423	xorl	%ebx,%esi
424	movl	32(%esp),%ebp
425
426
427	movl	36(%esp),%eax
428	movl	%esi,%edx
429	shrl	$16,%edx
430	movl	40(%esp),%ecx
431	xorl	%esi,%edx
432	andl	%edx,%eax
433	andl	%ecx,%edx
434	movl	%eax,%ebx
435	shll	$16,%ebx
436	movl	%edx,%ecx
437	shll	$16,%ecx
438	xorl	%ebx,%eax
439	xorl	%ecx,%edx
440	movl	64(%ebp),%ebx
441	xorl	%ebx,%eax
442	movl	68(%ebp),%ecx
443	xorl	%esi,%eax
444	xorl	%esi,%edx
445	xorl	%ecx,%edx
446	andl	$0xfcfcfcfc,%eax
447	xorl	%ebx,%ebx
448	andl	$0xcfcfcfcf,%edx
449	xorl	%ecx,%ecx
450	movb	%al,%bl
451	movb	%ah,%cl
452	rorl	$4,%edx
453	movl	4(%esp),%ebp
454	xorl	(%ebp,%ebx,1),%edi
455	movb	%dl,%bl
456	xorl	0x200(%ebp,%ecx,1),%edi
457	movb	%dh,%cl
458	shrl	$16,%eax
459	xorl	0x100(%ebp,%ebx,1),%edi
460	movb	%ah,%bl
461	shrl	$16,%edx
462	xorl	0x300(%ebp,%ecx,1),%edi
463	movb	%dh,%cl
464	andl	$0xff,%eax
465	andl	$0xff,%edx
466	movl	0x600(%ebp,%ebx,1),%ebx
467	xorl	%ebx,%edi
468	movl	0x700(%ebp,%ecx,1),%ebx
469	xorl	%ebx,%edi
470	movl	0x400(%ebp,%eax,1),%ebx
471	xorl	%ebx,%edi
472	movl	0x500(%ebp,%edx,1),%ebx
473	xorl	%ebx,%edi
474	movl	32(%esp),%ebp
475
476
477	movl	36(%esp),%eax
478	movl	%edi,%edx
479	shrl	$16,%edx
480	movl	40(%esp),%ecx
481	xorl	%edi,%edx
482	andl	%edx,%eax
483	andl	%ecx,%edx
484	movl	%eax,%ebx
485	shll	$16,%ebx
486	movl	%edx,%ecx
487	shll	$16,%ecx
488	xorl	%ebx,%eax
489	xorl	%ecx,%edx
490	movl	72(%ebp),%ebx
491	xorl	%ebx,%eax
492	movl	76(%ebp),%ecx
493	xorl	%edi,%eax
494	xorl	%edi,%edx
495	xorl	%ecx,%edx
496	andl	$0xfcfcfcfc,%eax
497	xorl	%ebx,%ebx
498	andl	$0xcfcfcfcf,%edx
499	xorl	%ecx,%ecx
500	movb	%al,%bl
501	movb	%ah,%cl
502	rorl	$4,%edx
503	movl	4(%esp),%ebp
504	xorl	(%ebp,%ebx,1),%esi
505	movb	%dl,%bl
506	xorl	0x200(%ebp,%ecx,1),%esi
507	movb	%dh,%cl
508	shrl	$16,%eax
509	xorl	0x100(%ebp,%ebx,1),%esi
510	movb	%ah,%bl
511	shrl	$16,%edx
512	xorl	0x300(%ebp,%ecx,1),%esi
513	movb	%dh,%cl
514	andl	$0xff,%eax
515	andl	$0xff,%edx
516	movl	0x600(%ebp,%ebx,1),%ebx
517	xorl	%ebx,%esi
518	movl	0x700(%ebp,%ecx,1),%ebx
519	xorl	%ebx,%esi
520	movl	0x400(%ebp,%eax,1),%ebx
521	xorl	%ebx,%esi
522	movl	0x500(%ebp,%edx,1),%ebx
523	xorl	%ebx,%esi
524	movl	32(%esp),%ebp
525
526
527	movl	36(%esp),%eax
528	movl	%esi,%edx
529	shrl	$16,%edx
530	movl	40(%esp),%ecx
531	xorl	%esi,%edx
532	andl	%edx,%eax
533	andl	%ecx,%edx
534	movl	%eax,%ebx
535	shll	$16,%ebx
536	movl	%edx,%ecx
537	shll	$16,%ecx
538	xorl	%ebx,%eax
539	xorl	%ecx,%edx
540	movl	80(%ebp),%ebx
541	xorl	%ebx,%eax
542	movl	84(%ebp),%ecx
543	xorl	%esi,%eax
544	xorl	%esi,%edx
545	xorl	%ecx,%edx
546	andl	$0xfcfcfcfc,%eax
547	xorl	%ebx,%ebx
548	andl	$0xcfcfcfcf,%edx
549	xorl	%ecx,%ecx
550	movb	%al,%bl
551	movb	%ah,%cl
552	rorl	$4,%edx
553	movl	4(%esp),%ebp
554	xorl	(%ebp,%ebx,1),%edi
555	movb	%dl,%bl
556	xorl	0x200(%ebp,%ecx,1),%edi
557	movb	%dh,%cl
558	shrl	$16,%eax
559	xorl	0x100(%ebp,%ebx,1),%edi
560	movb	%ah,%bl
561	shrl	$16,%edx
562	xorl	0x300(%ebp,%ecx,1),%edi
563	movb	%dh,%cl
564	andl	$0xff,%eax
565	andl	$0xff,%edx
566	movl	0x600(%ebp,%ebx,1),%ebx
567	xorl	%ebx,%edi
568	movl	0x700(%ebp,%ecx,1),%ebx
569	xorl	%ebx,%edi
570	movl	0x400(%ebp,%eax,1),%ebx
571	xorl	%ebx,%edi
572	movl	0x500(%ebp,%edx,1),%ebx
573	xorl	%ebx,%edi
574	movl	32(%esp),%ebp
575
576
577	movl	36(%esp),%eax
578	movl	%edi,%edx
579	shrl	$16,%edx
580	movl	40(%esp),%ecx
581	xorl	%edi,%edx
582	andl	%edx,%eax
583	andl	%ecx,%edx
584	movl	%eax,%ebx
585	shll	$16,%ebx
586	movl	%edx,%ecx
587	shll	$16,%ecx
588	xorl	%ebx,%eax
589	xorl	%ecx,%edx
590	movl	88(%ebp),%ebx
591	xorl	%ebx,%eax
592	movl	92(%ebp),%ecx
593	xorl	%edi,%eax
594	xorl	%edi,%edx
595	xorl	%ecx,%edx
596	andl	$0xfcfcfcfc,%eax
597	xorl	%ebx,%ebx
598	andl	$0xcfcfcfcf,%edx
599	xorl	%ecx,%ecx
600	movb	%al,%bl
601	movb	%ah,%cl
602	rorl	$4,%edx
603	movl	4(%esp),%ebp
604	xorl	(%ebp,%ebx,1),%esi
605	movb	%dl,%bl
606	xorl	0x200(%ebp,%ecx,1),%esi
607	movb	%dh,%cl
608	shrl	$16,%eax
609	xorl	0x100(%ebp,%ebx,1),%esi
610	movb	%ah,%bl
611	shrl	$16,%edx
612	xorl	0x300(%ebp,%ecx,1),%esi
613	movb	%dh,%cl
614	andl	$0xff,%eax
615	andl	$0xff,%edx
616	movl	0x600(%ebp,%ebx,1),%ebx
617	xorl	%ebx,%esi
618	movl	0x700(%ebp,%ecx,1),%ebx
619	xorl	%ebx,%esi
620	movl	0x400(%ebp,%eax,1),%ebx
621	xorl	%ebx,%esi
622	movl	0x500(%ebp,%edx,1),%ebx
623	xorl	%ebx,%esi
624	movl	32(%esp),%ebp
625
626
627	movl	36(%esp),%eax
628	movl	%esi,%edx
629	shrl	$16,%edx
630	movl	40(%esp),%ecx
631	xorl	%esi,%edx
632	andl	%edx,%eax
633	andl	%ecx,%edx
634	movl	%eax,%ebx
635	shll	$16,%ebx
636	movl	%edx,%ecx
637	shll	$16,%ecx
638	xorl	%ebx,%eax
639	xorl	%ecx,%edx
640	movl	96(%ebp),%ebx
641	xorl	%ebx,%eax
642	movl	100(%ebp),%ecx
643	xorl	%esi,%eax
644	xorl	%esi,%edx
645	xorl	%ecx,%edx
646	andl	$0xfcfcfcfc,%eax
647	xorl	%ebx,%ebx
648	andl	$0xcfcfcfcf,%edx
649	xorl	%ecx,%ecx
650	movb	%al,%bl
651	movb	%ah,%cl
652	rorl	$4,%edx
653	movl	4(%esp),%ebp
654	xorl	(%ebp,%ebx,1),%edi
655	movb	%dl,%bl
656	xorl	0x200(%ebp,%ecx,1),%edi
657	movb	%dh,%cl
658	shrl	$16,%eax
659	xorl	0x100(%ebp,%ebx,1),%edi
660	movb	%ah,%bl
661	shrl	$16,%edx
662	xorl	0x300(%ebp,%ecx,1),%edi
663	movb	%dh,%cl
664	andl	$0xff,%eax
665	andl	$0xff,%edx
666	movl	0x600(%ebp,%ebx,1),%ebx
667	xorl	%ebx,%edi
668	movl	0x700(%ebp,%ecx,1),%ebx
669	xorl	%ebx,%edi
670	movl	0x400(%ebp,%eax,1),%ebx
671	xorl	%ebx,%edi
672	movl	0x500(%ebp,%edx,1),%ebx
673	xorl	%ebx,%edi
674	movl	32(%esp),%ebp
675
676
677	movl	36(%esp),%eax
678	movl	%edi,%edx
679	shrl	$16,%edx
680	movl	40(%esp),%ecx
681	xorl	%edi,%edx
682	andl	%edx,%eax
683	andl	%ecx,%edx
684	movl	%eax,%ebx
685	shll	$16,%ebx
686	movl	%edx,%ecx
687	shll	$16,%ecx
688	xorl	%ebx,%eax
689	xorl	%ecx,%edx
690	movl	104(%ebp),%ebx
691	xorl	%ebx,%eax
692	movl	108(%ebp),%ecx
693	xorl	%edi,%eax
694	xorl	%edi,%edx
695	xorl	%ecx,%edx
696	andl	$0xfcfcfcfc,%eax
697	xorl	%ebx,%ebx
698	andl	$0xcfcfcfcf,%edx
699	xorl	%ecx,%ecx
700	movb	%al,%bl
701	movb	%ah,%cl
702	rorl	$4,%edx
703	movl	4(%esp),%ebp
704	xorl	(%ebp,%ebx,1),%esi
705	movb	%dl,%bl
706	xorl	0x200(%ebp,%ecx,1),%esi
707	movb	%dh,%cl
708	shrl	$16,%eax
709	xorl	0x100(%ebp,%ebx,1),%esi
710	movb	%ah,%bl
711	shrl	$16,%edx
712	xorl	0x300(%ebp,%ecx,1),%esi
713	movb	%dh,%cl
714	andl	$0xff,%eax
715	andl	$0xff,%edx
716	movl	0x600(%ebp,%ebx,1),%ebx
717	xorl	%ebx,%esi
718	movl	0x700(%ebp,%ecx,1),%ebx
719	xorl	%ebx,%esi
720	movl	0x400(%ebp,%eax,1),%ebx
721	xorl	%ebx,%esi
722	movl	0x500(%ebp,%edx,1),%ebx
723	xorl	%ebx,%esi
724	movl	32(%esp),%ebp
725
726
727	movl	36(%esp),%eax
728	movl	%esi,%edx
729	shrl	$16,%edx
730	movl	40(%esp),%ecx
731	xorl	%esi,%edx
732	andl	%edx,%eax
733	andl	%ecx,%edx
734	movl	%eax,%ebx
735	shll	$16,%ebx
736	movl	%edx,%ecx
737	shll	$16,%ecx
738	xorl	%ebx,%eax
739	xorl	%ecx,%edx
740	movl	112(%ebp),%ebx
741	xorl	%ebx,%eax
742	movl	116(%ebp),%ecx
743	xorl	%esi,%eax
744	xorl	%esi,%edx
745	xorl	%ecx,%edx
746	andl	$0xfcfcfcfc,%eax
747	xorl	%ebx,%ebx
748	andl	$0xcfcfcfcf,%edx
749	xorl	%ecx,%ecx
750	movb	%al,%bl
751	movb	%ah,%cl
752	rorl	$4,%edx
753	movl	4(%esp),%ebp
754	xorl	(%ebp,%ebx,1),%edi
755	movb	%dl,%bl
756	xorl	0x200(%ebp,%ecx,1),%edi
757	movb	%dh,%cl
758	shrl	$16,%eax
759	xorl	0x100(%ebp,%ebx,1),%edi
760	movb	%ah,%bl
761	shrl	$16,%edx
762	xorl	0x300(%ebp,%ecx,1),%edi
763	movb	%dh,%cl
764	andl	$0xff,%eax
765	andl	$0xff,%edx
766	movl	0x600(%ebp,%ebx,1),%ebx
767	xorl	%ebx,%edi
768	movl	0x700(%ebp,%ecx,1),%ebx
769	xorl	%ebx,%edi
770	movl	0x400(%ebp,%eax,1),%ebx
771	xorl	%ebx,%edi
772	movl	0x500(%ebp,%edx,1),%ebx
773	xorl	%ebx,%edi
774	movl	32(%esp),%ebp
775
776
777	movl	36(%esp),%eax
778	movl	%edi,%edx
779	shrl	$16,%edx
780	movl	40(%esp),%ecx
781	xorl	%edi,%edx
782	andl	%edx,%eax
783	andl	%ecx,%edx
784	movl	%eax,%ebx
785	shll	$16,%ebx
786	movl	%edx,%ecx
787	shll	$16,%ecx
788	xorl	%ebx,%eax
789	xorl	%ecx,%edx
790	movl	120(%ebp),%ebx
791	xorl	%ebx,%eax
792	movl	124(%ebp),%ecx
793	xorl	%edi,%eax
794	xorl	%edi,%edx
795	xorl	%ecx,%edx
796	andl	$0xfcfcfcfc,%eax
797	xorl	%ebx,%ebx
798	andl	$0xcfcfcfcf,%edx
799	xorl	%ecx,%ecx
800	movb	%al,%bl
801	movb	%ah,%cl
802	rorl	$4,%edx
803	movl	4(%esp),%ebp
804	xorl	(%ebp,%ebx,1),%esi
805	movb	%dl,%bl
806	xorl	0x200(%ebp,%ecx,1),%esi
807	movb	%dh,%cl
808	shrl	$16,%eax
809	xorl	0x100(%ebp,%ebx,1),%esi
810	movb	%ah,%bl
811	shrl	$16,%edx
812	xorl	0x300(%ebp,%ecx,1),%esi
813	movb	%dh,%cl
814	andl	$0xff,%eax
815	andl	$0xff,%edx
816	movl	0x600(%ebp,%ebx,1),%ebx
817	xorl	%ebx,%esi
818	movl	0x700(%ebp,%ecx,1),%ebx
819	xorl	%ebx,%esi
820	movl	0x400(%ebp,%eax,1),%ebx
821	xorl	%ebx,%esi
822	movl	0x500(%ebp,%edx,1),%ebx
823	xorl	%ebx,%esi
824	movl	32(%esp),%ebp
825	movl	(%esp),%ebx
826	movl	%edi,%eax
827	decl	%ebx
828	movl	%esi,%edi
829	movl	%eax,%esi
830	movl	%ebx,(%esp)
831	jnz	.L001start
832
833
834	movl	28(%esp),%edx
835	rorl	$1,%edi
836	movl	%esi,%eax
837	xorl	%edi,%esi
838	andl	$0xaaaaaaaa,%esi
839	xorl	%esi,%eax
840	xorl	%esi,%edi
841
842	roll	$23,%eax
843	movl	%eax,%esi
844	xorl	%edi,%eax
845	andl	$0x03fc03fc,%eax
846	xorl	%eax,%esi
847	xorl	%eax,%edi
848
849	roll	$10,%esi
850	movl	%esi,%eax
851	xorl	%edi,%esi
852	andl	$0x33333333,%esi
853	xorl	%esi,%eax
854	xorl	%esi,%edi
855
856	roll	$18,%edi
857	movl	%edi,%esi
858	xorl	%eax,%edi
859	andl	$0xfff0000f,%edi
860	xorl	%edi,%esi
861	xorl	%edi,%eax
862
863	roll	$12,%esi
864	movl	%esi,%edi
865	xorl	%eax,%esi
866	andl	$0xf0f0f0f0,%esi
867	xorl	%esi,%edi
868	xorl	%esi,%eax
869
870	rorl	$4,%eax
871	movl	%eax,(%edx)
872	movl	%edi,4(%edx)
873	addl	$8,%esp
874	popl	%edi
875	popl	%esi
876	popl	%ebx
877	popl	%ebp
878	ret
879.size	fcrypt_body,.-.L_fcrypt_body_begin
880