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