195967Speter	# $FreeBSD$
295967Speter
3127326Smarkm
4127326Smarkm
5127326Smarkm
6127326Smarkm
7127326Smarkm
895967Speter	.file	"bf-586.s"
995967Speter	.version	"01.01"
1095967Spetergcc2_compiled.:
1195967Speter.text
1295967Speter	.align 16
1395967Speter.globl BF_encrypt
1495967Speter	.type	BF_encrypt,@function
1595967SpeterBF_encrypt:
1695967Speter
1795967Speter	pushl	%ebp
1895967Speter	pushl	%ebx
1995967Speter	movl	12(%esp),	%ebx
2095967Speter	movl	16(%esp),	%ebp
2195967Speter	pushl	%esi
2295967Speter	pushl	%edi
23127326Smarkm
2495967Speter	movl	(%ebx),		%edi
2595967Speter	movl	4(%ebx),	%esi
2695967Speter	xorl	%eax,		%eax
2795967Speter	movl	(%ebp),		%ebx
2895967Speter	xorl	%ecx,		%ecx
2995967Speter	xorl	%ebx,		%edi
3095967Speter
31127326Smarkm
3295967Speter	movl	4(%ebp),	%edx
3395967Speter	movl	%edi,		%ebx
3495967Speter	xorl	%edx,		%esi
3595967Speter	shrl	$16,		%ebx
3695967Speter	movl	%edi,		%edx
3795967Speter	movb	%bh,		%al
3895967Speter	andl	$255,		%ebx
3995967Speter	movb	%dh,		%cl
4095967Speter	andl	$255,		%edx
4195967Speter	movl	72(%ebp,%eax,4),%eax
4295967Speter	movl	1096(%ebp,%ebx,4),%ebx
4395967Speter	addl	%eax,		%ebx
4495967Speter	movl	2120(%ebp,%ecx,4),%eax
4595967Speter	xorl	%eax,		%ebx
4695967Speter	movl	3144(%ebp,%edx,4),%edx
4795967Speter	addl	%edx,		%ebx
4895967Speter	xorl	%eax,		%eax
4995967Speter	xorl	%ebx,		%esi
5095967Speter
51127326Smarkm
5295967Speter	movl	8(%ebp),	%edx
5395967Speter	movl	%esi,		%ebx
5495967Speter	xorl	%edx,		%edi
5595967Speter	shrl	$16,		%ebx
5695967Speter	movl	%esi,		%edx
5795967Speter	movb	%bh,		%al
5895967Speter	andl	$255,		%ebx
5995967Speter	movb	%dh,		%cl
6095967Speter	andl	$255,		%edx
6195967Speter	movl	72(%ebp,%eax,4),%eax
6295967Speter	movl	1096(%ebp,%ebx,4),%ebx
6395967Speter	addl	%eax,		%ebx
6495967Speter	movl	2120(%ebp,%ecx,4),%eax
6595967Speter	xorl	%eax,		%ebx
6695967Speter	movl	3144(%ebp,%edx,4),%edx
6795967Speter	addl	%edx,		%ebx
6895967Speter	xorl	%eax,		%eax
6995967Speter	xorl	%ebx,		%edi
7095967Speter
71127326Smarkm
7295967Speter	movl	12(%ebp),	%edx
7395967Speter	movl	%edi,		%ebx
7495967Speter	xorl	%edx,		%esi
7595967Speter	shrl	$16,		%ebx
7695967Speter	movl	%edi,		%edx
7795967Speter	movb	%bh,		%al
7895967Speter	andl	$255,		%ebx
7995967Speter	movb	%dh,		%cl
8095967Speter	andl	$255,		%edx
8195967Speter	movl	72(%ebp,%eax,4),%eax
8295967Speter	movl	1096(%ebp,%ebx,4),%ebx
8395967Speter	addl	%eax,		%ebx
8495967Speter	movl	2120(%ebp,%ecx,4),%eax
8595967Speter	xorl	%eax,		%ebx
8695967Speter	movl	3144(%ebp,%edx,4),%edx
8795967Speter	addl	%edx,		%ebx
8895967Speter	xorl	%eax,		%eax
8995967Speter	xorl	%ebx,		%esi
9095967Speter
91127326Smarkm
9295967Speter	movl	16(%ebp),	%edx
9395967Speter	movl	%esi,		%ebx
9495967Speter	xorl	%edx,		%edi
9595967Speter	shrl	$16,		%ebx
9695967Speter	movl	%esi,		%edx
9795967Speter	movb	%bh,		%al
9895967Speter	andl	$255,		%ebx
9995967Speter	movb	%dh,		%cl
10095967Speter	andl	$255,		%edx
10195967Speter	movl	72(%ebp,%eax,4),%eax
10295967Speter	movl	1096(%ebp,%ebx,4),%ebx
10395967Speter	addl	%eax,		%ebx
10495967Speter	movl	2120(%ebp,%ecx,4),%eax
10595967Speter	xorl	%eax,		%ebx
10695967Speter	movl	3144(%ebp,%edx,4),%edx
10795967Speter	addl	%edx,		%ebx
10895967Speter	xorl	%eax,		%eax
10995967Speter	xorl	%ebx,		%edi
11095967Speter
111127326Smarkm
11295967Speter	movl	20(%ebp),	%edx
11395967Speter	movl	%edi,		%ebx
11495967Speter	xorl	%edx,		%esi
11595967Speter	shrl	$16,		%ebx
11695967Speter	movl	%edi,		%edx
11795967Speter	movb	%bh,		%al
11895967Speter	andl	$255,		%ebx
11995967Speter	movb	%dh,		%cl
12095967Speter	andl	$255,		%edx
12195967Speter	movl	72(%ebp,%eax,4),%eax
12295967Speter	movl	1096(%ebp,%ebx,4),%ebx
12395967Speter	addl	%eax,		%ebx
12495967Speter	movl	2120(%ebp,%ecx,4),%eax
12595967Speter	xorl	%eax,		%ebx
12695967Speter	movl	3144(%ebp,%edx,4),%edx
12795967Speter	addl	%edx,		%ebx
12895967Speter	xorl	%eax,		%eax
12995967Speter	xorl	%ebx,		%esi
13095967Speter
131127326Smarkm
13295967Speter	movl	24(%ebp),	%edx
13395967Speter	movl	%esi,		%ebx
13495967Speter	xorl	%edx,		%edi
13595967Speter	shrl	$16,		%ebx
13695967Speter	movl	%esi,		%edx
13795967Speter	movb	%bh,		%al
13895967Speter	andl	$255,		%ebx
13995967Speter	movb	%dh,		%cl
14095967Speter	andl	$255,		%edx
14195967Speter	movl	72(%ebp,%eax,4),%eax
14295967Speter	movl	1096(%ebp,%ebx,4),%ebx
14395967Speter	addl	%eax,		%ebx
14495967Speter	movl	2120(%ebp,%ecx,4),%eax
14595967Speter	xorl	%eax,		%ebx
14695967Speter	movl	3144(%ebp,%edx,4),%edx
14795967Speter	addl	%edx,		%ebx
14895967Speter	xorl	%eax,		%eax
14995967Speter	xorl	%ebx,		%edi
15095967Speter
151127326Smarkm
15295967Speter	movl	28(%ebp),	%edx
15395967Speter	movl	%edi,		%ebx
15495967Speter	xorl	%edx,		%esi
15595967Speter	shrl	$16,		%ebx
15695967Speter	movl	%edi,		%edx
15795967Speter	movb	%bh,		%al
15895967Speter	andl	$255,		%ebx
15995967Speter	movb	%dh,		%cl
16095967Speter	andl	$255,		%edx
16195967Speter	movl	72(%ebp,%eax,4),%eax
16295967Speter	movl	1096(%ebp,%ebx,4),%ebx
16395967Speter	addl	%eax,		%ebx
16495967Speter	movl	2120(%ebp,%ecx,4),%eax
16595967Speter	xorl	%eax,		%ebx
16695967Speter	movl	3144(%ebp,%edx,4),%edx
16795967Speter	addl	%edx,		%ebx
16895967Speter	xorl	%eax,		%eax
16995967Speter	xorl	%ebx,		%esi
17095967Speter
171127326Smarkm
17295967Speter	movl	32(%ebp),	%edx
17395967Speter	movl	%esi,		%ebx
17495967Speter	xorl	%edx,		%edi
17595967Speter	shrl	$16,		%ebx
17695967Speter	movl	%esi,		%edx
17795967Speter	movb	%bh,		%al
17895967Speter	andl	$255,		%ebx
17995967Speter	movb	%dh,		%cl
18095967Speter	andl	$255,		%edx
18195967Speter	movl	72(%ebp,%eax,4),%eax
18295967Speter	movl	1096(%ebp,%ebx,4),%ebx
18395967Speter	addl	%eax,		%ebx
18495967Speter	movl	2120(%ebp,%ecx,4),%eax
18595967Speter	xorl	%eax,		%ebx
18695967Speter	movl	3144(%ebp,%edx,4),%edx
18795967Speter	addl	%edx,		%ebx
18895967Speter	xorl	%eax,		%eax
18995967Speter	xorl	%ebx,		%edi
19095967Speter
191127326Smarkm
19295967Speter	movl	36(%ebp),	%edx
19395967Speter	movl	%edi,		%ebx
19495967Speter	xorl	%edx,		%esi
19595967Speter	shrl	$16,		%ebx
19695967Speter	movl	%edi,		%edx
19795967Speter	movb	%bh,		%al
19895967Speter	andl	$255,		%ebx
19995967Speter	movb	%dh,		%cl
20095967Speter	andl	$255,		%edx
20195967Speter	movl	72(%ebp,%eax,4),%eax
20295967Speter	movl	1096(%ebp,%ebx,4),%ebx
20395967Speter	addl	%eax,		%ebx
20495967Speter	movl	2120(%ebp,%ecx,4),%eax
20595967Speter	xorl	%eax,		%ebx
20695967Speter	movl	3144(%ebp,%edx,4),%edx
20795967Speter	addl	%edx,		%ebx
20895967Speter	xorl	%eax,		%eax
20995967Speter	xorl	%ebx,		%esi
21095967Speter
211127326Smarkm
21295967Speter	movl	40(%ebp),	%edx
21395967Speter	movl	%esi,		%ebx
21495967Speter	xorl	%edx,		%edi
21595967Speter	shrl	$16,		%ebx
21695967Speter	movl	%esi,		%edx
21795967Speter	movb	%bh,		%al
21895967Speter	andl	$255,		%ebx
21995967Speter	movb	%dh,		%cl
22095967Speter	andl	$255,		%edx
22195967Speter	movl	72(%ebp,%eax,4),%eax
22295967Speter	movl	1096(%ebp,%ebx,4),%ebx
22395967Speter	addl	%eax,		%ebx
22495967Speter	movl	2120(%ebp,%ecx,4),%eax
22595967Speter	xorl	%eax,		%ebx
22695967Speter	movl	3144(%ebp,%edx,4),%edx
22795967Speter	addl	%edx,		%ebx
22895967Speter	xorl	%eax,		%eax
22995967Speter	xorl	%ebx,		%edi
23095967Speter
231127326Smarkm
23295967Speter	movl	44(%ebp),	%edx
23395967Speter	movl	%edi,		%ebx
23495967Speter	xorl	%edx,		%esi
23595967Speter	shrl	$16,		%ebx
23695967Speter	movl	%edi,		%edx
23795967Speter	movb	%bh,		%al
23895967Speter	andl	$255,		%ebx
23995967Speter	movb	%dh,		%cl
24095967Speter	andl	$255,		%edx
24195967Speter	movl	72(%ebp,%eax,4),%eax
24295967Speter	movl	1096(%ebp,%ebx,4),%ebx
24395967Speter	addl	%eax,		%ebx
24495967Speter	movl	2120(%ebp,%ecx,4),%eax
24595967Speter	xorl	%eax,		%ebx
24695967Speter	movl	3144(%ebp,%edx,4),%edx
24795967Speter	addl	%edx,		%ebx
24895967Speter	xorl	%eax,		%eax
24995967Speter	xorl	%ebx,		%esi
25095967Speter
251127326Smarkm
25295967Speter	movl	48(%ebp),	%edx
25395967Speter	movl	%esi,		%ebx
25495967Speter	xorl	%edx,		%edi
25595967Speter	shrl	$16,		%ebx
25695967Speter	movl	%esi,		%edx
25795967Speter	movb	%bh,		%al
25895967Speter	andl	$255,		%ebx
25995967Speter	movb	%dh,		%cl
26095967Speter	andl	$255,		%edx
26195967Speter	movl	72(%ebp,%eax,4),%eax
26295967Speter	movl	1096(%ebp,%ebx,4),%ebx
26395967Speter	addl	%eax,		%ebx
26495967Speter	movl	2120(%ebp,%ecx,4),%eax
26595967Speter	xorl	%eax,		%ebx
26695967Speter	movl	3144(%ebp,%edx,4),%edx
26795967Speter	addl	%edx,		%ebx
26895967Speter	xorl	%eax,		%eax
26995967Speter	xorl	%ebx,		%edi
27095967Speter
271127326Smarkm
27295967Speter	movl	52(%ebp),	%edx
27395967Speter	movl	%edi,		%ebx
27495967Speter	xorl	%edx,		%esi
27595967Speter	shrl	$16,		%ebx
27695967Speter	movl	%edi,		%edx
27795967Speter	movb	%bh,		%al
27895967Speter	andl	$255,		%ebx
27995967Speter	movb	%dh,		%cl
28095967Speter	andl	$255,		%edx
28195967Speter	movl	72(%ebp,%eax,4),%eax
28295967Speter	movl	1096(%ebp,%ebx,4),%ebx
28395967Speter	addl	%eax,		%ebx
28495967Speter	movl	2120(%ebp,%ecx,4),%eax
28595967Speter	xorl	%eax,		%ebx
28695967Speter	movl	3144(%ebp,%edx,4),%edx
28795967Speter	addl	%edx,		%ebx
28895967Speter	xorl	%eax,		%eax
28995967Speter	xorl	%ebx,		%esi
29095967Speter
291127326Smarkm
29295967Speter	movl	56(%ebp),	%edx
29395967Speter	movl	%esi,		%ebx
29495967Speter	xorl	%edx,		%edi
29595967Speter	shrl	$16,		%ebx
29695967Speter	movl	%esi,		%edx
29795967Speter	movb	%bh,		%al
29895967Speter	andl	$255,		%ebx
29995967Speter	movb	%dh,		%cl
30095967Speter	andl	$255,		%edx
30195967Speter	movl	72(%ebp,%eax,4),%eax
30295967Speter	movl	1096(%ebp,%ebx,4),%ebx
30395967Speter	addl	%eax,		%ebx
30495967Speter	movl	2120(%ebp,%ecx,4),%eax
30595967Speter	xorl	%eax,		%ebx
30695967Speter	movl	3144(%ebp,%edx,4),%edx
30795967Speter	addl	%edx,		%ebx
30895967Speter	xorl	%eax,		%eax
30995967Speter	xorl	%ebx,		%edi
31095967Speter
311127326Smarkm
31295967Speter	movl	60(%ebp),	%edx
31395967Speter	movl	%edi,		%ebx
31495967Speter	xorl	%edx,		%esi
31595967Speter	shrl	$16,		%ebx
31695967Speter	movl	%edi,		%edx
31795967Speter	movb	%bh,		%al
31895967Speter	andl	$255,		%ebx
31995967Speter	movb	%dh,		%cl
32095967Speter	andl	$255,		%edx
32195967Speter	movl	72(%ebp,%eax,4),%eax
32295967Speter	movl	1096(%ebp,%ebx,4),%ebx
32395967Speter	addl	%eax,		%ebx
32495967Speter	movl	2120(%ebp,%ecx,4),%eax
32595967Speter	xorl	%eax,		%ebx
32695967Speter	movl	3144(%ebp,%edx,4),%edx
32795967Speter	addl	%edx,		%ebx
32895967Speter	xorl	%eax,		%eax
32995967Speter	xorl	%ebx,		%esi
33095967Speter
331127326Smarkm
33295967Speter	movl	64(%ebp),	%edx
33395967Speter	movl	%esi,		%ebx
33495967Speter	xorl	%edx,		%edi
33595967Speter	shrl	$16,		%ebx
33695967Speter	movl	%esi,		%edx
33795967Speter	movb	%bh,		%al
33895967Speter	andl	$255,		%ebx
33995967Speter	movb	%dh,		%cl
34095967Speter	andl	$255,		%edx
34195967Speter	movl	72(%ebp,%eax,4),%eax
34295967Speter	movl	1096(%ebp,%ebx,4),%ebx
34395967Speter	addl	%eax,		%ebx
34495967Speter	movl	2120(%ebp,%ecx,4),%eax
34595967Speter	xorl	%eax,		%ebx
34695967Speter	movl	3144(%ebp,%edx,4),%edx
34795967Speter	addl	%edx,		%ebx
348127326Smarkm
34995967Speter	movl	20(%esp),	%eax
35095967Speter	xorl	%ebx,		%edi
35195967Speter	movl	68(%ebp),	%edx
35295967Speter	xorl	%edx,		%esi
35395967Speter	movl	%edi,		4(%eax)
35495967Speter	movl	%esi,		(%eax)
35595967Speter	popl	%edi
35695967Speter	popl	%esi
35795967Speter	popl	%ebx
35895967Speter	popl	%ebp
35995967Speter	ret
360127326Smarkm.L_BF_encrypt_end:
361127326Smarkm	.size	BF_encrypt,.L_BF_encrypt_end-BF_encrypt
36295967Speter.ident	"BF_encrypt"
36395967Speter.text
36495967Speter	.align 16
36595967Speter.globl BF_decrypt
36695967Speter	.type	BF_decrypt,@function
36795967SpeterBF_decrypt:
36895967Speter
36995967Speter	pushl	%ebp
37095967Speter	pushl	%ebx
37195967Speter	movl	12(%esp),	%ebx
37295967Speter	movl	16(%esp),	%ebp
37395967Speter	pushl	%esi
37495967Speter	pushl	%edi
375127326Smarkm
37695967Speter	movl	(%ebx),		%edi
37795967Speter	movl	4(%ebx),	%esi
37895967Speter	xorl	%eax,		%eax
37995967Speter	movl	68(%ebp),	%ebx
38095967Speter	xorl	%ecx,		%ecx
38195967Speter	xorl	%ebx,		%edi
38295967Speter
383127326Smarkm
38495967Speter	movl	64(%ebp),	%edx
38595967Speter	movl	%edi,		%ebx
38695967Speter	xorl	%edx,		%esi
38795967Speter	shrl	$16,		%ebx
38895967Speter	movl	%edi,		%edx
38995967Speter	movb	%bh,		%al
39095967Speter	andl	$255,		%ebx
39195967Speter	movb	%dh,		%cl
39295967Speter	andl	$255,		%edx
39395967Speter	movl	72(%ebp,%eax,4),%eax
39495967Speter	movl	1096(%ebp,%ebx,4),%ebx
39595967Speter	addl	%eax,		%ebx
39695967Speter	movl	2120(%ebp,%ecx,4),%eax
39795967Speter	xorl	%eax,		%ebx
39895967Speter	movl	3144(%ebp,%edx,4),%edx
39995967Speter	addl	%edx,		%ebx
40095967Speter	xorl	%eax,		%eax
40195967Speter	xorl	%ebx,		%esi
40295967Speter
403127326Smarkm
40495967Speter	movl	60(%ebp),	%edx
40595967Speter	movl	%esi,		%ebx
40695967Speter	xorl	%edx,		%edi
40795967Speter	shrl	$16,		%ebx
40895967Speter	movl	%esi,		%edx
40995967Speter	movb	%bh,		%al
41095967Speter	andl	$255,		%ebx
41195967Speter	movb	%dh,		%cl
41295967Speter	andl	$255,		%edx
41395967Speter	movl	72(%ebp,%eax,4),%eax
41495967Speter	movl	1096(%ebp,%ebx,4),%ebx
41595967Speter	addl	%eax,		%ebx
41695967Speter	movl	2120(%ebp,%ecx,4),%eax
41795967Speter	xorl	%eax,		%ebx
41895967Speter	movl	3144(%ebp,%edx,4),%edx
41995967Speter	addl	%edx,		%ebx
42095967Speter	xorl	%eax,		%eax
42195967Speter	xorl	%ebx,		%edi
42295967Speter
423127326Smarkm
42495967Speter	movl	56(%ebp),	%edx
42595967Speter	movl	%edi,		%ebx
42695967Speter	xorl	%edx,		%esi
42795967Speter	shrl	$16,		%ebx
42895967Speter	movl	%edi,		%edx
42995967Speter	movb	%bh,		%al
43095967Speter	andl	$255,		%ebx
43195967Speter	movb	%dh,		%cl
43295967Speter	andl	$255,		%edx
43395967Speter	movl	72(%ebp,%eax,4),%eax
43495967Speter	movl	1096(%ebp,%ebx,4),%ebx
43595967Speter	addl	%eax,		%ebx
43695967Speter	movl	2120(%ebp,%ecx,4),%eax
43795967Speter	xorl	%eax,		%ebx
43895967Speter	movl	3144(%ebp,%edx,4),%edx
43995967Speter	addl	%edx,		%ebx
44095967Speter	xorl	%eax,		%eax
44195967Speter	xorl	%ebx,		%esi
44295967Speter
443127326Smarkm
44495967Speter	movl	52(%ebp),	%edx
44595967Speter	movl	%esi,		%ebx
44695967Speter	xorl	%edx,		%edi
44795967Speter	shrl	$16,		%ebx
44895967Speter	movl	%esi,		%edx
44995967Speter	movb	%bh,		%al
45095967Speter	andl	$255,		%ebx
45195967Speter	movb	%dh,		%cl
45295967Speter	andl	$255,		%edx
45395967Speter	movl	72(%ebp,%eax,4),%eax
45495967Speter	movl	1096(%ebp,%ebx,4),%ebx
45595967Speter	addl	%eax,		%ebx
45695967Speter	movl	2120(%ebp,%ecx,4),%eax
45795967Speter	xorl	%eax,		%ebx
45895967Speter	movl	3144(%ebp,%edx,4),%edx
45995967Speter	addl	%edx,		%ebx
46095967Speter	xorl	%eax,		%eax
46195967Speter	xorl	%ebx,		%edi
46295967Speter
463127326Smarkm
46495967Speter	movl	48(%ebp),	%edx
46595967Speter	movl	%edi,		%ebx
46695967Speter	xorl	%edx,		%esi
46795967Speter	shrl	$16,		%ebx
46895967Speter	movl	%edi,		%edx
46995967Speter	movb	%bh,		%al
47095967Speter	andl	$255,		%ebx
47195967Speter	movb	%dh,		%cl
47295967Speter	andl	$255,		%edx
47395967Speter	movl	72(%ebp,%eax,4),%eax
47495967Speter	movl	1096(%ebp,%ebx,4),%ebx
47595967Speter	addl	%eax,		%ebx
47695967Speter	movl	2120(%ebp,%ecx,4),%eax
47795967Speter	xorl	%eax,		%ebx
47895967Speter	movl	3144(%ebp,%edx,4),%edx
47995967Speter	addl	%edx,		%ebx
48095967Speter	xorl	%eax,		%eax
48195967Speter	xorl	%ebx,		%esi
48295967Speter
483127326Smarkm
48495967Speter	movl	44(%ebp),	%edx
48595967Speter	movl	%esi,		%ebx
48695967Speter	xorl	%edx,		%edi
48795967Speter	shrl	$16,		%ebx
48895967Speter	movl	%esi,		%edx
48995967Speter	movb	%bh,		%al
49095967Speter	andl	$255,		%ebx
49195967Speter	movb	%dh,		%cl
49295967Speter	andl	$255,		%edx
49395967Speter	movl	72(%ebp,%eax,4),%eax
49495967Speter	movl	1096(%ebp,%ebx,4),%ebx
49595967Speter	addl	%eax,		%ebx
49695967Speter	movl	2120(%ebp,%ecx,4),%eax
49795967Speter	xorl	%eax,		%ebx
49895967Speter	movl	3144(%ebp,%edx,4),%edx
49995967Speter	addl	%edx,		%ebx
50095967Speter	xorl	%eax,		%eax
50195967Speter	xorl	%ebx,		%edi
50295967Speter
503127326Smarkm
50495967Speter	movl	40(%ebp),	%edx
50595967Speter	movl	%edi,		%ebx
50695967Speter	xorl	%edx,		%esi
50795967Speter	shrl	$16,		%ebx
50895967Speter	movl	%edi,		%edx
50995967Speter	movb	%bh,		%al
51095967Speter	andl	$255,		%ebx
51195967Speter	movb	%dh,		%cl
51295967Speter	andl	$255,		%edx
51395967Speter	movl	72(%ebp,%eax,4),%eax
51495967Speter	movl	1096(%ebp,%ebx,4),%ebx
51595967Speter	addl	%eax,		%ebx
51695967Speter	movl	2120(%ebp,%ecx,4),%eax
51795967Speter	xorl	%eax,		%ebx
51895967Speter	movl	3144(%ebp,%edx,4),%edx
51995967Speter	addl	%edx,		%ebx
52095967Speter	xorl	%eax,		%eax
52195967Speter	xorl	%ebx,		%esi
52295967Speter
523127326Smarkm
52495967Speter	movl	36(%ebp),	%edx
52595967Speter	movl	%esi,		%ebx
52695967Speter	xorl	%edx,		%edi
52795967Speter	shrl	$16,		%ebx
52895967Speter	movl	%esi,		%edx
52995967Speter	movb	%bh,		%al
53095967Speter	andl	$255,		%ebx
53195967Speter	movb	%dh,		%cl
53295967Speter	andl	$255,		%edx
53395967Speter	movl	72(%ebp,%eax,4),%eax
53495967Speter	movl	1096(%ebp,%ebx,4),%ebx
53595967Speter	addl	%eax,		%ebx
53695967Speter	movl	2120(%ebp,%ecx,4),%eax
53795967Speter	xorl	%eax,		%ebx
53895967Speter	movl	3144(%ebp,%edx,4),%edx
53995967Speter	addl	%edx,		%ebx
54095967Speter	xorl	%eax,		%eax
54195967Speter	xorl	%ebx,		%edi
54295967Speter
543127326Smarkm
54495967Speter	movl	32(%ebp),	%edx
54595967Speter	movl	%edi,		%ebx
54695967Speter	xorl	%edx,		%esi
54795967Speter	shrl	$16,		%ebx
54895967Speter	movl	%edi,		%edx
54995967Speter	movb	%bh,		%al
55095967Speter	andl	$255,		%ebx
55195967Speter	movb	%dh,		%cl
55295967Speter	andl	$255,		%edx
55395967Speter	movl	72(%ebp,%eax,4),%eax
55495967Speter	movl	1096(%ebp,%ebx,4),%ebx
55595967Speter	addl	%eax,		%ebx
55695967Speter	movl	2120(%ebp,%ecx,4),%eax
55795967Speter	xorl	%eax,		%ebx
55895967Speter	movl	3144(%ebp,%edx,4),%edx
55995967Speter	addl	%edx,		%ebx
56095967Speter	xorl	%eax,		%eax
56195967Speter	xorl	%ebx,		%esi
56295967Speter
563127326Smarkm
56495967Speter	movl	28(%ebp),	%edx
56595967Speter	movl	%esi,		%ebx
56695967Speter	xorl	%edx,		%edi
56795967Speter	shrl	$16,		%ebx
56895967Speter	movl	%esi,		%edx
56995967Speter	movb	%bh,		%al
57095967Speter	andl	$255,		%ebx
57195967Speter	movb	%dh,		%cl
57295967Speter	andl	$255,		%edx
57395967Speter	movl	72(%ebp,%eax,4),%eax
57495967Speter	movl	1096(%ebp,%ebx,4),%ebx
57595967Speter	addl	%eax,		%ebx
57695967Speter	movl	2120(%ebp,%ecx,4),%eax
57795967Speter	xorl	%eax,		%ebx
57895967Speter	movl	3144(%ebp,%edx,4),%edx
57995967Speter	addl	%edx,		%ebx
58095967Speter	xorl	%eax,		%eax
58195967Speter	xorl	%ebx,		%edi
58295967Speter
583127326Smarkm
58495967Speter	movl	24(%ebp),	%edx
58595967Speter	movl	%edi,		%ebx
58695967Speter	xorl	%edx,		%esi
58795967Speter	shrl	$16,		%ebx
58895967Speter	movl	%edi,		%edx
58995967Speter	movb	%bh,		%al
59095967Speter	andl	$255,		%ebx
59195967Speter	movb	%dh,		%cl
59295967Speter	andl	$255,		%edx
59395967Speter	movl	72(%ebp,%eax,4),%eax
59495967Speter	movl	1096(%ebp,%ebx,4),%ebx
59595967Speter	addl	%eax,		%ebx
59695967Speter	movl	2120(%ebp,%ecx,4),%eax
59795967Speter	xorl	%eax,		%ebx
59895967Speter	movl	3144(%ebp,%edx,4),%edx
59995967Speter	addl	%edx,		%ebx
60095967Speter	xorl	%eax,		%eax
60195967Speter	xorl	%ebx,		%esi
60295967Speter
603127326Smarkm
60495967Speter	movl	20(%ebp),	%edx
60595967Speter	movl	%esi,		%ebx
60695967Speter	xorl	%edx,		%edi
60795967Speter	shrl	$16,		%ebx
60895967Speter	movl	%esi,		%edx
60995967Speter	movb	%bh,		%al
61095967Speter	andl	$255,		%ebx
61195967Speter	movb	%dh,		%cl
61295967Speter	andl	$255,		%edx
61395967Speter	movl	72(%ebp,%eax,4),%eax
61495967Speter	movl	1096(%ebp,%ebx,4),%ebx
61595967Speter	addl	%eax,		%ebx
61695967Speter	movl	2120(%ebp,%ecx,4),%eax
61795967Speter	xorl	%eax,		%ebx
61895967Speter	movl	3144(%ebp,%edx,4),%edx
61995967Speter	addl	%edx,		%ebx
62095967Speter	xorl	%eax,		%eax
62195967Speter	xorl	%ebx,		%edi
62295967Speter
623127326Smarkm
62495967Speter	movl	16(%ebp),	%edx
62595967Speter	movl	%edi,		%ebx
62695967Speter	xorl	%edx,		%esi
62795967Speter	shrl	$16,		%ebx
62895967Speter	movl	%edi,		%edx
62995967Speter	movb	%bh,		%al
63095967Speter	andl	$255,		%ebx
63195967Speter	movb	%dh,		%cl
63295967Speter	andl	$255,		%edx
63395967Speter	movl	72(%ebp,%eax,4),%eax
63495967Speter	movl	1096(%ebp,%ebx,4),%ebx
63595967Speter	addl	%eax,		%ebx
63695967Speter	movl	2120(%ebp,%ecx,4),%eax
63795967Speter	xorl	%eax,		%ebx
63895967Speter	movl	3144(%ebp,%edx,4),%edx
63995967Speter	addl	%edx,		%ebx
64095967Speter	xorl	%eax,		%eax
64195967Speter	xorl	%ebx,		%esi
64295967Speter
643127326Smarkm
64495967Speter	movl	12(%ebp),	%edx
64595967Speter	movl	%esi,		%ebx
64695967Speter	xorl	%edx,		%edi
64795967Speter	shrl	$16,		%ebx
64895967Speter	movl	%esi,		%edx
64995967Speter	movb	%bh,		%al
65095967Speter	andl	$255,		%ebx
65195967Speter	movb	%dh,		%cl
65295967Speter	andl	$255,		%edx
65395967Speter	movl	72(%ebp,%eax,4),%eax
65495967Speter	movl	1096(%ebp,%ebx,4),%ebx
65595967Speter	addl	%eax,		%ebx
65695967Speter	movl	2120(%ebp,%ecx,4),%eax
65795967Speter	xorl	%eax,		%ebx
65895967Speter	movl	3144(%ebp,%edx,4),%edx
65995967Speter	addl	%edx,		%ebx
66095967Speter	xorl	%eax,		%eax
66195967Speter	xorl	%ebx,		%edi
66295967Speter
663127326Smarkm
66495967Speter	movl	8(%ebp),	%edx
66595967Speter	movl	%edi,		%ebx
66695967Speter	xorl	%edx,		%esi
66795967Speter	shrl	$16,		%ebx
66895967Speter	movl	%edi,		%edx
66995967Speter	movb	%bh,		%al
67095967Speter	andl	$255,		%ebx
67195967Speter	movb	%dh,		%cl
67295967Speter	andl	$255,		%edx
67395967Speter	movl	72(%ebp,%eax,4),%eax
67495967Speter	movl	1096(%ebp,%ebx,4),%ebx
67595967Speter	addl	%eax,		%ebx
67695967Speter	movl	2120(%ebp,%ecx,4),%eax
67795967Speter	xorl	%eax,		%ebx
67895967Speter	movl	3144(%ebp,%edx,4),%edx
67995967Speter	addl	%edx,		%ebx
68095967Speter	xorl	%eax,		%eax
68195967Speter	xorl	%ebx,		%esi
68295967Speter
683127326Smarkm
68495967Speter	movl	4(%ebp),	%edx
68595967Speter	movl	%esi,		%ebx
68695967Speter	xorl	%edx,		%edi
68795967Speter	shrl	$16,		%ebx
68895967Speter	movl	%esi,		%edx
68995967Speter	movb	%bh,		%al
69095967Speter	andl	$255,		%ebx
69195967Speter	movb	%dh,		%cl
69295967Speter	andl	$255,		%edx
69395967Speter	movl	72(%ebp,%eax,4),%eax
69495967Speter	movl	1096(%ebp,%ebx,4),%ebx
69595967Speter	addl	%eax,		%ebx
69695967Speter	movl	2120(%ebp,%ecx,4),%eax
69795967Speter	xorl	%eax,		%ebx
69895967Speter	movl	3144(%ebp,%edx,4),%edx
69995967Speter	addl	%edx,		%ebx
700127326Smarkm
70195967Speter	movl	20(%esp),	%eax
70295967Speter	xorl	%ebx,		%edi
70395967Speter	movl	(%ebp),		%edx
70495967Speter	xorl	%edx,		%esi
70595967Speter	movl	%edi,		4(%eax)
70695967Speter	movl	%esi,		(%eax)
70795967Speter	popl	%edi
70895967Speter	popl	%esi
70995967Speter	popl	%ebx
71095967Speter	popl	%ebp
71195967Speter	ret
712127326Smarkm.L_BF_decrypt_end:
713127326Smarkm	.size	BF_decrypt,.L_BF_decrypt_end-BF_decrypt
71495967Speter.ident	"BF_decrypt"
71595967Speter.text
71695967Speter	.align 16
71795967Speter.globl BF_cbc_encrypt
71895967Speter	.type	BF_cbc_encrypt,@function
71995967SpeterBF_cbc_encrypt:
72095967Speter
72195967Speter	pushl	%ebp
72295967Speter	pushl	%ebx
72395967Speter	pushl	%esi
72495967Speter	pushl	%edi
72595967Speter	movl	28(%esp),	%ebp
726127326Smarkm
72795967Speter	movl	36(%esp),	%ebx
72895967Speter	movl	(%ebx),		%esi
72995967Speter	movl	4(%ebx),	%edi
73095967Speter	pushl	%edi
73195967Speter	pushl	%esi
73295967Speter	pushl	%edi
73395967Speter	pushl	%esi
73495967Speter	movl	%esp,		%ebx
73595967Speter	movl	36(%esp),	%esi
73695967Speter	movl	40(%esp),	%edi
737127326Smarkm
73895967Speter	movl	56(%esp),	%ecx
739127326Smarkm
74095967Speter	movl	48(%esp),	%eax
74195967Speter	pushl	%eax
74295967Speter	pushl	%ebx
74395967Speter	cmpl	$0,		%ecx
74495967Speter	jz	.L000decrypt
74595967Speter	andl	$4294967288,	%ebp
74695967Speter	movl	8(%esp),	%eax
74795967Speter	movl	12(%esp),	%ebx
74895967Speter	jz	.L001encrypt_finish
74995967Speter.L002encrypt_loop:
75095967Speter	movl	(%esi),		%ecx
75195967Speter	movl	4(%esi),	%edx
75295967Speter	xorl	%ecx,		%eax
75395967Speter	xorl	%edx,		%ebx
75495967Speter.byte 15
755127326Smarkm.byte 200
75695967Speter.byte 15
757127326Smarkm.byte 203
75895967Speter	movl	%eax,		8(%esp)
75995967Speter	movl	%ebx,		12(%esp)
76095967Speter	call	BF_encrypt
76195967Speter	movl	8(%esp),	%eax
76295967Speter	movl	12(%esp),	%ebx
76395967Speter.byte 15
764127326Smarkm.byte 200
76595967Speter.byte 15
766127326Smarkm.byte 203
76795967Speter	movl	%eax,		(%edi)
76895967Speter	movl	%ebx,		4(%edi)
76995967Speter	addl	$8,		%esi
77095967Speter	addl	$8,		%edi
77195967Speter	subl	$8,		%ebp
77295967Speter	jnz	.L002encrypt_loop
77395967Speter.L001encrypt_finish:
77495967Speter	movl	52(%esp),	%ebp
77595967Speter	andl	$7,		%ebp
77695967Speter	jz	.L003finish
777127326Smarkm	call	.L004PIC_point
778127326Smarkm.L004PIC_point:
779127326Smarkm	popl	%edx
780127326Smarkm	leal	.L005cbc_enc_jmp_table-.L004PIC_point(%edx),%ecx
781127326Smarkm	movl	(%ecx,%ebp,4),	%ebp
782127326Smarkm	addl	%edx,		%ebp
78395967Speter	xorl	%ecx,		%ecx
78495967Speter	xorl	%edx,		%edx
78595967Speter	jmp	*%ebp
786127326Smarkm.L006ej7:
78795967Speter	movb	6(%esi),	%dh
78895967Speter	sall	$8,		%edx
789127326Smarkm.L007ej6:
79095967Speter	movb	5(%esi),	%dh
791127326Smarkm.L008ej5:
79295967Speter	movb	4(%esi),	%dl
793127326Smarkm.L009ej4:
79495967Speter	movl	(%esi),		%ecx
795127326Smarkm	jmp	.L010ejend
796127326Smarkm.L011ej3:
79795967Speter	movb	2(%esi),	%ch
79895967Speter	sall	$8,		%ecx
799127326Smarkm.L012ej2:
80095967Speter	movb	1(%esi),	%ch
801127326Smarkm.L013ej1:
80295967Speter	movb	(%esi),		%cl
803127326Smarkm.L010ejend:
80495967Speter	xorl	%ecx,		%eax
80595967Speter	xorl	%edx,		%ebx
80695967Speter.byte 15
807127326Smarkm.byte 200
80895967Speter.byte 15
809127326Smarkm.byte 203
81095967Speter	movl	%eax,		8(%esp)
81195967Speter	movl	%ebx,		12(%esp)
81295967Speter	call	BF_encrypt
81395967Speter	movl	8(%esp),	%eax
81495967Speter	movl	12(%esp),	%ebx
81595967Speter.byte 15
816127326Smarkm.byte 200
81795967Speter.byte 15
818127326Smarkm.byte 203
81995967Speter	movl	%eax,		(%edi)
82095967Speter	movl	%ebx,		4(%edi)
82195967Speter	jmp	.L003finish
82295967Speter.align 16
82395967Speter.L000decrypt:
82495967Speter	andl	$4294967288,	%ebp
82595967Speter	movl	16(%esp),	%eax
82695967Speter	movl	20(%esp),	%ebx
827127326Smarkm	jz	.L014decrypt_finish
828127326Smarkm.L015decrypt_loop:
82995967Speter	movl	(%esi),		%eax
83095967Speter	movl	4(%esi),	%ebx
83195967Speter.byte 15
832127326Smarkm.byte 200
83395967Speter.byte 15
834127326Smarkm.byte 203
83595967Speter	movl	%eax,		8(%esp)
83695967Speter	movl	%ebx,		12(%esp)
83795967Speter	call	BF_decrypt
83895967Speter	movl	8(%esp),	%eax
83995967Speter	movl	12(%esp),	%ebx
84095967Speter.byte 15
841127326Smarkm.byte 200
84295967Speter.byte 15
843127326Smarkm.byte 203
84495967Speter	movl	16(%esp),	%ecx
84595967Speter	movl	20(%esp),	%edx
84695967Speter	xorl	%eax,		%ecx
84795967Speter	xorl	%ebx,		%edx
84895967Speter	movl	(%esi),		%eax
84995967Speter	movl	4(%esi),	%ebx
85095967Speter	movl	%ecx,		(%edi)
85195967Speter	movl	%edx,		4(%edi)
85295967Speter	movl	%eax,		16(%esp)
85395967Speter	movl	%ebx,		20(%esp)
85495967Speter	addl	$8,		%esi
85595967Speter	addl	$8,		%edi
85695967Speter	subl	$8,		%ebp
857127326Smarkm	jnz	.L015decrypt_loop
858127326Smarkm.L014decrypt_finish:
85995967Speter	movl	52(%esp),	%ebp
86095967Speter	andl	$7,		%ebp
86195967Speter	jz	.L003finish
86295967Speter	movl	(%esi),		%eax
86395967Speter	movl	4(%esi),	%ebx
86495967Speter.byte 15
865127326Smarkm.byte 200
86695967Speter.byte 15
867127326Smarkm.byte 203
86895967Speter	movl	%eax,		8(%esp)
86995967Speter	movl	%ebx,		12(%esp)
87095967Speter	call	BF_decrypt
87195967Speter	movl	8(%esp),	%eax
87295967Speter	movl	12(%esp),	%ebx
87395967Speter.byte 15
874127326Smarkm.byte 200
87595967Speter.byte 15
876127326Smarkm.byte 203
87795967Speter	movl	16(%esp),	%ecx
87895967Speter	movl	20(%esp),	%edx
87995967Speter	xorl	%eax,		%ecx
88095967Speter	xorl	%ebx,		%edx
88195967Speter	movl	(%esi),		%eax
88295967Speter	movl	4(%esi),	%ebx
883127326Smarkm.L016dj7:
88495967Speter	rorl	$16,		%edx
88595967Speter	movb	%dl,		6(%edi)
88695967Speter	shrl	$16,		%edx
887127326Smarkm.L017dj6:
88895967Speter	movb	%dh,		5(%edi)
889127326Smarkm.L018dj5:
89095967Speter	movb	%dl,		4(%edi)
891127326Smarkm.L019dj4:
89295967Speter	movl	%ecx,		(%edi)
893127326Smarkm	jmp	.L020djend
894127326Smarkm.L021dj3:
89595967Speter	rorl	$16,		%ecx
89695967Speter	movb	%cl,		2(%edi)
89795967Speter	sall	$16,		%ecx
898127326Smarkm.L022dj2:
89995967Speter	movb	%ch,		1(%esi)
900127326Smarkm.L023dj1:
90195967Speter	movb	%cl,		(%esi)
902127326Smarkm.L020djend:
90395967Speter	jmp	.L003finish
90495967Speter.align 16
90595967Speter.L003finish:
90695967Speter	movl	60(%esp),	%ecx
90795967Speter	addl	$24,		%esp
90895967Speter	movl	%eax,		(%ecx)
90995967Speter	movl	%ebx,		4(%ecx)
91095967Speter	popl	%edi
91195967Speter	popl	%esi
91295967Speter	popl	%ebx
91395967Speter	popl	%ebp
91495967Speter	ret
91595967Speter.align 16
916127326Smarkm.L005cbc_enc_jmp_table:
91795967Speter	.long 0
918127326Smarkm	.long .L013ej1-.L004PIC_point
919127326Smarkm	.long .L012ej2-.L004PIC_point
920127326Smarkm	.long .L011ej3-.L004PIC_point
921127326Smarkm	.long .L009ej4-.L004PIC_point
922127326Smarkm	.long .L008ej5-.L004PIC_point
923127326Smarkm	.long .L007ej6-.L004PIC_point
924127326Smarkm	.long .L006ej7-.L004PIC_point
92595967Speter.L_BF_cbc_encrypt_end:
92695967Speter	.size	BF_cbc_encrypt,.L_BF_cbc_encrypt_end-BF_cbc_encrypt
92795967Speter.ident	"desasm.pl"
928