wp-mmx.S revision 299966
1# $FreeBSD: stable/10/secure/lib/libcrypto/i386/wp-mmx.S 299966 2016-05-16 19:30:27Z jkim $
2# Do not modify. This file is auto-generated from wp-mmx.pl.
3#ifdef PIC
4.file	"wp-mmx.S"
5.text
6.globl	whirlpool_block_mmx
7.type	whirlpool_block_mmx,@function
8.align	16
9whirlpool_block_mmx:
10.L_whirlpool_block_mmx_begin:
11	pushl	%ebp
12	pushl	%ebx
13	pushl	%esi
14	pushl	%edi
15	movl	20(%esp),%esi
16	movl	24(%esp),%edi
17	movl	28(%esp),%ebp
18	movl	%esp,%eax
19	subl	$148,%esp
20	andl	$-64,%esp
21	leal	128(%esp),%ebx
22	movl	%esi,(%ebx)
23	movl	%edi,4(%ebx)
24	movl	%ebp,8(%ebx)
25	movl	%eax,16(%ebx)
26	call	.L000pic_point
27.L000pic_point:
28	popl	%ebp
29	leal	.L001table-.L000pic_point(%ebp),%ebp
30	xorl	%ecx,%ecx
31	xorl	%edx,%edx
32	movq	(%esi),%mm0
33	movq	8(%esi),%mm1
34	movq	16(%esi),%mm2
35	movq	24(%esi),%mm3
36	movq	32(%esi),%mm4
37	movq	40(%esi),%mm5
38	movq	48(%esi),%mm6
39	movq	56(%esi),%mm7
40.L002outerloop:
41	movq	%mm0,(%esp)
42	movq	%mm1,8(%esp)
43	movq	%mm2,16(%esp)
44	movq	%mm3,24(%esp)
45	movq	%mm4,32(%esp)
46	movq	%mm5,40(%esp)
47	movq	%mm6,48(%esp)
48	movq	%mm7,56(%esp)
49	pxor	(%edi),%mm0
50	pxor	8(%edi),%mm1
51	pxor	16(%edi),%mm2
52	pxor	24(%edi),%mm3
53	pxor	32(%edi),%mm4
54	pxor	40(%edi),%mm5
55	pxor	48(%edi),%mm6
56	pxor	56(%edi),%mm7
57	movq	%mm0,64(%esp)
58	movq	%mm1,72(%esp)
59	movq	%mm2,80(%esp)
60	movq	%mm3,88(%esp)
61	movq	%mm4,96(%esp)
62	movq	%mm5,104(%esp)
63	movq	%mm6,112(%esp)
64	movq	%mm7,120(%esp)
65	xorl	%esi,%esi
66	movl	%esi,12(%ebx)
67.align	16
68.L003round:
69	movq	4096(%ebp,%esi,8),%mm0
70	movl	(%esp),%eax
71	movl	4(%esp),%ebx
72	movb	%al,%cl
73	movb	%ah,%dl
74	leal	(%ecx,%ecx,1),%esi
75	leal	(%edx,%edx,1),%edi
76	shrl	$16,%eax
77	pxor	(%ebp,%esi,8),%mm0
78	movq	7(%ebp,%edi,8),%mm1
79	movb	%al,%cl
80	movb	%ah,%dl
81	movl	8(%esp),%eax
82	leal	(%ecx,%ecx,1),%esi
83	leal	(%edx,%edx,1),%edi
84	movq	6(%ebp,%esi,8),%mm2
85	movq	5(%ebp,%edi,8),%mm3
86	movb	%bl,%cl
87	movb	%bh,%dl
88	leal	(%ecx,%ecx,1),%esi
89	leal	(%edx,%edx,1),%edi
90	shrl	$16,%ebx
91	movq	4(%ebp,%esi,8),%mm4
92	movq	3(%ebp,%edi,8),%mm5
93	movb	%bl,%cl
94	movb	%bh,%dl
95	movl	12(%esp),%ebx
96	leal	(%ecx,%ecx,1),%esi
97	leal	(%edx,%edx,1),%edi
98	movq	2(%ebp,%esi,8),%mm6
99	movq	1(%ebp,%edi,8),%mm7
100	movb	%al,%cl
101	movb	%ah,%dl
102	leal	(%ecx,%ecx,1),%esi
103	leal	(%edx,%edx,1),%edi
104	shrl	$16,%eax
105	pxor	(%ebp,%esi,8),%mm1
106	pxor	7(%ebp,%edi,8),%mm2
107	movb	%al,%cl
108	movb	%ah,%dl
109	movl	16(%esp),%eax
110	leal	(%ecx,%ecx,1),%esi
111	leal	(%edx,%edx,1),%edi
112	pxor	6(%ebp,%esi,8),%mm3
113	pxor	5(%ebp,%edi,8),%mm4
114	movb	%bl,%cl
115	movb	%bh,%dl
116	leal	(%ecx,%ecx,1),%esi
117	leal	(%edx,%edx,1),%edi
118	shrl	$16,%ebx
119	pxor	4(%ebp,%esi,8),%mm5
120	pxor	3(%ebp,%edi,8),%mm6
121	movb	%bl,%cl
122	movb	%bh,%dl
123	movl	20(%esp),%ebx
124	leal	(%ecx,%ecx,1),%esi
125	leal	(%edx,%edx,1),%edi
126	pxor	2(%ebp,%esi,8),%mm7
127	pxor	1(%ebp,%edi,8),%mm0
128	movb	%al,%cl
129	movb	%ah,%dl
130	leal	(%ecx,%ecx,1),%esi
131	leal	(%edx,%edx,1),%edi
132	shrl	$16,%eax
133	pxor	(%ebp,%esi,8),%mm2
134	pxor	7(%ebp,%edi,8),%mm3
135	movb	%al,%cl
136	movb	%ah,%dl
137	movl	24(%esp),%eax
138	leal	(%ecx,%ecx,1),%esi
139	leal	(%edx,%edx,1),%edi
140	pxor	6(%ebp,%esi,8),%mm4
141	pxor	5(%ebp,%edi,8),%mm5
142	movb	%bl,%cl
143	movb	%bh,%dl
144	leal	(%ecx,%ecx,1),%esi
145	leal	(%edx,%edx,1),%edi
146	shrl	$16,%ebx
147	pxor	4(%ebp,%esi,8),%mm6
148	pxor	3(%ebp,%edi,8),%mm7
149	movb	%bl,%cl
150	movb	%bh,%dl
151	movl	28(%esp),%ebx
152	leal	(%ecx,%ecx,1),%esi
153	leal	(%edx,%edx,1),%edi
154	pxor	2(%ebp,%esi,8),%mm0
155	pxor	1(%ebp,%edi,8),%mm1
156	movb	%al,%cl
157	movb	%ah,%dl
158	leal	(%ecx,%ecx,1),%esi
159	leal	(%edx,%edx,1),%edi
160	shrl	$16,%eax
161	pxor	(%ebp,%esi,8),%mm3
162	pxor	7(%ebp,%edi,8),%mm4
163	movb	%al,%cl
164	movb	%ah,%dl
165	movl	32(%esp),%eax
166	leal	(%ecx,%ecx,1),%esi
167	leal	(%edx,%edx,1),%edi
168	pxor	6(%ebp,%esi,8),%mm5
169	pxor	5(%ebp,%edi,8),%mm6
170	movb	%bl,%cl
171	movb	%bh,%dl
172	leal	(%ecx,%ecx,1),%esi
173	leal	(%edx,%edx,1),%edi
174	shrl	$16,%ebx
175	pxor	4(%ebp,%esi,8),%mm7
176	pxor	3(%ebp,%edi,8),%mm0
177	movb	%bl,%cl
178	movb	%bh,%dl
179	movl	36(%esp),%ebx
180	leal	(%ecx,%ecx,1),%esi
181	leal	(%edx,%edx,1),%edi
182	pxor	2(%ebp,%esi,8),%mm1
183	pxor	1(%ebp,%edi,8),%mm2
184	movb	%al,%cl
185	movb	%ah,%dl
186	leal	(%ecx,%ecx,1),%esi
187	leal	(%edx,%edx,1),%edi
188	shrl	$16,%eax
189	pxor	(%ebp,%esi,8),%mm4
190	pxor	7(%ebp,%edi,8),%mm5
191	movb	%al,%cl
192	movb	%ah,%dl
193	movl	40(%esp),%eax
194	leal	(%ecx,%ecx,1),%esi
195	leal	(%edx,%edx,1),%edi
196	pxor	6(%ebp,%esi,8),%mm6
197	pxor	5(%ebp,%edi,8),%mm7
198	movb	%bl,%cl
199	movb	%bh,%dl
200	leal	(%ecx,%ecx,1),%esi
201	leal	(%edx,%edx,1),%edi
202	shrl	$16,%ebx
203	pxor	4(%ebp,%esi,8),%mm0
204	pxor	3(%ebp,%edi,8),%mm1
205	movb	%bl,%cl
206	movb	%bh,%dl
207	movl	44(%esp),%ebx
208	leal	(%ecx,%ecx,1),%esi
209	leal	(%edx,%edx,1),%edi
210	pxor	2(%ebp,%esi,8),%mm2
211	pxor	1(%ebp,%edi,8),%mm3
212	movb	%al,%cl
213	movb	%ah,%dl
214	leal	(%ecx,%ecx,1),%esi
215	leal	(%edx,%edx,1),%edi
216	shrl	$16,%eax
217	pxor	(%ebp,%esi,8),%mm5
218	pxor	7(%ebp,%edi,8),%mm6
219	movb	%al,%cl
220	movb	%ah,%dl
221	movl	48(%esp),%eax
222	leal	(%ecx,%ecx,1),%esi
223	leal	(%edx,%edx,1),%edi
224	pxor	6(%ebp,%esi,8),%mm7
225	pxor	5(%ebp,%edi,8),%mm0
226	movb	%bl,%cl
227	movb	%bh,%dl
228	leal	(%ecx,%ecx,1),%esi
229	leal	(%edx,%edx,1),%edi
230	shrl	$16,%ebx
231	pxor	4(%ebp,%esi,8),%mm1
232	pxor	3(%ebp,%edi,8),%mm2
233	movb	%bl,%cl
234	movb	%bh,%dl
235	movl	52(%esp),%ebx
236	leal	(%ecx,%ecx,1),%esi
237	leal	(%edx,%edx,1),%edi
238	pxor	2(%ebp,%esi,8),%mm3
239	pxor	1(%ebp,%edi,8),%mm4
240	movb	%al,%cl
241	movb	%ah,%dl
242	leal	(%ecx,%ecx,1),%esi
243	leal	(%edx,%edx,1),%edi
244	shrl	$16,%eax
245	pxor	(%ebp,%esi,8),%mm6
246	pxor	7(%ebp,%edi,8),%mm7
247	movb	%al,%cl
248	movb	%ah,%dl
249	movl	56(%esp),%eax
250	leal	(%ecx,%ecx,1),%esi
251	leal	(%edx,%edx,1),%edi
252	pxor	6(%ebp,%esi,8),%mm0
253	pxor	5(%ebp,%edi,8),%mm1
254	movb	%bl,%cl
255	movb	%bh,%dl
256	leal	(%ecx,%ecx,1),%esi
257	leal	(%edx,%edx,1),%edi
258	shrl	$16,%ebx
259	pxor	4(%ebp,%esi,8),%mm2
260	pxor	3(%ebp,%edi,8),%mm3
261	movb	%bl,%cl
262	movb	%bh,%dl
263	movl	60(%esp),%ebx
264	leal	(%ecx,%ecx,1),%esi
265	leal	(%edx,%edx,1),%edi
266	pxor	2(%ebp,%esi,8),%mm4
267	pxor	1(%ebp,%edi,8),%mm5
268	movb	%al,%cl
269	movb	%ah,%dl
270	leal	(%ecx,%ecx,1),%esi
271	leal	(%edx,%edx,1),%edi
272	shrl	$16,%eax
273	pxor	(%ebp,%esi,8),%mm7
274	pxor	7(%ebp,%edi,8),%mm0
275	movb	%al,%cl
276	movb	%ah,%dl
277	movl	64(%esp),%eax
278	leal	(%ecx,%ecx,1),%esi
279	leal	(%edx,%edx,1),%edi
280	pxor	6(%ebp,%esi,8),%mm1
281	pxor	5(%ebp,%edi,8),%mm2
282	movb	%bl,%cl
283	movb	%bh,%dl
284	leal	(%ecx,%ecx,1),%esi
285	leal	(%edx,%edx,1),%edi
286	shrl	$16,%ebx
287	pxor	4(%ebp,%esi,8),%mm3
288	pxor	3(%ebp,%edi,8),%mm4
289	movb	%bl,%cl
290	movb	%bh,%dl
291	movl	68(%esp),%ebx
292	leal	(%ecx,%ecx,1),%esi
293	leal	(%edx,%edx,1),%edi
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	movb	%al,%cl
305	movb	%ah,%dl
306	leal	(%ecx,%ecx,1),%esi
307	leal	(%edx,%edx,1),%edi
308	shrl	$16,%eax
309	pxor	(%ebp,%esi,8),%mm0
310	pxor	7(%ebp,%edi,8),%mm1
311	movb	%al,%cl
312	movb	%ah,%dl
313	movl	72(%esp),%eax
314	leal	(%ecx,%ecx,1),%esi
315	leal	(%edx,%edx,1),%edi
316	pxor	6(%ebp,%esi,8),%mm2
317	pxor	5(%ebp,%edi,8),%mm3
318	movb	%bl,%cl
319	movb	%bh,%dl
320	leal	(%ecx,%ecx,1),%esi
321	leal	(%edx,%edx,1),%edi
322	shrl	$16,%ebx
323	pxor	4(%ebp,%esi,8),%mm4
324	pxor	3(%ebp,%edi,8),%mm5
325	movb	%bl,%cl
326	movb	%bh,%dl
327	movl	76(%esp),%ebx
328	leal	(%ecx,%ecx,1),%esi
329	leal	(%edx,%edx,1),%edi
330	pxor	2(%ebp,%esi,8),%mm6
331	pxor	1(%ebp,%edi,8),%mm7
332	movb	%al,%cl
333	movb	%ah,%dl
334	leal	(%ecx,%ecx,1),%esi
335	leal	(%edx,%edx,1),%edi
336	shrl	$16,%eax
337	pxor	(%ebp,%esi,8),%mm1
338	pxor	7(%ebp,%edi,8),%mm2
339	movb	%al,%cl
340	movb	%ah,%dl
341	movl	80(%esp),%eax
342	leal	(%ecx,%ecx,1),%esi
343	leal	(%edx,%edx,1),%edi
344	pxor	6(%ebp,%esi,8),%mm3
345	pxor	5(%ebp,%edi,8),%mm4
346	movb	%bl,%cl
347	movb	%bh,%dl
348	leal	(%ecx,%ecx,1),%esi
349	leal	(%edx,%edx,1),%edi
350	shrl	$16,%ebx
351	pxor	4(%ebp,%esi,8),%mm5
352	pxor	3(%ebp,%edi,8),%mm6
353	movb	%bl,%cl
354	movb	%bh,%dl
355	movl	84(%esp),%ebx
356	leal	(%ecx,%ecx,1),%esi
357	leal	(%edx,%edx,1),%edi
358	pxor	2(%ebp,%esi,8),%mm7
359	pxor	1(%ebp,%edi,8),%mm0
360	movb	%al,%cl
361	movb	%ah,%dl
362	leal	(%ecx,%ecx,1),%esi
363	leal	(%edx,%edx,1),%edi
364	shrl	$16,%eax
365	pxor	(%ebp,%esi,8),%mm2
366	pxor	7(%ebp,%edi,8),%mm3
367	movb	%al,%cl
368	movb	%ah,%dl
369	movl	88(%esp),%eax
370	leal	(%ecx,%ecx,1),%esi
371	leal	(%edx,%edx,1),%edi
372	pxor	6(%ebp,%esi,8),%mm4
373	pxor	5(%ebp,%edi,8),%mm5
374	movb	%bl,%cl
375	movb	%bh,%dl
376	leal	(%ecx,%ecx,1),%esi
377	leal	(%edx,%edx,1),%edi
378	shrl	$16,%ebx
379	pxor	4(%ebp,%esi,8),%mm6
380	pxor	3(%ebp,%edi,8),%mm7
381	movb	%bl,%cl
382	movb	%bh,%dl
383	movl	92(%esp),%ebx
384	leal	(%ecx,%ecx,1),%esi
385	leal	(%edx,%edx,1),%edi
386	pxor	2(%ebp,%esi,8),%mm0
387	pxor	1(%ebp,%edi,8),%mm1
388	movb	%al,%cl
389	movb	%ah,%dl
390	leal	(%ecx,%ecx,1),%esi
391	leal	(%edx,%edx,1),%edi
392	shrl	$16,%eax
393	pxor	(%ebp,%esi,8),%mm3
394	pxor	7(%ebp,%edi,8),%mm4
395	movb	%al,%cl
396	movb	%ah,%dl
397	movl	96(%esp),%eax
398	leal	(%ecx,%ecx,1),%esi
399	leal	(%edx,%edx,1),%edi
400	pxor	6(%ebp,%esi,8),%mm5
401	pxor	5(%ebp,%edi,8),%mm6
402	movb	%bl,%cl
403	movb	%bh,%dl
404	leal	(%ecx,%ecx,1),%esi
405	leal	(%edx,%edx,1),%edi
406	shrl	$16,%ebx
407	pxor	4(%ebp,%esi,8),%mm7
408	pxor	3(%ebp,%edi,8),%mm0
409	movb	%bl,%cl
410	movb	%bh,%dl
411	movl	100(%esp),%ebx
412	leal	(%ecx,%ecx,1),%esi
413	leal	(%edx,%edx,1),%edi
414	pxor	2(%ebp,%esi,8),%mm1
415	pxor	1(%ebp,%edi,8),%mm2
416	movb	%al,%cl
417	movb	%ah,%dl
418	leal	(%ecx,%ecx,1),%esi
419	leal	(%edx,%edx,1),%edi
420	shrl	$16,%eax
421	pxor	(%ebp,%esi,8),%mm4
422	pxor	7(%ebp,%edi,8),%mm5
423	movb	%al,%cl
424	movb	%ah,%dl
425	movl	104(%esp),%eax
426	leal	(%ecx,%ecx,1),%esi
427	leal	(%edx,%edx,1),%edi
428	pxor	6(%ebp,%esi,8),%mm6
429	pxor	5(%ebp,%edi,8),%mm7
430	movb	%bl,%cl
431	movb	%bh,%dl
432	leal	(%ecx,%ecx,1),%esi
433	leal	(%edx,%edx,1),%edi
434	shrl	$16,%ebx
435	pxor	4(%ebp,%esi,8),%mm0
436	pxor	3(%ebp,%edi,8),%mm1
437	movb	%bl,%cl
438	movb	%bh,%dl
439	movl	108(%esp),%ebx
440	leal	(%ecx,%ecx,1),%esi
441	leal	(%edx,%edx,1),%edi
442	pxor	2(%ebp,%esi,8),%mm2
443	pxor	1(%ebp,%edi,8),%mm3
444	movb	%al,%cl
445	movb	%ah,%dl
446	leal	(%ecx,%ecx,1),%esi
447	leal	(%edx,%edx,1),%edi
448	shrl	$16,%eax
449	pxor	(%ebp,%esi,8),%mm5
450	pxor	7(%ebp,%edi,8),%mm6
451	movb	%al,%cl
452	movb	%ah,%dl
453	movl	112(%esp),%eax
454	leal	(%ecx,%ecx,1),%esi
455	leal	(%edx,%edx,1),%edi
456	pxor	6(%ebp,%esi,8),%mm7
457	pxor	5(%ebp,%edi,8),%mm0
458	movb	%bl,%cl
459	movb	%bh,%dl
460	leal	(%ecx,%ecx,1),%esi
461	leal	(%edx,%edx,1),%edi
462	shrl	$16,%ebx
463	pxor	4(%ebp,%esi,8),%mm1
464	pxor	3(%ebp,%edi,8),%mm2
465	movb	%bl,%cl
466	movb	%bh,%dl
467	movl	116(%esp),%ebx
468	leal	(%ecx,%ecx,1),%esi
469	leal	(%edx,%edx,1),%edi
470	pxor	2(%ebp,%esi,8),%mm3
471	pxor	1(%ebp,%edi,8),%mm4
472	movb	%al,%cl
473	movb	%ah,%dl
474	leal	(%ecx,%ecx,1),%esi
475	leal	(%edx,%edx,1),%edi
476	shrl	$16,%eax
477	pxor	(%ebp,%esi,8),%mm6
478	pxor	7(%ebp,%edi,8),%mm7
479	movb	%al,%cl
480	movb	%ah,%dl
481	movl	120(%esp),%eax
482	leal	(%ecx,%ecx,1),%esi
483	leal	(%edx,%edx,1),%edi
484	pxor	6(%ebp,%esi,8),%mm0
485	pxor	5(%ebp,%edi,8),%mm1
486	movb	%bl,%cl
487	movb	%bh,%dl
488	leal	(%ecx,%ecx,1),%esi
489	leal	(%edx,%edx,1),%edi
490	shrl	$16,%ebx
491	pxor	4(%ebp,%esi,8),%mm2
492	pxor	3(%ebp,%edi,8),%mm3
493	movb	%bl,%cl
494	movb	%bh,%dl
495	movl	124(%esp),%ebx
496	leal	(%ecx,%ecx,1),%esi
497	leal	(%edx,%edx,1),%edi
498	pxor	2(%ebp,%esi,8),%mm4
499	pxor	1(%ebp,%edi,8),%mm5
500	movb	%al,%cl
501	movb	%ah,%dl
502	leal	(%ecx,%ecx,1),%esi
503	leal	(%edx,%edx,1),%edi
504	shrl	$16,%eax
505	pxor	(%ebp,%esi,8),%mm7
506	pxor	7(%ebp,%edi,8),%mm0
507	movb	%al,%cl
508	movb	%ah,%dl
509	leal	(%ecx,%ecx,1),%esi
510	leal	(%edx,%edx,1),%edi
511	pxor	6(%ebp,%esi,8),%mm1
512	pxor	5(%ebp,%edi,8),%mm2
513	movb	%bl,%cl
514	movb	%bh,%dl
515	leal	(%ecx,%ecx,1),%esi
516	leal	(%edx,%edx,1),%edi
517	shrl	$16,%ebx
518	pxor	4(%ebp,%esi,8),%mm3
519	pxor	3(%ebp,%edi,8),%mm4
520	movb	%bl,%cl
521	movb	%bh,%dl
522	leal	(%ecx,%ecx,1),%esi
523	leal	(%edx,%edx,1),%edi
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.file	"wp-mmx.S"
1111.text
1112.globl	whirlpool_block_mmx
1113.type	whirlpool_block_mmx,@function
1114.align	16
1115whirlpool_block_mmx:
1116.L_whirlpool_block_mmx_begin:
1117	pushl	%ebp
1118	pushl	%ebx
1119	pushl	%esi
1120	pushl	%edi
1121	movl	20(%esp),%esi
1122	movl	24(%esp),%edi
1123	movl	28(%esp),%ebp
1124	movl	%esp,%eax
1125	subl	$148,%esp
1126	andl	$-64,%esp
1127	leal	128(%esp),%ebx
1128	movl	%esi,(%ebx)
1129	movl	%edi,4(%ebx)
1130	movl	%ebp,8(%ebx)
1131	movl	%eax,16(%ebx)
1132	call	.L000pic_point
1133.L000pic_point:
1134	popl	%ebp
1135	leal	.L001table-.L000pic_point(%ebp),%ebp
1136	xorl	%ecx,%ecx
1137	xorl	%edx,%edx
1138	movq	(%esi),%mm0
1139	movq	8(%esi),%mm1
1140	movq	16(%esi),%mm2
1141	movq	24(%esi),%mm3
1142	movq	32(%esi),%mm4
1143	movq	40(%esi),%mm5
1144	movq	48(%esi),%mm6
1145	movq	56(%esi),%mm7
1146.L002outerloop:
1147	movq	%mm0,(%esp)
1148	movq	%mm1,8(%esp)
1149	movq	%mm2,16(%esp)
1150	movq	%mm3,24(%esp)
1151	movq	%mm4,32(%esp)
1152	movq	%mm5,40(%esp)
1153	movq	%mm6,48(%esp)
1154	movq	%mm7,56(%esp)
1155	pxor	(%edi),%mm0
1156	pxor	8(%edi),%mm1
1157	pxor	16(%edi),%mm2
1158	pxor	24(%edi),%mm3
1159	pxor	32(%edi),%mm4
1160	pxor	40(%edi),%mm5
1161	pxor	48(%edi),%mm6
1162	pxor	56(%edi),%mm7
1163	movq	%mm0,64(%esp)
1164	movq	%mm1,72(%esp)
1165	movq	%mm2,80(%esp)
1166	movq	%mm3,88(%esp)
1167	movq	%mm4,96(%esp)
1168	movq	%mm5,104(%esp)
1169	movq	%mm6,112(%esp)
1170	movq	%mm7,120(%esp)
1171	xorl	%esi,%esi
1172	movl	%esi,12(%ebx)
1173.align	16
1174.L003round:
1175	movq	4096(%ebp,%esi,8),%mm0
1176	movl	(%esp),%eax
1177	movl	4(%esp),%ebx
1178	movb	%al,%cl
1179	movb	%ah,%dl
1180	leal	(%ecx,%ecx,1),%esi
1181	leal	(%edx,%edx,1),%edi
1182	shrl	$16,%eax
1183	pxor	(%ebp,%esi,8),%mm0
1184	movq	7(%ebp,%edi,8),%mm1
1185	movb	%al,%cl
1186	movb	%ah,%dl
1187	movl	8(%esp),%eax
1188	leal	(%ecx,%ecx,1),%esi
1189	leal	(%edx,%edx,1),%edi
1190	movq	6(%ebp,%esi,8),%mm2
1191	movq	5(%ebp,%edi,8),%mm3
1192	movb	%bl,%cl
1193	movb	%bh,%dl
1194	leal	(%ecx,%ecx,1),%esi
1195	leal	(%edx,%edx,1),%edi
1196	shrl	$16,%ebx
1197	movq	4(%ebp,%esi,8),%mm4
1198	movq	3(%ebp,%edi,8),%mm5
1199	movb	%bl,%cl
1200	movb	%bh,%dl
1201	movl	12(%esp),%ebx
1202	leal	(%ecx,%ecx,1),%esi
1203	leal	(%edx,%edx,1),%edi
1204	movq	2(%ebp,%esi,8),%mm6
1205	movq	1(%ebp,%edi,8),%mm7
1206	movb	%al,%cl
1207	movb	%ah,%dl
1208	leal	(%ecx,%ecx,1),%esi
1209	leal	(%edx,%edx,1),%edi
1210	shrl	$16,%eax
1211	pxor	(%ebp,%esi,8),%mm1
1212	pxor	7(%ebp,%edi,8),%mm2
1213	movb	%al,%cl
1214	movb	%ah,%dl
1215	movl	16(%esp),%eax
1216	leal	(%ecx,%ecx,1),%esi
1217	leal	(%edx,%edx,1),%edi
1218	pxor	6(%ebp,%esi,8),%mm3
1219	pxor	5(%ebp,%edi,8),%mm4
1220	movb	%bl,%cl
1221	movb	%bh,%dl
1222	leal	(%ecx,%ecx,1),%esi
1223	leal	(%edx,%edx,1),%edi
1224	shrl	$16,%ebx
1225	pxor	4(%ebp,%esi,8),%mm5
1226	pxor	3(%ebp,%edi,8),%mm6
1227	movb	%bl,%cl
1228	movb	%bh,%dl
1229	movl	20(%esp),%ebx
1230	leal	(%ecx,%ecx,1),%esi
1231	leal	(%edx,%edx,1),%edi
1232	pxor	2(%ebp,%esi,8),%mm7
1233	pxor	1(%ebp,%edi,8),%mm0
1234	movb	%al,%cl
1235	movb	%ah,%dl
1236	leal	(%ecx,%ecx,1),%esi
1237	leal	(%edx,%edx,1),%edi
1238	shrl	$16,%eax
1239	pxor	(%ebp,%esi,8),%mm2
1240	pxor	7(%ebp,%edi,8),%mm3
1241	movb	%al,%cl
1242	movb	%ah,%dl
1243	movl	24(%esp),%eax
1244	leal	(%ecx,%ecx,1),%esi
1245	leal	(%edx,%edx,1),%edi
1246	pxor	6(%ebp,%esi,8),%mm4
1247	pxor	5(%ebp,%edi,8),%mm5
1248	movb	%bl,%cl
1249	movb	%bh,%dl
1250	leal	(%ecx,%ecx,1),%esi
1251	leal	(%edx,%edx,1),%edi
1252	shrl	$16,%ebx
1253	pxor	4(%ebp,%esi,8),%mm6
1254	pxor	3(%ebp,%edi,8),%mm7
1255	movb	%bl,%cl
1256	movb	%bh,%dl
1257	movl	28(%esp),%ebx
1258	leal	(%ecx,%ecx,1),%esi
1259	leal	(%edx,%edx,1),%edi
1260	pxor	2(%ebp,%esi,8),%mm0
1261	pxor	1(%ebp,%edi,8),%mm1
1262	movb	%al,%cl
1263	movb	%ah,%dl
1264	leal	(%ecx,%ecx,1),%esi
1265	leal	(%edx,%edx,1),%edi
1266	shrl	$16,%eax
1267	pxor	(%ebp,%esi,8),%mm3
1268	pxor	7(%ebp,%edi,8),%mm4
1269	movb	%al,%cl
1270	movb	%ah,%dl
1271	movl	32(%esp),%eax
1272	leal	(%ecx,%ecx,1),%esi
1273	leal	(%edx,%edx,1),%edi
1274	pxor	6(%ebp,%esi,8),%mm5
1275	pxor	5(%ebp,%edi,8),%mm6
1276	movb	%bl,%cl
1277	movb	%bh,%dl
1278	leal	(%ecx,%ecx,1),%esi
1279	leal	(%edx,%edx,1),%edi
1280	shrl	$16,%ebx
1281	pxor	4(%ebp,%esi,8),%mm7
1282	pxor	3(%ebp,%edi,8),%mm0
1283	movb	%bl,%cl
1284	movb	%bh,%dl
1285	movl	36(%esp),%ebx
1286	leal	(%ecx,%ecx,1),%esi
1287	leal	(%edx,%edx,1),%edi
1288	pxor	2(%ebp,%esi,8),%mm1
1289	pxor	1(%ebp,%edi,8),%mm2
1290	movb	%al,%cl
1291	movb	%ah,%dl
1292	leal	(%ecx,%ecx,1),%esi
1293	leal	(%edx,%edx,1),%edi
1294	shrl	$16,%eax
1295	pxor	(%ebp,%esi,8),%mm4
1296	pxor	7(%ebp,%edi,8),%mm5
1297	movb	%al,%cl
1298	movb	%ah,%dl
1299	movl	40(%esp),%eax
1300	leal	(%ecx,%ecx,1),%esi
1301	leal	(%edx,%edx,1),%edi
1302	pxor	6(%ebp,%esi,8),%mm6
1303	pxor	5(%ebp,%edi,8),%mm7
1304	movb	%bl,%cl
1305	movb	%bh,%dl
1306	leal	(%ecx,%ecx,1),%esi
1307	leal	(%edx,%edx,1),%edi
1308	shrl	$16,%ebx
1309	pxor	4(%ebp,%esi,8),%mm0
1310	pxor	3(%ebp,%edi,8),%mm1
1311	movb	%bl,%cl
1312	movb	%bh,%dl
1313	movl	44(%esp),%ebx
1314	leal	(%ecx,%ecx,1),%esi
1315	leal	(%edx,%edx,1),%edi
1316	pxor	2(%ebp,%esi,8),%mm2
1317	pxor	1(%ebp,%edi,8),%mm3
1318	movb	%al,%cl
1319	movb	%ah,%dl
1320	leal	(%ecx,%ecx,1),%esi
1321	leal	(%edx,%edx,1),%edi
1322	shrl	$16,%eax
1323	pxor	(%ebp,%esi,8),%mm5
1324	pxor	7(%ebp,%edi,8),%mm6
1325	movb	%al,%cl
1326	movb	%ah,%dl
1327	movl	48(%esp),%eax
1328	leal	(%ecx,%ecx,1),%esi
1329	leal	(%edx,%edx,1),%edi
1330	pxor	6(%ebp,%esi,8),%mm7
1331	pxor	5(%ebp,%edi,8),%mm0
1332	movb	%bl,%cl
1333	movb	%bh,%dl
1334	leal	(%ecx,%ecx,1),%esi
1335	leal	(%edx,%edx,1),%edi
1336	shrl	$16,%ebx
1337	pxor	4(%ebp,%esi,8),%mm1
1338	pxor	3(%ebp,%edi,8),%mm2
1339	movb	%bl,%cl
1340	movb	%bh,%dl
1341	movl	52(%esp),%ebx
1342	leal	(%ecx,%ecx,1),%esi
1343	leal	(%edx,%edx,1),%edi
1344	pxor	2(%ebp,%esi,8),%mm3
1345	pxor	1(%ebp,%edi,8),%mm4
1346	movb	%al,%cl
1347	movb	%ah,%dl
1348	leal	(%ecx,%ecx,1),%esi
1349	leal	(%edx,%edx,1),%edi
1350	shrl	$16,%eax
1351	pxor	(%ebp,%esi,8),%mm6
1352	pxor	7(%ebp,%edi,8),%mm7
1353	movb	%al,%cl
1354	movb	%ah,%dl
1355	movl	56(%esp),%eax
1356	leal	(%ecx,%ecx,1),%esi
1357	leal	(%edx,%edx,1),%edi
1358	pxor	6(%ebp,%esi,8),%mm0
1359	pxor	5(%ebp,%edi,8),%mm1
1360	movb	%bl,%cl
1361	movb	%bh,%dl
1362	leal	(%ecx,%ecx,1),%esi
1363	leal	(%edx,%edx,1),%edi
1364	shrl	$16,%ebx
1365	pxor	4(%ebp,%esi,8),%mm2
1366	pxor	3(%ebp,%edi,8),%mm3
1367	movb	%bl,%cl
1368	movb	%bh,%dl
1369	movl	60(%esp),%ebx
1370	leal	(%ecx,%ecx,1),%esi
1371	leal	(%edx,%edx,1),%edi
1372	pxor	2(%ebp,%esi,8),%mm4
1373	pxor	1(%ebp,%edi,8),%mm5
1374	movb	%al,%cl
1375	movb	%ah,%dl
1376	leal	(%ecx,%ecx,1),%esi
1377	leal	(%edx,%edx,1),%edi
1378	shrl	$16,%eax
1379	pxor	(%ebp,%esi,8),%mm7
1380	pxor	7(%ebp,%edi,8),%mm0
1381	movb	%al,%cl
1382	movb	%ah,%dl
1383	movl	64(%esp),%eax
1384	leal	(%ecx,%ecx,1),%esi
1385	leal	(%edx,%edx,1),%edi
1386	pxor	6(%ebp,%esi,8),%mm1
1387	pxor	5(%ebp,%edi,8),%mm2
1388	movb	%bl,%cl
1389	movb	%bh,%dl
1390	leal	(%ecx,%ecx,1),%esi
1391	leal	(%edx,%edx,1),%edi
1392	shrl	$16,%ebx
1393	pxor	4(%ebp,%esi,8),%mm3
1394	pxor	3(%ebp,%edi,8),%mm4
1395	movb	%bl,%cl
1396	movb	%bh,%dl
1397	movl	68(%esp),%ebx
1398	leal	(%ecx,%ecx,1),%esi
1399	leal	(%edx,%edx,1),%edi
1400	pxor	2(%ebp,%esi,8),%mm5
1401	pxor	1(%ebp,%edi,8),%mm6
1402	movq	%mm0,(%esp)
1403	movq	%mm1,8(%esp)
1404	movq	%mm2,16(%esp)
1405	movq	%mm3,24(%esp)
1406	movq	%mm4,32(%esp)
1407	movq	%mm5,40(%esp)
1408	movq	%mm6,48(%esp)
1409	movq	%mm7,56(%esp)
1410	movb	%al,%cl
1411	movb	%ah,%dl
1412	leal	(%ecx,%ecx,1),%esi
1413	leal	(%edx,%edx,1),%edi
1414	shrl	$16,%eax
1415	pxor	(%ebp,%esi,8),%mm0
1416	pxor	7(%ebp,%edi,8),%mm1
1417	movb	%al,%cl
1418	movb	%ah,%dl
1419	movl	72(%esp),%eax
1420	leal	(%ecx,%ecx,1),%esi
1421	leal	(%edx,%edx,1),%edi
1422	pxor	6(%ebp,%esi,8),%mm2
1423	pxor	5(%ebp,%edi,8),%mm3
1424	movb	%bl,%cl
1425	movb	%bh,%dl
1426	leal	(%ecx,%ecx,1),%esi
1427	leal	(%edx,%edx,1),%edi
1428	shrl	$16,%ebx
1429	pxor	4(%ebp,%esi,8),%mm4
1430	pxor	3(%ebp,%edi,8),%mm5
1431	movb	%bl,%cl
1432	movb	%bh,%dl
1433	movl	76(%esp),%ebx
1434	leal	(%ecx,%ecx,1),%esi
1435	leal	(%edx,%edx,1),%edi
1436	pxor	2(%ebp,%esi,8),%mm6
1437	pxor	1(%ebp,%edi,8),%mm7
1438	movb	%al,%cl
1439	movb	%ah,%dl
1440	leal	(%ecx,%ecx,1),%esi
1441	leal	(%edx,%edx,1),%edi
1442	shrl	$16,%eax
1443	pxor	(%ebp,%esi,8),%mm1
1444	pxor	7(%ebp,%edi,8),%mm2
1445	movb	%al,%cl
1446	movb	%ah,%dl
1447	movl	80(%esp),%eax
1448	leal	(%ecx,%ecx,1),%esi
1449	leal	(%edx,%edx,1),%edi
1450	pxor	6(%ebp,%esi,8),%mm3
1451	pxor	5(%ebp,%edi,8),%mm4
1452	movb	%bl,%cl
1453	movb	%bh,%dl
1454	leal	(%ecx,%ecx,1),%esi
1455	leal	(%edx,%edx,1),%edi
1456	shrl	$16,%ebx
1457	pxor	4(%ebp,%esi,8),%mm5
1458	pxor	3(%ebp,%edi,8),%mm6
1459	movb	%bl,%cl
1460	movb	%bh,%dl
1461	movl	84(%esp),%ebx
1462	leal	(%ecx,%ecx,1),%esi
1463	leal	(%edx,%edx,1),%edi
1464	pxor	2(%ebp,%esi,8),%mm7
1465	pxor	1(%ebp,%edi,8),%mm0
1466	movb	%al,%cl
1467	movb	%ah,%dl
1468	leal	(%ecx,%ecx,1),%esi
1469	leal	(%edx,%edx,1),%edi
1470	shrl	$16,%eax
1471	pxor	(%ebp,%esi,8),%mm2
1472	pxor	7(%ebp,%edi,8),%mm3
1473	movb	%al,%cl
1474	movb	%ah,%dl
1475	movl	88(%esp),%eax
1476	leal	(%ecx,%ecx,1),%esi
1477	leal	(%edx,%edx,1),%edi
1478	pxor	6(%ebp,%esi,8),%mm4
1479	pxor	5(%ebp,%edi,8),%mm5
1480	movb	%bl,%cl
1481	movb	%bh,%dl
1482	leal	(%ecx,%ecx,1),%esi
1483	leal	(%edx,%edx,1),%edi
1484	shrl	$16,%ebx
1485	pxor	4(%ebp,%esi,8),%mm6
1486	pxor	3(%ebp,%edi,8),%mm7
1487	movb	%bl,%cl
1488	movb	%bh,%dl
1489	movl	92(%esp),%ebx
1490	leal	(%ecx,%ecx,1),%esi
1491	leal	(%edx,%edx,1),%edi
1492	pxor	2(%ebp,%esi,8),%mm0
1493	pxor	1(%ebp,%edi,8),%mm1
1494	movb	%al,%cl
1495	movb	%ah,%dl
1496	leal	(%ecx,%ecx,1),%esi
1497	leal	(%edx,%edx,1),%edi
1498	shrl	$16,%eax
1499	pxor	(%ebp,%esi,8),%mm3
1500	pxor	7(%ebp,%edi,8),%mm4
1501	movb	%al,%cl
1502	movb	%ah,%dl
1503	movl	96(%esp),%eax
1504	leal	(%ecx,%ecx,1),%esi
1505	leal	(%edx,%edx,1),%edi
1506	pxor	6(%ebp,%esi,8),%mm5
1507	pxor	5(%ebp,%edi,8),%mm6
1508	movb	%bl,%cl
1509	movb	%bh,%dl
1510	leal	(%ecx,%ecx,1),%esi
1511	leal	(%edx,%edx,1),%edi
1512	shrl	$16,%ebx
1513	pxor	4(%ebp,%esi,8),%mm7
1514	pxor	3(%ebp,%edi,8),%mm0
1515	movb	%bl,%cl
1516	movb	%bh,%dl
1517	movl	100(%esp),%ebx
1518	leal	(%ecx,%ecx,1),%esi
1519	leal	(%edx,%edx,1),%edi
1520	pxor	2(%ebp,%esi,8),%mm1
1521	pxor	1(%ebp,%edi,8),%mm2
1522	movb	%al,%cl
1523	movb	%ah,%dl
1524	leal	(%ecx,%ecx,1),%esi
1525	leal	(%edx,%edx,1),%edi
1526	shrl	$16,%eax
1527	pxor	(%ebp,%esi,8),%mm4
1528	pxor	7(%ebp,%edi,8),%mm5
1529	movb	%al,%cl
1530	movb	%ah,%dl
1531	movl	104(%esp),%eax
1532	leal	(%ecx,%ecx,1),%esi
1533	leal	(%edx,%edx,1),%edi
1534	pxor	6(%ebp,%esi,8),%mm6
1535	pxor	5(%ebp,%edi,8),%mm7
1536	movb	%bl,%cl
1537	movb	%bh,%dl
1538	leal	(%ecx,%ecx,1),%esi
1539	leal	(%edx,%edx,1),%edi
1540	shrl	$16,%ebx
1541	pxor	4(%ebp,%esi,8),%mm0
1542	pxor	3(%ebp,%edi,8),%mm1
1543	movb	%bl,%cl
1544	movb	%bh,%dl
1545	movl	108(%esp),%ebx
1546	leal	(%ecx,%ecx,1),%esi
1547	leal	(%edx,%edx,1),%edi
1548	pxor	2(%ebp,%esi,8),%mm2
1549	pxor	1(%ebp,%edi,8),%mm3
1550	movb	%al,%cl
1551	movb	%ah,%dl
1552	leal	(%ecx,%ecx,1),%esi
1553	leal	(%edx,%edx,1),%edi
1554	shrl	$16,%eax
1555	pxor	(%ebp,%esi,8),%mm5
1556	pxor	7(%ebp,%edi,8),%mm6
1557	movb	%al,%cl
1558	movb	%ah,%dl
1559	movl	112(%esp),%eax
1560	leal	(%ecx,%ecx,1),%esi
1561	leal	(%edx,%edx,1),%edi
1562	pxor	6(%ebp,%esi,8),%mm7
1563	pxor	5(%ebp,%edi,8),%mm0
1564	movb	%bl,%cl
1565	movb	%bh,%dl
1566	leal	(%ecx,%ecx,1),%esi
1567	leal	(%edx,%edx,1),%edi
1568	shrl	$16,%ebx
1569	pxor	4(%ebp,%esi,8),%mm1
1570	pxor	3(%ebp,%edi,8),%mm2
1571	movb	%bl,%cl
1572	movb	%bh,%dl
1573	movl	116(%esp),%ebx
1574	leal	(%ecx,%ecx,1),%esi
1575	leal	(%edx,%edx,1),%edi
1576	pxor	2(%ebp,%esi,8),%mm3
1577	pxor	1(%ebp,%edi,8),%mm4
1578	movb	%al,%cl
1579	movb	%ah,%dl
1580	leal	(%ecx,%ecx,1),%esi
1581	leal	(%edx,%edx,1),%edi
1582	shrl	$16,%eax
1583	pxor	(%ebp,%esi,8),%mm6
1584	pxor	7(%ebp,%edi,8),%mm7
1585	movb	%al,%cl
1586	movb	%ah,%dl
1587	movl	120(%esp),%eax
1588	leal	(%ecx,%ecx,1),%esi
1589	leal	(%edx,%edx,1),%edi
1590	pxor	6(%ebp,%esi,8),%mm0
1591	pxor	5(%ebp,%edi,8),%mm1
1592	movb	%bl,%cl
1593	movb	%bh,%dl
1594	leal	(%ecx,%ecx,1),%esi
1595	leal	(%edx,%edx,1),%edi
1596	shrl	$16,%ebx
1597	pxor	4(%ebp,%esi,8),%mm2
1598	pxor	3(%ebp,%edi,8),%mm3
1599	movb	%bl,%cl
1600	movb	%bh,%dl
1601	movl	124(%esp),%ebx
1602	leal	(%ecx,%ecx,1),%esi
1603	leal	(%edx,%edx,1),%edi
1604	pxor	2(%ebp,%esi,8),%mm4
1605	pxor	1(%ebp,%edi,8),%mm5
1606	movb	%al,%cl
1607	movb	%ah,%dl
1608	leal	(%ecx,%ecx,1),%esi
1609	leal	(%edx,%edx,1),%edi
1610	shrl	$16,%eax
1611	pxor	(%ebp,%esi,8),%mm7
1612	pxor	7(%ebp,%edi,8),%mm0
1613	movb	%al,%cl
1614	movb	%ah,%dl
1615	leal	(%ecx,%ecx,1),%esi
1616	leal	(%edx,%edx,1),%edi
1617	pxor	6(%ebp,%esi,8),%mm1
1618	pxor	5(%ebp,%edi,8),%mm2
1619	movb	%bl,%cl
1620	movb	%bh,%dl
1621	leal	(%ecx,%ecx,1),%esi
1622	leal	(%edx,%edx,1),%edi
1623	shrl	$16,%ebx
1624	pxor	4(%ebp,%esi,8),%mm3
1625	pxor	3(%ebp,%edi,8),%mm4
1626	movb	%bl,%cl
1627	movb	%bh,%dl
1628	leal	(%ecx,%ecx,1),%esi
1629	leal	(%edx,%edx,1),%edi
1630	pxor	2(%ebp,%esi,8),%mm5
1631	pxor	1(%ebp,%edi,8),%mm6
1632	leal	128(%esp),%ebx
1633	movl	12(%ebx),%esi
1634	addl	$1,%esi
1635	cmpl	$10,%esi
1636	je	.L004roundsdone
1637	movl	%esi,12(%ebx)
1638	movq	%mm0,64(%esp)
1639	movq	%mm1,72(%esp)
1640	movq	%mm2,80(%esp)
1641	movq	%mm3,88(%esp)
1642	movq	%mm4,96(%esp)
1643	movq	%mm5,104(%esp)
1644	movq	%mm6,112(%esp)
1645	movq	%mm7,120(%esp)
1646	jmp	.L003round
1647.align	16
1648.L004roundsdone:
1649	movl	(%ebx),%esi
1650	movl	4(%ebx),%edi
1651	movl	8(%ebx),%eax
1652	pxor	(%edi),%mm0
1653	pxor	8(%edi),%mm1
1654	pxor	16(%edi),%mm2
1655	pxor	24(%edi),%mm3
1656	pxor	32(%edi),%mm4
1657	pxor	40(%edi),%mm5
1658	pxor	48(%edi),%mm6
1659	pxor	56(%edi),%mm7
1660	pxor	(%esi),%mm0
1661	pxor	8(%esi),%mm1
1662	pxor	16(%esi),%mm2
1663	pxor	24(%esi),%mm3
1664	pxor	32(%esi),%mm4
1665	pxor	40(%esi),%mm5
1666	pxor	48(%esi),%mm6
1667	pxor	56(%esi),%mm7
1668	movq	%mm0,(%esi)
1669	movq	%mm1,8(%esi)
1670	movq	%mm2,16(%esi)
1671	movq	%mm3,24(%esi)
1672	movq	%mm4,32(%esi)
1673	movq	%mm5,40(%esi)
1674	movq	%mm6,48(%esi)
1675	movq	%mm7,56(%esi)
1676	leal	64(%edi),%edi
1677	subl	$1,%eax
1678	jz	.L005alldone
1679	movl	%edi,4(%ebx)
1680	movl	%eax,8(%ebx)
1681	jmp	.L002outerloop
1682.L005alldone:
1683	emms
1684	movl	16(%ebx),%esp
1685	popl	%edi
1686	popl	%esi
1687	popl	%ebx
1688	popl	%ebp
1689	ret
1690.align	64
1691.L001table:
1692.byte	24,24,96,24,192,120,48,216
1693.byte	24,24,96,24,192,120,48,216
1694.byte	35,35,140,35,5,175,70,38
1695.byte	35,35,140,35,5,175,70,38
1696.byte	198,198,63,198,126,249,145,184
1697.byte	198,198,63,198,126,249,145,184
1698.byte	232,232,135,232,19,111,205,251
1699.byte	232,232,135,232,19,111,205,251
1700.byte	135,135,38,135,76,161,19,203
1701.byte	135,135,38,135,76,161,19,203
1702.byte	184,184,218,184,169,98,109,17
1703.byte	184,184,218,184,169,98,109,17
1704.byte	1,1,4,1,8,5,2,9
1705.byte	1,1,4,1,8,5,2,9
1706.byte	79,79,33,79,66,110,158,13
1707.byte	79,79,33,79,66,110,158,13
1708.byte	54,54,216,54,173,238,108,155
1709.byte	54,54,216,54,173,238,108,155
1710.byte	166,166,162,166,89,4,81,255
1711.byte	166,166,162,166,89,4,81,255
1712.byte	210,210,111,210,222,189,185,12
1713.byte	210,210,111,210,222,189,185,12
1714.byte	245,245,243,245,251,6,247,14
1715.byte	245,245,243,245,251,6,247,14
1716.byte	121,121,249,121,239,128,242,150
1717.byte	121,121,249,121,239,128,242,150
1718.byte	111,111,161,111,95,206,222,48
1719.byte	111,111,161,111,95,206,222,48
1720.byte	145,145,126,145,252,239,63,109
1721.byte	145,145,126,145,252,239,63,109
1722.byte	82,82,85,82,170,7,164,248
1723.byte	82,82,85,82,170,7,164,248
1724.byte	96,96,157,96,39,253,192,71
1725.byte	96,96,157,96,39,253,192,71
1726.byte	188,188,202,188,137,118,101,53
1727.byte	188,188,202,188,137,118,101,53
1728.byte	155,155,86,155,172,205,43,55
1729.byte	155,155,86,155,172,205,43,55
1730.byte	142,142,2,142,4,140,1,138
1731.byte	142,142,2,142,4,140,1,138
1732.byte	163,163,182,163,113,21,91,210
1733.byte	163,163,182,163,113,21,91,210
1734.byte	12,12,48,12,96,60,24,108
1735.byte	12,12,48,12,96,60,24,108
1736.byte	123,123,241,123,255,138,246,132
1737.byte	123,123,241,123,255,138,246,132
1738.byte	53,53,212,53,181,225,106,128
1739.byte	53,53,212,53,181,225,106,128
1740.byte	29,29,116,29,232,105,58,245
1741.byte	29,29,116,29,232,105,58,245
1742.byte	224,224,167,224,83,71,221,179
1743.byte	224,224,167,224,83,71,221,179
1744.byte	215,215,123,215,246,172,179,33
1745.byte	215,215,123,215,246,172,179,33
1746.byte	194,194,47,194,94,237,153,156
1747.byte	194,194,47,194,94,237,153,156
1748.byte	46,46,184,46,109,150,92,67
1749.byte	46,46,184,46,109,150,92,67
1750.byte	75,75,49,75,98,122,150,41
1751.byte	75,75,49,75,98,122,150,41
1752.byte	254,254,223,254,163,33,225,93
1753.byte	254,254,223,254,163,33,225,93
1754.byte	87,87,65,87,130,22,174,213
1755.byte	87,87,65,87,130,22,174,213
1756.byte	21,21,84,21,168,65,42,189
1757.byte	21,21,84,21,168,65,42,189
1758.byte	119,119,193,119,159,182,238,232
1759.byte	119,119,193,119,159,182,238,232
1760.byte	55,55,220,55,165,235,110,146
1761.byte	55,55,220,55,165,235,110,146
1762.byte	229,229,179,229,123,86,215,158
1763.byte	229,229,179,229,123,86,215,158
1764.byte	159,159,70,159,140,217,35,19
1765.byte	159,159,70,159,140,217,35,19
1766.byte	240,240,231,240,211,23,253,35
1767.byte	240,240,231,240,211,23,253,35
1768.byte	74,74,53,74,106,127,148,32
1769.byte	74,74,53,74,106,127,148,32
1770.byte	218,218,79,218,158,149,169,68
1771.byte	218,218,79,218,158,149,169,68
1772.byte	88,88,125,88,250,37,176,162
1773.byte	88,88,125,88,250,37,176,162
1774.byte	201,201,3,201,6,202,143,207
1775.byte	201,201,3,201,6,202,143,207
1776.byte	41,41,164,41,85,141,82,124
1777.byte	41,41,164,41,85,141,82,124
1778.byte	10,10,40,10,80,34,20,90
1779.byte	10,10,40,10,80,34,20,90
1780.byte	177,177,254,177,225,79,127,80
1781.byte	177,177,254,177,225,79,127,80
1782.byte	160,160,186,160,105,26,93,201
1783.byte	160,160,186,160,105,26,93,201
1784.byte	107,107,177,107,127,218,214,20
1785.byte	107,107,177,107,127,218,214,20
1786.byte	133,133,46,133,92,171,23,217
1787.byte	133,133,46,133,92,171,23,217
1788.byte	189,189,206,189,129,115,103,60
1789.byte	189,189,206,189,129,115,103,60
1790.byte	93,93,105,93,210,52,186,143
1791.byte	93,93,105,93,210,52,186,143
1792.byte	16,16,64,16,128,80,32,144
1793.byte	16,16,64,16,128,80,32,144
1794.byte	244,244,247,244,243,3,245,7
1795.byte	244,244,247,244,243,3,245,7
1796.byte	203,203,11,203,22,192,139,221
1797.byte	203,203,11,203,22,192,139,221
1798.byte	62,62,248,62,237,198,124,211
1799.byte	62,62,248,62,237,198,124,211
1800.byte	5,5,20,5,40,17,10,45
1801.byte	5,5,20,5,40,17,10,45
1802.byte	103,103,129,103,31,230,206,120
1803.byte	103,103,129,103,31,230,206,120
1804.byte	228,228,183,228,115,83,213,151
1805.byte	228,228,183,228,115,83,213,151
1806.byte	39,39,156,39,37,187,78,2
1807.byte	39,39,156,39,37,187,78,2
1808.byte	65,65,25,65,50,88,130,115
1809.byte	65,65,25,65,50,88,130,115
1810.byte	139,139,22,139,44,157,11,167
1811.byte	139,139,22,139,44,157,11,167
1812.byte	167,167,166,167,81,1,83,246
1813.byte	167,167,166,167,81,1,83,246
1814.byte	125,125,233,125,207,148,250,178
1815.byte	125,125,233,125,207,148,250,178
1816.byte	149,149,110,149,220,251,55,73
1817.byte	149,149,110,149,220,251,55,73
1818.byte	216,216,71,216,142,159,173,86
1819.byte	216,216,71,216,142,159,173,86
1820.byte	251,251,203,251,139,48,235,112
1821.byte	251,251,203,251,139,48,235,112
1822.byte	238,238,159,238,35,113,193,205
1823.byte	238,238,159,238,35,113,193,205
1824.byte	124,124,237,124,199,145,248,187
1825.byte	124,124,237,124,199,145,248,187
1826.byte	102,102,133,102,23,227,204,113
1827.byte	102,102,133,102,23,227,204,113
1828.byte	221,221,83,221,166,142,167,123
1829.byte	221,221,83,221,166,142,167,123
1830.byte	23,23,92,23,184,75,46,175
1831.byte	23,23,92,23,184,75,46,175
1832.byte	71,71,1,71,2,70,142,69
1833.byte	71,71,1,71,2,70,142,69
1834.byte	158,158,66,158,132,220,33,26
1835.byte	158,158,66,158,132,220,33,26
1836.byte	202,202,15,202,30,197,137,212
1837.byte	202,202,15,202,30,197,137,212
1838.byte	45,45,180,45,117,153,90,88
1839.byte	45,45,180,45,117,153,90,88
1840.byte	191,191,198,191,145,121,99,46
1841.byte	191,191,198,191,145,121,99,46
1842.byte	7,7,28,7,56,27,14,63
1843.byte	7,7,28,7,56,27,14,63
1844.byte	173,173,142,173,1,35,71,172
1845.byte	173,173,142,173,1,35,71,172
1846.byte	90,90,117,90,234,47,180,176
1847.byte	90,90,117,90,234,47,180,176
1848.byte	131,131,54,131,108,181,27,239
1849.byte	131,131,54,131,108,181,27,239
1850.byte	51,51,204,51,133,255,102,182
1851.byte	51,51,204,51,133,255,102,182
1852.byte	99,99,145,99,63,242,198,92
1853.byte	99,99,145,99,63,242,198,92
1854.byte	2,2,8,2,16,10,4,18
1855.byte	2,2,8,2,16,10,4,18
1856.byte	170,170,146,170,57,56,73,147
1857.byte	170,170,146,170,57,56,73,147
1858.byte	113,113,217,113,175,168,226,222
1859.byte	113,113,217,113,175,168,226,222
1860.byte	200,200,7,200,14,207,141,198
1861.byte	200,200,7,200,14,207,141,198
1862.byte	25,25,100,25,200,125,50,209
1863.byte	25,25,100,25,200,125,50,209
1864.byte	73,73,57,73,114,112,146,59
1865.byte	73,73,57,73,114,112,146,59
1866.byte	217,217,67,217,134,154,175,95
1867.byte	217,217,67,217,134,154,175,95
1868.byte	242,242,239,242,195,29,249,49
1869.byte	242,242,239,242,195,29,249,49
1870.byte	227,227,171,227,75,72,219,168
1871.byte	227,227,171,227,75,72,219,168
1872.byte	91,91,113,91,226,42,182,185
1873.byte	91,91,113,91,226,42,182,185
1874.byte	136,136,26,136,52,146,13,188
1875.byte	136,136,26,136,52,146,13,188
1876.byte	154,154,82,154,164,200,41,62
1877.byte	154,154,82,154,164,200,41,62
1878.byte	38,38,152,38,45,190,76,11
1879.byte	38,38,152,38,45,190,76,11
1880.byte	50,50,200,50,141,250,100,191
1881.byte	50,50,200,50,141,250,100,191
1882.byte	176,176,250,176,233,74,125,89
1883.byte	176,176,250,176,233,74,125,89
1884.byte	233,233,131,233,27,106,207,242
1885.byte	233,233,131,233,27,106,207,242
1886.byte	15,15,60,15,120,51,30,119
1887.byte	15,15,60,15,120,51,30,119
1888.byte	213,213,115,213,230,166,183,51
1889.byte	213,213,115,213,230,166,183,51
1890.byte	128,128,58,128,116,186,29,244
1891.byte	128,128,58,128,116,186,29,244
1892.byte	190,190,194,190,153,124,97,39
1893.byte	190,190,194,190,153,124,97,39
1894.byte	205,205,19,205,38,222,135,235
1895.byte	205,205,19,205,38,222,135,235
1896.byte	52,52,208,52,189,228,104,137
1897.byte	52,52,208,52,189,228,104,137
1898.byte	72,72,61,72,122,117,144,50
1899.byte	72,72,61,72,122,117,144,50
1900.byte	255,255,219,255,171,36,227,84
1901.byte	255,255,219,255,171,36,227,84
1902.byte	122,122,245,122,247,143,244,141
1903.byte	122,122,245,122,247,143,244,141
1904.byte	144,144,122,144,244,234,61,100
1905.byte	144,144,122,144,244,234,61,100
1906.byte	95,95,97,95,194,62,190,157
1907.byte	95,95,97,95,194,62,190,157
1908.byte	32,32,128,32,29,160,64,61
1909.byte	32,32,128,32,29,160,64,61
1910.byte	104,104,189,104,103,213,208,15
1911.byte	104,104,189,104,103,213,208,15
1912.byte	26,26,104,26,208,114,52,202
1913.byte	26,26,104,26,208,114,52,202
1914.byte	174,174,130,174,25,44,65,183
1915.byte	174,174,130,174,25,44,65,183
1916.byte	180,180,234,180,201,94,117,125
1917.byte	180,180,234,180,201,94,117,125
1918.byte	84,84,77,84,154,25,168,206
1919.byte	84,84,77,84,154,25,168,206
1920.byte	147,147,118,147,236,229,59,127
1921.byte	147,147,118,147,236,229,59,127
1922.byte	34,34,136,34,13,170,68,47
1923.byte	34,34,136,34,13,170,68,47
1924.byte	100,100,141,100,7,233,200,99
1925.byte	100,100,141,100,7,233,200,99
1926.byte	241,241,227,241,219,18,255,42
1927.byte	241,241,227,241,219,18,255,42
1928.byte	115,115,209,115,191,162,230,204
1929.byte	115,115,209,115,191,162,230,204
1930.byte	18,18,72,18,144,90,36,130
1931.byte	18,18,72,18,144,90,36,130
1932.byte	64,64,29,64,58,93,128,122
1933.byte	64,64,29,64,58,93,128,122
1934.byte	8,8,32,8,64,40,16,72
1935.byte	8,8,32,8,64,40,16,72
1936.byte	195,195,43,195,86,232,155,149
1937.byte	195,195,43,195,86,232,155,149
1938.byte	236,236,151,236,51,123,197,223
1939.byte	236,236,151,236,51,123,197,223
1940.byte	219,219,75,219,150,144,171,77
1941.byte	219,219,75,219,150,144,171,77
1942.byte	161,161,190,161,97,31,95,192
1943.byte	161,161,190,161,97,31,95,192
1944.byte	141,141,14,141,28,131,7,145
1945.byte	141,141,14,141,28,131,7,145
1946.byte	61,61,244,61,245,201,122,200
1947.byte	61,61,244,61,245,201,122,200
1948.byte	151,151,102,151,204,241,51,91
1949.byte	151,151,102,151,204,241,51,91
1950.byte	0,0,0,0,0,0,0,0
1951.byte	0,0,0,0,0,0,0,0
1952.byte	207,207,27,207,54,212,131,249
1953.byte	207,207,27,207,54,212,131,249
1954.byte	43,43,172,43,69,135,86,110
1955.byte	43,43,172,43,69,135,86,110
1956.byte	118,118,197,118,151,179,236,225
1957.byte	118,118,197,118,151,179,236,225
1958.byte	130,130,50,130,100,176,25,230
1959.byte	130,130,50,130,100,176,25,230
1960.byte	214,214,127,214,254,169,177,40
1961.byte	214,214,127,214,254,169,177,40
1962.byte	27,27,108,27,216,119,54,195
1963.byte	27,27,108,27,216,119,54,195
1964.byte	181,181,238,181,193,91,119,116
1965.byte	181,181,238,181,193,91,119,116
1966.byte	175,175,134,175,17,41,67,190
1967.byte	175,175,134,175,17,41,67,190
1968.byte	106,106,181,106,119,223,212,29
1969.byte	106,106,181,106,119,223,212,29
1970.byte	80,80,93,80,186,13,160,234
1971.byte	80,80,93,80,186,13,160,234
1972.byte	69,69,9,69,18,76,138,87
1973.byte	69,69,9,69,18,76,138,87
1974.byte	243,243,235,243,203,24,251,56
1975.byte	243,243,235,243,203,24,251,56
1976.byte	48,48,192,48,157,240,96,173
1977.byte	48,48,192,48,157,240,96,173
1978.byte	239,239,155,239,43,116,195,196
1979.byte	239,239,155,239,43,116,195,196
1980.byte	63,63,252,63,229,195,126,218
1981.byte	63,63,252,63,229,195,126,218
1982.byte	85,85,73,85,146,28,170,199
1983.byte	85,85,73,85,146,28,170,199
1984.byte	162,162,178,162,121,16,89,219
1985.byte	162,162,178,162,121,16,89,219
1986.byte	234,234,143,234,3,101,201,233
1987.byte	234,234,143,234,3,101,201,233
1988.byte	101,101,137,101,15,236,202,106
1989.byte	101,101,137,101,15,236,202,106
1990.byte	186,186,210,186,185,104,105,3
1991.byte	186,186,210,186,185,104,105,3
1992.byte	47,47,188,47,101,147,94,74
1993.byte	47,47,188,47,101,147,94,74
1994.byte	192,192,39,192,78,231,157,142
1995.byte	192,192,39,192,78,231,157,142
1996.byte	222,222,95,222,190,129,161,96
1997.byte	222,222,95,222,190,129,161,96
1998.byte	28,28,112,28,224,108,56,252
1999.byte	28,28,112,28,224,108,56,252
2000.byte	253,253,211,253,187,46,231,70
2001.byte	253,253,211,253,187,46,231,70
2002.byte	77,77,41,77,82,100,154,31
2003.byte	77,77,41,77,82,100,154,31
2004.byte	146,146,114,146,228,224,57,118
2005.byte	146,146,114,146,228,224,57,118
2006.byte	117,117,201,117,143,188,234,250
2007.byte	117,117,201,117,143,188,234,250
2008.byte	6,6,24,6,48,30,12,54
2009.byte	6,6,24,6,48,30,12,54
2010.byte	138,138,18,138,36,152,9,174
2011.byte	138,138,18,138,36,152,9,174
2012.byte	178,178,242,178,249,64,121,75
2013.byte	178,178,242,178,249,64,121,75
2014.byte	230,230,191,230,99,89,209,133
2015.byte	230,230,191,230,99,89,209,133
2016.byte	14,14,56,14,112,54,28,126
2017.byte	14,14,56,14,112,54,28,126
2018.byte	31,31,124,31,248,99,62,231
2019.byte	31,31,124,31,248,99,62,231
2020.byte	98,98,149,98,55,247,196,85
2021.byte	98,98,149,98,55,247,196,85
2022.byte	212,212,119,212,238,163,181,58
2023.byte	212,212,119,212,238,163,181,58
2024.byte	168,168,154,168,41,50,77,129
2025.byte	168,168,154,168,41,50,77,129
2026.byte	150,150,98,150,196,244,49,82
2027.byte	150,150,98,150,196,244,49,82
2028.byte	249,249,195,249,155,58,239,98
2029.byte	249,249,195,249,155,58,239,98
2030.byte	197,197,51,197,102,246,151,163
2031.byte	197,197,51,197,102,246,151,163
2032.byte	37,37,148,37,53,177,74,16
2033.byte	37,37,148,37,53,177,74,16
2034.byte	89,89,121,89,242,32,178,171
2035.byte	89,89,121,89,242,32,178,171
2036.byte	132,132,42,132,84,174,21,208
2037.byte	132,132,42,132,84,174,21,208
2038.byte	114,114,213,114,183,167,228,197
2039.byte	114,114,213,114,183,167,228,197
2040.byte	57,57,228,57,213,221,114,236
2041.byte	57,57,228,57,213,221,114,236
2042.byte	76,76,45,76,90,97,152,22
2043.byte	76,76,45,76,90,97,152,22
2044.byte	94,94,101,94,202,59,188,148
2045.byte	94,94,101,94,202,59,188,148
2046.byte	120,120,253,120,231,133,240,159
2047.byte	120,120,253,120,231,133,240,159
2048.byte	56,56,224,56,221,216,112,229
2049.byte	56,56,224,56,221,216,112,229
2050.byte	140,140,10,140,20,134,5,152
2051.byte	140,140,10,140,20,134,5,152
2052.byte	209,209,99,209,198,178,191,23
2053.byte	209,209,99,209,198,178,191,23
2054.byte	165,165,174,165,65,11,87,228
2055.byte	165,165,174,165,65,11,87,228
2056.byte	226,226,175,226,67,77,217,161
2057.byte	226,226,175,226,67,77,217,161
2058.byte	97,97,153,97,47,248,194,78
2059.byte	97,97,153,97,47,248,194,78
2060.byte	179,179,246,179,241,69,123,66
2061.byte	179,179,246,179,241,69,123,66
2062.byte	33,33,132,33,21,165,66,52
2063.byte	33,33,132,33,21,165,66,52
2064.byte	156,156,74,156,148,214,37,8
2065.byte	156,156,74,156,148,214,37,8
2066.byte	30,30,120,30,240,102,60,238
2067.byte	30,30,120,30,240,102,60,238
2068.byte	67,67,17,67,34,82,134,97
2069.byte	67,67,17,67,34,82,134,97
2070.byte	199,199,59,199,118,252,147,177
2071.byte	199,199,59,199,118,252,147,177
2072.byte	252,252,215,252,179,43,229,79
2073.byte	252,252,215,252,179,43,229,79
2074.byte	4,4,16,4,32,20,8,36
2075.byte	4,4,16,4,32,20,8,36
2076.byte	81,81,89,81,178,8,162,227
2077.byte	81,81,89,81,178,8,162,227
2078.byte	153,153,94,153,188,199,47,37
2079.byte	153,153,94,153,188,199,47,37
2080.byte	109,109,169,109,79,196,218,34
2081.byte	109,109,169,109,79,196,218,34
2082.byte	13,13,52,13,104,57,26,101
2083.byte	13,13,52,13,104,57,26,101
2084.byte	250,250,207,250,131,53,233,121
2085.byte	250,250,207,250,131,53,233,121
2086.byte	223,223,91,223,182,132,163,105
2087.byte	223,223,91,223,182,132,163,105
2088.byte	126,126,229,126,215,155,252,169
2089.byte	126,126,229,126,215,155,252,169
2090.byte	36,36,144,36,61,180,72,25
2091.byte	36,36,144,36,61,180,72,25
2092.byte	59,59,236,59,197,215,118,254
2093.byte	59,59,236,59,197,215,118,254
2094.byte	171,171,150,171,49,61,75,154
2095.byte	171,171,150,171,49,61,75,154
2096.byte	206,206,31,206,62,209,129,240
2097.byte	206,206,31,206,62,209,129,240
2098.byte	17,17,68,17,136,85,34,153
2099.byte	17,17,68,17,136,85,34,153
2100.byte	143,143,6,143,12,137,3,131
2101.byte	143,143,6,143,12,137,3,131
2102.byte	78,78,37,78,74,107,156,4
2103.byte	78,78,37,78,74,107,156,4
2104.byte	183,183,230,183,209,81,115,102
2105.byte	183,183,230,183,209,81,115,102
2106.byte	235,235,139,235,11,96,203,224
2107.byte	235,235,139,235,11,96,203,224
2108.byte	60,60,240,60,253,204,120,193
2109.byte	60,60,240,60,253,204,120,193
2110.byte	129,129,62,129,124,191,31,253
2111.byte	129,129,62,129,124,191,31,253
2112.byte	148,148,106,148,212,254,53,64
2113.byte	148,148,106,148,212,254,53,64
2114.byte	247,247,251,247,235,12,243,28
2115.byte	247,247,251,247,235,12,243,28
2116.byte	185,185,222,185,161,103,111,24
2117.byte	185,185,222,185,161,103,111,24
2118.byte	19,19,76,19,152,95,38,139
2119.byte	19,19,76,19,152,95,38,139
2120.byte	44,44,176,44,125,156,88,81
2121.byte	44,44,176,44,125,156,88,81
2122.byte	211,211,107,211,214,184,187,5
2123.byte	211,211,107,211,214,184,187,5
2124.byte	231,231,187,231,107,92,211,140
2125.byte	231,231,187,231,107,92,211,140
2126.byte	110,110,165,110,87,203,220,57
2127.byte	110,110,165,110,87,203,220,57
2128.byte	196,196,55,196,110,243,149,170
2129.byte	196,196,55,196,110,243,149,170
2130.byte	3,3,12,3,24,15,6,27
2131.byte	3,3,12,3,24,15,6,27
2132.byte	86,86,69,86,138,19,172,220
2133.byte	86,86,69,86,138,19,172,220
2134.byte	68,68,13,68,26,73,136,94
2135.byte	68,68,13,68,26,73,136,94
2136.byte	127,127,225,127,223,158,254,160
2137.byte	127,127,225,127,223,158,254,160
2138.byte	169,169,158,169,33,55,79,136
2139.byte	169,169,158,169,33,55,79,136
2140.byte	42,42,168,42,77,130,84,103
2141.byte	42,42,168,42,77,130,84,103
2142.byte	187,187,214,187,177,109,107,10
2143.byte	187,187,214,187,177,109,107,10
2144.byte	193,193,35,193,70,226,159,135
2145.byte	193,193,35,193,70,226,159,135
2146.byte	83,83,81,83,162,2,166,241
2147.byte	83,83,81,83,162,2,166,241
2148.byte	220,220,87,220,174,139,165,114
2149.byte	220,220,87,220,174,139,165,114
2150.byte	11,11,44,11,88,39,22,83
2151.byte	11,11,44,11,88,39,22,83
2152.byte	157,157,78,157,156,211,39,1
2153.byte	157,157,78,157,156,211,39,1
2154.byte	108,108,173,108,71,193,216,43
2155.byte	108,108,173,108,71,193,216,43
2156.byte	49,49,196,49,149,245,98,164
2157.byte	49,49,196,49,149,245,98,164
2158.byte	116,116,205,116,135,185,232,243
2159.byte	116,116,205,116,135,185,232,243
2160.byte	246,246,255,246,227,9,241,21
2161.byte	246,246,255,246,227,9,241,21
2162.byte	70,70,5,70,10,67,140,76
2163.byte	70,70,5,70,10,67,140,76
2164.byte	172,172,138,172,9,38,69,165
2165.byte	172,172,138,172,9,38,69,165
2166.byte	137,137,30,137,60,151,15,181
2167.byte	137,137,30,137,60,151,15,181
2168.byte	20,20,80,20,160,68,40,180
2169.byte	20,20,80,20,160,68,40,180
2170.byte	225,225,163,225,91,66,223,186
2171.byte	225,225,163,225,91,66,223,186
2172.byte	22,22,88,22,176,78,44,166
2173.byte	22,22,88,22,176,78,44,166
2174.byte	58,58,232,58,205,210,116,247
2175.byte	58,58,232,58,205,210,116,247
2176.byte	105,105,185,105,111,208,210,6
2177.byte	105,105,185,105,111,208,210,6
2178.byte	9,9,36,9,72,45,18,65
2179.byte	9,9,36,9,72,45,18,65
2180.byte	112,112,221,112,167,173,224,215
2181.byte	112,112,221,112,167,173,224,215
2182.byte	182,182,226,182,217,84,113,111
2183.byte	182,182,226,182,217,84,113,111
2184.byte	208,208,103,208,206,183,189,30
2185.byte	208,208,103,208,206,183,189,30
2186.byte	237,237,147,237,59,126,199,214
2187.byte	237,237,147,237,59,126,199,214
2188.byte	204,204,23,204,46,219,133,226
2189.byte	204,204,23,204,46,219,133,226
2190.byte	66,66,21,66,42,87,132,104
2191.byte	66,66,21,66,42,87,132,104
2192.byte	152,152,90,152,180,194,45,44
2193.byte	152,152,90,152,180,194,45,44
2194.byte	164,164,170,164,73,14,85,237
2195.byte	164,164,170,164,73,14,85,237
2196.byte	40,40,160,40,93,136,80,117
2197.byte	40,40,160,40,93,136,80,117
2198.byte	92,92,109,92,218,49,184,134
2199.byte	92,92,109,92,218,49,184,134
2200.byte	248,248,199,248,147,63,237,107
2201.byte	248,248,199,248,147,63,237,107
2202.byte	134,134,34,134,68,164,17,194
2203.byte	134,134,34,134,68,164,17,194
2204.byte	24,35,198,232,135,184,1,79
2205.byte	54,166,210,245,121,111,145,82
2206.byte	96,188,155,142,163,12,123,53
2207.byte	29,224,215,194,46,75,254,87
2208.byte	21,119,55,229,159,240,74,218
2209.byte	88,201,41,10,177,160,107,133
2210.byte	189,93,16,244,203,62,5,103
2211.byte	228,39,65,139,167,125,149,216
2212.byte	251,238,124,102,221,23,71,158
2213.byte	202,45,191,7,173,90,131,51
2214.size	whirlpool_block_mmx,.-.L_whirlpool_block_mmx_begin
2215#endif
2216