sha256-586.S revision 305153
1/* $FreeBSD: stable/11/secure/lib/libcrypto/i386/sha256-586.S 305153 2016-08-31 20:33:59Z jkim $ */
2/* Do not modify. This file is auto-generated from sha256-586.pl. */
3#ifdef PIC
4.file	"sha256-586.S"
5.text
6.globl	sha256_block_data_order
7.type	sha256_block_data_order,@function
8.align	16
9sha256_block_data_order:
10.L_sha256_block_data_order_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),%eax
18	movl	%esp,%ebx
19	call	.L000pic_point
20.L000pic_point:
21	popl	%ebp
22	leal	.L001K256-.L000pic_point(%ebp),%ebp
23	subl	$16,%esp
24	andl	$-64,%esp
25	shll	$6,%eax
26	addl	%edi,%eax
27	movl	%esi,(%esp)
28	movl	%edi,4(%esp)
29	movl	%eax,8(%esp)
30	movl	%ebx,12(%esp)
31	leal	OPENSSL_ia32cap_P-.L001K256(%ebp),%edx
32	movl	(%edx),%ecx
33	movl	4(%edx),%ebx
34	testl	$1048576,%ecx
35	jnz	.L002loop
36	movl	8(%edx),%edx
37	testl	$16777216,%ecx
38	jz	.L003no_xmm
39	andl	$1073741824,%ecx
40	andl	$268435968,%ebx
41	testl	$536870912,%edx
42	jnz	.L004shaext
43	orl	%ebx,%ecx
44	andl	$1342177280,%ecx
45	cmpl	$1342177280,%ecx
46	je	.L005AVX
47	testl	$512,%ebx
48	jnz	.L006SSSE3
49.L003no_xmm:
50	subl	%edi,%eax
51	cmpl	$256,%eax
52	jae	.L007unrolled
53	jmp	.L002loop
54.align	16
55.L002loop:
56	movl	(%edi),%eax
57	movl	4(%edi),%ebx
58	movl	8(%edi),%ecx
59	bswap	%eax
60	movl	12(%edi),%edx
61	bswap	%ebx
62	pushl	%eax
63	bswap	%ecx
64	pushl	%ebx
65	bswap	%edx
66	pushl	%ecx
67	pushl	%edx
68	movl	16(%edi),%eax
69	movl	20(%edi),%ebx
70	movl	24(%edi),%ecx
71	bswap	%eax
72	movl	28(%edi),%edx
73	bswap	%ebx
74	pushl	%eax
75	bswap	%ecx
76	pushl	%ebx
77	bswap	%edx
78	pushl	%ecx
79	pushl	%edx
80	movl	32(%edi),%eax
81	movl	36(%edi),%ebx
82	movl	40(%edi),%ecx
83	bswap	%eax
84	movl	44(%edi),%edx
85	bswap	%ebx
86	pushl	%eax
87	bswap	%ecx
88	pushl	%ebx
89	bswap	%edx
90	pushl	%ecx
91	pushl	%edx
92	movl	48(%edi),%eax
93	movl	52(%edi),%ebx
94	movl	56(%edi),%ecx
95	bswap	%eax
96	movl	60(%edi),%edx
97	bswap	%ebx
98	pushl	%eax
99	bswap	%ecx
100	pushl	%ebx
101	bswap	%edx
102	pushl	%ecx
103	pushl	%edx
104	addl	$64,%edi
105	leal	-36(%esp),%esp
106	movl	%edi,104(%esp)
107	movl	(%esi),%eax
108	movl	4(%esi),%ebx
109	movl	8(%esi),%ecx
110	movl	12(%esi),%edi
111	movl	%ebx,8(%esp)
112	xorl	%ecx,%ebx
113	movl	%ecx,12(%esp)
114	movl	%edi,16(%esp)
115	movl	%ebx,(%esp)
116	movl	16(%esi),%edx
117	movl	20(%esi),%ebx
118	movl	24(%esi),%ecx
119	movl	28(%esi),%edi
120	movl	%ebx,24(%esp)
121	movl	%ecx,28(%esp)
122	movl	%edi,32(%esp)
123.align	16
124.L00800_15:
125	movl	%edx,%ecx
126	movl	24(%esp),%esi
127	rorl	$14,%ecx
128	movl	28(%esp),%edi
129	xorl	%edx,%ecx
130	xorl	%edi,%esi
131	movl	96(%esp),%ebx
132	rorl	$5,%ecx
133	andl	%edx,%esi
134	movl	%edx,20(%esp)
135	xorl	%ecx,%edx
136	addl	32(%esp),%ebx
137	xorl	%edi,%esi
138	rorl	$6,%edx
139	movl	%eax,%ecx
140	addl	%esi,%ebx
141	rorl	$9,%ecx
142	addl	%edx,%ebx
143	movl	8(%esp),%edi
144	xorl	%eax,%ecx
145	movl	%eax,4(%esp)
146	leal	-4(%esp),%esp
147	rorl	$11,%ecx
148	movl	(%ebp),%esi
149	xorl	%eax,%ecx
150	movl	20(%esp),%edx
151	xorl	%edi,%eax
152	rorl	$2,%ecx
153	addl	%esi,%ebx
154	movl	%eax,(%esp)
155	addl	%ebx,%edx
156	andl	4(%esp),%eax
157	addl	%ecx,%ebx
158	xorl	%edi,%eax
159	addl	$4,%ebp
160	addl	%ebx,%eax
161	cmpl	$3248222580,%esi
162	jne	.L00800_15
163	movl	156(%esp),%ecx
164	jmp	.L00916_63
165.align	16
166.L00916_63:
167	movl	%ecx,%ebx
168	movl	104(%esp),%esi
169	rorl	$11,%ecx
170	movl	%esi,%edi
171	rorl	$2,%esi
172	xorl	%ebx,%ecx
173	shrl	$3,%ebx
174	rorl	$7,%ecx
175	xorl	%edi,%esi
176	xorl	%ecx,%ebx
177	rorl	$17,%esi
178	addl	160(%esp),%ebx
179	shrl	$10,%edi
180	addl	124(%esp),%ebx
181	movl	%edx,%ecx
182	xorl	%esi,%edi
183	movl	24(%esp),%esi
184	rorl	$14,%ecx
185	addl	%edi,%ebx
186	movl	28(%esp),%edi
187	xorl	%edx,%ecx
188	xorl	%edi,%esi
189	movl	%ebx,96(%esp)
190	rorl	$5,%ecx
191	andl	%edx,%esi
192	movl	%edx,20(%esp)
193	xorl	%ecx,%edx
194	addl	32(%esp),%ebx
195	xorl	%edi,%esi
196	rorl	$6,%edx
197	movl	%eax,%ecx
198	addl	%esi,%ebx
199	rorl	$9,%ecx
200	addl	%edx,%ebx
201	movl	8(%esp),%edi
202	xorl	%eax,%ecx
203	movl	%eax,4(%esp)
204	leal	-4(%esp),%esp
205	rorl	$11,%ecx
206	movl	(%ebp),%esi
207	xorl	%eax,%ecx
208	movl	20(%esp),%edx
209	xorl	%edi,%eax
210	rorl	$2,%ecx
211	addl	%esi,%ebx
212	movl	%eax,(%esp)
213	addl	%ebx,%edx
214	andl	4(%esp),%eax
215	addl	%ecx,%ebx
216	xorl	%edi,%eax
217	movl	156(%esp),%ecx
218	addl	$4,%ebp
219	addl	%ebx,%eax
220	cmpl	$3329325298,%esi
221	jne	.L00916_63
222	movl	356(%esp),%esi
223	movl	8(%esp),%ebx
224	movl	16(%esp),%ecx
225	addl	(%esi),%eax
226	addl	4(%esi),%ebx
227	addl	8(%esi),%edi
228	addl	12(%esi),%ecx
229	movl	%eax,(%esi)
230	movl	%ebx,4(%esi)
231	movl	%edi,8(%esi)
232	movl	%ecx,12(%esi)
233	movl	24(%esp),%eax
234	movl	28(%esp),%ebx
235	movl	32(%esp),%ecx
236	movl	360(%esp),%edi
237	addl	16(%esi),%edx
238	addl	20(%esi),%eax
239	addl	24(%esi),%ebx
240	addl	28(%esi),%ecx
241	movl	%edx,16(%esi)
242	movl	%eax,20(%esi)
243	movl	%ebx,24(%esi)
244	movl	%ecx,28(%esi)
245	leal	356(%esp),%esp
246	subl	$256,%ebp
247	cmpl	8(%esp),%edi
248	jb	.L002loop
249	movl	12(%esp),%esp
250	popl	%edi
251	popl	%esi
252	popl	%ebx
253	popl	%ebp
254	ret
255.align	64
256.L001K256:
257.long	1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298
258.long	66051,67438087,134810123,202182159
259.byte	83,72,65,50,53,54,32,98,108,111,99,107,32,116,114,97
260.byte	110,115,102,111,114,109,32,102,111,114,32,120,56,54,44,32
261.byte	67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97
262.byte	112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103
263.byte	62,0
264.align	16
265.L007unrolled:
266	leal	-96(%esp),%esp
267	movl	(%esi),%eax
268	movl	4(%esi),%ebp
269	movl	8(%esi),%ecx
270	movl	12(%esi),%ebx
271	movl	%ebp,4(%esp)
272	xorl	%ecx,%ebp
273	movl	%ecx,8(%esp)
274	movl	%ebx,12(%esp)
275	movl	16(%esi),%edx
276	movl	20(%esi),%ebx
277	movl	24(%esi),%ecx
278	movl	28(%esi),%esi
279	movl	%ebx,20(%esp)
280	movl	%ecx,24(%esp)
281	movl	%esi,28(%esp)
282	jmp	.L010grand_loop
283.align	16
284.L010grand_loop:
285	movl	(%edi),%ebx
286	movl	4(%edi),%ecx
287	bswap	%ebx
288	movl	8(%edi),%esi
289	bswap	%ecx
290	movl	%ebx,32(%esp)
291	bswap	%esi
292	movl	%ecx,36(%esp)
293	movl	%esi,40(%esp)
294	movl	12(%edi),%ebx
295	movl	16(%edi),%ecx
296	bswap	%ebx
297	movl	20(%edi),%esi
298	bswap	%ecx
299	movl	%ebx,44(%esp)
300	bswap	%esi
301	movl	%ecx,48(%esp)
302	movl	%esi,52(%esp)
303	movl	24(%edi),%ebx
304	movl	28(%edi),%ecx
305	bswap	%ebx
306	movl	32(%edi),%esi
307	bswap	%ecx
308	movl	%ebx,56(%esp)
309	bswap	%esi
310	movl	%ecx,60(%esp)
311	movl	%esi,64(%esp)
312	movl	36(%edi),%ebx
313	movl	40(%edi),%ecx
314	bswap	%ebx
315	movl	44(%edi),%esi
316	bswap	%ecx
317	movl	%ebx,68(%esp)
318	bswap	%esi
319	movl	%ecx,72(%esp)
320	movl	%esi,76(%esp)
321	movl	48(%edi),%ebx
322	movl	52(%edi),%ecx
323	bswap	%ebx
324	movl	56(%edi),%esi
325	bswap	%ecx
326	movl	%ebx,80(%esp)
327	bswap	%esi
328	movl	%ecx,84(%esp)
329	movl	%esi,88(%esp)
330	movl	60(%edi),%ebx
331	addl	$64,%edi
332	bswap	%ebx
333	movl	%edi,100(%esp)
334	movl	%ebx,92(%esp)
335	movl	%edx,%ecx
336	movl	20(%esp),%esi
337	rorl	$14,%edx
338	movl	24(%esp),%edi
339	xorl	%ecx,%edx
340	movl	32(%esp),%ebx
341	xorl	%edi,%esi
342	rorl	$5,%edx
343	andl	%ecx,%esi
344	movl	%ecx,16(%esp)
345	xorl	%ecx,%edx
346	addl	28(%esp),%ebx
347	xorl	%esi,%edi
348	rorl	$6,%edx
349	movl	%eax,%ecx
350	addl	%edi,%ebx
351	rorl	$9,%ecx
352	movl	%eax,%esi
353	movl	4(%esp),%edi
354	xorl	%eax,%ecx
355	movl	%eax,(%esp)
356	xorl	%edi,%eax
357	rorl	$11,%ecx
358	andl	%eax,%ebp
359	leal	1116352408(%ebx,%edx,1),%edx
360	xorl	%esi,%ecx
361	xorl	%edi,%ebp
362	rorl	$2,%ecx
363	addl	%edx,%ebp
364	addl	12(%esp),%edx
365	addl	%ecx,%ebp
366	movl	%edx,%esi
367	movl	16(%esp),%ecx
368	rorl	$14,%edx
369	movl	20(%esp),%edi
370	xorl	%esi,%edx
371	movl	36(%esp),%ebx
372	xorl	%edi,%ecx
373	rorl	$5,%edx
374	andl	%esi,%ecx
375	movl	%esi,12(%esp)
376	xorl	%esi,%edx
377	addl	24(%esp),%ebx
378	xorl	%ecx,%edi
379	rorl	$6,%edx
380	movl	%ebp,%esi
381	addl	%edi,%ebx
382	rorl	$9,%esi
383	movl	%ebp,%ecx
384	movl	(%esp),%edi
385	xorl	%ebp,%esi
386	movl	%ebp,28(%esp)
387	xorl	%edi,%ebp
388	rorl	$11,%esi
389	andl	%ebp,%eax
390	leal	1899447441(%ebx,%edx,1),%edx
391	xorl	%ecx,%esi
392	xorl	%edi,%eax
393	rorl	$2,%esi
394	addl	%edx,%eax
395	addl	8(%esp),%edx
396	addl	%esi,%eax
397	movl	%edx,%ecx
398	movl	12(%esp),%esi
399	rorl	$14,%edx
400	movl	16(%esp),%edi
401	xorl	%ecx,%edx
402	movl	40(%esp),%ebx
403	xorl	%edi,%esi
404	rorl	$5,%edx
405	andl	%ecx,%esi
406	movl	%ecx,8(%esp)
407	xorl	%ecx,%edx
408	addl	20(%esp),%ebx
409	xorl	%esi,%edi
410	rorl	$6,%edx
411	movl	%eax,%ecx
412	addl	%edi,%ebx
413	rorl	$9,%ecx
414	movl	%eax,%esi
415	movl	28(%esp),%edi
416	xorl	%eax,%ecx
417	movl	%eax,24(%esp)
418	xorl	%edi,%eax
419	rorl	$11,%ecx
420	andl	%eax,%ebp
421	leal	3049323471(%ebx,%edx,1),%edx
422	xorl	%esi,%ecx
423	xorl	%edi,%ebp
424	rorl	$2,%ecx
425	addl	%edx,%ebp
426	addl	4(%esp),%edx
427	addl	%ecx,%ebp
428	movl	%edx,%esi
429	movl	8(%esp),%ecx
430	rorl	$14,%edx
431	movl	12(%esp),%edi
432	xorl	%esi,%edx
433	movl	44(%esp),%ebx
434	xorl	%edi,%ecx
435	rorl	$5,%edx
436	andl	%esi,%ecx
437	movl	%esi,4(%esp)
438	xorl	%esi,%edx
439	addl	16(%esp),%ebx
440	xorl	%ecx,%edi
441	rorl	$6,%edx
442	movl	%ebp,%esi
443	addl	%edi,%ebx
444	rorl	$9,%esi
445	movl	%ebp,%ecx
446	movl	24(%esp),%edi
447	xorl	%ebp,%esi
448	movl	%ebp,20(%esp)
449	xorl	%edi,%ebp
450	rorl	$11,%esi
451	andl	%ebp,%eax
452	leal	3921009573(%ebx,%edx,1),%edx
453	xorl	%ecx,%esi
454	xorl	%edi,%eax
455	rorl	$2,%esi
456	addl	%edx,%eax
457	addl	(%esp),%edx
458	addl	%esi,%eax
459	movl	%edx,%ecx
460	movl	4(%esp),%esi
461	rorl	$14,%edx
462	movl	8(%esp),%edi
463	xorl	%ecx,%edx
464	movl	48(%esp),%ebx
465	xorl	%edi,%esi
466	rorl	$5,%edx
467	andl	%ecx,%esi
468	movl	%ecx,(%esp)
469	xorl	%ecx,%edx
470	addl	12(%esp),%ebx
471	xorl	%esi,%edi
472	rorl	$6,%edx
473	movl	%eax,%ecx
474	addl	%edi,%ebx
475	rorl	$9,%ecx
476	movl	%eax,%esi
477	movl	20(%esp),%edi
478	xorl	%eax,%ecx
479	movl	%eax,16(%esp)
480	xorl	%edi,%eax
481	rorl	$11,%ecx
482	andl	%eax,%ebp
483	leal	961987163(%ebx,%edx,1),%edx
484	xorl	%esi,%ecx
485	xorl	%edi,%ebp
486	rorl	$2,%ecx
487	addl	%edx,%ebp
488	addl	28(%esp),%edx
489	addl	%ecx,%ebp
490	movl	%edx,%esi
491	movl	(%esp),%ecx
492	rorl	$14,%edx
493	movl	4(%esp),%edi
494	xorl	%esi,%edx
495	movl	52(%esp),%ebx
496	xorl	%edi,%ecx
497	rorl	$5,%edx
498	andl	%esi,%ecx
499	movl	%esi,28(%esp)
500	xorl	%esi,%edx
501	addl	8(%esp),%ebx
502	xorl	%ecx,%edi
503	rorl	$6,%edx
504	movl	%ebp,%esi
505	addl	%edi,%ebx
506	rorl	$9,%esi
507	movl	%ebp,%ecx
508	movl	16(%esp),%edi
509	xorl	%ebp,%esi
510	movl	%ebp,12(%esp)
511	xorl	%edi,%ebp
512	rorl	$11,%esi
513	andl	%ebp,%eax
514	leal	1508970993(%ebx,%edx,1),%edx
515	xorl	%ecx,%esi
516	xorl	%edi,%eax
517	rorl	$2,%esi
518	addl	%edx,%eax
519	addl	24(%esp),%edx
520	addl	%esi,%eax
521	movl	%edx,%ecx
522	movl	28(%esp),%esi
523	rorl	$14,%edx
524	movl	(%esp),%edi
525	xorl	%ecx,%edx
526	movl	56(%esp),%ebx
527	xorl	%edi,%esi
528	rorl	$5,%edx
529	andl	%ecx,%esi
530	movl	%ecx,24(%esp)
531	xorl	%ecx,%edx
532	addl	4(%esp),%ebx
533	xorl	%esi,%edi
534	rorl	$6,%edx
535	movl	%eax,%ecx
536	addl	%edi,%ebx
537	rorl	$9,%ecx
538	movl	%eax,%esi
539	movl	12(%esp),%edi
540	xorl	%eax,%ecx
541	movl	%eax,8(%esp)
542	xorl	%edi,%eax
543	rorl	$11,%ecx
544	andl	%eax,%ebp
545	leal	2453635748(%ebx,%edx,1),%edx
546	xorl	%esi,%ecx
547	xorl	%edi,%ebp
548	rorl	$2,%ecx
549	addl	%edx,%ebp
550	addl	20(%esp),%edx
551	addl	%ecx,%ebp
552	movl	%edx,%esi
553	movl	24(%esp),%ecx
554	rorl	$14,%edx
555	movl	28(%esp),%edi
556	xorl	%esi,%edx
557	movl	60(%esp),%ebx
558	xorl	%edi,%ecx
559	rorl	$5,%edx
560	andl	%esi,%ecx
561	movl	%esi,20(%esp)
562	xorl	%esi,%edx
563	addl	(%esp),%ebx
564	xorl	%ecx,%edi
565	rorl	$6,%edx
566	movl	%ebp,%esi
567	addl	%edi,%ebx
568	rorl	$9,%esi
569	movl	%ebp,%ecx
570	movl	8(%esp),%edi
571	xorl	%ebp,%esi
572	movl	%ebp,4(%esp)
573	xorl	%edi,%ebp
574	rorl	$11,%esi
575	andl	%ebp,%eax
576	leal	2870763221(%ebx,%edx,1),%edx
577	xorl	%ecx,%esi
578	xorl	%edi,%eax
579	rorl	$2,%esi
580	addl	%edx,%eax
581	addl	16(%esp),%edx
582	addl	%esi,%eax
583	movl	%edx,%ecx
584	movl	20(%esp),%esi
585	rorl	$14,%edx
586	movl	24(%esp),%edi
587	xorl	%ecx,%edx
588	movl	64(%esp),%ebx
589	xorl	%edi,%esi
590	rorl	$5,%edx
591	andl	%ecx,%esi
592	movl	%ecx,16(%esp)
593	xorl	%ecx,%edx
594	addl	28(%esp),%ebx
595	xorl	%esi,%edi
596	rorl	$6,%edx
597	movl	%eax,%ecx
598	addl	%edi,%ebx
599	rorl	$9,%ecx
600	movl	%eax,%esi
601	movl	4(%esp),%edi
602	xorl	%eax,%ecx
603	movl	%eax,(%esp)
604	xorl	%edi,%eax
605	rorl	$11,%ecx
606	andl	%eax,%ebp
607	leal	3624381080(%ebx,%edx,1),%edx
608	xorl	%esi,%ecx
609	xorl	%edi,%ebp
610	rorl	$2,%ecx
611	addl	%edx,%ebp
612	addl	12(%esp),%edx
613	addl	%ecx,%ebp
614	movl	%edx,%esi
615	movl	16(%esp),%ecx
616	rorl	$14,%edx
617	movl	20(%esp),%edi
618	xorl	%esi,%edx
619	movl	68(%esp),%ebx
620	xorl	%edi,%ecx
621	rorl	$5,%edx
622	andl	%esi,%ecx
623	movl	%esi,12(%esp)
624	xorl	%esi,%edx
625	addl	24(%esp),%ebx
626	xorl	%ecx,%edi
627	rorl	$6,%edx
628	movl	%ebp,%esi
629	addl	%edi,%ebx
630	rorl	$9,%esi
631	movl	%ebp,%ecx
632	movl	(%esp),%edi
633	xorl	%ebp,%esi
634	movl	%ebp,28(%esp)
635	xorl	%edi,%ebp
636	rorl	$11,%esi
637	andl	%ebp,%eax
638	leal	310598401(%ebx,%edx,1),%edx
639	xorl	%ecx,%esi
640	xorl	%edi,%eax
641	rorl	$2,%esi
642	addl	%edx,%eax
643	addl	8(%esp),%edx
644	addl	%esi,%eax
645	movl	%edx,%ecx
646	movl	12(%esp),%esi
647	rorl	$14,%edx
648	movl	16(%esp),%edi
649	xorl	%ecx,%edx
650	movl	72(%esp),%ebx
651	xorl	%edi,%esi
652	rorl	$5,%edx
653	andl	%ecx,%esi
654	movl	%ecx,8(%esp)
655	xorl	%ecx,%edx
656	addl	20(%esp),%ebx
657	xorl	%esi,%edi
658	rorl	$6,%edx
659	movl	%eax,%ecx
660	addl	%edi,%ebx
661	rorl	$9,%ecx
662	movl	%eax,%esi
663	movl	28(%esp),%edi
664	xorl	%eax,%ecx
665	movl	%eax,24(%esp)
666	xorl	%edi,%eax
667	rorl	$11,%ecx
668	andl	%eax,%ebp
669	leal	607225278(%ebx,%edx,1),%edx
670	xorl	%esi,%ecx
671	xorl	%edi,%ebp
672	rorl	$2,%ecx
673	addl	%edx,%ebp
674	addl	4(%esp),%edx
675	addl	%ecx,%ebp
676	movl	%edx,%esi
677	movl	8(%esp),%ecx
678	rorl	$14,%edx
679	movl	12(%esp),%edi
680	xorl	%esi,%edx
681	movl	76(%esp),%ebx
682	xorl	%edi,%ecx
683	rorl	$5,%edx
684	andl	%esi,%ecx
685	movl	%esi,4(%esp)
686	xorl	%esi,%edx
687	addl	16(%esp),%ebx
688	xorl	%ecx,%edi
689	rorl	$6,%edx
690	movl	%ebp,%esi
691	addl	%edi,%ebx
692	rorl	$9,%esi
693	movl	%ebp,%ecx
694	movl	24(%esp),%edi
695	xorl	%ebp,%esi
696	movl	%ebp,20(%esp)
697	xorl	%edi,%ebp
698	rorl	$11,%esi
699	andl	%ebp,%eax
700	leal	1426881987(%ebx,%edx,1),%edx
701	xorl	%ecx,%esi
702	xorl	%edi,%eax
703	rorl	$2,%esi
704	addl	%edx,%eax
705	addl	(%esp),%edx
706	addl	%esi,%eax
707	movl	%edx,%ecx
708	movl	4(%esp),%esi
709	rorl	$14,%edx
710	movl	8(%esp),%edi
711	xorl	%ecx,%edx
712	movl	80(%esp),%ebx
713	xorl	%edi,%esi
714	rorl	$5,%edx
715	andl	%ecx,%esi
716	movl	%ecx,(%esp)
717	xorl	%ecx,%edx
718	addl	12(%esp),%ebx
719	xorl	%esi,%edi
720	rorl	$6,%edx
721	movl	%eax,%ecx
722	addl	%edi,%ebx
723	rorl	$9,%ecx
724	movl	%eax,%esi
725	movl	20(%esp),%edi
726	xorl	%eax,%ecx
727	movl	%eax,16(%esp)
728	xorl	%edi,%eax
729	rorl	$11,%ecx
730	andl	%eax,%ebp
731	leal	1925078388(%ebx,%edx,1),%edx
732	xorl	%esi,%ecx
733	xorl	%edi,%ebp
734	rorl	$2,%ecx
735	addl	%edx,%ebp
736	addl	28(%esp),%edx
737	addl	%ecx,%ebp
738	movl	%edx,%esi
739	movl	(%esp),%ecx
740	rorl	$14,%edx
741	movl	4(%esp),%edi
742	xorl	%esi,%edx
743	movl	84(%esp),%ebx
744	xorl	%edi,%ecx
745	rorl	$5,%edx
746	andl	%esi,%ecx
747	movl	%esi,28(%esp)
748	xorl	%esi,%edx
749	addl	8(%esp),%ebx
750	xorl	%ecx,%edi
751	rorl	$6,%edx
752	movl	%ebp,%esi
753	addl	%edi,%ebx
754	rorl	$9,%esi
755	movl	%ebp,%ecx
756	movl	16(%esp),%edi
757	xorl	%ebp,%esi
758	movl	%ebp,12(%esp)
759	xorl	%edi,%ebp
760	rorl	$11,%esi
761	andl	%ebp,%eax
762	leal	2162078206(%ebx,%edx,1),%edx
763	xorl	%ecx,%esi
764	xorl	%edi,%eax
765	rorl	$2,%esi
766	addl	%edx,%eax
767	addl	24(%esp),%edx
768	addl	%esi,%eax
769	movl	%edx,%ecx
770	movl	28(%esp),%esi
771	rorl	$14,%edx
772	movl	(%esp),%edi
773	xorl	%ecx,%edx
774	movl	88(%esp),%ebx
775	xorl	%edi,%esi
776	rorl	$5,%edx
777	andl	%ecx,%esi
778	movl	%ecx,24(%esp)
779	xorl	%ecx,%edx
780	addl	4(%esp),%ebx
781	xorl	%esi,%edi
782	rorl	$6,%edx
783	movl	%eax,%ecx
784	addl	%edi,%ebx
785	rorl	$9,%ecx
786	movl	%eax,%esi
787	movl	12(%esp),%edi
788	xorl	%eax,%ecx
789	movl	%eax,8(%esp)
790	xorl	%edi,%eax
791	rorl	$11,%ecx
792	andl	%eax,%ebp
793	leal	2614888103(%ebx,%edx,1),%edx
794	xorl	%esi,%ecx
795	xorl	%edi,%ebp
796	rorl	$2,%ecx
797	addl	%edx,%ebp
798	addl	20(%esp),%edx
799	addl	%ecx,%ebp
800	movl	%edx,%esi
801	movl	24(%esp),%ecx
802	rorl	$14,%edx
803	movl	28(%esp),%edi
804	xorl	%esi,%edx
805	movl	92(%esp),%ebx
806	xorl	%edi,%ecx
807	rorl	$5,%edx
808	andl	%esi,%ecx
809	movl	%esi,20(%esp)
810	xorl	%esi,%edx
811	addl	(%esp),%ebx
812	xorl	%ecx,%edi
813	rorl	$6,%edx
814	movl	%ebp,%esi
815	addl	%edi,%ebx
816	rorl	$9,%esi
817	movl	%ebp,%ecx
818	movl	8(%esp),%edi
819	xorl	%ebp,%esi
820	movl	%ebp,4(%esp)
821	xorl	%edi,%ebp
822	rorl	$11,%esi
823	andl	%ebp,%eax
824	leal	3248222580(%ebx,%edx,1),%edx
825	xorl	%ecx,%esi
826	xorl	%edi,%eax
827	movl	36(%esp),%ecx
828	rorl	$2,%esi
829	addl	%edx,%eax
830	addl	16(%esp),%edx
831	addl	%esi,%eax
832	movl	88(%esp),%esi
833	movl	%ecx,%ebx
834	rorl	$11,%ecx
835	movl	%esi,%edi
836	rorl	$2,%esi
837	xorl	%ebx,%ecx
838	shrl	$3,%ebx
839	rorl	$7,%ecx
840	xorl	%edi,%esi
841	xorl	%ecx,%ebx
842	rorl	$17,%esi
843	addl	32(%esp),%ebx
844	shrl	$10,%edi
845	addl	68(%esp),%ebx
846	movl	%edx,%ecx
847	xorl	%esi,%edi
848	movl	20(%esp),%esi
849	rorl	$14,%edx
850	addl	%edi,%ebx
851	movl	24(%esp),%edi
852	xorl	%ecx,%edx
853	movl	%ebx,32(%esp)
854	xorl	%edi,%esi
855	rorl	$5,%edx
856	andl	%ecx,%esi
857	movl	%ecx,16(%esp)
858	xorl	%ecx,%edx
859	addl	28(%esp),%ebx
860	xorl	%esi,%edi
861	rorl	$6,%edx
862	movl	%eax,%ecx
863	addl	%edi,%ebx
864	rorl	$9,%ecx
865	movl	%eax,%esi
866	movl	4(%esp),%edi
867	xorl	%eax,%ecx
868	movl	%eax,(%esp)
869	xorl	%edi,%eax
870	rorl	$11,%ecx
871	andl	%eax,%ebp
872	leal	3835390401(%ebx,%edx,1),%edx
873	xorl	%esi,%ecx
874	xorl	%edi,%ebp
875	movl	40(%esp),%esi
876	rorl	$2,%ecx
877	addl	%edx,%ebp
878	addl	12(%esp),%edx
879	addl	%ecx,%ebp
880	movl	92(%esp),%ecx
881	movl	%esi,%ebx
882	rorl	$11,%esi
883	movl	%ecx,%edi
884	rorl	$2,%ecx
885	xorl	%ebx,%esi
886	shrl	$3,%ebx
887	rorl	$7,%esi
888	xorl	%edi,%ecx
889	xorl	%esi,%ebx
890	rorl	$17,%ecx
891	addl	36(%esp),%ebx
892	shrl	$10,%edi
893	addl	72(%esp),%ebx
894	movl	%edx,%esi
895	xorl	%ecx,%edi
896	movl	16(%esp),%ecx
897	rorl	$14,%edx
898	addl	%edi,%ebx
899	movl	20(%esp),%edi
900	xorl	%esi,%edx
901	movl	%ebx,36(%esp)
902	xorl	%edi,%ecx
903	rorl	$5,%edx
904	andl	%esi,%ecx
905	movl	%esi,12(%esp)
906	xorl	%esi,%edx
907	addl	24(%esp),%ebx
908	xorl	%ecx,%edi
909	rorl	$6,%edx
910	movl	%ebp,%esi
911	addl	%edi,%ebx
912	rorl	$9,%esi
913	movl	%ebp,%ecx
914	movl	(%esp),%edi
915	xorl	%ebp,%esi
916	movl	%ebp,28(%esp)
917	xorl	%edi,%ebp
918	rorl	$11,%esi
919	andl	%ebp,%eax
920	leal	4022224774(%ebx,%edx,1),%edx
921	xorl	%ecx,%esi
922	xorl	%edi,%eax
923	movl	44(%esp),%ecx
924	rorl	$2,%esi
925	addl	%edx,%eax
926	addl	8(%esp),%edx
927	addl	%esi,%eax
928	movl	32(%esp),%esi
929	movl	%ecx,%ebx
930	rorl	$11,%ecx
931	movl	%esi,%edi
932	rorl	$2,%esi
933	xorl	%ebx,%ecx
934	shrl	$3,%ebx
935	rorl	$7,%ecx
936	xorl	%edi,%esi
937	xorl	%ecx,%ebx
938	rorl	$17,%esi
939	addl	40(%esp),%ebx
940	shrl	$10,%edi
941	addl	76(%esp),%ebx
942	movl	%edx,%ecx
943	xorl	%esi,%edi
944	movl	12(%esp),%esi
945	rorl	$14,%edx
946	addl	%edi,%ebx
947	movl	16(%esp),%edi
948	xorl	%ecx,%edx
949	movl	%ebx,40(%esp)
950	xorl	%edi,%esi
951	rorl	$5,%edx
952	andl	%ecx,%esi
953	movl	%ecx,8(%esp)
954	xorl	%ecx,%edx
955	addl	20(%esp),%ebx
956	xorl	%esi,%edi
957	rorl	$6,%edx
958	movl	%eax,%ecx
959	addl	%edi,%ebx
960	rorl	$9,%ecx
961	movl	%eax,%esi
962	movl	28(%esp),%edi
963	xorl	%eax,%ecx
964	movl	%eax,24(%esp)
965	xorl	%edi,%eax
966	rorl	$11,%ecx
967	andl	%eax,%ebp
968	leal	264347078(%ebx,%edx,1),%edx
969	xorl	%esi,%ecx
970	xorl	%edi,%ebp
971	movl	48(%esp),%esi
972	rorl	$2,%ecx
973	addl	%edx,%ebp
974	addl	4(%esp),%edx
975	addl	%ecx,%ebp
976	movl	36(%esp),%ecx
977	movl	%esi,%ebx
978	rorl	$11,%esi
979	movl	%ecx,%edi
980	rorl	$2,%ecx
981	xorl	%ebx,%esi
982	shrl	$3,%ebx
983	rorl	$7,%esi
984	xorl	%edi,%ecx
985	xorl	%esi,%ebx
986	rorl	$17,%ecx
987	addl	44(%esp),%ebx
988	shrl	$10,%edi
989	addl	80(%esp),%ebx
990	movl	%edx,%esi
991	xorl	%ecx,%edi
992	movl	8(%esp),%ecx
993	rorl	$14,%edx
994	addl	%edi,%ebx
995	movl	12(%esp),%edi
996	xorl	%esi,%edx
997	movl	%ebx,44(%esp)
998	xorl	%edi,%ecx
999	rorl	$5,%edx
1000	andl	%esi,%ecx
1001	movl	%esi,4(%esp)
1002	xorl	%esi,%edx
1003	addl	16(%esp),%ebx
1004	xorl	%ecx,%edi
1005	rorl	$6,%edx
1006	movl	%ebp,%esi
1007	addl	%edi,%ebx
1008	rorl	$9,%esi
1009	movl	%ebp,%ecx
1010	movl	24(%esp),%edi
1011	xorl	%ebp,%esi
1012	movl	%ebp,20(%esp)
1013	xorl	%edi,%ebp
1014	rorl	$11,%esi
1015	andl	%ebp,%eax
1016	leal	604807628(%ebx,%edx,1),%edx
1017	xorl	%ecx,%esi
1018	xorl	%edi,%eax
1019	movl	52(%esp),%ecx
1020	rorl	$2,%esi
1021	addl	%edx,%eax
1022	addl	(%esp),%edx
1023	addl	%esi,%eax
1024	movl	40(%esp),%esi
1025	movl	%ecx,%ebx
1026	rorl	$11,%ecx
1027	movl	%esi,%edi
1028	rorl	$2,%esi
1029	xorl	%ebx,%ecx
1030	shrl	$3,%ebx
1031	rorl	$7,%ecx
1032	xorl	%edi,%esi
1033	xorl	%ecx,%ebx
1034	rorl	$17,%esi
1035	addl	48(%esp),%ebx
1036	shrl	$10,%edi
1037	addl	84(%esp),%ebx
1038	movl	%edx,%ecx
1039	xorl	%esi,%edi
1040	movl	4(%esp),%esi
1041	rorl	$14,%edx
1042	addl	%edi,%ebx
1043	movl	8(%esp),%edi
1044	xorl	%ecx,%edx
1045	movl	%ebx,48(%esp)
1046	xorl	%edi,%esi
1047	rorl	$5,%edx
1048	andl	%ecx,%esi
1049	movl	%ecx,(%esp)
1050	xorl	%ecx,%edx
1051	addl	12(%esp),%ebx
1052	xorl	%esi,%edi
1053	rorl	$6,%edx
1054	movl	%eax,%ecx
1055	addl	%edi,%ebx
1056	rorl	$9,%ecx
1057	movl	%eax,%esi
1058	movl	20(%esp),%edi
1059	xorl	%eax,%ecx
1060	movl	%eax,16(%esp)
1061	xorl	%edi,%eax
1062	rorl	$11,%ecx
1063	andl	%eax,%ebp
1064	leal	770255983(%ebx,%edx,1),%edx
1065	xorl	%esi,%ecx
1066	xorl	%edi,%ebp
1067	movl	56(%esp),%esi
1068	rorl	$2,%ecx
1069	addl	%edx,%ebp
1070	addl	28(%esp),%edx
1071	addl	%ecx,%ebp
1072	movl	44(%esp),%ecx
1073	movl	%esi,%ebx
1074	rorl	$11,%esi
1075	movl	%ecx,%edi
1076	rorl	$2,%ecx
1077	xorl	%ebx,%esi
1078	shrl	$3,%ebx
1079	rorl	$7,%esi
1080	xorl	%edi,%ecx
1081	xorl	%esi,%ebx
1082	rorl	$17,%ecx
1083	addl	52(%esp),%ebx
1084	shrl	$10,%edi
1085	addl	88(%esp),%ebx
1086	movl	%edx,%esi
1087	xorl	%ecx,%edi
1088	movl	(%esp),%ecx
1089	rorl	$14,%edx
1090	addl	%edi,%ebx
1091	movl	4(%esp),%edi
1092	xorl	%esi,%edx
1093	movl	%ebx,52(%esp)
1094	xorl	%edi,%ecx
1095	rorl	$5,%edx
1096	andl	%esi,%ecx
1097	movl	%esi,28(%esp)
1098	xorl	%esi,%edx
1099	addl	8(%esp),%ebx
1100	xorl	%ecx,%edi
1101	rorl	$6,%edx
1102	movl	%ebp,%esi
1103	addl	%edi,%ebx
1104	rorl	$9,%esi
1105	movl	%ebp,%ecx
1106	movl	16(%esp),%edi
1107	xorl	%ebp,%esi
1108	movl	%ebp,12(%esp)
1109	xorl	%edi,%ebp
1110	rorl	$11,%esi
1111	andl	%ebp,%eax
1112	leal	1249150122(%ebx,%edx,1),%edx
1113	xorl	%ecx,%esi
1114	xorl	%edi,%eax
1115	movl	60(%esp),%ecx
1116	rorl	$2,%esi
1117	addl	%edx,%eax
1118	addl	24(%esp),%edx
1119	addl	%esi,%eax
1120	movl	48(%esp),%esi
1121	movl	%ecx,%ebx
1122	rorl	$11,%ecx
1123	movl	%esi,%edi
1124	rorl	$2,%esi
1125	xorl	%ebx,%ecx
1126	shrl	$3,%ebx
1127	rorl	$7,%ecx
1128	xorl	%edi,%esi
1129	xorl	%ecx,%ebx
1130	rorl	$17,%esi
1131	addl	56(%esp),%ebx
1132	shrl	$10,%edi
1133	addl	92(%esp),%ebx
1134	movl	%edx,%ecx
1135	xorl	%esi,%edi
1136	movl	28(%esp),%esi
1137	rorl	$14,%edx
1138	addl	%edi,%ebx
1139	movl	(%esp),%edi
1140	xorl	%ecx,%edx
1141	movl	%ebx,56(%esp)
1142	xorl	%edi,%esi
1143	rorl	$5,%edx
1144	andl	%ecx,%esi
1145	movl	%ecx,24(%esp)
1146	xorl	%ecx,%edx
1147	addl	4(%esp),%ebx
1148	xorl	%esi,%edi
1149	rorl	$6,%edx
1150	movl	%eax,%ecx
1151	addl	%edi,%ebx
1152	rorl	$9,%ecx
1153	movl	%eax,%esi
1154	movl	12(%esp),%edi
1155	xorl	%eax,%ecx
1156	movl	%eax,8(%esp)
1157	xorl	%edi,%eax
1158	rorl	$11,%ecx
1159	andl	%eax,%ebp
1160	leal	1555081692(%ebx,%edx,1),%edx
1161	xorl	%esi,%ecx
1162	xorl	%edi,%ebp
1163	movl	64(%esp),%esi
1164	rorl	$2,%ecx
1165	addl	%edx,%ebp
1166	addl	20(%esp),%edx
1167	addl	%ecx,%ebp
1168	movl	52(%esp),%ecx
1169	movl	%esi,%ebx
1170	rorl	$11,%esi
1171	movl	%ecx,%edi
1172	rorl	$2,%ecx
1173	xorl	%ebx,%esi
1174	shrl	$3,%ebx
1175	rorl	$7,%esi
1176	xorl	%edi,%ecx
1177	xorl	%esi,%ebx
1178	rorl	$17,%ecx
1179	addl	60(%esp),%ebx
1180	shrl	$10,%edi
1181	addl	32(%esp),%ebx
1182	movl	%edx,%esi
1183	xorl	%ecx,%edi
1184	movl	24(%esp),%ecx
1185	rorl	$14,%edx
1186	addl	%edi,%ebx
1187	movl	28(%esp),%edi
1188	xorl	%esi,%edx
1189	movl	%ebx,60(%esp)
1190	xorl	%edi,%ecx
1191	rorl	$5,%edx
1192	andl	%esi,%ecx
1193	movl	%esi,20(%esp)
1194	xorl	%esi,%edx
1195	addl	(%esp),%ebx
1196	xorl	%ecx,%edi
1197	rorl	$6,%edx
1198	movl	%ebp,%esi
1199	addl	%edi,%ebx
1200	rorl	$9,%esi
1201	movl	%ebp,%ecx
1202	movl	8(%esp),%edi
1203	xorl	%ebp,%esi
1204	movl	%ebp,4(%esp)
1205	xorl	%edi,%ebp
1206	rorl	$11,%esi
1207	andl	%ebp,%eax
1208	leal	1996064986(%ebx,%edx,1),%edx
1209	xorl	%ecx,%esi
1210	xorl	%edi,%eax
1211	movl	68(%esp),%ecx
1212	rorl	$2,%esi
1213	addl	%edx,%eax
1214	addl	16(%esp),%edx
1215	addl	%esi,%eax
1216	movl	56(%esp),%esi
1217	movl	%ecx,%ebx
1218	rorl	$11,%ecx
1219	movl	%esi,%edi
1220	rorl	$2,%esi
1221	xorl	%ebx,%ecx
1222	shrl	$3,%ebx
1223	rorl	$7,%ecx
1224	xorl	%edi,%esi
1225	xorl	%ecx,%ebx
1226	rorl	$17,%esi
1227	addl	64(%esp),%ebx
1228	shrl	$10,%edi
1229	addl	36(%esp),%ebx
1230	movl	%edx,%ecx
1231	xorl	%esi,%edi
1232	movl	20(%esp),%esi
1233	rorl	$14,%edx
1234	addl	%edi,%ebx
1235	movl	24(%esp),%edi
1236	xorl	%ecx,%edx
1237	movl	%ebx,64(%esp)
1238	xorl	%edi,%esi
1239	rorl	$5,%edx
1240	andl	%ecx,%esi
1241	movl	%ecx,16(%esp)
1242	xorl	%ecx,%edx
1243	addl	28(%esp),%ebx
1244	xorl	%esi,%edi
1245	rorl	$6,%edx
1246	movl	%eax,%ecx
1247	addl	%edi,%ebx
1248	rorl	$9,%ecx
1249	movl	%eax,%esi
1250	movl	4(%esp),%edi
1251	xorl	%eax,%ecx
1252	movl	%eax,(%esp)
1253	xorl	%edi,%eax
1254	rorl	$11,%ecx
1255	andl	%eax,%ebp
1256	leal	2554220882(%ebx,%edx,1),%edx
1257	xorl	%esi,%ecx
1258	xorl	%edi,%ebp
1259	movl	72(%esp),%esi
1260	rorl	$2,%ecx
1261	addl	%edx,%ebp
1262	addl	12(%esp),%edx
1263	addl	%ecx,%ebp
1264	movl	60(%esp),%ecx
1265	movl	%esi,%ebx
1266	rorl	$11,%esi
1267	movl	%ecx,%edi
1268	rorl	$2,%ecx
1269	xorl	%ebx,%esi
1270	shrl	$3,%ebx
1271	rorl	$7,%esi
1272	xorl	%edi,%ecx
1273	xorl	%esi,%ebx
1274	rorl	$17,%ecx
1275	addl	68(%esp),%ebx
1276	shrl	$10,%edi
1277	addl	40(%esp),%ebx
1278	movl	%edx,%esi
1279	xorl	%ecx,%edi
1280	movl	16(%esp),%ecx
1281	rorl	$14,%edx
1282	addl	%edi,%ebx
1283	movl	20(%esp),%edi
1284	xorl	%esi,%edx
1285	movl	%ebx,68(%esp)
1286	xorl	%edi,%ecx
1287	rorl	$5,%edx
1288	andl	%esi,%ecx
1289	movl	%esi,12(%esp)
1290	xorl	%esi,%edx
1291	addl	24(%esp),%ebx
1292	xorl	%ecx,%edi
1293	rorl	$6,%edx
1294	movl	%ebp,%esi
1295	addl	%edi,%ebx
1296	rorl	$9,%esi
1297	movl	%ebp,%ecx
1298	movl	(%esp),%edi
1299	xorl	%ebp,%esi
1300	movl	%ebp,28(%esp)
1301	xorl	%edi,%ebp
1302	rorl	$11,%esi
1303	andl	%ebp,%eax
1304	leal	2821834349(%ebx,%edx,1),%edx
1305	xorl	%ecx,%esi
1306	xorl	%edi,%eax
1307	movl	76(%esp),%ecx
1308	rorl	$2,%esi
1309	addl	%edx,%eax
1310	addl	8(%esp),%edx
1311	addl	%esi,%eax
1312	movl	64(%esp),%esi
1313	movl	%ecx,%ebx
1314	rorl	$11,%ecx
1315	movl	%esi,%edi
1316	rorl	$2,%esi
1317	xorl	%ebx,%ecx
1318	shrl	$3,%ebx
1319	rorl	$7,%ecx
1320	xorl	%edi,%esi
1321	xorl	%ecx,%ebx
1322	rorl	$17,%esi
1323	addl	72(%esp),%ebx
1324	shrl	$10,%edi
1325	addl	44(%esp),%ebx
1326	movl	%edx,%ecx
1327	xorl	%esi,%edi
1328	movl	12(%esp),%esi
1329	rorl	$14,%edx
1330	addl	%edi,%ebx
1331	movl	16(%esp),%edi
1332	xorl	%ecx,%edx
1333	movl	%ebx,72(%esp)
1334	xorl	%edi,%esi
1335	rorl	$5,%edx
1336	andl	%ecx,%esi
1337	movl	%ecx,8(%esp)
1338	xorl	%ecx,%edx
1339	addl	20(%esp),%ebx
1340	xorl	%esi,%edi
1341	rorl	$6,%edx
1342	movl	%eax,%ecx
1343	addl	%edi,%ebx
1344	rorl	$9,%ecx
1345	movl	%eax,%esi
1346	movl	28(%esp),%edi
1347	xorl	%eax,%ecx
1348	movl	%eax,24(%esp)
1349	xorl	%edi,%eax
1350	rorl	$11,%ecx
1351	andl	%eax,%ebp
1352	leal	2952996808(%ebx,%edx,1),%edx
1353	xorl	%esi,%ecx
1354	xorl	%edi,%ebp
1355	movl	80(%esp),%esi
1356	rorl	$2,%ecx
1357	addl	%edx,%ebp
1358	addl	4(%esp),%edx
1359	addl	%ecx,%ebp
1360	movl	68(%esp),%ecx
1361	movl	%esi,%ebx
1362	rorl	$11,%esi
1363	movl	%ecx,%edi
1364	rorl	$2,%ecx
1365	xorl	%ebx,%esi
1366	shrl	$3,%ebx
1367	rorl	$7,%esi
1368	xorl	%edi,%ecx
1369	xorl	%esi,%ebx
1370	rorl	$17,%ecx
1371	addl	76(%esp),%ebx
1372	shrl	$10,%edi
1373	addl	48(%esp),%ebx
1374	movl	%edx,%esi
1375	xorl	%ecx,%edi
1376	movl	8(%esp),%ecx
1377	rorl	$14,%edx
1378	addl	%edi,%ebx
1379	movl	12(%esp),%edi
1380	xorl	%esi,%edx
1381	movl	%ebx,76(%esp)
1382	xorl	%edi,%ecx
1383	rorl	$5,%edx
1384	andl	%esi,%ecx
1385	movl	%esi,4(%esp)
1386	xorl	%esi,%edx
1387	addl	16(%esp),%ebx
1388	xorl	%ecx,%edi
1389	rorl	$6,%edx
1390	movl	%ebp,%esi
1391	addl	%edi,%ebx
1392	rorl	$9,%esi
1393	movl	%ebp,%ecx
1394	movl	24(%esp),%edi
1395	xorl	%ebp,%esi
1396	movl	%ebp,20(%esp)
1397	xorl	%edi,%ebp
1398	rorl	$11,%esi
1399	andl	%ebp,%eax
1400	leal	3210313671(%ebx,%edx,1),%edx
1401	xorl	%ecx,%esi
1402	xorl	%edi,%eax
1403	movl	84(%esp),%ecx
1404	rorl	$2,%esi
1405	addl	%edx,%eax
1406	addl	(%esp),%edx
1407	addl	%esi,%eax
1408	movl	72(%esp),%esi
1409	movl	%ecx,%ebx
1410	rorl	$11,%ecx
1411	movl	%esi,%edi
1412	rorl	$2,%esi
1413	xorl	%ebx,%ecx
1414	shrl	$3,%ebx
1415	rorl	$7,%ecx
1416	xorl	%edi,%esi
1417	xorl	%ecx,%ebx
1418	rorl	$17,%esi
1419	addl	80(%esp),%ebx
1420	shrl	$10,%edi
1421	addl	52(%esp),%ebx
1422	movl	%edx,%ecx
1423	xorl	%esi,%edi
1424	movl	4(%esp),%esi
1425	rorl	$14,%edx
1426	addl	%edi,%ebx
1427	movl	8(%esp),%edi
1428	xorl	%ecx,%edx
1429	movl	%ebx,80(%esp)
1430	xorl	%edi,%esi
1431	rorl	$5,%edx
1432	andl	%ecx,%esi
1433	movl	%ecx,(%esp)
1434	xorl	%ecx,%edx
1435	addl	12(%esp),%ebx
1436	xorl	%esi,%edi
1437	rorl	$6,%edx
1438	movl	%eax,%ecx
1439	addl	%edi,%ebx
1440	rorl	$9,%ecx
1441	movl	%eax,%esi
1442	movl	20(%esp),%edi
1443	xorl	%eax,%ecx
1444	movl	%eax,16(%esp)
1445	xorl	%edi,%eax
1446	rorl	$11,%ecx
1447	andl	%eax,%ebp
1448	leal	3336571891(%ebx,%edx,1),%edx
1449	xorl	%esi,%ecx
1450	xorl	%edi,%ebp
1451	movl	88(%esp),%esi
1452	rorl	$2,%ecx
1453	addl	%edx,%ebp
1454	addl	28(%esp),%edx
1455	addl	%ecx,%ebp
1456	movl	76(%esp),%ecx
1457	movl	%esi,%ebx
1458	rorl	$11,%esi
1459	movl	%ecx,%edi
1460	rorl	$2,%ecx
1461	xorl	%ebx,%esi
1462	shrl	$3,%ebx
1463	rorl	$7,%esi
1464	xorl	%edi,%ecx
1465	xorl	%esi,%ebx
1466	rorl	$17,%ecx
1467	addl	84(%esp),%ebx
1468	shrl	$10,%edi
1469	addl	56(%esp),%ebx
1470	movl	%edx,%esi
1471	xorl	%ecx,%edi
1472	movl	(%esp),%ecx
1473	rorl	$14,%edx
1474	addl	%edi,%ebx
1475	movl	4(%esp),%edi
1476	xorl	%esi,%edx
1477	movl	%ebx,84(%esp)
1478	xorl	%edi,%ecx
1479	rorl	$5,%edx
1480	andl	%esi,%ecx
1481	movl	%esi,28(%esp)
1482	xorl	%esi,%edx
1483	addl	8(%esp),%ebx
1484	xorl	%ecx,%edi
1485	rorl	$6,%edx
1486	movl	%ebp,%esi
1487	addl	%edi,%ebx
1488	rorl	$9,%esi
1489	movl	%ebp,%ecx
1490	movl	16(%esp),%edi
1491	xorl	%ebp,%esi
1492	movl	%ebp,12(%esp)
1493	xorl	%edi,%ebp
1494	rorl	$11,%esi
1495	andl	%ebp,%eax
1496	leal	3584528711(%ebx,%edx,1),%edx
1497	xorl	%ecx,%esi
1498	xorl	%edi,%eax
1499	movl	92(%esp),%ecx
1500	rorl	$2,%esi
1501	addl	%edx,%eax
1502	addl	24(%esp),%edx
1503	addl	%esi,%eax
1504	movl	80(%esp),%esi
1505	movl	%ecx,%ebx
1506	rorl	$11,%ecx
1507	movl	%esi,%edi
1508	rorl	$2,%esi
1509	xorl	%ebx,%ecx
1510	shrl	$3,%ebx
1511	rorl	$7,%ecx
1512	xorl	%edi,%esi
1513	xorl	%ecx,%ebx
1514	rorl	$17,%esi
1515	addl	88(%esp),%ebx
1516	shrl	$10,%edi
1517	addl	60(%esp),%ebx
1518	movl	%edx,%ecx
1519	xorl	%esi,%edi
1520	movl	28(%esp),%esi
1521	rorl	$14,%edx
1522	addl	%edi,%ebx
1523	movl	(%esp),%edi
1524	xorl	%ecx,%edx
1525	movl	%ebx,88(%esp)
1526	xorl	%edi,%esi
1527	rorl	$5,%edx
1528	andl	%ecx,%esi
1529	movl	%ecx,24(%esp)
1530	xorl	%ecx,%edx
1531	addl	4(%esp),%ebx
1532	xorl	%esi,%edi
1533	rorl	$6,%edx
1534	movl	%eax,%ecx
1535	addl	%edi,%ebx
1536	rorl	$9,%ecx
1537	movl	%eax,%esi
1538	movl	12(%esp),%edi
1539	xorl	%eax,%ecx
1540	movl	%eax,8(%esp)
1541	xorl	%edi,%eax
1542	rorl	$11,%ecx
1543	andl	%eax,%ebp
1544	leal	113926993(%ebx,%edx,1),%edx
1545	xorl	%esi,%ecx
1546	xorl	%edi,%ebp
1547	movl	32(%esp),%esi
1548	rorl	$2,%ecx
1549	addl	%edx,%ebp
1550	addl	20(%esp),%edx
1551	addl	%ecx,%ebp
1552	movl	84(%esp),%ecx
1553	movl	%esi,%ebx
1554	rorl	$11,%esi
1555	movl	%ecx,%edi
1556	rorl	$2,%ecx
1557	xorl	%ebx,%esi
1558	shrl	$3,%ebx
1559	rorl	$7,%esi
1560	xorl	%edi,%ecx
1561	xorl	%esi,%ebx
1562	rorl	$17,%ecx
1563	addl	92(%esp),%ebx
1564	shrl	$10,%edi
1565	addl	64(%esp),%ebx
1566	movl	%edx,%esi
1567	xorl	%ecx,%edi
1568	movl	24(%esp),%ecx
1569	rorl	$14,%edx
1570	addl	%edi,%ebx
1571	movl	28(%esp),%edi
1572	xorl	%esi,%edx
1573	movl	%ebx,92(%esp)
1574	xorl	%edi,%ecx
1575	rorl	$5,%edx
1576	andl	%esi,%ecx
1577	movl	%esi,20(%esp)
1578	xorl	%esi,%edx
1579	addl	(%esp),%ebx
1580	xorl	%ecx,%edi
1581	rorl	$6,%edx
1582	movl	%ebp,%esi
1583	addl	%edi,%ebx
1584	rorl	$9,%esi
1585	movl	%ebp,%ecx
1586	movl	8(%esp),%edi
1587	xorl	%ebp,%esi
1588	movl	%ebp,4(%esp)
1589	xorl	%edi,%ebp
1590	rorl	$11,%esi
1591	andl	%ebp,%eax
1592	leal	338241895(%ebx,%edx,1),%edx
1593	xorl	%ecx,%esi
1594	xorl	%edi,%eax
1595	movl	36(%esp),%ecx
1596	rorl	$2,%esi
1597	addl	%edx,%eax
1598	addl	16(%esp),%edx
1599	addl	%esi,%eax
1600	movl	88(%esp),%esi
1601	movl	%ecx,%ebx
1602	rorl	$11,%ecx
1603	movl	%esi,%edi
1604	rorl	$2,%esi
1605	xorl	%ebx,%ecx
1606	shrl	$3,%ebx
1607	rorl	$7,%ecx
1608	xorl	%edi,%esi
1609	xorl	%ecx,%ebx
1610	rorl	$17,%esi
1611	addl	32(%esp),%ebx
1612	shrl	$10,%edi
1613	addl	68(%esp),%ebx
1614	movl	%edx,%ecx
1615	xorl	%esi,%edi
1616	movl	20(%esp),%esi
1617	rorl	$14,%edx
1618	addl	%edi,%ebx
1619	movl	24(%esp),%edi
1620	xorl	%ecx,%edx
1621	movl	%ebx,32(%esp)
1622	xorl	%edi,%esi
1623	rorl	$5,%edx
1624	andl	%ecx,%esi
1625	movl	%ecx,16(%esp)
1626	xorl	%ecx,%edx
1627	addl	28(%esp),%ebx
1628	xorl	%esi,%edi
1629	rorl	$6,%edx
1630	movl	%eax,%ecx
1631	addl	%edi,%ebx
1632	rorl	$9,%ecx
1633	movl	%eax,%esi
1634	movl	4(%esp),%edi
1635	xorl	%eax,%ecx
1636	movl	%eax,(%esp)
1637	xorl	%edi,%eax
1638	rorl	$11,%ecx
1639	andl	%eax,%ebp
1640	leal	666307205(%ebx,%edx,1),%edx
1641	xorl	%esi,%ecx
1642	xorl	%edi,%ebp
1643	movl	40(%esp),%esi
1644	rorl	$2,%ecx
1645	addl	%edx,%ebp
1646	addl	12(%esp),%edx
1647	addl	%ecx,%ebp
1648	movl	92(%esp),%ecx
1649	movl	%esi,%ebx
1650	rorl	$11,%esi
1651	movl	%ecx,%edi
1652	rorl	$2,%ecx
1653	xorl	%ebx,%esi
1654	shrl	$3,%ebx
1655	rorl	$7,%esi
1656	xorl	%edi,%ecx
1657	xorl	%esi,%ebx
1658	rorl	$17,%ecx
1659	addl	36(%esp),%ebx
1660	shrl	$10,%edi
1661	addl	72(%esp),%ebx
1662	movl	%edx,%esi
1663	xorl	%ecx,%edi
1664	movl	16(%esp),%ecx
1665	rorl	$14,%edx
1666	addl	%edi,%ebx
1667	movl	20(%esp),%edi
1668	xorl	%esi,%edx
1669	movl	%ebx,36(%esp)
1670	xorl	%edi,%ecx
1671	rorl	$5,%edx
1672	andl	%esi,%ecx
1673	movl	%esi,12(%esp)
1674	xorl	%esi,%edx
1675	addl	24(%esp),%ebx
1676	xorl	%ecx,%edi
1677	rorl	$6,%edx
1678	movl	%ebp,%esi
1679	addl	%edi,%ebx
1680	rorl	$9,%esi
1681	movl	%ebp,%ecx
1682	movl	(%esp),%edi
1683	xorl	%ebp,%esi
1684	movl	%ebp,28(%esp)
1685	xorl	%edi,%ebp
1686	rorl	$11,%esi
1687	andl	%ebp,%eax
1688	leal	773529912(%ebx,%edx,1),%edx
1689	xorl	%ecx,%esi
1690	xorl	%edi,%eax
1691	movl	44(%esp),%ecx
1692	rorl	$2,%esi
1693	addl	%edx,%eax
1694	addl	8(%esp),%edx
1695	addl	%esi,%eax
1696	movl	32(%esp),%esi
1697	movl	%ecx,%ebx
1698	rorl	$11,%ecx
1699	movl	%esi,%edi
1700	rorl	$2,%esi
1701	xorl	%ebx,%ecx
1702	shrl	$3,%ebx
1703	rorl	$7,%ecx
1704	xorl	%edi,%esi
1705	xorl	%ecx,%ebx
1706	rorl	$17,%esi
1707	addl	40(%esp),%ebx
1708	shrl	$10,%edi
1709	addl	76(%esp),%ebx
1710	movl	%edx,%ecx
1711	xorl	%esi,%edi
1712	movl	12(%esp),%esi
1713	rorl	$14,%edx
1714	addl	%edi,%ebx
1715	movl	16(%esp),%edi
1716	xorl	%ecx,%edx
1717	movl	%ebx,40(%esp)
1718	xorl	%edi,%esi
1719	rorl	$5,%edx
1720	andl	%ecx,%esi
1721	movl	%ecx,8(%esp)
1722	xorl	%ecx,%edx
1723	addl	20(%esp),%ebx
1724	xorl	%esi,%edi
1725	rorl	$6,%edx
1726	movl	%eax,%ecx
1727	addl	%edi,%ebx
1728	rorl	$9,%ecx
1729	movl	%eax,%esi
1730	movl	28(%esp),%edi
1731	xorl	%eax,%ecx
1732	movl	%eax,24(%esp)
1733	xorl	%edi,%eax
1734	rorl	$11,%ecx
1735	andl	%eax,%ebp
1736	leal	1294757372(%ebx,%edx,1),%edx
1737	xorl	%esi,%ecx
1738	xorl	%edi,%ebp
1739	movl	48(%esp),%esi
1740	rorl	$2,%ecx
1741	addl	%edx,%ebp
1742	addl	4(%esp),%edx
1743	addl	%ecx,%ebp
1744	movl	36(%esp),%ecx
1745	movl	%esi,%ebx
1746	rorl	$11,%esi
1747	movl	%ecx,%edi
1748	rorl	$2,%ecx
1749	xorl	%ebx,%esi
1750	shrl	$3,%ebx
1751	rorl	$7,%esi
1752	xorl	%edi,%ecx
1753	xorl	%esi,%ebx
1754	rorl	$17,%ecx
1755	addl	44(%esp),%ebx
1756	shrl	$10,%edi
1757	addl	80(%esp),%ebx
1758	movl	%edx,%esi
1759	xorl	%ecx,%edi
1760	movl	8(%esp),%ecx
1761	rorl	$14,%edx
1762	addl	%edi,%ebx
1763	movl	12(%esp),%edi
1764	xorl	%esi,%edx
1765	movl	%ebx,44(%esp)
1766	xorl	%edi,%ecx
1767	rorl	$5,%edx
1768	andl	%esi,%ecx
1769	movl	%esi,4(%esp)
1770	xorl	%esi,%edx
1771	addl	16(%esp),%ebx
1772	xorl	%ecx,%edi
1773	rorl	$6,%edx
1774	movl	%ebp,%esi
1775	addl	%edi,%ebx
1776	rorl	$9,%esi
1777	movl	%ebp,%ecx
1778	movl	24(%esp),%edi
1779	xorl	%ebp,%esi
1780	movl	%ebp,20(%esp)
1781	xorl	%edi,%ebp
1782	rorl	$11,%esi
1783	andl	%ebp,%eax
1784	leal	1396182291(%ebx,%edx,1),%edx
1785	xorl	%ecx,%esi
1786	xorl	%edi,%eax
1787	movl	52(%esp),%ecx
1788	rorl	$2,%esi
1789	addl	%edx,%eax
1790	addl	(%esp),%edx
1791	addl	%esi,%eax
1792	movl	40(%esp),%esi
1793	movl	%ecx,%ebx
1794	rorl	$11,%ecx
1795	movl	%esi,%edi
1796	rorl	$2,%esi
1797	xorl	%ebx,%ecx
1798	shrl	$3,%ebx
1799	rorl	$7,%ecx
1800	xorl	%edi,%esi
1801	xorl	%ecx,%ebx
1802	rorl	$17,%esi
1803	addl	48(%esp),%ebx
1804	shrl	$10,%edi
1805	addl	84(%esp),%ebx
1806	movl	%edx,%ecx
1807	xorl	%esi,%edi
1808	movl	4(%esp),%esi
1809	rorl	$14,%edx
1810	addl	%edi,%ebx
1811	movl	8(%esp),%edi
1812	xorl	%ecx,%edx
1813	movl	%ebx,48(%esp)
1814	xorl	%edi,%esi
1815	rorl	$5,%edx
1816	andl	%ecx,%esi
1817	movl	%ecx,(%esp)
1818	xorl	%ecx,%edx
1819	addl	12(%esp),%ebx
1820	xorl	%esi,%edi
1821	rorl	$6,%edx
1822	movl	%eax,%ecx
1823	addl	%edi,%ebx
1824	rorl	$9,%ecx
1825	movl	%eax,%esi
1826	movl	20(%esp),%edi
1827	xorl	%eax,%ecx
1828	movl	%eax,16(%esp)
1829	xorl	%edi,%eax
1830	rorl	$11,%ecx
1831	andl	%eax,%ebp
1832	leal	1695183700(%ebx,%edx,1),%edx
1833	xorl	%esi,%ecx
1834	xorl	%edi,%ebp
1835	movl	56(%esp),%esi
1836	rorl	$2,%ecx
1837	addl	%edx,%ebp
1838	addl	28(%esp),%edx
1839	addl	%ecx,%ebp
1840	movl	44(%esp),%ecx
1841	movl	%esi,%ebx
1842	rorl	$11,%esi
1843	movl	%ecx,%edi
1844	rorl	$2,%ecx
1845	xorl	%ebx,%esi
1846	shrl	$3,%ebx
1847	rorl	$7,%esi
1848	xorl	%edi,%ecx
1849	xorl	%esi,%ebx
1850	rorl	$17,%ecx
1851	addl	52(%esp),%ebx
1852	shrl	$10,%edi
1853	addl	88(%esp),%ebx
1854	movl	%edx,%esi
1855	xorl	%ecx,%edi
1856	movl	(%esp),%ecx
1857	rorl	$14,%edx
1858	addl	%edi,%ebx
1859	movl	4(%esp),%edi
1860	xorl	%esi,%edx
1861	movl	%ebx,52(%esp)
1862	xorl	%edi,%ecx
1863	rorl	$5,%edx
1864	andl	%esi,%ecx
1865	movl	%esi,28(%esp)
1866	xorl	%esi,%edx
1867	addl	8(%esp),%ebx
1868	xorl	%ecx,%edi
1869	rorl	$6,%edx
1870	movl	%ebp,%esi
1871	addl	%edi,%ebx
1872	rorl	$9,%esi
1873	movl	%ebp,%ecx
1874	movl	16(%esp),%edi
1875	xorl	%ebp,%esi
1876	movl	%ebp,12(%esp)
1877	xorl	%edi,%ebp
1878	rorl	$11,%esi
1879	andl	%ebp,%eax
1880	leal	1986661051(%ebx,%edx,1),%edx
1881	xorl	%ecx,%esi
1882	xorl	%edi,%eax
1883	movl	60(%esp),%ecx
1884	rorl	$2,%esi
1885	addl	%edx,%eax
1886	addl	24(%esp),%edx
1887	addl	%esi,%eax
1888	movl	48(%esp),%esi
1889	movl	%ecx,%ebx
1890	rorl	$11,%ecx
1891	movl	%esi,%edi
1892	rorl	$2,%esi
1893	xorl	%ebx,%ecx
1894	shrl	$3,%ebx
1895	rorl	$7,%ecx
1896	xorl	%edi,%esi
1897	xorl	%ecx,%ebx
1898	rorl	$17,%esi
1899	addl	56(%esp),%ebx
1900	shrl	$10,%edi
1901	addl	92(%esp),%ebx
1902	movl	%edx,%ecx
1903	xorl	%esi,%edi
1904	movl	28(%esp),%esi
1905	rorl	$14,%edx
1906	addl	%edi,%ebx
1907	movl	(%esp),%edi
1908	xorl	%ecx,%edx
1909	movl	%ebx,56(%esp)
1910	xorl	%edi,%esi
1911	rorl	$5,%edx
1912	andl	%ecx,%esi
1913	movl	%ecx,24(%esp)
1914	xorl	%ecx,%edx
1915	addl	4(%esp),%ebx
1916	xorl	%esi,%edi
1917	rorl	$6,%edx
1918	movl	%eax,%ecx
1919	addl	%edi,%ebx
1920	rorl	$9,%ecx
1921	movl	%eax,%esi
1922	movl	12(%esp),%edi
1923	xorl	%eax,%ecx
1924	movl	%eax,8(%esp)
1925	xorl	%edi,%eax
1926	rorl	$11,%ecx
1927	andl	%eax,%ebp
1928	leal	2177026350(%ebx,%edx,1),%edx
1929	xorl	%esi,%ecx
1930	xorl	%edi,%ebp
1931	movl	64(%esp),%esi
1932	rorl	$2,%ecx
1933	addl	%edx,%ebp
1934	addl	20(%esp),%edx
1935	addl	%ecx,%ebp
1936	movl	52(%esp),%ecx
1937	movl	%esi,%ebx
1938	rorl	$11,%esi
1939	movl	%ecx,%edi
1940	rorl	$2,%ecx
1941	xorl	%ebx,%esi
1942	shrl	$3,%ebx
1943	rorl	$7,%esi
1944	xorl	%edi,%ecx
1945	xorl	%esi,%ebx
1946	rorl	$17,%ecx
1947	addl	60(%esp),%ebx
1948	shrl	$10,%edi
1949	addl	32(%esp),%ebx
1950	movl	%edx,%esi
1951	xorl	%ecx,%edi
1952	movl	24(%esp),%ecx
1953	rorl	$14,%edx
1954	addl	%edi,%ebx
1955	movl	28(%esp),%edi
1956	xorl	%esi,%edx
1957	movl	%ebx,60(%esp)
1958	xorl	%edi,%ecx
1959	rorl	$5,%edx
1960	andl	%esi,%ecx
1961	movl	%esi,20(%esp)
1962	xorl	%esi,%edx
1963	addl	(%esp),%ebx
1964	xorl	%ecx,%edi
1965	rorl	$6,%edx
1966	movl	%ebp,%esi
1967	addl	%edi,%ebx
1968	rorl	$9,%esi
1969	movl	%ebp,%ecx
1970	movl	8(%esp),%edi
1971	xorl	%ebp,%esi
1972	movl	%ebp,4(%esp)
1973	xorl	%edi,%ebp
1974	rorl	$11,%esi
1975	andl	%ebp,%eax
1976	leal	2456956037(%ebx,%edx,1),%edx
1977	xorl	%ecx,%esi
1978	xorl	%edi,%eax
1979	movl	68(%esp),%ecx
1980	rorl	$2,%esi
1981	addl	%edx,%eax
1982	addl	16(%esp),%edx
1983	addl	%esi,%eax
1984	movl	56(%esp),%esi
1985	movl	%ecx,%ebx
1986	rorl	$11,%ecx
1987	movl	%esi,%edi
1988	rorl	$2,%esi
1989	xorl	%ebx,%ecx
1990	shrl	$3,%ebx
1991	rorl	$7,%ecx
1992	xorl	%edi,%esi
1993	xorl	%ecx,%ebx
1994	rorl	$17,%esi
1995	addl	64(%esp),%ebx
1996	shrl	$10,%edi
1997	addl	36(%esp),%ebx
1998	movl	%edx,%ecx
1999	xorl	%esi,%edi
2000	movl	20(%esp),%esi
2001	rorl	$14,%edx
2002	addl	%edi,%ebx
2003	movl	24(%esp),%edi
2004	xorl	%ecx,%edx
2005	movl	%ebx,64(%esp)
2006	xorl	%edi,%esi
2007	rorl	$5,%edx
2008	andl	%ecx,%esi
2009	movl	%ecx,16(%esp)
2010	xorl	%ecx,%edx
2011	addl	28(%esp),%ebx
2012	xorl	%esi,%edi
2013	rorl	$6,%edx
2014	movl	%eax,%ecx
2015	addl	%edi,%ebx
2016	rorl	$9,%ecx
2017	movl	%eax,%esi
2018	movl	4(%esp),%edi
2019	xorl	%eax,%ecx
2020	movl	%eax,(%esp)
2021	xorl	%edi,%eax
2022	rorl	$11,%ecx
2023	andl	%eax,%ebp
2024	leal	2730485921(%ebx,%edx,1),%edx
2025	xorl	%esi,%ecx
2026	xorl	%edi,%ebp
2027	movl	72(%esp),%esi
2028	rorl	$2,%ecx
2029	addl	%edx,%ebp
2030	addl	12(%esp),%edx
2031	addl	%ecx,%ebp
2032	movl	60(%esp),%ecx
2033	movl	%esi,%ebx
2034	rorl	$11,%esi
2035	movl	%ecx,%edi
2036	rorl	$2,%ecx
2037	xorl	%ebx,%esi
2038	shrl	$3,%ebx
2039	rorl	$7,%esi
2040	xorl	%edi,%ecx
2041	xorl	%esi,%ebx
2042	rorl	$17,%ecx
2043	addl	68(%esp),%ebx
2044	shrl	$10,%edi
2045	addl	40(%esp),%ebx
2046	movl	%edx,%esi
2047	xorl	%ecx,%edi
2048	movl	16(%esp),%ecx
2049	rorl	$14,%edx
2050	addl	%edi,%ebx
2051	movl	20(%esp),%edi
2052	xorl	%esi,%edx
2053	movl	%ebx,68(%esp)
2054	xorl	%edi,%ecx
2055	rorl	$5,%edx
2056	andl	%esi,%ecx
2057	movl	%esi,12(%esp)
2058	xorl	%esi,%edx
2059	addl	24(%esp),%ebx
2060	xorl	%ecx,%edi
2061	rorl	$6,%edx
2062	movl	%ebp,%esi
2063	addl	%edi,%ebx
2064	rorl	$9,%esi
2065	movl	%ebp,%ecx
2066	movl	(%esp),%edi
2067	xorl	%ebp,%esi
2068	movl	%ebp,28(%esp)
2069	xorl	%edi,%ebp
2070	rorl	$11,%esi
2071	andl	%ebp,%eax
2072	leal	2820302411(%ebx,%edx,1),%edx
2073	xorl	%ecx,%esi
2074	xorl	%edi,%eax
2075	movl	76(%esp),%ecx
2076	rorl	$2,%esi
2077	addl	%edx,%eax
2078	addl	8(%esp),%edx
2079	addl	%esi,%eax
2080	movl	64(%esp),%esi
2081	movl	%ecx,%ebx
2082	rorl	$11,%ecx
2083	movl	%esi,%edi
2084	rorl	$2,%esi
2085	xorl	%ebx,%ecx
2086	shrl	$3,%ebx
2087	rorl	$7,%ecx
2088	xorl	%edi,%esi
2089	xorl	%ecx,%ebx
2090	rorl	$17,%esi
2091	addl	72(%esp),%ebx
2092	shrl	$10,%edi
2093	addl	44(%esp),%ebx
2094	movl	%edx,%ecx
2095	xorl	%esi,%edi
2096	movl	12(%esp),%esi
2097	rorl	$14,%edx
2098	addl	%edi,%ebx
2099	movl	16(%esp),%edi
2100	xorl	%ecx,%edx
2101	movl	%ebx,72(%esp)
2102	xorl	%edi,%esi
2103	rorl	$5,%edx
2104	andl	%ecx,%esi
2105	movl	%ecx,8(%esp)
2106	xorl	%ecx,%edx
2107	addl	20(%esp),%ebx
2108	xorl	%esi,%edi
2109	rorl	$6,%edx
2110	movl	%eax,%ecx
2111	addl	%edi,%ebx
2112	rorl	$9,%ecx
2113	movl	%eax,%esi
2114	movl	28(%esp),%edi
2115	xorl	%eax,%ecx
2116	movl	%eax,24(%esp)
2117	xorl	%edi,%eax
2118	rorl	$11,%ecx
2119	andl	%eax,%ebp
2120	leal	3259730800(%ebx,%edx,1),%edx
2121	xorl	%esi,%ecx
2122	xorl	%edi,%ebp
2123	movl	80(%esp),%esi
2124	rorl	$2,%ecx
2125	addl	%edx,%ebp
2126	addl	4(%esp),%edx
2127	addl	%ecx,%ebp
2128	movl	68(%esp),%ecx
2129	movl	%esi,%ebx
2130	rorl	$11,%esi
2131	movl	%ecx,%edi
2132	rorl	$2,%ecx
2133	xorl	%ebx,%esi
2134	shrl	$3,%ebx
2135	rorl	$7,%esi
2136	xorl	%edi,%ecx
2137	xorl	%esi,%ebx
2138	rorl	$17,%ecx
2139	addl	76(%esp),%ebx
2140	shrl	$10,%edi
2141	addl	48(%esp),%ebx
2142	movl	%edx,%esi
2143	xorl	%ecx,%edi
2144	movl	8(%esp),%ecx
2145	rorl	$14,%edx
2146	addl	%edi,%ebx
2147	movl	12(%esp),%edi
2148	xorl	%esi,%edx
2149	movl	%ebx,76(%esp)
2150	xorl	%edi,%ecx
2151	rorl	$5,%edx
2152	andl	%esi,%ecx
2153	movl	%esi,4(%esp)
2154	xorl	%esi,%edx
2155	addl	16(%esp),%ebx
2156	xorl	%ecx,%edi
2157	rorl	$6,%edx
2158	movl	%ebp,%esi
2159	addl	%edi,%ebx
2160	rorl	$9,%esi
2161	movl	%ebp,%ecx
2162	movl	24(%esp),%edi
2163	xorl	%ebp,%esi
2164	movl	%ebp,20(%esp)
2165	xorl	%edi,%ebp
2166	rorl	$11,%esi
2167	andl	%ebp,%eax
2168	leal	3345764771(%ebx,%edx,1),%edx
2169	xorl	%ecx,%esi
2170	xorl	%edi,%eax
2171	movl	84(%esp),%ecx
2172	rorl	$2,%esi
2173	addl	%edx,%eax
2174	addl	(%esp),%edx
2175	addl	%esi,%eax
2176	movl	72(%esp),%esi
2177	movl	%ecx,%ebx
2178	rorl	$11,%ecx
2179	movl	%esi,%edi
2180	rorl	$2,%esi
2181	xorl	%ebx,%ecx
2182	shrl	$3,%ebx
2183	rorl	$7,%ecx
2184	xorl	%edi,%esi
2185	xorl	%ecx,%ebx
2186	rorl	$17,%esi
2187	addl	80(%esp),%ebx
2188	shrl	$10,%edi
2189	addl	52(%esp),%ebx
2190	movl	%edx,%ecx
2191	xorl	%esi,%edi
2192	movl	4(%esp),%esi
2193	rorl	$14,%edx
2194	addl	%edi,%ebx
2195	movl	8(%esp),%edi
2196	xorl	%ecx,%edx
2197	movl	%ebx,80(%esp)
2198	xorl	%edi,%esi
2199	rorl	$5,%edx
2200	andl	%ecx,%esi
2201	movl	%ecx,(%esp)
2202	xorl	%ecx,%edx
2203	addl	12(%esp),%ebx
2204	xorl	%esi,%edi
2205	rorl	$6,%edx
2206	movl	%eax,%ecx
2207	addl	%edi,%ebx
2208	rorl	$9,%ecx
2209	movl	%eax,%esi
2210	movl	20(%esp),%edi
2211	xorl	%eax,%ecx
2212	movl	%eax,16(%esp)
2213	xorl	%edi,%eax
2214	rorl	$11,%ecx
2215	andl	%eax,%ebp
2216	leal	3516065817(%ebx,%edx,1),%edx
2217	xorl	%esi,%ecx
2218	xorl	%edi,%ebp
2219	movl	88(%esp),%esi
2220	rorl	$2,%ecx
2221	addl	%edx,%ebp
2222	addl	28(%esp),%edx
2223	addl	%ecx,%ebp
2224	movl	76(%esp),%ecx
2225	movl	%esi,%ebx
2226	rorl	$11,%esi
2227	movl	%ecx,%edi
2228	rorl	$2,%ecx
2229	xorl	%ebx,%esi
2230	shrl	$3,%ebx
2231	rorl	$7,%esi
2232	xorl	%edi,%ecx
2233	xorl	%esi,%ebx
2234	rorl	$17,%ecx
2235	addl	84(%esp),%ebx
2236	shrl	$10,%edi
2237	addl	56(%esp),%ebx
2238	movl	%edx,%esi
2239	xorl	%ecx,%edi
2240	movl	(%esp),%ecx
2241	rorl	$14,%edx
2242	addl	%edi,%ebx
2243	movl	4(%esp),%edi
2244	xorl	%esi,%edx
2245	movl	%ebx,84(%esp)
2246	xorl	%edi,%ecx
2247	rorl	$5,%edx
2248	andl	%esi,%ecx
2249	movl	%esi,28(%esp)
2250	xorl	%esi,%edx
2251	addl	8(%esp),%ebx
2252	xorl	%ecx,%edi
2253	rorl	$6,%edx
2254	movl	%ebp,%esi
2255	addl	%edi,%ebx
2256	rorl	$9,%esi
2257	movl	%ebp,%ecx
2258	movl	16(%esp),%edi
2259	xorl	%ebp,%esi
2260	movl	%ebp,12(%esp)
2261	xorl	%edi,%ebp
2262	rorl	$11,%esi
2263	andl	%ebp,%eax
2264	leal	3600352804(%ebx,%edx,1),%edx
2265	xorl	%ecx,%esi
2266	xorl	%edi,%eax
2267	movl	92(%esp),%ecx
2268	rorl	$2,%esi
2269	addl	%edx,%eax
2270	addl	24(%esp),%edx
2271	addl	%esi,%eax
2272	movl	80(%esp),%esi
2273	movl	%ecx,%ebx
2274	rorl	$11,%ecx
2275	movl	%esi,%edi
2276	rorl	$2,%esi
2277	xorl	%ebx,%ecx
2278	shrl	$3,%ebx
2279	rorl	$7,%ecx
2280	xorl	%edi,%esi
2281	xorl	%ecx,%ebx
2282	rorl	$17,%esi
2283	addl	88(%esp),%ebx
2284	shrl	$10,%edi
2285	addl	60(%esp),%ebx
2286	movl	%edx,%ecx
2287	xorl	%esi,%edi
2288	movl	28(%esp),%esi
2289	rorl	$14,%edx
2290	addl	%edi,%ebx
2291	movl	(%esp),%edi
2292	xorl	%ecx,%edx
2293	movl	%ebx,88(%esp)
2294	xorl	%edi,%esi
2295	rorl	$5,%edx
2296	andl	%ecx,%esi
2297	movl	%ecx,24(%esp)
2298	xorl	%ecx,%edx
2299	addl	4(%esp),%ebx
2300	xorl	%esi,%edi
2301	rorl	$6,%edx
2302	movl	%eax,%ecx
2303	addl	%edi,%ebx
2304	rorl	$9,%ecx
2305	movl	%eax,%esi
2306	movl	12(%esp),%edi
2307	xorl	%eax,%ecx
2308	movl	%eax,8(%esp)
2309	xorl	%edi,%eax
2310	rorl	$11,%ecx
2311	andl	%eax,%ebp
2312	leal	4094571909(%ebx,%edx,1),%edx
2313	xorl	%esi,%ecx
2314	xorl	%edi,%ebp
2315	movl	32(%esp),%esi
2316	rorl	$2,%ecx
2317	addl	%edx,%ebp
2318	addl	20(%esp),%edx
2319	addl	%ecx,%ebp
2320	movl	84(%esp),%ecx
2321	movl	%esi,%ebx
2322	rorl	$11,%esi
2323	movl	%ecx,%edi
2324	rorl	$2,%ecx
2325	xorl	%ebx,%esi
2326	shrl	$3,%ebx
2327	rorl	$7,%esi
2328	xorl	%edi,%ecx
2329	xorl	%esi,%ebx
2330	rorl	$17,%ecx
2331	addl	92(%esp),%ebx
2332	shrl	$10,%edi
2333	addl	64(%esp),%ebx
2334	movl	%edx,%esi
2335	xorl	%ecx,%edi
2336	movl	24(%esp),%ecx
2337	rorl	$14,%edx
2338	addl	%edi,%ebx
2339	movl	28(%esp),%edi
2340	xorl	%esi,%edx
2341	movl	%ebx,92(%esp)
2342	xorl	%edi,%ecx
2343	rorl	$5,%edx
2344	andl	%esi,%ecx
2345	movl	%esi,20(%esp)
2346	xorl	%esi,%edx
2347	addl	(%esp),%ebx
2348	xorl	%ecx,%edi
2349	rorl	$6,%edx
2350	movl	%ebp,%esi
2351	addl	%edi,%ebx
2352	rorl	$9,%esi
2353	movl	%ebp,%ecx
2354	movl	8(%esp),%edi
2355	xorl	%ebp,%esi
2356	movl	%ebp,4(%esp)
2357	xorl	%edi,%ebp
2358	rorl	$11,%esi
2359	andl	%ebp,%eax
2360	leal	275423344(%ebx,%edx,1),%edx
2361	xorl	%ecx,%esi
2362	xorl	%edi,%eax
2363	movl	36(%esp),%ecx
2364	rorl	$2,%esi
2365	addl	%edx,%eax
2366	addl	16(%esp),%edx
2367	addl	%esi,%eax
2368	movl	88(%esp),%esi
2369	movl	%ecx,%ebx
2370	rorl	$11,%ecx
2371	movl	%esi,%edi
2372	rorl	$2,%esi
2373	xorl	%ebx,%ecx
2374	shrl	$3,%ebx
2375	rorl	$7,%ecx
2376	xorl	%edi,%esi
2377	xorl	%ecx,%ebx
2378	rorl	$17,%esi
2379	addl	32(%esp),%ebx
2380	shrl	$10,%edi
2381	addl	68(%esp),%ebx
2382	movl	%edx,%ecx
2383	xorl	%esi,%edi
2384	movl	20(%esp),%esi
2385	rorl	$14,%edx
2386	addl	%edi,%ebx
2387	movl	24(%esp),%edi
2388	xorl	%ecx,%edx
2389	movl	%ebx,32(%esp)
2390	xorl	%edi,%esi
2391	rorl	$5,%edx
2392	andl	%ecx,%esi
2393	movl	%ecx,16(%esp)
2394	xorl	%ecx,%edx
2395	addl	28(%esp),%ebx
2396	xorl	%esi,%edi
2397	rorl	$6,%edx
2398	movl	%eax,%ecx
2399	addl	%edi,%ebx
2400	rorl	$9,%ecx
2401	movl	%eax,%esi
2402	movl	4(%esp),%edi
2403	xorl	%eax,%ecx
2404	movl	%eax,(%esp)
2405	xorl	%edi,%eax
2406	rorl	$11,%ecx
2407	andl	%eax,%ebp
2408	leal	430227734(%ebx,%edx,1),%edx
2409	xorl	%esi,%ecx
2410	xorl	%edi,%ebp
2411	movl	40(%esp),%esi
2412	rorl	$2,%ecx
2413	addl	%edx,%ebp
2414	addl	12(%esp),%edx
2415	addl	%ecx,%ebp
2416	movl	92(%esp),%ecx
2417	movl	%esi,%ebx
2418	rorl	$11,%esi
2419	movl	%ecx,%edi
2420	rorl	$2,%ecx
2421	xorl	%ebx,%esi
2422	shrl	$3,%ebx
2423	rorl	$7,%esi
2424	xorl	%edi,%ecx
2425	xorl	%esi,%ebx
2426	rorl	$17,%ecx
2427	addl	36(%esp),%ebx
2428	shrl	$10,%edi
2429	addl	72(%esp),%ebx
2430	movl	%edx,%esi
2431	xorl	%ecx,%edi
2432	movl	16(%esp),%ecx
2433	rorl	$14,%edx
2434	addl	%edi,%ebx
2435	movl	20(%esp),%edi
2436	xorl	%esi,%edx
2437	movl	%ebx,36(%esp)
2438	xorl	%edi,%ecx
2439	rorl	$5,%edx
2440	andl	%esi,%ecx
2441	movl	%esi,12(%esp)
2442	xorl	%esi,%edx
2443	addl	24(%esp),%ebx
2444	xorl	%ecx,%edi
2445	rorl	$6,%edx
2446	movl	%ebp,%esi
2447	addl	%edi,%ebx
2448	rorl	$9,%esi
2449	movl	%ebp,%ecx
2450	movl	(%esp),%edi
2451	xorl	%ebp,%esi
2452	movl	%ebp,28(%esp)
2453	xorl	%edi,%ebp
2454	rorl	$11,%esi
2455	andl	%ebp,%eax
2456	leal	506948616(%ebx,%edx,1),%edx
2457	xorl	%ecx,%esi
2458	xorl	%edi,%eax
2459	movl	44(%esp),%ecx
2460	rorl	$2,%esi
2461	addl	%edx,%eax
2462	addl	8(%esp),%edx
2463	addl	%esi,%eax
2464	movl	32(%esp),%esi
2465	movl	%ecx,%ebx
2466	rorl	$11,%ecx
2467	movl	%esi,%edi
2468	rorl	$2,%esi
2469	xorl	%ebx,%ecx
2470	shrl	$3,%ebx
2471	rorl	$7,%ecx
2472	xorl	%edi,%esi
2473	xorl	%ecx,%ebx
2474	rorl	$17,%esi
2475	addl	40(%esp),%ebx
2476	shrl	$10,%edi
2477	addl	76(%esp),%ebx
2478	movl	%edx,%ecx
2479	xorl	%esi,%edi
2480	movl	12(%esp),%esi
2481	rorl	$14,%edx
2482	addl	%edi,%ebx
2483	movl	16(%esp),%edi
2484	xorl	%ecx,%edx
2485	movl	%ebx,40(%esp)
2486	xorl	%edi,%esi
2487	rorl	$5,%edx
2488	andl	%ecx,%esi
2489	movl	%ecx,8(%esp)
2490	xorl	%ecx,%edx
2491	addl	20(%esp),%ebx
2492	xorl	%esi,%edi
2493	rorl	$6,%edx
2494	movl	%eax,%ecx
2495	addl	%edi,%ebx
2496	rorl	$9,%ecx
2497	movl	%eax,%esi
2498	movl	28(%esp),%edi
2499	xorl	%eax,%ecx
2500	movl	%eax,24(%esp)
2501	xorl	%edi,%eax
2502	rorl	$11,%ecx
2503	andl	%eax,%ebp
2504	leal	659060556(%ebx,%edx,1),%edx
2505	xorl	%esi,%ecx
2506	xorl	%edi,%ebp
2507	movl	48(%esp),%esi
2508	rorl	$2,%ecx
2509	addl	%edx,%ebp
2510	addl	4(%esp),%edx
2511	addl	%ecx,%ebp
2512	movl	36(%esp),%ecx
2513	movl	%esi,%ebx
2514	rorl	$11,%esi
2515	movl	%ecx,%edi
2516	rorl	$2,%ecx
2517	xorl	%ebx,%esi
2518	shrl	$3,%ebx
2519	rorl	$7,%esi
2520	xorl	%edi,%ecx
2521	xorl	%esi,%ebx
2522	rorl	$17,%ecx
2523	addl	44(%esp),%ebx
2524	shrl	$10,%edi
2525	addl	80(%esp),%ebx
2526	movl	%edx,%esi
2527	xorl	%ecx,%edi
2528	movl	8(%esp),%ecx
2529	rorl	$14,%edx
2530	addl	%edi,%ebx
2531	movl	12(%esp),%edi
2532	xorl	%esi,%edx
2533	movl	%ebx,44(%esp)
2534	xorl	%edi,%ecx
2535	rorl	$5,%edx
2536	andl	%esi,%ecx
2537	movl	%esi,4(%esp)
2538	xorl	%esi,%edx
2539	addl	16(%esp),%ebx
2540	xorl	%ecx,%edi
2541	rorl	$6,%edx
2542	movl	%ebp,%esi
2543	addl	%edi,%ebx
2544	rorl	$9,%esi
2545	movl	%ebp,%ecx
2546	movl	24(%esp),%edi
2547	xorl	%ebp,%esi
2548	movl	%ebp,20(%esp)
2549	xorl	%edi,%ebp
2550	rorl	$11,%esi
2551	andl	%ebp,%eax
2552	leal	883997877(%ebx,%edx,1),%edx
2553	xorl	%ecx,%esi
2554	xorl	%edi,%eax
2555	movl	52(%esp),%ecx
2556	rorl	$2,%esi
2557	addl	%edx,%eax
2558	addl	(%esp),%edx
2559	addl	%esi,%eax
2560	movl	40(%esp),%esi
2561	movl	%ecx,%ebx
2562	rorl	$11,%ecx
2563	movl	%esi,%edi
2564	rorl	$2,%esi
2565	xorl	%ebx,%ecx
2566	shrl	$3,%ebx
2567	rorl	$7,%ecx
2568	xorl	%edi,%esi
2569	xorl	%ecx,%ebx
2570	rorl	$17,%esi
2571	addl	48(%esp),%ebx
2572	shrl	$10,%edi
2573	addl	84(%esp),%ebx
2574	movl	%edx,%ecx
2575	xorl	%esi,%edi
2576	movl	4(%esp),%esi
2577	rorl	$14,%edx
2578	addl	%edi,%ebx
2579	movl	8(%esp),%edi
2580	xorl	%ecx,%edx
2581	movl	%ebx,48(%esp)
2582	xorl	%edi,%esi
2583	rorl	$5,%edx
2584	andl	%ecx,%esi
2585	movl	%ecx,(%esp)
2586	xorl	%ecx,%edx
2587	addl	12(%esp),%ebx
2588	xorl	%esi,%edi
2589	rorl	$6,%edx
2590	movl	%eax,%ecx
2591	addl	%edi,%ebx
2592	rorl	$9,%ecx
2593	movl	%eax,%esi
2594	movl	20(%esp),%edi
2595	xorl	%eax,%ecx
2596	movl	%eax,16(%esp)
2597	xorl	%edi,%eax
2598	rorl	$11,%ecx
2599	andl	%eax,%ebp
2600	leal	958139571(%ebx,%edx,1),%edx
2601	xorl	%esi,%ecx
2602	xorl	%edi,%ebp
2603	movl	56(%esp),%esi
2604	rorl	$2,%ecx
2605	addl	%edx,%ebp
2606	addl	28(%esp),%edx
2607	addl	%ecx,%ebp
2608	movl	44(%esp),%ecx
2609	movl	%esi,%ebx
2610	rorl	$11,%esi
2611	movl	%ecx,%edi
2612	rorl	$2,%ecx
2613	xorl	%ebx,%esi
2614	shrl	$3,%ebx
2615	rorl	$7,%esi
2616	xorl	%edi,%ecx
2617	xorl	%esi,%ebx
2618	rorl	$17,%ecx
2619	addl	52(%esp),%ebx
2620	shrl	$10,%edi
2621	addl	88(%esp),%ebx
2622	movl	%edx,%esi
2623	xorl	%ecx,%edi
2624	movl	(%esp),%ecx
2625	rorl	$14,%edx
2626	addl	%edi,%ebx
2627	movl	4(%esp),%edi
2628	xorl	%esi,%edx
2629	movl	%ebx,52(%esp)
2630	xorl	%edi,%ecx
2631	rorl	$5,%edx
2632	andl	%esi,%ecx
2633	movl	%esi,28(%esp)
2634	xorl	%esi,%edx
2635	addl	8(%esp),%ebx
2636	xorl	%ecx,%edi
2637	rorl	$6,%edx
2638	movl	%ebp,%esi
2639	addl	%edi,%ebx
2640	rorl	$9,%esi
2641	movl	%ebp,%ecx
2642	movl	16(%esp),%edi
2643	xorl	%ebp,%esi
2644	movl	%ebp,12(%esp)
2645	xorl	%edi,%ebp
2646	rorl	$11,%esi
2647	andl	%ebp,%eax
2648	leal	1322822218(%ebx,%edx,1),%edx
2649	xorl	%ecx,%esi
2650	xorl	%edi,%eax
2651	movl	60(%esp),%ecx
2652	rorl	$2,%esi
2653	addl	%edx,%eax
2654	addl	24(%esp),%edx
2655	addl	%esi,%eax
2656	movl	48(%esp),%esi
2657	movl	%ecx,%ebx
2658	rorl	$11,%ecx
2659	movl	%esi,%edi
2660	rorl	$2,%esi
2661	xorl	%ebx,%ecx
2662	shrl	$3,%ebx
2663	rorl	$7,%ecx
2664	xorl	%edi,%esi
2665	xorl	%ecx,%ebx
2666	rorl	$17,%esi
2667	addl	56(%esp),%ebx
2668	shrl	$10,%edi
2669	addl	92(%esp),%ebx
2670	movl	%edx,%ecx
2671	xorl	%esi,%edi
2672	movl	28(%esp),%esi
2673	rorl	$14,%edx
2674	addl	%edi,%ebx
2675	movl	(%esp),%edi
2676	xorl	%ecx,%edx
2677	movl	%ebx,56(%esp)
2678	xorl	%edi,%esi
2679	rorl	$5,%edx
2680	andl	%ecx,%esi
2681	movl	%ecx,24(%esp)
2682	xorl	%ecx,%edx
2683	addl	4(%esp),%ebx
2684	xorl	%esi,%edi
2685	rorl	$6,%edx
2686	movl	%eax,%ecx
2687	addl	%edi,%ebx
2688	rorl	$9,%ecx
2689	movl	%eax,%esi
2690	movl	12(%esp),%edi
2691	xorl	%eax,%ecx
2692	movl	%eax,8(%esp)
2693	xorl	%edi,%eax
2694	rorl	$11,%ecx
2695	andl	%eax,%ebp
2696	leal	1537002063(%ebx,%edx,1),%edx
2697	xorl	%esi,%ecx
2698	xorl	%edi,%ebp
2699	movl	64(%esp),%esi
2700	rorl	$2,%ecx
2701	addl	%edx,%ebp
2702	addl	20(%esp),%edx
2703	addl	%ecx,%ebp
2704	movl	52(%esp),%ecx
2705	movl	%esi,%ebx
2706	rorl	$11,%esi
2707	movl	%ecx,%edi
2708	rorl	$2,%ecx
2709	xorl	%ebx,%esi
2710	shrl	$3,%ebx
2711	rorl	$7,%esi
2712	xorl	%edi,%ecx
2713	xorl	%esi,%ebx
2714	rorl	$17,%ecx
2715	addl	60(%esp),%ebx
2716	shrl	$10,%edi
2717	addl	32(%esp),%ebx
2718	movl	%edx,%esi
2719	xorl	%ecx,%edi
2720	movl	24(%esp),%ecx
2721	rorl	$14,%edx
2722	addl	%edi,%ebx
2723	movl	28(%esp),%edi
2724	xorl	%esi,%edx
2725	movl	%ebx,60(%esp)
2726	xorl	%edi,%ecx
2727	rorl	$5,%edx
2728	andl	%esi,%ecx
2729	movl	%esi,20(%esp)
2730	xorl	%esi,%edx
2731	addl	(%esp),%ebx
2732	xorl	%ecx,%edi
2733	rorl	$6,%edx
2734	movl	%ebp,%esi
2735	addl	%edi,%ebx
2736	rorl	$9,%esi
2737	movl	%ebp,%ecx
2738	movl	8(%esp),%edi
2739	xorl	%ebp,%esi
2740	movl	%ebp,4(%esp)
2741	xorl	%edi,%ebp
2742	rorl	$11,%esi
2743	andl	%ebp,%eax
2744	leal	1747873779(%ebx,%edx,1),%edx
2745	xorl	%ecx,%esi
2746	xorl	%edi,%eax
2747	movl	68(%esp),%ecx
2748	rorl	$2,%esi
2749	addl	%edx,%eax
2750	addl	16(%esp),%edx
2751	addl	%esi,%eax
2752	movl	56(%esp),%esi
2753	movl	%ecx,%ebx
2754	rorl	$11,%ecx
2755	movl	%esi,%edi
2756	rorl	$2,%esi
2757	xorl	%ebx,%ecx
2758	shrl	$3,%ebx
2759	rorl	$7,%ecx
2760	xorl	%edi,%esi
2761	xorl	%ecx,%ebx
2762	rorl	$17,%esi
2763	addl	64(%esp),%ebx
2764	shrl	$10,%edi
2765	addl	36(%esp),%ebx
2766	movl	%edx,%ecx
2767	xorl	%esi,%edi
2768	movl	20(%esp),%esi
2769	rorl	$14,%edx
2770	addl	%edi,%ebx
2771	movl	24(%esp),%edi
2772	xorl	%ecx,%edx
2773	movl	%ebx,64(%esp)
2774	xorl	%edi,%esi
2775	rorl	$5,%edx
2776	andl	%ecx,%esi
2777	movl	%ecx,16(%esp)
2778	xorl	%ecx,%edx
2779	addl	28(%esp),%ebx
2780	xorl	%esi,%edi
2781	rorl	$6,%edx
2782	movl	%eax,%ecx
2783	addl	%edi,%ebx
2784	rorl	$9,%ecx
2785	movl	%eax,%esi
2786	movl	4(%esp),%edi
2787	xorl	%eax,%ecx
2788	movl	%eax,(%esp)
2789	xorl	%edi,%eax
2790	rorl	$11,%ecx
2791	andl	%eax,%ebp
2792	leal	1955562222(%ebx,%edx,1),%edx
2793	xorl	%esi,%ecx
2794	xorl	%edi,%ebp
2795	movl	72(%esp),%esi
2796	rorl	$2,%ecx
2797	addl	%edx,%ebp
2798	addl	12(%esp),%edx
2799	addl	%ecx,%ebp
2800	movl	60(%esp),%ecx
2801	movl	%esi,%ebx
2802	rorl	$11,%esi
2803	movl	%ecx,%edi
2804	rorl	$2,%ecx
2805	xorl	%ebx,%esi
2806	shrl	$3,%ebx
2807	rorl	$7,%esi
2808	xorl	%edi,%ecx
2809	xorl	%esi,%ebx
2810	rorl	$17,%ecx
2811	addl	68(%esp),%ebx
2812	shrl	$10,%edi
2813	addl	40(%esp),%ebx
2814	movl	%edx,%esi
2815	xorl	%ecx,%edi
2816	movl	16(%esp),%ecx
2817	rorl	$14,%edx
2818	addl	%edi,%ebx
2819	movl	20(%esp),%edi
2820	xorl	%esi,%edx
2821	movl	%ebx,68(%esp)
2822	xorl	%edi,%ecx
2823	rorl	$5,%edx
2824	andl	%esi,%ecx
2825	movl	%esi,12(%esp)
2826	xorl	%esi,%edx
2827	addl	24(%esp),%ebx
2828	xorl	%ecx,%edi
2829	rorl	$6,%edx
2830	movl	%ebp,%esi
2831	addl	%edi,%ebx
2832	rorl	$9,%esi
2833	movl	%ebp,%ecx
2834	movl	(%esp),%edi
2835	xorl	%ebp,%esi
2836	movl	%ebp,28(%esp)
2837	xorl	%edi,%ebp
2838	rorl	$11,%esi
2839	andl	%ebp,%eax
2840	leal	2024104815(%ebx,%edx,1),%edx
2841	xorl	%ecx,%esi
2842	xorl	%edi,%eax
2843	movl	76(%esp),%ecx
2844	rorl	$2,%esi
2845	addl	%edx,%eax
2846	addl	8(%esp),%edx
2847	addl	%esi,%eax
2848	movl	64(%esp),%esi
2849	movl	%ecx,%ebx
2850	rorl	$11,%ecx
2851	movl	%esi,%edi
2852	rorl	$2,%esi
2853	xorl	%ebx,%ecx
2854	shrl	$3,%ebx
2855	rorl	$7,%ecx
2856	xorl	%edi,%esi
2857	xorl	%ecx,%ebx
2858	rorl	$17,%esi
2859	addl	72(%esp),%ebx
2860	shrl	$10,%edi
2861	addl	44(%esp),%ebx
2862	movl	%edx,%ecx
2863	xorl	%esi,%edi
2864	movl	12(%esp),%esi
2865	rorl	$14,%edx
2866	addl	%edi,%ebx
2867	movl	16(%esp),%edi
2868	xorl	%ecx,%edx
2869	movl	%ebx,72(%esp)
2870	xorl	%edi,%esi
2871	rorl	$5,%edx
2872	andl	%ecx,%esi
2873	movl	%ecx,8(%esp)
2874	xorl	%ecx,%edx
2875	addl	20(%esp),%ebx
2876	xorl	%esi,%edi
2877	rorl	$6,%edx
2878	movl	%eax,%ecx
2879	addl	%edi,%ebx
2880	rorl	$9,%ecx
2881	movl	%eax,%esi
2882	movl	28(%esp),%edi
2883	xorl	%eax,%ecx
2884	movl	%eax,24(%esp)
2885	xorl	%edi,%eax
2886	rorl	$11,%ecx
2887	andl	%eax,%ebp
2888	leal	2227730452(%ebx,%edx,1),%edx
2889	xorl	%esi,%ecx
2890	xorl	%edi,%ebp
2891	movl	80(%esp),%esi
2892	rorl	$2,%ecx
2893	addl	%edx,%ebp
2894	addl	4(%esp),%edx
2895	addl	%ecx,%ebp
2896	movl	68(%esp),%ecx
2897	movl	%esi,%ebx
2898	rorl	$11,%esi
2899	movl	%ecx,%edi
2900	rorl	$2,%ecx
2901	xorl	%ebx,%esi
2902	shrl	$3,%ebx
2903	rorl	$7,%esi
2904	xorl	%edi,%ecx
2905	xorl	%esi,%ebx
2906	rorl	$17,%ecx
2907	addl	76(%esp),%ebx
2908	shrl	$10,%edi
2909	addl	48(%esp),%ebx
2910	movl	%edx,%esi
2911	xorl	%ecx,%edi
2912	movl	8(%esp),%ecx
2913	rorl	$14,%edx
2914	addl	%edi,%ebx
2915	movl	12(%esp),%edi
2916	xorl	%esi,%edx
2917	movl	%ebx,76(%esp)
2918	xorl	%edi,%ecx
2919	rorl	$5,%edx
2920	andl	%esi,%ecx
2921	movl	%esi,4(%esp)
2922	xorl	%esi,%edx
2923	addl	16(%esp),%ebx
2924	xorl	%ecx,%edi
2925	rorl	$6,%edx
2926	movl	%ebp,%esi
2927	addl	%edi,%ebx
2928	rorl	$9,%esi
2929	movl	%ebp,%ecx
2930	movl	24(%esp),%edi
2931	xorl	%ebp,%esi
2932	movl	%ebp,20(%esp)
2933	xorl	%edi,%ebp
2934	rorl	$11,%esi
2935	andl	%ebp,%eax
2936	leal	2361852424(%ebx,%edx,1),%edx
2937	xorl	%ecx,%esi
2938	xorl	%edi,%eax
2939	movl	84(%esp),%ecx
2940	rorl	$2,%esi
2941	addl	%edx,%eax
2942	addl	(%esp),%edx
2943	addl	%esi,%eax
2944	movl	72(%esp),%esi
2945	movl	%ecx,%ebx
2946	rorl	$11,%ecx
2947	movl	%esi,%edi
2948	rorl	$2,%esi
2949	xorl	%ebx,%ecx
2950	shrl	$3,%ebx
2951	rorl	$7,%ecx
2952	xorl	%edi,%esi
2953	xorl	%ecx,%ebx
2954	rorl	$17,%esi
2955	addl	80(%esp),%ebx
2956	shrl	$10,%edi
2957	addl	52(%esp),%ebx
2958	movl	%edx,%ecx
2959	xorl	%esi,%edi
2960	movl	4(%esp),%esi
2961	rorl	$14,%edx
2962	addl	%edi,%ebx
2963	movl	8(%esp),%edi
2964	xorl	%ecx,%edx
2965	movl	%ebx,80(%esp)
2966	xorl	%edi,%esi
2967	rorl	$5,%edx
2968	andl	%ecx,%esi
2969	movl	%ecx,(%esp)
2970	xorl	%ecx,%edx
2971	addl	12(%esp),%ebx
2972	xorl	%esi,%edi
2973	rorl	$6,%edx
2974	movl	%eax,%ecx
2975	addl	%edi,%ebx
2976	rorl	$9,%ecx
2977	movl	%eax,%esi
2978	movl	20(%esp),%edi
2979	xorl	%eax,%ecx
2980	movl	%eax,16(%esp)
2981	xorl	%edi,%eax
2982	rorl	$11,%ecx
2983	andl	%eax,%ebp
2984	leal	2428436474(%ebx,%edx,1),%edx
2985	xorl	%esi,%ecx
2986	xorl	%edi,%ebp
2987	movl	88(%esp),%esi
2988	rorl	$2,%ecx
2989	addl	%edx,%ebp
2990	addl	28(%esp),%edx
2991	addl	%ecx,%ebp
2992	movl	76(%esp),%ecx
2993	movl	%esi,%ebx
2994	rorl	$11,%esi
2995	movl	%ecx,%edi
2996	rorl	$2,%ecx
2997	xorl	%ebx,%esi
2998	shrl	$3,%ebx
2999	rorl	$7,%esi
3000	xorl	%edi,%ecx
3001	xorl	%esi,%ebx
3002	rorl	$17,%ecx
3003	addl	84(%esp),%ebx
3004	shrl	$10,%edi
3005	addl	56(%esp),%ebx
3006	movl	%edx,%esi
3007	xorl	%ecx,%edi
3008	movl	(%esp),%ecx
3009	rorl	$14,%edx
3010	addl	%edi,%ebx
3011	movl	4(%esp),%edi
3012	xorl	%esi,%edx
3013	movl	%ebx,84(%esp)
3014	xorl	%edi,%ecx
3015	rorl	$5,%edx
3016	andl	%esi,%ecx
3017	movl	%esi,28(%esp)
3018	xorl	%esi,%edx
3019	addl	8(%esp),%ebx
3020	xorl	%ecx,%edi
3021	rorl	$6,%edx
3022	movl	%ebp,%esi
3023	addl	%edi,%ebx
3024	rorl	$9,%esi
3025	movl	%ebp,%ecx
3026	movl	16(%esp),%edi
3027	xorl	%ebp,%esi
3028	movl	%ebp,12(%esp)
3029	xorl	%edi,%ebp
3030	rorl	$11,%esi
3031	andl	%ebp,%eax
3032	leal	2756734187(%ebx,%edx,1),%edx
3033	xorl	%ecx,%esi
3034	xorl	%edi,%eax
3035	movl	92(%esp),%ecx
3036	rorl	$2,%esi
3037	addl	%edx,%eax
3038	addl	24(%esp),%edx
3039	addl	%esi,%eax
3040	movl	80(%esp),%esi
3041	movl	%ecx,%ebx
3042	rorl	$11,%ecx
3043	movl	%esi,%edi
3044	rorl	$2,%esi
3045	xorl	%ebx,%ecx
3046	shrl	$3,%ebx
3047	rorl	$7,%ecx
3048	xorl	%edi,%esi
3049	xorl	%ecx,%ebx
3050	rorl	$17,%esi
3051	addl	88(%esp),%ebx
3052	shrl	$10,%edi
3053	addl	60(%esp),%ebx
3054	movl	%edx,%ecx
3055	xorl	%esi,%edi
3056	movl	28(%esp),%esi
3057	rorl	$14,%edx
3058	addl	%edi,%ebx
3059	movl	(%esp),%edi
3060	xorl	%ecx,%edx
3061	xorl	%edi,%esi
3062	rorl	$5,%edx
3063	andl	%ecx,%esi
3064	movl	%ecx,24(%esp)
3065	xorl	%ecx,%edx
3066	addl	4(%esp),%ebx
3067	xorl	%esi,%edi
3068	rorl	$6,%edx
3069	movl	%eax,%ecx
3070	addl	%edi,%ebx
3071	rorl	$9,%ecx
3072	movl	%eax,%esi
3073	movl	12(%esp),%edi
3074	xorl	%eax,%ecx
3075	movl	%eax,8(%esp)
3076	xorl	%edi,%eax
3077	rorl	$11,%ecx
3078	andl	%eax,%ebp
3079	leal	3204031479(%ebx,%edx,1),%edx
3080	xorl	%esi,%ecx
3081	xorl	%edi,%ebp
3082	movl	32(%esp),%esi
3083	rorl	$2,%ecx
3084	addl	%edx,%ebp
3085	addl	20(%esp),%edx
3086	addl	%ecx,%ebp
3087	movl	84(%esp),%ecx
3088	movl	%esi,%ebx
3089	rorl	$11,%esi
3090	movl	%ecx,%edi
3091	rorl	$2,%ecx
3092	xorl	%ebx,%esi
3093	shrl	$3,%ebx
3094	rorl	$7,%esi
3095	xorl	%edi,%ecx
3096	xorl	%esi,%ebx
3097	rorl	$17,%ecx
3098	addl	92(%esp),%ebx
3099	shrl	$10,%edi
3100	addl	64(%esp),%ebx
3101	movl	%edx,%esi
3102	xorl	%ecx,%edi
3103	movl	24(%esp),%ecx
3104	rorl	$14,%edx
3105	addl	%edi,%ebx
3106	movl	28(%esp),%edi
3107	xorl	%esi,%edx
3108	xorl	%edi,%ecx
3109	rorl	$5,%edx
3110	andl	%esi,%ecx
3111	movl	%esi,20(%esp)
3112	xorl	%esi,%edx
3113	addl	(%esp),%ebx
3114	xorl	%ecx,%edi
3115	rorl	$6,%edx
3116	movl	%ebp,%esi
3117	addl	%edi,%ebx
3118	rorl	$9,%esi
3119	movl	%ebp,%ecx
3120	movl	8(%esp),%edi
3121	xorl	%ebp,%esi
3122	movl	%ebp,4(%esp)
3123	xorl	%edi,%ebp
3124	rorl	$11,%esi
3125	andl	%ebp,%eax
3126	leal	3329325298(%ebx,%edx,1),%edx
3127	xorl	%ecx,%esi
3128	xorl	%edi,%eax
3129	rorl	$2,%esi
3130	addl	%edx,%eax
3131	addl	16(%esp),%edx
3132	addl	%esi,%eax
3133	movl	96(%esp),%esi
3134	xorl	%edi,%ebp
3135	movl	12(%esp),%ecx
3136	addl	(%esi),%eax
3137	addl	4(%esi),%ebp
3138	addl	8(%esi),%edi
3139	addl	12(%esi),%ecx
3140	movl	%eax,(%esi)
3141	movl	%ebp,4(%esi)
3142	movl	%edi,8(%esi)
3143	movl	%ecx,12(%esi)
3144	movl	%ebp,4(%esp)
3145	xorl	%edi,%ebp
3146	movl	%edi,8(%esp)
3147	movl	%ecx,12(%esp)
3148	movl	20(%esp),%edi
3149	movl	24(%esp),%ebx
3150	movl	28(%esp),%ecx
3151	addl	16(%esi),%edx
3152	addl	20(%esi),%edi
3153	addl	24(%esi),%ebx
3154	addl	28(%esi),%ecx
3155	movl	%edx,16(%esi)
3156	movl	%edi,20(%esi)
3157	movl	%ebx,24(%esi)
3158	movl	%ecx,28(%esi)
3159	movl	%edi,20(%esp)
3160	movl	100(%esp),%edi
3161	movl	%ebx,24(%esp)
3162	movl	%ecx,28(%esp)
3163	cmpl	104(%esp),%edi
3164	jb	.L010grand_loop
3165	movl	108(%esp),%esp
3166	popl	%edi
3167	popl	%esi
3168	popl	%ebx
3169	popl	%ebp
3170	ret
3171.align	32
3172.L004shaext:
3173	subl	$32,%esp
3174	movdqu	(%esi),%xmm1
3175	leal	128(%ebp),%ebp
3176	movdqu	16(%esi),%xmm2
3177	movdqa	128(%ebp),%xmm7
3178	pshufd	$27,%xmm1,%xmm0
3179	pshufd	$177,%xmm1,%xmm1
3180	pshufd	$27,%xmm2,%xmm2
3181.byte	102,15,58,15,202,8
3182	punpcklqdq	%xmm0,%xmm2
3183	jmp	.L011loop_shaext
3184.align	16
3185.L011loop_shaext:
3186	movdqu	(%edi),%xmm3
3187	movdqu	16(%edi),%xmm4
3188	movdqu	32(%edi),%xmm5
3189.byte	102,15,56,0,223
3190	movdqu	48(%edi),%xmm6
3191	movdqa	%xmm2,16(%esp)
3192	movdqa	-128(%ebp),%xmm0
3193	paddd	%xmm3,%xmm0
3194.byte	102,15,56,0,231
3195.byte	15,56,203,209
3196	pshufd	$14,%xmm0,%xmm0
3197	nop
3198	movdqa	%xmm1,(%esp)
3199.byte	15,56,203,202
3200	movdqa	-112(%ebp),%xmm0
3201	paddd	%xmm4,%xmm0
3202.byte	102,15,56,0,239
3203.byte	15,56,203,209
3204	pshufd	$14,%xmm0,%xmm0
3205	leal	64(%edi),%edi
3206.byte	15,56,204,220
3207.byte	15,56,203,202
3208	movdqa	-96(%ebp),%xmm0
3209	paddd	%xmm5,%xmm0
3210.byte	102,15,56,0,247
3211.byte	15,56,203,209
3212	pshufd	$14,%xmm0,%xmm0
3213	movdqa	%xmm6,%xmm7
3214.byte	102,15,58,15,253,4
3215	nop
3216	paddd	%xmm7,%xmm3
3217.byte	15,56,204,229
3218.byte	15,56,203,202
3219	movdqa	-80(%ebp),%xmm0
3220	paddd	%xmm6,%xmm0
3221.byte	15,56,205,222
3222.byte	15,56,203,209
3223	pshufd	$14,%xmm0,%xmm0
3224	movdqa	%xmm3,%xmm7
3225.byte	102,15,58,15,254,4
3226	nop
3227	paddd	%xmm7,%xmm4
3228.byte	15,56,204,238
3229.byte	15,56,203,202
3230	movdqa	-64(%ebp),%xmm0
3231	paddd	%xmm3,%xmm0
3232.byte	15,56,205,227
3233.byte	15,56,203,209
3234	pshufd	$14,%xmm0,%xmm0
3235	movdqa	%xmm4,%xmm7
3236.byte	102,15,58,15,251,4
3237	nop
3238	paddd	%xmm7,%xmm5
3239.byte	15,56,204,243
3240.byte	15,56,203,202
3241	movdqa	-48(%ebp),%xmm0
3242	paddd	%xmm4,%xmm0
3243.byte	15,56,205,236
3244.byte	15,56,203,209
3245	pshufd	$14,%xmm0,%xmm0
3246	movdqa	%xmm5,%xmm7
3247.byte	102,15,58,15,252,4
3248	nop
3249	paddd	%xmm7,%xmm6
3250.byte	15,56,204,220
3251.byte	15,56,203,202
3252	movdqa	-32(%ebp),%xmm0
3253	paddd	%xmm5,%xmm0
3254.byte	15,56,205,245
3255.byte	15,56,203,209
3256	pshufd	$14,%xmm0,%xmm0
3257	movdqa	%xmm6,%xmm7
3258.byte	102,15,58,15,253,4
3259	nop
3260	paddd	%xmm7,%xmm3
3261.byte	15,56,204,229
3262.byte	15,56,203,202
3263	movdqa	-16(%ebp),%xmm0
3264	paddd	%xmm6,%xmm0
3265.byte	15,56,205,222
3266.byte	15,56,203,209
3267	pshufd	$14,%xmm0,%xmm0
3268	movdqa	%xmm3,%xmm7
3269.byte	102,15,58,15,254,4
3270	nop
3271	paddd	%xmm7,%xmm4
3272.byte	15,56,204,238
3273.byte	15,56,203,202
3274	movdqa	(%ebp),%xmm0
3275	paddd	%xmm3,%xmm0
3276.byte	15,56,205,227
3277.byte	15,56,203,209
3278	pshufd	$14,%xmm0,%xmm0
3279	movdqa	%xmm4,%xmm7
3280.byte	102,15,58,15,251,4
3281	nop
3282	paddd	%xmm7,%xmm5
3283.byte	15,56,204,243
3284.byte	15,56,203,202
3285	movdqa	16(%ebp),%xmm0
3286	paddd	%xmm4,%xmm0
3287.byte	15,56,205,236
3288.byte	15,56,203,209
3289	pshufd	$14,%xmm0,%xmm0
3290	movdqa	%xmm5,%xmm7
3291.byte	102,15,58,15,252,4
3292	nop
3293	paddd	%xmm7,%xmm6
3294.byte	15,56,204,220
3295.byte	15,56,203,202
3296	movdqa	32(%ebp),%xmm0
3297	paddd	%xmm5,%xmm0
3298.byte	15,56,205,245
3299.byte	15,56,203,209
3300	pshufd	$14,%xmm0,%xmm0
3301	movdqa	%xmm6,%xmm7
3302.byte	102,15,58,15,253,4
3303	nop
3304	paddd	%xmm7,%xmm3
3305.byte	15,56,204,229
3306.byte	15,56,203,202
3307	movdqa	48(%ebp),%xmm0
3308	paddd	%xmm6,%xmm0
3309.byte	15,56,205,222
3310.byte	15,56,203,209
3311	pshufd	$14,%xmm0,%xmm0
3312	movdqa	%xmm3,%xmm7
3313.byte	102,15,58,15,254,4
3314	nop
3315	paddd	%xmm7,%xmm4
3316.byte	15,56,204,238
3317.byte	15,56,203,202
3318	movdqa	64(%ebp),%xmm0
3319	paddd	%xmm3,%xmm0
3320.byte	15,56,205,227
3321.byte	15,56,203,209
3322	pshufd	$14,%xmm0,%xmm0
3323	movdqa	%xmm4,%xmm7
3324.byte	102,15,58,15,251,4
3325	nop
3326	paddd	%xmm7,%xmm5
3327.byte	15,56,204,243
3328.byte	15,56,203,202
3329	movdqa	80(%ebp),%xmm0
3330	paddd	%xmm4,%xmm0
3331.byte	15,56,205,236
3332.byte	15,56,203,209
3333	pshufd	$14,%xmm0,%xmm0
3334	movdqa	%xmm5,%xmm7
3335.byte	102,15,58,15,252,4
3336.byte	15,56,203,202
3337	paddd	%xmm7,%xmm6
3338	movdqa	96(%ebp),%xmm0
3339	paddd	%xmm5,%xmm0
3340.byte	15,56,203,209
3341	pshufd	$14,%xmm0,%xmm0
3342.byte	15,56,205,245
3343	movdqa	128(%ebp),%xmm7
3344.byte	15,56,203,202
3345	movdqa	112(%ebp),%xmm0
3346	paddd	%xmm6,%xmm0
3347	nop
3348.byte	15,56,203,209
3349	pshufd	$14,%xmm0,%xmm0
3350	cmpl	%edi,%eax
3351	nop
3352.byte	15,56,203,202
3353	paddd	16(%esp),%xmm2
3354	paddd	(%esp),%xmm1
3355	jnz	.L011loop_shaext
3356	pshufd	$177,%xmm2,%xmm2
3357	pshufd	$27,%xmm1,%xmm7
3358	pshufd	$177,%xmm1,%xmm1
3359	punpckhqdq	%xmm2,%xmm1
3360.byte	102,15,58,15,215,8
3361	movl	44(%esp),%esp
3362	movdqu	%xmm1,(%esi)
3363	movdqu	%xmm2,16(%esi)
3364	popl	%edi
3365	popl	%esi
3366	popl	%ebx
3367	popl	%ebp
3368	ret
3369.align	32
3370.L006SSSE3:
3371	leal	-96(%esp),%esp
3372	movl	(%esi),%eax
3373	movl	4(%esi),%ebx
3374	movl	8(%esi),%ecx
3375	movl	12(%esi),%edi
3376	movl	%ebx,4(%esp)
3377	xorl	%ecx,%ebx
3378	movl	%ecx,8(%esp)
3379	movl	%edi,12(%esp)
3380	movl	16(%esi),%edx
3381	movl	20(%esi),%edi
3382	movl	24(%esi),%ecx
3383	movl	28(%esi),%esi
3384	movl	%edi,20(%esp)
3385	movl	100(%esp),%edi
3386	movl	%ecx,24(%esp)
3387	movl	%esi,28(%esp)
3388	movdqa	256(%ebp),%xmm7
3389	jmp	.L012grand_ssse3
3390.align	16
3391.L012grand_ssse3:
3392	movdqu	(%edi),%xmm0
3393	movdqu	16(%edi),%xmm1
3394	movdqu	32(%edi),%xmm2
3395	movdqu	48(%edi),%xmm3
3396	addl	$64,%edi
3397.byte	102,15,56,0,199
3398	movl	%edi,100(%esp)
3399.byte	102,15,56,0,207
3400	movdqa	(%ebp),%xmm4
3401.byte	102,15,56,0,215
3402	movdqa	16(%ebp),%xmm5
3403	paddd	%xmm0,%xmm4
3404.byte	102,15,56,0,223
3405	movdqa	32(%ebp),%xmm6
3406	paddd	%xmm1,%xmm5
3407	movdqa	48(%ebp),%xmm7
3408	movdqa	%xmm4,32(%esp)
3409	paddd	%xmm2,%xmm6
3410	movdqa	%xmm5,48(%esp)
3411	paddd	%xmm3,%xmm7
3412	movdqa	%xmm6,64(%esp)
3413	movdqa	%xmm7,80(%esp)
3414	jmp	.L013ssse3_00_47
3415.align	16
3416.L013ssse3_00_47:
3417	addl	$64,%ebp
3418	movl	%edx,%ecx
3419	movdqa	%xmm1,%xmm4
3420	rorl	$14,%edx
3421	movl	20(%esp),%esi
3422	movdqa	%xmm3,%xmm7
3423	xorl	%ecx,%edx
3424	movl	24(%esp),%edi
3425.byte	102,15,58,15,224,4
3426	xorl	%edi,%esi
3427	rorl	$5,%edx
3428	andl	%ecx,%esi
3429.byte	102,15,58,15,250,4
3430	movl	%ecx,16(%esp)
3431	xorl	%ecx,%edx
3432	xorl	%esi,%edi
3433	movdqa	%xmm4,%xmm5
3434	rorl	$6,%edx
3435	movl	%eax,%ecx
3436	movdqa	%xmm4,%xmm6
3437	addl	%edi,%edx
3438	movl	4(%esp),%edi
3439	psrld	$3,%xmm4
3440	movl	%eax,%esi
3441	rorl	$9,%ecx
3442	paddd	%xmm7,%xmm0
3443	movl	%eax,(%esp)
3444	xorl	%eax,%ecx
3445	psrld	$7,%xmm6
3446	xorl	%edi,%eax
3447	addl	28(%esp),%edx
3448	rorl	$11,%ecx
3449	andl	%eax,%ebx
3450	pshufd	$250,%xmm3,%xmm7
3451	xorl	%esi,%ecx
3452	addl	32(%esp),%edx
3453	pslld	$14,%xmm5
3454	xorl	%edi,%ebx
3455	rorl	$2,%ecx
3456	pxor	%xmm6,%xmm4
3457	addl	%edx,%ebx
3458	addl	12(%esp),%edx
3459	psrld	$11,%xmm6
3460	addl	%ecx,%ebx
3461	movl	%edx,%ecx
3462	rorl	$14,%edx
3463	pxor	%xmm5,%xmm4
3464	movl	16(%esp),%esi
3465	xorl	%ecx,%edx
3466	pslld	$11,%xmm5
3467	movl	20(%esp),%edi
3468	xorl	%edi,%esi
3469	rorl	$5,%edx
3470	pxor	%xmm6,%xmm4
3471	andl	%ecx,%esi
3472	movl	%ecx,12(%esp)
3473	movdqa	%xmm7,%xmm6
3474	xorl	%ecx,%edx
3475	xorl	%esi,%edi
3476	rorl	$6,%edx
3477	pxor	%xmm5,%xmm4
3478	movl	%ebx,%ecx
3479	addl	%edi,%edx
3480	psrld	$10,%xmm7
3481	movl	(%esp),%edi
3482	movl	%ebx,%esi
3483	rorl	$9,%ecx
3484	paddd	%xmm4,%xmm0
3485	movl	%ebx,28(%esp)
3486	xorl	%ebx,%ecx
3487	psrlq	$17,%xmm6
3488	xorl	%edi,%ebx
3489	addl	24(%esp),%edx
3490	rorl	$11,%ecx
3491	pxor	%xmm6,%xmm7
3492	andl	%ebx,%eax
3493	xorl	%esi,%ecx
3494	psrlq	$2,%xmm6
3495	addl	36(%esp),%edx
3496	xorl	%edi,%eax
3497	rorl	$2,%ecx
3498	pxor	%xmm6,%xmm7
3499	addl	%edx,%eax
3500	addl	8(%esp),%edx
3501	pshufd	$128,%xmm7,%xmm7
3502	addl	%ecx,%eax
3503	movl	%edx,%ecx
3504	rorl	$14,%edx
3505	movl	12(%esp),%esi
3506	xorl	%ecx,%edx
3507	movl	16(%esp),%edi
3508	xorl	%edi,%esi
3509	rorl	$5,%edx
3510	andl	%ecx,%esi
3511	psrldq	$8,%xmm7
3512	movl	%ecx,8(%esp)
3513	xorl	%ecx,%edx
3514	xorl	%esi,%edi
3515	paddd	%xmm7,%xmm0
3516	rorl	$6,%edx
3517	movl	%eax,%ecx
3518	addl	%edi,%edx
3519	movl	28(%esp),%edi
3520	movl	%eax,%esi
3521	rorl	$9,%ecx
3522	movl	%eax,24(%esp)
3523	pshufd	$80,%xmm0,%xmm7
3524	xorl	%eax,%ecx
3525	xorl	%edi,%eax
3526	addl	20(%esp),%edx
3527	movdqa	%xmm7,%xmm6
3528	rorl	$11,%ecx
3529	psrld	$10,%xmm7
3530	andl	%eax,%ebx
3531	psrlq	$17,%xmm6
3532	xorl	%esi,%ecx
3533	addl	40(%esp),%edx
3534	xorl	%edi,%ebx
3535	rorl	$2,%ecx
3536	pxor	%xmm6,%xmm7
3537	addl	%edx,%ebx
3538	addl	4(%esp),%edx
3539	psrlq	$2,%xmm6
3540	addl	%ecx,%ebx
3541	movl	%edx,%ecx
3542	rorl	$14,%edx
3543	pxor	%xmm6,%xmm7
3544	movl	8(%esp),%esi
3545	xorl	%ecx,%edx
3546	movl	12(%esp),%edi
3547	pshufd	$8,%xmm7,%xmm7
3548	xorl	%edi,%esi
3549	rorl	$5,%edx
3550	movdqa	(%ebp),%xmm6
3551	andl	%ecx,%esi
3552	movl	%ecx,4(%esp)
3553	pslldq	$8,%xmm7
3554	xorl	%ecx,%edx
3555	xorl	%esi,%edi
3556	rorl	$6,%edx
3557	movl	%ebx,%ecx
3558	addl	%edi,%edx
3559	movl	24(%esp),%edi
3560	movl	%ebx,%esi
3561	rorl	$9,%ecx
3562	paddd	%xmm7,%xmm0
3563	movl	%ebx,20(%esp)
3564	xorl	%ebx,%ecx
3565	xorl	%edi,%ebx
3566	addl	16(%esp),%edx
3567	paddd	%xmm0,%xmm6
3568	rorl	$11,%ecx
3569	andl	%ebx,%eax
3570	xorl	%esi,%ecx
3571	addl	44(%esp),%edx
3572	xorl	%edi,%eax
3573	rorl	$2,%ecx
3574	addl	%edx,%eax
3575	addl	(%esp),%edx
3576	addl	%ecx,%eax
3577	movdqa	%xmm6,32(%esp)
3578	movl	%edx,%ecx
3579	movdqa	%xmm2,%xmm4
3580	rorl	$14,%edx
3581	movl	4(%esp),%esi
3582	movdqa	%xmm0,%xmm7
3583	xorl	%ecx,%edx
3584	movl	8(%esp),%edi
3585.byte	102,15,58,15,225,4
3586	xorl	%edi,%esi
3587	rorl	$5,%edx
3588	andl	%ecx,%esi
3589.byte	102,15,58,15,251,4
3590	movl	%ecx,(%esp)
3591	xorl	%ecx,%edx
3592	xorl	%esi,%edi
3593	movdqa	%xmm4,%xmm5
3594	rorl	$6,%edx
3595	movl	%eax,%ecx
3596	movdqa	%xmm4,%xmm6
3597	addl	%edi,%edx
3598	movl	20(%esp),%edi
3599	psrld	$3,%xmm4
3600	movl	%eax,%esi
3601	rorl	$9,%ecx
3602	paddd	%xmm7,%xmm1
3603	movl	%eax,16(%esp)
3604	xorl	%eax,%ecx
3605	psrld	$7,%xmm6
3606	xorl	%edi,%eax
3607	addl	12(%esp),%edx
3608	rorl	$11,%ecx
3609	andl	%eax,%ebx
3610	pshufd	$250,%xmm0,%xmm7
3611	xorl	%esi,%ecx
3612	addl	48(%esp),%edx
3613	pslld	$14,%xmm5
3614	xorl	%edi,%ebx
3615	rorl	$2,%ecx
3616	pxor	%xmm6,%xmm4
3617	addl	%edx,%ebx
3618	addl	28(%esp),%edx
3619	psrld	$11,%xmm6
3620	addl	%ecx,%ebx
3621	movl	%edx,%ecx
3622	rorl	$14,%edx
3623	pxor	%xmm5,%xmm4
3624	movl	(%esp),%esi
3625	xorl	%ecx,%edx
3626	pslld	$11,%xmm5
3627	movl	4(%esp),%edi
3628	xorl	%edi,%esi
3629	rorl	$5,%edx
3630	pxor	%xmm6,%xmm4
3631	andl	%ecx,%esi
3632	movl	%ecx,28(%esp)
3633	movdqa	%xmm7,%xmm6
3634	xorl	%ecx,%edx
3635	xorl	%esi,%edi
3636	rorl	$6,%edx
3637	pxor	%xmm5,%xmm4
3638	movl	%ebx,%ecx
3639	addl	%edi,%edx
3640	psrld	$10,%xmm7
3641	movl	16(%esp),%edi
3642	movl	%ebx,%esi
3643	rorl	$9,%ecx
3644	paddd	%xmm4,%xmm1
3645	movl	%ebx,12(%esp)
3646	xorl	%ebx,%ecx
3647	psrlq	$17,%xmm6
3648	xorl	%edi,%ebx
3649	addl	8(%esp),%edx
3650	rorl	$11,%ecx
3651	pxor	%xmm6,%xmm7
3652	andl	%ebx,%eax
3653	xorl	%esi,%ecx
3654	psrlq	$2,%xmm6
3655	addl	52(%esp),%edx
3656	xorl	%edi,%eax
3657	rorl	$2,%ecx
3658	pxor	%xmm6,%xmm7
3659	addl	%edx,%eax
3660	addl	24(%esp),%edx
3661	pshufd	$128,%xmm7,%xmm7
3662	addl	%ecx,%eax
3663	movl	%edx,%ecx
3664	rorl	$14,%edx
3665	movl	28(%esp),%esi
3666	xorl	%ecx,%edx
3667	movl	(%esp),%edi
3668	xorl	%edi,%esi
3669	rorl	$5,%edx
3670	andl	%ecx,%esi
3671	psrldq	$8,%xmm7
3672	movl	%ecx,24(%esp)
3673	xorl	%ecx,%edx
3674	xorl	%esi,%edi
3675	paddd	%xmm7,%xmm1
3676	rorl	$6,%edx
3677	movl	%eax,%ecx
3678	addl	%edi,%edx
3679	movl	12(%esp),%edi
3680	movl	%eax,%esi
3681	rorl	$9,%ecx
3682	movl	%eax,8(%esp)
3683	pshufd	$80,%xmm1,%xmm7
3684	xorl	%eax,%ecx
3685	xorl	%edi,%eax
3686	addl	4(%esp),%edx
3687	movdqa	%xmm7,%xmm6
3688	rorl	$11,%ecx
3689	psrld	$10,%xmm7
3690	andl	%eax,%ebx
3691	psrlq	$17,%xmm6
3692	xorl	%esi,%ecx
3693	addl	56(%esp),%edx
3694	xorl	%edi,%ebx
3695	rorl	$2,%ecx
3696	pxor	%xmm6,%xmm7
3697	addl	%edx,%ebx
3698	addl	20(%esp),%edx
3699	psrlq	$2,%xmm6
3700	addl	%ecx,%ebx
3701	movl	%edx,%ecx
3702	rorl	$14,%edx
3703	pxor	%xmm6,%xmm7
3704	movl	24(%esp),%esi
3705	xorl	%ecx,%edx
3706	movl	28(%esp),%edi
3707	pshufd	$8,%xmm7,%xmm7
3708	xorl	%edi,%esi
3709	rorl	$5,%edx
3710	movdqa	16(%ebp),%xmm6
3711	andl	%ecx,%esi
3712	movl	%ecx,20(%esp)
3713	pslldq	$8,%xmm7
3714	xorl	%ecx,%edx
3715	xorl	%esi,%edi
3716	rorl	$6,%edx
3717	movl	%ebx,%ecx
3718	addl	%edi,%edx
3719	movl	8(%esp),%edi
3720	movl	%ebx,%esi
3721	rorl	$9,%ecx
3722	paddd	%xmm7,%xmm1
3723	movl	%ebx,4(%esp)
3724	xorl	%ebx,%ecx
3725	xorl	%edi,%ebx
3726	addl	(%esp),%edx
3727	paddd	%xmm1,%xmm6
3728	rorl	$11,%ecx
3729	andl	%ebx,%eax
3730	xorl	%esi,%ecx
3731	addl	60(%esp),%edx
3732	xorl	%edi,%eax
3733	rorl	$2,%ecx
3734	addl	%edx,%eax
3735	addl	16(%esp),%edx
3736	addl	%ecx,%eax
3737	movdqa	%xmm6,48(%esp)
3738	movl	%edx,%ecx
3739	movdqa	%xmm3,%xmm4
3740	rorl	$14,%edx
3741	movl	20(%esp),%esi
3742	movdqa	%xmm1,%xmm7
3743	xorl	%ecx,%edx
3744	movl	24(%esp),%edi
3745.byte	102,15,58,15,226,4
3746	xorl	%edi,%esi
3747	rorl	$5,%edx
3748	andl	%ecx,%esi
3749.byte	102,15,58,15,248,4
3750	movl	%ecx,16(%esp)
3751	xorl	%ecx,%edx
3752	xorl	%esi,%edi
3753	movdqa	%xmm4,%xmm5
3754	rorl	$6,%edx
3755	movl	%eax,%ecx
3756	movdqa	%xmm4,%xmm6
3757	addl	%edi,%edx
3758	movl	4(%esp),%edi
3759	psrld	$3,%xmm4
3760	movl	%eax,%esi
3761	rorl	$9,%ecx
3762	paddd	%xmm7,%xmm2
3763	movl	%eax,(%esp)
3764	xorl	%eax,%ecx
3765	psrld	$7,%xmm6
3766	xorl	%edi,%eax
3767	addl	28(%esp),%edx
3768	rorl	$11,%ecx
3769	andl	%eax,%ebx
3770	pshufd	$250,%xmm1,%xmm7
3771	xorl	%esi,%ecx
3772	addl	64(%esp),%edx
3773	pslld	$14,%xmm5
3774	xorl	%edi,%ebx
3775	rorl	$2,%ecx
3776	pxor	%xmm6,%xmm4
3777	addl	%edx,%ebx
3778	addl	12(%esp),%edx
3779	psrld	$11,%xmm6
3780	addl	%ecx,%ebx
3781	movl	%edx,%ecx
3782	rorl	$14,%edx
3783	pxor	%xmm5,%xmm4
3784	movl	16(%esp),%esi
3785	xorl	%ecx,%edx
3786	pslld	$11,%xmm5
3787	movl	20(%esp),%edi
3788	xorl	%edi,%esi
3789	rorl	$5,%edx
3790	pxor	%xmm6,%xmm4
3791	andl	%ecx,%esi
3792	movl	%ecx,12(%esp)
3793	movdqa	%xmm7,%xmm6
3794	xorl	%ecx,%edx
3795	xorl	%esi,%edi
3796	rorl	$6,%edx
3797	pxor	%xmm5,%xmm4
3798	movl	%ebx,%ecx
3799	addl	%edi,%edx
3800	psrld	$10,%xmm7
3801	movl	(%esp),%edi
3802	movl	%ebx,%esi
3803	rorl	$9,%ecx
3804	paddd	%xmm4,%xmm2
3805	movl	%ebx,28(%esp)
3806	xorl	%ebx,%ecx
3807	psrlq	$17,%xmm6
3808	xorl	%edi,%ebx
3809	addl	24(%esp),%edx
3810	rorl	$11,%ecx
3811	pxor	%xmm6,%xmm7
3812	andl	%ebx,%eax
3813	xorl	%esi,%ecx
3814	psrlq	$2,%xmm6
3815	addl	68(%esp),%edx
3816	xorl	%edi,%eax
3817	rorl	$2,%ecx
3818	pxor	%xmm6,%xmm7
3819	addl	%edx,%eax
3820	addl	8(%esp),%edx
3821	pshufd	$128,%xmm7,%xmm7
3822	addl	%ecx,%eax
3823	movl	%edx,%ecx
3824	rorl	$14,%edx
3825	movl	12(%esp),%esi
3826	xorl	%ecx,%edx
3827	movl	16(%esp),%edi
3828	xorl	%edi,%esi
3829	rorl	$5,%edx
3830	andl	%ecx,%esi
3831	psrldq	$8,%xmm7
3832	movl	%ecx,8(%esp)
3833	xorl	%ecx,%edx
3834	xorl	%esi,%edi
3835	paddd	%xmm7,%xmm2
3836	rorl	$6,%edx
3837	movl	%eax,%ecx
3838	addl	%edi,%edx
3839	movl	28(%esp),%edi
3840	movl	%eax,%esi
3841	rorl	$9,%ecx
3842	movl	%eax,24(%esp)
3843	pshufd	$80,%xmm2,%xmm7
3844	xorl	%eax,%ecx
3845	xorl	%edi,%eax
3846	addl	20(%esp),%edx
3847	movdqa	%xmm7,%xmm6
3848	rorl	$11,%ecx
3849	psrld	$10,%xmm7
3850	andl	%eax,%ebx
3851	psrlq	$17,%xmm6
3852	xorl	%esi,%ecx
3853	addl	72(%esp),%edx
3854	xorl	%edi,%ebx
3855	rorl	$2,%ecx
3856	pxor	%xmm6,%xmm7
3857	addl	%edx,%ebx
3858	addl	4(%esp),%edx
3859	psrlq	$2,%xmm6
3860	addl	%ecx,%ebx
3861	movl	%edx,%ecx
3862	rorl	$14,%edx
3863	pxor	%xmm6,%xmm7
3864	movl	8(%esp),%esi
3865	xorl	%ecx,%edx
3866	movl	12(%esp),%edi
3867	pshufd	$8,%xmm7,%xmm7
3868	xorl	%edi,%esi
3869	rorl	$5,%edx
3870	movdqa	32(%ebp),%xmm6
3871	andl	%ecx,%esi
3872	movl	%ecx,4(%esp)
3873	pslldq	$8,%xmm7
3874	xorl	%ecx,%edx
3875	xorl	%esi,%edi
3876	rorl	$6,%edx
3877	movl	%ebx,%ecx
3878	addl	%edi,%edx
3879	movl	24(%esp),%edi
3880	movl	%ebx,%esi
3881	rorl	$9,%ecx
3882	paddd	%xmm7,%xmm2
3883	movl	%ebx,20(%esp)
3884	xorl	%ebx,%ecx
3885	xorl	%edi,%ebx
3886	addl	16(%esp),%edx
3887	paddd	%xmm2,%xmm6
3888	rorl	$11,%ecx
3889	andl	%ebx,%eax
3890	xorl	%esi,%ecx
3891	addl	76(%esp),%edx
3892	xorl	%edi,%eax
3893	rorl	$2,%ecx
3894	addl	%edx,%eax
3895	addl	(%esp),%edx
3896	addl	%ecx,%eax
3897	movdqa	%xmm6,64(%esp)
3898	movl	%edx,%ecx
3899	movdqa	%xmm0,%xmm4
3900	rorl	$14,%edx
3901	movl	4(%esp),%esi
3902	movdqa	%xmm2,%xmm7
3903	xorl	%ecx,%edx
3904	movl	8(%esp),%edi
3905.byte	102,15,58,15,227,4
3906	xorl	%edi,%esi
3907	rorl	$5,%edx
3908	andl	%ecx,%esi
3909.byte	102,15,58,15,249,4
3910	movl	%ecx,(%esp)
3911	xorl	%ecx,%edx
3912	xorl	%esi,%edi
3913	movdqa	%xmm4,%xmm5
3914	rorl	$6,%edx
3915	movl	%eax,%ecx
3916	movdqa	%xmm4,%xmm6
3917	addl	%edi,%edx
3918	movl	20(%esp),%edi
3919	psrld	$3,%xmm4
3920	movl	%eax,%esi
3921	rorl	$9,%ecx
3922	paddd	%xmm7,%xmm3
3923	movl	%eax,16(%esp)
3924	xorl	%eax,%ecx
3925	psrld	$7,%xmm6
3926	xorl	%edi,%eax
3927	addl	12(%esp),%edx
3928	rorl	$11,%ecx
3929	andl	%eax,%ebx
3930	pshufd	$250,%xmm2,%xmm7
3931	xorl	%esi,%ecx
3932	addl	80(%esp),%edx
3933	pslld	$14,%xmm5
3934	xorl	%edi,%ebx
3935	rorl	$2,%ecx
3936	pxor	%xmm6,%xmm4
3937	addl	%edx,%ebx
3938	addl	28(%esp),%edx
3939	psrld	$11,%xmm6
3940	addl	%ecx,%ebx
3941	movl	%edx,%ecx
3942	rorl	$14,%edx
3943	pxor	%xmm5,%xmm4
3944	movl	(%esp),%esi
3945	xorl	%ecx,%edx
3946	pslld	$11,%xmm5
3947	movl	4(%esp),%edi
3948	xorl	%edi,%esi
3949	rorl	$5,%edx
3950	pxor	%xmm6,%xmm4
3951	andl	%ecx,%esi
3952	movl	%ecx,28(%esp)
3953	movdqa	%xmm7,%xmm6
3954	xorl	%ecx,%edx
3955	xorl	%esi,%edi
3956	rorl	$6,%edx
3957	pxor	%xmm5,%xmm4
3958	movl	%ebx,%ecx
3959	addl	%edi,%edx
3960	psrld	$10,%xmm7
3961	movl	16(%esp),%edi
3962	movl	%ebx,%esi
3963	rorl	$9,%ecx
3964	paddd	%xmm4,%xmm3
3965	movl	%ebx,12(%esp)
3966	xorl	%ebx,%ecx
3967	psrlq	$17,%xmm6
3968	xorl	%edi,%ebx
3969	addl	8(%esp),%edx
3970	rorl	$11,%ecx
3971	pxor	%xmm6,%xmm7
3972	andl	%ebx,%eax
3973	xorl	%esi,%ecx
3974	psrlq	$2,%xmm6
3975	addl	84(%esp),%edx
3976	xorl	%edi,%eax
3977	rorl	$2,%ecx
3978	pxor	%xmm6,%xmm7
3979	addl	%edx,%eax
3980	addl	24(%esp),%edx
3981	pshufd	$128,%xmm7,%xmm7
3982	addl	%ecx,%eax
3983	movl	%edx,%ecx
3984	rorl	$14,%edx
3985	movl	28(%esp),%esi
3986	xorl	%ecx,%edx
3987	movl	(%esp),%edi
3988	xorl	%edi,%esi
3989	rorl	$5,%edx
3990	andl	%ecx,%esi
3991	psrldq	$8,%xmm7
3992	movl	%ecx,24(%esp)
3993	xorl	%ecx,%edx
3994	xorl	%esi,%edi
3995	paddd	%xmm7,%xmm3
3996	rorl	$6,%edx
3997	movl	%eax,%ecx
3998	addl	%edi,%edx
3999	movl	12(%esp),%edi
4000	movl	%eax,%esi
4001	rorl	$9,%ecx
4002	movl	%eax,8(%esp)
4003	pshufd	$80,%xmm3,%xmm7
4004	xorl	%eax,%ecx
4005	xorl	%edi,%eax
4006	addl	4(%esp),%edx
4007	movdqa	%xmm7,%xmm6
4008	rorl	$11,%ecx
4009	psrld	$10,%xmm7
4010	andl	%eax,%ebx
4011	psrlq	$17,%xmm6
4012	xorl	%esi,%ecx
4013	addl	88(%esp),%edx
4014	xorl	%edi,%ebx
4015	rorl	$2,%ecx
4016	pxor	%xmm6,%xmm7
4017	addl	%edx,%ebx
4018	addl	20(%esp),%edx
4019	psrlq	$2,%xmm6
4020	addl	%ecx,%ebx
4021	movl	%edx,%ecx
4022	rorl	$14,%edx
4023	pxor	%xmm6,%xmm7
4024	movl	24(%esp),%esi
4025	xorl	%ecx,%edx
4026	movl	28(%esp),%edi
4027	pshufd	$8,%xmm7,%xmm7
4028	xorl	%edi,%esi
4029	rorl	$5,%edx
4030	movdqa	48(%ebp),%xmm6
4031	andl	%ecx,%esi
4032	movl	%ecx,20(%esp)
4033	pslldq	$8,%xmm7
4034	xorl	%ecx,%edx
4035	xorl	%esi,%edi
4036	rorl	$6,%edx
4037	movl	%ebx,%ecx
4038	addl	%edi,%edx
4039	movl	8(%esp),%edi
4040	movl	%ebx,%esi
4041	rorl	$9,%ecx
4042	paddd	%xmm7,%xmm3
4043	movl	%ebx,4(%esp)
4044	xorl	%ebx,%ecx
4045	xorl	%edi,%ebx
4046	addl	(%esp),%edx
4047	paddd	%xmm3,%xmm6
4048	rorl	$11,%ecx
4049	andl	%ebx,%eax
4050	xorl	%esi,%ecx
4051	addl	92(%esp),%edx
4052	xorl	%edi,%eax
4053	rorl	$2,%ecx
4054	addl	%edx,%eax
4055	addl	16(%esp),%edx
4056	addl	%ecx,%eax
4057	movdqa	%xmm6,80(%esp)
4058	cmpl	$66051,64(%ebp)
4059	jne	.L013ssse3_00_47
4060	movl	%edx,%ecx
4061	rorl	$14,%edx
4062	movl	20(%esp),%esi
4063	xorl	%ecx,%edx
4064	movl	24(%esp),%edi
4065	xorl	%edi,%esi
4066	rorl	$5,%edx
4067	andl	%ecx,%esi
4068	movl	%ecx,16(%esp)
4069	xorl	%ecx,%edx
4070	xorl	%esi,%edi
4071	rorl	$6,%edx
4072	movl	%eax,%ecx
4073	addl	%edi,%edx
4074	movl	4(%esp),%edi
4075	movl	%eax,%esi
4076	rorl	$9,%ecx
4077	movl	%eax,(%esp)
4078	xorl	%eax,%ecx
4079	xorl	%edi,%eax
4080	addl	28(%esp),%edx
4081	rorl	$11,%ecx
4082	andl	%eax,%ebx
4083	xorl	%esi,%ecx
4084	addl	32(%esp),%edx
4085	xorl	%edi,%ebx
4086	rorl	$2,%ecx
4087	addl	%edx,%ebx
4088	addl	12(%esp),%edx
4089	addl	%ecx,%ebx
4090	movl	%edx,%ecx
4091	rorl	$14,%edx
4092	movl	16(%esp),%esi
4093	xorl	%ecx,%edx
4094	movl	20(%esp),%edi
4095	xorl	%edi,%esi
4096	rorl	$5,%edx
4097	andl	%ecx,%esi
4098	movl	%ecx,12(%esp)
4099	xorl	%ecx,%edx
4100	xorl	%esi,%edi
4101	rorl	$6,%edx
4102	movl	%ebx,%ecx
4103	addl	%edi,%edx
4104	movl	(%esp),%edi
4105	movl	%ebx,%esi
4106	rorl	$9,%ecx
4107	movl	%ebx,28(%esp)
4108	xorl	%ebx,%ecx
4109	xorl	%edi,%ebx
4110	addl	24(%esp),%edx
4111	rorl	$11,%ecx
4112	andl	%ebx,%eax
4113	xorl	%esi,%ecx
4114	addl	36(%esp),%edx
4115	xorl	%edi,%eax
4116	rorl	$2,%ecx
4117	addl	%edx,%eax
4118	addl	8(%esp),%edx
4119	addl	%ecx,%eax
4120	movl	%edx,%ecx
4121	rorl	$14,%edx
4122	movl	12(%esp),%esi
4123	xorl	%ecx,%edx
4124	movl	16(%esp),%edi
4125	xorl	%edi,%esi
4126	rorl	$5,%edx
4127	andl	%ecx,%esi
4128	movl	%ecx,8(%esp)
4129	xorl	%ecx,%edx
4130	xorl	%esi,%edi
4131	rorl	$6,%edx
4132	movl	%eax,%ecx
4133	addl	%edi,%edx
4134	movl	28(%esp),%edi
4135	movl	%eax,%esi
4136	rorl	$9,%ecx
4137	movl	%eax,24(%esp)
4138	xorl	%eax,%ecx
4139	xorl	%edi,%eax
4140	addl	20(%esp),%edx
4141	rorl	$11,%ecx
4142	andl	%eax,%ebx
4143	xorl	%esi,%ecx
4144	addl	40(%esp),%edx
4145	xorl	%edi,%ebx
4146	rorl	$2,%ecx
4147	addl	%edx,%ebx
4148	addl	4(%esp),%edx
4149	addl	%ecx,%ebx
4150	movl	%edx,%ecx
4151	rorl	$14,%edx
4152	movl	8(%esp),%esi
4153	xorl	%ecx,%edx
4154	movl	12(%esp),%edi
4155	xorl	%edi,%esi
4156	rorl	$5,%edx
4157	andl	%ecx,%esi
4158	movl	%ecx,4(%esp)
4159	xorl	%ecx,%edx
4160	xorl	%esi,%edi
4161	rorl	$6,%edx
4162	movl	%ebx,%ecx
4163	addl	%edi,%edx
4164	movl	24(%esp),%edi
4165	movl	%ebx,%esi
4166	rorl	$9,%ecx
4167	movl	%ebx,20(%esp)
4168	xorl	%ebx,%ecx
4169	xorl	%edi,%ebx
4170	addl	16(%esp),%edx
4171	rorl	$11,%ecx
4172	andl	%ebx,%eax
4173	xorl	%esi,%ecx
4174	addl	44(%esp),%edx
4175	xorl	%edi,%eax
4176	rorl	$2,%ecx
4177	addl	%edx,%eax
4178	addl	(%esp),%edx
4179	addl	%ecx,%eax
4180	movl	%edx,%ecx
4181	rorl	$14,%edx
4182	movl	4(%esp),%esi
4183	xorl	%ecx,%edx
4184	movl	8(%esp),%edi
4185	xorl	%edi,%esi
4186	rorl	$5,%edx
4187	andl	%ecx,%esi
4188	movl	%ecx,(%esp)
4189	xorl	%ecx,%edx
4190	xorl	%esi,%edi
4191	rorl	$6,%edx
4192	movl	%eax,%ecx
4193	addl	%edi,%edx
4194	movl	20(%esp),%edi
4195	movl	%eax,%esi
4196	rorl	$9,%ecx
4197	movl	%eax,16(%esp)
4198	xorl	%eax,%ecx
4199	xorl	%edi,%eax
4200	addl	12(%esp),%edx
4201	rorl	$11,%ecx
4202	andl	%eax,%ebx
4203	xorl	%esi,%ecx
4204	addl	48(%esp),%edx
4205	xorl	%edi,%ebx
4206	rorl	$2,%ecx
4207	addl	%edx,%ebx
4208	addl	28(%esp),%edx
4209	addl	%ecx,%ebx
4210	movl	%edx,%ecx
4211	rorl	$14,%edx
4212	movl	(%esp),%esi
4213	xorl	%ecx,%edx
4214	movl	4(%esp),%edi
4215	xorl	%edi,%esi
4216	rorl	$5,%edx
4217	andl	%ecx,%esi
4218	movl	%ecx,28(%esp)
4219	xorl	%ecx,%edx
4220	xorl	%esi,%edi
4221	rorl	$6,%edx
4222	movl	%ebx,%ecx
4223	addl	%edi,%edx
4224	movl	16(%esp),%edi
4225	movl	%ebx,%esi
4226	rorl	$9,%ecx
4227	movl	%ebx,12(%esp)
4228	xorl	%ebx,%ecx
4229	xorl	%edi,%ebx
4230	addl	8(%esp),%edx
4231	rorl	$11,%ecx
4232	andl	%ebx,%eax
4233	xorl	%esi,%ecx
4234	addl	52(%esp),%edx
4235	xorl	%edi,%eax
4236	rorl	$2,%ecx
4237	addl	%edx,%eax
4238	addl	24(%esp),%edx
4239	addl	%ecx,%eax
4240	movl	%edx,%ecx
4241	rorl	$14,%edx
4242	movl	28(%esp),%esi
4243	xorl	%ecx,%edx
4244	movl	(%esp),%edi
4245	xorl	%edi,%esi
4246	rorl	$5,%edx
4247	andl	%ecx,%esi
4248	movl	%ecx,24(%esp)
4249	xorl	%ecx,%edx
4250	xorl	%esi,%edi
4251	rorl	$6,%edx
4252	movl	%eax,%ecx
4253	addl	%edi,%edx
4254	movl	12(%esp),%edi
4255	movl	%eax,%esi
4256	rorl	$9,%ecx
4257	movl	%eax,8(%esp)
4258	xorl	%eax,%ecx
4259	xorl	%edi,%eax
4260	addl	4(%esp),%edx
4261	rorl	$11,%ecx
4262	andl	%eax,%ebx
4263	xorl	%esi,%ecx
4264	addl	56(%esp),%edx
4265	xorl	%edi,%ebx
4266	rorl	$2,%ecx
4267	addl	%edx,%ebx
4268	addl	20(%esp),%edx
4269	addl	%ecx,%ebx
4270	movl	%edx,%ecx
4271	rorl	$14,%edx
4272	movl	24(%esp),%esi
4273	xorl	%ecx,%edx
4274	movl	28(%esp),%edi
4275	xorl	%edi,%esi
4276	rorl	$5,%edx
4277	andl	%ecx,%esi
4278	movl	%ecx,20(%esp)
4279	xorl	%ecx,%edx
4280	xorl	%esi,%edi
4281	rorl	$6,%edx
4282	movl	%ebx,%ecx
4283	addl	%edi,%edx
4284	movl	8(%esp),%edi
4285	movl	%ebx,%esi
4286	rorl	$9,%ecx
4287	movl	%ebx,4(%esp)
4288	xorl	%ebx,%ecx
4289	xorl	%edi,%ebx
4290	addl	(%esp),%edx
4291	rorl	$11,%ecx
4292	andl	%ebx,%eax
4293	xorl	%esi,%ecx
4294	addl	60(%esp),%edx
4295	xorl	%edi,%eax
4296	rorl	$2,%ecx
4297	addl	%edx,%eax
4298	addl	16(%esp),%edx
4299	addl	%ecx,%eax
4300	movl	%edx,%ecx
4301	rorl	$14,%edx
4302	movl	20(%esp),%esi
4303	xorl	%ecx,%edx
4304	movl	24(%esp),%edi
4305	xorl	%edi,%esi
4306	rorl	$5,%edx
4307	andl	%ecx,%esi
4308	movl	%ecx,16(%esp)
4309	xorl	%ecx,%edx
4310	xorl	%esi,%edi
4311	rorl	$6,%edx
4312	movl	%eax,%ecx
4313	addl	%edi,%edx
4314	movl	4(%esp),%edi
4315	movl	%eax,%esi
4316	rorl	$9,%ecx
4317	movl	%eax,(%esp)
4318	xorl	%eax,%ecx
4319	xorl	%edi,%eax
4320	addl	28(%esp),%edx
4321	rorl	$11,%ecx
4322	andl	%eax,%ebx
4323	xorl	%esi,%ecx
4324	addl	64(%esp),%edx
4325	xorl	%edi,%ebx
4326	rorl	$2,%ecx
4327	addl	%edx,%ebx
4328	addl	12(%esp),%edx
4329	addl	%ecx,%ebx
4330	movl	%edx,%ecx
4331	rorl	$14,%edx
4332	movl	16(%esp),%esi
4333	xorl	%ecx,%edx
4334	movl	20(%esp),%edi
4335	xorl	%edi,%esi
4336	rorl	$5,%edx
4337	andl	%ecx,%esi
4338	movl	%ecx,12(%esp)
4339	xorl	%ecx,%edx
4340	xorl	%esi,%edi
4341	rorl	$6,%edx
4342	movl	%ebx,%ecx
4343	addl	%edi,%edx
4344	movl	(%esp),%edi
4345	movl	%ebx,%esi
4346	rorl	$9,%ecx
4347	movl	%ebx,28(%esp)
4348	xorl	%ebx,%ecx
4349	xorl	%edi,%ebx
4350	addl	24(%esp),%edx
4351	rorl	$11,%ecx
4352	andl	%ebx,%eax
4353	xorl	%esi,%ecx
4354	addl	68(%esp),%edx
4355	xorl	%edi,%eax
4356	rorl	$2,%ecx
4357	addl	%edx,%eax
4358	addl	8(%esp),%edx
4359	addl	%ecx,%eax
4360	movl	%edx,%ecx
4361	rorl	$14,%edx
4362	movl	12(%esp),%esi
4363	xorl	%ecx,%edx
4364	movl	16(%esp),%edi
4365	xorl	%edi,%esi
4366	rorl	$5,%edx
4367	andl	%ecx,%esi
4368	movl	%ecx,8(%esp)
4369	xorl	%ecx,%edx
4370	xorl	%esi,%edi
4371	rorl	$6,%edx
4372	movl	%eax,%ecx
4373	addl	%edi,%edx
4374	movl	28(%esp),%edi
4375	movl	%eax,%esi
4376	rorl	$9,%ecx
4377	movl	%eax,24(%esp)
4378	xorl	%eax,%ecx
4379	xorl	%edi,%eax
4380	addl	20(%esp),%edx
4381	rorl	$11,%ecx
4382	andl	%eax,%ebx
4383	xorl	%esi,%ecx
4384	addl	72(%esp),%edx
4385	xorl	%edi,%ebx
4386	rorl	$2,%ecx
4387	addl	%edx,%ebx
4388	addl	4(%esp),%edx
4389	addl	%ecx,%ebx
4390	movl	%edx,%ecx
4391	rorl	$14,%edx
4392	movl	8(%esp),%esi
4393	xorl	%ecx,%edx
4394	movl	12(%esp),%edi
4395	xorl	%edi,%esi
4396	rorl	$5,%edx
4397	andl	%ecx,%esi
4398	movl	%ecx,4(%esp)
4399	xorl	%ecx,%edx
4400	xorl	%esi,%edi
4401	rorl	$6,%edx
4402	movl	%ebx,%ecx
4403	addl	%edi,%edx
4404	movl	24(%esp),%edi
4405	movl	%ebx,%esi
4406	rorl	$9,%ecx
4407	movl	%ebx,20(%esp)
4408	xorl	%ebx,%ecx
4409	xorl	%edi,%ebx
4410	addl	16(%esp),%edx
4411	rorl	$11,%ecx
4412	andl	%ebx,%eax
4413	xorl	%esi,%ecx
4414	addl	76(%esp),%edx
4415	xorl	%edi,%eax
4416	rorl	$2,%ecx
4417	addl	%edx,%eax
4418	addl	(%esp),%edx
4419	addl	%ecx,%eax
4420	movl	%edx,%ecx
4421	rorl	$14,%edx
4422	movl	4(%esp),%esi
4423	xorl	%ecx,%edx
4424	movl	8(%esp),%edi
4425	xorl	%edi,%esi
4426	rorl	$5,%edx
4427	andl	%ecx,%esi
4428	movl	%ecx,(%esp)
4429	xorl	%ecx,%edx
4430	xorl	%esi,%edi
4431	rorl	$6,%edx
4432	movl	%eax,%ecx
4433	addl	%edi,%edx
4434	movl	20(%esp),%edi
4435	movl	%eax,%esi
4436	rorl	$9,%ecx
4437	movl	%eax,16(%esp)
4438	xorl	%eax,%ecx
4439	xorl	%edi,%eax
4440	addl	12(%esp),%edx
4441	rorl	$11,%ecx
4442	andl	%eax,%ebx
4443	xorl	%esi,%ecx
4444	addl	80(%esp),%edx
4445	xorl	%edi,%ebx
4446	rorl	$2,%ecx
4447	addl	%edx,%ebx
4448	addl	28(%esp),%edx
4449	addl	%ecx,%ebx
4450	movl	%edx,%ecx
4451	rorl	$14,%edx
4452	movl	(%esp),%esi
4453	xorl	%ecx,%edx
4454	movl	4(%esp),%edi
4455	xorl	%edi,%esi
4456	rorl	$5,%edx
4457	andl	%ecx,%esi
4458	movl	%ecx,28(%esp)
4459	xorl	%ecx,%edx
4460	xorl	%esi,%edi
4461	rorl	$6,%edx
4462	movl	%ebx,%ecx
4463	addl	%edi,%edx
4464	movl	16(%esp),%edi
4465	movl	%ebx,%esi
4466	rorl	$9,%ecx
4467	movl	%ebx,12(%esp)
4468	xorl	%ebx,%ecx
4469	xorl	%edi,%ebx
4470	addl	8(%esp),%edx
4471	rorl	$11,%ecx
4472	andl	%ebx,%eax
4473	xorl	%esi,%ecx
4474	addl	84(%esp),%edx
4475	xorl	%edi,%eax
4476	rorl	$2,%ecx
4477	addl	%edx,%eax
4478	addl	24(%esp),%edx
4479	addl	%ecx,%eax
4480	movl	%edx,%ecx
4481	rorl	$14,%edx
4482	movl	28(%esp),%esi
4483	xorl	%ecx,%edx
4484	movl	(%esp),%edi
4485	xorl	%edi,%esi
4486	rorl	$5,%edx
4487	andl	%ecx,%esi
4488	movl	%ecx,24(%esp)
4489	xorl	%ecx,%edx
4490	xorl	%esi,%edi
4491	rorl	$6,%edx
4492	movl	%eax,%ecx
4493	addl	%edi,%edx
4494	movl	12(%esp),%edi
4495	movl	%eax,%esi
4496	rorl	$9,%ecx
4497	movl	%eax,8(%esp)
4498	xorl	%eax,%ecx
4499	xorl	%edi,%eax
4500	addl	4(%esp),%edx
4501	rorl	$11,%ecx
4502	andl	%eax,%ebx
4503	xorl	%esi,%ecx
4504	addl	88(%esp),%edx
4505	xorl	%edi,%ebx
4506	rorl	$2,%ecx
4507	addl	%edx,%ebx
4508	addl	20(%esp),%edx
4509	addl	%ecx,%ebx
4510	movl	%edx,%ecx
4511	rorl	$14,%edx
4512	movl	24(%esp),%esi
4513	xorl	%ecx,%edx
4514	movl	28(%esp),%edi
4515	xorl	%edi,%esi
4516	rorl	$5,%edx
4517	andl	%ecx,%esi
4518	movl	%ecx,20(%esp)
4519	xorl	%ecx,%edx
4520	xorl	%esi,%edi
4521	rorl	$6,%edx
4522	movl	%ebx,%ecx
4523	addl	%edi,%edx
4524	movl	8(%esp),%edi
4525	movl	%ebx,%esi
4526	rorl	$9,%ecx
4527	movl	%ebx,4(%esp)
4528	xorl	%ebx,%ecx
4529	xorl	%edi,%ebx
4530	addl	(%esp),%edx
4531	rorl	$11,%ecx
4532	andl	%ebx,%eax
4533	xorl	%esi,%ecx
4534	addl	92(%esp),%edx
4535	xorl	%edi,%eax
4536	rorl	$2,%ecx
4537	addl	%edx,%eax
4538	addl	16(%esp),%edx
4539	addl	%ecx,%eax
4540	movl	96(%esp),%esi
4541	xorl	%edi,%ebx
4542	movl	12(%esp),%ecx
4543	addl	(%esi),%eax
4544	addl	4(%esi),%ebx
4545	addl	8(%esi),%edi
4546	addl	12(%esi),%ecx
4547	movl	%eax,(%esi)
4548	movl	%ebx,4(%esi)
4549	movl	%edi,8(%esi)
4550	movl	%ecx,12(%esi)
4551	movl	%ebx,4(%esp)
4552	xorl	%edi,%ebx
4553	movl	%edi,8(%esp)
4554	movl	%ecx,12(%esp)
4555	movl	20(%esp),%edi
4556	movl	24(%esp),%ecx
4557	addl	16(%esi),%edx
4558	addl	20(%esi),%edi
4559	addl	24(%esi),%ecx
4560	movl	%edx,16(%esi)
4561	movl	%edi,20(%esi)
4562	movl	%edi,20(%esp)
4563	movl	28(%esp),%edi
4564	movl	%ecx,24(%esi)
4565	addl	28(%esi),%edi
4566	movl	%ecx,24(%esp)
4567	movl	%edi,28(%esi)
4568	movl	%edi,28(%esp)
4569	movl	100(%esp),%edi
4570	movdqa	64(%ebp),%xmm7
4571	subl	$192,%ebp
4572	cmpl	104(%esp),%edi
4573	jb	.L012grand_ssse3
4574	movl	108(%esp),%esp
4575	popl	%edi
4576	popl	%esi
4577	popl	%ebx
4578	popl	%ebp
4579	ret
4580.align	32
4581.L005AVX:
4582	andl	$264,%edx
4583	cmpl	$264,%edx
4584	je	.L014AVX_BMI
4585	leal	-96(%esp),%esp
4586	vzeroall
4587	movl	(%esi),%eax
4588	movl	4(%esi),%ebx
4589	movl	8(%esi),%ecx
4590	movl	12(%esi),%edi
4591	movl	%ebx,4(%esp)
4592	xorl	%ecx,%ebx
4593	movl	%ecx,8(%esp)
4594	movl	%edi,12(%esp)
4595	movl	16(%esi),%edx
4596	movl	20(%esi),%edi
4597	movl	24(%esi),%ecx
4598	movl	28(%esi),%esi
4599	movl	%edi,20(%esp)
4600	movl	100(%esp),%edi
4601	movl	%ecx,24(%esp)
4602	movl	%esi,28(%esp)
4603	vmovdqa	256(%ebp),%xmm7
4604	jmp	.L015grand_avx
4605.align	32
4606.L015grand_avx:
4607	vmovdqu	(%edi),%xmm0
4608	vmovdqu	16(%edi),%xmm1
4609	vmovdqu	32(%edi),%xmm2
4610	vmovdqu	48(%edi),%xmm3
4611	addl	$64,%edi
4612	vpshufb	%xmm7,%xmm0,%xmm0
4613	movl	%edi,100(%esp)
4614	vpshufb	%xmm7,%xmm1,%xmm1
4615	vpshufb	%xmm7,%xmm2,%xmm2
4616	vpaddd	(%ebp),%xmm0,%xmm4
4617	vpshufb	%xmm7,%xmm3,%xmm3
4618	vpaddd	16(%ebp),%xmm1,%xmm5
4619	vpaddd	32(%ebp),%xmm2,%xmm6
4620	vpaddd	48(%ebp),%xmm3,%xmm7
4621	vmovdqa	%xmm4,32(%esp)
4622	vmovdqa	%xmm5,48(%esp)
4623	vmovdqa	%xmm6,64(%esp)
4624	vmovdqa	%xmm7,80(%esp)
4625	jmp	.L016avx_00_47
4626.align	16
4627.L016avx_00_47:
4628	addl	$64,%ebp
4629	vpalignr	$4,%xmm0,%xmm1,%xmm4
4630	movl	%edx,%ecx
4631	shrdl	$14,%edx,%edx
4632	movl	20(%esp),%esi
4633	vpalignr	$4,%xmm2,%xmm3,%xmm7
4634	xorl	%ecx,%edx
4635	movl	24(%esp),%edi
4636	xorl	%edi,%esi
4637	vpsrld	$7,%xmm4,%xmm6
4638	shrdl	$5,%edx,%edx
4639	andl	%ecx,%esi
4640	movl	%ecx,16(%esp)
4641	vpaddd	%xmm7,%xmm0,%xmm0
4642	xorl	%ecx,%edx
4643	xorl	%esi,%edi
4644	shrdl	$6,%edx,%edx
4645	vpsrld	$3,%xmm4,%xmm7
4646	movl	%eax,%ecx
4647	addl	%edi,%edx
4648	movl	4(%esp),%edi
4649	vpslld	$14,%xmm4,%xmm5
4650	movl	%eax,%esi
4651	shrdl	$9,%ecx,%ecx
4652	movl	%eax,(%esp)
4653	vpxor	%xmm6,%xmm7,%xmm4
4654	xorl	%eax,%ecx
4655	xorl	%edi,%eax
4656	addl	28(%esp),%edx
4657	vpshufd	$250,%xmm3,%xmm7
4658	shrdl	$11,%ecx,%ecx
4659	andl	%eax,%ebx
4660	xorl	%esi,%ecx
4661	vpsrld	$11,%xmm6,%xmm6
4662	addl	32(%esp),%edx
4663	xorl	%edi,%ebx
4664	shrdl	$2,%ecx,%ecx
4665	vpxor	%xmm5,%xmm4,%xmm4
4666	addl	%edx,%ebx
4667	addl	12(%esp),%edx
4668	addl	%ecx,%ebx
4669	vpslld	$11,%xmm5,%xmm5
4670	movl	%edx,%ecx
4671	shrdl	$14,%edx,%edx
4672	movl	16(%esp),%esi
4673	vpxor	%xmm6,%xmm4,%xmm4
4674	xorl	%ecx,%edx
4675	movl	20(%esp),%edi
4676	xorl	%edi,%esi
4677	vpsrld	$10,%xmm7,%xmm6
4678	shrdl	$5,%edx,%edx
4679	andl	%ecx,%esi
4680	movl	%ecx,12(%esp)
4681	vpxor	%xmm5,%xmm4,%xmm4
4682	xorl	%ecx,%edx
4683	xorl	%esi,%edi
4684	shrdl	$6,%edx,%edx
4685	vpsrlq	$17,%xmm7,%xmm5
4686	movl	%ebx,%ecx
4687	addl	%edi,%edx
4688	movl	(%esp),%edi
4689	vpaddd	%xmm4,%xmm0,%xmm0
4690	movl	%ebx,%esi
4691	shrdl	$9,%ecx,%ecx
4692	movl	%ebx,28(%esp)
4693	vpxor	%xmm5,%xmm6,%xmm6
4694	xorl	%ebx,%ecx
4695	xorl	%edi,%ebx
4696	addl	24(%esp),%edx
4697	vpsrlq	$19,%xmm7,%xmm7
4698	shrdl	$11,%ecx,%ecx
4699	andl	%ebx,%eax
4700	xorl	%esi,%ecx
4701	vpxor	%xmm7,%xmm6,%xmm6
4702	addl	36(%esp),%edx
4703	xorl	%edi,%eax
4704	shrdl	$2,%ecx,%ecx
4705	vpshufd	$132,%xmm6,%xmm7
4706	addl	%edx,%eax
4707	addl	8(%esp),%edx
4708	addl	%ecx,%eax
4709	vpsrldq	$8,%xmm7,%xmm7
4710	movl	%edx,%ecx
4711	shrdl	$14,%edx,%edx
4712	movl	12(%esp),%esi
4713	vpaddd	%xmm7,%xmm0,%xmm0
4714	xorl	%ecx,%edx
4715	movl	16(%esp),%edi
4716	xorl	%edi,%esi
4717	vpshufd	$80,%xmm0,%xmm7
4718	shrdl	$5,%edx,%edx
4719	andl	%ecx,%esi
4720	movl	%ecx,8(%esp)
4721	vpsrld	$10,%xmm7,%xmm6
4722	xorl	%ecx,%edx
4723	xorl	%esi,%edi
4724	shrdl	$6,%edx,%edx
4725	vpsrlq	$17,%xmm7,%xmm5
4726	movl	%eax,%ecx
4727	addl	%edi,%edx
4728	movl	28(%esp),%edi
4729	vpxor	%xmm5,%xmm6,%xmm6
4730	movl	%eax,%esi
4731	shrdl	$9,%ecx,%ecx
4732	movl	%eax,24(%esp)
4733	vpsrlq	$19,%xmm7,%xmm7
4734	xorl	%eax,%ecx
4735	xorl	%edi,%eax
4736	addl	20(%esp),%edx
4737	vpxor	%xmm7,%xmm6,%xmm6
4738	shrdl	$11,%ecx,%ecx
4739	andl	%eax,%ebx
4740	xorl	%esi,%ecx
4741	vpshufd	$232,%xmm6,%xmm7
4742	addl	40(%esp),%edx
4743	xorl	%edi,%ebx
4744	shrdl	$2,%ecx,%ecx
4745	vpslldq	$8,%xmm7,%xmm7
4746	addl	%edx,%ebx
4747	addl	4(%esp),%edx
4748	addl	%ecx,%ebx
4749	vpaddd	%xmm7,%xmm0,%xmm0
4750	movl	%edx,%ecx
4751	shrdl	$14,%edx,%edx
4752	movl	8(%esp),%esi
4753	vpaddd	(%ebp),%xmm0,%xmm6
4754	xorl	%ecx,%edx
4755	movl	12(%esp),%edi
4756	xorl	%edi,%esi
4757	shrdl	$5,%edx,%edx
4758	andl	%ecx,%esi
4759	movl	%ecx,4(%esp)
4760	xorl	%ecx,%edx
4761	xorl	%esi,%edi
4762	shrdl	$6,%edx,%edx
4763	movl	%ebx,%ecx
4764	addl	%edi,%edx
4765	movl	24(%esp),%edi
4766	movl	%ebx,%esi
4767	shrdl	$9,%ecx,%ecx
4768	movl	%ebx,20(%esp)
4769	xorl	%ebx,%ecx
4770	xorl	%edi,%ebx
4771	addl	16(%esp),%edx
4772	shrdl	$11,%ecx,%ecx
4773	andl	%ebx,%eax
4774	xorl	%esi,%ecx
4775	addl	44(%esp),%edx
4776	xorl	%edi,%eax
4777	shrdl	$2,%ecx,%ecx
4778	addl	%edx,%eax
4779	addl	(%esp),%edx
4780	addl	%ecx,%eax
4781	vmovdqa	%xmm6,32(%esp)
4782	vpalignr	$4,%xmm1,%xmm2,%xmm4
4783	movl	%edx,%ecx
4784	shrdl	$14,%edx,%edx
4785	movl	4(%esp),%esi
4786	vpalignr	$4,%xmm3,%xmm0,%xmm7
4787	xorl	%ecx,%edx
4788	movl	8(%esp),%edi
4789	xorl	%edi,%esi
4790	vpsrld	$7,%xmm4,%xmm6
4791	shrdl	$5,%edx,%edx
4792	andl	%ecx,%esi
4793	movl	%ecx,(%esp)
4794	vpaddd	%xmm7,%xmm1,%xmm1
4795	xorl	%ecx,%edx
4796	xorl	%esi,%edi
4797	shrdl	$6,%edx,%edx
4798	vpsrld	$3,%xmm4,%xmm7
4799	movl	%eax,%ecx
4800	addl	%edi,%edx
4801	movl	20(%esp),%edi
4802	vpslld	$14,%xmm4,%xmm5
4803	movl	%eax,%esi
4804	shrdl	$9,%ecx,%ecx
4805	movl	%eax,16(%esp)
4806	vpxor	%xmm6,%xmm7,%xmm4
4807	xorl	%eax,%ecx
4808	xorl	%edi,%eax
4809	addl	12(%esp),%edx
4810	vpshufd	$250,%xmm0,%xmm7
4811	shrdl	$11,%ecx,%ecx
4812	andl	%eax,%ebx
4813	xorl	%esi,%ecx
4814	vpsrld	$11,%xmm6,%xmm6
4815	addl	48(%esp),%edx
4816	xorl	%edi,%ebx
4817	shrdl	$2,%ecx,%ecx
4818	vpxor	%xmm5,%xmm4,%xmm4
4819	addl	%edx,%ebx
4820	addl	28(%esp),%edx
4821	addl	%ecx,%ebx
4822	vpslld	$11,%xmm5,%xmm5
4823	movl	%edx,%ecx
4824	shrdl	$14,%edx,%edx
4825	movl	(%esp),%esi
4826	vpxor	%xmm6,%xmm4,%xmm4
4827	xorl	%ecx,%edx
4828	movl	4(%esp),%edi
4829	xorl	%edi,%esi
4830	vpsrld	$10,%xmm7,%xmm6
4831	shrdl	$5,%edx,%edx
4832	andl	%ecx,%esi
4833	movl	%ecx,28(%esp)
4834	vpxor	%xmm5,%xmm4,%xmm4
4835	xorl	%ecx,%edx
4836	xorl	%esi,%edi
4837	shrdl	$6,%edx,%edx
4838	vpsrlq	$17,%xmm7,%xmm5
4839	movl	%ebx,%ecx
4840	addl	%edi,%edx
4841	movl	16(%esp),%edi
4842	vpaddd	%xmm4,%xmm1,%xmm1
4843	movl	%ebx,%esi
4844	shrdl	$9,%ecx,%ecx
4845	movl	%ebx,12(%esp)
4846	vpxor	%xmm5,%xmm6,%xmm6
4847	xorl	%ebx,%ecx
4848	xorl	%edi,%ebx
4849	addl	8(%esp),%edx
4850	vpsrlq	$19,%xmm7,%xmm7
4851	shrdl	$11,%ecx,%ecx
4852	andl	%ebx,%eax
4853	xorl	%esi,%ecx
4854	vpxor	%xmm7,%xmm6,%xmm6
4855	addl	52(%esp),%edx
4856	xorl	%edi,%eax
4857	shrdl	$2,%ecx,%ecx
4858	vpshufd	$132,%xmm6,%xmm7
4859	addl	%edx,%eax
4860	addl	24(%esp),%edx
4861	addl	%ecx,%eax
4862	vpsrldq	$8,%xmm7,%xmm7
4863	movl	%edx,%ecx
4864	shrdl	$14,%edx,%edx
4865	movl	28(%esp),%esi
4866	vpaddd	%xmm7,%xmm1,%xmm1
4867	xorl	%ecx,%edx
4868	movl	(%esp),%edi
4869	xorl	%edi,%esi
4870	vpshufd	$80,%xmm1,%xmm7
4871	shrdl	$5,%edx,%edx
4872	andl	%ecx,%esi
4873	movl	%ecx,24(%esp)
4874	vpsrld	$10,%xmm7,%xmm6
4875	xorl	%ecx,%edx
4876	xorl	%esi,%edi
4877	shrdl	$6,%edx,%edx
4878	vpsrlq	$17,%xmm7,%xmm5
4879	movl	%eax,%ecx
4880	addl	%edi,%edx
4881	movl	12(%esp),%edi
4882	vpxor	%xmm5,%xmm6,%xmm6
4883	movl	%eax,%esi
4884	shrdl	$9,%ecx,%ecx
4885	movl	%eax,8(%esp)
4886	vpsrlq	$19,%xmm7,%xmm7
4887	xorl	%eax,%ecx
4888	xorl	%edi,%eax
4889	addl	4(%esp),%edx
4890	vpxor	%xmm7,%xmm6,%xmm6
4891	shrdl	$11,%ecx,%ecx
4892	andl	%eax,%ebx
4893	xorl	%esi,%ecx
4894	vpshufd	$232,%xmm6,%xmm7
4895	addl	56(%esp),%edx
4896	xorl	%edi,%ebx
4897	shrdl	$2,%ecx,%ecx
4898	vpslldq	$8,%xmm7,%xmm7
4899	addl	%edx,%ebx
4900	addl	20(%esp),%edx
4901	addl	%ecx,%ebx
4902	vpaddd	%xmm7,%xmm1,%xmm1
4903	movl	%edx,%ecx
4904	shrdl	$14,%edx,%edx
4905	movl	24(%esp),%esi
4906	vpaddd	16(%ebp),%xmm1,%xmm6
4907	xorl	%ecx,%edx
4908	movl	28(%esp),%edi
4909	xorl	%edi,%esi
4910	shrdl	$5,%edx,%edx
4911	andl	%ecx,%esi
4912	movl	%ecx,20(%esp)
4913	xorl	%ecx,%edx
4914	xorl	%esi,%edi
4915	shrdl	$6,%edx,%edx
4916	movl	%ebx,%ecx
4917	addl	%edi,%edx
4918	movl	8(%esp),%edi
4919	movl	%ebx,%esi
4920	shrdl	$9,%ecx,%ecx
4921	movl	%ebx,4(%esp)
4922	xorl	%ebx,%ecx
4923	xorl	%edi,%ebx
4924	addl	(%esp),%edx
4925	shrdl	$11,%ecx,%ecx
4926	andl	%ebx,%eax
4927	xorl	%esi,%ecx
4928	addl	60(%esp),%edx
4929	xorl	%edi,%eax
4930	shrdl	$2,%ecx,%ecx
4931	addl	%edx,%eax
4932	addl	16(%esp),%edx
4933	addl	%ecx,%eax
4934	vmovdqa	%xmm6,48(%esp)
4935	vpalignr	$4,%xmm2,%xmm3,%xmm4
4936	movl	%edx,%ecx
4937	shrdl	$14,%edx,%edx
4938	movl	20(%esp),%esi
4939	vpalignr	$4,%xmm0,%xmm1,%xmm7
4940	xorl	%ecx,%edx
4941	movl	24(%esp),%edi
4942	xorl	%edi,%esi
4943	vpsrld	$7,%xmm4,%xmm6
4944	shrdl	$5,%edx,%edx
4945	andl	%ecx,%esi
4946	movl	%ecx,16(%esp)
4947	vpaddd	%xmm7,%xmm2,%xmm2
4948	xorl	%ecx,%edx
4949	xorl	%esi,%edi
4950	shrdl	$6,%edx,%edx
4951	vpsrld	$3,%xmm4,%xmm7
4952	movl	%eax,%ecx
4953	addl	%edi,%edx
4954	movl	4(%esp),%edi
4955	vpslld	$14,%xmm4,%xmm5
4956	movl	%eax,%esi
4957	shrdl	$9,%ecx,%ecx
4958	movl	%eax,(%esp)
4959	vpxor	%xmm6,%xmm7,%xmm4
4960	xorl	%eax,%ecx
4961	xorl	%edi,%eax
4962	addl	28(%esp),%edx
4963	vpshufd	$250,%xmm1,%xmm7
4964	shrdl	$11,%ecx,%ecx
4965	andl	%eax,%ebx
4966	xorl	%esi,%ecx
4967	vpsrld	$11,%xmm6,%xmm6
4968	addl	64(%esp),%edx
4969	xorl	%edi,%ebx
4970	shrdl	$2,%ecx,%ecx
4971	vpxor	%xmm5,%xmm4,%xmm4
4972	addl	%edx,%ebx
4973	addl	12(%esp),%edx
4974	addl	%ecx,%ebx
4975	vpslld	$11,%xmm5,%xmm5
4976	movl	%edx,%ecx
4977	shrdl	$14,%edx,%edx
4978	movl	16(%esp),%esi
4979	vpxor	%xmm6,%xmm4,%xmm4
4980	xorl	%ecx,%edx
4981	movl	20(%esp),%edi
4982	xorl	%edi,%esi
4983	vpsrld	$10,%xmm7,%xmm6
4984	shrdl	$5,%edx,%edx
4985	andl	%ecx,%esi
4986	movl	%ecx,12(%esp)
4987	vpxor	%xmm5,%xmm4,%xmm4
4988	xorl	%ecx,%edx
4989	xorl	%esi,%edi
4990	shrdl	$6,%edx,%edx
4991	vpsrlq	$17,%xmm7,%xmm5
4992	movl	%ebx,%ecx
4993	addl	%edi,%edx
4994	movl	(%esp),%edi
4995	vpaddd	%xmm4,%xmm2,%xmm2
4996	movl	%ebx,%esi
4997	shrdl	$9,%ecx,%ecx
4998	movl	%ebx,28(%esp)
4999	vpxor	%xmm5,%xmm6,%xmm6
5000	xorl	%ebx,%ecx
5001	xorl	%edi,%ebx
5002	addl	24(%esp),%edx
5003	vpsrlq	$19,%xmm7,%xmm7
5004	shrdl	$11,%ecx,%ecx
5005	andl	%ebx,%eax
5006	xorl	%esi,%ecx
5007	vpxor	%xmm7,%xmm6,%xmm6
5008	addl	68(%esp),%edx
5009	xorl	%edi,%eax
5010	shrdl	$2,%ecx,%ecx
5011	vpshufd	$132,%xmm6,%xmm7
5012	addl	%edx,%eax
5013	addl	8(%esp),%edx
5014	addl	%ecx,%eax
5015	vpsrldq	$8,%xmm7,%xmm7
5016	movl	%edx,%ecx
5017	shrdl	$14,%edx,%edx
5018	movl	12(%esp),%esi
5019	vpaddd	%xmm7,%xmm2,%xmm2
5020	xorl	%ecx,%edx
5021	movl	16(%esp),%edi
5022	xorl	%edi,%esi
5023	vpshufd	$80,%xmm2,%xmm7
5024	shrdl	$5,%edx,%edx
5025	andl	%ecx,%esi
5026	movl	%ecx,8(%esp)
5027	vpsrld	$10,%xmm7,%xmm6
5028	xorl	%ecx,%edx
5029	xorl	%esi,%edi
5030	shrdl	$6,%edx,%edx
5031	vpsrlq	$17,%xmm7,%xmm5
5032	movl	%eax,%ecx
5033	addl	%edi,%edx
5034	movl	28(%esp),%edi
5035	vpxor	%xmm5,%xmm6,%xmm6
5036	movl	%eax,%esi
5037	shrdl	$9,%ecx,%ecx
5038	movl	%eax,24(%esp)
5039	vpsrlq	$19,%xmm7,%xmm7
5040	xorl	%eax,%ecx
5041	xorl	%edi,%eax
5042	addl	20(%esp),%edx
5043	vpxor	%xmm7,%xmm6,%xmm6
5044	shrdl	$11,%ecx,%ecx
5045	andl	%eax,%ebx
5046	xorl	%esi,%ecx
5047	vpshufd	$232,%xmm6,%xmm7
5048	addl	72(%esp),%edx
5049	xorl	%edi,%ebx
5050	shrdl	$2,%ecx,%ecx
5051	vpslldq	$8,%xmm7,%xmm7
5052	addl	%edx,%ebx
5053	addl	4(%esp),%edx
5054	addl	%ecx,%ebx
5055	vpaddd	%xmm7,%xmm2,%xmm2
5056	movl	%edx,%ecx
5057	shrdl	$14,%edx,%edx
5058	movl	8(%esp),%esi
5059	vpaddd	32(%ebp),%xmm2,%xmm6
5060	xorl	%ecx,%edx
5061	movl	12(%esp),%edi
5062	xorl	%edi,%esi
5063	shrdl	$5,%edx,%edx
5064	andl	%ecx,%esi
5065	movl	%ecx,4(%esp)
5066	xorl	%ecx,%edx
5067	xorl	%esi,%edi
5068	shrdl	$6,%edx,%edx
5069	movl	%ebx,%ecx
5070	addl	%edi,%edx
5071	movl	24(%esp),%edi
5072	movl	%ebx,%esi
5073	shrdl	$9,%ecx,%ecx
5074	movl	%ebx,20(%esp)
5075	xorl	%ebx,%ecx
5076	xorl	%edi,%ebx
5077	addl	16(%esp),%edx
5078	shrdl	$11,%ecx,%ecx
5079	andl	%ebx,%eax
5080	xorl	%esi,%ecx
5081	addl	76(%esp),%edx
5082	xorl	%edi,%eax
5083	shrdl	$2,%ecx,%ecx
5084	addl	%edx,%eax
5085	addl	(%esp),%edx
5086	addl	%ecx,%eax
5087	vmovdqa	%xmm6,64(%esp)
5088	vpalignr	$4,%xmm3,%xmm0,%xmm4
5089	movl	%edx,%ecx
5090	shrdl	$14,%edx,%edx
5091	movl	4(%esp),%esi
5092	vpalignr	$4,%xmm1,%xmm2,%xmm7
5093	xorl	%ecx,%edx
5094	movl	8(%esp),%edi
5095	xorl	%edi,%esi
5096	vpsrld	$7,%xmm4,%xmm6
5097	shrdl	$5,%edx,%edx
5098	andl	%ecx,%esi
5099	movl	%ecx,(%esp)
5100	vpaddd	%xmm7,%xmm3,%xmm3
5101	xorl	%ecx,%edx
5102	xorl	%esi,%edi
5103	shrdl	$6,%edx,%edx
5104	vpsrld	$3,%xmm4,%xmm7
5105	movl	%eax,%ecx
5106	addl	%edi,%edx
5107	movl	20(%esp),%edi
5108	vpslld	$14,%xmm4,%xmm5
5109	movl	%eax,%esi
5110	shrdl	$9,%ecx,%ecx
5111	movl	%eax,16(%esp)
5112	vpxor	%xmm6,%xmm7,%xmm4
5113	xorl	%eax,%ecx
5114	xorl	%edi,%eax
5115	addl	12(%esp),%edx
5116	vpshufd	$250,%xmm2,%xmm7
5117	shrdl	$11,%ecx,%ecx
5118	andl	%eax,%ebx
5119	xorl	%esi,%ecx
5120	vpsrld	$11,%xmm6,%xmm6
5121	addl	80(%esp),%edx
5122	xorl	%edi,%ebx
5123	shrdl	$2,%ecx,%ecx
5124	vpxor	%xmm5,%xmm4,%xmm4
5125	addl	%edx,%ebx
5126	addl	28(%esp),%edx
5127	addl	%ecx,%ebx
5128	vpslld	$11,%xmm5,%xmm5
5129	movl	%edx,%ecx
5130	shrdl	$14,%edx,%edx
5131	movl	(%esp),%esi
5132	vpxor	%xmm6,%xmm4,%xmm4
5133	xorl	%ecx,%edx
5134	movl	4(%esp),%edi
5135	xorl	%edi,%esi
5136	vpsrld	$10,%xmm7,%xmm6
5137	shrdl	$5,%edx,%edx
5138	andl	%ecx,%esi
5139	movl	%ecx,28(%esp)
5140	vpxor	%xmm5,%xmm4,%xmm4
5141	xorl	%ecx,%edx
5142	xorl	%esi,%edi
5143	shrdl	$6,%edx,%edx
5144	vpsrlq	$17,%xmm7,%xmm5
5145	movl	%ebx,%ecx
5146	addl	%edi,%edx
5147	movl	16(%esp),%edi
5148	vpaddd	%xmm4,%xmm3,%xmm3
5149	movl	%ebx,%esi
5150	shrdl	$9,%ecx,%ecx
5151	movl	%ebx,12(%esp)
5152	vpxor	%xmm5,%xmm6,%xmm6
5153	xorl	%ebx,%ecx
5154	xorl	%edi,%ebx
5155	addl	8(%esp),%edx
5156	vpsrlq	$19,%xmm7,%xmm7
5157	shrdl	$11,%ecx,%ecx
5158	andl	%ebx,%eax
5159	xorl	%esi,%ecx
5160	vpxor	%xmm7,%xmm6,%xmm6
5161	addl	84(%esp),%edx
5162	xorl	%edi,%eax
5163	shrdl	$2,%ecx,%ecx
5164	vpshufd	$132,%xmm6,%xmm7
5165	addl	%edx,%eax
5166	addl	24(%esp),%edx
5167	addl	%ecx,%eax
5168	vpsrldq	$8,%xmm7,%xmm7
5169	movl	%edx,%ecx
5170	shrdl	$14,%edx,%edx
5171	movl	28(%esp),%esi
5172	vpaddd	%xmm7,%xmm3,%xmm3
5173	xorl	%ecx,%edx
5174	movl	(%esp),%edi
5175	xorl	%edi,%esi
5176	vpshufd	$80,%xmm3,%xmm7
5177	shrdl	$5,%edx,%edx
5178	andl	%ecx,%esi
5179	movl	%ecx,24(%esp)
5180	vpsrld	$10,%xmm7,%xmm6
5181	xorl	%ecx,%edx
5182	xorl	%esi,%edi
5183	shrdl	$6,%edx,%edx
5184	vpsrlq	$17,%xmm7,%xmm5
5185	movl	%eax,%ecx
5186	addl	%edi,%edx
5187	movl	12(%esp),%edi
5188	vpxor	%xmm5,%xmm6,%xmm6
5189	movl	%eax,%esi
5190	shrdl	$9,%ecx,%ecx
5191	movl	%eax,8(%esp)
5192	vpsrlq	$19,%xmm7,%xmm7
5193	xorl	%eax,%ecx
5194	xorl	%edi,%eax
5195	addl	4(%esp),%edx
5196	vpxor	%xmm7,%xmm6,%xmm6
5197	shrdl	$11,%ecx,%ecx
5198	andl	%eax,%ebx
5199	xorl	%esi,%ecx
5200	vpshufd	$232,%xmm6,%xmm7
5201	addl	88(%esp),%edx
5202	xorl	%edi,%ebx
5203	shrdl	$2,%ecx,%ecx
5204	vpslldq	$8,%xmm7,%xmm7
5205	addl	%edx,%ebx
5206	addl	20(%esp),%edx
5207	addl	%ecx,%ebx
5208	vpaddd	%xmm7,%xmm3,%xmm3
5209	movl	%edx,%ecx
5210	shrdl	$14,%edx,%edx
5211	movl	24(%esp),%esi
5212	vpaddd	48(%ebp),%xmm3,%xmm6
5213	xorl	%ecx,%edx
5214	movl	28(%esp),%edi
5215	xorl	%edi,%esi
5216	shrdl	$5,%edx,%edx
5217	andl	%ecx,%esi
5218	movl	%ecx,20(%esp)
5219	xorl	%ecx,%edx
5220	xorl	%esi,%edi
5221	shrdl	$6,%edx,%edx
5222	movl	%ebx,%ecx
5223	addl	%edi,%edx
5224	movl	8(%esp),%edi
5225	movl	%ebx,%esi
5226	shrdl	$9,%ecx,%ecx
5227	movl	%ebx,4(%esp)
5228	xorl	%ebx,%ecx
5229	xorl	%edi,%ebx
5230	addl	(%esp),%edx
5231	shrdl	$11,%ecx,%ecx
5232	andl	%ebx,%eax
5233	xorl	%esi,%ecx
5234	addl	92(%esp),%edx
5235	xorl	%edi,%eax
5236	shrdl	$2,%ecx,%ecx
5237	addl	%edx,%eax
5238	addl	16(%esp),%edx
5239	addl	%ecx,%eax
5240	vmovdqa	%xmm6,80(%esp)
5241	cmpl	$66051,64(%ebp)
5242	jne	.L016avx_00_47
5243	movl	%edx,%ecx
5244	shrdl	$14,%edx,%edx
5245	movl	20(%esp),%esi
5246	xorl	%ecx,%edx
5247	movl	24(%esp),%edi
5248	xorl	%edi,%esi
5249	shrdl	$5,%edx,%edx
5250	andl	%ecx,%esi
5251	movl	%ecx,16(%esp)
5252	xorl	%ecx,%edx
5253	xorl	%esi,%edi
5254	shrdl	$6,%edx,%edx
5255	movl	%eax,%ecx
5256	addl	%edi,%edx
5257	movl	4(%esp),%edi
5258	movl	%eax,%esi
5259	shrdl	$9,%ecx,%ecx
5260	movl	%eax,(%esp)
5261	xorl	%eax,%ecx
5262	xorl	%edi,%eax
5263	addl	28(%esp),%edx
5264	shrdl	$11,%ecx,%ecx
5265	andl	%eax,%ebx
5266	xorl	%esi,%ecx
5267	addl	32(%esp),%edx
5268	xorl	%edi,%ebx
5269	shrdl	$2,%ecx,%ecx
5270	addl	%edx,%ebx
5271	addl	12(%esp),%edx
5272	addl	%ecx,%ebx
5273	movl	%edx,%ecx
5274	shrdl	$14,%edx,%edx
5275	movl	16(%esp),%esi
5276	xorl	%ecx,%edx
5277	movl	20(%esp),%edi
5278	xorl	%edi,%esi
5279	shrdl	$5,%edx,%edx
5280	andl	%ecx,%esi
5281	movl	%ecx,12(%esp)
5282	xorl	%ecx,%edx
5283	xorl	%esi,%edi
5284	shrdl	$6,%edx,%edx
5285	movl	%ebx,%ecx
5286	addl	%edi,%edx
5287	movl	(%esp),%edi
5288	movl	%ebx,%esi
5289	shrdl	$9,%ecx,%ecx
5290	movl	%ebx,28(%esp)
5291	xorl	%ebx,%ecx
5292	xorl	%edi,%ebx
5293	addl	24(%esp),%edx
5294	shrdl	$11,%ecx,%ecx
5295	andl	%ebx,%eax
5296	xorl	%esi,%ecx
5297	addl	36(%esp),%edx
5298	xorl	%edi,%eax
5299	shrdl	$2,%ecx,%ecx
5300	addl	%edx,%eax
5301	addl	8(%esp),%edx
5302	addl	%ecx,%eax
5303	movl	%edx,%ecx
5304	shrdl	$14,%edx,%edx
5305	movl	12(%esp),%esi
5306	xorl	%ecx,%edx
5307	movl	16(%esp),%edi
5308	xorl	%edi,%esi
5309	shrdl	$5,%edx,%edx
5310	andl	%ecx,%esi
5311	movl	%ecx,8(%esp)
5312	xorl	%ecx,%edx
5313	xorl	%esi,%edi
5314	shrdl	$6,%edx,%edx
5315	movl	%eax,%ecx
5316	addl	%edi,%edx
5317	movl	28(%esp),%edi
5318	movl	%eax,%esi
5319	shrdl	$9,%ecx,%ecx
5320	movl	%eax,24(%esp)
5321	xorl	%eax,%ecx
5322	xorl	%edi,%eax
5323	addl	20(%esp),%edx
5324	shrdl	$11,%ecx,%ecx
5325	andl	%eax,%ebx
5326	xorl	%esi,%ecx
5327	addl	40(%esp),%edx
5328	xorl	%edi,%ebx
5329	shrdl	$2,%ecx,%ecx
5330	addl	%edx,%ebx
5331	addl	4(%esp),%edx
5332	addl	%ecx,%ebx
5333	movl	%edx,%ecx
5334	shrdl	$14,%edx,%edx
5335	movl	8(%esp),%esi
5336	xorl	%ecx,%edx
5337	movl	12(%esp),%edi
5338	xorl	%edi,%esi
5339	shrdl	$5,%edx,%edx
5340	andl	%ecx,%esi
5341	movl	%ecx,4(%esp)
5342	xorl	%ecx,%edx
5343	xorl	%esi,%edi
5344	shrdl	$6,%edx,%edx
5345	movl	%ebx,%ecx
5346	addl	%edi,%edx
5347	movl	24(%esp),%edi
5348	movl	%ebx,%esi
5349	shrdl	$9,%ecx,%ecx
5350	movl	%ebx,20(%esp)
5351	xorl	%ebx,%ecx
5352	xorl	%edi,%ebx
5353	addl	16(%esp),%edx
5354	shrdl	$11,%ecx,%ecx
5355	andl	%ebx,%eax
5356	xorl	%esi,%ecx
5357	addl	44(%esp),%edx
5358	xorl	%edi,%eax
5359	shrdl	$2,%ecx,%ecx
5360	addl	%edx,%eax
5361	addl	(%esp),%edx
5362	addl	%ecx,%eax
5363	movl	%edx,%ecx
5364	shrdl	$14,%edx,%edx
5365	movl	4(%esp),%esi
5366	xorl	%ecx,%edx
5367	movl	8(%esp),%edi
5368	xorl	%edi,%esi
5369	shrdl	$5,%edx,%edx
5370	andl	%ecx,%esi
5371	movl	%ecx,(%esp)
5372	xorl	%ecx,%edx
5373	xorl	%esi,%edi
5374	shrdl	$6,%edx,%edx
5375	movl	%eax,%ecx
5376	addl	%edi,%edx
5377	movl	20(%esp),%edi
5378	movl	%eax,%esi
5379	shrdl	$9,%ecx,%ecx
5380	movl	%eax,16(%esp)
5381	xorl	%eax,%ecx
5382	xorl	%edi,%eax
5383	addl	12(%esp),%edx
5384	shrdl	$11,%ecx,%ecx
5385	andl	%eax,%ebx
5386	xorl	%esi,%ecx
5387	addl	48(%esp),%edx
5388	xorl	%edi,%ebx
5389	shrdl	$2,%ecx,%ecx
5390	addl	%edx,%ebx
5391	addl	28(%esp),%edx
5392	addl	%ecx,%ebx
5393	movl	%edx,%ecx
5394	shrdl	$14,%edx,%edx
5395	movl	(%esp),%esi
5396	xorl	%ecx,%edx
5397	movl	4(%esp),%edi
5398	xorl	%edi,%esi
5399	shrdl	$5,%edx,%edx
5400	andl	%ecx,%esi
5401	movl	%ecx,28(%esp)
5402	xorl	%ecx,%edx
5403	xorl	%esi,%edi
5404	shrdl	$6,%edx,%edx
5405	movl	%ebx,%ecx
5406	addl	%edi,%edx
5407	movl	16(%esp),%edi
5408	movl	%ebx,%esi
5409	shrdl	$9,%ecx,%ecx
5410	movl	%ebx,12(%esp)
5411	xorl	%ebx,%ecx
5412	xorl	%edi,%ebx
5413	addl	8(%esp),%edx
5414	shrdl	$11,%ecx,%ecx
5415	andl	%ebx,%eax
5416	xorl	%esi,%ecx
5417	addl	52(%esp),%edx
5418	xorl	%edi,%eax
5419	shrdl	$2,%ecx,%ecx
5420	addl	%edx,%eax
5421	addl	24(%esp),%edx
5422	addl	%ecx,%eax
5423	movl	%edx,%ecx
5424	shrdl	$14,%edx,%edx
5425	movl	28(%esp),%esi
5426	xorl	%ecx,%edx
5427	movl	(%esp),%edi
5428	xorl	%edi,%esi
5429	shrdl	$5,%edx,%edx
5430	andl	%ecx,%esi
5431	movl	%ecx,24(%esp)
5432	xorl	%ecx,%edx
5433	xorl	%esi,%edi
5434	shrdl	$6,%edx,%edx
5435	movl	%eax,%ecx
5436	addl	%edi,%edx
5437	movl	12(%esp),%edi
5438	movl	%eax,%esi
5439	shrdl	$9,%ecx,%ecx
5440	movl	%eax,8(%esp)
5441	xorl	%eax,%ecx
5442	xorl	%edi,%eax
5443	addl	4(%esp),%edx
5444	shrdl	$11,%ecx,%ecx
5445	andl	%eax,%ebx
5446	xorl	%esi,%ecx
5447	addl	56(%esp),%edx
5448	xorl	%edi,%ebx
5449	shrdl	$2,%ecx,%ecx
5450	addl	%edx,%ebx
5451	addl	20(%esp),%edx
5452	addl	%ecx,%ebx
5453	movl	%edx,%ecx
5454	shrdl	$14,%edx,%edx
5455	movl	24(%esp),%esi
5456	xorl	%ecx,%edx
5457	movl	28(%esp),%edi
5458	xorl	%edi,%esi
5459	shrdl	$5,%edx,%edx
5460	andl	%ecx,%esi
5461	movl	%ecx,20(%esp)
5462	xorl	%ecx,%edx
5463	xorl	%esi,%edi
5464	shrdl	$6,%edx,%edx
5465	movl	%ebx,%ecx
5466	addl	%edi,%edx
5467	movl	8(%esp),%edi
5468	movl	%ebx,%esi
5469	shrdl	$9,%ecx,%ecx
5470	movl	%ebx,4(%esp)
5471	xorl	%ebx,%ecx
5472	xorl	%edi,%ebx
5473	addl	(%esp),%edx
5474	shrdl	$11,%ecx,%ecx
5475	andl	%ebx,%eax
5476	xorl	%esi,%ecx
5477	addl	60(%esp),%edx
5478	xorl	%edi,%eax
5479	shrdl	$2,%ecx,%ecx
5480	addl	%edx,%eax
5481	addl	16(%esp),%edx
5482	addl	%ecx,%eax
5483	movl	%edx,%ecx
5484	shrdl	$14,%edx,%edx
5485	movl	20(%esp),%esi
5486	xorl	%ecx,%edx
5487	movl	24(%esp),%edi
5488	xorl	%edi,%esi
5489	shrdl	$5,%edx,%edx
5490	andl	%ecx,%esi
5491	movl	%ecx,16(%esp)
5492	xorl	%ecx,%edx
5493	xorl	%esi,%edi
5494	shrdl	$6,%edx,%edx
5495	movl	%eax,%ecx
5496	addl	%edi,%edx
5497	movl	4(%esp),%edi
5498	movl	%eax,%esi
5499	shrdl	$9,%ecx,%ecx
5500	movl	%eax,(%esp)
5501	xorl	%eax,%ecx
5502	xorl	%edi,%eax
5503	addl	28(%esp),%edx
5504	shrdl	$11,%ecx,%ecx
5505	andl	%eax,%ebx
5506	xorl	%esi,%ecx
5507	addl	64(%esp),%edx
5508	xorl	%edi,%ebx
5509	shrdl	$2,%ecx,%ecx
5510	addl	%edx,%ebx
5511	addl	12(%esp),%edx
5512	addl	%ecx,%ebx
5513	movl	%edx,%ecx
5514	shrdl	$14,%edx,%edx
5515	movl	16(%esp),%esi
5516	xorl	%ecx,%edx
5517	movl	20(%esp),%edi
5518	xorl	%edi,%esi
5519	shrdl	$5,%edx,%edx
5520	andl	%ecx,%esi
5521	movl	%ecx,12(%esp)
5522	xorl	%ecx,%edx
5523	xorl	%esi,%edi
5524	shrdl	$6,%edx,%edx
5525	movl	%ebx,%ecx
5526	addl	%edi,%edx
5527	movl	(%esp),%edi
5528	movl	%ebx,%esi
5529	shrdl	$9,%ecx,%ecx
5530	movl	%ebx,28(%esp)
5531	xorl	%ebx,%ecx
5532	xorl	%edi,%ebx
5533	addl	24(%esp),%edx
5534	shrdl	$11,%ecx,%ecx
5535	andl	%ebx,%eax
5536	xorl	%esi,%ecx
5537	addl	68(%esp),%edx
5538	xorl	%edi,%eax
5539	shrdl	$2,%ecx,%ecx
5540	addl	%edx,%eax
5541	addl	8(%esp),%edx
5542	addl	%ecx,%eax
5543	movl	%edx,%ecx
5544	shrdl	$14,%edx,%edx
5545	movl	12(%esp),%esi
5546	xorl	%ecx,%edx
5547	movl	16(%esp),%edi
5548	xorl	%edi,%esi
5549	shrdl	$5,%edx,%edx
5550	andl	%ecx,%esi
5551	movl	%ecx,8(%esp)
5552	xorl	%ecx,%edx
5553	xorl	%esi,%edi
5554	shrdl	$6,%edx,%edx
5555	movl	%eax,%ecx
5556	addl	%edi,%edx
5557	movl	28(%esp),%edi
5558	movl	%eax,%esi
5559	shrdl	$9,%ecx,%ecx
5560	movl	%eax,24(%esp)
5561	xorl	%eax,%ecx
5562	xorl	%edi,%eax
5563	addl	20(%esp),%edx
5564	shrdl	$11,%ecx,%ecx
5565	andl	%eax,%ebx
5566	xorl	%esi,%ecx
5567	addl	72(%esp),%edx
5568	xorl	%edi,%ebx
5569	shrdl	$2,%ecx,%ecx
5570	addl	%edx,%ebx
5571	addl	4(%esp),%edx
5572	addl	%ecx,%ebx
5573	movl	%edx,%ecx
5574	shrdl	$14,%edx,%edx
5575	movl	8(%esp),%esi
5576	xorl	%ecx,%edx
5577	movl	12(%esp),%edi
5578	xorl	%edi,%esi
5579	shrdl	$5,%edx,%edx
5580	andl	%ecx,%esi
5581	movl	%ecx,4(%esp)
5582	xorl	%ecx,%edx
5583	xorl	%esi,%edi
5584	shrdl	$6,%edx,%edx
5585	movl	%ebx,%ecx
5586	addl	%edi,%edx
5587	movl	24(%esp),%edi
5588	movl	%ebx,%esi
5589	shrdl	$9,%ecx,%ecx
5590	movl	%ebx,20(%esp)
5591	xorl	%ebx,%ecx
5592	xorl	%edi,%ebx
5593	addl	16(%esp),%edx
5594	shrdl	$11,%ecx,%ecx
5595	andl	%ebx,%eax
5596	xorl	%esi,%ecx
5597	addl	76(%esp),%edx
5598	xorl	%edi,%eax
5599	shrdl	$2,%ecx,%ecx
5600	addl	%edx,%eax
5601	addl	(%esp),%edx
5602	addl	%ecx,%eax
5603	movl	%edx,%ecx
5604	shrdl	$14,%edx,%edx
5605	movl	4(%esp),%esi
5606	xorl	%ecx,%edx
5607	movl	8(%esp),%edi
5608	xorl	%edi,%esi
5609	shrdl	$5,%edx,%edx
5610	andl	%ecx,%esi
5611	movl	%ecx,(%esp)
5612	xorl	%ecx,%edx
5613	xorl	%esi,%edi
5614	shrdl	$6,%edx,%edx
5615	movl	%eax,%ecx
5616	addl	%edi,%edx
5617	movl	20(%esp),%edi
5618	movl	%eax,%esi
5619	shrdl	$9,%ecx,%ecx
5620	movl	%eax,16(%esp)
5621	xorl	%eax,%ecx
5622	xorl	%edi,%eax
5623	addl	12(%esp),%edx
5624	shrdl	$11,%ecx,%ecx
5625	andl	%eax,%ebx
5626	xorl	%esi,%ecx
5627	addl	80(%esp),%edx
5628	xorl	%edi,%ebx
5629	shrdl	$2,%ecx,%ecx
5630	addl	%edx,%ebx
5631	addl	28(%esp),%edx
5632	addl	%ecx,%ebx
5633	movl	%edx,%ecx
5634	shrdl	$14,%edx,%edx
5635	movl	(%esp),%esi
5636	xorl	%ecx,%edx
5637	movl	4(%esp),%edi
5638	xorl	%edi,%esi
5639	shrdl	$5,%edx,%edx
5640	andl	%ecx,%esi
5641	movl	%ecx,28(%esp)
5642	xorl	%ecx,%edx
5643	xorl	%esi,%edi
5644	shrdl	$6,%edx,%edx
5645	movl	%ebx,%ecx
5646	addl	%edi,%edx
5647	movl	16(%esp),%edi
5648	movl	%ebx,%esi
5649	shrdl	$9,%ecx,%ecx
5650	movl	%ebx,12(%esp)
5651	xorl	%ebx,%ecx
5652	xorl	%edi,%ebx
5653	addl	8(%esp),%edx
5654	shrdl	$11,%ecx,%ecx
5655	andl	%ebx,%eax
5656	xorl	%esi,%ecx
5657	addl	84(%esp),%edx
5658	xorl	%edi,%eax
5659	shrdl	$2,%ecx,%ecx
5660	addl	%edx,%eax
5661	addl	24(%esp),%edx
5662	addl	%ecx,%eax
5663	movl	%edx,%ecx
5664	shrdl	$14,%edx,%edx
5665	movl	28(%esp),%esi
5666	xorl	%ecx,%edx
5667	movl	(%esp),%edi
5668	xorl	%edi,%esi
5669	shrdl	$5,%edx,%edx
5670	andl	%ecx,%esi
5671	movl	%ecx,24(%esp)
5672	xorl	%ecx,%edx
5673	xorl	%esi,%edi
5674	shrdl	$6,%edx,%edx
5675	movl	%eax,%ecx
5676	addl	%edi,%edx
5677	movl	12(%esp),%edi
5678	movl	%eax,%esi
5679	shrdl	$9,%ecx,%ecx
5680	movl	%eax,8(%esp)
5681	xorl	%eax,%ecx
5682	xorl	%edi,%eax
5683	addl	4(%esp),%edx
5684	shrdl	$11,%ecx,%ecx
5685	andl	%eax,%ebx
5686	xorl	%esi,%ecx
5687	addl	88(%esp),%edx
5688	xorl	%edi,%ebx
5689	shrdl	$2,%ecx,%ecx
5690	addl	%edx,%ebx
5691	addl	20(%esp),%edx
5692	addl	%ecx,%ebx
5693	movl	%edx,%ecx
5694	shrdl	$14,%edx,%edx
5695	movl	24(%esp),%esi
5696	xorl	%ecx,%edx
5697	movl	28(%esp),%edi
5698	xorl	%edi,%esi
5699	shrdl	$5,%edx,%edx
5700	andl	%ecx,%esi
5701	movl	%ecx,20(%esp)
5702	xorl	%ecx,%edx
5703	xorl	%esi,%edi
5704	shrdl	$6,%edx,%edx
5705	movl	%ebx,%ecx
5706	addl	%edi,%edx
5707	movl	8(%esp),%edi
5708	movl	%ebx,%esi
5709	shrdl	$9,%ecx,%ecx
5710	movl	%ebx,4(%esp)
5711	xorl	%ebx,%ecx
5712	xorl	%edi,%ebx
5713	addl	(%esp),%edx
5714	shrdl	$11,%ecx,%ecx
5715	andl	%ebx,%eax
5716	xorl	%esi,%ecx
5717	addl	92(%esp),%edx
5718	xorl	%edi,%eax
5719	shrdl	$2,%ecx,%ecx
5720	addl	%edx,%eax
5721	addl	16(%esp),%edx
5722	addl	%ecx,%eax
5723	movl	96(%esp),%esi
5724	xorl	%edi,%ebx
5725	movl	12(%esp),%ecx
5726	addl	(%esi),%eax
5727	addl	4(%esi),%ebx
5728	addl	8(%esi),%edi
5729	addl	12(%esi),%ecx
5730	movl	%eax,(%esi)
5731	movl	%ebx,4(%esi)
5732	movl	%edi,8(%esi)
5733	movl	%ecx,12(%esi)
5734	movl	%ebx,4(%esp)
5735	xorl	%edi,%ebx
5736	movl	%edi,8(%esp)
5737	movl	%ecx,12(%esp)
5738	movl	20(%esp),%edi
5739	movl	24(%esp),%ecx
5740	addl	16(%esi),%edx
5741	addl	20(%esi),%edi
5742	addl	24(%esi),%ecx
5743	movl	%edx,16(%esi)
5744	movl	%edi,20(%esi)
5745	movl	%edi,20(%esp)
5746	movl	28(%esp),%edi
5747	movl	%ecx,24(%esi)
5748	addl	28(%esi),%edi
5749	movl	%ecx,24(%esp)
5750	movl	%edi,28(%esi)
5751	movl	%edi,28(%esp)
5752	movl	100(%esp),%edi
5753	vmovdqa	64(%ebp),%xmm7
5754	subl	$192,%ebp
5755	cmpl	104(%esp),%edi
5756	jb	.L015grand_avx
5757	movl	108(%esp),%esp
5758	vzeroall
5759	popl	%edi
5760	popl	%esi
5761	popl	%ebx
5762	popl	%ebp
5763	ret
5764.align	32
5765.L014AVX_BMI:
5766	leal	-96(%esp),%esp
5767	vzeroall
5768	movl	(%esi),%eax
5769	movl	4(%esi),%ebx
5770	movl	8(%esi),%ecx
5771	movl	12(%esi),%edi
5772	movl	%ebx,4(%esp)
5773	xorl	%ecx,%ebx
5774	movl	%ecx,8(%esp)
5775	movl	%edi,12(%esp)
5776	movl	16(%esi),%edx
5777	movl	20(%esi),%edi
5778	movl	24(%esi),%ecx
5779	movl	28(%esi),%esi
5780	movl	%edi,20(%esp)
5781	movl	100(%esp),%edi
5782	movl	%ecx,24(%esp)
5783	movl	%esi,28(%esp)
5784	vmovdqa	256(%ebp),%xmm7
5785	jmp	.L017grand_avx_bmi
5786.align	32
5787.L017grand_avx_bmi:
5788	vmovdqu	(%edi),%xmm0
5789	vmovdqu	16(%edi),%xmm1
5790	vmovdqu	32(%edi),%xmm2
5791	vmovdqu	48(%edi),%xmm3
5792	addl	$64,%edi
5793	vpshufb	%xmm7,%xmm0,%xmm0
5794	movl	%edi,100(%esp)
5795	vpshufb	%xmm7,%xmm1,%xmm1
5796	vpshufb	%xmm7,%xmm2,%xmm2
5797	vpaddd	(%ebp),%xmm0,%xmm4
5798	vpshufb	%xmm7,%xmm3,%xmm3
5799	vpaddd	16(%ebp),%xmm1,%xmm5
5800	vpaddd	32(%ebp),%xmm2,%xmm6
5801	vpaddd	48(%ebp),%xmm3,%xmm7
5802	vmovdqa	%xmm4,32(%esp)
5803	vmovdqa	%xmm5,48(%esp)
5804	vmovdqa	%xmm6,64(%esp)
5805	vmovdqa	%xmm7,80(%esp)
5806	jmp	.L018avx_bmi_00_47
5807.align	16
5808.L018avx_bmi_00_47:
5809	addl	$64,%ebp
5810	vpalignr	$4,%xmm0,%xmm1,%xmm4
5811	rorxl	$6,%edx,%ecx
5812	rorxl	$11,%edx,%esi
5813	movl	%edx,16(%esp)
5814	vpalignr	$4,%xmm2,%xmm3,%xmm7
5815	rorxl	$25,%edx,%edi
5816	xorl	%esi,%ecx
5817	andnl	24(%esp),%edx,%esi
5818	vpsrld	$7,%xmm4,%xmm6
5819	xorl	%edi,%ecx
5820	andl	20(%esp),%edx
5821	movl	%eax,(%esp)
5822	vpaddd	%xmm7,%xmm0,%xmm0
5823	orl	%esi,%edx
5824	rorxl	$2,%eax,%edi
5825	rorxl	$13,%eax,%esi
5826	vpsrld	$3,%xmm4,%xmm7
5827	leal	(%edx,%ecx,1),%edx
5828	rorxl	$22,%eax,%ecx
5829	xorl	%edi,%esi
5830	vpslld	$14,%xmm4,%xmm5
5831	movl	4(%esp),%edi
5832	xorl	%esi,%ecx
5833	xorl	%edi,%eax
5834	vpxor	%xmm6,%xmm7,%xmm4
5835	addl	28(%esp),%edx
5836	andl	%eax,%ebx
5837	addl	32(%esp),%edx
5838	vpshufd	$250,%xmm3,%xmm7
5839	xorl	%edi,%ebx
5840	addl	%edx,%ecx
5841	addl	12(%esp),%edx
5842	vpsrld	$11,%xmm6,%xmm6
5843	leal	(%ebx,%ecx,1),%ebx
5844	rorxl	$6,%edx,%ecx
5845	rorxl	$11,%edx,%esi
5846	vpxor	%xmm5,%xmm4,%xmm4
5847	movl	%edx,12(%esp)
5848	rorxl	$25,%edx,%edi
5849	xorl	%esi,%ecx
5850	vpslld	$11,%xmm5,%xmm5
5851	andnl	20(%esp),%edx,%esi
5852	xorl	%edi,%ecx
5853	andl	16(%esp),%edx
5854	vpxor	%xmm6,%xmm4,%xmm4
5855	movl	%ebx,28(%esp)
5856	orl	%esi,%edx
5857	rorxl	$2,%ebx,%edi
5858	rorxl	$13,%ebx,%esi
5859	vpsrld	$10,%xmm7,%xmm6
5860	leal	(%edx,%ecx,1),%edx
5861	rorxl	$22,%ebx,%ecx
5862	xorl	%edi,%esi
5863	vpxor	%xmm5,%xmm4,%xmm4
5864	movl	(%esp),%edi
5865	xorl	%esi,%ecx
5866	xorl	%edi,%ebx
5867	vpsrlq	$17,%xmm7,%xmm5
5868	addl	24(%esp),%edx
5869	andl	%ebx,%eax
5870	addl	36(%esp),%edx
5871	vpaddd	%xmm4,%xmm0,%xmm0
5872	xorl	%edi,%eax
5873	addl	%edx,%ecx
5874	addl	8(%esp),%edx
5875	vpxor	%xmm5,%xmm6,%xmm6
5876	leal	(%eax,%ecx,1),%eax
5877	rorxl	$6,%edx,%ecx
5878	rorxl	$11,%edx,%esi
5879	vpsrlq	$19,%xmm7,%xmm7
5880	movl	%edx,8(%esp)
5881	rorxl	$25,%edx,%edi
5882	xorl	%esi,%ecx
5883	vpxor	%xmm7,%xmm6,%xmm6
5884	andnl	16(%esp),%edx,%esi
5885	xorl	%edi,%ecx
5886	andl	12(%esp),%edx
5887	vpshufd	$132,%xmm6,%xmm7
5888	movl	%eax,24(%esp)
5889	orl	%esi,%edx
5890	rorxl	$2,%eax,%edi
5891	rorxl	$13,%eax,%esi
5892	vpsrldq	$8,%xmm7,%xmm7
5893	leal	(%edx,%ecx,1),%edx
5894	rorxl	$22,%eax,%ecx
5895	xorl	%edi,%esi
5896	vpaddd	%xmm7,%xmm0,%xmm0
5897	movl	28(%esp),%edi
5898	xorl	%esi,%ecx
5899	xorl	%edi,%eax
5900	vpshufd	$80,%xmm0,%xmm7
5901	addl	20(%esp),%edx
5902	andl	%eax,%ebx
5903	addl	40(%esp),%edx
5904	vpsrld	$10,%xmm7,%xmm6
5905	xorl	%edi,%ebx
5906	addl	%edx,%ecx
5907	addl	4(%esp),%edx
5908	vpsrlq	$17,%xmm7,%xmm5
5909	leal	(%ebx,%ecx,1),%ebx
5910	rorxl	$6,%edx,%ecx
5911	rorxl	$11,%edx,%esi
5912	vpxor	%xmm5,%xmm6,%xmm6
5913	movl	%edx,4(%esp)
5914	rorxl	$25,%edx,%edi
5915	xorl	%esi,%ecx
5916	vpsrlq	$19,%xmm7,%xmm7
5917	andnl	12(%esp),%edx,%esi
5918	xorl	%edi,%ecx
5919	andl	8(%esp),%edx
5920	vpxor	%xmm7,%xmm6,%xmm6
5921	movl	%ebx,20(%esp)
5922	orl	%esi,%edx
5923	rorxl	$2,%ebx,%edi
5924	rorxl	$13,%ebx,%esi
5925	vpshufd	$232,%xmm6,%xmm7
5926	leal	(%edx,%ecx,1),%edx
5927	rorxl	$22,%ebx,%ecx
5928	xorl	%edi,%esi
5929	vpslldq	$8,%xmm7,%xmm7
5930	movl	24(%esp),%edi
5931	xorl	%esi,%ecx
5932	xorl	%edi,%ebx
5933	vpaddd	%xmm7,%xmm0,%xmm0
5934	addl	16(%esp),%edx
5935	andl	%ebx,%eax
5936	addl	44(%esp),%edx
5937	vpaddd	(%ebp),%xmm0,%xmm6
5938	xorl	%edi,%eax
5939	addl	%edx,%ecx
5940	addl	(%esp),%edx
5941	leal	(%eax,%ecx,1),%eax
5942	vmovdqa	%xmm6,32(%esp)
5943	vpalignr	$4,%xmm1,%xmm2,%xmm4
5944	rorxl	$6,%edx,%ecx
5945	rorxl	$11,%edx,%esi
5946	movl	%edx,(%esp)
5947	vpalignr	$4,%xmm3,%xmm0,%xmm7
5948	rorxl	$25,%edx,%edi
5949	xorl	%esi,%ecx
5950	andnl	8(%esp),%edx,%esi
5951	vpsrld	$7,%xmm4,%xmm6
5952	xorl	%edi,%ecx
5953	andl	4(%esp),%edx
5954	movl	%eax,16(%esp)
5955	vpaddd	%xmm7,%xmm1,%xmm1
5956	orl	%esi,%edx
5957	rorxl	$2,%eax,%edi
5958	rorxl	$13,%eax,%esi
5959	vpsrld	$3,%xmm4,%xmm7
5960	leal	(%edx,%ecx,1),%edx
5961	rorxl	$22,%eax,%ecx
5962	xorl	%edi,%esi
5963	vpslld	$14,%xmm4,%xmm5
5964	movl	20(%esp),%edi
5965	xorl	%esi,%ecx
5966	xorl	%edi,%eax
5967	vpxor	%xmm6,%xmm7,%xmm4
5968	addl	12(%esp),%edx
5969	andl	%eax,%ebx
5970	addl	48(%esp),%edx
5971	vpshufd	$250,%xmm0,%xmm7
5972	xorl	%edi,%ebx
5973	addl	%edx,%ecx
5974	addl	28(%esp),%edx
5975	vpsrld	$11,%xmm6,%xmm6
5976	leal	(%ebx,%ecx,1),%ebx
5977	rorxl	$6,%edx,%ecx
5978	rorxl	$11,%edx,%esi
5979	vpxor	%xmm5,%xmm4,%xmm4
5980	movl	%edx,28(%esp)
5981	rorxl	$25,%edx,%edi
5982	xorl	%esi,%ecx
5983	vpslld	$11,%xmm5,%xmm5
5984	andnl	4(%esp),%edx,%esi
5985	xorl	%edi,%ecx
5986	andl	(%esp),%edx
5987	vpxor	%xmm6,%xmm4,%xmm4
5988	movl	%ebx,12(%esp)
5989	orl	%esi,%edx
5990	rorxl	$2,%ebx,%edi
5991	rorxl	$13,%ebx,%esi
5992	vpsrld	$10,%xmm7,%xmm6
5993	leal	(%edx,%ecx,1),%edx
5994	rorxl	$22,%ebx,%ecx
5995	xorl	%edi,%esi
5996	vpxor	%xmm5,%xmm4,%xmm4
5997	movl	16(%esp),%edi
5998	xorl	%esi,%ecx
5999	xorl	%edi,%ebx
6000	vpsrlq	$17,%xmm7,%xmm5
6001	addl	8(%esp),%edx
6002	andl	%ebx,%eax
6003	addl	52(%esp),%edx
6004	vpaddd	%xmm4,%xmm1,%xmm1
6005	xorl	%edi,%eax
6006	addl	%edx,%ecx
6007	addl	24(%esp),%edx
6008	vpxor	%xmm5,%xmm6,%xmm6
6009	leal	(%eax,%ecx,1),%eax
6010	rorxl	$6,%edx,%ecx
6011	rorxl	$11,%edx,%esi
6012	vpsrlq	$19,%xmm7,%xmm7
6013	movl	%edx,24(%esp)
6014	rorxl	$25,%edx,%edi
6015	xorl	%esi,%ecx
6016	vpxor	%xmm7,%xmm6,%xmm6
6017	andnl	(%esp),%edx,%esi
6018	xorl	%edi,%ecx
6019	andl	28(%esp),%edx
6020	vpshufd	$132,%xmm6,%xmm7
6021	movl	%eax,8(%esp)
6022	orl	%esi,%edx
6023	rorxl	$2,%eax,%edi
6024	rorxl	$13,%eax,%esi
6025	vpsrldq	$8,%xmm7,%xmm7
6026	leal	(%edx,%ecx,1),%edx
6027	rorxl	$22,%eax,%ecx
6028	xorl	%edi,%esi
6029	vpaddd	%xmm7,%xmm1,%xmm1
6030	movl	12(%esp),%edi
6031	xorl	%esi,%ecx
6032	xorl	%edi,%eax
6033	vpshufd	$80,%xmm1,%xmm7
6034	addl	4(%esp),%edx
6035	andl	%eax,%ebx
6036	addl	56(%esp),%edx
6037	vpsrld	$10,%xmm7,%xmm6
6038	xorl	%edi,%ebx
6039	addl	%edx,%ecx
6040	addl	20(%esp),%edx
6041	vpsrlq	$17,%xmm7,%xmm5
6042	leal	(%ebx,%ecx,1),%ebx
6043	rorxl	$6,%edx,%ecx
6044	rorxl	$11,%edx,%esi
6045	vpxor	%xmm5,%xmm6,%xmm6
6046	movl	%edx,20(%esp)
6047	rorxl	$25,%edx,%edi
6048	xorl	%esi,%ecx
6049	vpsrlq	$19,%xmm7,%xmm7
6050	andnl	28(%esp),%edx,%esi
6051	xorl	%edi,%ecx
6052	andl	24(%esp),%edx
6053	vpxor	%xmm7,%xmm6,%xmm6
6054	movl	%ebx,4(%esp)
6055	orl	%esi,%edx
6056	rorxl	$2,%ebx,%edi
6057	rorxl	$13,%ebx,%esi
6058	vpshufd	$232,%xmm6,%xmm7
6059	leal	(%edx,%ecx,1),%edx
6060	rorxl	$22,%ebx,%ecx
6061	xorl	%edi,%esi
6062	vpslldq	$8,%xmm7,%xmm7
6063	movl	8(%esp),%edi
6064	xorl	%esi,%ecx
6065	xorl	%edi,%ebx
6066	vpaddd	%xmm7,%xmm1,%xmm1
6067	addl	(%esp),%edx
6068	andl	%ebx,%eax
6069	addl	60(%esp),%edx
6070	vpaddd	16(%ebp),%xmm1,%xmm6
6071	xorl	%edi,%eax
6072	addl	%edx,%ecx
6073	addl	16(%esp),%edx
6074	leal	(%eax,%ecx,1),%eax
6075	vmovdqa	%xmm6,48(%esp)
6076	vpalignr	$4,%xmm2,%xmm3,%xmm4
6077	rorxl	$6,%edx,%ecx
6078	rorxl	$11,%edx,%esi
6079	movl	%edx,16(%esp)
6080	vpalignr	$4,%xmm0,%xmm1,%xmm7
6081	rorxl	$25,%edx,%edi
6082	xorl	%esi,%ecx
6083	andnl	24(%esp),%edx,%esi
6084	vpsrld	$7,%xmm4,%xmm6
6085	xorl	%edi,%ecx
6086	andl	20(%esp),%edx
6087	movl	%eax,(%esp)
6088	vpaddd	%xmm7,%xmm2,%xmm2
6089	orl	%esi,%edx
6090	rorxl	$2,%eax,%edi
6091	rorxl	$13,%eax,%esi
6092	vpsrld	$3,%xmm4,%xmm7
6093	leal	(%edx,%ecx,1),%edx
6094	rorxl	$22,%eax,%ecx
6095	xorl	%edi,%esi
6096	vpslld	$14,%xmm4,%xmm5
6097	movl	4(%esp),%edi
6098	xorl	%esi,%ecx
6099	xorl	%edi,%eax
6100	vpxor	%xmm6,%xmm7,%xmm4
6101	addl	28(%esp),%edx
6102	andl	%eax,%ebx
6103	addl	64(%esp),%edx
6104	vpshufd	$250,%xmm1,%xmm7
6105	xorl	%edi,%ebx
6106	addl	%edx,%ecx
6107	addl	12(%esp),%edx
6108	vpsrld	$11,%xmm6,%xmm6
6109	leal	(%ebx,%ecx,1),%ebx
6110	rorxl	$6,%edx,%ecx
6111	rorxl	$11,%edx,%esi
6112	vpxor	%xmm5,%xmm4,%xmm4
6113	movl	%edx,12(%esp)
6114	rorxl	$25,%edx,%edi
6115	xorl	%esi,%ecx
6116	vpslld	$11,%xmm5,%xmm5
6117	andnl	20(%esp),%edx,%esi
6118	xorl	%edi,%ecx
6119	andl	16(%esp),%edx
6120	vpxor	%xmm6,%xmm4,%xmm4
6121	movl	%ebx,28(%esp)
6122	orl	%esi,%edx
6123	rorxl	$2,%ebx,%edi
6124	rorxl	$13,%ebx,%esi
6125	vpsrld	$10,%xmm7,%xmm6
6126	leal	(%edx,%ecx,1),%edx
6127	rorxl	$22,%ebx,%ecx
6128	xorl	%edi,%esi
6129	vpxor	%xmm5,%xmm4,%xmm4
6130	movl	(%esp),%edi
6131	xorl	%esi,%ecx
6132	xorl	%edi,%ebx
6133	vpsrlq	$17,%xmm7,%xmm5
6134	addl	24(%esp),%edx
6135	andl	%ebx,%eax
6136	addl	68(%esp),%edx
6137	vpaddd	%xmm4,%xmm2,%xmm2
6138	xorl	%edi,%eax
6139	addl	%edx,%ecx
6140	addl	8(%esp),%edx
6141	vpxor	%xmm5,%xmm6,%xmm6
6142	leal	(%eax,%ecx,1),%eax
6143	rorxl	$6,%edx,%ecx
6144	rorxl	$11,%edx,%esi
6145	vpsrlq	$19,%xmm7,%xmm7
6146	movl	%edx,8(%esp)
6147	rorxl	$25,%edx,%edi
6148	xorl	%esi,%ecx
6149	vpxor	%xmm7,%xmm6,%xmm6
6150	andnl	16(%esp),%edx,%esi
6151	xorl	%edi,%ecx
6152	andl	12(%esp),%edx
6153	vpshufd	$132,%xmm6,%xmm7
6154	movl	%eax,24(%esp)
6155	orl	%esi,%edx
6156	rorxl	$2,%eax,%edi
6157	rorxl	$13,%eax,%esi
6158	vpsrldq	$8,%xmm7,%xmm7
6159	leal	(%edx,%ecx,1),%edx
6160	rorxl	$22,%eax,%ecx
6161	xorl	%edi,%esi
6162	vpaddd	%xmm7,%xmm2,%xmm2
6163	movl	28(%esp),%edi
6164	xorl	%esi,%ecx
6165	xorl	%edi,%eax
6166	vpshufd	$80,%xmm2,%xmm7
6167	addl	20(%esp),%edx
6168	andl	%eax,%ebx
6169	addl	72(%esp),%edx
6170	vpsrld	$10,%xmm7,%xmm6
6171	xorl	%edi,%ebx
6172	addl	%edx,%ecx
6173	addl	4(%esp),%edx
6174	vpsrlq	$17,%xmm7,%xmm5
6175	leal	(%ebx,%ecx,1),%ebx
6176	rorxl	$6,%edx,%ecx
6177	rorxl	$11,%edx,%esi
6178	vpxor	%xmm5,%xmm6,%xmm6
6179	movl	%edx,4(%esp)
6180	rorxl	$25,%edx,%edi
6181	xorl	%esi,%ecx
6182	vpsrlq	$19,%xmm7,%xmm7
6183	andnl	12(%esp),%edx,%esi
6184	xorl	%edi,%ecx
6185	andl	8(%esp),%edx
6186	vpxor	%xmm7,%xmm6,%xmm6
6187	movl	%ebx,20(%esp)
6188	orl	%esi,%edx
6189	rorxl	$2,%ebx,%edi
6190	rorxl	$13,%ebx,%esi
6191	vpshufd	$232,%xmm6,%xmm7
6192	leal	(%edx,%ecx,1),%edx
6193	rorxl	$22,%ebx,%ecx
6194	xorl	%edi,%esi
6195	vpslldq	$8,%xmm7,%xmm7
6196	movl	24(%esp),%edi
6197	xorl	%esi,%ecx
6198	xorl	%edi,%ebx
6199	vpaddd	%xmm7,%xmm2,%xmm2
6200	addl	16(%esp),%edx
6201	andl	%ebx,%eax
6202	addl	76(%esp),%edx
6203	vpaddd	32(%ebp),%xmm2,%xmm6
6204	xorl	%edi,%eax
6205	addl	%edx,%ecx
6206	addl	(%esp),%edx
6207	leal	(%eax,%ecx,1),%eax
6208	vmovdqa	%xmm6,64(%esp)
6209	vpalignr	$4,%xmm3,%xmm0,%xmm4
6210	rorxl	$6,%edx,%ecx
6211	rorxl	$11,%edx,%esi
6212	movl	%edx,(%esp)
6213	vpalignr	$4,%xmm1,%xmm2,%xmm7
6214	rorxl	$25,%edx,%edi
6215	xorl	%esi,%ecx
6216	andnl	8(%esp),%edx,%esi
6217	vpsrld	$7,%xmm4,%xmm6
6218	xorl	%edi,%ecx
6219	andl	4(%esp),%edx
6220	movl	%eax,16(%esp)
6221	vpaddd	%xmm7,%xmm3,%xmm3
6222	orl	%esi,%edx
6223	rorxl	$2,%eax,%edi
6224	rorxl	$13,%eax,%esi
6225	vpsrld	$3,%xmm4,%xmm7
6226	leal	(%edx,%ecx,1),%edx
6227	rorxl	$22,%eax,%ecx
6228	xorl	%edi,%esi
6229	vpslld	$14,%xmm4,%xmm5
6230	movl	20(%esp),%edi
6231	xorl	%esi,%ecx
6232	xorl	%edi,%eax
6233	vpxor	%xmm6,%xmm7,%xmm4
6234	addl	12(%esp),%edx
6235	andl	%eax,%ebx
6236	addl	80(%esp),%edx
6237	vpshufd	$250,%xmm2,%xmm7
6238	xorl	%edi,%ebx
6239	addl	%edx,%ecx
6240	addl	28(%esp),%edx
6241	vpsrld	$11,%xmm6,%xmm6
6242	leal	(%ebx,%ecx,1),%ebx
6243	rorxl	$6,%edx,%ecx
6244	rorxl	$11,%edx,%esi
6245	vpxor	%xmm5,%xmm4,%xmm4
6246	movl	%edx,28(%esp)
6247	rorxl	$25,%edx,%edi
6248	xorl	%esi,%ecx
6249	vpslld	$11,%xmm5,%xmm5
6250	andnl	4(%esp),%edx,%esi
6251	xorl	%edi,%ecx
6252	andl	(%esp),%edx
6253	vpxor	%xmm6,%xmm4,%xmm4
6254	movl	%ebx,12(%esp)
6255	orl	%esi,%edx
6256	rorxl	$2,%ebx,%edi
6257	rorxl	$13,%ebx,%esi
6258	vpsrld	$10,%xmm7,%xmm6
6259	leal	(%edx,%ecx,1),%edx
6260	rorxl	$22,%ebx,%ecx
6261	xorl	%edi,%esi
6262	vpxor	%xmm5,%xmm4,%xmm4
6263	movl	16(%esp),%edi
6264	xorl	%esi,%ecx
6265	xorl	%edi,%ebx
6266	vpsrlq	$17,%xmm7,%xmm5
6267	addl	8(%esp),%edx
6268	andl	%ebx,%eax
6269	addl	84(%esp),%edx
6270	vpaddd	%xmm4,%xmm3,%xmm3
6271	xorl	%edi,%eax
6272	addl	%edx,%ecx
6273	addl	24(%esp),%edx
6274	vpxor	%xmm5,%xmm6,%xmm6
6275	leal	(%eax,%ecx,1),%eax
6276	rorxl	$6,%edx,%ecx
6277	rorxl	$11,%edx,%esi
6278	vpsrlq	$19,%xmm7,%xmm7
6279	movl	%edx,24(%esp)
6280	rorxl	$25,%edx,%edi
6281	xorl	%esi,%ecx
6282	vpxor	%xmm7,%xmm6,%xmm6
6283	andnl	(%esp),%edx,%esi
6284	xorl	%edi,%ecx
6285	andl	28(%esp),%edx
6286	vpshufd	$132,%xmm6,%xmm7
6287	movl	%eax,8(%esp)
6288	orl	%esi,%edx
6289	rorxl	$2,%eax,%edi
6290	rorxl	$13,%eax,%esi
6291	vpsrldq	$8,%xmm7,%xmm7
6292	leal	(%edx,%ecx,1),%edx
6293	rorxl	$22,%eax,%ecx
6294	xorl	%edi,%esi
6295	vpaddd	%xmm7,%xmm3,%xmm3
6296	movl	12(%esp),%edi
6297	xorl	%esi,%ecx
6298	xorl	%edi,%eax
6299	vpshufd	$80,%xmm3,%xmm7
6300	addl	4(%esp),%edx
6301	andl	%eax,%ebx
6302	addl	88(%esp),%edx
6303	vpsrld	$10,%xmm7,%xmm6
6304	xorl	%edi,%ebx
6305	addl	%edx,%ecx
6306	addl	20(%esp),%edx
6307	vpsrlq	$17,%xmm7,%xmm5
6308	leal	(%ebx,%ecx,1),%ebx
6309	rorxl	$6,%edx,%ecx
6310	rorxl	$11,%edx,%esi
6311	vpxor	%xmm5,%xmm6,%xmm6
6312	movl	%edx,20(%esp)
6313	rorxl	$25,%edx,%edi
6314	xorl	%esi,%ecx
6315	vpsrlq	$19,%xmm7,%xmm7
6316	andnl	28(%esp),%edx,%esi
6317	xorl	%edi,%ecx
6318	andl	24(%esp),%edx
6319	vpxor	%xmm7,%xmm6,%xmm6
6320	movl	%ebx,4(%esp)
6321	orl	%esi,%edx
6322	rorxl	$2,%ebx,%edi
6323	rorxl	$13,%ebx,%esi
6324	vpshufd	$232,%xmm6,%xmm7
6325	leal	(%edx,%ecx,1),%edx
6326	rorxl	$22,%ebx,%ecx
6327	xorl	%edi,%esi
6328	vpslldq	$8,%xmm7,%xmm7
6329	movl	8(%esp),%edi
6330	xorl	%esi,%ecx
6331	xorl	%edi,%ebx
6332	vpaddd	%xmm7,%xmm3,%xmm3
6333	addl	(%esp),%edx
6334	andl	%ebx,%eax
6335	addl	92(%esp),%edx
6336	vpaddd	48(%ebp),%xmm3,%xmm6
6337	xorl	%edi,%eax
6338	addl	%edx,%ecx
6339	addl	16(%esp),%edx
6340	leal	(%eax,%ecx,1),%eax
6341	vmovdqa	%xmm6,80(%esp)
6342	cmpl	$66051,64(%ebp)
6343	jne	.L018avx_bmi_00_47
6344	rorxl	$6,%edx,%ecx
6345	rorxl	$11,%edx,%esi
6346	movl	%edx,16(%esp)
6347	rorxl	$25,%edx,%edi
6348	xorl	%esi,%ecx
6349	andnl	24(%esp),%edx,%esi
6350	xorl	%edi,%ecx
6351	andl	20(%esp),%edx
6352	movl	%eax,(%esp)
6353	orl	%esi,%edx
6354	rorxl	$2,%eax,%edi
6355	rorxl	$13,%eax,%esi
6356	leal	(%edx,%ecx,1),%edx
6357	rorxl	$22,%eax,%ecx
6358	xorl	%edi,%esi
6359	movl	4(%esp),%edi
6360	xorl	%esi,%ecx
6361	xorl	%edi,%eax
6362	addl	28(%esp),%edx
6363	andl	%eax,%ebx
6364	addl	32(%esp),%edx
6365	xorl	%edi,%ebx
6366	addl	%edx,%ecx
6367	addl	12(%esp),%edx
6368	leal	(%ebx,%ecx,1),%ebx
6369	rorxl	$6,%edx,%ecx
6370	rorxl	$11,%edx,%esi
6371	movl	%edx,12(%esp)
6372	rorxl	$25,%edx,%edi
6373	xorl	%esi,%ecx
6374	andnl	20(%esp),%edx,%esi
6375	xorl	%edi,%ecx
6376	andl	16(%esp),%edx
6377	movl	%ebx,28(%esp)
6378	orl	%esi,%edx
6379	rorxl	$2,%ebx,%edi
6380	rorxl	$13,%ebx,%esi
6381	leal	(%edx,%ecx,1),%edx
6382	rorxl	$22,%ebx,%ecx
6383	xorl	%edi,%esi
6384	movl	(%esp),%edi
6385	xorl	%esi,%ecx
6386	xorl	%edi,%ebx
6387	addl	24(%esp),%edx
6388	andl	%ebx,%eax
6389	addl	36(%esp),%edx
6390	xorl	%edi,%eax
6391	addl	%edx,%ecx
6392	addl	8(%esp),%edx
6393	leal	(%eax,%ecx,1),%eax
6394	rorxl	$6,%edx,%ecx
6395	rorxl	$11,%edx,%esi
6396	movl	%edx,8(%esp)
6397	rorxl	$25,%edx,%edi
6398	xorl	%esi,%ecx
6399	andnl	16(%esp),%edx,%esi
6400	xorl	%edi,%ecx
6401	andl	12(%esp),%edx
6402	movl	%eax,24(%esp)
6403	orl	%esi,%edx
6404	rorxl	$2,%eax,%edi
6405	rorxl	$13,%eax,%esi
6406	leal	(%edx,%ecx,1),%edx
6407	rorxl	$22,%eax,%ecx
6408	xorl	%edi,%esi
6409	movl	28(%esp),%edi
6410	xorl	%esi,%ecx
6411	xorl	%edi,%eax
6412	addl	20(%esp),%edx
6413	andl	%eax,%ebx
6414	addl	40(%esp),%edx
6415	xorl	%edi,%ebx
6416	addl	%edx,%ecx
6417	addl	4(%esp),%edx
6418	leal	(%ebx,%ecx,1),%ebx
6419	rorxl	$6,%edx,%ecx
6420	rorxl	$11,%edx,%esi
6421	movl	%edx,4(%esp)
6422	rorxl	$25,%edx,%edi
6423	xorl	%esi,%ecx
6424	andnl	12(%esp),%edx,%esi
6425	xorl	%edi,%ecx
6426	andl	8(%esp),%edx
6427	movl	%ebx,20(%esp)
6428	orl	%esi,%edx
6429	rorxl	$2,%ebx,%edi
6430	rorxl	$13,%ebx,%esi
6431	leal	(%edx,%ecx,1),%edx
6432	rorxl	$22,%ebx,%ecx
6433	xorl	%edi,%esi
6434	movl	24(%esp),%edi
6435	xorl	%esi,%ecx
6436	xorl	%edi,%ebx
6437	addl	16(%esp),%edx
6438	andl	%ebx,%eax
6439	addl	44(%esp),%edx
6440	xorl	%edi,%eax
6441	addl	%edx,%ecx
6442	addl	(%esp),%edx
6443	leal	(%eax,%ecx,1),%eax
6444	rorxl	$6,%edx,%ecx
6445	rorxl	$11,%edx,%esi
6446	movl	%edx,(%esp)
6447	rorxl	$25,%edx,%edi
6448	xorl	%esi,%ecx
6449	andnl	8(%esp),%edx,%esi
6450	xorl	%edi,%ecx
6451	andl	4(%esp),%edx
6452	movl	%eax,16(%esp)
6453	orl	%esi,%edx
6454	rorxl	$2,%eax,%edi
6455	rorxl	$13,%eax,%esi
6456	leal	(%edx,%ecx,1),%edx
6457	rorxl	$22,%eax,%ecx
6458	xorl	%edi,%esi
6459	movl	20(%esp),%edi
6460	xorl	%esi,%ecx
6461	xorl	%edi,%eax
6462	addl	12(%esp),%edx
6463	andl	%eax,%ebx
6464	addl	48(%esp),%edx
6465	xorl	%edi,%ebx
6466	addl	%edx,%ecx
6467	addl	28(%esp),%edx
6468	leal	(%ebx,%ecx,1),%ebx
6469	rorxl	$6,%edx,%ecx
6470	rorxl	$11,%edx,%esi
6471	movl	%edx,28(%esp)
6472	rorxl	$25,%edx,%edi
6473	xorl	%esi,%ecx
6474	andnl	4(%esp),%edx,%esi
6475	xorl	%edi,%ecx
6476	andl	(%esp),%edx
6477	movl	%ebx,12(%esp)
6478	orl	%esi,%edx
6479	rorxl	$2,%ebx,%edi
6480	rorxl	$13,%ebx,%esi
6481	leal	(%edx,%ecx,1),%edx
6482	rorxl	$22,%ebx,%ecx
6483	xorl	%edi,%esi
6484	movl	16(%esp),%edi
6485	xorl	%esi,%ecx
6486	xorl	%edi,%ebx
6487	addl	8(%esp),%edx
6488	andl	%ebx,%eax
6489	addl	52(%esp),%edx
6490	xorl	%edi,%eax
6491	addl	%edx,%ecx
6492	addl	24(%esp),%edx
6493	leal	(%eax,%ecx,1),%eax
6494	rorxl	$6,%edx,%ecx
6495	rorxl	$11,%edx,%esi
6496	movl	%edx,24(%esp)
6497	rorxl	$25,%edx,%edi
6498	xorl	%esi,%ecx
6499	andnl	(%esp),%edx,%esi
6500	xorl	%edi,%ecx
6501	andl	28(%esp),%edx
6502	movl	%eax,8(%esp)
6503	orl	%esi,%edx
6504	rorxl	$2,%eax,%edi
6505	rorxl	$13,%eax,%esi
6506	leal	(%edx,%ecx,1),%edx
6507	rorxl	$22,%eax,%ecx
6508	xorl	%edi,%esi
6509	movl	12(%esp),%edi
6510	xorl	%esi,%ecx
6511	xorl	%edi,%eax
6512	addl	4(%esp),%edx
6513	andl	%eax,%ebx
6514	addl	56(%esp),%edx
6515	xorl	%edi,%ebx
6516	addl	%edx,%ecx
6517	addl	20(%esp),%edx
6518	leal	(%ebx,%ecx,1),%ebx
6519	rorxl	$6,%edx,%ecx
6520	rorxl	$11,%edx,%esi
6521	movl	%edx,20(%esp)
6522	rorxl	$25,%edx,%edi
6523	xorl	%esi,%ecx
6524	andnl	28(%esp),%edx,%esi
6525	xorl	%edi,%ecx
6526	andl	24(%esp),%edx
6527	movl	%ebx,4(%esp)
6528	orl	%esi,%edx
6529	rorxl	$2,%ebx,%edi
6530	rorxl	$13,%ebx,%esi
6531	leal	(%edx,%ecx,1),%edx
6532	rorxl	$22,%ebx,%ecx
6533	xorl	%edi,%esi
6534	movl	8(%esp),%edi
6535	xorl	%esi,%ecx
6536	xorl	%edi,%ebx
6537	addl	(%esp),%edx
6538	andl	%ebx,%eax
6539	addl	60(%esp),%edx
6540	xorl	%edi,%eax
6541	addl	%edx,%ecx
6542	addl	16(%esp),%edx
6543	leal	(%eax,%ecx,1),%eax
6544	rorxl	$6,%edx,%ecx
6545	rorxl	$11,%edx,%esi
6546	movl	%edx,16(%esp)
6547	rorxl	$25,%edx,%edi
6548	xorl	%esi,%ecx
6549	andnl	24(%esp),%edx,%esi
6550	xorl	%edi,%ecx
6551	andl	20(%esp),%edx
6552	movl	%eax,(%esp)
6553	orl	%esi,%edx
6554	rorxl	$2,%eax,%edi
6555	rorxl	$13,%eax,%esi
6556	leal	(%edx,%ecx,1),%edx
6557	rorxl	$22,%eax,%ecx
6558	xorl	%edi,%esi
6559	movl	4(%esp),%edi
6560	xorl	%esi,%ecx
6561	xorl	%edi,%eax
6562	addl	28(%esp),%edx
6563	andl	%eax,%ebx
6564	addl	64(%esp),%edx
6565	xorl	%edi,%ebx
6566	addl	%edx,%ecx
6567	addl	12(%esp),%edx
6568	leal	(%ebx,%ecx,1),%ebx
6569	rorxl	$6,%edx,%ecx
6570	rorxl	$11,%edx,%esi
6571	movl	%edx,12(%esp)
6572	rorxl	$25,%edx,%edi
6573	xorl	%esi,%ecx
6574	andnl	20(%esp),%edx,%esi
6575	xorl	%edi,%ecx
6576	andl	16(%esp),%edx
6577	movl	%ebx,28(%esp)
6578	orl	%esi,%edx
6579	rorxl	$2,%ebx,%edi
6580	rorxl	$13,%ebx,%esi
6581	leal	(%edx,%ecx,1),%edx
6582	rorxl	$22,%ebx,%ecx
6583	xorl	%edi,%esi
6584	movl	(%esp),%edi
6585	xorl	%esi,%ecx
6586	xorl	%edi,%ebx
6587	addl	24(%esp),%edx
6588	andl	%ebx,%eax
6589	addl	68(%esp),%edx
6590	xorl	%edi,%eax
6591	addl	%edx,%ecx
6592	addl	8(%esp),%edx
6593	leal	(%eax,%ecx,1),%eax
6594	rorxl	$6,%edx,%ecx
6595	rorxl	$11,%edx,%esi
6596	movl	%edx,8(%esp)
6597	rorxl	$25,%edx,%edi
6598	xorl	%esi,%ecx
6599	andnl	16(%esp),%edx,%esi
6600	xorl	%edi,%ecx
6601	andl	12(%esp),%edx
6602	movl	%eax,24(%esp)
6603	orl	%esi,%edx
6604	rorxl	$2,%eax,%edi
6605	rorxl	$13,%eax,%esi
6606	leal	(%edx,%ecx,1),%edx
6607	rorxl	$22,%eax,%ecx
6608	xorl	%edi,%esi
6609	movl	28(%esp),%edi
6610	xorl	%esi,%ecx
6611	xorl	%edi,%eax
6612	addl	20(%esp),%edx
6613	andl	%eax,%ebx
6614	addl	72(%esp),%edx
6615	xorl	%edi,%ebx
6616	addl	%edx,%ecx
6617	addl	4(%esp),%edx
6618	leal	(%ebx,%ecx,1),%ebx
6619	rorxl	$6,%edx,%ecx
6620	rorxl	$11,%edx,%esi
6621	movl	%edx,4(%esp)
6622	rorxl	$25,%edx,%edi
6623	xorl	%esi,%ecx
6624	andnl	12(%esp),%edx,%esi
6625	xorl	%edi,%ecx
6626	andl	8(%esp),%edx
6627	movl	%ebx,20(%esp)
6628	orl	%esi,%edx
6629	rorxl	$2,%ebx,%edi
6630	rorxl	$13,%ebx,%esi
6631	leal	(%edx,%ecx,1),%edx
6632	rorxl	$22,%ebx,%ecx
6633	xorl	%edi,%esi
6634	movl	24(%esp),%edi
6635	xorl	%esi,%ecx
6636	xorl	%edi,%ebx
6637	addl	16(%esp),%edx
6638	andl	%ebx,%eax
6639	addl	76(%esp),%edx
6640	xorl	%edi,%eax
6641	addl	%edx,%ecx
6642	addl	(%esp),%edx
6643	leal	(%eax,%ecx,1),%eax
6644	rorxl	$6,%edx,%ecx
6645	rorxl	$11,%edx,%esi
6646	movl	%edx,(%esp)
6647	rorxl	$25,%edx,%edi
6648	xorl	%esi,%ecx
6649	andnl	8(%esp),%edx,%esi
6650	xorl	%edi,%ecx
6651	andl	4(%esp),%edx
6652	movl	%eax,16(%esp)
6653	orl	%esi,%edx
6654	rorxl	$2,%eax,%edi
6655	rorxl	$13,%eax,%esi
6656	leal	(%edx,%ecx,1),%edx
6657	rorxl	$22,%eax,%ecx
6658	xorl	%edi,%esi
6659	movl	20(%esp),%edi
6660	xorl	%esi,%ecx
6661	xorl	%edi,%eax
6662	addl	12(%esp),%edx
6663	andl	%eax,%ebx
6664	addl	80(%esp),%edx
6665	xorl	%edi,%ebx
6666	addl	%edx,%ecx
6667	addl	28(%esp),%edx
6668	leal	(%ebx,%ecx,1),%ebx
6669	rorxl	$6,%edx,%ecx
6670	rorxl	$11,%edx,%esi
6671	movl	%edx,28(%esp)
6672	rorxl	$25,%edx,%edi
6673	xorl	%esi,%ecx
6674	andnl	4(%esp),%edx,%esi
6675	xorl	%edi,%ecx
6676	andl	(%esp),%edx
6677	movl	%ebx,12(%esp)
6678	orl	%esi,%edx
6679	rorxl	$2,%ebx,%edi
6680	rorxl	$13,%ebx,%esi
6681	leal	(%edx,%ecx,1),%edx
6682	rorxl	$22,%ebx,%ecx
6683	xorl	%edi,%esi
6684	movl	16(%esp),%edi
6685	xorl	%esi,%ecx
6686	xorl	%edi,%ebx
6687	addl	8(%esp),%edx
6688	andl	%ebx,%eax
6689	addl	84(%esp),%edx
6690	xorl	%edi,%eax
6691	addl	%edx,%ecx
6692	addl	24(%esp),%edx
6693	leal	(%eax,%ecx,1),%eax
6694	rorxl	$6,%edx,%ecx
6695	rorxl	$11,%edx,%esi
6696	movl	%edx,24(%esp)
6697	rorxl	$25,%edx,%edi
6698	xorl	%esi,%ecx
6699	andnl	(%esp),%edx,%esi
6700	xorl	%edi,%ecx
6701	andl	28(%esp),%edx
6702	movl	%eax,8(%esp)
6703	orl	%esi,%edx
6704	rorxl	$2,%eax,%edi
6705	rorxl	$13,%eax,%esi
6706	leal	(%edx,%ecx,1),%edx
6707	rorxl	$22,%eax,%ecx
6708	xorl	%edi,%esi
6709	movl	12(%esp),%edi
6710	xorl	%esi,%ecx
6711	xorl	%edi,%eax
6712	addl	4(%esp),%edx
6713	andl	%eax,%ebx
6714	addl	88(%esp),%edx
6715	xorl	%edi,%ebx
6716	addl	%edx,%ecx
6717	addl	20(%esp),%edx
6718	leal	(%ebx,%ecx,1),%ebx
6719	rorxl	$6,%edx,%ecx
6720	rorxl	$11,%edx,%esi
6721	movl	%edx,20(%esp)
6722	rorxl	$25,%edx,%edi
6723	xorl	%esi,%ecx
6724	andnl	28(%esp),%edx,%esi
6725	xorl	%edi,%ecx
6726	andl	24(%esp),%edx
6727	movl	%ebx,4(%esp)
6728	orl	%esi,%edx
6729	rorxl	$2,%ebx,%edi
6730	rorxl	$13,%ebx,%esi
6731	leal	(%edx,%ecx,1),%edx
6732	rorxl	$22,%ebx,%ecx
6733	xorl	%edi,%esi
6734	movl	8(%esp),%edi
6735	xorl	%esi,%ecx
6736	xorl	%edi,%ebx
6737	addl	(%esp),%edx
6738	andl	%ebx,%eax
6739	addl	92(%esp),%edx
6740	xorl	%edi,%eax
6741	addl	%edx,%ecx
6742	addl	16(%esp),%edx
6743	leal	(%eax,%ecx,1),%eax
6744	movl	96(%esp),%esi
6745	xorl	%edi,%ebx
6746	movl	12(%esp),%ecx
6747	addl	(%esi),%eax
6748	addl	4(%esi),%ebx
6749	addl	8(%esi),%edi
6750	addl	12(%esi),%ecx
6751	movl	%eax,(%esi)
6752	movl	%ebx,4(%esi)
6753	movl	%edi,8(%esi)
6754	movl	%ecx,12(%esi)
6755	movl	%ebx,4(%esp)
6756	xorl	%edi,%ebx
6757	movl	%edi,8(%esp)
6758	movl	%ecx,12(%esp)
6759	movl	20(%esp),%edi
6760	movl	24(%esp),%ecx
6761	addl	16(%esi),%edx
6762	addl	20(%esi),%edi
6763	addl	24(%esi),%ecx
6764	movl	%edx,16(%esi)
6765	movl	%edi,20(%esi)
6766	movl	%edi,20(%esp)
6767	movl	28(%esp),%edi
6768	movl	%ecx,24(%esi)
6769	addl	28(%esi),%edi
6770	movl	%ecx,24(%esp)
6771	movl	%edi,28(%esi)
6772	movl	%edi,28(%esp)
6773	movl	100(%esp),%edi
6774	vmovdqa	64(%ebp),%xmm7
6775	subl	$192,%ebp
6776	cmpl	104(%esp),%edi
6777	jb	.L017grand_avx_bmi
6778	movl	108(%esp),%esp
6779	vzeroall
6780	popl	%edi
6781	popl	%esi
6782	popl	%ebx
6783	popl	%ebp
6784	ret
6785.size	sha256_block_data_order,.-.L_sha256_block_data_order_begin
6786.comm	OPENSSL_ia32cap_P,16,4
6787#else
6788.file	"sha256-586.S"
6789.text
6790.globl	sha256_block_data_order
6791.type	sha256_block_data_order,@function
6792.align	16
6793sha256_block_data_order:
6794.L_sha256_block_data_order_begin:
6795	pushl	%ebp
6796	pushl	%ebx
6797	pushl	%esi
6798	pushl	%edi
6799	movl	20(%esp),%esi
6800	movl	24(%esp),%edi
6801	movl	28(%esp),%eax
6802	movl	%esp,%ebx
6803	call	.L000pic_point
6804.L000pic_point:
6805	popl	%ebp
6806	leal	.L001K256-.L000pic_point(%ebp),%ebp
6807	subl	$16,%esp
6808	andl	$-64,%esp
6809	shll	$6,%eax
6810	addl	%edi,%eax
6811	movl	%esi,(%esp)
6812	movl	%edi,4(%esp)
6813	movl	%eax,8(%esp)
6814	movl	%ebx,12(%esp)
6815	leal	OPENSSL_ia32cap_P,%edx
6816	movl	(%edx),%ecx
6817	movl	4(%edx),%ebx
6818	testl	$1048576,%ecx
6819	jnz	.L002loop
6820	movl	8(%edx),%edx
6821	testl	$16777216,%ecx
6822	jz	.L003no_xmm
6823	andl	$1073741824,%ecx
6824	andl	$268435968,%ebx
6825	testl	$536870912,%edx
6826	jnz	.L004shaext
6827	orl	%ebx,%ecx
6828	andl	$1342177280,%ecx
6829	cmpl	$1342177280,%ecx
6830	je	.L005AVX
6831	testl	$512,%ebx
6832	jnz	.L006SSSE3
6833.L003no_xmm:
6834	subl	%edi,%eax
6835	cmpl	$256,%eax
6836	jae	.L007unrolled
6837	jmp	.L002loop
6838.align	16
6839.L002loop:
6840	movl	(%edi),%eax
6841	movl	4(%edi),%ebx
6842	movl	8(%edi),%ecx
6843	bswap	%eax
6844	movl	12(%edi),%edx
6845	bswap	%ebx
6846	pushl	%eax
6847	bswap	%ecx
6848	pushl	%ebx
6849	bswap	%edx
6850	pushl	%ecx
6851	pushl	%edx
6852	movl	16(%edi),%eax
6853	movl	20(%edi),%ebx
6854	movl	24(%edi),%ecx
6855	bswap	%eax
6856	movl	28(%edi),%edx
6857	bswap	%ebx
6858	pushl	%eax
6859	bswap	%ecx
6860	pushl	%ebx
6861	bswap	%edx
6862	pushl	%ecx
6863	pushl	%edx
6864	movl	32(%edi),%eax
6865	movl	36(%edi),%ebx
6866	movl	40(%edi),%ecx
6867	bswap	%eax
6868	movl	44(%edi),%edx
6869	bswap	%ebx
6870	pushl	%eax
6871	bswap	%ecx
6872	pushl	%ebx
6873	bswap	%edx
6874	pushl	%ecx
6875	pushl	%edx
6876	movl	48(%edi),%eax
6877	movl	52(%edi),%ebx
6878	movl	56(%edi),%ecx
6879	bswap	%eax
6880	movl	60(%edi),%edx
6881	bswap	%ebx
6882	pushl	%eax
6883	bswap	%ecx
6884	pushl	%ebx
6885	bswap	%edx
6886	pushl	%ecx
6887	pushl	%edx
6888	addl	$64,%edi
6889	leal	-36(%esp),%esp
6890	movl	%edi,104(%esp)
6891	movl	(%esi),%eax
6892	movl	4(%esi),%ebx
6893	movl	8(%esi),%ecx
6894	movl	12(%esi),%edi
6895	movl	%ebx,8(%esp)
6896	xorl	%ecx,%ebx
6897	movl	%ecx,12(%esp)
6898	movl	%edi,16(%esp)
6899	movl	%ebx,(%esp)
6900	movl	16(%esi),%edx
6901	movl	20(%esi),%ebx
6902	movl	24(%esi),%ecx
6903	movl	28(%esi),%edi
6904	movl	%ebx,24(%esp)
6905	movl	%ecx,28(%esp)
6906	movl	%edi,32(%esp)
6907.align	16
6908.L00800_15:
6909	movl	%edx,%ecx
6910	movl	24(%esp),%esi
6911	rorl	$14,%ecx
6912	movl	28(%esp),%edi
6913	xorl	%edx,%ecx
6914	xorl	%edi,%esi
6915	movl	96(%esp),%ebx
6916	rorl	$5,%ecx
6917	andl	%edx,%esi
6918	movl	%edx,20(%esp)
6919	xorl	%ecx,%edx
6920	addl	32(%esp),%ebx
6921	xorl	%edi,%esi
6922	rorl	$6,%edx
6923	movl	%eax,%ecx
6924	addl	%esi,%ebx
6925	rorl	$9,%ecx
6926	addl	%edx,%ebx
6927	movl	8(%esp),%edi
6928	xorl	%eax,%ecx
6929	movl	%eax,4(%esp)
6930	leal	-4(%esp),%esp
6931	rorl	$11,%ecx
6932	movl	(%ebp),%esi
6933	xorl	%eax,%ecx
6934	movl	20(%esp),%edx
6935	xorl	%edi,%eax
6936	rorl	$2,%ecx
6937	addl	%esi,%ebx
6938	movl	%eax,(%esp)
6939	addl	%ebx,%edx
6940	andl	4(%esp),%eax
6941	addl	%ecx,%ebx
6942	xorl	%edi,%eax
6943	addl	$4,%ebp
6944	addl	%ebx,%eax
6945	cmpl	$3248222580,%esi
6946	jne	.L00800_15
6947	movl	156(%esp),%ecx
6948	jmp	.L00916_63
6949.align	16
6950.L00916_63:
6951	movl	%ecx,%ebx
6952	movl	104(%esp),%esi
6953	rorl	$11,%ecx
6954	movl	%esi,%edi
6955	rorl	$2,%esi
6956	xorl	%ebx,%ecx
6957	shrl	$3,%ebx
6958	rorl	$7,%ecx
6959	xorl	%edi,%esi
6960	xorl	%ecx,%ebx
6961	rorl	$17,%esi
6962	addl	160(%esp),%ebx
6963	shrl	$10,%edi
6964	addl	124(%esp),%ebx
6965	movl	%edx,%ecx
6966	xorl	%esi,%edi
6967	movl	24(%esp),%esi
6968	rorl	$14,%ecx
6969	addl	%edi,%ebx
6970	movl	28(%esp),%edi
6971	xorl	%edx,%ecx
6972	xorl	%edi,%esi
6973	movl	%ebx,96(%esp)
6974	rorl	$5,%ecx
6975	andl	%edx,%esi
6976	movl	%edx,20(%esp)
6977	xorl	%ecx,%edx
6978	addl	32(%esp),%ebx
6979	xorl	%edi,%esi
6980	rorl	$6,%edx
6981	movl	%eax,%ecx
6982	addl	%esi,%ebx
6983	rorl	$9,%ecx
6984	addl	%edx,%ebx
6985	movl	8(%esp),%edi
6986	xorl	%eax,%ecx
6987	movl	%eax,4(%esp)
6988	leal	-4(%esp),%esp
6989	rorl	$11,%ecx
6990	movl	(%ebp),%esi
6991	xorl	%eax,%ecx
6992	movl	20(%esp),%edx
6993	xorl	%edi,%eax
6994	rorl	$2,%ecx
6995	addl	%esi,%ebx
6996	movl	%eax,(%esp)
6997	addl	%ebx,%edx
6998	andl	4(%esp),%eax
6999	addl	%ecx,%ebx
7000	xorl	%edi,%eax
7001	movl	156(%esp),%ecx
7002	addl	$4,%ebp
7003	addl	%ebx,%eax
7004	cmpl	$3329325298,%esi
7005	jne	.L00916_63
7006	movl	356(%esp),%esi
7007	movl	8(%esp),%ebx
7008	movl	16(%esp),%ecx
7009	addl	(%esi),%eax
7010	addl	4(%esi),%ebx
7011	addl	8(%esi),%edi
7012	addl	12(%esi),%ecx
7013	movl	%eax,(%esi)
7014	movl	%ebx,4(%esi)
7015	movl	%edi,8(%esi)
7016	movl	%ecx,12(%esi)
7017	movl	24(%esp),%eax
7018	movl	28(%esp),%ebx
7019	movl	32(%esp),%ecx
7020	movl	360(%esp),%edi
7021	addl	16(%esi),%edx
7022	addl	20(%esi),%eax
7023	addl	24(%esi),%ebx
7024	addl	28(%esi),%ecx
7025	movl	%edx,16(%esi)
7026	movl	%eax,20(%esi)
7027	movl	%ebx,24(%esi)
7028	movl	%ecx,28(%esi)
7029	leal	356(%esp),%esp
7030	subl	$256,%ebp
7031	cmpl	8(%esp),%edi
7032	jb	.L002loop
7033	movl	12(%esp),%esp
7034	popl	%edi
7035	popl	%esi
7036	popl	%ebx
7037	popl	%ebp
7038	ret
7039.align	64
7040.L001K256:
7041.long	1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298
7042.long	66051,67438087,134810123,202182159
7043.byte	83,72,65,50,53,54,32,98,108,111,99,107,32,116,114,97
7044.byte	110,115,102,111,114,109,32,102,111,114,32,120,56,54,44,32
7045.byte	67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97
7046.byte	112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103
7047.byte	62,0
7048.align	16
7049.L007unrolled:
7050	leal	-96(%esp),%esp
7051	movl	(%esi),%eax
7052	movl	4(%esi),%ebp
7053	movl	8(%esi),%ecx
7054	movl	12(%esi),%ebx
7055	movl	%ebp,4(%esp)
7056	xorl	%ecx,%ebp
7057	movl	%ecx,8(%esp)
7058	movl	%ebx,12(%esp)
7059	movl	16(%esi),%edx
7060	movl	20(%esi),%ebx
7061	movl	24(%esi),%ecx
7062	movl	28(%esi),%esi
7063	movl	%ebx,20(%esp)
7064	movl	%ecx,24(%esp)
7065	movl	%esi,28(%esp)
7066	jmp	.L010grand_loop
7067.align	16
7068.L010grand_loop:
7069	movl	(%edi),%ebx
7070	movl	4(%edi),%ecx
7071	bswap	%ebx
7072	movl	8(%edi),%esi
7073	bswap	%ecx
7074	movl	%ebx,32(%esp)
7075	bswap	%esi
7076	movl	%ecx,36(%esp)
7077	movl	%esi,40(%esp)
7078	movl	12(%edi),%ebx
7079	movl	16(%edi),%ecx
7080	bswap	%ebx
7081	movl	20(%edi),%esi
7082	bswap	%ecx
7083	movl	%ebx,44(%esp)
7084	bswap	%esi
7085	movl	%ecx,48(%esp)
7086	movl	%esi,52(%esp)
7087	movl	24(%edi),%ebx
7088	movl	28(%edi),%ecx
7089	bswap	%ebx
7090	movl	32(%edi),%esi
7091	bswap	%ecx
7092	movl	%ebx,56(%esp)
7093	bswap	%esi
7094	movl	%ecx,60(%esp)
7095	movl	%esi,64(%esp)
7096	movl	36(%edi),%ebx
7097	movl	40(%edi),%ecx
7098	bswap	%ebx
7099	movl	44(%edi),%esi
7100	bswap	%ecx
7101	movl	%ebx,68(%esp)
7102	bswap	%esi
7103	movl	%ecx,72(%esp)
7104	movl	%esi,76(%esp)
7105	movl	48(%edi),%ebx
7106	movl	52(%edi),%ecx
7107	bswap	%ebx
7108	movl	56(%edi),%esi
7109	bswap	%ecx
7110	movl	%ebx,80(%esp)
7111	bswap	%esi
7112	movl	%ecx,84(%esp)
7113	movl	%esi,88(%esp)
7114	movl	60(%edi),%ebx
7115	addl	$64,%edi
7116	bswap	%ebx
7117	movl	%edi,100(%esp)
7118	movl	%ebx,92(%esp)
7119	movl	%edx,%ecx
7120	movl	20(%esp),%esi
7121	rorl	$14,%edx
7122	movl	24(%esp),%edi
7123	xorl	%ecx,%edx
7124	movl	32(%esp),%ebx
7125	xorl	%edi,%esi
7126	rorl	$5,%edx
7127	andl	%ecx,%esi
7128	movl	%ecx,16(%esp)
7129	xorl	%ecx,%edx
7130	addl	28(%esp),%ebx
7131	xorl	%esi,%edi
7132	rorl	$6,%edx
7133	movl	%eax,%ecx
7134	addl	%edi,%ebx
7135	rorl	$9,%ecx
7136	movl	%eax,%esi
7137	movl	4(%esp),%edi
7138	xorl	%eax,%ecx
7139	movl	%eax,(%esp)
7140	xorl	%edi,%eax
7141	rorl	$11,%ecx
7142	andl	%eax,%ebp
7143	leal	1116352408(%ebx,%edx,1),%edx
7144	xorl	%esi,%ecx
7145	xorl	%edi,%ebp
7146	rorl	$2,%ecx
7147	addl	%edx,%ebp
7148	addl	12(%esp),%edx
7149	addl	%ecx,%ebp
7150	movl	%edx,%esi
7151	movl	16(%esp),%ecx
7152	rorl	$14,%edx
7153	movl	20(%esp),%edi
7154	xorl	%esi,%edx
7155	movl	36(%esp),%ebx
7156	xorl	%edi,%ecx
7157	rorl	$5,%edx
7158	andl	%esi,%ecx
7159	movl	%esi,12(%esp)
7160	xorl	%esi,%edx
7161	addl	24(%esp),%ebx
7162	xorl	%ecx,%edi
7163	rorl	$6,%edx
7164	movl	%ebp,%esi
7165	addl	%edi,%ebx
7166	rorl	$9,%esi
7167	movl	%ebp,%ecx
7168	movl	(%esp),%edi
7169	xorl	%ebp,%esi
7170	movl	%ebp,28(%esp)
7171	xorl	%edi,%ebp
7172	rorl	$11,%esi
7173	andl	%ebp,%eax
7174	leal	1899447441(%ebx,%edx,1),%edx
7175	xorl	%ecx,%esi
7176	xorl	%edi,%eax
7177	rorl	$2,%esi
7178	addl	%edx,%eax
7179	addl	8(%esp),%edx
7180	addl	%esi,%eax
7181	movl	%edx,%ecx
7182	movl	12(%esp),%esi
7183	rorl	$14,%edx
7184	movl	16(%esp),%edi
7185	xorl	%ecx,%edx
7186	movl	40(%esp),%ebx
7187	xorl	%edi,%esi
7188	rorl	$5,%edx
7189	andl	%ecx,%esi
7190	movl	%ecx,8(%esp)
7191	xorl	%ecx,%edx
7192	addl	20(%esp),%ebx
7193	xorl	%esi,%edi
7194	rorl	$6,%edx
7195	movl	%eax,%ecx
7196	addl	%edi,%ebx
7197	rorl	$9,%ecx
7198	movl	%eax,%esi
7199	movl	28(%esp),%edi
7200	xorl	%eax,%ecx
7201	movl	%eax,24(%esp)
7202	xorl	%edi,%eax
7203	rorl	$11,%ecx
7204	andl	%eax,%ebp
7205	leal	3049323471(%ebx,%edx,1),%edx
7206	xorl	%esi,%ecx
7207	xorl	%edi,%ebp
7208	rorl	$2,%ecx
7209	addl	%edx,%ebp
7210	addl	4(%esp),%edx
7211	addl	%ecx,%ebp
7212	movl	%edx,%esi
7213	movl	8(%esp),%ecx
7214	rorl	$14,%edx
7215	movl	12(%esp),%edi
7216	xorl	%esi,%edx
7217	movl	44(%esp),%ebx
7218	xorl	%edi,%ecx
7219	rorl	$5,%edx
7220	andl	%esi,%ecx
7221	movl	%esi,4(%esp)
7222	xorl	%esi,%edx
7223	addl	16(%esp),%ebx
7224	xorl	%ecx,%edi
7225	rorl	$6,%edx
7226	movl	%ebp,%esi
7227	addl	%edi,%ebx
7228	rorl	$9,%esi
7229	movl	%ebp,%ecx
7230	movl	24(%esp),%edi
7231	xorl	%ebp,%esi
7232	movl	%ebp,20(%esp)
7233	xorl	%edi,%ebp
7234	rorl	$11,%esi
7235	andl	%ebp,%eax
7236	leal	3921009573(%ebx,%edx,1),%edx
7237	xorl	%ecx,%esi
7238	xorl	%edi,%eax
7239	rorl	$2,%esi
7240	addl	%edx,%eax
7241	addl	(%esp),%edx
7242	addl	%esi,%eax
7243	movl	%edx,%ecx
7244	movl	4(%esp),%esi
7245	rorl	$14,%edx
7246	movl	8(%esp),%edi
7247	xorl	%ecx,%edx
7248	movl	48(%esp),%ebx
7249	xorl	%edi,%esi
7250	rorl	$5,%edx
7251	andl	%ecx,%esi
7252	movl	%ecx,(%esp)
7253	xorl	%ecx,%edx
7254	addl	12(%esp),%ebx
7255	xorl	%esi,%edi
7256	rorl	$6,%edx
7257	movl	%eax,%ecx
7258	addl	%edi,%ebx
7259	rorl	$9,%ecx
7260	movl	%eax,%esi
7261	movl	20(%esp),%edi
7262	xorl	%eax,%ecx
7263	movl	%eax,16(%esp)
7264	xorl	%edi,%eax
7265	rorl	$11,%ecx
7266	andl	%eax,%ebp
7267	leal	961987163(%ebx,%edx,1),%edx
7268	xorl	%esi,%ecx
7269	xorl	%edi,%ebp
7270	rorl	$2,%ecx
7271	addl	%edx,%ebp
7272	addl	28(%esp),%edx
7273	addl	%ecx,%ebp
7274	movl	%edx,%esi
7275	movl	(%esp),%ecx
7276	rorl	$14,%edx
7277	movl	4(%esp),%edi
7278	xorl	%esi,%edx
7279	movl	52(%esp),%ebx
7280	xorl	%edi,%ecx
7281	rorl	$5,%edx
7282	andl	%esi,%ecx
7283	movl	%esi,28(%esp)
7284	xorl	%esi,%edx
7285	addl	8(%esp),%ebx
7286	xorl	%ecx,%edi
7287	rorl	$6,%edx
7288	movl	%ebp,%esi
7289	addl	%edi,%ebx
7290	rorl	$9,%esi
7291	movl	%ebp,%ecx
7292	movl	16(%esp),%edi
7293	xorl	%ebp,%esi
7294	movl	%ebp,12(%esp)
7295	xorl	%edi,%ebp
7296	rorl	$11,%esi
7297	andl	%ebp,%eax
7298	leal	1508970993(%ebx,%edx,1),%edx
7299	xorl	%ecx,%esi
7300	xorl	%edi,%eax
7301	rorl	$2,%esi
7302	addl	%edx,%eax
7303	addl	24(%esp),%edx
7304	addl	%esi,%eax
7305	movl	%edx,%ecx
7306	movl	28(%esp),%esi
7307	rorl	$14,%edx
7308	movl	(%esp),%edi
7309	xorl	%ecx,%edx
7310	movl	56(%esp),%ebx
7311	xorl	%edi,%esi
7312	rorl	$5,%edx
7313	andl	%ecx,%esi
7314	movl	%ecx,24(%esp)
7315	xorl	%ecx,%edx
7316	addl	4(%esp),%ebx
7317	xorl	%esi,%edi
7318	rorl	$6,%edx
7319	movl	%eax,%ecx
7320	addl	%edi,%ebx
7321	rorl	$9,%ecx
7322	movl	%eax,%esi
7323	movl	12(%esp),%edi
7324	xorl	%eax,%ecx
7325	movl	%eax,8(%esp)
7326	xorl	%edi,%eax
7327	rorl	$11,%ecx
7328	andl	%eax,%ebp
7329	leal	2453635748(%ebx,%edx,1),%edx
7330	xorl	%esi,%ecx
7331	xorl	%edi,%ebp
7332	rorl	$2,%ecx
7333	addl	%edx,%ebp
7334	addl	20(%esp),%edx
7335	addl	%ecx,%ebp
7336	movl	%edx,%esi
7337	movl	24(%esp),%ecx
7338	rorl	$14,%edx
7339	movl	28(%esp),%edi
7340	xorl	%esi,%edx
7341	movl	60(%esp),%ebx
7342	xorl	%edi,%ecx
7343	rorl	$5,%edx
7344	andl	%esi,%ecx
7345	movl	%esi,20(%esp)
7346	xorl	%esi,%edx
7347	addl	(%esp),%ebx
7348	xorl	%ecx,%edi
7349	rorl	$6,%edx
7350	movl	%ebp,%esi
7351	addl	%edi,%ebx
7352	rorl	$9,%esi
7353	movl	%ebp,%ecx
7354	movl	8(%esp),%edi
7355	xorl	%ebp,%esi
7356	movl	%ebp,4(%esp)
7357	xorl	%edi,%ebp
7358	rorl	$11,%esi
7359	andl	%ebp,%eax
7360	leal	2870763221(%ebx,%edx,1),%edx
7361	xorl	%ecx,%esi
7362	xorl	%edi,%eax
7363	rorl	$2,%esi
7364	addl	%edx,%eax
7365	addl	16(%esp),%edx
7366	addl	%esi,%eax
7367	movl	%edx,%ecx
7368	movl	20(%esp),%esi
7369	rorl	$14,%edx
7370	movl	24(%esp),%edi
7371	xorl	%ecx,%edx
7372	movl	64(%esp),%ebx
7373	xorl	%edi,%esi
7374	rorl	$5,%edx
7375	andl	%ecx,%esi
7376	movl	%ecx,16(%esp)
7377	xorl	%ecx,%edx
7378	addl	28(%esp),%ebx
7379	xorl	%esi,%edi
7380	rorl	$6,%edx
7381	movl	%eax,%ecx
7382	addl	%edi,%ebx
7383	rorl	$9,%ecx
7384	movl	%eax,%esi
7385	movl	4(%esp),%edi
7386	xorl	%eax,%ecx
7387	movl	%eax,(%esp)
7388	xorl	%edi,%eax
7389	rorl	$11,%ecx
7390	andl	%eax,%ebp
7391	leal	3624381080(%ebx,%edx,1),%edx
7392	xorl	%esi,%ecx
7393	xorl	%edi,%ebp
7394	rorl	$2,%ecx
7395	addl	%edx,%ebp
7396	addl	12(%esp),%edx
7397	addl	%ecx,%ebp
7398	movl	%edx,%esi
7399	movl	16(%esp),%ecx
7400	rorl	$14,%edx
7401	movl	20(%esp),%edi
7402	xorl	%esi,%edx
7403	movl	68(%esp),%ebx
7404	xorl	%edi,%ecx
7405	rorl	$5,%edx
7406	andl	%esi,%ecx
7407	movl	%esi,12(%esp)
7408	xorl	%esi,%edx
7409	addl	24(%esp),%ebx
7410	xorl	%ecx,%edi
7411	rorl	$6,%edx
7412	movl	%ebp,%esi
7413	addl	%edi,%ebx
7414	rorl	$9,%esi
7415	movl	%ebp,%ecx
7416	movl	(%esp),%edi
7417	xorl	%ebp,%esi
7418	movl	%ebp,28(%esp)
7419	xorl	%edi,%ebp
7420	rorl	$11,%esi
7421	andl	%ebp,%eax
7422	leal	310598401(%ebx,%edx,1),%edx
7423	xorl	%ecx,%esi
7424	xorl	%edi,%eax
7425	rorl	$2,%esi
7426	addl	%edx,%eax
7427	addl	8(%esp),%edx
7428	addl	%esi,%eax
7429	movl	%edx,%ecx
7430	movl	12(%esp),%esi
7431	rorl	$14,%edx
7432	movl	16(%esp),%edi
7433	xorl	%ecx,%edx
7434	movl	72(%esp),%ebx
7435	xorl	%edi,%esi
7436	rorl	$5,%edx
7437	andl	%ecx,%esi
7438	movl	%ecx,8(%esp)
7439	xorl	%ecx,%edx
7440	addl	20(%esp),%ebx
7441	xorl	%esi,%edi
7442	rorl	$6,%edx
7443	movl	%eax,%ecx
7444	addl	%edi,%ebx
7445	rorl	$9,%ecx
7446	movl	%eax,%esi
7447	movl	28(%esp),%edi
7448	xorl	%eax,%ecx
7449	movl	%eax,24(%esp)
7450	xorl	%edi,%eax
7451	rorl	$11,%ecx
7452	andl	%eax,%ebp
7453	leal	607225278(%ebx,%edx,1),%edx
7454	xorl	%esi,%ecx
7455	xorl	%edi,%ebp
7456	rorl	$2,%ecx
7457	addl	%edx,%ebp
7458	addl	4(%esp),%edx
7459	addl	%ecx,%ebp
7460	movl	%edx,%esi
7461	movl	8(%esp),%ecx
7462	rorl	$14,%edx
7463	movl	12(%esp),%edi
7464	xorl	%esi,%edx
7465	movl	76(%esp),%ebx
7466	xorl	%edi,%ecx
7467	rorl	$5,%edx
7468	andl	%esi,%ecx
7469	movl	%esi,4(%esp)
7470	xorl	%esi,%edx
7471	addl	16(%esp),%ebx
7472	xorl	%ecx,%edi
7473	rorl	$6,%edx
7474	movl	%ebp,%esi
7475	addl	%edi,%ebx
7476	rorl	$9,%esi
7477	movl	%ebp,%ecx
7478	movl	24(%esp),%edi
7479	xorl	%ebp,%esi
7480	movl	%ebp,20(%esp)
7481	xorl	%edi,%ebp
7482	rorl	$11,%esi
7483	andl	%ebp,%eax
7484	leal	1426881987(%ebx,%edx,1),%edx
7485	xorl	%ecx,%esi
7486	xorl	%edi,%eax
7487	rorl	$2,%esi
7488	addl	%edx,%eax
7489	addl	(%esp),%edx
7490	addl	%esi,%eax
7491	movl	%edx,%ecx
7492	movl	4(%esp),%esi
7493	rorl	$14,%edx
7494	movl	8(%esp),%edi
7495	xorl	%ecx,%edx
7496	movl	80(%esp),%ebx
7497	xorl	%edi,%esi
7498	rorl	$5,%edx
7499	andl	%ecx,%esi
7500	movl	%ecx,(%esp)
7501	xorl	%ecx,%edx
7502	addl	12(%esp),%ebx
7503	xorl	%esi,%edi
7504	rorl	$6,%edx
7505	movl	%eax,%ecx
7506	addl	%edi,%ebx
7507	rorl	$9,%ecx
7508	movl	%eax,%esi
7509	movl	20(%esp),%edi
7510	xorl	%eax,%ecx
7511	movl	%eax,16(%esp)
7512	xorl	%edi,%eax
7513	rorl	$11,%ecx
7514	andl	%eax,%ebp
7515	leal	1925078388(%ebx,%edx,1),%edx
7516	xorl	%esi,%ecx
7517	xorl	%edi,%ebp
7518	rorl	$2,%ecx
7519	addl	%edx,%ebp
7520	addl	28(%esp),%edx
7521	addl	%ecx,%ebp
7522	movl	%edx,%esi
7523	movl	(%esp),%ecx
7524	rorl	$14,%edx
7525	movl	4(%esp),%edi
7526	xorl	%esi,%edx
7527	movl	84(%esp),%ebx
7528	xorl	%edi,%ecx
7529	rorl	$5,%edx
7530	andl	%esi,%ecx
7531	movl	%esi,28(%esp)
7532	xorl	%esi,%edx
7533	addl	8(%esp),%ebx
7534	xorl	%ecx,%edi
7535	rorl	$6,%edx
7536	movl	%ebp,%esi
7537	addl	%edi,%ebx
7538	rorl	$9,%esi
7539	movl	%ebp,%ecx
7540	movl	16(%esp),%edi
7541	xorl	%ebp,%esi
7542	movl	%ebp,12(%esp)
7543	xorl	%edi,%ebp
7544	rorl	$11,%esi
7545	andl	%ebp,%eax
7546	leal	2162078206(%ebx,%edx,1),%edx
7547	xorl	%ecx,%esi
7548	xorl	%edi,%eax
7549	rorl	$2,%esi
7550	addl	%edx,%eax
7551	addl	24(%esp),%edx
7552	addl	%esi,%eax
7553	movl	%edx,%ecx
7554	movl	28(%esp),%esi
7555	rorl	$14,%edx
7556	movl	(%esp),%edi
7557	xorl	%ecx,%edx
7558	movl	88(%esp),%ebx
7559	xorl	%edi,%esi
7560	rorl	$5,%edx
7561	andl	%ecx,%esi
7562	movl	%ecx,24(%esp)
7563	xorl	%ecx,%edx
7564	addl	4(%esp),%ebx
7565	xorl	%esi,%edi
7566	rorl	$6,%edx
7567	movl	%eax,%ecx
7568	addl	%edi,%ebx
7569	rorl	$9,%ecx
7570	movl	%eax,%esi
7571	movl	12(%esp),%edi
7572	xorl	%eax,%ecx
7573	movl	%eax,8(%esp)
7574	xorl	%edi,%eax
7575	rorl	$11,%ecx
7576	andl	%eax,%ebp
7577	leal	2614888103(%ebx,%edx,1),%edx
7578	xorl	%esi,%ecx
7579	xorl	%edi,%ebp
7580	rorl	$2,%ecx
7581	addl	%edx,%ebp
7582	addl	20(%esp),%edx
7583	addl	%ecx,%ebp
7584	movl	%edx,%esi
7585	movl	24(%esp),%ecx
7586	rorl	$14,%edx
7587	movl	28(%esp),%edi
7588	xorl	%esi,%edx
7589	movl	92(%esp),%ebx
7590	xorl	%edi,%ecx
7591	rorl	$5,%edx
7592	andl	%esi,%ecx
7593	movl	%esi,20(%esp)
7594	xorl	%esi,%edx
7595	addl	(%esp),%ebx
7596	xorl	%ecx,%edi
7597	rorl	$6,%edx
7598	movl	%ebp,%esi
7599	addl	%edi,%ebx
7600	rorl	$9,%esi
7601	movl	%ebp,%ecx
7602	movl	8(%esp),%edi
7603	xorl	%ebp,%esi
7604	movl	%ebp,4(%esp)
7605	xorl	%edi,%ebp
7606	rorl	$11,%esi
7607	andl	%ebp,%eax
7608	leal	3248222580(%ebx,%edx,1),%edx
7609	xorl	%ecx,%esi
7610	xorl	%edi,%eax
7611	movl	36(%esp),%ecx
7612	rorl	$2,%esi
7613	addl	%edx,%eax
7614	addl	16(%esp),%edx
7615	addl	%esi,%eax
7616	movl	88(%esp),%esi
7617	movl	%ecx,%ebx
7618	rorl	$11,%ecx
7619	movl	%esi,%edi
7620	rorl	$2,%esi
7621	xorl	%ebx,%ecx
7622	shrl	$3,%ebx
7623	rorl	$7,%ecx
7624	xorl	%edi,%esi
7625	xorl	%ecx,%ebx
7626	rorl	$17,%esi
7627	addl	32(%esp),%ebx
7628	shrl	$10,%edi
7629	addl	68(%esp),%ebx
7630	movl	%edx,%ecx
7631	xorl	%esi,%edi
7632	movl	20(%esp),%esi
7633	rorl	$14,%edx
7634	addl	%edi,%ebx
7635	movl	24(%esp),%edi
7636	xorl	%ecx,%edx
7637	movl	%ebx,32(%esp)
7638	xorl	%edi,%esi
7639	rorl	$5,%edx
7640	andl	%ecx,%esi
7641	movl	%ecx,16(%esp)
7642	xorl	%ecx,%edx
7643	addl	28(%esp),%ebx
7644	xorl	%esi,%edi
7645	rorl	$6,%edx
7646	movl	%eax,%ecx
7647	addl	%edi,%ebx
7648	rorl	$9,%ecx
7649	movl	%eax,%esi
7650	movl	4(%esp),%edi
7651	xorl	%eax,%ecx
7652	movl	%eax,(%esp)
7653	xorl	%edi,%eax
7654	rorl	$11,%ecx
7655	andl	%eax,%ebp
7656	leal	3835390401(%ebx,%edx,1),%edx
7657	xorl	%esi,%ecx
7658	xorl	%edi,%ebp
7659	movl	40(%esp),%esi
7660	rorl	$2,%ecx
7661	addl	%edx,%ebp
7662	addl	12(%esp),%edx
7663	addl	%ecx,%ebp
7664	movl	92(%esp),%ecx
7665	movl	%esi,%ebx
7666	rorl	$11,%esi
7667	movl	%ecx,%edi
7668	rorl	$2,%ecx
7669	xorl	%ebx,%esi
7670	shrl	$3,%ebx
7671	rorl	$7,%esi
7672	xorl	%edi,%ecx
7673	xorl	%esi,%ebx
7674	rorl	$17,%ecx
7675	addl	36(%esp),%ebx
7676	shrl	$10,%edi
7677	addl	72(%esp),%ebx
7678	movl	%edx,%esi
7679	xorl	%ecx,%edi
7680	movl	16(%esp),%ecx
7681	rorl	$14,%edx
7682	addl	%edi,%ebx
7683	movl	20(%esp),%edi
7684	xorl	%esi,%edx
7685	movl	%ebx,36(%esp)
7686	xorl	%edi,%ecx
7687	rorl	$5,%edx
7688	andl	%esi,%ecx
7689	movl	%esi,12(%esp)
7690	xorl	%esi,%edx
7691	addl	24(%esp),%ebx
7692	xorl	%ecx,%edi
7693	rorl	$6,%edx
7694	movl	%ebp,%esi
7695	addl	%edi,%ebx
7696	rorl	$9,%esi
7697	movl	%ebp,%ecx
7698	movl	(%esp),%edi
7699	xorl	%ebp,%esi
7700	movl	%ebp,28(%esp)
7701	xorl	%edi,%ebp
7702	rorl	$11,%esi
7703	andl	%ebp,%eax
7704	leal	4022224774(%ebx,%edx,1),%edx
7705	xorl	%ecx,%esi
7706	xorl	%edi,%eax
7707	movl	44(%esp),%ecx
7708	rorl	$2,%esi
7709	addl	%edx,%eax
7710	addl	8(%esp),%edx
7711	addl	%esi,%eax
7712	movl	32(%esp),%esi
7713	movl	%ecx,%ebx
7714	rorl	$11,%ecx
7715	movl	%esi,%edi
7716	rorl	$2,%esi
7717	xorl	%ebx,%ecx
7718	shrl	$3,%ebx
7719	rorl	$7,%ecx
7720	xorl	%edi,%esi
7721	xorl	%ecx,%ebx
7722	rorl	$17,%esi
7723	addl	40(%esp),%ebx
7724	shrl	$10,%edi
7725	addl	76(%esp),%ebx
7726	movl	%edx,%ecx
7727	xorl	%esi,%edi
7728	movl	12(%esp),%esi
7729	rorl	$14,%edx
7730	addl	%edi,%ebx
7731	movl	16(%esp),%edi
7732	xorl	%ecx,%edx
7733	movl	%ebx,40(%esp)
7734	xorl	%edi,%esi
7735	rorl	$5,%edx
7736	andl	%ecx,%esi
7737	movl	%ecx,8(%esp)
7738	xorl	%ecx,%edx
7739	addl	20(%esp),%ebx
7740	xorl	%esi,%edi
7741	rorl	$6,%edx
7742	movl	%eax,%ecx
7743	addl	%edi,%ebx
7744	rorl	$9,%ecx
7745	movl	%eax,%esi
7746	movl	28(%esp),%edi
7747	xorl	%eax,%ecx
7748	movl	%eax,24(%esp)
7749	xorl	%edi,%eax
7750	rorl	$11,%ecx
7751	andl	%eax,%ebp
7752	leal	264347078(%ebx,%edx,1),%edx
7753	xorl	%esi,%ecx
7754	xorl	%edi,%ebp
7755	movl	48(%esp),%esi
7756	rorl	$2,%ecx
7757	addl	%edx,%ebp
7758	addl	4(%esp),%edx
7759	addl	%ecx,%ebp
7760	movl	36(%esp),%ecx
7761	movl	%esi,%ebx
7762	rorl	$11,%esi
7763	movl	%ecx,%edi
7764	rorl	$2,%ecx
7765	xorl	%ebx,%esi
7766	shrl	$3,%ebx
7767	rorl	$7,%esi
7768	xorl	%edi,%ecx
7769	xorl	%esi,%ebx
7770	rorl	$17,%ecx
7771	addl	44(%esp),%ebx
7772	shrl	$10,%edi
7773	addl	80(%esp),%ebx
7774	movl	%edx,%esi
7775	xorl	%ecx,%edi
7776	movl	8(%esp),%ecx
7777	rorl	$14,%edx
7778	addl	%edi,%ebx
7779	movl	12(%esp),%edi
7780	xorl	%esi,%edx
7781	movl	%ebx,44(%esp)
7782	xorl	%edi,%ecx
7783	rorl	$5,%edx
7784	andl	%esi,%ecx
7785	movl	%esi,4(%esp)
7786	xorl	%esi,%edx
7787	addl	16(%esp),%ebx
7788	xorl	%ecx,%edi
7789	rorl	$6,%edx
7790	movl	%ebp,%esi
7791	addl	%edi,%ebx
7792	rorl	$9,%esi
7793	movl	%ebp,%ecx
7794	movl	24(%esp),%edi
7795	xorl	%ebp,%esi
7796	movl	%ebp,20(%esp)
7797	xorl	%edi,%ebp
7798	rorl	$11,%esi
7799	andl	%ebp,%eax
7800	leal	604807628(%ebx,%edx,1),%edx
7801	xorl	%ecx,%esi
7802	xorl	%edi,%eax
7803	movl	52(%esp),%ecx
7804	rorl	$2,%esi
7805	addl	%edx,%eax
7806	addl	(%esp),%edx
7807	addl	%esi,%eax
7808	movl	40(%esp),%esi
7809	movl	%ecx,%ebx
7810	rorl	$11,%ecx
7811	movl	%esi,%edi
7812	rorl	$2,%esi
7813	xorl	%ebx,%ecx
7814	shrl	$3,%ebx
7815	rorl	$7,%ecx
7816	xorl	%edi,%esi
7817	xorl	%ecx,%ebx
7818	rorl	$17,%esi
7819	addl	48(%esp),%ebx
7820	shrl	$10,%edi
7821	addl	84(%esp),%ebx
7822	movl	%edx,%ecx
7823	xorl	%esi,%edi
7824	movl	4(%esp),%esi
7825	rorl	$14,%edx
7826	addl	%edi,%ebx
7827	movl	8(%esp),%edi
7828	xorl	%ecx,%edx
7829	movl	%ebx,48(%esp)
7830	xorl	%edi,%esi
7831	rorl	$5,%edx
7832	andl	%ecx,%esi
7833	movl	%ecx,(%esp)
7834	xorl	%ecx,%edx
7835	addl	12(%esp),%ebx
7836	xorl	%esi,%edi
7837	rorl	$6,%edx
7838	movl	%eax,%ecx
7839	addl	%edi,%ebx
7840	rorl	$9,%ecx
7841	movl	%eax,%esi
7842	movl	20(%esp),%edi
7843	xorl	%eax,%ecx
7844	movl	%eax,16(%esp)
7845	xorl	%edi,%eax
7846	rorl	$11,%ecx
7847	andl	%eax,%ebp
7848	leal	770255983(%ebx,%edx,1),%edx
7849	xorl	%esi,%ecx
7850	xorl	%edi,%ebp
7851	movl	56(%esp),%esi
7852	rorl	$2,%ecx
7853	addl	%edx,%ebp
7854	addl	28(%esp),%edx
7855	addl	%ecx,%ebp
7856	movl	44(%esp),%ecx
7857	movl	%esi,%ebx
7858	rorl	$11,%esi
7859	movl	%ecx,%edi
7860	rorl	$2,%ecx
7861	xorl	%ebx,%esi
7862	shrl	$3,%ebx
7863	rorl	$7,%esi
7864	xorl	%edi,%ecx
7865	xorl	%esi,%ebx
7866	rorl	$17,%ecx
7867	addl	52(%esp),%ebx
7868	shrl	$10,%edi
7869	addl	88(%esp),%ebx
7870	movl	%edx,%esi
7871	xorl	%ecx,%edi
7872	movl	(%esp),%ecx
7873	rorl	$14,%edx
7874	addl	%edi,%ebx
7875	movl	4(%esp),%edi
7876	xorl	%esi,%edx
7877	movl	%ebx,52(%esp)
7878	xorl	%edi,%ecx
7879	rorl	$5,%edx
7880	andl	%esi,%ecx
7881	movl	%esi,28(%esp)
7882	xorl	%esi,%edx
7883	addl	8(%esp),%ebx
7884	xorl	%ecx,%edi
7885	rorl	$6,%edx
7886	movl	%ebp,%esi
7887	addl	%edi,%ebx
7888	rorl	$9,%esi
7889	movl	%ebp,%ecx
7890	movl	16(%esp),%edi
7891	xorl	%ebp,%esi
7892	movl	%ebp,12(%esp)
7893	xorl	%edi,%ebp
7894	rorl	$11,%esi
7895	andl	%ebp,%eax
7896	leal	1249150122(%ebx,%edx,1),%edx
7897	xorl	%ecx,%esi
7898	xorl	%edi,%eax
7899	movl	60(%esp),%ecx
7900	rorl	$2,%esi
7901	addl	%edx,%eax
7902	addl	24(%esp),%edx
7903	addl	%esi,%eax
7904	movl	48(%esp),%esi
7905	movl	%ecx,%ebx
7906	rorl	$11,%ecx
7907	movl	%esi,%edi
7908	rorl	$2,%esi
7909	xorl	%ebx,%ecx
7910	shrl	$3,%ebx
7911	rorl	$7,%ecx
7912	xorl	%edi,%esi
7913	xorl	%ecx,%ebx
7914	rorl	$17,%esi
7915	addl	56(%esp),%ebx
7916	shrl	$10,%edi
7917	addl	92(%esp),%ebx
7918	movl	%edx,%ecx
7919	xorl	%esi,%edi
7920	movl	28(%esp),%esi
7921	rorl	$14,%edx
7922	addl	%edi,%ebx
7923	movl	(%esp),%edi
7924	xorl	%ecx,%edx
7925	movl	%ebx,56(%esp)
7926	xorl	%edi,%esi
7927	rorl	$5,%edx
7928	andl	%ecx,%esi
7929	movl	%ecx,24(%esp)
7930	xorl	%ecx,%edx
7931	addl	4(%esp),%ebx
7932	xorl	%esi,%edi
7933	rorl	$6,%edx
7934	movl	%eax,%ecx
7935	addl	%edi,%ebx
7936	rorl	$9,%ecx
7937	movl	%eax,%esi
7938	movl	12(%esp),%edi
7939	xorl	%eax,%ecx
7940	movl	%eax,8(%esp)
7941	xorl	%edi,%eax
7942	rorl	$11,%ecx
7943	andl	%eax,%ebp
7944	leal	1555081692(%ebx,%edx,1),%edx
7945	xorl	%esi,%ecx
7946	xorl	%edi,%ebp
7947	movl	64(%esp),%esi
7948	rorl	$2,%ecx
7949	addl	%edx,%ebp
7950	addl	20(%esp),%edx
7951	addl	%ecx,%ebp
7952	movl	52(%esp),%ecx
7953	movl	%esi,%ebx
7954	rorl	$11,%esi
7955	movl	%ecx,%edi
7956	rorl	$2,%ecx
7957	xorl	%ebx,%esi
7958	shrl	$3,%ebx
7959	rorl	$7,%esi
7960	xorl	%edi,%ecx
7961	xorl	%esi,%ebx
7962	rorl	$17,%ecx
7963	addl	60(%esp),%ebx
7964	shrl	$10,%edi
7965	addl	32(%esp),%ebx
7966	movl	%edx,%esi
7967	xorl	%ecx,%edi
7968	movl	24(%esp),%ecx
7969	rorl	$14,%edx
7970	addl	%edi,%ebx
7971	movl	28(%esp),%edi
7972	xorl	%esi,%edx
7973	movl	%ebx,60(%esp)
7974	xorl	%edi,%ecx
7975	rorl	$5,%edx
7976	andl	%esi,%ecx
7977	movl	%esi,20(%esp)
7978	xorl	%esi,%edx
7979	addl	(%esp),%ebx
7980	xorl	%ecx,%edi
7981	rorl	$6,%edx
7982	movl	%ebp,%esi
7983	addl	%edi,%ebx
7984	rorl	$9,%esi
7985	movl	%ebp,%ecx
7986	movl	8(%esp),%edi
7987	xorl	%ebp,%esi
7988	movl	%ebp,4(%esp)
7989	xorl	%edi,%ebp
7990	rorl	$11,%esi
7991	andl	%ebp,%eax
7992	leal	1996064986(%ebx,%edx,1),%edx
7993	xorl	%ecx,%esi
7994	xorl	%edi,%eax
7995	movl	68(%esp),%ecx
7996	rorl	$2,%esi
7997	addl	%edx,%eax
7998	addl	16(%esp),%edx
7999	addl	%esi,%eax
8000	movl	56(%esp),%esi
8001	movl	%ecx,%ebx
8002	rorl	$11,%ecx
8003	movl	%esi,%edi
8004	rorl	$2,%esi
8005	xorl	%ebx,%ecx
8006	shrl	$3,%ebx
8007	rorl	$7,%ecx
8008	xorl	%edi,%esi
8009	xorl	%ecx,%ebx
8010	rorl	$17,%esi
8011	addl	64(%esp),%ebx
8012	shrl	$10,%edi
8013	addl	36(%esp),%ebx
8014	movl	%edx,%ecx
8015	xorl	%esi,%edi
8016	movl	20(%esp),%esi
8017	rorl	$14,%edx
8018	addl	%edi,%ebx
8019	movl	24(%esp),%edi
8020	xorl	%ecx,%edx
8021	movl	%ebx,64(%esp)
8022	xorl	%edi,%esi
8023	rorl	$5,%edx
8024	andl	%ecx,%esi
8025	movl	%ecx,16(%esp)
8026	xorl	%ecx,%edx
8027	addl	28(%esp),%ebx
8028	xorl	%esi,%edi
8029	rorl	$6,%edx
8030	movl	%eax,%ecx
8031	addl	%edi,%ebx
8032	rorl	$9,%ecx
8033	movl	%eax,%esi
8034	movl	4(%esp),%edi
8035	xorl	%eax,%ecx
8036	movl	%eax,(%esp)
8037	xorl	%edi,%eax
8038	rorl	$11,%ecx
8039	andl	%eax,%ebp
8040	leal	2554220882(%ebx,%edx,1),%edx
8041	xorl	%esi,%ecx
8042	xorl	%edi,%ebp
8043	movl	72(%esp),%esi
8044	rorl	$2,%ecx
8045	addl	%edx,%ebp
8046	addl	12(%esp),%edx
8047	addl	%ecx,%ebp
8048	movl	60(%esp),%ecx
8049	movl	%esi,%ebx
8050	rorl	$11,%esi
8051	movl	%ecx,%edi
8052	rorl	$2,%ecx
8053	xorl	%ebx,%esi
8054	shrl	$3,%ebx
8055	rorl	$7,%esi
8056	xorl	%edi,%ecx
8057	xorl	%esi,%ebx
8058	rorl	$17,%ecx
8059	addl	68(%esp),%ebx
8060	shrl	$10,%edi
8061	addl	40(%esp),%ebx
8062	movl	%edx,%esi
8063	xorl	%ecx,%edi
8064	movl	16(%esp),%ecx
8065	rorl	$14,%edx
8066	addl	%edi,%ebx
8067	movl	20(%esp),%edi
8068	xorl	%esi,%edx
8069	movl	%ebx,68(%esp)
8070	xorl	%edi,%ecx
8071	rorl	$5,%edx
8072	andl	%esi,%ecx
8073	movl	%esi,12(%esp)
8074	xorl	%esi,%edx
8075	addl	24(%esp),%ebx
8076	xorl	%ecx,%edi
8077	rorl	$6,%edx
8078	movl	%ebp,%esi
8079	addl	%edi,%ebx
8080	rorl	$9,%esi
8081	movl	%ebp,%ecx
8082	movl	(%esp),%edi
8083	xorl	%ebp,%esi
8084	movl	%ebp,28(%esp)
8085	xorl	%edi,%ebp
8086	rorl	$11,%esi
8087	andl	%ebp,%eax
8088	leal	2821834349(%ebx,%edx,1),%edx
8089	xorl	%ecx,%esi
8090	xorl	%edi,%eax
8091	movl	76(%esp),%ecx
8092	rorl	$2,%esi
8093	addl	%edx,%eax
8094	addl	8(%esp),%edx
8095	addl	%esi,%eax
8096	movl	64(%esp),%esi
8097	movl	%ecx,%ebx
8098	rorl	$11,%ecx
8099	movl	%esi,%edi
8100	rorl	$2,%esi
8101	xorl	%ebx,%ecx
8102	shrl	$3,%ebx
8103	rorl	$7,%ecx
8104	xorl	%edi,%esi
8105	xorl	%ecx,%ebx
8106	rorl	$17,%esi
8107	addl	72(%esp),%ebx
8108	shrl	$10,%edi
8109	addl	44(%esp),%ebx
8110	movl	%edx,%ecx
8111	xorl	%esi,%edi
8112	movl	12(%esp),%esi
8113	rorl	$14,%edx
8114	addl	%edi,%ebx
8115	movl	16(%esp),%edi
8116	xorl	%ecx,%edx
8117	movl	%ebx,72(%esp)
8118	xorl	%edi,%esi
8119	rorl	$5,%edx
8120	andl	%ecx,%esi
8121	movl	%ecx,8(%esp)
8122	xorl	%ecx,%edx
8123	addl	20(%esp),%ebx
8124	xorl	%esi,%edi
8125	rorl	$6,%edx
8126	movl	%eax,%ecx
8127	addl	%edi,%ebx
8128	rorl	$9,%ecx
8129	movl	%eax,%esi
8130	movl	28(%esp),%edi
8131	xorl	%eax,%ecx
8132	movl	%eax,24(%esp)
8133	xorl	%edi,%eax
8134	rorl	$11,%ecx
8135	andl	%eax,%ebp
8136	leal	2952996808(%ebx,%edx,1),%edx
8137	xorl	%esi,%ecx
8138	xorl	%edi,%ebp
8139	movl	80(%esp),%esi
8140	rorl	$2,%ecx
8141	addl	%edx,%ebp
8142	addl	4(%esp),%edx
8143	addl	%ecx,%ebp
8144	movl	68(%esp),%ecx
8145	movl	%esi,%ebx
8146	rorl	$11,%esi
8147	movl	%ecx,%edi
8148	rorl	$2,%ecx
8149	xorl	%ebx,%esi
8150	shrl	$3,%ebx
8151	rorl	$7,%esi
8152	xorl	%edi,%ecx
8153	xorl	%esi,%ebx
8154	rorl	$17,%ecx
8155	addl	76(%esp),%ebx
8156	shrl	$10,%edi
8157	addl	48(%esp),%ebx
8158	movl	%edx,%esi
8159	xorl	%ecx,%edi
8160	movl	8(%esp),%ecx
8161	rorl	$14,%edx
8162	addl	%edi,%ebx
8163	movl	12(%esp),%edi
8164	xorl	%esi,%edx
8165	movl	%ebx,76(%esp)
8166	xorl	%edi,%ecx
8167	rorl	$5,%edx
8168	andl	%esi,%ecx
8169	movl	%esi,4(%esp)
8170	xorl	%esi,%edx
8171	addl	16(%esp),%ebx
8172	xorl	%ecx,%edi
8173	rorl	$6,%edx
8174	movl	%ebp,%esi
8175	addl	%edi,%ebx
8176	rorl	$9,%esi
8177	movl	%ebp,%ecx
8178	movl	24(%esp),%edi
8179	xorl	%ebp,%esi
8180	movl	%ebp,20(%esp)
8181	xorl	%edi,%ebp
8182	rorl	$11,%esi
8183	andl	%ebp,%eax
8184	leal	3210313671(%ebx,%edx,1),%edx
8185	xorl	%ecx,%esi
8186	xorl	%edi,%eax
8187	movl	84(%esp),%ecx
8188	rorl	$2,%esi
8189	addl	%edx,%eax
8190	addl	(%esp),%edx
8191	addl	%esi,%eax
8192	movl	72(%esp),%esi
8193	movl	%ecx,%ebx
8194	rorl	$11,%ecx
8195	movl	%esi,%edi
8196	rorl	$2,%esi
8197	xorl	%ebx,%ecx
8198	shrl	$3,%ebx
8199	rorl	$7,%ecx
8200	xorl	%edi,%esi
8201	xorl	%ecx,%ebx
8202	rorl	$17,%esi
8203	addl	80(%esp),%ebx
8204	shrl	$10,%edi
8205	addl	52(%esp),%ebx
8206	movl	%edx,%ecx
8207	xorl	%esi,%edi
8208	movl	4(%esp),%esi
8209	rorl	$14,%edx
8210	addl	%edi,%ebx
8211	movl	8(%esp),%edi
8212	xorl	%ecx,%edx
8213	movl	%ebx,80(%esp)
8214	xorl	%edi,%esi
8215	rorl	$5,%edx
8216	andl	%ecx,%esi
8217	movl	%ecx,(%esp)
8218	xorl	%ecx,%edx
8219	addl	12(%esp),%ebx
8220	xorl	%esi,%edi
8221	rorl	$6,%edx
8222	movl	%eax,%ecx
8223	addl	%edi,%ebx
8224	rorl	$9,%ecx
8225	movl	%eax,%esi
8226	movl	20(%esp),%edi
8227	xorl	%eax,%ecx
8228	movl	%eax,16(%esp)
8229	xorl	%edi,%eax
8230	rorl	$11,%ecx
8231	andl	%eax,%ebp
8232	leal	3336571891(%ebx,%edx,1),%edx
8233	xorl	%esi,%ecx
8234	xorl	%edi,%ebp
8235	movl	88(%esp),%esi
8236	rorl	$2,%ecx
8237	addl	%edx,%ebp
8238	addl	28(%esp),%edx
8239	addl	%ecx,%ebp
8240	movl	76(%esp),%ecx
8241	movl	%esi,%ebx
8242	rorl	$11,%esi
8243	movl	%ecx,%edi
8244	rorl	$2,%ecx
8245	xorl	%ebx,%esi
8246	shrl	$3,%ebx
8247	rorl	$7,%esi
8248	xorl	%edi,%ecx
8249	xorl	%esi,%ebx
8250	rorl	$17,%ecx
8251	addl	84(%esp),%ebx
8252	shrl	$10,%edi
8253	addl	56(%esp),%ebx
8254	movl	%edx,%esi
8255	xorl	%ecx,%edi
8256	movl	(%esp),%ecx
8257	rorl	$14,%edx
8258	addl	%edi,%ebx
8259	movl	4(%esp),%edi
8260	xorl	%esi,%edx
8261	movl	%ebx,84(%esp)
8262	xorl	%edi,%ecx
8263	rorl	$5,%edx
8264	andl	%esi,%ecx
8265	movl	%esi,28(%esp)
8266	xorl	%esi,%edx
8267	addl	8(%esp),%ebx
8268	xorl	%ecx,%edi
8269	rorl	$6,%edx
8270	movl	%ebp,%esi
8271	addl	%edi,%ebx
8272	rorl	$9,%esi
8273	movl	%ebp,%ecx
8274	movl	16(%esp),%edi
8275	xorl	%ebp,%esi
8276	movl	%ebp,12(%esp)
8277	xorl	%edi,%ebp
8278	rorl	$11,%esi
8279	andl	%ebp,%eax
8280	leal	3584528711(%ebx,%edx,1),%edx
8281	xorl	%ecx,%esi
8282	xorl	%edi,%eax
8283	movl	92(%esp),%ecx
8284	rorl	$2,%esi
8285	addl	%edx,%eax
8286	addl	24(%esp),%edx
8287	addl	%esi,%eax
8288	movl	80(%esp),%esi
8289	movl	%ecx,%ebx
8290	rorl	$11,%ecx
8291	movl	%esi,%edi
8292	rorl	$2,%esi
8293	xorl	%ebx,%ecx
8294	shrl	$3,%ebx
8295	rorl	$7,%ecx
8296	xorl	%edi,%esi
8297	xorl	%ecx,%ebx
8298	rorl	$17,%esi
8299	addl	88(%esp),%ebx
8300	shrl	$10,%edi
8301	addl	60(%esp),%ebx
8302	movl	%edx,%ecx
8303	xorl	%esi,%edi
8304	movl	28(%esp),%esi
8305	rorl	$14,%edx
8306	addl	%edi,%ebx
8307	movl	(%esp),%edi
8308	xorl	%ecx,%edx
8309	movl	%ebx,88(%esp)
8310	xorl	%edi,%esi
8311	rorl	$5,%edx
8312	andl	%ecx,%esi
8313	movl	%ecx,24(%esp)
8314	xorl	%ecx,%edx
8315	addl	4(%esp),%ebx
8316	xorl	%esi,%edi
8317	rorl	$6,%edx
8318	movl	%eax,%ecx
8319	addl	%edi,%ebx
8320	rorl	$9,%ecx
8321	movl	%eax,%esi
8322	movl	12(%esp),%edi
8323	xorl	%eax,%ecx
8324	movl	%eax,8(%esp)
8325	xorl	%edi,%eax
8326	rorl	$11,%ecx
8327	andl	%eax,%ebp
8328	leal	113926993(%ebx,%edx,1),%edx
8329	xorl	%esi,%ecx
8330	xorl	%edi,%ebp
8331	movl	32(%esp),%esi
8332	rorl	$2,%ecx
8333	addl	%edx,%ebp
8334	addl	20(%esp),%edx
8335	addl	%ecx,%ebp
8336	movl	84(%esp),%ecx
8337	movl	%esi,%ebx
8338	rorl	$11,%esi
8339	movl	%ecx,%edi
8340	rorl	$2,%ecx
8341	xorl	%ebx,%esi
8342	shrl	$3,%ebx
8343	rorl	$7,%esi
8344	xorl	%edi,%ecx
8345	xorl	%esi,%ebx
8346	rorl	$17,%ecx
8347	addl	92(%esp),%ebx
8348	shrl	$10,%edi
8349	addl	64(%esp),%ebx
8350	movl	%edx,%esi
8351	xorl	%ecx,%edi
8352	movl	24(%esp),%ecx
8353	rorl	$14,%edx
8354	addl	%edi,%ebx
8355	movl	28(%esp),%edi
8356	xorl	%esi,%edx
8357	movl	%ebx,92(%esp)
8358	xorl	%edi,%ecx
8359	rorl	$5,%edx
8360	andl	%esi,%ecx
8361	movl	%esi,20(%esp)
8362	xorl	%esi,%edx
8363	addl	(%esp),%ebx
8364	xorl	%ecx,%edi
8365	rorl	$6,%edx
8366	movl	%ebp,%esi
8367	addl	%edi,%ebx
8368	rorl	$9,%esi
8369	movl	%ebp,%ecx
8370	movl	8(%esp),%edi
8371	xorl	%ebp,%esi
8372	movl	%ebp,4(%esp)
8373	xorl	%edi,%ebp
8374	rorl	$11,%esi
8375	andl	%ebp,%eax
8376	leal	338241895(%ebx,%edx,1),%edx
8377	xorl	%ecx,%esi
8378	xorl	%edi,%eax
8379	movl	36(%esp),%ecx
8380	rorl	$2,%esi
8381	addl	%edx,%eax
8382	addl	16(%esp),%edx
8383	addl	%esi,%eax
8384	movl	88(%esp),%esi
8385	movl	%ecx,%ebx
8386	rorl	$11,%ecx
8387	movl	%esi,%edi
8388	rorl	$2,%esi
8389	xorl	%ebx,%ecx
8390	shrl	$3,%ebx
8391	rorl	$7,%ecx
8392	xorl	%edi,%esi
8393	xorl	%ecx,%ebx
8394	rorl	$17,%esi
8395	addl	32(%esp),%ebx
8396	shrl	$10,%edi
8397	addl	68(%esp),%ebx
8398	movl	%edx,%ecx
8399	xorl	%esi,%edi
8400	movl	20(%esp),%esi
8401	rorl	$14,%edx
8402	addl	%edi,%ebx
8403	movl	24(%esp),%edi
8404	xorl	%ecx,%edx
8405	movl	%ebx,32(%esp)
8406	xorl	%edi,%esi
8407	rorl	$5,%edx
8408	andl	%ecx,%esi
8409	movl	%ecx,16(%esp)
8410	xorl	%ecx,%edx
8411	addl	28(%esp),%ebx
8412	xorl	%esi,%edi
8413	rorl	$6,%edx
8414	movl	%eax,%ecx
8415	addl	%edi,%ebx
8416	rorl	$9,%ecx
8417	movl	%eax,%esi
8418	movl	4(%esp),%edi
8419	xorl	%eax,%ecx
8420	movl	%eax,(%esp)
8421	xorl	%edi,%eax
8422	rorl	$11,%ecx
8423	andl	%eax,%ebp
8424	leal	666307205(%ebx,%edx,1),%edx
8425	xorl	%esi,%ecx
8426	xorl	%edi,%ebp
8427	movl	40(%esp),%esi
8428	rorl	$2,%ecx
8429	addl	%edx,%ebp
8430	addl	12(%esp),%edx
8431	addl	%ecx,%ebp
8432	movl	92(%esp),%ecx
8433	movl	%esi,%ebx
8434	rorl	$11,%esi
8435	movl	%ecx,%edi
8436	rorl	$2,%ecx
8437	xorl	%ebx,%esi
8438	shrl	$3,%ebx
8439	rorl	$7,%esi
8440	xorl	%edi,%ecx
8441	xorl	%esi,%ebx
8442	rorl	$17,%ecx
8443	addl	36(%esp),%ebx
8444	shrl	$10,%edi
8445	addl	72(%esp),%ebx
8446	movl	%edx,%esi
8447	xorl	%ecx,%edi
8448	movl	16(%esp),%ecx
8449	rorl	$14,%edx
8450	addl	%edi,%ebx
8451	movl	20(%esp),%edi
8452	xorl	%esi,%edx
8453	movl	%ebx,36(%esp)
8454	xorl	%edi,%ecx
8455	rorl	$5,%edx
8456	andl	%esi,%ecx
8457	movl	%esi,12(%esp)
8458	xorl	%esi,%edx
8459	addl	24(%esp),%ebx
8460	xorl	%ecx,%edi
8461	rorl	$6,%edx
8462	movl	%ebp,%esi
8463	addl	%edi,%ebx
8464	rorl	$9,%esi
8465	movl	%ebp,%ecx
8466	movl	(%esp),%edi
8467	xorl	%ebp,%esi
8468	movl	%ebp,28(%esp)
8469	xorl	%edi,%ebp
8470	rorl	$11,%esi
8471	andl	%ebp,%eax
8472	leal	773529912(%ebx,%edx,1),%edx
8473	xorl	%ecx,%esi
8474	xorl	%edi,%eax
8475	movl	44(%esp),%ecx
8476	rorl	$2,%esi
8477	addl	%edx,%eax
8478	addl	8(%esp),%edx
8479	addl	%esi,%eax
8480	movl	32(%esp),%esi
8481	movl	%ecx,%ebx
8482	rorl	$11,%ecx
8483	movl	%esi,%edi
8484	rorl	$2,%esi
8485	xorl	%ebx,%ecx
8486	shrl	$3,%ebx
8487	rorl	$7,%ecx
8488	xorl	%edi,%esi
8489	xorl	%ecx,%ebx
8490	rorl	$17,%esi
8491	addl	40(%esp),%ebx
8492	shrl	$10,%edi
8493	addl	76(%esp),%ebx
8494	movl	%edx,%ecx
8495	xorl	%esi,%edi
8496	movl	12(%esp),%esi
8497	rorl	$14,%edx
8498	addl	%edi,%ebx
8499	movl	16(%esp),%edi
8500	xorl	%ecx,%edx
8501	movl	%ebx,40(%esp)
8502	xorl	%edi,%esi
8503	rorl	$5,%edx
8504	andl	%ecx,%esi
8505	movl	%ecx,8(%esp)
8506	xorl	%ecx,%edx
8507	addl	20(%esp),%ebx
8508	xorl	%esi,%edi
8509	rorl	$6,%edx
8510	movl	%eax,%ecx
8511	addl	%edi,%ebx
8512	rorl	$9,%ecx
8513	movl	%eax,%esi
8514	movl	28(%esp),%edi
8515	xorl	%eax,%ecx
8516	movl	%eax,24(%esp)
8517	xorl	%edi,%eax
8518	rorl	$11,%ecx
8519	andl	%eax,%ebp
8520	leal	1294757372(%ebx,%edx,1),%edx
8521	xorl	%esi,%ecx
8522	xorl	%edi,%ebp
8523	movl	48(%esp),%esi
8524	rorl	$2,%ecx
8525	addl	%edx,%ebp
8526	addl	4(%esp),%edx
8527	addl	%ecx,%ebp
8528	movl	36(%esp),%ecx
8529	movl	%esi,%ebx
8530	rorl	$11,%esi
8531	movl	%ecx,%edi
8532	rorl	$2,%ecx
8533	xorl	%ebx,%esi
8534	shrl	$3,%ebx
8535	rorl	$7,%esi
8536	xorl	%edi,%ecx
8537	xorl	%esi,%ebx
8538	rorl	$17,%ecx
8539	addl	44(%esp),%ebx
8540	shrl	$10,%edi
8541	addl	80(%esp),%ebx
8542	movl	%edx,%esi
8543	xorl	%ecx,%edi
8544	movl	8(%esp),%ecx
8545	rorl	$14,%edx
8546	addl	%edi,%ebx
8547	movl	12(%esp),%edi
8548	xorl	%esi,%edx
8549	movl	%ebx,44(%esp)
8550	xorl	%edi,%ecx
8551	rorl	$5,%edx
8552	andl	%esi,%ecx
8553	movl	%esi,4(%esp)
8554	xorl	%esi,%edx
8555	addl	16(%esp),%ebx
8556	xorl	%ecx,%edi
8557	rorl	$6,%edx
8558	movl	%ebp,%esi
8559	addl	%edi,%ebx
8560	rorl	$9,%esi
8561	movl	%ebp,%ecx
8562	movl	24(%esp),%edi
8563	xorl	%ebp,%esi
8564	movl	%ebp,20(%esp)
8565	xorl	%edi,%ebp
8566	rorl	$11,%esi
8567	andl	%ebp,%eax
8568	leal	1396182291(%ebx,%edx,1),%edx
8569	xorl	%ecx,%esi
8570	xorl	%edi,%eax
8571	movl	52(%esp),%ecx
8572	rorl	$2,%esi
8573	addl	%edx,%eax
8574	addl	(%esp),%edx
8575	addl	%esi,%eax
8576	movl	40(%esp),%esi
8577	movl	%ecx,%ebx
8578	rorl	$11,%ecx
8579	movl	%esi,%edi
8580	rorl	$2,%esi
8581	xorl	%ebx,%ecx
8582	shrl	$3,%ebx
8583	rorl	$7,%ecx
8584	xorl	%edi,%esi
8585	xorl	%ecx,%ebx
8586	rorl	$17,%esi
8587	addl	48(%esp),%ebx
8588	shrl	$10,%edi
8589	addl	84(%esp),%ebx
8590	movl	%edx,%ecx
8591	xorl	%esi,%edi
8592	movl	4(%esp),%esi
8593	rorl	$14,%edx
8594	addl	%edi,%ebx
8595	movl	8(%esp),%edi
8596	xorl	%ecx,%edx
8597	movl	%ebx,48(%esp)
8598	xorl	%edi,%esi
8599	rorl	$5,%edx
8600	andl	%ecx,%esi
8601	movl	%ecx,(%esp)
8602	xorl	%ecx,%edx
8603	addl	12(%esp),%ebx
8604	xorl	%esi,%edi
8605	rorl	$6,%edx
8606	movl	%eax,%ecx
8607	addl	%edi,%ebx
8608	rorl	$9,%ecx
8609	movl	%eax,%esi
8610	movl	20(%esp),%edi
8611	xorl	%eax,%ecx
8612	movl	%eax,16(%esp)
8613	xorl	%edi,%eax
8614	rorl	$11,%ecx
8615	andl	%eax,%ebp
8616	leal	1695183700(%ebx,%edx,1),%edx
8617	xorl	%esi,%ecx
8618	xorl	%edi,%ebp
8619	movl	56(%esp),%esi
8620	rorl	$2,%ecx
8621	addl	%edx,%ebp
8622	addl	28(%esp),%edx
8623	addl	%ecx,%ebp
8624	movl	44(%esp),%ecx
8625	movl	%esi,%ebx
8626	rorl	$11,%esi
8627	movl	%ecx,%edi
8628	rorl	$2,%ecx
8629	xorl	%ebx,%esi
8630	shrl	$3,%ebx
8631	rorl	$7,%esi
8632	xorl	%edi,%ecx
8633	xorl	%esi,%ebx
8634	rorl	$17,%ecx
8635	addl	52(%esp),%ebx
8636	shrl	$10,%edi
8637	addl	88(%esp),%ebx
8638	movl	%edx,%esi
8639	xorl	%ecx,%edi
8640	movl	(%esp),%ecx
8641	rorl	$14,%edx
8642	addl	%edi,%ebx
8643	movl	4(%esp),%edi
8644	xorl	%esi,%edx
8645	movl	%ebx,52(%esp)
8646	xorl	%edi,%ecx
8647	rorl	$5,%edx
8648	andl	%esi,%ecx
8649	movl	%esi,28(%esp)
8650	xorl	%esi,%edx
8651	addl	8(%esp),%ebx
8652	xorl	%ecx,%edi
8653	rorl	$6,%edx
8654	movl	%ebp,%esi
8655	addl	%edi,%ebx
8656	rorl	$9,%esi
8657	movl	%ebp,%ecx
8658	movl	16(%esp),%edi
8659	xorl	%ebp,%esi
8660	movl	%ebp,12(%esp)
8661	xorl	%edi,%ebp
8662	rorl	$11,%esi
8663	andl	%ebp,%eax
8664	leal	1986661051(%ebx,%edx,1),%edx
8665	xorl	%ecx,%esi
8666	xorl	%edi,%eax
8667	movl	60(%esp),%ecx
8668	rorl	$2,%esi
8669	addl	%edx,%eax
8670	addl	24(%esp),%edx
8671	addl	%esi,%eax
8672	movl	48(%esp),%esi
8673	movl	%ecx,%ebx
8674	rorl	$11,%ecx
8675	movl	%esi,%edi
8676	rorl	$2,%esi
8677	xorl	%ebx,%ecx
8678	shrl	$3,%ebx
8679	rorl	$7,%ecx
8680	xorl	%edi,%esi
8681	xorl	%ecx,%ebx
8682	rorl	$17,%esi
8683	addl	56(%esp),%ebx
8684	shrl	$10,%edi
8685	addl	92(%esp),%ebx
8686	movl	%edx,%ecx
8687	xorl	%esi,%edi
8688	movl	28(%esp),%esi
8689	rorl	$14,%edx
8690	addl	%edi,%ebx
8691	movl	(%esp),%edi
8692	xorl	%ecx,%edx
8693	movl	%ebx,56(%esp)
8694	xorl	%edi,%esi
8695	rorl	$5,%edx
8696	andl	%ecx,%esi
8697	movl	%ecx,24(%esp)
8698	xorl	%ecx,%edx
8699	addl	4(%esp),%ebx
8700	xorl	%esi,%edi
8701	rorl	$6,%edx
8702	movl	%eax,%ecx
8703	addl	%edi,%ebx
8704	rorl	$9,%ecx
8705	movl	%eax,%esi
8706	movl	12(%esp),%edi
8707	xorl	%eax,%ecx
8708	movl	%eax,8(%esp)
8709	xorl	%edi,%eax
8710	rorl	$11,%ecx
8711	andl	%eax,%ebp
8712	leal	2177026350(%ebx,%edx,1),%edx
8713	xorl	%esi,%ecx
8714	xorl	%edi,%ebp
8715	movl	64(%esp),%esi
8716	rorl	$2,%ecx
8717	addl	%edx,%ebp
8718	addl	20(%esp),%edx
8719	addl	%ecx,%ebp
8720	movl	52(%esp),%ecx
8721	movl	%esi,%ebx
8722	rorl	$11,%esi
8723	movl	%ecx,%edi
8724	rorl	$2,%ecx
8725	xorl	%ebx,%esi
8726	shrl	$3,%ebx
8727	rorl	$7,%esi
8728	xorl	%edi,%ecx
8729	xorl	%esi,%ebx
8730	rorl	$17,%ecx
8731	addl	60(%esp),%ebx
8732	shrl	$10,%edi
8733	addl	32(%esp),%ebx
8734	movl	%edx,%esi
8735	xorl	%ecx,%edi
8736	movl	24(%esp),%ecx
8737	rorl	$14,%edx
8738	addl	%edi,%ebx
8739	movl	28(%esp),%edi
8740	xorl	%esi,%edx
8741	movl	%ebx,60(%esp)
8742	xorl	%edi,%ecx
8743	rorl	$5,%edx
8744	andl	%esi,%ecx
8745	movl	%esi,20(%esp)
8746	xorl	%esi,%edx
8747	addl	(%esp),%ebx
8748	xorl	%ecx,%edi
8749	rorl	$6,%edx
8750	movl	%ebp,%esi
8751	addl	%edi,%ebx
8752	rorl	$9,%esi
8753	movl	%ebp,%ecx
8754	movl	8(%esp),%edi
8755	xorl	%ebp,%esi
8756	movl	%ebp,4(%esp)
8757	xorl	%edi,%ebp
8758	rorl	$11,%esi
8759	andl	%ebp,%eax
8760	leal	2456956037(%ebx,%edx,1),%edx
8761	xorl	%ecx,%esi
8762	xorl	%edi,%eax
8763	movl	68(%esp),%ecx
8764	rorl	$2,%esi
8765	addl	%edx,%eax
8766	addl	16(%esp),%edx
8767	addl	%esi,%eax
8768	movl	56(%esp),%esi
8769	movl	%ecx,%ebx
8770	rorl	$11,%ecx
8771	movl	%esi,%edi
8772	rorl	$2,%esi
8773	xorl	%ebx,%ecx
8774	shrl	$3,%ebx
8775	rorl	$7,%ecx
8776	xorl	%edi,%esi
8777	xorl	%ecx,%ebx
8778	rorl	$17,%esi
8779	addl	64(%esp),%ebx
8780	shrl	$10,%edi
8781	addl	36(%esp),%ebx
8782	movl	%edx,%ecx
8783	xorl	%esi,%edi
8784	movl	20(%esp),%esi
8785	rorl	$14,%edx
8786	addl	%edi,%ebx
8787	movl	24(%esp),%edi
8788	xorl	%ecx,%edx
8789	movl	%ebx,64(%esp)
8790	xorl	%edi,%esi
8791	rorl	$5,%edx
8792	andl	%ecx,%esi
8793	movl	%ecx,16(%esp)
8794	xorl	%ecx,%edx
8795	addl	28(%esp),%ebx
8796	xorl	%esi,%edi
8797	rorl	$6,%edx
8798	movl	%eax,%ecx
8799	addl	%edi,%ebx
8800	rorl	$9,%ecx
8801	movl	%eax,%esi
8802	movl	4(%esp),%edi
8803	xorl	%eax,%ecx
8804	movl	%eax,(%esp)
8805	xorl	%edi,%eax
8806	rorl	$11,%ecx
8807	andl	%eax,%ebp
8808	leal	2730485921(%ebx,%edx,1),%edx
8809	xorl	%esi,%ecx
8810	xorl	%edi,%ebp
8811	movl	72(%esp),%esi
8812	rorl	$2,%ecx
8813	addl	%edx,%ebp
8814	addl	12(%esp),%edx
8815	addl	%ecx,%ebp
8816	movl	60(%esp),%ecx
8817	movl	%esi,%ebx
8818	rorl	$11,%esi
8819	movl	%ecx,%edi
8820	rorl	$2,%ecx
8821	xorl	%ebx,%esi
8822	shrl	$3,%ebx
8823	rorl	$7,%esi
8824	xorl	%edi,%ecx
8825	xorl	%esi,%ebx
8826	rorl	$17,%ecx
8827	addl	68(%esp),%ebx
8828	shrl	$10,%edi
8829	addl	40(%esp),%ebx
8830	movl	%edx,%esi
8831	xorl	%ecx,%edi
8832	movl	16(%esp),%ecx
8833	rorl	$14,%edx
8834	addl	%edi,%ebx
8835	movl	20(%esp),%edi
8836	xorl	%esi,%edx
8837	movl	%ebx,68(%esp)
8838	xorl	%edi,%ecx
8839	rorl	$5,%edx
8840	andl	%esi,%ecx
8841	movl	%esi,12(%esp)
8842	xorl	%esi,%edx
8843	addl	24(%esp),%ebx
8844	xorl	%ecx,%edi
8845	rorl	$6,%edx
8846	movl	%ebp,%esi
8847	addl	%edi,%ebx
8848	rorl	$9,%esi
8849	movl	%ebp,%ecx
8850	movl	(%esp),%edi
8851	xorl	%ebp,%esi
8852	movl	%ebp,28(%esp)
8853	xorl	%edi,%ebp
8854	rorl	$11,%esi
8855	andl	%ebp,%eax
8856	leal	2820302411(%ebx,%edx,1),%edx
8857	xorl	%ecx,%esi
8858	xorl	%edi,%eax
8859	movl	76(%esp),%ecx
8860	rorl	$2,%esi
8861	addl	%edx,%eax
8862	addl	8(%esp),%edx
8863	addl	%esi,%eax
8864	movl	64(%esp),%esi
8865	movl	%ecx,%ebx
8866	rorl	$11,%ecx
8867	movl	%esi,%edi
8868	rorl	$2,%esi
8869	xorl	%ebx,%ecx
8870	shrl	$3,%ebx
8871	rorl	$7,%ecx
8872	xorl	%edi,%esi
8873	xorl	%ecx,%ebx
8874	rorl	$17,%esi
8875	addl	72(%esp),%ebx
8876	shrl	$10,%edi
8877	addl	44(%esp),%ebx
8878	movl	%edx,%ecx
8879	xorl	%esi,%edi
8880	movl	12(%esp),%esi
8881	rorl	$14,%edx
8882	addl	%edi,%ebx
8883	movl	16(%esp),%edi
8884	xorl	%ecx,%edx
8885	movl	%ebx,72(%esp)
8886	xorl	%edi,%esi
8887	rorl	$5,%edx
8888	andl	%ecx,%esi
8889	movl	%ecx,8(%esp)
8890	xorl	%ecx,%edx
8891	addl	20(%esp),%ebx
8892	xorl	%esi,%edi
8893	rorl	$6,%edx
8894	movl	%eax,%ecx
8895	addl	%edi,%ebx
8896	rorl	$9,%ecx
8897	movl	%eax,%esi
8898	movl	28(%esp),%edi
8899	xorl	%eax,%ecx
8900	movl	%eax,24(%esp)
8901	xorl	%edi,%eax
8902	rorl	$11,%ecx
8903	andl	%eax,%ebp
8904	leal	3259730800(%ebx,%edx,1),%edx
8905	xorl	%esi,%ecx
8906	xorl	%edi,%ebp
8907	movl	80(%esp),%esi
8908	rorl	$2,%ecx
8909	addl	%edx,%ebp
8910	addl	4(%esp),%edx
8911	addl	%ecx,%ebp
8912	movl	68(%esp),%ecx
8913	movl	%esi,%ebx
8914	rorl	$11,%esi
8915	movl	%ecx,%edi
8916	rorl	$2,%ecx
8917	xorl	%ebx,%esi
8918	shrl	$3,%ebx
8919	rorl	$7,%esi
8920	xorl	%edi,%ecx
8921	xorl	%esi,%ebx
8922	rorl	$17,%ecx
8923	addl	76(%esp),%ebx
8924	shrl	$10,%edi
8925	addl	48(%esp),%ebx
8926	movl	%edx,%esi
8927	xorl	%ecx,%edi
8928	movl	8(%esp),%ecx
8929	rorl	$14,%edx
8930	addl	%edi,%ebx
8931	movl	12(%esp),%edi
8932	xorl	%esi,%edx
8933	movl	%ebx,76(%esp)
8934	xorl	%edi,%ecx
8935	rorl	$5,%edx
8936	andl	%esi,%ecx
8937	movl	%esi,4(%esp)
8938	xorl	%esi,%edx
8939	addl	16(%esp),%ebx
8940	xorl	%ecx,%edi
8941	rorl	$6,%edx
8942	movl	%ebp,%esi
8943	addl	%edi,%ebx
8944	rorl	$9,%esi
8945	movl	%ebp,%ecx
8946	movl	24(%esp),%edi
8947	xorl	%ebp,%esi
8948	movl	%ebp,20(%esp)
8949	xorl	%edi,%ebp
8950	rorl	$11,%esi
8951	andl	%ebp,%eax
8952	leal	3345764771(%ebx,%edx,1),%edx
8953	xorl	%ecx,%esi
8954	xorl	%edi,%eax
8955	movl	84(%esp),%ecx
8956	rorl	$2,%esi
8957	addl	%edx,%eax
8958	addl	(%esp),%edx
8959	addl	%esi,%eax
8960	movl	72(%esp),%esi
8961	movl	%ecx,%ebx
8962	rorl	$11,%ecx
8963	movl	%esi,%edi
8964	rorl	$2,%esi
8965	xorl	%ebx,%ecx
8966	shrl	$3,%ebx
8967	rorl	$7,%ecx
8968	xorl	%edi,%esi
8969	xorl	%ecx,%ebx
8970	rorl	$17,%esi
8971	addl	80(%esp),%ebx
8972	shrl	$10,%edi
8973	addl	52(%esp),%ebx
8974	movl	%edx,%ecx
8975	xorl	%esi,%edi
8976	movl	4(%esp),%esi
8977	rorl	$14,%edx
8978	addl	%edi,%ebx
8979	movl	8(%esp),%edi
8980	xorl	%ecx,%edx
8981	movl	%ebx,80(%esp)
8982	xorl	%edi,%esi
8983	rorl	$5,%edx
8984	andl	%ecx,%esi
8985	movl	%ecx,(%esp)
8986	xorl	%ecx,%edx
8987	addl	12(%esp),%ebx
8988	xorl	%esi,%edi
8989	rorl	$6,%edx
8990	movl	%eax,%ecx
8991	addl	%edi,%ebx
8992	rorl	$9,%ecx
8993	movl	%eax,%esi
8994	movl	20(%esp),%edi
8995	xorl	%eax,%ecx
8996	movl	%eax,16(%esp)
8997	xorl	%edi,%eax
8998	rorl	$11,%ecx
8999	andl	%eax,%ebp
9000	leal	3516065817(%ebx,%edx,1),%edx
9001	xorl	%esi,%ecx
9002	xorl	%edi,%ebp
9003	movl	88(%esp),%esi
9004	rorl	$2,%ecx
9005	addl	%edx,%ebp
9006	addl	28(%esp),%edx
9007	addl	%ecx,%ebp
9008	movl	76(%esp),%ecx
9009	movl	%esi,%ebx
9010	rorl	$11,%esi
9011	movl	%ecx,%edi
9012	rorl	$2,%ecx
9013	xorl	%ebx,%esi
9014	shrl	$3,%ebx
9015	rorl	$7,%esi
9016	xorl	%edi,%ecx
9017	xorl	%esi,%ebx
9018	rorl	$17,%ecx
9019	addl	84(%esp),%ebx
9020	shrl	$10,%edi
9021	addl	56(%esp),%ebx
9022	movl	%edx,%esi
9023	xorl	%ecx,%edi
9024	movl	(%esp),%ecx
9025	rorl	$14,%edx
9026	addl	%edi,%ebx
9027	movl	4(%esp),%edi
9028	xorl	%esi,%edx
9029	movl	%ebx,84(%esp)
9030	xorl	%edi,%ecx
9031	rorl	$5,%edx
9032	andl	%esi,%ecx
9033	movl	%esi,28(%esp)
9034	xorl	%esi,%edx
9035	addl	8(%esp),%ebx
9036	xorl	%ecx,%edi
9037	rorl	$6,%edx
9038	movl	%ebp,%esi
9039	addl	%edi,%ebx
9040	rorl	$9,%esi
9041	movl	%ebp,%ecx
9042	movl	16(%esp),%edi
9043	xorl	%ebp,%esi
9044	movl	%ebp,12(%esp)
9045	xorl	%edi,%ebp
9046	rorl	$11,%esi
9047	andl	%ebp,%eax
9048	leal	3600352804(%ebx,%edx,1),%edx
9049	xorl	%ecx,%esi
9050	xorl	%edi,%eax
9051	movl	92(%esp),%ecx
9052	rorl	$2,%esi
9053	addl	%edx,%eax
9054	addl	24(%esp),%edx
9055	addl	%esi,%eax
9056	movl	80(%esp),%esi
9057	movl	%ecx,%ebx
9058	rorl	$11,%ecx
9059	movl	%esi,%edi
9060	rorl	$2,%esi
9061	xorl	%ebx,%ecx
9062	shrl	$3,%ebx
9063	rorl	$7,%ecx
9064	xorl	%edi,%esi
9065	xorl	%ecx,%ebx
9066	rorl	$17,%esi
9067	addl	88(%esp),%ebx
9068	shrl	$10,%edi
9069	addl	60(%esp),%ebx
9070	movl	%edx,%ecx
9071	xorl	%esi,%edi
9072	movl	28(%esp),%esi
9073	rorl	$14,%edx
9074	addl	%edi,%ebx
9075	movl	(%esp),%edi
9076	xorl	%ecx,%edx
9077	movl	%ebx,88(%esp)
9078	xorl	%edi,%esi
9079	rorl	$5,%edx
9080	andl	%ecx,%esi
9081	movl	%ecx,24(%esp)
9082	xorl	%ecx,%edx
9083	addl	4(%esp),%ebx
9084	xorl	%esi,%edi
9085	rorl	$6,%edx
9086	movl	%eax,%ecx
9087	addl	%edi,%ebx
9088	rorl	$9,%ecx
9089	movl	%eax,%esi
9090	movl	12(%esp),%edi
9091	xorl	%eax,%ecx
9092	movl	%eax,8(%esp)
9093	xorl	%edi,%eax
9094	rorl	$11,%ecx
9095	andl	%eax,%ebp
9096	leal	4094571909(%ebx,%edx,1),%edx
9097	xorl	%esi,%ecx
9098	xorl	%edi,%ebp
9099	movl	32(%esp),%esi
9100	rorl	$2,%ecx
9101	addl	%edx,%ebp
9102	addl	20(%esp),%edx
9103	addl	%ecx,%ebp
9104	movl	84(%esp),%ecx
9105	movl	%esi,%ebx
9106	rorl	$11,%esi
9107	movl	%ecx,%edi
9108	rorl	$2,%ecx
9109	xorl	%ebx,%esi
9110	shrl	$3,%ebx
9111	rorl	$7,%esi
9112	xorl	%edi,%ecx
9113	xorl	%esi,%ebx
9114	rorl	$17,%ecx
9115	addl	92(%esp),%ebx
9116	shrl	$10,%edi
9117	addl	64(%esp),%ebx
9118	movl	%edx,%esi
9119	xorl	%ecx,%edi
9120	movl	24(%esp),%ecx
9121	rorl	$14,%edx
9122	addl	%edi,%ebx
9123	movl	28(%esp),%edi
9124	xorl	%esi,%edx
9125	movl	%ebx,92(%esp)
9126	xorl	%edi,%ecx
9127	rorl	$5,%edx
9128	andl	%esi,%ecx
9129	movl	%esi,20(%esp)
9130	xorl	%esi,%edx
9131	addl	(%esp),%ebx
9132	xorl	%ecx,%edi
9133	rorl	$6,%edx
9134	movl	%ebp,%esi
9135	addl	%edi,%ebx
9136	rorl	$9,%esi
9137	movl	%ebp,%ecx
9138	movl	8(%esp),%edi
9139	xorl	%ebp,%esi
9140	movl	%ebp,4(%esp)
9141	xorl	%edi,%ebp
9142	rorl	$11,%esi
9143	andl	%ebp,%eax
9144	leal	275423344(%ebx,%edx,1),%edx
9145	xorl	%ecx,%esi
9146	xorl	%edi,%eax
9147	movl	36(%esp),%ecx
9148	rorl	$2,%esi
9149	addl	%edx,%eax
9150	addl	16(%esp),%edx
9151	addl	%esi,%eax
9152	movl	88(%esp),%esi
9153	movl	%ecx,%ebx
9154	rorl	$11,%ecx
9155	movl	%esi,%edi
9156	rorl	$2,%esi
9157	xorl	%ebx,%ecx
9158	shrl	$3,%ebx
9159	rorl	$7,%ecx
9160	xorl	%edi,%esi
9161	xorl	%ecx,%ebx
9162	rorl	$17,%esi
9163	addl	32(%esp),%ebx
9164	shrl	$10,%edi
9165	addl	68(%esp),%ebx
9166	movl	%edx,%ecx
9167	xorl	%esi,%edi
9168	movl	20(%esp),%esi
9169	rorl	$14,%edx
9170	addl	%edi,%ebx
9171	movl	24(%esp),%edi
9172	xorl	%ecx,%edx
9173	movl	%ebx,32(%esp)
9174	xorl	%edi,%esi
9175	rorl	$5,%edx
9176	andl	%ecx,%esi
9177	movl	%ecx,16(%esp)
9178	xorl	%ecx,%edx
9179	addl	28(%esp),%ebx
9180	xorl	%esi,%edi
9181	rorl	$6,%edx
9182	movl	%eax,%ecx
9183	addl	%edi,%ebx
9184	rorl	$9,%ecx
9185	movl	%eax,%esi
9186	movl	4(%esp),%edi
9187	xorl	%eax,%ecx
9188	movl	%eax,(%esp)
9189	xorl	%edi,%eax
9190	rorl	$11,%ecx
9191	andl	%eax,%ebp
9192	leal	430227734(%ebx,%edx,1),%edx
9193	xorl	%esi,%ecx
9194	xorl	%edi,%ebp
9195	movl	40(%esp),%esi
9196	rorl	$2,%ecx
9197	addl	%edx,%ebp
9198	addl	12(%esp),%edx
9199	addl	%ecx,%ebp
9200	movl	92(%esp),%ecx
9201	movl	%esi,%ebx
9202	rorl	$11,%esi
9203	movl	%ecx,%edi
9204	rorl	$2,%ecx
9205	xorl	%ebx,%esi
9206	shrl	$3,%ebx
9207	rorl	$7,%esi
9208	xorl	%edi,%ecx
9209	xorl	%esi,%ebx
9210	rorl	$17,%ecx
9211	addl	36(%esp),%ebx
9212	shrl	$10,%edi
9213	addl	72(%esp),%ebx
9214	movl	%edx,%esi
9215	xorl	%ecx,%edi
9216	movl	16(%esp),%ecx
9217	rorl	$14,%edx
9218	addl	%edi,%ebx
9219	movl	20(%esp),%edi
9220	xorl	%esi,%edx
9221	movl	%ebx,36(%esp)
9222	xorl	%edi,%ecx
9223	rorl	$5,%edx
9224	andl	%esi,%ecx
9225	movl	%esi,12(%esp)
9226	xorl	%esi,%edx
9227	addl	24(%esp),%ebx
9228	xorl	%ecx,%edi
9229	rorl	$6,%edx
9230	movl	%ebp,%esi
9231	addl	%edi,%ebx
9232	rorl	$9,%esi
9233	movl	%ebp,%ecx
9234	movl	(%esp),%edi
9235	xorl	%ebp,%esi
9236	movl	%ebp,28(%esp)
9237	xorl	%edi,%ebp
9238	rorl	$11,%esi
9239	andl	%ebp,%eax
9240	leal	506948616(%ebx,%edx,1),%edx
9241	xorl	%ecx,%esi
9242	xorl	%edi,%eax
9243	movl	44(%esp),%ecx
9244	rorl	$2,%esi
9245	addl	%edx,%eax
9246	addl	8(%esp),%edx
9247	addl	%esi,%eax
9248	movl	32(%esp),%esi
9249	movl	%ecx,%ebx
9250	rorl	$11,%ecx
9251	movl	%esi,%edi
9252	rorl	$2,%esi
9253	xorl	%ebx,%ecx
9254	shrl	$3,%ebx
9255	rorl	$7,%ecx
9256	xorl	%edi,%esi
9257	xorl	%ecx,%ebx
9258	rorl	$17,%esi
9259	addl	40(%esp),%ebx
9260	shrl	$10,%edi
9261	addl	76(%esp),%ebx
9262	movl	%edx,%ecx
9263	xorl	%esi,%edi
9264	movl	12(%esp),%esi
9265	rorl	$14,%edx
9266	addl	%edi,%ebx
9267	movl	16(%esp),%edi
9268	xorl	%ecx,%edx
9269	movl	%ebx,40(%esp)
9270	xorl	%edi,%esi
9271	rorl	$5,%edx
9272	andl	%ecx,%esi
9273	movl	%ecx,8(%esp)
9274	xorl	%ecx,%edx
9275	addl	20(%esp),%ebx
9276	xorl	%esi,%edi
9277	rorl	$6,%edx
9278	movl	%eax,%ecx
9279	addl	%edi,%ebx
9280	rorl	$9,%ecx
9281	movl	%eax,%esi
9282	movl	28(%esp),%edi
9283	xorl	%eax,%ecx
9284	movl	%eax,24(%esp)
9285	xorl	%edi,%eax
9286	rorl	$11,%ecx
9287	andl	%eax,%ebp
9288	leal	659060556(%ebx,%edx,1),%edx
9289	xorl	%esi,%ecx
9290	xorl	%edi,%ebp
9291	movl	48(%esp),%esi
9292	rorl	$2,%ecx
9293	addl	%edx,%ebp
9294	addl	4(%esp),%edx
9295	addl	%ecx,%ebp
9296	movl	36(%esp),%ecx
9297	movl	%esi,%ebx
9298	rorl	$11,%esi
9299	movl	%ecx,%edi
9300	rorl	$2,%ecx
9301	xorl	%ebx,%esi
9302	shrl	$3,%ebx
9303	rorl	$7,%esi
9304	xorl	%edi,%ecx
9305	xorl	%esi,%ebx
9306	rorl	$17,%ecx
9307	addl	44(%esp),%ebx
9308	shrl	$10,%edi
9309	addl	80(%esp),%ebx
9310	movl	%edx,%esi
9311	xorl	%ecx,%edi
9312	movl	8(%esp),%ecx
9313	rorl	$14,%edx
9314	addl	%edi,%ebx
9315	movl	12(%esp),%edi
9316	xorl	%esi,%edx
9317	movl	%ebx,44(%esp)
9318	xorl	%edi,%ecx
9319	rorl	$5,%edx
9320	andl	%esi,%ecx
9321	movl	%esi,4(%esp)
9322	xorl	%esi,%edx
9323	addl	16(%esp),%ebx
9324	xorl	%ecx,%edi
9325	rorl	$6,%edx
9326	movl	%ebp,%esi
9327	addl	%edi,%ebx
9328	rorl	$9,%esi
9329	movl	%ebp,%ecx
9330	movl	24(%esp),%edi
9331	xorl	%ebp,%esi
9332	movl	%ebp,20(%esp)
9333	xorl	%edi,%ebp
9334	rorl	$11,%esi
9335	andl	%ebp,%eax
9336	leal	883997877(%ebx,%edx,1),%edx
9337	xorl	%ecx,%esi
9338	xorl	%edi,%eax
9339	movl	52(%esp),%ecx
9340	rorl	$2,%esi
9341	addl	%edx,%eax
9342	addl	(%esp),%edx
9343	addl	%esi,%eax
9344	movl	40(%esp),%esi
9345	movl	%ecx,%ebx
9346	rorl	$11,%ecx
9347	movl	%esi,%edi
9348	rorl	$2,%esi
9349	xorl	%ebx,%ecx
9350	shrl	$3,%ebx
9351	rorl	$7,%ecx
9352	xorl	%edi,%esi
9353	xorl	%ecx,%ebx
9354	rorl	$17,%esi
9355	addl	48(%esp),%ebx
9356	shrl	$10,%edi
9357	addl	84(%esp),%ebx
9358	movl	%edx,%ecx
9359	xorl	%esi,%edi
9360	movl	4(%esp),%esi
9361	rorl	$14,%edx
9362	addl	%edi,%ebx
9363	movl	8(%esp),%edi
9364	xorl	%ecx,%edx
9365	movl	%ebx,48(%esp)
9366	xorl	%edi,%esi
9367	rorl	$5,%edx
9368	andl	%ecx,%esi
9369	movl	%ecx,(%esp)
9370	xorl	%ecx,%edx
9371	addl	12(%esp),%ebx
9372	xorl	%esi,%edi
9373	rorl	$6,%edx
9374	movl	%eax,%ecx
9375	addl	%edi,%ebx
9376	rorl	$9,%ecx
9377	movl	%eax,%esi
9378	movl	20(%esp),%edi
9379	xorl	%eax,%ecx
9380	movl	%eax,16(%esp)
9381	xorl	%edi,%eax
9382	rorl	$11,%ecx
9383	andl	%eax,%ebp
9384	leal	958139571(%ebx,%edx,1),%edx
9385	xorl	%esi,%ecx
9386	xorl	%edi,%ebp
9387	movl	56(%esp),%esi
9388	rorl	$2,%ecx
9389	addl	%edx,%ebp
9390	addl	28(%esp),%edx
9391	addl	%ecx,%ebp
9392	movl	44(%esp),%ecx
9393	movl	%esi,%ebx
9394	rorl	$11,%esi
9395	movl	%ecx,%edi
9396	rorl	$2,%ecx
9397	xorl	%ebx,%esi
9398	shrl	$3,%ebx
9399	rorl	$7,%esi
9400	xorl	%edi,%ecx
9401	xorl	%esi,%ebx
9402	rorl	$17,%ecx
9403	addl	52(%esp),%ebx
9404	shrl	$10,%edi
9405	addl	88(%esp),%ebx
9406	movl	%edx,%esi
9407	xorl	%ecx,%edi
9408	movl	(%esp),%ecx
9409	rorl	$14,%edx
9410	addl	%edi,%ebx
9411	movl	4(%esp),%edi
9412	xorl	%esi,%edx
9413	movl	%ebx,52(%esp)
9414	xorl	%edi,%ecx
9415	rorl	$5,%edx
9416	andl	%esi,%ecx
9417	movl	%esi,28(%esp)
9418	xorl	%esi,%edx
9419	addl	8(%esp),%ebx
9420	xorl	%ecx,%edi
9421	rorl	$6,%edx
9422	movl	%ebp,%esi
9423	addl	%edi,%ebx
9424	rorl	$9,%esi
9425	movl	%ebp,%ecx
9426	movl	16(%esp),%edi
9427	xorl	%ebp,%esi
9428	movl	%ebp,12(%esp)
9429	xorl	%edi,%ebp
9430	rorl	$11,%esi
9431	andl	%ebp,%eax
9432	leal	1322822218(%ebx,%edx,1),%edx
9433	xorl	%ecx,%esi
9434	xorl	%edi,%eax
9435	movl	60(%esp),%ecx
9436	rorl	$2,%esi
9437	addl	%edx,%eax
9438	addl	24(%esp),%edx
9439	addl	%esi,%eax
9440	movl	48(%esp),%esi
9441	movl	%ecx,%ebx
9442	rorl	$11,%ecx
9443	movl	%esi,%edi
9444	rorl	$2,%esi
9445	xorl	%ebx,%ecx
9446	shrl	$3,%ebx
9447	rorl	$7,%ecx
9448	xorl	%edi,%esi
9449	xorl	%ecx,%ebx
9450	rorl	$17,%esi
9451	addl	56(%esp),%ebx
9452	shrl	$10,%edi
9453	addl	92(%esp),%ebx
9454	movl	%edx,%ecx
9455	xorl	%esi,%edi
9456	movl	28(%esp),%esi
9457	rorl	$14,%edx
9458	addl	%edi,%ebx
9459	movl	(%esp),%edi
9460	xorl	%ecx,%edx
9461	movl	%ebx,56(%esp)
9462	xorl	%edi,%esi
9463	rorl	$5,%edx
9464	andl	%ecx,%esi
9465	movl	%ecx,24(%esp)
9466	xorl	%ecx,%edx
9467	addl	4(%esp),%ebx
9468	xorl	%esi,%edi
9469	rorl	$6,%edx
9470	movl	%eax,%ecx
9471	addl	%edi,%ebx
9472	rorl	$9,%ecx
9473	movl	%eax,%esi
9474	movl	12(%esp),%edi
9475	xorl	%eax,%ecx
9476	movl	%eax,8(%esp)
9477	xorl	%edi,%eax
9478	rorl	$11,%ecx
9479	andl	%eax,%ebp
9480	leal	1537002063(%ebx,%edx,1),%edx
9481	xorl	%esi,%ecx
9482	xorl	%edi,%ebp
9483	movl	64(%esp),%esi
9484	rorl	$2,%ecx
9485	addl	%edx,%ebp
9486	addl	20(%esp),%edx
9487	addl	%ecx,%ebp
9488	movl	52(%esp),%ecx
9489	movl	%esi,%ebx
9490	rorl	$11,%esi
9491	movl	%ecx,%edi
9492	rorl	$2,%ecx
9493	xorl	%ebx,%esi
9494	shrl	$3,%ebx
9495	rorl	$7,%esi
9496	xorl	%edi,%ecx
9497	xorl	%esi,%ebx
9498	rorl	$17,%ecx
9499	addl	60(%esp),%ebx
9500	shrl	$10,%edi
9501	addl	32(%esp),%ebx
9502	movl	%edx,%esi
9503	xorl	%ecx,%edi
9504	movl	24(%esp),%ecx
9505	rorl	$14,%edx
9506	addl	%edi,%ebx
9507	movl	28(%esp),%edi
9508	xorl	%esi,%edx
9509	movl	%ebx,60(%esp)
9510	xorl	%edi,%ecx
9511	rorl	$5,%edx
9512	andl	%esi,%ecx
9513	movl	%esi,20(%esp)
9514	xorl	%esi,%edx
9515	addl	(%esp),%ebx
9516	xorl	%ecx,%edi
9517	rorl	$6,%edx
9518	movl	%ebp,%esi
9519	addl	%edi,%ebx
9520	rorl	$9,%esi
9521	movl	%ebp,%ecx
9522	movl	8(%esp),%edi
9523	xorl	%ebp,%esi
9524	movl	%ebp,4(%esp)
9525	xorl	%edi,%ebp
9526	rorl	$11,%esi
9527	andl	%ebp,%eax
9528	leal	1747873779(%ebx,%edx,1),%edx
9529	xorl	%ecx,%esi
9530	xorl	%edi,%eax
9531	movl	68(%esp),%ecx
9532	rorl	$2,%esi
9533	addl	%edx,%eax
9534	addl	16(%esp),%edx
9535	addl	%esi,%eax
9536	movl	56(%esp),%esi
9537	movl	%ecx,%ebx
9538	rorl	$11,%ecx
9539	movl	%esi,%edi
9540	rorl	$2,%esi
9541	xorl	%ebx,%ecx
9542	shrl	$3,%ebx
9543	rorl	$7,%ecx
9544	xorl	%edi,%esi
9545	xorl	%ecx,%ebx
9546	rorl	$17,%esi
9547	addl	64(%esp),%ebx
9548	shrl	$10,%edi
9549	addl	36(%esp),%ebx
9550	movl	%edx,%ecx
9551	xorl	%esi,%edi
9552	movl	20(%esp),%esi
9553	rorl	$14,%edx
9554	addl	%edi,%ebx
9555	movl	24(%esp),%edi
9556	xorl	%ecx,%edx
9557	movl	%ebx,64(%esp)
9558	xorl	%edi,%esi
9559	rorl	$5,%edx
9560	andl	%ecx,%esi
9561	movl	%ecx,16(%esp)
9562	xorl	%ecx,%edx
9563	addl	28(%esp),%ebx
9564	xorl	%esi,%edi
9565	rorl	$6,%edx
9566	movl	%eax,%ecx
9567	addl	%edi,%ebx
9568	rorl	$9,%ecx
9569	movl	%eax,%esi
9570	movl	4(%esp),%edi
9571	xorl	%eax,%ecx
9572	movl	%eax,(%esp)
9573	xorl	%edi,%eax
9574	rorl	$11,%ecx
9575	andl	%eax,%ebp
9576	leal	1955562222(%ebx,%edx,1),%edx
9577	xorl	%esi,%ecx
9578	xorl	%edi,%ebp
9579	movl	72(%esp),%esi
9580	rorl	$2,%ecx
9581	addl	%edx,%ebp
9582	addl	12(%esp),%edx
9583	addl	%ecx,%ebp
9584	movl	60(%esp),%ecx
9585	movl	%esi,%ebx
9586	rorl	$11,%esi
9587	movl	%ecx,%edi
9588	rorl	$2,%ecx
9589	xorl	%ebx,%esi
9590	shrl	$3,%ebx
9591	rorl	$7,%esi
9592	xorl	%edi,%ecx
9593	xorl	%esi,%ebx
9594	rorl	$17,%ecx
9595	addl	68(%esp),%ebx
9596	shrl	$10,%edi
9597	addl	40(%esp),%ebx
9598	movl	%edx,%esi
9599	xorl	%ecx,%edi
9600	movl	16(%esp),%ecx
9601	rorl	$14,%edx
9602	addl	%edi,%ebx
9603	movl	20(%esp),%edi
9604	xorl	%esi,%edx
9605	movl	%ebx,68(%esp)
9606	xorl	%edi,%ecx
9607	rorl	$5,%edx
9608	andl	%esi,%ecx
9609	movl	%esi,12(%esp)
9610	xorl	%esi,%edx
9611	addl	24(%esp),%ebx
9612	xorl	%ecx,%edi
9613	rorl	$6,%edx
9614	movl	%ebp,%esi
9615	addl	%edi,%ebx
9616	rorl	$9,%esi
9617	movl	%ebp,%ecx
9618	movl	(%esp),%edi
9619	xorl	%ebp,%esi
9620	movl	%ebp,28(%esp)
9621	xorl	%edi,%ebp
9622	rorl	$11,%esi
9623	andl	%ebp,%eax
9624	leal	2024104815(%ebx,%edx,1),%edx
9625	xorl	%ecx,%esi
9626	xorl	%edi,%eax
9627	movl	76(%esp),%ecx
9628	rorl	$2,%esi
9629	addl	%edx,%eax
9630	addl	8(%esp),%edx
9631	addl	%esi,%eax
9632	movl	64(%esp),%esi
9633	movl	%ecx,%ebx
9634	rorl	$11,%ecx
9635	movl	%esi,%edi
9636	rorl	$2,%esi
9637	xorl	%ebx,%ecx
9638	shrl	$3,%ebx
9639	rorl	$7,%ecx
9640	xorl	%edi,%esi
9641	xorl	%ecx,%ebx
9642	rorl	$17,%esi
9643	addl	72(%esp),%ebx
9644	shrl	$10,%edi
9645	addl	44(%esp),%ebx
9646	movl	%edx,%ecx
9647	xorl	%esi,%edi
9648	movl	12(%esp),%esi
9649	rorl	$14,%edx
9650	addl	%edi,%ebx
9651	movl	16(%esp),%edi
9652	xorl	%ecx,%edx
9653	movl	%ebx,72(%esp)
9654	xorl	%edi,%esi
9655	rorl	$5,%edx
9656	andl	%ecx,%esi
9657	movl	%ecx,8(%esp)
9658	xorl	%ecx,%edx
9659	addl	20(%esp),%ebx
9660	xorl	%esi,%edi
9661	rorl	$6,%edx
9662	movl	%eax,%ecx
9663	addl	%edi,%ebx
9664	rorl	$9,%ecx
9665	movl	%eax,%esi
9666	movl	28(%esp),%edi
9667	xorl	%eax,%ecx
9668	movl	%eax,24(%esp)
9669	xorl	%edi,%eax
9670	rorl	$11,%ecx
9671	andl	%eax,%ebp
9672	leal	2227730452(%ebx,%edx,1),%edx
9673	xorl	%esi,%ecx
9674	xorl	%edi,%ebp
9675	movl	80(%esp),%esi
9676	rorl	$2,%ecx
9677	addl	%edx,%ebp
9678	addl	4(%esp),%edx
9679	addl	%ecx,%ebp
9680	movl	68(%esp),%ecx
9681	movl	%esi,%ebx
9682	rorl	$11,%esi
9683	movl	%ecx,%edi
9684	rorl	$2,%ecx
9685	xorl	%ebx,%esi
9686	shrl	$3,%ebx
9687	rorl	$7,%esi
9688	xorl	%edi,%ecx
9689	xorl	%esi,%ebx
9690	rorl	$17,%ecx
9691	addl	76(%esp),%ebx
9692	shrl	$10,%edi
9693	addl	48(%esp),%ebx
9694	movl	%edx,%esi
9695	xorl	%ecx,%edi
9696	movl	8(%esp),%ecx
9697	rorl	$14,%edx
9698	addl	%edi,%ebx
9699	movl	12(%esp),%edi
9700	xorl	%esi,%edx
9701	movl	%ebx,76(%esp)
9702	xorl	%edi,%ecx
9703	rorl	$5,%edx
9704	andl	%esi,%ecx
9705	movl	%esi,4(%esp)
9706	xorl	%esi,%edx
9707	addl	16(%esp),%ebx
9708	xorl	%ecx,%edi
9709	rorl	$6,%edx
9710	movl	%ebp,%esi
9711	addl	%edi,%ebx
9712	rorl	$9,%esi
9713	movl	%ebp,%ecx
9714	movl	24(%esp),%edi
9715	xorl	%ebp,%esi
9716	movl	%ebp,20(%esp)
9717	xorl	%edi,%ebp
9718	rorl	$11,%esi
9719	andl	%ebp,%eax
9720	leal	2361852424(%ebx,%edx,1),%edx
9721	xorl	%ecx,%esi
9722	xorl	%edi,%eax
9723	movl	84(%esp),%ecx
9724	rorl	$2,%esi
9725	addl	%edx,%eax
9726	addl	(%esp),%edx
9727	addl	%esi,%eax
9728	movl	72(%esp),%esi
9729	movl	%ecx,%ebx
9730	rorl	$11,%ecx
9731	movl	%esi,%edi
9732	rorl	$2,%esi
9733	xorl	%ebx,%ecx
9734	shrl	$3,%ebx
9735	rorl	$7,%ecx
9736	xorl	%edi,%esi
9737	xorl	%ecx,%ebx
9738	rorl	$17,%esi
9739	addl	80(%esp),%ebx
9740	shrl	$10,%edi
9741	addl	52(%esp),%ebx
9742	movl	%edx,%ecx
9743	xorl	%esi,%edi
9744	movl	4(%esp),%esi
9745	rorl	$14,%edx
9746	addl	%edi,%ebx
9747	movl	8(%esp),%edi
9748	xorl	%ecx,%edx
9749	movl	%ebx,80(%esp)
9750	xorl	%edi,%esi
9751	rorl	$5,%edx
9752	andl	%ecx,%esi
9753	movl	%ecx,(%esp)
9754	xorl	%ecx,%edx
9755	addl	12(%esp),%ebx
9756	xorl	%esi,%edi
9757	rorl	$6,%edx
9758	movl	%eax,%ecx
9759	addl	%edi,%ebx
9760	rorl	$9,%ecx
9761	movl	%eax,%esi
9762	movl	20(%esp),%edi
9763	xorl	%eax,%ecx
9764	movl	%eax,16(%esp)
9765	xorl	%edi,%eax
9766	rorl	$11,%ecx
9767	andl	%eax,%ebp
9768	leal	2428436474(%ebx,%edx,1),%edx
9769	xorl	%esi,%ecx
9770	xorl	%edi,%ebp
9771	movl	88(%esp),%esi
9772	rorl	$2,%ecx
9773	addl	%edx,%ebp
9774	addl	28(%esp),%edx
9775	addl	%ecx,%ebp
9776	movl	76(%esp),%ecx
9777	movl	%esi,%ebx
9778	rorl	$11,%esi
9779	movl	%ecx,%edi
9780	rorl	$2,%ecx
9781	xorl	%ebx,%esi
9782	shrl	$3,%ebx
9783	rorl	$7,%esi
9784	xorl	%edi,%ecx
9785	xorl	%esi,%ebx
9786	rorl	$17,%ecx
9787	addl	84(%esp),%ebx
9788	shrl	$10,%edi
9789	addl	56(%esp),%ebx
9790	movl	%edx,%esi
9791	xorl	%ecx,%edi
9792	movl	(%esp),%ecx
9793	rorl	$14,%edx
9794	addl	%edi,%ebx
9795	movl	4(%esp),%edi
9796	xorl	%esi,%edx
9797	movl	%ebx,84(%esp)
9798	xorl	%edi,%ecx
9799	rorl	$5,%edx
9800	andl	%esi,%ecx
9801	movl	%esi,28(%esp)
9802	xorl	%esi,%edx
9803	addl	8(%esp),%ebx
9804	xorl	%ecx,%edi
9805	rorl	$6,%edx
9806	movl	%ebp,%esi
9807	addl	%edi,%ebx
9808	rorl	$9,%esi
9809	movl	%ebp,%ecx
9810	movl	16(%esp),%edi
9811	xorl	%ebp,%esi
9812	movl	%ebp,12(%esp)
9813	xorl	%edi,%ebp
9814	rorl	$11,%esi
9815	andl	%ebp,%eax
9816	leal	2756734187(%ebx,%edx,1),%edx
9817	xorl	%ecx,%esi
9818	xorl	%edi,%eax
9819	movl	92(%esp),%ecx
9820	rorl	$2,%esi
9821	addl	%edx,%eax
9822	addl	24(%esp),%edx
9823	addl	%esi,%eax
9824	movl	80(%esp),%esi
9825	movl	%ecx,%ebx
9826	rorl	$11,%ecx
9827	movl	%esi,%edi
9828	rorl	$2,%esi
9829	xorl	%ebx,%ecx
9830	shrl	$3,%ebx
9831	rorl	$7,%ecx
9832	xorl	%edi,%esi
9833	xorl	%ecx,%ebx
9834	rorl	$17,%esi
9835	addl	88(%esp),%ebx
9836	shrl	$10,%edi
9837	addl	60(%esp),%ebx
9838	movl	%edx,%ecx
9839	xorl	%esi,%edi
9840	movl	28(%esp),%esi
9841	rorl	$14,%edx
9842	addl	%edi,%ebx
9843	movl	(%esp),%edi
9844	xorl	%ecx,%edx
9845	xorl	%edi,%esi
9846	rorl	$5,%edx
9847	andl	%ecx,%esi
9848	movl	%ecx,24(%esp)
9849	xorl	%ecx,%edx
9850	addl	4(%esp),%ebx
9851	xorl	%esi,%edi
9852	rorl	$6,%edx
9853	movl	%eax,%ecx
9854	addl	%edi,%ebx
9855	rorl	$9,%ecx
9856	movl	%eax,%esi
9857	movl	12(%esp),%edi
9858	xorl	%eax,%ecx
9859	movl	%eax,8(%esp)
9860	xorl	%edi,%eax
9861	rorl	$11,%ecx
9862	andl	%eax,%ebp
9863	leal	3204031479(%ebx,%edx,1),%edx
9864	xorl	%esi,%ecx
9865	xorl	%edi,%ebp
9866	movl	32(%esp),%esi
9867	rorl	$2,%ecx
9868	addl	%edx,%ebp
9869	addl	20(%esp),%edx
9870	addl	%ecx,%ebp
9871	movl	84(%esp),%ecx
9872	movl	%esi,%ebx
9873	rorl	$11,%esi
9874	movl	%ecx,%edi
9875	rorl	$2,%ecx
9876	xorl	%ebx,%esi
9877	shrl	$3,%ebx
9878	rorl	$7,%esi
9879	xorl	%edi,%ecx
9880	xorl	%esi,%ebx
9881	rorl	$17,%ecx
9882	addl	92(%esp),%ebx
9883	shrl	$10,%edi
9884	addl	64(%esp),%ebx
9885	movl	%edx,%esi
9886	xorl	%ecx,%edi
9887	movl	24(%esp),%ecx
9888	rorl	$14,%edx
9889	addl	%edi,%ebx
9890	movl	28(%esp),%edi
9891	xorl	%esi,%edx
9892	xorl	%edi,%ecx
9893	rorl	$5,%edx
9894	andl	%esi,%ecx
9895	movl	%esi,20(%esp)
9896	xorl	%esi,%edx
9897	addl	(%esp),%ebx
9898	xorl	%ecx,%edi
9899	rorl	$6,%edx
9900	movl	%ebp,%esi
9901	addl	%edi,%ebx
9902	rorl	$9,%esi
9903	movl	%ebp,%ecx
9904	movl	8(%esp),%edi
9905	xorl	%ebp,%esi
9906	movl	%ebp,4(%esp)
9907	xorl	%edi,%ebp
9908	rorl	$11,%esi
9909	andl	%ebp,%eax
9910	leal	3329325298(%ebx,%edx,1),%edx
9911	xorl	%ecx,%esi
9912	xorl	%edi,%eax
9913	rorl	$2,%esi
9914	addl	%edx,%eax
9915	addl	16(%esp),%edx
9916	addl	%esi,%eax
9917	movl	96(%esp),%esi
9918	xorl	%edi,%ebp
9919	movl	12(%esp),%ecx
9920	addl	(%esi),%eax
9921	addl	4(%esi),%ebp
9922	addl	8(%esi),%edi
9923	addl	12(%esi),%ecx
9924	movl	%eax,(%esi)
9925	movl	%ebp,4(%esi)
9926	movl	%edi,8(%esi)
9927	movl	%ecx,12(%esi)
9928	movl	%ebp,4(%esp)
9929	xorl	%edi,%ebp
9930	movl	%edi,8(%esp)
9931	movl	%ecx,12(%esp)
9932	movl	20(%esp),%edi
9933	movl	24(%esp),%ebx
9934	movl	28(%esp),%ecx
9935	addl	16(%esi),%edx
9936	addl	20(%esi),%edi
9937	addl	24(%esi),%ebx
9938	addl	28(%esi),%ecx
9939	movl	%edx,16(%esi)
9940	movl	%edi,20(%esi)
9941	movl	%ebx,24(%esi)
9942	movl	%ecx,28(%esi)
9943	movl	%edi,20(%esp)
9944	movl	100(%esp),%edi
9945	movl	%ebx,24(%esp)
9946	movl	%ecx,28(%esp)
9947	cmpl	104(%esp),%edi
9948	jb	.L010grand_loop
9949	movl	108(%esp),%esp
9950	popl	%edi
9951	popl	%esi
9952	popl	%ebx
9953	popl	%ebp
9954	ret
9955.align	32
9956.L004shaext:
9957	subl	$32,%esp
9958	movdqu	(%esi),%xmm1
9959	leal	128(%ebp),%ebp
9960	movdqu	16(%esi),%xmm2
9961	movdqa	128(%ebp),%xmm7
9962	pshufd	$27,%xmm1,%xmm0
9963	pshufd	$177,%xmm1,%xmm1
9964	pshufd	$27,%xmm2,%xmm2
9965.byte	102,15,58,15,202,8
9966	punpcklqdq	%xmm0,%xmm2
9967	jmp	.L011loop_shaext
9968.align	16
9969.L011loop_shaext:
9970	movdqu	(%edi),%xmm3
9971	movdqu	16(%edi),%xmm4
9972	movdqu	32(%edi),%xmm5
9973.byte	102,15,56,0,223
9974	movdqu	48(%edi),%xmm6
9975	movdqa	%xmm2,16(%esp)
9976	movdqa	-128(%ebp),%xmm0
9977	paddd	%xmm3,%xmm0
9978.byte	102,15,56,0,231
9979.byte	15,56,203,209
9980	pshufd	$14,%xmm0,%xmm0
9981	nop
9982	movdqa	%xmm1,(%esp)
9983.byte	15,56,203,202
9984	movdqa	-112(%ebp),%xmm0
9985	paddd	%xmm4,%xmm0
9986.byte	102,15,56,0,239
9987.byte	15,56,203,209
9988	pshufd	$14,%xmm0,%xmm0
9989	leal	64(%edi),%edi
9990.byte	15,56,204,220
9991.byte	15,56,203,202
9992	movdqa	-96(%ebp),%xmm0
9993	paddd	%xmm5,%xmm0
9994.byte	102,15,56,0,247
9995.byte	15,56,203,209
9996	pshufd	$14,%xmm0,%xmm0
9997	movdqa	%xmm6,%xmm7
9998.byte	102,15,58,15,253,4
9999	nop
10000	paddd	%xmm7,%xmm3
10001.byte	15,56,204,229
10002.byte	15,56,203,202
10003	movdqa	-80(%ebp),%xmm0
10004	paddd	%xmm6,%xmm0
10005.byte	15,56,205,222
10006.byte	15,56,203,209
10007	pshufd	$14,%xmm0,%xmm0
10008	movdqa	%xmm3,%xmm7
10009.byte	102,15,58,15,254,4
10010	nop
10011	paddd	%xmm7,%xmm4
10012.byte	15,56,204,238
10013.byte	15,56,203,202
10014	movdqa	-64(%ebp),%xmm0
10015	paddd	%xmm3,%xmm0
10016.byte	15,56,205,227
10017.byte	15,56,203,209
10018	pshufd	$14,%xmm0,%xmm0
10019	movdqa	%xmm4,%xmm7
10020.byte	102,15,58,15,251,4
10021	nop
10022	paddd	%xmm7,%xmm5
10023.byte	15,56,204,243
10024.byte	15,56,203,202
10025	movdqa	-48(%ebp),%xmm0
10026	paddd	%xmm4,%xmm0
10027.byte	15,56,205,236
10028.byte	15,56,203,209
10029	pshufd	$14,%xmm0,%xmm0
10030	movdqa	%xmm5,%xmm7
10031.byte	102,15,58,15,252,4
10032	nop
10033	paddd	%xmm7,%xmm6
10034.byte	15,56,204,220
10035.byte	15,56,203,202
10036	movdqa	-32(%ebp),%xmm0
10037	paddd	%xmm5,%xmm0
10038.byte	15,56,205,245
10039.byte	15,56,203,209
10040	pshufd	$14,%xmm0,%xmm0
10041	movdqa	%xmm6,%xmm7
10042.byte	102,15,58,15,253,4
10043	nop
10044	paddd	%xmm7,%xmm3
10045.byte	15,56,204,229
10046.byte	15,56,203,202
10047	movdqa	-16(%ebp),%xmm0
10048	paddd	%xmm6,%xmm0
10049.byte	15,56,205,222
10050.byte	15,56,203,209
10051	pshufd	$14,%xmm0,%xmm0
10052	movdqa	%xmm3,%xmm7
10053.byte	102,15,58,15,254,4
10054	nop
10055	paddd	%xmm7,%xmm4
10056.byte	15,56,204,238
10057.byte	15,56,203,202
10058	movdqa	(%ebp),%xmm0
10059	paddd	%xmm3,%xmm0
10060.byte	15,56,205,227
10061.byte	15,56,203,209
10062	pshufd	$14,%xmm0,%xmm0
10063	movdqa	%xmm4,%xmm7
10064.byte	102,15,58,15,251,4
10065	nop
10066	paddd	%xmm7,%xmm5
10067.byte	15,56,204,243
10068.byte	15,56,203,202
10069	movdqa	16(%ebp),%xmm0
10070	paddd	%xmm4,%xmm0
10071.byte	15,56,205,236
10072.byte	15,56,203,209
10073	pshufd	$14,%xmm0,%xmm0
10074	movdqa	%xmm5,%xmm7
10075.byte	102,15,58,15,252,4
10076	nop
10077	paddd	%xmm7,%xmm6
10078.byte	15,56,204,220
10079.byte	15,56,203,202
10080	movdqa	32(%ebp),%xmm0
10081	paddd	%xmm5,%xmm0
10082.byte	15,56,205,245
10083.byte	15,56,203,209
10084	pshufd	$14,%xmm0,%xmm0
10085	movdqa	%xmm6,%xmm7
10086.byte	102,15,58,15,253,4
10087	nop
10088	paddd	%xmm7,%xmm3
10089.byte	15,56,204,229
10090.byte	15,56,203,202
10091	movdqa	48(%ebp),%xmm0
10092	paddd	%xmm6,%xmm0
10093.byte	15,56,205,222
10094.byte	15,56,203,209
10095	pshufd	$14,%xmm0,%xmm0
10096	movdqa	%xmm3,%xmm7
10097.byte	102,15,58,15,254,4
10098	nop
10099	paddd	%xmm7,%xmm4
10100.byte	15,56,204,238
10101.byte	15,56,203,202
10102	movdqa	64(%ebp),%xmm0
10103	paddd	%xmm3,%xmm0
10104.byte	15,56,205,227
10105.byte	15,56,203,209
10106	pshufd	$14,%xmm0,%xmm0
10107	movdqa	%xmm4,%xmm7
10108.byte	102,15,58,15,251,4
10109	nop
10110	paddd	%xmm7,%xmm5
10111.byte	15,56,204,243
10112.byte	15,56,203,202
10113	movdqa	80(%ebp),%xmm0
10114	paddd	%xmm4,%xmm0
10115.byte	15,56,205,236
10116.byte	15,56,203,209
10117	pshufd	$14,%xmm0,%xmm0
10118	movdqa	%xmm5,%xmm7
10119.byte	102,15,58,15,252,4
10120.byte	15,56,203,202
10121	paddd	%xmm7,%xmm6
10122	movdqa	96(%ebp),%xmm0
10123	paddd	%xmm5,%xmm0
10124.byte	15,56,203,209
10125	pshufd	$14,%xmm0,%xmm0
10126.byte	15,56,205,245
10127	movdqa	128(%ebp),%xmm7
10128.byte	15,56,203,202
10129	movdqa	112(%ebp),%xmm0
10130	paddd	%xmm6,%xmm0
10131	nop
10132.byte	15,56,203,209
10133	pshufd	$14,%xmm0,%xmm0
10134	cmpl	%edi,%eax
10135	nop
10136.byte	15,56,203,202
10137	paddd	16(%esp),%xmm2
10138	paddd	(%esp),%xmm1
10139	jnz	.L011loop_shaext
10140	pshufd	$177,%xmm2,%xmm2
10141	pshufd	$27,%xmm1,%xmm7
10142	pshufd	$177,%xmm1,%xmm1
10143	punpckhqdq	%xmm2,%xmm1
10144.byte	102,15,58,15,215,8
10145	movl	44(%esp),%esp
10146	movdqu	%xmm1,(%esi)
10147	movdqu	%xmm2,16(%esi)
10148	popl	%edi
10149	popl	%esi
10150	popl	%ebx
10151	popl	%ebp
10152	ret
10153.align	32
10154.L006SSSE3:
10155	leal	-96(%esp),%esp
10156	movl	(%esi),%eax
10157	movl	4(%esi),%ebx
10158	movl	8(%esi),%ecx
10159	movl	12(%esi),%edi
10160	movl	%ebx,4(%esp)
10161	xorl	%ecx,%ebx
10162	movl	%ecx,8(%esp)
10163	movl	%edi,12(%esp)
10164	movl	16(%esi),%edx
10165	movl	20(%esi),%edi
10166	movl	24(%esi),%ecx
10167	movl	28(%esi),%esi
10168	movl	%edi,20(%esp)
10169	movl	100(%esp),%edi
10170	movl	%ecx,24(%esp)
10171	movl	%esi,28(%esp)
10172	movdqa	256(%ebp),%xmm7
10173	jmp	.L012grand_ssse3
10174.align	16
10175.L012grand_ssse3:
10176	movdqu	(%edi),%xmm0
10177	movdqu	16(%edi),%xmm1
10178	movdqu	32(%edi),%xmm2
10179	movdqu	48(%edi),%xmm3
10180	addl	$64,%edi
10181.byte	102,15,56,0,199
10182	movl	%edi,100(%esp)
10183.byte	102,15,56,0,207
10184	movdqa	(%ebp),%xmm4
10185.byte	102,15,56,0,215
10186	movdqa	16(%ebp),%xmm5
10187	paddd	%xmm0,%xmm4
10188.byte	102,15,56,0,223
10189	movdqa	32(%ebp),%xmm6
10190	paddd	%xmm1,%xmm5
10191	movdqa	48(%ebp),%xmm7
10192	movdqa	%xmm4,32(%esp)
10193	paddd	%xmm2,%xmm6
10194	movdqa	%xmm5,48(%esp)
10195	paddd	%xmm3,%xmm7
10196	movdqa	%xmm6,64(%esp)
10197	movdqa	%xmm7,80(%esp)
10198	jmp	.L013ssse3_00_47
10199.align	16
10200.L013ssse3_00_47:
10201	addl	$64,%ebp
10202	movl	%edx,%ecx
10203	movdqa	%xmm1,%xmm4
10204	rorl	$14,%edx
10205	movl	20(%esp),%esi
10206	movdqa	%xmm3,%xmm7
10207	xorl	%ecx,%edx
10208	movl	24(%esp),%edi
10209.byte	102,15,58,15,224,4
10210	xorl	%edi,%esi
10211	rorl	$5,%edx
10212	andl	%ecx,%esi
10213.byte	102,15,58,15,250,4
10214	movl	%ecx,16(%esp)
10215	xorl	%ecx,%edx
10216	xorl	%esi,%edi
10217	movdqa	%xmm4,%xmm5
10218	rorl	$6,%edx
10219	movl	%eax,%ecx
10220	movdqa	%xmm4,%xmm6
10221	addl	%edi,%edx
10222	movl	4(%esp),%edi
10223	psrld	$3,%xmm4
10224	movl	%eax,%esi
10225	rorl	$9,%ecx
10226	paddd	%xmm7,%xmm0
10227	movl	%eax,(%esp)
10228	xorl	%eax,%ecx
10229	psrld	$7,%xmm6
10230	xorl	%edi,%eax
10231	addl	28(%esp),%edx
10232	rorl	$11,%ecx
10233	andl	%eax,%ebx
10234	pshufd	$250,%xmm3,%xmm7
10235	xorl	%esi,%ecx
10236	addl	32(%esp),%edx
10237	pslld	$14,%xmm5
10238	xorl	%edi,%ebx
10239	rorl	$2,%ecx
10240	pxor	%xmm6,%xmm4
10241	addl	%edx,%ebx
10242	addl	12(%esp),%edx
10243	psrld	$11,%xmm6
10244	addl	%ecx,%ebx
10245	movl	%edx,%ecx
10246	rorl	$14,%edx
10247	pxor	%xmm5,%xmm4
10248	movl	16(%esp),%esi
10249	xorl	%ecx,%edx
10250	pslld	$11,%xmm5
10251	movl	20(%esp),%edi
10252	xorl	%edi,%esi
10253	rorl	$5,%edx
10254	pxor	%xmm6,%xmm4
10255	andl	%ecx,%esi
10256	movl	%ecx,12(%esp)
10257	movdqa	%xmm7,%xmm6
10258	xorl	%ecx,%edx
10259	xorl	%esi,%edi
10260	rorl	$6,%edx
10261	pxor	%xmm5,%xmm4
10262	movl	%ebx,%ecx
10263	addl	%edi,%edx
10264	psrld	$10,%xmm7
10265	movl	(%esp),%edi
10266	movl	%ebx,%esi
10267	rorl	$9,%ecx
10268	paddd	%xmm4,%xmm0
10269	movl	%ebx,28(%esp)
10270	xorl	%ebx,%ecx
10271	psrlq	$17,%xmm6
10272	xorl	%edi,%ebx
10273	addl	24(%esp),%edx
10274	rorl	$11,%ecx
10275	pxor	%xmm6,%xmm7
10276	andl	%ebx,%eax
10277	xorl	%esi,%ecx
10278	psrlq	$2,%xmm6
10279	addl	36(%esp),%edx
10280	xorl	%edi,%eax
10281	rorl	$2,%ecx
10282	pxor	%xmm6,%xmm7
10283	addl	%edx,%eax
10284	addl	8(%esp),%edx
10285	pshufd	$128,%xmm7,%xmm7
10286	addl	%ecx,%eax
10287	movl	%edx,%ecx
10288	rorl	$14,%edx
10289	movl	12(%esp),%esi
10290	xorl	%ecx,%edx
10291	movl	16(%esp),%edi
10292	xorl	%edi,%esi
10293	rorl	$5,%edx
10294	andl	%ecx,%esi
10295	psrldq	$8,%xmm7
10296	movl	%ecx,8(%esp)
10297	xorl	%ecx,%edx
10298	xorl	%esi,%edi
10299	paddd	%xmm7,%xmm0
10300	rorl	$6,%edx
10301	movl	%eax,%ecx
10302	addl	%edi,%edx
10303	movl	28(%esp),%edi
10304	movl	%eax,%esi
10305	rorl	$9,%ecx
10306	movl	%eax,24(%esp)
10307	pshufd	$80,%xmm0,%xmm7
10308	xorl	%eax,%ecx
10309	xorl	%edi,%eax
10310	addl	20(%esp),%edx
10311	movdqa	%xmm7,%xmm6
10312	rorl	$11,%ecx
10313	psrld	$10,%xmm7
10314	andl	%eax,%ebx
10315	psrlq	$17,%xmm6
10316	xorl	%esi,%ecx
10317	addl	40(%esp),%edx
10318	xorl	%edi,%ebx
10319	rorl	$2,%ecx
10320	pxor	%xmm6,%xmm7
10321	addl	%edx,%ebx
10322	addl	4(%esp),%edx
10323	psrlq	$2,%xmm6
10324	addl	%ecx,%ebx
10325	movl	%edx,%ecx
10326	rorl	$14,%edx
10327	pxor	%xmm6,%xmm7
10328	movl	8(%esp),%esi
10329	xorl	%ecx,%edx
10330	movl	12(%esp),%edi
10331	pshufd	$8,%xmm7,%xmm7
10332	xorl	%edi,%esi
10333	rorl	$5,%edx
10334	movdqa	(%ebp),%xmm6
10335	andl	%ecx,%esi
10336	movl	%ecx,4(%esp)
10337	pslldq	$8,%xmm7
10338	xorl	%ecx,%edx
10339	xorl	%esi,%edi
10340	rorl	$6,%edx
10341	movl	%ebx,%ecx
10342	addl	%edi,%edx
10343	movl	24(%esp),%edi
10344	movl	%ebx,%esi
10345	rorl	$9,%ecx
10346	paddd	%xmm7,%xmm0
10347	movl	%ebx,20(%esp)
10348	xorl	%ebx,%ecx
10349	xorl	%edi,%ebx
10350	addl	16(%esp),%edx
10351	paddd	%xmm0,%xmm6
10352	rorl	$11,%ecx
10353	andl	%ebx,%eax
10354	xorl	%esi,%ecx
10355	addl	44(%esp),%edx
10356	xorl	%edi,%eax
10357	rorl	$2,%ecx
10358	addl	%edx,%eax
10359	addl	(%esp),%edx
10360	addl	%ecx,%eax
10361	movdqa	%xmm6,32(%esp)
10362	movl	%edx,%ecx
10363	movdqa	%xmm2,%xmm4
10364	rorl	$14,%edx
10365	movl	4(%esp),%esi
10366	movdqa	%xmm0,%xmm7
10367	xorl	%ecx,%edx
10368	movl	8(%esp),%edi
10369.byte	102,15,58,15,225,4
10370	xorl	%edi,%esi
10371	rorl	$5,%edx
10372	andl	%ecx,%esi
10373.byte	102,15,58,15,251,4
10374	movl	%ecx,(%esp)
10375	xorl	%ecx,%edx
10376	xorl	%esi,%edi
10377	movdqa	%xmm4,%xmm5
10378	rorl	$6,%edx
10379	movl	%eax,%ecx
10380	movdqa	%xmm4,%xmm6
10381	addl	%edi,%edx
10382	movl	20(%esp),%edi
10383	psrld	$3,%xmm4
10384	movl	%eax,%esi
10385	rorl	$9,%ecx
10386	paddd	%xmm7,%xmm1
10387	movl	%eax,16(%esp)
10388	xorl	%eax,%ecx
10389	psrld	$7,%xmm6
10390	xorl	%edi,%eax
10391	addl	12(%esp),%edx
10392	rorl	$11,%ecx
10393	andl	%eax,%ebx
10394	pshufd	$250,%xmm0,%xmm7
10395	xorl	%esi,%ecx
10396	addl	48(%esp),%edx
10397	pslld	$14,%xmm5
10398	xorl	%edi,%ebx
10399	rorl	$2,%ecx
10400	pxor	%xmm6,%xmm4
10401	addl	%edx,%ebx
10402	addl	28(%esp),%edx
10403	psrld	$11,%xmm6
10404	addl	%ecx,%ebx
10405	movl	%edx,%ecx
10406	rorl	$14,%edx
10407	pxor	%xmm5,%xmm4
10408	movl	(%esp),%esi
10409	xorl	%ecx,%edx
10410	pslld	$11,%xmm5
10411	movl	4(%esp),%edi
10412	xorl	%edi,%esi
10413	rorl	$5,%edx
10414	pxor	%xmm6,%xmm4
10415	andl	%ecx,%esi
10416	movl	%ecx,28(%esp)
10417	movdqa	%xmm7,%xmm6
10418	xorl	%ecx,%edx
10419	xorl	%esi,%edi
10420	rorl	$6,%edx
10421	pxor	%xmm5,%xmm4
10422	movl	%ebx,%ecx
10423	addl	%edi,%edx
10424	psrld	$10,%xmm7
10425	movl	16(%esp),%edi
10426	movl	%ebx,%esi
10427	rorl	$9,%ecx
10428	paddd	%xmm4,%xmm1
10429	movl	%ebx,12(%esp)
10430	xorl	%ebx,%ecx
10431	psrlq	$17,%xmm6
10432	xorl	%edi,%ebx
10433	addl	8(%esp),%edx
10434	rorl	$11,%ecx
10435	pxor	%xmm6,%xmm7
10436	andl	%ebx,%eax
10437	xorl	%esi,%ecx
10438	psrlq	$2,%xmm6
10439	addl	52(%esp),%edx
10440	xorl	%edi,%eax
10441	rorl	$2,%ecx
10442	pxor	%xmm6,%xmm7
10443	addl	%edx,%eax
10444	addl	24(%esp),%edx
10445	pshufd	$128,%xmm7,%xmm7
10446	addl	%ecx,%eax
10447	movl	%edx,%ecx
10448	rorl	$14,%edx
10449	movl	28(%esp),%esi
10450	xorl	%ecx,%edx
10451	movl	(%esp),%edi
10452	xorl	%edi,%esi
10453	rorl	$5,%edx
10454	andl	%ecx,%esi
10455	psrldq	$8,%xmm7
10456	movl	%ecx,24(%esp)
10457	xorl	%ecx,%edx
10458	xorl	%esi,%edi
10459	paddd	%xmm7,%xmm1
10460	rorl	$6,%edx
10461	movl	%eax,%ecx
10462	addl	%edi,%edx
10463	movl	12(%esp),%edi
10464	movl	%eax,%esi
10465	rorl	$9,%ecx
10466	movl	%eax,8(%esp)
10467	pshufd	$80,%xmm1,%xmm7
10468	xorl	%eax,%ecx
10469	xorl	%edi,%eax
10470	addl	4(%esp),%edx
10471	movdqa	%xmm7,%xmm6
10472	rorl	$11,%ecx
10473	psrld	$10,%xmm7
10474	andl	%eax,%ebx
10475	psrlq	$17,%xmm6
10476	xorl	%esi,%ecx
10477	addl	56(%esp),%edx
10478	xorl	%edi,%ebx
10479	rorl	$2,%ecx
10480	pxor	%xmm6,%xmm7
10481	addl	%edx,%ebx
10482	addl	20(%esp),%edx
10483	psrlq	$2,%xmm6
10484	addl	%ecx,%ebx
10485	movl	%edx,%ecx
10486	rorl	$14,%edx
10487	pxor	%xmm6,%xmm7
10488	movl	24(%esp),%esi
10489	xorl	%ecx,%edx
10490	movl	28(%esp),%edi
10491	pshufd	$8,%xmm7,%xmm7
10492	xorl	%edi,%esi
10493	rorl	$5,%edx
10494	movdqa	16(%ebp),%xmm6
10495	andl	%ecx,%esi
10496	movl	%ecx,20(%esp)
10497	pslldq	$8,%xmm7
10498	xorl	%ecx,%edx
10499	xorl	%esi,%edi
10500	rorl	$6,%edx
10501	movl	%ebx,%ecx
10502	addl	%edi,%edx
10503	movl	8(%esp),%edi
10504	movl	%ebx,%esi
10505	rorl	$9,%ecx
10506	paddd	%xmm7,%xmm1
10507	movl	%ebx,4(%esp)
10508	xorl	%ebx,%ecx
10509	xorl	%edi,%ebx
10510	addl	(%esp),%edx
10511	paddd	%xmm1,%xmm6
10512	rorl	$11,%ecx
10513	andl	%ebx,%eax
10514	xorl	%esi,%ecx
10515	addl	60(%esp),%edx
10516	xorl	%edi,%eax
10517	rorl	$2,%ecx
10518	addl	%edx,%eax
10519	addl	16(%esp),%edx
10520	addl	%ecx,%eax
10521	movdqa	%xmm6,48(%esp)
10522	movl	%edx,%ecx
10523	movdqa	%xmm3,%xmm4
10524	rorl	$14,%edx
10525	movl	20(%esp),%esi
10526	movdqa	%xmm1,%xmm7
10527	xorl	%ecx,%edx
10528	movl	24(%esp),%edi
10529.byte	102,15,58,15,226,4
10530	xorl	%edi,%esi
10531	rorl	$5,%edx
10532	andl	%ecx,%esi
10533.byte	102,15,58,15,248,4
10534	movl	%ecx,16(%esp)
10535	xorl	%ecx,%edx
10536	xorl	%esi,%edi
10537	movdqa	%xmm4,%xmm5
10538	rorl	$6,%edx
10539	movl	%eax,%ecx
10540	movdqa	%xmm4,%xmm6
10541	addl	%edi,%edx
10542	movl	4(%esp),%edi
10543	psrld	$3,%xmm4
10544	movl	%eax,%esi
10545	rorl	$9,%ecx
10546	paddd	%xmm7,%xmm2
10547	movl	%eax,(%esp)
10548	xorl	%eax,%ecx
10549	psrld	$7,%xmm6
10550	xorl	%edi,%eax
10551	addl	28(%esp),%edx
10552	rorl	$11,%ecx
10553	andl	%eax,%ebx
10554	pshufd	$250,%xmm1,%xmm7
10555	xorl	%esi,%ecx
10556	addl	64(%esp),%edx
10557	pslld	$14,%xmm5
10558	xorl	%edi,%ebx
10559	rorl	$2,%ecx
10560	pxor	%xmm6,%xmm4
10561	addl	%edx,%ebx
10562	addl	12(%esp),%edx
10563	psrld	$11,%xmm6
10564	addl	%ecx,%ebx
10565	movl	%edx,%ecx
10566	rorl	$14,%edx
10567	pxor	%xmm5,%xmm4
10568	movl	16(%esp),%esi
10569	xorl	%ecx,%edx
10570	pslld	$11,%xmm5
10571	movl	20(%esp),%edi
10572	xorl	%edi,%esi
10573	rorl	$5,%edx
10574	pxor	%xmm6,%xmm4
10575	andl	%ecx,%esi
10576	movl	%ecx,12(%esp)
10577	movdqa	%xmm7,%xmm6
10578	xorl	%ecx,%edx
10579	xorl	%esi,%edi
10580	rorl	$6,%edx
10581	pxor	%xmm5,%xmm4
10582	movl	%ebx,%ecx
10583	addl	%edi,%edx
10584	psrld	$10,%xmm7
10585	movl	(%esp),%edi
10586	movl	%ebx,%esi
10587	rorl	$9,%ecx
10588	paddd	%xmm4,%xmm2
10589	movl	%ebx,28(%esp)
10590	xorl	%ebx,%ecx
10591	psrlq	$17,%xmm6
10592	xorl	%edi,%ebx
10593	addl	24(%esp),%edx
10594	rorl	$11,%ecx
10595	pxor	%xmm6,%xmm7
10596	andl	%ebx,%eax
10597	xorl	%esi,%ecx
10598	psrlq	$2,%xmm6
10599	addl	68(%esp),%edx
10600	xorl	%edi,%eax
10601	rorl	$2,%ecx
10602	pxor	%xmm6,%xmm7
10603	addl	%edx,%eax
10604	addl	8(%esp),%edx
10605	pshufd	$128,%xmm7,%xmm7
10606	addl	%ecx,%eax
10607	movl	%edx,%ecx
10608	rorl	$14,%edx
10609	movl	12(%esp),%esi
10610	xorl	%ecx,%edx
10611	movl	16(%esp),%edi
10612	xorl	%edi,%esi
10613	rorl	$5,%edx
10614	andl	%ecx,%esi
10615	psrldq	$8,%xmm7
10616	movl	%ecx,8(%esp)
10617	xorl	%ecx,%edx
10618	xorl	%esi,%edi
10619	paddd	%xmm7,%xmm2
10620	rorl	$6,%edx
10621	movl	%eax,%ecx
10622	addl	%edi,%edx
10623	movl	28(%esp),%edi
10624	movl	%eax,%esi
10625	rorl	$9,%ecx
10626	movl	%eax,24(%esp)
10627	pshufd	$80,%xmm2,%xmm7
10628	xorl	%eax,%ecx
10629	xorl	%edi,%eax
10630	addl	20(%esp),%edx
10631	movdqa	%xmm7,%xmm6
10632	rorl	$11,%ecx
10633	psrld	$10,%xmm7
10634	andl	%eax,%ebx
10635	psrlq	$17,%xmm6
10636	xorl	%esi,%ecx
10637	addl	72(%esp),%edx
10638	xorl	%edi,%ebx
10639	rorl	$2,%ecx
10640	pxor	%xmm6,%xmm7
10641	addl	%edx,%ebx
10642	addl	4(%esp),%edx
10643	psrlq	$2,%xmm6
10644	addl	%ecx,%ebx
10645	movl	%edx,%ecx
10646	rorl	$14,%edx
10647	pxor	%xmm6,%xmm7
10648	movl	8(%esp),%esi
10649	xorl	%ecx,%edx
10650	movl	12(%esp),%edi
10651	pshufd	$8,%xmm7,%xmm7
10652	xorl	%edi,%esi
10653	rorl	$5,%edx
10654	movdqa	32(%ebp),%xmm6
10655	andl	%ecx,%esi
10656	movl	%ecx,4(%esp)
10657	pslldq	$8,%xmm7
10658	xorl	%ecx,%edx
10659	xorl	%esi,%edi
10660	rorl	$6,%edx
10661	movl	%ebx,%ecx
10662	addl	%edi,%edx
10663	movl	24(%esp),%edi
10664	movl	%ebx,%esi
10665	rorl	$9,%ecx
10666	paddd	%xmm7,%xmm2
10667	movl	%ebx,20(%esp)
10668	xorl	%ebx,%ecx
10669	xorl	%edi,%ebx
10670	addl	16(%esp),%edx
10671	paddd	%xmm2,%xmm6
10672	rorl	$11,%ecx
10673	andl	%ebx,%eax
10674	xorl	%esi,%ecx
10675	addl	76(%esp),%edx
10676	xorl	%edi,%eax
10677	rorl	$2,%ecx
10678	addl	%edx,%eax
10679	addl	(%esp),%edx
10680	addl	%ecx,%eax
10681	movdqa	%xmm6,64(%esp)
10682	movl	%edx,%ecx
10683	movdqa	%xmm0,%xmm4
10684	rorl	$14,%edx
10685	movl	4(%esp),%esi
10686	movdqa	%xmm2,%xmm7
10687	xorl	%ecx,%edx
10688	movl	8(%esp),%edi
10689.byte	102,15,58,15,227,4
10690	xorl	%edi,%esi
10691	rorl	$5,%edx
10692	andl	%ecx,%esi
10693.byte	102,15,58,15,249,4
10694	movl	%ecx,(%esp)
10695	xorl	%ecx,%edx
10696	xorl	%esi,%edi
10697	movdqa	%xmm4,%xmm5
10698	rorl	$6,%edx
10699	movl	%eax,%ecx
10700	movdqa	%xmm4,%xmm6
10701	addl	%edi,%edx
10702	movl	20(%esp),%edi
10703	psrld	$3,%xmm4
10704	movl	%eax,%esi
10705	rorl	$9,%ecx
10706	paddd	%xmm7,%xmm3
10707	movl	%eax,16(%esp)
10708	xorl	%eax,%ecx
10709	psrld	$7,%xmm6
10710	xorl	%edi,%eax
10711	addl	12(%esp),%edx
10712	rorl	$11,%ecx
10713	andl	%eax,%ebx
10714	pshufd	$250,%xmm2,%xmm7
10715	xorl	%esi,%ecx
10716	addl	80(%esp),%edx
10717	pslld	$14,%xmm5
10718	xorl	%edi,%ebx
10719	rorl	$2,%ecx
10720	pxor	%xmm6,%xmm4
10721	addl	%edx,%ebx
10722	addl	28(%esp),%edx
10723	psrld	$11,%xmm6
10724	addl	%ecx,%ebx
10725	movl	%edx,%ecx
10726	rorl	$14,%edx
10727	pxor	%xmm5,%xmm4
10728	movl	(%esp),%esi
10729	xorl	%ecx,%edx
10730	pslld	$11,%xmm5
10731	movl	4(%esp),%edi
10732	xorl	%edi,%esi
10733	rorl	$5,%edx
10734	pxor	%xmm6,%xmm4
10735	andl	%ecx,%esi
10736	movl	%ecx,28(%esp)
10737	movdqa	%xmm7,%xmm6
10738	xorl	%ecx,%edx
10739	xorl	%esi,%edi
10740	rorl	$6,%edx
10741	pxor	%xmm5,%xmm4
10742	movl	%ebx,%ecx
10743	addl	%edi,%edx
10744	psrld	$10,%xmm7
10745	movl	16(%esp),%edi
10746	movl	%ebx,%esi
10747	rorl	$9,%ecx
10748	paddd	%xmm4,%xmm3
10749	movl	%ebx,12(%esp)
10750	xorl	%ebx,%ecx
10751	psrlq	$17,%xmm6
10752	xorl	%edi,%ebx
10753	addl	8(%esp),%edx
10754	rorl	$11,%ecx
10755	pxor	%xmm6,%xmm7
10756	andl	%ebx,%eax
10757	xorl	%esi,%ecx
10758	psrlq	$2,%xmm6
10759	addl	84(%esp),%edx
10760	xorl	%edi,%eax
10761	rorl	$2,%ecx
10762	pxor	%xmm6,%xmm7
10763	addl	%edx,%eax
10764	addl	24(%esp),%edx
10765	pshufd	$128,%xmm7,%xmm7
10766	addl	%ecx,%eax
10767	movl	%edx,%ecx
10768	rorl	$14,%edx
10769	movl	28(%esp),%esi
10770	xorl	%ecx,%edx
10771	movl	(%esp),%edi
10772	xorl	%edi,%esi
10773	rorl	$5,%edx
10774	andl	%ecx,%esi
10775	psrldq	$8,%xmm7
10776	movl	%ecx,24(%esp)
10777	xorl	%ecx,%edx
10778	xorl	%esi,%edi
10779	paddd	%xmm7,%xmm3
10780	rorl	$6,%edx
10781	movl	%eax,%ecx
10782	addl	%edi,%edx
10783	movl	12(%esp),%edi
10784	movl	%eax,%esi
10785	rorl	$9,%ecx
10786	movl	%eax,8(%esp)
10787	pshufd	$80,%xmm3,%xmm7
10788	xorl	%eax,%ecx
10789	xorl	%edi,%eax
10790	addl	4(%esp),%edx
10791	movdqa	%xmm7,%xmm6
10792	rorl	$11,%ecx
10793	psrld	$10,%xmm7
10794	andl	%eax,%ebx
10795	psrlq	$17,%xmm6
10796	xorl	%esi,%ecx
10797	addl	88(%esp),%edx
10798	xorl	%edi,%ebx
10799	rorl	$2,%ecx
10800	pxor	%xmm6,%xmm7
10801	addl	%edx,%ebx
10802	addl	20(%esp),%edx
10803	psrlq	$2,%xmm6
10804	addl	%ecx,%ebx
10805	movl	%edx,%ecx
10806	rorl	$14,%edx
10807	pxor	%xmm6,%xmm7
10808	movl	24(%esp),%esi
10809	xorl	%ecx,%edx
10810	movl	28(%esp),%edi
10811	pshufd	$8,%xmm7,%xmm7
10812	xorl	%edi,%esi
10813	rorl	$5,%edx
10814	movdqa	48(%ebp),%xmm6
10815	andl	%ecx,%esi
10816	movl	%ecx,20(%esp)
10817	pslldq	$8,%xmm7
10818	xorl	%ecx,%edx
10819	xorl	%esi,%edi
10820	rorl	$6,%edx
10821	movl	%ebx,%ecx
10822	addl	%edi,%edx
10823	movl	8(%esp),%edi
10824	movl	%ebx,%esi
10825	rorl	$9,%ecx
10826	paddd	%xmm7,%xmm3
10827	movl	%ebx,4(%esp)
10828	xorl	%ebx,%ecx
10829	xorl	%edi,%ebx
10830	addl	(%esp),%edx
10831	paddd	%xmm3,%xmm6
10832	rorl	$11,%ecx
10833	andl	%ebx,%eax
10834	xorl	%esi,%ecx
10835	addl	92(%esp),%edx
10836	xorl	%edi,%eax
10837	rorl	$2,%ecx
10838	addl	%edx,%eax
10839	addl	16(%esp),%edx
10840	addl	%ecx,%eax
10841	movdqa	%xmm6,80(%esp)
10842	cmpl	$66051,64(%ebp)
10843	jne	.L013ssse3_00_47
10844	movl	%edx,%ecx
10845	rorl	$14,%edx
10846	movl	20(%esp),%esi
10847	xorl	%ecx,%edx
10848	movl	24(%esp),%edi
10849	xorl	%edi,%esi
10850	rorl	$5,%edx
10851	andl	%ecx,%esi
10852	movl	%ecx,16(%esp)
10853	xorl	%ecx,%edx
10854	xorl	%esi,%edi
10855	rorl	$6,%edx
10856	movl	%eax,%ecx
10857	addl	%edi,%edx
10858	movl	4(%esp),%edi
10859	movl	%eax,%esi
10860	rorl	$9,%ecx
10861	movl	%eax,(%esp)
10862	xorl	%eax,%ecx
10863	xorl	%edi,%eax
10864	addl	28(%esp),%edx
10865	rorl	$11,%ecx
10866	andl	%eax,%ebx
10867	xorl	%esi,%ecx
10868	addl	32(%esp),%edx
10869	xorl	%edi,%ebx
10870	rorl	$2,%ecx
10871	addl	%edx,%ebx
10872	addl	12(%esp),%edx
10873	addl	%ecx,%ebx
10874	movl	%edx,%ecx
10875	rorl	$14,%edx
10876	movl	16(%esp),%esi
10877	xorl	%ecx,%edx
10878	movl	20(%esp),%edi
10879	xorl	%edi,%esi
10880	rorl	$5,%edx
10881	andl	%ecx,%esi
10882	movl	%ecx,12(%esp)
10883	xorl	%ecx,%edx
10884	xorl	%esi,%edi
10885	rorl	$6,%edx
10886	movl	%ebx,%ecx
10887	addl	%edi,%edx
10888	movl	(%esp),%edi
10889	movl	%ebx,%esi
10890	rorl	$9,%ecx
10891	movl	%ebx,28(%esp)
10892	xorl	%ebx,%ecx
10893	xorl	%edi,%ebx
10894	addl	24(%esp),%edx
10895	rorl	$11,%ecx
10896	andl	%ebx,%eax
10897	xorl	%esi,%ecx
10898	addl	36(%esp),%edx
10899	xorl	%edi,%eax
10900	rorl	$2,%ecx
10901	addl	%edx,%eax
10902	addl	8(%esp),%edx
10903	addl	%ecx,%eax
10904	movl	%edx,%ecx
10905	rorl	$14,%edx
10906	movl	12(%esp),%esi
10907	xorl	%ecx,%edx
10908	movl	16(%esp),%edi
10909	xorl	%edi,%esi
10910	rorl	$5,%edx
10911	andl	%ecx,%esi
10912	movl	%ecx,8(%esp)
10913	xorl	%ecx,%edx
10914	xorl	%esi,%edi
10915	rorl	$6,%edx
10916	movl	%eax,%ecx
10917	addl	%edi,%edx
10918	movl	28(%esp),%edi
10919	movl	%eax,%esi
10920	rorl	$9,%ecx
10921	movl	%eax,24(%esp)
10922	xorl	%eax,%ecx
10923	xorl	%edi,%eax
10924	addl	20(%esp),%edx
10925	rorl	$11,%ecx
10926	andl	%eax,%ebx
10927	xorl	%esi,%ecx
10928	addl	40(%esp),%edx
10929	xorl	%edi,%ebx
10930	rorl	$2,%ecx
10931	addl	%edx,%ebx
10932	addl	4(%esp),%edx
10933	addl	%ecx,%ebx
10934	movl	%edx,%ecx
10935	rorl	$14,%edx
10936	movl	8(%esp),%esi
10937	xorl	%ecx,%edx
10938	movl	12(%esp),%edi
10939	xorl	%edi,%esi
10940	rorl	$5,%edx
10941	andl	%ecx,%esi
10942	movl	%ecx,4(%esp)
10943	xorl	%ecx,%edx
10944	xorl	%esi,%edi
10945	rorl	$6,%edx
10946	movl	%ebx,%ecx
10947	addl	%edi,%edx
10948	movl	24(%esp),%edi
10949	movl	%ebx,%esi
10950	rorl	$9,%ecx
10951	movl	%ebx,20(%esp)
10952	xorl	%ebx,%ecx
10953	xorl	%edi,%ebx
10954	addl	16(%esp),%edx
10955	rorl	$11,%ecx
10956	andl	%ebx,%eax
10957	xorl	%esi,%ecx
10958	addl	44(%esp),%edx
10959	xorl	%edi,%eax
10960	rorl	$2,%ecx
10961	addl	%edx,%eax
10962	addl	(%esp),%edx
10963	addl	%ecx,%eax
10964	movl	%edx,%ecx
10965	rorl	$14,%edx
10966	movl	4(%esp),%esi
10967	xorl	%ecx,%edx
10968	movl	8(%esp),%edi
10969	xorl	%edi,%esi
10970	rorl	$5,%edx
10971	andl	%ecx,%esi
10972	movl	%ecx,(%esp)
10973	xorl	%ecx,%edx
10974	xorl	%esi,%edi
10975	rorl	$6,%edx
10976	movl	%eax,%ecx
10977	addl	%edi,%edx
10978	movl	20(%esp),%edi
10979	movl	%eax,%esi
10980	rorl	$9,%ecx
10981	movl	%eax,16(%esp)
10982	xorl	%eax,%ecx
10983	xorl	%edi,%eax
10984	addl	12(%esp),%edx
10985	rorl	$11,%ecx
10986	andl	%eax,%ebx
10987	xorl	%esi,%ecx
10988	addl	48(%esp),%edx
10989	xorl	%edi,%ebx
10990	rorl	$2,%ecx
10991	addl	%edx,%ebx
10992	addl	28(%esp),%edx
10993	addl	%ecx,%ebx
10994	movl	%edx,%ecx
10995	rorl	$14,%edx
10996	movl	(%esp),%esi
10997	xorl	%ecx,%edx
10998	movl	4(%esp),%edi
10999	xorl	%edi,%esi
11000	rorl	$5,%edx
11001	andl	%ecx,%esi
11002	movl	%ecx,28(%esp)
11003	xorl	%ecx,%edx
11004	xorl	%esi,%edi
11005	rorl	$6,%edx
11006	movl	%ebx,%ecx
11007	addl	%edi,%edx
11008	movl	16(%esp),%edi
11009	movl	%ebx,%esi
11010	rorl	$9,%ecx
11011	movl	%ebx,12(%esp)
11012	xorl	%ebx,%ecx
11013	xorl	%edi,%ebx
11014	addl	8(%esp),%edx
11015	rorl	$11,%ecx
11016	andl	%ebx,%eax
11017	xorl	%esi,%ecx
11018	addl	52(%esp),%edx
11019	xorl	%edi,%eax
11020	rorl	$2,%ecx
11021	addl	%edx,%eax
11022	addl	24(%esp),%edx
11023	addl	%ecx,%eax
11024	movl	%edx,%ecx
11025	rorl	$14,%edx
11026	movl	28(%esp),%esi
11027	xorl	%ecx,%edx
11028	movl	(%esp),%edi
11029	xorl	%edi,%esi
11030	rorl	$5,%edx
11031	andl	%ecx,%esi
11032	movl	%ecx,24(%esp)
11033	xorl	%ecx,%edx
11034	xorl	%esi,%edi
11035	rorl	$6,%edx
11036	movl	%eax,%ecx
11037	addl	%edi,%edx
11038	movl	12(%esp),%edi
11039	movl	%eax,%esi
11040	rorl	$9,%ecx
11041	movl	%eax,8(%esp)
11042	xorl	%eax,%ecx
11043	xorl	%edi,%eax
11044	addl	4(%esp),%edx
11045	rorl	$11,%ecx
11046	andl	%eax,%ebx
11047	xorl	%esi,%ecx
11048	addl	56(%esp),%edx
11049	xorl	%edi,%ebx
11050	rorl	$2,%ecx
11051	addl	%edx,%ebx
11052	addl	20(%esp),%edx
11053	addl	%ecx,%ebx
11054	movl	%edx,%ecx
11055	rorl	$14,%edx
11056	movl	24(%esp),%esi
11057	xorl	%ecx,%edx
11058	movl	28(%esp),%edi
11059	xorl	%edi,%esi
11060	rorl	$5,%edx
11061	andl	%ecx,%esi
11062	movl	%ecx,20(%esp)
11063	xorl	%ecx,%edx
11064	xorl	%esi,%edi
11065	rorl	$6,%edx
11066	movl	%ebx,%ecx
11067	addl	%edi,%edx
11068	movl	8(%esp),%edi
11069	movl	%ebx,%esi
11070	rorl	$9,%ecx
11071	movl	%ebx,4(%esp)
11072	xorl	%ebx,%ecx
11073	xorl	%edi,%ebx
11074	addl	(%esp),%edx
11075	rorl	$11,%ecx
11076	andl	%ebx,%eax
11077	xorl	%esi,%ecx
11078	addl	60(%esp),%edx
11079	xorl	%edi,%eax
11080	rorl	$2,%ecx
11081	addl	%edx,%eax
11082	addl	16(%esp),%edx
11083	addl	%ecx,%eax
11084	movl	%edx,%ecx
11085	rorl	$14,%edx
11086	movl	20(%esp),%esi
11087	xorl	%ecx,%edx
11088	movl	24(%esp),%edi
11089	xorl	%edi,%esi
11090	rorl	$5,%edx
11091	andl	%ecx,%esi
11092	movl	%ecx,16(%esp)
11093	xorl	%ecx,%edx
11094	xorl	%esi,%edi
11095	rorl	$6,%edx
11096	movl	%eax,%ecx
11097	addl	%edi,%edx
11098	movl	4(%esp),%edi
11099	movl	%eax,%esi
11100	rorl	$9,%ecx
11101	movl	%eax,(%esp)
11102	xorl	%eax,%ecx
11103	xorl	%edi,%eax
11104	addl	28(%esp),%edx
11105	rorl	$11,%ecx
11106	andl	%eax,%ebx
11107	xorl	%esi,%ecx
11108	addl	64(%esp),%edx
11109	xorl	%edi,%ebx
11110	rorl	$2,%ecx
11111	addl	%edx,%ebx
11112	addl	12(%esp),%edx
11113	addl	%ecx,%ebx
11114	movl	%edx,%ecx
11115	rorl	$14,%edx
11116	movl	16(%esp),%esi
11117	xorl	%ecx,%edx
11118	movl	20(%esp),%edi
11119	xorl	%edi,%esi
11120	rorl	$5,%edx
11121	andl	%ecx,%esi
11122	movl	%ecx,12(%esp)
11123	xorl	%ecx,%edx
11124	xorl	%esi,%edi
11125	rorl	$6,%edx
11126	movl	%ebx,%ecx
11127	addl	%edi,%edx
11128	movl	(%esp),%edi
11129	movl	%ebx,%esi
11130	rorl	$9,%ecx
11131	movl	%ebx,28(%esp)
11132	xorl	%ebx,%ecx
11133	xorl	%edi,%ebx
11134	addl	24(%esp),%edx
11135	rorl	$11,%ecx
11136	andl	%ebx,%eax
11137	xorl	%esi,%ecx
11138	addl	68(%esp),%edx
11139	xorl	%edi,%eax
11140	rorl	$2,%ecx
11141	addl	%edx,%eax
11142	addl	8(%esp),%edx
11143	addl	%ecx,%eax
11144	movl	%edx,%ecx
11145	rorl	$14,%edx
11146	movl	12(%esp),%esi
11147	xorl	%ecx,%edx
11148	movl	16(%esp),%edi
11149	xorl	%edi,%esi
11150	rorl	$5,%edx
11151	andl	%ecx,%esi
11152	movl	%ecx,8(%esp)
11153	xorl	%ecx,%edx
11154	xorl	%esi,%edi
11155	rorl	$6,%edx
11156	movl	%eax,%ecx
11157	addl	%edi,%edx
11158	movl	28(%esp),%edi
11159	movl	%eax,%esi
11160	rorl	$9,%ecx
11161	movl	%eax,24(%esp)
11162	xorl	%eax,%ecx
11163	xorl	%edi,%eax
11164	addl	20(%esp),%edx
11165	rorl	$11,%ecx
11166	andl	%eax,%ebx
11167	xorl	%esi,%ecx
11168	addl	72(%esp),%edx
11169	xorl	%edi,%ebx
11170	rorl	$2,%ecx
11171	addl	%edx,%ebx
11172	addl	4(%esp),%edx
11173	addl	%ecx,%ebx
11174	movl	%edx,%ecx
11175	rorl	$14,%edx
11176	movl	8(%esp),%esi
11177	xorl	%ecx,%edx
11178	movl	12(%esp),%edi
11179	xorl	%edi,%esi
11180	rorl	$5,%edx
11181	andl	%ecx,%esi
11182	movl	%ecx,4(%esp)
11183	xorl	%ecx,%edx
11184	xorl	%esi,%edi
11185	rorl	$6,%edx
11186	movl	%ebx,%ecx
11187	addl	%edi,%edx
11188	movl	24(%esp),%edi
11189	movl	%ebx,%esi
11190	rorl	$9,%ecx
11191	movl	%ebx,20(%esp)
11192	xorl	%ebx,%ecx
11193	xorl	%edi,%ebx
11194	addl	16(%esp),%edx
11195	rorl	$11,%ecx
11196	andl	%ebx,%eax
11197	xorl	%esi,%ecx
11198	addl	76(%esp),%edx
11199	xorl	%edi,%eax
11200	rorl	$2,%ecx
11201	addl	%edx,%eax
11202	addl	(%esp),%edx
11203	addl	%ecx,%eax
11204	movl	%edx,%ecx
11205	rorl	$14,%edx
11206	movl	4(%esp),%esi
11207	xorl	%ecx,%edx
11208	movl	8(%esp),%edi
11209	xorl	%edi,%esi
11210	rorl	$5,%edx
11211	andl	%ecx,%esi
11212	movl	%ecx,(%esp)
11213	xorl	%ecx,%edx
11214	xorl	%esi,%edi
11215	rorl	$6,%edx
11216	movl	%eax,%ecx
11217	addl	%edi,%edx
11218	movl	20(%esp),%edi
11219	movl	%eax,%esi
11220	rorl	$9,%ecx
11221	movl	%eax,16(%esp)
11222	xorl	%eax,%ecx
11223	xorl	%edi,%eax
11224	addl	12(%esp),%edx
11225	rorl	$11,%ecx
11226	andl	%eax,%ebx
11227	xorl	%esi,%ecx
11228	addl	80(%esp),%edx
11229	xorl	%edi,%ebx
11230	rorl	$2,%ecx
11231	addl	%edx,%ebx
11232	addl	28(%esp),%edx
11233	addl	%ecx,%ebx
11234	movl	%edx,%ecx
11235	rorl	$14,%edx
11236	movl	(%esp),%esi
11237	xorl	%ecx,%edx
11238	movl	4(%esp),%edi
11239	xorl	%edi,%esi
11240	rorl	$5,%edx
11241	andl	%ecx,%esi
11242	movl	%ecx,28(%esp)
11243	xorl	%ecx,%edx
11244	xorl	%esi,%edi
11245	rorl	$6,%edx
11246	movl	%ebx,%ecx
11247	addl	%edi,%edx
11248	movl	16(%esp),%edi
11249	movl	%ebx,%esi
11250	rorl	$9,%ecx
11251	movl	%ebx,12(%esp)
11252	xorl	%ebx,%ecx
11253	xorl	%edi,%ebx
11254	addl	8(%esp),%edx
11255	rorl	$11,%ecx
11256	andl	%ebx,%eax
11257	xorl	%esi,%ecx
11258	addl	84(%esp),%edx
11259	xorl	%edi,%eax
11260	rorl	$2,%ecx
11261	addl	%edx,%eax
11262	addl	24(%esp),%edx
11263	addl	%ecx,%eax
11264	movl	%edx,%ecx
11265	rorl	$14,%edx
11266	movl	28(%esp),%esi
11267	xorl	%ecx,%edx
11268	movl	(%esp),%edi
11269	xorl	%edi,%esi
11270	rorl	$5,%edx
11271	andl	%ecx,%esi
11272	movl	%ecx,24(%esp)
11273	xorl	%ecx,%edx
11274	xorl	%esi,%edi
11275	rorl	$6,%edx
11276	movl	%eax,%ecx
11277	addl	%edi,%edx
11278	movl	12(%esp),%edi
11279	movl	%eax,%esi
11280	rorl	$9,%ecx
11281	movl	%eax,8(%esp)
11282	xorl	%eax,%ecx
11283	xorl	%edi,%eax
11284	addl	4(%esp),%edx
11285	rorl	$11,%ecx
11286	andl	%eax,%ebx
11287	xorl	%esi,%ecx
11288	addl	88(%esp),%edx
11289	xorl	%edi,%ebx
11290	rorl	$2,%ecx
11291	addl	%edx,%ebx
11292	addl	20(%esp),%edx
11293	addl	%ecx,%ebx
11294	movl	%edx,%ecx
11295	rorl	$14,%edx
11296	movl	24(%esp),%esi
11297	xorl	%ecx,%edx
11298	movl	28(%esp),%edi
11299	xorl	%edi,%esi
11300	rorl	$5,%edx
11301	andl	%ecx,%esi
11302	movl	%ecx,20(%esp)
11303	xorl	%ecx,%edx
11304	xorl	%esi,%edi
11305	rorl	$6,%edx
11306	movl	%ebx,%ecx
11307	addl	%edi,%edx
11308	movl	8(%esp),%edi
11309	movl	%ebx,%esi
11310	rorl	$9,%ecx
11311	movl	%ebx,4(%esp)
11312	xorl	%ebx,%ecx
11313	xorl	%edi,%ebx
11314	addl	(%esp),%edx
11315	rorl	$11,%ecx
11316	andl	%ebx,%eax
11317	xorl	%esi,%ecx
11318	addl	92(%esp),%edx
11319	xorl	%edi,%eax
11320	rorl	$2,%ecx
11321	addl	%edx,%eax
11322	addl	16(%esp),%edx
11323	addl	%ecx,%eax
11324	movl	96(%esp),%esi
11325	xorl	%edi,%ebx
11326	movl	12(%esp),%ecx
11327	addl	(%esi),%eax
11328	addl	4(%esi),%ebx
11329	addl	8(%esi),%edi
11330	addl	12(%esi),%ecx
11331	movl	%eax,(%esi)
11332	movl	%ebx,4(%esi)
11333	movl	%edi,8(%esi)
11334	movl	%ecx,12(%esi)
11335	movl	%ebx,4(%esp)
11336	xorl	%edi,%ebx
11337	movl	%edi,8(%esp)
11338	movl	%ecx,12(%esp)
11339	movl	20(%esp),%edi
11340	movl	24(%esp),%ecx
11341	addl	16(%esi),%edx
11342	addl	20(%esi),%edi
11343	addl	24(%esi),%ecx
11344	movl	%edx,16(%esi)
11345	movl	%edi,20(%esi)
11346	movl	%edi,20(%esp)
11347	movl	28(%esp),%edi
11348	movl	%ecx,24(%esi)
11349	addl	28(%esi),%edi
11350	movl	%ecx,24(%esp)
11351	movl	%edi,28(%esi)
11352	movl	%edi,28(%esp)
11353	movl	100(%esp),%edi
11354	movdqa	64(%ebp),%xmm7
11355	subl	$192,%ebp
11356	cmpl	104(%esp),%edi
11357	jb	.L012grand_ssse3
11358	movl	108(%esp),%esp
11359	popl	%edi
11360	popl	%esi
11361	popl	%ebx
11362	popl	%ebp
11363	ret
11364.align	32
11365.L005AVX:
11366	andl	$264,%edx
11367	cmpl	$264,%edx
11368	je	.L014AVX_BMI
11369	leal	-96(%esp),%esp
11370	vzeroall
11371	movl	(%esi),%eax
11372	movl	4(%esi),%ebx
11373	movl	8(%esi),%ecx
11374	movl	12(%esi),%edi
11375	movl	%ebx,4(%esp)
11376	xorl	%ecx,%ebx
11377	movl	%ecx,8(%esp)
11378	movl	%edi,12(%esp)
11379	movl	16(%esi),%edx
11380	movl	20(%esi),%edi
11381	movl	24(%esi),%ecx
11382	movl	28(%esi),%esi
11383	movl	%edi,20(%esp)
11384	movl	100(%esp),%edi
11385	movl	%ecx,24(%esp)
11386	movl	%esi,28(%esp)
11387	vmovdqa	256(%ebp),%xmm7
11388	jmp	.L015grand_avx
11389.align	32
11390.L015grand_avx:
11391	vmovdqu	(%edi),%xmm0
11392	vmovdqu	16(%edi),%xmm1
11393	vmovdqu	32(%edi),%xmm2
11394	vmovdqu	48(%edi),%xmm3
11395	addl	$64,%edi
11396	vpshufb	%xmm7,%xmm0,%xmm0
11397	movl	%edi,100(%esp)
11398	vpshufb	%xmm7,%xmm1,%xmm1
11399	vpshufb	%xmm7,%xmm2,%xmm2
11400	vpaddd	(%ebp),%xmm0,%xmm4
11401	vpshufb	%xmm7,%xmm3,%xmm3
11402	vpaddd	16(%ebp),%xmm1,%xmm5
11403	vpaddd	32(%ebp),%xmm2,%xmm6
11404	vpaddd	48(%ebp),%xmm3,%xmm7
11405	vmovdqa	%xmm4,32(%esp)
11406	vmovdqa	%xmm5,48(%esp)
11407	vmovdqa	%xmm6,64(%esp)
11408	vmovdqa	%xmm7,80(%esp)
11409	jmp	.L016avx_00_47
11410.align	16
11411.L016avx_00_47:
11412	addl	$64,%ebp
11413	vpalignr	$4,%xmm0,%xmm1,%xmm4
11414	movl	%edx,%ecx
11415	shrdl	$14,%edx,%edx
11416	movl	20(%esp),%esi
11417	vpalignr	$4,%xmm2,%xmm3,%xmm7
11418	xorl	%ecx,%edx
11419	movl	24(%esp),%edi
11420	xorl	%edi,%esi
11421	vpsrld	$7,%xmm4,%xmm6
11422	shrdl	$5,%edx,%edx
11423	andl	%ecx,%esi
11424	movl	%ecx,16(%esp)
11425	vpaddd	%xmm7,%xmm0,%xmm0
11426	xorl	%ecx,%edx
11427	xorl	%esi,%edi
11428	shrdl	$6,%edx,%edx
11429	vpsrld	$3,%xmm4,%xmm7
11430	movl	%eax,%ecx
11431	addl	%edi,%edx
11432	movl	4(%esp),%edi
11433	vpslld	$14,%xmm4,%xmm5
11434	movl	%eax,%esi
11435	shrdl	$9,%ecx,%ecx
11436	movl	%eax,(%esp)
11437	vpxor	%xmm6,%xmm7,%xmm4
11438	xorl	%eax,%ecx
11439	xorl	%edi,%eax
11440	addl	28(%esp),%edx
11441	vpshufd	$250,%xmm3,%xmm7
11442	shrdl	$11,%ecx,%ecx
11443	andl	%eax,%ebx
11444	xorl	%esi,%ecx
11445	vpsrld	$11,%xmm6,%xmm6
11446	addl	32(%esp),%edx
11447	xorl	%edi,%ebx
11448	shrdl	$2,%ecx,%ecx
11449	vpxor	%xmm5,%xmm4,%xmm4
11450	addl	%edx,%ebx
11451	addl	12(%esp),%edx
11452	addl	%ecx,%ebx
11453	vpslld	$11,%xmm5,%xmm5
11454	movl	%edx,%ecx
11455	shrdl	$14,%edx,%edx
11456	movl	16(%esp),%esi
11457	vpxor	%xmm6,%xmm4,%xmm4
11458	xorl	%ecx,%edx
11459	movl	20(%esp),%edi
11460	xorl	%edi,%esi
11461	vpsrld	$10,%xmm7,%xmm6
11462	shrdl	$5,%edx,%edx
11463	andl	%ecx,%esi
11464	movl	%ecx,12(%esp)
11465	vpxor	%xmm5,%xmm4,%xmm4
11466	xorl	%ecx,%edx
11467	xorl	%esi,%edi
11468	shrdl	$6,%edx,%edx
11469	vpsrlq	$17,%xmm7,%xmm5
11470	movl	%ebx,%ecx
11471	addl	%edi,%edx
11472	movl	(%esp),%edi
11473	vpaddd	%xmm4,%xmm0,%xmm0
11474	movl	%ebx,%esi
11475	shrdl	$9,%ecx,%ecx
11476	movl	%ebx,28(%esp)
11477	vpxor	%xmm5,%xmm6,%xmm6
11478	xorl	%ebx,%ecx
11479	xorl	%edi,%ebx
11480	addl	24(%esp),%edx
11481	vpsrlq	$19,%xmm7,%xmm7
11482	shrdl	$11,%ecx,%ecx
11483	andl	%ebx,%eax
11484	xorl	%esi,%ecx
11485	vpxor	%xmm7,%xmm6,%xmm6
11486	addl	36(%esp),%edx
11487	xorl	%edi,%eax
11488	shrdl	$2,%ecx,%ecx
11489	vpshufd	$132,%xmm6,%xmm7
11490	addl	%edx,%eax
11491	addl	8(%esp),%edx
11492	addl	%ecx,%eax
11493	vpsrldq	$8,%xmm7,%xmm7
11494	movl	%edx,%ecx
11495	shrdl	$14,%edx,%edx
11496	movl	12(%esp),%esi
11497	vpaddd	%xmm7,%xmm0,%xmm0
11498	xorl	%ecx,%edx
11499	movl	16(%esp),%edi
11500	xorl	%edi,%esi
11501	vpshufd	$80,%xmm0,%xmm7
11502	shrdl	$5,%edx,%edx
11503	andl	%ecx,%esi
11504	movl	%ecx,8(%esp)
11505	vpsrld	$10,%xmm7,%xmm6
11506	xorl	%ecx,%edx
11507	xorl	%esi,%edi
11508	shrdl	$6,%edx,%edx
11509	vpsrlq	$17,%xmm7,%xmm5
11510	movl	%eax,%ecx
11511	addl	%edi,%edx
11512	movl	28(%esp),%edi
11513	vpxor	%xmm5,%xmm6,%xmm6
11514	movl	%eax,%esi
11515	shrdl	$9,%ecx,%ecx
11516	movl	%eax,24(%esp)
11517	vpsrlq	$19,%xmm7,%xmm7
11518	xorl	%eax,%ecx
11519	xorl	%edi,%eax
11520	addl	20(%esp),%edx
11521	vpxor	%xmm7,%xmm6,%xmm6
11522	shrdl	$11,%ecx,%ecx
11523	andl	%eax,%ebx
11524	xorl	%esi,%ecx
11525	vpshufd	$232,%xmm6,%xmm7
11526	addl	40(%esp),%edx
11527	xorl	%edi,%ebx
11528	shrdl	$2,%ecx,%ecx
11529	vpslldq	$8,%xmm7,%xmm7
11530	addl	%edx,%ebx
11531	addl	4(%esp),%edx
11532	addl	%ecx,%ebx
11533	vpaddd	%xmm7,%xmm0,%xmm0
11534	movl	%edx,%ecx
11535	shrdl	$14,%edx,%edx
11536	movl	8(%esp),%esi
11537	vpaddd	(%ebp),%xmm0,%xmm6
11538	xorl	%ecx,%edx
11539	movl	12(%esp),%edi
11540	xorl	%edi,%esi
11541	shrdl	$5,%edx,%edx
11542	andl	%ecx,%esi
11543	movl	%ecx,4(%esp)
11544	xorl	%ecx,%edx
11545	xorl	%esi,%edi
11546	shrdl	$6,%edx,%edx
11547	movl	%ebx,%ecx
11548	addl	%edi,%edx
11549	movl	24(%esp),%edi
11550	movl	%ebx,%esi
11551	shrdl	$9,%ecx,%ecx
11552	movl	%ebx,20(%esp)
11553	xorl	%ebx,%ecx
11554	xorl	%edi,%ebx
11555	addl	16(%esp),%edx
11556	shrdl	$11,%ecx,%ecx
11557	andl	%ebx,%eax
11558	xorl	%esi,%ecx
11559	addl	44(%esp),%edx
11560	xorl	%edi,%eax
11561	shrdl	$2,%ecx,%ecx
11562	addl	%edx,%eax
11563	addl	(%esp),%edx
11564	addl	%ecx,%eax
11565	vmovdqa	%xmm6,32(%esp)
11566	vpalignr	$4,%xmm1,%xmm2,%xmm4
11567	movl	%edx,%ecx
11568	shrdl	$14,%edx,%edx
11569	movl	4(%esp),%esi
11570	vpalignr	$4,%xmm3,%xmm0,%xmm7
11571	xorl	%ecx,%edx
11572	movl	8(%esp),%edi
11573	xorl	%edi,%esi
11574	vpsrld	$7,%xmm4,%xmm6
11575	shrdl	$5,%edx,%edx
11576	andl	%ecx,%esi
11577	movl	%ecx,(%esp)
11578	vpaddd	%xmm7,%xmm1,%xmm1
11579	xorl	%ecx,%edx
11580	xorl	%esi,%edi
11581	shrdl	$6,%edx,%edx
11582	vpsrld	$3,%xmm4,%xmm7
11583	movl	%eax,%ecx
11584	addl	%edi,%edx
11585	movl	20(%esp),%edi
11586	vpslld	$14,%xmm4,%xmm5
11587	movl	%eax,%esi
11588	shrdl	$9,%ecx,%ecx
11589	movl	%eax,16(%esp)
11590	vpxor	%xmm6,%xmm7,%xmm4
11591	xorl	%eax,%ecx
11592	xorl	%edi,%eax
11593	addl	12(%esp),%edx
11594	vpshufd	$250,%xmm0,%xmm7
11595	shrdl	$11,%ecx,%ecx
11596	andl	%eax,%ebx
11597	xorl	%esi,%ecx
11598	vpsrld	$11,%xmm6,%xmm6
11599	addl	48(%esp),%edx
11600	xorl	%edi,%ebx
11601	shrdl	$2,%ecx,%ecx
11602	vpxor	%xmm5,%xmm4,%xmm4
11603	addl	%edx,%ebx
11604	addl	28(%esp),%edx
11605	addl	%ecx,%ebx
11606	vpslld	$11,%xmm5,%xmm5
11607	movl	%edx,%ecx
11608	shrdl	$14,%edx,%edx
11609	movl	(%esp),%esi
11610	vpxor	%xmm6,%xmm4,%xmm4
11611	xorl	%ecx,%edx
11612	movl	4(%esp),%edi
11613	xorl	%edi,%esi
11614	vpsrld	$10,%xmm7,%xmm6
11615	shrdl	$5,%edx,%edx
11616	andl	%ecx,%esi
11617	movl	%ecx,28(%esp)
11618	vpxor	%xmm5,%xmm4,%xmm4
11619	xorl	%ecx,%edx
11620	xorl	%esi,%edi
11621	shrdl	$6,%edx,%edx
11622	vpsrlq	$17,%xmm7,%xmm5
11623	movl	%ebx,%ecx
11624	addl	%edi,%edx
11625	movl	16(%esp),%edi
11626	vpaddd	%xmm4,%xmm1,%xmm1
11627	movl	%ebx,%esi
11628	shrdl	$9,%ecx,%ecx
11629	movl	%ebx,12(%esp)
11630	vpxor	%xmm5,%xmm6,%xmm6
11631	xorl	%ebx,%ecx
11632	xorl	%edi,%ebx
11633	addl	8(%esp),%edx
11634	vpsrlq	$19,%xmm7,%xmm7
11635	shrdl	$11,%ecx,%ecx
11636	andl	%ebx,%eax
11637	xorl	%esi,%ecx
11638	vpxor	%xmm7,%xmm6,%xmm6
11639	addl	52(%esp),%edx
11640	xorl	%edi,%eax
11641	shrdl	$2,%ecx,%ecx
11642	vpshufd	$132,%xmm6,%xmm7
11643	addl	%edx,%eax
11644	addl	24(%esp),%edx
11645	addl	%ecx,%eax
11646	vpsrldq	$8,%xmm7,%xmm7
11647	movl	%edx,%ecx
11648	shrdl	$14,%edx,%edx
11649	movl	28(%esp),%esi
11650	vpaddd	%xmm7,%xmm1,%xmm1
11651	xorl	%ecx,%edx
11652	movl	(%esp),%edi
11653	xorl	%edi,%esi
11654	vpshufd	$80,%xmm1,%xmm7
11655	shrdl	$5,%edx,%edx
11656	andl	%ecx,%esi
11657	movl	%ecx,24(%esp)
11658	vpsrld	$10,%xmm7,%xmm6
11659	xorl	%ecx,%edx
11660	xorl	%esi,%edi
11661	shrdl	$6,%edx,%edx
11662	vpsrlq	$17,%xmm7,%xmm5
11663	movl	%eax,%ecx
11664	addl	%edi,%edx
11665	movl	12(%esp),%edi
11666	vpxor	%xmm5,%xmm6,%xmm6
11667	movl	%eax,%esi
11668	shrdl	$9,%ecx,%ecx
11669	movl	%eax,8(%esp)
11670	vpsrlq	$19,%xmm7,%xmm7
11671	xorl	%eax,%ecx
11672	xorl	%edi,%eax
11673	addl	4(%esp),%edx
11674	vpxor	%xmm7,%xmm6,%xmm6
11675	shrdl	$11,%ecx,%ecx
11676	andl	%eax,%ebx
11677	xorl	%esi,%ecx
11678	vpshufd	$232,%xmm6,%xmm7
11679	addl	56(%esp),%edx
11680	xorl	%edi,%ebx
11681	shrdl	$2,%ecx,%ecx
11682	vpslldq	$8,%xmm7,%xmm7
11683	addl	%edx,%ebx
11684	addl	20(%esp),%edx
11685	addl	%ecx,%ebx
11686	vpaddd	%xmm7,%xmm1,%xmm1
11687	movl	%edx,%ecx
11688	shrdl	$14,%edx,%edx
11689	movl	24(%esp),%esi
11690	vpaddd	16(%ebp),%xmm1,%xmm6
11691	xorl	%ecx,%edx
11692	movl	28(%esp),%edi
11693	xorl	%edi,%esi
11694	shrdl	$5,%edx,%edx
11695	andl	%ecx,%esi
11696	movl	%ecx,20(%esp)
11697	xorl	%ecx,%edx
11698	xorl	%esi,%edi
11699	shrdl	$6,%edx,%edx
11700	movl	%ebx,%ecx
11701	addl	%edi,%edx
11702	movl	8(%esp),%edi
11703	movl	%ebx,%esi
11704	shrdl	$9,%ecx,%ecx
11705	movl	%ebx,4(%esp)
11706	xorl	%ebx,%ecx
11707	xorl	%edi,%ebx
11708	addl	(%esp),%edx
11709	shrdl	$11,%ecx,%ecx
11710	andl	%ebx,%eax
11711	xorl	%esi,%ecx
11712	addl	60(%esp),%edx
11713	xorl	%edi,%eax
11714	shrdl	$2,%ecx,%ecx
11715	addl	%edx,%eax
11716	addl	16(%esp),%edx
11717	addl	%ecx,%eax
11718	vmovdqa	%xmm6,48(%esp)
11719	vpalignr	$4,%xmm2,%xmm3,%xmm4
11720	movl	%edx,%ecx
11721	shrdl	$14,%edx,%edx
11722	movl	20(%esp),%esi
11723	vpalignr	$4,%xmm0,%xmm1,%xmm7
11724	xorl	%ecx,%edx
11725	movl	24(%esp),%edi
11726	xorl	%edi,%esi
11727	vpsrld	$7,%xmm4,%xmm6
11728	shrdl	$5,%edx,%edx
11729	andl	%ecx,%esi
11730	movl	%ecx,16(%esp)
11731	vpaddd	%xmm7,%xmm2,%xmm2
11732	xorl	%ecx,%edx
11733	xorl	%esi,%edi
11734	shrdl	$6,%edx,%edx
11735	vpsrld	$3,%xmm4,%xmm7
11736	movl	%eax,%ecx
11737	addl	%edi,%edx
11738	movl	4(%esp),%edi
11739	vpslld	$14,%xmm4,%xmm5
11740	movl	%eax,%esi
11741	shrdl	$9,%ecx,%ecx
11742	movl	%eax,(%esp)
11743	vpxor	%xmm6,%xmm7,%xmm4
11744	xorl	%eax,%ecx
11745	xorl	%edi,%eax
11746	addl	28(%esp),%edx
11747	vpshufd	$250,%xmm1,%xmm7
11748	shrdl	$11,%ecx,%ecx
11749	andl	%eax,%ebx
11750	xorl	%esi,%ecx
11751	vpsrld	$11,%xmm6,%xmm6
11752	addl	64(%esp),%edx
11753	xorl	%edi,%ebx
11754	shrdl	$2,%ecx,%ecx
11755	vpxor	%xmm5,%xmm4,%xmm4
11756	addl	%edx,%ebx
11757	addl	12(%esp),%edx
11758	addl	%ecx,%ebx
11759	vpslld	$11,%xmm5,%xmm5
11760	movl	%edx,%ecx
11761	shrdl	$14,%edx,%edx
11762	movl	16(%esp),%esi
11763	vpxor	%xmm6,%xmm4,%xmm4
11764	xorl	%ecx,%edx
11765	movl	20(%esp),%edi
11766	xorl	%edi,%esi
11767	vpsrld	$10,%xmm7,%xmm6
11768	shrdl	$5,%edx,%edx
11769	andl	%ecx,%esi
11770	movl	%ecx,12(%esp)
11771	vpxor	%xmm5,%xmm4,%xmm4
11772	xorl	%ecx,%edx
11773	xorl	%esi,%edi
11774	shrdl	$6,%edx,%edx
11775	vpsrlq	$17,%xmm7,%xmm5
11776	movl	%ebx,%ecx
11777	addl	%edi,%edx
11778	movl	(%esp),%edi
11779	vpaddd	%xmm4,%xmm2,%xmm2
11780	movl	%ebx,%esi
11781	shrdl	$9,%ecx,%ecx
11782	movl	%ebx,28(%esp)
11783	vpxor	%xmm5,%xmm6,%xmm6
11784	xorl	%ebx,%ecx
11785	xorl	%edi,%ebx
11786	addl	24(%esp),%edx
11787	vpsrlq	$19,%xmm7,%xmm7
11788	shrdl	$11,%ecx,%ecx
11789	andl	%ebx,%eax
11790	xorl	%esi,%ecx
11791	vpxor	%xmm7,%xmm6,%xmm6
11792	addl	68(%esp),%edx
11793	xorl	%edi,%eax
11794	shrdl	$2,%ecx,%ecx
11795	vpshufd	$132,%xmm6,%xmm7
11796	addl	%edx,%eax
11797	addl	8(%esp),%edx
11798	addl	%ecx,%eax
11799	vpsrldq	$8,%xmm7,%xmm7
11800	movl	%edx,%ecx
11801	shrdl	$14,%edx,%edx
11802	movl	12(%esp),%esi
11803	vpaddd	%xmm7,%xmm2,%xmm2
11804	xorl	%ecx,%edx
11805	movl	16(%esp),%edi
11806	xorl	%edi,%esi
11807	vpshufd	$80,%xmm2,%xmm7
11808	shrdl	$5,%edx,%edx
11809	andl	%ecx,%esi
11810	movl	%ecx,8(%esp)
11811	vpsrld	$10,%xmm7,%xmm6
11812	xorl	%ecx,%edx
11813	xorl	%esi,%edi
11814	shrdl	$6,%edx,%edx
11815	vpsrlq	$17,%xmm7,%xmm5
11816	movl	%eax,%ecx
11817	addl	%edi,%edx
11818	movl	28(%esp),%edi
11819	vpxor	%xmm5,%xmm6,%xmm6
11820	movl	%eax,%esi
11821	shrdl	$9,%ecx,%ecx
11822	movl	%eax,24(%esp)
11823	vpsrlq	$19,%xmm7,%xmm7
11824	xorl	%eax,%ecx
11825	xorl	%edi,%eax
11826	addl	20(%esp),%edx
11827	vpxor	%xmm7,%xmm6,%xmm6
11828	shrdl	$11,%ecx,%ecx
11829	andl	%eax,%ebx
11830	xorl	%esi,%ecx
11831	vpshufd	$232,%xmm6,%xmm7
11832	addl	72(%esp),%edx
11833	xorl	%edi,%ebx
11834	shrdl	$2,%ecx,%ecx
11835	vpslldq	$8,%xmm7,%xmm7
11836	addl	%edx,%ebx
11837	addl	4(%esp),%edx
11838	addl	%ecx,%ebx
11839	vpaddd	%xmm7,%xmm2,%xmm2
11840	movl	%edx,%ecx
11841	shrdl	$14,%edx,%edx
11842	movl	8(%esp),%esi
11843	vpaddd	32(%ebp),%xmm2,%xmm6
11844	xorl	%ecx,%edx
11845	movl	12(%esp),%edi
11846	xorl	%edi,%esi
11847	shrdl	$5,%edx,%edx
11848	andl	%ecx,%esi
11849	movl	%ecx,4(%esp)
11850	xorl	%ecx,%edx
11851	xorl	%esi,%edi
11852	shrdl	$6,%edx,%edx
11853	movl	%ebx,%ecx
11854	addl	%edi,%edx
11855	movl	24(%esp),%edi
11856	movl	%ebx,%esi
11857	shrdl	$9,%ecx,%ecx
11858	movl	%ebx,20(%esp)
11859	xorl	%ebx,%ecx
11860	xorl	%edi,%ebx
11861	addl	16(%esp),%edx
11862	shrdl	$11,%ecx,%ecx
11863	andl	%ebx,%eax
11864	xorl	%esi,%ecx
11865	addl	76(%esp),%edx
11866	xorl	%edi,%eax
11867	shrdl	$2,%ecx,%ecx
11868	addl	%edx,%eax
11869	addl	(%esp),%edx
11870	addl	%ecx,%eax
11871	vmovdqa	%xmm6,64(%esp)
11872	vpalignr	$4,%xmm3,%xmm0,%xmm4
11873	movl	%edx,%ecx
11874	shrdl	$14,%edx,%edx
11875	movl	4(%esp),%esi
11876	vpalignr	$4,%xmm1,%xmm2,%xmm7
11877	xorl	%ecx,%edx
11878	movl	8(%esp),%edi
11879	xorl	%edi,%esi
11880	vpsrld	$7,%xmm4,%xmm6
11881	shrdl	$5,%edx,%edx
11882	andl	%ecx,%esi
11883	movl	%ecx,(%esp)
11884	vpaddd	%xmm7,%xmm3,%xmm3
11885	xorl	%ecx,%edx
11886	xorl	%esi,%edi
11887	shrdl	$6,%edx,%edx
11888	vpsrld	$3,%xmm4,%xmm7
11889	movl	%eax,%ecx
11890	addl	%edi,%edx
11891	movl	20(%esp),%edi
11892	vpslld	$14,%xmm4,%xmm5
11893	movl	%eax,%esi
11894	shrdl	$9,%ecx,%ecx
11895	movl	%eax,16(%esp)
11896	vpxor	%xmm6,%xmm7,%xmm4
11897	xorl	%eax,%ecx
11898	xorl	%edi,%eax
11899	addl	12(%esp),%edx
11900	vpshufd	$250,%xmm2,%xmm7
11901	shrdl	$11,%ecx,%ecx
11902	andl	%eax,%ebx
11903	xorl	%esi,%ecx
11904	vpsrld	$11,%xmm6,%xmm6
11905	addl	80(%esp),%edx
11906	xorl	%edi,%ebx
11907	shrdl	$2,%ecx,%ecx
11908	vpxor	%xmm5,%xmm4,%xmm4
11909	addl	%edx,%ebx
11910	addl	28(%esp),%edx
11911	addl	%ecx,%ebx
11912	vpslld	$11,%xmm5,%xmm5
11913	movl	%edx,%ecx
11914	shrdl	$14,%edx,%edx
11915	movl	(%esp),%esi
11916	vpxor	%xmm6,%xmm4,%xmm4
11917	xorl	%ecx,%edx
11918	movl	4(%esp),%edi
11919	xorl	%edi,%esi
11920	vpsrld	$10,%xmm7,%xmm6
11921	shrdl	$5,%edx,%edx
11922	andl	%ecx,%esi
11923	movl	%ecx,28(%esp)
11924	vpxor	%xmm5,%xmm4,%xmm4
11925	xorl	%ecx,%edx
11926	xorl	%esi,%edi
11927	shrdl	$6,%edx,%edx
11928	vpsrlq	$17,%xmm7,%xmm5
11929	movl	%ebx,%ecx
11930	addl	%edi,%edx
11931	movl	16(%esp),%edi
11932	vpaddd	%xmm4,%xmm3,%xmm3
11933	movl	%ebx,%esi
11934	shrdl	$9,%ecx,%ecx
11935	movl	%ebx,12(%esp)
11936	vpxor	%xmm5,%xmm6,%xmm6
11937	xorl	%ebx,%ecx
11938	xorl	%edi,%ebx
11939	addl	8(%esp),%edx
11940	vpsrlq	$19,%xmm7,%xmm7
11941	shrdl	$11,%ecx,%ecx
11942	andl	%ebx,%eax
11943	xorl	%esi,%ecx
11944	vpxor	%xmm7,%xmm6,%xmm6
11945	addl	84(%esp),%edx
11946	xorl	%edi,%eax
11947	shrdl	$2,%ecx,%ecx
11948	vpshufd	$132,%xmm6,%xmm7
11949	addl	%edx,%eax
11950	addl	24(%esp),%edx
11951	addl	%ecx,%eax
11952	vpsrldq	$8,%xmm7,%xmm7
11953	movl	%edx,%ecx
11954	shrdl	$14,%edx,%edx
11955	movl	28(%esp),%esi
11956	vpaddd	%xmm7,%xmm3,%xmm3
11957	xorl	%ecx,%edx
11958	movl	(%esp),%edi
11959	xorl	%edi,%esi
11960	vpshufd	$80,%xmm3,%xmm7
11961	shrdl	$5,%edx,%edx
11962	andl	%ecx,%esi
11963	movl	%ecx,24(%esp)
11964	vpsrld	$10,%xmm7,%xmm6
11965	xorl	%ecx,%edx
11966	xorl	%esi,%edi
11967	shrdl	$6,%edx,%edx
11968	vpsrlq	$17,%xmm7,%xmm5
11969	movl	%eax,%ecx
11970	addl	%edi,%edx
11971	movl	12(%esp),%edi
11972	vpxor	%xmm5,%xmm6,%xmm6
11973	movl	%eax,%esi
11974	shrdl	$9,%ecx,%ecx
11975	movl	%eax,8(%esp)
11976	vpsrlq	$19,%xmm7,%xmm7
11977	xorl	%eax,%ecx
11978	xorl	%edi,%eax
11979	addl	4(%esp),%edx
11980	vpxor	%xmm7,%xmm6,%xmm6
11981	shrdl	$11,%ecx,%ecx
11982	andl	%eax,%ebx
11983	xorl	%esi,%ecx
11984	vpshufd	$232,%xmm6,%xmm7
11985	addl	88(%esp),%edx
11986	xorl	%edi,%ebx
11987	shrdl	$2,%ecx,%ecx
11988	vpslldq	$8,%xmm7,%xmm7
11989	addl	%edx,%ebx
11990	addl	20(%esp),%edx
11991	addl	%ecx,%ebx
11992	vpaddd	%xmm7,%xmm3,%xmm3
11993	movl	%edx,%ecx
11994	shrdl	$14,%edx,%edx
11995	movl	24(%esp),%esi
11996	vpaddd	48(%ebp),%xmm3,%xmm6
11997	xorl	%ecx,%edx
11998	movl	28(%esp),%edi
11999	xorl	%edi,%esi
12000	shrdl	$5,%edx,%edx
12001	andl	%ecx,%esi
12002	movl	%ecx,20(%esp)
12003	xorl	%ecx,%edx
12004	xorl	%esi,%edi
12005	shrdl	$6,%edx,%edx
12006	movl	%ebx,%ecx
12007	addl	%edi,%edx
12008	movl	8(%esp),%edi
12009	movl	%ebx,%esi
12010	shrdl	$9,%ecx,%ecx
12011	movl	%ebx,4(%esp)
12012	xorl	%ebx,%ecx
12013	xorl	%edi,%ebx
12014	addl	(%esp),%edx
12015	shrdl	$11,%ecx,%ecx
12016	andl	%ebx,%eax
12017	xorl	%esi,%ecx
12018	addl	92(%esp),%edx
12019	xorl	%edi,%eax
12020	shrdl	$2,%ecx,%ecx
12021	addl	%edx,%eax
12022	addl	16(%esp),%edx
12023	addl	%ecx,%eax
12024	vmovdqa	%xmm6,80(%esp)
12025	cmpl	$66051,64(%ebp)
12026	jne	.L016avx_00_47
12027	movl	%edx,%ecx
12028	shrdl	$14,%edx,%edx
12029	movl	20(%esp),%esi
12030	xorl	%ecx,%edx
12031	movl	24(%esp),%edi
12032	xorl	%edi,%esi
12033	shrdl	$5,%edx,%edx
12034	andl	%ecx,%esi
12035	movl	%ecx,16(%esp)
12036	xorl	%ecx,%edx
12037	xorl	%esi,%edi
12038	shrdl	$6,%edx,%edx
12039	movl	%eax,%ecx
12040	addl	%edi,%edx
12041	movl	4(%esp),%edi
12042	movl	%eax,%esi
12043	shrdl	$9,%ecx,%ecx
12044	movl	%eax,(%esp)
12045	xorl	%eax,%ecx
12046	xorl	%edi,%eax
12047	addl	28(%esp),%edx
12048	shrdl	$11,%ecx,%ecx
12049	andl	%eax,%ebx
12050	xorl	%esi,%ecx
12051	addl	32(%esp),%edx
12052	xorl	%edi,%ebx
12053	shrdl	$2,%ecx,%ecx
12054	addl	%edx,%ebx
12055	addl	12(%esp),%edx
12056	addl	%ecx,%ebx
12057	movl	%edx,%ecx
12058	shrdl	$14,%edx,%edx
12059	movl	16(%esp),%esi
12060	xorl	%ecx,%edx
12061	movl	20(%esp),%edi
12062	xorl	%edi,%esi
12063	shrdl	$5,%edx,%edx
12064	andl	%ecx,%esi
12065	movl	%ecx,12(%esp)
12066	xorl	%ecx,%edx
12067	xorl	%esi,%edi
12068	shrdl	$6,%edx,%edx
12069	movl	%ebx,%ecx
12070	addl	%edi,%edx
12071	movl	(%esp),%edi
12072	movl	%ebx,%esi
12073	shrdl	$9,%ecx,%ecx
12074	movl	%ebx,28(%esp)
12075	xorl	%ebx,%ecx
12076	xorl	%edi,%ebx
12077	addl	24(%esp),%edx
12078	shrdl	$11,%ecx,%ecx
12079	andl	%ebx,%eax
12080	xorl	%esi,%ecx
12081	addl	36(%esp),%edx
12082	xorl	%edi,%eax
12083	shrdl	$2,%ecx,%ecx
12084	addl	%edx,%eax
12085	addl	8(%esp),%edx
12086	addl	%ecx,%eax
12087	movl	%edx,%ecx
12088	shrdl	$14,%edx,%edx
12089	movl	12(%esp),%esi
12090	xorl	%ecx,%edx
12091	movl	16(%esp),%edi
12092	xorl	%edi,%esi
12093	shrdl	$5,%edx,%edx
12094	andl	%ecx,%esi
12095	movl	%ecx,8(%esp)
12096	xorl	%ecx,%edx
12097	xorl	%esi,%edi
12098	shrdl	$6,%edx,%edx
12099	movl	%eax,%ecx
12100	addl	%edi,%edx
12101	movl	28(%esp),%edi
12102	movl	%eax,%esi
12103	shrdl	$9,%ecx,%ecx
12104	movl	%eax,24(%esp)
12105	xorl	%eax,%ecx
12106	xorl	%edi,%eax
12107	addl	20(%esp),%edx
12108	shrdl	$11,%ecx,%ecx
12109	andl	%eax,%ebx
12110	xorl	%esi,%ecx
12111	addl	40(%esp),%edx
12112	xorl	%edi,%ebx
12113	shrdl	$2,%ecx,%ecx
12114	addl	%edx,%ebx
12115	addl	4(%esp),%edx
12116	addl	%ecx,%ebx
12117	movl	%edx,%ecx
12118	shrdl	$14,%edx,%edx
12119	movl	8(%esp),%esi
12120	xorl	%ecx,%edx
12121	movl	12(%esp),%edi
12122	xorl	%edi,%esi
12123	shrdl	$5,%edx,%edx
12124	andl	%ecx,%esi
12125	movl	%ecx,4(%esp)
12126	xorl	%ecx,%edx
12127	xorl	%esi,%edi
12128	shrdl	$6,%edx,%edx
12129	movl	%ebx,%ecx
12130	addl	%edi,%edx
12131	movl	24(%esp),%edi
12132	movl	%ebx,%esi
12133	shrdl	$9,%ecx,%ecx
12134	movl	%ebx,20(%esp)
12135	xorl	%ebx,%ecx
12136	xorl	%edi,%ebx
12137	addl	16(%esp),%edx
12138	shrdl	$11,%ecx,%ecx
12139	andl	%ebx,%eax
12140	xorl	%esi,%ecx
12141	addl	44(%esp),%edx
12142	xorl	%edi,%eax
12143	shrdl	$2,%ecx,%ecx
12144	addl	%edx,%eax
12145	addl	(%esp),%edx
12146	addl	%ecx,%eax
12147	movl	%edx,%ecx
12148	shrdl	$14,%edx,%edx
12149	movl	4(%esp),%esi
12150	xorl	%ecx,%edx
12151	movl	8(%esp),%edi
12152	xorl	%edi,%esi
12153	shrdl	$5,%edx,%edx
12154	andl	%ecx,%esi
12155	movl	%ecx,(%esp)
12156	xorl	%ecx,%edx
12157	xorl	%esi,%edi
12158	shrdl	$6,%edx,%edx
12159	movl	%eax,%ecx
12160	addl	%edi,%edx
12161	movl	20(%esp),%edi
12162	movl	%eax,%esi
12163	shrdl	$9,%ecx,%ecx
12164	movl	%eax,16(%esp)
12165	xorl	%eax,%ecx
12166	xorl	%edi,%eax
12167	addl	12(%esp),%edx
12168	shrdl	$11,%ecx,%ecx
12169	andl	%eax,%ebx
12170	xorl	%esi,%ecx
12171	addl	48(%esp),%edx
12172	xorl	%edi,%ebx
12173	shrdl	$2,%ecx,%ecx
12174	addl	%edx,%ebx
12175	addl	28(%esp),%edx
12176	addl	%ecx,%ebx
12177	movl	%edx,%ecx
12178	shrdl	$14,%edx,%edx
12179	movl	(%esp),%esi
12180	xorl	%ecx,%edx
12181	movl	4(%esp),%edi
12182	xorl	%edi,%esi
12183	shrdl	$5,%edx,%edx
12184	andl	%ecx,%esi
12185	movl	%ecx,28(%esp)
12186	xorl	%ecx,%edx
12187	xorl	%esi,%edi
12188	shrdl	$6,%edx,%edx
12189	movl	%ebx,%ecx
12190	addl	%edi,%edx
12191	movl	16(%esp),%edi
12192	movl	%ebx,%esi
12193	shrdl	$9,%ecx,%ecx
12194	movl	%ebx,12(%esp)
12195	xorl	%ebx,%ecx
12196	xorl	%edi,%ebx
12197	addl	8(%esp),%edx
12198	shrdl	$11,%ecx,%ecx
12199	andl	%ebx,%eax
12200	xorl	%esi,%ecx
12201	addl	52(%esp),%edx
12202	xorl	%edi,%eax
12203	shrdl	$2,%ecx,%ecx
12204	addl	%edx,%eax
12205	addl	24(%esp),%edx
12206	addl	%ecx,%eax
12207	movl	%edx,%ecx
12208	shrdl	$14,%edx,%edx
12209	movl	28(%esp),%esi
12210	xorl	%ecx,%edx
12211	movl	(%esp),%edi
12212	xorl	%edi,%esi
12213	shrdl	$5,%edx,%edx
12214	andl	%ecx,%esi
12215	movl	%ecx,24(%esp)
12216	xorl	%ecx,%edx
12217	xorl	%esi,%edi
12218	shrdl	$6,%edx,%edx
12219	movl	%eax,%ecx
12220	addl	%edi,%edx
12221	movl	12(%esp),%edi
12222	movl	%eax,%esi
12223	shrdl	$9,%ecx,%ecx
12224	movl	%eax,8(%esp)
12225	xorl	%eax,%ecx
12226	xorl	%edi,%eax
12227	addl	4(%esp),%edx
12228	shrdl	$11,%ecx,%ecx
12229	andl	%eax,%ebx
12230	xorl	%esi,%ecx
12231	addl	56(%esp),%edx
12232	xorl	%edi,%ebx
12233	shrdl	$2,%ecx,%ecx
12234	addl	%edx,%ebx
12235	addl	20(%esp),%edx
12236	addl	%ecx,%ebx
12237	movl	%edx,%ecx
12238	shrdl	$14,%edx,%edx
12239	movl	24(%esp),%esi
12240	xorl	%ecx,%edx
12241	movl	28(%esp),%edi
12242	xorl	%edi,%esi
12243	shrdl	$5,%edx,%edx
12244	andl	%ecx,%esi
12245	movl	%ecx,20(%esp)
12246	xorl	%ecx,%edx
12247	xorl	%esi,%edi
12248	shrdl	$6,%edx,%edx
12249	movl	%ebx,%ecx
12250	addl	%edi,%edx
12251	movl	8(%esp),%edi
12252	movl	%ebx,%esi
12253	shrdl	$9,%ecx,%ecx
12254	movl	%ebx,4(%esp)
12255	xorl	%ebx,%ecx
12256	xorl	%edi,%ebx
12257	addl	(%esp),%edx
12258	shrdl	$11,%ecx,%ecx
12259	andl	%ebx,%eax
12260	xorl	%esi,%ecx
12261	addl	60(%esp),%edx
12262	xorl	%edi,%eax
12263	shrdl	$2,%ecx,%ecx
12264	addl	%edx,%eax
12265	addl	16(%esp),%edx
12266	addl	%ecx,%eax
12267	movl	%edx,%ecx
12268	shrdl	$14,%edx,%edx
12269	movl	20(%esp),%esi
12270	xorl	%ecx,%edx
12271	movl	24(%esp),%edi
12272	xorl	%edi,%esi
12273	shrdl	$5,%edx,%edx
12274	andl	%ecx,%esi
12275	movl	%ecx,16(%esp)
12276	xorl	%ecx,%edx
12277	xorl	%esi,%edi
12278	shrdl	$6,%edx,%edx
12279	movl	%eax,%ecx
12280	addl	%edi,%edx
12281	movl	4(%esp),%edi
12282	movl	%eax,%esi
12283	shrdl	$9,%ecx,%ecx
12284	movl	%eax,(%esp)
12285	xorl	%eax,%ecx
12286	xorl	%edi,%eax
12287	addl	28(%esp),%edx
12288	shrdl	$11,%ecx,%ecx
12289	andl	%eax,%ebx
12290	xorl	%esi,%ecx
12291	addl	64(%esp),%edx
12292	xorl	%edi,%ebx
12293	shrdl	$2,%ecx,%ecx
12294	addl	%edx,%ebx
12295	addl	12(%esp),%edx
12296	addl	%ecx,%ebx
12297	movl	%edx,%ecx
12298	shrdl	$14,%edx,%edx
12299	movl	16(%esp),%esi
12300	xorl	%ecx,%edx
12301	movl	20(%esp),%edi
12302	xorl	%edi,%esi
12303	shrdl	$5,%edx,%edx
12304	andl	%ecx,%esi
12305	movl	%ecx,12(%esp)
12306	xorl	%ecx,%edx
12307	xorl	%esi,%edi
12308	shrdl	$6,%edx,%edx
12309	movl	%ebx,%ecx
12310	addl	%edi,%edx
12311	movl	(%esp),%edi
12312	movl	%ebx,%esi
12313	shrdl	$9,%ecx,%ecx
12314	movl	%ebx,28(%esp)
12315	xorl	%ebx,%ecx
12316	xorl	%edi,%ebx
12317	addl	24(%esp),%edx
12318	shrdl	$11,%ecx,%ecx
12319	andl	%ebx,%eax
12320	xorl	%esi,%ecx
12321	addl	68(%esp),%edx
12322	xorl	%edi,%eax
12323	shrdl	$2,%ecx,%ecx
12324	addl	%edx,%eax
12325	addl	8(%esp),%edx
12326	addl	%ecx,%eax
12327	movl	%edx,%ecx
12328	shrdl	$14,%edx,%edx
12329	movl	12(%esp),%esi
12330	xorl	%ecx,%edx
12331	movl	16(%esp),%edi
12332	xorl	%edi,%esi
12333	shrdl	$5,%edx,%edx
12334	andl	%ecx,%esi
12335	movl	%ecx,8(%esp)
12336	xorl	%ecx,%edx
12337	xorl	%esi,%edi
12338	shrdl	$6,%edx,%edx
12339	movl	%eax,%ecx
12340	addl	%edi,%edx
12341	movl	28(%esp),%edi
12342	movl	%eax,%esi
12343	shrdl	$9,%ecx,%ecx
12344	movl	%eax,24(%esp)
12345	xorl	%eax,%ecx
12346	xorl	%edi,%eax
12347	addl	20(%esp),%edx
12348	shrdl	$11,%ecx,%ecx
12349	andl	%eax,%ebx
12350	xorl	%esi,%ecx
12351	addl	72(%esp),%edx
12352	xorl	%edi,%ebx
12353	shrdl	$2,%ecx,%ecx
12354	addl	%edx,%ebx
12355	addl	4(%esp),%edx
12356	addl	%ecx,%ebx
12357	movl	%edx,%ecx
12358	shrdl	$14,%edx,%edx
12359	movl	8(%esp),%esi
12360	xorl	%ecx,%edx
12361	movl	12(%esp),%edi
12362	xorl	%edi,%esi
12363	shrdl	$5,%edx,%edx
12364	andl	%ecx,%esi
12365	movl	%ecx,4(%esp)
12366	xorl	%ecx,%edx
12367	xorl	%esi,%edi
12368	shrdl	$6,%edx,%edx
12369	movl	%ebx,%ecx
12370	addl	%edi,%edx
12371	movl	24(%esp),%edi
12372	movl	%ebx,%esi
12373	shrdl	$9,%ecx,%ecx
12374	movl	%ebx,20(%esp)
12375	xorl	%ebx,%ecx
12376	xorl	%edi,%ebx
12377	addl	16(%esp),%edx
12378	shrdl	$11,%ecx,%ecx
12379	andl	%ebx,%eax
12380	xorl	%esi,%ecx
12381	addl	76(%esp),%edx
12382	xorl	%edi,%eax
12383	shrdl	$2,%ecx,%ecx
12384	addl	%edx,%eax
12385	addl	(%esp),%edx
12386	addl	%ecx,%eax
12387	movl	%edx,%ecx
12388	shrdl	$14,%edx,%edx
12389	movl	4(%esp),%esi
12390	xorl	%ecx,%edx
12391	movl	8(%esp),%edi
12392	xorl	%edi,%esi
12393	shrdl	$5,%edx,%edx
12394	andl	%ecx,%esi
12395	movl	%ecx,(%esp)
12396	xorl	%ecx,%edx
12397	xorl	%esi,%edi
12398	shrdl	$6,%edx,%edx
12399	movl	%eax,%ecx
12400	addl	%edi,%edx
12401	movl	20(%esp),%edi
12402	movl	%eax,%esi
12403	shrdl	$9,%ecx,%ecx
12404	movl	%eax,16(%esp)
12405	xorl	%eax,%ecx
12406	xorl	%edi,%eax
12407	addl	12(%esp),%edx
12408	shrdl	$11,%ecx,%ecx
12409	andl	%eax,%ebx
12410	xorl	%esi,%ecx
12411	addl	80(%esp),%edx
12412	xorl	%edi,%ebx
12413	shrdl	$2,%ecx,%ecx
12414	addl	%edx,%ebx
12415	addl	28(%esp),%edx
12416	addl	%ecx,%ebx
12417	movl	%edx,%ecx
12418	shrdl	$14,%edx,%edx
12419	movl	(%esp),%esi
12420	xorl	%ecx,%edx
12421	movl	4(%esp),%edi
12422	xorl	%edi,%esi
12423	shrdl	$5,%edx,%edx
12424	andl	%ecx,%esi
12425	movl	%ecx,28(%esp)
12426	xorl	%ecx,%edx
12427	xorl	%esi,%edi
12428	shrdl	$6,%edx,%edx
12429	movl	%ebx,%ecx
12430	addl	%edi,%edx
12431	movl	16(%esp),%edi
12432	movl	%ebx,%esi
12433	shrdl	$9,%ecx,%ecx
12434	movl	%ebx,12(%esp)
12435	xorl	%ebx,%ecx
12436	xorl	%edi,%ebx
12437	addl	8(%esp),%edx
12438	shrdl	$11,%ecx,%ecx
12439	andl	%ebx,%eax
12440	xorl	%esi,%ecx
12441	addl	84(%esp),%edx
12442	xorl	%edi,%eax
12443	shrdl	$2,%ecx,%ecx
12444	addl	%edx,%eax
12445	addl	24(%esp),%edx
12446	addl	%ecx,%eax
12447	movl	%edx,%ecx
12448	shrdl	$14,%edx,%edx
12449	movl	28(%esp),%esi
12450	xorl	%ecx,%edx
12451	movl	(%esp),%edi
12452	xorl	%edi,%esi
12453	shrdl	$5,%edx,%edx
12454	andl	%ecx,%esi
12455	movl	%ecx,24(%esp)
12456	xorl	%ecx,%edx
12457	xorl	%esi,%edi
12458	shrdl	$6,%edx,%edx
12459	movl	%eax,%ecx
12460	addl	%edi,%edx
12461	movl	12(%esp),%edi
12462	movl	%eax,%esi
12463	shrdl	$9,%ecx,%ecx
12464	movl	%eax,8(%esp)
12465	xorl	%eax,%ecx
12466	xorl	%edi,%eax
12467	addl	4(%esp),%edx
12468	shrdl	$11,%ecx,%ecx
12469	andl	%eax,%ebx
12470	xorl	%esi,%ecx
12471	addl	88(%esp),%edx
12472	xorl	%edi,%ebx
12473	shrdl	$2,%ecx,%ecx
12474	addl	%edx,%ebx
12475	addl	20(%esp),%edx
12476	addl	%ecx,%ebx
12477	movl	%edx,%ecx
12478	shrdl	$14,%edx,%edx
12479	movl	24(%esp),%esi
12480	xorl	%ecx,%edx
12481	movl	28(%esp),%edi
12482	xorl	%edi,%esi
12483	shrdl	$5,%edx,%edx
12484	andl	%ecx,%esi
12485	movl	%ecx,20(%esp)
12486	xorl	%ecx,%edx
12487	xorl	%esi,%edi
12488	shrdl	$6,%edx,%edx
12489	movl	%ebx,%ecx
12490	addl	%edi,%edx
12491	movl	8(%esp),%edi
12492	movl	%ebx,%esi
12493	shrdl	$9,%ecx,%ecx
12494	movl	%ebx,4(%esp)
12495	xorl	%ebx,%ecx
12496	xorl	%edi,%ebx
12497	addl	(%esp),%edx
12498	shrdl	$11,%ecx,%ecx
12499	andl	%ebx,%eax
12500	xorl	%esi,%ecx
12501	addl	92(%esp),%edx
12502	xorl	%edi,%eax
12503	shrdl	$2,%ecx,%ecx
12504	addl	%edx,%eax
12505	addl	16(%esp),%edx
12506	addl	%ecx,%eax
12507	movl	96(%esp),%esi
12508	xorl	%edi,%ebx
12509	movl	12(%esp),%ecx
12510	addl	(%esi),%eax
12511	addl	4(%esi),%ebx
12512	addl	8(%esi),%edi
12513	addl	12(%esi),%ecx
12514	movl	%eax,(%esi)
12515	movl	%ebx,4(%esi)
12516	movl	%edi,8(%esi)
12517	movl	%ecx,12(%esi)
12518	movl	%ebx,4(%esp)
12519	xorl	%edi,%ebx
12520	movl	%edi,8(%esp)
12521	movl	%ecx,12(%esp)
12522	movl	20(%esp),%edi
12523	movl	24(%esp),%ecx
12524	addl	16(%esi),%edx
12525	addl	20(%esi),%edi
12526	addl	24(%esi),%ecx
12527	movl	%edx,16(%esi)
12528	movl	%edi,20(%esi)
12529	movl	%edi,20(%esp)
12530	movl	28(%esp),%edi
12531	movl	%ecx,24(%esi)
12532	addl	28(%esi),%edi
12533	movl	%ecx,24(%esp)
12534	movl	%edi,28(%esi)
12535	movl	%edi,28(%esp)
12536	movl	100(%esp),%edi
12537	vmovdqa	64(%ebp),%xmm7
12538	subl	$192,%ebp
12539	cmpl	104(%esp),%edi
12540	jb	.L015grand_avx
12541	movl	108(%esp),%esp
12542	vzeroall
12543	popl	%edi
12544	popl	%esi
12545	popl	%ebx
12546	popl	%ebp
12547	ret
12548.align	32
12549.L014AVX_BMI:
12550	leal	-96(%esp),%esp
12551	vzeroall
12552	movl	(%esi),%eax
12553	movl	4(%esi),%ebx
12554	movl	8(%esi),%ecx
12555	movl	12(%esi),%edi
12556	movl	%ebx,4(%esp)
12557	xorl	%ecx,%ebx
12558	movl	%ecx,8(%esp)
12559	movl	%edi,12(%esp)
12560	movl	16(%esi),%edx
12561	movl	20(%esi),%edi
12562	movl	24(%esi),%ecx
12563	movl	28(%esi),%esi
12564	movl	%edi,20(%esp)
12565	movl	100(%esp),%edi
12566	movl	%ecx,24(%esp)
12567	movl	%esi,28(%esp)
12568	vmovdqa	256(%ebp),%xmm7
12569	jmp	.L017grand_avx_bmi
12570.align	32
12571.L017grand_avx_bmi:
12572	vmovdqu	(%edi),%xmm0
12573	vmovdqu	16(%edi),%xmm1
12574	vmovdqu	32(%edi),%xmm2
12575	vmovdqu	48(%edi),%xmm3
12576	addl	$64,%edi
12577	vpshufb	%xmm7,%xmm0,%xmm0
12578	movl	%edi,100(%esp)
12579	vpshufb	%xmm7,%xmm1,%xmm1
12580	vpshufb	%xmm7,%xmm2,%xmm2
12581	vpaddd	(%ebp),%xmm0,%xmm4
12582	vpshufb	%xmm7,%xmm3,%xmm3
12583	vpaddd	16(%ebp),%xmm1,%xmm5
12584	vpaddd	32(%ebp),%xmm2,%xmm6
12585	vpaddd	48(%ebp),%xmm3,%xmm7
12586	vmovdqa	%xmm4,32(%esp)
12587	vmovdqa	%xmm5,48(%esp)
12588	vmovdqa	%xmm6,64(%esp)
12589	vmovdqa	%xmm7,80(%esp)
12590	jmp	.L018avx_bmi_00_47
12591.align	16
12592.L018avx_bmi_00_47:
12593	addl	$64,%ebp
12594	vpalignr	$4,%xmm0,%xmm1,%xmm4
12595	rorxl	$6,%edx,%ecx
12596	rorxl	$11,%edx,%esi
12597	movl	%edx,16(%esp)
12598	vpalignr	$4,%xmm2,%xmm3,%xmm7
12599	rorxl	$25,%edx,%edi
12600	xorl	%esi,%ecx
12601	andnl	24(%esp),%edx,%esi
12602	vpsrld	$7,%xmm4,%xmm6
12603	xorl	%edi,%ecx
12604	andl	20(%esp),%edx
12605	movl	%eax,(%esp)
12606	vpaddd	%xmm7,%xmm0,%xmm0
12607	orl	%esi,%edx
12608	rorxl	$2,%eax,%edi
12609	rorxl	$13,%eax,%esi
12610	vpsrld	$3,%xmm4,%xmm7
12611	leal	(%edx,%ecx,1),%edx
12612	rorxl	$22,%eax,%ecx
12613	xorl	%edi,%esi
12614	vpslld	$14,%xmm4,%xmm5
12615	movl	4(%esp),%edi
12616	xorl	%esi,%ecx
12617	xorl	%edi,%eax
12618	vpxor	%xmm6,%xmm7,%xmm4
12619	addl	28(%esp),%edx
12620	andl	%eax,%ebx
12621	addl	32(%esp),%edx
12622	vpshufd	$250,%xmm3,%xmm7
12623	xorl	%edi,%ebx
12624	addl	%edx,%ecx
12625	addl	12(%esp),%edx
12626	vpsrld	$11,%xmm6,%xmm6
12627	leal	(%ebx,%ecx,1),%ebx
12628	rorxl	$6,%edx,%ecx
12629	rorxl	$11,%edx,%esi
12630	vpxor	%xmm5,%xmm4,%xmm4
12631	movl	%edx,12(%esp)
12632	rorxl	$25,%edx,%edi
12633	xorl	%esi,%ecx
12634	vpslld	$11,%xmm5,%xmm5
12635	andnl	20(%esp),%edx,%esi
12636	xorl	%edi,%ecx
12637	andl	16(%esp),%edx
12638	vpxor	%xmm6,%xmm4,%xmm4
12639	movl	%ebx,28(%esp)
12640	orl	%esi,%edx
12641	rorxl	$2,%ebx,%edi
12642	rorxl	$13,%ebx,%esi
12643	vpsrld	$10,%xmm7,%xmm6
12644	leal	(%edx,%ecx,1),%edx
12645	rorxl	$22,%ebx,%ecx
12646	xorl	%edi,%esi
12647	vpxor	%xmm5,%xmm4,%xmm4
12648	movl	(%esp),%edi
12649	xorl	%esi,%ecx
12650	xorl	%edi,%ebx
12651	vpsrlq	$17,%xmm7,%xmm5
12652	addl	24(%esp),%edx
12653	andl	%ebx,%eax
12654	addl	36(%esp),%edx
12655	vpaddd	%xmm4,%xmm0,%xmm0
12656	xorl	%edi,%eax
12657	addl	%edx,%ecx
12658	addl	8(%esp),%edx
12659	vpxor	%xmm5,%xmm6,%xmm6
12660	leal	(%eax,%ecx,1),%eax
12661	rorxl	$6,%edx,%ecx
12662	rorxl	$11,%edx,%esi
12663	vpsrlq	$19,%xmm7,%xmm7
12664	movl	%edx,8(%esp)
12665	rorxl	$25,%edx,%edi
12666	xorl	%esi,%ecx
12667	vpxor	%xmm7,%xmm6,%xmm6
12668	andnl	16(%esp),%edx,%esi
12669	xorl	%edi,%ecx
12670	andl	12(%esp),%edx
12671	vpshufd	$132,%xmm6,%xmm7
12672	movl	%eax,24(%esp)
12673	orl	%esi,%edx
12674	rorxl	$2,%eax,%edi
12675	rorxl	$13,%eax,%esi
12676	vpsrldq	$8,%xmm7,%xmm7
12677	leal	(%edx,%ecx,1),%edx
12678	rorxl	$22,%eax,%ecx
12679	xorl	%edi,%esi
12680	vpaddd	%xmm7,%xmm0,%xmm0
12681	movl	28(%esp),%edi
12682	xorl	%esi,%ecx
12683	xorl	%edi,%eax
12684	vpshufd	$80,%xmm0,%xmm7
12685	addl	20(%esp),%edx
12686	andl	%eax,%ebx
12687	addl	40(%esp),%edx
12688	vpsrld	$10,%xmm7,%xmm6
12689	xorl	%edi,%ebx
12690	addl	%edx,%ecx
12691	addl	4(%esp),%edx
12692	vpsrlq	$17,%xmm7,%xmm5
12693	leal	(%ebx,%ecx,1),%ebx
12694	rorxl	$6,%edx,%ecx
12695	rorxl	$11,%edx,%esi
12696	vpxor	%xmm5,%xmm6,%xmm6
12697	movl	%edx,4(%esp)
12698	rorxl	$25,%edx,%edi
12699	xorl	%esi,%ecx
12700	vpsrlq	$19,%xmm7,%xmm7
12701	andnl	12(%esp),%edx,%esi
12702	xorl	%edi,%ecx
12703	andl	8(%esp),%edx
12704	vpxor	%xmm7,%xmm6,%xmm6
12705	movl	%ebx,20(%esp)
12706	orl	%esi,%edx
12707	rorxl	$2,%ebx,%edi
12708	rorxl	$13,%ebx,%esi
12709	vpshufd	$232,%xmm6,%xmm7
12710	leal	(%edx,%ecx,1),%edx
12711	rorxl	$22,%ebx,%ecx
12712	xorl	%edi,%esi
12713	vpslldq	$8,%xmm7,%xmm7
12714	movl	24(%esp),%edi
12715	xorl	%esi,%ecx
12716	xorl	%edi,%ebx
12717	vpaddd	%xmm7,%xmm0,%xmm0
12718	addl	16(%esp),%edx
12719	andl	%ebx,%eax
12720	addl	44(%esp),%edx
12721	vpaddd	(%ebp),%xmm0,%xmm6
12722	xorl	%edi,%eax
12723	addl	%edx,%ecx
12724	addl	(%esp),%edx
12725	leal	(%eax,%ecx,1),%eax
12726	vmovdqa	%xmm6,32(%esp)
12727	vpalignr	$4,%xmm1,%xmm2,%xmm4
12728	rorxl	$6,%edx,%ecx
12729	rorxl	$11,%edx,%esi
12730	movl	%edx,(%esp)
12731	vpalignr	$4,%xmm3,%xmm0,%xmm7
12732	rorxl	$25,%edx,%edi
12733	xorl	%esi,%ecx
12734	andnl	8(%esp),%edx,%esi
12735	vpsrld	$7,%xmm4,%xmm6
12736	xorl	%edi,%ecx
12737	andl	4(%esp),%edx
12738	movl	%eax,16(%esp)
12739	vpaddd	%xmm7,%xmm1,%xmm1
12740	orl	%esi,%edx
12741	rorxl	$2,%eax,%edi
12742	rorxl	$13,%eax,%esi
12743	vpsrld	$3,%xmm4,%xmm7
12744	leal	(%edx,%ecx,1),%edx
12745	rorxl	$22,%eax,%ecx
12746	xorl	%edi,%esi
12747	vpslld	$14,%xmm4,%xmm5
12748	movl	20(%esp),%edi
12749	xorl	%esi,%ecx
12750	xorl	%edi,%eax
12751	vpxor	%xmm6,%xmm7,%xmm4
12752	addl	12(%esp),%edx
12753	andl	%eax,%ebx
12754	addl	48(%esp),%edx
12755	vpshufd	$250,%xmm0,%xmm7
12756	xorl	%edi,%ebx
12757	addl	%edx,%ecx
12758	addl	28(%esp),%edx
12759	vpsrld	$11,%xmm6,%xmm6
12760	leal	(%ebx,%ecx,1),%ebx
12761	rorxl	$6,%edx,%ecx
12762	rorxl	$11,%edx,%esi
12763	vpxor	%xmm5,%xmm4,%xmm4
12764	movl	%edx,28(%esp)
12765	rorxl	$25,%edx,%edi
12766	xorl	%esi,%ecx
12767	vpslld	$11,%xmm5,%xmm5
12768	andnl	4(%esp),%edx,%esi
12769	xorl	%edi,%ecx
12770	andl	(%esp),%edx
12771	vpxor	%xmm6,%xmm4,%xmm4
12772	movl	%ebx,12(%esp)
12773	orl	%esi,%edx
12774	rorxl	$2,%ebx,%edi
12775	rorxl	$13,%ebx,%esi
12776	vpsrld	$10,%xmm7,%xmm6
12777	leal	(%edx,%ecx,1),%edx
12778	rorxl	$22,%ebx,%ecx
12779	xorl	%edi,%esi
12780	vpxor	%xmm5,%xmm4,%xmm4
12781	movl	16(%esp),%edi
12782	xorl	%esi,%ecx
12783	xorl	%edi,%ebx
12784	vpsrlq	$17,%xmm7,%xmm5
12785	addl	8(%esp),%edx
12786	andl	%ebx,%eax
12787	addl	52(%esp),%edx
12788	vpaddd	%xmm4,%xmm1,%xmm1
12789	xorl	%edi,%eax
12790	addl	%edx,%ecx
12791	addl	24(%esp),%edx
12792	vpxor	%xmm5,%xmm6,%xmm6
12793	leal	(%eax,%ecx,1),%eax
12794	rorxl	$6,%edx,%ecx
12795	rorxl	$11,%edx,%esi
12796	vpsrlq	$19,%xmm7,%xmm7
12797	movl	%edx,24(%esp)
12798	rorxl	$25,%edx,%edi
12799	xorl	%esi,%ecx
12800	vpxor	%xmm7,%xmm6,%xmm6
12801	andnl	(%esp),%edx,%esi
12802	xorl	%edi,%ecx
12803	andl	28(%esp),%edx
12804	vpshufd	$132,%xmm6,%xmm7
12805	movl	%eax,8(%esp)
12806	orl	%esi,%edx
12807	rorxl	$2,%eax,%edi
12808	rorxl	$13,%eax,%esi
12809	vpsrldq	$8,%xmm7,%xmm7
12810	leal	(%edx,%ecx,1),%edx
12811	rorxl	$22,%eax,%ecx
12812	xorl	%edi,%esi
12813	vpaddd	%xmm7,%xmm1,%xmm1
12814	movl	12(%esp),%edi
12815	xorl	%esi,%ecx
12816	xorl	%edi,%eax
12817	vpshufd	$80,%xmm1,%xmm7
12818	addl	4(%esp),%edx
12819	andl	%eax,%ebx
12820	addl	56(%esp),%edx
12821	vpsrld	$10,%xmm7,%xmm6
12822	xorl	%edi,%ebx
12823	addl	%edx,%ecx
12824	addl	20(%esp),%edx
12825	vpsrlq	$17,%xmm7,%xmm5
12826	leal	(%ebx,%ecx,1),%ebx
12827	rorxl	$6,%edx,%ecx
12828	rorxl	$11,%edx,%esi
12829	vpxor	%xmm5,%xmm6,%xmm6
12830	movl	%edx,20(%esp)
12831	rorxl	$25,%edx,%edi
12832	xorl	%esi,%ecx
12833	vpsrlq	$19,%xmm7,%xmm7
12834	andnl	28(%esp),%edx,%esi
12835	xorl	%edi,%ecx
12836	andl	24(%esp),%edx
12837	vpxor	%xmm7,%xmm6,%xmm6
12838	movl	%ebx,4(%esp)
12839	orl	%esi,%edx
12840	rorxl	$2,%ebx,%edi
12841	rorxl	$13,%ebx,%esi
12842	vpshufd	$232,%xmm6,%xmm7
12843	leal	(%edx,%ecx,1),%edx
12844	rorxl	$22,%ebx,%ecx
12845	xorl	%edi,%esi
12846	vpslldq	$8,%xmm7,%xmm7
12847	movl	8(%esp),%edi
12848	xorl	%esi,%ecx
12849	xorl	%edi,%ebx
12850	vpaddd	%xmm7,%xmm1,%xmm1
12851	addl	(%esp),%edx
12852	andl	%ebx,%eax
12853	addl	60(%esp),%edx
12854	vpaddd	16(%ebp),%xmm1,%xmm6
12855	xorl	%edi,%eax
12856	addl	%edx,%ecx
12857	addl	16(%esp),%edx
12858	leal	(%eax,%ecx,1),%eax
12859	vmovdqa	%xmm6,48(%esp)
12860	vpalignr	$4,%xmm2,%xmm3,%xmm4
12861	rorxl	$6,%edx,%ecx
12862	rorxl	$11,%edx,%esi
12863	movl	%edx,16(%esp)
12864	vpalignr	$4,%xmm0,%xmm1,%xmm7
12865	rorxl	$25,%edx,%edi
12866	xorl	%esi,%ecx
12867	andnl	24(%esp),%edx,%esi
12868	vpsrld	$7,%xmm4,%xmm6
12869	xorl	%edi,%ecx
12870	andl	20(%esp),%edx
12871	movl	%eax,(%esp)
12872	vpaddd	%xmm7,%xmm2,%xmm2
12873	orl	%esi,%edx
12874	rorxl	$2,%eax,%edi
12875	rorxl	$13,%eax,%esi
12876	vpsrld	$3,%xmm4,%xmm7
12877	leal	(%edx,%ecx,1),%edx
12878	rorxl	$22,%eax,%ecx
12879	xorl	%edi,%esi
12880	vpslld	$14,%xmm4,%xmm5
12881	movl	4(%esp),%edi
12882	xorl	%esi,%ecx
12883	xorl	%edi,%eax
12884	vpxor	%xmm6,%xmm7,%xmm4
12885	addl	28(%esp),%edx
12886	andl	%eax,%ebx
12887	addl	64(%esp),%edx
12888	vpshufd	$250,%xmm1,%xmm7
12889	xorl	%edi,%ebx
12890	addl	%edx,%ecx
12891	addl	12(%esp),%edx
12892	vpsrld	$11,%xmm6,%xmm6
12893	leal	(%ebx,%ecx,1),%ebx
12894	rorxl	$6,%edx,%ecx
12895	rorxl	$11,%edx,%esi
12896	vpxor	%xmm5,%xmm4,%xmm4
12897	movl	%edx,12(%esp)
12898	rorxl	$25,%edx,%edi
12899	xorl	%esi,%ecx
12900	vpslld	$11,%xmm5,%xmm5
12901	andnl	20(%esp),%edx,%esi
12902	xorl	%edi,%ecx
12903	andl	16(%esp),%edx
12904	vpxor	%xmm6,%xmm4,%xmm4
12905	movl	%ebx,28(%esp)
12906	orl	%esi,%edx
12907	rorxl	$2,%ebx,%edi
12908	rorxl	$13,%ebx,%esi
12909	vpsrld	$10,%xmm7,%xmm6
12910	leal	(%edx,%ecx,1),%edx
12911	rorxl	$22,%ebx,%ecx
12912	xorl	%edi,%esi
12913	vpxor	%xmm5,%xmm4,%xmm4
12914	movl	(%esp),%edi
12915	xorl	%esi,%ecx
12916	xorl	%edi,%ebx
12917	vpsrlq	$17,%xmm7,%xmm5
12918	addl	24(%esp),%edx
12919	andl	%ebx,%eax
12920	addl	68(%esp),%edx
12921	vpaddd	%xmm4,%xmm2,%xmm2
12922	xorl	%edi,%eax
12923	addl	%edx,%ecx
12924	addl	8(%esp),%edx
12925	vpxor	%xmm5,%xmm6,%xmm6
12926	leal	(%eax,%ecx,1),%eax
12927	rorxl	$6,%edx,%ecx
12928	rorxl	$11,%edx,%esi
12929	vpsrlq	$19,%xmm7,%xmm7
12930	movl	%edx,8(%esp)
12931	rorxl	$25,%edx,%edi
12932	xorl	%esi,%ecx
12933	vpxor	%xmm7,%xmm6,%xmm6
12934	andnl	16(%esp),%edx,%esi
12935	xorl	%edi,%ecx
12936	andl	12(%esp),%edx
12937	vpshufd	$132,%xmm6,%xmm7
12938	movl	%eax,24(%esp)
12939	orl	%esi,%edx
12940	rorxl	$2,%eax,%edi
12941	rorxl	$13,%eax,%esi
12942	vpsrldq	$8,%xmm7,%xmm7
12943	leal	(%edx,%ecx,1),%edx
12944	rorxl	$22,%eax,%ecx
12945	xorl	%edi,%esi
12946	vpaddd	%xmm7,%xmm2,%xmm2
12947	movl	28(%esp),%edi
12948	xorl	%esi,%ecx
12949	xorl	%edi,%eax
12950	vpshufd	$80,%xmm2,%xmm7
12951	addl	20(%esp),%edx
12952	andl	%eax,%ebx
12953	addl	72(%esp),%edx
12954	vpsrld	$10,%xmm7,%xmm6
12955	xorl	%edi,%ebx
12956	addl	%edx,%ecx
12957	addl	4(%esp),%edx
12958	vpsrlq	$17,%xmm7,%xmm5
12959	leal	(%ebx,%ecx,1),%ebx
12960	rorxl	$6,%edx,%ecx
12961	rorxl	$11,%edx,%esi
12962	vpxor	%xmm5,%xmm6,%xmm6
12963	movl	%edx,4(%esp)
12964	rorxl	$25,%edx,%edi
12965	xorl	%esi,%ecx
12966	vpsrlq	$19,%xmm7,%xmm7
12967	andnl	12(%esp),%edx,%esi
12968	xorl	%edi,%ecx
12969	andl	8(%esp),%edx
12970	vpxor	%xmm7,%xmm6,%xmm6
12971	movl	%ebx,20(%esp)
12972	orl	%esi,%edx
12973	rorxl	$2,%ebx,%edi
12974	rorxl	$13,%ebx,%esi
12975	vpshufd	$232,%xmm6,%xmm7
12976	leal	(%edx,%ecx,1),%edx
12977	rorxl	$22,%ebx,%ecx
12978	xorl	%edi,%esi
12979	vpslldq	$8,%xmm7,%xmm7
12980	movl	24(%esp),%edi
12981	xorl	%esi,%ecx
12982	xorl	%edi,%ebx
12983	vpaddd	%xmm7,%xmm2,%xmm2
12984	addl	16(%esp),%edx
12985	andl	%ebx,%eax
12986	addl	76(%esp),%edx
12987	vpaddd	32(%ebp),%xmm2,%xmm6
12988	xorl	%edi,%eax
12989	addl	%edx,%ecx
12990	addl	(%esp),%edx
12991	leal	(%eax,%ecx,1),%eax
12992	vmovdqa	%xmm6,64(%esp)
12993	vpalignr	$4,%xmm3,%xmm0,%xmm4
12994	rorxl	$6,%edx,%ecx
12995	rorxl	$11,%edx,%esi
12996	movl	%edx,(%esp)
12997	vpalignr	$4,%xmm1,%xmm2,%xmm7
12998	rorxl	$25,%edx,%edi
12999	xorl	%esi,%ecx
13000	andnl	8(%esp),%edx,%esi
13001	vpsrld	$7,%xmm4,%xmm6
13002	xorl	%edi,%ecx
13003	andl	4(%esp),%edx
13004	movl	%eax,16(%esp)
13005	vpaddd	%xmm7,%xmm3,%xmm3
13006	orl	%esi,%edx
13007	rorxl	$2,%eax,%edi
13008	rorxl	$13,%eax,%esi
13009	vpsrld	$3,%xmm4,%xmm7
13010	leal	(%edx,%ecx,1),%edx
13011	rorxl	$22,%eax,%ecx
13012	xorl	%edi,%esi
13013	vpslld	$14,%xmm4,%xmm5
13014	movl	20(%esp),%edi
13015	xorl	%esi,%ecx
13016	xorl	%edi,%eax
13017	vpxor	%xmm6,%xmm7,%xmm4
13018	addl	12(%esp),%edx
13019	andl	%eax,%ebx
13020	addl	80(%esp),%edx
13021	vpshufd	$250,%xmm2,%xmm7
13022	xorl	%edi,%ebx
13023	addl	%edx,%ecx
13024	addl	28(%esp),%edx
13025	vpsrld	$11,%xmm6,%xmm6
13026	leal	(%ebx,%ecx,1),%ebx
13027	rorxl	$6,%edx,%ecx
13028	rorxl	$11,%edx,%esi
13029	vpxor	%xmm5,%xmm4,%xmm4
13030	movl	%edx,28(%esp)
13031	rorxl	$25,%edx,%edi
13032	xorl	%esi,%ecx
13033	vpslld	$11,%xmm5,%xmm5
13034	andnl	4(%esp),%edx,%esi
13035	xorl	%edi,%ecx
13036	andl	(%esp),%edx
13037	vpxor	%xmm6,%xmm4,%xmm4
13038	movl	%ebx,12(%esp)
13039	orl	%esi,%edx
13040	rorxl	$2,%ebx,%edi
13041	rorxl	$13,%ebx,%esi
13042	vpsrld	$10,%xmm7,%xmm6
13043	leal	(%edx,%ecx,1),%edx
13044	rorxl	$22,%ebx,%ecx
13045	xorl	%edi,%esi
13046	vpxor	%xmm5,%xmm4,%xmm4
13047	movl	16(%esp),%edi
13048	xorl	%esi,%ecx
13049	xorl	%edi,%ebx
13050	vpsrlq	$17,%xmm7,%xmm5
13051	addl	8(%esp),%edx
13052	andl	%ebx,%eax
13053	addl	84(%esp),%edx
13054	vpaddd	%xmm4,%xmm3,%xmm3
13055	xorl	%edi,%eax
13056	addl	%edx,%ecx
13057	addl	24(%esp),%edx
13058	vpxor	%xmm5,%xmm6,%xmm6
13059	leal	(%eax,%ecx,1),%eax
13060	rorxl	$6,%edx,%ecx
13061	rorxl	$11,%edx,%esi
13062	vpsrlq	$19,%xmm7,%xmm7
13063	movl	%edx,24(%esp)
13064	rorxl	$25,%edx,%edi
13065	xorl	%esi,%ecx
13066	vpxor	%xmm7,%xmm6,%xmm6
13067	andnl	(%esp),%edx,%esi
13068	xorl	%edi,%ecx
13069	andl	28(%esp),%edx
13070	vpshufd	$132,%xmm6,%xmm7
13071	movl	%eax,8(%esp)
13072	orl	%esi,%edx
13073	rorxl	$2,%eax,%edi
13074	rorxl	$13,%eax,%esi
13075	vpsrldq	$8,%xmm7,%xmm7
13076	leal	(%edx,%ecx,1),%edx
13077	rorxl	$22,%eax,%ecx
13078	xorl	%edi,%esi
13079	vpaddd	%xmm7,%xmm3,%xmm3
13080	movl	12(%esp),%edi
13081	xorl	%esi,%ecx
13082	xorl	%edi,%eax
13083	vpshufd	$80,%xmm3,%xmm7
13084	addl	4(%esp),%edx
13085	andl	%eax,%ebx
13086	addl	88(%esp),%edx
13087	vpsrld	$10,%xmm7,%xmm6
13088	xorl	%edi,%ebx
13089	addl	%edx,%ecx
13090	addl	20(%esp),%edx
13091	vpsrlq	$17,%xmm7,%xmm5
13092	leal	(%ebx,%ecx,1),%ebx
13093	rorxl	$6,%edx,%ecx
13094	rorxl	$11,%edx,%esi
13095	vpxor	%xmm5,%xmm6,%xmm6
13096	movl	%edx,20(%esp)
13097	rorxl	$25,%edx,%edi
13098	xorl	%esi,%ecx
13099	vpsrlq	$19,%xmm7,%xmm7
13100	andnl	28(%esp),%edx,%esi
13101	xorl	%edi,%ecx
13102	andl	24(%esp),%edx
13103	vpxor	%xmm7,%xmm6,%xmm6
13104	movl	%ebx,4(%esp)
13105	orl	%esi,%edx
13106	rorxl	$2,%ebx,%edi
13107	rorxl	$13,%ebx,%esi
13108	vpshufd	$232,%xmm6,%xmm7
13109	leal	(%edx,%ecx,1),%edx
13110	rorxl	$22,%ebx,%ecx
13111	xorl	%edi,%esi
13112	vpslldq	$8,%xmm7,%xmm7
13113	movl	8(%esp),%edi
13114	xorl	%esi,%ecx
13115	xorl	%edi,%ebx
13116	vpaddd	%xmm7,%xmm3,%xmm3
13117	addl	(%esp),%edx
13118	andl	%ebx,%eax
13119	addl	92(%esp),%edx
13120	vpaddd	48(%ebp),%xmm3,%xmm6
13121	xorl	%edi,%eax
13122	addl	%edx,%ecx
13123	addl	16(%esp),%edx
13124	leal	(%eax,%ecx,1),%eax
13125	vmovdqa	%xmm6,80(%esp)
13126	cmpl	$66051,64(%ebp)
13127	jne	.L018avx_bmi_00_47
13128	rorxl	$6,%edx,%ecx
13129	rorxl	$11,%edx,%esi
13130	movl	%edx,16(%esp)
13131	rorxl	$25,%edx,%edi
13132	xorl	%esi,%ecx
13133	andnl	24(%esp),%edx,%esi
13134	xorl	%edi,%ecx
13135	andl	20(%esp),%edx
13136	movl	%eax,(%esp)
13137	orl	%esi,%edx
13138	rorxl	$2,%eax,%edi
13139	rorxl	$13,%eax,%esi
13140	leal	(%edx,%ecx,1),%edx
13141	rorxl	$22,%eax,%ecx
13142	xorl	%edi,%esi
13143	movl	4(%esp),%edi
13144	xorl	%esi,%ecx
13145	xorl	%edi,%eax
13146	addl	28(%esp),%edx
13147	andl	%eax,%ebx
13148	addl	32(%esp),%edx
13149	xorl	%edi,%ebx
13150	addl	%edx,%ecx
13151	addl	12(%esp),%edx
13152	leal	(%ebx,%ecx,1),%ebx
13153	rorxl	$6,%edx,%ecx
13154	rorxl	$11,%edx,%esi
13155	movl	%edx,12(%esp)
13156	rorxl	$25,%edx,%edi
13157	xorl	%esi,%ecx
13158	andnl	20(%esp),%edx,%esi
13159	xorl	%edi,%ecx
13160	andl	16(%esp),%edx
13161	movl	%ebx,28(%esp)
13162	orl	%esi,%edx
13163	rorxl	$2,%ebx,%edi
13164	rorxl	$13,%ebx,%esi
13165	leal	(%edx,%ecx,1),%edx
13166	rorxl	$22,%ebx,%ecx
13167	xorl	%edi,%esi
13168	movl	(%esp),%edi
13169	xorl	%esi,%ecx
13170	xorl	%edi,%ebx
13171	addl	24(%esp),%edx
13172	andl	%ebx,%eax
13173	addl	36(%esp),%edx
13174	xorl	%edi,%eax
13175	addl	%edx,%ecx
13176	addl	8(%esp),%edx
13177	leal	(%eax,%ecx,1),%eax
13178	rorxl	$6,%edx,%ecx
13179	rorxl	$11,%edx,%esi
13180	movl	%edx,8(%esp)
13181	rorxl	$25,%edx,%edi
13182	xorl	%esi,%ecx
13183	andnl	16(%esp),%edx,%esi
13184	xorl	%edi,%ecx
13185	andl	12(%esp),%edx
13186	movl	%eax,24(%esp)
13187	orl	%esi,%edx
13188	rorxl	$2,%eax,%edi
13189	rorxl	$13,%eax,%esi
13190	leal	(%edx,%ecx,1),%edx
13191	rorxl	$22,%eax,%ecx
13192	xorl	%edi,%esi
13193	movl	28(%esp),%edi
13194	xorl	%esi,%ecx
13195	xorl	%edi,%eax
13196	addl	20(%esp),%edx
13197	andl	%eax,%ebx
13198	addl	40(%esp),%edx
13199	xorl	%edi,%ebx
13200	addl	%edx,%ecx
13201	addl	4(%esp),%edx
13202	leal	(%ebx,%ecx,1),%ebx
13203	rorxl	$6,%edx,%ecx
13204	rorxl	$11,%edx,%esi
13205	movl	%edx,4(%esp)
13206	rorxl	$25,%edx,%edi
13207	xorl	%esi,%ecx
13208	andnl	12(%esp),%edx,%esi
13209	xorl	%edi,%ecx
13210	andl	8(%esp),%edx
13211	movl	%ebx,20(%esp)
13212	orl	%esi,%edx
13213	rorxl	$2,%ebx,%edi
13214	rorxl	$13,%ebx,%esi
13215	leal	(%edx,%ecx,1),%edx
13216	rorxl	$22,%ebx,%ecx
13217	xorl	%edi,%esi
13218	movl	24(%esp),%edi
13219	xorl	%esi,%ecx
13220	xorl	%edi,%ebx
13221	addl	16(%esp),%edx
13222	andl	%ebx,%eax
13223	addl	44(%esp),%edx
13224	xorl	%edi,%eax
13225	addl	%edx,%ecx
13226	addl	(%esp),%edx
13227	leal	(%eax,%ecx,1),%eax
13228	rorxl	$6,%edx,%ecx
13229	rorxl	$11,%edx,%esi
13230	movl	%edx,(%esp)
13231	rorxl	$25,%edx,%edi
13232	xorl	%esi,%ecx
13233	andnl	8(%esp),%edx,%esi
13234	xorl	%edi,%ecx
13235	andl	4(%esp),%edx
13236	movl	%eax,16(%esp)
13237	orl	%esi,%edx
13238	rorxl	$2,%eax,%edi
13239	rorxl	$13,%eax,%esi
13240	leal	(%edx,%ecx,1),%edx
13241	rorxl	$22,%eax,%ecx
13242	xorl	%edi,%esi
13243	movl	20(%esp),%edi
13244	xorl	%esi,%ecx
13245	xorl	%edi,%eax
13246	addl	12(%esp),%edx
13247	andl	%eax,%ebx
13248	addl	48(%esp),%edx
13249	xorl	%edi,%ebx
13250	addl	%edx,%ecx
13251	addl	28(%esp),%edx
13252	leal	(%ebx,%ecx,1),%ebx
13253	rorxl	$6,%edx,%ecx
13254	rorxl	$11,%edx,%esi
13255	movl	%edx,28(%esp)
13256	rorxl	$25,%edx,%edi
13257	xorl	%esi,%ecx
13258	andnl	4(%esp),%edx,%esi
13259	xorl	%edi,%ecx
13260	andl	(%esp),%edx
13261	movl	%ebx,12(%esp)
13262	orl	%esi,%edx
13263	rorxl	$2,%ebx,%edi
13264	rorxl	$13,%ebx,%esi
13265	leal	(%edx,%ecx,1),%edx
13266	rorxl	$22,%ebx,%ecx
13267	xorl	%edi,%esi
13268	movl	16(%esp),%edi
13269	xorl	%esi,%ecx
13270	xorl	%edi,%ebx
13271	addl	8(%esp),%edx
13272	andl	%ebx,%eax
13273	addl	52(%esp),%edx
13274	xorl	%edi,%eax
13275	addl	%edx,%ecx
13276	addl	24(%esp),%edx
13277	leal	(%eax,%ecx,1),%eax
13278	rorxl	$6,%edx,%ecx
13279	rorxl	$11,%edx,%esi
13280	movl	%edx,24(%esp)
13281	rorxl	$25,%edx,%edi
13282	xorl	%esi,%ecx
13283	andnl	(%esp),%edx,%esi
13284	xorl	%edi,%ecx
13285	andl	28(%esp),%edx
13286	movl	%eax,8(%esp)
13287	orl	%esi,%edx
13288	rorxl	$2,%eax,%edi
13289	rorxl	$13,%eax,%esi
13290	leal	(%edx,%ecx,1),%edx
13291	rorxl	$22,%eax,%ecx
13292	xorl	%edi,%esi
13293	movl	12(%esp),%edi
13294	xorl	%esi,%ecx
13295	xorl	%edi,%eax
13296	addl	4(%esp),%edx
13297	andl	%eax,%ebx
13298	addl	56(%esp),%edx
13299	xorl	%edi,%ebx
13300	addl	%edx,%ecx
13301	addl	20(%esp),%edx
13302	leal	(%ebx,%ecx,1),%ebx
13303	rorxl	$6,%edx,%ecx
13304	rorxl	$11,%edx,%esi
13305	movl	%edx,20(%esp)
13306	rorxl	$25,%edx,%edi
13307	xorl	%esi,%ecx
13308	andnl	28(%esp),%edx,%esi
13309	xorl	%edi,%ecx
13310	andl	24(%esp),%edx
13311	movl	%ebx,4(%esp)
13312	orl	%esi,%edx
13313	rorxl	$2,%ebx,%edi
13314	rorxl	$13,%ebx,%esi
13315	leal	(%edx,%ecx,1),%edx
13316	rorxl	$22,%ebx,%ecx
13317	xorl	%edi,%esi
13318	movl	8(%esp),%edi
13319	xorl	%esi,%ecx
13320	xorl	%edi,%ebx
13321	addl	(%esp),%edx
13322	andl	%ebx,%eax
13323	addl	60(%esp),%edx
13324	xorl	%edi,%eax
13325	addl	%edx,%ecx
13326	addl	16(%esp),%edx
13327	leal	(%eax,%ecx,1),%eax
13328	rorxl	$6,%edx,%ecx
13329	rorxl	$11,%edx,%esi
13330	movl	%edx,16(%esp)
13331	rorxl	$25,%edx,%edi
13332	xorl	%esi,%ecx
13333	andnl	24(%esp),%edx,%esi
13334	xorl	%edi,%ecx
13335	andl	20(%esp),%edx
13336	movl	%eax,(%esp)
13337	orl	%esi,%edx
13338	rorxl	$2,%eax,%edi
13339	rorxl	$13,%eax,%esi
13340	leal	(%edx,%ecx,1),%edx
13341	rorxl	$22,%eax,%ecx
13342	xorl	%edi,%esi
13343	movl	4(%esp),%edi
13344	xorl	%esi,%ecx
13345	xorl	%edi,%eax
13346	addl	28(%esp),%edx
13347	andl	%eax,%ebx
13348	addl	64(%esp),%edx
13349	xorl	%edi,%ebx
13350	addl	%edx,%ecx
13351	addl	12(%esp),%edx
13352	leal	(%ebx,%ecx,1),%ebx
13353	rorxl	$6,%edx,%ecx
13354	rorxl	$11,%edx,%esi
13355	movl	%edx,12(%esp)
13356	rorxl	$25,%edx,%edi
13357	xorl	%esi,%ecx
13358	andnl	20(%esp),%edx,%esi
13359	xorl	%edi,%ecx
13360	andl	16(%esp),%edx
13361	movl	%ebx,28(%esp)
13362	orl	%esi,%edx
13363	rorxl	$2,%ebx,%edi
13364	rorxl	$13,%ebx,%esi
13365	leal	(%edx,%ecx,1),%edx
13366	rorxl	$22,%ebx,%ecx
13367	xorl	%edi,%esi
13368	movl	(%esp),%edi
13369	xorl	%esi,%ecx
13370	xorl	%edi,%ebx
13371	addl	24(%esp),%edx
13372	andl	%ebx,%eax
13373	addl	68(%esp),%edx
13374	xorl	%edi,%eax
13375	addl	%edx,%ecx
13376	addl	8(%esp),%edx
13377	leal	(%eax,%ecx,1),%eax
13378	rorxl	$6,%edx,%ecx
13379	rorxl	$11,%edx,%esi
13380	movl	%edx,8(%esp)
13381	rorxl	$25,%edx,%edi
13382	xorl	%esi,%ecx
13383	andnl	16(%esp),%edx,%esi
13384	xorl	%edi,%ecx
13385	andl	12(%esp),%edx
13386	movl	%eax,24(%esp)
13387	orl	%esi,%edx
13388	rorxl	$2,%eax,%edi
13389	rorxl	$13,%eax,%esi
13390	leal	(%edx,%ecx,1),%edx
13391	rorxl	$22,%eax,%ecx
13392	xorl	%edi,%esi
13393	movl	28(%esp),%edi
13394	xorl	%esi,%ecx
13395	xorl	%edi,%eax
13396	addl	20(%esp),%edx
13397	andl	%eax,%ebx
13398	addl	72(%esp),%edx
13399	xorl	%edi,%ebx
13400	addl	%edx,%ecx
13401	addl	4(%esp),%edx
13402	leal	(%ebx,%ecx,1),%ebx
13403	rorxl	$6,%edx,%ecx
13404	rorxl	$11,%edx,%esi
13405	movl	%edx,4(%esp)
13406	rorxl	$25,%edx,%edi
13407	xorl	%esi,%ecx
13408	andnl	12(%esp),%edx,%esi
13409	xorl	%edi,%ecx
13410	andl	8(%esp),%edx
13411	movl	%ebx,20(%esp)
13412	orl	%esi,%edx
13413	rorxl	$2,%ebx,%edi
13414	rorxl	$13,%ebx,%esi
13415	leal	(%edx,%ecx,1),%edx
13416	rorxl	$22,%ebx,%ecx
13417	xorl	%edi,%esi
13418	movl	24(%esp),%edi
13419	xorl	%esi,%ecx
13420	xorl	%edi,%ebx
13421	addl	16(%esp),%edx
13422	andl	%ebx,%eax
13423	addl	76(%esp),%edx
13424	xorl	%edi,%eax
13425	addl	%edx,%ecx
13426	addl	(%esp),%edx
13427	leal	(%eax,%ecx,1),%eax
13428	rorxl	$6,%edx,%ecx
13429	rorxl	$11,%edx,%esi
13430	movl	%edx,(%esp)
13431	rorxl	$25,%edx,%edi
13432	xorl	%esi,%ecx
13433	andnl	8(%esp),%edx,%esi
13434	xorl	%edi,%ecx
13435	andl	4(%esp),%edx
13436	movl	%eax,16(%esp)
13437	orl	%esi,%edx
13438	rorxl	$2,%eax,%edi
13439	rorxl	$13,%eax,%esi
13440	leal	(%edx,%ecx,1),%edx
13441	rorxl	$22,%eax,%ecx
13442	xorl	%edi,%esi
13443	movl	20(%esp),%edi
13444	xorl	%esi,%ecx
13445	xorl	%edi,%eax
13446	addl	12(%esp),%edx
13447	andl	%eax,%ebx
13448	addl	80(%esp),%edx
13449	xorl	%edi,%ebx
13450	addl	%edx,%ecx
13451	addl	28(%esp),%edx
13452	leal	(%ebx,%ecx,1),%ebx
13453	rorxl	$6,%edx,%ecx
13454	rorxl	$11,%edx,%esi
13455	movl	%edx,28(%esp)
13456	rorxl	$25,%edx,%edi
13457	xorl	%esi,%ecx
13458	andnl	4(%esp),%edx,%esi
13459	xorl	%edi,%ecx
13460	andl	(%esp),%edx
13461	movl	%ebx,12(%esp)
13462	orl	%esi,%edx
13463	rorxl	$2,%ebx,%edi
13464	rorxl	$13,%ebx,%esi
13465	leal	(%edx,%ecx,1),%edx
13466	rorxl	$22,%ebx,%ecx
13467	xorl	%edi,%esi
13468	movl	16(%esp),%edi
13469	xorl	%esi,%ecx
13470	xorl	%edi,%ebx
13471	addl	8(%esp),%edx
13472	andl	%ebx,%eax
13473	addl	84(%esp),%edx
13474	xorl	%edi,%eax
13475	addl	%edx,%ecx
13476	addl	24(%esp),%edx
13477	leal	(%eax,%ecx,1),%eax
13478	rorxl	$6,%edx,%ecx
13479	rorxl	$11,%edx,%esi
13480	movl	%edx,24(%esp)
13481	rorxl	$25,%edx,%edi
13482	xorl	%esi,%ecx
13483	andnl	(%esp),%edx,%esi
13484	xorl	%edi,%ecx
13485	andl	28(%esp),%edx
13486	movl	%eax,8(%esp)
13487	orl	%esi,%edx
13488	rorxl	$2,%eax,%edi
13489	rorxl	$13,%eax,%esi
13490	leal	(%edx,%ecx,1),%edx
13491	rorxl	$22,%eax,%ecx
13492	xorl	%edi,%esi
13493	movl	12(%esp),%edi
13494	xorl	%esi,%ecx
13495	xorl	%edi,%eax
13496	addl	4(%esp),%edx
13497	andl	%eax,%ebx
13498	addl	88(%esp),%edx
13499	xorl	%edi,%ebx
13500	addl	%edx,%ecx
13501	addl	20(%esp),%edx
13502	leal	(%ebx,%ecx,1),%ebx
13503	rorxl	$6,%edx,%ecx
13504	rorxl	$11,%edx,%esi
13505	movl	%edx,20(%esp)
13506	rorxl	$25,%edx,%edi
13507	xorl	%esi,%ecx
13508	andnl	28(%esp),%edx,%esi
13509	xorl	%edi,%ecx
13510	andl	24(%esp),%edx
13511	movl	%ebx,4(%esp)
13512	orl	%esi,%edx
13513	rorxl	$2,%ebx,%edi
13514	rorxl	$13,%ebx,%esi
13515	leal	(%edx,%ecx,1),%edx
13516	rorxl	$22,%ebx,%ecx
13517	xorl	%edi,%esi
13518	movl	8(%esp),%edi
13519	xorl	%esi,%ecx
13520	xorl	%edi,%ebx
13521	addl	(%esp),%edx
13522	andl	%ebx,%eax
13523	addl	92(%esp),%edx
13524	xorl	%edi,%eax
13525	addl	%edx,%ecx
13526	addl	16(%esp),%edx
13527	leal	(%eax,%ecx,1),%eax
13528	movl	96(%esp),%esi
13529	xorl	%edi,%ebx
13530	movl	12(%esp),%ecx
13531	addl	(%esi),%eax
13532	addl	4(%esi),%ebx
13533	addl	8(%esi),%edi
13534	addl	12(%esi),%ecx
13535	movl	%eax,(%esi)
13536	movl	%ebx,4(%esi)
13537	movl	%edi,8(%esi)
13538	movl	%ecx,12(%esi)
13539	movl	%ebx,4(%esp)
13540	xorl	%edi,%ebx
13541	movl	%edi,8(%esp)
13542	movl	%ecx,12(%esp)
13543	movl	20(%esp),%edi
13544	movl	24(%esp),%ecx
13545	addl	16(%esi),%edx
13546	addl	20(%esi),%edi
13547	addl	24(%esi),%ecx
13548	movl	%edx,16(%esi)
13549	movl	%edi,20(%esi)
13550	movl	%edi,20(%esp)
13551	movl	28(%esp),%edi
13552	movl	%ecx,24(%esi)
13553	addl	28(%esi),%edi
13554	movl	%ecx,24(%esp)
13555	movl	%edi,28(%esi)
13556	movl	%edi,28(%esp)
13557	movl	100(%esp),%edi
13558	vmovdqa	64(%ebp),%xmm7
13559	subl	$192,%ebp
13560	cmpl	104(%esp),%edi
13561	jb	.L017grand_avx_bmi
13562	movl	108(%esp),%esp
13563	vzeroall
13564	popl	%edi
13565	popl	%esi
13566	popl	%ebx
13567	popl	%ebp
13568	ret
13569.size	sha256_block_data_order,.-.L_sha256_block_data_order_begin
13570.comm	OPENSSL_ia32cap_P,16,4
13571#endif
13572