bf-686.s revision 225736
162587Sitojun	# $FreeBSD: stable/9/secure/lib/libcrypto/i386/bf-686.s 127326 2004-03-23 08:32:29Z markm $
295023Ssuz
362587Sitojun
453541Sshin
553541Sshin
653541Sshin
753541Sshin
853541Sshin	.file	"bf-686.s"
953541Sshin	.version	"01.01"
1053541Sshingcc2_compiled.:
1153541Sshin.text
1253541Sshin	.align 16
1353541Sshin.globl BF_encrypt
1453541Sshin	.type	BF_encrypt,@function
1553541SshinBF_encrypt:
1653541Sshin	pushl	%ebp
1753541Sshin	pushl	%ebx
1853541Sshin	pushl	%esi
1953541Sshin	pushl	%edi
2053541Sshin
2153541Sshin
2253541Sshin
2353541Sshin	movl	20(%esp),	%eax
2453541Sshin	movl	(%eax),		%ecx
2553541Sshin	movl	4(%eax),	%edx
2653541Sshin
2753541Sshin
2853541Sshin	movl	24(%esp),	%edi
2953541Sshin	xorl	%eax,		%eax
3053541Sshin	xorl	%ebx,		%ebx
3153541Sshin	xorl	(%edi),		%ecx
3253541Sshin
3353541Sshin
3453541Sshin	rorl	$16,		%ecx
3553541Sshin	movl	4(%edi),	%esi
3653541Sshin	movb	%ch,		%al
3753541Sshin	movb	%cl,		%bl
3853541Sshin	rorl	$16,		%ecx
3953541Sshin	xorl	%esi,		%edx
4053541Sshin	movl	72(%edi,%eax,4),%esi
4153541Sshin	movl	1096(%edi,%ebx,4),%ebp
4253541Sshin	movb	%ch,		%al
4353541Sshin	movb	%cl,		%bl
4453541Sshin	addl	%ebp,		%esi
4553541Sshin	movl	2120(%edi,%eax,4),%eax
4653541Sshin	xorl	%eax,		%esi
4753541Sshin	movl	3144(%edi,%ebx,4),%ebp
4853541Sshin	addl	%ebp,		%esi
4953541Sshin	xorl	%eax,		%eax
5053541Sshin	xorl	%esi,		%edx
5153541Sshin
5253541Sshin
5353541Sshin	rorl	$16,		%edx
5453541Sshin	movl	8(%edi),	%esi
5553541Sshin	movb	%dh,		%al
5653541Sshin	movb	%dl,		%bl
5753541Sshin	rorl	$16,		%edx
5853541Sshin	xorl	%esi,		%ecx
5953541Sshin	movl	72(%edi,%eax,4),%esi
6053541Sshin	movl	1096(%edi,%ebx,4),%ebp
6153541Sshin	movb	%dh,		%al
6253541Sshin	movb	%dl,		%bl
6353541Sshin	addl	%ebp,		%esi
6453541Sshin	movl	2120(%edi,%eax,4),%eax
6553541Sshin	xorl	%eax,		%esi
6653541Sshin	movl	3144(%edi,%ebx,4),%ebp
6753541Sshin	addl	%ebp,		%esi
6862587Sitojun	xorl	%eax,		%eax
6962587Sitojun	xorl	%esi,		%ecx
7062587Sitojun
7155009Sshin
7264060Sdarrenr	rorl	$16,		%ecx
73120649Sume	movl	12(%edi),	%esi
7455009Sshin	movb	%ch,		%al
7553541Sshin	movb	%cl,		%bl
7653541Sshin	rorl	$16,		%ecx
7778064Sume	xorl	%esi,		%edx
7853541Sshin	movl	72(%edi,%eax,4),%esi
7983366Sjulian	movl	1096(%edi,%ebx,4),%ebp
8053541Sshin	movb	%ch,		%al
8153541Sshin	movb	%cl,		%bl
8253541Sshin	addl	%ebp,		%esi
8353541Sshin	movl	2120(%edi,%eax,4),%eax
8453541Sshin	xorl	%eax,		%esi
8553541Sshin	movl	3144(%edi,%ebx,4),%ebp
8653541Sshin	addl	%ebp,		%esi
8753541Sshin	xorl	%eax,		%eax
8853541Sshin	xorl	%esi,		%edx
8953541Sshin
9053541Sshin
9153541Sshin	rorl	$16,		%edx
9253541Sshin	movl	16(%edi),	%esi
9353541Sshin	movb	%dh,		%al
9464060Sdarrenr	movb	%dl,		%bl
9564060Sdarrenr	rorl	$16,		%edx
9664060Sdarrenr	xorl	%esi,		%ecx
9753541Sshin	movl	72(%edi,%eax,4),%esi
9853541Sshin	movl	1096(%edi,%ebx,4),%ebp
9953541Sshin	movb	%dh,		%al
10062587Sitojun	movb	%dl,		%bl
10153541Sshin	addl	%ebp,		%esi
10253541Sshin	movl	2120(%edi,%eax,4),%eax
10395023Ssuz	xorl	%eax,		%esi
10462587Sitojun	movl	3144(%edi,%ebx,4),%ebp
10553541Sshin	addl	%ebp,		%esi
10653541Sshin	xorl	%eax,		%eax
10762587Sitojun	xorl	%esi,		%ecx
10862587Sitojun
109121161Sume
11053541Sshin	rorl	$16,		%ecx
11153541Sshin	movl	20(%edi),	%esi
11253541Sshin	movb	%ch,		%al
11353541Sshin	movb	%cl,		%bl
11478064Sume	rorl	$16,		%ecx
11578064Sume	xorl	%esi,		%edx
11678064Sume	movl	72(%edi,%eax,4),%esi
11778064Sume	movl	1096(%edi,%ebx,4),%ebp
11878064Sume	movb	%ch,		%al
11978064Sume	movb	%cl,		%bl
12078064Sume	addl	%ebp,		%esi
121105199Ssam	movl	2120(%edi,%eax,4),%eax
122105199Ssam	xorl	%eax,		%esi
123105199Ssam	movl	3144(%edi,%ebx,4),%ebp
124105199Ssam	addl	%ebp,		%esi
125105199Ssam	xorl	%eax,		%eax
126105199Ssam	xorl	%esi,		%edx
12753541Sshin
12853541Sshin
12953541Sshin	rorl	$16,		%edx
13053541Sshin	movl	24(%edi),	%esi
13153541Sshin	movb	%dh,		%al
13253541Sshin	movb	%dl,		%bl
13362587Sitojun	rorl	$16,		%edx
13453541Sshin	xorl	%esi,		%ecx
13562587Sitojun	movl	72(%edi,%eax,4),%esi
136111888Sjlemon	movl	1096(%edi,%ebx,4),%ebp
13762587Sitojun	movb	%dh,		%al
13862587Sitojun	movb	%dl,		%bl
13953541Sshin	addl	%ebp,		%esi
14078064Sume	movl	2120(%edi,%eax,4),%eax
14178064Sume	xorl	%eax,		%esi
14262587Sitojun	movl	3144(%edi,%ebx,4),%ebp
14362587Sitojun	addl	%ebp,		%esi
14462587Sitojun	xorl	%eax,		%eax
14553541Sshin	xorl	%esi,		%ecx
14678064Sume
14778064Sume
148120386Ssam	rorl	$16,		%ecx
149120386Ssam	movl	28(%edi),	%esi
150120386Ssam	movb	%ch,		%al
15178064Sume	movb	%cl,		%bl
15253541Sshin	rorl	$16,		%ecx
15362587Sitojun	xorl	%esi,		%edx
15462587Sitojun	movl	72(%edi,%eax,4),%esi
15566303Sume	movl	1096(%edi,%ebx,4),%ebp
15653541Sshin	movb	%ch,		%al
15762587Sitojun	movb	%cl,		%bl
15853541Sshin	addl	%ebp,		%esi
15962587Sitojun	movl	2120(%edi,%eax,4),%eax
160121673Sume	xorl	%eax,		%esi
16162587Sitojun	movl	3144(%edi,%ebx,4),%ebp
16262587Sitojun	addl	%ebp,		%esi
16362587Sitojun	xorl	%eax,		%eax
16453541Sshin	xorl	%esi,		%edx
16553541Sshin
16653541Sshin
16753541Sshin	rorl	$16,		%edx
16853541Sshin	movl	32(%edi),	%esi
16953541Sshin	movb	%dh,		%al
17053541Sshin	movb	%dl,		%bl
17153541Sshin	rorl	$16,		%edx
17253541Sshin	xorl	%esi,		%ecx
17378064Sume	movl	72(%edi,%eax,4),%esi
17478064Sume	movl	1096(%edi,%ebx,4),%ebp
17553541Sshin	movb	%dh,		%al
17678064Sume	movb	%dl,		%bl
17778064Sume	addl	%ebp,		%esi
17878064Sume	movl	2120(%edi,%eax,4),%eax
17978064Sume	xorl	%eax,		%esi
18053541Sshin	movl	3144(%edi,%ebx,4),%ebp
18153541Sshin	addl	%ebp,		%esi
18253541Sshin	xorl	%eax,		%eax
18353541Sshin	xorl	%esi,		%ecx
18453541Sshin
18553541Sshin
18653541Sshin	rorl	$16,		%ecx
18753541Sshin	movl	36(%edi),	%esi
18853541Sshin	movb	%ch,		%al
18953541Sshin	movb	%cl,		%bl
190120386Ssam	rorl	$16,		%ecx
191120386Ssam	xorl	%esi,		%edx
192120386Ssam	movl	72(%edi,%eax,4),%esi
193120386Ssam	movl	1096(%edi,%ebx,4),%ebp
194120386Ssam	movb	%ch,		%al
195120386Ssam	movb	%cl,		%bl
196120386Ssam	addl	%ebp,		%esi
19753541Sshin	movl	2120(%edi,%eax,4),%eax
19893818Sjhb	xorl	%eax,		%esi
199122320Ssam	movl	3144(%edi,%ebx,4),%ebp
200121161Sume	addl	%ebp,		%esi
201121742Sume	xorl	%eax,		%eax
20253541Sshin	xorl	%esi,		%edx
20353541Sshin
204120649Sume
205120648Sume	rorl	$16,		%edx
206120649Sume	movl	40(%edi),	%esi
207120648Sume	movb	%dh,		%al
20853541Sshin	movb	%dl,		%bl
20953541Sshin	rorl	$16,		%edx
21053541Sshin	xorl	%esi,		%ecx
21153541Sshin	movl	72(%edi,%eax,4),%esi
21253541Sshin	movl	1096(%edi,%ebx,4),%ebp
21353541Sshin	movb	%dh,		%al
21453541Sshin	movb	%dl,		%bl
21553541Sshin	addl	%ebp,		%esi
21678064Sume	movl	2120(%edi,%eax,4),%eax
21778064Sume	xorl	%eax,		%esi
21878064Sume	movl	3144(%edi,%ebx,4),%ebp
21953541Sshin	addl	%ebp,		%esi
22078064Sume	xorl	%eax,		%eax
22178064Sume	xorl	%esi,		%ecx
22278064Sume
22378064Sume
224121806Sume	rorl	$16,		%ecx
22578064Sume	movl	44(%edi),	%esi
22678064Sume	movb	%ch,		%al
22778064Sume	movb	%cl,		%bl
22878064Sume	rorl	$16,		%ecx
22953541Sshin	xorl	%esi,		%edx
23053541Sshin	movl	72(%edi,%eax,4),%esi
23153541Sshin	movl	1096(%edi,%ebx,4),%ebp
23255009Sshin	movb	%ch,		%al
23355009Sshin	movb	%cl,		%bl
23453541Sshin	addl	%ebp,		%esi
23553541Sshin	movl	2120(%edi,%eax,4),%eax
23653541Sshin	xorl	%eax,		%esi
23753541Sshin	movl	3144(%edi,%ebx,4),%ebp
23853541Sshin	addl	%ebp,		%esi
23953541Sshin	xorl	%eax,		%eax
24053541Sshin	xorl	%esi,		%edx
24153541Sshin
24253541Sshin
24353541Sshin	rorl	$16,		%edx
24453541Sshin	movl	48(%edi),	%esi
24553541Sshin	movb	%dh,		%al
24653541Sshin	movb	%dl,		%bl
247126444Sume	rorl	$16,		%edx
248126444Sume	xorl	%esi,		%ecx
249121143Ssam	movl	72(%edi,%eax,4),%esi
250121143Ssam	movl	1096(%edi,%ebx,4),%ebp
251121143Ssam	movb	%dh,		%al
252121143Ssam	movb	%dl,		%bl
253121144Ssam	addl	%ebp,		%esi
254122320Ssam	movl	2120(%edi,%eax,4),%eax
25553541Sshin	xorl	%eax,		%esi
25653541Sshin	movl	3144(%edi,%ebx,4),%ebp
25753541Sshin	addl	%ebp,		%esi
25853541Sshin	xorl	%eax,		%eax
25953541Sshin	xorl	%esi,		%ecx
26053541Sshin
26153541Sshin
26253541Sshin	rorl	$16,		%ecx
26353541Sshin	movl	52(%edi),	%esi
26453541Sshin	movb	%ch,		%al
26553541Sshin	movb	%cl,		%bl
26653541Sshin	rorl	$16,		%ecx
267121630Sume	xorl	%esi,		%edx
26878064Sume	movl	72(%edi,%eax,4),%esi
26978064Sume	movl	1096(%edi,%ebx,4),%ebp
27078064Sume	movb	%ch,		%al
27178064Sume	movb	%cl,		%bl
27295023Ssuz	addl	%ebp,		%esi
27353541Sshin	movl	2120(%edi,%eax,4),%eax
27453541Sshin	xorl	%eax,		%esi
27553541Sshin	movl	3144(%edi,%ebx,4),%ebp
27653541Sshin	addl	%ebp,		%esi
27753541Sshin	xorl	%eax,		%eax
27853541Sshin	xorl	%esi,		%edx
27953541Sshin
28078064Sume
28153541Sshin	rorl	$16,		%edx
28253541Sshin	movl	56(%edi),	%esi
283120913Sume	movb	%dh,		%al
28478064Sume	movb	%dl,		%bl
28553541Sshin	rorl	$16,		%edx
28653541Sshin	xorl	%esi,		%ecx
28753541Sshin	movl	72(%edi,%eax,4),%esi
28853541Sshin	movl	1096(%edi,%ebx,4),%ebp
28953541Sshin	movb	%dh,		%al
29078064Sume	movb	%dl,		%bl
29153541Sshin	addl	%ebp,		%esi
29253541Sshin	movl	2120(%edi,%eax,4),%eax
29353541Sshin	xorl	%eax,		%esi
29453541Sshin	movl	3144(%edi,%ebx,4),%ebp
29553541Sshin	addl	%ebp,		%esi
29662587Sitojun	xorl	%eax,		%eax
29774336Skuriyama	xorl	%esi,		%ecx
29874336Skuriyama
29974336Skuriyama
30074336Skuriyama	rorl	$16,		%ecx
30174336Skuriyama	movl	60(%edi),	%esi
30274336Skuriyama	movb	%ch,		%al
30374336Skuriyama	movb	%cl,		%bl
30474336Skuriyama	rorl	$16,		%ecx
305111119Simp	xorl	%esi,		%edx
30677003Sume	movl	72(%edi,%eax,4),%esi
307108466Ssam	movl	1096(%edi,%ebx,4),%ebp
308108825Ssam	movb	%ch,		%al
309111119Simp	movb	%cl,		%bl
31074336Skuriyama	addl	%ebp,		%esi
31174336Skuriyama	movl	2120(%edi,%eax,4),%eax
31274336Skuriyama	xorl	%eax,		%esi
31374336Skuriyama	movl	3144(%edi,%ebx,4),%ebp
31474336Skuriyama	addl	%ebp,		%esi
31595023Ssuz	xorl	%eax,		%eax
31677003Sume	xorl	%esi,		%edx
317120913Sume
31877003Sume
31974336Skuriyama	rorl	$16,		%edx
320108825Ssam	movl	64(%edi),	%esi
321108825Ssam	movb	%dh,		%al
32274336Skuriyama	movb	%dl,		%bl
32374336Skuriyama	rorl	$16,		%edx
32474336Skuriyama	xorl	%esi,		%ecx
325120913Sume	movl	72(%edi,%eax,4),%esi
32662587Sitojun	movl	1096(%edi,%ebx,4),%ebp
32753541Sshin	movb	%dh,		%al
32853541Sshin	movb	%dl,		%bl
32953541Sshin	addl	%ebp,		%esi
33053541Sshin	movl	2120(%edi,%eax,4),%eax
331120913Sume	xorl	%eax,		%esi
33253541Sshin	movl	3144(%edi,%ebx,4),%ebp
33353541Sshin	addl	%ebp,		%esi
33453541Sshin	xorl	%eax,		%eax
33553541Sshin	xorl	%esi,		%ecx
33653541Sshin	xorl	68(%edi),	%edx
33753541Sshin	movl	20(%esp),	%eax
33853541Sshin	movl	%edx,		(%eax)
33953541Sshin	movl	%ecx,		4(%eax)
34053541Sshin	popl	%edi
34153541Sshin	popl	%esi
34253541Sshin	popl	%ebx
34353541Sshin	popl	%ebp
34453541Sshin	ret
34553541Sshin.L_BF_encrypt_end:
34653541Sshin	.size	BF_encrypt,.L_BF_encrypt_end-BF_encrypt
34753541Sshin.ident	"desasm.pl"
34853541Sshin.text
34978064Sume	.align 16
35053541Sshin.globl BF_decrypt
35153541Sshin	.type	BF_decrypt,@function
35253541SshinBF_decrypt:
35378064Sume	pushl	%ebp
35478064Sume	pushl	%ebx
35578064Sume	pushl	%esi
35653541Sshin	pushl	%edi
35753541Sshin
35853541Sshin
35953541Sshin
360126444Sume	movl	20(%esp),	%eax
361126444Sume	movl	(%eax),		%ecx
362126444Sume	movl	4(%eax),	%edx
363126444Sume
364126444Sume
365126444Sume	movl	24(%esp),	%edi
366126444Sume	xorl	%eax,		%eax
367126444Sume	xorl	%ebx,		%ebx
36878064Sume	xorl	68(%edi),	%ecx
36978064Sume
37078064Sume
37178064Sume	rorl	$16,		%ecx
37295023Ssuz	movl	64(%edi),	%esi
37362587Sitojun	movb	%ch,		%al
37478064Sume	movb	%cl,		%bl
37578064Sume	rorl	$16,		%ecx
37678064Sume	xorl	%esi,		%edx
377120913Sume	movl	72(%edi,%eax,4),%esi
37878064Sume	movl	1096(%edi,%ebx,4),%ebp
37978064Sume	movb	%ch,		%al
38078064Sume	movb	%cl,		%bl
38178064Sume	addl	%ebp,		%esi
38278064Sume	movl	2120(%edi,%eax,4),%eax
383120913Sume	xorl	%eax,		%esi
38462587Sitojun	movl	3144(%edi,%ebx,4),%ebp
38578064Sume	addl	%ebp,		%esi
38678064Sume	xorl	%eax,		%eax
38778064Sume	xorl	%esi,		%edx
38878064Sume
38978064Sume
39078064Sume	rorl	$16,		%edx
39162587Sitojun	movl	60(%edi),	%esi
39262587Sitojun	movb	%dh,		%al
39362587Sitojun	movb	%dl,		%bl
39462587Sitojun	rorl	$16,		%edx
39562587Sitojun	xorl	%esi,		%ecx
39662587Sitojun	movl	72(%edi,%eax,4),%esi
39762587Sitojun	movl	1096(%edi,%ebx,4),%ebp
39862587Sitojun	movb	%dh,		%al
39962587Sitojun	movb	%dl,		%bl
40062587Sitojun	addl	%ebp,		%esi
40162587Sitojun	movl	2120(%edi,%eax,4),%eax
40262587Sitojun	xorl	%eax,		%esi
40362587Sitojun	movl	3144(%edi,%ebx,4),%ebp
40462587Sitojun	addl	%ebp,		%esi
40562587Sitojun	xorl	%eax,		%eax
40675246Sume	xorl	%esi,		%ecx
407126444Sume
408126444Sume
409126444Sume	rorl	$16,		%ecx
410126444Sume	movl	56(%edi),	%esi
411126444Sume	movb	%ch,		%al
412126444Sume	movb	%cl,		%bl
41378064Sume	rorl	$16,		%ecx
41478064Sume	xorl	%esi,		%edx
41578064Sume	movl	72(%edi,%eax,4),%esi
41653541Sshin	movl	1096(%edi,%ebx,4),%ebp
41753541Sshin	movb	%ch,		%al
41853541Sshin	movb	%cl,		%bl
419121315Sume	addl	%ebp,		%esi
420121315Sume	movl	2120(%edi,%eax,4),%eax
42178064Sume	xorl	%eax,		%esi
42278064Sume	movl	3144(%edi,%ebx,4),%ebp
42378064Sume	addl	%ebp,		%esi
42478064Sume	xorl	%eax,		%eax
42553541Sshin	xorl	%esi,		%edx
42653541Sshin
427126508Smlaier
428126444Sume	rorl	$16,		%edx
429126508Smlaier	movl	52(%edi),	%esi
430126508Smlaier	movb	%dh,		%al
431126508Smlaier	movb	%dl,		%bl
432126508Smlaier	rorl	$16,		%edx
433126508Smlaier	xorl	%esi,		%ecx
434126508Smlaier	movl	72(%edi,%eax,4),%esi
435126508Smlaier	movl	1096(%edi,%ebx,4),%ebp
436126508Smlaier	movb	%dh,		%al
437126508Smlaier	movb	%dl,		%bl
438126508Smlaier	addl	%ebp,		%esi
439126508Smlaier	movl	2120(%edi,%eax,4),%eax
440126508Smlaier	xorl	%eax,		%esi
441126508Smlaier	movl	3144(%edi,%ebx,4),%ebp
442126508Smlaier	addl	%ebp,		%esi
443126508Smlaier	xorl	%eax,		%eax
444126508Smlaier	xorl	%esi,		%ecx
445126508Smlaier
446126508Smlaier
447126508Smlaier	rorl	$16,		%ecx
448126508Smlaier	movl	48(%edi),	%esi
449126508Smlaier	movb	%ch,		%al
450126508Smlaier	movb	%cl,		%bl
451126508Smlaier	rorl	$16,		%ecx
452126508Smlaier	xorl	%esi,		%edx
453126508Smlaier	movl	72(%edi,%eax,4),%esi
454126508Smlaier	movl	1096(%edi,%ebx,4),%ebp
455126508Smlaier	movb	%ch,		%al
456126508Smlaier	movb	%cl,		%bl
457126508Smlaier	addl	%ebp,		%esi
458126508Smlaier	movl	2120(%edi,%eax,4),%eax
459126508Smlaier	xorl	%eax,		%esi
460126444Sume	movl	3144(%edi,%ebx,4),%ebp
461126444Sume	addl	%ebp,		%esi
462126444Sume	xorl	%eax,		%eax
463126444Sume	xorl	%esi,		%edx
464126444Sume
465126444Sume
466126444Sume	rorl	$16,		%edx
467126444Sume	movl	44(%edi),	%esi
468126444Sume	movb	%dh,		%al
469126444Sume	movb	%dl,		%bl
470126444Sume	rorl	$16,		%edx
471126444Sume	xorl	%esi,		%ecx
472126444Sume	movl	72(%edi,%eax,4),%esi
473126444Sume	movl	1096(%edi,%ebx,4),%ebp
474126444Sume	movb	%dh,		%al
47553541Sshin	movb	%dl,		%bl
476126444Sume	addl	%ebp,		%esi
477126444Sume	movl	2120(%edi,%eax,4),%eax
478126444Sume	xorl	%eax,		%esi
479126444Sume	movl	3144(%edi,%ebx,4),%ebp
480126444Sume	addl	%ebp,		%esi
481126444Sume	xorl	%eax,		%eax
482126444Sume	xorl	%esi,		%ecx
483126444Sume
484126444Sume
485126444Sume	rorl	$16,		%ecx
486126444Sume	movl	40(%edi),	%esi
487126444Sume	movb	%ch,		%al
488126444Sume	movb	%cl,		%bl
489126444Sume	rorl	$16,		%ecx
490126444Sume	xorl	%esi,		%edx
491126444Sume	movl	72(%edi,%eax,4),%esi
492126444Sume	movl	1096(%edi,%ebx,4),%ebp
493126444Sume	movb	%ch,		%al
494126444Sume	movb	%cl,		%bl
495126444Sume	addl	%ebp,		%esi
496126489Sume	movl	2120(%edi,%eax,4),%eax
497126489Sume	xorl	%eax,		%esi
498126489Sume	movl	3144(%edi,%ebx,4),%ebp
499126489Sume	addl	%ebp,		%esi
500126489Sume	xorl	%eax,		%eax
501126489Sume	xorl	%esi,		%edx
50253541Sshin
50353541Sshin
50453541Sshin	rorl	$16,		%edx
50553541Sshin	movl	36(%edi),	%esi
506120913Sume	movb	%dh,		%al
50753541Sshin	movb	%dl,		%bl
50853541Sshin	rorl	$16,		%edx
50953541Sshin	xorl	%esi,		%ecx
51053541Sshin	movl	72(%edi,%eax,4),%esi
51153541Sshin	movl	1096(%edi,%ebx,4),%ebp
51253541Sshin	movb	%dh,		%al
51353541Sshin	movb	%dl,		%bl
51453541Sshin	addl	%ebp,		%esi
51553541Sshin	movl	2120(%edi,%eax,4),%eax
51656723Sshin	xorl	%eax,		%esi
51753541Sshin	movl	3144(%edi,%ebx,4),%ebp
51853541Sshin	addl	%ebp,		%esi
51953541Sshin	xorl	%eax,		%eax
52053541Sshin	xorl	%esi,		%ecx
52153541Sshin
52253541Sshin
52353541Sshin	rorl	$16,		%ecx
52453541Sshin	movl	32(%edi),	%esi
52553541Sshin	movb	%ch,		%al
52653541Sshin	movb	%cl,		%bl
52753541Sshin	rorl	$16,		%ecx
52853541Sshin	xorl	%esi,		%edx
52962587Sitojun	movl	72(%edi,%eax,4),%esi
530120913Sume	movl	1096(%edi,%ebx,4),%ebp
53162587Sitojun	movb	%ch,		%al
532120913Sume	movb	%cl,		%bl
53362587Sitojun	addl	%ebp,		%esi
53462587Sitojun	movl	2120(%edi,%eax,4),%eax
53578064Sume	xorl	%eax,		%esi
53678064Sume	movl	3144(%edi,%ebx,4),%ebp
53753541Sshin	addl	%ebp,		%esi
53862587Sitojun	xorl	%eax,		%eax
53962587Sitojun	xorl	%esi,		%edx
54053541Sshin
54153541Sshin
54253541Sshin	rorl	$16,		%edx
54362587Sitojun	movl	28(%edi),	%esi
54453541Sshin	movb	%dh,		%al
54578064Sume	movb	%dl,		%bl
54678064Sume	rorl	$16,		%edx
54778064Sume	xorl	%esi,		%ecx
54878064Sume	movl	72(%edi,%eax,4),%esi
54953541Sshin	movl	1096(%edi,%ebx,4),%ebp
550122921Sandre	movb	%dh,		%al
55153541Sshin	movb	%dl,		%bl
55253541Sshin	addl	%ebp,		%esi
55353541Sshin	movl	2120(%edi,%eax,4),%eax
55453541Sshin	xorl	%eax,		%esi
55553541Sshin	movl	3144(%edi,%ebx,4),%ebp
55653541Sshin	addl	%ebp,		%esi
55753541Sshin	xorl	%eax,		%eax
55853541Sshin	xorl	%esi,		%ecx
55953541Sshin
56053541Sshin
56153541Sshin	rorl	$16,		%ecx
56253541Sshin	movl	24(%edi),	%esi
56378064Sume	movb	%ch,		%al
56478064Sume	movb	%cl,		%bl
56578064Sume	rorl	$16,		%ecx
56678064Sume	xorl	%esi,		%edx
56778064Sume	movl	72(%edi,%eax,4),%esi
56878064Sume	movl	1096(%edi,%ebx,4),%ebp
56978064Sume	movb	%ch,		%al
57078064Sume	movb	%cl,		%bl
57178064Sume	addl	%ebp,		%esi
57278064Sume	movl	2120(%edi,%eax,4),%eax
57378064Sume	xorl	%eax,		%esi
57453541Sshin	movl	3144(%edi,%ebx,4),%ebp
57553541Sshin	addl	%ebp,		%esi
57653541Sshin	xorl	%eax,		%eax
57753541Sshin	xorl	%esi,		%edx
57878064Sume
57978064Sume
58078064Sume	rorl	$16,		%edx
58178064Sume	movl	20(%edi),	%esi
58278064Sume	movb	%dh,		%al
58378064Sume	movb	%dl,		%bl
58462587Sitojun	rorl	$16,		%edx
58553541Sshin	xorl	%esi,		%ecx
58662587Sitojun	movl	72(%edi,%eax,4),%esi
58762587Sitojun	movl	1096(%edi,%ebx,4),%ebp
58862587Sitojun	movb	%dh,		%al
58953541Sshin	movb	%dl,		%bl
59062587Sitojun	addl	%ebp,		%esi
591120913Sume	movl	2120(%edi,%eax,4),%eax
59262587Sitojun	xorl	%eax,		%esi
59353541Sshin	movl	3144(%edi,%ebx,4),%ebp
59453541Sshin	addl	%ebp,		%esi
59553541Sshin	xorl	%eax,		%eax
59678064Sume	xorl	%esi,		%ecx
59762587Sitojun
598121630Sume
59978064Sume	rorl	$16,		%ecx
60078064Sume	movl	16(%edi),	%esi
60178064Sume	movb	%ch,		%al
60278064Sume	movb	%cl,		%bl
60362587Sitojun	rorl	$16,		%ecx
60462587Sitojun	xorl	%esi,		%edx
60562587Sitojun	movl	72(%edi,%eax,4),%esi
60653541Sshin	movl	1096(%edi,%ebx,4),%ebp
60762587Sitojun	movb	%ch,		%al
60853541Sshin	movb	%cl,		%bl
60953541Sshin	addl	%ebp,		%esi
61067334Sjoe	movl	2120(%edi,%eax,4),%eax
61167334Sjoe	xorl	%eax,		%esi
61267334Sjoe	movl	3144(%edi,%ebx,4),%ebp
61353541Sshin	addl	%ebp,		%esi
61453541Sshin	xorl	%eax,		%eax
61562587Sitojun	xorl	%esi,		%edx
61678064Sume
61778064Sume
61862587Sitojun	rorl	$16,		%edx
61978064Sume	movl	12(%edi),	%esi
62062587Sitojun	movb	%dh,		%al
62162587Sitojun	movb	%dl,		%bl
62253541Sshin	rorl	$16,		%edx
62353541Sshin	xorl	%esi,		%ecx
62453541Sshin	movl	72(%edi,%eax,4),%esi
62553541Sshin	movl	1096(%edi,%ebx,4),%ebp
626120913Sume	movb	%dh,		%al
62753541Sshin	movb	%dl,		%bl
62853541Sshin	addl	%ebp,		%esi
62953541Sshin	movl	2120(%edi,%eax,4),%eax
63053541Sshin	xorl	%eax,		%esi
63153541Sshin	movl	3144(%edi,%ebx,4),%ebp
63253541Sshin	addl	%ebp,		%esi
63395023Ssuz	xorl	%eax,		%eax
63453541Sshin	xorl	%esi,		%ecx
63553541Sshin
63653541Sshin
63753541Sshin	rorl	$16,		%ecx
63853541Sshin	movl	8(%edi),	%esi
63953541Sshin	movb	%ch,		%al
64053541Sshin	movb	%cl,		%bl
64153541Sshin	rorl	$16,		%ecx
64253541Sshin	xorl	%esi,		%edx
64353541Sshin	movl	72(%edi,%eax,4),%esi
64453541Sshin	movl	1096(%edi,%ebx,4),%ebp
64553541Sshin	movb	%ch,		%al
64653541Sshin	movb	%cl,		%bl
64753541Sshin	addl	%ebp,		%esi
64853541Sshin	movl	2120(%edi,%eax,4),%eax
64953541Sshin	xorl	%eax,		%esi
650121630Sume	movl	3144(%edi,%ebx,4),%ebp
65178064Sume	addl	%ebp,		%esi
65278064Sume	xorl	%eax,		%eax
65378064Sume	xorl	%esi,		%edx
65478064Sume
65578064Sume
65678064Sume	rorl	$16,		%edx
65778064Sume	movl	4(%edi),	%esi
65878064Sume	movb	%dh,		%al
65978064Sume	movb	%dl,		%bl
66078064Sume	rorl	$16,		%edx
66178064Sume	xorl	%esi,		%ecx
66278064Sume	movl	72(%edi,%eax,4),%esi
66378064Sume	movl	1096(%edi,%ebx,4),%ebp
66478064Sume	movb	%dh,		%al
66578064Sume	movb	%dl,		%bl
66678064Sume	addl	%ebp,		%esi
66778064Sume	movl	2120(%edi,%eax,4),%eax
66878064Sume	xorl	%eax,		%esi
66978064Sume	movl	3144(%edi,%ebx,4),%ebp
67078064Sume	addl	%ebp,		%esi
67153541Sshin	xorl	%eax,		%eax
67253541Sshin	xorl	%esi,		%ecx
67353541Sshin	xorl	(%edi),		%edx
67453541Sshin	movl	20(%esp),	%eax
67553541Sshin	movl	%edx,		(%eax)
67653541Sshin	movl	%ecx,		4(%eax)
67762587Sitojun	popl	%edi
67862587Sitojun	popl	%esi
67953541Sshin	popl	%ebx
68062587Sitojun	popl	%ebp
68153541Sshin	ret
68262587Sitojun.L_BF_decrypt_end:
68353541Sshin	.size	BF_decrypt,.L_BF_decrypt_end-BF_decrypt
68453541Sshin.ident	"desasm.pl"
68562587Sitojun.text
68653541Sshin	.align 16
68753541Sshin.globl BF_cbc_encrypt
68853541Sshin	.type	BF_cbc_encrypt,@function
68953541SshinBF_cbc_encrypt:
69095023Ssuz
69162587Sitojun	pushl	%ebp
69262587Sitojun	pushl	%ebx
69362587Sitojun	pushl	%esi
69462587Sitojun	pushl	%edi
69562587Sitojun	movl	28(%esp),	%ebp
69662587Sitojun
697120913Sume	movl	36(%esp),	%ebx
698120913Sume	movl	(%ebx),		%esi
69962587Sitojun	movl	4(%ebx),	%edi
70062587Sitojun	pushl	%edi
70162587Sitojun	pushl	%esi
70262587Sitojun	pushl	%edi
70362587Sitojun	pushl	%esi
70462587Sitojun	movl	%esp,		%ebx
70562587Sitojun	movl	36(%esp),	%esi
70662587Sitojun	movl	40(%esp),	%edi
70762587Sitojun
70862587Sitojun	movl	56(%esp),	%ecx
70962587Sitojun
71062587Sitojun	movl	48(%esp),	%eax
71162587Sitojun	pushl	%eax
71262587Sitojun	pushl	%ebx
71362587Sitojun	cmpl	$0,		%ecx
71462587Sitojun	jz	.L000decrypt
71562587Sitojun	andl	$4294967288,	%ebp
71662587Sitojun	movl	8(%esp),	%eax
71762587Sitojun	movl	12(%esp),	%ebx
71862587Sitojun	jz	.L001encrypt_finish
71962587Sitojun.L002encrypt_loop:
72062587Sitojun	movl	(%esi),		%ecx
72162587Sitojun	movl	4(%esi),	%edx
72253541Sshin	xorl	%ecx,		%eax
72353541Sshin	xorl	%edx,		%ebx
72453541Sshin.byte 15
72553541Sshin.byte 200
72653541Sshin.byte 15
72753541Sshin.byte 203
72853541Sshin	movl	%eax,		8(%esp)
72953541Sshin	movl	%ebx,		12(%esp)
73053541Sshin	call	BF_encrypt
73153541Sshin	movl	8(%esp),	%eax
73253541Sshin	movl	12(%esp),	%ebx
73353541Sshin.byte 15
73453541Sshin.byte 200
73553541Sshin.byte 15
73653541Sshin.byte 203
73753541Sshin	movl	%eax,		(%edi)
73853541Sshin	movl	%ebx,		4(%edi)
73953541Sshin	addl	$8,		%esi
74053541Sshin	addl	$8,		%edi
74153541Sshin	subl	$8,		%ebp
74253541Sshin	jnz	.L002encrypt_loop
74353541Sshin.L001encrypt_finish:
74453541Sshin	movl	52(%esp),	%ebp
74553541Sshin	andl	$7,		%ebp
74653541Sshin	jz	.L003finish
74753541Sshin	call	.L004PIC_point
74853541Sshin.L004PIC_point:
74953541Sshin	popl	%edx
75053541Sshin	leal	.L005cbc_enc_jmp_table-.L004PIC_point(%edx),%ecx
75153541Sshin	movl	(%ecx,%ebp,4),	%ebp
75253541Sshin	addl	%edx,		%ebp
75356723Sshin	xorl	%ecx,		%ecx
75456723Sshin	xorl	%edx,		%edx
75556723Sshin	jmp	*%ebp
75656723Sshin.L006ej7:
75756723Sshin	movb	6(%esi),	%dh
75856723Sshin	sall	$8,		%edx
75956723Sshin.L007ej6:
76056723Sshin	movb	5(%esi),	%dh
76156723Sshin.L008ej5:
76256723Sshin	movb	4(%esi),	%dl
76356723Sshin.L009ej4:
76456723Sshin	movl	(%esi),		%ecx
76556723Sshin	jmp	.L010ejend
76653541Sshin.L011ej3:
76753541Sshin	movb	2(%esi),	%ch
76853541Sshin	sall	$8,		%ecx
76953541Sshin.L012ej2:
77053541Sshin	movb	1(%esi),	%ch
771121143Ssam.L013ej1:
77253541Sshin	movb	(%esi),		%cl
773121673Sume.L010ejend:
77453541Sshin	xorl	%ecx,		%eax
77562587Sitojun	xorl	%edx,		%ebx
77662587Sitojun.byte 15
77753541Sshin.byte 200
77862587Sitojun.byte 15
77962587Sitojun.byte 203
78062587Sitojun	movl	%eax,		8(%esp)
78162587Sitojun	movl	%ebx,		12(%esp)
78262587Sitojun	call	BF_encrypt
78362587Sitojun	movl	8(%esp),	%eax
78462587Sitojun	movl	12(%esp),	%ebx
78562587Sitojun.byte 15
78662587Sitojun.byte 200
78762587Sitojun.byte 15
78862587Sitojun.byte 203
78962587Sitojun	movl	%eax,		(%edi)
79062587Sitojun	movl	%ebx,		4(%edi)
79162587Sitojun	jmp	.L003finish
79262587Sitojun.align 16
79362587Sitojun.L000decrypt:
79453541Sshin	andl	$4294967288,	%ebp
79553541Sshin	movl	16(%esp),	%eax
79653541Sshin	movl	20(%esp),	%ebx
79753541Sshin	jz	.L014decrypt_finish
79853541Sshin.L015decrypt_loop:
79978064Sume	movl	(%esi),		%eax
80053541Sshin	movl	4(%esi),	%ebx
80153541Sshin.byte 15
80253541Sshin.byte 200
80353541Sshin.byte 15
80453541Sshin.byte 203
80553541Sshin	movl	%eax,		8(%esp)
80653541Sshin	movl	%ebx,		12(%esp)
80753541Sshin	call	BF_decrypt
80853541Sshin	movl	8(%esp),	%eax
80953541Sshin	movl	12(%esp),	%ebx
81053541Sshin.byte 15
81153541Sshin.byte 200
81253541Sshin.byte 15
81353541Sshin.byte 203
81453541Sshin	movl	16(%esp),	%ecx
81553541Sshin	movl	20(%esp),	%edx
81678064Sume	xorl	%eax,		%ecx
81778064Sume	xorl	%ebx,		%edx
81878064Sume	movl	(%esi),		%eax
81978064Sume	movl	4(%esi),	%ebx
82078064Sume	movl	%ecx,		(%edi)
82178064Sume	movl	%edx,		4(%edi)
82278064Sume	movl	%eax,		16(%esp)
82378064Sume	movl	%ebx,		20(%esp)
82478064Sume	addl	$8,		%esi
82578064Sume	addl	$8,		%edi
82678064Sume	subl	$8,		%ebp
82778064Sume	jnz	.L015decrypt_loop
82853541Sshin.L014decrypt_finish:
82953541Sshin	movl	52(%esp),	%ebp
83053541Sshin	andl	$7,		%ebp
83153541Sshin	jz	.L003finish
83253541Sshin	movl	(%esi),		%eax
83353541Sshin	movl	4(%esi),	%ebx
83453541Sshin.byte 15
83553541Sshin.byte 200
83678064Sume.byte 15
83778064Sume.byte 203
83878064Sume	movl	%eax,		8(%esp)
839121673Sume	movl	%ebx,		12(%esp)
84078064Sume	call	BF_decrypt
84178064Sume	movl	8(%esp),	%eax
84278064Sume	movl	12(%esp),	%ebx
84378064Sume.byte 15
844121673Sume.byte 200
84578064Sume.byte 15
846121673Sume.byte 203
847121673Sume	movl	16(%esp),	%ecx
848121673Sume	movl	20(%esp),	%edx
849121673Sume	xorl	%eax,		%ecx
85078064Sume	xorl	%ebx,		%edx
85178064Sume	movl	(%esi),		%eax
85278064Sume	movl	4(%esi),	%ebx
85378064Sume.L016dj7:
85478064Sume	rorl	$16,		%edx
85578064Sume	movb	%dl,		6(%edi)
856121673Sume	shrl	$16,		%edx
85778064Sume.L017dj6:
858121673Sume	movb	%dh,		5(%edi)
859121673Sume.L018dj5:
860121673Sume	movb	%dl,		4(%edi)
86178064Sume.L019dj4:
86278064Sume	movl	%ecx,		(%edi)
86378064Sume	jmp	.L020djend
86478064Sume.L021dj3:
86578064Sume	rorl	$16,		%ecx
86653541Sshin	movb	%cl,		2(%edi)
86753541Sshin	sall	$16,		%ecx
86853541Sshin.L022dj2:
86953541Sshin	movb	%ch,		1(%esi)
87053541Sshin.L023dj1:
87153541Sshin	movb	%cl,		(%esi)
87253541Sshin.L020djend:
87353541Sshin	jmp	.L003finish
87453541Sshin.align 16
87553541Sshin.L003finish:
87678064Sume	movl	60(%esp),	%ecx
87753541Sshin	addl	$24,		%esp
87853541Sshin	movl	%eax,		(%ecx)
87953541Sshin	movl	%ebx,		4(%ecx)
88053541Sshin	popl	%edi
88153541Sshin	popl	%esi
88262587Sitojun	popl	%ebx
88353541Sshin	popl	%ebp
88453541Sshin	ret
88553541Sshin.align 16
88653541Sshin.L005cbc_enc_jmp_table:
88753541Sshin	.long 0
88853541Sshin	.long .L013ej1-.L004PIC_point
88962587Sitojun	.long .L012ej2-.L004PIC_point
89062587Sitojun	.long .L011ej3-.L004PIC_point
89162587Sitojun	.long .L009ej4-.L004PIC_point
89262587Sitojun	.long .L008ej5-.L004PIC_point
89362587Sitojun	.long .L007ej6-.L004PIC_point
89462587Sitojun	.long .L006ej7-.L004PIC_point
89562587Sitojun.L_BF_cbc_encrypt_end:
89662587Sitojun	.size	BF_cbc_encrypt,.L_BF_cbc_encrypt_end-BF_cbc_encrypt
89762587Sitojun.ident	"desasm.pl"
89862587Sitojun