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