aes-586.S revision c58cd0fd2cebb61b0e0f200e01562c542525ef46
1c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.file	"aes-586.s"
2c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.text
3c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.type	_x86_AES_encrypt_compact,@function
4c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	16
5c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita_x86_AES_encrypt_compact:
6c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edi,20(%esp)
7c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	(%edi),%eax
8c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	4(%edi),%ebx
9c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	8(%edi),%ecx
10c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	12(%edi),%edx
11c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	240(%edi),%esi
12c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	-2(%esi,%esi,1),%esi
13c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	(%edi,%esi,8),%esi
14c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,24(%esp)
15c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	-128(%ebp),%edi
16c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	-96(%ebp),%esi
17c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	-64(%ebp),%edi
18c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	-32(%ebp),%esi
19c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	(%ebp),%edi
20c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	32(%ebp),%esi
21c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	64(%ebp),%edi
22c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	96(%ebp),%esi
23c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	16
24c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L000loop:
25c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,%esi
26c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%esi
27c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%esi
28c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%bh,%edi
29c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%edi,1),%edi
30c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$8,%edi
31c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
32c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,%edi
33c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$16,%edi
34c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%edi
35c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%edi,1),%edi
36c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$16,%edi
37c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
38c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,%edi
39c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$24,%edi
40c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%edi,1),%edi
41c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$24,%edi
42c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
43c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,4(%esp)
44c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita
45c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebx,%esi
46c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%esi
47c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$16,%ebx
48c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%esi
49c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%ch,%edi
50c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%edi,1),%edi
51c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$8,%edi
52c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
53c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,%edi
54c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$16,%edi
55c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%edi
56c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%edi,1),%edi
57c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$16,%edi
58c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
59c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,%edi
60c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$24,%edi
61c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%edi,1),%edi
62c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$24,%edi
63c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
64c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,8(%esp)
65c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita
66c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,%esi
67c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%esi
68c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$24,%ecx
69c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%esi
70c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%dh,%edi
71c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%edi,1),%edi
72c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$8,%edi
73c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
74c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,%edi
75c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$16,%edi
76c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%edx
77c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%edi
78c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%edi,1),%edi
79c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$16,%edi
80c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
81c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%bh,%edi
82c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%edi,1),%edi
83c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$24,%edi
84c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
85c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita
86c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%edx
87c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%edx,1),%edx
88c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%ah,%eax
89c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%eax,1),%eax
90c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$8,%eax
91c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%eax,%edx
92c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	4(%esp),%eax
93c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%ebx
94c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%ebx,1),%ebx
95c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$16,%ebx
96c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebx,%edx
97c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	8(%esp),%ebx
98c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%ecx,1),%ecx
99c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$24,%ecx
100c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ecx,%edx
101c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%ecx
102c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita
103c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,%esi
104c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$2155905152,%esi
105c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%ebp
106c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$7,%ebp
107c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	(%ecx,%ecx,1),%edi
108c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	%ebp,%esi
109c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$4278124286,%edi
110c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$454761243,%esi
111c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,%ebp
112c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
113c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%esi,%ecx
114c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	roll	$24,%ecx
115c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%esi,%ecx
116c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	rorl	$16,%ebp
117c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebp,%ecx
118c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	rorl	$8,%ebp
119c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebp,%ecx
120c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,%esi
121c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$2155905152,%esi
122c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%ebp
123c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$7,%ebp
124c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	(%edx,%edx,1),%edi
125c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	%ebp,%esi
126c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$4278124286,%edi
127c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$454761243,%esi
128c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,%ebp
129c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
130c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%esi,%edx
131c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	roll	$24,%edx
132c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%esi,%edx
133c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	rorl	$16,%ebp
134c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebp,%edx
135c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	rorl	$8,%ebp
136c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebp,%edx
137c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,%esi
138c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$2155905152,%esi
139c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%ebp
140c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$7,%ebp
141c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	(%eax,%eax,1),%edi
142c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	%ebp,%esi
143c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$4278124286,%edi
144c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$454761243,%esi
145c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,%ebp
146c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
147c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%esi,%eax
148c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	roll	$24,%eax
149c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%esi,%eax
150c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	rorl	$16,%ebp
151c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebp,%eax
152c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	rorl	$8,%ebp
153c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebp,%eax
154c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebx,%esi
155c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$2155905152,%esi
156c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%ebp
157c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$7,%ebp
158c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	(%ebx,%ebx,1),%edi
159c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	%ebp,%esi
160c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$4278124286,%edi
161c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$454761243,%esi
162c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebx,%ebp
163c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
164c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%esi,%ebx
165c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	roll	$24,%ebx
166c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%esi,%ebx
167c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	rorl	$16,%ebp
168c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebp,%ebx
169c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	rorl	$8,%ebp
170c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebp,%ebx
171c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	20(%esp),%edi
172c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	28(%esp),%ebp
173c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	addl	$16,%edi
174c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	(%edi),%eax
175c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	4(%edi),%ebx
176c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	8(%edi),%ecx
177c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	12(%edi),%edx
178c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	cmpl	24(%esp),%edi
179c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edi,20(%esp)
180c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	jb	.L000loop
181c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,%esi
182c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%esi
183c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%esi
184c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%bh,%edi
185c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%edi,1),%edi
186c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$8,%edi
187c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
188c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,%edi
189c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$16,%edi
190c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%edi
191c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%edi,1),%edi
192c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$16,%edi
193c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
194c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,%edi
195c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$24,%edi
196c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%edi,1),%edi
197c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$24,%edi
198c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
199c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,4(%esp)
200c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita
201c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebx,%esi
202c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%esi
203c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$16,%ebx
204c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%esi
205c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%ch,%edi
206c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%edi,1),%edi
207c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$8,%edi
208c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
209c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,%edi
210c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$16,%edi
211c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%edi
212c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%edi,1),%edi
213c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$16,%edi
214c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
215c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,%edi
216c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$24,%edi
217c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%edi,1),%edi
218c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$24,%edi
219c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
220c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,8(%esp)
221c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita
222c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,%esi
223c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%esi
224c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$24,%ecx
225c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%esi
226c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%dh,%edi
227c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%edi,1),%edi
228c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$8,%edi
229c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
230c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,%edi
231c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$16,%edi
232c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%edx
233c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%edi
234c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%edi,1),%edi
235c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$16,%edi
236c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
237c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%bh,%edi
238c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%edi,1),%edi
239c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$24,%edi
240c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
241c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita
242c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	20(%esp),%edi
243c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%edx
244c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%edx,1),%edx
245c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%ah,%eax
246c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%eax,1),%eax
247c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$8,%eax
248c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%eax,%edx
249c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	4(%esp),%eax
250c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%ebx
251c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%ebx,1),%ebx
252c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$16,%ebx
253c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebx,%edx
254c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	8(%esp),%ebx
255c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%ecx,1),%ecx
256c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$24,%ecx
257c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ecx,%edx
258c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%ecx
259c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita
260c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	16(%edi),%eax
261c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	20(%edi),%ebx
262c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	24(%edi),%ecx
263c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	28(%edi),%edx
264c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	ret
265c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.size	_x86_AES_encrypt_compact,.-_x86_AES_encrypt_compact
266c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.type	_sse_AES_encrypt_compact,@function
267c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	16
268c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita_sse_AES_encrypt_compact:
269c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	(%edi),%mm0
270c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	8(%edi),%mm4
271c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	240(%edi),%esi
272c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	-2(%esi,%esi,1),%esi
273c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	(%edi,%esi,8),%esi
274c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,24(%esp)
275c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	$454761243,%eax
276c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,8(%esp)
277c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,12(%esp)
278c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	-128(%ebp),%eax
279c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	-96(%ebp),%ebx
280c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	-64(%ebp),%ecx
281c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	-32(%ebp),%edx
282c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	(%ebp),%eax
283c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	32(%ebp),%ebx
284c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	64(%ebp),%ecx
285c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	96(%ebp),%edx
286c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	16
287c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L001loop:
288c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pshufw	$8,%mm0,%mm1
289c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pshufw	$13,%mm4,%mm5
290c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movd	%mm1,%eax
291c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movd	%mm5,%ebx
292c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%al,%esi
293c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%ecx
294c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pshufw	$13,%mm0,%mm2
295c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%ah,%edx
296c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%edx,1),%edx
297c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$8,%edx
298c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$16,%eax
299c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%bl,%esi
300c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%esi
301c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$16,%esi
302c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	orl	%esi,%ecx
303c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pshufw	$8,%mm4,%mm6
304c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%bh,%esi
305c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%esi
306c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$24,%esi
307c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	orl	%esi,%edx
308c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$16,%ebx
309c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%ah,%esi
310c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%esi
311c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$8,%esi
312c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	orl	%esi,%ecx
313c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%bh,%esi
314c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%esi
315c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$24,%esi
316c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	orl	%esi,%ecx
317c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movd	%ecx,%mm0
318c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%al,%esi
319c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%ecx
320c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movd	%mm2,%eax
321c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%bl,%esi
322c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%esi
323c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$16,%esi
324c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	orl	%esi,%ecx
325c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movd	%mm6,%ebx
326c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%ah,%esi
327c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%esi
328c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$24,%esi
329c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	orl	%esi,%ecx
330c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%bh,%esi
331c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%esi
332c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$8,%esi
333c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	orl	%esi,%ecx
334c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movd	%ecx,%mm1
335c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%bl,%esi
336c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%ecx
337c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$16,%ebx
338c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%al,%esi
339c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%esi
340c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$16,%esi
341c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	orl	%esi,%ecx
342c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$16,%eax
343c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	punpckldq	%mm1,%mm0
344c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%ah,%esi
345c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%esi
346c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$24,%esi
347c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	orl	%esi,%ecx
348c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%eax
349c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%eax,1),%eax
350c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$16,%eax
351c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	orl	%eax,%edx
352c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%bh,%esi
353c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%esi
354c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$8,%esi
355c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	orl	%esi,%ecx
356c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movd	%ecx,%mm4
357c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%ebx
358c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%ebx,1),%ebx
359c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	orl	%ebx,%edx
360c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movd	%edx,%mm5
361c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	punpckldq	%mm5,%mm4
362c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	addl	$16,%edi
363c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	cmpl	24(%esp),%edi
364c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	ja	.L002out
365c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movq	8(%esp),%mm2
366c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm3,%mm3
367c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm7,%mm7
368c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movq	%mm0,%mm1
369c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movq	%mm4,%mm5
370c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pcmpgtb	%mm0,%mm3
371c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pcmpgtb	%mm4,%mm7
372c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pand	%mm2,%mm3
373c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pand	%mm2,%mm7
374c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pshufw	$177,%mm0,%mm2
375c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pshufw	$177,%mm4,%mm6
376c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	paddb	%mm0,%mm0
377c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	paddb	%mm4,%mm4
378c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm3,%mm0
379c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm7,%mm4
380c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pshufw	$177,%mm2,%mm3
381c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pshufw	$177,%mm6,%mm7
382c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm0,%mm1
383c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm4,%mm5
384c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm2,%mm0
385c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm6,%mm4
386c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movq	%mm3,%mm2
387c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movq	%mm7,%mm6
388c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pslld	$8,%mm3
389c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pslld	$8,%mm7
390c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	psrld	$24,%mm2
391c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	psrld	$24,%mm6
392c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm3,%mm0
393c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm7,%mm4
394c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm2,%mm0
395c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm6,%mm4
396c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movq	%mm1,%mm3
397c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movq	%mm5,%mm7
398c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movq	(%edi),%mm2
399c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movq	8(%edi),%mm6
400c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	psrld	$8,%mm1
401c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	psrld	$8,%mm5
402c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	-128(%ebp),%eax
403c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pslld	$24,%mm3
404c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pslld	$24,%mm7
405c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	-64(%ebp),%ebx
406c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm1,%mm0
407c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm5,%mm4
408c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	(%ebp),%ecx
409c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm3,%mm0
410c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm7,%mm4
411c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	64(%ebp),%edx
412c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm2,%mm0
413c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm6,%mm4
414c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	jmp	.L001loop
415c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	16
416c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L002out:
417c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	(%edi),%mm0
418c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	8(%edi),%mm4
419c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	ret
420c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.size	_sse_AES_encrypt_compact,.-_sse_AES_encrypt_compact
421c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.type	_x86_AES_encrypt,@function
422c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	16
423c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita_x86_AES_encrypt:
424c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edi,20(%esp)
425c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	(%edi),%eax
426c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	4(%edi),%ebx
427c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	8(%edi),%ecx
428c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	12(%edi),%edx
429c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	240(%edi),%esi
430c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	-2(%esi,%esi,1),%esi
431c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	(%edi,%esi,8),%esi
432c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,24(%esp)
433c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	16
434c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L003loop:
435c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,%esi
436c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%esi
437c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	(%ebp,%esi,8),%esi
438c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%bh,%edi
439c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	3(%ebp,%edi,8),%esi
440c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,%edi
441c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$16,%edi
442c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%edi
443c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	2(%ebp,%edi,8),%esi
444c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,%edi
445c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$24,%edi
446c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	1(%ebp,%edi,8),%esi
447c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,4(%esp)
448c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita
449c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebx,%esi
450c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%esi
451c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$16,%ebx
452c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	(%ebp,%esi,8),%esi
453c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%ch,%edi
454c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	3(%ebp,%edi,8),%esi
455c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,%edi
456c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$16,%edi
457c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%edi
458c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	2(%ebp,%edi,8),%esi
459c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,%edi
460c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$24,%edi
461c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	1(%ebp,%edi,8),%esi
462c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,8(%esp)
463c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita
464c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,%esi
465c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%esi
466c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$24,%ecx
467c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	(%ebp,%esi,8),%esi
468c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%dh,%edi
469c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	3(%ebp,%edi,8),%esi
470c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,%edi
471c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$16,%edi
472c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%edx
473c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%edi
474c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	2(%ebp,%edi,8),%esi
475c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%bh,%edi
476c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	1(%ebp,%edi,8),%esi
477c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita
478c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	20(%esp),%edi
479c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	(%ebp,%edx,8),%edx
480c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%ah,%eax
481c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	3(%ebp,%eax,8),%edx
482c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	4(%esp),%eax
483c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%ebx
484c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	2(%ebp,%ebx,8),%edx
485c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	8(%esp),%ebx
486c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	1(%ebp,%ecx,8),%edx
487c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%ecx
488c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita
489c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	addl	$16,%edi
490c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	(%edi),%eax
491c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	4(%edi),%ebx
492c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	8(%edi),%ecx
493c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	12(%edi),%edx
494c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	cmpl	24(%esp),%edi
495c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edi,20(%esp)
496c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	jb	.L003loop
497c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,%esi
498c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%esi
499c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	2(%ebp,%esi,8),%esi
500c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%esi
501c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%bh,%edi
502c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	(%ebp,%edi,8),%edi
503c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$65280,%edi
504c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
505c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,%edi
506c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$16,%edi
507c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%edi
508c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	(%ebp,%edi,8),%edi
509c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$16711680,%edi
510c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
511c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,%edi
512c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$24,%edi
513c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	2(%ebp,%edi,8),%edi
514c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$4278190080,%edi
515c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
516c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,4(%esp)
517c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebx,%esi
518c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%esi
519c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$16,%ebx
520c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	2(%ebp,%esi,8),%esi
521c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%esi
522c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%ch,%edi
523c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	(%ebp,%edi,8),%edi
524c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$65280,%edi
525c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
526c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,%edi
527c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$16,%edi
528c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%edi
529c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	(%ebp,%edi,8),%edi
530c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$16711680,%edi
531c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
532c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,%edi
533c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$24,%edi
534c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	2(%ebp,%edi,8),%edi
535c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$4278190080,%edi
536c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
537c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,8(%esp)
538c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,%esi
539c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%esi
540c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$24,%ecx
541c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	2(%ebp,%esi,8),%esi
542c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%esi
543c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%dh,%edi
544c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	(%ebp,%edi,8),%edi
545c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$65280,%edi
546c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
547c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,%edi
548c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$16,%edi
549c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%edx
550c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%edi
551c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	(%ebp,%edi,8),%edi
552c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$16711680,%edi
553c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
554c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%bh,%edi
555c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	2(%ebp,%edi,8),%edi
556c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$4278190080,%edi
557c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
558c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	20(%esp),%edi
559c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%edx
560c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	2(%ebp,%edx,8),%edx
561c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%edx
562c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%ah,%eax
563c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	(%ebp,%eax,8),%eax
564c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$65280,%eax
565c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%eax,%edx
566c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	4(%esp),%eax
567c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%ebx
568c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	(%ebp,%ebx,8),%ebx
569c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$16711680,%ebx
570c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebx,%edx
571c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	8(%esp),%ebx
572c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	2(%ebp,%ecx,8),%ecx
573c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$4278190080,%ecx
574c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ecx,%edx
575c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%ecx
576c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	addl	$16,%edi
577c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	(%edi),%eax
578c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	4(%edi),%ebx
579c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	8(%edi),%ecx
580c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	12(%edi),%edx
581c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	ret
582c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	64
583c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.LAES_Te:
584c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2774754246,2774754246
585c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2222750968,2222750968
586c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2574743534,2574743534
587c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2373680118,2373680118
588c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	234025727,234025727
589c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3177933782,3177933782
590c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2976870366,2976870366
591c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1422247313,1422247313
592c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1345335392,1345335392
593c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	50397442,50397442
594c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2842126286,2842126286
595c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2099981142,2099981142
596c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	436141799,436141799
597c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1658312629,1658312629
598c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3870010189,3870010189
599c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2591454956,2591454956
600c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1170918031,1170918031
601c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2642575903,2642575903
602c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1086966153,1086966153
603c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2273148410,2273148410
604c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	368769775,368769775
605c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3948501426,3948501426
606c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3376891790,3376891790
607c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	200339707,200339707
608c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3970805057,3970805057
609c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1742001331,1742001331
610c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	4255294047,4255294047
611c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3937382213,3937382213
612c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3214711843,3214711843
613c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	4154762323,4154762323
614c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2524082916,2524082916
615c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1539358875,1539358875
616c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3266819957,3266819957
617c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	486407649,486407649
618c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2928907069,2928907069
619c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1780885068,1780885068
620c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1513502316,1513502316
621c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1094664062,1094664062
622c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	49805301,49805301
623c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1338821763,1338821763
624c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1546925160,1546925160
625c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	4104496465,4104496465
626c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	887481809,887481809
627c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	150073849,150073849
628c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2473685474,2473685474
629c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1943591083,1943591083
630c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1395732834,1395732834
631c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1058346282,1058346282
632c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	201589768,201589768
633c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1388824469,1388824469
634c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1696801606,1696801606
635c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1589887901,1589887901
636c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	672667696,672667696
637c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2711000631,2711000631
638c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	251987210,251987210
639c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3046808111,3046808111
640c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	151455502,151455502
641c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	907153956,907153956
642c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2608889883,2608889883
643c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1038279391,1038279391
644c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	652995533,652995533
645c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1764173646,1764173646
646c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3451040383,3451040383
647c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2675275242,2675275242
648c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	453576978,453576978
649c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2659418909,2659418909
650c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1949051992,1949051992
651c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	773462580,773462580
652c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	756751158,756751158
653c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2993581788,2993581788
654c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3998898868,3998898868
655c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	4221608027,4221608027
656c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	4132590244,4132590244
657c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1295727478,1295727478
658c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1641469623,1641469623
659c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3467883389,3467883389
660c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2066295122,2066295122
661c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1055122397,1055122397
662c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1898917726,1898917726
663c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2542044179,2542044179
664c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	4115878822,4115878822
665c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1758581177,1758581177
666c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	0,0
667c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	753790401,753790401
668c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1612718144,1612718144
669c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	536673507,536673507
670c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3367088505,3367088505
671c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3982187446,3982187446
672c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3194645204,3194645204
673c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1187761037,1187761037
674c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3653156455,3653156455
675c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1262041458,1262041458
676c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3729410708,3729410708
677c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3561770136,3561770136
678c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3898103984,3898103984
679c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1255133061,1255133061
680c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1808847035,1808847035
681c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	720367557,720367557
682c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3853167183,3853167183
683c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	385612781,385612781
684c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3309519750,3309519750
685c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3612167578,3612167578
686c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1429418854,1429418854
687c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2491778321,2491778321
688c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3477423498,3477423498
689c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	284817897,284817897
690c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	100794884,100794884
691c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2172616702,2172616702
692c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	4031795360,4031795360
693c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1144798328,1144798328
694c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3131023141,3131023141
695c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3819481163,3819481163
696c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	4082192802,4082192802
697c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	4272137053,4272137053
698c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3225436288,3225436288
699c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2324664069,2324664069
700c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2912064063,2912064063
701c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3164445985,3164445985
702c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1211644016,1211644016
703c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	83228145,83228145
704c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3753688163,3753688163
705c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3249976951,3249976951
706c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1977277103,1977277103
707c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1663115586,1663115586
708c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	806359072,806359072
709c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	452984805,452984805
710c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	250868733,250868733
711c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1842533055,1842533055
712c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1288555905,1288555905
713c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	336333848,336333848
714c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	890442534,890442534
715c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	804056259,804056259
716c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3781124030,3781124030
717c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2727843637,2727843637
718c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3427026056,3427026056
719c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	957814574,957814574
720c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1472513171,1472513171
721c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	4071073621,4071073621
722c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2189328124,2189328124
723c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1195195770,1195195770
724c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2892260552,2892260552
725c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3881655738,3881655738
726c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	723065138,723065138
727c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2507371494,2507371494
728c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2690670784,2690670784
729c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2558624025,2558624025
730c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3511635870,3511635870
731c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2145180835,2145180835
732c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1713513028,1713513028
733c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2116692564,2116692564
734c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2878378043,2878378043
735c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2206763019,2206763019
736c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3393603212,3393603212
737c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	703524551,703524551
738c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3552098411,3552098411
739c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1007948840,1007948840
740c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2044649127,2044649127
741c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3797835452,3797835452
742c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	487262998,487262998
743c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1994120109,1994120109
744c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1004593371,1004593371
745c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1446130276,1446130276
746c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1312438900,1312438900
747c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	503974420,503974420
748c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3679013266,3679013266
749c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	168166924,168166924
750c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1814307912,1814307912
751c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3831258296,3831258296
752c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1573044895,1573044895
753c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1859376061,1859376061
754c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	4021070915,4021070915
755c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2791465668,2791465668
756c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2828112185,2828112185
757c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2761266481,2761266481
758c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	937747667,937747667
759c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2339994098,2339994098
760c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	854058965,854058965
761c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1137232011,1137232011
762c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1496790894,1496790894
763c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3077402074,3077402074
764c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2358086913,2358086913
765c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1691735473,1691735473
766c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3528347292,3528347292
767c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3769215305,3769215305
768c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3027004632,3027004632
769c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	4199962284,4199962284
770c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	133494003,133494003
771c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	636152527,636152527
772c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2942657994,2942657994
773c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2390391540,2390391540
774c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3920539207,3920539207
775c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	403179536,403179536
776c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3585784431,3585784431
777c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2289596656,2289596656
778c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1864705354,1864705354
779c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1915629148,1915629148
780c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	605822008,605822008
781c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	4054230615,4054230615
782c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3350508659,3350508659
783c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1371981463,1371981463
784c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	602466507,602466507
785c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2094914977,2094914977
786c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2624877800,2624877800
787c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	555687742,555687742
788c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3712699286,3712699286
789c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3703422305,3703422305
790c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2257292045,2257292045
791c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2240449039,2240449039
792c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2423288032,2423288032
793c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1111375484,1111375484
794c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3300242801,3300242801
795c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2858837708,2858837708
796c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3628615824,3628615824
797c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	84083462,84083462
798c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	32962295,32962295
799c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	302911004,302911004
800c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2741068226,2741068226
801c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1597322602,1597322602
802c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	4183250862,4183250862
803c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3501832553,3501832553
804c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2441512471,2441512471
805c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1489093017,1489093017
806c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	656219450,656219450
807c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3114180135,3114180135
808c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	954327513,954327513
809c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	335083755,335083755
810c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3013122091,3013122091
811c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	856756514,856756514
812c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3144247762,3144247762
813c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1893325225,1893325225
814c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2307821063,2307821063
815c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2811532339,2811532339
816c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3063651117,3063651117
817c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	572399164,572399164
818c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2458355477,2458355477
819c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	552200649,552200649
820c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1238290055,1238290055
821c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	4283782570,4283782570
822c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2015897680,2015897680
823c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2061492133,2061492133
824c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2408352771,2408352771
825c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	4171342169,4171342169
826c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2156497161,2156497161
827c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	386731290,386731290
828c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3669999461,3669999461
829c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	837215959,837215959
830c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3326231172,3326231172
831c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3093850320,3093850320
832c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3275833730,3275833730
833c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2962856233,2962856233
834c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1999449434,1999449434
835c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	286199582,286199582
836c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3417354363,3417354363
837c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	4233385128,4233385128
838c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3602627437,3602627437
839c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	974525996,974525996
840c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	99,124,119,123,242,107,111,197
841c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	48,1,103,43,254,215,171,118
842c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	202,130,201,125,250,89,71,240
843c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	173,212,162,175,156,164,114,192
844c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	183,253,147,38,54,63,247,204
845c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	52,165,229,241,113,216,49,21
846c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	4,199,35,195,24,150,5,154
847c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	7,18,128,226,235,39,178,117
848c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	9,131,44,26,27,110,90,160
849c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	82,59,214,179,41,227,47,132
850c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	83,209,0,237,32,252,177,91
851c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	106,203,190,57,74,76,88,207
852c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	208,239,170,251,67,77,51,133
853c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	69,249,2,127,80,60,159,168
854c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	81,163,64,143,146,157,56,245
855c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	188,182,218,33,16,255,243,210
856c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	205,12,19,236,95,151,68,23
857c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	196,167,126,61,100,93,25,115
858c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	96,129,79,220,34,42,144,136
859c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	70,238,184,20,222,94,11,219
860c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	224,50,58,10,73,6,36,92
861c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	194,211,172,98,145,149,228,121
862c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	231,200,55,109,141,213,78,169
863c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	108,86,244,234,101,122,174,8
864c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	186,120,37,46,28,166,180,198
865c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	232,221,116,31,75,189,139,138
866c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	112,62,181,102,72,3,246,14
867c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	97,53,87,185,134,193,29,158
868c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	225,248,152,17,105,217,142,148
869c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	155,30,135,233,206,85,40,223
870c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	140,161,137,13,191,230,66,104
871c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	65,153,45,15,176,84,187,22
872c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	99,124,119,123,242,107,111,197
873c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	48,1,103,43,254,215,171,118
874c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	202,130,201,125,250,89,71,240
875c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	173,212,162,175,156,164,114,192
876c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	183,253,147,38,54,63,247,204
877c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	52,165,229,241,113,216,49,21
878c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	4,199,35,195,24,150,5,154
879c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	7,18,128,226,235,39,178,117
880c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	9,131,44,26,27,110,90,160
881c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	82,59,214,179,41,227,47,132
882c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	83,209,0,237,32,252,177,91
883c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	106,203,190,57,74,76,88,207
884c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	208,239,170,251,67,77,51,133
885c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	69,249,2,127,80,60,159,168
886c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	81,163,64,143,146,157,56,245
887c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	188,182,218,33,16,255,243,210
888c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	205,12,19,236,95,151,68,23
889c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	196,167,126,61,100,93,25,115
890c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	96,129,79,220,34,42,144,136
891c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	70,238,184,20,222,94,11,219
892c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	224,50,58,10,73,6,36,92
893c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	194,211,172,98,145,149,228,121
894c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	231,200,55,109,141,213,78,169
895c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	108,86,244,234,101,122,174,8
896c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	186,120,37,46,28,166,180,198
897c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	232,221,116,31,75,189,139,138
898c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	112,62,181,102,72,3,246,14
899c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	97,53,87,185,134,193,29,158
900c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	225,248,152,17,105,217,142,148
901c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	155,30,135,233,206,85,40,223
902c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	140,161,137,13,191,230,66,104
903c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	65,153,45,15,176,84,187,22
904c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	99,124,119,123,242,107,111,197
905c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	48,1,103,43,254,215,171,118
906c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	202,130,201,125,250,89,71,240
907c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	173,212,162,175,156,164,114,192
908c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	183,253,147,38,54,63,247,204
909c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	52,165,229,241,113,216,49,21
910c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	4,199,35,195,24,150,5,154
911c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	7,18,128,226,235,39,178,117
912c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	9,131,44,26,27,110,90,160
913c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	82,59,214,179,41,227,47,132
914c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	83,209,0,237,32,252,177,91
915c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	106,203,190,57,74,76,88,207
916c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	208,239,170,251,67,77,51,133
917c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	69,249,2,127,80,60,159,168
918c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	81,163,64,143,146,157,56,245
919c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	188,182,218,33,16,255,243,210
920c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	205,12,19,236,95,151,68,23
921c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	196,167,126,61,100,93,25,115
922c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	96,129,79,220,34,42,144,136
923c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	70,238,184,20,222,94,11,219
924c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	224,50,58,10,73,6,36,92
925c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	194,211,172,98,145,149,228,121
926c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	231,200,55,109,141,213,78,169
927c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	108,86,244,234,101,122,174,8
928c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	186,120,37,46,28,166,180,198
929c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	232,221,116,31,75,189,139,138
930c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	112,62,181,102,72,3,246,14
931c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	97,53,87,185,134,193,29,158
932c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	225,248,152,17,105,217,142,148
933c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	155,30,135,233,206,85,40,223
934c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	140,161,137,13,191,230,66,104
935c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	65,153,45,15,176,84,187,22
936c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	99,124,119,123,242,107,111,197
937c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	48,1,103,43,254,215,171,118
938c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	202,130,201,125,250,89,71,240
939c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	173,212,162,175,156,164,114,192
940c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	183,253,147,38,54,63,247,204
941c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	52,165,229,241,113,216,49,21
942c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	4,199,35,195,24,150,5,154
943c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	7,18,128,226,235,39,178,117
944c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	9,131,44,26,27,110,90,160
945c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	82,59,214,179,41,227,47,132
946c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	83,209,0,237,32,252,177,91
947c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	106,203,190,57,74,76,88,207
948c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	208,239,170,251,67,77,51,133
949c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	69,249,2,127,80,60,159,168
950c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	81,163,64,143,146,157,56,245
951c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	188,182,218,33,16,255,243,210
952c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	205,12,19,236,95,151,68,23
953c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	196,167,126,61,100,93,25,115
954c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	96,129,79,220,34,42,144,136
955c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	70,238,184,20,222,94,11,219
956c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	224,50,58,10,73,6,36,92
957c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	194,211,172,98,145,149,228,121
958c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	231,200,55,109,141,213,78,169
959c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	108,86,244,234,101,122,174,8
960c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	186,120,37,46,28,166,180,198
961c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	232,221,116,31,75,189,139,138
962c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	112,62,181,102,72,3,246,14
963c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	97,53,87,185,134,193,29,158
964c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	225,248,152,17,105,217,142,148
965c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	155,30,135,233,206,85,40,223
966c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	140,161,137,13,191,230,66,104
967c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	65,153,45,15,176,84,187,22
968c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1,2,4,8
969c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	16,32,64,128
970c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	27,54,0,0
971c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	0,0,0,0
972c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.size	_x86_AES_encrypt,.-_x86_AES_encrypt
973c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.globl	AES_encrypt
974c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.type	AES_encrypt,@function
975c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	16
976c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin IonitaAES_encrypt:
977c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L_AES_encrypt_begin:
978c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pushl	%ebp
979c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pushl	%ebx
980c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pushl	%esi
981c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pushl	%edi
982c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	20(%esp),%esi
983c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	28(%esp),%edi
984c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esp,%eax
985c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	$36,%esp
986c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$-64,%esp
987c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	-127(%edi),%ebx
988c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	%esp,%ebx
989c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	negl	%ebx
990c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$960,%ebx
991c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	%ebx,%esp
992c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	addl	$4,%esp
993c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,28(%esp)
994c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	call	.L004pic_point
995c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L004pic_point:
996c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%ebp
997c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	OPENSSL_ia32cap_P,%eax
998c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	.LAES_Te-.L004pic_point(%ebp),%ebp
999c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	764(%esp),%ebx
1000c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	%ebp,%ebx
1001c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$768,%ebx
1002c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	2176(%ebp,%ebx,1),%ebp
1003c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	btl	$25,(%eax)
1004c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	jnc	.L005x86
1005c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movq	(%esi),%mm0
1006c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movq	8(%esi),%mm4
1007c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	call	_sse_AES_encrypt_compact
1008c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	28(%esp),%esp
1009c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	24(%esp),%esi
1010c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movq	%mm0,(%esi)
1011c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movq	%mm4,8(%esi)
1012c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	emms
1013c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%edi
1014c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%esi
1015c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%ebx
1016c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%ebp
1017c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	ret
1018c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	16
1019c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L005x86:
1020c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebp,24(%esp)
1021c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	(%esi),%eax
1022c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	4(%esi),%ebx
1023c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	8(%esi),%ecx
1024c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	12(%esi),%edx
1025c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	call	_x86_AES_encrypt_compact
1026c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	28(%esp),%esp
1027c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	24(%esp),%esi
1028c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,(%esi)
1029c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebx,4(%esi)
1030c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,8(%esi)
1031c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,12(%esi)
1032c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%edi
1033c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%esi
1034c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%ebx
1035c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%ebp
1036c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	ret
1037c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.size	AES_encrypt,.-.L_AES_encrypt_begin
1038c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.type	_x86_AES_decrypt_compact,@function
1039c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	16
1040c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita_x86_AES_decrypt_compact:
1041c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edi,20(%esp)
1042c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	(%edi),%eax
1043c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	4(%edi),%ebx
1044c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	8(%edi),%ecx
1045c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	12(%edi),%edx
1046c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	240(%edi),%esi
1047c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	-2(%esi,%esi,1),%esi
1048c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	(%edi,%esi,8),%esi
1049c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,24(%esp)
1050c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	-128(%ebp),%edi
1051c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	-96(%ebp),%esi
1052c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	-64(%ebp),%edi
1053c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	-32(%ebp),%esi
1054c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	(%ebp),%edi
1055c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	32(%ebp),%esi
1056c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	64(%ebp),%edi
1057c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	96(%ebp),%esi
1058c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	16
1059c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L006loop:
1060c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,%esi
1061c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%esi
1062c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%esi
1063c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%dh,%edi
1064c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%edi,1),%edi
1065c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$8,%edi
1066c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
1067c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,%edi
1068c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$16,%edi
1069c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%edi
1070c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%edi,1),%edi
1071c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$16,%edi
1072c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
1073c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebx,%edi
1074c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$24,%edi
1075c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%edi,1),%edi
1076c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$24,%edi
1077c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
1078c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,4(%esp)
1079c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebx,%esi
1080c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%esi
1081c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%esi
1082c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%ah,%edi
1083c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%edi,1),%edi
1084c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$8,%edi
1085c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
1086c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,%edi
1087c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$16,%edi
1088c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%edi
1089c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%edi,1),%edi
1090c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$16,%edi
1091c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
1092c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,%edi
1093c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$24,%edi
1094c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%edi,1),%edi
1095c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$24,%edi
1096c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
1097c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,8(%esp)
1098c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,%esi
1099c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%esi
1100c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%esi
1101c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%bh,%edi
1102c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%edi,1),%edi
1103c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$8,%edi
1104c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
1105c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,%edi
1106c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$16,%edi
1107c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%edi
1108c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%edi,1),%edi
1109c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$16,%edi
1110c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
1111c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,%edi
1112c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$24,%edi
1113c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%edi,1),%edi
1114c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$24,%edi
1115c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
1116c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%edx
1117c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%edx,1),%edx
1118c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%ch,%ecx
1119c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%ecx,1),%ecx
1120c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$8,%ecx
1121c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ecx,%edx
1122c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%ecx
1123c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$16,%ebx
1124c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%ebx
1125c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%ebx,1),%ebx
1126c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$16,%ebx
1127c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebx,%edx
1128c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$24,%eax
1129c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%eax,1),%eax
1130c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$24,%eax
1131c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%eax,%edx
1132c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,%esi
1133c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$2155905152,%esi
1134c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%edi
1135c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$7,%edi
1136c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	(%ecx,%ecx,1),%eax
1137c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	%edi,%esi
1138c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$4278124286,%eax
1139c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$454761243,%esi
1140c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%eax,%esi
1141c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%eax
1142c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$2155905152,%esi
1143c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%edi
1144c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$7,%edi
1145c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	(%eax,%eax,1),%ebx
1146c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	%edi,%esi
1147c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$4278124286,%ebx
1148c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$454761243,%esi
1149c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ecx,%eax
1150c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebx,%esi
1151c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%ebx
1152c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$2155905152,%esi
1153c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%edi
1154c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$7,%edi
1155c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	(%ebx,%ebx,1),%ebp
1156c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	%edi,%esi
1157c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$4278124286,%ebp
1158c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$454761243,%esi
1159c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ecx,%ebx
1160c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	roll	$8,%ecx
1161c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%esi,%ebp
1162c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%eax,%ecx
1163c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebp,%eax
1164c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	roll	$24,%eax
1165c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebx,%ecx
1166c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebp,%ebx
1167c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	roll	$16,%ebx
1168c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebp,%ecx
1169c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	roll	$8,%ebp
1170c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%eax,%ecx
1171c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebx,%ecx
1172c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	4(%esp),%eax
1173c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebp,%ecx
1174c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,12(%esp)
1175c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,%esi
1176c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$2155905152,%esi
1177c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%edi
1178c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$7,%edi
1179c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	(%edx,%edx,1),%ebx
1180c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	%edi,%esi
1181c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$4278124286,%ebx
1182c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$454761243,%esi
1183c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebx,%esi
1184c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%ebx
1185c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$2155905152,%esi
1186c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%edi
1187c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$7,%edi
1188c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	(%ebx,%ebx,1),%ecx
1189c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	%edi,%esi
1190c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$4278124286,%ecx
1191c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$454761243,%esi
1192c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edx,%ebx
1193c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ecx,%esi
1194c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%ecx
1195c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$2155905152,%esi
1196c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%edi
1197c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$7,%edi
1198c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	(%ecx,%ecx,1),%ebp
1199c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	%edi,%esi
1200c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$4278124286,%ebp
1201c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$454761243,%esi
1202c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edx,%ecx
1203c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	roll	$8,%edx
1204c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%esi,%ebp
1205c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebx,%edx
1206c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebp,%ebx
1207c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	roll	$24,%ebx
1208c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ecx,%edx
1209c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebp,%ecx
1210c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	roll	$16,%ecx
1211c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebp,%edx
1212c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	roll	$8,%ebp
1213c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebx,%edx
1214c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ecx,%edx
1215c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	8(%esp),%ebx
1216c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebp,%edx
1217c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,16(%esp)
1218c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,%esi
1219c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$2155905152,%esi
1220c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%edi
1221c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$7,%edi
1222c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	(%eax,%eax,1),%ecx
1223c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	%edi,%esi
1224c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$4278124286,%ecx
1225c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$454761243,%esi
1226c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ecx,%esi
1227c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%ecx
1228c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$2155905152,%esi
1229c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%edi
1230c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$7,%edi
1231c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	(%ecx,%ecx,1),%edx
1232c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	%edi,%esi
1233c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$4278124286,%edx
1234c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$454761243,%esi
1235c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%eax,%ecx
1236c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edx,%esi
1237c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%edx
1238c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$2155905152,%esi
1239c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%edi
1240c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$7,%edi
1241c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	(%edx,%edx,1),%ebp
1242c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	%edi,%esi
1243c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$4278124286,%ebp
1244c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$454761243,%esi
1245c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%eax,%edx
1246c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	roll	$8,%eax
1247c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%esi,%ebp
1248c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ecx,%eax
1249c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebp,%ecx
1250c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	roll	$24,%ecx
1251c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edx,%eax
1252c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebp,%edx
1253c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	roll	$16,%edx
1254c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebp,%eax
1255c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	roll	$8,%ebp
1256c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ecx,%eax
1257c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edx,%eax
1258c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebp,%eax
1259c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebx,%esi
1260c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$2155905152,%esi
1261c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%edi
1262c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$7,%edi
1263c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	(%ebx,%ebx,1),%ecx
1264c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	%edi,%esi
1265c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$4278124286,%ecx
1266c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$454761243,%esi
1267c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ecx,%esi
1268c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%ecx
1269c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$2155905152,%esi
1270c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%edi
1271c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$7,%edi
1272c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	(%ecx,%ecx,1),%edx
1273c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	%edi,%esi
1274c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$4278124286,%edx
1275c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$454761243,%esi
1276c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebx,%ecx
1277c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edx,%esi
1278c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%edx
1279c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$2155905152,%esi
1280c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%edi
1281c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$7,%edi
1282c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	(%edx,%edx,1),%ebp
1283c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	%edi,%esi
1284c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$4278124286,%ebp
1285c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$454761243,%esi
1286c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebx,%edx
1287c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	roll	$8,%ebx
1288c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%esi,%ebp
1289c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ecx,%ebx
1290c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebp,%ecx
1291c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	roll	$24,%ecx
1292c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edx,%ebx
1293c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebp,%edx
1294c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	roll	$16,%edx
1295c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebp,%ebx
1296c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	roll	$8,%ebp
1297c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ecx,%ebx
1298c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edx,%ebx
1299c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	12(%esp),%ecx
1300c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebp,%ebx
1301c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	16(%esp),%edx
1302c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	20(%esp),%edi
1303c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	28(%esp),%ebp
1304c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	addl	$16,%edi
1305c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	(%edi),%eax
1306c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	4(%edi),%ebx
1307c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	8(%edi),%ecx
1308c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	12(%edi),%edx
1309c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	cmpl	24(%esp),%edi
1310c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edi,20(%esp)
1311c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	jb	.L006loop
1312c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,%esi
1313c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%esi
1314c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%esi
1315c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%dh,%edi
1316c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%edi,1),%edi
1317c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$8,%edi
1318c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
1319c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,%edi
1320c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$16,%edi
1321c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%edi
1322c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%edi,1),%edi
1323c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$16,%edi
1324c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
1325c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebx,%edi
1326c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$24,%edi
1327c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%edi,1),%edi
1328c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$24,%edi
1329c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
1330c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,4(%esp)
1331c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebx,%esi
1332c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%esi
1333c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%esi
1334c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%ah,%edi
1335c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%edi,1),%edi
1336c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$8,%edi
1337c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
1338c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,%edi
1339c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$16,%edi
1340c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%edi
1341c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%edi,1),%edi
1342c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$16,%edi
1343c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
1344c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,%edi
1345c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$24,%edi
1346c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%edi,1),%edi
1347c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$24,%edi
1348c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
1349c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,8(%esp)
1350c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,%esi
1351c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%esi
1352c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%esi
1353c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%bh,%edi
1354c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%edi,1),%edi
1355c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$8,%edi
1356c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
1357c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,%edi
1358c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$16,%edi
1359c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%edi
1360c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%edi,1),%edi
1361c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$16,%edi
1362c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
1363c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,%edi
1364c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$24,%edi
1365c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%edi,1),%edi
1366c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$24,%edi
1367c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
1368c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	20(%esp),%edi
1369c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%edx
1370c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%edx,1),%edx
1371c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%ch,%ecx
1372c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%ecx,1),%ecx
1373c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$8,%ecx
1374c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ecx,%edx
1375c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%ecx
1376c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$16,%ebx
1377c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%ebx
1378c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%ebx,1),%ebx
1379c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$16,%ebx
1380c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebx,%edx
1381c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	8(%esp),%ebx
1382c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$24,%eax
1383c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%eax,1),%eax
1384c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$24,%eax
1385c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%eax,%edx
1386c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	4(%esp),%eax
1387c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	16(%edi),%eax
1388c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	20(%edi),%ebx
1389c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	24(%edi),%ecx
1390c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	28(%edi),%edx
1391c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	ret
1392c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.size	_x86_AES_decrypt_compact,.-_x86_AES_decrypt_compact
1393c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.type	_sse_AES_decrypt_compact,@function
1394c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	16
1395c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita_sse_AES_decrypt_compact:
1396c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	(%edi),%mm0
1397c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	8(%edi),%mm4
1398c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	240(%edi),%esi
1399c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	-2(%esi,%esi,1),%esi
1400c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	(%edi,%esi,8),%esi
1401c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,24(%esp)
1402c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	$454761243,%eax
1403c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,8(%esp)
1404c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,12(%esp)
1405c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	-128(%ebp),%eax
1406c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	-96(%ebp),%ebx
1407c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	-64(%ebp),%ecx
1408c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	-32(%ebp),%edx
1409c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	(%ebp),%eax
1410c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	32(%ebp),%ebx
1411c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	64(%ebp),%ecx
1412c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	96(%ebp),%edx
1413c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	16
1414c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L007loop:
1415c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pshufw	$12,%mm0,%mm1
1416c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movd	%mm1,%eax
1417c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pshufw	$9,%mm4,%mm5
1418c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%al,%esi
1419c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%ecx
1420c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movd	%mm5,%ebx
1421c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%ah,%edx
1422c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%edx,1),%edx
1423c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$8,%edx
1424c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pshufw	$6,%mm0,%mm2
1425c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%bl,%esi
1426c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%esi
1427c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$16,%esi
1428c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	orl	%esi,%ecx
1429c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$16,%eax
1430c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%bh,%esi
1431c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%esi
1432c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$24,%esi
1433c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	orl	%esi,%edx
1434c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$16,%ebx
1435c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pshufw	$3,%mm4,%mm6
1436c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%ah,%esi
1437c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%esi
1438c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$24,%esi
1439c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	orl	%esi,%ecx
1440c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%bh,%esi
1441c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%esi
1442c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$8,%esi
1443c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	orl	%esi,%ecx
1444c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movd	%ecx,%mm0
1445c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%al,%esi
1446c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movd	%mm2,%eax
1447c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%ecx
1448c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$16,%ecx
1449c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%bl,%esi
1450c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movd	%mm6,%ebx
1451c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%esi
1452c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	orl	%esi,%ecx
1453c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%al,%esi
1454c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%esi
1455c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	orl	%esi,%edx
1456c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%bl,%esi
1457c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%esi
1458c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$16,%esi
1459c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	orl	%esi,%edx
1460c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movd	%edx,%mm1
1461c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%ah,%esi
1462c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%edx
1463c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$8,%edx
1464c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%bh,%esi
1465c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$16,%eax
1466c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%esi
1467c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$24,%esi
1468c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	orl	%esi,%edx
1469c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$16,%ebx
1470c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	punpckldq	%mm1,%mm0
1471c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%bh,%esi
1472c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%esi
1473c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$8,%esi
1474c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	orl	%esi,%ecx
1475c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%ebx
1476c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%ebx,1),%ebx
1477c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	orl	%ebx,%edx
1478c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%al,%esi
1479c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%esi
1480c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$16,%esi
1481c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	orl	%esi,%edx
1482c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movd	%edx,%mm4
1483c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%ah,%eax
1484c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%eax,1),%eax
1485c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$24,%eax
1486c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	orl	%eax,%ecx
1487c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movd	%ecx,%mm5
1488c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	punpckldq	%mm5,%mm4
1489c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	addl	$16,%edi
1490c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	cmpl	24(%esp),%edi
1491c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	ja	.L008out
1492c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movq	%mm0,%mm3
1493c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movq	%mm4,%mm7
1494c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pshufw	$228,%mm0,%mm2
1495c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pshufw	$228,%mm4,%mm6
1496c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movq	%mm0,%mm1
1497c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movq	%mm4,%mm5
1498c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pshufw	$177,%mm0,%mm0
1499c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pshufw	$177,%mm4,%mm4
1500c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pslld	$8,%mm2
1501c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pslld	$8,%mm6
1502c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	psrld	$8,%mm3
1503c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	psrld	$8,%mm7
1504c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm2,%mm0
1505c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm6,%mm4
1506c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm3,%mm0
1507c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm7,%mm4
1508c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pslld	$16,%mm2
1509c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pslld	$16,%mm6
1510c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	psrld	$16,%mm3
1511c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	psrld	$16,%mm7
1512c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm2,%mm0
1513c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm6,%mm4
1514c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm3,%mm0
1515c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm7,%mm4
1516c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movq	8(%esp),%mm3
1517c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm2,%mm2
1518c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm6,%mm6
1519c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pcmpgtb	%mm1,%mm2
1520c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pcmpgtb	%mm5,%mm6
1521c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pand	%mm3,%mm2
1522c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pand	%mm3,%mm6
1523c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	paddb	%mm1,%mm1
1524c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	paddb	%mm5,%mm5
1525c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm2,%mm1
1526c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm6,%mm5
1527c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movq	%mm1,%mm3
1528c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movq	%mm5,%mm7
1529c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movq	%mm1,%mm2
1530c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movq	%mm5,%mm6
1531c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm1,%mm0
1532c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm5,%mm4
1533c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pslld	$24,%mm3
1534c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pslld	$24,%mm7
1535c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	psrld	$8,%mm2
1536c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	psrld	$8,%mm6
1537c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm3,%mm0
1538c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm7,%mm4
1539c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm2,%mm0
1540c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm6,%mm4
1541c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movq	8(%esp),%mm2
1542c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm3,%mm3
1543c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm7,%mm7
1544c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pcmpgtb	%mm1,%mm3
1545c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pcmpgtb	%mm5,%mm7
1546c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pand	%mm2,%mm3
1547c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pand	%mm2,%mm7
1548c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	paddb	%mm1,%mm1
1549c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	paddb	%mm5,%mm5
1550c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm3,%mm1
1551c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm7,%mm5
1552c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pshufw	$177,%mm1,%mm3
1553c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pshufw	$177,%mm5,%mm7
1554c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm1,%mm0
1555c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm5,%mm4
1556c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm3,%mm0
1557c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm7,%mm4
1558c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm3,%mm3
1559c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm7,%mm7
1560c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pcmpgtb	%mm1,%mm3
1561c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pcmpgtb	%mm5,%mm7
1562c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pand	%mm2,%mm3
1563c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pand	%mm2,%mm7
1564c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	paddb	%mm1,%mm1
1565c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	paddb	%mm5,%mm5
1566c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm3,%mm1
1567c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm7,%mm5
1568c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm1,%mm0
1569c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm5,%mm4
1570c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movq	%mm1,%mm3
1571c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movq	%mm5,%mm7
1572c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pshufw	$177,%mm1,%mm2
1573c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pshufw	$177,%mm5,%mm6
1574c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm2,%mm0
1575c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm6,%mm4
1576c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pslld	$8,%mm1
1577c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pslld	$8,%mm5
1578c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	psrld	$8,%mm3
1579c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	psrld	$8,%mm7
1580c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movq	(%edi),%mm2
1581c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movq	8(%edi),%mm6
1582c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm1,%mm0
1583c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm5,%mm4
1584c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm3,%mm0
1585c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm7,%mm4
1586c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	-128(%ebp),%eax
1587c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pslld	$16,%mm1
1588c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pslld	$16,%mm5
1589c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	-64(%ebp),%ebx
1590c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	psrld	$16,%mm3
1591c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	psrld	$16,%mm7
1592c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	(%ebp),%ecx
1593c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm1,%mm0
1594c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm5,%mm4
1595c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	64(%ebp),%edx
1596c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm3,%mm0
1597c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm7,%mm4
1598c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm2,%mm0
1599c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	%mm6,%mm4
1600c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	jmp	.L007loop
1601c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	16
1602c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L008out:
1603c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	(%edi),%mm0
1604c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	8(%edi),%mm4
1605c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	ret
1606c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.size	_sse_AES_decrypt_compact,.-_sse_AES_decrypt_compact
1607c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.type	_x86_AES_decrypt,@function
1608c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	16
1609c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita_x86_AES_decrypt:
1610c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edi,20(%esp)
1611c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	(%edi),%eax
1612c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	4(%edi),%ebx
1613c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	8(%edi),%ecx
1614c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	12(%edi),%edx
1615c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	240(%edi),%esi
1616c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	-2(%esi,%esi,1),%esi
1617c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	(%edi,%esi,8),%esi
1618c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,24(%esp)
1619c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	16
1620c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L009loop:
1621c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,%esi
1622c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%esi
1623c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	(%ebp,%esi,8),%esi
1624c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%dh,%edi
1625c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	3(%ebp,%edi,8),%esi
1626c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,%edi
1627c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$16,%edi
1628c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%edi
1629c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	2(%ebp,%edi,8),%esi
1630c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebx,%edi
1631c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$24,%edi
1632c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	1(%ebp,%edi,8),%esi
1633c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,4(%esp)
1634c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita
1635c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebx,%esi
1636c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%esi
1637c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	(%ebp,%esi,8),%esi
1638c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%ah,%edi
1639c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	3(%ebp,%edi,8),%esi
1640c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,%edi
1641c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$16,%edi
1642c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%edi
1643c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	2(%ebp,%edi,8),%esi
1644c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,%edi
1645c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$24,%edi
1646c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	1(%ebp,%edi,8),%esi
1647c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,8(%esp)
1648c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita
1649c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,%esi
1650c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%esi
1651c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	(%ebp,%esi,8),%esi
1652c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%bh,%edi
1653c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	3(%ebp,%edi,8),%esi
1654c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,%edi
1655c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$16,%edi
1656c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%edi
1657c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	2(%ebp,%edi,8),%esi
1658c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,%edi
1659c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$24,%edi
1660c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	1(%ebp,%edi,8),%esi
1661c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita
1662c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	20(%esp),%edi
1663c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%edx
1664c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	(%ebp,%edx,8),%edx
1665c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%ch,%ecx
1666c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	3(%ebp,%ecx,8),%edx
1667c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%ecx
1668c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$16,%ebx
1669c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%ebx
1670c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	2(%ebp,%ebx,8),%edx
1671c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	8(%esp),%ebx
1672c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$24,%eax
1673c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	1(%ebp,%eax,8),%edx
1674c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	4(%esp),%eax
1675c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita
1676c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	addl	$16,%edi
1677c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	(%edi),%eax
1678c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	4(%edi),%ebx
1679c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	8(%edi),%ecx
1680c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	12(%edi),%edx
1681c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	cmpl	24(%esp),%edi
1682c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edi,20(%esp)
1683c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	jb	.L009loop
1684c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	2176(%ebp),%ebp
1685c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	-128(%ebp),%edi
1686c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	-96(%ebp),%esi
1687c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	-64(%ebp),%edi
1688c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	-32(%ebp),%esi
1689c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	(%ebp),%edi
1690c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	32(%ebp),%esi
1691c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	64(%ebp),%edi
1692c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	96(%ebp),%esi
1693c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	-128(%ebp),%ebp
1694c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,%esi
1695c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%esi
1696c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	(%ebp,%esi,1),%esi
1697c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%dh,%edi
1698c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	(%ebp,%edi,1),%edi
1699c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$8,%edi
1700c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
1701c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,%edi
1702c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$16,%edi
1703c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%edi
1704c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	(%ebp,%edi,1),%edi
1705c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$16,%edi
1706c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
1707c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebx,%edi
1708c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$24,%edi
1709c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	(%ebp,%edi,1),%edi
1710c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$24,%edi
1711c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
1712c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,4(%esp)
1713c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebx,%esi
1714c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%esi
1715c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	(%ebp,%esi,1),%esi
1716c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%ah,%edi
1717c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	(%ebp,%edi,1),%edi
1718c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$8,%edi
1719c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
1720c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,%edi
1721c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$16,%edi
1722c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%edi
1723c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	(%ebp,%edi,1),%edi
1724c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$16,%edi
1725c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
1726c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,%edi
1727c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$24,%edi
1728c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	(%ebp,%edi,1),%edi
1729c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$24,%edi
1730c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
1731c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,8(%esp)
1732c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,%esi
1733c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%esi
1734c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	(%ebp,%esi,1),%esi
1735c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%bh,%edi
1736c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	(%ebp,%edi,1),%edi
1737c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$8,%edi
1738c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
1739c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,%edi
1740c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$16,%edi
1741c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%edi
1742c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	(%ebp,%edi,1),%edi
1743c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$16,%edi
1744c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
1745c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,%edi
1746c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$24,%edi
1747c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	(%ebp,%edi,1),%edi
1748c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$24,%edi
1749c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edi,%esi
1750c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	20(%esp),%edi
1751c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%edx
1752c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	(%ebp,%edx,1),%edx
1753c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%ch,%ecx
1754c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	(%ebp,%ecx,1),%ecx
1755c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$8,%ecx
1756c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ecx,%edx
1757c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%ecx
1758c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$16,%ebx
1759c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$255,%ebx
1760c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	(%ebp,%ebx,1),%ebx
1761c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$16,%ebx
1762c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebx,%edx
1763c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	8(%esp),%ebx
1764c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$24,%eax
1765c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	(%ebp,%eax,1),%eax
1766c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$24,%eax
1767c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%eax,%edx
1768c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	4(%esp),%eax
1769c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	-2048(%ebp),%ebp
1770c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	addl	$16,%edi
1771c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	(%edi),%eax
1772c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	4(%edi),%ebx
1773c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	8(%edi),%ecx
1774c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	12(%edi),%edx
1775c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	ret
1776c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	64
1777c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.LAES_Td:
1778c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1353184337,1353184337
1779c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1399144830,1399144830
1780c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3282310938,3282310938
1781c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2522752826,2522752826
1782c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3412831035,3412831035
1783c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	4047871263,4047871263
1784c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2874735276,2874735276
1785c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2466505547,2466505547
1786c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1442459680,1442459680
1787c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	4134368941,4134368941
1788c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2440481928,2440481928
1789c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	625738485,625738485
1790c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	4242007375,4242007375
1791c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3620416197,3620416197
1792c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2151953702,2151953702
1793c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2409849525,2409849525
1794c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1230680542,1230680542
1795c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1729870373,1729870373
1796c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2551114309,2551114309
1797c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3787521629,3787521629
1798c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	41234371,41234371
1799c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	317738113,317738113
1800c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2744600205,2744600205
1801c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3338261355,3338261355
1802c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3881799427,3881799427
1803c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2510066197,2510066197
1804c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3950669247,3950669247
1805c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3663286933,3663286933
1806c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	763608788,763608788
1807c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3542185048,3542185048
1808c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	694804553,694804553
1809c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1154009486,1154009486
1810c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1787413109,1787413109
1811c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2021232372,2021232372
1812c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1799248025,1799248025
1813c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3715217703,3715217703
1814c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3058688446,3058688446
1815c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	397248752,397248752
1816c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1722556617,1722556617
1817c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3023752829,3023752829
1818c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	407560035,407560035
1819c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2184256229,2184256229
1820c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1613975959,1613975959
1821c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1165972322,1165972322
1822c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3765920945,3765920945
1823c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2226023355,2226023355
1824c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	480281086,480281086
1825c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2485848313,2485848313
1826c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1483229296,1483229296
1827c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	436028815,436028815
1828c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2272059028,2272059028
1829c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3086515026,3086515026
1830c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	601060267,601060267
1831c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3791801202,3791801202
1832c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1468997603,1468997603
1833c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	715871590,715871590
1834c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	120122290,120122290
1835c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	63092015,63092015
1836c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2591802758,2591802758
1837c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2768779219,2768779219
1838c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	4068943920,4068943920
1839c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2997206819,2997206819
1840c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3127509762,3127509762
1841c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1552029421,1552029421
1842c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	723308426,723308426
1843c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2461301159,2461301159
1844c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	4042393587,4042393587
1845c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2715969870,2715969870
1846c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3455375973,3455375973
1847c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3586000134,3586000134
1848c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	526529745,526529745
1849c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2331944644,2331944644
1850c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2639474228,2639474228
1851c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2689987490,2689987490
1852c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	853641733,853641733
1853c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1978398372,1978398372
1854c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	971801355,971801355
1855c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2867814464,2867814464
1856c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	111112542,111112542
1857c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1360031421,1360031421
1858c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	4186579262,4186579262
1859c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1023860118,1023860118
1860c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2919579357,2919579357
1861c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1186850381,1186850381
1862c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3045938321,3045938321
1863c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	90031217,90031217
1864c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1876166148,1876166148
1865c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	4279586912,4279586912
1866c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	620468249,620468249
1867c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2548678102,2548678102
1868c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3426959497,3426959497
1869c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2006899047,2006899047
1870c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3175278768,3175278768
1871c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2290845959,2290845959
1872c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	945494503,945494503
1873c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3689859193,3689859193
1874c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1191869601,1191869601
1875c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3910091388,3910091388
1876c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3374220536,3374220536
1877c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	0,0
1878c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2206629897,2206629897
1879c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1223502642,1223502642
1880c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2893025566,2893025566
1881c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1316117100,1316117100
1882c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	4227796733,4227796733
1883c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1446544655,1446544655
1884c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	517320253,517320253
1885c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	658058550,658058550
1886c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1691946762,1691946762
1887c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	564550760,564550760
1888c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3511966619,3511966619
1889c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	976107044,976107044
1890c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2976320012,2976320012
1891c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	266819475,266819475
1892c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3533106868,3533106868
1893c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2660342555,2660342555
1894c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1338359936,1338359936
1895c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2720062561,2720062561
1896c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1766553434,1766553434
1897c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	370807324,370807324
1898c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	179999714,179999714
1899c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3844776128,3844776128
1900c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1138762300,1138762300
1901c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	488053522,488053522
1902c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	185403662,185403662
1903c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2915535858,2915535858
1904c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3114841645,3114841645
1905c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3366526484,3366526484
1906c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2233069911,2233069911
1907c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1275557295,1275557295
1908c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3151862254,3151862254
1909c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	4250959779,4250959779
1910c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2670068215,2670068215
1911c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3170202204,3170202204
1912c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3309004356,3309004356
1913c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	880737115,880737115
1914c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1982415755,1982415755
1915c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3703972811,3703972811
1916c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1761406390,1761406390
1917c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1676797112,1676797112
1918c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3403428311,3403428311
1919c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	277177154,277177154
1920c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1076008723,1076008723
1921c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	538035844,538035844
1922c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2099530373,2099530373
1923c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	4164795346,4164795346
1924c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	288553390,288553390
1925c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1839278535,1839278535
1926c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1261411869,1261411869
1927c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	4080055004,4080055004
1928c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3964831245,3964831245
1929c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3504587127,3504587127
1930c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1813426987,1813426987
1931c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2579067049,2579067049
1932c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	4199060497,4199060497
1933c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	577038663,577038663
1934c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3297574056,3297574056
1935c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	440397984,440397984
1936c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3626794326,3626794326
1937c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	4019204898,4019204898
1938c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3343796615,3343796615
1939c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3251714265,3251714265
1940c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	4272081548,4272081548
1941c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	906744984,906744984
1942c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3481400742,3481400742
1943c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	685669029,685669029
1944c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	646887386,646887386
1945c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2764025151,2764025151
1946c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3835509292,3835509292
1947c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	227702864,227702864
1948c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2613862250,2613862250
1949c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1648787028,1648787028
1950c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3256061430,3256061430
1951c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3904428176,3904428176
1952c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1593260334,1593260334
1953c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	4121936770,4121936770
1954c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3196083615,3196083615
1955c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2090061929,2090061929
1956c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2838353263,2838353263
1957c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3004310991,3004310991
1958c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	999926984,999926984
1959c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2809993232,2809993232
1960c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1852021992,1852021992
1961c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2075868123,2075868123
1962c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	158869197,158869197
1963c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	4095236462,4095236462
1964c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	28809964,28809964
1965c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2828685187,2828685187
1966c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1701746150,1701746150
1967c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2129067946,2129067946
1968c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	147831841,147831841
1969c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3873969647,3873969647
1970c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3650873274,3650873274
1971c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3459673930,3459673930
1972c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3557400554,3557400554
1973c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3598495785,3598495785
1974c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2947720241,2947720241
1975c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	824393514,824393514
1976c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	815048134,815048134
1977c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3227951669,3227951669
1978c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	935087732,935087732
1979c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2798289660,2798289660
1980c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2966458592,2966458592
1981c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	366520115,366520115
1982c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1251476721,1251476721
1983c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	4158319681,4158319681
1984c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	240176511,240176511
1985c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	804688151,804688151
1986c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2379631990,2379631990
1987c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1303441219,1303441219
1988c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1414376140,1414376140
1989c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3741619940,3741619940
1990c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3820343710,3820343710
1991c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	461924940,461924940
1992c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3089050817,3089050817
1993c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2136040774,2136040774
1994c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	82468509,82468509
1995c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1563790337,1563790337
1996c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1937016826,1937016826
1997c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	776014843,776014843
1998c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1511876531,1511876531
1999c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1389550482,1389550482
2000c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	861278441,861278441
2001c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	323475053,323475053
2002c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2355222426,2355222426
2003c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2047648055,2047648055
2004c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2383738969,2383738969
2005c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2302415851,2302415851
2006c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3995576782,3995576782
2007c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	902390199,902390199
2008c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3991215329,3991215329
2009c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1018251130,1018251130
2010c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1507840668,1507840668
2011c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1064563285,1064563285
2012c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2043548696,2043548696
2013c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3208103795,3208103795
2014c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3939366739,3939366739
2015c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1537932639,1537932639
2016c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	342834655,342834655
2017c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2262516856,2262516856
2018c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2180231114,2180231114
2019c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1053059257,1053059257
2020c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	741614648,741614648
2021c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1598071746,1598071746
2022c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1925389590,1925389590
2023c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	203809468,203809468
2024c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2336832552,2336832552
2025c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1100287487,1100287487
2026c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1895934009,1895934009
2027c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	3736275976,3736275976
2028c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2632234200,2632234200
2029c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2428589668,2428589668
2030c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1636092795,1636092795
2031c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1890988757,1890988757
2032c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1952214088,1952214088
2033c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	1113045200,1113045200
2034c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	82,9,106,213,48,54,165,56
2035c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	191,64,163,158,129,243,215,251
2036c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	124,227,57,130,155,47,255,135
2037c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	52,142,67,68,196,222,233,203
2038c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	84,123,148,50,166,194,35,61
2039c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	238,76,149,11,66,250,195,78
2040c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	8,46,161,102,40,217,36,178
2041c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	118,91,162,73,109,139,209,37
2042c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	114,248,246,100,134,104,152,22
2043c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	212,164,92,204,93,101,182,146
2044c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	108,112,72,80,253,237,185,218
2045c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	94,21,70,87,167,141,157,132
2046c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	144,216,171,0,140,188,211,10
2047c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	247,228,88,5,184,179,69,6
2048c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	208,44,30,143,202,63,15,2
2049c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	193,175,189,3,1,19,138,107
2050c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	58,145,17,65,79,103,220,234
2051c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	151,242,207,206,240,180,230,115
2052c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	150,172,116,34,231,173,53,133
2053c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	226,249,55,232,28,117,223,110
2054c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	71,241,26,113,29,41,197,137
2055c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	111,183,98,14,170,24,190,27
2056c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	252,86,62,75,198,210,121,32
2057c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	154,219,192,254,120,205,90,244
2058c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	31,221,168,51,136,7,199,49
2059c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	177,18,16,89,39,128,236,95
2060c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	96,81,127,169,25,181,74,13
2061c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	45,229,122,159,147,201,156,239
2062c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	160,224,59,77,174,42,245,176
2063c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	200,235,187,60,131,83,153,97
2064c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	23,43,4,126,186,119,214,38
2065c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	225,105,20,99,85,33,12,125
2066c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	82,9,106,213,48,54,165,56
2067c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	191,64,163,158,129,243,215,251
2068c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	124,227,57,130,155,47,255,135
2069c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	52,142,67,68,196,222,233,203
2070c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	84,123,148,50,166,194,35,61
2071c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	238,76,149,11,66,250,195,78
2072c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	8,46,161,102,40,217,36,178
2073c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	118,91,162,73,109,139,209,37
2074c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	114,248,246,100,134,104,152,22
2075c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	212,164,92,204,93,101,182,146
2076c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	108,112,72,80,253,237,185,218
2077c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	94,21,70,87,167,141,157,132
2078c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	144,216,171,0,140,188,211,10
2079c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	247,228,88,5,184,179,69,6
2080c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	208,44,30,143,202,63,15,2
2081c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	193,175,189,3,1,19,138,107
2082c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	58,145,17,65,79,103,220,234
2083c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	151,242,207,206,240,180,230,115
2084c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	150,172,116,34,231,173,53,133
2085c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	226,249,55,232,28,117,223,110
2086c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	71,241,26,113,29,41,197,137
2087c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	111,183,98,14,170,24,190,27
2088c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	252,86,62,75,198,210,121,32
2089c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	154,219,192,254,120,205,90,244
2090c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	31,221,168,51,136,7,199,49
2091c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	177,18,16,89,39,128,236,95
2092c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	96,81,127,169,25,181,74,13
2093c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	45,229,122,159,147,201,156,239
2094c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	160,224,59,77,174,42,245,176
2095c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	200,235,187,60,131,83,153,97
2096c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	23,43,4,126,186,119,214,38
2097c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	225,105,20,99,85,33,12,125
2098c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	82,9,106,213,48,54,165,56
2099c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	191,64,163,158,129,243,215,251
2100c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	124,227,57,130,155,47,255,135
2101c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	52,142,67,68,196,222,233,203
2102c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	84,123,148,50,166,194,35,61
2103c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	238,76,149,11,66,250,195,78
2104c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	8,46,161,102,40,217,36,178
2105c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	118,91,162,73,109,139,209,37
2106c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	114,248,246,100,134,104,152,22
2107c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	212,164,92,204,93,101,182,146
2108c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	108,112,72,80,253,237,185,218
2109c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	94,21,70,87,167,141,157,132
2110c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	144,216,171,0,140,188,211,10
2111c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	247,228,88,5,184,179,69,6
2112c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	208,44,30,143,202,63,15,2
2113c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	193,175,189,3,1,19,138,107
2114c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	58,145,17,65,79,103,220,234
2115c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	151,242,207,206,240,180,230,115
2116c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	150,172,116,34,231,173,53,133
2117c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	226,249,55,232,28,117,223,110
2118c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	71,241,26,113,29,41,197,137
2119c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	111,183,98,14,170,24,190,27
2120c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	252,86,62,75,198,210,121,32
2121c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	154,219,192,254,120,205,90,244
2122c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	31,221,168,51,136,7,199,49
2123c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	177,18,16,89,39,128,236,95
2124c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	96,81,127,169,25,181,74,13
2125c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	45,229,122,159,147,201,156,239
2126c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	160,224,59,77,174,42,245,176
2127c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	200,235,187,60,131,83,153,97
2128c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	23,43,4,126,186,119,214,38
2129c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	225,105,20,99,85,33,12,125
2130c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	82,9,106,213,48,54,165,56
2131c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	191,64,163,158,129,243,215,251
2132c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	124,227,57,130,155,47,255,135
2133c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	52,142,67,68,196,222,233,203
2134c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	84,123,148,50,166,194,35,61
2135c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	238,76,149,11,66,250,195,78
2136c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	8,46,161,102,40,217,36,178
2137c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	118,91,162,73,109,139,209,37
2138c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	114,248,246,100,134,104,152,22
2139c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	212,164,92,204,93,101,182,146
2140c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	108,112,72,80,253,237,185,218
2141c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	94,21,70,87,167,141,157,132
2142c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	144,216,171,0,140,188,211,10
2143c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	247,228,88,5,184,179,69,6
2144c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	208,44,30,143,202,63,15,2
2145c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	193,175,189,3,1,19,138,107
2146c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	58,145,17,65,79,103,220,234
2147c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	151,242,207,206,240,180,230,115
2148c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	150,172,116,34,231,173,53,133
2149c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	226,249,55,232,28,117,223,110
2150c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	71,241,26,113,29,41,197,137
2151c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	111,183,98,14,170,24,190,27
2152c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	252,86,62,75,198,210,121,32
2153c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	154,219,192,254,120,205,90,244
2154c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	31,221,168,51,136,7,199,49
2155c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	177,18,16,89,39,128,236,95
2156c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	96,81,127,169,25,181,74,13
2157c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	45,229,122,159,147,201,156,239
2158c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	160,224,59,77,174,42,245,176
2159c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	200,235,187,60,131,83,153,97
2160c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	23,43,4,126,186,119,214,38
2161c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	225,105,20,99,85,33,12,125
2162c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.size	_x86_AES_decrypt,.-_x86_AES_decrypt
2163c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.globl	AES_decrypt
2164c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.type	AES_decrypt,@function
2165c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	16
2166c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin IonitaAES_decrypt:
2167c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L_AES_decrypt_begin:
2168c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pushl	%ebp
2169c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pushl	%ebx
2170c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pushl	%esi
2171c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pushl	%edi
2172c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	20(%esp),%esi
2173c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	28(%esp),%edi
2174c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esp,%eax
2175c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	$36,%esp
2176c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$-64,%esp
2177c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	-127(%edi),%ebx
2178c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	%esp,%ebx
2179c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	negl	%ebx
2180c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$960,%ebx
2181c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	%ebx,%esp
2182c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	addl	$4,%esp
2183c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,28(%esp)
2184c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	call	.L010pic_point
2185c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L010pic_point:
2186c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%ebp
2187c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	OPENSSL_ia32cap_P,%eax
2188c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	.LAES_Td-.L010pic_point(%ebp),%ebp
2189c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	764(%esp),%ebx
2190c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	%ebp,%ebx
2191c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$768,%ebx
2192c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	2176(%ebp,%ebx,1),%ebp
2193c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	btl	$25,(%eax)
2194c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	jnc	.L011x86
2195c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movq	(%esi),%mm0
2196c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movq	8(%esi),%mm4
2197c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	call	_sse_AES_decrypt_compact
2198c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	28(%esp),%esp
2199c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	24(%esp),%esi
2200c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movq	%mm0,(%esi)
2201c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movq	%mm4,8(%esi)
2202c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	emms
2203c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%edi
2204c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%esi
2205c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%ebx
2206c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%ebp
2207c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	ret
2208c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	16
2209c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L011x86:
2210c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebp,24(%esp)
2211c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	(%esi),%eax
2212c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	4(%esi),%ebx
2213c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	8(%esi),%ecx
2214c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	12(%esi),%edx
2215c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	call	_x86_AES_decrypt_compact
2216c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	28(%esp),%esp
2217c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	24(%esp),%esi
2218c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,(%esi)
2219c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebx,4(%esi)
2220c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,8(%esi)
2221c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,12(%esi)
2222c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%edi
2223c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%esi
2224c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%ebx
2225c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%ebp
2226c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	ret
2227c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.size	AES_decrypt,.-.L_AES_decrypt_begin
2228c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.globl	AES_cbc_encrypt
2229c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.type	AES_cbc_encrypt,@function
2230c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	16
2231c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin IonitaAES_cbc_encrypt:
2232c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L_AES_cbc_encrypt_begin:
2233c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pushl	%ebp
2234c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pushl	%ebx
2235c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pushl	%esi
2236c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pushl	%edi
2237c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	28(%esp),%ecx
2238c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	cmpl	$0,%ecx
2239c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	je	.L012drop_out
2240c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	call	.L013pic_point
2241c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L013pic_point:
2242c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%ebp
2243c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	OPENSSL_ia32cap_P,%eax
2244c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	cmpl	$0,40(%esp)
2245c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	.LAES_Te-.L013pic_point(%ebp),%ebp
2246c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	jne	.L014picked_te
2247c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	.LAES_Td-.LAES_Te(%ebp),%ebp
2248c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L014picked_te:
2249c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pushfl
2250c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	cld
2251c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	cmpl	$512,%ecx
2252c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	jb	.L015slow_way
2253c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	testl	$15,%ecx
2254c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	jnz	.L015slow_way
2255c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	btl	$28,(%eax)
2256c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	jc	.L015slow_way
2257c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	-324(%esp),%esi
2258c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$-64,%esi
2259c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebp,%eax
2260c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	2304(%ebp),%ebx
2261c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%edx
2262c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$4095,%eax
2263c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$4095,%ebx
2264c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$4095,%edx
2265c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	cmpl	%ebx,%edx
2266c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	jb	.L016tbl_break_out
2267c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	%ebx,%edx
2268c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	%edx,%esi
2269c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	jmp	.L017tbl_ok
2270c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	4
2271c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L016tbl_break_out:
2272c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	%eax,%edx
2273c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$4095,%edx
2274c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	addl	$384,%edx
2275c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	%edx,%esi
2276c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	4
2277c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L017tbl_ok:
2278c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	24(%esp),%edx
2279c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xchgl	%esi,%esp
2280c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	addl	$4,%esp
2281c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebp,24(%esp)
2282c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,28(%esp)
2283c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	(%edx),%eax
2284c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	4(%edx),%ebx
2285c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	12(%edx),%edi
2286c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	16(%edx),%esi
2287c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	20(%edx),%edx
2288c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,32(%esp)
2289c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebx,36(%esp)
2290c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,40(%esp)
2291c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edi,44(%esp)
2292c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,48(%esp)
2293c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	$0,316(%esp)
2294c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edi,%ebx
2295c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	$61,%ecx
2296c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	%ebp,%ebx
2297c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edi,%esi
2298c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$4095,%ebx
2299c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	76(%esp),%edi
2300c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	cmpl	$2304,%ebx
2301c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	jb	.L018do_copy
2302c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	cmpl	$3852,%ebx
2303c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	jb	.L019skip_copy
2304c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	4
2305c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L018do_copy:
2306c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edi,44(%esp)
2307c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2784229001
2308c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L019skip_copy:
2309c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	$16,%edi
2310c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	4
2311c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L020prefetch_tbl:
2312c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	(%ebp),%eax
2313c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	32(%ebp),%ebx
2314c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	64(%ebp),%ecx
2315c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	96(%ebp),%esi
2316c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	128(%ebp),%ebp
2317c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	$1,%edi
2318c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	jnz	.L020prefetch_tbl
2319c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	$2048,%ebp
2320c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	32(%esp),%esi
2321c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	48(%esp),%edi
2322c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	cmpl	$0,%edx
2323c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	je	.L021fast_decrypt
2324c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	(%edi),%eax
2325c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	4(%edi),%ebx
2326c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	16
2327c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L022fast_enc_loop:
2328c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	8(%edi),%ecx
2329c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	12(%edi),%edx
2330c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	(%esi),%eax
2331c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	4(%esi),%ebx
2332c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	8(%esi),%ecx
2333c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	12(%esi),%edx
2334c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	44(%esp),%edi
2335c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	call	_x86_AES_encrypt
2336c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	32(%esp),%esi
2337c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	36(%esp),%edi
2338c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,(%edi)
2339c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebx,4(%edi)
2340c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,8(%edi)
2341c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,12(%edi)
2342c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	16(%esi),%esi
2343c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	40(%esp),%ecx
2344c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,32(%esp)
2345c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	16(%edi),%edx
2346c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,36(%esp)
2347c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	$16,%ecx
2348c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,40(%esp)
2349c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	jnz	.L022fast_enc_loop
2350c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	48(%esp),%esi
2351c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	8(%edi),%ecx
2352c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	12(%edi),%edx
2353c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,(%esi)
2354c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebx,4(%esi)
2355c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,8(%esi)
2356c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,12(%esi)
2357c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	cmpl	$0,316(%esp)
2358c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	44(%esp),%edi
2359c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	je	.L023skip_ezero
2360c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	$60,%ecx
2361c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%eax,%eax
2362c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	4
2363c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2884892297
2364c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L023skip_ezero:
2365c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	28(%esp),%esp
2366c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popfl
2367c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L012drop_out:
2368c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%edi
2369c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%esi
2370c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%ebx
2371c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%ebp
2372c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	ret
2373c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pushfl
2374c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	16
2375c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L021fast_decrypt:
2376c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	cmpl	36(%esp),%esi
2377c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	je	.L024fast_dec_in_place
2378c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edi,52(%esp)
2379c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	4
2380c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	16
2381c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L025fast_dec_loop:
2382c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	(%esi),%eax
2383c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	4(%esi),%ebx
2384c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	8(%esi),%ecx
2385c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	12(%esi),%edx
2386c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	44(%esp),%edi
2387c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	call	_x86_AES_decrypt
2388c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	52(%esp),%edi
2389c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	40(%esp),%esi
2390c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	(%edi),%eax
2391c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	4(%edi),%ebx
2392c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	8(%edi),%ecx
2393c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	12(%edi),%edx
2394c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	36(%esp),%edi
2395c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	32(%esp),%esi
2396c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,(%edi)
2397c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebx,4(%edi)
2398c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,8(%edi)
2399c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,12(%edi)
2400c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	40(%esp),%ecx
2401c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,52(%esp)
2402c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	16(%esi),%esi
2403c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,32(%esp)
2404c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	16(%edi),%edi
2405c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edi,36(%esp)
2406c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	$16,%ecx
2407c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,40(%esp)
2408c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	jnz	.L025fast_dec_loop
2409c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	52(%esp),%edi
2410c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	48(%esp),%esi
2411c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	(%edi),%eax
2412c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	4(%edi),%ebx
2413c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	8(%edi),%ecx
2414c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	12(%edi),%edx
2415c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,(%esi)
2416c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebx,4(%esi)
2417c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,8(%esi)
2418c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,12(%esi)
2419c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	jmp	.L026fast_dec_out
2420c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	16
2421c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L024fast_dec_in_place:
2422c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L027fast_dec_in_place_loop:
2423c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	(%esi),%eax
2424c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	4(%esi),%ebx
2425c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	8(%esi),%ecx
2426c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	12(%esi),%edx
2427c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	60(%esp),%edi
2428c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,(%edi)
2429c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebx,4(%edi)
2430c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,8(%edi)
2431c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,12(%edi)
2432c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	44(%esp),%edi
2433c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	call	_x86_AES_decrypt
2434c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	48(%esp),%edi
2435c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	36(%esp),%esi
2436c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	(%edi),%eax
2437c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	4(%edi),%ebx
2438c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	8(%edi),%ecx
2439c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	12(%edi),%edx
2440c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,(%esi)
2441c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebx,4(%esi)
2442c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,8(%esi)
2443c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,12(%esi)
2444c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	16(%esi),%esi
2445c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,36(%esp)
2446c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	60(%esp),%esi
2447c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	(%esi),%eax
2448c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	4(%esi),%ebx
2449c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	8(%esi),%ecx
2450c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	12(%esi),%edx
2451c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,(%edi)
2452c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebx,4(%edi)
2453c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,8(%edi)
2454c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,12(%edi)
2455c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	32(%esp),%esi
2456c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	40(%esp),%ecx
2457c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	16(%esi),%esi
2458c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,32(%esp)
2459c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	$16,%ecx
2460c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,40(%esp)
2461c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	jnz	.L027fast_dec_in_place_loop
2462c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	4
2463c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L026fast_dec_out:
2464c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	cmpl	$0,316(%esp)
2465c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	44(%esp),%edi
2466c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	je	.L028skip_dzero
2467c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	$60,%ecx
2468c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%eax,%eax
2469c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	4
2470c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2884892297
2471c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L028skip_dzero:
2472c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	28(%esp),%esp
2473c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popfl
2474c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%edi
2475c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%esi
2476c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%ebx
2477c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%ebp
2478c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	ret
2479c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pushfl
2480c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	16
2481c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L015slow_way:
2482c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	(%eax),%eax
2483c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	36(%esp),%edi
2484c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	-80(%esp),%esi
2485c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$-64,%esi
2486c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	-143(%edi),%ebx
2487c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	%esi,%ebx
2488c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	negl	%ebx
2489c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$960,%ebx
2490c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	%ebx,%esi
2491c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	768(%esi),%ebx
2492c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	%ebp,%ebx
2493c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$768,%ebx
2494c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	2176(%ebp,%ebx,1),%ebp
2495c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	24(%esp),%edx
2496c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xchgl	%esi,%esp
2497c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	addl	$4,%esp
2498c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebp,24(%esp)
2499c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,28(%esp)
2500c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,52(%esp)
2501c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	(%edx),%eax
2502c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	4(%edx),%ebx
2503c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	16(%edx),%esi
2504c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	20(%edx),%edx
2505c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,32(%esp)
2506c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebx,36(%esp)
2507c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,40(%esp)
2508c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edi,44(%esp)
2509c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,48(%esp)
2510c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%edi
2511c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,%esi
2512c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	cmpl	$0,%edx
2513c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	je	.L029slow_decrypt
2514c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	cmpl	$16,%ecx
2515c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebx,%edx
2516c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	jb	.L030slow_enc_tail
2517c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	btl	$25,52(%esp)
2518c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	jnc	.L031slow_enc_x86
2519c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movq	(%edi),%mm0
2520c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movq	8(%edi),%mm4
2521c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	16
2522c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L032slow_enc_loop_sse:
2523c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	(%esi),%mm0
2524c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	8(%esi),%mm4
2525c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	44(%esp),%edi
2526c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	call	_sse_AES_encrypt_compact
2527c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	32(%esp),%esi
2528c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	36(%esp),%edi
2529c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	40(%esp),%ecx
2530c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movq	%mm0,(%edi)
2531c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movq	%mm4,8(%edi)
2532c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	16(%esi),%esi
2533c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,32(%esp)
2534c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	16(%edi),%edx
2535c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,36(%esp)
2536c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	$16,%ecx
2537c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	cmpl	$16,%ecx
2538c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,40(%esp)
2539c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	jae	.L032slow_enc_loop_sse
2540c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	testl	$15,%ecx
2541c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	jnz	.L030slow_enc_tail
2542c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	48(%esp),%esi
2543c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movq	%mm0,(%esi)
2544c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movq	%mm4,8(%esi)
2545c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	emms
2546c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	28(%esp),%esp
2547c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popfl
2548c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%edi
2549c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%esi
2550c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%ebx
2551c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%ebp
2552c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	ret
2553c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pushfl
2554c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	16
2555c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L031slow_enc_x86:
2556c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	(%edi),%eax
2557c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	4(%edi),%ebx
2558c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	4
2559c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L033slow_enc_loop_x86:
2560c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	8(%edi),%ecx
2561c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	12(%edi),%edx
2562c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	(%esi),%eax
2563c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	4(%esi),%ebx
2564c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	8(%esi),%ecx
2565c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	12(%esi),%edx
2566c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	44(%esp),%edi
2567c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	call	_x86_AES_encrypt_compact
2568c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	32(%esp),%esi
2569c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	36(%esp),%edi
2570c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,(%edi)
2571c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebx,4(%edi)
2572c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,8(%edi)
2573c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,12(%edi)
2574c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	40(%esp),%ecx
2575c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	16(%esi),%esi
2576c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,32(%esp)
2577c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	16(%edi),%edx
2578c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,36(%esp)
2579c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	$16,%ecx
2580c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	cmpl	$16,%ecx
2581c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,40(%esp)
2582c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	jae	.L033slow_enc_loop_x86
2583c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	testl	$15,%ecx
2584c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	jnz	.L030slow_enc_tail
2585c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	48(%esp),%esi
2586c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	8(%edi),%ecx
2587c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	12(%edi),%edx
2588c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,(%esi)
2589c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebx,4(%esi)
2590c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,8(%esi)
2591c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,12(%esi)
2592c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	28(%esp),%esp
2593c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popfl
2594c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%edi
2595c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%esi
2596c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%ebx
2597c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%ebp
2598c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	ret
2599c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pushfl
2600c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	16
2601c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L030slow_enc_tail:
2602c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	emms
2603c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,%edi
2604c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	$16,%ebx
2605c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	%ecx,%ebx
2606c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	cmpl	%esi,%edi
2607c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	je	.L034enc_in_place
2608c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	4
2609c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2767451785
2610c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	jmp	.L035enc_skip_in_place
2611c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L034enc_in_place:
2612c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	(%edi,%ecx,1),%edi
2613c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L035enc_skip_in_place:
2614c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebx,%ecx
2615c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%eax,%eax
2616c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	4
2617c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2868115081
2618c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	48(%esp),%edi
2619c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,%esi
2620c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	(%edi),%eax
2621c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	4(%edi),%ebx
2622c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	$16,40(%esp)
2623c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	jmp	.L033slow_enc_loop_x86
2624c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	16
2625c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L029slow_decrypt:
2626c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	btl	$25,52(%esp)
2627c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	jnc	.L036slow_dec_loop_x86
2628c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	4
2629c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L037slow_dec_loop_sse:
2630c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movq	(%esi),%mm0
2631c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movq	8(%esi),%mm4
2632c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	44(%esp),%edi
2633c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	call	_sse_AES_decrypt_compact
2634c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	32(%esp),%esi
2635c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	60(%esp),%eax
2636c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	36(%esp),%ebx
2637c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	40(%esp),%ecx
2638c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	48(%esp),%edi
2639c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movq	(%esi),%mm1
2640c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movq	8(%esi),%mm5
2641c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	(%edi),%mm0
2642c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pxor	8(%edi),%mm4
2643c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movq	%mm1,(%edi)
2644c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movq	%mm5,8(%edi)
2645c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	$16,%ecx
2646c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	jc	.L038slow_dec_partial_sse
2647c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movq	%mm0,(%ebx)
2648c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movq	%mm4,8(%ebx)
2649c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	16(%ebx),%ebx
2650c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebx,36(%esp)
2651c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	16(%esi),%esi
2652c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,32(%esp)
2653c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,40(%esp)
2654c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	jnz	.L037slow_dec_loop_sse
2655c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	emms
2656c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	28(%esp),%esp
2657c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popfl
2658c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%edi
2659c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%esi
2660c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%ebx
2661c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%ebp
2662c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	ret
2663c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pushfl
2664c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	16
2665c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L038slow_dec_partial_sse:
2666c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movq	%mm0,(%eax)
2667c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movq	%mm4,8(%eax)
2668c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	emms
2669c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	addl	$16,%ecx
2670c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebx,%edi
2671c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,%esi
2672c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	4
2673c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2767451785
2674c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	28(%esp),%esp
2675c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popfl
2676c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%edi
2677c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%esi
2678c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%ebx
2679c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%ebp
2680c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	ret
2681c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pushfl
2682c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	16
2683c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L036slow_dec_loop_x86:
2684c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	(%esi),%eax
2685c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	4(%esi),%ebx
2686c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	8(%esi),%ecx
2687c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	12(%esi),%edx
2688c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	60(%esp),%edi
2689c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,(%edi)
2690c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebx,4(%edi)
2691c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,8(%edi)
2692c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,12(%edi)
2693c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	44(%esp),%edi
2694c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	call	_x86_AES_decrypt_compact
2695c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	48(%esp),%edi
2696c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	40(%esp),%esi
2697c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	(%edi),%eax
2698c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	4(%edi),%ebx
2699c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	8(%edi),%ecx
2700c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	12(%edi),%edx
2701c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	$16,%esi
2702c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	jc	.L039slow_dec_partial_x86
2703c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,40(%esp)
2704c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	36(%esp),%esi
2705c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,(%esi)
2706c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebx,4(%esi)
2707c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,8(%esi)
2708c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,12(%esi)
2709c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	16(%esi),%esi
2710c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,36(%esp)
2711c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	60(%esp),%esi
2712c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	(%esi),%eax
2713c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	4(%esi),%ebx
2714c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	8(%esi),%ecx
2715c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	12(%esi),%edx
2716c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,(%edi)
2717c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebx,4(%edi)
2718c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,8(%edi)
2719c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,12(%edi)
2720c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	32(%esp),%esi
2721c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	16(%esi),%esi
2722c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,32(%esp)
2723c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	jnz	.L036slow_dec_loop_x86
2724c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	28(%esp),%esp
2725c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popfl
2726c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%edi
2727c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%esi
2728c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%ebx
2729c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%ebp
2730c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	ret
2731c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pushfl
2732c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	16
2733c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L039slow_dec_partial_x86:
2734c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	60(%esp),%esi
2735c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,(%esi)
2736c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebx,4(%esi)
2737c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,8(%esi)
2738c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,12(%esi)
2739c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	32(%esp),%esi
2740c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	(%esi),%eax
2741c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	4(%esi),%ebx
2742c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	8(%esi),%ecx
2743c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	12(%esi),%edx
2744c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,(%edi)
2745c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebx,4(%edi)
2746c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,8(%edi)
2747c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,12(%edi)
2748c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	40(%esp),%ecx
2749c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	36(%esp),%edi
2750c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	60(%esp),%esi
2751c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	4
2752c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.long	2767451785
2753c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	28(%esp),%esp
2754c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popfl
2755c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%edi
2756c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%esi
2757c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%ebx
2758c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%ebp
2759c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	ret
2760c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.size	AES_cbc_encrypt,.-.L_AES_cbc_encrypt_begin
2761c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.type	_x86_AES_set_encrypt_key,@function
2762c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	16
2763c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita_x86_AES_set_encrypt_key:
2764c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pushl	%ebp
2765c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pushl	%ebx
2766c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pushl	%esi
2767c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pushl	%edi
2768c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	24(%esp),%esi
2769c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	32(%esp),%edi
2770c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	testl	$-1,%esi
2771c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	jz	.L040badpointer
2772c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	testl	$-1,%edi
2773c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	jz	.L040badpointer
2774c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	call	.L041pic_point
2775c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L041pic_point:
2776c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%ebp
2777c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	.LAES_Te-.L041pic_point(%ebp),%ebp
2778c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	2176(%ebp),%ebp
2779c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	-128(%ebp),%eax
2780c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	-96(%ebp),%ebx
2781c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	-64(%ebp),%ecx
2782c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	-32(%ebp),%edx
2783c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	(%ebp),%eax
2784c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	32(%ebp),%ebx
2785c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	64(%ebp),%ecx
2786c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	96(%ebp),%edx
2787c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	28(%esp),%ecx
2788c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	cmpl	$128,%ecx
2789c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	je	.L04210rounds
2790c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	cmpl	$192,%ecx
2791c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	je	.L04312rounds
2792c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	cmpl	$256,%ecx
2793c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	je	.L04414rounds
2794c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	$-2,%eax
2795c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	jmp	.L045exit
2796c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L04210rounds:
2797c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	(%esi),%eax
2798c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	4(%esi),%ebx
2799c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	8(%esi),%ecx
2800c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	12(%esi),%edx
2801c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,(%edi)
2802c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebx,4(%edi)
2803c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,8(%edi)
2804c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,12(%edi)
2805c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ecx,%ecx
2806c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	jmp	.L04610shortcut
2807c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	4
2808c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L04710loop:
2809c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	(%edi),%eax
2810c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	12(%edi),%edx
2811c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L04610shortcut:
2812c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%dl,%esi
2813c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%ebx
2814c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%dh,%esi
2815c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$24,%ebx
2816c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebx,%eax
2817c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%ebx
2818c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$16,%edx
2819c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%dl,%esi
2820c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebx,%eax
2821c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%ebx
2822c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%dh,%esi
2823c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$8,%ebx
2824c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebx,%eax
2825c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%ebx
2826c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$16,%ebx
2827c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebx,%eax
2828c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	896(%ebp,%ecx,4),%eax
2829c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,16(%edi)
2830c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	4(%edi),%eax
2831c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,20(%edi)
2832c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	8(%edi),%eax
2833c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,24(%edi)
2834c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	12(%edi),%eax
2835c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,28(%edi)
2836c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	incl	%ecx
2837c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	addl	$16,%edi
2838c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	cmpl	$10,%ecx
2839c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	jl	.L04710loop
2840c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	$10,80(%edi)
2841c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%eax,%eax
2842c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	jmp	.L045exit
2843c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L04312rounds:
2844c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	(%esi),%eax
2845c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	4(%esi),%ebx
2846c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	8(%esi),%ecx
2847c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	12(%esi),%edx
2848c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,(%edi)
2849c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebx,4(%edi)
2850c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,8(%edi)
2851c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,12(%edi)
2852c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	16(%esi),%ecx
2853c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	20(%esi),%edx
2854c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,16(%edi)
2855c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,20(%edi)
2856c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ecx,%ecx
2857c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	jmp	.L04812shortcut
2858c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	4
2859c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L04912loop:
2860c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	(%edi),%eax
2861c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	20(%edi),%edx
2862c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L04812shortcut:
2863c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%dl,%esi
2864c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%ebx
2865c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%dh,%esi
2866c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$24,%ebx
2867c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebx,%eax
2868c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%ebx
2869c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$16,%edx
2870c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%dl,%esi
2871c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebx,%eax
2872c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%ebx
2873c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%dh,%esi
2874c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$8,%ebx
2875c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebx,%eax
2876c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%ebx
2877c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$16,%ebx
2878c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebx,%eax
2879c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	896(%ebp,%ecx,4),%eax
2880c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,24(%edi)
2881c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	4(%edi),%eax
2882c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,28(%edi)
2883c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	8(%edi),%eax
2884c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,32(%edi)
2885c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	12(%edi),%eax
2886c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,36(%edi)
2887c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	cmpl	$7,%ecx
2888c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	je	.L05012break
2889c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	incl	%ecx
2890c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	16(%edi),%eax
2891c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,40(%edi)
2892c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	20(%edi),%eax
2893c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,44(%edi)
2894c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	addl	$24,%edi
2895c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	jmp	.L04912loop
2896c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L05012break:
2897c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	$12,72(%edi)
2898c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%eax,%eax
2899c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	jmp	.L045exit
2900c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L04414rounds:
2901c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	(%esi),%eax
2902c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	4(%esi),%ebx
2903c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	8(%esi),%ecx
2904c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	12(%esi),%edx
2905c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,(%edi)
2906c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebx,4(%edi)
2907c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,8(%edi)
2908c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,12(%edi)
2909c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	16(%esi),%eax
2910c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	20(%esi),%ebx
2911c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	24(%esi),%ecx
2912c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	28(%esi),%edx
2913c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,16(%edi)
2914c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebx,20(%edi)
2915c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,24(%edi)
2916c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,28(%edi)
2917c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ecx,%ecx
2918c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	jmp	.L05114shortcut
2919c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	4
2920c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L05214loop:
2921c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	28(%edi),%edx
2922c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L05114shortcut:
2923c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	(%edi),%eax
2924c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%dl,%esi
2925c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%ebx
2926c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%dh,%esi
2927c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$24,%ebx
2928c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebx,%eax
2929c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%ebx
2930c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$16,%edx
2931c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%dl,%esi
2932c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebx,%eax
2933c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%ebx
2934c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%dh,%esi
2935c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$8,%ebx
2936c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebx,%eax
2937c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%ebx
2938c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$16,%ebx
2939c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebx,%eax
2940c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	896(%ebp,%ecx,4),%eax
2941c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,32(%edi)
2942c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	4(%edi),%eax
2943c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,36(%edi)
2944c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	8(%edi),%eax
2945c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,40(%edi)
2946c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	12(%edi),%eax
2947c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,44(%edi)
2948c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	cmpl	$6,%ecx
2949c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	je	.L05314break
2950c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	incl	%ecx
2951c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,%edx
2952c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	16(%edi),%eax
2953c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%dl,%esi
2954c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%ebx
2955c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%dh,%esi
2956c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebx,%eax
2957c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%ebx
2958c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$16,%edx
2959c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$8,%ebx
2960c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%dl,%esi
2961c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebx,%eax
2962c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%ebx
2963c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	%dh,%esi
2964c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$16,%ebx
2965c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebx,%eax
2966c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movzbl	-128(%ebp,%esi,1),%ebx
2967c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shll	$24,%ebx
2968c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebx,%eax
2969c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,48(%edi)
2970c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	20(%edi),%eax
2971c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,52(%edi)
2972c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	24(%edi),%eax
2973c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,56(%edi)
2974c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	28(%edi),%eax
2975c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,60(%edi)
2976c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	addl	$32,%edi
2977c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	jmp	.L05214loop
2978c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L05314break:
2979c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	$14,48(%edi)
2980c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%eax,%eax
2981c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	jmp	.L045exit
2982c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L040badpointer:
2983c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	$-1,%eax
2984c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L045exit:
2985c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%edi
2986c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%esi
2987c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%ebx
2988c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%ebp
2989c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	ret
2990c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.size	_x86_AES_set_encrypt_key,.-_x86_AES_set_encrypt_key
2991c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.globl	private_AES_set_encrypt_key
2992c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.type	private_AES_set_encrypt_key,@function
2993c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	16
2994c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionitaprivate_AES_set_encrypt_key:
2995c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L_private_AES_set_encrypt_key_begin:
2996c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	call	_x86_AES_set_encrypt_key
2997c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	ret
2998c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.size	private_AES_set_encrypt_key,.-.L_private_AES_set_encrypt_key_begin
2999c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.globl	private_AES_set_decrypt_key
3000c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.type	private_AES_set_decrypt_key,@function
3001c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	16
3002c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionitaprivate_AES_set_decrypt_key:
3003c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L_private_AES_set_decrypt_key_begin:
3004c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	call	_x86_AES_set_encrypt_key
3005c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	cmpl	$0,%eax
3006c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	je	.L054proceed
3007c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	ret
3008c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L054proceed:
3009c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pushl	%ebp
3010c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pushl	%ebx
3011c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pushl	%esi
3012c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	pushl	%edi
3013c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	28(%esp),%esi
3014c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	240(%esi),%ecx
3015c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	(,%ecx,4),%ecx
3016c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	(%esi,%ecx,4),%edi
3017c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	4
3018c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L055invert:
3019c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	(%esi),%eax
3020c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	4(%esi),%ebx
3021c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	(%edi),%ecx
3022c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	4(%edi),%edx
3023c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,(%edi)
3024c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebx,4(%edi)
3025c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,(%esi)
3026c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,4(%esi)
3027c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	8(%esi),%eax
3028c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	12(%esi),%ebx
3029c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	8(%edi),%ecx
3030c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	12(%edi),%edx
3031c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,8(%edi)
3032c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebx,12(%edi)
3033c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,8(%esi)
3034c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,12(%esi)
3035c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	addl	$16,%esi
3036c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	$16,%edi
3037c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	cmpl	%edi,%esi
3038c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	jne	.L055invert
3039c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	28(%esp),%edi
3040c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	240(%edi),%esi
3041c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	-2(%esi,%esi,1),%esi
3042c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	(%edi,%esi,8),%esi
3043c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,28(%esp)
3044c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	16(%edi),%eax
3045c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.align	4
3046c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.L056permute:
3047c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	addl	$16,%edi
3048c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,%esi
3049c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$2155905152,%esi
3050c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%ebp
3051c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$7,%ebp
3052c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	(%eax,%eax,1),%ebx
3053c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	%ebp,%esi
3054c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$4278124286,%ebx
3055c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$454761243,%esi
3056c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebx,%esi
3057c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%ebx
3058c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$2155905152,%esi
3059c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%ebp
3060c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$7,%ebp
3061c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	(%ebx,%ebx,1),%ecx
3062c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	%ebp,%esi
3063c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$4278124286,%ecx
3064c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$454761243,%esi
3065c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%eax,%ebx
3066c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ecx,%esi
3067c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%ecx
3068c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$2155905152,%esi
3069c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%ebp
3070c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$7,%ebp
3071c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	(%ecx,%ecx,1),%edx
3072c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%eax,%ecx
3073c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	%ebp,%esi
3074c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$4278124286,%edx
3075c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$454761243,%esi
3076c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	roll	$8,%eax
3077c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%esi,%edx
3078c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	4(%edi),%ebp
3079c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebx,%eax
3080c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edx,%ebx
3081c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ecx,%eax
3082c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	roll	$24,%ebx
3083c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edx,%ecx
3084c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edx,%eax
3085c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	roll	$16,%ecx
3086c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebx,%eax
3087c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	roll	$8,%edx
3088c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ecx,%eax
3089c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebp,%ebx
3090c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edx,%eax
3091c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%eax,(%edi)
3092c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebx,%esi
3093c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$2155905152,%esi
3094c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%ebp
3095c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$7,%ebp
3096c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	(%ebx,%ebx,1),%ecx
3097c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	%ebp,%esi
3098c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$4278124286,%ecx
3099c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$454761243,%esi
3100c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ecx,%esi
3101c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%ecx
3102c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$2155905152,%esi
3103c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%ebp
3104c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$7,%ebp
3105c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	(%ecx,%ecx,1),%edx
3106c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	%ebp,%esi
3107c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$4278124286,%edx
3108c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$454761243,%esi
3109c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebx,%ecx
3110c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edx,%esi
3111c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%edx
3112c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$2155905152,%esi
3113c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%ebp
3114c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$7,%ebp
3115c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	(%edx,%edx,1),%eax
3116c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebx,%edx
3117c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	%ebp,%esi
3118c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$4278124286,%eax
3119c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$454761243,%esi
3120c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	roll	$8,%ebx
3121c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%esi,%eax
3122c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	8(%edi),%ebp
3123c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ecx,%ebx
3124c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%eax,%ecx
3125c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edx,%ebx
3126c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	roll	$24,%ecx
3127c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%eax,%edx
3128c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%eax,%ebx
3129c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	roll	$16,%edx
3130c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ecx,%ebx
3131c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	roll	$8,%eax
3132c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edx,%ebx
3133c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebp,%ecx
3134c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%eax,%ebx
3135c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebx,4(%edi)
3136c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,%esi
3137c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$2155905152,%esi
3138c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%ebp
3139c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$7,%ebp
3140c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	(%ecx,%ecx,1),%edx
3141c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	%ebp,%esi
3142c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$4278124286,%edx
3143c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$454761243,%esi
3144c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edx,%esi
3145c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%edx
3146c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$2155905152,%esi
3147c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%ebp
3148c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$7,%ebp
3149c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	(%edx,%edx,1),%eax
3150c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	%ebp,%esi
3151c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$4278124286,%eax
3152c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$454761243,%esi
3153c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ecx,%edx
3154c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%eax,%esi
3155c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%eax
3156c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$2155905152,%esi
3157c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%ebp
3158c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$7,%ebp
3159c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	(%eax,%eax,1),%ebx
3160c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ecx,%eax
3161c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	%ebp,%esi
3162c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$4278124286,%ebx
3163c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$454761243,%esi
3164c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	roll	$8,%ecx
3165c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%esi,%ebx
3166c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	12(%edi),%ebp
3167c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edx,%ecx
3168c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebx,%edx
3169c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%eax,%ecx
3170c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	roll	$24,%edx
3171c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebx,%eax
3172c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebx,%ecx
3173c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	roll	$16,%eax
3174c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edx,%ecx
3175c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	roll	$8,%ebx
3176c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%eax,%ecx
3177c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebp,%edx
3178c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebx,%ecx
3179c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ecx,8(%edi)
3180c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,%esi
3181c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$2155905152,%esi
3182c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%ebp
3183c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$7,%ebp
3184c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	(%edx,%edx,1),%eax
3185c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	%ebp,%esi
3186c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$4278124286,%eax
3187c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$454761243,%esi
3188c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%eax,%esi
3189c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%eax
3190c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$2155905152,%esi
3191c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%ebp
3192c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$7,%ebp
3193c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	(%eax,%eax,1),%ebx
3194c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	%ebp,%esi
3195c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$4278124286,%ebx
3196c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$454761243,%esi
3197c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edx,%eax
3198c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebx,%esi
3199c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%ebx
3200c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$2155905152,%esi
3201c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%esi,%ebp
3202c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	shrl	$7,%ebp
3203c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	leal	(%ebx,%ebx,1),%ecx
3204c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%edx,%ebx
3205c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	subl	%ebp,%esi
3206c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$4278124286,%ecx
3207c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	andl	$454761243,%esi
3208c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	roll	$8,%edx
3209c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%esi,%ecx
3210c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	16(%edi),%ebp
3211c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%eax,%edx
3212c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ecx,%eax
3213c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebx,%edx
3214c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	roll	$24,%eax
3215c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ecx,%ebx
3216c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ecx,%edx
3217c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	roll	$16,%ebx
3218c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%eax,%edx
3219c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	roll	$8,%ecx
3220c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ebx,%edx
3221c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%ebp,%eax
3222c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%ecx,%edx
3223c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	movl	%edx,12(%edi)
3224c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	cmpl	28(%esp),%edi
3225c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	jb	.L056permute
3226c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	xorl	%eax,%eax
3227c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%edi
3228c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%esi
3229c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%ebx
3230c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	popl	%ebp
3231c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita	ret
3232c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.size	private_AES_set_decrypt_key,.-.L_private_AES_set_decrypt_key_begin
3233c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	65,69,83,32,102,111,114,32,120,56,54,44,32,67,82,89
3234c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114
3235c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.byte	111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
3236c58cd0fd2cebb61b0e0f200e01562c542525ef46Catalin Ionita.comm	OPENSSL_ia32cap_P,8,4
3237