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