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