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