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