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