xref: /freebsd/sys/crypto/openssl/i386/wp-mmx.S (revision 4b9d6057)
1/* Do not modify. This file is auto-generated from wp-mmx.pl. */
2#ifdef PIC
3.text
4.globl	whirlpool_block_mmx
5.type	whirlpool_block_mmx,@function
6.align	16
7whirlpool_block_mmx:
8.L_whirlpool_block_mmx_begin:
9	#ifdef __CET__
10
11.byte	243,15,30,251
12	#endif
13
14	pushl	%ebp
15	pushl	%ebx
16	pushl	%esi
17	pushl	%edi
18	movl	20(%esp),%esi
19	movl	24(%esp),%edi
20	movl	28(%esp),%ebp
21	movl	%esp,%eax
22	subl	$148,%esp
23	andl	$-64,%esp
24	leal	128(%esp),%ebx
25	movl	%esi,(%ebx)
26	movl	%edi,4(%ebx)
27	movl	%ebp,8(%ebx)
28	movl	%eax,16(%ebx)
29	call	.L000pic_point
30.L000pic_point:
31	popl	%ebp
32	leal	.L001table-.L000pic_point(%ebp),%ebp
33	xorl	%ecx,%ecx
34	xorl	%edx,%edx
35	movq	(%esi),%mm0
36	movq	8(%esi),%mm1
37	movq	16(%esi),%mm2
38	movq	24(%esi),%mm3
39	movq	32(%esi),%mm4
40	movq	40(%esi),%mm5
41	movq	48(%esi),%mm6
42	movq	56(%esi),%mm7
43.L002outerloop:
44	movq	%mm0,(%esp)
45	movq	%mm1,8(%esp)
46	movq	%mm2,16(%esp)
47	movq	%mm3,24(%esp)
48	movq	%mm4,32(%esp)
49	movq	%mm5,40(%esp)
50	movq	%mm6,48(%esp)
51	movq	%mm7,56(%esp)
52	pxor	(%edi),%mm0
53	pxor	8(%edi),%mm1
54	pxor	16(%edi),%mm2
55	pxor	24(%edi),%mm3
56	pxor	32(%edi),%mm4
57	pxor	40(%edi),%mm5
58	pxor	48(%edi),%mm6
59	pxor	56(%edi),%mm7
60	movq	%mm0,64(%esp)
61	movq	%mm1,72(%esp)
62	movq	%mm2,80(%esp)
63	movq	%mm3,88(%esp)
64	movq	%mm4,96(%esp)
65	movq	%mm5,104(%esp)
66	movq	%mm6,112(%esp)
67	movq	%mm7,120(%esp)
68	xorl	%esi,%esi
69	movl	%esi,12(%ebx)
70.align	16
71.L003round:
72	movq	4096(%ebp,%esi,8),%mm0
73	movl	(%esp),%eax
74	movl	4(%esp),%ebx
75	movzbl	%al,%ecx
76	movzbl	%ah,%edx
77	shrl	$16,%eax
78	leal	(%ecx,%ecx,1),%esi
79	movzbl	%al,%ecx
80	leal	(%edx,%edx,1),%edi
81	movzbl	%ah,%edx
82	pxor	(%ebp,%esi,8),%mm0
83	movq	7(%ebp,%edi,8),%mm1
84	movl	8(%esp),%eax
85	leal	(%ecx,%ecx,1),%esi
86	movzbl	%bl,%ecx
87	leal	(%edx,%edx,1),%edi
88	movzbl	%bh,%edx
89	movq	6(%ebp,%esi,8),%mm2
90	movq	5(%ebp,%edi,8),%mm3
91	shrl	$16,%ebx
92	leal	(%ecx,%ecx,1),%esi
93	movzbl	%bl,%ecx
94	leal	(%edx,%edx,1),%edi
95	movzbl	%bh,%edx
96	movq	4(%ebp,%esi,8),%mm4
97	movq	3(%ebp,%edi,8),%mm5
98	movl	12(%esp),%ebx
99	leal	(%ecx,%ecx,1),%esi
100	movzbl	%al,%ecx
101	leal	(%edx,%edx,1),%edi
102	movzbl	%ah,%edx
103	movq	2(%ebp,%esi,8),%mm6
104	movq	1(%ebp,%edi,8),%mm7
105	shrl	$16,%eax
106	leal	(%ecx,%ecx,1),%esi
107	movzbl	%al,%ecx
108	leal	(%edx,%edx,1),%edi
109	movzbl	%ah,%edx
110	pxor	(%ebp,%esi,8),%mm1
111	pxor	7(%ebp,%edi,8),%mm2
112	movl	16(%esp),%eax
113	leal	(%ecx,%ecx,1),%esi
114	movzbl	%bl,%ecx
115	leal	(%edx,%edx,1),%edi
116	movzbl	%bh,%edx
117	pxor	6(%ebp,%esi,8),%mm3
118	pxor	5(%ebp,%edi,8),%mm4
119	shrl	$16,%ebx
120	leal	(%ecx,%ecx,1),%esi
121	movzbl	%bl,%ecx
122	leal	(%edx,%edx,1),%edi
123	movzbl	%bh,%edx
124	pxor	4(%ebp,%esi,8),%mm5
125	pxor	3(%ebp,%edi,8),%mm6
126	movl	20(%esp),%ebx
127	leal	(%ecx,%ecx,1),%esi
128	movzbl	%al,%ecx
129	leal	(%edx,%edx,1),%edi
130	movzbl	%ah,%edx
131	pxor	2(%ebp,%esi,8),%mm7
132	pxor	1(%ebp,%edi,8),%mm0
133	shrl	$16,%eax
134	leal	(%ecx,%ecx,1),%esi
135	movzbl	%al,%ecx
136	leal	(%edx,%edx,1),%edi
137	movzbl	%ah,%edx
138	pxor	(%ebp,%esi,8),%mm2
139	pxor	7(%ebp,%edi,8),%mm3
140	movl	24(%esp),%eax
141	leal	(%ecx,%ecx,1),%esi
142	movzbl	%bl,%ecx
143	leal	(%edx,%edx,1),%edi
144	movzbl	%bh,%edx
145	pxor	6(%ebp,%esi,8),%mm4
146	pxor	5(%ebp,%edi,8),%mm5
147	shrl	$16,%ebx
148	leal	(%ecx,%ecx,1),%esi
149	movzbl	%bl,%ecx
150	leal	(%edx,%edx,1),%edi
151	movzbl	%bh,%edx
152	pxor	4(%ebp,%esi,8),%mm6
153	pxor	3(%ebp,%edi,8),%mm7
154	movl	28(%esp),%ebx
155	leal	(%ecx,%ecx,1),%esi
156	movzbl	%al,%ecx
157	leal	(%edx,%edx,1),%edi
158	movzbl	%ah,%edx
159	pxor	2(%ebp,%esi,8),%mm0
160	pxor	1(%ebp,%edi,8),%mm1
161	shrl	$16,%eax
162	leal	(%ecx,%ecx,1),%esi
163	movzbl	%al,%ecx
164	leal	(%edx,%edx,1),%edi
165	movzbl	%ah,%edx
166	pxor	(%ebp,%esi,8),%mm3
167	pxor	7(%ebp,%edi,8),%mm4
168	movl	32(%esp),%eax
169	leal	(%ecx,%ecx,1),%esi
170	movzbl	%bl,%ecx
171	leal	(%edx,%edx,1),%edi
172	movzbl	%bh,%edx
173	pxor	6(%ebp,%esi,8),%mm5
174	pxor	5(%ebp,%edi,8),%mm6
175	shrl	$16,%ebx
176	leal	(%ecx,%ecx,1),%esi
177	movzbl	%bl,%ecx
178	leal	(%edx,%edx,1),%edi
179	movzbl	%bh,%edx
180	pxor	4(%ebp,%esi,8),%mm7
181	pxor	3(%ebp,%edi,8),%mm0
182	movl	36(%esp),%ebx
183	leal	(%ecx,%ecx,1),%esi
184	movzbl	%al,%ecx
185	leal	(%edx,%edx,1),%edi
186	movzbl	%ah,%edx
187	pxor	2(%ebp,%esi,8),%mm1
188	pxor	1(%ebp,%edi,8),%mm2
189	shrl	$16,%eax
190	leal	(%ecx,%ecx,1),%esi
191	movzbl	%al,%ecx
192	leal	(%edx,%edx,1),%edi
193	movzbl	%ah,%edx
194	pxor	(%ebp,%esi,8),%mm4
195	pxor	7(%ebp,%edi,8),%mm5
196	movl	40(%esp),%eax
197	leal	(%ecx,%ecx,1),%esi
198	movzbl	%bl,%ecx
199	leal	(%edx,%edx,1),%edi
200	movzbl	%bh,%edx
201	pxor	6(%ebp,%esi,8),%mm6
202	pxor	5(%ebp,%edi,8),%mm7
203	shrl	$16,%ebx
204	leal	(%ecx,%ecx,1),%esi
205	movzbl	%bl,%ecx
206	leal	(%edx,%edx,1),%edi
207	movzbl	%bh,%edx
208	pxor	4(%ebp,%esi,8),%mm0
209	pxor	3(%ebp,%edi,8),%mm1
210	movl	44(%esp),%ebx
211	leal	(%ecx,%ecx,1),%esi
212	movzbl	%al,%ecx
213	leal	(%edx,%edx,1),%edi
214	movzbl	%ah,%edx
215	pxor	2(%ebp,%esi,8),%mm2
216	pxor	1(%ebp,%edi,8),%mm3
217	shrl	$16,%eax
218	leal	(%ecx,%ecx,1),%esi
219	movzbl	%al,%ecx
220	leal	(%edx,%edx,1),%edi
221	movzbl	%ah,%edx
222	pxor	(%ebp,%esi,8),%mm5
223	pxor	7(%ebp,%edi,8),%mm6
224	movl	48(%esp),%eax
225	leal	(%ecx,%ecx,1),%esi
226	movzbl	%bl,%ecx
227	leal	(%edx,%edx,1),%edi
228	movzbl	%bh,%edx
229	pxor	6(%ebp,%esi,8),%mm7
230	pxor	5(%ebp,%edi,8),%mm0
231	shrl	$16,%ebx
232	leal	(%ecx,%ecx,1),%esi
233	movzbl	%bl,%ecx
234	leal	(%edx,%edx,1),%edi
235	movzbl	%bh,%edx
236	pxor	4(%ebp,%esi,8),%mm1
237	pxor	3(%ebp,%edi,8),%mm2
238	movl	52(%esp),%ebx
239	leal	(%ecx,%ecx,1),%esi
240	movzbl	%al,%ecx
241	leal	(%edx,%edx,1),%edi
242	movzbl	%ah,%edx
243	pxor	2(%ebp,%esi,8),%mm3
244	pxor	1(%ebp,%edi,8),%mm4
245	shrl	$16,%eax
246	leal	(%ecx,%ecx,1),%esi
247	movzbl	%al,%ecx
248	leal	(%edx,%edx,1),%edi
249	movzbl	%ah,%edx
250	pxor	(%ebp,%esi,8),%mm6
251	pxor	7(%ebp,%edi,8),%mm7
252	movl	56(%esp),%eax
253	leal	(%ecx,%ecx,1),%esi
254	movzbl	%bl,%ecx
255	leal	(%edx,%edx,1),%edi
256	movzbl	%bh,%edx
257	pxor	6(%ebp,%esi,8),%mm0
258	pxor	5(%ebp,%edi,8),%mm1
259	shrl	$16,%ebx
260	leal	(%ecx,%ecx,1),%esi
261	movzbl	%bl,%ecx
262	leal	(%edx,%edx,1),%edi
263	movzbl	%bh,%edx
264	pxor	4(%ebp,%esi,8),%mm2
265	pxor	3(%ebp,%edi,8),%mm3
266	movl	60(%esp),%ebx
267	leal	(%ecx,%ecx,1),%esi
268	movzbl	%al,%ecx
269	leal	(%edx,%edx,1),%edi
270	movzbl	%ah,%edx
271	pxor	2(%ebp,%esi,8),%mm4
272	pxor	1(%ebp,%edi,8),%mm5
273	shrl	$16,%eax
274	leal	(%ecx,%ecx,1),%esi
275	movzbl	%al,%ecx
276	leal	(%edx,%edx,1),%edi
277	movzbl	%ah,%edx
278	pxor	(%ebp,%esi,8),%mm7
279	pxor	7(%ebp,%edi,8),%mm0
280	movl	64(%esp),%eax
281	leal	(%ecx,%ecx,1),%esi
282	movzbl	%bl,%ecx
283	leal	(%edx,%edx,1),%edi
284	movzbl	%bh,%edx
285	pxor	6(%ebp,%esi,8),%mm1
286	pxor	5(%ebp,%edi,8),%mm2
287	shrl	$16,%ebx
288	leal	(%ecx,%ecx,1),%esi
289	movzbl	%bl,%ecx
290	leal	(%edx,%edx,1),%edi
291	movzbl	%bh,%edx
292	pxor	4(%ebp,%esi,8),%mm3
293	pxor	3(%ebp,%edi,8),%mm4
294	movl	68(%esp),%ebx
295	leal	(%ecx,%ecx,1),%esi
296	movzbl	%al,%ecx
297	leal	(%edx,%edx,1),%edi
298	movzbl	%ah,%edx
299	pxor	2(%ebp,%esi,8),%mm5
300	pxor	1(%ebp,%edi,8),%mm6
301	movq	%mm0,(%esp)
302	movq	%mm1,8(%esp)
303	movq	%mm2,16(%esp)
304	movq	%mm3,24(%esp)
305	movq	%mm4,32(%esp)
306	movq	%mm5,40(%esp)
307	movq	%mm6,48(%esp)
308	movq	%mm7,56(%esp)
309	shrl	$16,%eax
310	leal	(%ecx,%ecx,1),%esi
311	movzbl	%al,%ecx
312	leal	(%edx,%edx,1),%edi
313	movzbl	%ah,%edx
314	pxor	(%ebp,%esi,8),%mm0
315	pxor	7(%ebp,%edi,8),%mm1
316	movl	72(%esp),%eax
317	leal	(%ecx,%ecx,1),%esi
318	movzbl	%bl,%ecx
319	leal	(%edx,%edx,1),%edi
320	movzbl	%bh,%edx
321	pxor	6(%ebp,%esi,8),%mm2
322	pxor	5(%ebp,%edi,8),%mm3
323	shrl	$16,%ebx
324	leal	(%ecx,%ecx,1),%esi
325	movzbl	%bl,%ecx
326	leal	(%edx,%edx,1),%edi
327	movzbl	%bh,%edx
328	pxor	4(%ebp,%esi,8),%mm4
329	pxor	3(%ebp,%edi,8),%mm5
330	movl	76(%esp),%ebx
331	leal	(%ecx,%ecx,1),%esi
332	movzbl	%al,%ecx
333	leal	(%edx,%edx,1),%edi
334	movzbl	%ah,%edx
335	pxor	2(%ebp,%esi,8),%mm6
336	pxor	1(%ebp,%edi,8),%mm7
337	shrl	$16,%eax
338	leal	(%ecx,%ecx,1),%esi
339	movzbl	%al,%ecx
340	leal	(%edx,%edx,1),%edi
341	movzbl	%ah,%edx
342	pxor	(%ebp,%esi,8),%mm1
343	pxor	7(%ebp,%edi,8),%mm2
344	movl	80(%esp),%eax
345	leal	(%ecx,%ecx,1),%esi
346	movzbl	%bl,%ecx
347	leal	(%edx,%edx,1),%edi
348	movzbl	%bh,%edx
349	pxor	6(%ebp,%esi,8),%mm3
350	pxor	5(%ebp,%edi,8),%mm4
351	shrl	$16,%ebx
352	leal	(%ecx,%ecx,1),%esi
353	movzbl	%bl,%ecx
354	leal	(%edx,%edx,1),%edi
355	movzbl	%bh,%edx
356	pxor	4(%ebp,%esi,8),%mm5
357	pxor	3(%ebp,%edi,8),%mm6
358	movl	84(%esp),%ebx
359	leal	(%ecx,%ecx,1),%esi
360	movzbl	%al,%ecx
361	leal	(%edx,%edx,1),%edi
362	movzbl	%ah,%edx
363	pxor	2(%ebp,%esi,8),%mm7
364	pxor	1(%ebp,%edi,8),%mm0
365	shrl	$16,%eax
366	leal	(%ecx,%ecx,1),%esi
367	movzbl	%al,%ecx
368	leal	(%edx,%edx,1),%edi
369	movzbl	%ah,%edx
370	pxor	(%ebp,%esi,8),%mm2
371	pxor	7(%ebp,%edi,8),%mm3
372	movl	88(%esp),%eax
373	leal	(%ecx,%ecx,1),%esi
374	movzbl	%bl,%ecx
375	leal	(%edx,%edx,1),%edi
376	movzbl	%bh,%edx
377	pxor	6(%ebp,%esi,8),%mm4
378	pxor	5(%ebp,%edi,8),%mm5
379	shrl	$16,%ebx
380	leal	(%ecx,%ecx,1),%esi
381	movzbl	%bl,%ecx
382	leal	(%edx,%edx,1),%edi
383	movzbl	%bh,%edx
384	pxor	4(%ebp,%esi,8),%mm6
385	pxor	3(%ebp,%edi,8),%mm7
386	movl	92(%esp),%ebx
387	leal	(%ecx,%ecx,1),%esi
388	movzbl	%al,%ecx
389	leal	(%edx,%edx,1),%edi
390	movzbl	%ah,%edx
391	pxor	2(%ebp,%esi,8),%mm0
392	pxor	1(%ebp,%edi,8),%mm1
393	shrl	$16,%eax
394	leal	(%ecx,%ecx,1),%esi
395	movzbl	%al,%ecx
396	leal	(%edx,%edx,1),%edi
397	movzbl	%ah,%edx
398	pxor	(%ebp,%esi,8),%mm3
399	pxor	7(%ebp,%edi,8),%mm4
400	movl	96(%esp),%eax
401	leal	(%ecx,%ecx,1),%esi
402	movzbl	%bl,%ecx
403	leal	(%edx,%edx,1),%edi
404	movzbl	%bh,%edx
405	pxor	6(%ebp,%esi,8),%mm5
406	pxor	5(%ebp,%edi,8),%mm6
407	shrl	$16,%ebx
408	leal	(%ecx,%ecx,1),%esi
409	movzbl	%bl,%ecx
410	leal	(%edx,%edx,1),%edi
411	movzbl	%bh,%edx
412	pxor	4(%ebp,%esi,8),%mm7
413	pxor	3(%ebp,%edi,8),%mm0
414	movl	100(%esp),%ebx
415	leal	(%ecx,%ecx,1),%esi
416	movzbl	%al,%ecx
417	leal	(%edx,%edx,1),%edi
418	movzbl	%ah,%edx
419	pxor	2(%ebp,%esi,8),%mm1
420	pxor	1(%ebp,%edi,8),%mm2
421	shrl	$16,%eax
422	leal	(%ecx,%ecx,1),%esi
423	movzbl	%al,%ecx
424	leal	(%edx,%edx,1),%edi
425	movzbl	%ah,%edx
426	pxor	(%ebp,%esi,8),%mm4
427	pxor	7(%ebp,%edi,8),%mm5
428	movl	104(%esp),%eax
429	leal	(%ecx,%ecx,1),%esi
430	movzbl	%bl,%ecx
431	leal	(%edx,%edx,1),%edi
432	movzbl	%bh,%edx
433	pxor	6(%ebp,%esi,8),%mm6
434	pxor	5(%ebp,%edi,8),%mm7
435	shrl	$16,%ebx
436	leal	(%ecx,%ecx,1),%esi
437	movzbl	%bl,%ecx
438	leal	(%edx,%edx,1),%edi
439	movzbl	%bh,%edx
440	pxor	4(%ebp,%esi,8),%mm0
441	pxor	3(%ebp,%edi,8),%mm1
442	movl	108(%esp),%ebx
443	leal	(%ecx,%ecx,1),%esi
444	movzbl	%al,%ecx
445	leal	(%edx,%edx,1),%edi
446	movzbl	%ah,%edx
447	pxor	2(%ebp,%esi,8),%mm2
448	pxor	1(%ebp,%edi,8),%mm3
449	shrl	$16,%eax
450	leal	(%ecx,%ecx,1),%esi
451	movzbl	%al,%ecx
452	leal	(%edx,%edx,1),%edi
453	movzbl	%ah,%edx
454	pxor	(%ebp,%esi,8),%mm5
455	pxor	7(%ebp,%edi,8),%mm6
456	movl	112(%esp),%eax
457	leal	(%ecx,%ecx,1),%esi
458	movzbl	%bl,%ecx
459	leal	(%edx,%edx,1),%edi
460	movzbl	%bh,%edx
461	pxor	6(%ebp,%esi,8),%mm7
462	pxor	5(%ebp,%edi,8),%mm0
463	shrl	$16,%ebx
464	leal	(%ecx,%ecx,1),%esi
465	movzbl	%bl,%ecx
466	leal	(%edx,%edx,1),%edi
467	movzbl	%bh,%edx
468	pxor	4(%ebp,%esi,8),%mm1
469	pxor	3(%ebp,%edi,8),%mm2
470	movl	116(%esp),%ebx
471	leal	(%ecx,%ecx,1),%esi
472	movzbl	%al,%ecx
473	leal	(%edx,%edx,1),%edi
474	movzbl	%ah,%edx
475	pxor	2(%ebp,%esi,8),%mm3
476	pxor	1(%ebp,%edi,8),%mm4
477	shrl	$16,%eax
478	leal	(%ecx,%ecx,1),%esi
479	movzbl	%al,%ecx
480	leal	(%edx,%edx,1),%edi
481	movzbl	%ah,%edx
482	pxor	(%ebp,%esi,8),%mm6
483	pxor	7(%ebp,%edi,8),%mm7
484	movl	120(%esp),%eax
485	leal	(%ecx,%ecx,1),%esi
486	movzbl	%bl,%ecx
487	leal	(%edx,%edx,1),%edi
488	movzbl	%bh,%edx
489	pxor	6(%ebp,%esi,8),%mm0
490	pxor	5(%ebp,%edi,8),%mm1
491	shrl	$16,%ebx
492	leal	(%ecx,%ecx,1),%esi
493	movzbl	%bl,%ecx
494	leal	(%edx,%edx,1),%edi
495	movzbl	%bh,%edx
496	pxor	4(%ebp,%esi,8),%mm2
497	pxor	3(%ebp,%edi,8),%mm3
498	movl	124(%esp),%ebx
499	leal	(%ecx,%ecx,1),%esi
500	movzbl	%al,%ecx
501	leal	(%edx,%edx,1),%edi
502	movzbl	%ah,%edx
503	pxor	2(%ebp,%esi,8),%mm4
504	pxor	1(%ebp,%edi,8),%mm5
505	shrl	$16,%eax
506	leal	(%ecx,%ecx,1),%esi
507	movzbl	%al,%ecx
508	leal	(%edx,%edx,1),%edi
509	movzbl	%ah,%edx
510	pxor	(%ebp,%esi,8),%mm7
511	pxor	7(%ebp,%edi,8),%mm0
512	leal	(%ecx,%ecx,1),%esi
513	movzbl	%bl,%ecx
514	leal	(%edx,%edx,1),%edi
515	movzbl	%bh,%edx
516	pxor	6(%ebp,%esi,8),%mm1
517	pxor	5(%ebp,%edi,8),%mm2
518	shrl	$16,%ebx
519	leal	(%ecx,%ecx,1),%esi
520	movzbl	%bl,%ecx
521	leal	(%edx,%edx,1),%edi
522	movzbl	%bh,%edx
523	pxor	4(%ebp,%esi,8),%mm3
524	pxor	3(%ebp,%edi,8),%mm4
525	leal	(%ecx,%ecx,1),%esi
526	movzbl	%al,%ecx
527	leal	(%edx,%edx,1),%edi
528	movzbl	%ah,%edx
529	pxor	2(%ebp,%esi,8),%mm5
530	pxor	1(%ebp,%edi,8),%mm6
531	leal	128(%esp),%ebx
532	movl	12(%ebx),%esi
533	addl	$1,%esi
534	cmpl	$10,%esi
535	je	.L004roundsdone
536	movl	%esi,12(%ebx)
537	movq	%mm0,64(%esp)
538	movq	%mm1,72(%esp)
539	movq	%mm2,80(%esp)
540	movq	%mm3,88(%esp)
541	movq	%mm4,96(%esp)
542	movq	%mm5,104(%esp)
543	movq	%mm6,112(%esp)
544	movq	%mm7,120(%esp)
545	jmp	.L003round
546.align	16
547.L004roundsdone:
548	movl	(%ebx),%esi
549	movl	4(%ebx),%edi
550	movl	8(%ebx),%eax
551	pxor	(%edi),%mm0
552	pxor	8(%edi),%mm1
553	pxor	16(%edi),%mm2
554	pxor	24(%edi),%mm3
555	pxor	32(%edi),%mm4
556	pxor	40(%edi),%mm5
557	pxor	48(%edi),%mm6
558	pxor	56(%edi),%mm7
559	pxor	(%esi),%mm0
560	pxor	8(%esi),%mm1
561	pxor	16(%esi),%mm2
562	pxor	24(%esi),%mm3
563	pxor	32(%esi),%mm4
564	pxor	40(%esi),%mm5
565	pxor	48(%esi),%mm6
566	pxor	56(%esi),%mm7
567	movq	%mm0,(%esi)
568	movq	%mm1,8(%esi)
569	movq	%mm2,16(%esi)
570	movq	%mm3,24(%esi)
571	movq	%mm4,32(%esi)
572	movq	%mm5,40(%esi)
573	movq	%mm6,48(%esi)
574	movq	%mm7,56(%esi)
575	leal	64(%edi),%edi
576	subl	$1,%eax
577	jz	.L005alldone
578	movl	%edi,4(%ebx)
579	movl	%eax,8(%ebx)
580	jmp	.L002outerloop
581.L005alldone:
582	emms
583	movl	16(%ebx),%esp
584	popl	%edi
585	popl	%esi
586	popl	%ebx
587	popl	%ebp
588	ret
589.align	64
590.L001table:
591.byte	24,24,96,24,192,120,48,216
592.byte	24,24,96,24,192,120,48,216
593.byte	35,35,140,35,5,175,70,38
594.byte	35,35,140,35,5,175,70,38
595.byte	198,198,63,198,126,249,145,184
596.byte	198,198,63,198,126,249,145,184
597.byte	232,232,135,232,19,111,205,251
598.byte	232,232,135,232,19,111,205,251
599.byte	135,135,38,135,76,161,19,203
600.byte	135,135,38,135,76,161,19,203
601.byte	184,184,218,184,169,98,109,17
602.byte	184,184,218,184,169,98,109,17
603.byte	1,1,4,1,8,5,2,9
604.byte	1,1,4,1,8,5,2,9
605.byte	79,79,33,79,66,110,158,13
606.byte	79,79,33,79,66,110,158,13
607.byte	54,54,216,54,173,238,108,155
608.byte	54,54,216,54,173,238,108,155
609.byte	166,166,162,166,89,4,81,255
610.byte	166,166,162,166,89,4,81,255
611.byte	210,210,111,210,222,189,185,12
612.byte	210,210,111,210,222,189,185,12
613.byte	245,245,243,245,251,6,247,14
614.byte	245,245,243,245,251,6,247,14
615.byte	121,121,249,121,239,128,242,150
616.byte	121,121,249,121,239,128,242,150
617.byte	111,111,161,111,95,206,222,48
618.byte	111,111,161,111,95,206,222,48
619.byte	145,145,126,145,252,239,63,109
620.byte	145,145,126,145,252,239,63,109
621.byte	82,82,85,82,170,7,164,248
622.byte	82,82,85,82,170,7,164,248
623.byte	96,96,157,96,39,253,192,71
624.byte	96,96,157,96,39,253,192,71
625.byte	188,188,202,188,137,118,101,53
626.byte	188,188,202,188,137,118,101,53
627.byte	155,155,86,155,172,205,43,55
628.byte	155,155,86,155,172,205,43,55
629.byte	142,142,2,142,4,140,1,138
630.byte	142,142,2,142,4,140,1,138
631.byte	163,163,182,163,113,21,91,210
632.byte	163,163,182,163,113,21,91,210
633.byte	12,12,48,12,96,60,24,108
634.byte	12,12,48,12,96,60,24,108
635.byte	123,123,241,123,255,138,246,132
636.byte	123,123,241,123,255,138,246,132
637.byte	53,53,212,53,181,225,106,128
638.byte	53,53,212,53,181,225,106,128
639.byte	29,29,116,29,232,105,58,245
640.byte	29,29,116,29,232,105,58,245
641.byte	224,224,167,224,83,71,221,179
642.byte	224,224,167,224,83,71,221,179
643.byte	215,215,123,215,246,172,179,33
644.byte	215,215,123,215,246,172,179,33
645.byte	194,194,47,194,94,237,153,156
646.byte	194,194,47,194,94,237,153,156
647.byte	46,46,184,46,109,150,92,67
648.byte	46,46,184,46,109,150,92,67
649.byte	75,75,49,75,98,122,150,41
650.byte	75,75,49,75,98,122,150,41
651.byte	254,254,223,254,163,33,225,93
652.byte	254,254,223,254,163,33,225,93
653.byte	87,87,65,87,130,22,174,213
654.byte	87,87,65,87,130,22,174,213
655.byte	21,21,84,21,168,65,42,189
656.byte	21,21,84,21,168,65,42,189
657.byte	119,119,193,119,159,182,238,232
658.byte	119,119,193,119,159,182,238,232
659.byte	55,55,220,55,165,235,110,146
660.byte	55,55,220,55,165,235,110,146
661.byte	229,229,179,229,123,86,215,158
662.byte	229,229,179,229,123,86,215,158
663.byte	159,159,70,159,140,217,35,19
664.byte	159,159,70,159,140,217,35,19
665.byte	240,240,231,240,211,23,253,35
666.byte	240,240,231,240,211,23,253,35
667.byte	74,74,53,74,106,127,148,32
668.byte	74,74,53,74,106,127,148,32
669.byte	218,218,79,218,158,149,169,68
670.byte	218,218,79,218,158,149,169,68
671.byte	88,88,125,88,250,37,176,162
672.byte	88,88,125,88,250,37,176,162
673.byte	201,201,3,201,6,202,143,207
674.byte	201,201,3,201,6,202,143,207
675.byte	41,41,164,41,85,141,82,124
676.byte	41,41,164,41,85,141,82,124
677.byte	10,10,40,10,80,34,20,90
678.byte	10,10,40,10,80,34,20,90
679.byte	177,177,254,177,225,79,127,80
680.byte	177,177,254,177,225,79,127,80
681.byte	160,160,186,160,105,26,93,201
682.byte	160,160,186,160,105,26,93,201
683.byte	107,107,177,107,127,218,214,20
684.byte	107,107,177,107,127,218,214,20
685.byte	133,133,46,133,92,171,23,217
686.byte	133,133,46,133,92,171,23,217
687.byte	189,189,206,189,129,115,103,60
688.byte	189,189,206,189,129,115,103,60
689.byte	93,93,105,93,210,52,186,143
690.byte	93,93,105,93,210,52,186,143
691.byte	16,16,64,16,128,80,32,144
692.byte	16,16,64,16,128,80,32,144
693.byte	244,244,247,244,243,3,245,7
694.byte	244,244,247,244,243,3,245,7
695.byte	203,203,11,203,22,192,139,221
696.byte	203,203,11,203,22,192,139,221
697.byte	62,62,248,62,237,198,124,211
698.byte	62,62,248,62,237,198,124,211
699.byte	5,5,20,5,40,17,10,45
700.byte	5,5,20,5,40,17,10,45
701.byte	103,103,129,103,31,230,206,120
702.byte	103,103,129,103,31,230,206,120
703.byte	228,228,183,228,115,83,213,151
704.byte	228,228,183,228,115,83,213,151
705.byte	39,39,156,39,37,187,78,2
706.byte	39,39,156,39,37,187,78,2
707.byte	65,65,25,65,50,88,130,115
708.byte	65,65,25,65,50,88,130,115
709.byte	139,139,22,139,44,157,11,167
710.byte	139,139,22,139,44,157,11,167
711.byte	167,167,166,167,81,1,83,246
712.byte	167,167,166,167,81,1,83,246
713.byte	125,125,233,125,207,148,250,178
714.byte	125,125,233,125,207,148,250,178
715.byte	149,149,110,149,220,251,55,73
716.byte	149,149,110,149,220,251,55,73
717.byte	216,216,71,216,142,159,173,86
718.byte	216,216,71,216,142,159,173,86
719.byte	251,251,203,251,139,48,235,112
720.byte	251,251,203,251,139,48,235,112
721.byte	238,238,159,238,35,113,193,205
722.byte	238,238,159,238,35,113,193,205
723.byte	124,124,237,124,199,145,248,187
724.byte	124,124,237,124,199,145,248,187
725.byte	102,102,133,102,23,227,204,113
726.byte	102,102,133,102,23,227,204,113
727.byte	221,221,83,221,166,142,167,123
728.byte	221,221,83,221,166,142,167,123
729.byte	23,23,92,23,184,75,46,175
730.byte	23,23,92,23,184,75,46,175
731.byte	71,71,1,71,2,70,142,69
732.byte	71,71,1,71,2,70,142,69
733.byte	158,158,66,158,132,220,33,26
734.byte	158,158,66,158,132,220,33,26
735.byte	202,202,15,202,30,197,137,212
736.byte	202,202,15,202,30,197,137,212
737.byte	45,45,180,45,117,153,90,88
738.byte	45,45,180,45,117,153,90,88
739.byte	191,191,198,191,145,121,99,46
740.byte	191,191,198,191,145,121,99,46
741.byte	7,7,28,7,56,27,14,63
742.byte	7,7,28,7,56,27,14,63
743.byte	173,173,142,173,1,35,71,172
744.byte	173,173,142,173,1,35,71,172
745.byte	90,90,117,90,234,47,180,176
746.byte	90,90,117,90,234,47,180,176
747.byte	131,131,54,131,108,181,27,239
748.byte	131,131,54,131,108,181,27,239
749.byte	51,51,204,51,133,255,102,182
750.byte	51,51,204,51,133,255,102,182
751.byte	99,99,145,99,63,242,198,92
752.byte	99,99,145,99,63,242,198,92
753.byte	2,2,8,2,16,10,4,18
754.byte	2,2,8,2,16,10,4,18
755.byte	170,170,146,170,57,56,73,147
756.byte	170,170,146,170,57,56,73,147
757.byte	113,113,217,113,175,168,226,222
758.byte	113,113,217,113,175,168,226,222
759.byte	200,200,7,200,14,207,141,198
760.byte	200,200,7,200,14,207,141,198
761.byte	25,25,100,25,200,125,50,209
762.byte	25,25,100,25,200,125,50,209
763.byte	73,73,57,73,114,112,146,59
764.byte	73,73,57,73,114,112,146,59
765.byte	217,217,67,217,134,154,175,95
766.byte	217,217,67,217,134,154,175,95
767.byte	242,242,239,242,195,29,249,49
768.byte	242,242,239,242,195,29,249,49
769.byte	227,227,171,227,75,72,219,168
770.byte	227,227,171,227,75,72,219,168
771.byte	91,91,113,91,226,42,182,185
772.byte	91,91,113,91,226,42,182,185
773.byte	136,136,26,136,52,146,13,188
774.byte	136,136,26,136,52,146,13,188
775.byte	154,154,82,154,164,200,41,62
776.byte	154,154,82,154,164,200,41,62
777.byte	38,38,152,38,45,190,76,11
778.byte	38,38,152,38,45,190,76,11
779.byte	50,50,200,50,141,250,100,191
780.byte	50,50,200,50,141,250,100,191
781.byte	176,176,250,176,233,74,125,89
782.byte	176,176,250,176,233,74,125,89
783.byte	233,233,131,233,27,106,207,242
784.byte	233,233,131,233,27,106,207,242
785.byte	15,15,60,15,120,51,30,119
786.byte	15,15,60,15,120,51,30,119
787.byte	213,213,115,213,230,166,183,51
788.byte	213,213,115,213,230,166,183,51
789.byte	128,128,58,128,116,186,29,244
790.byte	128,128,58,128,116,186,29,244
791.byte	190,190,194,190,153,124,97,39
792.byte	190,190,194,190,153,124,97,39
793.byte	205,205,19,205,38,222,135,235
794.byte	205,205,19,205,38,222,135,235
795.byte	52,52,208,52,189,228,104,137
796.byte	52,52,208,52,189,228,104,137
797.byte	72,72,61,72,122,117,144,50
798.byte	72,72,61,72,122,117,144,50
799.byte	255,255,219,255,171,36,227,84
800.byte	255,255,219,255,171,36,227,84
801.byte	122,122,245,122,247,143,244,141
802.byte	122,122,245,122,247,143,244,141
803.byte	144,144,122,144,244,234,61,100
804.byte	144,144,122,144,244,234,61,100
805.byte	95,95,97,95,194,62,190,157
806.byte	95,95,97,95,194,62,190,157
807.byte	32,32,128,32,29,160,64,61
808.byte	32,32,128,32,29,160,64,61
809.byte	104,104,189,104,103,213,208,15
810.byte	104,104,189,104,103,213,208,15
811.byte	26,26,104,26,208,114,52,202
812.byte	26,26,104,26,208,114,52,202
813.byte	174,174,130,174,25,44,65,183
814.byte	174,174,130,174,25,44,65,183
815.byte	180,180,234,180,201,94,117,125
816.byte	180,180,234,180,201,94,117,125
817.byte	84,84,77,84,154,25,168,206
818.byte	84,84,77,84,154,25,168,206
819.byte	147,147,118,147,236,229,59,127
820.byte	147,147,118,147,236,229,59,127
821.byte	34,34,136,34,13,170,68,47
822.byte	34,34,136,34,13,170,68,47
823.byte	100,100,141,100,7,233,200,99
824.byte	100,100,141,100,7,233,200,99
825.byte	241,241,227,241,219,18,255,42
826.byte	241,241,227,241,219,18,255,42
827.byte	115,115,209,115,191,162,230,204
828.byte	115,115,209,115,191,162,230,204
829.byte	18,18,72,18,144,90,36,130
830.byte	18,18,72,18,144,90,36,130
831.byte	64,64,29,64,58,93,128,122
832.byte	64,64,29,64,58,93,128,122
833.byte	8,8,32,8,64,40,16,72
834.byte	8,8,32,8,64,40,16,72
835.byte	195,195,43,195,86,232,155,149
836.byte	195,195,43,195,86,232,155,149
837.byte	236,236,151,236,51,123,197,223
838.byte	236,236,151,236,51,123,197,223
839.byte	219,219,75,219,150,144,171,77
840.byte	219,219,75,219,150,144,171,77
841.byte	161,161,190,161,97,31,95,192
842.byte	161,161,190,161,97,31,95,192
843.byte	141,141,14,141,28,131,7,145
844.byte	141,141,14,141,28,131,7,145
845.byte	61,61,244,61,245,201,122,200
846.byte	61,61,244,61,245,201,122,200
847.byte	151,151,102,151,204,241,51,91
848.byte	151,151,102,151,204,241,51,91
849.byte	0,0,0,0,0,0,0,0
850.byte	0,0,0,0,0,0,0,0
851.byte	207,207,27,207,54,212,131,249
852.byte	207,207,27,207,54,212,131,249
853.byte	43,43,172,43,69,135,86,110
854.byte	43,43,172,43,69,135,86,110
855.byte	118,118,197,118,151,179,236,225
856.byte	118,118,197,118,151,179,236,225
857.byte	130,130,50,130,100,176,25,230
858.byte	130,130,50,130,100,176,25,230
859.byte	214,214,127,214,254,169,177,40
860.byte	214,214,127,214,254,169,177,40
861.byte	27,27,108,27,216,119,54,195
862.byte	27,27,108,27,216,119,54,195
863.byte	181,181,238,181,193,91,119,116
864.byte	181,181,238,181,193,91,119,116
865.byte	175,175,134,175,17,41,67,190
866.byte	175,175,134,175,17,41,67,190
867.byte	106,106,181,106,119,223,212,29
868.byte	106,106,181,106,119,223,212,29
869.byte	80,80,93,80,186,13,160,234
870.byte	80,80,93,80,186,13,160,234
871.byte	69,69,9,69,18,76,138,87
872.byte	69,69,9,69,18,76,138,87
873.byte	243,243,235,243,203,24,251,56
874.byte	243,243,235,243,203,24,251,56
875.byte	48,48,192,48,157,240,96,173
876.byte	48,48,192,48,157,240,96,173
877.byte	239,239,155,239,43,116,195,196
878.byte	239,239,155,239,43,116,195,196
879.byte	63,63,252,63,229,195,126,218
880.byte	63,63,252,63,229,195,126,218
881.byte	85,85,73,85,146,28,170,199
882.byte	85,85,73,85,146,28,170,199
883.byte	162,162,178,162,121,16,89,219
884.byte	162,162,178,162,121,16,89,219
885.byte	234,234,143,234,3,101,201,233
886.byte	234,234,143,234,3,101,201,233
887.byte	101,101,137,101,15,236,202,106
888.byte	101,101,137,101,15,236,202,106
889.byte	186,186,210,186,185,104,105,3
890.byte	186,186,210,186,185,104,105,3
891.byte	47,47,188,47,101,147,94,74
892.byte	47,47,188,47,101,147,94,74
893.byte	192,192,39,192,78,231,157,142
894.byte	192,192,39,192,78,231,157,142
895.byte	222,222,95,222,190,129,161,96
896.byte	222,222,95,222,190,129,161,96
897.byte	28,28,112,28,224,108,56,252
898.byte	28,28,112,28,224,108,56,252
899.byte	253,253,211,253,187,46,231,70
900.byte	253,253,211,253,187,46,231,70
901.byte	77,77,41,77,82,100,154,31
902.byte	77,77,41,77,82,100,154,31
903.byte	146,146,114,146,228,224,57,118
904.byte	146,146,114,146,228,224,57,118
905.byte	117,117,201,117,143,188,234,250
906.byte	117,117,201,117,143,188,234,250
907.byte	6,6,24,6,48,30,12,54
908.byte	6,6,24,6,48,30,12,54
909.byte	138,138,18,138,36,152,9,174
910.byte	138,138,18,138,36,152,9,174
911.byte	178,178,242,178,249,64,121,75
912.byte	178,178,242,178,249,64,121,75
913.byte	230,230,191,230,99,89,209,133
914.byte	230,230,191,230,99,89,209,133
915.byte	14,14,56,14,112,54,28,126
916.byte	14,14,56,14,112,54,28,126
917.byte	31,31,124,31,248,99,62,231
918.byte	31,31,124,31,248,99,62,231
919.byte	98,98,149,98,55,247,196,85
920.byte	98,98,149,98,55,247,196,85
921.byte	212,212,119,212,238,163,181,58
922.byte	212,212,119,212,238,163,181,58
923.byte	168,168,154,168,41,50,77,129
924.byte	168,168,154,168,41,50,77,129
925.byte	150,150,98,150,196,244,49,82
926.byte	150,150,98,150,196,244,49,82
927.byte	249,249,195,249,155,58,239,98
928.byte	249,249,195,249,155,58,239,98
929.byte	197,197,51,197,102,246,151,163
930.byte	197,197,51,197,102,246,151,163
931.byte	37,37,148,37,53,177,74,16
932.byte	37,37,148,37,53,177,74,16
933.byte	89,89,121,89,242,32,178,171
934.byte	89,89,121,89,242,32,178,171
935.byte	132,132,42,132,84,174,21,208
936.byte	132,132,42,132,84,174,21,208
937.byte	114,114,213,114,183,167,228,197
938.byte	114,114,213,114,183,167,228,197
939.byte	57,57,228,57,213,221,114,236
940.byte	57,57,228,57,213,221,114,236
941.byte	76,76,45,76,90,97,152,22
942.byte	76,76,45,76,90,97,152,22
943.byte	94,94,101,94,202,59,188,148
944.byte	94,94,101,94,202,59,188,148
945.byte	120,120,253,120,231,133,240,159
946.byte	120,120,253,120,231,133,240,159
947.byte	56,56,224,56,221,216,112,229
948.byte	56,56,224,56,221,216,112,229
949.byte	140,140,10,140,20,134,5,152
950.byte	140,140,10,140,20,134,5,152
951.byte	209,209,99,209,198,178,191,23
952.byte	209,209,99,209,198,178,191,23
953.byte	165,165,174,165,65,11,87,228
954.byte	165,165,174,165,65,11,87,228
955.byte	226,226,175,226,67,77,217,161
956.byte	226,226,175,226,67,77,217,161
957.byte	97,97,153,97,47,248,194,78
958.byte	97,97,153,97,47,248,194,78
959.byte	179,179,246,179,241,69,123,66
960.byte	179,179,246,179,241,69,123,66
961.byte	33,33,132,33,21,165,66,52
962.byte	33,33,132,33,21,165,66,52
963.byte	156,156,74,156,148,214,37,8
964.byte	156,156,74,156,148,214,37,8
965.byte	30,30,120,30,240,102,60,238
966.byte	30,30,120,30,240,102,60,238
967.byte	67,67,17,67,34,82,134,97
968.byte	67,67,17,67,34,82,134,97
969.byte	199,199,59,199,118,252,147,177
970.byte	199,199,59,199,118,252,147,177
971.byte	252,252,215,252,179,43,229,79
972.byte	252,252,215,252,179,43,229,79
973.byte	4,4,16,4,32,20,8,36
974.byte	4,4,16,4,32,20,8,36
975.byte	81,81,89,81,178,8,162,227
976.byte	81,81,89,81,178,8,162,227
977.byte	153,153,94,153,188,199,47,37
978.byte	153,153,94,153,188,199,47,37
979.byte	109,109,169,109,79,196,218,34
980.byte	109,109,169,109,79,196,218,34
981.byte	13,13,52,13,104,57,26,101
982.byte	13,13,52,13,104,57,26,101
983.byte	250,250,207,250,131,53,233,121
984.byte	250,250,207,250,131,53,233,121
985.byte	223,223,91,223,182,132,163,105
986.byte	223,223,91,223,182,132,163,105
987.byte	126,126,229,126,215,155,252,169
988.byte	126,126,229,126,215,155,252,169
989.byte	36,36,144,36,61,180,72,25
990.byte	36,36,144,36,61,180,72,25
991.byte	59,59,236,59,197,215,118,254
992.byte	59,59,236,59,197,215,118,254
993.byte	171,171,150,171,49,61,75,154
994.byte	171,171,150,171,49,61,75,154
995.byte	206,206,31,206,62,209,129,240
996.byte	206,206,31,206,62,209,129,240
997.byte	17,17,68,17,136,85,34,153
998.byte	17,17,68,17,136,85,34,153
999.byte	143,143,6,143,12,137,3,131
1000.byte	143,143,6,143,12,137,3,131
1001.byte	78,78,37,78,74,107,156,4
1002.byte	78,78,37,78,74,107,156,4
1003.byte	183,183,230,183,209,81,115,102
1004.byte	183,183,230,183,209,81,115,102
1005.byte	235,235,139,235,11,96,203,224
1006.byte	235,235,139,235,11,96,203,224
1007.byte	60,60,240,60,253,204,120,193
1008.byte	60,60,240,60,253,204,120,193
1009.byte	129,129,62,129,124,191,31,253
1010.byte	129,129,62,129,124,191,31,253
1011.byte	148,148,106,148,212,254,53,64
1012.byte	148,148,106,148,212,254,53,64
1013.byte	247,247,251,247,235,12,243,28
1014.byte	247,247,251,247,235,12,243,28
1015.byte	185,185,222,185,161,103,111,24
1016.byte	185,185,222,185,161,103,111,24
1017.byte	19,19,76,19,152,95,38,139
1018.byte	19,19,76,19,152,95,38,139
1019.byte	44,44,176,44,125,156,88,81
1020.byte	44,44,176,44,125,156,88,81
1021.byte	211,211,107,211,214,184,187,5
1022.byte	211,211,107,211,214,184,187,5
1023.byte	231,231,187,231,107,92,211,140
1024.byte	231,231,187,231,107,92,211,140
1025.byte	110,110,165,110,87,203,220,57
1026.byte	110,110,165,110,87,203,220,57
1027.byte	196,196,55,196,110,243,149,170
1028.byte	196,196,55,196,110,243,149,170
1029.byte	3,3,12,3,24,15,6,27
1030.byte	3,3,12,3,24,15,6,27
1031.byte	86,86,69,86,138,19,172,220
1032.byte	86,86,69,86,138,19,172,220
1033.byte	68,68,13,68,26,73,136,94
1034.byte	68,68,13,68,26,73,136,94
1035.byte	127,127,225,127,223,158,254,160
1036.byte	127,127,225,127,223,158,254,160
1037.byte	169,169,158,169,33,55,79,136
1038.byte	169,169,158,169,33,55,79,136
1039.byte	42,42,168,42,77,130,84,103
1040.byte	42,42,168,42,77,130,84,103
1041.byte	187,187,214,187,177,109,107,10
1042.byte	187,187,214,187,177,109,107,10
1043.byte	193,193,35,193,70,226,159,135
1044.byte	193,193,35,193,70,226,159,135
1045.byte	83,83,81,83,162,2,166,241
1046.byte	83,83,81,83,162,2,166,241
1047.byte	220,220,87,220,174,139,165,114
1048.byte	220,220,87,220,174,139,165,114
1049.byte	11,11,44,11,88,39,22,83
1050.byte	11,11,44,11,88,39,22,83
1051.byte	157,157,78,157,156,211,39,1
1052.byte	157,157,78,157,156,211,39,1
1053.byte	108,108,173,108,71,193,216,43
1054.byte	108,108,173,108,71,193,216,43
1055.byte	49,49,196,49,149,245,98,164
1056.byte	49,49,196,49,149,245,98,164
1057.byte	116,116,205,116,135,185,232,243
1058.byte	116,116,205,116,135,185,232,243
1059.byte	246,246,255,246,227,9,241,21
1060.byte	246,246,255,246,227,9,241,21
1061.byte	70,70,5,70,10,67,140,76
1062.byte	70,70,5,70,10,67,140,76
1063.byte	172,172,138,172,9,38,69,165
1064.byte	172,172,138,172,9,38,69,165
1065.byte	137,137,30,137,60,151,15,181
1066.byte	137,137,30,137,60,151,15,181
1067.byte	20,20,80,20,160,68,40,180
1068.byte	20,20,80,20,160,68,40,180
1069.byte	225,225,163,225,91,66,223,186
1070.byte	225,225,163,225,91,66,223,186
1071.byte	22,22,88,22,176,78,44,166
1072.byte	22,22,88,22,176,78,44,166
1073.byte	58,58,232,58,205,210,116,247
1074.byte	58,58,232,58,205,210,116,247
1075.byte	105,105,185,105,111,208,210,6
1076.byte	105,105,185,105,111,208,210,6
1077.byte	9,9,36,9,72,45,18,65
1078.byte	9,9,36,9,72,45,18,65
1079.byte	112,112,221,112,167,173,224,215
1080.byte	112,112,221,112,167,173,224,215
1081.byte	182,182,226,182,217,84,113,111
1082.byte	182,182,226,182,217,84,113,111
1083.byte	208,208,103,208,206,183,189,30
1084.byte	208,208,103,208,206,183,189,30
1085.byte	237,237,147,237,59,126,199,214
1086.byte	237,237,147,237,59,126,199,214
1087.byte	204,204,23,204,46,219,133,226
1088.byte	204,204,23,204,46,219,133,226
1089.byte	66,66,21,66,42,87,132,104
1090.byte	66,66,21,66,42,87,132,104
1091.byte	152,152,90,152,180,194,45,44
1092.byte	152,152,90,152,180,194,45,44
1093.byte	164,164,170,164,73,14,85,237
1094.byte	164,164,170,164,73,14,85,237
1095.byte	40,40,160,40,93,136,80,117
1096.byte	40,40,160,40,93,136,80,117
1097.byte	92,92,109,92,218,49,184,134
1098.byte	92,92,109,92,218,49,184,134
1099.byte	248,248,199,248,147,63,237,107
1100.byte	248,248,199,248,147,63,237,107
1101.byte	134,134,34,134,68,164,17,194
1102.byte	134,134,34,134,68,164,17,194
1103.byte	24,35,198,232,135,184,1,79
1104.byte	54,166,210,245,121,111,145,82
1105.byte	96,188,155,142,163,12,123,53
1106.byte	29,224,215,194,46,75,254,87
1107.byte	21,119,55,229,159,240,74,218
1108.byte	88,201,41,10,177,160,107,133
1109.byte	189,93,16,244,203,62,5,103
1110.byte	228,39,65,139,167,125,149,216
1111.byte	251,238,124,102,221,23,71,158
1112.byte	202,45,191,7,173,90,131,51
1113.size	whirlpool_block_mmx,.-.L_whirlpool_block_mmx_begin
1114
1115	.section ".note.gnu.property", "a"
1116	.p2align 2
1117	.long 1f - 0f
1118	.long 4f - 1f
1119	.long 5
11200:
1121	.asciz "GNU"
11221:
1123	.p2align 2
1124	.long 0xc0000002
1125	.long 3f - 2f
11262:
1127	.long 3
11283:
1129	.p2align 2
11304:
1131#else
1132.text
1133.globl	whirlpool_block_mmx
1134.type	whirlpool_block_mmx,@function
1135.align	16
1136whirlpool_block_mmx:
1137.L_whirlpool_block_mmx_begin:
1138	#ifdef __CET__
1139
1140.byte	243,15,30,251
1141	#endif
1142
1143	pushl	%ebp
1144	pushl	%ebx
1145	pushl	%esi
1146	pushl	%edi
1147	movl	20(%esp),%esi
1148	movl	24(%esp),%edi
1149	movl	28(%esp),%ebp
1150	movl	%esp,%eax
1151	subl	$148,%esp
1152	andl	$-64,%esp
1153	leal	128(%esp),%ebx
1154	movl	%esi,(%ebx)
1155	movl	%edi,4(%ebx)
1156	movl	%ebp,8(%ebx)
1157	movl	%eax,16(%ebx)
1158	call	.L000pic_point
1159.L000pic_point:
1160	popl	%ebp
1161	leal	.L001table-.L000pic_point(%ebp),%ebp
1162	xorl	%ecx,%ecx
1163	xorl	%edx,%edx
1164	movq	(%esi),%mm0
1165	movq	8(%esi),%mm1
1166	movq	16(%esi),%mm2
1167	movq	24(%esi),%mm3
1168	movq	32(%esi),%mm4
1169	movq	40(%esi),%mm5
1170	movq	48(%esi),%mm6
1171	movq	56(%esi),%mm7
1172.L002outerloop:
1173	movq	%mm0,(%esp)
1174	movq	%mm1,8(%esp)
1175	movq	%mm2,16(%esp)
1176	movq	%mm3,24(%esp)
1177	movq	%mm4,32(%esp)
1178	movq	%mm5,40(%esp)
1179	movq	%mm6,48(%esp)
1180	movq	%mm7,56(%esp)
1181	pxor	(%edi),%mm0
1182	pxor	8(%edi),%mm1
1183	pxor	16(%edi),%mm2
1184	pxor	24(%edi),%mm3
1185	pxor	32(%edi),%mm4
1186	pxor	40(%edi),%mm5
1187	pxor	48(%edi),%mm6
1188	pxor	56(%edi),%mm7
1189	movq	%mm0,64(%esp)
1190	movq	%mm1,72(%esp)
1191	movq	%mm2,80(%esp)
1192	movq	%mm3,88(%esp)
1193	movq	%mm4,96(%esp)
1194	movq	%mm5,104(%esp)
1195	movq	%mm6,112(%esp)
1196	movq	%mm7,120(%esp)
1197	xorl	%esi,%esi
1198	movl	%esi,12(%ebx)
1199.align	16
1200.L003round:
1201	movq	4096(%ebp,%esi,8),%mm0
1202	movl	(%esp),%eax
1203	movl	4(%esp),%ebx
1204	movzbl	%al,%ecx
1205	movzbl	%ah,%edx
1206	shrl	$16,%eax
1207	leal	(%ecx,%ecx,1),%esi
1208	movzbl	%al,%ecx
1209	leal	(%edx,%edx,1),%edi
1210	movzbl	%ah,%edx
1211	pxor	(%ebp,%esi,8),%mm0
1212	movq	7(%ebp,%edi,8),%mm1
1213	movl	8(%esp),%eax
1214	leal	(%ecx,%ecx,1),%esi
1215	movzbl	%bl,%ecx
1216	leal	(%edx,%edx,1),%edi
1217	movzbl	%bh,%edx
1218	movq	6(%ebp,%esi,8),%mm2
1219	movq	5(%ebp,%edi,8),%mm3
1220	shrl	$16,%ebx
1221	leal	(%ecx,%ecx,1),%esi
1222	movzbl	%bl,%ecx
1223	leal	(%edx,%edx,1),%edi
1224	movzbl	%bh,%edx
1225	movq	4(%ebp,%esi,8),%mm4
1226	movq	3(%ebp,%edi,8),%mm5
1227	movl	12(%esp),%ebx
1228	leal	(%ecx,%ecx,1),%esi
1229	movzbl	%al,%ecx
1230	leal	(%edx,%edx,1),%edi
1231	movzbl	%ah,%edx
1232	movq	2(%ebp,%esi,8),%mm6
1233	movq	1(%ebp,%edi,8),%mm7
1234	shrl	$16,%eax
1235	leal	(%ecx,%ecx,1),%esi
1236	movzbl	%al,%ecx
1237	leal	(%edx,%edx,1),%edi
1238	movzbl	%ah,%edx
1239	pxor	(%ebp,%esi,8),%mm1
1240	pxor	7(%ebp,%edi,8),%mm2
1241	movl	16(%esp),%eax
1242	leal	(%ecx,%ecx,1),%esi
1243	movzbl	%bl,%ecx
1244	leal	(%edx,%edx,1),%edi
1245	movzbl	%bh,%edx
1246	pxor	6(%ebp,%esi,8),%mm3
1247	pxor	5(%ebp,%edi,8),%mm4
1248	shrl	$16,%ebx
1249	leal	(%ecx,%ecx,1),%esi
1250	movzbl	%bl,%ecx
1251	leal	(%edx,%edx,1),%edi
1252	movzbl	%bh,%edx
1253	pxor	4(%ebp,%esi,8),%mm5
1254	pxor	3(%ebp,%edi,8),%mm6
1255	movl	20(%esp),%ebx
1256	leal	(%ecx,%ecx,1),%esi
1257	movzbl	%al,%ecx
1258	leal	(%edx,%edx,1),%edi
1259	movzbl	%ah,%edx
1260	pxor	2(%ebp,%esi,8),%mm7
1261	pxor	1(%ebp,%edi,8),%mm0
1262	shrl	$16,%eax
1263	leal	(%ecx,%ecx,1),%esi
1264	movzbl	%al,%ecx
1265	leal	(%edx,%edx,1),%edi
1266	movzbl	%ah,%edx
1267	pxor	(%ebp,%esi,8),%mm2
1268	pxor	7(%ebp,%edi,8),%mm3
1269	movl	24(%esp),%eax
1270	leal	(%ecx,%ecx,1),%esi
1271	movzbl	%bl,%ecx
1272	leal	(%edx,%edx,1),%edi
1273	movzbl	%bh,%edx
1274	pxor	6(%ebp,%esi,8),%mm4
1275	pxor	5(%ebp,%edi,8),%mm5
1276	shrl	$16,%ebx
1277	leal	(%ecx,%ecx,1),%esi
1278	movzbl	%bl,%ecx
1279	leal	(%edx,%edx,1),%edi
1280	movzbl	%bh,%edx
1281	pxor	4(%ebp,%esi,8),%mm6
1282	pxor	3(%ebp,%edi,8),%mm7
1283	movl	28(%esp),%ebx
1284	leal	(%ecx,%ecx,1),%esi
1285	movzbl	%al,%ecx
1286	leal	(%edx,%edx,1),%edi
1287	movzbl	%ah,%edx
1288	pxor	2(%ebp,%esi,8),%mm0
1289	pxor	1(%ebp,%edi,8),%mm1
1290	shrl	$16,%eax
1291	leal	(%ecx,%ecx,1),%esi
1292	movzbl	%al,%ecx
1293	leal	(%edx,%edx,1),%edi
1294	movzbl	%ah,%edx
1295	pxor	(%ebp,%esi,8),%mm3
1296	pxor	7(%ebp,%edi,8),%mm4
1297	movl	32(%esp),%eax
1298	leal	(%ecx,%ecx,1),%esi
1299	movzbl	%bl,%ecx
1300	leal	(%edx,%edx,1),%edi
1301	movzbl	%bh,%edx
1302	pxor	6(%ebp,%esi,8),%mm5
1303	pxor	5(%ebp,%edi,8),%mm6
1304	shrl	$16,%ebx
1305	leal	(%ecx,%ecx,1),%esi
1306	movzbl	%bl,%ecx
1307	leal	(%edx,%edx,1),%edi
1308	movzbl	%bh,%edx
1309	pxor	4(%ebp,%esi,8),%mm7
1310	pxor	3(%ebp,%edi,8),%mm0
1311	movl	36(%esp),%ebx
1312	leal	(%ecx,%ecx,1),%esi
1313	movzbl	%al,%ecx
1314	leal	(%edx,%edx,1),%edi
1315	movzbl	%ah,%edx
1316	pxor	2(%ebp,%esi,8),%mm1
1317	pxor	1(%ebp,%edi,8),%mm2
1318	shrl	$16,%eax
1319	leal	(%ecx,%ecx,1),%esi
1320	movzbl	%al,%ecx
1321	leal	(%edx,%edx,1),%edi
1322	movzbl	%ah,%edx
1323	pxor	(%ebp,%esi,8),%mm4
1324	pxor	7(%ebp,%edi,8),%mm5
1325	movl	40(%esp),%eax
1326	leal	(%ecx,%ecx,1),%esi
1327	movzbl	%bl,%ecx
1328	leal	(%edx,%edx,1),%edi
1329	movzbl	%bh,%edx
1330	pxor	6(%ebp,%esi,8),%mm6
1331	pxor	5(%ebp,%edi,8),%mm7
1332	shrl	$16,%ebx
1333	leal	(%ecx,%ecx,1),%esi
1334	movzbl	%bl,%ecx
1335	leal	(%edx,%edx,1),%edi
1336	movzbl	%bh,%edx
1337	pxor	4(%ebp,%esi,8),%mm0
1338	pxor	3(%ebp,%edi,8),%mm1
1339	movl	44(%esp),%ebx
1340	leal	(%ecx,%ecx,1),%esi
1341	movzbl	%al,%ecx
1342	leal	(%edx,%edx,1),%edi
1343	movzbl	%ah,%edx
1344	pxor	2(%ebp,%esi,8),%mm2
1345	pxor	1(%ebp,%edi,8),%mm3
1346	shrl	$16,%eax
1347	leal	(%ecx,%ecx,1),%esi
1348	movzbl	%al,%ecx
1349	leal	(%edx,%edx,1),%edi
1350	movzbl	%ah,%edx
1351	pxor	(%ebp,%esi,8),%mm5
1352	pxor	7(%ebp,%edi,8),%mm6
1353	movl	48(%esp),%eax
1354	leal	(%ecx,%ecx,1),%esi
1355	movzbl	%bl,%ecx
1356	leal	(%edx,%edx,1),%edi
1357	movzbl	%bh,%edx
1358	pxor	6(%ebp,%esi,8),%mm7
1359	pxor	5(%ebp,%edi,8),%mm0
1360	shrl	$16,%ebx
1361	leal	(%ecx,%ecx,1),%esi
1362	movzbl	%bl,%ecx
1363	leal	(%edx,%edx,1),%edi
1364	movzbl	%bh,%edx
1365	pxor	4(%ebp,%esi,8),%mm1
1366	pxor	3(%ebp,%edi,8),%mm2
1367	movl	52(%esp),%ebx
1368	leal	(%ecx,%ecx,1),%esi
1369	movzbl	%al,%ecx
1370	leal	(%edx,%edx,1),%edi
1371	movzbl	%ah,%edx
1372	pxor	2(%ebp,%esi,8),%mm3
1373	pxor	1(%ebp,%edi,8),%mm4
1374	shrl	$16,%eax
1375	leal	(%ecx,%ecx,1),%esi
1376	movzbl	%al,%ecx
1377	leal	(%edx,%edx,1),%edi
1378	movzbl	%ah,%edx
1379	pxor	(%ebp,%esi,8),%mm6
1380	pxor	7(%ebp,%edi,8),%mm7
1381	movl	56(%esp),%eax
1382	leal	(%ecx,%ecx,1),%esi
1383	movzbl	%bl,%ecx
1384	leal	(%edx,%edx,1),%edi
1385	movzbl	%bh,%edx
1386	pxor	6(%ebp,%esi,8),%mm0
1387	pxor	5(%ebp,%edi,8),%mm1
1388	shrl	$16,%ebx
1389	leal	(%ecx,%ecx,1),%esi
1390	movzbl	%bl,%ecx
1391	leal	(%edx,%edx,1),%edi
1392	movzbl	%bh,%edx
1393	pxor	4(%ebp,%esi,8),%mm2
1394	pxor	3(%ebp,%edi,8),%mm3
1395	movl	60(%esp),%ebx
1396	leal	(%ecx,%ecx,1),%esi
1397	movzbl	%al,%ecx
1398	leal	(%edx,%edx,1),%edi
1399	movzbl	%ah,%edx
1400	pxor	2(%ebp,%esi,8),%mm4
1401	pxor	1(%ebp,%edi,8),%mm5
1402	shrl	$16,%eax
1403	leal	(%ecx,%ecx,1),%esi
1404	movzbl	%al,%ecx
1405	leal	(%edx,%edx,1),%edi
1406	movzbl	%ah,%edx
1407	pxor	(%ebp,%esi,8),%mm7
1408	pxor	7(%ebp,%edi,8),%mm0
1409	movl	64(%esp),%eax
1410	leal	(%ecx,%ecx,1),%esi
1411	movzbl	%bl,%ecx
1412	leal	(%edx,%edx,1),%edi
1413	movzbl	%bh,%edx
1414	pxor	6(%ebp,%esi,8),%mm1
1415	pxor	5(%ebp,%edi,8),%mm2
1416	shrl	$16,%ebx
1417	leal	(%ecx,%ecx,1),%esi
1418	movzbl	%bl,%ecx
1419	leal	(%edx,%edx,1),%edi
1420	movzbl	%bh,%edx
1421	pxor	4(%ebp,%esi,8),%mm3
1422	pxor	3(%ebp,%edi,8),%mm4
1423	movl	68(%esp),%ebx
1424	leal	(%ecx,%ecx,1),%esi
1425	movzbl	%al,%ecx
1426	leal	(%edx,%edx,1),%edi
1427	movzbl	%ah,%edx
1428	pxor	2(%ebp,%esi,8),%mm5
1429	pxor	1(%ebp,%edi,8),%mm6
1430	movq	%mm0,(%esp)
1431	movq	%mm1,8(%esp)
1432	movq	%mm2,16(%esp)
1433	movq	%mm3,24(%esp)
1434	movq	%mm4,32(%esp)
1435	movq	%mm5,40(%esp)
1436	movq	%mm6,48(%esp)
1437	movq	%mm7,56(%esp)
1438	shrl	$16,%eax
1439	leal	(%ecx,%ecx,1),%esi
1440	movzbl	%al,%ecx
1441	leal	(%edx,%edx,1),%edi
1442	movzbl	%ah,%edx
1443	pxor	(%ebp,%esi,8),%mm0
1444	pxor	7(%ebp,%edi,8),%mm1
1445	movl	72(%esp),%eax
1446	leal	(%ecx,%ecx,1),%esi
1447	movzbl	%bl,%ecx
1448	leal	(%edx,%edx,1),%edi
1449	movzbl	%bh,%edx
1450	pxor	6(%ebp,%esi,8),%mm2
1451	pxor	5(%ebp,%edi,8),%mm3
1452	shrl	$16,%ebx
1453	leal	(%ecx,%ecx,1),%esi
1454	movzbl	%bl,%ecx
1455	leal	(%edx,%edx,1),%edi
1456	movzbl	%bh,%edx
1457	pxor	4(%ebp,%esi,8),%mm4
1458	pxor	3(%ebp,%edi,8),%mm5
1459	movl	76(%esp),%ebx
1460	leal	(%ecx,%ecx,1),%esi
1461	movzbl	%al,%ecx
1462	leal	(%edx,%edx,1),%edi
1463	movzbl	%ah,%edx
1464	pxor	2(%ebp,%esi,8),%mm6
1465	pxor	1(%ebp,%edi,8),%mm7
1466	shrl	$16,%eax
1467	leal	(%ecx,%ecx,1),%esi
1468	movzbl	%al,%ecx
1469	leal	(%edx,%edx,1),%edi
1470	movzbl	%ah,%edx
1471	pxor	(%ebp,%esi,8),%mm1
1472	pxor	7(%ebp,%edi,8),%mm2
1473	movl	80(%esp),%eax
1474	leal	(%ecx,%ecx,1),%esi
1475	movzbl	%bl,%ecx
1476	leal	(%edx,%edx,1),%edi
1477	movzbl	%bh,%edx
1478	pxor	6(%ebp,%esi,8),%mm3
1479	pxor	5(%ebp,%edi,8),%mm4
1480	shrl	$16,%ebx
1481	leal	(%ecx,%ecx,1),%esi
1482	movzbl	%bl,%ecx
1483	leal	(%edx,%edx,1),%edi
1484	movzbl	%bh,%edx
1485	pxor	4(%ebp,%esi,8),%mm5
1486	pxor	3(%ebp,%edi,8),%mm6
1487	movl	84(%esp),%ebx
1488	leal	(%ecx,%ecx,1),%esi
1489	movzbl	%al,%ecx
1490	leal	(%edx,%edx,1),%edi
1491	movzbl	%ah,%edx
1492	pxor	2(%ebp,%esi,8),%mm7
1493	pxor	1(%ebp,%edi,8),%mm0
1494	shrl	$16,%eax
1495	leal	(%ecx,%ecx,1),%esi
1496	movzbl	%al,%ecx
1497	leal	(%edx,%edx,1),%edi
1498	movzbl	%ah,%edx
1499	pxor	(%ebp,%esi,8),%mm2
1500	pxor	7(%ebp,%edi,8),%mm3
1501	movl	88(%esp),%eax
1502	leal	(%ecx,%ecx,1),%esi
1503	movzbl	%bl,%ecx
1504	leal	(%edx,%edx,1),%edi
1505	movzbl	%bh,%edx
1506	pxor	6(%ebp,%esi,8),%mm4
1507	pxor	5(%ebp,%edi,8),%mm5
1508	shrl	$16,%ebx
1509	leal	(%ecx,%ecx,1),%esi
1510	movzbl	%bl,%ecx
1511	leal	(%edx,%edx,1),%edi
1512	movzbl	%bh,%edx
1513	pxor	4(%ebp,%esi,8),%mm6
1514	pxor	3(%ebp,%edi,8),%mm7
1515	movl	92(%esp),%ebx
1516	leal	(%ecx,%ecx,1),%esi
1517	movzbl	%al,%ecx
1518	leal	(%edx,%edx,1),%edi
1519	movzbl	%ah,%edx
1520	pxor	2(%ebp,%esi,8),%mm0
1521	pxor	1(%ebp,%edi,8),%mm1
1522	shrl	$16,%eax
1523	leal	(%ecx,%ecx,1),%esi
1524	movzbl	%al,%ecx
1525	leal	(%edx,%edx,1),%edi
1526	movzbl	%ah,%edx
1527	pxor	(%ebp,%esi,8),%mm3
1528	pxor	7(%ebp,%edi,8),%mm4
1529	movl	96(%esp),%eax
1530	leal	(%ecx,%ecx,1),%esi
1531	movzbl	%bl,%ecx
1532	leal	(%edx,%edx,1),%edi
1533	movzbl	%bh,%edx
1534	pxor	6(%ebp,%esi,8),%mm5
1535	pxor	5(%ebp,%edi,8),%mm6
1536	shrl	$16,%ebx
1537	leal	(%ecx,%ecx,1),%esi
1538	movzbl	%bl,%ecx
1539	leal	(%edx,%edx,1),%edi
1540	movzbl	%bh,%edx
1541	pxor	4(%ebp,%esi,8),%mm7
1542	pxor	3(%ebp,%edi,8),%mm0
1543	movl	100(%esp),%ebx
1544	leal	(%ecx,%ecx,1),%esi
1545	movzbl	%al,%ecx
1546	leal	(%edx,%edx,1),%edi
1547	movzbl	%ah,%edx
1548	pxor	2(%ebp,%esi,8),%mm1
1549	pxor	1(%ebp,%edi,8),%mm2
1550	shrl	$16,%eax
1551	leal	(%ecx,%ecx,1),%esi
1552	movzbl	%al,%ecx
1553	leal	(%edx,%edx,1),%edi
1554	movzbl	%ah,%edx
1555	pxor	(%ebp,%esi,8),%mm4
1556	pxor	7(%ebp,%edi,8),%mm5
1557	movl	104(%esp),%eax
1558	leal	(%ecx,%ecx,1),%esi
1559	movzbl	%bl,%ecx
1560	leal	(%edx,%edx,1),%edi
1561	movzbl	%bh,%edx
1562	pxor	6(%ebp,%esi,8),%mm6
1563	pxor	5(%ebp,%edi,8),%mm7
1564	shrl	$16,%ebx
1565	leal	(%ecx,%ecx,1),%esi
1566	movzbl	%bl,%ecx
1567	leal	(%edx,%edx,1),%edi
1568	movzbl	%bh,%edx
1569	pxor	4(%ebp,%esi,8),%mm0
1570	pxor	3(%ebp,%edi,8),%mm1
1571	movl	108(%esp),%ebx
1572	leal	(%ecx,%ecx,1),%esi
1573	movzbl	%al,%ecx
1574	leal	(%edx,%edx,1),%edi
1575	movzbl	%ah,%edx
1576	pxor	2(%ebp,%esi,8),%mm2
1577	pxor	1(%ebp,%edi,8),%mm3
1578	shrl	$16,%eax
1579	leal	(%ecx,%ecx,1),%esi
1580	movzbl	%al,%ecx
1581	leal	(%edx,%edx,1),%edi
1582	movzbl	%ah,%edx
1583	pxor	(%ebp,%esi,8),%mm5
1584	pxor	7(%ebp,%edi,8),%mm6
1585	movl	112(%esp),%eax
1586	leal	(%ecx,%ecx,1),%esi
1587	movzbl	%bl,%ecx
1588	leal	(%edx,%edx,1),%edi
1589	movzbl	%bh,%edx
1590	pxor	6(%ebp,%esi,8),%mm7
1591	pxor	5(%ebp,%edi,8),%mm0
1592	shrl	$16,%ebx
1593	leal	(%ecx,%ecx,1),%esi
1594	movzbl	%bl,%ecx
1595	leal	(%edx,%edx,1),%edi
1596	movzbl	%bh,%edx
1597	pxor	4(%ebp,%esi,8),%mm1
1598	pxor	3(%ebp,%edi,8),%mm2
1599	movl	116(%esp),%ebx
1600	leal	(%ecx,%ecx,1),%esi
1601	movzbl	%al,%ecx
1602	leal	(%edx,%edx,1),%edi
1603	movzbl	%ah,%edx
1604	pxor	2(%ebp,%esi,8),%mm3
1605	pxor	1(%ebp,%edi,8),%mm4
1606	shrl	$16,%eax
1607	leal	(%ecx,%ecx,1),%esi
1608	movzbl	%al,%ecx
1609	leal	(%edx,%edx,1),%edi
1610	movzbl	%ah,%edx
1611	pxor	(%ebp,%esi,8),%mm6
1612	pxor	7(%ebp,%edi,8),%mm7
1613	movl	120(%esp),%eax
1614	leal	(%ecx,%ecx,1),%esi
1615	movzbl	%bl,%ecx
1616	leal	(%edx,%edx,1),%edi
1617	movzbl	%bh,%edx
1618	pxor	6(%ebp,%esi,8),%mm0
1619	pxor	5(%ebp,%edi,8),%mm1
1620	shrl	$16,%ebx
1621	leal	(%ecx,%ecx,1),%esi
1622	movzbl	%bl,%ecx
1623	leal	(%edx,%edx,1),%edi
1624	movzbl	%bh,%edx
1625	pxor	4(%ebp,%esi,8),%mm2
1626	pxor	3(%ebp,%edi,8),%mm3
1627	movl	124(%esp),%ebx
1628	leal	(%ecx,%ecx,1),%esi
1629	movzbl	%al,%ecx
1630	leal	(%edx,%edx,1),%edi
1631	movzbl	%ah,%edx
1632	pxor	2(%ebp,%esi,8),%mm4
1633	pxor	1(%ebp,%edi,8),%mm5
1634	shrl	$16,%eax
1635	leal	(%ecx,%ecx,1),%esi
1636	movzbl	%al,%ecx
1637	leal	(%edx,%edx,1),%edi
1638	movzbl	%ah,%edx
1639	pxor	(%ebp,%esi,8),%mm7
1640	pxor	7(%ebp,%edi,8),%mm0
1641	leal	(%ecx,%ecx,1),%esi
1642	movzbl	%bl,%ecx
1643	leal	(%edx,%edx,1),%edi
1644	movzbl	%bh,%edx
1645	pxor	6(%ebp,%esi,8),%mm1
1646	pxor	5(%ebp,%edi,8),%mm2
1647	shrl	$16,%ebx
1648	leal	(%ecx,%ecx,1),%esi
1649	movzbl	%bl,%ecx
1650	leal	(%edx,%edx,1),%edi
1651	movzbl	%bh,%edx
1652	pxor	4(%ebp,%esi,8),%mm3
1653	pxor	3(%ebp,%edi,8),%mm4
1654	leal	(%ecx,%ecx,1),%esi
1655	movzbl	%al,%ecx
1656	leal	(%edx,%edx,1),%edi
1657	movzbl	%ah,%edx
1658	pxor	2(%ebp,%esi,8),%mm5
1659	pxor	1(%ebp,%edi,8),%mm6
1660	leal	128(%esp),%ebx
1661	movl	12(%ebx),%esi
1662	addl	$1,%esi
1663	cmpl	$10,%esi
1664	je	.L004roundsdone
1665	movl	%esi,12(%ebx)
1666	movq	%mm0,64(%esp)
1667	movq	%mm1,72(%esp)
1668	movq	%mm2,80(%esp)
1669	movq	%mm3,88(%esp)
1670	movq	%mm4,96(%esp)
1671	movq	%mm5,104(%esp)
1672	movq	%mm6,112(%esp)
1673	movq	%mm7,120(%esp)
1674	jmp	.L003round
1675.align	16
1676.L004roundsdone:
1677	movl	(%ebx),%esi
1678	movl	4(%ebx),%edi
1679	movl	8(%ebx),%eax
1680	pxor	(%edi),%mm0
1681	pxor	8(%edi),%mm1
1682	pxor	16(%edi),%mm2
1683	pxor	24(%edi),%mm3
1684	pxor	32(%edi),%mm4
1685	pxor	40(%edi),%mm5
1686	pxor	48(%edi),%mm6
1687	pxor	56(%edi),%mm7
1688	pxor	(%esi),%mm0
1689	pxor	8(%esi),%mm1
1690	pxor	16(%esi),%mm2
1691	pxor	24(%esi),%mm3
1692	pxor	32(%esi),%mm4
1693	pxor	40(%esi),%mm5
1694	pxor	48(%esi),%mm6
1695	pxor	56(%esi),%mm7
1696	movq	%mm0,(%esi)
1697	movq	%mm1,8(%esi)
1698	movq	%mm2,16(%esi)
1699	movq	%mm3,24(%esi)
1700	movq	%mm4,32(%esi)
1701	movq	%mm5,40(%esi)
1702	movq	%mm6,48(%esi)
1703	movq	%mm7,56(%esi)
1704	leal	64(%edi),%edi
1705	subl	$1,%eax
1706	jz	.L005alldone
1707	movl	%edi,4(%ebx)
1708	movl	%eax,8(%ebx)
1709	jmp	.L002outerloop
1710.L005alldone:
1711	emms
1712	movl	16(%ebx),%esp
1713	popl	%edi
1714	popl	%esi
1715	popl	%ebx
1716	popl	%ebp
1717	ret
1718.align	64
1719.L001table:
1720.byte	24,24,96,24,192,120,48,216
1721.byte	24,24,96,24,192,120,48,216
1722.byte	35,35,140,35,5,175,70,38
1723.byte	35,35,140,35,5,175,70,38
1724.byte	198,198,63,198,126,249,145,184
1725.byte	198,198,63,198,126,249,145,184
1726.byte	232,232,135,232,19,111,205,251
1727.byte	232,232,135,232,19,111,205,251
1728.byte	135,135,38,135,76,161,19,203
1729.byte	135,135,38,135,76,161,19,203
1730.byte	184,184,218,184,169,98,109,17
1731.byte	184,184,218,184,169,98,109,17
1732.byte	1,1,4,1,8,5,2,9
1733.byte	1,1,4,1,8,5,2,9
1734.byte	79,79,33,79,66,110,158,13
1735.byte	79,79,33,79,66,110,158,13
1736.byte	54,54,216,54,173,238,108,155
1737.byte	54,54,216,54,173,238,108,155
1738.byte	166,166,162,166,89,4,81,255
1739.byte	166,166,162,166,89,4,81,255
1740.byte	210,210,111,210,222,189,185,12
1741.byte	210,210,111,210,222,189,185,12
1742.byte	245,245,243,245,251,6,247,14
1743.byte	245,245,243,245,251,6,247,14
1744.byte	121,121,249,121,239,128,242,150
1745.byte	121,121,249,121,239,128,242,150
1746.byte	111,111,161,111,95,206,222,48
1747.byte	111,111,161,111,95,206,222,48
1748.byte	145,145,126,145,252,239,63,109
1749.byte	145,145,126,145,252,239,63,109
1750.byte	82,82,85,82,170,7,164,248
1751.byte	82,82,85,82,170,7,164,248
1752.byte	96,96,157,96,39,253,192,71
1753.byte	96,96,157,96,39,253,192,71
1754.byte	188,188,202,188,137,118,101,53
1755.byte	188,188,202,188,137,118,101,53
1756.byte	155,155,86,155,172,205,43,55
1757.byte	155,155,86,155,172,205,43,55
1758.byte	142,142,2,142,4,140,1,138
1759.byte	142,142,2,142,4,140,1,138
1760.byte	163,163,182,163,113,21,91,210
1761.byte	163,163,182,163,113,21,91,210
1762.byte	12,12,48,12,96,60,24,108
1763.byte	12,12,48,12,96,60,24,108
1764.byte	123,123,241,123,255,138,246,132
1765.byte	123,123,241,123,255,138,246,132
1766.byte	53,53,212,53,181,225,106,128
1767.byte	53,53,212,53,181,225,106,128
1768.byte	29,29,116,29,232,105,58,245
1769.byte	29,29,116,29,232,105,58,245
1770.byte	224,224,167,224,83,71,221,179
1771.byte	224,224,167,224,83,71,221,179
1772.byte	215,215,123,215,246,172,179,33
1773.byte	215,215,123,215,246,172,179,33
1774.byte	194,194,47,194,94,237,153,156
1775.byte	194,194,47,194,94,237,153,156
1776.byte	46,46,184,46,109,150,92,67
1777.byte	46,46,184,46,109,150,92,67
1778.byte	75,75,49,75,98,122,150,41
1779.byte	75,75,49,75,98,122,150,41
1780.byte	254,254,223,254,163,33,225,93
1781.byte	254,254,223,254,163,33,225,93
1782.byte	87,87,65,87,130,22,174,213
1783.byte	87,87,65,87,130,22,174,213
1784.byte	21,21,84,21,168,65,42,189
1785.byte	21,21,84,21,168,65,42,189
1786.byte	119,119,193,119,159,182,238,232
1787.byte	119,119,193,119,159,182,238,232
1788.byte	55,55,220,55,165,235,110,146
1789.byte	55,55,220,55,165,235,110,146
1790.byte	229,229,179,229,123,86,215,158
1791.byte	229,229,179,229,123,86,215,158
1792.byte	159,159,70,159,140,217,35,19
1793.byte	159,159,70,159,140,217,35,19
1794.byte	240,240,231,240,211,23,253,35
1795.byte	240,240,231,240,211,23,253,35
1796.byte	74,74,53,74,106,127,148,32
1797.byte	74,74,53,74,106,127,148,32
1798.byte	218,218,79,218,158,149,169,68
1799.byte	218,218,79,218,158,149,169,68
1800.byte	88,88,125,88,250,37,176,162
1801.byte	88,88,125,88,250,37,176,162
1802.byte	201,201,3,201,6,202,143,207
1803.byte	201,201,3,201,6,202,143,207
1804.byte	41,41,164,41,85,141,82,124
1805.byte	41,41,164,41,85,141,82,124
1806.byte	10,10,40,10,80,34,20,90
1807.byte	10,10,40,10,80,34,20,90
1808.byte	177,177,254,177,225,79,127,80
1809.byte	177,177,254,177,225,79,127,80
1810.byte	160,160,186,160,105,26,93,201
1811.byte	160,160,186,160,105,26,93,201
1812.byte	107,107,177,107,127,218,214,20
1813.byte	107,107,177,107,127,218,214,20
1814.byte	133,133,46,133,92,171,23,217
1815.byte	133,133,46,133,92,171,23,217
1816.byte	189,189,206,189,129,115,103,60
1817.byte	189,189,206,189,129,115,103,60
1818.byte	93,93,105,93,210,52,186,143
1819.byte	93,93,105,93,210,52,186,143
1820.byte	16,16,64,16,128,80,32,144
1821.byte	16,16,64,16,128,80,32,144
1822.byte	244,244,247,244,243,3,245,7
1823.byte	244,244,247,244,243,3,245,7
1824.byte	203,203,11,203,22,192,139,221
1825.byte	203,203,11,203,22,192,139,221
1826.byte	62,62,248,62,237,198,124,211
1827.byte	62,62,248,62,237,198,124,211
1828.byte	5,5,20,5,40,17,10,45
1829.byte	5,5,20,5,40,17,10,45
1830.byte	103,103,129,103,31,230,206,120
1831.byte	103,103,129,103,31,230,206,120
1832.byte	228,228,183,228,115,83,213,151
1833.byte	228,228,183,228,115,83,213,151
1834.byte	39,39,156,39,37,187,78,2
1835.byte	39,39,156,39,37,187,78,2
1836.byte	65,65,25,65,50,88,130,115
1837.byte	65,65,25,65,50,88,130,115
1838.byte	139,139,22,139,44,157,11,167
1839.byte	139,139,22,139,44,157,11,167
1840.byte	167,167,166,167,81,1,83,246
1841.byte	167,167,166,167,81,1,83,246
1842.byte	125,125,233,125,207,148,250,178
1843.byte	125,125,233,125,207,148,250,178
1844.byte	149,149,110,149,220,251,55,73
1845.byte	149,149,110,149,220,251,55,73
1846.byte	216,216,71,216,142,159,173,86
1847.byte	216,216,71,216,142,159,173,86
1848.byte	251,251,203,251,139,48,235,112
1849.byte	251,251,203,251,139,48,235,112
1850.byte	238,238,159,238,35,113,193,205
1851.byte	238,238,159,238,35,113,193,205
1852.byte	124,124,237,124,199,145,248,187
1853.byte	124,124,237,124,199,145,248,187
1854.byte	102,102,133,102,23,227,204,113
1855.byte	102,102,133,102,23,227,204,113
1856.byte	221,221,83,221,166,142,167,123
1857.byte	221,221,83,221,166,142,167,123
1858.byte	23,23,92,23,184,75,46,175
1859.byte	23,23,92,23,184,75,46,175
1860.byte	71,71,1,71,2,70,142,69
1861.byte	71,71,1,71,2,70,142,69
1862.byte	158,158,66,158,132,220,33,26
1863.byte	158,158,66,158,132,220,33,26
1864.byte	202,202,15,202,30,197,137,212
1865.byte	202,202,15,202,30,197,137,212
1866.byte	45,45,180,45,117,153,90,88
1867.byte	45,45,180,45,117,153,90,88
1868.byte	191,191,198,191,145,121,99,46
1869.byte	191,191,198,191,145,121,99,46
1870.byte	7,7,28,7,56,27,14,63
1871.byte	7,7,28,7,56,27,14,63
1872.byte	173,173,142,173,1,35,71,172
1873.byte	173,173,142,173,1,35,71,172
1874.byte	90,90,117,90,234,47,180,176
1875.byte	90,90,117,90,234,47,180,176
1876.byte	131,131,54,131,108,181,27,239
1877.byte	131,131,54,131,108,181,27,239
1878.byte	51,51,204,51,133,255,102,182
1879.byte	51,51,204,51,133,255,102,182
1880.byte	99,99,145,99,63,242,198,92
1881.byte	99,99,145,99,63,242,198,92
1882.byte	2,2,8,2,16,10,4,18
1883.byte	2,2,8,2,16,10,4,18
1884.byte	170,170,146,170,57,56,73,147
1885.byte	170,170,146,170,57,56,73,147
1886.byte	113,113,217,113,175,168,226,222
1887.byte	113,113,217,113,175,168,226,222
1888.byte	200,200,7,200,14,207,141,198
1889.byte	200,200,7,200,14,207,141,198
1890.byte	25,25,100,25,200,125,50,209
1891.byte	25,25,100,25,200,125,50,209
1892.byte	73,73,57,73,114,112,146,59
1893.byte	73,73,57,73,114,112,146,59
1894.byte	217,217,67,217,134,154,175,95
1895.byte	217,217,67,217,134,154,175,95
1896.byte	242,242,239,242,195,29,249,49
1897.byte	242,242,239,242,195,29,249,49
1898.byte	227,227,171,227,75,72,219,168
1899.byte	227,227,171,227,75,72,219,168
1900.byte	91,91,113,91,226,42,182,185
1901.byte	91,91,113,91,226,42,182,185
1902.byte	136,136,26,136,52,146,13,188
1903.byte	136,136,26,136,52,146,13,188
1904.byte	154,154,82,154,164,200,41,62
1905.byte	154,154,82,154,164,200,41,62
1906.byte	38,38,152,38,45,190,76,11
1907.byte	38,38,152,38,45,190,76,11
1908.byte	50,50,200,50,141,250,100,191
1909.byte	50,50,200,50,141,250,100,191
1910.byte	176,176,250,176,233,74,125,89
1911.byte	176,176,250,176,233,74,125,89
1912.byte	233,233,131,233,27,106,207,242
1913.byte	233,233,131,233,27,106,207,242
1914.byte	15,15,60,15,120,51,30,119
1915.byte	15,15,60,15,120,51,30,119
1916.byte	213,213,115,213,230,166,183,51
1917.byte	213,213,115,213,230,166,183,51
1918.byte	128,128,58,128,116,186,29,244
1919.byte	128,128,58,128,116,186,29,244
1920.byte	190,190,194,190,153,124,97,39
1921.byte	190,190,194,190,153,124,97,39
1922.byte	205,205,19,205,38,222,135,235
1923.byte	205,205,19,205,38,222,135,235
1924.byte	52,52,208,52,189,228,104,137
1925.byte	52,52,208,52,189,228,104,137
1926.byte	72,72,61,72,122,117,144,50
1927.byte	72,72,61,72,122,117,144,50
1928.byte	255,255,219,255,171,36,227,84
1929.byte	255,255,219,255,171,36,227,84
1930.byte	122,122,245,122,247,143,244,141
1931.byte	122,122,245,122,247,143,244,141
1932.byte	144,144,122,144,244,234,61,100
1933.byte	144,144,122,144,244,234,61,100
1934.byte	95,95,97,95,194,62,190,157
1935.byte	95,95,97,95,194,62,190,157
1936.byte	32,32,128,32,29,160,64,61
1937.byte	32,32,128,32,29,160,64,61
1938.byte	104,104,189,104,103,213,208,15
1939.byte	104,104,189,104,103,213,208,15
1940.byte	26,26,104,26,208,114,52,202
1941.byte	26,26,104,26,208,114,52,202
1942.byte	174,174,130,174,25,44,65,183
1943.byte	174,174,130,174,25,44,65,183
1944.byte	180,180,234,180,201,94,117,125
1945.byte	180,180,234,180,201,94,117,125
1946.byte	84,84,77,84,154,25,168,206
1947.byte	84,84,77,84,154,25,168,206
1948.byte	147,147,118,147,236,229,59,127
1949.byte	147,147,118,147,236,229,59,127
1950.byte	34,34,136,34,13,170,68,47
1951.byte	34,34,136,34,13,170,68,47
1952.byte	100,100,141,100,7,233,200,99
1953.byte	100,100,141,100,7,233,200,99
1954.byte	241,241,227,241,219,18,255,42
1955.byte	241,241,227,241,219,18,255,42
1956.byte	115,115,209,115,191,162,230,204
1957.byte	115,115,209,115,191,162,230,204
1958.byte	18,18,72,18,144,90,36,130
1959.byte	18,18,72,18,144,90,36,130
1960.byte	64,64,29,64,58,93,128,122
1961.byte	64,64,29,64,58,93,128,122
1962.byte	8,8,32,8,64,40,16,72
1963.byte	8,8,32,8,64,40,16,72
1964.byte	195,195,43,195,86,232,155,149
1965.byte	195,195,43,195,86,232,155,149
1966.byte	236,236,151,236,51,123,197,223
1967.byte	236,236,151,236,51,123,197,223
1968.byte	219,219,75,219,150,144,171,77
1969.byte	219,219,75,219,150,144,171,77
1970.byte	161,161,190,161,97,31,95,192
1971.byte	161,161,190,161,97,31,95,192
1972.byte	141,141,14,141,28,131,7,145
1973.byte	141,141,14,141,28,131,7,145
1974.byte	61,61,244,61,245,201,122,200
1975.byte	61,61,244,61,245,201,122,200
1976.byte	151,151,102,151,204,241,51,91
1977.byte	151,151,102,151,204,241,51,91
1978.byte	0,0,0,0,0,0,0,0
1979.byte	0,0,0,0,0,0,0,0
1980.byte	207,207,27,207,54,212,131,249
1981.byte	207,207,27,207,54,212,131,249
1982.byte	43,43,172,43,69,135,86,110
1983.byte	43,43,172,43,69,135,86,110
1984.byte	118,118,197,118,151,179,236,225
1985.byte	118,118,197,118,151,179,236,225
1986.byte	130,130,50,130,100,176,25,230
1987.byte	130,130,50,130,100,176,25,230
1988.byte	214,214,127,214,254,169,177,40
1989.byte	214,214,127,214,254,169,177,40
1990.byte	27,27,108,27,216,119,54,195
1991.byte	27,27,108,27,216,119,54,195
1992.byte	181,181,238,181,193,91,119,116
1993.byte	181,181,238,181,193,91,119,116
1994.byte	175,175,134,175,17,41,67,190
1995.byte	175,175,134,175,17,41,67,190
1996.byte	106,106,181,106,119,223,212,29
1997.byte	106,106,181,106,119,223,212,29
1998.byte	80,80,93,80,186,13,160,234
1999.byte	80,80,93,80,186,13,160,234
2000.byte	69,69,9,69,18,76,138,87
2001.byte	69,69,9,69,18,76,138,87
2002.byte	243,243,235,243,203,24,251,56
2003.byte	243,243,235,243,203,24,251,56
2004.byte	48,48,192,48,157,240,96,173
2005.byte	48,48,192,48,157,240,96,173
2006.byte	239,239,155,239,43,116,195,196
2007.byte	239,239,155,239,43,116,195,196
2008.byte	63,63,252,63,229,195,126,218
2009.byte	63,63,252,63,229,195,126,218
2010.byte	85,85,73,85,146,28,170,199
2011.byte	85,85,73,85,146,28,170,199
2012.byte	162,162,178,162,121,16,89,219
2013.byte	162,162,178,162,121,16,89,219
2014.byte	234,234,143,234,3,101,201,233
2015.byte	234,234,143,234,3,101,201,233
2016.byte	101,101,137,101,15,236,202,106
2017.byte	101,101,137,101,15,236,202,106
2018.byte	186,186,210,186,185,104,105,3
2019.byte	186,186,210,186,185,104,105,3
2020.byte	47,47,188,47,101,147,94,74
2021.byte	47,47,188,47,101,147,94,74
2022.byte	192,192,39,192,78,231,157,142
2023.byte	192,192,39,192,78,231,157,142
2024.byte	222,222,95,222,190,129,161,96
2025.byte	222,222,95,222,190,129,161,96
2026.byte	28,28,112,28,224,108,56,252
2027.byte	28,28,112,28,224,108,56,252
2028.byte	253,253,211,253,187,46,231,70
2029.byte	253,253,211,253,187,46,231,70
2030.byte	77,77,41,77,82,100,154,31
2031.byte	77,77,41,77,82,100,154,31
2032.byte	146,146,114,146,228,224,57,118
2033.byte	146,146,114,146,228,224,57,118
2034.byte	117,117,201,117,143,188,234,250
2035.byte	117,117,201,117,143,188,234,250
2036.byte	6,6,24,6,48,30,12,54
2037.byte	6,6,24,6,48,30,12,54
2038.byte	138,138,18,138,36,152,9,174
2039.byte	138,138,18,138,36,152,9,174
2040.byte	178,178,242,178,249,64,121,75
2041.byte	178,178,242,178,249,64,121,75
2042.byte	230,230,191,230,99,89,209,133
2043.byte	230,230,191,230,99,89,209,133
2044.byte	14,14,56,14,112,54,28,126
2045.byte	14,14,56,14,112,54,28,126
2046.byte	31,31,124,31,248,99,62,231
2047.byte	31,31,124,31,248,99,62,231
2048.byte	98,98,149,98,55,247,196,85
2049.byte	98,98,149,98,55,247,196,85
2050.byte	212,212,119,212,238,163,181,58
2051.byte	212,212,119,212,238,163,181,58
2052.byte	168,168,154,168,41,50,77,129
2053.byte	168,168,154,168,41,50,77,129
2054.byte	150,150,98,150,196,244,49,82
2055.byte	150,150,98,150,196,244,49,82
2056.byte	249,249,195,249,155,58,239,98
2057.byte	249,249,195,249,155,58,239,98
2058.byte	197,197,51,197,102,246,151,163
2059.byte	197,197,51,197,102,246,151,163
2060.byte	37,37,148,37,53,177,74,16
2061.byte	37,37,148,37,53,177,74,16
2062.byte	89,89,121,89,242,32,178,171
2063.byte	89,89,121,89,242,32,178,171
2064.byte	132,132,42,132,84,174,21,208
2065.byte	132,132,42,132,84,174,21,208
2066.byte	114,114,213,114,183,167,228,197
2067.byte	114,114,213,114,183,167,228,197
2068.byte	57,57,228,57,213,221,114,236
2069.byte	57,57,228,57,213,221,114,236
2070.byte	76,76,45,76,90,97,152,22
2071.byte	76,76,45,76,90,97,152,22
2072.byte	94,94,101,94,202,59,188,148
2073.byte	94,94,101,94,202,59,188,148
2074.byte	120,120,253,120,231,133,240,159
2075.byte	120,120,253,120,231,133,240,159
2076.byte	56,56,224,56,221,216,112,229
2077.byte	56,56,224,56,221,216,112,229
2078.byte	140,140,10,140,20,134,5,152
2079.byte	140,140,10,140,20,134,5,152
2080.byte	209,209,99,209,198,178,191,23
2081.byte	209,209,99,209,198,178,191,23
2082.byte	165,165,174,165,65,11,87,228
2083.byte	165,165,174,165,65,11,87,228
2084.byte	226,226,175,226,67,77,217,161
2085.byte	226,226,175,226,67,77,217,161
2086.byte	97,97,153,97,47,248,194,78
2087.byte	97,97,153,97,47,248,194,78
2088.byte	179,179,246,179,241,69,123,66
2089.byte	179,179,246,179,241,69,123,66
2090.byte	33,33,132,33,21,165,66,52
2091.byte	33,33,132,33,21,165,66,52
2092.byte	156,156,74,156,148,214,37,8
2093.byte	156,156,74,156,148,214,37,8
2094.byte	30,30,120,30,240,102,60,238
2095.byte	30,30,120,30,240,102,60,238
2096.byte	67,67,17,67,34,82,134,97
2097.byte	67,67,17,67,34,82,134,97
2098.byte	199,199,59,199,118,252,147,177
2099.byte	199,199,59,199,118,252,147,177
2100.byte	252,252,215,252,179,43,229,79
2101.byte	252,252,215,252,179,43,229,79
2102.byte	4,4,16,4,32,20,8,36
2103.byte	4,4,16,4,32,20,8,36
2104.byte	81,81,89,81,178,8,162,227
2105.byte	81,81,89,81,178,8,162,227
2106.byte	153,153,94,153,188,199,47,37
2107.byte	153,153,94,153,188,199,47,37
2108.byte	109,109,169,109,79,196,218,34
2109.byte	109,109,169,109,79,196,218,34
2110.byte	13,13,52,13,104,57,26,101
2111.byte	13,13,52,13,104,57,26,101
2112.byte	250,250,207,250,131,53,233,121
2113.byte	250,250,207,250,131,53,233,121
2114.byte	223,223,91,223,182,132,163,105
2115.byte	223,223,91,223,182,132,163,105
2116.byte	126,126,229,126,215,155,252,169
2117.byte	126,126,229,126,215,155,252,169
2118.byte	36,36,144,36,61,180,72,25
2119.byte	36,36,144,36,61,180,72,25
2120.byte	59,59,236,59,197,215,118,254
2121.byte	59,59,236,59,197,215,118,254
2122.byte	171,171,150,171,49,61,75,154
2123.byte	171,171,150,171,49,61,75,154
2124.byte	206,206,31,206,62,209,129,240
2125.byte	206,206,31,206,62,209,129,240
2126.byte	17,17,68,17,136,85,34,153
2127.byte	17,17,68,17,136,85,34,153
2128.byte	143,143,6,143,12,137,3,131
2129.byte	143,143,6,143,12,137,3,131
2130.byte	78,78,37,78,74,107,156,4
2131.byte	78,78,37,78,74,107,156,4
2132.byte	183,183,230,183,209,81,115,102
2133.byte	183,183,230,183,209,81,115,102
2134.byte	235,235,139,235,11,96,203,224
2135.byte	235,235,139,235,11,96,203,224
2136.byte	60,60,240,60,253,204,120,193
2137.byte	60,60,240,60,253,204,120,193
2138.byte	129,129,62,129,124,191,31,253
2139.byte	129,129,62,129,124,191,31,253
2140.byte	148,148,106,148,212,254,53,64
2141.byte	148,148,106,148,212,254,53,64
2142.byte	247,247,251,247,235,12,243,28
2143.byte	247,247,251,247,235,12,243,28
2144.byte	185,185,222,185,161,103,111,24
2145.byte	185,185,222,185,161,103,111,24
2146.byte	19,19,76,19,152,95,38,139
2147.byte	19,19,76,19,152,95,38,139
2148.byte	44,44,176,44,125,156,88,81
2149.byte	44,44,176,44,125,156,88,81
2150.byte	211,211,107,211,214,184,187,5
2151.byte	211,211,107,211,214,184,187,5
2152.byte	231,231,187,231,107,92,211,140
2153.byte	231,231,187,231,107,92,211,140
2154.byte	110,110,165,110,87,203,220,57
2155.byte	110,110,165,110,87,203,220,57
2156.byte	196,196,55,196,110,243,149,170
2157.byte	196,196,55,196,110,243,149,170
2158.byte	3,3,12,3,24,15,6,27
2159.byte	3,3,12,3,24,15,6,27
2160.byte	86,86,69,86,138,19,172,220
2161.byte	86,86,69,86,138,19,172,220
2162.byte	68,68,13,68,26,73,136,94
2163.byte	68,68,13,68,26,73,136,94
2164.byte	127,127,225,127,223,158,254,160
2165.byte	127,127,225,127,223,158,254,160
2166.byte	169,169,158,169,33,55,79,136
2167.byte	169,169,158,169,33,55,79,136
2168.byte	42,42,168,42,77,130,84,103
2169.byte	42,42,168,42,77,130,84,103
2170.byte	187,187,214,187,177,109,107,10
2171.byte	187,187,214,187,177,109,107,10
2172.byte	193,193,35,193,70,226,159,135
2173.byte	193,193,35,193,70,226,159,135
2174.byte	83,83,81,83,162,2,166,241
2175.byte	83,83,81,83,162,2,166,241
2176.byte	220,220,87,220,174,139,165,114
2177.byte	220,220,87,220,174,139,165,114
2178.byte	11,11,44,11,88,39,22,83
2179.byte	11,11,44,11,88,39,22,83
2180.byte	157,157,78,157,156,211,39,1
2181.byte	157,157,78,157,156,211,39,1
2182.byte	108,108,173,108,71,193,216,43
2183.byte	108,108,173,108,71,193,216,43
2184.byte	49,49,196,49,149,245,98,164
2185.byte	49,49,196,49,149,245,98,164
2186.byte	116,116,205,116,135,185,232,243
2187.byte	116,116,205,116,135,185,232,243
2188.byte	246,246,255,246,227,9,241,21
2189.byte	246,246,255,246,227,9,241,21
2190.byte	70,70,5,70,10,67,140,76
2191.byte	70,70,5,70,10,67,140,76
2192.byte	172,172,138,172,9,38,69,165
2193.byte	172,172,138,172,9,38,69,165
2194.byte	137,137,30,137,60,151,15,181
2195.byte	137,137,30,137,60,151,15,181
2196.byte	20,20,80,20,160,68,40,180
2197.byte	20,20,80,20,160,68,40,180
2198.byte	225,225,163,225,91,66,223,186
2199.byte	225,225,163,225,91,66,223,186
2200.byte	22,22,88,22,176,78,44,166
2201.byte	22,22,88,22,176,78,44,166
2202.byte	58,58,232,58,205,210,116,247
2203.byte	58,58,232,58,205,210,116,247
2204.byte	105,105,185,105,111,208,210,6
2205.byte	105,105,185,105,111,208,210,6
2206.byte	9,9,36,9,72,45,18,65
2207.byte	9,9,36,9,72,45,18,65
2208.byte	112,112,221,112,167,173,224,215
2209.byte	112,112,221,112,167,173,224,215
2210.byte	182,182,226,182,217,84,113,111
2211.byte	182,182,226,182,217,84,113,111
2212.byte	208,208,103,208,206,183,189,30
2213.byte	208,208,103,208,206,183,189,30
2214.byte	237,237,147,237,59,126,199,214
2215.byte	237,237,147,237,59,126,199,214
2216.byte	204,204,23,204,46,219,133,226
2217.byte	204,204,23,204,46,219,133,226
2218.byte	66,66,21,66,42,87,132,104
2219.byte	66,66,21,66,42,87,132,104
2220.byte	152,152,90,152,180,194,45,44
2221.byte	152,152,90,152,180,194,45,44
2222.byte	164,164,170,164,73,14,85,237
2223.byte	164,164,170,164,73,14,85,237
2224.byte	40,40,160,40,93,136,80,117
2225.byte	40,40,160,40,93,136,80,117
2226.byte	92,92,109,92,218,49,184,134
2227.byte	92,92,109,92,218,49,184,134
2228.byte	248,248,199,248,147,63,237,107
2229.byte	248,248,199,248,147,63,237,107
2230.byte	134,134,34,134,68,164,17,194
2231.byte	134,134,34,134,68,164,17,194
2232.byte	24,35,198,232,135,184,1,79
2233.byte	54,166,210,245,121,111,145,82
2234.byte	96,188,155,142,163,12,123,53
2235.byte	29,224,215,194,46,75,254,87
2236.byte	21,119,55,229,159,240,74,218
2237.byte	88,201,41,10,177,160,107,133
2238.byte	189,93,16,244,203,62,5,103
2239.byte	228,39,65,139,167,125,149,216
2240.byte	251,238,124,102,221,23,71,158
2241.byte	202,45,191,7,173,90,131,51
2242.size	whirlpool_block_mmx,.-.L_whirlpool_block_mmx_begin
2243
2244	.section ".note.gnu.property", "a"
2245	.p2align 2
2246	.long 1f - 0f
2247	.long 4f - 1f
2248	.long 5
22490:
2250	.asciz "GNU"
22511:
2252	.p2align 2
2253	.long 0xc0000002
2254	.long 3f - 2f
22552:
2256	.long 3
22573:
2258	.p2align 2
22594:
2260#endif
2261