aes-586.S revision 9838b9f4b038825b061a6b323842f9d23729eac0
15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).file	"aes-586.s"
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).text
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).type	_x86_AES_encrypt_compact,@function
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).align	16
50f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles)_x86_AES_encrypt_compact:
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	movl	%edi,20(%esp)
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	xorl	(%edi),%eax
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	xorl	4(%edi),%ebx
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	xorl	8(%edi),%ecx
102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)	xorl	12(%edi),%edx
111320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci	movl	240(%edi),%esi
12c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	leal	-2(%esi,%esi,1),%esi
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	leal	(%edi,%esi,8),%esi
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	movl	%esi,24(%esp)
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	movl	-128(%ebp),%edi
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	movl	-96(%ebp),%esi
17868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)	movl	-64(%ebp),%edi
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	movl	-32(%ebp),%esi
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	movl	(%ebp),%edi
20f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)	movl	32(%ebp),%esi
21f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)	movl	64(%ebp),%edi
22c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch	movl	96(%ebp),%esi
23c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch.align	16
24c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch.L000loop:
253551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	movl	%eax,%esi
263551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	andl	$255,%esi
275d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)	movzbl	-128(%ebp,%esi,1),%esi
28f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)	movzbl	%bh,%edi
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	movzbl	-128(%ebp,%edi,1),%edi
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	shll	$8,%edi
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	xorl	%edi,%esi
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	movl	%ecx,%edi
335d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)	shrl	$16,%edi
34a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)	andl	$255,%edi
35c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	movzbl	-128(%ebp,%edi,1),%edi
36c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	shll	$16,%edi
37c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	xorl	%edi,%esi
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	movl	%edx,%edi
39c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	shrl	$24,%edi
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	movzbl	-128(%ebp,%edi,1),%edi
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	shll	$24,%edi
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	xorl	%edi,%esi
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	movl	%esi,4(%esp)
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	movl	%ebx,%esi
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	andl	$255,%esi
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	shrl	$16,%ebx
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	movzbl	-128(%ebp,%esi,1),%esi
495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	movzbl	%ch,%edi
505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	movzbl	-128(%ebp,%edi,1),%edi
515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	shll	$8,%edi
525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	xorl	%edi,%esi
535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	movl	%edx,%edi
545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	shrl	$16,%edi
555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	andl	$255,%edi
565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	movzbl	-128(%ebp,%edi,1),%edi
575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	shll	$16,%edi
585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	xorl	%edi,%esi
595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	movl	%eax,%edi
605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	shrl	$24,%edi
615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	movzbl	-128(%ebp,%edi,1),%edi
625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	shll	$24,%edi
635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	xorl	%edi,%esi
645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	movl	%esi,8(%esp)
655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
66c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	movl	%ecx,%esi
675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	andl	$255,%esi
685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	shrl	$24,%ecx
695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	movzbl	-128(%ebp,%esi,1),%esi
705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	movzbl	%dh,%edi
71116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	movzbl	-128(%ebp,%edi,1),%edi
72116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	shll	$8,%edi
73116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	xorl	%edi,%esi
74116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	movl	%eax,%edi
75116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	shrl	$16,%edi
76116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	andl	$255,%edx
775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	andl	$255,%edi
785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	movzbl	-128(%ebp,%edi,1),%edi
795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	shll	$16,%edi
805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	xorl	%edi,%esi
81116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	movzbl	%bh,%edi
82116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	movzbl	-128(%ebp,%edi,1),%edi
835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	shll	$24,%edi
845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	xorl	%edi,%esi
855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	andl	$255,%edx
875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	movzbl	-128(%ebp,%edx,1),%edx
88116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	movzbl	%ah,%eax
895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	movzbl	-128(%ebp,%eax,1),%eax
905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	shll	$8,%eax
91116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	xorl	%eax,%edx
92116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	movl	4(%esp),%eax
93116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	andl	$255,%ebx
94116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	movzbl	-128(%ebp,%ebx,1),%ebx
95116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	shll	$16,%ebx
96116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	xorl	%ebx,%edx
97116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	movl	8(%esp),%ebx
98116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	movzbl	-128(%ebp,%ecx,1),%ecx
99116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	shll	$24,%ecx
100116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	xorl	%ecx,%edx
101116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	movl	%esi,%ecx
102116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
103116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	movl	%ecx,%esi
104116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	andl	$2155905152,%esi
105116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	movl	%esi,%ebp
1065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	shrl	$7,%ebp
1075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	leal	(%ecx,%ecx,1),%edi
108116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	subl	%ebp,%esi
109116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	andl	$4278124286,%edi
110116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	andl	$454761243,%esi
111116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	movl	%ecx,%ebp
1125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	xorl	%edi,%esi
1135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	xorl	%esi,%ecx
114116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	roll	$24,%ecx
115116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	xorl	%esi,%ecx
116116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	rorl	$16,%ebp
117116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	xorl	%ebp,%ecx
118116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	rorl	$8,%ebp
119116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	xorl	%ebp,%ecx
120116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	movl	%edx,%esi
121116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	andl	$2155905152,%esi
122116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	movl	%esi,%ebp
123116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	shrl	$7,%ebp
124116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	leal	(%edx,%edx,1),%edi
125116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	subl	%ebp,%esi
126116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	andl	$4278124286,%edi
127116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	andl	$454761243,%esi
128116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	movl	%edx,%ebp
129116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	xorl	%edi,%esi
130116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	xorl	%esi,%edx
131116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	roll	$24,%edx
132116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	xorl	%esi,%edx
133116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	rorl	$16,%ebp
134116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	xorl	%ebp,%edx
135116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	rorl	$8,%ebp
136116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	xorl	%ebp,%edx
137116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	movl	%eax,%esi
1385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	andl	$2155905152,%esi
1395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	movl	%esi,%ebp
140116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	shrl	$7,%ebp
1415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	leal	(%eax,%eax,1),%edi
1425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	subl	%ebp,%esi
143116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	andl	$4278124286,%edi
144116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	andl	$454761243,%esi
145116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	movl	%eax,%ebp
146116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	xorl	%edi,%esi
147116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	xorl	%esi,%eax
148116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	roll	$24,%eax
149116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	xorl	%esi,%eax
150116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	rorl	$16,%ebp
151116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	xorl	%ebp,%eax
152116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	rorl	$8,%ebp
153116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	xorl	%ebp,%eax
154116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	movl	%ebx,%esi
1555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	andl	$2155905152,%esi
156c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	movl	%esi,%ebp
157c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	shrl	$7,%ebp
158c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	leal	(%ebx,%ebx,1),%edi
159c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	subl	%ebp,%esi
160c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	andl	$4278124286,%edi
1615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	andl	$454761243,%esi
162c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	movl	%ebx,%ebp
16358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)	xorl	%edi,%esi
164c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	xorl	%esi,%ebx
1655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	roll	$24,%ebx
1667d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	xorl	%esi,%ebx
167c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	rorl	$16,%ebp
168c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	xorl	%ebp,%ebx
169c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	rorl	$8,%ebp
170116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	xorl	%ebp,%ebx
171116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	movl	20(%esp),%edi
172116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	movl	28(%esp),%ebp
173c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	addl	$16,%edi
1745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	xorl	(%edi),%eax
175c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	xorl	4(%edi),%ebx
176116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	xorl	8(%edi),%ecx
177116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	xorl	12(%edi),%edx
178116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	cmpl	24(%esp),%edi
179116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	movl	%edi,20(%esp)
180c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	jb	.L000loop
181c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	movl	%eax,%esi
1825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	andl	$255,%esi
1837d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	movzbl	-128(%ebp,%esi,1),%esi
184c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	movzbl	%bh,%edi
185c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	movzbl	-128(%ebp,%edi,1),%edi
186c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	shll	$8,%edi
187c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	xorl	%edi,%esi
188c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	movl	%ecx,%edi
189c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	shrl	$16,%edi
190c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	andl	$255,%edi
191c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	movzbl	-128(%ebp,%edi,1),%edi
192c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	shll	$16,%edi
193c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	xorl	%edi,%esi
194c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	movl	%edx,%edi
195c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	shrl	$24,%edi
196c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	movzbl	-128(%ebp,%edi,1),%edi
197c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	shll	$24,%edi
198c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	xorl	%edi,%esi
199c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	movl	%esi,4(%esp)
200c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
201c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	movl	%ebx,%esi
202c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	andl	$255,%esi
203c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	shrl	$16,%ebx
204c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	movzbl	-128(%ebp,%esi,1),%esi
205c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	movzbl	%ch,%edi
206c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	movzbl	-128(%ebp,%edi,1),%edi
207c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	shll	$8,%edi
208c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	xorl	%edi,%esi
209c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	movl	%edx,%edi
210c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	shrl	$16,%edi
211c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	andl	$255,%edi
212c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	movzbl	-128(%ebp,%edi,1),%edi
213c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	shll	$16,%edi
214c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	xorl	%edi,%esi
215c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	movl	%eax,%edi
216c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	shrl	$24,%edi
217c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	movzbl	-128(%ebp,%edi,1),%edi
218c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	shll	$24,%edi
219c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	xorl	%edi,%esi
220c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	movl	%esi,8(%esp)
2217d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
2227d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	movl	%ecx,%esi
2237d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	andl	$255,%esi
2247d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	shrl	$24,%ecx
2257d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	movzbl	-128(%ebp,%esi,1),%esi
2267d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	movzbl	%dh,%edi
2277d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	movzbl	-128(%ebp,%edi,1),%edi
2287d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	shll	$8,%edi
2297d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	xorl	%edi,%esi
2307d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	movl	%eax,%edi
2317d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	shrl	$16,%edi
2327d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	andl	$255,%edx
2337d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	andl	$255,%edi
2347d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	movzbl	-128(%ebp,%edi,1),%edi
2357d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	shll	$16,%edi
2367d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	xorl	%edi,%esi
2377d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	movzbl	%bh,%edi
2387d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	movzbl	-128(%ebp,%edi,1),%edi
2397d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	shll	$24,%edi
2407d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	xorl	%edi,%esi
2417d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
2427d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	movl	20(%esp),%edi
2437d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	andl	$255,%edx
2447d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	movzbl	-128(%ebp,%edx,1),%edx
2457d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	movzbl	%ah,%eax
2467d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	movzbl	-128(%ebp,%eax,1),%eax
2477d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	shll	$8,%eax
2487d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	xorl	%eax,%edx
2497d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	movl	4(%esp),%eax
2507d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	andl	$255,%ebx
2517d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	movzbl	-128(%ebp,%ebx,1),%ebx
2527d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	shll	$16,%ebx
2537d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	xorl	%ebx,%edx
2547d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	movl	8(%esp),%ebx
255c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	movzbl	-128(%ebp,%ecx,1),%ecx
256c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	shll	$24,%ecx
257c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	xorl	%ecx,%edx
258c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	movl	%esi,%ecx
259c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
260c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	xorl	16(%edi),%eax
261c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	xorl	20(%edi),%ebx
262c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	xorl	24(%edi),%ecx
263c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	xorl	28(%edi),%edx
26458537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)	ret
265c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).size	_x86_AES_encrypt_compact,.-_x86_AES_encrypt_compact
266c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).type	_sse_AES_encrypt_compact,@function
2677d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).align	16
268c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)_sse_AES_encrypt_compact:
269c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	pxor	(%edi),%mm0
270c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	pxor	8(%edi),%mm4
271c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	movl	240(%edi),%esi
272c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	leal	-2(%esi,%esi,1),%esi
273c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	leal	(%edi,%esi,8),%esi
274c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	movl	%esi,24(%esp)
275c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	movl	$454761243,%eax
276c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	movl	%eax,8(%esp)
2777d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	movl	%eax,12(%esp)
2785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	movl	-128(%ebp),%eax
2795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	movl	-96(%ebp),%ebx
280116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	movl	-64(%ebp),%ecx
281116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	movl	-32(%ebp),%edx
282116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	movl	(%ebp),%eax
283116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	movl	32(%ebp),%ebx
284116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	movl	64(%ebp),%ecx
285116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	movl	96(%ebp),%edx
286116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch.align	16
287116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch.L001loop:
288116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	pshufw	$8,%mm0,%mm1
289116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	pshufw	$13,%mm4,%mm5
290116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	movd	%mm1,%eax
291116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	movd	%mm5,%ebx
292116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch	movzbl	%al,%esi
2935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	movzbl	-128(%ebp,%esi,1),%ecx
2945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	pshufw	$13,%mm0,%mm2
2955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	movzbl	%ah,%edx
2967d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	movzbl	-128(%ebp,%edx,1),%edx
2973551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	shll	$8,%edx
2983551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	shrl	$16,%eax
2993551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	movzbl	%bl,%esi
3003551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	movzbl	-128(%ebp,%esi,1),%esi
3013551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	shll	$16,%esi
3023551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	orl	%esi,%ecx
3033551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	pshufw	$8,%mm4,%mm6
3043551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	movzbl	%bh,%esi
3053551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	movzbl	-128(%ebp,%esi,1),%esi
3063551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	shll	$24,%esi
3073551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	orl	%esi,%edx
3083551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	shrl	$16,%ebx
3093551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	movzbl	%ah,%esi
3103551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	movzbl	-128(%ebp,%esi,1),%esi
311b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	shll	$8,%esi
312b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	orl	%esi,%ecx
313b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	movzbl	%bh,%esi
314b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	movzbl	-128(%ebp,%esi,1),%esi
3153551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	shll	$24,%esi
316b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	orl	%esi,%ecx
317b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	movd	%ecx,%mm0
3183551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	movzbl	%al,%esi
3193551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	movzbl	-128(%ebp,%esi,1),%ecx
3203551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	movd	%mm2,%eax
3213551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	movzbl	%bl,%esi
3223551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	movzbl	-128(%ebp,%esi,1),%esi
3233551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	shll	$16,%esi
3243551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	orl	%esi,%ecx
325b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	movd	%mm6,%ebx
3263551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	movzbl	%ah,%esi
3273551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	movzbl	-128(%ebp,%esi,1),%esi
3283551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	shll	$24,%esi
3293551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	orl	%esi,%ecx
3303551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	movzbl	%bh,%esi
3313551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	movzbl	-128(%ebp,%esi,1),%esi
3323551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	shll	$8,%esi
3333551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	orl	%esi,%ecx
3343551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	movd	%ecx,%mm1
335b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	movzbl	%bl,%esi
336b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	movzbl	-128(%ebp,%esi,1),%ecx
337b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	shrl	$16,%ebx
338b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	movzbl	%al,%esi
339b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	movzbl	-128(%ebp,%esi,1),%esi
340b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	shll	$16,%esi
341b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	orl	%esi,%ecx
342b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	shrl	$16,%eax
343b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	punpckldq	%mm1,%mm0
34458537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)	movzbl	%ah,%esi
345b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	movzbl	-128(%ebp,%esi,1),%esi
346b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	shll	$24,%esi
3477d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	orl	%esi,%ecx
348b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	andl	$255,%eax
349b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	movzbl	-128(%ebp,%eax,1),%eax
350b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	shll	$16,%eax
351b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	orl	%eax,%edx
352b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	movzbl	%bh,%esi
353b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	movzbl	-128(%ebp,%esi,1),%esi
354b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	shll	$8,%esi
355b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	orl	%esi,%ecx
356b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	movd	%ecx,%mm4
3577d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	andl	$255,%ebx
358b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	movzbl	-128(%ebp,%ebx,1),%ebx
359b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	orl	%ebx,%edx
3605d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)	movd	%edx,%mm5
3615d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)	punpckldq	%mm5,%mm4
3625d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)	addl	$16,%edi
363b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	cmpl	24(%esp),%edi
3645d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)	ja	.L002out
3653551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	movq	8(%esp),%mm2
366b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	pxor	%mm3,%mm3
3675d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)	pxor	%mm7,%mm7
3685d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)	movq	%mm0,%mm1
369b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	movq	%mm4,%mm5
370b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	pcmpgtb	%mm0,%mm3
371b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	pcmpgtb	%mm4,%mm7
372c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	pand	%mm2,%mm3
3735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	pand	%mm2,%mm7
3745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	pshufw	$177,%mm0,%mm2
375c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	pshufw	$177,%mm4,%mm6
376c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	paddb	%mm0,%mm0
3775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	paddb	%mm4,%mm4
3785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	pxor	%mm3,%mm0
3795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	pxor	%mm7,%mm4
3805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	pshufw	$177,%mm2,%mm3
3815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	pshufw	$177,%mm6,%mm7
38258537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)	pxor	%mm0,%mm1
38358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)	pxor	%mm4,%mm5
3845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	pxor	%mm2,%mm0
3855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	pxor	%mm6,%mm4
386a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)	movq	%mm3,%mm2
387a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)	movq	%mm7,%mm6
3885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	pslld	$8,%mm3
3895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	pslld	$8,%mm7
3905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	psrld	$24,%mm2
3915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	psrld	$24,%mm6
3925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	pxor	%mm3,%mm0
3935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	pxor	%mm7,%mm4
3945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	pxor	%mm2,%mm0
3955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	pxor	%mm6,%mm4
3962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)	movq	%mm1,%mm3
3975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	movq	%mm5,%mm7
3985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	movq	(%edi),%mm2
3995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	movq	8(%edi),%mm6
4005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	psrld	$8,%mm1
4012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)	psrld	$8,%mm5
4025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	movl	-128(%ebp),%eax
4035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	pslld	$24,%mm3
4042a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)	pslld	$24,%mm7
4055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	movl	-64(%ebp),%ebx
4065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	pxor	%mm1,%mm0
4075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	pxor	%mm5,%mm4
4085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	movl	(%ebp),%ecx
4095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	pxor	%mm3,%mm0
4105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	pxor	%mm7,%mm4
4112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)	movl	64(%ebp),%edx
4122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)	pxor	%mm2,%mm0
4135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	pxor	%mm6,%mm4
4145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jmp	.L001loop
4155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).align	16
4165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).L002out:
4175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	pxor	(%edi),%mm0
4185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	pxor	8(%edi),%mm4
4195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	ret
4205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).size	_sse_AES_encrypt_compact,.-_sse_AES_encrypt_compact
4215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).type	_x86_AES_encrypt,@function
4225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).align	16
4235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)_x86_AES_encrypt:
4245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	movl	%edi,20(%esp)
4255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	xorl	(%edi),%eax
426c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)	xorl	4(%edi),%ebx
4275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	xorl	8(%edi),%ecx
4285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	xorl	12(%edi),%edx
4295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	movl	240(%edi),%esi
4305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	leal	-2(%esi,%esi,1),%esi
4315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	leal	(%edi,%esi,8),%esi
4325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	movl	%esi,24(%esp)
4335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).align	16
4345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).L003loop:
4355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	movl	%eax,%esi
4365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	andl	$255,%esi
4375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	movl	(%ebp,%esi,8),%esi
4385d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)	movzbl	%bh,%edi
439b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	xorl	3(%ebp,%edi,8),%esi
4405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	movl	%ecx,%edi
4417d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	shrl	$16,%edi
4425d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)	andl	$255,%edi
4433551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	xorl	2(%ebp,%edi,8),%esi
4447d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	movl	%edx,%edi
4457d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	shrl	$24,%edi
4467d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	xorl	1(%ebp,%edi,8),%esi
4475d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)	movl	%esi,4(%esp)
4483551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)
4497d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	movl	%ebx,%esi
4507d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	andl	$255,%esi
4517d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	shrl	$16,%ebx
4525d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)	movl	(%ebp,%esi,8),%esi
4533551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	movzbl	%ch,%edi
4547d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	xorl	3(%ebp,%edi,8),%esi
4557d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	movl	%edx,%edi
4565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	shrl	$16,%edi
4575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	andl	$255,%edi
4587d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	xorl	2(%ebp,%edi,8),%esi
4595d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)	movl	%eax,%edi
4603551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	shrl	$24,%edi
4617d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	xorl	1(%ebp,%edi,8),%esi
4627d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	movl	%esi,8(%esp)
4637d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
4645d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)	movl	%ecx,%esi
4653551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	andl	$255,%esi
4667d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	shrl	$24,%ecx
4677d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	movl	(%ebp,%esi,8),%esi
4687d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	movzbl	%dh,%edi
4695d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)	xorl	3(%ebp,%edi,8),%esi
4705d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)	movl	%eax,%edi
4715d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)	shrl	$16,%edi
4725d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)	andl	$255,%edx
4735d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)	andl	$255,%edi
4745d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)	xorl	2(%ebp,%edi,8),%esi
4753551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	movzbl	%bh,%edi
4767d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	xorl	1(%ebp,%edi,8),%esi
4777d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
4785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	movl	20(%esp),%edi
4795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	movl	(%ebp,%edx,8),%edx
4807d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	movzbl	%ah,%eax
4815d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)	xorl	3(%ebp,%eax,8),%edx
4823551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	movl	4(%esp),%eax
4837d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	andl	$255,%ebx
4847d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	xorl	2(%ebp,%ebx,8),%edx
4857d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	movl	8(%esp),%ebx
4865d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)	xorl	1(%ebp,%ecx,8),%edx
4873551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	movl	%esi,%ecx
4887d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
4897d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	addl	$16,%edi
4907d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	xorl	(%edi),%eax
4915d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)	xorl	4(%edi),%ebx
4923551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	xorl	8(%edi),%ecx
4937d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	xorl	12(%edi),%edx
4947d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	cmpl	24(%esp),%edi
4955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	movl	%edi,20(%esp)
4965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	jb	.L003loop
497b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	movl	%eax,%esi
498b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	andl	$255,%esi
4993551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	movl	2(%ebp,%esi,8),%esi
5003551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	andl	$255,%esi
5013551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	movzbl	%bh,%edi
5023551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	movl	(%ebp,%edi,8),%edi
503b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	andl	$65280,%edi
504b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	xorl	%edi,%esi
505b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	movl	%ecx,%edi
506b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	shrl	$16,%edi
507b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	andl	$255,%edi
508b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	movl	(%ebp,%edi,8),%edi
509b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	andl	$16711680,%edi
510b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	xorl	%edi,%esi
511b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	movl	%edx,%edi
5127d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	shrl	$24,%edi
5137d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	movl	2(%ebp,%edi,8),%edi
5147d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	andl	$4278190080,%edi
5153551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	xorl	%edi,%esi
5163551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	movl	%esi,4(%esp)
5173551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	movl	%ebx,%esi
5187d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	andl	$255,%esi
5197d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	shrl	$16,%ebx
5207d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	movl	2(%ebp,%esi,8),%esi
5217d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	andl	$255,%esi
5227d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	movzbl	%ch,%edi
5237d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	movl	(%ebp,%edi,8),%edi
5247d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	andl	$65280,%edi
5257d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	xorl	%edi,%esi
5263551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)	movl	%edx,%edi
5277d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	shrl	$16,%edi
5287d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	andl	$255,%edi
5297d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	movl	(%ebp,%edi,8),%edi
5307d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	andl	$16711680,%edi
5317d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	xorl	%edi,%esi
5327d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	movl	%eax,%edi
5337d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	shrl	$24,%edi
5347d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	movl	2(%ebp,%edi,8),%edi
5357d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	andl	$4278190080,%edi
5367d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	xorl	%edi,%esi
5377d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	movl	%esi,8(%esp)
5387d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	movl	%ecx,%esi
5397d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	andl	$255,%esi
5407d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	shrl	$24,%ecx
5417d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	movl	2(%ebp,%esi,8),%esi
5427d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	andl	$255,%esi
5437d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	movzbl	%dh,%edi
544b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	movl	(%ebp,%edi,8),%edi
545b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	andl	$65280,%edi
546b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	xorl	%edi,%esi
547b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	movl	%eax,%edi
548b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	shrl	$16,%edi
549b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	andl	$255,%edx
550a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)	andl	$255,%edi
551b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	movl	(%ebp,%edi,8),%edi
552b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	andl	$16711680,%edi
553b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	xorl	%edi,%esi
554b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	movzbl	%bh,%edi
555b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	movl	2(%ebp,%edi,8),%edi
556b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	andl	$4278190080,%edi
557b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	xorl	%edi,%esi
558b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	movl	20(%esp),%edi
559b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	andl	$255,%edx
560b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	movl	2(%ebp,%edx,8),%edx
561b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	andl	$255,%edx
562b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	movzbl	%ah,%eax
563b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	movl	(%ebp,%eax,8),%eax
564b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	andl	$65280,%eax
565b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	xorl	%eax,%edx
566b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	movl	4(%esp),%eax
567a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)	andl	$255,%ebx
568a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)	movl	(%ebp,%ebx,8),%ebx
569a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)	andl	$16711680,%ebx
570a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)	xorl	%ebx,%edx
571b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	movl	8(%esp),%ebx
572b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)	movl	2(%ebp,%ecx,8),%ecx
5737d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	andl	$4278190080,%ecx
5747d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	xorl	%ecx,%edx
5757d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	movl	%esi,%ecx
5767d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	addl	$16,%edi
5777d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	xorl	(%edi),%eax
5787d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	xorl	4(%edi),%ebx
5797d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	xorl	8(%edi),%ecx
5807d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	xorl	12(%edi),%edx
5817d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)	ret
5827d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).align	64
5837d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).LAES_Te:
5847d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long	2774754246,2774754246
5857d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long	2222750968,2222750968
5867d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long	2574743534,2574743534
5877d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long	2373680118,2373680118
5887d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long	234025727,234025727
5897d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long	3177933782,3177933782
5907d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long	2976870366,2976870366
5917d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long	1422247313,1422247313
5927d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long	1345335392,1345335392
5937d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long	50397442,50397442
5947d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long	2842126286,2842126286
5957d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long	2099981142,2099981142
5967d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long	436141799,436141799
5977d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long	1658312629,1658312629
5987d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long	3870010189,3870010189
5997d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long	2591454956,2591454956
6007d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long	1170918031,1170918031
6017d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long	2642575903,2642575903
6027d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long	1086966153,1086966153
6037d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long	2273148410,2273148410
6047d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long	368769775,368769775
6057d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long	3948501426,3948501426
6067d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long	3376891790,3376891790
6077d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long	200339707,200339707
6087d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long	3970805057,3970805057
6097d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long	1742001331,1742001331
6107d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long	4255294047,4255294047
6117d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long	3937382213,3937382213
6127d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long	3214711843,3214711843
6137d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long	4154762323,4154762323
6147d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long	2524082916,2524082916
6157d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long	1539358875,1539358875
6167d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long	3266819957,3266819957
6177d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long	486407649,486407649
6187d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long	2928907069,2928907069
6197d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long	1780885068,1780885068
6207d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long	1513502316,1513502316
6217d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long	1094664062,1094664062
6227d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long	49805301,49805301
6237d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long	1338821763,1338821763
6247d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long	1546925160,1546925160
6257d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long	4104496465,4104496465
626c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long	887481809,887481809
6275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	150073849,150073849
6282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long	2473685474,2473685474
6295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	1943591083,1943591083
6305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	1395732834,1395732834
6315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	1058346282,1058346282
6325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	201589768,201589768
6335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	1388824469,1388824469
6342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long	1696801606,1696801606
6352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long	1589887901,1589887901
6362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long	672667696,672667696
6372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long	2711000631,2711000631
6382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long	251987210,251987210
6392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long	3046808111,3046808111
6402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long	151455502,151455502
6412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long	907153956,907153956
6425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	2608889883,2608889883
6435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	1038279391,1038279391
6445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	652995533,652995533
6455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	1764173646,1764173646
6465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	3451040383,3451040383
6475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	2675275242,2675275242
6485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	453576978,453576978
6495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	2659418909,2659418909
6505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	1949051992,1949051992
6512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long	773462580,773462580
6522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long	756751158,756751158
6532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long	2993581788,2993581788
6542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long	3998898868,3998898868
6552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long	4221608027,4221608027
6562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long	4132590244,4132590244
6572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long	1295727478,1295727478
6582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long	1641469623,1641469623
6595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	3467883389,3467883389
6605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	2066295122,2066295122
6615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	1055122397,1055122397
6625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	1898917726,1898917726
6635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	2542044179,2542044179
6642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long	4115878822,4115878822
6652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long	1758581177,1758581177
6665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	0,0
6675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	753790401,753790401
668c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long	1612718144,1612718144
6695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	536673507,536673507
6705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	3367088505,3367088505
6715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	3982187446,3982187446
6725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	3194645204,3194645204
6735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	1187761037,1187761037
6745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	3653156455,3653156455
6755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	1262041458,1262041458
6765f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles).long	3729410708,3729410708
6775f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles).long	3561770136,3561770136
6785f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles).long	3898103984,3898103984
679c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long	1255133061,1255133061
680c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long	1808847035,1808847035
681c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long	720367557,720367557
6825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	3853167183,3853167183
6835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	385612781,385612781
6845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	3309519750,3309519750
6855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	3612167578,3612167578
6865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	1429418854,1429418854
6875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	2491778321,2491778321
6885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	3477423498,3477423498
6895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	284817897,284817897
6905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	100794884,100794884
6915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	2172616702,2172616702
6925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	4031795360,4031795360
6935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	1144798328,1144798328
6945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	3131023141,3131023141
695c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long	3819481163,3819481163
6965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	4082192802,4082192802
6975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	4272137053,4272137053
6985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	3225436288,3225436288
6995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	2324664069,2324664069
7005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	2912064063,2912064063
7015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	3164445985,3164445985
7025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	1211644016,1211644016
7035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	83228145,83228145
7045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	3753688163,3753688163
7055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	3249976951,3249976951
7065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	1977277103,1977277103
7075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	1663115586,1663115586
7085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	806359072,806359072
7095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	452984805,452984805
7105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	250868733,250868733
7115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	1842533055,1842533055
7125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	1288555905,1288555905
7135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	336333848,336333848
7145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	890442534,890442534
7155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	804056259,804056259
7165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	3781124030,3781124030
7175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	2727843637,2727843637
7185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	3427026056,3427026056
7195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	957814574,957814574
7205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	1472513171,1472513171
7215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	4071073621,4071073621
7225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	2189328124,2189328124
723c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long	1195195770,1195195770
7245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	2892260552,2892260552
7255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	3881655738,3881655738
726c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long	723065138,723065138
727c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long	2507371494,2507371494
728c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long	2690670784,2690670784
729c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long	2558624025,2558624025
7305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	3511635870,3511635870
7315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	2145180835,2145180835
7322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long	1713513028,1713513028
7335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	2116692564,2116692564
7345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	2878378043,2878378043
7355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	2206763019,2206763019
7365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	3393603212,3393603212
7375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	703524551,703524551
7385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	3552098411,3552098411
7395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	1007948840,1007948840
7402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long	2044649127,2044649127
7415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	3797835452,3797835452
7425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	487262998,487262998
7435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	1994120109,1994120109
7445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	1004593371,1004593371
7455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	1446130276,1446130276
7460529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch.long	1312438900,1312438900
7474e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles).long	503974420,503974420
7485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	3679013266,3679013266
7495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	168166924,168166924
7505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	1814307912,1814307912
7515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	3831258296,3831258296
7525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	1573044895,1573044895
753c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long	1859376061,1859376061
754c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long	4021070915,4021070915
755c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long	2791465668,2791465668
756c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long	2828112185,2828112185
757c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long	2761266481,2761266481
758c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long	937747667,937747667
7592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long	2339994098,2339994098
7602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long	854058965,854058965
761c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long	1137232011,1137232011
7627d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long	1496790894,1496790894
7637d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long	3077402074,3077402074
764c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long	2358086913,2358086913
765c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long	1691735473,1691735473
7665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	3528347292,3528347292
7675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	3769215305,3769215305
768c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long	3027004632,3027004632
7695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	4199962284,4199962284
7705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	133494003,133494003
771c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long	636152527,636152527
772c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long	2942657994,2942657994
7735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	2390391540,2390391540
7745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	3920539207,3920539207
7755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	403179536,403179536
776c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long	3585784431,3585784431
777c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long	2289596656,2289596656
778c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long	1864705354,1864705354
779c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long	1915629148,1915629148
7805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	605822008,605822008
7815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	4054230615,4054230615
7825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	3350508659,3350508659
7835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	1371981463,1371981463
7842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long	602466507,602466507
7855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	2094914977,2094914977
7865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	2624877800,2624877800
7872a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long	555687742,555687742
7882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long	3712699286,3712699286
7895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	3703422305,3703422305
7905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	2257292045,2257292045
7915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	2240449039,2240449039
7925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	2423288032,2423288032
793c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles).long	1111375484,1111375484
7942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long	3300242801,3300242801
7955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	2858837708,2858837708
7965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	3628615824,3628615824
7975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	84083462,84083462
7985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	32962295,32962295
7995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	302911004,302911004
8005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	2741068226,2741068226
80158537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles).long	1597322602,1597322602
8025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	4183250862,4183250862
8035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	3501832553,3501832553
8045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	2441512471,2441512471
8057d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long	1489093017,1489093017
8067d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles).long	656219450,656219450
8075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	3114180135,3114180135
8082a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long	954327513,954327513
8095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	335083755,335083755
8102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long	3013122091,3013122091
8112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long	856756514,856756514
8125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	3144247762,3144247762
8135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	1893325225,1893325225
8145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	2307821063,2307821063
8155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	2811532339,2811532339
8165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	3063651117,3063651117
8175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	572399164,572399164
8185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	2458355477,2458355477
8195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	552200649,552200649
8202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles).long	1238290055,1238290055
8215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	4283782570,4283782570
8225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	2015897680,2015897680
8235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	2061492133,2061492133
8245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	2408352771,2408352771
8255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	4171342169,4171342169
8265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	2156497161,2156497161
8275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	386731290,386731290
8285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	3669999461,3669999461
8295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	837215959,837215959
8305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	3326231172,3326231172
8315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	3093850320,3093850320
8325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	3275833730,3275833730
8335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	2962856233,2962856233
8345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	1999449434,1999449434
8355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	286199582,286199582
8365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	3417354363,3417354363
8375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	4233385128,4233385128
8385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	3602627437,3602627437
8395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).long	974525996,974525996
8405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).byte	99,124,119,123,242,107,111,197
8415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).byte	48,1,103,43,254,215,171,118
8425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).byte	202,130,201,125,250,89,71,240
8435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).byte	173,212,162,175,156,164,114,192
8445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).byte	183,253,147,38,54,63,247,204
8455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).byte	52,165,229,241,113,216,49,21
8465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).byte	4,199,35,195,24,150,5,154
8475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).byte	7,18,128,226,235,39,178,117
8485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).byte	9,131,44,26,27,110,90,160
8495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).byte	82,59,214,179,41,227,47,132
8505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).byte	83,209,0,237,32,252,177,91
8515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).byte	106,203,190,57,74,76,88,207
8525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).byte	208,239,170,251,67,77,51,133
853a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	69,249,2,127,80,60,159,168
854a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	81,163,64,143,146,157,56,245
855a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	188,182,218,33,16,255,243,210
856a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	205,12,19,236,95,151,68,23
857a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	196,167,126,61,100,93,25,115
858a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	96,129,79,220,34,42,144,136
859a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	70,238,184,20,222,94,11,219
860a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	224,50,58,10,73,6,36,92
861a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	194,211,172,98,145,149,228,121
862a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	231,200,55,109,141,213,78,169
863a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	108,86,244,234,101,122,174,8
864a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	186,120,37,46,28,166,180,198
865a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	232,221,116,31,75,189,139,138
866a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	112,62,181,102,72,3,246,14
867a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	97,53,87,185,134,193,29,158
868a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	225,248,152,17,105,217,142,148
869a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	155,30,135,233,206,85,40,223
870a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	140,161,137,13,191,230,66,104
871a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	65,153,45,15,176,84,187,22
872a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	99,124,119,123,242,107,111,197
873a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	48,1,103,43,254,215,171,118
874a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	202,130,201,125,250,89,71,240
8753551c9c881056c480085172ff9840cab31610854Torne (Richard Coles).byte	173,212,162,175,156,164,114,192
876a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	183,253,147,38,54,63,247,204
877a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	52,165,229,241,113,216,49,21
878a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	4,199,35,195,24,150,5,154
879a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	7,18,128,226,235,39,178,117
880a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	9,131,44,26,27,110,90,160
881a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	82,59,214,179,41,227,47,132
882a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	83,209,0,237,32,252,177,91
8833551c9c881056c480085172ff9840cab31610854Torne (Richard Coles).byte	106,203,190,57,74,76,88,207
8843551c9c881056c480085172ff9840cab31610854Torne (Richard Coles).byte	208,239,170,251,67,77,51,133
8853551c9c881056c480085172ff9840cab31610854Torne (Richard Coles).byte	69,249,2,127,80,60,159,168
8863551c9c881056c480085172ff9840cab31610854Torne (Richard Coles).byte	81,163,64,143,146,157,56,245
887a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	188,182,218,33,16,255,243,210
888a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	205,12,19,236,95,151,68,23
889a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	196,167,126,61,100,93,25,115
890a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	96,129,79,220,34,42,144,136
891a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	70,238,184,20,222,94,11,219
892a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	224,50,58,10,73,6,36,92
893a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	194,211,172,98,145,149,228,121
894a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	231,200,55,109,141,213,78,169
895a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	108,86,244,234,101,122,174,8
896a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	186,120,37,46,28,166,180,198
897a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	232,221,116,31,75,189,139,138
898a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	112,62,181,102,72,3,246,14
899a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	97,53,87,185,134,193,29,158
900a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	225,248,152,17,105,217,142,148
901a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	155,30,135,233,206,85,40,223
902a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	140,161,137,13,191,230,66,104
903a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	65,153,45,15,176,84,187,22
904a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	99,124,119,123,242,107,111,197
905a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	48,1,103,43,254,215,171,118
906a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	202,130,201,125,250,89,71,240
907a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	173,212,162,175,156,164,114,192
908a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	183,253,147,38,54,63,247,204
909a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	52,165,229,241,113,216,49,21
910a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	4,199,35,195,24,150,5,154
911a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	7,18,128,226,235,39,178,117
912a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	9,131,44,26,27,110,90,160
913a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	82,59,214,179,41,227,47,132
914a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	83,209,0,237,32,252,177,91
915a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	106,203,190,57,74,76,88,207
916a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	208,239,170,251,67,77,51,133
917a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	69,249,2,127,80,60,159,168
918a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	81,163,64,143,146,157,56,245
919a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	188,182,218,33,16,255,243,210
920a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	205,12,19,236,95,151,68,23
921a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	196,167,126,61,100,93,25,115
922a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	96,129,79,220,34,42,144,136
923a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	70,238,184,20,222,94,11,219
924a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	224,50,58,10,73,6,36,92
925a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	194,211,172,98,145,149,228,121
926a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	231,200,55,109,141,213,78,169
927a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	108,86,244,234,101,122,174,8
928a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	186,120,37,46,28,166,180,198
929a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	232,221,116,31,75,189,139,138
930a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	112,62,181,102,72,3,246,14
931a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	97,53,87,185,134,193,29,158
932a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	225,248,152,17,105,217,142,148
933a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	155,30,135,233,206,85,40,223
934a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	140,161,137,13,191,230,66,104
935a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles).byte	65,153,45,15,176,84,187,22
9365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).byte	99,124,119,123,242,107,111,197
937.byte	48,1,103,43,254,215,171,118
938.byte	202,130,201,125,250,89,71,240
939.byte	173,212,162,175,156,164,114,192
940.byte	183,253,147,38,54,63,247,204
941.byte	52,165,229,241,113,216,49,21
942.byte	4,199,35,195,24,150,5,154
943.byte	7,18,128,226,235,39,178,117
944.byte	9,131,44,26,27,110,90,160
945.byte	82,59,214,179,41,227,47,132
946.byte	83,209,0,237,32,252,177,91
947.byte	106,203,190,57,74,76,88,207
948.byte	208,239,170,251,67,77,51,133
949.byte	69,249,2,127,80,60,159,168
950.byte	81,163,64,143,146,157,56,245
951.byte	188,182,218,33,16,255,243,210
952.byte	205,12,19,236,95,151,68,23
953.byte	196,167,126,61,100,93,25,115
954.byte	96,129,79,220,34,42,144,136
955.byte	70,238,184,20,222,94,11,219
956.byte	224,50,58,10,73,6,36,92
957.byte	194,211,172,98,145,149,228,121
958.byte	231,200,55,109,141,213,78,169
959.byte	108,86,244,234,101,122,174,8
960.byte	186,120,37,46,28,166,180,198
961.byte	232,221,116,31,75,189,139,138
962.byte	112,62,181,102,72,3,246,14
963.byte	97,53,87,185,134,193,29,158
964.byte	225,248,152,17,105,217,142,148
965.byte	155,30,135,233,206,85,40,223
966.byte	140,161,137,13,191,230,66,104
967.byte	65,153,45,15,176,84,187,22
968.long	1,2,4,8
969.long	16,32,64,128
970.long	27,54,0,0
971.long	0,0,0,0
972.size	_x86_AES_encrypt,.-_x86_AES_encrypt
973.globl	AES_encrypt
974.type	AES_encrypt,@function
975.align	16
976AES_encrypt:
977.L_AES_encrypt_begin:
978	pushl	%ebp
979	pushl	%ebx
980	pushl	%esi
981	pushl	%edi
982	movl	20(%esp),%esi
983	movl	28(%esp),%edi
984	movl	%esp,%eax
985	subl	$36,%esp
986	andl	$-64,%esp
987	leal	-127(%edi),%ebx
988	subl	%esp,%ebx
989	negl	%ebx
990	andl	$960,%ebx
991	subl	%ebx,%esp
992	addl	$4,%esp
993	movl	%eax,28(%esp)
994	call	.L004pic_point
995.L004pic_point:
996	popl	%ebp
997	leal	OPENSSL_ia32cap_P,%eax
998	leal	.LAES_Te-.L004pic_point(%ebp),%ebp
999	leal	764(%esp),%ebx
1000	subl	%ebp,%ebx
1001	andl	$768,%ebx
1002	leal	2176(%ebp,%ebx,1),%ebp
1003	btl	$25,(%eax)
1004	jnc	.L005x86
1005	movq	(%esi),%mm0
1006	movq	8(%esi),%mm4
1007	call	_sse_AES_encrypt_compact
1008	movl	28(%esp),%esp
1009	movl	24(%esp),%esi
1010	movq	%mm0,(%esi)
1011	movq	%mm4,8(%esi)
1012	emms
1013	popl	%edi
1014	popl	%esi
1015	popl	%ebx
1016	popl	%ebp
1017	ret
1018.align	16
1019.L005x86:
1020	movl	%ebp,24(%esp)
1021	movl	(%esi),%eax
1022	movl	4(%esi),%ebx
1023	movl	8(%esi),%ecx
1024	movl	12(%esi),%edx
1025	call	_x86_AES_encrypt_compact
1026	movl	28(%esp),%esp
1027	movl	24(%esp),%esi
1028	movl	%eax,(%esi)
1029	movl	%ebx,4(%esi)
1030	movl	%ecx,8(%esi)
1031	movl	%edx,12(%esi)
1032	popl	%edi
1033	popl	%esi
1034	popl	%ebx
1035	popl	%ebp
1036	ret
1037.size	AES_encrypt,.-.L_AES_encrypt_begin
1038.type	_x86_AES_decrypt_compact,@function
1039.align	16
1040_x86_AES_decrypt_compact:
1041	movl	%edi,20(%esp)
1042	xorl	(%edi),%eax
1043	xorl	4(%edi),%ebx
1044	xorl	8(%edi),%ecx
1045	xorl	12(%edi),%edx
1046	movl	240(%edi),%esi
1047	leal	-2(%esi,%esi,1),%esi
1048	leal	(%edi,%esi,8),%esi
1049	movl	%esi,24(%esp)
1050	movl	-128(%ebp),%edi
1051	movl	-96(%ebp),%esi
1052	movl	-64(%ebp),%edi
1053	movl	-32(%ebp),%esi
1054	movl	(%ebp),%edi
1055	movl	32(%ebp),%esi
1056	movl	64(%ebp),%edi
1057	movl	96(%ebp),%esi
1058.align	16
1059.L006loop:
1060	movl	%eax,%esi
1061	andl	$255,%esi
1062	movzbl	-128(%ebp,%esi,1),%esi
1063	movzbl	%dh,%edi
1064	movzbl	-128(%ebp,%edi,1),%edi
1065	shll	$8,%edi
1066	xorl	%edi,%esi
1067	movl	%ecx,%edi
1068	shrl	$16,%edi
1069	andl	$255,%edi
1070	movzbl	-128(%ebp,%edi,1),%edi
1071	shll	$16,%edi
1072	xorl	%edi,%esi
1073	movl	%ebx,%edi
1074	shrl	$24,%edi
1075	movzbl	-128(%ebp,%edi,1),%edi
1076	shll	$24,%edi
1077	xorl	%edi,%esi
1078	movl	%esi,4(%esp)
1079	movl	%ebx,%esi
1080	andl	$255,%esi
1081	movzbl	-128(%ebp,%esi,1),%esi
1082	movzbl	%ah,%edi
1083	movzbl	-128(%ebp,%edi,1),%edi
1084	shll	$8,%edi
1085	xorl	%edi,%esi
1086	movl	%edx,%edi
1087	shrl	$16,%edi
1088	andl	$255,%edi
1089	movzbl	-128(%ebp,%edi,1),%edi
1090	shll	$16,%edi
1091	xorl	%edi,%esi
1092	movl	%ecx,%edi
1093	shrl	$24,%edi
1094	movzbl	-128(%ebp,%edi,1),%edi
1095	shll	$24,%edi
1096	xorl	%edi,%esi
1097	movl	%esi,8(%esp)
1098	movl	%ecx,%esi
1099	andl	$255,%esi
1100	movzbl	-128(%ebp,%esi,1),%esi
1101	movzbl	%bh,%edi
1102	movzbl	-128(%ebp,%edi,1),%edi
1103	shll	$8,%edi
1104	xorl	%edi,%esi
1105	movl	%eax,%edi
1106	shrl	$16,%edi
1107	andl	$255,%edi
1108	movzbl	-128(%ebp,%edi,1),%edi
1109	shll	$16,%edi
1110	xorl	%edi,%esi
1111	movl	%edx,%edi
1112	shrl	$24,%edi
1113	movzbl	-128(%ebp,%edi,1),%edi
1114	shll	$24,%edi
1115	xorl	%edi,%esi
1116	andl	$255,%edx
1117	movzbl	-128(%ebp,%edx,1),%edx
1118	movzbl	%ch,%ecx
1119	movzbl	-128(%ebp,%ecx,1),%ecx
1120	shll	$8,%ecx
1121	xorl	%ecx,%edx
1122	movl	%esi,%ecx
1123	shrl	$16,%ebx
1124	andl	$255,%ebx
1125	movzbl	-128(%ebp,%ebx,1),%ebx
1126	shll	$16,%ebx
1127	xorl	%ebx,%edx
1128	shrl	$24,%eax
1129	movzbl	-128(%ebp,%eax,1),%eax
1130	shll	$24,%eax
1131	xorl	%eax,%edx
1132	movl	%ecx,%esi
1133	andl	$2155905152,%esi
1134	movl	%esi,%edi
1135	shrl	$7,%edi
1136	leal	(%ecx,%ecx,1),%eax
1137	subl	%edi,%esi
1138	andl	$4278124286,%eax
1139	andl	$454761243,%esi
1140	xorl	%eax,%esi
1141	movl	%esi,%eax
1142	andl	$2155905152,%esi
1143	movl	%esi,%edi
1144	shrl	$7,%edi
1145	leal	(%eax,%eax,1),%ebx
1146	subl	%edi,%esi
1147	andl	$4278124286,%ebx
1148	andl	$454761243,%esi
1149	xorl	%ecx,%eax
1150	xorl	%ebx,%esi
1151	movl	%esi,%ebx
1152	andl	$2155905152,%esi
1153	movl	%esi,%edi
1154	shrl	$7,%edi
1155	leal	(%ebx,%ebx,1),%ebp
1156	subl	%edi,%esi
1157	andl	$4278124286,%ebp
1158	andl	$454761243,%esi
1159	xorl	%ecx,%ebx
1160	roll	$8,%ecx
1161	xorl	%esi,%ebp
1162	xorl	%eax,%ecx
1163	xorl	%ebp,%eax
1164	roll	$24,%eax
1165	xorl	%ebx,%ecx
1166	xorl	%ebp,%ebx
1167	roll	$16,%ebx
1168	xorl	%ebp,%ecx
1169	roll	$8,%ebp
1170	xorl	%eax,%ecx
1171	xorl	%ebx,%ecx
1172	movl	4(%esp),%eax
1173	xorl	%ebp,%ecx
1174	movl	%ecx,12(%esp)
1175	movl	%edx,%esi
1176	andl	$2155905152,%esi
1177	movl	%esi,%edi
1178	shrl	$7,%edi
1179	leal	(%edx,%edx,1),%ebx
1180	subl	%edi,%esi
1181	andl	$4278124286,%ebx
1182	andl	$454761243,%esi
1183	xorl	%ebx,%esi
1184	movl	%esi,%ebx
1185	andl	$2155905152,%esi
1186	movl	%esi,%edi
1187	shrl	$7,%edi
1188	leal	(%ebx,%ebx,1),%ecx
1189	subl	%edi,%esi
1190	andl	$4278124286,%ecx
1191	andl	$454761243,%esi
1192	xorl	%edx,%ebx
1193	xorl	%ecx,%esi
1194	movl	%esi,%ecx
1195	andl	$2155905152,%esi
1196	movl	%esi,%edi
1197	shrl	$7,%edi
1198	leal	(%ecx,%ecx,1),%ebp
1199	subl	%edi,%esi
1200	andl	$4278124286,%ebp
1201	andl	$454761243,%esi
1202	xorl	%edx,%ecx
1203	roll	$8,%edx
1204	xorl	%esi,%ebp
1205	xorl	%ebx,%edx
1206	xorl	%ebp,%ebx
1207	roll	$24,%ebx
1208	xorl	%ecx,%edx
1209	xorl	%ebp,%ecx
1210	roll	$16,%ecx
1211	xorl	%ebp,%edx
1212	roll	$8,%ebp
1213	xorl	%ebx,%edx
1214	xorl	%ecx,%edx
1215	movl	8(%esp),%ebx
1216	xorl	%ebp,%edx
1217	movl	%edx,16(%esp)
1218	movl	%eax,%esi
1219	andl	$2155905152,%esi
1220	movl	%esi,%edi
1221	shrl	$7,%edi
1222	leal	(%eax,%eax,1),%ecx
1223	subl	%edi,%esi
1224	andl	$4278124286,%ecx
1225	andl	$454761243,%esi
1226	xorl	%ecx,%esi
1227	movl	%esi,%ecx
1228	andl	$2155905152,%esi
1229	movl	%esi,%edi
1230	shrl	$7,%edi
1231	leal	(%ecx,%ecx,1),%edx
1232	subl	%edi,%esi
1233	andl	$4278124286,%edx
1234	andl	$454761243,%esi
1235	xorl	%eax,%ecx
1236	xorl	%edx,%esi
1237	movl	%esi,%edx
1238	andl	$2155905152,%esi
1239	movl	%esi,%edi
1240	shrl	$7,%edi
1241	leal	(%edx,%edx,1),%ebp
1242	subl	%edi,%esi
1243	andl	$4278124286,%ebp
1244	andl	$454761243,%esi
1245	xorl	%eax,%edx
1246	roll	$8,%eax
1247	xorl	%esi,%ebp
1248	xorl	%ecx,%eax
1249	xorl	%ebp,%ecx
1250	roll	$24,%ecx
1251	xorl	%edx,%eax
1252	xorl	%ebp,%edx
1253	roll	$16,%edx
1254	xorl	%ebp,%eax
1255	roll	$8,%ebp
1256	xorl	%ecx,%eax
1257	xorl	%edx,%eax
1258	xorl	%ebp,%eax
1259	movl	%ebx,%esi
1260	andl	$2155905152,%esi
1261	movl	%esi,%edi
1262	shrl	$7,%edi
1263	leal	(%ebx,%ebx,1),%ecx
1264	subl	%edi,%esi
1265	andl	$4278124286,%ecx
1266	andl	$454761243,%esi
1267	xorl	%ecx,%esi
1268	movl	%esi,%ecx
1269	andl	$2155905152,%esi
1270	movl	%esi,%edi
1271	shrl	$7,%edi
1272	leal	(%ecx,%ecx,1),%edx
1273	subl	%edi,%esi
1274	andl	$4278124286,%edx
1275	andl	$454761243,%esi
1276	xorl	%ebx,%ecx
1277	xorl	%edx,%esi
1278	movl	%esi,%edx
1279	andl	$2155905152,%esi
1280	movl	%esi,%edi
1281	shrl	$7,%edi
1282	leal	(%edx,%edx,1),%ebp
1283	subl	%edi,%esi
1284	andl	$4278124286,%ebp
1285	andl	$454761243,%esi
1286	xorl	%ebx,%edx
1287	roll	$8,%ebx
1288	xorl	%esi,%ebp
1289	xorl	%ecx,%ebx
1290	xorl	%ebp,%ecx
1291	roll	$24,%ecx
1292	xorl	%edx,%ebx
1293	xorl	%ebp,%edx
1294	roll	$16,%edx
1295	xorl	%ebp,%ebx
1296	roll	$8,%ebp
1297	xorl	%ecx,%ebx
1298	xorl	%edx,%ebx
1299	movl	12(%esp),%ecx
1300	xorl	%ebp,%ebx
1301	movl	16(%esp),%edx
1302	movl	20(%esp),%edi
1303	movl	28(%esp),%ebp
1304	addl	$16,%edi
1305	xorl	(%edi),%eax
1306	xorl	4(%edi),%ebx
1307	xorl	8(%edi),%ecx
1308	xorl	12(%edi),%edx
1309	cmpl	24(%esp),%edi
1310	movl	%edi,20(%esp)
1311	jb	.L006loop
1312	movl	%eax,%esi
1313	andl	$255,%esi
1314	movzbl	-128(%ebp,%esi,1),%esi
1315	movzbl	%dh,%edi
1316	movzbl	-128(%ebp,%edi,1),%edi
1317	shll	$8,%edi
1318	xorl	%edi,%esi
1319	movl	%ecx,%edi
1320	shrl	$16,%edi
1321	andl	$255,%edi
1322	movzbl	-128(%ebp,%edi,1),%edi
1323	shll	$16,%edi
1324	xorl	%edi,%esi
1325	movl	%ebx,%edi
1326	shrl	$24,%edi
1327	movzbl	-128(%ebp,%edi,1),%edi
1328	shll	$24,%edi
1329	xorl	%edi,%esi
1330	movl	%esi,4(%esp)
1331	movl	%ebx,%esi
1332	andl	$255,%esi
1333	movzbl	-128(%ebp,%esi,1),%esi
1334	movzbl	%ah,%edi
1335	movzbl	-128(%ebp,%edi,1),%edi
1336	shll	$8,%edi
1337	xorl	%edi,%esi
1338	movl	%edx,%edi
1339	shrl	$16,%edi
1340	andl	$255,%edi
1341	movzbl	-128(%ebp,%edi,1),%edi
1342	shll	$16,%edi
1343	xorl	%edi,%esi
1344	movl	%ecx,%edi
1345	shrl	$24,%edi
1346	movzbl	-128(%ebp,%edi,1),%edi
1347	shll	$24,%edi
1348	xorl	%edi,%esi
1349	movl	%esi,8(%esp)
1350	movl	%ecx,%esi
1351	andl	$255,%esi
1352	movzbl	-128(%ebp,%esi,1),%esi
1353	movzbl	%bh,%edi
1354	movzbl	-128(%ebp,%edi,1),%edi
1355	shll	$8,%edi
1356	xorl	%edi,%esi
1357	movl	%eax,%edi
1358	shrl	$16,%edi
1359	andl	$255,%edi
1360	movzbl	-128(%ebp,%edi,1),%edi
1361	shll	$16,%edi
1362	xorl	%edi,%esi
1363	movl	%edx,%edi
1364	shrl	$24,%edi
1365	movzbl	-128(%ebp,%edi,1),%edi
1366	shll	$24,%edi
1367	xorl	%edi,%esi
1368	movl	20(%esp),%edi
1369	andl	$255,%edx
1370	movzbl	-128(%ebp,%edx,1),%edx
1371	movzbl	%ch,%ecx
1372	movzbl	-128(%ebp,%ecx,1),%ecx
1373	shll	$8,%ecx
1374	xorl	%ecx,%edx
1375	movl	%esi,%ecx
1376	shrl	$16,%ebx
1377	andl	$255,%ebx
1378	movzbl	-128(%ebp,%ebx,1),%ebx
1379	shll	$16,%ebx
1380	xorl	%ebx,%edx
1381	movl	8(%esp),%ebx
1382	shrl	$24,%eax
1383	movzbl	-128(%ebp,%eax,1),%eax
1384	shll	$24,%eax
1385	xorl	%eax,%edx
1386	movl	4(%esp),%eax
1387	xorl	16(%edi),%eax
1388	xorl	20(%edi),%ebx
1389	xorl	24(%edi),%ecx
1390	xorl	28(%edi),%edx
1391	ret
1392.size	_x86_AES_decrypt_compact,.-_x86_AES_decrypt_compact
1393.type	_sse_AES_decrypt_compact,@function
1394.align	16
1395_sse_AES_decrypt_compact:
1396	pxor	(%edi),%mm0
1397	pxor	8(%edi),%mm4
1398	movl	240(%edi),%esi
1399	leal	-2(%esi,%esi,1),%esi
1400	leal	(%edi,%esi,8),%esi
1401	movl	%esi,24(%esp)
1402	movl	$454761243,%eax
1403	movl	%eax,8(%esp)
1404	movl	%eax,12(%esp)
1405	movl	-128(%ebp),%eax
1406	movl	-96(%ebp),%ebx
1407	movl	-64(%ebp),%ecx
1408	movl	-32(%ebp),%edx
1409	movl	(%ebp),%eax
1410	movl	32(%ebp),%ebx
1411	movl	64(%ebp),%ecx
1412	movl	96(%ebp),%edx
1413.align	16
1414.L007loop:
1415	pshufw	$12,%mm0,%mm1
1416	movd	%mm1,%eax
1417	pshufw	$9,%mm4,%mm5
1418	movzbl	%al,%esi
1419	movzbl	-128(%ebp,%esi,1),%ecx
1420	movd	%mm5,%ebx
1421	movzbl	%ah,%edx
1422	movzbl	-128(%ebp,%edx,1),%edx
1423	shll	$8,%edx
1424	pshufw	$6,%mm0,%mm2
1425	movzbl	%bl,%esi
1426	movzbl	-128(%ebp,%esi,1),%esi
1427	shll	$16,%esi
1428	orl	%esi,%ecx
1429	shrl	$16,%eax
1430	movzbl	%bh,%esi
1431	movzbl	-128(%ebp,%esi,1),%esi
1432	shll	$24,%esi
1433	orl	%esi,%edx
1434	shrl	$16,%ebx
1435	pshufw	$3,%mm4,%mm6
1436	movzbl	%ah,%esi
1437	movzbl	-128(%ebp,%esi,1),%esi
1438	shll	$24,%esi
1439	orl	%esi,%ecx
1440	movzbl	%bh,%esi
1441	movzbl	-128(%ebp,%esi,1),%esi
1442	shll	$8,%esi
1443	orl	%esi,%ecx
1444	movd	%ecx,%mm0
1445	movzbl	%al,%esi
1446	movd	%mm2,%eax
1447	movzbl	-128(%ebp,%esi,1),%ecx
1448	shll	$16,%ecx
1449	movzbl	%bl,%esi
1450	movd	%mm6,%ebx
1451	movzbl	-128(%ebp,%esi,1),%esi
1452	orl	%esi,%ecx
1453	movzbl	%al,%esi
1454	movzbl	-128(%ebp,%esi,1),%esi
1455	orl	%esi,%edx
1456	movzbl	%bl,%esi
1457	movzbl	-128(%ebp,%esi,1),%esi
1458	shll	$16,%esi
1459	orl	%esi,%edx
1460	movd	%edx,%mm1
1461	movzbl	%ah,%esi
1462	movzbl	-128(%ebp,%esi,1),%edx
1463	shll	$8,%edx
1464	movzbl	%bh,%esi
1465	shrl	$16,%eax
1466	movzbl	-128(%ebp,%esi,1),%esi
1467	shll	$24,%esi
1468	orl	%esi,%edx
1469	shrl	$16,%ebx
1470	punpckldq	%mm1,%mm0
1471	movzbl	%bh,%esi
1472	movzbl	-128(%ebp,%esi,1),%esi
1473	shll	$8,%esi
1474	orl	%esi,%ecx
1475	andl	$255,%ebx
1476	movzbl	-128(%ebp,%ebx,1),%ebx
1477	orl	%ebx,%edx
1478	movzbl	%al,%esi
1479	movzbl	-128(%ebp,%esi,1),%esi
1480	shll	$16,%esi
1481	orl	%esi,%edx
1482	movd	%edx,%mm4
1483	movzbl	%ah,%eax
1484	movzbl	-128(%ebp,%eax,1),%eax
1485	shll	$24,%eax
1486	orl	%eax,%ecx
1487	movd	%ecx,%mm5
1488	punpckldq	%mm5,%mm4
1489	addl	$16,%edi
1490	cmpl	24(%esp),%edi
1491	ja	.L008out
1492	movq	%mm0,%mm3
1493	movq	%mm4,%mm7
1494	pshufw	$228,%mm0,%mm2
1495	pshufw	$228,%mm4,%mm6
1496	movq	%mm0,%mm1
1497	movq	%mm4,%mm5
1498	pshufw	$177,%mm0,%mm0
1499	pshufw	$177,%mm4,%mm4
1500	pslld	$8,%mm2
1501	pslld	$8,%mm6
1502	psrld	$8,%mm3
1503	psrld	$8,%mm7
1504	pxor	%mm2,%mm0
1505	pxor	%mm6,%mm4
1506	pxor	%mm3,%mm0
1507	pxor	%mm7,%mm4
1508	pslld	$16,%mm2
1509	pslld	$16,%mm6
1510	psrld	$16,%mm3
1511	psrld	$16,%mm7
1512	pxor	%mm2,%mm0
1513	pxor	%mm6,%mm4
1514	pxor	%mm3,%mm0
1515	pxor	%mm7,%mm4
1516	movq	8(%esp),%mm3
1517	pxor	%mm2,%mm2
1518	pxor	%mm6,%mm6
1519	pcmpgtb	%mm1,%mm2
1520	pcmpgtb	%mm5,%mm6
1521	pand	%mm3,%mm2
1522	pand	%mm3,%mm6
1523	paddb	%mm1,%mm1
1524	paddb	%mm5,%mm5
1525	pxor	%mm2,%mm1
1526	pxor	%mm6,%mm5
1527	movq	%mm1,%mm3
1528	movq	%mm5,%mm7
1529	movq	%mm1,%mm2
1530	movq	%mm5,%mm6
1531	pxor	%mm1,%mm0
1532	pxor	%mm5,%mm4
1533	pslld	$24,%mm3
1534	pslld	$24,%mm7
1535	psrld	$8,%mm2
1536	psrld	$8,%mm6
1537	pxor	%mm3,%mm0
1538	pxor	%mm7,%mm4
1539	pxor	%mm2,%mm0
1540	pxor	%mm6,%mm4
1541	movq	8(%esp),%mm2
1542	pxor	%mm3,%mm3
1543	pxor	%mm7,%mm7
1544	pcmpgtb	%mm1,%mm3
1545	pcmpgtb	%mm5,%mm7
1546	pand	%mm2,%mm3
1547	pand	%mm2,%mm7
1548	paddb	%mm1,%mm1
1549	paddb	%mm5,%mm5
1550	pxor	%mm3,%mm1
1551	pxor	%mm7,%mm5
1552	pshufw	$177,%mm1,%mm3
1553	pshufw	$177,%mm5,%mm7
1554	pxor	%mm1,%mm0
1555	pxor	%mm5,%mm4
1556	pxor	%mm3,%mm0
1557	pxor	%mm7,%mm4
1558	pxor	%mm3,%mm3
1559	pxor	%mm7,%mm7
1560	pcmpgtb	%mm1,%mm3
1561	pcmpgtb	%mm5,%mm7
1562	pand	%mm2,%mm3
1563	pand	%mm2,%mm7
1564	paddb	%mm1,%mm1
1565	paddb	%mm5,%mm5
1566	pxor	%mm3,%mm1
1567	pxor	%mm7,%mm5
1568	pxor	%mm1,%mm0
1569	pxor	%mm5,%mm4
1570	movq	%mm1,%mm3
1571	movq	%mm5,%mm7
1572	pshufw	$177,%mm1,%mm2
1573	pshufw	$177,%mm5,%mm6
1574	pxor	%mm2,%mm0
1575	pxor	%mm6,%mm4
1576	pslld	$8,%mm1
1577	pslld	$8,%mm5
1578	psrld	$8,%mm3
1579	psrld	$8,%mm7
1580	movq	(%edi),%mm2
1581	movq	8(%edi),%mm6
1582	pxor	%mm1,%mm0
1583	pxor	%mm5,%mm4
1584	pxor	%mm3,%mm0
1585	pxor	%mm7,%mm4
1586	movl	-128(%ebp),%eax
1587	pslld	$16,%mm1
1588	pslld	$16,%mm5
1589	movl	-64(%ebp),%ebx
1590	psrld	$16,%mm3
1591	psrld	$16,%mm7
1592	movl	(%ebp),%ecx
1593	pxor	%mm1,%mm0
1594	pxor	%mm5,%mm4
1595	movl	64(%ebp),%edx
1596	pxor	%mm3,%mm0
1597	pxor	%mm7,%mm4
1598	pxor	%mm2,%mm0
1599	pxor	%mm6,%mm4
1600	jmp	.L007loop
1601.align	16
1602.L008out:
1603	pxor	(%edi),%mm0
1604	pxor	8(%edi),%mm4
1605	ret
1606.size	_sse_AES_decrypt_compact,.-_sse_AES_decrypt_compact
1607.type	_x86_AES_decrypt,@function
1608.align	16
1609_x86_AES_decrypt:
1610	movl	%edi,20(%esp)
1611	xorl	(%edi),%eax
1612	xorl	4(%edi),%ebx
1613	xorl	8(%edi),%ecx
1614	xorl	12(%edi),%edx
1615	movl	240(%edi),%esi
1616	leal	-2(%esi,%esi,1),%esi
1617	leal	(%edi,%esi,8),%esi
1618	movl	%esi,24(%esp)
1619.align	16
1620.L009loop:
1621	movl	%eax,%esi
1622	andl	$255,%esi
1623	movl	(%ebp,%esi,8),%esi
1624	movzbl	%dh,%edi
1625	xorl	3(%ebp,%edi,8),%esi
1626	movl	%ecx,%edi
1627	shrl	$16,%edi
1628	andl	$255,%edi
1629	xorl	2(%ebp,%edi,8),%esi
1630	movl	%ebx,%edi
1631	shrl	$24,%edi
1632	xorl	1(%ebp,%edi,8),%esi
1633	movl	%esi,4(%esp)
1634
1635	movl	%ebx,%esi
1636	andl	$255,%esi
1637	movl	(%ebp,%esi,8),%esi
1638	movzbl	%ah,%edi
1639	xorl	3(%ebp,%edi,8),%esi
1640	movl	%edx,%edi
1641	shrl	$16,%edi
1642	andl	$255,%edi
1643	xorl	2(%ebp,%edi,8),%esi
1644	movl	%ecx,%edi
1645	shrl	$24,%edi
1646	xorl	1(%ebp,%edi,8),%esi
1647	movl	%esi,8(%esp)
1648
1649	movl	%ecx,%esi
1650	andl	$255,%esi
1651	movl	(%ebp,%esi,8),%esi
1652	movzbl	%bh,%edi
1653	xorl	3(%ebp,%edi,8),%esi
1654	movl	%eax,%edi
1655	shrl	$16,%edi
1656	andl	$255,%edi
1657	xorl	2(%ebp,%edi,8),%esi
1658	movl	%edx,%edi
1659	shrl	$24,%edi
1660	xorl	1(%ebp,%edi,8),%esi
1661
1662	movl	20(%esp),%edi
1663	andl	$255,%edx
1664	movl	(%ebp,%edx,8),%edx
1665	movzbl	%ch,%ecx
1666	xorl	3(%ebp,%ecx,8),%edx
1667	movl	%esi,%ecx
1668	shrl	$16,%ebx
1669	andl	$255,%ebx
1670	xorl	2(%ebp,%ebx,8),%edx
1671	movl	8(%esp),%ebx
1672	shrl	$24,%eax
1673	xorl	1(%ebp,%eax,8),%edx
1674	movl	4(%esp),%eax
1675
1676	addl	$16,%edi
1677	xorl	(%edi),%eax
1678	xorl	4(%edi),%ebx
1679	xorl	8(%edi),%ecx
1680	xorl	12(%edi),%edx
1681	cmpl	24(%esp),%edi
1682	movl	%edi,20(%esp)
1683	jb	.L009loop
1684	leal	2176(%ebp),%ebp
1685	movl	-128(%ebp),%edi
1686	movl	-96(%ebp),%esi
1687	movl	-64(%ebp),%edi
1688	movl	-32(%ebp),%esi
1689	movl	(%ebp),%edi
1690	movl	32(%ebp),%esi
1691	movl	64(%ebp),%edi
1692	movl	96(%ebp),%esi
1693	leal	-128(%ebp),%ebp
1694	movl	%eax,%esi
1695	andl	$255,%esi
1696	movzbl	(%ebp,%esi,1),%esi
1697	movzbl	%dh,%edi
1698	movzbl	(%ebp,%edi,1),%edi
1699	shll	$8,%edi
1700	xorl	%edi,%esi
1701	movl	%ecx,%edi
1702	shrl	$16,%edi
1703	andl	$255,%edi
1704	movzbl	(%ebp,%edi,1),%edi
1705	shll	$16,%edi
1706	xorl	%edi,%esi
1707	movl	%ebx,%edi
1708	shrl	$24,%edi
1709	movzbl	(%ebp,%edi,1),%edi
1710	shll	$24,%edi
1711	xorl	%edi,%esi
1712	movl	%esi,4(%esp)
1713	movl	%ebx,%esi
1714	andl	$255,%esi
1715	movzbl	(%ebp,%esi,1),%esi
1716	movzbl	%ah,%edi
1717	movzbl	(%ebp,%edi,1),%edi
1718	shll	$8,%edi
1719	xorl	%edi,%esi
1720	movl	%edx,%edi
1721	shrl	$16,%edi
1722	andl	$255,%edi
1723	movzbl	(%ebp,%edi,1),%edi
1724	shll	$16,%edi
1725	xorl	%edi,%esi
1726	movl	%ecx,%edi
1727	shrl	$24,%edi
1728	movzbl	(%ebp,%edi,1),%edi
1729	shll	$24,%edi
1730	xorl	%edi,%esi
1731	movl	%esi,8(%esp)
1732	movl	%ecx,%esi
1733	andl	$255,%esi
1734	movzbl	(%ebp,%esi,1),%esi
1735	movzbl	%bh,%edi
1736	movzbl	(%ebp,%edi,1),%edi
1737	shll	$8,%edi
1738	xorl	%edi,%esi
1739	movl	%eax,%edi
1740	shrl	$16,%edi
1741	andl	$255,%edi
1742	movzbl	(%ebp,%edi,1),%edi
1743	shll	$16,%edi
1744	xorl	%edi,%esi
1745	movl	%edx,%edi
1746	shrl	$24,%edi
1747	movzbl	(%ebp,%edi,1),%edi
1748	shll	$24,%edi
1749	xorl	%edi,%esi
1750	movl	20(%esp),%edi
1751	andl	$255,%edx
1752	movzbl	(%ebp,%edx,1),%edx
1753	movzbl	%ch,%ecx
1754	movzbl	(%ebp,%ecx,1),%ecx
1755	shll	$8,%ecx
1756	xorl	%ecx,%edx
1757	movl	%esi,%ecx
1758	shrl	$16,%ebx
1759	andl	$255,%ebx
1760	movzbl	(%ebp,%ebx,1),%ebx
1761	shll	$16,%ebx
1762	xorl	%ebx,%edx
1763	movl	8(%esp),%ebx
1764	shrl	$24,%eax
1765	movzbl	(%ebp,%eax,1),%eax
1766	shll	$24,%eax
1767	xorl	%eax,%edx
1768	movl	4(%esp),%eax
1769	leal	-2048(%ebp),%ebp
1770	addl	$16,%edi
1771	xorl	(%edi),%eax
1772	xorl	4(%edi),%ebx
1773	xorl	8(%edi),%ecx
1774	xorl	12(%edi),%edx
1775	ret
1776.align	64
1777.LAES_Td:
1778.long	1353184337,1353184337
1779.long	1399144830,1399144830
1780.long	3282310938,3282310938
1781.long	2522752826,2522752826
1782.long	3412831035,3412831035
1783.long	4047871263,4047871263
1784.long	2874735276,2874735276
1785.long	2466505547,2466505547
1786.long	1442459680,1442459680
1787.long	4134368941,4134368941
1788.long	2440481928,2440481928
1789.long	625738485,625738485
1790.long	4242007375,4242007375
1791.long	3620416197,3620416197
1792.long	2151953702,2151953702
1793.long	2409849525,2409849525
1794.long	1230680542,1230680542
1795.long	1729870373,1729870373
1796.long	2551114309,2551114309
1797.long	3787521629,3787521629
1798.long	41234371,41234371
1799.long	317738113,317738113
1800.long	2744600205,2744600205
1801.long	3338261355,3338261355
1802.long	3881799427,3881799427
1803.long	2510066197,2510066197
1804.long	3950669247,3950669247
1805.long	3663286933,3663286933
1806.long	763608788,763608788
1807.long	3542185048,3542185048
1808.long	694804553,694804553
1809.long	1154009486,1154009486
1810.long	1787413109,1787413109
1811.long	2021232372,2021232372
1812.long	1799248025,1799248025
1813.long	3715217703,3715217703
1814.long	3058688446,3058688446
1815.long	397248752,397248752
1816.long	1722556617,1722556617
1817.long	3023752829,3023752829
1818.long	407560035,407560035
1819.long	2184256229,2184256229
1820.long	1613975959,1613975959
1821.long	1165972322,1165972322
1822.long	3765920945,3765920945
1823.long	2226023355,2226023355
1824.long	480281086,480281086
1825.long	2485848313,2485848313
1826.long	1483229296,1483229296
1827.long	436028815,436028815
1828.long	2272059028,2272059028
1829.long	3086515026,3086515026
1830.long	601060267,601060267
1831.long	3791801202,3791801202
1832.long	1468997603,1468997603
1833.long	715871590,715871590
1834.long	120122290,120122290
1835.long	63092015,63092015
1836.long	2591802758,2591802758
1837.long	2768779219,2768779219
1838.long	4068943920,4068943920
1839.long	2997206819,2997206819
1840.long	3127509762,3127509762
1841.long	1552029421,1552029421
1842.long	723308426,723308426
1843.long	2461301159,2461301159
1844.long	4042393587,4042393587
1845.long	2715969870,2715969870
1846.long	3455375973,3455375973
1847.long	3586000134,3586000134
1848.long	526529745,526529745
1849.long	2331944644,2331944644
1850.long	2639474228,2639474228
1851.long	2689987490,2689987490
1852.long	853641733,853641733
1853.long	1978398372,1978398372
1854.long	971801355,971801355
1855.long	2867814464,2867814464
1856.long	111112542,111112542
1857.long	1360031421,1360031421
1858.long	4186579262,4186579262
1859.long	1023860118,1023860118
1860.long	2919579357,2919579357
1861.long	1186850381,1186850381
1862.long	3045938321,3045938321
1863.long	90031217,90031217
1864.long	1876166148,1876166148
1865.long	4279586912,4279586912
1866.long	620468249,620468249
1867.long	2548678102,2548678102
1868.long	3426959497,3426959497
1869.long	2006899047,2006899047
1870.long	3175278768,3175278768
1871.long	2290845959,2290845959
1872.long	945494503,945494503
1873.long	3689859193,3689859193
1874.long	1191869601,1191869601
1875.long	3910091388,3910091388
1876.long	3374220536,3374220536
1877.long	0,0
1878.long	2206629897,2206629897
1879.long	1223502642,1223502642
1880.long	2893025566,2893025566
1881.long	1316117100,1316117100
1882.long	4227796733,4227796733
1883.long	1446544655,1446544655
1884.long	517320253,517320253
1885.long	658058550,658058550
1886.long	1691946762,1691946762
1887.long	564550760,564550760
1888.long	3511966619,3511966619
1889.long	976107044,976107044
1890.long	2976320012,2976320012
1891.long	266819475,266819475
1892.long	3533106868,3533106868
1893.long	2660342555,2660342555
1894.long	1338359936,1338359936
1895.long	2720062561,2720062561
1896.long	1766553434,1766553434
1897.long	370807324,370807324
1898.long	179999714,179999714
1899.long	3844776128,3844776128
1900.long	1138762300,1138762300
1901.long	488053522,488053522
1902.long	185403662,185403662
1903.long	2915535858,2915535858
1904.long	3114841645,3114841645
1905.long	3366526484,3366526484
1906.long	2233069911,2233069911
1907.long	1275557295,1275557295
1908.long	3151862254,3151862254
1909.long	4250959779,4250959779
1910.long	2670068215,2670068215
1911.long	3170202204,3170202204
1912.long	3309004356,3309004356
1913.long	880737115,880737115
1914.long	1982415755,1982415755
1915.long	3703972811,3703972811
1916.long	1761406390,1761406390
1917.long	1676797112,1676797112
1918.long	3403428311,3403428311
1919.long	277177154,277177154
1920.long	1076008723,1076008723
1921.long	538035844,538035844
1922.long	2099530373,2099530373
1923.long	4164795346,4164795346
1924.long	288553390,288553390
1925.long	1839278535,1839278535
1926.long	1261411869,1261411869
1927.long	4080055004,4080055004
1928.long	3964831245,3964831245
1929.long	3504587127,3504587127
1930.long	1813426987,1813426987
1931.long	2579067049,2579067049
1932.long	4199060497,4199060497
1933.long	577038663,577038663
1934.long	3297574056,3297574056
1935.long	440397984,440397984
1936.long	3626794326,3626794326
1937.long	4019204898,4019204898
1938.long	3343796615,3343796615
1939.long	3251714265,3251714265
1940.long	4272081548,4272081548
1941.long	906744984,906744984
1942.long	3481400742,3481400742
1943.long	685669029,685669029
1944.long	646887386,646887386
1945.long	2764025151,2764025151
1946.long	3835509292,3835509292
1947.long	227702864,227702864
1948.long	2613862250,2613862250
1949.long	1648787028,1648787028
1950.long	3256061430,3256061430
1951.long	3904428176,3904428176
1952.long	1593260334,1593260334
1953.long	4121936770,4121936770
1954.long	3196083615,3196083615
1955.long	2090061929,2090061929
1956.long	2838353263,2838353263
1957.long	3004310991,3004310991
1958.long	999926984,999926984
1959.long	2809993232,2809993232
1960.long	1852021992,1852021992
1961.long	2075868123,2075868123
1962.long	158869197,158869197
1963.long	4095236462,4095236462
1964.long	28809964,28809964
1965.long	2828685187,2828685187
1966.long	1701746150,1701746150
1967.long	2129067946,2129067946
1968.long	147831841,147831841
1969.long	3873969647,3873969647
1970.long	3650873274,3650873274
1971.long	3459673930,3459673930
1972.long	3557400554,3557400554
1973.long	3598495785,3598495785
1974.long	2947720241,2947720241
1975.long	824393514,824393514
1976.long	815048134,815048134
1977.long	3227951669,3227951669
1978.long	935087732,935087732
1979.long	2798289660,2798289660
1980.long	2966458592,2966458592
1981.long	366520115,366520115
1982.long	1251476721,1251476721
1983.long	4158319681,4158319681
1984.long	240176511,240176511
1985.long	804688151,804688151
1986.long	2379631990,2379631990
1987.long	1303441219,1303441219
1988.long	1414376140,1414376140
1989.long	3741619940,3741619940
1990.long	3820343710,3820343710
1991.long	461924940,461924940
1992.long	3089050817,3089050817
1993.long	2136040774,2136040774
1994.long	82468509,82468509
1995.long	1563790337,1563790337
1996.long	1937016826,1937016826
1997.long	776014843,776014843
1998.long	1511876531,1511876531
1999.long	1389550482,1389550482
2000.long	861278441,861278441
2001.long	323475053,323475053
2002.long	2355222426,2355222426
2003.long	2047648055,2047648055
2004.long	2383738969,2383738969
2005.long	2302415851,2302415851
2006.long	3995576782,3995576782
2007.long	902390199,902390199
2008.long	3991215329,3991215329
2009.long	1018251130,1018251130
2010.long	1507840668,1507840668
2011.long	1064563285,1064563285
2012.long	2043548696,2043548696
2013.long	3208103795,3208103795
2014.long	3939366739,3939366739
2015.long	1537932639,1537932639
2016.long	342834655,342834655
2017.long	2262516856,2262516856
2018.long	2180231114,2180231114
2019.long	1053059257,1053059257
2020.long	741614648,741614648
2021.long	1598071746,1598071746
2022.long	1925389590,1925389590
2023.long	203809468,203809468
2024.long	2336832552,2336832552
2025.long	1100287487,1100287487
2026.long	1895934009,1895934009
2027.long	3736275976,3736275976
2028.long	2632234200,2632234200
2029.long	2428589668,2428589668
2030.long	1636092795,1636092795
2031.long	1890988757,1890988757
2032.long	1952214088,1952214088
2033.long	1113045200,1113045200
2034.byte	82,9,106,213,48,54,165,56
2035.byte	191,64,163,158,129,243,215,251
2036.byte	124,227,57,130,155,47,255,135
2037.byte	52,142,67,68,196,222,233,203
2038.byte	84,123,148,50,166,194,35,61
2039.byte	238,76,149,11,66,250,195,78
2040.byte	8,46,161,102,40,217,36,178
2041.byte	118,91,162,73,109,139,209,37
2042.byte	114,248,246,100,134,104,152,22
2043.byte	212,164,92,204,93,101,182,146
2044.byte	108,112,72,80,253,237,185,218
2045.byte	94,21,70,87,167,141,157,132
2046.byte	144,216,171,0,140,188,211,10
2047.byte	247,228,88,5,184,179,69,6
2048.byte	208,44,30,143,202,63,15,2
2049.byte	193,175,189,3,1,19,138,107
2050.byte	58,145,17,65,79,103,220,234
2051.byte	151,242,207,206,240,180,230,115
2052.byte	150,172,116,34,231,173,53,133
2053.byte	226,249,55,232,28,117,223,110
2054.byte	71,241,26,113,29,41,197,137
2055.byte	111,183,98,14,170,24,190,27
2056.byte	252,86,62,75,198,210,121,32
2057.byte	154,219,192,254,120,205,90,244
2058.byte	31,221,168,51,136,7,199,49
2059.byte	177,18,16,89,39,128,236,95
2060.byte	96,81,127,169,25,181,74,13
2061.byte	45,229,122,159,147,201,156,239
2062.byte	160,224,59,77,174,42,245,176
2063.byte	200,235,187,60,131,83,153,97
2064.byte	23,43,4,126,186,119,214,38
2065.byte	225,105,20,99,85,33,12,125
2066.byte	82,9,106,213,48,54,165,56
2067.byte	191,64,163,158,129,243,215,251
2068.byte	124,227,57,130,155,47,255,135
2069.byte	52,142,67,68,196,222,233,203
2070.byte	84,123,148,50,166,194,35,61
2071.byte	238,76,149,11,66,250,195,78
2072.byte	8,46,161,102,40,217,36,178
2073.byte	118,91,162,73,109,139,209,37
2074.byte	114,248,246,100,134,104,152,22
2075.byte	212,164,92,204,93,101,182,146
2076.byte	108,112,72,80,253,237,185,218
2077.byte	94,21,70,87,167,141,157,132
2078.byte	144,216,171,0,140,188,211,10
2079.byte	247,228,88,5,184,179,69,6
2080.byte	208,44,30,143,202,63,15,2
2081.byte	193,175,189,3,1,19,138,107
2082.byte	58,145,17,65,79,103,220,234
2083.byte	151,242,207,206,240,180,230,115
2084.byte	150,172,116,34,231,173,53,133
2085.byte	226,249,55,232,28,117,223,110
2086.byte	71,241,26,113,29,41,197,137
2087.byte	111,183,98,14,170,24,190,27
2088.byte	252,86,62,75,198,210,121,32
2089.byte	154,219,192,254,120,205,90,244
2090.byte	31,221,168,51,136,7,199,49
2091.byte	177,18,16,89,39,128,236,95
2092.byte	96,81,127,169,25,181,74,13
2093.byte	45,229,122,159,147,201,156,239
2094.byte	160,224,59,77,174,42,245,176
2095.byte	200,235,187,60,131,83,153,97
2096.byte	23,43,4,126,186,119,214,38
2097.byte	225,105,20,99,85,33,12,125
2098.byte	82,9,106,213,48,54,165,56
2099.byte	191,64,163,158,129,243,215,251
2100.byte	124,227,57,130,155,47,255,135
2101.byte	52,142,67,68,196,222,233,203
2102.byte	84,123,148,50,166,194,35,61
2103.byte	238,76,149,11,66,250,195,78
2104.byte	8,46,161,102,40,217,36,178
2105.byte	118,91,162,73,109,139,209,37
2106.byte	114,248,246,100,134,104,152,22
2107.byte	212,164,92,204,93,101,182,146
2108.byte	108,112,72,80,253,237,185,218
2109.byte	94,21,70,87,167,141,157,132
2110.byte	144,216,171,0,140,188,211,10
2111.byte	247,228,88,5,184,179,69,6
2112.byte	208,44,30,143,202,63,15,2
2113.byte	193,175,189,3,1,19,138,107
2114.byte	58,145,17,65,79,103,220,234
2115.byte	151,242,207,206,240,180,230,115
2116.byte	150,172,116,34,231,173,53,133
2117.byte	226,249,55,232,28,117,223,110
2118.byte	71,241,26,113,29,41,197,137
2119.byte	111,183,98,14,170,24,190,27
2120.byte	252,86,62,75,198,210,121,32
2121.byte	154,219,192,254,120,205,90,244
2122.byte	31,221,168,51,136,7,199,49
2123.byte	177,18,16,89,39,128,236,95
2124.byte	96,81,127,169,25,181,74,13
2125.byte	45,229,122,159,147,201,156,239
2126.byte	160,224,59,77,174,42,245,176
2127.byte	200,235,187,60,131,83,153,97
2128.byte	23,43,4,126,186,119,214,38
2129.byte	225,105,20,99,85,33,12,125
2130.byte	82,9,106,213,48,54,165,56
2131.byte	191,64,163,158,129,243,215,251
2132.byte	124,227,57,130,155,47,255,135
2133.byte	52,142,67,68,196,222,233,203
2134.byte	84,123,148,50,166,194,35,61
2135.byte	238,76,149,11,66,250,195,78
2136.byte	8,46,161,102,40,217,36,178
2137.byte	118,91,162,73,109,139,209,37
2138.byte	114,248,246,100,134,104,152,22
2139.byte	212,164,92,204,93,101,182,146
2140.byte	108,112,72,80,253,237,185,218
2141.byte	94,21,70,87,167,141,157,132
2142.byte	144,216,171,0,140,188,211,10
2143.byte	247,228,88,5,184,179,69,6
2144.byte	208,44,30,143,202,63,15,2
2145.byte	193,175,189,3,1,19,138,107
2146.byte	58,145,17,65,79,103,220,234
2147.byte	151,242,207,206,240,180,230,115
2148.byte	150,172,116,34,231,173,53,133
2149.byte	226,249,55,232,28,117,223,110
2150.byte	71,241,26,113,29,41,197,137
2151.byte	111,183,98,14,170,24,190,27
2152.byte	252,86,62,75,198,210,121,32
2153.byte	154,219,192,254,120,205,90,244
2154.byte	31,221,168,51,136,7,199,49
2155.byte	177,18,16,89,39,128,236,95
2156.byte	96,81,127,169,25,181,74,13
2157.byte	45,229,122,159,147,201,156,239
2158.byte	160,224,59,77,174,42,245,176
2159.byte	200,235,187,60,131,83,153,97
2160.byte	23,43,4,126,186,119,214,38
2161.byte	225,105,20,99,85,33,12,125
2162.size	_x86_AES_decrypt,.-_x86_AES_decrypt
2163.globl	AES_decrypt
2164.type	AES_decrypt,@function
2165.align	16
2166AES_decrypt:
2167.L_AES_decrypt_begin:
2168	pushl	%ebp
2169	pushl	%ebx
2170	pushl	%esi
2171	pushl	%edi
2172	movl	20(%esp),%esi
2173	movl	28(%esp),%edi
2174	movl	%esp,%eax
2175	subl	$36,%esp
2176	andl	$-64,%esp
2177	leal	-127(%edi),%ebx
2178	subl	%esp,%ebx
2179	negl	%ebx
2180	andl	$960,%ebx
2181	subl	%ebx,%esp
2182	addl	$4,%esp
2183	movl	%eax,28(%esp)
2184	call	.L010pic_point
2185.L010pic_point:
2186	popl	%ebp
2187	leal	OPENSSL_ia32cap_P,%eax
2188	leal	.LAES_Td-.L010pic_point(%ebp),%ebp
2189	leal	764(%esp),%ebx
2190	subl	%ebp,%ebx
2191	andl	$768,%ebx
2192	leal	2176(%ebp,%ebx,1),%ebp
2193	btl	$25,(%eax)
2194	jnc	.L011x86
2195	movq	(%esi),%mm0
2196	movq	8(%esi),%mm4
2197	call	_sse_AES_decrypt_compact
2198	movl	28(%esp),%esp
2199	movl	24(%esp),%esi
2200	movq	%mm0,(%esi)
2201	movq	%mm4,8(%esi)
2202	emms
2203	popl	%edi
2204	popl	%esi
2205	popl	%ebx
2206	popl	%ebp
2207	ret
2208.align	16
2209.L011x86:
2210	movl	%ebp,24(%esp)
2211	movl	(%esi),%eax
2212	movl	4(%esi),%ebx
2213	movl	8(%esi),%ecx
2214	movl	12(%esi),%edx
2215	call	_x86_AES_decrypt_compact
2216	movl	28(%esp),%esp
2217	movl	24(%esp),%esi
2218	movl	%eax,(%esi)
2219	movl	%ebx,4(%esi)
2220	movl	%ecx,8(%esi)
2221	movl	%edx,12(%esi)
2222	popl	%edi
2223	popl	%esi
2224	popl	%ebx
2225	popl	%ebp
2226	ret
2227.size	AES_decrypt,.-.L_AES_decrypt_begin
2228.globl	AES_cbc_encrypt
2229.type	AES_cbc_encrypt,@function
2230.align	16
2231AES_cbc_encrypt:
2232.L_AES_cbc_encrypt_begin:
2233	pushl	%ebp
2234	pushl	%ebx
2235	pushl	%esi
2236	pushl	%edi
2237	movl	28(%esp),%ecx
2238	cmpl	$0,%ecx
2239	je	.L012drop_out
2240	call	.L013pic_point
2241.L013pic_point:
2242	popl	%ebp
2243	leal	OPENSSL_ia32cap_P,%eax
2244	cmpl	$0,40(%esp)
2245	leal	.LAES_Te-.L013pic_point(%ebp),%ebp
2246	jne	.L014picked_te
2247	leal	.LAES_Td-.LAES_Te(%ebp),%ebp
2248.L014picked_te:
2249	pushfl
2250	cld
2251	cmpl	$512,%ecx
2252	jb	.L015slow_way
2253	testl	$15,%ecx
2254	jnz	.L015slow_way
2255	btl	$28,(%eax)
2256	jc	.L015slow_way
2257	leal	-324(%esp),%esi
2258	andl	$-64,%esi
2259	movl	%ebp,%eax
2260	leal	2304(%ebp),%ebx
2261	movl	%esi,%edx
2262	andl	$4095,%eax
2263	andl	$4095,%ebx
2264	andl	$4095,%edx
2265	cmpl	%ebx,%edx
2266	jb	.L016tbl_break_out
2267	subl	%ebx,%edx
2268	subl	%edx,%esi
2269	jmp	.L017tbl_ok
2270.align	4
2271.L016tbl_break_out:
2272	subl	%eax,%edx
2273	andl	$4095,%edx
2274	addl	$384,%edx
2275	subl	%edx,%esi
2276.align	4
2277.L017tbl_ok:
2278	leal	24(%esp),%edx
2279	xchgl	%esi,%esp
2280	addl	$4,%esp
2281	movl	%ebp,24(%esp)
2282	movl	%esi,28(%esp)
2283	movl	(%edx),%eax
2284	movl	4(%edx),%ebx
2285	movl	12(%edx),%edi
2286	movl	16(%edx),%esi
2287	movl	20(%edx),%edx
2288	movl	%eax,32(%esp)
2289	movl	%ebx,36(%esp)
2290	movl	%ecx,40(%esp)
2291	movl	%edi,44(%esp)
2292	movl	%esi,48(%esp)
2293	movl	$0,316(%esp)
2294	movl	%edi,%ebx
2295	movl	$61,%ecx
2296	subl	%ebp,%ebx
2297	movl	%edi,%esi
2298	andl	$4095,%ebx
2299	leal	76(%esp),%edi
2300	cmpl	$2304,%ebx
2301	jb	.L018do_copy
2302	cmpl	$3852,%ebx
2303	jb	.L019skip_copy
2304.align	4
2305.L018do_copy:
2306	movl	%edi,44(%esp)
2307.long	2784229001
2308.L019skip_copy:
2309	movl	$16,%edi
2310.align	4
2311.L020prefetch_tbl:
2312	movl	(%ebp),%eax
2313	movl	32(%ebp),%ebx
2314	movl	64(%ebp),%ecx
2315	movl	96(%ebp),%esi
2316	leal	128(%ebp),%ebp
2317	subl	$1,%edi
2318	jnz	.L020prefetch_tbl
2319	subl	$2048,%ebp
2320	movl	32(%esp),%esi
2321	movl	48(%esp),%edi
2322	cmpl	$0,%edx
2323	je	.L021fast_decrypt
2324	movl	(%edi),%eax
2325	movl	4(%edi),%ebx
2326.align	16
2327.L022fast_enc_loop:
2328	movl	8(%edi),%ecx
2329	movl	12(%edi),%edx
2330	xorl	(%esi),%eax
2331	xorl	4(%esi),%ebx
2332	xorl	8(%esi),%ecx
2333	xorl	12(%esi),%edx
2334	movl	44(%esp),%edi
2335	call	_x86_AES_encrypt
2336	movl	32(%esp),%esi
2337	movl	36(%esp),%edi
2338	movl	%eax,(%edi)
2339	movl	%ebx,4(%edi)
2340	movl	%ecx,8(%edi)
2341	movl	%edx,12(%edi)
2342	leal	16(%esi),%esi
2343	movl	40(%esp),%ecx
2344	movl	%esi,32(%esp)
2345	leal	16(%edi),%edx
2346	movl	%edx,36(%esp)
2347	subl	$16,%ecx
2348	movl	%ecx,40(%esp)
2349	jnz	.L022fast_enc_loop
2350	movl	48(%esp),%esi
2351	movl	8(%edi),%ecx
2352	movl	12(%edi),%edx
2353	movl	%eax,(%esi)
2354	movl	%ebx,4(%esi)
2355	movl	%ecx,8(%esi)
2356	movl	%edx,12(%esi)
2357	cmpl	$0,316(%esp)
2358	movl	44(%esp),%edi
2359	je	.L023skip_ezero
2360	movl	$60,%ecx
2361	xorl	%eax,%eax
2362.align	4
2363.long	2884892297
2364.L023skip_ezero:
2365	movl	28(%esp),%esp
2366	popfl
2367.L012drop_out:
2368	popl	%edi
2369	popl	%esi
2370	popl	%ebx
2371	popl	%ebp
2372	ret
2373	pushfl
2374.align	16
2375.L021fast_decrypt:
2376	cmpl	36(%esp),%esi
2377	je	.L024fast_dec_in_place
2378	movl	%edi,52(%esp)
2379.align	4
2380.align	16
2381.L025fast_dec_loop:
2382	movl	(%esi),%eax
2383	movl	4(%esi),%ebx
2384	movl	8(%esi),%ecx
2385	movl	12(%esi),%edx
2386	movl	44(%esp),%edi
2387	call	_x86_AES_decrypt
2388	movl	52(%esp),%edi
2389	movl	40(%esp),%esi
2390	xorl	(%edi),%eax
2391	xorl	4(%edi),%ebx
2392	xorl	8(%edi),%ecx
2393	xorl	12(%edi),%edx
2394	movl	36(%esp),%edi
2395	movl	32(%esp),%esi
2396	movl	%eax,(%edi)
2397	movl	%ebx,4(%edi)
2398	movl	%ecx,8(%edi)
2399	movl	%edx,12(%edi)
2400	movl	40(%esp),%ecx
2401	movl	%esi,52(%esp)
2402	leal	16(%esi),%esi
2403	movl	%esi,32(%esp)
2404	leal	16(%edi),%edi
2405	movl	%edi,36(%esp)
2406	subl	$16,%ecx
2407	movl	%ecx,40(%esp)
2408	jnz	.L025fast_dec_loop
2409	movl	52(%esp),%edi
2410	movl	48(%esp),%esi
2411	movl	(%edi),%eax
2412	movl	4(%edi),%ebx
2413	movl	8(%edi),%ecx
2414	movl	12(%edi),%edx
2415	movl	%eax,(%esi)
2416	movl	%ebx,4(%esi)
2417	movl	%ecx,8(%esi)
2418	movl	%edx,12(%esi)
2419	jmp	.L026fast_dec_out
2420.align	16
2421.L024fast_dec_in_place:
2422.L027fast_dec_in_place_loop:
2423	movl	(%esi),%eax
2424	movl	4(%esi),%ebx
2425	movl	8(%esi),%ecx
2426	movl	12(%esi),%edx
2427	leal	60(%esp),%edi
2428	movl	%eax,(%edi)
2429	movl	%ebx,4(%edi)
2430	movl	%ecx,8(%edi)
2431	movl	%edx,12(%edi)
2432	movl	44(%esp),%edi
2433	call	_x86_AES_decrypt
2434	movl	48(%esp),%edi
2435	movl	36(%esp),%esi
2436	xorl	(%edi),%eax
2437	xorl	4(%edi),%ebx
2438	xorl	8(%edi),%ecx
2439	xorl	12(%edi),%edx
2440	movl	%eax,(%esi)
2441	movl	%ebx,4(%esi)
2442	movl	%ecx,8(%esi)
2443	movl	%edx,12(%esi)
2444	leal	16(%esi),%esi
2445	movl	%esi,36(%esp)
2446	leal	60(%esp),%esi
2447	movl	(%esi),%eax
2448	movl	4(%esi),%ebx
2449	movl	8(%esi),%ecx
2450	movl	12(%esi),%edx
2451	movl	%eax,(%edi)
2452	movl	%ebx,4(%edi)
2453	movl	%ecx,8(%edi)
2454	movl	%edx,12(%edi)
2455	movl	32(%esp),%esi
2456	movl	40(%esp),%ecx
2457	leal	16(%esi),%esi
2458	movl	%esi,32(%esp)
2459	subl	$16,%ecx
2460	movl	%ecx,40(%esp)
2461	jnz	.L027fast_dec_in_place_loop
2462.align	4
2463.L026fast_dec_out:
2464	cmpl	$0,316(%esp)
2465	movl	44(%esp),%edi
2466	je	.L028skip_dzero
2467	movl	$60,%ecx
2468	xorl	%eax,%eax
2469.align	4
2470.long	2884892297
2471.L028skip_dzero:
2472	movl	28(%esp),%esp
2473	popfl
2474	popl	%edi
2475	popl	%esi
2476	popl	%ebx
2477	popl	%ebp
2478	ret
2479	pushfl
2480.align	16
2481.L015slow_way:
2482	movl	(%eax),%eax
2483	movl	36(%esp),%edi
2484	leal	-80(%esp),%esi
2485	andl	$-64,%esi
2486	leal	-143(%edi),%ebx
2487	subl	%esi,%ebx
2488	negl	%ebx
2489	andl	$960,%ebx
2490	subl	%ebx,%esi
2491	leal	768(%esi),%ebx
2492	subl	%ebp,%ebx
2493	andl	$768,%ebx
2494	leal	2176(%ebp,%ebx,1),%ebp
2495	leal	24(%esp),%edx
2496	xchgl	%esi,%esp
2497	addl	$4,%esp
2498	movl	%ebp,24(%esp)
2499	movl	%esi,28(%esp)
2500	movl	%eax,52(%esp)
2501	movl	(%edx),%eax
2502	movl	4(%edx),%ebx
2503	movl	16(%edx),%esi
2504	movl	20(%edx),%edx
2505	movl	%eax,32(%esp)
2506	movl	%ebx,36(%esp)
2507	movl	%ecx,40(%esp)
2508	movl	%edi,44(%esp)
2509	movl	%esi,48(%esp)
2510	movl	%esi,%edi
2511	movl	%eax,%esi
2512	cmpl	$0,%edx
2513	je	.L029slow_decrypt
2514	cmpl	$16,%ecx
2515	movl	%ebx,%edx
2516	jb	.L030slow_enc_tail
2517	btl	$25,52(%esp)
2518	jnc	.L031slow_enc_x86
2519	movq	(%edi),%mm0
2520	movq	8(%edi),%mm4
2521.align	16
2522.L032slow_enc_loop_sse:
2523	pxor	(%esi),%mm0
2524	pxor	8(%esi),%mm4
2525	movl	44(%esp),%edi
2526	call	_sse_AES_encrypt_compact
2527	movl	32(%esp),%esi
2528	movl	36(%esp),%edi
2529	movl	40(%esp),%ecx
2530	movq	%mm0,(%edi)
2531	movq	%mm4,8(%edi)
2532	leal	16(%esi),%esi
2533	movl	%esi,32(%esp)
2534	leal	16(%edi),%edx
2535	movl	%edx,36(%esp)
2536	subl	$16,%ecx
2537	cmpl	$16,%ecx
2538	movl	%ecx,40(%esp)
2539	jae	.L032slow_enc_loop_sse
2540	testl	$15,%ecx
2541	jnz	.L030slow_enc_tail
2542	movl	48(%esp),%esi
2543	movq	%mm0,(%esi)
2544	movq	%mm4,8(%esi)
2545	emms
2546	movl	28(%esp),%esp
2547	popfl
2548	popl	%edi
2549	popl	%esi
2550	popl	%ebx
2551	popl	%ebp
2552	ret
2553	pushfl
2554.align	16
2555.L031slow_enc_x86:
2556	movl	(%edi),%eax
2557	movl	4(%edi),%ebx
2558.align	4
2559.L033slow_enc_loop_x86:
2560	movl	8(%edi),%ecx
2561	movl	12(%edi),%edx
2562	xorl	(%esi),%eax
2563	xorl	4(%esi),%ebx
2564	xorl	8(%esi),%ecx
2565	xorl	12(%esi),%edx
2566	movl	44(%esp),%edi
2567	call	_x86_AES_encrypt_compact
2568	movl	32(%esp),%esi
2569	movl	36(%esp),%edi
2570	movl	%eax,(%edi)
2571	movl	%ebx,4(%edi)
2572	movl	%ecx,8(%edi)
2573	movl	%edx,12(%edi)
2574	movl	40(%esp),%ecx
2575	leal	16(%esi),%esi
2576	movl	%esi,32(%esp)
2577	leal	16(%edi),%edx
2578	movl	%edx,36(%esp)
2579	subl	$16,%ecx
2580	cmpl	$16,%ecx
2581	movl	%ecx,40(%esp)
2582	jae	.L033slow_enc_loop_x86
2583	testl	$15,%ecx
2584	jnz	.L030slow_enc_tail
2585	movl	48(%esp),%esi
2586	movl	8(%edi),%ecx
2587	movl	12(%edi),%edx
2588	movl	%eax,(%esi)
2589	movl	%ebx,4(%esi)
2590	movl	%ecx,8(%esi)
2591	movl	%edx,12(%esi)
2592	movl	28(%esp),%esp
2593	popfl
2594	popl	%edi
2595	popl	%esi
2596	popl	%ebx
2597	popl	%ebp
2598	ret
2599	pushfl
2600.align	16
2601.L030slow_enc_tail:
2602	emms
2603	movl	%edx,%edi
2604	movl	$16,%ebx
2605	subl	%ecx,%ebx
2606	cmpl	%esi,%edi
2607	je	.L034enc_in_place
2608.align	4
2609.long	2767451785
2610	jmp	.L035enc_skip_in_place
2611.L034enc_in_place:
2612	leal	(%edi,%ecx,1),%edi
2613.L035enc_skip_in_place:
2614	movl	%ebx,%ecx
2615	xorl	%eax,%eax
2616.align	4
2617.long	2868115081
2618	movl	48(%esp),%edi
2619	movl	%edx,%esi
2620	movl	(%edi),%eax
2621	movl	4(%edi),%ebx
2622	movl	$16,40(%esp)
2623	jmp	.L033slow_enc_loop_x86
2624.align	16
2625.L029slow_decrypt:
2626	btl	$25,52(%esp)
2627	jnc	.L036slow_dec_loop_x86
2628.align	4
2629.L037slow_dec_loop_sse:
2630	movq	(%esi),%mm0
2631	movq	8(%esi),%mm4
2632	movl	44(%esp),%edi
2633	call	_sse_AES_decrypt_compact
2634	movl	32(%esp),%esi
2635	leal	60(%esp),%eax
2636	movl	36(%esp),%ebx
2637	movl	40(%esp),%ecx
2638	movl	48(%esp),%edi
2639	movq	(%esi),%mm1
2640	movq	8(%esi),%mm5
2641	pxor	(%edi),%mm0
2642	pxor	8(%edi),%mm4
2643	movq	%mm1,(%edi)
2644	movq	%mm5,8(%edi)
2645	subl	$16,%ecx
2646	jc	.L038slow_dec_partial_sse
2647	movq	%mm0,(%ebx)
2648	movq	%mm4,8(%ebx)
2649	leal	16(%ebx),%ebx
2650	movl	%ebx,36(%esp)
2651	leal	16(%esi),%esi
2652	movl	%esi,32(%esp)
2653	movl	%ecx,40(%esp)
2654	jnz	.L037slow_dec_loop_sse
2655	emms
2656	movl	28(%esp),%esp
2657	popfl
2658	popl	%edi
2659	popl	%esi
2660	popl	%ebx
2661	popl	%ebp
2662	ret
2663	pushfl
2664.align	16
2665.L038slow_dec_partial_sse:
2666	movq	%mm0,(%eax)
2667	movq	%mm4,8(%eax)
2668	emms
2669	addl	$16,%ecx
2670	movl	%ebx,%edi
2671	movl	%eax,%esi
2672.align	4
2673.long	2767451785
2674	movl	28(%esp),%esp
2675	popfl
2676	popl	%edi
2677	popl	%esi
2678	popl	%ebx
2679	popl	%ebp
2680	ret
2681	pushfl
2682.align	16
2683.L036slow_dec_loop_x86:
2684	movl	(%esi),%eax
2685	movl	4(%esi),%ebx
2686	movl	8(%esi),%ecx
2687	movl	12(%esi),%edx
2688	leal	60(%esp),%edi
2689	movl	%eax,(%edi)
2690	movl	%ebx,4(%edi)
2691	movl	%ecx,8(%edi)
2692	movl	%edx,12(%edi)
2693	movl	44(%esp),%edi
2694	call	_x86_AES_decrypt_compact
2695	movl	48(%esp),%edi
2696	movl	40(%esp),%esi
2697	xorl	(%edi),%eax
2698	xorl	4(%edi),%ebx
2699	xorl	8(%edi),%ecx
2700	xorl	12(%edi),%edx
2701	subl	$16,%esi
2702	jc	.L039slow_dec_partial_x86
2703	movl	%esi,40(%esp)
2704	movl	36(%esp),%esi
2705	movl	%eax,(%esi)
2706	movl	%ebx,4(%esi)
2707	movl	%ecx,8(%esi)
2708	movl	%edx,12(%esi)
2709	leal	16(%esi),%esi
2710	movl	%esi,36(%esp)
2711	leal	60(%esp),%esi
2712	movl	(%esi),%eax
2713	movl	4(%esi),%ebx
2714	movl	8(%esi),%ecx
2715	movl	12(%esi),%edx
2716	movl	%eax,(%edi)
2717	movl	%ebx,4(%edi)
2718	movl	%ecx,8(%edi)
2719	movl	%edx,12(%edi)
2720	movl	32(%esp),%esi
2721	leal	16(%esi),%esi
2722	movl	%esi,32(%esp)
2723	jnz	.L036slow_dec_loop_x86
2724	movl	28(%esp),%esp
2725	popfl
2726	popl	%edi
2727	popl	%esi
2728	popl	%ebx
2729	popl	%ebp
2730	ret
2731	pushfl
2732.align	16
2733.L039slow_dec_partial_x86:
2734	leal	60(%esp),%esi
2735	movl	%eax,(%esi)
2736	movl	%ebx,4(%esi)
2737	movl	%ecx,8(%esi)
2738	movl	%edx,12(%esi)
2739	movl	32(%esp),%esi
2740	movl	(%esi),%eax
2741	movl	4(%esi),%ebx
2742	movl	8(%esi),%ecx
2743	movl	12(%esi),%edx
2744	movl	%eax,(%edi)
2745	movl	%ebx,4(%edi)
2746	movl	%ecx,8(%edi)
2747	movl	%edx,12(%edi)
2748	movl	40(%esp),%ecx
2749	movl	36(%esp),%edi
2750	leal	60(%esp),%esi
2751.align	4
2752.long	2767451785
2753	movl	28(%esp),%esp
2754	popfl
2755	popl	%edi
2756	popl	%esi
2757	popl	%ebx
2758	popl	%ebp
2759	ret
2760.size	AES_cbc_encrypt,.-.L_AES_cbc_encrypt_begin
2761.type	_x86_AES_set_encrypt_key,@function
2762.align	16
2763_x86_AES_set_encrypt_key:
2764	pushl	%ebp
2765	pushl	%ebx
2766	pushl	%esi
2767	pushl	%edi
2768	movl	24(%esp),%esi
2769	movl	32(%esp),%edi
2770	testl	$-1,%esi
2771	jz	.L040badpointer
2772	testl	$-1,%edi
2773	jz	.L040badpointer
2774	call	.L041pic_point
2775.L041pic_point:
2776	popl	%ebp
2777	leal	.LAES_Te-.L041pic_point(%ebp),%ebp
2778	leal	2176(%ebp),%ebp
2779	movl	-128(%ebp),%eax
2780	movl	-96(%ebp),%ebx
2781	movl	-64(%ebp),%ecx
2782	movl	-32(%ebp),%edx
2783	movl	(%ebp),%eax
2784	movl	32(%ebp),%ebx
2785	movl	64(%ebp),%ecx
2786	movl	96(%ebp),%edx
2787	movl	28(%esp),%ecx
2788	cmpl	$128,%ecx
2789	je	.L04210rounds
2790	cmpl	$192,%ecx
2791	je	.L04312rounds
2792	cmpl	$256,%ecx
2793	je	.L04414rounds
2794	movl	$-2,%eax
2795	jmp	.L045exit
2796.L04210rounds:
2797	movl	(%esi),%eax
2798	movl	4(%esi),%ebx
2799	movl	8(%esi),%ecx
2800	movl	12(%esi),%edx
2801	movl	%eax,(%edi)
2802	movl	%ebx,4(%edi)
2803	movl	%ecx,8(%edi)
2804	movl	%edx,12(%edi)
2805	xorl	%ecx,%ecx
2806	jmp	.L04610shortcut
2807.align	4
2808.L04710loop:
2809	movl	(%edi),%eax
2810	movl	12(%edi),%edx
2811.L04610shortcut:
2812	movzbl	%dl,%esi
2813	movzbl	-128(%ebp,%esi,1),%ebx
2814	movzbl	%dh,%esi
2815	shll	$24,%ebx
2816	xorl	%ebx,%eax
2817	movzbl	-128(%ebp,%esi,1),%ebx
2818	shrl	$16,%edx
2819	movzbl	%dl,%esi
2820	xorl	%ebx,%eax
2821	movzbl	-128(%ebp,%esi,1),%ebx
2822	movzbl	%dh,%esi
2823	shll	$8,%ebx
2824	xorl	%ebx,%eax
2825	movzbl	-128(%ebp,%esi,1),%ebx
2826	shll	$16,%ebx
2827	xorl	%ebx,%eax
2828	xorl	896(%ebp,%ecx,4),%eax
2829	movl	%eax,16(%edi)
2830	xorl	4(%edi),%eax
2831	movl	%eax,20(%edi)
2832	xorl	8(%edi),%eax
2833	movl	%eax,24(%edi)
2834	xorl	12(%edi),%eax
2835	movl	%eax,28(%edi)
2836	incl	%ecx
2837	addl	$16,%edi
2838	cmpl	$10,%ecx
2839	jl	.L04710loop
2840	movl	$10,80(%edi)
2841	xorl	%eax,%eax
2842	jmp	.L045exit
2843.L04312rounds:
2844	movl	(%esi),%eax
2845	movl	4(%esi),%ebx
2846	movl	8(%esi),%ecx
2847	movl	12(%esi),%edx
2848	movl	%eax,(%edi)
2849	movl	%ebx,4(%edi)
2850	movl	%ecx,8(%edi)
2851	movl	%edx,12(%edi)
2852	movl	16(%esi),%ecx
2853	movl	20(%esi),%edx
2854	movl	%ecx,16(%edi)
2855	movl	%edx,20(%edi)
2856	xorl	%ecx,%ecx
2857	jmp	.L04812shortcut
2858.align	4
2859.L04912loop:
2860	movl	(%edi),%eax
2861	movl	20(%edi),%edx
2862.L04812shortcut:
2863	movzbl	%dl,%esi
2864	movzbl	-128(%ebp,%esi,1),%ebx
2865	movzbl	%dh,%esi
2866	shll	$24,%ebx
2867	xorl	%ebx,%eax
2868	movzbl	-128(%ebp,%esi,1),%ebx
2869	shrl	$16,%edx
2870	movzbl	%dl,%esi
2871	xorl	%ebx,%eax
2872	movzbl	-128(%ebp,%esi,1),%ebx
2873	movzbl	%dh,%esi
2874	shll	$8,%ebx
2875	xorl	%ebx,%eax
2876	movzbl	-128(%ebp,%esi,1),%ebx
2877	shll	$16,%ebx
2878	xorl	%ebx,%eax
2879	xorl	896(%ebp,%ecx,4),%eax
2880	movl	%eax,24(%edi)
2881	xorl	4(%edi),%eax
2882	movl	%eax,28(%edi)
2883	xorl	8(%edi),%eax
2884	movl	%eax,32(%edi)
2885	xorl	12(%edi),%eax
2886	movl	%eax,36(%edi)
2887	cmpl	$7,%ecx
2888	je	.L05012break
2889	incl	%ecx
2890	xorl	16(%edi),%eax
2891	movl	%eax,40(%edi)
2892	xorl	20(%edi),%eax
2893	movl	%eax,44(%edi)
2894	addl	$24,%edi
2895	jmp	.L04912loop
2896.L05012break:
2897	movl	$12,72(%edi)
2898	xorl	%eax,%eax
2899	jmp	.L045exit
2900.L04414rounds:
2901	movl	(%esi),%eax
2902	movl	4(%esi),%ebx
2903	movl	8(%esi),%ecx
2904	movl	12(%esi),%edx
2905	movl	%eax,(%edi)
2906	movl	%ebx,4(%edi)
2907	movl	%ecx,8(%edi)
2908	movl	%edx,12(%edi)
2909	movl	16(%esi),%eax
2910	movl	20(%esi),%ebx
2911	movl	24(%esi),%ecx
2912	movl	28(%esi),%edx
2913	movl	%eax,16(%edi)
2914	movl	%ebx,20(%edi)
2915	movl	%ecx,24(%edi)
2916	movl	%edx,28(%edi)
2917	xorl	%ecx,%ecx
2918	jmp	.L05114shortcut
2919.align	4
2920.L05214loop:
2921	movl	28(%edi),%edx
2922.L05114shortcut:
2923	movl	(%edi),%eax
2924	movzbl	%dl,%esi
2925	movzbl	-128(%ebp,%esi,1),%ebx
2926	movzbl	%dh,%esi
2927	shll	$24,%ebx
2928	xorl	%ebx,%eax
2929	movzbl	-128(%ebp,%esi,1),%ebx
2930	shrl	$16,%edx
2931	movzbl	%dl,%esi
2932	xorl	%ebx,%eax
2933	movzbl	-128(%ebp,%esi,1),%ebx
2934	movzbl	%dh,%esi
2935	shll	$8,%ebx
2936	xorl	%ebx,%eax
2937	movzbl	-128(%ebp,%esi,1),%ebx
2938	shll	$16,%ebx
2939	xorl	%ebx,%eax
2940	xorl	896(%ebp,%ecx,4),%eax
2941	movl	%eax,32(%edi)
2942	xorl	4(%edi),%eax
2943	movl	%eax,36(%edi)
2944	xorl	8(%edi),%eax
2945	movl	%eax,40(%edi)
2946	xorl	12(%edi),%eax
2947	movl	%eax,44(%edi)
2948	cmpl	$6,%ecx
2949	je	.L05314break
2950	incl	%ecx
2951	movl	%eax,%edx
2952	movl	16(%edi),%eax
2953	movzbl	%dl,%esi
2954	movzbl	-128(%ebp,%esi,1),%ebx
2955	movzbl	%dh,%esi
2956	xorl	%ebx,%eax
2957	movzbl	-128(%ebp,%esi,1),%ebx
2958	shrl	$16,%edx
2959	shll	$8,%ebx
2960	movzbl	%dl,%esi
2961	xorl	%ebx,%eax
2962	movzbl	-128(%ebp,%esi,1),%ebx
2963	movzbl	%dh,%esi
2964	shll	$16,%ebx
2965	xorl	%ebx,%eax
2966	movzbl	-128(%ebp,%esi,1),%ebx
2967	shll	$24,%ebx
2968	xorl	%ebx,%eax
2969	movl	%eax,48(%edi)
2970	xorl	20(%edi),%eax
2971	movl	%eax,52(%edi)
2972	xorl	24(%edi),%eax
2973	movl	%eax,56(%edi)
2974	xorl	28(%edi),%eax
2975	movl	%eax,60(%edi)
2976	addl	$32,%edi
2977	jmp	.L05214loop
2978.L05314break:
2979	movl	$14,48(%edi)
2980	xorl	%eax,%eax
2981	jmp	.L045exit
2982.L040badpointer:
2983	movl	$-1,%eax
2984.L045exit:
2985	popl	%edi
2986	popl	%esi
2987	popl	%ebx
2988	popl	%ebp
2989	ret
2990.size	_x86_AES_set_encrypt_key,.-_x86_AES_set_encrypt_key
2991.globl	private_AES_set_encrypt_key
2992.type	private_AES_set_encrypt_key,@function
2993.align	16
2994private_AES_set_encrypt_key:
2995.L_private_AES_set_encrypt_key_begin:
2996	call	_x86_AES_set_encrypt_key
2997	ret
2998.size	private_AES_set_encrypt_key,.-.L_private_AES_set_encrypt_key_begin
2999.globl	private_AES_set_decrypt_key
3000.type	private_AES_set_decrypt_key,@function
3001.align	16
3002private_AES_set_decrypt_key:
3003.L_private_AES_set_decrypt_key_begin:
3004	call	_x86_AES_set_encrypt_key
3005	cmpl	$0,%eax
3006	je	.L054proceed
3007	ret
3008.L054proceed:
3009	pushl	%ebp
3010	pushl	%ebx
3011	pushl	%esi
3012	pushl	%edi
3013	movl	28(%esp),%esi
3014	movl	240(%esi),%ecx
3015	leal	(,%ecx,4),%ecx
3016	leal	(%esi,%ecx,4),%edi
3017.align	4
3018.L055invert:
3019	movl	(%esi),%eax
3020	movl	4(%esi),%ebx
3021	movl	(%edi),%ecx
3022	movl	4(%edi),%edx
3023	movl	%eax,(%edi)
3024	movl	%ebx,4(%edi)
3025	movl	%ecx,(%esi)
3026	movl	%edx,4(%esi)
3027	movl	8(%esi),%eax
3028	movl	12(%esi),%ebx
3029	movl	8(%edi),%ecx
3030	movl	12(%edi),%edx
3031	movl	%eax,8(%edi)
3032	movl	%ebx,12(%edi)
3033	movl	%ecx,8(%esi)
3034	movl	%edx,12(%esi)
3035	addl	$16,%esi
3036	subl	$16,%edi
3037	cmpl	%edi,%esi
3038	jne	.L055invert
3039	movl	28(%esp),%edi
3040	movl	240(%edi),%esi
3041	leal	-2(%esi,%esi,1),%esi
3042	leal	(%edi,%esi,8),%esi
3043	movl	%esi,28(%esp)
3044	movl	16(%edi),%eax
3045.align	4
3046.L056permute:
3047	addl	$16,%edi
3048	movl	%eax,%esi
3049	andl	$2155905152,%esi
3050	movl	%esi,%ebp
3051	shrl	$7,%ebp
3052	leal	(%eax,%eax,1),%ebx
3053	subl	%ebp,%esi
3054	andl	$4278124286,%ebx
3055	andl	$454761243,%esi
3056	xorl	%ebx,%esi
3057	movl	%esi,%ebx
3058	andl	$2155905152,%esi
3059	movl	%esi,%ebp
3060	shrl	$7,%ebp
3061	leal	(%ebx,%ebx,1),%ecx
3062	subl	%ebp,%esi
3063	andl	$4278124286,%ecx
3064	andl	$454761243,%esi
3065	xorl	%eax,%ebx
3066	xorl	%ecx,%esi
3067	movl	%esi,%ecx
3068	andl	$2155905152,%esi
3069	movl	%esi,%ebp
3070	shrl	$7,%ebp
3071	leal	(%ecx,%ecx,1),%edx
3072	xorl	%eax,%ecx
3073	subl	%ebp,%esi
3074	andl	$4278124286,%edx
3075	andl	$454761243,%esi
3076	roll	$8,%eax
3077	xorl	%esi,%edx
3078	movl	4(%edi),%ebp
3079	xorl	%ebx,%eax
3080	xorl	%edx,%ebx
3081	xorl	%ecx,%eax
3082	roll	$24,%ebx
3083	xorl	%edx,%ecx
3084	xorl	%edx,%eax
3085	roll	$16,%ecx
3086	xorl	%ebx,%eax
3087	roll	$8,%edx
3088	xorl	%ecx,%eax
3089	movl	%ebp,%ebx
3090	xorl	%edx,%eax
3091	movl	%eax,(%edi)
3092	movl	%ebx,%esi
3093	andl	$2155905152,%esi
3094	movl	%esi,%ebp
3095	shrl	$7,%ebp
3096	leal	(%ebx,%ebx,1),%ecx
3097	subl	%ebp,%esi
3098	andl	$4278124286,%ecx
3099	andl	$454761243,%esi
3100	xorl	%ecx,%esi
3101	movl	%esi,%ecx
3102	andl	$2155905152,%esi
3103	movl	%esi,%ebp
3104	shrl	$7,%ebp
3105	leal	(%ecx,%ecx,1),%edx
3106	subl	%ebp,%esi
3107	andl	$4278124286,%edx
3108	andl	$454761243,%esi
3109	xorl	%ebx,%ecx
3110	xorl	%edx,%esi
3111	movl	%esi,%edx
3112	andl	$2155905152,%esi
3113	movl	%esi,%ebp
3114	shrl	$7,%ebp
3115	leal	(%edx,%edx,1),%eax
3116	xorl	%ebx,%edx
3117	subl	%ebp,%esi
3118	andl	$4278124286,%eax
3119	andl	$454761243,%esi
3120	roll	$8,%ebx
3121	xorl	%esi,%eax
3122	movl	8(%edi),%ebp
3123	xorl	%ecx,%ebx
3124	xorl	%eax,%ecx
3125	xorl	%edx,%ebx
3126	roll	$24,%ecx
3127	xorl	%eax,%edx
3128	xorl	%eax,%ebx
3129	roll	$16,%edx
3130	xorl	%ecx,%ebx
3131	roll	$8,%eax
3132	xorl	%edx,%ebx
3133	movl	%ebp,%ecx
3134	xorl	%eax,%ebx
3135	movl	%ebx,4(%edi)
3136	movl	%ecx,%esi
3137	andl	$2155905152,%esi
3138	movl	%esi,%ebp
3139	shrl	$7,%ebp
3140	leal	(%ecx,%ecx,1),%edx
3141	subl	%ebp,%esi
3142	andl	$4278124286,%edx
3143	andl	$454761243,%esi
3144	xorl	%edx,%esi
3145	movl	%esi,%edx
3146	andl	$2155905152,%esi
3147	movl	%esi,%ebp
3148	shrl	$7,%ebp
3149	leal	(%edx,%edx,1),%eax
3150	subl	%ebp,%esi
3151	andl	$4278124286,%eax
3152	andl	$454761243,%esi
3153	xorl	%ecx,%edx
3154	xorl	%eax,%esi
3155	movl	%esi,%eax
3156	andl	$2155905152,%esi
3157	movl	%esi,%ebp
3158	shrl	$7,%ebp
3159	leal	(%eax,%eax,1),%ebx
3160	xorl	%ecx,%eax
3161	subl	%ebp,%esi
3162	andl	$4278124286,%ebx
3163	andl	$454761243,%esi
3164	roll	$8,%ecx
3165	xorl	%esi,%ebx
3166	movl	12(%edi),%ebp
3167	xorl	%edx,%ecx
3168	xorl	%ebx,%edx
3169	xorl	%eax,%ecx
3170	roll	$24,%edx
3171	xorl	%ebx,%eax
3172	xorl	%ebx,%ecx
3173	roll	$16,%eax
3174	xorl	%edx,%ecx
3175	roll	$8,%ebx
3176	xorl	%eax,%ecx
3177	movl	%ebp,%edx
3178	xorl	%ebx,%ecx
3179	movl	%ecx,8(%edi)
3180	movl	%edx,%esi
3181	andl	$2155905152,%esi
3182	movl	%esi,%ebp
3183	shrl	$7,%ebp
3184	leal	(%edx,%edx,1),%eax
3185	subl	%ebp,%esi
3186	andl	$4278124286,%eax
3187	andl	$454761243,%esi
3188	xorl	%eax,%esi
3189	movl	%esi,%eax
3190	andl	$2155905152,%esi
3191	movl	%esi,%ebp
3192	shrl	$7,%ebp
3193	leal	(%eax,%eax,1),%ebx
3194	subl	%ebp,%esi
3195	andl	$4278124286,%ebx
3196	andl	$454761243,%esi
3197	xorl	%edx,%eax
3198	xorl	%ebx,%esi
3199	movl	%esi,%ebx
3200	andl	$2155905152,%esi
3201	movl	%esi,%ebp
3202	shrl	$7,%ebp
3203	leal	(%ebx,%ebx,1),%ecx
3204	xorl	%edx,%ebx
3205	subl	%ebp,%esi
3206	andl	$4278124286,%ecx
3207	andl	$454761243,%esi
3208	roll	$8,%edx
3209	xorl	%esi,%ecx
3210	movl	16(%edi),%ebp
3211	xorl	%eax,%edx
3212	xorl	%ecx,%eax
3213	xorl	%ebx,%edx
3214	roll	$24,%eax
3215	xorl	%ecx,%ebx
3216	xorl	%ecx,%edx
3217	roll	$16,%ebx
3218	xorl	%eax,%edx
3219	roll	$8,%ecx
3220	xorl	%ebx,%edx
3221	movl	%ebp,%eax
3222	xorl	%ecx,%edx
3223	movl	%edx,12(%edi)
3224	cmpl	28(%esp),%edi
3225	jb	.L056permute
3226	xorl	%eax,%eax
3227	popl	%edi
3228	popl	%esi
3229	popl	%ebx
3230	popl	%ebp
3231	ret
3232.size	private_AES_set_decrypt_key,.-.L_private_AES_set_decrypt_key_begin
3233.byte	65,69,83,32,102,111,114,32,120,56,54,44,32,67,82,89
3234.byte	80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114
3235.byte	111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
3236.comm	OPENSSL_ia32cap_P,8,4
3237