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