1238405Sjkim	# $FreeBSD$
2238405Sjkim.text
3238405Sjkim
4238405Sjkim.globl	whirlpool_block
5238405Sjkim.type	whirlpool_block,@function
6238405Sjkim.align	16
7238405Sjkimwhirlpool_block:
8238405Sjkim	pushq	%rbx
9238405Sjkim	pushq	%rbp
10238405Sjkim	pushq	%r12
11238405Sjkim	pushq	%r13
12238405Sjkim	pushq	%r14
13238405Sjkim	pushq	%r15
14238405Sjkim
15238405Sjkim	movq	%rsp,%r11
16238405Sjkim	subq	$128+40,%rsp
17238405Sjkim	andq	$-64,%rsp
18238405Sjkim
19238405Sjkim	leaq	128(%rsp),%r10
20238405Sjkim	movq	%rdi,0(%r10)
21238405Sjkim	movq	%rsi,8(%r10)
22238405Sjkim	movq	%rdx,16(%r10)
23238405Sjkim	movq	%r11,32(%r10)
24238405Sjkim.Lprologue:
25238405Sjkim
26238405Sjkim	movq	%r10,%rbx
27238405Sjkim	leaq	.Ltable(%rip),%rbp
28238405Sjkim
29238405Sjkim	xorq	%rcx,%rcx
30238405Sjkim	xorq	%rdx,%rdx
31238405Sjkim	movq	0(%rdi),%r8
32238405Sjkim	movq	8(%rdi),%r9
33238405Sjkim	movq	16(%rdi),%r10
34238405Sjkim	movq	24(%rdi),%r11
35238405Sjkim	movq	32(%rdi),%r12
36238405Sjkim	movq	40(%rdi),%r13
37238405Sjkim	movq	48(%rdi),%r14
38238405Sjkim	movq	56(%rdi),%r15
39238405Sjkim.Louterloop:
40238405Sjkim	movq	%r8,0(%rsp)
41238405Sjkim	movq	%r9,8(%rsp)
42238405Sjkim	movq	%r10,16(%rsp)
43238405Sjkim	movq	%r11,24(%rsp)
44238405Sjkim	movq	%r12,32(%rsp)
45238405Sjkim	movq	%r13,40(%rsp)
46238405Sjkim	movq	%r14,48(%rsp)
47238405Sjkim	movq	%r15,56(%rsp)
48238405Sjkim	xorq	0(%rsi),%r8
49238405Sjkim	xorq	8(%rsi),%r9
50238405Sjkim	xorq	16(%rsi),%r10
51238405Sjkim	xorq	24(%rsi),%r11
52238405Sjkim	xorq	32(%rsi),%r12
53238405Sjkim	xorq	40(%rsi),%r13
54238405Sjkim	xorq	48(%rsi),%r14
55238405Sjkim	xorq	56(%rsi),%r15
56238405Sjkim	movq	%r8,64+0(%rsp)
57238405Sjkim	movq	%r9,64+8(%rsp)
58238405Sjkim	movq	%r10,64+16(%rsp)
59238405Sjkim	movq	%r11,64+24(%rsp)
60238405Sjkim	movq	%r12,64+32(%rsp)
61238405Sjkim	movq	%r13,64+40(%rsp)
62238405Sjkim	movq	%r14,64+48(%rsp)
63238405Sjkim	movq	%r15,64+56(%rsp)
64238405Sjkim	xorq	%rsi,%rsi
65238405Sjkim	movq	%rsi,24(%rbx)
66238405Sjkim.align	16
67238405Sjkim.Lround:
68238405Sjkim	movq	4096(%rbp,%rsi,8),%r8
69238405Sjkim	movl	0(%rsp),%eax
70238405Sjkim	movl	4(%rsp),%ebx
71238405Sjkim	movb	%al,%cl
72238405Sjkim	movb	%ah,%dl
73238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
74238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
75238405Sjkim	shrl	$16,%eax
76238405Sjkim	xorq	0(%rbp,%rsi,8),%r8
77238405Sjkim	movq	7(%rbp,%rdi,8),%r9
78238405Sjkim	movb	%al,%cl
79238405Sjkim	movb	%ah,%dl
80238405Sjkim	movl	0+8(%rsp),%eax
81238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
82238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
83238405Sjkim	movq	6(%rbp,%rsi,8),%r10
84238405Sjkim	movq	5(%rbp,%rdi,8),%r11
85238405Sjkim	movb	%bl,%cl
86238405Sjkim	movb	%bh,%dl
87238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
88238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
89238405Sjkim	shrl	$16,%ebx
90238405Sjkim	movq	4(%rbp,%rsi,8),%r12
91238405Sjkim	movq	3(%rbp,%rdi,8),%r13
92238405Sjkim	movb	%bl,%cl
93238405Sjkim	movb	%bh,%dl
94238405Sjkim	movl	0+8+4(%rsp),%ebx
95238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
96238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
97238405Sjkim	movq	2(%rbp,%rsi,8),%r14
98238405Sjkim	movq	1(%rbp,%rdi,8),%r15
99238405Sjkim	movb	%al,%cl
100238405Sjkim	movb	%ah,%dl
101238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
102238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
103238405Sjkim	shrl	$16,%eax
104238405Sjkim	xorq	0(%rbp,%rsi,8),%r9
105238405Sjkim	xorq	7(%rbp,%rdi,8),%r10
106238405Sjkim	movb	%al,%cl
107238405Sjkim	movb	%ah,%dl
108238405Sjkim	movl	8+8(%rsp),%eax
109238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
110238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
111238405Sjkim	xorq	6(%rbp,%rsi,8),%r11
112238405Sjkim	xorq	5(%rbp,%rdi,8),%r12
113238405Sjkim	movb	%bl,%cl
114238405Sjkim	movb	%bh,%dl
115238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
116238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
117238405Sjkim	shrl	$16,%ebx
118238405Sjkim	xorq	4(%rbp,%rsi,8),%r13
119238405Sjkim	xorq	3(%rbp,%rdi,8),%r14
120238405Sjkim	movb	%bl,%cl
121238405Sjkim	movb	%bh,%dl
122238405Sjkim	movl	8+8+4(%rsp),%ebx
123238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
124238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
125238405Sjkim	xorq	2(%rbp,%rsi,8),%r15
126238405Sjkim	xorq	1(%rbp,%rdi,8),%r8
127238405Sjkim	movb	%al,%cl
128238405Sjkim	movb	%ah,%dl
129238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
130238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
131238405Sjkim	shrl	$16,%eax
132238405Sjkim	xorq	0(%rbp,%rsi,8),%r10
133238405Sjkim	xorq	7(%rbp,%rdi,8),%r11
134238405Sjkim	movb	%al,%cl
135238405Sjkim	movb	%ah,%dl
136238405Sjkim	movl	16+8(%rsp),%eax
137238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
138238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
139238405Sjkim	xorq	6(%rbp,%rsi,8),%r12
140238405Sjkim	xorq	5(%rbp,%rdi,8),%r13
141238405Sjkim	movb	%bl,%cl
142238405Sjkim	movb	%bh,%dl
143238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
144238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
145238405Sjkim	shrl	$16,%ebx
146238405Sjkim	xorq	4(%rbp,%rsi,8),%r14
147238405Sjkim	xorq	3(%rbp,%rdi,8),%r15
148238405Sjkim	movb	%bl,%cl
149238405Sjkim	movb	%bh,%dl
150238405Sjkim	movl	16+8+4(%rsp),%ebx
151238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
152238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
153238405Sjkim	xorq	2(%rbp,%rsi,8),%r8
154238405Sjkim	xorq	1(%rbp,%rdi,8),%r9
155238405Sjkim	movb	%al,%cl
156238405Sjkim	movb	%ah,%dl
157238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
158238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
159238405Sjkim	shrl	$16,%eax
160238405Sjkim	xorq	0(%rbp,%rsi,8),%r11
161238405Sjkim	xorq	7(%rbp,%rdi,8),%r12
162238405Sjkim	movb	%al,%cl
163238405Sjkim	movb	%ah,%dl
164238405Sjkim	movl	24+8(%rsp),%eax
165238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
166238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
167238405Sjkim	xorq	6(%rbp,%rsi,8),%r13
168238405Sjkim	xorq	5(%rbp,%rdi,8),%r14
169238405Sjkim	movb	%bl,%cl
170238405Sjkim	movb	%bh,%dl
171238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
172238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
173238405Sjkim	shrl	$16,%ebx
174238405Sjkim	xorq	4(%rbp,%rsi,8),%r15
175238405Sjkim	xorq	3(%rbp,%rdi,8),%r8
176238405Sjkim	movb	%bl,%cl
177238405Sjkim	movb	%bh,%dl
178238405Sjkim	movl	24+8+4(%rsp),%ebx
179238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
180238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
181238405Sjkim	xorq	2(%rbp,%rsi,8),%r9
182238405Sjkim	xorq	1(%rbp,%rdi,8),%r10
183238405Sjkim	movb	%al,%cl
184238405Sjkim	movb	%ah,%dl
185238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
186238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
187238405Sjkim	shrl	$16,%eax
188238405Sjkim	xorq	0(%rbp,%rsi,8),%r12
189238405Sjkim	xorq	7(%rbp,%rdi,8),%r13
190238405Sjkim	movb	%al,%cl
191238405Sjkim	movb	%ah,%dl
192238405Sjkim	movl	32+8(%rsp),%eax
193238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
194238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
195238405Sjkim	xorq	6(%rbp,%rsi,8),%r14
196238405Sjkim	xorq	5(%rbp,%rdi,8),%r15
197238405Sjkim	movb	%bl,%cl
198238405Sjkim	movb	%bh,%dl
199238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
200238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
201238405Sjkim	shrl	$16,%ebx
202238405Sjkim	xorq	4(%rbp,%rsi,8),%r8
203238405Sjkim	xorq	3(%rbp,%rdi,8),%r9
204238405Sjkim	movb	%bl,%cl
205238405Sjkim	movb	%bh,%dl
206238405Sjkim	movl	32+8+4(%rsp),%ebx
207238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
208238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
209238405Sjkim	xorq	2(%rbp,%rsi,8),%r10
210238405Sjkim	xorq	1(%rbp,%rdi,8),%r11
211238405Sjkim	movb	%al,%cl
212238405Sjkim	movb	%ah,%dl
213238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
214238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
215238405Sjkim	shrl	$16,%eax
216238405Sjkim	xorq	0(%rbp,%rsi,8),%r13
217238405Sjkim	xorq	7(%rbp,%rdi,8),%r14
218238405Sjkim	movb	%al,%cl
219238405Sjkim	movb	%ah,%dl
220238405Sjkim	movl	40+8(%rsp),%eax
221238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
222238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
223238405Sjkim	xorq	6(%rbp,%rsi,8),%r15
224238405Sjkim	xorq	5(%rbp,%rdi,8),%r8
225238405Sjkim	movb	%bl,%cl
226238405Sjkim	movb	%bh,%dl
227238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
228238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
229238405Sjkim	shrl	$16,%ebx
230238405Sjkim	xorq	4(%rbp,%rsi,8),%r9
231238405Sjkim	xorq	3(%rbp,%rdi,8),%r10
232238405Sjkim	movb	%bl,%cl
233238405Sjkim	movb	%bh,%dl
234238405Sjkim	movl	40+8+4(%rsp),%ebx
235238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
236238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
237238405Sjkim	xorq	2(%rbp,%rsi,8),%r11
238238405Sjkim	xorq	1(%rbp,%rdi,8),%r12
239238405Sjkim	movb	%al,%cl
240238405Sjkim	movb	%ah,%dl
241238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
242238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
243238405Sjkim	shrl	$16,%eax
244238405Sjkim	xorq	0(%rbp,%rsi,8),%r14
245238405Sjkim	xorq	7(%rbp,%rdi,8),%r15
246238405Sjkim	movb	%al,%cl
247238405Sjkim	movb	%ah,%dl
248238405Sjkim	movl	48+8(%rsp),%eax
249238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
250238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
251238405Sjkim	xorq	6(%rbp,%rsi,8),%r8
252238405Sjkim	xorq	5(%rbp,%rdi,8),%r9
253238405Sjkim	movb	%bl,%cl
254238405Sjkim	movb	%bh,%dl
255238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
256238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
257238405Sjkim	shrl	$16,%ebx
258238405Sjkim	xorq	4(%rbp,%rsi,8),%r10
259238405Sjkim	xorq	3(%rbp,%rdi,8),%r11
260238405Sjkim	movb	%bl,%cl
261238405Sjkim	movb	%bh,%dl
262238405Sjkim	movl	48+8+4(%rsp),%ebx
263238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
264238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
265238405Sjkim	xorq	2(%rbp,%rsi,8),%r12
266238405Sjkim	xorq	1(%rbp,%rdi,8),%r13
267238405Sjkim	movb	%al,%cl
268238405Sjkim	movb	%ah,%dl
269238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
270238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
271238405Sjkim	shrl	$16,%eax
272238405Sjkim	xorq	0(%rbp,%rsi,8),%r15
273238405Sjkim	xorq	7(%rbp,%rdi,8),%r8
274238405Sjkim	movb	%al,%cl
275238405Sjkim	movb	%ah,%dl
276238405Sjkim	movl	56+8(%rsp),%eax
277238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
278238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
279238405Sjkim	xorq	6(%rbp,%rsi,8),%r9
280238405Sjkim	xorq	5(%rbp,%rdi,8),%r10
281238405Sjkim	movb	%bl,%cl
282238405Sjkim	movb	%bh,%dl
283238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
284238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
285238405Sjkim	shrl	$16,%ebx
286238405Sjkim	xorq	4(%rbp,%rsi,8),%r11
287238405Sjkim	xorq	3(%rbp,%rdi,8),%r12
288238405Sjkim	movb	%bl,%cl
289238405Sjkim	movb	%bh,%dl
290238405Sjkim	movl	56+8+4(%rsp),%ebx
291238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
292238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
293238405Sjkim	xorq	2(%rbp,%rsi,8),%r13
294238405Sjkim	xorq	1(%rbp,%rdi,8),%r14
295238405Sjkim	movq	%r8,0(%rsp)
296238405Sjkim	movq	%r9,8(%rsp)
297238405Sjkim	movq	%r10,16(%rsp)
298238405Sjkim	movq	%r11,24(%rsp)
299238405Sjkim	movq	%r12,32(%rsp)
300238405Sjkim	movq	%r13,40(%rsp)
301238405Sjkim	movq	%r14,48(%rsp)
302238405Sjkim	movq	%r15,56(%rsp)
303238405Sjkim	movb	%al,%cl
304238405Sjkim	movb	%ah,%dl
305238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
306238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
307238405Sjkim	shrl	$16,%eax
308238405Sjkim	xorq	0(%rbp,%rsi,8),%r8
309238405Sjkim	xorq	7(%rbp,%rdi,8),%r9
310238405Sjkim	movb	%al,%cl
311238405Sjkim	movb	%ah,%dl
312238405Sjkim	movl	64+0+8(%rsp),%eax
313238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
314238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
315238405Sjkim	xorq	6(%rbp,%rsi,8),%r10
316238405Sjkim	xorq	5(%rbp,%rdi,8),%r11
317238405Sjkim	movb	%bl,%cl
318238405Sjkim	movb	%bh,%dl
319238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
320238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
321238405Sjkim	shrl	$16,%ebx
322238405Sjkim	xorq	4(%rbp,%rsi,8),%r12
323238405Sjkim	xorq	3(%rbp,%rdi,8),%r13
324238405Sjkim	movb	%bl,%cl
325238405Sjkim	movb	%bh,%dl
326238405Sjkim	movl	64+0+8+4(%rsp),%ebx
327238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
328238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
329238405Sjkim	xorq	2(%rbp,%rsi,8),%r14
330238405Sjkim	xorq	1(%rbp,%rdi,8),%r15
331238405Sjkim	movb	%al,%cl
332238405Sjkim	movb	%ah,%dl
333238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
334238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
335238405Sjkim	shrl	$16,%eax
336238405Sjkim	xorq	0(%rbp,%rsi,8),%r9
337238405Sjkim	xorq	7(%rbp,%rdi,8),%r10
338238405Sjkim	movb	%al,%cl
339238405Sjkim	movb	%ah,%dl
340238405Sjkim	movl	64+8+8(%rsp),%eax
341238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
342238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
343238405Sjkim	xorq	6(%rbp,%rsi,8),%r11
344238405Sjkim	xorq	5(%rbp,%rdi,8),%r12
345238405Sjkim	movb	%bl,%cl
346238405Sjkim	movb	%bh,%dl
347238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
348238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
349238405Sjkim	shrl	$16,%ebx
350238405Sjkim	xorq	4(%rbp,%rsi,8),%r13
351238405Sjkim	xorq	3(%rbp,%rdi,8),%r14
352238405Sjkim	movb	%bl,%cl
353238405Sjkim	movb	%bh,%dl
354238405Sjkim	movl	64+8+8+4(%rsp),%ebx
355238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
356238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
357238405Sjkim	xorq	2(%rbp,%rsi,8),%r15
358238405Sjkim	xorq	1(%rbp,%rdi,8),%r8
359238405Sjkim	movb	%al,%cl
360238405Sjkim	movb	%ah,%dl
361238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
362238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
363238405Sjkim	shrl	$16,%eax
364238405Sjkim	xorq	0(%rbp,%rsi,8),%r10
365238405Sjkim	xorq	7(%rbp,%rdi,8),%r11
366238405Sjkim	movb	%al,%cl
367238405Sjkim	movb	%ah,%dl
368238405Sjkim	movl	64+16+8(%rsp),%eax
369238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
370238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
371238405Sjkim	xorq	6(%rbp,%rsi,8),%r12
372238405Sjkim	xorq	5(%rbp,%rdi,8),%r13
373238405Sjkim	movb	%bl,%cl
374238405Sjkim	movb	%bh,%dl
375238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
376238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
377238405Sjkim	shrl	$16,%ebx
378238405Sjkim	xorq	4(%rbp,%rsi,8),%r14
379238405Sjkim	xorq	3(%rbp,%rdi,8),%r15
380238405Sjkim	movb	%bl,%cl
381238405Sjkim	movb	%bh,%dl
382238405Sjkim	movl	64+16+8+4(%rsp),%ebx
383238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
384238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
385238405Sjkim	xorq	2(%rbp,%rsi,8),%r8
386238405Sjkim	xorq	1(%rbp,%rdi,8),%r9
387238405Sjkim	movb	%al,%cl
388238405Sjkim	movb	%ah,%dl
389238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
390238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
391238405Sjkim	shrl	$16,%eax
392238405Sjkim	xorq	0(%rbp,%rsi,8),%r11
393238405Sjkim	xorq	7(%rbp,%rdi,8),%r12
394238405Sjkim	movb	%al,%cl
395238405Sjkim	movb	%ah,%dl
396238405Sjkim	movl	64+24+8(%rsp),%eax
397238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
398238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
399238405Sjkim	xorq	6(%rbp,%rsi,8),%r13
400238405Sjkim	xorq	5(%rbp,%rdi,8),%r14
401238405Sjkim	movb	%bl,%cl
402238405Sjkim	movb	%bh,%dl
403238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
404238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
405238405Sjkim	shrl	$16,%ebx
406238405Sjkim	xorq	4(%rbp,%rsi,8),%r15
407238405Sjkim	xorq	3(%rbp,%rdi,8),%r8
408238405Sjkim	movb	%bl,%cl
409238405Sjkim	movb	%bh,%dl
410238405Sjkim	movl	64+24+8+4(%rsp),%ebx
411238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
412238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
413238405Sjkim	xorq	2(%rbp,%rsi,8),%r9
414238405Sjkim	xorq	1(%rbp,%rdi,8),%r10
415238405Sjkim	movb	%al,%cl
416238405Sjkim	movb	%ah,%dl
417238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
418238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
419238405Sjkim	shrl	$16,%eax
420238405Sjkim	xorq	0(%rbp,%rsi,8),%r12
421238405Sjkim	xorq	7(%rbp,%rdi,8),%r13
422238405Sjkim	movb	%al,%cl
423238405Sjkim	movb	%ah,%dl
424238405Sjkim	movl	64+32+8(%rsp),%eax
425238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
426238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
427238405Sjkim	xorq	6(%rbp,%rsi,8),%r14
428238405Sjkim	xorq	5(%rbp,%rdi,8),%r15
429238405Sjkim	movb	%bl,%cl
430238405Sjkim	movb	%bh,%dl
431238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
432238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
433238405Sjkim	shrl	$16,%ebx
434238405Sjkim	xorq	4(%rbp,%rsi,8),%r8
435238405Sjkim	xorq	3(%rbp,%rdi,8),%r9
436238405Sjkim	movb	%bl,%cl
437238405Sjkim	movb	%bh,%dl
438238405Sjkim	movl	64+32+8+4(%rsp),%ebx
439238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
440238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
441238405Sjkim	xorq	2(%rbp,%rsi,8),%r10
442238405Sjkim	xorq	1(%rbp,%rdi,8),%r11
443238405Sjkim	movb	%al,%cl
444238405Sjkim	movb	%ah,%dl
445238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
446238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
447238405Sjkim	shrl	$16,%eax
448238405Sjkim	xorq	0(%rbp,%rsi,8),%r13
449238405Sjkim	xorq	7(%rbp,%rdi,8),%r14
450238405Sjkim	movb	%al,%cl
451238405Sjkim	movb	%ah,%dl
452238405Sjkim	movl	64+40+8(%rsp),%eax
453238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
454238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
455238405Sjkim	xorq	6(%rbp,%rsi,8),%r15
456238405Sjkim	xorq	5(%rbp,%rdi,8),%r8
457238405Sjkim	movb	%bl,%cl
458238405Sjkim	movb	%bh,%dl
459238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
460238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
461238405Sjkim	shrl	$16,%ebx
462238405Sjkim	xorq	4(%rbp,%rsi,8),%r9
463238405Sjkim	xorq	3(%rbp,%rdi,8),%r10
464238405Sjkim	movb	%bl,%cl
465238405Sjkim	movb	%bh,%dl
466238405Sjkim	movl	64+40+8+4(%rsp),%ebx
467238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
468238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
469238405Sjkim	xorq	2(%rbp,%rsi,8),%r11
470238405Sjkim	xorq	1(%rbp,%rdi,8),%r12
471238405Sjkim	movb	%al,%cl
472238405Sjkim	movb	%ah,%dl
473238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
474238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
475238405Sjkim	shrl	$16,%eax
476238405Sjkim	xorq	0(%rbp,%rsi,8),%r14
477238405Sjkim	xorq	7(%rbp,%rdi,8),%r15
478238405Sjkim	movb	%al,%cl
479238405Sjkim	movb	%ah,%dl
480238405Sjkim	movl	64+48+8(%rsp),%eax
481238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
482238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
483238405Sjkim	xorq	6(%rbp,%rsi,8),%r8
484238405Sjkim	xorq	5(%rbp,%rdi,8),%r9
485238405Sjkim	movb	%bl,%cl
486238405Sjkim	movb	%bh,%dl
487238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
488238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
489238405Sjkim	shrl	$16,%ebx
490238405Sjkim	xorq	4(%rbp,%rsi,8),%r10
491238405Sjkim	xorq	3(%rbp,%rdi,8),%r11
492238405Sjkim	movb	%bl,%cl
493238405Sjkim	movb	%bh,%dl
494238405Sjkim	movl	64+48+8+4(%rsp),%ebx
495238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
496238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
497238405Sjkim	xorq	2(%rbp,%rsi,8),%r12
498238405Sjkim	xorq	1(%rbp,%rdi,8),%r13
499238405Sjkim	movb	%al,%cl
500238405Sjkim	movb	%ah,%dl
501238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
502238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
503238405Sjkim	shrl	$16,%eax
504238405Sjkim	xorq	0(%rbp,%rsi,8),%r15
505238405Sjkim	xorq	7(%rbp,%rdi,8),%r8
506238405Sjkim	movb	%al,%cl
507238405Sjkim	movb	%ah,%dl
508238405Sjkim
509238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
510238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
511238405Sjkim	xorq	6(%rbp,%rsi,8),%r9
512238405Sjkim	xorq	5(%rbp,%rdi,8),%r10
513238405Sjkim	movb	%bl,%cl
514238405Sjkim	movb	%bh,%dl
515238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
516238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
517238405Sjkim	shrl	$16,%ebx
518238405Sjkim	xorq	4(%rbp,%rsi,8),%r11
519238405Sjkim	xorq	3(%rbp,%rdi,8),%r12
520238405Sjkim	movb	%bl,%cl
521238405Sjkim	movb	%bh,%dl
522238405Sjkim
523238405Sjkim	leaq	(%rcx,%rcx,1),%rsi
524238405Sjkim	leaq	(%rdx,%rdx,1),%rdi
525238405Sjkim	xorq	2(%rbp,%rsi,8),%r13
526238405Sjkim	xorq	1(%rbp,%rdi,8),%r14
527238405Sjkim	leaq	128(%rsp),%rbx
528238405Sjkim	movq	24(%rbx),%rsi
529238405Sjkim	addq	$1,%rsi
530238405Sjkim	cmpq	$10,%rsi
531238405Sjkim	je	.Lroundsdone
532238405Sjkim
533238405Sjkim	movq	%rsi,24(%rbx)
534238405Sjkim	movq	%r8,64+0(%rsp)
535238405Sjkim	movq	%r9,64+8(%rsp)
536238405Sjkim	movq	%r10,64+16(%rsp)
537238405Sjkim	movq	%r11,64+24(%rsp)
538238405Sjkim	movq	%r12,64+32(%rsp)
539238405Sjkim	movq	%r13,64+40(%rsp)
540238405Sjkim	movq	%r14,64+48(%rsp)
541238405Sjkim	movq	%r15,64+56(%rsp)
542238405Sjkim	jmp	.Lround
543238405Sjkim.align	16
544238405Sjkim.Lroundsdone:
545238405Sjkim	movq	0(%rbx),%rdi
546238405Sjkim	movq	8(%rbx),%rsi
547238405Sjkim	movq	16(%rbx),%rax
548238405Sjkim	xorq	0(%rsi),%r8
549238405Sjkim	xorq	8(%rsi),%r9
550238405Sjkim	xorq	16(%rsi),%r10
551238405Sjkim	xorq	24(%rsi),%r11
552238405Sjkim	xorq	32(%rsi),%r12
553238405Sjkim	xorq	40(%rsi),%r13
554238405Sjkim	xorq	48(%rsi),%r14
555238405Sjkim	xorq	56(%rsi),%r15
556238405Sjkim	xorq	0(%rdi),%r8
557238405Sjkim	xorq	8(%rdi),%r9
558238405Sjkim	xorq	16(%rdi),%r10
559238405Sjkim	xorq	24(%rdi),%r11
560238405Sjkim	xorq	32(%rdi),%r12
561238405Sjkim	xorq	40(%rdi),%r13
562238405Sjkim	xorq	48(%rdi),%r14
563238405Sjkim	xorq	56(%rdi),%r15
564238405Sjkim	movq	%r8,0(%rdi)
565238405Sjkim	movq	%r9,8(%rdi)
566238405Sjkim	movq	%r10,16(%rdi)
567238405Sjkim	movq	%r11,24(%rdi)
568238405Sjkim	movq	%r12,32(%rdi)
569238405Sjkim	movq	%r13,40(%rdi)
570238405Sjkim	movq	%r14,48(%rdi)
571238405Sjkim	movq	%r15,56(%rdi)
572238405Sjkim	leaq	64(%rsi),%rsi
573238405Sjkim	subq	$1,%rax
574238405Sjkim	jz	.Lalldone
575238405Sjkim	movq	%rsi,8(%rbx)
576238405Sjkim	movq	%rax,16(%rbx)
577238405Sjkim	jmp	.Louterloop
578238405Sjkim.Lalldone:
579238405Sjkim	movq	32(%rbx),%rsi
580238405Sjkim	movq	(%rsi),%r15
581238405Sjkim	movq	8(%rsi),%r14
582238405Sjkim	movq	16(%rsi),%r13
583238405Sjkim	movq	24(%rsi),%r12
584238405Sjkim	movq	32(%rsi),%rbp
585238405Sjkim	movq	40(%rsi),%rbx
586238405Sjkim	leaq	48(%rsi),%rsp
587238405Sjkim.Lepilogue:
588238405Sjkim	.byte	0xf3,0xc3
589238405Sjkim.size	whirlpool_block,.-whirlpool_block
590238405Sjkim
591238405Sjkim.align	64
592238405Sjkim.type	.Ltable,@object
593238405Sjkim.Ltable:
594238405Sjkim.byte	24,24,96,24,192,120,48,216,24,24,96,24,192,120,48,216
595238405Sjkim.byte	35,35,140,35,5,175,70,38,35,35,140,35,5,175,70,38
596238405Sjkim.byte	198,198,63,198,126,249,145,184,198,198,63,198,126,249,145,184
597238405Sjkim.byte	232,232,135,232,19,111,205,251,232,232,135,232,19,111,205,251
598238405Sjkim.byte	135,135,38,135,76,161,19,203,135,135,38,135,76,161,19,203
599238405Sjkim.byte	184,184,218,184,169,98,109,17,184,184,218,184,169,98,109,17
600238405Sjkim.byte	1,1,4,1,8,5,2,9,1,1,4,1,8,5,2,9
601238405Sjkim.byte	79,79,33,79,66,110,158,13,79,79,33,79,66,110,158,13
602238405Sjkim.byte	54,54,216,54,173,238,108,155,54,54,216,54,173,238,108,155
603238405Sjkim.byte	166,166,162,166,89,4,81,255,166,166,162,166,89,4,81,255
604238405Sjkim.byte	210,210,111,210,222,189,185,12,210,210,111,210,222,189,185,12
605238405Sjkim.byte	245,245,243,245,251,6,247,14,245,245,243,245,251,6,247,14
606238405Sjkim.byte	121,121,249,121,239,128,242,150,121,121,249,121,239,128,242,150
607238405Sjkim.byte	111,111,161,111,95,206,222,48,111,111,161,111,95,206,222,48
608238405Sjkim.byte	145,145,126,145,252,239,63,109,145,145,126,145,252,239,63,109
609238405Sjkim.byte	82,82,85,82,170,7,164,248,82,82,85,82,170,7,164,248
610238405Sjkim.byte	96,96,157,96,39,253,192,71,96,96,157,96,39,253,192,71
611238405Sjkim.byte	188,188,202,188,137,118,101,53,188,188,202,188,137,118,101,53
612238405Sjkim.byte	155,155,86,155,172,205,43,55,155,155,86,155,172,205,43,55
613238405Sjkim.byte	142,142,2,142,4,140,1,138,142,142,2,142,4,140,1,138
614238405Sjkim.byte	163,163,182,163,113,21,91,210,163,163,182,163,113,21,91,210
615238405Sjkim.byte	12,12,48,12,96,60,24,108,12,12,48,12,96,60,24,108
616238405Sjkim.byte	123,123,241,123,255,138,246,132,123,123,241,123,255,138,246,132
617238405Sjkim.byte	53,53,212,53,181,225,106,128,53,53,212,53,181,225,106,128
618238405Sjkim.byte	29,29,116,29,232,105,58,245,29,29,116,29,232,105,58,245
619238405Sjkim.byte	224,224,167,224,83,71,221,179,224,224,167,224,83,71,221,179
620238405Sjkim.byte	215,215,123,215,246,172,179,33,215,215,123,215,246,172,179,33
621238405Sjkim.byte	194,194,47,194,94,237,153,156,194,194,47,194,94,237,153,156
622238405Sjkim.byte	46,46,184,46,109,150,92,67,46,46,184,46,109,150,92,67
623238405Sjkim.byte	75,75,49,75,98,122,150,41,75,75,49,75,98,122,150,41
624238405Sjkim.byte	254,254,223,254,163,33,225,93,254,254,223,254,163,33,225,93
625238405Sjkim.byte	87,87,65,87,130,22,174,213,87,87,65,87,130,22,174,213
626238405Sjkim.byte	21,21,84,21,168,65,42,189,21,21,84,21,168,65,42,189
627238405Sjkim.byte	119,119,193,119,159,182,238,232,119,119,193,119,159,182,238,232
628238405Sjkim.byte	55,55,220,55,165,235,110,146,55,55,220,55,165,235,110,146
629238405Sjkim.byte	229,229,179,229,123,86,215,158,229,229,179,229,123,86,215,158
630238405Sjkim.byte	159,159,70,159,140,217,35,19,159,159,70,159,140,217,35,19
631238405Sjkim.byte	240,240,231,240,211,23,253,35,240,240,231,240,211,23,253,35
632238405Sjkim.byte	74,74,53,74,106,127,148,32,74,74,53,74,106,127,148,32
633238405Sjkim.byte	218,218,79,218,158,149,169,68,218,218,79,218,158,149,169,68
634238405Sjkim.byte	88,88,125,88,250,37,176,162,88,88,125,88,250,37,176,162
635238405Sjkim.byte	201,201,3,201,6,202,143,207,201,201,3,201,6,202,143,207
636238405Sjkim.byte	41,41,164,41,85,141,82,124,41,41,164,41,85,141,82,124
637238405Sjkim.byte	10,10,40,10,80,34,20,90,10,10,40,10,80,34,20,90
638238405Sjkim.byte	177,177,254,177,225,79,127,80,177,177,254,177,225,79,127,80
639238405Sjkim.byte	160,160,186,160,105,26,93,201,160,160,186,160,105,26,93,201
640238405Sjkim.byte	107,107,177,107,127,218,214,20,107,107,177,107,127,218,214,20
641238405Sjkim.byte	133,133,46,133,92,171,23,217,133,133,46,133,92,171,23,217
642238405Sjkim.byte	189,189,206,189,129,115,103,60,189,189,206,189,129,115,103,60
643238405Sjkim.byte	93,93,105,93,210,52,186,143,93,93,105,93,210,52,186,143
644238405Sjkim.byte	16,16,64,16,128,80,32,144,16,16,64,16,128,80,32,144
645238405Sjkim.byte	244,244,247,244,243,3,245,7,244,244,247,244,243,3,245,7
646238405Sjkim.byte	203,203,11,203,22,192,139,221,203,203,11,203,22,192,139,221
647238405Sjkim.byte	62,62,248,62,237,198,124,211,62,62,248,62,237,198,124,211
648238405Sjkim.byte	5,5,20,5,40,17,10,45,5,5,20,5,40,17,10,45
649238405Sjkim.byte	103,103,129,103,31,230,206,120,103,103,129,103,31,230,206,120
650238405Sjkim.byte	228,228,183,228,115,83,213,151,228,228,183,228,115,83,213,151
651238405Sjkim.byte	39,39,156,39,37,187,78,2,39,39,156,39,37,187,78,2
652238405Sjkim.byte	65,65,25,65,50,88,130,115,65,65,25,65,50,88,130,115
653238405Sjkim.byte	139,139,22,139,44,157,11,167,139,139,22,139,44,157,11,167
654238405Sjkim.byte	167,167,166,167,81,1,83,246,167,167,166,167,81,1,83,246
655238405Sjkim.byte	125,125,233,125,207,148,250,178,125,125,233,125,207,148,250,178
656238405Sjkim.byte	149,149,110,149,220,251,55,73,149,149,110,149,220,251,55,73
657238405Sjkim.byte	216,216,71,216,142,159,173,86,216,216,71,216,142,159,173,86
658238405Sjkim.byte	251,251,203,251,139,48,235,112,251,251,203,251,139,48,235,112
659238405Sjkim.byte	238,238,159,238,35,113,193,205,238,238,159,238,35,113,193,205
660238405Sjkim.byte	124,124,237,124,199,145,248,187,124,124,237,124,199,145,248,187
661238405Sjkim.byte	102,102,133,102,23,227,204,113,102,102,133,102,23,227,204,113
662238405Sjkim.byte	221,221,83,221,166,142,167,123,221,221,83,221,166,142,167,123
663238405Sjkim.byte	23,23,92,23,184,75,46,175,23,23,92,23,184,75,46,175
664238405Sjkim.byte	71,71,1,71,2,70,142,69,71,71,1,71,2,70,142,69
665238405Sjkim.byte	158,158,66,158,132,220,33,26,158,158,66,158,132,220,33,26
666238405Sjkim.byte	202,202,15,202,30,197,137,212,202,202,15,202,30,197,137,212
667238405Sjkim.byte	45,45,180,45,117,153,90,88,45,45,180,45,117,153,90,88
668238405Sjkim.byte	191,191,198,191,145,121,99,46,191,191,198,191,145,121,99,46
669238405Sjkim.byte	7,7,28,7,56,27,14,63,7,7,28,7,56,27,14,63
670238405Sjkim.byte	173,173,142,173,1,35,71,172,173,173,142,173,1,35,71,172
671238405Sjkim.byte	90,90,117,90,234,47,180,176,90,90,117,90,234,47,180,176
672238405Sjkim.byte	131,131,54,131,108,181,27,239,131,131,54,131,108,181,27,239
673238405Sjkim.byte	51,51,204,51,133,255,102,182,51,51,204,51,133,255,102,182
674238405Sjkim.byte	99,99,145,99,63,242,198,92,99,99,145,99,63,242,198,92
675238405Sjkim.byte	2,2,8,2,16,10,4,18,2,2,8,2,16,10,4,18
676238405Sjkim.byte	170,170,146,170,57,56,73,147,170,170,146,170,57,56,73,147
677238405Sjkim.byte	113,113,217,113,175,168,226,222,113,113,217,113,175,168,226,222
678238405Sjkim.byte	200,200,7,200,14,207,141,198,200,200,7,200,14,207,141,198
679238405Sjkim.byte	25,25,100,25,200,125,50,209,25,25,100,25,200,125,50,209
680238405Sjkim.byte	73,73,57,73,114,112,146,59,73,73,57,73,114,112,146,59
681238405Sjkim.byte	217,217,67,217,134,154,175,95,217,217,67,217,134,154,175,95
682238405Sjkim.byte	242,242,239,242,195,29,249,49,242,242,239,242,195,29,249,49
683238405Sjkim.byte	227,227,171,227,75,72,219,168,227,227,171,227,75,72,219,168
684238405Sjkim.byte	91,91,113,91,226,42,182,185,91,91,113,91,226,42,182,185
685238405Sjkim.byte	136,136,26,136,52,146,13,188,136,136,26,136,52,146,13,188
686238405Sjkim.byte	154,154,82,154,164,200,41,62,154,154,82,154,164,200,41,62
687238405Sjkim.byte	38,38,152,38,45,190,76,11,38,38,152,38,45,190,76,11
688238405Sjkim.byte	50,50,200,50,141,250,100,191,50,50,200,50,141,250,100,191
689238405Sjkim.byte	176,176,250,176,233,74,125,89,176,176,250,176,233,74,125,89
690238405Sjkim.byte	233,233,131,233,27,106,207,242,233,233,131,233,27,106,207,242
691238405Sjkim.byte	15,15,60,15,120,51,30,119,15,15,60,15,120,51,30,119
692238405Sjkim.byte	213,213,115,213,230,166,183,51,213,213,115,213,230,166,183,51
693238405Sjkim.byte	128,128,58,128,116,186,29,244,128,128,58,128,116,186,29,244
694238405Sjkim.byte	190,190,194,190,153,124,97,39,190,190,194,190,153,124,97,39
695238405Sjkim.byte	205,205,19,205,38,222,135,235,205,205,19,205,38,222,135,235
696238405Sjkim.byte	52,52,208,52,189,228,104,137,52,52,208,52,189,228,104,137
697238405Sjkim.byte	72,72,61,72,122,117,144,50,72,72,61,72,122,117,144,50
698238405Sjkim.byte	255,255,219,255,171,36,227,84,255,255,219,255,171,36,227,84
699238405Sjkim.byte	122,122,245,122,247,143,244,141,122,122,245,122,247,143,244,141
700238405Sjkim.byte	144,144,122,144,244,234,61,100,144,144,122,144,244,234,61,100
701238405Sjkim.byte	95,95,97,95,194,62,190,157,95,95,97,95,194,62,190,157
702238405Sjkim.byte	32,32,128,32,29,160,64,61,32,32,128,32,29,160,64,61
703238405Sjkim.byte	104,104,189,104,103,213,208,15,104,104,189,104,103,213,208,15
704238405Sjkim.byte	26,26,104,26,208,114,52,202,26,26,104,26,208,114,52,202
705238405Sjkim.byte	174,174,130,174,25,44,65,183,174,174,130,174,25,44,65,183
706238405Sjkim.byte	180,180,234,180,201,94,117,125,180,180,234,180,201,94,117,125
707238405Sjkim.byte	84,84,77,84,154,25,168,206,84,84,77,84,154,25,168,206
708238405Sjkim.byte	147,147,118,147,236,229,59,127,147,147,118,147,236,229,59,127
709238405Sjkim.byte	34,34,136,34,13,170,68,47,34,34,136,34,13,170,68,47
710238405Sjkim.byte	100,100,141,100,7,233,200,99,100,100,141,100,7,233,200,99
711238405Sjkim.byte	241,241,227,241,219,18,255,42,241,241,227,241,219,18,255,42
712238405Sjkim.byte	115,115,209,115,191,162,230,204,115,115,209,115,191,162,230,204
713238405Sjkim.byte	18,18,72,18,144,90,36,130,18,18,72,18,144,90,36,130
714238405Sjkim.byte	64,64,29,64,58,93,128,122,64,64,29,64,58,93,128,122
715238405Sjkim.byte	8,8,32,8,64,40,16,72,8,8,32,8,64,40,16,72
716238405Sjkim.byte	195,195,43,195,86,232,155,149,195,195,43,195,86,232,155,149
717238405Sjkim.byte	236,236,151,236,51,123,197,223,236,236,151,236,51,123,197,223
718238405Sjkim.byte	219,219,75,219,150,144,171,77,219,219,75,219,150,144,171,77
719238405Sjkim.byte	161,161,190,161,97,31,95,192,161,161,190,161,97,31,95,192
720238405Sjkim.byte	141,141,14,141,28,131,7,145,141,141,14,141,28,131,7,145
721238405Sjkim.byte	61,61,244,61,245,201,122,200,61,61,244,61,245,201,122,200
722238405Sjkim.byte	151,151,102,151,204,241,51,91,151,151,102,151,204,241,51,91
723238405Sjkim.byte	0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
724238405Sjkim.byte	207,207,27,207,54,212,131,249,207,207,27,207,54,212,131,249
725238405Sjkim.byte	43,43,172,43,69,135,86,110,43,43,172,43,69,135,86,110
726238405Sjkim.byte	118,118,197,118,151,179,236,225,118,118,197,118,151,179,236,225
727238405Sjkim.byte	130,130,50,130,100,176,25,230,130,130,50,130,100,176,25,230
728238405Sjkim.byte	214,214,127,214,254,169,177,40,214,214,127,214,254,169,177,40
729238405Sjkim.byte	27,27,108,27,216,119,54,195,27,27,108,27,216,119,54,195
730238405Sjkim.byte	181,181,238,181,193,91,119,116,181,181,238,181,193,91,119,116
731238405Sjkim.byte	175,175,134,175,17,41,67,190,175,175,134,175,17,41,67,190
732238405Sjkim.byte	106,106,181,106,119,223,212,29,106,106,181,106,119,223,212,29
733238405Sjkim.byte	80,80,93,80,186,13,160,234,80,80,93,80,186,13,160,234
734238405Sjkim.byte	69,69,9,69,18,76,138,87,69,69,9,69,18,76,138,87
735238405Sjkim.byte	243,243,235,243,203,24,251,56,243,243,235,243,203,24,251,56
736238405Sjkim.byte	48,48,192,48,157,240,96,173,48,48,192,48,157,240,96,173
737238405Sjkim.byte	239,239,155,239,43,116,195,196,239,239,155,239,43,116,195,196
738238405Sjkim.byte	63,63,252,63,229,195,126,218,63,63,252,63,229,195,126,218
739238405Sjkim.byte	85,85,73,85,146,28,170,199,85,85,73,85,146,28,170,199
740238405Sjkim.byte	162,162,178,162,121,16,89,219,162,162,178,162,121,16,89,219
741238405Sjkim.byte	234,234,143,234,3,101,201,233,234,234,143,234,3,101,201,233
742238405Sjkim.byte	101,101,137,101,15,236,202,106,101,101,137,101,15,236,202,106
743238405Sjkim.byte	186,186,210,186,185,104,105,3,186,186,210,186,185,104,105,3
744238405Sjkim.byte	47,47,188,47,101,147,94,74,47,47,188,47,101,147,94,74
745238405Sjkim.byte	192,192,39,192,78,231,157,142,192,192,39,192,78,231,157,142
746238405Sjkim.byte	222,222,95,222,190,129,161,96,222,222,95,222,190,129,161,96
747238405Sjkim.byte	28,28,112,28,224,108,56,252,28,28,112,28,224,108,56,252
748238405Sjkim.byte	253,253,211,253,187,46,231,70,253,253,211,253,187,46,231,70
749238405Sjkim.byte	77,77,41,77,82,100,154,31,77,77,41,77,82,100,154,31
750238405Sjkim.byte	146,146,114,146,228,224,57,118,146,146,114,146,228,224,57,118
751238405Sjkim.byte	117,117,201,117,143,188,234,250,117,117,201,117,143,188,234,250
752238405Sjkim.byte	6,6,24,6,48,30,12,54,6,6,24,6,48,30,12,54
753238405Sjkim.byte	138,138,18,138,36,152,9,174,138,138,18,138,36,152,9,174
754238405Sjkim.byte	178,178,242,178,249,64,121,75,178,178,242,178,249,64,121,75
755238405Sjkim.byte	230,230,191,230,99,89,209,133,230,230,191,230,99,89,209,133
756238405Sjkim.byte	14,14,56,14,112,54,28,126,14,14,56,14,112,54,28,126
757238405Sjkim.byte	31,31,124,31,248,99,62,231,31,31,124,31,248,99,62,231
758238405Sjkim.byte	98,98,149,98,55,247,196,85,98,98,149,98,55,247,196,85
759238405Sjkim.byte	212,212,119,212,238,163,181,58,212,212,119,212,238,163,181,58
760238405Sjkim.byte	168,168,154,168,41,50,77,129,168,168,154,168,41,50,77,129
761238405Sjkim.byte	150,150,98,150,196,244,49,82,150,150,98,150,196,244,49,82
762238405Sjkim.byte	249,249,195,249,155,58,239,98,249,249,195,249,155,58,239,98
763238405Sjkim.byte	197,197,51,197,102,246,151,163,197,197,51,197,102,246,151,163
764238405Sjkim.byte	37,37,148,37,53,177,74,16,37,37,148,37,53,177,74,16
765238405Sjkim.byte	89,89,121,89,242,32,178,171,89,89,121,89,242,32,178,171
766238405Sjkim.byte	132,132,42,132,84,174,21,208,132,132,42,132,84,174,21,208
767238405Sjkim.byte	114,114,213,114,183,167,228,197,114,114,213,114,183,167,228,197
768238405Sjkim.byte	57,57,228,57,213,221,114,236,57,57,228,57,213,221,114,236
769238405Sjkim.byte	76,76,45,76,90,97,152,22,76,76,45,76,90,97,152,22
770238405Sjkim.byte	94,94,101,94,202,59,188,148,94,94,101,94,202,59,188,148
771238405Sjkim.byte	120,120,253,120,231,133,240,159,120,120,253,120,231,133,240,159
772238405Sjkim.byte	56,56,224,56,221,216,112,229,56,56,224,56,221,216,112,229
773238405Sjkim.byte	140,140,10,140,20,134,5,152,140,140,10,140,20,134,5,152
774238405Sjkim.byte	209,209,99,209,198,178,191,23,209,209,99,209,198,178,191,23
775238405Sjkim.byte	165,165,174,165,65,11,87,228,165,165,174,165,65,11,87,228
776238405Sjkim.byte	226,226,175,226,67,77,217,161,226,226,175,226,67,77,217,161
777238405Sjkim.byte	97,97,153,97,47,248,194,78,97,97,153,97,47,248,194,78
778238405Sjkim.byte	179,179,246,179,241,69,123,66,179,179,246,179,241,69,123,66
779238405Sjkim.byte	33,33,132,33,21,165,66,52,33,33,132,33,21,165,66,52
780238405Sjkim.byte	156,156,74,156,148,214,37,8,156,156,74,156,148,214,37,8
781238405Sjkim.byte	30,30,120,30,240,102,60,238,30,30,120,30,240,102,60,238
782238405Sjkim.byte	67,67,17,67,34,82,134,97,67,67,17,67,34,82,134,97
783238405Sjkim.byte	199,199,59,199,118,252,147,177,199,199,59,199,118,252,147,177
784238405Sjkim.byte	252,252,215,252,179,43,229,79,252,252,215,252,179,43,229,79
785238405Sjkim.byte	4,4,16,4,32,20,8,36,4,4,16,4,32,20,8,36
786238405Sjkim.byte	81,81,89,81,178,8,162,227,81,81,89,81,178,8,162,227
787238405Sjkim.byte	153,153,94,153,188,199,47,37,153,153,94,153,188,199,47,37
788238405Sjkim.byte	109,109,169,109,79,196,218,34,109,109,169,109,79,196,218,34
789238405Sjkim.byte	13,13,52,13,104,57,26,101,13,13,52,13,104,57,26,101
790238405Sjkim.byte	250,250,207,250,131,53,233,121,250,250,207,250,131,53,233,121
791238405Sjkim.byte	223,223,91,223,182,132,163,105,223,223,91,223,182,132,163,105
792238405Sjkim.byte	126,126,229,126,215,155,252,169,126,126,229,126,215,155,252,169
793238405Sjkim.byte	36,36,144,36,61,180,72,25,36,36,144,36,61,180,72,25
794238405Sjkim.byte	59,59,236,59,197,215,118,254,59,59,236,59,197,215,118,254
795238405Sjkim.byte	171,171,150,171,49,61,75,154,171,171,150,171,49,61,75,154
796238405Sjkim.byte	206,206,31,206,62,209,129,240,206,206,31,206,62,209,129,240
797238405Sjkim.byte	17,17,68,17,136,85,34,153,17,17,68,17,136,85,34,153
798238405Sjkim.byte	143,143,6,143,12,137,3,131,143,143,6,143,12,137,3,131
799238405Sjkim.byte	78,78,37,78,74,107,156,4,78,78,37,78,74,107,156,4
800238405Sjkim.byte	183,183,230,183,209,81,115,102,183,183,230,183,209,81,115,102
801238405Sjkim.byte	235,235,139,235,11,96,203,224,235,235,139,235,11,96,203,224
802238405Sjkim.byte	60,60,240,60,253,204,120,193,60,60,240,60,253,204,120,193
803238405Sjkim.byte	129,129,62,129,124,191,31,253,129,129,62,129,124,191,31,253
804238405Sjkim.byte	148,148,106,148,212,254,53,64,148,148,106,148,212,254,53,64
805238405Sjkim.byte	247,247,251,247,235,12,243,28,247,247,251,247,235,12,243,28
806238405Sjkim.byte	185,185,222,185,161,103,111,24,185,185,222,185,161,103,111,24
807238405Sjkim.byte	19,19,76,19,152,95,38,139,19,19,76,19,152,95,38,139
808238405Sjkim.byte	44,44,176,44,125,156,88,81,44,44,176,44,125,156,88,81
809238405Sjkim.byte	211,211,107,211,214,184,187,5,211,211,107,211,214,184,187,5
810238405Sjkim.byte	231,231,187,231,107,92,211,140,231,231,187,231,107,92,211,140
811238405Sjkim.byte	110,110,165,110,87,203,220,57,110,110,165,110,87,203,220,57
812238405Sjkim.byte	196,196,55,196,110,243,149,170,196,196,55,196,110,243,149,170
813238405Sjkim.byte	3,3,12,3,24,15,6,27,3,3,12,3,24,15,6,27
814238405Sjkim.byte	86,86,69,86,138,19,172,220,86,86,69,86,138,19,172,220
815238405Sjkim.byte	68,68,13,68,26,73,136,94,68,68,13,68,26,73,136,94
816238405Sjkim.byte	127,127,225,127,223,158,254,160,127,127,225,127,223,158,254,160
817238405Sjkim.byte	169,169,158,169,33,55,79,136,169,169,158,169,33,55,79,136
818238405Sjkim.byte	42,42,168,42,77,130,84,103,42,42,168,42,77,130,84,103
819238405Sjkim.byte	187,187,214,187,177,109,107,10,187,187,214,187,177,109,107,10
820238405Sjkim.byte	193,193,35,193,70,226,159,135,193,193,35,193,70,226,159,135
821238405Sjkim.byte	83,83,81,83,162,2,166,241,83,83,81,83,162,2,166,241
822238405Sjkim.byte	220,220,87,220,174,139,165,114,220,220,87,220,174,139,165,114
823238405Sjkim.byte	11,11,44,11,88,39,22,83,11,11,44,11,88,39,22,83
824238405Sjkim.byte	157,157,78,157,156,211,39,1,157,157,78,157,156,211,39,1
825238405Sjkim.byte	108,108,173,108,71,193,216,43,108,108,173,108,71,193,216,43
826238405Sjkim.byte	49,49,196,49,149,245,98,164,49,49,196,49,149,245,98,164
827238405Sjkim.byte	116,116,205,116,135,185,232,243,116,116,205,116,135,185,232,243
828238405Sjkim.byte	246,246,255,246,227,9,241,21,246,246,255,246,227,9,241,21
829238405Sjkim.byte	70,70,5,70,10,67,140,76,70,70,5,70,10,67,140,76
830238405Sjkim.byte	172,172,138,172,9,38,69,165,172,172,138,172,9,38,69,165
831238405Sjkim.byte	137,137,30,137,60,151,15,181,137,137,30,137,60,151,15,181
832238405Sjkim.byte	20,20,80,20,160,68,40,180,20,20,80,20,160,68,40,180
833238405Sjkim.byte	225,225,163,225,91,66,223,186,225,225,163,225,91,66,223,186
834238405Sjkim.byte	22,22,88,22,176,78,44,166,22,22,88,22,176,78,44,166
835238405Sjkim.byte	58,58,232,58,205,210,116,247,58,58,232,58,205,210,116,247
836238405Sjkim.byte	105,105,185,105,111,208,210,6,105,105,185,105,111,208,210,6
837238405Sjkim.byte	9,9,36,9,72,45,18,65,9,9,36,9,72,45,18,65
838238405Sjkim.byte	112,112,221,112,167,173,224,215,112,112,221,112,167,173,224,215
839238405Sjkim.byte	182,182,226,182,217,84,113,111,182,182,226,182,217,84,113,111
840238405Sjkim.byte	208,208,103,208,206,183,189,30,208,208,103,208,206,183,189,30
841238405Sjkim.byte	237,237,147,237,59,126,199,214,237,237,147,237,59,126,199,214
842238405Sjkim.byte	204,204,23,204,46,219,133,226,204,204,23,204,46,219,133,226
843238405Sjkim.byte	66,66,21,66,42,87,132,104,66,66,21,66,42,87,132,104
844238405Sjkim.byte	152,152,90,152,180,194,45,44,152,152,90,152,180,194,45,44
845238405Sjkim.byte	164,164,170,164,73,14,85,237,164,164,170,164,73,14,85,237
846238405Sjkim.byte	40,40,160,40,93,136,80,117,40,40,160,40,93,136,80,117
847238405Sjkim.byte	92,92,109,92,218,49,184,134,92,92,109,92,218,49,184,134
848238405Sjkim.byte	248,248,199,248,147,63,237,107,248,248,199,248,147,63,237,107
849238405Sjkim.byte	134,134,34,134,68,164,17,194,134,134,34,134,68,164,17,194
850238405Sjkim.byte	24,35,198,232,135,184,1,79
851238405Sjkim.byte	54,166,210,245,121,111,145,82
852238405Sjkim.byte	96,188,155,142,163,12,123,53
853238405Sjkim.byte	29,224,215,194,46,75,254,87
854238405Sjkim.byte	21,119,55,229,159,240,74,218
855238405Sjkim.byte	88,201,41,10,177,160,107,133
856238405Sjkim.byte	189,93,16,244,203,62,5,103
857238405Sjkim.byte	228,39,65,139,167,125,149,216
858238405Sjkim.byte	251,238,124,102,221,23,71,158
859238405Sjkim.byte	202,45,191,7,173,90,131,51
860