]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - secure/lib/libcrypto/amd64/wp-x86_64.S
Regen amd64 assembly files for OpenSSL 1.1.1.
[FreeBSD/FreeBSD.git] / secure / lib / libcrypto / amd64 / wp-x86_64.S
1 /* $FreeBSD$ */
2 /* Do not modify. This file is auto-generated from wp-x86_64.pl. */
3 .text   
4
5 .globl  whirlpool_block
6 .type   whirlpool_block,@function
7 .align  16
8 whirlpool_block:
9 .cfi_startproc  
10         movq    %rsp,%rax
11 .cfi_def_cfa_register   %rax
12         pushq   %rbx
13 .cfi_offset     %rbx,-16
14         pushq   %rbp
15 .cfi_offset     %rbp,-24
16         pushq   %r12
17 .cfi_offset     %r12,-32
18         pushq   %r13
19 .cfi_offset     %r13,-40
20         pushq   %r14
21 .cfi_offset     %r14,-48
22         pushq   %r15
23 .cfi_offset     %r15,-56
24
25         subq    $128+40,%rsp
26         andq    $-64,%rsp
27
28         leaq    128(%rsp),%r10
29         movq    %rdi,0(%r10)
30         movq    %rsi,8(%r10)
31         movq    %rdx,16(%r10)
32         movq    %rax,32(%r10)
33 .cfi_escape     0x0f,0x06,0x77,0xa0,0x01,0x06,0x23,0x08
34 .Lprologue:
35
36         movq    %r10,%rbx
37         leaq    .Ltable(%rip),%rbp
38
39         xorq    %rcx,%rcx
40         xorq    %rdx,%rdx
41         movq    0(%rdi),%r8
42         movq    8(%rdi),%r9
43         movq    16(%rdi),%r10
44         movq    24(%rdi),%r11
45         movq    32(%rdi),%r12
46         movq    40(%rdi),%r13
47         movq    48(%rdi),%r14
48         movq    56(%rdi),%r15
49 .Louterloop:
50         movq    %r8,0(%rsp)
51         movq    %r9,8(%rsp)
52         movq    %r10,16(%rsp)
53         movq    %r11,24(%rsp)
54         movq    %r12,32(%rsp)
55         movq    %r13,40(%rsp)
56         movq    %r14,48(%rsp)
57         movq    %r15,56(%rsp)
58         xorq    0(%rsi),%r8
59         xorq    8(%rsi),%r9
60         xorq    16(%rsi),%r10
61         xorq    24(%rsi),%r11
62         xorq    32(%rsi),%r12
63         xorq    40(%rsi),%r13
64         xorq    48(%rsi),%r14
65         xorq    56(%rsi),%r15
66         movq    %r8,64+0(%rsp)
67         movq    %r9,64+8(%rsp)
68         movq    %r10,64+16(%rsp)
69         movq    %r11,64+24(%rsp)
70         movq    %r12,64+32(%rsp)
71         movq    %r13,64+40(%rsp)
72         movq    %r14,64+48(%rsp)
73         movq    %r15,64+56(%rsp)
74         xorq    %rsi,%rsi
75         movq    %rsi,24(%rbx)
76         jmp     .Lround
77 .align  16
78 .Lround:
79         movq    4096(%rbp,%rsi,8),%r8
80         movl    0(%rsp),%eax
81         movl    4(%rsp),%ebx
82         movzbl  %al,%ecx
83         movzbl  %ah,%edx
84         shrl    $16,%eax
85         leaq    (%rcx,%rcx,1),%rsi
86         movzbl  %al,%ecx
87         leaq    (%rdx,%rdx,1),%rdi
88         movzbl  %ah,%edx
89         xorq    0(%rbp,%rsi,8),%r8
90         movq    7(%rbp,%rdi,8),%r9
91         movl    0+8(%rsp),%eax
92         leaq    (%rcx,%rcx,1),%rsi
93         movzbl  %bl,%ecx
94         leaq    (%rdx,%rdx,1),%rdi
95         movzbl  %bh,%edx
96         movq    6(%rbp,%rsi,8),%r10
97         movq    5(%rbp,%rdi,8),%r11
98         shrl    $16,%ebx
99         leaq    (%rcx,%rcx,1),%rsi
100         movzbl  %bl,%ecx
101         leaq    (%rdx,%rdx,1),%rdi
102         movzbl  %bh,%edx
103         movq    4(%rbp,%rsi,8),%r12
104         movq    3(%rbp,%rdi,8),%r13
105         movl    0+8+4(%rsp),%ebx
106         leaq    (%rcx,%rcx,1),%rsi
107         movzbl  %al,%ecx
108         leaq    (%rdx,%rdx,1),%rdi
109         movzbl  %ah,%edx
110         movq    2(%rbp,%rsi,8),%r14
111         movq    1(%rbp,%rdi,8),%r15
112         shrl    $16,%eax
113         leaq    (%rcx,%rcx,1),%rsi
114         movzbl  %al,%ecx
115         leaq    (%rdx,%rdx,1),%rdi
116         movzbl  %ah,%edx
117         xorq    0(%rbp,%rsi,8),%r9
118         xorq    7(%rbp,%rdi,8),%r10
119         movl    8+8(%rsp),%eax
120         leaq    (%rcx,%rcx,1),%rsi
121         movzbl  %bl,%ecx
122         leaq    (%rdx,%rdx,1),%rdi
123         movzbl  %bh,%edx
124         xorq    6(%rbp,%rsi,8),%r11
125         xorq    5(%rbp,%rdi,8),%r12
126         shrl    $16,%ebx
127         leaq    (%rcx,%rcx,1),%rsi
128         movzbl  %bl,%ecx
129         leaq    (%rdx,%rdx,1),%rdi
130         movzbl  %bh,%edx
131         xorq    4(%rbp,%rsi,8),%r13
132         xorq    3(%rbp,%rdi,8),%r14
133         movl    8+8+4(%rsp),%ebx
134         leaq    (%rcx,%rcx,1),%rsi
135         movzbl  %al,%ecx
136         leaq    (%rdx,%rdx,1),%rdi
137         movzbl  %ah,%edx
138         xorq    2(%rbp,%rsi,8),%r15
139         xorq    1(%rbp,%rdi,8),%r8
140         shrl    $16,%eax
141         leaq    (%rcx,%rcx,1),%rsi
142         movzbl  %al,%ecx
143         leaq    (%rdx,%rdx,1),%rdi
144         movzbl  %ah,%edx
145         xorq    0(%rbp,%rsi,8),%r10
146         xorq    7(%rbp,%rdi,8),%r11
147         movl    16+8(%rsp),%eax
148         leaq    (%rcx,%rcx,1),%rsi
149         movzbl  %bl,%ecx
150         leaq    (%rdx,%rdx,1),%rdi
151         movzbl  %bh,%edx
152         xorq    6(%rbp,%rsi,8),%r12
153         xorq    5(%rbp,%rdi,8),%r13
154         shrl    $16,%ebx
155         leaq    (%rcx,%rcx,1),%rsi
156         movzbl  %bl,%ecx
157         leaq    (%rdx,%rdx,1),%rdi
158         movzbl  %bh,%edx
159         xorq    4(%rbp,%rsi,8),%r14
160         xorq    3(%rbp,%rdi,8),%r15
161         movl    16+8+4(%rsp),%ebx
162         leaq    (%rcx,%rcx,1),%rsi
163         movzbl  %al,%ecx
164         leaq    (%rdx,%rdx,1),%rdi
165         movzbl  %ah,%edx
166         xorq    2(%rbp,%rsi,8),%r8
167         xorq    1(%rbp,%rdi,8),%r9
168         shrl    $16,%eax
169         leaq    (%rcx,%rcx,1),%rsi
170         movzbl  %al,%ecx
171         leaq    (%rdx,%rdx,1),%rdi
172         movzbl  %ah,%edx
173         xorq    0(%rbp,%rsi,8),%r11
174         xorq    7(%rbp,%rdi,8),%r12
175         movl    24+8(%rsp),%eax
176         leaq    (%rcx,%rcx,1),%rsi
177         movzbl  %bl,%ecx
178         leaq    (%rdx,%rdx,1),%rdi
179         movzbl  %bh,%edx
180         xorq    6(%rbp,%rsi,8),%r13
181         xorq    5(%rbp,%rdi,8),%r14
182         shrl    $16,%ebx
183         leaq    (%rcx,%rcx,1),%rsi
184         movzbl  %bl,%ecx
185         leaq    (%rdx,%rdx,1),%rdi
186         movzbl  %bh,%edx
187         xorq    4(%rbp,%rsi,8),%r15
188         xorq    3(%rbp,%rdi,8),%r8
189         movl    24+8+4(%rsp),%ebx
190         leaq    (%rcx,%rcx,1),%rsi
191         movzbl  %al,%ecx
192         leaq    (%rdx,%rdx,1),%rdi
193         movzbl  %ah,%edx
194         xorq    2(%rbp,%rsi,8),%r9
195         xorq    1(%rbp,%rdi,8),%r10
196         shrl    $16,%eax
197         leaq    (%rcx,%rcx,1),%rsi
198         movzbl  %al,%ecx
199         leaq    (%rdx,%rdx,1),%rdi
200         movzbl  %ah,%edx
201         xorq    0(%rbp,%rsi,8),%r12
202         xorq    7(%rbp,%rdi,8),%r13
203         movl    32+8(%rsp),%eax
204         leaq    (%rcx,%rcx,1),%rsi
205         movzbl  %bl,%ecx
206         leaq    (%rdx,%rdx,1),%rdi
207         movzbl  %bh,%edx
208         xorq    6(%rbp,%rsi,8),%r14
209         xorq    5(%rbp,%rdi,8),%r15
210         shrl    $16,%ebx
211         leaq    (%rcx,%rcx,1),%rsi
212         movzbl  %bl,%ecx
213         leaq    (%rdx,%rdx,1),%rdi
214         movzbl  %bh,%edx
215         xorq    4(%rbp,%rsi,8),%r8
216         xorq    3(%rbp,%rdi,8),%r9
217         movl    32+8+4(%rsp),%ebx
218         leaq    (%rcx,%rcx,1),%rsi
219         movzbl  %al,%ecx
220         leaq    (%rdx,%rdx,1),%rdi
221         movzbl  %ah,%edx
222         xorq    2(%rbp,%rsi,8),%r10
223         xorq    1(%rbp,%rdi,8),%r11
224         shrl    $16,%eax
225         leaq    (%rcx,%rcx,1),%rsi
226         movzbl  %al,%ecx
227         leaq    (%rdx,%rdx,1),%rdi
228         movzbl  %ah,%edx
229         xorq    0(%rbp,%rsi,8),%r13
230         xorq    7(%rbp,%rdi,8),%r14
231         movl    40+8(%rsp),%eax
232         leaq    (%rcx,%rcx,1),%rsi
233         movzbl  %bl,%ecx
234         leaq    (%rdx,%rdx,1),%rdi
235         movzbl  %bh,%edx
236         xorq    6(%rbp,%rsi,8),%r15
237         xorq    5(%rbp,%rdi,8),%r8
238         shrl    $16,%ebx
239         leaq    (%rcx,%rcx,1),%rsi
240         movzbl  %bl,%ecx
241         leaq    (%rdx,%rdx,1),%rdi
242         movzbl  %bh,%edx
243         xorq    4(%rbp,%rsi,8),%r9
244         xorq    3(%rbp,%rdi,8),%r10
245         movl    40+8+4(%rsp),%ebx
246         leaq    (%rcx,%rcx,1),%rsi
247         movzbl  %al,%ecx
248         leaq    (%rdx,%rdx,1),%rdi
249         movzbl  %ah,%edx
250         xorq    2(%rbp,%rsi,8),%r11
251         xorq    1(%rbp,%rdi,8),%r12
252         shrl    $16,%eax
253         leaq    (%rcx,%rcx,1),%rsi
254         movzbl  %al,%ecx
255         leaq    (%rdx,%rdx,1),%rdi
256         movzbl  %ah,%edx
257         xorq    0(%rbp,%rsi,8),%r14
258         xorq    7(%rbp,%rdi,8),%r15
259         movl    48+8(%rsp),%eax
260         leaq    (%rcx,%rcx,1),%rsi
261         movzbl  %bl,%ecx
262         leaq    (%rdx,%rdx,1),%rdi
263         movzbl  %bh,%edx
264         xorq    6(%rbp,%rsi,8),%r8
265         xorq    5(%rbp,%rdi,8),%r9
266         shrl    $16,%ebx
267         leaq    (%rcx,%rcx,1),%rsi
268         movzbl  %bl,%ecx
269         leaq    (%rdx,%rdx,1),%rdi
270         movzbl  %bh,%edx
271         xorq    4(%rbp,%rsi,8),%r10
272         xorq    3(%rbp,%rdi,8),%r11
273         movl    48+8+4(%rsp),%ebx
274         leaq    (%rcx,%rcx,1),%rsi
275         movzbl  %al,%ecx
276         leaq    (%rdx,%rdx,1),%rdi
277         movzbl  %ah,%edx
278         xorq    2(%rbp,%rsi,8),%r12
279         xorq    1(%rbp,%rdi,8),%r13
280         shrl    $16,%eax
281         leaq    (%rcx,%rcx,1),%rsi
282         movzbl  %al,%ecx
283         leaq    (%rdx,%rdx,1),%rdi
284         movzbl  %ah,%edx
285         xorq    0(%rbp,%rsi,8),%r15
286         xorq    7(%rbp,%rdi,8),%r8
287         movl    56+8(%rsp),%eax
288         leaq    (%rcx,%rcx,1),%rsi
289         movzbl  %bl,%ecx
290         leaq    (%rdx,%rdx,1),%rdi
291         movzbl  %bh,%edx
292         xorq    6(%rbp,%rsi,8),%r9
293         xorq    5(%rbp,%rdi,8),%r10
294         shrl    $16,%ebx
295         leaq    (%rcx,%rcx,1),%rsi
296         movzbl  %bl,%ecx
297         leaq    (%rdx,%rdx,1),%rdi
298         movzbl  %bh,%edx
299         xorq    4(%rbp,%rsi,8),%r11
300         xorq    3(%rbp,%rdi,8),%r12
301         movl    56+8+4(%rsp),%ebx
302         leaq    (%rcx,%rcx,1),%rsi
303         movzbl  %al,%ecx
304         leaq    (%rdx,%rdx,1),%rdi
305         movzbl  %ah,%edx
306         xorq    2(%rbp,%rsi,8),%r13
307         xorq    1(%rbp,%rdi,8),%r14
308         movq    %r8,0(%rsp)
309         movq    %r9,8(%rsp)
310         movq    %r10,16(%rsp)
311         movq    %r11,24(%rsp)
312         movq    %r12,32(%rsp)
313         movq    %r13,40(%rsp)
314         movq    %r14,48(%rsp)
315         movq    %r15,56(%rsp)
316         shrl    $16,%eax
317         leaq    (%rcx,%rcx,1),%rsi
318         movzbl  %al,%ecx
319         leaq    (%rdx,%rdx,1),%rdi
320         movzbl  %ah,%edx
321         xorq    0(%rbp,%rsi,8),%r8
322         xorq    7(%rbp,%rdi,8),%r9
323         movl    64+0+8(%rsp),%eax
324         leaq    (%rcx,%rcx,1),%rsi
325         movzbl  %bl,%ecx
326         leaq    (%rdx,%rdx,1),%rdi
327         movzbl  %bh,%edx
328         xorq    6(%rbp,%rsi,8),%r10
329         xorq    5(%rbp,%rdi,8),%r11
330         shrl    $16,%ebx
331         leaq    (%rcx,%rcx,1),%rsi
332         movzbl  %bl,%ecx
333         leaq    (%rdx,%rdx,1),%rdi
334         movzbl  %bh,%edx
335         xorq    4(%rbp,%rsi,8),%r12
336         xorq    3(%rbp,%rdi,8),%r13
337         movl    64+0+8+4(%rsp),%ebx
338         leaq    (%rcx,%rcx,1),%rsi
339         movzbl  %al,%ecx
340         leaq    (%rdx,%rdx,1),%rdi
341         movzbl  %ah,%edx
342         xorq    2(%rbp,%rsi,8),%r14
343         xorq    1(%rbp,%rdi,8),%r15
344         shrl    $16,%eax
345         leaq    (%rcx,%rcx,1),%rsi
346         movzbl  %al,%ecx
347         leaq    (%rdx,%rdx,1),%rdi
348         movzbl  %ah,%edx
349         xorq    0(%rbp,%rsi,8),%r9
350         xorq    7(%rbp,%rdi,8),%r10
351         movl    64+8+8(%rsp),%eax
352         leaq    (%rcx,%rcx,1),%rsi
353         movzbl  %bl,%ecx
354         leaq    (%rdx,%rdx,1),%rdi
355         movzbl  %bh,%edx
356         xorq    6(%rbp,%rsi,8),%r11
357         xorq    5(%rbp,%rdi,8),%r12
358         shrl    $16,%ebx
359         leaq    (%rcx,%rcx,1),%rsi
360         movzbl  %bl,%ecx
361         leaq    (%rdx,%rdx,1),%rdi
362         movzbl  %bh,%edx
363         xorq    4(%rbp,%rsi,8),%r13
364         xorq    3(%rbp,%rdi,8),%r14
365         movl    64+8+8+4(%rsp),%ebx
366         leaq    (%rcx,%rcx,1),%rsi
367         movzbl  %al,%ecx
368         leaq    (%rdx,%rdx,1),%rdi
369         movzbl  %ah,%edx
370         xorq    2(%rbp,%rsi,8),%r15
371         xorq    1(%rbp,%rdi,8),%r8
372         shrl    $16,%eax
373         leaq    (%rcx,%rcx,1),%rsi
374         movzbl  %al,%ecx
375         leaq    (%rdx,%rdx,1),%rdi
376         movzbl  %ah,%edx
377         xorq    0(%rbp,%rsi,8),%r10
378         xorq    7(%rbp,%rdi,8),%r11
379         movl    64+16+8(%rsp),%eax
380         leaq    (%rcx,%rcx,1),%rsi
381         movzbl  %bl,%ecx
382         leaq    (%rdx,%rdx,1),%rdi
383         movzbl  %bh,%edx
384         xorq    6(%rbp,%rsi,8),%r12
385         xorq    5(%rbp,%rdi,8),%r13
386         shrl    $16,%ebx
387         leaq    (%rcx,%rcx,1),%rsi
388         movzbl  %bl,%ecx
389         leaq    (%rdx,%rdx,1),%rdi
390         movzbl  %bh,%edx
391         xorq    4(%rbp,%rsi,8),%r14
392         xorq    3(%rbp,%rdi,8),%r15
393         movl    64+16+8+4(%rsp),%ebx
394         leaq    (%rcx,%rcx,1),%rsi
395         movzbl  %al,%ecx
396         leaq    (%rdx,%rdx,1),%rdi
397         movzbl  %ah,%edx
398         xorq    2(%rbp,%rsi,8),%r8
399         xorq    1(%rbp,%rdi,8),%r9
400         shrl    $16,%eax
401         leaq    (%rcx,%rcx,1),%rsi
402         movzbl  %al,%ecx
403         leaq    (%rdx,%rdx,1),%rdi
404         movzbl  %ah,%edx
405         xorq    0(%rbp,%rsi,8),%r11
406         xorq    7(%rbp,%rdi,8),%r12
407         movl    64+24+8(%rsp),%eax
408         leaq    (%rcx,%rcx,1),%rsi
409         movzbl  %bl,%ecx
410         leaq    (%rdx,%rdx,1),%rdi
411         movzbl  %bh,%edx
412         xorq    6(%rbp,%rsi,8),%r13
413         xorq    5(%rbp,%rdi,8),%r14
414         shrl    $16,%ebx
415         leaq    (%rcx,%rcx,1),%rsi
416         movzbl  %bl,%ecx
417         leaq    (%rdx,%rdx,1),%rdi
418         movzbl  %bh,%edx
419         xorq    4(%rbp,%rsi,8),%r15
420         xorq    3(%rbp,%rdi,8),%r8
421         movl    64+24+8+4(%rsp),%ebx
422         leaq    (%rcx,%rcx,1),%rsi
423         movzbl  %al,%ecx
424         leaq    (%rdx,%rdx,1),%rdi
425         movzbl  %ah,%edx
426         xorq    2(%rbp,%rsi,8),%r9
427         xorq    1(%rbp,%rdi,8),%r10
428         shrl    $16,%eax
429         leaq    (%rcx,%rcx,1),%rsi
430         movzbl  %al,%ecx
431         leaq    (%rdx,%rdx,1),%rdi
432         movzbl  %ah,%edx
433         xorq    0(%rbp,%rsi,8),%r12
434         xorq    7(%rbp,%rdi,8),%r13
435         movl    64+32+8(%rsp),%eax
436         leaq    (%rcx,%rcx,1),%rsi
437         movzbl  %bl,%ecx
438         leaq    (%rdx,%rdx,1),%rdi
439         movzbl  %bh,%edx
440         xorq    6(%rbp,%rsi,8),%r14
441         xorq    5(%rbp,%rdi,8),%r15
442         shrl    $16,%ebx
443         leaq    (%rcx,%rcx,1),%rsi
444         movzbl  %bl,%ecx
445         leaq    (%rdx,%rdx,1),%rdi
446         movzbl  %bh,%edx
447         xorq    4(%rbp,%rsi,8),%r8
448         xorq    3(%rbp,%rdi,8),%r9
449         movl    64+32+8+4(%rsp),%ebx
450         leaq    (%rcx,%rcx,1),%rsi
451         movzbl  %al,%ecx
452         leaq    (%rdx,%rdx,1),%rdi
453         movzbl  %ah,%edx
454         xorq    2(%rbp,%rsi,8),%r10
455         xorq    1(%rbp,%rdi,8),%r11
456         shrl    $16,%eax
457         leaq    (%rcx,%rcx,1),%rsi
458         movzbl  %al,%ecx
459         leaq    (%rdx,%rdx,1),%rdi
460         movzbl  %ah,%edx
461         xorq    0(%rbp,%rsi,8),%r13
462         xorq    7(%rbp,%rdi,8),%r14
463         movl    64+40+8(%rsp),%eax
464         leaq    (%rcx,%rcx,1),%rsi
465         movzbl  %bl,%ecx
466         leaq    (%rdx,%rdx,1),%rdi
467         movzbl  %bh,%edx
468         xorq    6(%rbp,%rsi,8),%r15
469         xorq    5(%rbp,%rdi,8),%r8
470         shrl    $16,%ebx
471         leaq    (%rcx,%rcx,1),%rsi
472         movzbl  %bl,%ecx
473         leaq    (%rdx,%rdx,1),%rdi
474         movzbl  %bh,%edx
475         xorq    4(%rbp,%rsi,8),%r9
476         xorq    3(%rbp,%rdi,8),%r10
477         movl    64+40+8+4(%rsp),%ebx
478         leaq    (%rcx,%rcx,1),%rsi
479         movzbl  %al,%ecx
480         leaq    (%rdx,%rdx,1),%rdi
481         movzbl  %ah,%edx
482         xorq    2(%rbp,%rsi,8),%r11
483         xorq    1(%rbp,%rdi,8),%r12
484         shrl    $16,%eax
485         leaq    (%rcx,%rcx,1),%rsi
486         movzbl  %al,%ecx
487         leaq    (%rdx,%rdx,1),%rdi
488         movzbl  %ah,%edx
489         xorq    0(%rbp,%rsi,8),%r14
490         xorq    7(%rbp,%rdi,8),%r15
491         movl    64+48+8(%rsp),%eax
492         leaq    (%rcx,%rcx,1),%rsi
493         movzbl  %bl,%ecx
494         leaq    (%rdx,%rdx,1),%rdi
495         movzbl  %bh,%edx
496         xorq    6(%rbp,%rsi,8),%r8
497         xorq    5(%rbp,%rdi,8),%r9
498         shrl    $16,%ebx
499         leaq    (%rcx,%rcx,1),%rsi
500         movzbl  %bl,%ecx
501         leaq    (%rdx,%rdx,1),%rdi
502         movzbl  %bh,%edx
503         xorq    4(%rbp,%rsi,8),%r10
504         xorq    3(%rbp,%rdi,8),%r11
505         movl    64+48+8+4(%rsp),%ebx
506         leaq    (%rcx,%rcx,1),%rsi
507         movzbl  %al,%ecx
508         leaq    (%rdx,%rdx,1),%rdi
509         movzbl  %ah,%edx
510         xorq    2(%rbp,%rsi,8),%r12
511         xorq    1(%rbp,%rdi,8),%r13
512         shrl    $16,%eax
513         leaq    (%rcx,%rcx,1),%rsi
514         movzbl  %al,%ecx
515         leaq    (%rdx,%rdx,1),%rdi
516         movzbl  %ah,%edx
517         xorq    0(%rbp,%rsi,8),%r15
518         xorq    7(%rbp,%rdi,8),%r8
519
520         leaq    (%rcx,%rcx,1),%rsi
521         movzbl  %bl,%ecx
522         leaq    (%rdx,%rdx,1),%rdi
523         movzbl  %bh,%edx
524         xorq    6(%rbp,%rsi,8),%r9
525         xorq    5(%rbp,%rdi,8),%r10
526         shrl    $16,%ebx
527         leaq    (%rcx,%rcx,1),%rsi
528         movzbl  %bl,%ecx
529         leaq    (%rdx,%rdx,1),%rdi
530         movzbl  %bh,%edx
531         xorq    4(%rbp,%rsi,8),%r11
532         xorq    3(%rbp,%rdi,8),%r12
533
534         leaq    (%rcx,%rcx,1),%rsi
535         movzbl  %al,%ecx
536         leaq    (%rdx,%rdx,1),%rdi
537         movzbl  %ah,%edx
538         xorq    2(%rbp,%rsi,8),%r13
539         xorq    1(%rbp,%rdi,8),%r14
540         leaq    128(%rsp),%rbx
541         movq    24(%rbx),%rsi
542         addq    $1,%rsi
543         cmpq    $10,%rsi
544         je      .Lroundsdone
545
546         movq    %rsi,24(%rbx)
547         movq    %r8,64+0(%rsp)
548         movq    %r9,64+8(%rsp)
549         movq    %r10,64+16(%rsp)
550         movq    %r11,64+24(%rsp)
551         movq    %r12,64+32(%rsp)
552         movq    %r13,64+40(%rsp)
553         movq    %r14,64+48(%rsp)
554         movq    %r15,64+56(%rsp)
555         jmp     .Lround
556 .align  16
557 .Lroundsdone:
558         movq    0(%rbx),%rdi
559         movq    8(%rbx),%rsi
560         movq    16(%rbx),%rax
561         xorq    0(%rsi),%r8
562         xorq    8(%rsi),%r9
563         xorq    16(%rsi),%r10
564         xorq    24(%rsi),%r11
565         xorq    32(%rsi),%r12
566         xorq    40(%rsi),%r13
567         xorq    48(%rsi),%r14
568         xorq    56(%rsi),%r15
569         xorq    0(%rdi),%r8
570         xorq    8(%rdi),%r9
571         xorq    16(%rdi),%r10
572         xorq    24(%rdi),%r11
573         xorq    32(%rdi),%r12
574         xorq    40(%rdi),%r13
575         xorq    48(%rdi),%r14
576         xorq    56(%rdi),%r15
577         movq    %r8,0(%rdi)
578         movq    %r9,8(%rdi)
579         movq    %r10,16(%rdi)
580         movq    %r11,24(%rdi)
581         movq    %r12,32(%rdi)
582         movq    %r13,40(%rdi)
583         movq    %r14,48(%rdi)
584         movq    %r15,56(%rdi)
585         leaq    64(%rsi),%rsi
586         subq    $1,%rax
587         jz      .Lalldone
588         movq    %rsi,8(%rbx)
589         movq    %rax,16(%rbx)
590         jmp     .Louterloop
591 .Lalldone:
592         movq    32(%rbx),%rsi
593 .cfi_def_cfa    %rsi,8
594         movq    -48(%rsi),%r15
595 .cfi_restore    %r15
596         movq    -40(%rsi),%r14
597 .cfi_restore    %r14
598         movq    -32(%rsi),%r13
599 .cfi_restore    %r13
600         movq    -24(%rsi),%r12
601 .cfi_restore    %r12
602         movq    -16(%rsi),%rbp
603 .cfi_restore    %rbp
604         movq    -8(%rsi),%rbx
605 .cfi_restore    %rbx
606         leaq    (%rsi),%rsp
607 .cfi_def_cfa_register   %rsp
608 .Lepilogue:
609         .byte   0xf3,0xc3
610 .cfi_endproc    
611 .size   whirlpool_block,.-whirlpool_block
612
613 .align  64
614 .type   .Ltable,@object
615 .Ltable:
616 .byte   24,24,96,24,192,120,48,216,24,24,96,24,192,120,48,216
617 .byte   35,35,140,35,5,175,70,38,35,35,140,35,5,175,70,38
618 .byte   198,198,63,198,126,249,145,184,198,198,63,198,126,249,145,184
619 .byte   232,232,135,232,19,111,205,251,232,232,135,232,19,111,205,251
620 .byte   135,135,38,135,76,161,19,203,135,135,38,135,76,161,19,203
621 .byte   184,184,218,184,169,98,109,17,184,184,218,184,169,98,109,17
622 .byte   1,1,4,1,8,5,2,9,1,1,4,1,8,5,2,9
623 .byte   79,79,33,79,66,110,158,13,79,79,33,79,66,110,158,13
624 .byte   54,54,216,54,173,238,108,155,54,54,216,54,173,238,108,155
625 .byte   166,166,162,166,89,4,81,255,166,166,162,166,89,4,81,255
626 .byte   210,210,111,210,222,189,185,12,210,210,111,210,222,189,185,12
627 .byte   245,245,243,245,251,6,247,14,245,245,243,245,251,6,247,14
628 .byte   121,121,249,121,239,128,242,150,121,121,249,121,239,128,242,150
629 .byte   111,111,161,111,95,206,222,48,111,111,161,111,95,206,222,48
630 .byte   145,145,126,145,252,239,63,109,145,145,126,145,252,239,63,109
631 .byte   82,82,85,82,170,7,164,248,82,82,85,82,170,7,164,248
632 .byte   96,96,157,96,39,253,192,71,96,96,157,96,39,253,192,71
633 .byte   188,188,202,188,137,118,101,53,188,188,202,188,137,118,101,53
634 .byte   155,155,86,155,172,205,43,55,155,155,86,155,172,205,43,55
635 .byte   142,142,2,142,4,140,1,138,142,142,2,142,4,140,1,138
636 .byte   163,163,182,163,113,21,91,210,163,163,182,163,113,21,91,210
637 .byte   12,12,48,12,96,60,24,108,12,12,48,12,96,60,24,108
638 .byte   123,123,241,123,255,138,246,132,123,123,241,123,255,138,246,132
639 .byte   53,53,212,53,181,225,106,128,53,53,212,53,181,225,106,128
640 .byte   29,29,116,29,232,105,58,245,29,29,116,29,232,105,58,245
641 .byte   224,224,167,224,83,71,221,179,224,224,167,224,83,71,221,179
642 .byte   215,215,123,215,246,172,179,33,215,215,123,215,246,172,179,33
643 .byte   194,194,47,194,94,237,153,156,194,194,47,194,94,237,153,156
644 .byte   46,46,184,46,109,150,92,67,46,46,184,46,109,150,92,67
645 .byte   75,75,49,75,98,122,150,41,75,75,49,75,98,122,150,41
646 .byte   254,254,223,254,163,33,225,93,254,254,223,254,163,33,225,93
647 .byte   87,87,65,87,130,22,174,213,87,87,65,87,130,22,174,213
648 .byte   21,21,84,21,168,65,42,189,21,21,84,21,168,65,42,189
649 .byte   119,119,193,119,159,182,238,232,119,119,193,119,159,182,238,232
650 .byte   55,55,220,55,165,235,110,146,55,55,220,55,165,235,110,146
651 .byte   229,229,179,229,123,86,215,158,229,229,179,229,123,86,215,158
652 .byte   159,159,70,159,140,217,35,19,159,159,70,159,140,217,35,19
653 .byte   240,240,231,240,211,23,253,35,240,240,231,240,211,23,253,35
654 .byte   74,74,53,74,106,127,148,32,74,74,53,74,106,127,148,32
655 .byte   218,218,79,218,158,149,169,68,218,218,79,218,158,149,169,68
656 .byte   88,88,125,88,250,37,176,162,88,88,125,88,250,37,176,162
657 .byte   201,201,3,201,6,202,143,207,201,201,3,201,6,202,143,207
658 .byte   41,41,164,41,85,141,82,124,41,41,164,41,85,141,82,124
659 .byte   10,10,40,10,80,34,20,90,10,10,40,10,80,34,20,90
660 .byte   177,177,254,177,225,79,127,80,177,177,254,177,225,79,127,80
661 .byte   160,160,186,160,105,26,93,201,160,160,186,160,105,26,93,201
662 .byte   107,107,177,107,127,218,214,20,107,107,177,107,127,218,214,20
663 .byte   133,133,46,133,92,171,23,217,133,133,46,133,92,171,23,217
664 .byte   189,189,206,189,129,115,103,60,189,189,206,189,129,115,103,60
665 .byte   93,93,105,93,210,52,186,143,93,93,105,93,210,52,186,143
666 .byte   16,16,64,16,128,80,32,144,16,16,64,16,128,80,32,144
667 .byte   244,244,247,244,243,3,245,7,244,244,247,244,243,3,245,7
668 .byte   203,203,11,203,22,192,139,221,203,203,11,203,22,192,139,221
669 .byte   62,62,248,62,237,198,124,211,62,62,248,62,237,198,124,211
670 .byte   5,5,20,5,40,17,10,45,5,5,20,5,40,17,10,45
671 .byte   103,103,129,103,31,230,206,120,103,103,129,103,31,230,206,120
672 .byte   228,228,183,228,115,83,213,151,228,228,183,228,115,83,213,151
673 .byte   39,39,156,39,37,187,78,2,39,39,156,39,37,187,78,2
674 .byte   65,65,25,65,50,88,130,115,65,65,25,65,50,88,130,115
675 .byte   139,139,22,139,44,157,11,167,139,139,22,139,44,157,11,167
676 .byte   167,167,166,167,81,1,83,246,167,167,166,167,81,1,83,246
677 .byte   125,125,233,125,207,148,250,178,125,125,233,125,207,148,250,178
678 .byte   149,149,110,149,220,251,55,73,149,149,110,149,220,251,55,73
679 .byte   216,216,71,216,142,159,173,86,216,216,71,216,142,159,173,86
680 .byte   251,251,203,251,139,48,235,112,251,251,203,251,139,48,235,112
681 .byte   238,238,159,238,35,113,193,205,238,238,159,238,35,113,193,205
682 .byte   124,124,237,124,199,145,248,187,124,124,237,124,199,145,248,187
683 .byte   102,102,133,102,23,227,204,113,102,102,133,102,23,227,204,113
684 .byte   221,221,83,221,166,142,167,123,221,221,83,221,166,142,167,123
685 .byte   23,23,92,23,184,75,46,175,23,23,92,23,184,75,46,175
686 .byte   71,71,1,71,2,70,142,69,71,71,1,71,2,70,142,69
687 .byte   158,158,66,158,132,220,33,26,158,158,66,158,132,220,33,26
688 .byte   202,202,15,202,30,197,137,212,202,202,15,202,30,197,137,212
689 .byte   45,45,180,45,117,153,90,88,45,45,180,45,117,153,90,88
690 .byte   191,191,198,191,145,121,99,46,191,191,198,191,145,121,99,46
691 .byte   7,7,28,7,56,27,14,63,7,7,28,7,56,27,14,63
692 .byte   173,173,142,173,1,35,71,172,173,173,142,173,1,35,71,172
693 .byte   90,90,117,90,234,47,180,176,90,90,117,90,234,47,180,176
694 .byte   131,131,54,131,108,181,27,239,131,131,54,131,108,181,27,239
695 .byte   51,51,204,51,133,255,102,182,51,51,204,51,133,255,102,182
696 .byte   99,99,145,99,63,242,198,92,99,99,145,99,63,242,198,92
697 .byte   2,2,8,2,16,10,4,18,2,2,8,2,16,10,4,18
698 .byte   170,170,146,170,57,56,73,147,170,170,146,170,57,56,73,147
699 .byte   113,113,217,113,175,168,226,222,113,113,217,113,175,168,226,222
700 .byte   200,200,7,200,14,207,141,198,200,200,7,200,14,207,141,198
701 .byte   25,25,100,25,200,125,50,209,25,25,100,25,200,125,50,209
702 .byte   73,73,57,73,114,112,146,59,73,73,57,73,114,112,146,59
703 .byte   217,217,67,217,134,154,175,95,217,217,67,217,134,154,175,95
704 .byte   242,242,239,242,195,29,249,49,242,242,239,242,195,29,249,49
705 .byte   227,227,171,227,75,72,219,168,227,227,171,227,75,72,219,168
706 .byte   91,91,113,91,226,42,182,185,91,91,113,91,226,42,182,185
707 .byte   136,136,26,136,52,146,13,188,136,136,26,136,52,146,13,188
708 .byte   154,154,82,154,164,200,41,62,154,154,82,154,164,200,41,62
709 .byte   38,38,152,38,45,190,76,11,38,38,152,38,45,190,76,11
710 .byte   50,50,200,50,141,250,100,191,50,50,200,50,141,250,100,191
711 .byte   176,176,250,176,233,74,125,89,176,176,250,176,233,74,125,89
712 .byte   233,233,131,233,27,106,207,242,233,233,131,233,27,106,207,242
713 .byte   15,15,60,15,120,51,30,119,15,15,60,15,120,51,30,119
714 .byte   213,213,115,213,230,166,183,51,213,213,115,213,230,166,183,51
715 .byte   128,128,58,128,116,186,29,244,128,128,58,128,116,186,29,244
716 .byte   190,190,194,190,153,124,97,39,190,190,194,190,153,124,97,39
717 .byte   205,205,19,205,38,222,135,235,205,205,19,205,38,222,135,235
718 .byte   52,52,208,52,189,228,104,137,52,52,208,52,189,228,104,137
719 .byte   72,72,61,72,122,117,144,50,72,72,61,72,122,117,144,50
720 .byte   255,255,219,255,171,36,227,84,255,255,219,255,171,36,227,84
721 .byte   122,122,245,122,247,143,244,141,122,122,245,122,247,143,244,141
722 .byte   144,144,122,144,244,234,61,100,144,144,122,144,244,234,61,100
723 .byte   95,95,97,95,194,62,190,157,95,95,97,95,194,62,190,157
724 .byte   32,32,128,32,29,160,64,61,32,32,128,32,29,160,64,61
725 .byte   104,104,189,104,103,213,208,15,104,104,189,104,103,213,208,15
726 .byte   26,26,104,26,208,114,52,202,26,26,104,26,208,114,52,202
727 .byte   174,174,130,174,25,44,65,183,174,174,130,174,25,44,65,183
728 .byte   180,180,234,180,201,94,117,125,180,180,234,180,201,94,117,125
729 .byte   84,84,77,84,154,25,168,206,84,84,77,84,154,25,168,206
730 .byte   147,147,118,147,236,229,59,127,147,147,118,147,236,229,59,127
731 .byte   34,34,136,34,13,170,68,47,34,34,136,34,13,170,68,47
732 .byte   100,100,141,100,7,233,200,99,100,100,141,100,7,233,200,99
733 .byte   241,241,227,241,219,18,255,42,241,241,227,241,219,18,255,42
734 .byte   115,115,209,115,191,162,230,204,115,115,209,115,191,162,230,204
735 .byte   18,18,72,18,144,90,36,130,18,18,72,18,144,90,36,130
736 .byte   64,64,29,64,58,93,128,122,64,64,29,64,58,93,128,122
737 .byte   8,8,32,8,64,40,16,72,8,8,32,8,64,40,16,72
738 .byte   195,195,43,195,86,232,155,149,195,195,43,195,86,232,155,149
739 .byte   236,236,151,236,51,123,197,223,236,236,151,236,51,123,197,223
740 .byte   219,219,75,219,150,144,171,77,219,219,75,219,150,144,171,77
741 .byte   161,161,190,161,97,31,95,192,161,161,190,161,97,31,95,192
742 .byte   141,141,14,141,28,131,7,145,141,141,14,141,28,131,7,145
743 .byte   61,61,244,61,245,201,122,200,61,61,244,61,245,201,122,200
744 .byte   151,151,102,151,204,241,51,91,151,151,102,151,204,241,51,91
745 .byte   0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
746 .byte   207,207,27,207,54,212,131,249,207,207,27,207,54,212,131,249
747 .byte   43,43,172,43,69,135,86,110,43,43,172,43,69,135,86,110
748 .byte   118,118,197,118,151,179,236,225,118,118,197,118,151,179,236,225
749 .byte   130,130,50,130,100,176,25,230,130,130,50,130,100,176,25,230
750 .byte   214,214,127,214,254,169,177,40,214,214,127,214,254,169,177,40
751 .byte   27,27,108,27,216,119,54,195,27,27,108,27,216,119,54,195
752 .byte   181,181,238,181,193,91,119,116,181,181,238,181,193,91,119,116
753 .byte   175,175,134,175,17,41,67,190,175,175,134,175,17,41,67,190
754 .byte   106,106,181,106,119,223,212,29,106,106,181,106,119,223,212,29
755 .byte   80,80,93,80,186,13,160,234,80,80,93,80,186,13,160,234
756 .byte   69,69,9,69,18,76,138,87,69,69,9,69,18,76,138,87
757 .byte   243,243,235,243,203,24,251,56,243,243,235,243,203,24,251,56
758 .byte   48,48,192,48,157,240,96,173,48,48,192,48,157,240,96,173
759 .byte   239,239,155,239,43,116,195,196,239,239,155,239,43,116,195,196
760 .byte   63,63,252,63,229,195,126,218,63,63,252,63,229,195,126,218
761 .byte   85,85,73,85,146,28,170,199,85,85,73,85,146,28,170,199
762 .byte   162,162,178,162,121,16,89,219,162,162,178,162,121,16,89,219
763 .byte   234,234,143,234,3,101,201,233,234,234,143,234,3,101,201,233
764 .byte   101,101,137,101,15,236,202,106,101,101,137,101,15,236,202,106
765 .byte   186,186,210,186,185,104,105,3,186,186,210,186,185,104,105,3
766 .byte   47,47,188,47,101,147,94,74,47,47,188,47,101,147,94,74
767 .byte   192,192,39,192,78,231,157,142,192,192,39,192,78,231,157,142
768 .byte   222,222,95,222,190,129,161,96,222,222,95,222,190,129,161,96
769 .byte   28,28,112,28,224,108,56,252,28,28,112,28,224,108,56,252
770 .byte   253,253,211,253,187,46,231,70,253,253,211,253,187,46,231,70
771 .byte   77,77,41,77,82,100,154,31,77,77,41,77,82,100,154,31
772 .byte   146,146,114,146,228,224,57,118,146,146,114,146,228,224,57,118
773 .byte   117,117,201,117,143,188,234,250,117,117,201,117,143,188,234,250
774 .byte   6,6,24,6,48,30,12,54,6,6,24,6,48,30,12,54
775 .byte   138,138,18,138,36,152,9,174,138,138,18,138,36,152,9,174
776 .byte   178,178,242,178,249,64,121,75,178,178,242,178,249,64,121,75
777 .byte   230,230,191,230,99,89,209,133,230,230,191,230,99,89,209,133
778 .byte   14,14,56,14,112,54,28,126,14,14,56,14,112,54,28,126
779 .byte   31,31,124,31,248,99,62,231,31,31,124,31,248,99,62,231
780 .byte   98,98,149,98,55,247,196,85,98,98,149,98,55,247,196,85
781 .byte   212,212,119,212,238,163,181,58,212,212,119,212,238,163,181,58
782 .byte   168,168,154,168,41,50,77,129,168,168,154,168,41,50,77,129
783 .byte   150,150,98,150,196,244,49,82,150,150,98,150,196,244,49,82
784 .byte   249,249,195,249,155,58,239,98,249,249,195,249,155,58,239,98
785 .byte   197,197,51,197,102,246,151,163,197,197,51,197,102,246,151,163
786 .byte   37,37,148,37,53,177,74,16,37,37,148,37,53,177,74,16
787 .byte   89,89,121,89,242,32,178,171,89,89,121,89,242,32,178,171
788 .byte   132,132,42,132,84,174,21,208,132,132,42,132,84,174,21,208
789 .byte   114,114,213,114,183,167,228,197,114,114,213,114,183,167,228,197
790 .byte   57,57,228,57,213,221,114,236,57,57,228,57,213,221,114,236
791 .byte   76,76,45,76,90,97,152,22,76,76,45,76,90,97,152,22
792 .byte   94,94,101,94,202,59,188,148,94,94,101,94,202,59,188,148
793 .byte   120,120,253,120,231,133,240,159,120,120,253,120,231,133,240,159
794 .byte   56,56,224,56,221,216,112,229,56,56,224,56,221,216,112,229
795 .byte   140,140,10,140,20,134,5,152,140,140,10,140,20,134,5,152
796 .byte   209,209,99,209,198,178,191,23,209,209,99,209,198,178,191,23
797 .byte   165,165,174,165,65,11,87,228,165,165,174,165,65,11,87,228
798 .byte   226,226,175,226,67,77,217,161,226,226,175,226,67,77,217,161
799 .byte   97,97,153,97,47,248,194,78,97,97,153,97,47,248,194,78
800 .byte   179,179,246,179,241,69,123,66,179,179,246,179,241,69,123,66
801 .byte   33,33,132,33,21,165,66,52,33,33,132,33,21,165,66,52
802 .byte   156,156,74,156,148,214,37,8,156,156,74,156,148,214,37,8
803 .byte   30,30,120,30,240,102,60,238,30,30,120,30,240,102,60,238
804 .byte   67,67,17,67,34,82,134,97,67,67,17,67,34,82,134,97
805 .byte   199,199,59,199,118,252,147,177,199,199,59,199,118,252,147,177
806 .byte   252,252,215,252,179,43,229,79,252,252,215,252,179,43,229,79
807 .byte   4,4,16,4,32,20,8,36,4,4,16,4,32,20,8,36
808 .byte   81,81,89,81,178,8,162,227,81,81,89,81,178,8,162,227
809 .byte   153,153,94,153,188,199,47,37,153,153,94,153,188,199,47,37
810 .byte   109,109,169,109,79,196,218,34,109,109,169,109,79,196,218,34
811 .byte   13,13,52,13,104,57,26,101,13,13,52,13,104,57,26,101
812 .byte   250,250,207,250,131,53,233,121,250,250,207,250,131,53,233,121
813 .byte   223,223,91,223,182,132,163,105,223,223,91,223,182,132,163,105
814 .byte   126,126,229,126,215,155,252,169,126,126,229,126,215,155,252,169
815 .byte   36,36,144,36,61,180,72,25,36,36,144,36,61,180,72,25
816 .byte   59,59,236,59,197,215,118,254,59,59,236,59,197,215,118,254
817 .byte   171,171,150,171,49,61,75,154,171,171,150,171,49,61,75,154
818 .byte   206,206,31,206,62,209,129,240,206,206,31,206,62,209,129,240
819 .byte   17,17,68,17,136,85,34,153,17,17,68,17,136,85,34,153
820 .byte   143,143,6,143,12,137,3,131,143,143,6,143,12,137,3,131
821 .byte   78,78,37,78,74,107,156,4,78,78,37,78,74,107,156,4
822 .byte   183,183,230,183,209,81,115,102,183,183,230,183,209,81,115,102
823 .byte   235,235,139,235,11,96,203,224,235,235,139,235,11,96,203,224
824 .byte   60,60,240,60,253,204,120,193,60,60,240,60,253,204,120,193
825 .byte   129,129,62,129,124,191,31,253,129,129,62,129,124,191,31,253
826 .byte   148,148,106,148,212,254,53,64,148,148,106,148,212,254,53,64
827 .byte   247,247,251,247,235,12,243,28,247,247,251,247,235,12,243,28
828 .byte   185,185,222,185,161,103,111,24,185,185,222,185,161,103,111,24
829 .byte   19,19,76,19,152,95,38,139,19,19,76,19,152,95,38,139
830 .byte   44,44,176,44,125,156,88,81,44,44,176,44,125,156,88,81
831 .byte   211,211,107,211,214,184,187,5,211,211,107,211,214,184,187,5
832 .byte   231,231,187,231,107,92,211,140,231,231,187,231,107,92,211,140
833 .byte   110,110,165,110,87,203,220,57,110,110,165,110,87,203,220,57
834 .byte   196,196,55,196,110,243,149,170,196,196,55,196,110,243,149,170
835 .byte   3,3,12,3,24,15,6,27,3,3,12,3,24,15,6,27
836 .byte   86,86,69,86,138,19,172,220,86,86,69,86,138,19,172,220
837 .byte   68,68,13,68,26,73,136,94,68,68,13,68,26,73,136,94
838 .byte   127,127,225,127,223,158,254,160,127,127,225,127,223,158,254,160
839 .byte   169,169,158,169,33,55,79,136,169,169,158,169,33,55,79,136
840 .byte   42,42,168,42,77,130,84,103,42,42,168,42,77,130,84,103
841 .byte   187,187,214,187,177,109,107,10,187,187,214,187,177,109,107,10
842 .byte   193,193,35,193,70,226,159,135,193,193,35,193,70,226,159,135
843 .byte   83,83,81,83,162,2,166,241,83,83,81,83,162,2,166,241
844 .byte   220,220,87,220,174,139,165,114,220,220,87,220,174,139,165,114
845 .byte   11,11,44,11,88,39,22,83,11,11,44,11,88,39,22,83
846 .byte   157,157,78,157,156,211,39,1,157,157,78,157,156,211,39,1
847 .byte   108,108,173,108,71,193,216,43,108,108,173,108,71,193,216,43
848 .byte   49,49,196,49,149,245,98,164,49,49,196,49,149,245,98,164
849 .byte   116,116,205,116,135,185,232,243,116,116,205,116,135,185,232,243
850 .byte   246,246,255,246,227,9,241,21,246,246,255,246,227,9,241,21
851 .byte   70,70,5,70,10,67,140,76,70,70,5,70,10,67,140,76
852 .byte   172,172,138,172,9,38,69,165,172,172,138,172,9,38,69,165
853 .byte   137,137,30,137,60,151,15,181,137,137,30,137,60,151,15,181
854 .byte   20,20,80,20,160,68,40,180,20,20,80,20,160,68,40,180
855 .byte   225,225,163,225,91,66,223,186,225,225,163,225,91,66,223,186
856 .byte   22,22,88,22,176,78,44,166,22,22,88,22,176,78,44,166
857 .byte   58,58,232,58,205,210,116,247,58,58,232,58,205,210,116,247
858 .byte   105,105,185,105,111,208,210,6,105,105,185,105,111,208,210,6
859 .byte   9,9,36,9,72,45,18,65,9,9,36,9,72,45,18,65
860 .byte   112,112,221,112,167,173,224,215,112,112,221,112,167,173,224,215
861 .byte   182,182,226,182,217,84,113,111,182,182,226,182,217,84,113,111
862 .byte   208,208,103,208,206,183,189,30,208,208,103,208,206,183,189,30
863 .byte   237,237,147,237,59,126,199,214,237,237,147,237,59,126,199,214
864 .byte   204,204,23,204,46,219,133,226,204,204,23,204,46,219,133,226
865 .byte   66,66,21,66,42,87,132,104,66,66,21,66,42,87,132,104
866 .byte   152,152,90,152,180,194,45,44,152,152,90,152,180,194,45,44
867 .byte   164,164,170,164,73,14,85,237,164,164,170,164,73,14,85,237
868 .byte   40,40,160,40,93,136,80,117,40,40,160,40,93,136,80,117
869 .byte   92,92,109,92,218,49,184,134,92,92,109,92,218,49,184,134
870 .byte   248,248,199,248,147,63,237,107,248,248,199,248,147,63,237,107
871 .byte   134,134,34,134,68,164,17,194,134,134,34,134,68,164,17,194
872 .byte   24,35,198,232,135,184,1,79
873 .byte   54,166,210,245,121,111,145,82
874 .byte   96,188,155,142,163,12,123,53
875 .byte   29,224,215,194,46,75,254,87
876 .byte   21,119,55,229,159,240,74,218
877 .byte   88,201,41,10,177,160,107,133
878 .byte   189,93,16,244,203,62,5,103
879 .byte   228,39,65,139,167,125,149,216
880 .byte   251,238,124,102,221,23,71,158
881 .byte   202,45,191,7,173,90,131,51