xref: /freebsd/sys/crypto/openssl/i386/sha256-586.S (revision 1f474190)
1/* $FreeBSD$ */
2/* Do not modify. This file is auto-generated from sha256-586.pl. */
3#ifdef PIC
4.text
5.globl	sha256_block_data_order
6.type	sha256_block_data_order,@function
7.align	16
8sha256_block_data_order:
9.L_sha256_block_data_order_begin:
10	pushl	%ebp
11	pushl	%ebx
12	pushl	%esi
13	pushl	%edi
14	movl	20(%esp),%esi
15	movl	24(%esp),%edi
16	movl	28(%esp),%eax
17	movl	%esp,%ebx
18	call	.L000pic_point
19.L000pic_point:
20	popl	%ebp
21	leal	.L001K256-.L000pic_point(%ebp),%ebp
22	subl	$16,%esp
23	andl	$-64,%esp
24	shll	$6,%eax
25	addl	%edi,%eax
26	movl	%esi,(%esp)
27	movl	%edi,4(%esp)
28	movl	%eax,8(%esp)
29	movl	%ebx,12(%esp)
30	leal	OPENSSL_ia32cap_P-.L001K256(%ebp),%edx
31	movl	(%edx),%ecx
32	movl	4(%edx),%ebx
33	testl	$1048576,%ecx
34	jnz	.L002loop
35	movl	8(%edx),%edx
36	testl	$16777216,%ecx
37	jz	.L003no_xmm
38	andl	$1073741824,%ecx
39	andl	$268435968,%ebx
40	testl	$536870912,%edx
41	jnz	.L004shaext
42	orl	%ebx,%ecx
43	andl	$1342177280,%ecx
44	cmpl	$1342177280,%ecx
45	je	.L005AVX
46	testl	$512,%ebx
47	jnz	.L006SSSE3
48.L003no_xmm:
49	subl	%edi,%eax
50	cmpl	$256,%eax
51	jae	.L007unrolled
52	jmp	.L002loop
53.align	16
54.L002loop:
55	movl	(%edi),%eax
56	movl	4(%edi),%ebx
57	movl	8(%edi),%ecx
58	bswap	%eax
59	movl	12(%edi),%edx
60	bswap	%ebx
61	pushl	%eax
62	bswap	%ecx
63	pushl	%ebx
64	bswap	%edx
65	pushl	%ecx
66	pushl	%edx
67	movl	16(%edi),%eax
68	movl	20(%edi),%ebx
69	movl	24(%edi),%ecx
70	bswap	%eax
71	movl	28(%edi),%edx
72	bswap	%ebx
73	pushl	%eax
74	bswap	%ecx
75	pushl	%ebx
76	bswap	%edx
77	pushl	%ecx
78	pushl	%edx
79	movl	32(%edi),%eax
80	movl	36(%edi),%ebx
81	movl	40(%edi),%ecx
82	bswap	%eax
83	movl	44(%edi),%edx
84	bswap	%ebx
85	pushl	%eax
86	bswap	%ecx
87	pushl	%ebx
88	bswap	%edx
89	pushl	%ecx
90	pushl	%edx
91	movl	48(%edi),%eax
92	movl	52(%edi),%ebx
93	movl	56(%edi),%ecx
94	bswap	%eax
95	movl	60(%edi),%edx
96	bswap	%ebx
97	pushl	%eax
98	bswap	%ecx
99	pushl	%ebx
100	bswap	%edx
101	pushl	%ecx
102	pushl	%edx
103	addl	$64,%edi
104	leal	-36(%esp),%esp
105	movl	%edi,104(%esp)
106	movl	(%esi),%eax
107	movl	4(%esi),%ebx
108	movl	8(%esi),%ecx
109	movl	12(%esi),%edi
110	movl	%ebx,8(%esp)
111	xorl	%ecx,%ebx
112	movl	%ecx,12(%esp)
113	movl	%edi,16(%esp)
114	movl	%ebx,(%esp)
115	movl	16(%esi),%edx
116	movl	20(%esi),%ebx
117	movl	24(%esi),%ecx
118	movl	28(%esi),%edi
119	movl	%ebx,24(%esp)
120	movl	%ecx,28(%esp)
121	movl	%edi,32(%esp)
122.align	16
123.L00800_15:
124	movl	%edx,%ecx
125	movl	24(%esp),%esi
126	rorl	$14,%ecx
127	movl	28(%esp),%edi
128	xorl	%edx,%ecx
129	xorl	%edi,%esi
130	movl	96(%esp),%ebx
131	rorl	$5,%ecx
132	andl	%edx,%esi
133	movl	%edx,20(%esp)
134	xorl	%ecx,%edx
135	addl	32(%esp),%ebx
136	xorl	%edi,%esi
137	rorl	$6,%edx
138	movl	%eax,%ecx
139	addl	%esi,%ebx
140	rorl	$9,%ecx
141	addl	%edx,%ebx
142	movl	8(%esp),%edi
143	xorl	%eax,%ecx
144	movl	%eax,4(%esp)
145	leal	-4(%esp),%esp
146	rorl	$11,%ecx
147	movl	(%ebp),%esi
148	xorl	%eax,%ecx
149	movl	20(%esp),%edx
150	xorl	%edi,%eax
151	rorl	$2,%ecx
152	addl	%esi,%ebx
153	movl	%eax,(%esp)
154	addl	%ebx,%edx
155	andl	4(%esp),%eax
156	addl	%ecx,%ebx
157	xorl	%edi,%eax
158	addl	$4,%ebp
159	addl	%ebx,%eax
160	cmpl	$3248222580,%esi
161	jne	.L00800_15
162	movl	156(%esp),%ecx
163	jmp	.L00916_63
164.align	16
165.L00916_63:
166	movl	%ecx,%ebx
167	movl	104(%esp),%esi
168	rorl	$11,%ecx
169	movl	%esi,%edi
170	rorl	$2,%esi
171	xorl	%ebx,%ecx
172	shrl	$3,%ebx
173	rorl	$7,%ecx
174	xorl	%edi,%esi
175	xorl	%ecx,%ebx
176	rorl	$17,%esi
177	addl	160(%esp),%ebx
178	shrl	$10,%edi
179	addl	124(%esp),%ebx
180	movl	%edx,%ecx
181	xorl	%esi,%edi
182	movl	24(%esp),%esi
183	rorl	$14,%ecx
184	addl	%edi,%ebx
185	movl	28(%esp),%edi
186	xorl	%edx,%ecx
187	xorl	%edi,%esi
188	movl	%ebx,96(%esp)
189	rorl	$5,%ecx
190	andl	%edx,%esi
191	movl	%edx,20(%esp)
192	xorl	%ecx,%edx
193	addl	32(%esp),%ebx
194	xorl	%edi,%esi
195	rorl	$6,%edx
196	movl	%eax,%ecx
197	addl	%esi,%ebx
198	rorl	$9,%ecx
199	addl	%edx,%ebx
200	movl	8(%esp),%edi
201	xorl	%eax,%ecx
202	movl	%eax,4(%esp)
203	leal	-4(%esp),%esp
204	rorl	$11,%ecx
205	movl	(%ebp),%esi
206	xorl	%eax,%ecx
207	movl	20(%esp),%edx
208	xorl	%edi,%eax
209	rorl	$2,%ecx
210	addl	%esi,%ebx
211	movl	%eax,(%esp)
212	addl	%ebx,%edx
213	andl	4(%esp),%eax
214	addl	%ecx,%ebx
215	xorl	%edi,%eax
216	movl	156(%esp),%ecx
217	addl	$4,%ebp
218	addl	%ebx,%eax
219	cmpl	$3329325298,%esi
220	jne	.L00916_63
221	movl	356(%esp),%esi
222	movl	8(%esp),%ebx
223	movl	16(%esp),%ecx
224	addl	(%esi),%eax
225	addl	4(%esi),%ebx
226	addl	8(%esi),%edi
227	addl	12(%esi),%ecx
228	movl	%eax,(%esi)
229	movl	%ebx,4(%esi)
230	movl	%edi,8(%esi)
231	movl	%ecx,12(%esi)
232	movl	24(%esp),%eax
233	movl	28(%esp),%ebx
234	movl	32(%esp),%ecx
235	movl	360(%esp),%edi
236	addl	16(%esi),%edx
237	addl	20(%esi),%eax
238	addl	24(%esi),%ebx
239	addl	28(%esi),%ecx
240	movl	%edx,16(%esi)
241	movl	%eax,20(%esi)
242	movl	%ebx,24(%esi)
243	movl	%ecx,28(%esi)
244	leal	356(%esp),%esp
245	subl	$256,%ebp
246	cmpl	8(%esp),%edi
247	jb	.L002loop
248	movl	12(%esp),%esp
249	popl	%edi
250	popl	%esi
251	popl	%ebx
252	popl	%ebp
253	ret
254.align	64
255.L001K256:
256.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
257.long	66051,67438087,134810123,202182159
258.byte	83,72,65,50,53,54,32,98,108,111,99,107,32,116,114,97
259.byte	110,115,102,111,114,109,32,102,111,114,32,120,56,54,44,32
260.byte	67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97
261.byte	112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103
262.byte	62,0
263.align	16
264.L007unrolled:
265	leal	-96(%esp),%esp
266	movl	(%esi),%eax
267	movl	4(%esi),%ebp
268	movl	8(%esi),%ecx
269	movl	12(%esi),%ebx
270	movl	%ebp,4(%esp)
271	xorl	%ecx,%ebp
272	movl	%ecx,8(%esp)
273	movl	%ebx,12(%esp)
274	movl	16(%esi),%edx
275	movl	20(%esi),%ebx
276	movl	24(%esi),%ecx
277	movl	28(%esi),%esi
278	movl	%ebx,20(%esp)
279	movl	%ecx,24(%esp)
280	movl	%esi,28(%esp)
281	jmp	.L010grand_loop
282.align	16
283.L010grand_loop:
284	movl	(%edi),%ebx
285	movl	4(%edi),%ecx
286	bswap	%ebx
287	movl	8(%edi),%esi
288	bswap	%ecx
289	movl	%ebx,32(%esp)
290	bswap	%esi
291	movl	%ecx,36(%esp)
292	movl	%esi,40(%esp)
293	movl	12(%edi),%ebx
294	movl	16(%edi),%ecx
295	bswap	%ebx
296	movl	20(%edi),%esi
297	bswap	%ecx
298	movl	%ebx,44(%esp)
299	bswap	%esi
300	movl	%ecx,48(%esp)
301	movl	%esi,52(%esp)
302	movl	24(%edi),%ebx
303	movl	28(%edi),%ecx
304	bswap	%ebx
305	movl	32(%edi),%esi
306	bswap	%ecx
307	movl	%ebx,56(%esp)
308	bswap	%esi
309	movl	%ecx,60(%esp)
310	movl	%esi,64(%esp)
311	movl	36(%edi),%ebx
312	movl	40(%edi),%ecx
313	bswap	%ebx
314	movl	44(%edi),%esi
315	bswap	%ecx
316	movl	%ebx,68(%esp)
317	bswap	%esi
318	movl	%ecx,72(%esp)
319	movl	%esi,76(%esp)
320	movl	48(%edi),%ebx
321	movl	52(%edi),%ecx
322	bswap	%ebx
323	movl	56(%edi),%esi
324	bswap	%ecx
325	movl	%ebx,80(%esp)
326	bswap	%esi
327	movl	%ecx,84(%esp)
328	movl	%esi,88(%esp)
329	movl	60(%edi),%ebx
330	addl	$64,%edi
331	bswap	%ebx
332	movl	%edi,100(%esp)
333	movl	%ebx,92(%esp)
334	movl	%edx,%ecx
335	movl	20(%esp),%esi
336	rorl	$14,%edx
337	movl	24(%esp),%edi
338	xorl	%ecx,%edx
339	movl	32(%esp),%ebx
340	xorl	%edi,%esi
341	rorl	$5,%edx
342	andl	%ecx,%esi
343	movl	%ecx,16(%esp)
344	xorl	%ecx,%edx
345	addl	28(%esp),%ebx
346	xorl	%esi,%edi
347	rorl	$6,%edx
348	movl	%eax,%ecx
349	addl	%edi,%ebx
350	rorl	$9,%ecx
351	movl	%eax,%esi
352	movl	4(%esp),%edi
353	xorl	%eax,%ecx
354	movl	%eax,(%esp)
355	xorl	%edi,%eax
356	rorl	$11,%ecx
357	andl	%eax,%ebp
358	leal	1116352408(%ebx,%edx,1),%edx
359	xorl	%esi,%ecx
360	xorl	%edi,%ebp
361	rorl	$2,%ecx
362	addl	%edx,%ebp
363	addl	12(%esp),%edx
364	addl	%ecx,%ebp
365	movl	%edx,%esi
366	movl	16(%esp),%ecx
367	rorl	$14,%edx
368	movl	20(%esp),%edi
369	xorl	%esi,%edx
370	movl	36(%esp),%ebx
371	xorl	%edi,%ecx
372	rorl	$5,%edx
373	andl	%esi,%ecx
374	movl	%esi,12(%esp)
375	xorl	%esi,%edx
376	addl	24(%esp),%ebx
377	xorl	%ecx,%edi
378	rorl	$6,%edx
379	movl	%ebp,%esi
380	addl	%edi,%ebx
381	rorl	$9,%esi
382	movl	%ebp,%ecx
383	movl	(%esp),%edi
384	xorl	%ebp,%esi
385	movl	%ebp,28(%esp)
386	xorl	%edi,%ebp
387	rorl	$11,%esi
388	andl	%ebp,%eax
389	leal	1899447441(%ebx,%edx,1),%edx
390	xorl	%ecx,%esi
391	xorl	%edi,%eax
392	rorl	$2,%esi
393	addl	%edx,%eax
394	addl	8(%esp),%edx
395	addl	%esi,%eax
396	movl	%edx,%ecx
397	movl	12(%esp),%esi
398	rorl	$14,%edx
399	movl	16(%esp),%edi
400	xorl	%ecx,%edx
401	movl	40(%esp),%ebx
402	xorl	%edi,%esi
403	rorl	$5,%edx
404	andl	%ecx,%esi
405	movl	%ecx,8(%esp)
406	xorl	%ecx,%edx
407	addl	20(%esp),%ebx
408	xorl	%esi,%edi
409	rorl	$6,%edx
410	movl	%eax,%ecx
411	addl	%edi,%ebx
412	rorl	$9,%ecx
413	movl	%eax,%esi
414	movl	28(%esp),%edi
415	xorl	%eax,%ecx
416	movl	%eax,24(%esp)
417	xorl	%edi,%eax
418	rorl	$11,%ecx
419	andl	%eax,%ebp
420	leal	3049323471(%ebx,%edx,1),%edx
421	xorl	%esi,%ecx
422	xorl	%edi,%ebp
423	rorl	$2,%ecx
424	addl	%edx,%ebp
425	addl	4(%esp),%edx
426	addl	%ecx,%ebp
427	movl	%edx,%esi
428	movl	8(%esp),%ecx
429	rorl	$14,%edx
430	movl	12(%esp),%edi
431	xorl	%esi,%edx
432	movl	44(%esp),%ebx
433	xorl	%edi,%ecx
434	rorl	$5,%edx
435	andl	%esi,%ecx
436	movl	%esi,4(%esp)
437	xorl	%esi,%edx
438	addl	16(%esp),%ebx
439	xorl	%ecx,%edi
440	rorl	$6,%edx
441	movl	%ebp,%esi
442	addl	%edi,%ebx
443	rorl	$9,%esi
444	movl	%ebp,%ecx
445	movl	24(%esp),%edi
446	xorl	%ebp,%esi
447	movl	%ebp,20(%esp)
448	xorl	%edi,%ebp
449	rorl	$11,%esi
450	andl	%ebp,%eax
451	leal	3921009573(%ebx,%edx,1),%edx
452	xorl	%ecx,%esi
453	xorl	%edi,%eax
454	rorl	$2,%esi
455	addl	%edx,%eax
456	addl	(%esp),%edx
457	addl	%esi,%eax
458	movl	%edx,%ecx
459	movl	4(%esp),%esi
460	rorl	$14,%edx
461	movl	8(%esp),%edi
462	xorl	%ecx,%edx
463	movl	48(%esp),%ebx
464	xorl	%edi,%esi
465	rorl	$5,%edx
466	andl	%ecx,%esi
467	movl	%ecx,(%esp)
468	xorl	%ecx,%edx
469	addl	12(%esp),%ebx
470	xorl	%esi,%edi
471	rorl	$6,%edx
472	movl	%eax,%ecx
473	addl	%edi,%ebx
474	rorl	$9,%ecx
475	movl	%eax,%esi
476	movl	20(%esp),%edi
477	xorl	%eax,%ecx
478	movl	%eax,16(%esp)
479	xorl	%edi,%eax
480	rorl	$11,%ecx
481	andl	%eax,%ebp
482	leal	961987163(%ebx,%edx,1),%edx
483	xorl	%esi,%ecx
484	xorl	%edi,%ebp
485	rorl	$2,%ecx
486	addl	%edx,%ebp
487	addl	28(%esp),%edx
488	addl	%ecx,%ebp
489	movl	%edx,%esi
490	movl	(%esp),%ecx
491	rorl	$14,%edx
492	movl	4(%esp),%edi
493	xorl	%esi,%edx
494	movl	52(%esp),%ebx
495	xorl	%edi,%ecx
496	rorl	$5,%edx
497	andl	%esi,%ecx
498	movl	%esi,28(%esp)
499	xorl	%esi,%edx
500	addl	8(%esp),%ebx
501	xorl	%ecx,%edi
502	rorl	$6,%edx
503	movl	%ebp,%esi
504	addl	%edi,%ebx
505	rorl	$9,%esi
506	movl	%ebp,%ecx
507	movl	16(%esp),%edi
508	xorl	%ebp,%esi
509	movl	%ebp,12(%esp)
510	xorl	%edi,%ebp
511	rorl	$11,%esi
512	andl	%ebp,%eax
513	leal	1508970993(%ebx,%edx,1),%edx
514	xorl	%ecx,%esi
515	xorl	%edi,%eax
516	rorl	$2,%esi
517	addl	%edx,%eax
518	addl	24(%esp),%edx
519	addl	%esi,%eax
520	movl	%edx,%ecx
521	movl	28(%esp),%esi
522	rorl	$14,%edx
523	movl	(%esp),%edi
524	xorl	%ecx,%edx
525	movl	56(%esp),%ebx
526	xorl	%edi,%esi
527	rorl	$5,%edx
528	andl	%ecx,%esi
529	movl	%ecx,24(%esp)
530	xorl	%ecx,%edx
531	addl	4(%esp),%ebx
532	xorl	%esi,%edi
533	rorl	$6,%edx
534	movl	%eax,%ecx
535	addl	%edi,%ebx
536	rorl	$9,%ecx
537	movl	%eax,%esi
538	movl	12(%esp),%edi
539	xorl	%eax,%ecx
540	movl	%eax,8(%esp)
541	xorl	%edi,%eax
542	rorl	$11,%ecx
543	andl	%eax,%ebp
544	leal	2453635748(%ebx,%edx,1),%edx
545	xorl	%esi,%ecx
546	xorl	%edi,%ebp
547	rorl	$2,%ecx
548	addl	%edx,%ebp
549	addl	20(%esp),%edx
550	addl	%ecx,%ebp
551	movl	%edx,%esi
552	movl	24(%esp),%ecx
553	rorl	$14,%edx
554	movl	28(%esp),%edi
555	xorl	%esi,%edx
556	movl	60(%esp),%ebx
557	xorl	%edi,%ecx
558	rorl	$5,%edx
559	andl	%esi,%ecx
560	movl	%esi,20(%esp)
561	xorl	%esi,%edx
562	addl	(%esp),%ebx
563	xorl	%ecx,%edi
564	rorl	$6,%edx
565	movl	%ebp,%esi
566	addl	%edi,%ebx
567	rorl	$9,%esi
568	movl	%ebp,%ecx
569	movl	8(%esp),%edi
570	xorl	%ebp,%esi
571	movl	%ebp,4(%esp)
572	xorl	%edi,%ebp
573	rorl	$11,%esi
574	andl	%ebp,%eax
575	leal	2870763221(%ebx,%edx,1),%edx
576	xorl	%ecx,%esi
577	xorl	%edi,%eax
578	rorl	$2,%esi
579	addl	%edx,%eax
580	addl	16(%esp),%edx
581	addl	%esi,%eax
582	movl	%edx,%ecx
583	movl	20(%esp),%esi
584	rorl	$14,%edx
585	movl	24(%esp),%edi
586	xorl	%ecx,%edx
587	movl	64(%esp),%ebx
588	xorl	%edi,%esi
589	rorl	$5,%edx
590	andl	%ecx,%esi
591	movl	%ecx,16(%esp)
592	xorl	%ecx,%edx
593	addl	28(%esp),%ebx
594	xorl	%esi,%edi
595	rorl	$6,%edx
596	movl	%eax,%ecx
597	addl	%edi,%ebx
598	rorl	$9,%ecx
599	movl	%eax,%esi
600	movl	4(%esp),%edi
601	xorl	%eax,%ecx
602	movl	%eax,(%esp)
603	xorl	%edi,%eax
604	rorl	$11,%ecx
605	andl	%eax,%ebp
606	leal	3624381080(%ebx,%edx,1),%edx
607	xorl	%esi,%ecx
608	xorl	%edi,%ebp
609	rorl	$2,%ecx
610	addl	%edx,%ebp
611	addl	12(%esp),%edx
612	addl	%ecx,%ebp
613	movl	%edx,%esi
614	movl	16(%esp),%ecx
615	rorl	$14,%edx
616	movl	20(%esp),%edi
617	xorl	%esi,%edx
618	movl	68(%esp),%ebx
619	xorl	%edi,%ecx
620	rorl	$5,%edx
621	andl	%esi,%ecx
622	movl	%esi,12(%esp)
623	xorl	%esi,%edx
624	addl	24(%esp),%ebx
625	xorl	%ecx,%edi
626	rorl	$6,%edx
627	movl	%ebp,%esi
628	addl	%edi,%ebx
629	rorl	$9,%esi
630	movl	%ebp,%ecx
631	movl	(%esp),%edi
632	xorl	%ebp,%esi
633	movl	%ebp,28(%esp)
634	xorl	%edi,%ebp
635	rorl	$11,%esi
636	andl	%ebp,%eax
637	leal	310598401(%ebx,%edx,1),%edx
638	xorl	%ecx,%esi
639	xorl	%edi,%eax
640	rorl	$2,%esi
641	addl	%edx,%eax
642	addl	8(%esp),%edx
643	addl	%esi,%eax
644	movl	%edx,%ecx
645	movl	12(%esp),%esi
646	rorl	$14,%edx
647	movl	16(%esp),%edi
648	xorl	%ecx,%edx
649	movl	72(%esp),%ebx
650	xorl	%edi,%esi
651	rorl	$5,%edx
652	andl	%ecx,%esi
653	movl	%ecx,8(%esp)
654	xorl	%ecx,%edx
655	addl	20(%esp),%ebx
656	xorl	%esi,%edi
657	rorl	$6,%edx
658	movl	%eax,%ecx
659	addl	%edi,%ebx
660	rorl	$9,%ecx
661	movl	%eax,%esi
662	movl	28(%esp),%edi
663	xorl	%eax,%ecx
664	movl	%eax,24(%esp)
665	xorl	%edi,%eax
666	rorl	$11,%ecx
667	andl	%eax,%ebp
668	leal	607225278(%ebx,%edx,1),%edx
669	xorl	%esi,%ecx
670	xorl	%edi,%ebp
671	rorl	$2,%ecx
672	addl	%edx,%ebp
673	addl	4(%esp),%edx
674	addl	%ecx,%ebp
675	movl	%edx,%esi
676	movl	8(%esp),%ecx
677	rorl	$14,%edx
678	movl	12(%esp),%edi
679	xorl	%esi,%edx
680	movl	76(%esp),%ebx
681	xorl	%edi,%ecx
682	rorl	$5,%edx
683	andl	%esi,%ecx
684	movl	%esi,4(%esp)
685	xorl	%esi,%edx
686	addl	16(%esp),%ebx
687	xorl	%ecx,%edi
688	rorl	$6,%edx
689	movl	%ebp,%esi
690	addl	%edi,%ebx
691	rorl	$9,%esi
692	movl	%ebp,%ecx
693	movl	24(%esp),%edi
694	xorl	%ebp,%esi
695	movl	%ebp,20(%esp)
696	xorl	%edi,%ebp
697	rorl	$11,%esi
698	andl	%ebp,%eax
699	leal	1426881987(%ebx,%edx,1),%edx
700	xorl	%ecx,%esi
701	xorl	%edi,%eax
702	rorl	$2,%esi
703	addl	%edx,%eax
704	addl	(%esp),%edx
705	addl	%esi,%eax
706	movl	%edx,%ecx
707	movl	4(%esp),%esi
708	rorl	$14,%edx
709	movl	8(%esp),%edi
710	xorl	%ecx,%edx
711	movl	80(%esp),%ebx
712	xorl	%edi,%esi
713	rorl	$5,%edx
714	andl	%ecx,%esi
715	movl	%ecx,(%esp)
716	xorl	%ecx,%edx
717	addl	12(%esp),%ebx
718	xorl	%esi,%edi
719	rorl	$6,%edx
720	movl	%eax,%ecx
721	addl	%edi,%ebx
722	rorl	$9,%ecx
723	movl	%eax,%esi
724	movl	20(%esp),%edi
725	xorl	%eax,%ecx
726	movl	%eax,16(%esp)
727	xorl	%edi,%eax
728	rorl	$11,%ecx
729	andl	%eax,%ebp
730	leal	1925078388(%ebx,%edx,1),%edx
731	xorl	%esi,%ecx
732	xorl	%edi,%ebp
733	rorl	$2,%ecx
734	addl	%edx,%ebp
735	addl	28(%esp),%edx
736	addl	%ecx,%ebp
737	movl	%edx,%esi
738	movl	(%esp),%ecx
739	rorl	$14,%edx
740	movl	4(%esp),%edi
741	xorl	%esi,%edx
742	movl	84(%esp),%ebx
743	xorl	%edi,%ecx
744	rorl	$5,%edx
745	andl	%esi,%ecx
746	movl	%esi,28(%esp)
747	xorl	%esi,%edx
748	addl	8(%esp),%ebx
749	xorl	%ecx,%edi
750	rorl	$6,%edx
751	movl	%ebp,%esi
752	addl	%edi,%ebx
753	rorl	$9,%esi
754	movl	%ebp,%ecx
755	movl	16(%esp),%edi
756	xorl	%ebp,%esi
757	movl	%ebp,12(%esp)
758	xorl	%edi,%ebp
759	rorl	$11,%esi
760	andl	%ebp,%eax
761	leal	2162078206(%ebx,%edx,1),%edx
762	xorl	%ecx,%esi
763	xorl	%edi,%eax
764	rorl	$2,%esi
765	addl	%edx,%eax
766	addl	24(%esp),%edx
767	addl	%esi,%eax
768	movl	%edx,%ecx
769	movl	28(%esp),%esi
770	rorl	$14,%edx
771	movl	(%esp),%edi
772	xorl	%ecx,%edx
773	movl	88(%esp),%ebx
774	xorl	%edi,%esi
775	rorl	$5,%edx
776	andl	%ecx,%esi
777	movl	%ecx,24(%esp)
778	xorl	%ecx,%edx
779	addl	4(%esp),%ebx
780	xorl	%esi,%edi
781	rorl	$6,%edx
782	movl	%eax,%ecx
783	addl	%edi,%ebx
784	rorl	$9,%ecx
785	movl	%eax,%esi
786	movl	12(%esp),%edi
787	xorl	%eax,%ecx
788	movl	%eax,8(%esp)
789	xorl	%edi,%eax
790	rorl	$11,%ecx
791	andl	%eax,%ebp
792	leal	2614888103(%ebx,%edx,1),%edx
793	xorl	%esi,%ecx
794	xorl	%edi,%ebp
795	rorl	$2,%ecx
796	addl	%edx,%ebp
797	addl	20(%esp),%edx
798	addl	%ecx,%ebp
799	movl	%edx,%esi
800	movl	24(%esp),%ecx
801	rorl	$14,%edx
802	movl	28(%esp),%edi
803	xorl	%esi,%edx
804	movl	92(%esp),%ebx
805	xorl	%edi,%ecx
806	rorl	$5,%edx
807	andl	%esi,%ecx
808	movl	%esi,20(%esp)
809	xorl	%esi,%edx
810	addl	(%esp),%ebx
811	xorl	%ecx,%edi
812	rorl	$6,%edx
813	movl	%ebp,%esi
814	addl	%edi,%ebx
815	rorl	$9,%esi
816	movl	%ebp,%ecx
817	movl	8(%esp),%edi
818	xorl	%ebp,%esi
819	movl	%ebp,4(%esp)
820	xorl	%edi,%ebp
821	rorl	$11,%esi
822	andl	%ebp,%eax
823	leal	3248222580(%ebx,%edx,1),%edx
824	xorl	%ecx,%esi
825	xorl	%edi,%eax
826	movl	36(%esp),%ecx
827	rorl	$2,%esi
828	addl	%edx,%eax
829	addl	16(%esp),%edx
830	addl	%esi,%eax
831	movl	88(%esp),%esi
832	movl	%ecx,%ebx
833	rorl	$11,%ecx
834	movl	%esi,%edi
835	rorl	$2,%esi
836	xorl	%ebx,%ecx
837	shrl	$3,%ebx
838	rorl	$7,%ecx
839	xorl	%edi,%esi
840	xorl	%ecx,%ebx
841	rorl	$17,%esi
842	addl	32(%esp),%ebx
843	shrl	$10,%edi
844	addl	68(%esp),%ebx
845	movl	%edx,%ecx
846	xorl	%esi,%edi
847	movl	20(%esp),%esi
848	rorl	$14,%edx
849	addl	%edi,%ebx
850	movl	24(%esp),%edi
851	xorl	%ecx,%edx
852	movl	%ebx,32(%esp)
853	xorl	%edi,%esi
854	rorl	$5,%edx
855	andl	%ecx,%esi
856	movl	%ecx,16(%esp)
857	xorl	%ecx,%edx
858	addl	28(%esp),%ebx
859	xorl	%esi,%edi
860	rorl	$6,%edx
861	movl	%eax,%ecx
862	addl	%edi,%ebx
863	rorl	$9,%ecx
864	movl	%eax,%esi
865	movl	4(%esp),%edi
866	xorl	%eax,%ecx
867	movl	%eax,(%esp)
868	xorl	%edi,%eax
869	rorl	$11,%ecx
870	andl	%eax,%ebp
871	leal	3835390401(%ebx,%edx,1),%edx
872	xorl	%esi,%ecx
873	xorl	%edi,%ebp
874	movl	40(%esp),%esi
875	rorl	$2,%ecx
876	addl	%edx,%ebp
877	addl	12(%esp),%edx
878	addl	%ecx,%ebp
879	movl	92(%esp),%ecx
880	movl	%esi,%ebx
881	rorl	$11,%esi
882	movl	%ecx,%edi
883	rorl	$2,%ecx
884	xorl	%ebx,%esi
885	shrl	$3,%ebx
886	rorl	$7,%esi
887	xorl	%edi,%ecx
888	xorl	%esi,%ebx
889	rorl	$17,%ecx
890	addl	36(%esp),%ebx
891	shrl	$10,%edi
892	addl	72(%esp),%ebx
893	movl	%edx,%esi
894	xorl	%ecx,%edi
895	movl	16(%esp),%ecx
896	rorl	$14,%edx
897	addl	%edi,%ebx
898	movl	20(%esp),%edi
899	xorl	%esi,%edx
900	movl	%ebx,36(%esp)
901	xorl	%edi,%ecx
902	rorl	$5,%edx
903	andl	%esi,%ecx
904	movl	%esi,12(%esp)
905	xorl	%esi,%edx
906	addl	24(%esp),%ebx
907	xorl	%ecx,%edi
908	rorl	$6,%edx
909	movl	%ebp,%esi
910	addl	%edi,%ebx
911	rorl	$9,%esi
912	movl	%ebp,%ecx
913	movl	(%esp),%edi
914	xorl	%ebp,%esi
915	movl	%ebp,28(%esp)
916	xorl	%edi,%ebp
917	rorl	$11,%esi
918	andl	%ebp,%eax
919	leal	4022224774(%ebx,%edx,1),%edx
920	xorl	%ecx,%esi
921	xorl	%edi,%eax
922	movl	44(%esp),%ecx
923	rorl	$2,%esi
924	addl	%edx,%eax
925	addl	8(%esp),%edx
926	addl	%esi,%eax
927	movl	32(%esp),%esi
928	movl	%ecx,%ebx
929	rorl	$11,%ecx
930	movl	%esi,%edi
931	rorl	$2,%esi
932	xorl	%ebx,%ecx
933	shrl	$3,%ebx
934	rorl	$7,%ecx
935	xorl	%edi,%esi
936	xorl	%ecx,%ebx
937	rorl	$17,%esi
938	addl	40(%esp),%ebx
939	shrl	$10,%edi
940	addl	76(%esp),%ebx
941	movl	%edx,%ecx
942	xorl	%esi,%edi
943	movl	12(%esp),%esi
944	rorl	$14,%edx
945	addl	%edi,%ebx
946	movl	16(%esp),%edi
947	xorl	%ecx,%edx
948	movl	%ebx,40(%esp)
949	xorl	%edi,%esi
950	rorl	$5,%edx
951	andl	%ecx,%esi
952	movl	%ecx,8(%esp)
953	xorl	%ecx,%edx
954	addl	20(%esp),%ebx
955	xorl	%esi,%edi
956	rorl	$6,%edx
957	movl	%eax,%ecx
958	addl	%edi,%ebx
959	rorl	$9,%ecx
960	movl	%eax,%esi
961	movl	28(%esp),%edi
962	xorl	%eax,%ecx
963	movl	%eax,24(%esp)
964	xorl	%edi,%eax
965	rorl	$11,%ecx
966	andl	%eax,%ebp
967	leal	264347078(%ebx,%edx,1),%edx
968	xorl	%esi,%ecx
969	xorl	%edi,%ebp
970	movl	48(%esp),%esi
971	rorl	$2,%ecx
972	addl	%edx,%ebp
973	addl	4(%esp),%edx
974	addl	%ecx,%ebp
975	movl	36(%esp),%ecx
976	movl	%esi,%ebx
977	rorl	$11,%esi
978	movl	%ecx,%edi
979	rorl	$2,%ecx
980	xorl	%ebx,%esi
981	shrl	$3,%ebx
982	rorl	$7,%esi
983	xorl	%edi,%ecx
984	xorl	%esi,%ebx
985	rorl	$17,%ecx
986	addl	44(%esp),%ebx
987	shrl	$10,%edi
988	addl	80(%esp),%ebx
989	movl	%edx,%esi
990	xorl	%ecx,%edi
991	movl	8(%esp),%ecx
992	rorl	$14,%edx
993	addl	%edi,%ebx
994	movl	12(%esp),%edi
995	xorl	%esi,%edx
996	movl	%ebx,44(%esp)
997	xorl	%edi,%ecx
998	rorl	$5,%edx
999	andl	%esi,%ecx
1000	movl	%esi,4(%esp)
1001	xorl	%esi,%edx
1002	addl	16(%esp),%ebx
1003	xorl	%ecx,%edi
1004	rorl	$6,%edx
1005	movl	%ebp,%esi
1006	addl	%edi,%ebx
1007	rorl	$9,%esi
1008	movl	%ebp,%ecx
1009	movl	24(%esp),%edi
1010	xorl	%ebp,%esi
1011	movl	%ebp,20(%esp)
1012	xorl	%edi,%ebp
1013	rorl	$11,%esi
1014	andl	%ebp,%eax
1015	leal	604807628(%ebx,%edx,1),%edx
1016	xorl	%ecx,%esi
1017	xorl	%edi,%eax
1018	movl	52(%esp),%ecx
1019	rorl	$2,%esi
1020	addl	%edx,%eax
1021	addl	(%esp),%edx
1022	addl	%esi,%eax
1023	movl	40(%esp),%esi
1024	movl	%ecx,%ebx
1025	rorl	$11,%ecx
1026	movl	%esi,%edi
1027	rorl	$2,%esi
1028	xorl	%ebx,%ecx
1029	shrl	$3,%ebx
1030	rorl	$7,%ecx
1031	xorl	%edi,%esi
1032	xorl	%ecx,%ebx
1033	rorl	$17,%esi
1034	addl	48(%esp),%ebx
1035	shrl	$10,%edi
1036	addl	84(%esp),%ebx
1037	movl	%edx,%ecx
1038	xorl	%esi,%edi
1039	movl	4(%esp),%esi
1040	rorl	$14,%edx
1041	addl	%edi,%ebx
1042	movl	8(%esp),%edi
1043	xorl	%ecx,%edx
1044	movl	%ebx,48(%esp)
1045	xorl	%edi,%esi
1046	rorl	$5,%edx
1047	andl	%ecx,%esi
1048	movl	%ecx,(%esp)
1049	xorl	%ecx,%edx
1050	addl	12(%esp),%ebx
1051	xorl	%esi,%edi
1052	rorl	$6,%edx
1053	movl	%eax,%ecx
1054	addl	%edi,%ebx
1055	rorl	$9,%ecx
1056	movl	%eax,%esi
1057	movl	20(%esp),%edi
1058	xorl	%eax,%ecx
1059	movl	%eax,16(%esp)
1060	xorl	%edi,%eax
1061	rorl	$11,%ecx
1062	andl	%eax,%ebp
1063	leal	770255983(%ebx,%edx,1),%edx
1064	xorl	%esi,%ecx
1065	xorl	%edi,%ebp
1066	movl	56(%esp),%esi
1067	rorl	$2,%ecx
1068	addl	%edx,%ebp
1069	addl	28(%esp),%edx
1070	addl	%ecx,%ebp
1071	movl	44(%esp),%ecx
1072	movl	%esi,%ebx
1073	rorl	$11,%esi
1074	movl	%ecx,%edi
1075	rorl	$2,%ecx
1076	xorl	%ebx,%esi
1077	shrl	$3,%ebx
1078	rorl	$7,%esi
1079	xorl	%edi,%ecx
1080	xorl	%esi,%ebx
1081	rorl	$17,%ecx
1082	addl	52(%esp),%ebx
1083	shrl	$10,%edi
1084	addl	88(%esp),%ebx
1085	movl	%edx,%esi
1086	xorl	%ecx,%edi
1087	movl	(%esp),%ecx
1088	rorl	$14,%edx
1089	addl	%edi,%ebx
1090	movl	4(%esp),%edi
1091	xorl	%esi,%edx
1092	movl	%ebx,52(%esp)
1093	xorl	%edi,%ecx
1094	rorl	$5,%edx
1095	andl	%esi,%ecx
1096	movl	%esi,28(%esp)
1097	xorl	%esi,%edx
1098	addl	8(%esp),%ebx
1099	xorl	%ecx,%edi
1100	rorl	$6,%edx
1101	movl	%ebp,%esi
1102	addl	%edi,%ebx
1103	rorl	$9,%esi
1104	movl	%ebp,%ecx
1105	movl	16(%esp),%edi
1106	xorl	%ebp,%esi
1107	movl	%ebp,12(%esp)
1108	xorl	%edi,%ebp
1109	rorl	$11,%esi
1110	andl	%ebp,%eax
1111	leal	1249150122(%ebx,%edx,1),%edx
1112	xorl	%ecx,%esi
1113	xorl	%edi,%eax
1114	movl	60(%esp),%ecx
1115	rorl	$2,%esi
1116	addl	%edx,%eax
1117	addl	24(%esp),%edx
1118	addl	%esi,%eax
1119	movl	48(%esp),%esi
1120	movl	%ecx,%ebx
1121	rorl	$11,%ecx
1122	movl	%esi,%edi
1123	rorl	$2,%esi
1124	xorl	%ebx,%ecx
1125	shrl	$3,%ebx
1126	rorl	$7,%ecx
1127	xorl	%edi,%esi
1128	xorl	%ecx,%ebx
1129	rorl	$17,%esi
1130	addl	56(%esp),%ebx
1131	shrl	$10,%edi
1132	addl	92(%esp),%ebx
1133	movl	%edx,%ecx
1134	xorl	%esi,%edi
1135	movl	28(%esp),%esi
1136	rorl	$14,%edx
1137	addl	%edi,%ebx
1138	movl	(%esp),%edi
1139	xorl	%ecx,%edx
1140	movl	%ebx,56(%esp)
1141	xorl	%edi,%esi
1142	rorl	$5,%edx
1143	andl	%ecx,%esi
1144	movl	%ecx,24(%esp)
1145	xorl	%ecx,%edx
1146	addl	4(%esp),%ebx
1147	xorl	%esi,%edi
1148	rorl	$6,%edx
1149	movl	%eax,%ecx
1150	addl	%edi,%ebx
1151	rorl	$9,%ecx
1152	movl	%eax,%esi
1153	movl	12(%esp),%edi
1154	xorl	%eax,%ecx
1155	movl	%eax,8(%esp)
1156	xorl	%edi,%eax
1157	rorl	$11,%ecx
1158	andl	%eax,%ebp
1159	leal	1555081692(%ebx,%edx,1),%edx
1160	xorl	%esi,%ecx
1161	xorl	%edi,%ebp
1162	movl	64(%esp),%esi
1163	rorl	$2,%ecx
1164	addl	%edx,%ebp
1165	addl	20(%esp),%edx
1166	addl	%ecx,%ebp
1167	movl	52(%esp),%ecx
1168	movl	%esi,%ebx
1169	rorl	$11,%esi
1170	movl	%ecx,%edi
1171	rorl	$2,%ecx
1172	xorl	%ebx,%esi
1173	shrl	$3,%ebx
1174	rorl	$7,%esi
1175	xorl	%edi,%ecx
1176	xorl	%esi,%ebx
1177	rorl	$17,%ecx
1178	addl	60(%esp),%ebx
1179	shrl	$10,%edi
1180	addl	32(%esp),%ebx
1181	movl	%edx,%esi
1182	xorl	%ecx,%edi
1183	movl	24(%esp),%ecx
1184	rorl	$14,%edx
1185	addl	%edi,%ebx
1186	movl	28(%esp),%edi
1187	xorl	%esi,%edx
1188	movl	%ebx,60(%esp)
1189	xorl	%edi,%ecx
1190	rorl	$5,%edx
1191	andl	%esi,%ecx
1192	movl	%esi,20(%esp)
1193	xorl	%esi,%edx
1194	addl	(%esp),%ebx
1195	xorl	%ecx,%edi
1196	rorl	$6,%edx
1197	movl	%ebp,%esi
1198	addl	%edi,%ebx
1199	rorl	$9,%esi
1200	movl	%ebp,%ecx
1201	movl	8(%esp),%edi
1202	xorl	%ebp,%esi
1203	movl	%ebp,4(%esp)
1204	xorl	%edi,%ebp
1205	rorl	$11,%esi
1206	andl	%ebp,%eax
1207	leal	1996064986(%ebx,%edx,1),%edx
1208	xorl	%ecx,%esi
1209	xorl	%edi,%eax
1210	movl	68(%esp),%ecx
1211	rorl	$2,%esi
1212	addl	%edx,%eax
1213	addl	16(%esp),%edx
1214	addl	%esi,%eax
1215	movl	56(%esp),%esi
1216	movl	%ecx,%ebx
1217	rorl	$11,%ecx
1218	movl	%esi,%edi
1219	rorl	$2,%esi
1220	xorl	%ebx,%ecx
1221	shrl	$3,%ebx
1222	rorl	$7,%ecx
1223	xorl	%edi,%esi
1224	xorl	%ecx,%ebx
1225	rorl	$17,%esi
1226	addl	64(%esp),%ebx
1227	shrl	$10,%edi
1228	addl	36(%esp),%ebx
1229	movl	%edx,%ecx
1230	xorl	%esi,%edi
1231	movl	20(%esp),%esi
1232	rorl	$14,%edx
1233	addl	%edi,%ebx
1234	movl	24(%esp),%edi
1235	xorl	%ecx,%edx
1236	movl	%ebx,64(%esp)
1237	xorl	%edi,%esi
1238	rorl	$5,%edx
1239	andl	%ecx,%esi
1240	movl	%ecx,16(%esp)
1241	xorl	%ecx,%edx
1242	addl	28(%esp),%ebx
1243	xorl	%esi,%edi
1244	rorl	$6,%edx
1245	movl	%eax,%ecx
1246	addl	%edi,%ebx
1247	rorl	$9,%ecx
1248	movl	%eax,%esi
1249	movl	4(%esp),%edi
1250	xorl	%eax,%ecx
1251	movl	%eax,(%esp)
1252	xorl	%edi,%eax
1253	rorl	$11,%ecx
1254	andl	%eax,%ebp
1255	leal	2554220882(%ebx,%edx,1),%edx
1256	xorl	%esi,%ecx
1257	xorl	%edi,%ebp
1258	movl	72(%esp),%esi
1259	rorl	$2,%ecx
1260	addl	%edx,%ebp
1261	addl	12(%esp),%edx
1262	addl	%ecx,%ebp
1263	movl	60(%esp),%ecx
1264	movl	%esi,%ebx
1265	rorl	$11,%esi
1266	movl	%ecx,%edi
1267	rorl	$2,%ecx
1268	xorl	%ebx,%esi
1269	shrl	$3,%ebx
1270	rorl	$7,%esi
1271	xorl	%edi,%ecx
1272	xorl	%esi,%ebx
1273	rorl	$17,%ecx
1274	addl	68(%esp),%ebx
1275	shrl	$10,%edi
1276	addl	40(%esp),%ebx
1277	movl	%edx,%esi
1278	xorl	%ecx,%edi
1279	movl	16(%esp),%ecx
1280	rorl	$14,%edx
1281	addl	%edi,%ebx
1282	movl	20(%esp),%edi
1283	xorl	%esi,%edx
1284	movl	%ebx,68(%esp)
1285	xorl	%edi,%ecx
1286	rorl	$5,%edx
1287	andl	%esi,%ecx
1288	movl	%esi,12(%esp)
1289	xorl	%esi,%edx
1290	addl	24(%esp),%ebx
1291	xorl	%ecx,%edi
1292	rorl	$6,%edx
1293	movl	%ebp,%esi
1294	addl	%edi,%ebx
1295	rorl	$9,%esi
1296	movl	%ebp,%ecx
1297	movl	(%esp),%edi
1298	xorl	%ebp,%esi
1299	movl	%ebp,28(%esp)
1300	xorl	%edi,%ebp
1301	rorl	$11,%esi
1302	andl	%ebp,%eax
1303	leal	2821834349(%ebx,%edx,1),%edx
1304	xorl	%ecx,%esi
1305	xorl	%edi,%eax
1306	movl	76(%esp),%ecx
1307	rorl	$2,%esi
1308	addl	%edx,%eax
1309	addl	8(%esp),%edx
1310	addl	%esi,%eax
1311	movl	64(%esp),%esi
1312	movl	%ecx,%ebx
1313	rorl	$11,%ecx
1314	movl	%esi,%edi
1315	rorl	$2,%esi
1316	xorl	%ebx,%ecx
1317	shrl	$3,%ebx
1318	rorl	$7,%ecx
1319	xorl	%edi,%esi
1320	xorl	%ecx,%ebx
1321	rorl	$17,%esi
1322	addl	72(%esp),%ebx
1323	shrl	$10,%edi
1324	addl	44(%esp),%ebx
1325	movl	%edx,%ecx
1326	xorl	%esi,%edi
1327	movl	12(%esp),%esi
1328	rorl	$14,%edx
1329	addl	%edi,%ebx
1330	movl	16(%esp),%edi
1331	xorl	%ecx,%edx
1332	movl	%ebx,72(%esp)
1333	xorl	%edi,%esi
1334	rorl	$5,%edx
1335	andl	%ecx,%esi
1336	movl	%ecx,8(%esp)
1337	xorl	%ecx,%edx
1338	addl	20(%esp),%ebx
1339	xorl	%esi,%edi
1340	rorl	$6,%edx
1341	movl	%eax,%ecx
1342	addl	%edi,%ebx
1343	rorl	$9,%ecx
1344	movl	%eax,%esi
1345	movl	28(%esp),%edi
1346	xorl	%eax,%ecx
1347	movl	%eax,24(%esp)
1348	xorl	%edi,%eax
1349	rorl	$11,%ecx
1350	andl	%eax,%ebp
1351	leal	2952996808(%ebx,%edx,1),%edx
1352	xorl	%esi,%ecx
1353	xorl	%edi,%ebp
1354	movl	80(%esp),%esi
1355	rorl	$2,%ecx
1356	addl	%edx,%ebp
1357	addl	4(%esp),%edx
1358	addl	%ecx,%ebp
1359	movl	68(%esp),%ecx
1360	movl	%esi,%ebx
1361	rorl	$11,%esi
1362	movl	%ecx,%edi
1363	rorl	$2,%ecx
1364	xorl	%ebx,%esi
1365	shrl	$3,%ebx
1366	rorl	$7,%esi
1367	xorl	%edi,%ecx
1368	xorl	%esi,%ebx
1369	rorl	$17,%ecx
1370	addl	76(%esp),%ebx
1371	shrl	$10,%edi
1372	addl	48(%esp),%ebx
1373	movl	%edx,%esi
1374	xorl	%ecx,%edi
1375	movl	8(%esp),%ecx
1376	rorl	$14,%edx
1377	addl	%edi,%ebx
1378	movl	12(%esp),%edi
1379	xorl	%esi,%edx
1380	movl	%ebx,76(%esp)
1381	xorl	%edi,%ecx
1382	rorl	$5,%edx
1383	andl	%esi,%ecx
1384	movl	%esi,4(%esp)
1385	xorl	%esi,%edx
1386	addl	16(%esp),%ebx
1387	xorl	%ecx,%edi
1388	rorl	$6,%edx
1389	movl	%ebp,%esi
1390	addl	%edi,%ebx
1391	rorl	$9,%esi
1392	movl	%ebp,%ecx
1393	movl	24(%esp),%edi
1394	xorl	%ebp,%esi
1395	movl	%ebp,20(%esp)
1396	xorl	%edi,%ebp
1397	rorl	$11,%esi
1398	andl	%ebp,%eax
1399	leal	3210313671(%ebx,%edx,1),%edx
1400	xorl	%ecx,%esi
1401	xorl	%edi,%eax
1402	movl	84(%esp),%ecx
1403	rorl	$2,%esi
1404	addl	%edx,%eax
1405	addl	(%esp),%edx
1406	addl	%esi,%eax
1407	movl	72(%esp),%esi
1408	movl	%ecx,%ebx
1409	rorl	$11,%ecx
1410	movl	%esi,%edi
1411	rorl	$2,%esi
1412	xorl	%ebx,%ecx
1413	shrl	$3,%ebx
1414	rorl	$7,%ecx
1415	xorl	%edi,%esi
1416	xorl	%ecx,%ebx
1417	rorl	$17,%esi
1418	addl	80(%esp),%ebx
1419	shrl	$10,%edi
1420	addl	52(%esp),%ebx
1421	movl	%edx,%ecx
1422	xorl	%esi,%edi
1423	movl	4(%esp),%esi
1424	rorl	$14,%edx
1425	addl	%edi,%ebx
1426	movl	8(%esp),%edi
1427	xorl	%ecx,%edx
1428	movl	%ebx,80(%esp)
1429	xorl	%edi,%esi
1430	rorl	$5,%edx
1431	andl	%ecx,%esi
1432	movl	%ecx,(%esp)
1433	xorl	%ecx,%edx
1434	addl	12(%esp),%ebx
1435	xorl	%esi,%edi
1436	rorl	$6,%edx
1437	movl	%eax,%ecx
1438	addl	%edi,%ebx
1439	rorl	$9,%ecx
1440	movl	%eax,%esi
1441	movl	20(%esp),%edi
1442	xorl	%eax,%ecx
1443	movl	%eax,16(%esp)
1444	xorl	%edi,%eax
1445	rorl	$11,%ecx
1446	andl	%eax,%ebp
1447	leal	3336571891(%ebx,%edx,1),%edx
1448	xorl	%esi,%ecx
1449	xorl	%edi,%ebp
1450	movl	88(%esp),%esi
1451	rorl	$2,%ecx
1452	addl	%edx,%ebp
1453	addl	28(%esp),%edx
1454	addl	%ecx,%ebp
1455	movl	76(%esp),%ecx
1456	movl	%esi,%ebx
1457	rorl	$11,%esi
1458	movl	%ecx,%edi
1459	rorl	$2,%ecx
1460	xorl	%ebx,%esi
1461	shrl	$3,%ebx
1462	rorl	$7,%esi
1463	xorl	%edi,%ecx
1464	xorl	%esi,%ebx
1465	rorl	$17,%ecx
1466	addl	84(%esp),%ebx
1467	shrl	$10,%edi
1468	addl	56(%esp),%ebx
1469	movl	%edx,%esi
1470	xorl	%ecx,%edi
1471	movl	(%esp),%ecx
1472	rorl	$14,%edx
1473	addl	%edi,%ebx
1474	movl	4(%esp),%edi
1475	xorl	%esi,%edx
1476	movl	%ebx,84(%esp)
1477	xorl	%edi,%ecx
1478	rorl	$5,%edx
1479	andl	%esi,%ecx
1480	movl	%esi,28(%esp)
1481	xorl	%esi,%edx
1482	addl	8(%esp),%ebx
1483	xorl	%ecx,%edi
1484	rorl	$6,%edx
1485	movl	%ebp,%esi
1486	addl	%edi,%ebx
1487	rorl	$9,%esi
1488	movl	%ebp,%ecx
1489	movl	16(%esp),%edi
1490	xorl	%ebp,%esi
1491	movl	%ebp,12(%esp)
1492	xorl	%edi,%ebp
1493	rorl	$11,%esi
1494	andl	%ebp,%eax
1495	leal	3584528711(%ebx,%edx,1),%edx
1496	xorl	%ecx,%esi
1497	xorl	%edi,%eax
1498	movl	92(%esp),%ecx
1499	rorl	$2,%esi
1500	addl	%edx,%eax
1501	addl	24(%esp),%edx
1502	addl	%esi,%eax
1503	movl	80(%esp),%esi
1504	movl	%ecx,%ebx
1505	rorl	$11,%ecx
1506	movl	%esi,%edi
1507	rorl	$2,%esi
1508	xorl	%ebx,%ecx
1509	shrl	$3,%ebx
1510	rorl	$7,%ecx
1511	xorl	%edi,%esi
1512	xorl	%ecx,%ebx
1513	rorl	$17,%esi
1514	addl	88(%esp),%ebx
1515	shrl	$10,%edi
1516	addl	60(%esp),%ebx
1517	movl	%edx,%ecx
1518	xorl	%esi,%edi
1519	movl	28(%esp),%esi
1520	rorl	$14,%edx
1521	addl	%edi,%ebx
1522	movl	(%esp),%edi
1523	xorl	%ecx,%edx
1524	movl	%ebx,88(%esp)
1525	xorl	%edi,%esi
1526	rorl	$5,%edx
1527	andl	%ecx,%esi
1528	movl	%ecx,24(%esp)
1529	xorl	%ecx,%edx
1530	addl	4(%esp),%ebx
1531	xorl	%esi,%edi
1532	rorl	$6,%edx
1533	movl	%eax,%ecx
1534	addl	%edi,%ebx
1535	rorl	$9,%ecx
1536	movl	%eax,%esi
1537	movl	12(%esp),%edi
1538	xorl	%eax,%ecx
1539	movl	%eax,8(%esp)
1540	xorl	%edi,%eax
1541	rorl	$11,%ecx
1542	andl	%eax,%ebp
1543	leal	113926993(%ebx,%edx,1),%edx
1544	xorl	%esi,%ecx
1545	xorl	%edi,%ebp
1546	movl	32(%esp),%esi
1547	rorl	$2,%ecx
1548	addl	%edx,%ebp
1549	addl	20(%esp),%edx
1550	addl	%ecx,%ebp
1551	movl	84(%esp),%ecx
1552	movl	%esi,%ebx
1553	rorl	$11,%esi
1554	movl	%ecx,%edi
1555	rorl	$2,%ecx
1556	xorl	%ebx,%esi
1557	shrl	$3,%ebx
1558	rorl	$7,%esi
1559	xorl	%edi,%ecx
1560	xorl	%esi,%ebx
1561	rorl	$17,%ecx
1562	addl	92(%esp),%ebx
1563	shrl	$10,%edi
1564	addl	64(%esp),%ebx
1565	movl	%edx,%esi
1566	xorl	%ecx,%edi
1567	movl	24(%esp),%ecx
1568	rorl	$14,%edx
1569	addl	%edi,%ebx
1570	movl	28(%esp),%edi
1571	xorl	%esi,%edx
1572	movl	%ebx,92(%esp)
1573	xorl	%edi,%ecx
1574	rorl	$5,%edx
1575	andl	%esi,%ecx
1576	movl	%esi,20(%esp)
1577	xorl	%esi,%edx
1578	addl	(%esp),%ebx
1579	xorl	%ecx,%edi
1580	rorl	$6,%edx
1581	movl	%ebp,%esi
1582	addl	%edi,%ebx
1583	rorl	$9,%esi
1584	movl	%ebp,%ecx
1585	movl	8(%esp),%edi
1586	xorl	%ebp,%esi
1587	movl	%ebp,4(%esp)
1588	xorl	%edi,%ebp
1589	rorl	$11,%esi
1590	andl	%ebp,%eax
1591	leal	338241895(%ebx,%edx,1),%edx
1592	xorl	%ecx,%esi
1593	xorl	%edi,%eax
1594	movl	36(%esp),%ecx
1595	rorl	$2,%esi
1596	addl	%edx,%eax
1597	addl	16(%esp),%edx
1598	addl	%esi,%eax
1599	movl	88(%esp),%esi
1600	movl	%ecx,%ebx
1601	rorl	$11,%ecx
1602	movl	%esi,%edi
1603	rorl	$2,%esi
1604	xorl	%ebx,%ecx
1605	shrl	$3,%ebx
1606	rorl	$7,%ecx
1607	xorl	%edi,%esi
1608	xorl	%ecx,%ebx
1609	rorl	$17,%esi
1610	addl	32(%esp),%ebx
1611	shrl	$10,%edi
1612	addl	68(%esp),%ebx
1613	movl	%edx,%ecx
1614	xorl	%esi,%edi
1615	movl	20(%esp),%esi
1616	rorl	$14,%edx
1617	addl	%edi,%ebx
1618	movl	24(%esp),%edi
1619	xorl	%ecx,%edx
1620	movl	%ebx,32(%esp)
1621	xorl	%edi,%esi
1622	rorl	$5,%edx
1623	andl	%ecx,%esi
1624	movl	%ecx,16(%esp)
1625	xorl	%ecx,%edx
1626	addl	28(%esp),%ebx
1627	xorl	%esi,%edi
1628	rorl	$6,%edx
1629	movl	%eax,%ecx
1630	addl	%edi,%ebx
1631	rorl	$9,%ecx
1632	movl	%eax,%esi
1633	movl	4(%esp),%edi
1634	xorl	%eax,%ecx
1635	movl	%eax,(%esp)
1636	xorl	%edi,%eax
1637	rorl	$11,%ecx
1638	andl	%eax,%ebp
1639	leal	666307205(%ebx,%edx,1),%edx
1640	xorl	%esi,%ecx
1641	xorl	%edi,%ebp
1642	movl	40(%esp),%esi
1643	rorl	$2,%ecx
1644	addl	%edx,%ebp
1645	addl	12(%esp),%edx
1646	addl	%ecx,%ebp
1647	movl	92(%esp),%ecx
1648	movl	%esi,%ebx
1649	rorl	$11,%esi
1650	movl	%ecx,%edi
1651	rorl	$2,%ecx
1652	xorl	%ebx,%esi
1653	shrl	$3,%ebx
1654	rorl	$7,%esi
1655	xorl	%edi,%ecx
1656	xorl	%esi,%ebx
1657	rorl	$17,%ecx
1658	addl	36(%esp),%ebx
1659	shrl	$10,%edi
1660	addl	72(%esp),%ebx
1661	movl	%edx,%esi
1662	xorl	%ecx,%edi
1663	movl	16(%esp),%ecx
1664	rorl	$14,%edx
1665	addl	%edi,%ebx
1666	movl	20(%esp),%edi
1667	xorl	%esi,%edx
1668	movl	%ebx,36(%esp)
1669	xorl	%edi,%ecx
1670	rorl	$5,%edx
1671	andl	%esi,%ecx
1672	movl	%esi,12(%esp)
1673	xorl	%esi,%edx
1674	addl	24(%esp),%ebx
1675	xorl	%ecx,%edi
1676	rorl	$6,%edx
1677	movl	%ebp,%esi
1678	addl	%edi,%ebx
1679	rorl	$9,%esi
1680	movl	%ebp,%ecx
1681	movl	(%esp),%edi
1682	xorl	%ebp,%esi
1683	movl	%ebp,28(%esp)
1684	xorl	%edi,%ebp
1685	rorl	$11,%esi
1686	andl	%ebp,%eax
1687	leal	773529912(%ebx,%edx,1),%edx
1688	xorl	%ecx,%esi
1689	xorl	%edi,%eax
1690	movl	44(%esp),%ecx
1691	rorl	$2,%esi
1692	addl	%edx,%eax
1693	addl	8(%esp),%edx
1694	addl	%esi,%eax
1695	movl	32(%esp),%esi
1696	movl	%ecx,%ebx
1697	rorl	$11,%ecx
1698	movl	%esi,%edi
1699	rorl	$2,%esi
1700	xorl	%ebx,%ecx
1701	shrl	$3,%ebx
1702	rorl	$7,%ecx
1703	xorl	%edi,%esi
1704	xorl	%ecx,%ebx
1705	rorl	$17,%esi
1706	addl	40(%esp),%ebx
1707	shrl	$10,%edi
1708	addl	76(%esp),%ebx
1709	movl	%edx,%ecx
1710	xorl	%esi,%edi
1711	movl	12(%esp),%esi
1712	rorl	$14,%edx
1713	addl	%edi,%ebx
1714	movl	16(%esp),%edi
1715	xorl	%ecx,%edx
1716	movl	%ebx,40(%esp)
1717	xorl	%edi,%esi
1718	rorl	$5,%edx
1719	andl	%ecx,%esi
1720	movl	%ecx,8(%esp)
1721	xorl	%ecx,%edx
1722	addl	20(%esp),%ebx
1723	xorl	%esi,%edi
1724	rorl	$6,%edx
1725	movl	%eax,%ecx
1726	addl	%edi,%ebx
1727	rorl	$9,%ecx
1728	movl	%eax,%esi
1729	movl	28(%esp),%edi
1730	xorl	%eax,%ecx
1731	movl	%eax,24(%esp)
1732	xorl	%edi,%eax
1733	rorl	$11,%ecx
1734	andl	%eax,%ebp
1735	leal	1294757372(%ebx,%edx,1),%edx
1736	xorl	%esi,%ecx
1737	xorl	%edi,%ebp
1738	movl	48(%esp),%esi
1739	rorl	$2,%ecx
1740	addl	%edx,%ebp
1741	addl	4(%esp),%edx
1742	addl	%ecx,%ebp
1743	movl	36(%esp),%ecx
1744	movl	%esi,%ebx
1745	rorl	$11,%esi
1746	movl	%ecx,%edi
1747	rorl	$2,%ecx
1748	xorl	%ebx,%esi
1749	shrl	$3,%ebx
1750	rorl	$7,%esi
1751	xorl	%edi,%ecx
1752	xorl	%esi,%ebx
1753	rorl	$17,%ecx
1754	addl	44(%esp),%ebx
1755	shrl	$10,%edi
1756	addl	80(%esp),%ebx
1757	movl	%edx,%esi
1758	xorl	%ecx,%edi
1759	movl	8(%esp),%ecx
1760	rorl	$14,%edx
1761	addl	%edi,%ebx
1762	movl	12(%esp),%edi
1763	xorl	%esi,%edx
1764	movl	%ebx,44(%esp)
1765	xorl	%edi,%ecx
1766	rorl	$5,%edx
1767	andl	%esi,%ecx
1768	movl	%esi,4(%esp)
1769	xorl	%esi,%edx
1770	addl	16(%esp),%ebx
1771	xorl	%ecx,%edi
1772	rorl	$6,%edx
1773	movl	%ebp,%esi
1774	addl	%edi,%ebx
1775	rorl	$9,%esi
1776	movl	%ebp,%ecx
1777	movl	24(%esp),%edi
1778	xorl	%ebp,%esi
1779	movl	%ebp,20(%esp)
1780	xorl	%edi,%ebp
1781	rorl	$11,%esi
1782	andl	%ebp,%eax
1783	leal	1396182291(%ebx,%edx,1),%edx
1784	xorl	%ecx,%esi
1785	xorl	%edi,%eax
1786	movl	52(%esp),%ecx
1787	rorl	$2,%esi
1788	addl	%edx,%eax
1789	addl	(%esp),%edx
1790	addl	%esi,%eax
1791	movl	40(%esp),%esi
1792	movl	%ecx,%ebx
1793	rorl	$11,%ecx
1794	movl	%esi,%edi
1795	rorl	$2,%esi
1796	xorl	%ebx,%ecx
1797	shrl	$3,%ebx
1798	rorl	$7,%ecx
1799	xorl	%edi,%esi
1800	xorl	%ecx,%ebx
1801	rorl	$17,%esi
1802	addl	48(%esp),%ebx
1803	shrl	$10,%edi
1804	addl	84(%esp),%ebx
1805	movl	%edx,%ecx
1806	xorl	%esi,%edi
1807	movl	4(%esp),%esi
1808	rorl	$14,%edx
1809	addl	%edi,%ebx
1810	movl	8(%esp),%edi
1811	xorl	%ecx,%edx
1812	movl	%ebx,48(%esp)
1813	xorl	%edi,%esi
1814	rorl	$5,%edx
1815	andl	%ecx,%esi
1816	movl	%ecx,(%esp)
1817	xorl	%ecx,%edx
1818	addl	12(%esp),%ebx
1819	xorl	%esi,%edi
1820	rorl	$6,%edx
1821	movl	%eax,%ecx
1822	addl	%edi,%ebx
1823	rorl	$9,%ecx
1824	movl	%eax,%esi
1825	movl	20(%esp),%edi
1826	xorl	%eax,%ecx
1827	movl	%eax,16(%esp)
1828	xorl	%edi,%eax
1829	rorl	$11,%ecx
1830	andl	%eax,%ebp
1831	leal	1695183700(%ebx,%edx,1),%edx
1832	xorl	%esi,%ecx
1833	xorl	%edi,%ebp
1834	movl	56(%esp),%esi
1835	rorl	$2,%ecx
1836	addl	%edx,%ebp
1837	addl	28(%esp),%edx
1838	addl	%ecx,%ebp
1839	movl	44(%esp),%ecx
1840	movl	%esi,%ebx
1841	rorl	$11,%esi
1842	movl	%ecx,%edi
1843	rorl	$2,%ecx
1844	xorl	%ebx,%esi
1845	shrl	$3,%ebx
1846	rorl	$7,%esi
1847	xorl	%edi,%ecx
1848	xorl	%esi,%ebx
1849	rorl	$17,%ecx
1850	addl	52(%esp),%ebx
1851	shrl	$10,%edi
1852	addl	88(%esp),%ebx
1853	movl	%edx,%esi
1854	xorl	%ecx,%edi
1855	movl	(%esp),%ecx
1856	rorl	$14,%edx
1857	addl	%edi,%ebx
1858	movl	4(%esp),%edi
1859	xorl	%esi,%edx
1860	movl	%ebx,52(%esp)
1861	xorl	%edi,%ecx
1862	rorl	$5,%edx
1863	andl	%esi,%ecx
1864	movl	%esi,28(%esp)
1865	xorl	%esi,%edx
1866	addl	8(%esp),%ebx
1867	xorl	%ecx,%edi
1868	rorl	$6,%edx
1869	movl	%ebp,%esi
1870	addl	%edi,%ebx
1871	rorl	$9,%esi
1872	movl	%ebp,%ecx
1873	movl	16(%esp),%edi
1874	xorl	%ebp,%esi
1875	movl	%ebp,12(%esp)
1876	xorl	%edi,%ebp
1877	rorl	$11,%esi
1878	andl	%ebp,%eax
1879	leal	1986661051(%ebx,%edx,1),%edx
1880	xorl	%ecx,%esi
1881	xorl	%edi,%eax
1882	movl	60(%esp),%ecx
1883	rorl	$2,%esi
1884	addl	%edx,%eax
1885	addl	24(%esp),%edx
1886	addl	%esi,%eax
1887	movl	48(%esp),%esi
1888	movl	%ecx,%ebx
1889	rorl	$11,%ecx
1890	movl	%esi,%edi
1891	rorl	$2,%esi
1892	xorl	%ebx,%ecx
1893	shrl	$3,%ebx
1894	rorl	$7,%ecx
1895	xorl	%edi,%esi
1896	xorl	%ecx,%ebx
1897	rorl	$17,%esi
1898	addl	56(%esp),%ebx
1899	shrl	$10,%edi
1900	addl	92(%esp),%ebx
1901	movl	%edx,%ecx
1902	xorl	%esi,%edi
1903	movl	28(%esp),%esi
1904	rorl	$14,%edx
1905	addl	%edi,%ebx
1906	movl	(%esp),%edi
1907	xorl	%ecx,%edx
1908	movl	%ebx,56(%esp)
1909	xorl	%edi,%esi
1910	rorl	$5,%edx
1911	andl	%ecx,%esi
1912	movl	%ecx,24(%esp)
1913	xorl	%ecx,%edx
1914	addl	4(%esp),%ebx
1915	xorl	%esi,%edi
1916	rorl	$6,%edx
1917	movl	%eax,%ecx
1918	addl	%edi,%ebx
1919	rorl	$9,%ecx
1920	movl	%eax,%esi
1921	movl	12(%esp),%edi
1922	xorl	%eax,%ecx
1923	movl	%eax,8(%esp)
1924	xorl	%edi,%eax
1925	rorl	$11,%ecx
1926	andl	%eax,%ebp
1927	leal	2177026350(%ebx,%edx,1),%edx
1928	xorl	%esi,%ecx
1929	xorl	%edi,%ebp
1930	movl	64(%esp),%esi
1931	rorl	$2,%ecx
1932	addl	%edx,%ebp
1933	addl	20(%esp),%edx
1934	addl	%ecx,%ebp
1935	movl	52(%esp),%ecx
1936	movl	%esi,%ebx
1937	rorl	$11,%esi
1938	movl	%ecx,%edi
1939	rorl	$2,%ecx
1940	xorl	%ebx,%esi
1941	shrl	$3,%ebx
1942	rorl	$7,%esi
1943	xorl	%edi,%ecx
1944	xorl	%esi,%ebx
1945	rorl	$17,%ecx
1946	addl	60(%esp),%ebx
1947	shrl	$10,%edi
1948	addl	32(%esp),%ebx
1949	movl	%edx,%esi
1950	xorl	%ecx,%edi
1951	movl	24(%esp),%ecx
1952	rorl	$14,%edx
1953	addl	%edi,%ebx
1954	movl	28(%esp),%edi
1955	xorl	%esi,%edx
1956	movl	%ebx,60(%esp)
1957	xorl	%edi,%ecx
1958	rorl	$5,%edx
1959	andl	%esi,%ecx
1960	movl	%esi,20(%esp)
1961	xorl	%esi,%edx
1962	addl	(%esp),%ebx
1963	xorl	%ecx,%edi
1964	rorl	$6,%edx
1965	movl	%ebp,%esi
1966	addl	%edi,%ebx
1967	rorl	$9,%esi
1968	movl	%ebp,%ecx
1969	movl	8(%esp),%edi
1970	xorl	%ebp,%esi
1971	movl	%ebp,4(%esp)
1972	xorl	%edi,%ebp
1973	rorl	$11,%esi
1974	andl	%ebp,%eax
1975	leal	2456956037(%ebx,%edx,1),%edx
1976	xorl	%ecx,%esi
1977	xorl	%edi,%eax
1978	movl	68(%esp),%ecx
1979	rorl	$2,%esi
1980	addl	%edx,%eax
1981	addl	16(%esp),%edx
1982	addl	%esi,%eax
1983	movl	56(%esp),%esi
1984	movl	%ecx,%ebx
1985	rorl	$11,%ecx
1986	movl	%esi,%edi
1987	rorl	$2,%esi
1988	xorl	%ebx,%ecx
1989	shrl	$3,%ebx
1990	rorl	$7,%ecx
1991	xorl	%edi,%esi
1992	xorl	%ecx,%ebx
1993	rorl	$17,%esi
1994	addl	64(%esp),%ebx
1995	shrl	$10,%edi
1996	addl	36(%esp),%ebx
1997	movl	%edx,%ecx
1998	xorl	%esi,%edi
1999	movl	20(%esp),%esi
2000	rorl	$14,%edx
2001	addl	%edi,%ebx
2002	movl	24(%esp),%edi
2003	xorl	%ecx,%edx
2004	movl	%ebx,64(%esp)
2005	xorl	%edi,%esi
2006	rorl	$5,%edx
2007	andl	%ecx,%esi
2008	movl	%ecx,16(%esp)
2009	xorl	%ecx,%edx
2010	addl	28(%esp),%ebx
2011	xorl	%esi,%edi
2012	rorl	$6,%edx
2013	movl	%eax,%ecx
2014	addl	%edi,%ebx
2015	rorl	$9,%ecx
2016	movl	%eax,%esi
2017	movl	4(%esp),%edi
2018	xorl	%eax,%ecx
2019	movl	%eax,(%esp)
2020	xorl	%edi,%eax
2021	rorl	$11,%ecx
2022	andl	%eax,%ebp
2023	leal	2730485921(%ebx,%edx,1),%edx
2024	xorl	%esi,%ecx
2025	xorl	%edi,%ebp
2026	movl	72(%esp),%esi
2027	rorl	$2,%ecx
2028	addl	%edx,%ebp
2029	addl	12(%esp),%edx
2030	addl	%ecx,%ebp
2031	movl	60(%esp),%ecx
2032	movl	%esi,%ebx
2033	rorl	$11,%esi
2034	movl	%ecx,%edi
2035	rorl	$2,%ecx
2036	xorl	%ebx,%esi
2037	shrl	$3,%ebx
2038	rorl	$7,%esi
2039	xorl	%edi,%ecx
2040	xorl	%esi,%ebx
2041	rorl	$17,%ecx
2042	addl	68(%esp),%ebx
2043	shrl	$10,%edi
2044	addl	40(%esp),%ebx
2045	movl	%edx,%esi
2046	xorl	%ecx,%edi
2047	movl	16(%esp),%ecx
2048	rorl	$14,%edx
2049	addl	%edi,%ebx
2050	movl	20(%esp),%edi
2051	xorl	%esi,%edx
2052	movl	%ebx,68(%esp)
2053	xorl	%edi,%ecx
2054	rorl	$5,%edx
2055	andl	%esi,%ecx
2056	movl	%esi,12(%esp)
2057	xorl	%esi,%edx
2058	addl	24(%esp),%ebx
2059	xorl	%ecx,%edi
2060	rorl	$6,%edx
2061	movl	%ebp,%esi
2062	addl	%edi,%ebx
2063	rorl	$9,%esi
2064	movl	%ebp,%ecx
2065	movl	(%esp),%edi
2066	xorl	%ebp,%esi
2067	movl	%ebp,28(%esp)
2068	xorl	%edi,%ebp
2069	rorl	$11,%esi
2070	andl	%ebp,%eax
2071	leal	2820302411(%ebx,%edx,1),%edx
2072	xorl	%ecx,%esi
2073	xorl	%edi,%eax
2074	movl	76(%esp),%ecx
2075	rorl	$2,%esi
2076	addl	%edx,%eax
2077	addl	8(%esp),%edx
2078	addl	%esi,%eax
2079	movl	64(%esp),%esi
2080	movl	%ecx,%ebx
2081	rorl	$11,%ecx
2082	movl	%esi,%edi
2083	rorl	$2,%esi
2084	xorl	%ebx,%ecx
2085	shrl	$3,%ebx
2086	rorl	$7,%ecx
2087	xorl	%edi,%esi
2088	xorl	%ecx,%ebx
2089	rorl	$17,%esi
2090	addl	72(%esp),%ebx
2091	shrl	$10,%edi
2092	addl	44(%esp),%ebx
2093	movl	%edx,%ecx
2094	xorl	%esi,%edi
2095	movl	12(%esp),%esi
2096	rorl	$14,%edx
2097	addl	%edi,%ebx
2098	movl	16(%esp),%edi
2099	xorl	%ecx,%edx
2100	movl	%ebx,72(%esp)
2101	xorl	%edi,%esi
2102	rorl	$5,%edx
2103	andl	%ecx,%esi
2104	movl	%ecx,8(%esp)
2105	xorl	%ecx,%edx
2106	addl	20(%esp),%ebx
2107	xorl	%esi,%edi
2108	rorl	$6,%edx
2109	movl	%eax,%ecx
2110	addl	%edi,%ebx
2111	rorl	$9,%ecx
2112	movl	%eax,%esi
2113	movl	28(%esp),%edi
2114	xorl	%eax,%ecx
2115	movl	%eax,24(%esp)
2116	xorl	%edi,%eax
2117	rorl	$11,%ecx
2118	andl	%eax,%ebp
2119	leal	3259730800(%ebx,%edx,1),%edx
2120	xorl	%esi,%ecx
2121	xorl	%edi,%ebp
2122	movl	80(%esp),%esi
2123	rorl	$2,%ecx
2124	addl	%edx,%ebp
2125	addl	4(%esp),%edx
2126	addl	%ecx,%ebp
2127	movl	68(%esp),%ecx
2128	movl	%esi,%ebx
2129	rorl	$11,%esi
2130	movl	%ecx,%edi
2131	rorl	$2,%ecx
2132	xorl	%ebx,%esi
2133	shrl	$3,%ebx
2134	rorl	$7,%esi
2135	xorl	%edi,%ecx
2136	xorl	%esi,%ebx
2137	rorl	$17,%ecx
2138	addl	76(%esp),%ebx
2139	shrl	$10,%edi
2140	addl	48(%esp),%ebx
2141	movl	%edx,%esi
2142	xorl	%ecx,%edi
2143	movl	8(%esp),%ecx
2144	rorl	$14,%edx
2145	addl	%edi,%ebx
2146	movl	12(%esp),%edi
2147	xorl	%esi,%edx
2148	movl	%ebx,76(%esp)
2149	xorl	%edi,%ecx
2150	rorl	$5,%edx
2151	andl	%esi,%ecx
2152	movl	%esi,4(%esp)
2153	xorl	%esi,%edx
2154	addl	16(%esp),%ebx
2155	xorl	%ecx,%edi
2156	rorl	$6,%edx
2157	movl	%ebp,%esi
2158	addl	%edi,%ebx
2159	rorl	$9,%esi
2160	movl	%ebp,%ecx
2161	movl	24(%esp),%edi
2162	xorl	%ebp,%esi
2163	movl	%ebp,20(%esp)
2164	xorl	%edi,%ebp
2165	rorl	$11,%esi
2166	andl	%ebp,%eax
2167	leal	3345764771(%ebx,%edx,1),%edx
2168	xorl	%ecx,%esi
2169	xorl	%edi,%eax
2170	movl	84(%esp),%ecx
2171	rorl	$2,%esi
2172	addl	%edx,%eax
2173	addl	(%esp),%edx
2174	addl	%esi,%eax
2175	movl	72(%esp),%esi
2176	movl	%ecx,%ebx
2177	rorl	$11,%ecx
2178	movl	%esi,%edi
2179	rorl	$2,%esi
2180	xorl	%ebx,%ecx
2181	shrl	$3,%ebx
2182	rorl	$7,%ecx
2183	xorl	%edi,%esi
2184	xorl	%ecx,%ebx
2185	rorl	$17,%esi
2186	addl	80(%esp),%ebx
2187	shrl	$10,%edi
2188	addl	52(%esp),%ebx
2189	movl	%edx,%ecx
2190	xorl	%esi,%edi
2191	movl	4(%esp),%esi
2192	rorl	$14,%edx
2193	addl	%edi,%ebx
2194	movl	8(%esp),%edi
2195	xorl	%ecx,%edx
2196	movl	%ebx,80(%esp)
2197	xorl	%edi,%esi
2198	rorl	$5,%edx
2199	andl	%ecx,%esi
2200	movl	%ecx,(%esp)
2201	xorl	%ecx,%edx
2202	addl	12(%esp),%ebx
2203	xorl	%esi,%edi
2204	rorl	$6,%edx
2205	movl	%eax,%ecx
2206	addl	%edi,%ebx
2207	rorl	$9,%ecx
2208	movl	%eax,%esi
2209	movl	20(%esp),%edi
2210	xorl	%eax,%ecx
2211	movl	%eax,16(%esp)
2212	xorl	%edi,%eax
2213	rorl	$11,%ecx
2214	andl	%eax,%ebp
2215	leal	3516065817(%ebx,%edx,1),%edx
2216	xorl	%esi,%ecx
2217	xorl	%edi,%ebp
2218	movl	88(%esp),%esi
2219	rorl	$2,%ecx
2220	addl	%edx,%ebp
2221	addl	28(%esp),%edx
2222	addl	%ecx,%ebp
2223	movl	76(%esp),%ecx
2224	movl	%esi,%ebx
2225	rorl	$11,%esi
2226	movl	%ecx,%edi
2227	rorl	$2,%ecx
2228	xorl	%ebx,%esi
2229	shrl	$3,%ebx
2230	rorl	$7,%esi
2231	xorl	%edi,%ecx
2232	xorl	%esi,%ebx
2233	rorl	$17,%ecx
2234	addl	84(%esp),%ebx
2235	shrl	$10,%edi
2236	addl	56(%esp),%ebx
2237	movl	%edx,%esi
2238	xorl	%ecx,%edi
2239	movl	(%esp),%ecx
2240	rorl	$14,%edx
2241	addl	%edi,%ebx
2242	movl	4(%esp),%edi
2243	xorl	%esi,%edx
2244	movl	%ebx,84(%esp)
2245	xorl	%edi,%ecx
2246	rorl	$5,%edx
2247	andl	%esi,%ecx
2248	movl	%esi,28(%esp)
2249	xorl	%esi,%edx
2250	addl	8(%esp),%ebx
2251	xorl	%ecx,%edi
2252	rorl	$6,%edx
2253	movl	%ebp,%esi
2254	addl	%edi,%ebx
2255	rorl	$9,%esi
2256	movl	%ebp,%ecx
2257	movl	16(%esp),%edi
2258	xorl	%ebp,%esi
2259	movl	%ebp,12(%esp)
2260	xorl	%edi,%ebp
2261	rorl	$11,%esi
2262	andl	%ebp,%eax
2263	leal	3600352804(%ebx,%edx,1),%edx
2264	xorl	%ecx,%esi
2265	xorl	%edi,%eax
2266	movl	92(%esp),%ecx
2267	rorl	$2,%esi
2268	addl	%edx,%eax
2269	addl	24(%esp),%edx
2270	addl	%esi,%eax
2271	movl	80(%esp),%esi
2272	movl	%ecx,%ebx
2273	rorl	$11,%ecx
2274	movl	%esi,%edi
2275	rorl	$2,%esi
2276	xorl	%ebx,%ecx
2277	shrl	$3,%ebx
2278	rorl	$7,%ecx
2279	xorl	%edi,%esi
2280	xorl	%ecx,%ebx
2281	rorl	$17,%esi
2282	addl	88(%esp),%ebx
2283	shrl	$10,%edi
2284	addl	60(%esp),%ebx
2285	movl	%edx,%ecx
2286	xorl	%esi,%edi
2287	movl	28(%esp),%esi
2288	rorl	$14,%edx
2289	addl	%edi,%ebx
2290	movl	(%esp),%edi
2291	xorl	%ecx,%edx
2292	movl	%ebx,88(%esp)
2293	xorl	%edi,%esi
2294	rorl	$5,%edx
2295	andl	%ecx,%esi
2296	movl	%ecx,24(%esp)
2297	xorl	%ecx,%edx
2298	addl	4(%esp),%ebx
2299	xorl	%esi,%edi
2300	rorl	$6,%edx
2301	movl	%eax,%ecx
2302	addl	%edi,%ebx
2303	rorl	$9,%ecx
2304	movl	%eax,%esi
2305	movl	12(%esp),%edi
2306	xorl	%eax,%ecx
2307	movl	%eax,8(%esp)
2308	xorl	%edi,%eax
2309	rorl	$11,%ecx
2310	andl	%eax,%ebp
2311	leal	4094571909(%ebx,%edx,1),%edx
2312	xorl	%esi,%ecx
2313	xorl	%edi,%ebp
2314	movl	32(%esp),%esi
2315	rorl	$2,%ecx
2316	addl	%edx,%ebp
2317	addl	20(%esp),%edx
2318	addl	%ecx,%ebp
2319	movl	84(%esp),%ecx
2320	movl	%esi,%ebx
2321	rorl	$11,%esi
2322	movl	%ecx,%edi
2323	rorl	$2,%ecx
2324	xorl	%ebx,%esi
2325	shrl	$3,%ebx
2326	rorl	$7,%esi
2327	xorl	%edi,%ecx
2328	xorl	%esi,%ebx
2329	rorl	$17,%ecx
2330	addl	92(%esp),%ebx
2331	shrl	$10,%edi
2332	addl	64(%esp),%ebx
2333	movl	%edx,%esi
2334	xorl	%ecx,%edi
2335	movl	24(%esp),%ecx
2336	rorl	$14,%edx
2337	addl	%edi,%ebx
2338	movl	28(%esp),%edi
2339	xorl	%esi,%edx
2340	movl	%ebx,92(%esp)
2341	xorl	%edi,%ecx
2342	rorl	$5,%edx
2343	andl	%esi,%ecx
2344	movl	%esi,20(%esp)
2345	xorl	%esi,%edx
2346	addl	(%esp),%ebx
2347	xorl	%ecx,%edi
2348	rorl	$6,%edx
2349	movl	%ebp,%esi
2350	addl	%edi,%ebx
2351	rorl	$9,%esi
2352	movl	%ebp,%ecx
2353	movl	8(%esp),%edi
2354	xorl	%ebp,%esi
2355	movl	%ebp,4(%esp)
2356	xorl	%edi,%ebp
2357	rorl	$11,%esi
2358	andl	%ebp,%eax
2359	leal	275423344(%ebx,%edx,1),%edx
2360	xorl	%ecx,%esi
2361	xorl	%edi,%eax
2362	movl	36(%esp),%ecx
2363	rorl	$2,%esi
2364	addl	%edx,%eax
2365	addl	16(%esp),%edx
2366	addl	%esi,%eax
2367	movl	88(%esp),%esi
2368	movl	%ecx,%ebx
2369	rorl	$11,%ecx
2370	movl	%esi,%edi
2371	rorl	$2,%esi
2372	xorl	%ebx,%ecx
2373	shrl	$3,%ebx
2374	rorl	$7,%ecx
2375	xorl	%edi,%esi
2376	xorl	%ecx,%ebx
2377	rorl	$17,%esi
2378	addl	32(%esp),%ebx
2379	shrl	$10,%edi
2380	addl	68(%esp),%ebx
2381	movl	%edx,%ecx
2382	xorl	%esi,%edi
2383	movl	20(%esp),%esi
2384	rorl	$14,%edx
2385	addl	%edi,%ebx
2386	movl	24(%esp),%edi
2387	xorl	%ecx,%edx
2388	movl	%ebx,32(%esp)
2389	xorl	%edi,%esi
2390	rorl	$5,%edx
2391	andl	%ecx,%esi
2392	movl	%ecx,16(%esp)
2393	xorl	%ecx,%edx
2394	addl	28(%esp),%ebx
2395	xorl	%esi,%edi
2396	rorl	$6,%edx
2397	movl	%eax,%ecx
2398	addl	%edi,%ebx
2399	rorl	$9,%ecx
2400	movl	%eax,%esi
2401	movl	4(%esp),%edi
2402	xorl	%eax,%ecx
2403	movl	%eax,(%esp)
2404	xorl	%edi,%eax
2405	rorl	$11,%ecx
2406	andl	%eax,%ebp
2407	leal	430227734(%ebx,%edx,1),%edx
2408	xorl	%esi,%ecx
2409	xorl	%edi,%ebp
2410	movl	40(%esp),%esi
2411	rorl	$2,%ecx
2412	addl	%edx,%ebp
2413	addl	12(%esp),%edx
2414	addl	%ecx,%ebp
2415	movl	92(%esp),%ecx
2416	movl	%esi,%ebx
2417	rorl	$11,%esi
2418	movl	%ecx,%edi
2419	rorl	$2,%ecx
2420	xorl	%ebx,%esi
2421	shrl	$3,%ebx
2422	rorl	$7,%esi
2423	xorl	%edi,%ecx
2424	xorl	%esi,%ebx
2425	rorl	$17,%ecx
2426	addl	36(%esp),%ebx
2427	shrl	$10,%edi
2428	addl	72(%esp),%ebx
2429	movl	%edx,%esi
2430	xorl	%ecx,%edi
2431	movl	16(%esp),%ecx
2432	rorl	$14,%edx
2433	addl	%edi,%ebx
2434	movl	20(%esp),%edi
2435	xorl	%esi,%edx
2436	movl	%ebx,36(%esp)
2437	xorl	%edi,%ecx
2438	rorl	$5,%edx
2439	andl	%esi,%ecx
2440	movl	%esi,12(%esp)
2441	xorl	%esi,%edx
2442	addl	24(%esp),%ebx
2443	xorl	%ecx,%edi
2444	rorl	$6,%edx
2445	movl	%ebp,%esi
2446	addl	%edi,%ebx
2447	rorl	$9,%esi
2448	movl	%ebp,%ecx
2449	movl	(%esp),%edi
2450	xorl	%ebp,%esi
2451	movl	%ebp,28(%esp)
2452	xorl	%edi,%ebp
2453	rorl	$11,%esi
2454	andl	%ebp,%eax
2455	leal	506948616(%ebx,%edx,1),%edx
2456	xorl	%ecx,%esi
2457	xorl	%edi,%eax
2458	movl	44(%esp),%ecx
2459	rorl	$2,%esi
2460	addl	%edx,%eax
2461	addl	8(%esp),%edx
2462	addl	%esi,%eax
2463	movl	32(%esp),%esi
2464	movl	%ecx,%ebx
2465	rorl	$11,%ecx
2466	movl	%esi,%edi
2467	rorl	$2,%esi
2468	xorl	%ebx,%ecx
2469	shrl	$3,%ebx
2470	rorl	$7,%ecx
2471	xorl	%edi,%esi
2472	xorl	%ecx,%ebx
2473	rorl	$17,%esi
2474	addl	40(%esp),%ebx
2475	shrl	$10,%edi
2476	addl	76(%esp),%ebx
2477	movl	%edx,%ecx
2478	xorl	%esi,%edi
2479	movl	12(%esp),%esi
2480	rorl	$14,%edx
2481	addl	%edi,%ebx
2482	movl	16(%esp),%edi
2483	xorl	%ecx,%edx
2484	movl	%ebx,40(%esp)
2485	xorl	%edi,%esi
2486	rorl	$5,%edx
2487	andl	%ecx,%esi
2488	movl	%ecx,8(%esp)
2489	xorl	%ecx,%edx
2490	addl	20(%esp),%ebx
2491	xorl	%esi,%edi
2492	rorl	$6,%edx
2493	movl	%eax,%ecx
2494	addl	%edi,%ebx
2495	rorl	$9,%ecx
2496	movl	%eax,%esi
2497	movl	28(%esp),%edi
2498	xorl	%eax,%ecx
2499	movl	%eax,24(%esp)
2500	xorl	%edi,%eax
2501	rorl	$11,%ecx
2502	andl	%eax,%ebp
2503	leal	659060556(%ebx,%edx,1),%edx
2504	xorl	%esi,%ecx
2505	xorl	%edi,%ebp
2506	movl	48(%esp),%esi
2507	rorl	$2,%ecx
2508	addl	%edx,%ebp
2509	addl	4(%esp),%edx
2510	addl	%ecx,%ebp
2511	movl	36(%esp),%ecx
2512	movl	%esi,%ebx
2513	rorl	$11,%esi
2514	movl	%ecx,%edi
2515	rorl	$2,%ecx
2516	xorl	%ebx,%esi
2517	shrl	$3,%ebx
2518	rorl	$7,%esi
2519	xorl	%edi,%ecx
2520	xorl	%esi,%ebx
2521	rorl	$17,%ecx
2522	addl	44(%esp),%ebx
2523	shrl	$10,%edi
2524	addl	80(%esp),%ebx
2525	movl	%edx,%esi
2526	xorl	%ecx,%edi
2527	movl	8(%esp),%ecx
2528	rorl	$14,%edx
2529	addl	%edi,%ebx
2530	movl	12(%esp),%edi
2531	xorl	%esi,%edx
2532	movl	%ebx,44(%esp)
2533	xorl	%edi,%ecx
2534	rorl	$5,%edx
2535	andl	%esi,%ecx
2536	movl	%esi,4(%esp)
2537	xorl	%esi,%edx
2538	addl	16(%esp),%ebx
2539	xorl	%ecx,%edi
2540	rorl	$6,%edx
2541	movl	%ebp,%esi
2542	addl	%edi,%ebx
2543	rorl	$9,%esi
2544	movl	%ebp,%ecx
2545	movl	24(%esp),%edi
2546	xorl	%ebp,%esi
2547	movl	%ebp,20(%esp)
2548	xorl	%edi,%ebp
2549	rorl	$11,%esi
2550	andl	%ebp,%eax
2551	leal	883997877(%ebx,%edx,1),%edx
2552	xorl	%ecx,%esi
2553	xorl	%edi,%eax
2554	movl	52(%esp),%ecx
2555	rorl	$2,%esi
2556	addl	%edx,%eax
2557	addl	(%esp),%edx
2558	addl	%esi,%eax
2559	movl	40(%esp),%esi
2560	movl	%ecx,%ebx
2561	rorl	$11,%ecx
2562	movl	%esi,%edi
2563	rorl	$2,%esi
2564	xorl	%ebx,%ecx
2565	shrl	$3,%ebx
2566	rorl	$7,%ecx
2567	xorl	%edi,%esi
2568	xorl	%ecx,%ebx
2569	rorl	$17,%esi
2570	addl	48(%esp),%ebx
2571	shrl	$10,%edi
2572	addl	84(%esp),%ebx
2573	movl	%edx,%ecx
2574	xorl	%esi,%edi
2575	movl	4(%esp),%esi
2576	rorl	$14,%edx
2577	addl	%edi,%ebx
2578	movl	8(%esp),%edi
2579	xorl	%ecx,%edx
2580	movl	%ebx,48(%esp)
2581	xorl	%edi,%esi
2582	rorl	$5,%edx
2583	andl	%ecx,%esi
2584	movl	%ecx,(%esp)
2585	xorl	%ecx,%edx
2586	addl	12(%esp),%ebx
2587	xorl	%esi,%edi
2588	rorl	$6,%edx
2589	movl	%eax,%ecx
2590	addl	%edi,%ebx
2591	rorl	$9,%ecx
2592	movl	%eax,%esi
2593	movl	20(%esp),%edi
2594	xorl	%eax,%ecx
2595	movl	%eax,16(%esp)
2596	xorl	%edi,%eax
2597	rorl	$11,%ecx
2598	andl	%eax,%ebp
2599	leal	958139571(%ebx,%edx,1),%edx
2600	xorl	%esi,%ecx
2601	xorl	%edi,%ebp
2602	movl	56(%esp),%esi
2603	rorl	$2,%ecx
2604	addl	%edx,%ebp
2605	addl	28(%esp),%edx
2606	addl	%ecx,%ebp
2607	movl	44(%esp),%ecx
2608	movl	%esi,%ebx
2609	rorl	$11,%esi
2610	movl	%ecx,%edi
2611	rorl	$2,%ecx
2612	xorl	%ebx,%esi
2613	shrl	$3,%ebx
2614	rorl	$7,%esi
2615	xorl	%edi,%ecx
2616	xorl	%esi,%ebx
2617	rorl	$17,%ecx
2618	addl	52(%esp),%ebx
2619	shrl	$10,%edi
2620	addl	88(%esp),%ebx
2621	movl	%edx,%esi
2622	xorl	%ecx,%edi
2623	movl	(%esp),%ecx
2624	rorl	$14,%edx
2625	addl	%edi,%ebx
2626	movl	4(%esp),%edi
2627	xorl	%esi,%edx
2628	movl	%ebx,52(%esp)
2629	xorl	%edi,%ecx
2630	rorl	$5,%edx
2631	andl	%esi,%ecx
2632	movl	%esi,28(%esp)
2633	xorl	%esi,%edx
2634	addl	8(%esp),%ebx
2635	xorl	%ecx,%edi
2636	rorl	$6,%edx
2637	movl	%ebp,%esi
2638	addl	%edi,%ebx
2639	rorl	$9,%esi
2640	movl	%ebp,%ecx
2641	movl	16(%esp),%edi
2642	xorl	%ebp,%esi
2643	movl	%ebp,12(%esp)
2644	xorl	%edi,%ebp
2645	rorl	$11,%esi
2646	andl	%ebp,%eax
2647	leal	1322822218(%ebx,%edx,1),%edx
2648	xorl	%ecx,%esi
2649	xorl	%edi,%eax
2650	movl	60(%esp),%ecx
2651	rorl	$2,%esi
2652	addl	%edx,%eax
2653	addl	24(%esp),%edx
2654	addl	%esi,%eax
2655	movl	48(%esp),%esi
2656	movl	%ecx,%ebx
2657	rorl	$11,%ecx
2658	movl	%esi,%edi
2659	rorl	$2,%esi
2660	xorl	%ebx,%ecx
2661	shrl	$3,%ebx
2662	rorl	$7,%ecx
2663	xorl	%edi,%esi
2664	xorl	%ecx,%ebx
2665	rorl	$17,%esi
2666	addl	56(%esp),%ebx
2667	shrl	$10,%edi
2668	addl	92(%esp),%ebx
2669	movl	%edx,%ecx
2670	xorl	%esi,%edi
2671	movl	28(%esp),%esi
2672	rorl	$14,%edx
2673	addl	%edi,%ebx
2674	movl	(%esp),%edi
2675	xorl	%ecx,%edx
2676	movl	%ebx,56(%esp)
2677	xorl	%edi,%esi
2678	rorl	$5,%edx
2679	andl	%ecx,%esi
2680	movl	%ecx,24(%esp)
2681	xorl	%ecx,%edx
2682	addl	4(%esp),%ebx
2683	xorl	%esi,%edi
2684	rorl	$6,%edx
2685	movl	%eax,%ecx
2686	addl	%edi,%ebx
2687	rorl	$9,%ecx
2688	movl	%eax,%esi
2689	movl	12(%esp),%edi
2690	xorl	%eax,%ecx
2691	movl	%eax,8(%esp)
2692	xorl	%edi,%eax
2693	rorl	$11,%ecx
2694	andl	%eax,%ebp
2695	leal	1537002063(%ebx,%edx,1),%edx
2696	xorl	%esi,%ecx
2697	xorl	%edi,%ebp
2698	movl	64(%esp),%esi
2699	rorl	$2,%ecx
2700	addl	%edx,%ebp
2701	addl	20(%esp),%edx
2702	addl	%ecx,%ebp
2703	movl	52(%esp),%ecx
2704	movl	%esi,%ebx
2705	rorl	$11,%esi
2706	movl	%ecx,%edi
2707	rorl	$2,%ecx
2708	xorl	%ebx,%esi
2709	shrl	$3,%ebx
2710	rorl	$7,%esi
2711	xorl	%edi,%ecx
2712	xorl	%esi,%ebx
2713	rorl	$17,%ecx
2714	addl	60(%esp),%ebx
2715	shrl	$10,%edi
2716	addl	32(%esp),%ebx
2717	movl	%edx,%esi
2718	xorl	%ecx,%edi
2719	movl	24(%esp),%ecx
2720	rorl	$14,%edx
2721	addl	%edi,%ebx
2722	movl	28(%esp),%edi
2723	xorl	%esi,%edx
2724	movl	%ebx,60(%esp)
2725	xorl	%edi,%ecx
2726	rorl	$5,%edx
2727	andl	%esi,%ecx
2728	movl	%esi,20(%esp)
2729	xorl	%esi,%edx
2730	addl	(%esp),%ebx
2731	xorl	%ecx,%edi
2732	rorl	$6,%edx
2733	movl	%ebp,%esi
2734	addl	%edi,%ebx
2735	rorl	$9,%esi
2736	movl	%ebp,%ecx
2737	movl	8(%esp),%edi
2738	xorl	%ebp,%esi
2739	movl	%ebp,4(%esp)
2740	xorl	%edi,%ebp
2741	rorl	$11,%esi
2742	andl	%ebp,%eax
2743	leal	1747873779(%ebx,%edx,1),%edx
2744	xorl	%ecx,%esi
2745	xorl	%edi,%eax
2746	movl	68(%esp),%ecx
2747	rorl	$2,%esi
2748	addl	%edx,%eax
2749	addl	16(%esp),%edx
2750	addl	%esi,%eax
2751	movl	56(%esp),%esi
2752	movl	%ecx,%ebx
2753	rorl	$11,%ecx
2754	movl	%esi,%edi
2755	rorl	$2,%esi
2756	xorl	%ebx,%ecx
2757	shrl	$3,%ebx
2758	rorl	$7,%ecx
2759	xorl	%edi,%esi
2760	xorl	%ecx,%ebx
2761	rorl	$17,%esi
2762	addl	64(%esp),%ebx
2763	shrl	$10,%edi
2764	addl	36(%esp),%ebx
2765	movl	%edx,%ecx
2766	xorl	%esi,%edi
2767	movl	20(%esp),%esi
2768	rorl	$14,%edx
2769	addl	%edi,%ebx
2770	movl	24(%esp),%edi
2771	xorl	%ecx,%edx
2772	movl	%ebx,64(%esp)
2773	xorl	%edi,%esi
2774	rorl	$5,%edx
2775	andl	%ecx,%esi
2776	movl	%ecx,16(%esp)
2777	xorl	%ecx,%edx
2778	addl	28(%esp),%ebx
2779	xorl	%esi,%edi
2780	rorl	$6,%edx
2781	movl	%eax,%ecx
2782	addl	%edi,%ebx
2783	rorl	$9,%ecx
2784	movl	%eax,%esi
2785	movl	4(%esp),%edi
2786	xorl	%eax,%ecx
2787	movl	%eax,(%esp)
2788	xorl	%edi,%eax
2789	rorl	$11,%ecx
2790	andl	%eax,%ebp
2791	leal	1955562222(%ebx,%edx,1),%edx
2792	xorl	%esi,%ecx
2793	xorl	%edi,%ebp
2794	movl	72(%esp),%esi
2795	rorl	$2,%ecx
2796	addl	%edx,%ebp
2797	addl	12(%esp),%edx
2798	addl	%ecx,%ebp
2799	movl	60(%esp),%ecx
2800	movl	%esi,%ebx
2801	rorl	$11,%esi
2802	movl	%ecx,%edi
2803	rorl	$2,%ecx
2804	xorl	%ebx,%esi
2805	shrl	$3,%ebx
2806	rorl	$7,%esi
2807	xorl	%edi,%ecx
2808	xorl	%esi,%ebx
2809	rorl	$17,%ecx
2810	addl	68(%esp),%ebx
2811	shrl	$10,%edi
2812	addl	40(%esp),%ebx
2813	movl	%edx,%esi
2814	xorl	%ecx,%edi
2815	movl	16(%esp),%ecx
2816	rorl	$14,%edx
2817	addl	%edi,%ebx
2818	movl	20(%esp),%edi
2819	xorl	%esi,%edx
2820	movl	%ebx,68(%esp)
2821	xorl	%edi,%ecx
2822	rorl	$5,%edx
2823	andl	%esi,%ecx
2824	movl	%esi,12(%esp)
2825	xorl	%esi,%edx
2826	addl	24(%esp),%ebx
2827	xorl	%ecx,%edi
2828	rorl	$6,%edx
2829	movl	%ebp,%esi
2830	addl	%edi,%ebx
2831	rorl	$9,%esi
2832	movl	%ebp,%ecx
2833	movl	(%esp),%edi
2834	xorl	%ebp,%esi
2835	movl	%ebp,28(%esp)
2836	xorl	%edi,%ebp
2837	rorl	$11,%esi
2838	andl	%ebp,%eax
2839	leal	2024104815(%ebx,%edx,1),%edx
2840	xorl	%ecx,%esi
2841	xorl	%edi,%eax
2842	movl	76(%esp),%ecx
2843	rorl	$2,%esi
2844	addl	%edx,%eax
2845	addl	8(%esp),%edx
2846	addl	%esi,%eax
2847	movl	64(%esp),%esi
2848	movl	%ecx,%ebx
2849	rorl	$11,%ecx
2850	movl	%esi,%edi
2851	rorl	$2,%esi
2852	xorl	%ebx,%ecx
2853	shrl	$3,%ebx
2854	rorl	$7,%ecx
2855	xorl	%edi,%esi
2856	xorl	%ecx,%ebx
2857	rorl	$17,%esi
2858	addl	72(%esp),%ebx
2859	shrl	$10,%edi
2860	addl	44(%esp),%ebx
2861	movl	%edx,%ecx
2862	xorl	%esi,%edi
2863	movl	12(%esp),%esi
2864	rorl	$14,%edx
2865	addl	%edi,%ebx
2866	movl	16(%esp),%edi
2867	xorl	%ecx,%edx
2868	movl	%ebx,72(%esp)
2869	xorl	%edi,%esi
2870	rorl	$5,%edx
2871	andl	%ecx,%esi
2872	movl	%ecx,8(%esp)
2873	xorl	%ecx,%edx
2874	addl	20(%esp),%ebx
2875	xorl	%esi,%edi
2876	rorl	$6,%edx
2877	movl	%eax,%ecx
2878	addl	%edi,%ebx
2879	rorl	$9,%ecx
2880	movl	%eax,%esi
2881	movl	28(%esp),%edi
2882	xorl	%eax,%ecx
2883	movl	%eax,24(%esp)
2884	xorl	%edi,%eax
2885	rorl	$11,%ecx
2886	andl	%eax,%ebp
2887	leal	2227730452(%ebx,%edx,1),%edx
2888	xorl	%esi,%ecx
2889	xorl	%edi,%ebp
2890	movl	80(%esp),%esi
2891	rorl	$2,%ecx
2892	addl	%edx,%ebp
2893	addl	4(%esp),%edx
2894	addl	%ecx,%ebp
2895	movl	68(%esp),%ecx
2896	movl	%esi,%ebx
2897	rorl	$11,%esi
2898	movl	%ecx,%edi
2899	rorl	$2,%ecx
2900	xorl	%ebx,%esi
2901	shrl	$3,%ebx
2902	rorl	$7,%esi
2903	xorl	%edi,%ecx
2904	xorl	%esi,%ebx
2905	rorl	$17,%ecx
2906	addl	76(%esp),%ebx
2907	shrl	$10,%edi
2908	addl	48(%esp),%ebx
2909	movl	%edx,%esi
2910	xorl	%ecx,%edi
2911	movl	8(%esp),%ecx
2912	rorl	$14,%edx
2913	addl	%edi,%ebx
2914	movl	12(%esp),%edi
2915	xorl	%esi,%edx
2916	movl	%ebx,76(%esp)
2917	xorl	%edi,%ecx
2918	rorl	$5,%edx
2919	andl	%esi,%ecx
2920	movl	%esi,4(%esp)
2921	xorl	%esi,%edx
2922	addl	16(%esp),%ebx
2923	xorl	%ecx,%edi
2924	rorl	$6,%edx
2925	movl	%ebp,%esi
2926	addl	%edi,%ebx
2927	rorl	$9,%esi
2928	movl	%ebp,%ecx
2929	movl	24(%esp),%edi
2930	xorl	%ebp,%esi
2931	movl	%ebp,20(%esp)
2932	xorl	%edi,%ebp
2933	rorl	$11,%esi
2934	andl	%ebp,%eax
2935	leal	2361852424(%ebx,%edx,1),%edx
2936	xorl	%ecx,%esi
2937	xorl	%edi,%eax
2938	movl	84(%esp),%ecx
2939	rorl	$2,%esi
2940	addl	%edx,%eax
2941	addl	(%esp),%edx
2942	addl	%esi,%eax
2943	movl	72(%esp),%esi
2944	movl	%ecx,%ebx
2945	rorl	$11,%ecx
2946	movl	%esi,%edi
2947	rorl	$2,%esi
2948	xorl	%ebx,%ecx
2949	shrl	$3,%ebx
2950	rorl	$7,%ecx
2951	xorl	%edi,%esi
2952	xorl	%ecx,%ebx
2953	rorl	$17,%esi
2954	addl	80(%esp),%ebx
2955	shrl	$10,%edi
2956	addl	52(%esp),%ebx
2957	movl	%edx,%ecx
2958	xorl	%esi,%edi
2959	movl	4(%esp),%esi
2960	rorl	$14,%edx
2961	addl	%edi,%ebx
2962	movl	8(%esp),%edi
2963	xorl	%ecx,%edx
2964	movl	%ebx,80(%esp)
2965	xorl	%edi,%esi
2966	rorl	$5,%edx
2967	andl	%ecx,%esi
2968	movl	%ecx,(%esp)
2969	xorl	%ecx,%edx
2970	addl	12(%esp),%ebx
2971	xorl	%esi,%edi
2972	rorl	$6,%edx
2973	movl	%eax,%ecx
2974	addl	%edi,%ebx
2975	rorl	$9,%ecx
2976	movl	%eax,%esi
2977	movl	20(%esp),%edi
2978	xorl	%eax,%ecx
2979	movl	%eax,16(%esp)
2980	xorl	%edi,%eax
2981	rorl	$11,%ecx
2982	andl	%eax,%ebp
2983	leal	2428436474(%ebx,%edx,1),%edx
2984	xorl	%esi,%ecx
2985	xorl	%edi,%ebp
2986	movl	88(%esp),%esi
2987	rorl	$2,%ecx
2988	addl	%edx,%ebp
2989	addl	28(%esp),%edx
2990	addl	%ecx,%ebp
2991	movl	76(%esp),%ecx
2992	movl	%esi,%ebx
2993	rorl	$11,%esi
2994	movl	%ecx,%edi
2995	rorl	$2,%ecx
2996	xorl	%ebx,%esi
2997	shrl	$3,%ebx
2998	rorl	$7,%esi
2999	xorl	%edi,%ecx
3000	xorl	%esi,%ebx
3001	rorl	$17,%ecx
3002	addl	84(%esp),%ebx
3003	shrl	$10,%edi
3004	addl	56(%esp),%ebx
3005	movl	%edx,%esi
3006	xorl	%ecx,%edi
3007	movl	(%esp),%ecx
3008	rorl	$14,%edx
3009	addl	%edi,%ebx
3010	movl	4(%esp),%edi
3011	xorl	%esi,%edx
3012	movl	%ebx,84(%esp)
3013	xorl	%edi,%ecx
3014	rorl	$5,%edx
3015	andl	%esi,%ecx
3016	movl	%esi,28(%esp)
3017	xorl	%esi,%edx
3018	addl	8(%esp),%ebx
3019	xorl	%ecx,%edi
3020	rorl	$6,%edx
3021	movl	%ebp,%esi
3022	addl	%edi,%ebx
3023	rorl	$9,%esi
3024	movl	%ebp,%ecx
3025	movl	16(%esp),%edi
3026	xorl	%ebp,%esi
3027	movl	%ebp,12(%esp)
3028	xorl	%edi,%ebp
3029	rorl	$11,%esi
3030	andl	%ebp,%eax
3031	leal	2756734187(%ebx,%edx,1),%edx
3032	xorl	%ecx,%esi
3033	xorl	%edi,%eax
3034	movl	92(%esp),%ecx
3035	rorl	$2,%esi
3036	addl	%edx,%eax
3037	addl	24(%esp),%edx
3038	addl	%esi,%eax
3039	movl	80(%esp),%esi
3040	movl	%ecx,%ebx
3041	rorl	$11,%ecx
3042	movl	%esi,%edi
3043	rorl	$2,%esi
3044	xorl	%ebx,%ecx
3045	shrl	$3,%ebx
3046	rorl	$7,%ecx
3047	xorl	%edi,%esi
3048	xorl	%ecx,%ebx
3049	rorl	$17,%esi
3050	addl	88(%esp),%ebx
3051	shrl	$10,%edi
3052	addl	60(%esp),%ebx
3053	movl	%edx,%ecx
3054	xorl	%esi,%edi
3055	movl	28(%esp),%esi
3056	rorl	$14,%edx
3057	addl	%edi,%ebx
3058	movl	(%esp),%edi
3059	xorl	%ecx,%edx
3060	xorl	%edi,%esi
3061	rorl	$5,%edx
3062	andl	%ecx,%esi
3063	movl	%ecx,24(%esp)
3064	xorl	%ecx,%edx
3065	addl	4(%esp),%ebx
3066	xorl	%esi,%edi
3067	rorl	$6,%edx
3068	movl	%eax,%ecx
3069	addl	%edi,%ebx
3070	rorl	$9,%ecx
3071	movl	%eax,%esi
3072	movl	12(%esp),%edi
3073	xorl	%eax,%ecx
3074	movl	%eax,8(%esp)
3075	xorl	%edi,%eax
3076	rorl	$11,%ecx
3077	andl	%eax,%ebp
3078	leal	3204031479(%ebx,%edx,1),%edx
3079	xorl	%esi,%ecx
3080	xorl	%edi,%ebp
3081	movl	32(%esp),%esi
3082	rorl	$2,%ecx
3083	addl	%edx,%ebp
3084	addl	20(%esp),%edx
3085	addl	%ecx,%ebp
3086	movl	84(%esp),%ecx
3087	movl	%esi,%ebx
3088	rorl	$11,%esi
3089	movl	%ecx,%edi
3090	rorl	$2,%ecx
3091	xorl	%ebx,%esi
3092	shrl	$3,%ebx
3093	rorl	$7,%esi
3094	xorl	%edi,%ecx
3095	xorl	%esi,%ebx
3096	rorl	$17,%ecx
3097	addl	92(%esp),%ebx
3098	shrl	$10,%edi
3099	addl	64(%esp),%ebx
3100	movl	%edx,%esi
3101	xorl	%ecx,%edi
3102	movl	24(%esp),%ecx
3103	rorl	$14,%edx
3104	addl	%edi,%ebx
3105	movl	28(%esp),%edi
3106	xorl	%esi,%edx
3107	xorl	%edi,%ecx
3108	rorl	$5,%edx
3109	andl	%esi,%ecx
3110	movl	%esi,20(%esp)
3111	xorl	%esi,%edx
3112	addl	(%esp),%ebx
3113	xorl	%ecx,%edi
3114	rorl	$6,%edx
3115	movl	%ebp,%esi
3116	addl	%edi,%ebx
3117	rorl	$9,%esi
3118	movl	%ebp,%ecx
3119	movl	8(%esp),%edi
3120	xorl	%ebp,%esi
3121	movl	%ebp,4(%esp)
3122	xorl	%edi,%ebp
3123	rorl	$11,%esi
3124	andl	%ebp,%eax
3125	leal	3329325298(%ebx,%edx,1),%edx
3126	xorl	%ecx,%esi
3127	xorl	%edi,%eax
3128	rorl	$2,%esi
3129	addl	%edx,%eax
3130	addl	16(%esp),%edx
3131	addl	%esi,%eax
3132	movl	96(%esp),%esi
3133	xorl	%edi,%ebp
3134	movl	12(%esp),%ecx
3135	addl	(%esi),%eax
3136	addl	4(%esi),%ebp
3137	addl	8(%esi),%edi
3138	addl	12(%esi),%ecx
3139	movl	%eax,(%esi)
3140	movl	%ebp,4(%esi)
3141	movl	%edi,8(%esi)
3142	movl	%ecx,12(%esi)
3143	movl	%ebp,4(%esp)
3144	xorl	%edi,%ebp
3145	movl	%edi,8(%esp)
3146	movl	%ecx,12(%esp)
3147	movl	20(%esp),%edi
3148	movl	24(%esp),%ebx
3149	movl	28(%esp),%ecx
3150	addl	16(%esi),%edx
3151	addl	20(%esi),%edi
3152	addl	24(%esi),%ebx
3153	addl	28(%esi),%ecx
3154	movl	%edx,16(%esi)
3155	movl	%edi,20(%esi)
3156	movl	%ebx,24(%esi)
3157	movl	%ecx,28(%esi)
3158	movl	%edi,20(%esp)
3159	movl	100(%esp),%edi
3160	movl	%ebx,24(%esp)
3161	movl	%ecx,28(%esp)
3162	cmpl	104(%esp),%edi
3163	jb	.L010grand_loop
3164	movl	108(%esp),%esp
3165	popl	%edi
3166	popl	%esi
3167	popl	%ebx
3168	popl	%ebp
3169	ret
3170.align	32
3171.L004shaext:
3172	subl	$32,%esp
3173	movdqu	(%esi),%xmm1
3174	leal	128(%ebp),%ebp
3175	movdqu	16(%esi),%xmm2
3176	movdqa	128(%ebp),%xmm7
3177	pshufd	$27,%xmm1,%xmm0
3178	pshufd	$177,%xmm1,%xmm1
3179	pshufd	$27,%xmm2,%xmm2
3180.byte	102,15,58,15,202,8
3181	punpcklqdq	%xmm0,%xmm2
3182	jmp	.L011loop_shaext
3183.align	16
3184.L011loop_shaext:
3185	movdqu	(%edi),%xmm3
3186	movdqu	16(%edi),%xmm4
3187	movdqu	32(%edi),%xmm5
3188.byte	102,15,56,0,223
3189	movdqu	48(%edi),%xmm6
3190	movdqa	%xmm2,16(%esp)
3191	movdqa	-128(%ebp),%xmm0
3192	paddd	%xmm3,%xmm0
3193.byte	102,15,56,0,231
3194.byte	15,56,203,209
3195	pshufd	$14,%xmm0,%xmm0
3196	nop
3197	movdqa	%xmm1,(%esp)
3198.byte	15,56,203,202
3199	movdqa	-112(%ebp),%xmm0
3200	paddd	%xmm4,%xmm0
3201.byte	102,15,56,0,239
3202.byte	15,56,203,209
3203	pshufd	$14,%xmm0,%xmm0
3204	leal	64(%edi),%edi
3205.byte	15,56,204,220
3206.byte	15,56,203,202
3207	movdqa	-96(%ebp),%xmm0
3208	paddd	%xmm5,%xmm0
3209.byte	102,15,56,0,247
3210.byte	15,56,203,209
3211	pshufd	$14,%xmm0,%xmm0
3212	movdqa	%xmm6,%xmm7
3213.byte	102,15,58,15,253,4
3214	nop
3215	paddd	%xmm7,%xmm3
3216.byte	15,56,204,229
3217.byte	15,56,203,202
3218	movdqa	-80(%ebp),%xmm0
3219	paddd	%xmm6,%xmm0
3220.byte	15,56,205,222
3221.byte	15,56,203,209
3222	pshufd	$14,%xmm0,%xmm0
3223	movdqa	%xmm3,%xmm7
3224.byte	102,15,58,15,254,4
3225	nop
3226	paddd	%xmm7,%xmm4
3227.byte	15,56,204,238
3228.byte	15,56,203,202
3229	movdqa	-64(%ebp),%xmm0
3230	paddd	%xmm3,%xmm0
3231.byte	15,56,205,227
3232.byte	15,56,203,209
3233	pshufd	$14,%xmm0,%xmm0
3234	movdqa	%xmm4,%xmm7
3235.byte	102,15,58,15,251,4
3236	nop
3237	paddd	%xmm7,%xmm5
3238.byte	15,56,204,243
3239.byte	15,56,203,202
3240	movdqa	-48(%ebp),%xmm0
3241	paddd	%xmm4,%xmm0
3242.byte	15,56,205,236
3243.byte	15,56,203,209
3244	pshufd	$14,%xmm0,%xmm0
3245	movdqa	%xmm5,%xmm7
3246.byte	102,15,58,15,252,4
3247	nop
3248	paddd	%xmm7,%xmm6
3249.byte	15,56,204,220
3250.byte	15,56,203,202
3251	movdqa	-32(%ebp),%xmm0
3252	paddd	%xmm5,%xmm0
3253.byte	15,56,205,245
3254.byte	15,56,203,209
3255	pshufd	$14,%xmm0,%xmm0
3256	movdqa	%xmm6,%xmm7
3257.byte	102,15,58,15,253,4
3258	nop
3259	paddd	%xmm7,%xmm3
3260.byte	15,56,204,229
3261.byte	15,56,203,202
3262	movdqa	-16(%ebp),%xmm0
3263	paddd	%xmm6,%xmm0
3264.byte	15,56,205,222
3265.byte	15,56,203,209
3266	pshufd	$14,%xmm0,%xmm0
3267	movdqa	%xmm3,%xmm7
3268.byte	102,15,58,15,254,4
3269	nop
3270	paddd	%xmm7,%xmm4
3271.byte	15,56,204,238
3272.byte	15,56,203,202
3273	movdqa	(%ebp),%xmm0
3274	paddd	%xmm3,%xmm0
3275.byte	15,56,205,227
3276.byte	15,56,203,209
3277	pshufd	$14,%xmm0,%xmm0
3278	movdqa	%xmm4,%xmm7
3279.byte	102,15,58,15,251,4
3280	nop
3281	paddd	%xmm7,%xmm5
3282.byte	15,56,204,243
3283.byte	15,56,203,202
3284	movdqa	16(%ebp),%xmm0
3285	paddd	%xmm4,%xmm0
3286.byte	15,56,205,236
3287.byte	15,56,203,209
3288	pshufd	$14,%xmm0,%xmm0
3289	movdqa	%xmm5,%xmm7
3290.byte	102,15,58,15,252,4
3291	nop
3292	paddd	%xmm7,%xmm6
3293.byte	15,56,204,220
3294.byte	15,56,203,202
3295	movdqa	32(%ebp),%xmm0
3296	paddd	%xmm5,%xmm0
3297.byte	15,56,205,245
3298.byte	15,56,203,209
3299	pshufd	$14,%xmm0,%xmm0
3300	movdqa	%xmm6,%xmm7
3301.byte	102,15,58,15,253,4
3302	nop
3303	paddd	%xmm7,%xmm3
3304.byte	15,56,204,229
3305.byte	15,56,203,202
3306	movdqa	48(%ebp),%xmm0
3307	paddd	%xmm6,%xmm0
3308.byte	15,56,205,222
3309.byte	15,56,203,209
3310	pshufd	$14,%xmm0,%xmm0
3311	movdqa	%xmm3,%xmm7
3312.byte	102,15,58,15,254,4
3313	nop
3314	paddd	%xmm7,%xmm4
3315.byte	15,56,204,238
3316.byte	15,56,203,202
3317	movdqa	64(%ebp),%xmm0
3318	paddd	%xmm3,%xmm0
3319.byte	15,56,205,227
3320.byte	15,56,203,209
3321	pshufd	$14,%xmm0,%xmm0
3322	movdqa	%xmm4,%xmm7
3323.byte	102,15,58,15,251,4
3324	nop
3325	paddd	%xmm7,%xmm5
3326.byte	15,56,204,243
3327.byte	15,56,203,202
3328	movdqa	80(%ebp),%xmm0
3329	paddd	%xmm4,%xmm0
3330.byte	15,56,205,236
3331.byte	15,56,203,209
3332	pshufd	$14,%xmm0,%xmm0
3333	movdqa	%xmm5,%xmm7
3334.byte	102,15,58,15,252,4
3335.byte	15,56,203,202
3336	paddd	%xmm7,%xmm6
3337	movdqa	96(%ebp),%xmm0
3338	paddd	%xmm5,%xmm0
3339.byte	15,56,203,209
3340	pshufd	$14,%xmm0,%xmm0
3341.byte	15,56,205,245
3342	movdqa	128(%ebp),%xmm7
3343.byte	15,56,203,202
3344	movdqa	112(%ebp),%xmm0
3345	paddd	%xmm6,%xmm0
3346	nop
3347.byte	15,56,203,209
3348	pshufd	$14,%xmm0,%xmm0
3349	cmpl	%edi,%eax
3350	nop
3351.byte	15,56,203,202
3352	paddd	16(%esp),%xmm2
3353	paddd	(%esp),%xmm1
3354	jnz	.L011loop_shaext
3355	pshufd	$177,%xmm2,%xmm2
3356	pshufd	$27,%xmm1,%xmm7
3357	pshufd	$177,%xmm1,%xmm1
3358	punpckhqdq	%xmm2,%xmm1
3359.byte	102,15,58,15,215,8
3360	movl	44(%esp),%esp
3361	movdqu	%xmm1,(%esi)
3362	movdqu	%xmm2,16(%esi)
3363	popl	%edi
3364	popl	%esi
3365	popl	%ebx
3366	popl	%ebp
3367	ret
3368.align	32
3369.L006SSSE3:
3370	leal	-96(%esp),%esp
3371	movl	(%esi),%eax
3372	movl	4(%esi),%ebx
3373	movl	8(%esi),%ecx
3374	movl	12(%esi),%edi
3375	movl	%ebx,4(%esp)
3376	xorl	%ecx,%ebx
3377	movl	%ecx,8(%esp)
3378	movl	%edi,12(%esp)
3379	movl	16(%esi),%edx
3380	movl	20(%esi),%edi
3381	movl	24(%esi),%ecx
3382	movl	28(%esi),%esi
3383	movl	%edi,20(%esp)
3384	movl	100(%esp),%edi
3385	movl	%ecx,24(%esp)
3386	movl	%esi,28(%esp)
3387	movdqa	256(%ebp),%xmm7
3388	jmp	.L012grand_ssse3
3389.align	16
3390.L012grand_ssse3:
3391	movdqu	(%edi),%xmm0
3392	movdqu	16(%edi),%xmm1
3393	movdqu	32(%edi),%xmm2
3394	movdqu	48(%edi),%xmm3
3395	addl	$64,%edi
3396.byte	102,15,56,0,199
3397	movl	%edi,100(%esp)
3398.byte	102,15,56,0,207
3399	movdqa	(%ebp),%xmm4
3400.byte	102,15,56,0,215
3401	movdqa	16(%ebp),%xmm5
3402	paddd	%xmm0,%xmm4
3403.byte	102,15,56,0,223
3404	movdqa	32(%ebp),%xmm6
3405	paddd	%xmm1,%xmm5
3406	movdqa	48(%ebp),%xmm7
3407	movdqa	%xmm4,32(%esp)
3408	paddd	%xmm2,%xmm6
3409	movdqa	%xmm5,48(%esp)
3410	paddd	%xmm3,%xmm7
3411	movdqa	%xmm6,64(%esp)
3412	movdqa	%xmm7,80(%esp)
3413	jmp	.L013ssse3_00_47
3414.align	16
3415.L013ssse3_00_47:
3416	addl	$64,%ebp
3417	movl	%edx,%ecx
3418	movdqa	%xmm1,%xmm4
3419	rorl	$14,%edx
3420	movl	20(%esp),%esi
3421	movdqa	%xmm3,%xmm7
3422	xorl	%ecx,%edx
3423	movl	24(%esp),%edi
3424.byte	102,15,58,15,224,4
3425	xorl	%edi,%esi
3426	rorl	$5,%edx
3427	andl	%ecx,%esi
3428.byte	102,15,58,15,250,4
3429	movl	%ecx,16(%esp)
3430	xorl	%ecx,%edx
3431	xorl	%esi,%edi
3432	movdqa	%xmm4,%xmm5
3433	rorl	$6,%edx
3434	movl	%eax,%ecx
3435	movdqa	%xmm4,%xmm6
3436	addl	%edi,%edx
3437	movl	4(%esp),%edi
3438	psrld	$3,%xmm4
3439	movl	%eax,%esi
3440	rorl	$9,%ecx
3441	paddd	%xmm7,%xmm0
3442	movl	%eax,(%esp)
3443	xorl	%eax,%ecx
3444	psrld	$7,%xmm6
3445	xorl	%edi,%eax
3446	addl	28(%esp),%edx
3447	rorl	$11,%ecx
3448	andl	%eax,%ebx
3449	pshufd	$250,%xmm3,%xmm7
3450	xorl	%esi,%ecx
3451	addl	32(%esp),%edx
3452	pslld	$14,%xmm5
3453	xorl	%edi,%ebx
3454	rorl	$2,%ecx
3455	pxor	%xmm6,%xmm4
3456	addl	%edx,%ebx
3457	addl	12(%esp),%edx
3458	psrld	$11,%xmm6
3459	addl	%ecx,%ebx
3460	movl	%edx,%ecx
3461	rorl	$14,%edx
3462	pxor	%xmm5,%xmm4
3463	movl	16(%esp),%esi
3464	xorl	%ecx,%edx
3465	pslld	$11,%xmm5
3466	movl	20(%esp),%edi
3467	xorl	%edi,%esi
3468	rorl	$5,%edx
3469	pxor	%xmm6,%xmm4
3470	andl	%ecx,%esi
3471	movl	%ecx,12(%esp)
3472	movdqa	%xmm7,%xmm6
3473	xorl	%ecx,%edx
3474	xorl	%esi,%edi
3475	rorl	$6,%edx
3476	pxor	%xmm5,%xmm4
3477	movl	%ebx,%ecx
3478	addl	%edi,%edx
3479	psrld	$10,%xmm7
3480	movl	(%esp),%edi
3481	movl	%ebx,%esi
3482	rorl	$9,%ecx
3483	paddd	%xmm4,%xmm0
3484	movl	%ebx,28(%esp)
3485	xorl	%ebx,%ecx
3486	psrlq	$17,%xmm6
3487	xorl	%edi,%ebx
3488	addl	24(%esp),%edx
3489	rorl	$11,%ecx
3490	pxor	%xmm6,%xmm7
3491	andl	%ebx,%eax
3492	xorl	%esi,%ecx
3493	psrlq	$2,%xmm6
3494	addl	36(%esp),%edx
3495	xorl	%edi,%eax
3496	rorl	$2,%ecx
3497	pxor	%xmm6,%xmm7
3498	addl	%edx,%eax
3499	addl	8(%esp),%edx
3500	pshufd	$128,%xmm7,%xmm7
3501	addl	%ecx,%eax
3502	movl	%edx,%ecx
3503	rorl	$14,%edx
3504	movl	12(%esp),%esi
3505	xorl	%ecx,%edx
3506	movl	16(%esp),%edi
3507	xorl	%edi,%esi
3508	rorl	$5,%edx
3509	andl	%ecx,%esi
3510	psrldq	$8,%xmm7
3511	movl	%ecx,8(%esp)
3512	xorl	%ecx,%edx
3513	xorl	%esi,%edi
3514	paddd	%xmm7,%xmm0
3515	rorl	$6,%edx
3516	movl	%eax,%ecx
3517	addl	%edi,%edx
3518	movl	28(%esp),%edi
3519	movl	%eax,%esi
3520	rorl	$9,%ecx
3521	movl	%eax,24(%esp)
3522	pshufd	$80,%xmm0,%xmm7
3523	xorl	%eax,%ecx
3524	xorl	%edi,%eax
3525	addl	20(%esp),%edx
3526	movdqa	%xmm7,%xmm6
3527	rorl	$11,%ecx
3528	psrld	$10,%xmm7
3529	andl	%eax,%ebx
3530	psrlq	$17,%xmm6
3531	xorl	%esi,%ecx
3532	addl	40(%esp),%edx
3533	xorl	%edi,%ebx
3534	rorl	$2,%ecx
3535	pxor	%xmm6,%xmm7
3536	addl	%edx,%ebx
3537	addl	4(%esp),%edx
3538	psrlq	$2,%xmm6
3539	addl	%ecx,%ebx
3540	movl	%edx,%ecx
3541	rorl	$14,%edx
3542	pxor	%xmm6,%xmm7
3543	movl	8(%esp),%esi
3544	xorl	%ecx,%edx
3545	movl	12(%esp),%edi
3546	pshufd	$8,%xmm7,%xmm7
3547	xorl	%edi,%esi
3548	rorl	$5,%edx
3549	movdqa	(%ebp),%xmm6
3550	andl	%ecx,%esi
3551	movl	%ecx,4(%esp)
3552	pslldq	$8,%xmm7
3553	xorl	%ecx,%edx
3554	xorl	%esi,%edi
3555	rorl	$6,%edx
3556	movl	%ebx,%ecx
3557	addl	%edi,%edx
3558	movl	24(%esp),%edi
3559	movl	%ebx,%esi
3560	rorl	$9,%ecx
3561	paddd	%xmm7,%xmm0
3562	movl	%ebx,20(%esp)
3563	xorl	%ebx,%ecx
3564	xorl	%edi,%ebx
3565	addl	16(%esp),%edx
3566	paddd	%xmm0,%xmm6
3567	rorl	$11,%ecx
3568	andl	%ebx,%eax
3569	xorl	%esi,%ecx
3570	addl	44(%esp),%edx
3571	xorl	%edi,%eax
3572	rorl	$2,%ecx
3573	addl	%edx,%eax
3574	addl	(%esp),%edx
3575	addl	%ecx,%eax
3576	movdqa	%xmm6,32(%esp)
3577	movl	%edx,%ecx
3578	movdqa	%xmm2,%xmm4
3579	rorl	$14,%edx
3580	movl	4(%esp),%esi
3581	movdqa	%xmm0,%xmm7
3582	xorl	%ecx,%edx
3583	movl	8(%esp),%edi
3584.byte	102,15,58,15,225,4
3585	xorl	%edi,%esi
3586	rorl	$5,%edx
3587	andl	%ecx,%esi
3588.byte	102,15,58,15,251,4
3589	movl	%ecx,(%esp)
3590	xorl	%ecx,%edx
3591	xorl	%esi,%edi
3592	movdqa	%xmm4,%xmm5
3593	rorl	$6,%edx
3594	movl	%eax,%ecx
3595	movdqa	%xmm4,%xmm6
3596	addl	%edi,%edx
3597	movl	20(%esp),%edi
3598	psrld	$3,%xmm4
3599	movl	%eax,%esi
3600	rorl	$9,%ecx
3601	paddd	%xmm7,%xmm1
3602	movl	%eax,16(%esp)
3603	xorl	%eax,%ecx
3604	psrld	$7,%xmm6
3605	xorl	%edi,%eax
3606	addl	12(%esp),%edx
3607	rorl	$11,%ecx
3608	andl	%eax,%ebx
3609	pshufd	$250,%xmm0,%xmm7
3610	xorl	%esi,%ecx
3611	addl	48(%esp),%edx
3612	pslld	$14,%xmm5
3613	xorl	%edi,%ebx
3614	rorl	$2,%ecx
3615	pxor	%xmm6,%xmm4
3616	addl	%edx,%ebx
3617	addl	28(%esp),%edx
3618	psrld	$11,%xmm6
3619	addl	%ecx,%ebx
3620	movl	%edx,%ecx
3621	rorl	$14,%edx
3622	pxor	%xmm5,%xmm4
3623	movl	(%esp),%esi
3624	xorl	%ecx,%edx
3625	pslld	$11,%xmm5
3626	movl	4(%esp),%edi
3627	xorl	%edi,%esi
3628	rorl	$5,%edx
3629	pxor	%xmm6,%xmm4
3630	andl	%ecx,%esi
3631	movl	%ecx,28(%esp)
3632	movdqa	%xmm7,%xmm6
3633	xorl	%ecx,%edx
3634	xorl	%esi,%edi
3635	rorl	$6,%edx
3636	pxor	%xmm5,%xmm4
3637	movl	%ebx,%ecx
3638	addl	%edi,%edx
3639	psrld	$10,%xmm7
3640	movl	16(%esp),%edi
3641	movl	%ebx,%esi
3642	rorl	$9,%ecx
3643	paddd	%xmm4,%xmm1
3644	movl	%ebx,12(%esp)
3645	xorl	%ebx,%ecx
3646	psrlq	$17,%xmm6
3647	xorl	%edi,%ebx
3648	addl	8(%esp),%edx
3649	rorl	$11,%ecx
3650	pxor	%xmm6,%xmm7
3651	andl	%ebx,%eax
3652	xorl	%esi,%ecx
3653	psrlq	$2,%xmm6
3654	addl	52(%esp),%edx
3655	xorl	%edi,%eax
3656	rorl	$2,%ecx
3657	pxor	%xmm6,%xmm7
3658	addl	%edx,%eax
3659	addl	24(%esp),%edx
3660	pshufd	$128,%xmm7,%xmm7
3661	addl	%ecx,%eax
3662	movl	%edx,%ecx
3663	rorl	$14,%edx
3664	movl	28(%esp),%esi
3665	xorl	%ecx,%edx
3666	movl	(%esp),%edi
3667	xorl	%edi,%esi
3668	rorl	$5,%edx
3669	andl	%ecx,%esi
3670	psrldq	$8,%xmm7
3671	movl	%ecx,24(%esp)
3672	xorl	%ecx,%edx
3673	xorl	%esi,%edi
3674	paddd	%xmm7,%xmm1
3675	rorl	$6,%edx
3676	movl	%eax,%ecx
3677	addl	%edi,%edx
3678	movl	12(%esp),%edi
3679	movl	%eax,%esi
3680	rorl	$9,%ecx
3681	movl	%eax,8(%esp)
3682	pshufd	$80,%xmm1,%xmm7
3683	xorl	%eax,%ecx
3684	xorl	%edi,%eax
3685	addl	4(%esp),%edx
3686	movdqa	%xmm7,%xmm6
3687	rorl	$11,%ecx
3688	psrld	$10,%xmm7
3689	andl	%eax,%ebx
3690	psrlq	$17,%xmm6
3691	xorl	%esi,%ecx
3692	addl	56(%esp),%edx
3693	xorl	%edi,%ebx
3694	rorl	$2,%ecx
3695	pxor	%xmm6,%xmm7
3696	addl	%edx,%ebx
3697	addl	20(%esp),%edx
3698	psrlq	$2,%xmm6
3699	addl	%ecx,%ebx
3700	movl	%edx,%ecx
3701	rorl	$14,%edx
3702	pxor	%xmm6,%xmm7
3703	movl	24(%esp),%esi
3704	xorl	%ecx,%edx
3705	movl	28(%esp),%edi
3706	pshufd	$8,%xmm7,%xmm7
3707	xorl	%edi,%esi
3708	rorl	$5,%edx
3709	movdqa	16(%ebp),%xmm6
3710	andl	%ecx,%esi
3711	movl	%ecx,20(%esp)
3712	pslldq	$8,%xmm7
3713	xorl	%ecx,%edx
3714	xorl	%esi,%edi
3715	rorl	$6,%edx
3716	movl	%ebx,%ecx
3717	addl	%edi,%edx
3718	movl	8(%esp),%edi
3719	movl	%ebx,%esi
3720	rorl	$9,%ecx
3721	paddd	%xmm7,%xmm1
3722	movl	%ebx,4(%esp)
3723	xorl	%ebx,%ecx
3724	xorl	%edi,%ebx
3725	addl	(%esp),%edx
3726	paddd	%xmm1,%xmm6
3727	rorl	$11,%ecx
3728	andl	%ebx,%eax
3729	xorl	%esi,%ecx
3730	addl	60(%esp),%edx
3731	xorl	%edi,%eax
3732	rorl	$2,%ecx
3733	addl	%edx,%eax
3734	addl	16(%esp),%edx
3735	addl	%ecx,%eax
3736	movdqa	%xmm6,48(%esp)
3737	movl	%edx,%ecx
3738	movdqa	%xmm3,%xmm4
3739	rorl	$14,%edx
3740	movl	20(%esp),%esi
3741	movdqa	%xmm1,%xmm7
3742	xorl	%ecx,%edx
3743	movl	24(%esp),%edi
3744.byte	102,15,58,15,226,4
3745	xorl	%edi,%esi
3746	rorl	$5,%edx
3747	andl	%ecx,%esi
3748.byte	102,15,58,15,248,4
3749	movl	%ecx,16(%esp)
3750	xorl	%ecx,%edx
3751	xorl	%esi,%edi
3752	movdqa	%xmm4,%xmm5
3753	rorl	$6,%edx
3754	movl	%eax,%ecx
3755	movdqa	%xmm4,%xmm6
3756	addl	%edi,%edx
3757	movl	4(%esp),%edi
3758	psrld	$3,%xmm4
3759	movl	%eax,%esi
3760	rorl	$9,%ecx
3761	paddd	%xmm7,%xmm2
3762	movl	%eax,(%esp)
3763	xorl	%eax,%ecx
3764	psrld	$7,%xmm6
3765	xorl	%edi,%eax
3766	addl	28(%esp),%edx
3767	rorl	$11,%ecx
3768	andl	%eax,%ebx
3769	pshufd	$250,%xmm1,%xmm7
3770	xorl	%esi,%ecx
3771	addl	64(%esp),%edx
3772	pslld	$14,%xmm5
3773	xorl	%edi,%ebx
3774	rorl	$2,%ecx
3775	pxor	%xmm6,%xmm4
3776	addl	%edx,%ebx
3777	addl	12(%esp),%edx
3778	psrld	$11,%xmm6
3779	addl	%ecx,%ebx
3780	movl	%edx,%ecx
3781	rorl	$14,%edx
3782	pxor	%xmm5,%xmm4
3783	movl	16(%esp),%esi
3784	xorl	%ecx,%edx
3785	pslld	$11,%xmm5
3786	movl	20(%esp),%edi
3787	xorl	%edi,%esi
3788	rorl	$5,%edx
3789	pxor	%xmm6,%xmm4
3790	andl	%ecx,%esi
3791	movl	%ecx,12(%esp)
3792	movdqa	%xmm7,%xmm6
3793	xorl	%ecx,%edx
3794	xorl	%esi,%edi
3795	rorl	$6,%edx
3796	pxor	%xmm5,%xmm4
3797	movl	%ebx,%ecx
3798	addl	%edi,%edx
3799	psrld	$10,%xmm7
3800	movl	(%esp),%edi
3801	movl	%ebx,%esi
3802	rorl	$9,%ecx
3803	paddd	%xmm4,%xmm2
3804	movl	%ebx,28(%esp)
3805	xorl	%ebx,%ecx
3806	psrlq	$17,%xmm6
3807	xorl	%edi,%ebx
3808	addl	24(%esp),%edx
3809	rorl	$11,%ecx
3810	pxor	%xmm6,%xmm7
3811	andl	%ebx,%eax
3812	xorl	%esi,%ecx
3813	psrlq	$2,%xmm6
3814	addl	68(%esp),%edx
3815	xorl	%edi,%eax
3816	rorl	$2,%ecx
3817	pxor	%xmm6,%xmm7
3818	addl	%edx,%eax
3819	addl	8(%esp),%edx
3820	pshufd	$128,%xmm7,%xmm7
3821	addl	%ecx,%eax
3822	movl	%edx,%ecx
3823	rorl	$14,%edx
3824	movl	12(%esp),%esi
3825	xorl	%ecx,%edx
3826	movl	16(%esp),%edi
3827	xorl	%edi,%esi
3828	rorl	$5,%edx
3829	andl	%ecx,%esi
3830	psrldq	$8,%xmm7
3831	movl	%ecx,8(%esp)
3832	xorl	%ecx,%edx
3833	xorl	%esi,%edi
3834	paddd	%xmm7,%xmm2
3835	rorl	$6,%edx
3836	movl	%eax,%ecx
3837	addl	%edi,%edx
3838	movl	28(%esp),%edi
3839	movl	%eax,%esi
3840	rorl	$9,%ecx
3841	movl	%eax,24(%esp)
3842	pshufd	$80,%xmm2,%xmm7
3843	xorl	%eax,%ecx
3844	xorl	%edi,%eax
3845	addl	20(%esp),%edx
3846	movdqa	%xmm7,%xmm6
3847	rorl	$11,%ecx
3848	psrld	$10,%xmm7
3849	andl	%eax,%ebx
3850	psrlq	$17,%xmm6
3851	xorl	%esi,%ecx
3852	addl	72(%esp),%edx
3853	xorl	%edi,%ebx
3854	rorl	$2,%ecx
3855	pxor	%xmm6,%xmm7
3856	addl	%edx,%ebx
3857	addl	4(%esp),%edx
3858	psrlq	$2,%xmm6
3859	addl	%ecx,%ebx
3860	movl	%edx,%ecx
3861	rorl	$14,%edx
3862	pxor	%xmm6,%xmm7
3863	movl	8(%esp),%esi
3864	xorl	%ecx,%edx
3865	movl	12(%esp),%edi
3866	pshufd	$8,%xmm7,%xmm7
3867	xorl	%edi,%esi
3868	rorl	$5,%edx
3869	movdqa	32(%ebp),%xmm6
3870	andl	%ecx,%esi
3871	movl	%ecx,4(%esp)
3872	pslldq	$8,%xmm7
3873	xorl	%ecx,%edx
3874	xorl	%esi,%edi
3875	rorl	$6,%edx
3876	movl	%ebx,%ecx
3877	addl	%edi,%edx
3878	movl	24(%esp),%edi
3879	movl	%ebx,%esi
3880	rorl	$9,%ecx
3881	paddd	%xmm7,%xmm2
3882	movl	%ebx,20(%esp)
3883	xorl	%ebx,%ecx
3884	xorl	%edi,%ebx
3885	addl	16(%esp),%edx
3886	paddd	%xmm2,%xmm6
3887	rorl	$11,%ecx
3888	andl	%ebx,%eax
3889	xorl	%esi,%ecx
3890	addl	76(%esp),%edx
3891	xorl	%edi,%eax
3892	rorl	$2,%ecx
3893	addl	%edx,%eax
3894	addl	(%esp),%edx
3895	addl	%ecx,%eax
3896	movdqa	%xmm6,64(%esp)
3897	movl	%edx,%ecx
3898	movdqa	%xmm0,%xmm4
3899	rorl	$14,%edx
3900	movl	4(%esp),%esi
3901	movdqa	%xmm2,%xmm7
3902	xorl	%ecx,%edx
3903	movl	8(%esp),%edi
3904.byte	102,15,58,15,227,4
3905	xorl	%edi,%esi
3906	rorl	$5,%edx
3907	andl	%ecx,%esi
3908.byte	102,15,58,15,249,4
3909	movl	%ecx,(%esp)
3910	xorl	%ecx,%edx
3911	xorl	%esi,%edi
3912	movdqa	%xmm4,%xmm5
3913	rorl	$6,%edx
3914	movl	%eax,%ecx
3915	movdqa	%xmm4,%xmm6
3916	addl	%edi,%edx
3917	movl	20(%esp),%edi
3918	psrld	$3,%xmm4
3919	movl	%eax,%esi
3920	rorl	$9,%ecx
3921	paddd	%xmm7,%xmm3
3922	movl	%eax,16(%esp)
3923	xorl	%eax,%ecx
3924	psrld	$7,%xmm6
3925	xorl	%edi,%eax
3926	addl	12(%esp),%edx
3927	rorl	$11,%ecx
3928	andl	%eax,%ebx
3929	pshufd	$250,%xmm2,%xmm7
3930	xorl	%esi,%ecx
3931	addl	80(%esp),%edx
3932	pslld	$14,%xmm5
3933	xorl	%edi,%ebx
3934	rorl	$2,%ecx
3935	pxor	%xmm6,%xmm4
3936	addl	%edx,%ebx
3937	addl	28(%esp),%edx
3938	psrld	$11,%xmm6
3939	addl	%ecx,%ebx
3940	movl	%edx,%ecx
3941	rorl	$14,%edx
3942	pxor	%xmm5,%xmm4
3943	movl	(%esp),%esi
3944	xorl	%ecx,%edx
3945	pslld	$11,%xmm5
3946	movl	4(%esp),%edi
3947	xorl	%edi,%esi
3948	rorl	$5,%edx
3949	pxor	%xmm6,%xmm4
3950	andl	%ecx,%esi
3951	movl	%ecx,28(%esp)
3952	movdqa	%xmm7,%xmm6
3953	xorl	%ecx,%edx
3954	xorl	%esi,%edi
3955	rorl	$6,%edx
3956	pxor	%xmm5,%xmm4
3957	movl	%ebx,%ecx
3958	addl	%edi,%edx
3959	psrld	$10,%xmm7
3960	movl	16(%esp),%edi
3961	movl	%ebx,%esi
3962	rorl	$9,%ecx
3963	paddd	%xmm4,%xmm3
3964	movl	%ebx,12(%esp)
3965	xorl	%ebx,%ecx
3966	psrlq	$17,%xmm6
3967	xorl	%edi,%ebx
3968	addl	8(%esp),%edx
3969	rorl	$11,%ecx
3970	pxor	%xmm6,%xmm7
3971	andl	%ebx,%eax
3972	xorl	%esi,%ecx
3973	psrlq	$2,%xmm6
3974	addl	84(%esp),%edx
3975	xorl	%edi,%eax
3976	rorl	$2,%ecx
3977	pxor	%xmm6,%xmm7
3978	addl	%edx,%eax
3979	addl	24(%esp),%edx
3980	pshufd	$128,%xmm7,%xmm7
3981	addl	%ecx,%eax
3982	movl	%edx,%ecx
3983	rorl	$14,%edx
3984	movl	28(%esp),%esi
3985	xorl	%ecx,%edx
3986	movl	(%esp),%edi
3987	xorl	%edi,%esi
3988	rorl	$5,%edx
3989	andl	%ecx,%esi
3990	psrldq	$8,%xmm7
3991	movl	%ecx,24(%esp)
3992	xorl	%ecx,%edx
3993	xorl	%esi,%edi
3994	paddd	%xmm7,%xmm3
3995	rorl	$6,%edx
3996	movl	%eax,%ecx
3997	addl	%edi,%edx
3998	movl	12(%esp),%edi
3999	movl	%eax,%esi
4000	rorl	$9,%ecx
4001	movl	%eax,8(%esp)
4002	pshufd	$80,%xmm3,%xmm7
4003	xorl	%eax,%ecx
4004	xorl	%edi,%eax
4005	addl	4(%esp),%edx
4006	movdqa	%xmm7,%xmm6
4007	rorl	$11,%ecx
4008	psrld	$10,%xmm7
4009	andl	%eax,%ebx
4010	psrlq	$17,%xmm6
4011	xorl	%esi,%ecx
4012	addl	88(%esp),%edx
4013	xorl	%edi,%ebx
4014	rorl	$2,%ecx
4015	pxor	%xmm6,%xmm7
4016	addl	%edx,%ebx
4017	addl	20(%esp),%edx
4018	psrlq	$2,%xmm6
4019	addl	%ecx,%ebx
4020	movl	%edx,%ecx
4021	rorl	$14,%edx
4022	pxor	%xmm6,%xmm7
4023	movl	24(%esp),%esi
4024	xorl	%ecx,%edx
4025	movl	28(%esp),%edi
4026	pshufd	$8,%xmm7,%xmm7
4027	xorl	%edi,%esi
4028	rorl	$5,%edx
4029	movdqa	48(%ebp),%xmm6
4030	andl	%ecx,%esi
4031	movl	%ecx,20(%esp)
4032	pslldq	$8,%xmm7
4033	xorl	%ecx,%edx
4034	xorl	%esi,%edi
4035	rorl	$6,%edx
4036	movl	%ebx,%ecx
4037	addl	%edi,%edx
4038	movl	8(%esp),%edi
4039	movl	%ebx,%esi
4040	rorl	$9,%ecx
4041	paddd	%xmm7,%xmm3
4042	movl	%ebx,4(%esp)
4043	xorl	%ebx,%ecx
4044	xorl	%edi,%ebx
4045	addl	(%esp),%edx
4046	paddd	%xmm3,%xmm6
4047	rorl	$11,%ecx
4048	andl	%ebx,%eax
4049	xorl	%esi,%ecx
4050	addl	92(%esp),%edx
4051	xorl	%edi,%eax
4052	rorl	$2,%ecx
4053	addl	%edx,%eax
4054	addl	16(%esp),%edx
4055	addl	%ecx,%eax
4056	movdqa	%xmm6,80(%esp)
4057	cmpl	$66051,64(%ebp)
4058	jne	.L013ssse3_00_47
4059	movl	%edx,%ecx
4060	rorl	$14,%edx
4061	movl	20(%esp),%esi
4062	xorl	%ecx,%edx
4063	movl	24(%esp),%edi
4064	xorl	%edi,%esi
4065	rorl	$5,%edx
4066	andl	%ecx,%esi
4067	movl	%ecx,16(%esp)
4068	xorl	%ecx,%edx
4069	xorl	%esi,%edi
4070	rorl	$6,%edx
4071	movl	%eax,%ecx
4072	addl	%edi,%edx
4073	movl	4(%esp),%edi
4074	movl	%eax,%esi
4075	rorl	$9,%ecx
4076	movl	%eax,(%esp)
4077	xorl	%eax,%ecx
4078	xorl	%edi,%eax
4079	addl	28(%esp),%edx
4080	rorl	$11,%ecx
4081	andl	%eax,%ebx
4082	xorl	%esi,%ecx
4083	addl	32(%esp),%edx
4084	xorl	%edi,%ebx
4085	rorl	$2,%ecx
4086	addl	%edx,%ebx
4087	addl	12(%esp),%edx
4088	addl	%ecx,%ebx
4089	movl	%edx,%ecx
4090	rorl	$14,%edx
4091	movl	16(%esp),%esi
4092	xorl	%ecx,%edx
4093	movl	20(%esp),%edi
4094	xorl	%edi,%esi
4095	rorl	$5,%edx
4096	andl	%ecx,%esi
4097	movl	%ecx,12(%esp)
4098	xorl	%ecx,%edx
4099	xorl	%esi,%edi
4100	rorl	$6,%edx
4101	movl	%ebx,%ecx
4102	addl	%edi,%edx
4103	movl	(%esp),%edi
4104	movl	%ebx,%esi
4105	rorl	$9,%ecx
4106	movl	%ebx,28(%esp)
4107	xorl	%ebx,%ecx
4108	xorl	%edi,%ebx
4109	addl	24(%esp),%edx
4110	rorl	$11,%ecx
4111	andl	%ebx,%eax
4112	xorl	%esi,%ecx
4113	addl	36(%esp),%edx
4114	xorl	%edi,%eax
4115	rorl	$2,%ecx
4116	addl	%edx,%eax
4117	addl	8(%esp),%edx
4118	addl	%ecx,%eax
4119	movl	%edx,%ecx
4120	rorl	$14,%edx
4121	movl	12(%esp),%esi
4122	xorl	%ecx,%edx
4123	movl	16(%esp),%edi
4124	xorl	%edi,%esi
4125	rorl	$5,%edx
4126	andl	%ecx,%esi
4127	movl	%ecx,8(%esp)
4128	xorl	%ecx,%edx
4129	xorl	%esi,%edi
4130	rorl	$6,%edx
4131	movl	%eax,%ecx
4132	addl	%edi,%edx
4133	movl	28(%esp),%edi
4134	movl	%eax,%esi
4135	rorl	$9,%ecx
4136	movl	%eax,24(%esp)
4137	xorl	%eax,%ecx
4138	xorl	%edi,%eax
4139	addl	20(%esp),%edx
4140	rorl	$11,%ecx
4141	andl	%eax,%ebx
4142	xorl	%esi,%ecx
4143	addl	40(%esp),%edx
4144	xorl	%edi,%ebx
4145	rorl	$2,%ecx
4146	addl	%edx,%ebx
4147	addl	4(%esp),%edx
4148	addl	%ecx,%ebx
4149	movl	%edx,%ecx
4150	rorl	$14,%edx
4151	movl	8(%esp),%esi
4152	xorl	%ecx,%edx
4153	movl	12(%esp),%edi
4154	xorl	%edi,%esi
4155	rorl	$5,%edx
4156	andl	%ecx,%esi
4157	movl	%ecx,4(%esp)
4158	xorl	%ecx,%edx
4159	xorl	%esi,%edi
4160	rorl	$6,%edx
4161	movl	%ebx,%ecx
4162	addl	%edi,%edx
4163	movl	24(%esp),%edi
4164	movl	%ebx,%esi
4165	rorl	$9,%ecx
4166	movl	%ebx,20(%esp)
4167	xorl	%ebx,%ecx
4168	xorl	%edi,%ebx
4169	addl	16(%esp),%edx
4170	rorl	$11,%ecx
4171	andl	%ebx,%eax
4172	xorl	%esi,%ecx
4173	addl	44(%esp),%edx
4174	xorl	%edi,%eax
4175	rorl	$2,%ecx
4176	addl	%edx,%eax
4177	addl	(%esp),%edx
4178	addl	%ecx,%eax
4179	movl	%edx,%ecx
4180	rorl	$14,%edx
4181	movl	4(%esp),%esi
4182	xorl	%ecx,%edx
4183	movl	8(%esp),%edi
4184	xorl	%edi,%esi
4185	rorl	$5,%edx
4186	andl	%ecx,%esi
4187	movl	%ecx,(%esp)
4188	xorl	%ecx,%edx
4189	xorl	%esi,%edi
4190	rorl	$6,%edx
4191	movl	%eax,%ecx
4192	addl	%edi,%edx
4193	movl	20(%esp),%edi
4194	movl	%eax,%esi
4195	rorl	$9,%ecx
4196	movl	%eax,16(%esp)
4197	xorl	%eax,%ecx
4198	xorl	%edi,%eax
4199	addl	12(%esp),%edx
4200	rorl	$11,%ecx
4201	andl	%eax,%ebx
4202	xorl	%esi,%ecx
4203	addl	48(%esp),%edx
4204	xorl	%edi,%ebx
4205	rorl	$2,%ecx
4206	addl	%edx,%ebx
4207	addl	28(%esp),%edx
4208	addl	%ecx,%ebx
4209	movl	%edx,%ecx
4210	rorl	$14,%edx
4211	movl	(%esp),%esi
4212	xorl	%ecx,%edx
4213	movl	4(%esp),%edi
4214	xorl	%edi,%esi
4215	rorl	$5,%edx
4216	andl	%ecx,%esi
4217	movl	%ecx,28(%esp)
4218	xorl	%ecx,%edx
4219	xorl	%esi,%edi
4220	rorl	$6,%edx
4221	movl	%ebx,%ecx
4222	addl	%edi,%edx
4223	movl	16(%esp),%edi
4224	movl	%ebx,%esi
4225	rorl	$9,%ecx
4226	movl	%ebx,12(%esp)
4227	xorl	%ebx,%ecx
4228	xorl	%edi,%ebx
4229	addl	8(%esp),%edx
4230	rorl	$11,%ecx
4231	andl	%ebx,%eax
4232	xorl	%esi,%ecx
4233	addl	52(%esp),%edx
4234	xorl	%edi,%eax
4235	rorl	$2,%ecx
4236	addl	%edx,%eax
4237	addl	24(%esp),%edx
4238	addl	%ecx,%eax
4239	movl	%edx,%ecx
4240	rorl	$14,%edx
4241	movl	28(%esp),%esi
4242	xorl	%ecx,%edx
4243	movl	(%esp),%edi
4244	xorl	%edi,%esi
4245	rorl	$5,%edx
4246	andl	%ecx,%esi
4247	movl	%ecx,24(%esp)
4248	xorl	%ecx,%edx
4249	xorl	%esi,%edi
4250	rorl	$6,%edx
4251	movl	%eax,%ecx
4252	addl	%edi,%edx
4253	movl	12(%esp),%edi
4254	movl	%eax,%esi
4255	rorl	$9,%ecx
4256	movl	%eax,8(%esp)
4257	xorl	%eax,%ecx
4258	xorl	%edi,%eax
4259	addl	4(%esp),%edx
4260	rorl	$11,%ecx
4261	andl	%eax,%ebx
4262	xorl	%esi,%ecx
4263	addl	56(%esp),%edx
4264	xorl	%edi,%ebx
4265	rorl	$2,%ecx
4266	addl	%edx,%ebx
4267	addl	20(%esp),%edx
4268	addl	%ecx,%ebx
4269	movl	%edx,%ecx
4270	rorl	$14,%edx
4271	movl	24(%esp),%esi
4272	xorl	%ecx,%edx
4273	movl	28(%esp),%edi
4274	xorl	%edi,%esi
4275	rorl	$5,%edx
4276	andl	%ecx,%esi
4277	movl	%ecx,20(%esp)
4278	xorl	%ecx,%edx
4279	xorl	%esi,%edi
4280	rorl	$6,%edx
4281	movl	%ebx,%ecx
4282	addl	%edi,%edx
4283	movl	8(%esp),%edi
4284	movl	%ebx,%esi
4285	rorl	$9,%ecx
4286	movl	%ebx,4(%esp)
4287	xorl	%ebx,%ecx
4288	xorl	%edi,%ebx
4289	addl	(%esp),%edx
4290	rorl	$11,%ecx
4291	andl	%ebx,%eax
4292	xorl	%esi,%ecx
4293	addl	60(%esp),%edx
4294	xorl	%edi,%eax
4295	rorl	$2,%ecx
4296	addl	%edx,%eax
4297	addl	16(%esp),%edx
4298	addl	%ecx,%eax
4299	movl	%edx,%ecx
4300	rorl	$14,%edx
4301	movl	20(%esp),%esi
4302	xorl	%ecx,%edx
4303	movl	24(%esp),%edi
4304	xorl	%edi,%esi
4305	rorl	$5,%edx
4306	andl	%ecx,%esi
4307	movl	%ecx,16(%esp)
4308	xorl	%ecx,%edx
4309	xorl	%esi,%edi
4310	rorl	$6,%edx
4311	movl	%eax,%ecx
4312	addl	%edi,%edx
4313	movl	4(%esp),%edi
4314	movl	%eax,%esi
4315	rorl	$9,%ecx
4316	movl	%eax,(%esp)
4317	xorl	%eax,%ecx
4318	xorl	%edi,%eax
4319	addl	28(%esp),%edx
4320	rorl	$11,%ecx
4321	andl	%eax,%ebx
4322	xorl	%esi,%ecx
4323	addl	64(%esp),%edx
4324	xorl	%edi,%ebx
4325	rorl	$2,%ecx
4326	addl	%edx,%ebx
4327	addl	12(%esp),%edx
4328	addl	%ecx,%ebx
4329	movl	%edx,%ecx
4330	rorl	$14,%edx
4331	movl	16(%esp),%esi
4332	xorl	%ecx,%edx
4333	movl	20(%esp),%edi
4334	xorl	%edi,%esi
4335	rorl	$5,%edx
4336	andl	%ecx,%esi
4337	movl	%ecx,12(%esp)
4338	xorl	%ecx,%edx
4339	xorl	%esi,%edi
4340	rorl	$6,%edx
4341	movl	%ebx,%ecx
4342	addl	%edi,%edx
4343	movl	(%esp),%edi
4344	movl	%ebx,%esi
4345	rorl	$9,%ecx
4346	movl	%ebx,28(%esp)
4347	xorl	%ebx,%ecx
4348	xorl	%edi,%ebx
4349	addl	24(%esp),%edx
4350	rorl	$11,%ecx
4351	andl	%ebx,%eax
4352	xorl	%esi,%ecx
4353	addl	68(%esp),%edx
4354	xorl	%edi,%eax
4355	rorl	$2,%ecx
4356	addl	%edx,%eax
4357	addl	8(%esp),%edx
4358	addl	%ecx,%eax
4359	movl	%edx,%ecx
4360	rorl	$14,%edx
4361	movl	12(%esp),%esi
4362	xorl	%ecx,%edx
4363	movl	16(%esp),%edi
4364	xorl	%edi,%esi
4365	rorl	$5,%edx
4366	andl	%ecx,%esi
4367	movl	%ecx,8(%esp)
4368	xorl	%ecx,%edx
4369	xorl	%esi,%edi
4370	rorl	$6,%edx
4371	movl	%eax,%ecx
4372	addl	%edi,%edx
4373	movl	28(%esp),%edi
4374	movl	%eax,%esi
4375	rorl	$9,%ecx
4376	movl	%eax,24(%esp)
4377	xorl	%eax,%ecx
4378	xorl	%edi,%eax
4379	addl	20(%esp),%edx
4380	rorl	$11,%ecx
4381	andl	%eax,%ebx
4382	xorl	%esi,%ecx
4383	addl	72(%esp),%edx
4384	xorl	%edi,%ebx
4385	rorl	$2,%ecx
4386	addl	%edx,%ebx
4387	addl	4(%esp),%edx
4388	addl	%ecx,%ebx
4389	movl	%edx,%ecx
4390	rorl	$14,%edx
4391	movl	8(%esp),%esi
4392	xorl	%ecx,%edx
4393	movl	12(%esp),%edi
4394	xorl	%edi,%esi
4395	rorl	$5,%edx
4396	andl	%ecx,%esi
4397	movl	%ecx,4(%esp)
4398	xorl	%ecx,%edx
4399	xorl	%esi,%edi
4400	rorl	$6,%edx
4401	movl	%ebx,%ecx
4402	addl	%edi,%edx
4403	movl	24(%esp),%edi
4404	movl	%ebx,%esi
4405	rorl	$9,%ecx
4406	movl	%ebx,20(%esp)
4407	xorl	%ebx,%ecx
4408	xorl	%edi,%ebx
4409	addl	16(%esp),%edx
4410	rorl	$11,%ecx
4411	andl	%ebx,%eax
4412	xorl	%esi,%ecx
4413	addl	76(%esp),%edx
4414	xorl	%edi,%eax
4415	rorl	$2,%ecx
4416	addl	%edx,%eax
4417	addl	(%esp),%edx
4418	addl	%ecx,%eax
4419	movl	%edx,%ecx
4420	rorl	$14,%edx
4421	movl	4(%esp),%esi
4422	xorl	%ecx,%edx
4423	movl	8(%esp),%edi
4424	xorl	%edi,%esi
4425	rorl	$5,%edx
4426	andl	%ecx,%esi
4427	movl	%ecx,(%esp)
4428	xorl	%ecx,%edx
4429	xorl	%esi,%edi
4430	rorl	$6,%edx
4431	movl	%eax,%ecx
4432	addl	%edi,%edx
4433	movl	20(%esp),%edi
4434	movl	%eax,%esi
4435	rorl	$9,%ecx
4436	movl	%eax,16(%esp)
4437	xorl	%eax,%ecx
4438	xorl	%edi,%eax
4439	addl	12(%esp),%edx
4440	rorl	$11,%ecx
4441	andl	%eax,%ebx
4442	xorl	%esi,%ecx
4443	addl	80(%esp),%edx
4444	xorl	%edi,%ebx
4445	rorl	$2,%ecx
4446	addl	%edx,%ebx
4447	addl	28(%esp),%edx
4448	addl	%ecx,%ebx
4449	movl	%edx,%ecx
4450	rorl	$14,%edx
4451	movl	(%esp),%esi
4452	xorl	%ecx,%edx
4453	movl	4(%esp),%edi
4454	xorl	%edi,%esi
4455	rorl	$5,%edx
4456	andl	%ecx,%esi
4457	movl	%ecx,28(%esp)
4458	xorl	%ecx,%edx
4459	xorl	%esi,%edi
4460	rorl	$6,%edx
4461	movl	%ebx,%ecx
4462	addl	%edi,%edx
4463	movl	16(%esp),%edi
4464	movl	%ebx,%esi
4465	rorl	$9,%ecx
4466	movl	%ebx,12(%esp)
4467	xorl	%ebx,%ecx
4468	xorl	%edi,%ebx
4469	addl	8(%esp),%edx
4470	rorl	$11,%ecx
4471	andl	%ebx,%eax
4472	xorl	%esi,%ecx
4473	addl	84(%esp),%edx
4474	xorl	%edi,%eax
4475	rorl	$2,%ecx
4476	addl	%edx,%eax
4477	addl	24(%esp),%edx
4478	addl	%ecx,%eax
4479	movl	%edx,%ecx
4480	rorl	$14,%edx
4481	movl	28(%esp),%esi
4482	xorl	%ecx,%edx
4483	movl	(%esp),%edi
4484	xorl	%edi,%esi
4485	rorl	$5,%edx
4486	andl	%ecx,%esi
4487	movl	%ecx,24(%esp)
4488	xorl	%ecx,%edx
4489	xorl	%esi,%edi
4490	rorl	$6,%edx
4491	movl	%eax,%ecx
4492	addl	%edi,%edx
4493	movl	12(%esp),%edi
4494	movl	%eax,%esi
4495	rorl	$9,%ecx
4496	movl	%eax,8(%esp)
4497	xorl	%eax,%ecx
4498	xorl	%edi,%eax
4499	addl	4(%esp),%edx
4500	rorl	$11,%ecx
4501	andl	%eax,%ebx
4502	xorl	%esi,%ecx
4503	addl	88(%esp),%edx
4504	xorl	%edi,%ebx
4505	rorl	$2,%ecx
4506	addl	%edx,%ebx
4507	addl	20(%esp),%edx
4508	addl	%ecx,%ebx
4509	movl	%edx,%ecx
4510	rorl	$14,%edx
4511	movl	24(%esp),%esi
4512	xorl	%ecx,%edx
4513	movl	28(%esp),%edi
4514	xorl	%edi,%esi
4515	rorl	$5,%edx
4516	andl	%ecx,%esi
4517	movl	%ecx,20(%esp)
4518	xorl	%ecx,%edx
4519	xorl	%esi,%edi
4520	rorl	$6,%edx
4521	movl	%ebx,%ecx
4522	addl	%edi,%edx
4523	movl	8(%esp),%edi
4524	movl	%ebx,%esi
4525	rorl	$9,%ecx
4526	movl	%ebx,4(%esp)
4527	xorl	%ebx,%ecx
4528	xorl	%edi,%ebx
4529	addl	(%esp),%edx
4530	rorl	$11,%ecx
4531	andl	%ebx,%eax
4532	xorl	%esi,%ecx
4533	addl	92(%esp),%edx
4534	xorl	%edi,%eax
4535	rorl	$2,%ecx
4536	addl	%edx,%eax
4537	addl	16(%esp),%edx
4538	addl	%ecx,%eax
4539	movl	96(%esp),%esi
4540	xorl	%edi,%ebx
4541	movl	12(%esp),%ecx
4542	addl	(%esi),%eax
4543	addl	4(%esi),%ebx
4544	addl	8(%esi),%edi
4545	addl	12(%esi),%ecx
4546	movl	%eax,(%esi)
4547	movl	%ebx,4(%esi)
4548	movl	%edi,8(%esi)
4549	movl	%ecx,12(%esi)
4550	movl	%ebx,4(%esp)
4551	xorl	%edi,%ebx
4552	movl	%edi,8(%esp)
4553	movl	%ecx,12(%esp)
4554	movl	20(%esp),%edi
4555	movl	24(%esp),%ecx
4556	addl	16(%esi),%edx
4557	addl	20(%esi),%edi
4558	addl	24(%esi),%ecx
4559	movl	%edx,16(%esi)
4560	movl	%edi,20(%esi)
4561	movl	%edi,20(%esp)
4562	movl	28(%esp),%edi
4563	movl	%ecx,24(%esi)
4564	addl	28(%esi),%edi
4565	movl	%ecx,24(%esp)
4566	movl	%edi,28(%esi)
4567	movl	%edi,28(%esp)
4568	movl	100(%esp),%edi
4569	movdqa	64(%ebp),%xmm7
4570	subl	$192,%ebp
4571	cmpl	104(%esp),%edi
4572	jb	.L012grand_ssse3
4573	movl	108(%esp),%esp
4574	popl	%edi
4575	popl	%esi
4576	popl	%ebx
4577	popl	%ebp
4578	ret
4579.align	32
4580.L005AVX:
4581	andl	$264,%edx
4582	cmpl	$264,%edx
4583	je	.L014AVX_BMI
4584	leal	-96(%esp),%esp
4585	vzeroall
4586	movl	(%esi),%eax
4587	movl	4(%esi),%ebx
4588	movl	8(%esi),%ecx
4589	movl	12(%esi),%edi
4590	movl	%ebx,4(%esp)
4591	xorl	%ecx,%ebx
4592	movl	%ecx,8(%esp)
4593	movl	%edi,12(%esp)
4594	movl	16(%esi),%edx
4595	movl	20(%esi),%edi
4596	movl	24(%esi),%ecx
4597	movl	28(%esi),%esi
4598	movl	%edi,20(%esp)
4599	movl	100(%esp),%edi
4600	movl	%ecx,24(%esp)
4601	movl	%esi,28(%esp)
4602	vmovdqa	256(%ebp),%xmm7
4603	jmp	.L015grand_avx
4604.align	32
4605.L015grand_avx:
4606	vmovdqu	(%edi),%xmm0
4607	vmovdqu	16(%edi),%xmm1
4608	vmovdqu	32(%edi),%xmm2
4609	vmovdqu	48(%edi),%xmm3
4610	addl	$64,%edi
4611	vpshufb	%xmm7,%xmm0,%xmm0
4612	movl	%edi,100(%esp)
4613	vpshufb	%xmm7,%xmm1,%xmm1
4614	vpshufb	%xmm7,%xmm2,%xmm2
4615	vpaddd	(%ebp),%xmm0,%xmm4
4616	vpshufb	%xmm7,%xmm3,%xmm3
4617	vpaddd	16(%ebp),%xmm1,%xmm5
4618	vpaddd	32(%ebp),%xmm2,%xmm6
4619	vpaddd	48(%ebp),%xmm3,%xmm7
4620	vmovdqa	%xmm4,32(%esp)
4621	vmovdqa	%xmm5,48(%esp)
4622	vmovdqa	%xmm6,64(%esp)
4623	vmovdqa	%xmm7,80(%esp)
4624	jmp	.L016avx_00_47
4625.align	16
4626.L016avx_00_47:
4627	addl	$64,%ebp
4628	vpalignr	$4,%xmm0,%xmm1,%xmm4
4629	movl	%edx,%ecx
4630	shrdl	$14,%edx,%edx
4631	movl	20(%esp),%esi
4632	vpalignr	$4,%xmm2,%xmm3,%xmm7
4633	xorl	%ecx,%edx
4634	movl	24(%esp),%edi
4635	xorl	%edi,%esi
4636	vpsrld	$7,%xmm4,%xmm6
4637	shrdl	$5,%edx,%edx
4638	andl	%ecx,%esi
4639	movl	%ecx,16(%esp)
4640	vpaddd	%xmm7,%xmm0,%xmm0
4641	xorl	%ecx,%edx
4642	xorl	%esi,%edi
4643	shrdl	$6,%edx,%edx
4644	vpsrld	$3,%xmm4,%xmm7
4645	movl	%eax,%ecx
4646	addl	%edi,%edx
4647	movl	4(%esp),%edi
4648	vpslld	$14,%xmm4,%xmm5
4649	movl	%eax,%esi
4650	shrdl	$9,%ecx,%ecx
4651	movl	%eax,(%esp)
4652	vpxor	%xmm6,%xmm7,%xmm4
4653	xorl	%eax,%ecx
4654	xorl	%edi,%eax
4655	addl	28(%esp),%edx
4656	vpshufd	$250,%xmm3,%xmm7
4657	shrdl	$11,%ecx,%ecx
4658	andl	%eax,%ebx
4659	xorl	%esi,%ecx
4660	vpsrld	$11,%xmm6,%xmm6
4661	addl	32(%esp),%edx
4662	xorl	%edi,%ebx
4663	shrdl	$2,%ecx,%ecx
4664	vpxor	%xmm5,%xmm4,%xmm4
4665	addl	%edx,%ebx
4666	addl	12(%esp),%edx
4667	addl	%ecx,%ebx
4668	vpslld	$11,%xmm5,%xmm5
4669	movl	%edx,%ecx
4670	shrdl	$14,%edx,%edx
4671	movl	16(%esp),%esi
4672	vpxor	%xmm6,%xmm4,%xmm4
4673	xorl	%ecx,%edx
4674	movl	20(%esp),%edi
4675	xorl	%edi,%esi
4676	vpsrld	$10,%xmm7,%xmm6
4677	shrdl	$5,%edx,%edx
4678	andl	%ecx,%esi
4679	movl	%ecx,12(%esp)
4680	vpxor	%xmm5,%xmm4,%xmm4
4681	xorl	%ecx,%edx
4682	xorl	%esi,%edi
4683	shrdl	$6,%edx,%edx
4684	vpsrlq	$17,%xmm7,%xmm5
4685	movl	%ebx,%ecx
4686	addl	%edi,%edx
4687	movl	(%esp),%edi
4688	vpaddd	%xmm4,%xmm0,%xmm0
4689	movl	%ebx,%esi
4690	shrdl	$9,%ecx,%ecx
4691	movl	%ebx,28(%esp)
4692	vpxor	%xmm5,%xmm6,%xmm6
4693	xorl	%ebx,%ecx
4694	xorl	%edi,%ebx
4695	addl	24(%esp),%edx
4696	vpsrlq	$19,%xmm7,%xmm7
4697	shrdl	$11,%ecx,%ecx
4698	andl	%ebx,%eax
4699	xorl	%esi,%ecx
4700	vpxor	%xmm7,%xmm6,%xmm6
4701	addl	36(%esp),%edx
4702	xorl	%edi,%eax
4703	shrdl	$2,%ecx,%ecx
4704	vpshufd	$132,%xmm6,%xmm7
4705	addl	%edx,%eax
4706	addl	8(%esp),%edx
4707	addl	%ecx,%eax
4708	vpsrldq	$8,%xmm7,%xmm7
4709	movl	%edx,%ecx
4710	shrdl	$14,%edx,%edx
4711	movl	12(%esp),%esi
4712	vpaddd	%xmm7,%xmm0,%xmm0
4713	xorl	%ecx,%edx
4714	movl	16(%esp),%edi
4715	xorl	%edi,%esi
4716	vpshufd	$80,%xmm0,%xmm7
4717	shrdl	$5,%edx,%edx
4718	andl	%ecx,%esi
4719	movl	%ecx,8(%esp)
4720	vpsrld	$10,%xmm7,%xmm6
4721	xorl	%ecx,%edx
4722	xorl	%esi,%edi
4723	shrdl	$6,%edx,%edx
4724	vpsrlq	$17,%xmm7,%xmm5
4725	movl	%eax,%ecx
4726	addl	%edi,%edx
4727	movl	28(%esp),%edi
4728	vpxor	%xmm5,%xmm6,%xmm6
4729	movl	%eax,%esi
4730	shrdl	$9,%ecx,%ecx
4731	movl	%eax,24(%esp)
4732	vpsrlq	$19,%xmm7,%xmm7
4733	xorl	%eax,%ecx
4734	xorl	%edi,%eax
4735	addl	20(%esp),%edx
4736	vpxor	%xmm7,%xmm6,%xmm6
4737	shrdl	$11,%ecx,%ecx
4738	andl	%eax,%ebx
4739	xorl	%esi,%ecx
4740	vpshufd	$232,%xmm6,%xmm7
4741	addl	40(%esp),%edx
4742	xorl	%edi,%ebx
4743	shrdl	$2,%ecx,%ecx
4744	vpslldq	$8,%xmm7,%xmm7
4745	addl	%edx,%ebx
4746	addl	4(%esp),%edx
4747	addl	%ecx,%ebx
4748	vpaddd	%xmm7,%xmm0,%xmm0
4749	movl	%edx,%ecx
4750	shrdl	$14,%edx,%edx
4751	movl	8(%esp),%esi
4752	vpaddd	(%ebp),%xmm0,%xmm6
4753	xorl	%ecx,%edx
4754	movl	12(%esp),%edi
4755	xorl	%edi,%esi
4756	shrdl	$5,%edx,%edx
4757	andl	%ecx,%esi
4758	movl	%ecx,4(%esp)
4759	xorl	%ecx,%edx
4760	xorl	%esi,%edi
4761	shrdl	$6,%edx,%edx
4762	movl	%ebx,%ecx
4763	addl	%edi,%edx
4764	movl	24(%esp),%edi
4765	movl	%ebx,%esi
4766	shrdl	$9,%ecx,%ecx
4767	movl	%ebx,20(%esp)
4768	xorl	%ebx,%ecx
4769	xorl	%edi,%ebx
4770	addl	16(%esp),%edx
4771	shrdl	$11,%ecx,%ecx
4772	andl	%ebx,%eax
4773	xorl	%esi,%ecx
4774	addl	44(%esp),%edx
4775	xorl	%edi,%eax
4776	shrdl	$2,%ecx,%ecx
4777	addl	%edx,%eax
4778	addl	(%esp),%edx
4779	addl	%ecx,%eax
4780	vmovdqa	%xmm6,32(%esp)
4781	vpalignr	$4,%xmm1,%xmm2,%xmm4
4782	movl	%edx,%ecx
4783	shrdl	$14,%edx,%edx
4784	movl	4(%esp),%esi
4785	vpalignr	$4,%xmm3,%xmm0,%xmm7
4786	xorl	%ecx,%edx
4787	movl	8(%esp),%edi
4788	xorl	%edi,%esi
4789	vpsrld	$7,%xmm4,%xmm6
4790	shrdl	$5,%edx,%edx
4791	andl	%ecx,%esi
4792	movl	%ecx,(%esp)
4793	vpaddd	%xmm7,%xmm1,%xmm1
4794	xorl	%ecx,%edx
4795	xorl	%esi,%edi
4796	shrdl	$6,%edx,%edx
4797	vpsrld	$3,%xmm4,%xmm7
4798	movl	%eax,%ecx
4799	addl	%edi,%edx
4800	movl	20(%esp),%edi
4801	vpslld	$14,%xmm4,%xmm5
4802	movl	%eax,%esi
4803	shrdl	$9,%ecx,%ecx
4804	movl	%eax,16(%esp)
4805	vpxor	%xmm6,%xmm7,%xmm4
4806	xorl	%eax,%ecx
4807	xorl	%edi,%eax
4808	addl	12(%esp),%edx
4809	vpshufd	$250,%xmm0,%xmm7
4810	shrdl	$11,%ecx,%ecx
4811	andl	%eax,%ebx
4812	xorl	%esi,%ecx
4813	vpsrld	$11,%xmm6,%xmm6
4814	addl	48(%esp),%edx
4815	xorl	%edi,%ebx
4816	shrdl	$2,%ecx,%ecx
4817	vpxor	%xmm5,%xmm4,%xmm4
4818	addl	%edx,%ebx
4819	addl	28(%esp),%edx
4820	addl	%ecx,%ebx
4821	vpslld	$11,%xmm5,%xmm5
4822	movl	%edx,%ecx
4823	shrdl	$14,%edx,%edx
4824	movl	(%esp),%esi
4825	vpxor	%xmm6,%xmm4,%xmm4
4826	xorl	%ecx,%edx
4827	movl	4(%esp),%edi
4828	xorl	%edi,%esi
4829	vpsrld	$10,%xmm7,%xmm6
4830	shrdl	$5,%edx,%edx
4831	andl	%ecx,%esi
4832	movl	%ecx,28(%esp)
4833	vpxor	%xmm5,%xmm4,%xmm4
4834	xorl	%ecx,%edx
4835	xorl	%esi,%edi
4836	shrdl	$6,%edx,%edx
4837	vpsrlq	$17,%xmm7,%xmm5
4838	movl	%ebx,%ecx
4839	addl	%edi,%edx
4840	movl	16(%esp),%edi
4841	vpaddd	%xmm4,%xmm1,%xmm1
4842	movl	%ebx,%esi
4843	shrdl	$9,%ecx,%ecx
4844	movl	%ebx,12(%esp)
4845	vpxor	%xmm5,%xmm6,%xmm6
4846	xorl	%ebx,%ecx
4847	xorl	%edi,%ebx
4848	addl	8(%esp),%edx
4849	vpsrlq	$19,%xmm7,%xmm7
4850	shrdl	$11,%ecx,%ecx
4851	andl	%ebx,%eax
4852	xorl	%esi,%ecx
4853	vpxor	%xmm7,%xmm6,%xmm6
4854	addl	52(%esp),%edx
4855	xorl	%edi,%eax
4856	shrdl	$2,%ecx,%ecx
4857	vpshufd	$132,%xmm6,%xmm7
4858	addl	%edx,%eax
4859	addl	24(%esp),%edx
4860	addl	%ecx,%eax
4861	vpsrldq	$8,%xmm7,%xmm7
4862	movl	%edx,%ecx
4863	shrdl	$14,%edx,%edx
4864	movl	28(%esp),%esi
4865	vpaddd	%xmm7,%xmm1,%xmm1
4866	xorl	%ecx,%edx
4867	movl	(%esp),%edi
4868	xorl	%edi,%esi
4869	vpshufd	$80,%xmm1,%xmm7
4870	shrdl	$5,%edx,%edx
4871	andl	%ecx,%esi
4872	movl	%ecx,24(%esp)
4873	vpsrld	$10,%xmm7,%xmm6
4874	xorl	%ecx,%edx
4875	xorl	%esi,%edi
4876	shrdl	$6,%edx,%edx
4877	vpsrlq	$17,%xmm7,%xmm5
4878	movl	%eax,%ecx
4879	addl	%edi,%edx
4880	movl	12(%esp),%edi
4881	vpxor	%xmm5,%xmm6,%xmm6
4882	movl	%eax,%esi
4883	shrdl	$9,%ecx,%ecx
4884	movl	%eax,8(%esp)
4885	vpsrlq	$19,%xmm7,%xmm7
4886	xorl	%eax,%ecx
4887	xorl	%edi,%eax
4888	addl	4(%esp),%edx
4889	vpxor	%xmm7,%xmm6,%xmm6
4890	shrdl	$11,%ecx,%ecx
4891	andl	%eax,%ebx
4892	xorl	%esi,%ecx
4893	vpshufd	$232,%xmm6,%xmm7
4894	addl	56(%esp),%edx
4895	xorl	%edi,%ebx
4896	shrdl	$2,%ecx,%ecx
4897	vpslldq	$8,%xmm7,%xmm7
4898	addl	%edx,%ebx
4899	addl	20(%esp),%edx
4900	addl	%ecx,%ebx
4901	vpaddd	%xmm7,%xmm1,%xmm1
4902	movl	%edx,%ecx
4903	shrdl	$14,%edx,%edx
4904	movl	24(%esp),%esi
4905	vpaddd	16(%ebp),%xmm1,%xmm6
4906	xorl	%ecx,%edx
4907	movl	28(%esp),%edi
4908	xorl	%edi,%esi
4909	shrdl	$5,%edx,%edx
4910	andl	%ecx,%esi
4911	movl	%ecx,20(%esp)
4912	xorl	%ecx,%edx
4913	xorl	%esi,%edi
4914	shrdl	$6,%edx,%edx
4915	movl	%ebx,%ecx
4916	addl	%edi,%edx
4917	movl	8(%esp),%edi
4918	movl	%ebx,%esi
4919	shrdl	$9,%ecx,%ecx
4920	movl	%ebx,4(%esp)
4921	xorl	%ebx,%ecx
4922	xorl	%edi,%ebx
4923	addl	(%esp),%edx
4924	shrdl	$11,%ecx,%ecx
4925	andl	%ebx,%eax
4926	xorl	%esi,%ecx
4927	addl	60(%esp),%edx
4928	xorl	%edi,%eax
4929	shrdl	$2,%ecx,%ecx
4930	addl	%edx,%eax
4931	addl	16(%esp),%edx
4932	addl	%ecx,%eax
4933	vmovdqa	%xmm6,48(%esp)
4934	vpalignr	$4,%xmm2,%xmm3,%xmm4
4935	movl	%edx,%ecx
4936	shrdl	$14,%edx,%edx
4937	movl	20(%esp),%esi
4938	vpalignr	$4,%xmm0,%xmm1,%xmm7
4939	xorl	%ecx,%edx
4940	movl	24(%esp),%edi
4941	xorl	%edi,%esi
4942	vpsrld	$7,%xmm4,%xmm6
4943	shrdl	$5,%edx,%edx
4944	andl	%ecx,%esi
4945	movl	%ecx,16(%esp)
4946	vpaddd	%xmm7,%xmm2,%xmm2
4947	xorl	%ecx,%edx
4948	xorl	%esi,%edi
4949	shrdl	$6,%edx,%edx
4950	vpsrld	$3,%xmm4,%xmm7
4951	movl	%eax,%ecx
4952	addl	%edi,%edx
4953	movl	4(%esp),%edi
4954	vpslld	$14,%xmm4,%xmm5
4955	movl	%eax,%esi
4956	shrdl	$9,%ecx,%ecx
4957	movl	%eax,(%esp)
4958	vpxor	%xmm6,%xmm7,%xmm4
4959	xorl	%eax,%ecx
4960	xorl	%edi,%eax
4961	addl	28(%esp),%edx
4962	vpshufd	$250,%xmm1,%xmm7
4963	shrdl	$11,%ecx,%ecx
4964	andl	%eax,%ebx
4965	xorl	%esi,%ecx
4966	vpsrld	$11,%xmm6,%xmm6
4967	addl	64(%esp),%edx
4968	xorl	%edi,%ebx
4969	shrdl	$2,%ecx,%ecx
4970	vpxor	%xmm5,%xmm4,%xmm4
4971	addl	%edx,%ebx
4972	addl	12(%esp),%edx
4973	addl	%ecx,%ebx
4974	vpslld	$11,%xmm5,%xmm5
4975	movl	%edx,%ecx
4976	shrdl	$14,%edx,%edx
4977	movl	16(%esp),%esi
4978	vpxor	%xmm6,%xmm4,%xmm4
4979	xorl	%ecx,%edx
4980	movl	20(%esp),%edi
4981	xorl	%edi,%esi
4982	vpsrld	$10,%xmm7,%xmm6
4983	shrdl	$5,%edx,%edx
4984	andl	%ecx,%esi
4985	movl	%ecx,12(%esp)
4986	vpxor	%xmm5,%xmm4,%xmm4
4987	xorl	%ecx,%edx
4988	xorl	%esi,%edi
4989	shrdl	$6,%edx,%edx
4990	vpsrlq	$17,%xmm7,%xmm5
4991	movl	%ebx,%ecx
4992	addl	%edi,%edx
4993	movl	(%esp),%edi
4994	vpaddd	%xmm4,%xmm2,%xmm2
4995	movl	%ebx,%esi
4996	shrdl	$9,%ecx,%ecx
4997	movl	%ebx,28(%esp)
4998	vpxor	%xmm5,%xmm6,%xmm6
4999	xorl	%ebx,%ecx
5000	xorl	%edi,%ebx
5001	addl	24(%esp),%edx
5002	vpsrlq	$19,%xmm7,%xmm7
5003	shrdl	$11,%ecx,%ecx
5004	andl	%ebx,%eax
5005	xorl	%esi,%ecx
5006	vpxor	%xmm7,%xmm6,%xmm6
5007	addl	68(%esp),%edx
5008	xorl	%edi,%eax
5009	shrdl	$2,%ecx,%ecx
5010	vpshufd	$132,%xmm6,%xmm7
5011	addl	%edx,%eax
5012	addl	8(%esp),%edx
5013	addl	%ecx,%eax
5014	vpsrldq	$8,%xmm7,%xmm7
5015	movl	%edx,%ecx
5016	shrdl	$14,%edx,%edx
5017	movl	12(%esp),%esi
5018	vpaddd	%xmm7,%xmm2,%xmm2
5019	xorl	%ecx,%edx
5020	movl	16(%esp),%edi
5021	xorl	%edi,%esi
5022	vpshufd	$80,%xmm2,%xmm7
5023	shrdl	$5,%edx,%edx
5024	andl	%ecx,%esi
5025	movl	%ecx,8(%esp)
5026	vpsrld	$10,%xmm7,%xmm6
5027	xorl	%ecx,%edx
5028	xorl	%esi,%edi
5029	shrdl	$6,%edx,%edx
5030	vpsrlq	$17,%xmm7,%xmm5
5031	movl	%eax,%ecx
5032	addl	%edi,%edx
5033	movl	28(%esp),%edi
5034	vpxor	%xmm5,%xmm6,%xmm6
5035	movl	%eax,%esi
5036	shrdl	$9,%ecx,%ecx
5037	movl	%eax,24(%esp)
5038	vpsrlq	$19,%xmm7,%xmm7
5039	xorl	%eax,%ecx
5040	xorl	%edi,%eax
5041	addl	20(%esp),%edx
5042	vpxor	%xmm7,%xmm6,%xmm6
5043	shrdl	$11,%ecx,%ecx
5044	andl	%eax,%ebx
5045	xorl	%esi,%ecx
5046	vpshufd	$232,%xmm6,%xmm7
5047	addl	72(%esp),%edx
5048	xorl	%edi,%ebx
5049	shrdl	$2,%ecx,%ecx
5050	vpslldq	$8,%xmm7,%xmm7
5051	addl	%edx,%ebx
5052	addl	4(%esp),%edx
5053	addl	%ecx,%ebx
5054	vpaddd	%xmm7,%xmm2,%xmm2
5055	movl	%edx,%ecx
5056	shrdl	$14,%edx,%edx
5057	movl	8(%esp),%esi
5058	vpaddd	32(%ebp),%xmm2,%xmm6
5059	xorl	%ecx,%edx
5060	movl	12(%esp),%edi
5061	xorl	%edi,%esi
5062	shrdl	$5,%edx,%edx
5063	andl	%ecx,%esi
5064	movl	%ecx,4(%esp)
5065	xorl	%ecx,%edx
5066	xorl	%esi,%edi
5067	shrdl	$6,%edx,%edx
5068	movl	%ebx,%ecx
5069	addl	%edi,%edx
5070	movl	24(%esp),%edi
5071	movl	%ebx,%esi
5072	shrdl	$9,%ecx,%ecx
5073	movl	%ebx,20(%esp)
5074	xorl	%ebx,%ecx
5075	xorl	%edi,%ebx
5076	addl	16(%esp),%edx
5077	shrdl	$11,%ecx,%ecx
5078	andl	%ebx,%eax
5079	xorl	%esi,%ecx
5080	addl	76(%esp),%edx
5081	xorl	%edi,%eax
5082	shrdl	$2,%ecx,%ecx
5083	addl	%edx,%eax
5084	addl	(%esp),%edx
5085	addl	%ecx,%eax
5086	vmovdqa	%xmm6,64(%esp)
5087	vpalignr	$4,%xmm3,%xmm0,%xmm4
5088	movl	%edx,%ecx
5089	shrdl	$14,%edx,%edx
5090	movl	4(%esp),%esi
5091	vpalignr	$4,%xmm1,%xmm2,%xmm7
5092	xorl	%ecx,%edx
5093	movl	8(%esp),%edi
5094	xorl	%edi,%esi
5095	vpsrld	$7,%xmm4,%xmm6
5096	shrdl	$5,%edx,%edx
5097	andl	%ecx,%esi
5098	movl	%ecx,(%esp)
5099	vpaddd	%xmm7,%xmm3,%xmm3
5100	xorl	%ecx,%edx
5101	xorl	%esi,%edi
5102	shrdl	$6,%edx,%edx
5103	vpsrld	$3,%xmm4,%xmm7
5104	movl	%eax,%ecx
5105	addl	%edi,%edx
5106	movl	20(%esp),%edi
5107	vpslld	$14,%xmm4,%xmm5
5108	movl	%eax,%esi
5109	shrdl	$9,%ecx,%ecx
5110	movl	%eax,16(%esp)
5111	vpxor	%xmm6,%xmm7,%xmm4
5112	xorl	%eax,%ecx
5113	xorl	%edi,%eax
5114	addl	12(%esp),%edx
5115	vpshufd	$250,%xmm2,%xmm7
5116	shrdl	$11,%ecx,%ecx
5117	andl	%eax,%ebx
5118	xorl	%esi,%ecx
5119	vpsrld	$11,%xmm6,%xmm6
5120	addl	80(%esp),%edx
5121	xorl	%edi,%ebx
5122	shrdl	$2,%ecx,%ecx
5123	vpxor	%xmm5,%xmm4,%xmm4
5124	addl	%edx,%ebx
5125	addl	28(%esp),%edx
5126	addl	%ecx,%ebx
5127	vpslld	$11,%xmm5,%xmm5
5128	movl	%edx,%ecx
5129	shrdl	$14,%edx,%edx
5130	movl	(%esp),%esi
5131	vpxor	%xmm6,%xmm4,%xmm4
5132	xorl	%ecx,%edx
5133	movl	4(%esp),%edi
5134	xorl	%edi,%esi
5135	vpsrld	$10,%xmm7,%xmm6
5136	shrdl	$5,%edx,%edx
5137	andl	%ecx,%esi
5138	movl	%ecx,28(%esp)
5139	vpxor	%xmm5,%xmm4,%xmm4
5140	xorl	%ecx,%edx
5141	xorl	%esi,%edi
5142	shrdl	$6,%edx,%edx
5143	vpsrlq	$17,%xmm7,%xmm5
5144	movl	%ebx,%ecx
5145	addl	%edi,%edx
5146	movl	16(%esp),%edi
5147	vpaddd	%xmm4,%xmm3,%xmm3
5148	movl	%ebx,%esi
5149	shrdl	$9,%ecx,%ecx
5150	movl	%ebx,12(%esp)
5151	vpxor	%xmm5,%xmm6,%xmm6
5152	xorl	%ebx,%ecx
5153	xorl	%edi,%ebx
5154	addl	8(%esp),%edx
5155	vpsrlq	$19,%xmm7,%xmm7
5156	shrdl	$11,%ecx,%ecx
5157	andl	%ebx,%eax
5158	xorl	%esi,%ecx
5159	vpxor	%xmm7,%xmm6,%xmm6
5160	addl	84(%esp),%edx
5161	xorl	%edi,%eax
5162	shrdl	$2,%ecx,%ecx
5163	vpshufd	$132,%xmm6,%xmm7
5164	addl	%edx,%eax
5165	addl	24(%esp),%edx
5166	addl	%ecx,%eax
5167	vpsrldq	$8,%xmm7,%xmm7
5168	movl	%edx,%ecx
5169	shrdl	$14,%edx,%edx
5170	movl	28(%esp),%esi
5171	vpaddd	%xmm7,%xmm3,%xmm3
5172	xorl	%ecx,%edx
5173	movl	(%esp),%edi
5174	xorl	%edi,%esi
5175	vpshufd	$80,%xmm3,%xmm7
5176	shrdl	$5,%edx,%edx
5177	andl	%ecx,%esi
5178	movl	%ecx,24(%esp)
5179	vpsrld	$10,%xmm7,%xmm6
5180	xorl	%ecx,%edx
5181	xorl	%esi,%edi
5182	shrdl	$6,%edx,%edx
5183	vpsrlq	$17,%xmm7,%xmm5
5184	movl	%eax,%ecx
5185	addl	%edi,%edx
5186	movl	12(%esp),%edi
5187	vpxor	%xmm5,%xmm6,%xmm6
5188	movl	%eax,%esi
5189	shrdl	$9,%ecx,%ecx
5190	movl	%eax,8(%esp)
5191	vpsrlq	$19,%xmm7,%xmm7
5192	xorl	%eax,%ecx
5193	xorl	%edi,%eax
5194	addl	4(%esp),%edx
5195	vpxor	%xmm7,%xmm6,%xmm6
5196	shrdl	$11,%ecx,%ecx
5197	andl	%eax,%ebx
5198	xorl	%esi,%ecx
5199	vpshufd	$232,%xmm6,%xmm7
5200	addl	88(%esp),%edx
5201	xorl	%edi,%ebx
5202	shrdl	$2,%ecx,%ecx
5203	vpslldq	$8,%xmm7,%xmm7
5204	addl	%edx,%ebx
5205	addl	20(%esp),%edx
5206	addl	%ecx,%ebx
5207	vpaddd	%xmm7,%xmm3,%xmm3
5208	movl	%edx,%ecx
5209	shrdl	$14,%edx,%edx
5210	movl	24(%esp),%esi
5211	vpaddd	48(%ebp),%xmm3,%xmm6
5212	xorl	%ecx,%edx
5213	movl	28(%esp),%edi
5214	xorl	%edi,%esi
5215	shrdl	$5,%edx,%edx
5216	andl	%ecx,%esi
5217	movl	%ecx,20(%esp)
5218	xorl	%ecx,%edx
5219	xorl	%esi,%edi
5220	shrdl	$6,%edx,%edx
5221	movl	%ebx,%ecx
5222	addl	%edi,%edx
5223	movl	8(%esp),%edi
5224	movl	%ebx,%esi
5225	shrdl	$9,%ecx,%ecx
5226	movl	%ebx,4(%esp)
5227	xorl	%ebx,%ecx
5228	xorl	%edi,%ebx
5229	addl	(%esp),%edx
5230	shrdl	$11,%ecx,%ecx
5231	andl	%ebx,%eax
5232	xorl	%esi,%ecx
5233	addl	92(%esp),%edx
5234	xorl	%edi,%eax
5235	shrdl	$2,%ecx,%ecx
5236	addl	%edx,%eax
5237	addl	16(%esp),%edx
5238	addl	%ecx,%eax
5239	vmovdqa	%xmm6,80(%esp)
5240	cmpl	$66051,64(%ebp)
5241	jne	.L016avx_00_47
5242	movl	%edx,%ecx
5243	shrdl	$14,%edx,%edx
5244	movl	20(%esp),%esi
5245	xorl	%ecx,%edx
5246	movl	24(%esp),%edi
5247	xorl	%edi,%esi
5248	shrdl	$5,%edx,%edx
5249	andl	%ecx,%esi
5250	movl	%ecx,16(%esp)
5251	xorl	%ecx,%edx
5252	xorl	%esi,%edi
5253	shrdl	$6,%edx,%edx
5254	movl	%eax,%ecx
5255	addl	%edi,%edx
5256	movl	4(%esp),%edi
5257	movl	%eax,%esi
5258	shrdl	$9,%ecx,%ecx
5259	movl	%eax,(%esp)
5260	xorl	%eax,%ecx
5261	xorl	%edi,%eax
5262	addl	28(%esp),%edx
5263	shrdl	$11,%ecx,%ecx
5264	andl	%eax,%ebx
5265	xorl	%esi,%ecx
5266	addl	32(%esp),%edx
5267	xorl	%edi,%ebx
5268	shrdl	$2,%ecx,%ecx
5269	addl	%edx,%ebx
5270	addl	12(%esp),%edx
5271	addl	%ecx,%ebx
5272	movl	%edx,%ecx
5273	shrdl	$14,%edx,%edx
5274	movl	16(%esp),%esi
5275	xorl	%ecx,%edx
5276	movl	20(%esp),%edi
5277	xorl	%edi,%esi
5278	shrdl	$5,%edx,%edx
5279	andl	%ecx,%esi
5280	movl	%ecx,12(%esp)
5281	xorl	%ecx,%edx
5282	xorl	%esi,%edi
5283	shrdl	$6,%edx,%edx
5284	movl	%ebx,%ecx
5285	addl	%edi,%edx
5286	movl	(%esp),%edi
5287	movl	%ebx,%esi
5288	shrdl	$9,%ecx,%ecx
5289	movl	%ebx,28(%esp)
5290	xorl	%ebx,%ecx
5291	xorl	%edi,%ebx
5292	addl	24(%esp),%edx
5293	shrdl	$11,%ecx,%ecx
5294	andl	%ebx,%eax
5295	xorl	%esi,%ecx
5296	addl	36(%esp),%edx
5297	xorl	%edi,%eax
5298	shrdl	$2,%ecx,%ecx
5299	addl	%edx,%eax
5300	addl	8(%esp),%edx
5301	addl	%ecx,%eax
5302	movl	%edx,%ecx
5303	shrdl	$14,%edx,%edx
5304	movl	12(%esp),%esi
5305	xorl	%ecx,%edx
5306	movl	16(%esp),%edi
5307	xorl	%edi,%esi
5308	shrdl	$5,%edx,%edx
5309	andl	%ecx,%esi
5310	movl	%ecx,8(%esp)
5311	xorl	%ecx,%edx
5312	xorl	%esi,%edi
5313	shrdl	$6,%edx,%edx
5314	movl	%eax,%ecx
5315	addl	%edi,%edx
5316	movl	28(%esp),%edi
5317	movl	%eax,%esi
5318	shrdl	$9,%ecx,%ecx
5319	movl	%eax,24(%esp)
5320	xorl	%eax,%ecx
5321	xorl	%edi,%eax
5322	addl	20(%esp),%edx
5323	shrdl	$11,%ecx,%ecx
5324	andl	%eax,%ebx
5325	xorl	%esi,%ecx
5326	addl	40(%esp),%edx
5327	xorl	%edi,%ebx
5328	shrdl	$2,%ecx,%ecx
5329	addl	%edx,%ebx
5330	addl	4(%esp),%edx
5331	addl	%ecx,%ebx
5332	movl	%edx,%ecx
5333	shrdl	$14,%edx,%edx
5334	movl	8(%esp),%esi
5335	xorl	%ecx,%edx
5336	movl	12(%esp),%edi
5337	xorl	%edi,%esi
5338	shrdl	$5,%edx,%edx
5339	andl	%ecx,%esi
5340	movl	%ecx,4(%esp)
5341	xorl	%ecx,%edx
5342	xorl	%esi,%edi
5343	shrdl	$6,%edx,%edx
5344	movl	%ebx,%ecx
5345	addl	%edi,%edx
5346	movl	24(%esp),%edi
5347	movl	%ebx,%esi
5348	shrdl	$9,%ecx,%ecx
5349	movl	%ebx,20(%esp)
5350	xorl	%ebx,%ecx
5351	xorl	%edi,%ebx
5352	addl	16(%esp),%edx
5353	shrdl	$11,%ecx,%ecx
5354	andl	%ebx,%eax
5355	xorl	%esi,%ecx
5356	addl	44(%esp),%edx
5357	xorl	%edi,%eax
5358	shrdl	$2,%ecx,%ecx
5359	addl	%edx,%eax
5360	addl	(%esp),%edx
5361	addl	%ecx,%eax
5362	movl	%edx,%ecx
5363	shrdl	$14,%edx,%edx
5364	movl	4(%esp),%esi
5365	xorl	%ecx,%edx
5366	movl	8(%esp),%edi
5367	xorl	%edi,%esi
5368	shrdl	$5,%edx,%edx
5369	andl	%ecx,%esi
5370	movl	%ecx,(%esp)
5371	xorl	%ecx,%edx
5372	xorl	%esi,%edi
5373	shrdl	$6,%edx,%edx
5374	movl	%eax,%ecx
5375	addl	%edi,%edx
5376	movl	20(%esp),%edi
5377	movl	%eax,%esi
5378	shrdl	$9,%ecx,%ecx
5379	movl	%eax,16(%esp)
5380	xorl	%eax,%ecx
5381	xorl	%edi,%eax
5382	addl	12(%esp),%edx
5383	shrdl	$11,%ecx,%ecx
5384	andl	%eax,%ebx
5385	xorl	%esi,%ecx
5386	addl	48(%esp),%edx
5387	xorl	%edi,%ebx
5388	shrdl	$2,%ecx,%ecx
5389	addl	%edx,%ebx
5390	addl	28(%esp),%edx
5391	addl	%ecx,%ebx
5392	movl	%edx,%ecx
5393	shrdl	$14,%edx,%edx
5394	movl	(%esp),%esi
5395	xorl	%ecx,%edx
5396	movl	4(%esp),%edi
5397	xorl	%edi,%esi
5398	shrdl	$5,%edx,%edx
5399	andl	%ecx,%esi
5400	movl	%ecx,28(%esp)
5401	xorl	%ecx,%edx
5402	xorl	%esi,%edi
5403	shrdl	$6,%edx,%edx
5404	movl	%ebx,%ecx
5405	addl	%edi,%edx
5406	movl	16(%esp),%edi
5407	movl	%ebx,%esi
5408	shrdl	$9,%ecx,%ecx
5409	movl	%ebx,12(%esp)
5410	xorl	%ebx,%ecx
5411	xorl	%edi,%ebx
5412	addl	8(%esp),%edx
5413	shrdl	$11,%ecx,%ecx
5414	andl	%ebx,%eax
5415	xorl	%esi,%ecx
5416	addl	52(%esp),%edx
5417	xorl	%edi,%eax
5418	shrdl	$2,%ecx,%ecx
5419	addl	%edx,%eax
5420	addl	24(%esp),%edx
5421	addl	%ecx,%eax
5422	movl	%edx,%ecx
5423	shrdl	$14,%edx,%edx
5424	movl	28(%esp),%esi
5425	xorl	%ecx,%edx
5426	movl	(%esp),%edi
5427	xorl	%edi,%esi
5428	shrdl	$5,%edx,%edx
5429	andl	%ecx,%esi
5430	movl	%ecx,24(%esp)
5431	xorl	%ecx,%edx
5432	xorl	%esi,%edi
5433	shrdl	$6,%edx,%edx
5434	movl	%eax,%ecx
5435	addl	%edi,%edx
5436	movl	12(%esp),%edi
5437	movl	%eax,%esi
5438	shrdl	$9,%ecx,%ecx
5439	movl	%eax,8(%esp)
5440	xorl	%eax,%ecx
5441	xorl	%edi,%eax
5442	addl	4(%esp),%edx
5443	shrdl	$11,%ecx,%ecx
5444	andl	%eax,%ebx
5445	xorl	%esi,%ecx
5446	addl	56(%esp),%edx
5447	xorl	%edi,%ebx
5448	shrdl	$2,%ecx,%ecx
5449	addl	%edx,%ebx
5450	addl	20(%esp),%edx
5451	addl	%ecx,%ebx
5452	movl	%edx,%ecx
5453	shrdl	$14,%edx,%edx
5454	movl	24(%esp),%esi
5455	xorl	%ecx,%edx
5456	movl	28(%esp),%edi
5457	xorl	%edi,%esi
5458	shrdl	$5,%edx,%edx
5459	andl	%ecx,%esi
5460	movl	%ecx,20(%esp)
5461	xorl	%ecx,%edx
5462	xorl	%esi,%edi
5463	shrdl	$6,%edx,%edx
5464	movl	%ebx,%ecx
5465	addl	%edi,%edx
5466	movl	8(%esp),%edi
5467	movl	%ebx,%esi
5468	shrdl	$9,%ecx,%ecx
5469	movl	%ebx,4(%esp)
5470	xorl	%ebx,%ecx
5471	xorl	%edi,%ebx
5472	addl	(%esp),%edx
5473	shrdl	$11,%ecx,%ecx
5474	andl	%ebx,%eax
5475	xorl	%esi,%ecx
5476	addl	60(%esp),%edx
5477	xorl	%edi,%eax
5478	shrdl	$2,%ecx,%ecx
5479	addl	%edx,%eax
5480	addl	16(%esp),%edx
5481	addl	%ecx,%eax
5482	movl	%edx,%ecx
5483	shrdl	$14,%edx,%edx
5484	movl	20(%esp),%esi
5485	xorl	%ecx,%edx
5486	movl	24(%esp),%edi
5487	xorl	%edi,%esi
5488	shrdl	$5,%edx,%edx
5489	andl	%ecx,%esi
5490	movl	%ecx,16(%esp)
5491	xorl	%ecx,%edx
5492	xorl	%esi,%edi
5493	shrdl	$6,%edx,%edx
5494	movl	%eax,%ecx
5495	addl	%edi,%edx
5496	movl	4(%esp),%edi
5497	movl	%eax,%esi
5498	shrdl	$9,%ecx,%ecx
5499	movl	%eax,(%esp)
5500	xorl	%eax,%ecx
5501	xorl	%edi,%eax
5502	addl	28(%esp),%edx
5503	shrdl	$11,%ecx,%ecx
5504	andl	%eax,%ebx
5505	xorl	%esi,%ecx
5506	addl	64(%esp),%edx
5507	xorl	%edi,%ebx
5508	shrdl	$2,%ecx,%ecx
5509	addl	%edx,%ebx
5510	addl	12(%esp),%edx
5511	addl	%ecx,%ebx
5512	movl	%edx,%ecx
5513	shrdl	$14,%edx,%edx
5514	movl	16(%esp),%esi
5515	xorl	%ecx,%edx
5516	movl	20(%esp),%edi
5517	xorl	%edi,%esi
5518	shrdl	$5,%edx,%edx
5519	andl	%ecx,%esi
5520	movl	%ecx,12(%esp)
5521	xorl	%ecx,%edx
5522	xorl	%esi,%edi
5523	shrdl	$6,%edx,%edx
5524	movl	%ebx,%ecx
5525	addl	%edi,%edx
5526	movl	(%esp),%edi
5527	movl	%ebx,%esi
5528	shrdl	$9,%ecx,%ecx
5529	movl	%ebx,28(%esp)
5530	xorl	%ebx,%ecx
5531	xorl	%edi,%ebx
5532	addl	24(%esp),%edx
5533	shrdl	$11,%ecx,%ecx
5534	andl	%ebx,%eax
5535	xorl	%esi,%ecx
5536	addl	68(%esp),%edx
5537	xorl	%edi,%eax
5538	shrdl	$2,%ecx,%ecx
5539	addl	%edx,%eax
5540	addl	8(%esp),%edx
5541	addl	%ecx,%eax
5542	movl	%edx,%ecx
5543	shrdl	$14,%edx,%edx
5544	movl	12(%esp),%esi
5545	xorl	%ecx,%edx
5546	movl	16(%esp),%edi
5547	xorl	%edi,%esi
5548	shrdl	$5,%edx,%edx
5549	andl	%ecx,%esi
5550	movl	%ecx,8(%esp)
5551	xorl	%ecx,%edx
5552	xorl	%esi,%edi
5553	shrdl	$6,%edx,%edx
5554	movl	%eax,%ecx
5555	addl	%edi,%edx
5556	movl	28(%esp),%edi
5557	movl	%eax,%esi
5558	shrdl	$9,%ecx,%ecx
5559	movl	%eax,24(%esp)
5560	xorl	%eax,%ecx
5561	xorl	%edi,%eax
5562	addl	20(%esp),%edx
5563	shrdl	$11,%ecx,%ecx
5564	andl	%eax,%ebx
5565	xorl	%esi,%ecx
5566	addl	72(%esp),%edx
5567	xorl	%edi,%ebx
5568	shrdl	$2,%ecx,%ecx
5569	addl	%edx,%ebx
5570	addl	4(%esp),%edx
5571	addl	%ecx,%ebx
5572	movl	%edx,%ecx
5573	shrdl	$14,%edx,%edx
5574	movl	8(%esp),%esi
5575	xorl	%ecx,%edx
5576	movl	12(%esp),%edi
5577	xorl	%edi,%esi
5578	shrdl	$5,%edx,%edx
5579	andl	%ecx,%esi
5580	movl	%ecx,4(%esp)
5581	xorl	%ecx,%edx
5582	xorl	%esi,%edi
5583	shrdl	$6,%edx,%edx
5584	movl	%ebx,%ecx
5585	addl	%edi,%edx
5586	movl	24(%esp),%edi
5587	movl	%ebx,%esi
5588	shrdl	$9,%ecx,%ecx
5589	movl	%ebx,20(%esp)
5590	xorl	%ebx,%ecx
5591	xorl	%edi,%ebx
5592	addl	16(%esp),%edx
5593	shrdl	$11,%ecx,%ecx
5594	andl	%ebx,%eax
5595	xorl	%esi,%ecx
5596	addl	76(%esp),%edx
5597	xorl	%edi,%eax
5598	shrdl	$2,%ecx,%ecx
5599	addl	%edx,%eax
5600	addl	(%esp),%edx
5601	addl	%ecx,%eax
5602	movl	%edx,%ecx
5603	shrdl	$14,%edx,%edx
5604	movl	4(%esp),%esi
5605	xorl	%ecx,%edx
5606	movl	8(%esp),%edi
5607	xorl	%edi,%esi
5608	shrdl	$5,%edx,%edx
5609	andl	%ecx,%esi
5610	movl	%ecx,(%esp)
5611	xorl	%ecx,%edx
5612	xorl	%esi,%edi
5613	shrdl	$6,%edx,%edx
5614	movl	%eax,%ecx
5615	addl	%edi,%edx
5616	movl	20(%esp),%edi
5617	movl	%eax,%esi
5618	shrdl	$9,%ecx,%ecx
5619	movl	%eax,16(%esp)
5620	xorl	%eax,%ecx
5621	xorl	%edi,%eax
5622	addl	12(%esp),%edx
5623	shrdl	$11,%ecx,%ecx
5624	andl	%eax,%ebx
5625	xorl	%esi,%ecx
5626	addl	80(%esp),%edx
5627	xorl	%edi,%ebx
5628	shrdl	$2,%ecx,%ecx
5629	addl	%edx,%ebx
5630	addl	28(%esp),%edx
5631	addl	%ecx,%ebx
5632	movl	%edx,%ecx
5633	shrdl	$14,%edx,%edx
5634	movl	(%esp),%esi
5635	xorl	%ecx,%edx
5636	movl	4(%esp),%edi
5637	xorl	%edi,%esi
5638	shrdl	$5,%edx,%edx
5639	andl	%ecx,%esi
5640	movl	%ecx,28(%esp)
5641	xorl	%ecx,%edx
5642	xorl	%esi,%edi
5643	shrdl	$6,%edx,%edx
5644	movl	%ebx,%ecx
5645	addl	%edi,%edx
5646	movl	16(%esp),%edi
5647	movl	%ebx,%esi
5648	shrdl	$9,%ecx,%ecx
5649	movl	%ebx,12(%esp)
5650	xorl	%ebx,%ecx
5651	xorl	%edi,%ebx
5652	addl	8(%esp),%edx
5653	shrdl	$11,%ecx,%ecx
5654	andl	%ebx,%eax
5655	xorl	%esi,%ecx
5656	addl	84(%esp),%edx
5657	xorl	%edi,%eax
5658	shrdl	$2,%ecx,%ecx
5659	addl	%edx,%eax
5660	addl	24(%esp),%edx
5661	addl	%ecx,%eax
5662	movl	%edx,%ecx
5663	shrdl	$14,%edx,%edx
5664	movl	28(%esp),%esi
5665	xorl	%ecx,%edx
5666	movl	(%esp),%edi
5667	xorl	%edi,%esi
5668	shrdl	$5,%edx,%edx
5669	andl	%ecx,%esi
5670	movl	%ecx,24(%esp)
5671	xorl	%ecx,%edx
5672	xorl	%esi,%edi
5673	shrdl	$6,%edx,%edx
5674	movl	%eax,%ecx
5675	addl	%edi,%edx
5676	movl	12(%esp),%edi
5677	movl	%eax,%esi
5678	shrdl	$9,%ecx,%ecx
5679	movl	%eax,8(%esp)
5680	xorl	%eax,%ecx
5681	xorl	%edi,%eax
5682	addl	4(%esp),%edx
5683	shrdl	$11,%ecx,%ecx
5684	andl	%eax,%ebx
5685	xorl	%esi,%ecx
5686	addl	88(%esp),%edx
5687	xorl	%edi,%ebx
5688	shrdl	$2,%ecx,%ecx
5689	addl	%edx,%ebx
5690	addl	20(%esp),%edx
5691	addl	%ecx,%ebx
5692	movl	%edx,%ecx
5693	shrdl	$14,%edx,%edx
5694	movl	24(%esp),%esi
5695	xorl	%ecx,%edx
5696	movl	28(%esp),%edi
5697	xorl	%edi,%esi
5698	shrdl	$5,%edx,%edx
5699	andl	%ecx,%esi
5700	movl	%ecx,20(%esp)
5701	xorl	%ecx,%edx
5702	xorl	%esi,%edi
5703	shrdl	$6,%edx,%edx
5704	movl	%ebx,%ecx
5705	addl	%edi,%edx
5706	movl	8(%esp),%edi
5707	movl	%ebx,%esi
5708	shrdl	$9,%ecx,%ecx
5709	movl	%ebx,4(%esp)
5710	xorl	%ebx,%ecx
5711	xorl	%edi,%ebx
5712	addl	(%esp),%edx
5713	shrdl	$11,%ecx,%ecx
5714	andl	%ebx,%eax
5715	xorl	%esi,%ecx
5716	addl	92(%esp),%edx
5717	xorl	%edi,%eax
5718	shrdl	$2,%ecx,%ecx
5719	addl	%edx,%eax
5720	addl	16(%esp),%edx
5721	addl	%ecx,%eax
5722	movl	96(%esp),%esi
5723	xorl	%edi,%ebx
5724	movl	12(%esp),%ecx
5725	addl	(%esi),%eax
5726	addl	4(%esi),%ebx
5727	addl	8(%esi),%edi
5728	addl	12(%esi),%ecx
5729	movl	%eax,(%esi)
5730	movl	%ebx,4(%esi)
5731	movl	%edi,8(%esi)
5732	movl	%ecx,12(%esi)
5733	movl	%ebx,4(%esp)
5734	xorl	%edi,%ebx
5735	movl	%edi,8(%esp)
5736	movl	%ecx,12(%esp)
5737	movl	20(%esp),%edi
5738	movl	24(%esp),%ecx
5739	addl	16(%esi),%edx
5740	addl	20(%esi),%edi
5741	addl	24(%esi),%ecx
5742	movl	%edx,16(%esi)
5743	movl	%edi,20(%esi)
5744	movl	%edi,20(%esp)
5745	movl	28(%esp),%edi
5746	movl	%ecx,24(%esi)
5747	addl	28(%esi),%edi
5748	movl	%ecx,24(%esp)
5749	movl	%edi,28(%esi)
5750	movl	%edi,28(%esp)
5751	movl	100(%esp),%edi
5752	vmovdqa	64(%ebp),%xmm7
5753	subl	$192,%ebp
5754	cmpl	104(%esp),%edi
5755	jb	.L015grand_avx
5756	movl	108(%esp),%esp
5757	vzeroall
5758	popl	%edi
5759	popl	%esi
5760	popl	%ebx
5761	popl	%ebp
5762	ret
5763.align	32
5764.L014AVX_BMI:
5765	leal	-96(%esp),%esp
5766	vzeroall
5767	movl	(%esi),%eax
5768	movl	4(%esi),%ebx
5769	movl	8(%esi),%ecx
5770	movl	12(%esi),%edi
5771	movl	%ebx,4(%esp)
5772	xorl	%ecx,%ebx
5773	movl	%ecx,8(%esp)
5774	movl	%edi,12(%esp)
5775	movl	16(%esi),%edx
5776	movl	20(%esi),%edi
5777	movl	24(%esi),%ecx
5778	movl	28(%esi),%esi
5779	movl	%edi,20(%esp)
5780	movl	100(%esp),%edi
5781	movl	%ecx,24(%esp)
5782	movl	%esi,28(%esp)
5783	vmovdqa	256(%ebp),%xmm7
5784	jmp	.L017grand_avx_bmi
5785.align	32
5786.L017grand_avx_bmi:
5787	vmovdqu	(%edi),%xmm0
5788	vmovdqu	16(%edi),%xmm1
5789	vmovdqu	32(%edi),%xmm2
5790	vmovdqu	48(%edi),%xmm3
5791	addl	$64,%edi
5792	vpshufb	%xmm7,%xmm0,%xmm0
5793	movl	%edi,100(%esp)
5794	vpshufb	%xmm7,%xmm1,%xmm1
5795	vpshufb	%xmm7,%xmm2,%xmm2
5796	vpaddd	(%ebp),%xmm0,%xmm4
5797	vpshufb	%xmm7,%xmm3,%xmm3
5798	vpaddd	16(%ebp),%xmm1,%xmm5
5799	vpaddd	32(%ebp),%xmm2,%xmm6
5800	vpaddd	48(%ebp),%xmm3,%xmm7
5801	vmovdqa	%xmm4,32(%esp)
5802	vmovdqa	%xmm5,48(%esp)
5803	vmovdqa	%xmm6,64(%esp)
5804	vmovdqa	%xmm7,80(%esp)
5805	jmp	.L018avx_bmi_00_47
5806.align	16
5807.L018avx_bmi_00_47:
5808	addl	$64,%ebp
5809	vpalignr	$4,%xmm0,%xmm1,%xmm4
5810	rorxl	$6,%edx,%ecx
5811	rorxl	$11,%edx,%esi
5812	movl	%edx,16(%esp)
5813	vpalignr	$4,%xmm2,%xmm3,%xmm7
5814	rorxl	$25,%edx,%edi
5815	xorl	%esi,%ecx
5816	andnl	24(%esp),%edx,%esi
5817	vpsrld	$7,%xmm4,%xmm6
5818	xorl	%edi,%ecx
5819	andl	20(%esp),%edx
5820	movl	%eax,(%esp)
5821	vpaddd	%xmm7,%xmm0,%xmm0
5822	orl	%esi,%edx
5823	rorxl	$2,%eax,%edi
5824	rorxl	$13,%eax,%esi
5825	vpsrld	$3,%xmm4,%xmm7
5826	leal	(%edx,%ecx,1),%edx
5827	rorxl	$22,%eax,%ecx
5828	xorl	%edi,%esi
5829	vpslld	$14,%xmm4,%xmm5
5830	movl	4(%esp),%edi
5831	xorl	%esi,%ecx
5832	xorl	%edi,%eax
5833	vpxor	%xmm6,%xmm7,%xmm4
5834	addl	28(%esp),%edx
5835	andl	%eax,%ebx
5836	addl	32(%esp),%edx
5837	vpshufd	$250,%xmm3,%xmm7
5838	xorl	%edi,%ebx
5839	addl	%edx,%ecx
5840	addl	12(%esp),%edx
5841	vpsrld	$11,%xmm6,%xmm6
5842	leal	(%ebx,%ecx,1),%ebx
5843	rorxl	$6,%edx,%ecx
5844	rorxl	$11,%edx,%esi
5845	vpxor	%xmm5,%xmm4,%xmm4
5846	movl	%edx,12(%esp)
5847	rorxl	$25,%edx,%edi
5848	xorl	%esi,%ecx
5849	vpslld	$11,%xmm5,%xmm5
5850	andnl	20(%esp),%edx,%esi
5851	xorl	%edi,%ecx
5852	andl	16(%esp),%edx
5853	vpxor	%xmm6,%xmm4,%xmm4
5854	movl	%ebx,28(%esp)
5855	orl	%esi,%edx
5856	rorxl	$2,%ebx,%edi
5857	rorxl	$13,%ebx,%esi
5858	vpsrld	$10,%xmm7,%xmm6
5859	leal	(%edx,%ecx,1),%edx
5860	rorxl	$22,%ebx,%ecx
5861	xorl	%edi,%esi
5862	vpxor	%xmm5,%xmm4,%xmm4
5863	movl	(%esp),%edi
5864	xorl	%esi,%ecx
5865	xorl	%edi,%ebx
5866	vpsrlq	$17,%xmm7,%xmm5
5867	addl	24(%esp),%edx
5868	andl	%ebx,%eax
5869	addl	36(%esp),%edx
5870	vpaddd	%xmm4,%xmm0,%xmm0
5871	xorl	%edi,%eax
5872	addl	%edx,%ecx
5873	addl	8(%esp),%edx
5874	vpxor	%xmm5,%xmm6,%xmm6
5875	leal	(%eax,%ecx,1),%eax
5876	rorxl	$6,%edx,%ecx
5877	rorxl	$11,%edx,%esi
5878	vpsrlq	$19,%xmm7,%xmm7
5879	movl	%edx,8(%esp)
5880	rorxl	$25,%edx,%edi
5881	xorl	%esi,%ecx
5882	vpxor	%xmm7,%xmm6,%xmm6
5883	andnl	16(%esp),%edx,%esi
5884	xorl	%edi,%ecx
5885	andl	12(%esp),%edx
5886	vpshufd	$132,%xmm6,%xmm7
5887	movl	%eax,24(%esp)
5888	orl	%esi,%edx
5889	rorxl	$2,%eax,%edi
5890	rorxl	$13,%eax,%esi
5891	vpsrldq	$8,%xmm7,%xmm7
5892	leal	(%edx,%ecx,1),%edx
5893	rorxl	$22,%eax,%ecx
5894	xorl	%edi,%esi
5895	vpaddd	%xmm7,%xmm0,%xmm0
5896	movl	28(%esp),%edi
5897	xorl	%esi,%ecx
5898	xorl	%edi,%eax
5899	vpshufd	$80,%xmm0,%xmm7
5900	addl	20(%esp),%edx
5901	andl	%eax,%ebx
5902	addl	40(%esp),%edx
5903	vpsrld	$10,%xmm7,%xmm6
5904	xorl	%edi,%ebx
5905	addl	%edx,%ecx
5906	addl	4(%esp),%edx
5907	vpsrlq	$17,%xmm7,%xmm5
5908	leal	(%ebx,%ecx,1),%ebx
5909	rorxl	$6,%edx,%ecx
5910	rorxl	$11,%edx,%esi
5911	vpxor	%xmm5,%xmm6,%xmm6
5912	movl	%edx,4(%esp)
5913	rorxl	$25,%edx,%edi
5914	xorl	%esi,%ecx
5915	vpsrlq	$19,%xmm7,%xmm7
5916	andnl	12(%esp),%edx,%esi
5917	xorl	%edi,%ecx
5918	andl	8(%esp),%edx
5919	vpxor	%xmm7,%xmm6,%xmm6
5920	movl	%ebx,20(%esp)
5921	orl	%esi,%edx
5922	rorxl	$2,%ebx,%edi
5923	rorxl	$13,%ebx,%esi
5924	vpshufd	$232,%xmm6,%xmm7
5925	leal	(%edx,%ecx,1),%edx
5926	rorxl	$22,%ebx,%ecx
5927	xorl	%edi,%esi
5928	vpslldq	$8,%xmm7,%xmm7
5929	movl	24(%esp),%edi
5930	xorl	%esi,%ecx
5931	xorl	%edi,%ebx
5932	vpaddd	%xmm7,%xmm0,%xmm0
5933	addl	16(%esp),%edx
5934	andl	%ebx,%eax
5935	addl	44(%esp),%edx
5936	vpaddd	(%ebp),%xmm0,%xmm6
5937	xorl	%edi,%eax
5938	addl	%edx,%ecx
5939	addl	(%esp),%edx
5940	leal	(%eax,%ecx,1),%eax
5941	vmovdqa	%xmm6,32(%esp)
5942	vpalignr	$4,%xmm1,%xmm2,%xmm4
5943	rorxl	$6,%edx,%ecx
5944	rorxl	$11,%edx,%esi
5945	movl	%edx,(%esp)
5946	vpalignr	$4,%xmm3,%xmm0,%xmm7
5947	rorxl	$25,%edx,%edi
5948	xorl	%esi,%ecx
5949	andnl	8(%esp),%edx,%esi
5950	vpsrld	$7,%xmm4,%xmm6
5951	xorl	%edi,%ecx
5952	andl	4(%esp),%edx
5953	movl	%eax,16(%esp)
5954	vpaddd	%xmm7,%xmm1,%xmm1
5955	orl	%esi,%edx
5956	rorxl	$2,%eax,%edi
5957	rorxl	$13,%eax,%esi
5958	vpsrld	$3,%xmm4,%xmm7
5959	leal	(%edx,%ecx,1),%edx
5960	rorxl	$22,%eax,%ecx
5961	xorl	%edi,%esi
5962	vpslld	$14,%xmm4,%xmm5
5963	movl	20(%esp),%edi
5964	xorl	%esi,%ecx
5965	xorl	%edi,%eax
5966	vpxor	%xmm6,%xmm7,%xmm4
5967	addl	12(%esp),%edx
5968	andl	%eax,%ebx
5969	addl	48(%esp),%edx
5970	vpshufd	$250,%xmm0,%xmm7
5971	xorl	%edi,%ebx
5972	addl	%edx,%ecx
5973	addl	28(%esp),%edx
5974	vpsrld	$11,%xmm6,%xmm6
5975	leal	(%ebx,%ecx,1),%ebx
5976	rorxl	$6,%edx,%ecx
5977	rorxl	$11,%edx,%esi
5978	vpxor	%xmm5,%xmm4,%xmm4
5979	movl	%edx,28(%esp)
5980	rorxl	$25,%edx,%edi
5981	xorl	%esi,%ecx
5982	vpslld	$11,%xmm5,%xmm5
5983	andnl	4(%esp),%edx,%esi
5984	xorl	%edi,%ecx
5985	andl	(%esp),%edx
5986	vpxor	%xmm6,%xmm4,%xmm4
5987	movl	%ebx,12(%esp)
5988	orl	%esi,%edx
5989	rorxl	$2,%ebx,%edi
5990	rorxl	$13,%ebx,%esi
5991	vpsrld	$10,%xmm7,%xmm6
5992	leal	(%edx,%ecx,1),%edx
5993	rorxl	$22,%ebx,%ecx
5994	xorl	%edi,%esi
5995	vpxor	%xmm5,%xmm4,%xmm4
5996	movl	16(%esp),%edi
5997	xorl	%esi,%ecx
5998	xorl	%edi,%ebx
5999	vpsrlq	$17,%xmm7,%xmm5
6000	addl	8(%esp),%edx
6001	andl	%ebx,%eax
6002	addl	52(%esp),%edx
6003	vpaddd	%xmm4,%xmm1,%xmm1
6004	xorl	%edi,%eax
6005	addl	%edx,%ecx
6006	addl	24(%esp),%edx
6007	vpxor	%xmm5,%xmm6,%xmm6
6008	leal	(%eax,%ecx,1),%eax
6009	rorxl	$6,%edx,%ecx
6010	rorxl	$11,%edx,%esi
6011	vpsrlq	$19,%xmm7,%xmm7
6012	movl	%edx,24(%esp)
6013	rorxl	$25,%edx,%edi
6014	xorl	%esi,%ecx
6015	vpxor	%xmm7,%xmm6,%xmm6
6016	andnl	(%esp),%edx,%esi
6017	xorl	%edi,%ecx
6018	andl	28(%esp),%edx
6019	vpshufd	$132,%xmm6,%xmm7
6020	movl	%eax,8(%esp)
6021	orl	%esi,%edx
6022	rorxl	$2,%eax,%edi
6023	rorxl	$13,%eax,%esi
6024	vpsrldq	$8,%xmm7,%xmm7
6025	leal	(%edx,%ecx,1),%edx
6026	rorxl	$22,%eax,%ecx
6027	xorl	%edi,%esi
6028	vpaddd	%xmm7,%xmm1,%xmm1
6029	movl	12(%esp),%edi
6030	xorl	%esi,%ecx
6031	xorl	%edi,%eax
6032	vpshufd	$80,%xmm1,%xmm7
6033	addl	4(%esp),%edx
6034	andl	%eax,%ebx
6035	addl	56(%esp),%edx
6036	vpsrld	$10,%xmm7,%xmm6
6037	xorl	%edi,%ebx
6038	addl	%edx,%ecx
6039	addl	20(%esp),%edx
6040	vpsrlq	$17,%xmm7,%xmm5
6041	leal	(%ebx,%ecx,1),%ebx
6042	rorxl	$6,%edx,%ecx
6043	rorxl	$11,%edx,%esi
6044	vpxor	%xmm5,%xmm6,%xmm6
6045	movl	%edx,20(%esp)
6046	rorxl	$25,%edx,%edi
6047	xorl	%esi,%ecx
6048	vpsrlq	$19,%xmm7,%xmm7
6049	andnl	28(%esp),%edx,%esi
6050	xorl	%edi,%ecx
6051	andl	24(%esp),%edx
6052	vpxor	%xmm7,%xmm6,%xmm6
6053	movl	%ebx,4(%esp)
6054	orl	%esi,%edx
6055	rorxl	$2,%ebx,%edi
6056	rorxl	$13,%ebx,%esi
6057	vpshufd	$232,%xmm6,%xmm7
6058	leal	(%edx,%ecx,1),%edx
6059	rorxl	$22,%ebx,%ecx
6060	xorl	%edi,%esi
6061	vpslldq	$8,%xmm7,%xmm7
6062	movl	8(%esp),%edi
6063	xorl	%esi,%ecx
6064	xorl	%edi,%ebx
6065	vpaddd	%xmm7,%xmm1,%xmm1
6066	addl	(%esp),%edx
6067	andl	%ebx,%eax
6068	addl	60(%esp),%edx
6069	vpaddd	16(%ebp),%xmm1,%xmm6
6070	xorl	%edi,%eax
6071	addl	%edx,%ecx
6072	addl	16(%esp),%edx
6073	leal	(%eax,%ecx,1),%eax
6074	vmovdqa	%xmm6,48(%esp)
6075	vpalignr	$4,%xmm2,%xmm3,%xmm4
6076	rorxl	$6,%edx,%ecx
6077	rorxl	$11,%edx,%esi
6078	movl	%edx,16(%esp)
6079	vpalignr	$4,%xmm0,%xmm1,%xmm7
6080	rorxl	$25,%edx,%edi
6081	xorl	%esi,%ecx
6082	andnl	24(%esp),%edx,%esi
6083	vpsrld	$7,%xmm4,%xmm6
6084	xorl	%edi,%ecx
6085	andl	20(%esp),%edx
6086	movl	%eax,(%esp)
6087	vpaddd	%xmm7,%xmm2,%xmm2
6088	orl	%esi,%edx
6089	rorxl	$2,%eax,%edi
6090	rorxl	$13,%eax,%esi
6091	vpsrld	$3,%xmm4,%xmm7
6092	leal	(%edx,%ecx,1),%edx
6093	rorxl	$22,%eax,%ecx
6094	xorl	%edi,%esi
6095	vpslld	$14,%xmm4,%xmm5
6096	movl	4(%esp),%edi
6097	xorl	%esi,%ecx
6098	xorl	%edi,%eax
6099	vpxor	%xmm6,%xmm7,%xmm4
6100	addl	28(%esp),%edx
6101	andl	%eax,%ebx
6102	addl	64(%esp),%edx
6103	vpshufd	$250,%xmm1,%xmm7
6104	xorl	%edi,%ebx
6105	addl	%edx,%ecx
6106	addl	12(%esp),%edx
6107	vpsrld	$11,%xmm6,%xmm6
6108	leal	(%ebx,%ecx,1),%ebx
6109	rorxl	$6,%edx,%ecx
6110	rorxl	$11,%edx,%esi
6111	vpxor	%xmm5,%xmm4,%xmm4
6112	movl	%edx,12(%esp)
6113	rorxl	$25,%edx,%edi
6114	xorl	%esi,%ecx
6115	vpslld	$11,%xmm5,%xmm5
6116	andnl	20(%esp),%edx,%esi
6117	xorl	%edi,%ecx
6118	andl	16(%esp),%edx
6119	vpxor	%xmm6,%xmm4,%xmm4
6120	movl	%ebx,28(%esp)
6121	orl	%esi,%edx
6122	rorxl	$2,%ebx,%edi
6123	rorxl	$13,%ebx,%esi
6124	vpsrld	$10,%xmm7,%xmm6
6125	leal	(%edx,%ecx,1),%edx
6126	rorxl	$22,%ebx,%ecx
6127	xorl	%edi,%esi
6128	vpxor	%xmm5,%xmm4,%xmm4
6129	movl	(%esp),%edi
6130	xorl	%esi,%ecx
6131	xorl	%edi,%ebx
6132	vpsrlq	$17,%xmm7,%xmm5
6133	addl	24(%esp),%edx
6134	andl	%ebx,%eax
6135	addl	68(%esp),%edx
6136	vpaddd	%xmm4,%xmm2,%xmm2
6137	xorl	%edi,%eax
6138	addl	%edx,%ecx
6139	addl	8(%esp),%edx
6140	vpxor	%xmm5,%xmm6,%xmm6
6141	leal	(%eax,%ecx,1),%eax
6142	rorxl	$6,%edx,%ecx
6143	rorxl	$11,%edx,%esi
6144	vpsrlq	$19,%xmm7,%xmm7
6145	movl	%edx,8(%esp)
6146	rorxl	$25,%edx,%edi
6147	xorl	%esi,%ecx
6148	vpxor	%xmm7,%xmm6,%xmm6
6149	andnl	16(%esp),%edx,%esi
6150	xorl	%edi,%ecx
6151	andl	12(%esp),%edx
6152	vpshufd	$132,%xmm6,%xmm7
6153	movl	%eax,24(%esp)
6154	orl	%esi,%edx
6155	rorxl	$2,%eax,%edi
6156	rorxl	$13,%eax,%esi
6157	vpsrldq	$8,%xmm7,%xmm7
6158	leal	(%edx,%ecx,1),%edx
6159	rorxl	$22,%eax,%ecx
6160	xorl	%edi,%esi
6161	vpaddd	%xmm7,%xmm2,%xmm2
6162	movl	28(%esp),%edi
6163	xorl	%esi,%ecx
6164	xorl	%edi,%eax
6165	vpshufd	$80,%xmm2,%xmm7
6166	addl	20(%esp),%edx
6167	andl	%eax,%ebx
6168	addl	72(%esp),%edx
6169	vpsrld	$10,%xmm7,%xmm6
6170	xorl	%edi,%ebx
6171	addl	%edx,%ecx
6172	addl	4(%esp),%edx
6173	vpsrlq	$17,%xmm7,%xmm5
6174	leal	(%ebx,%ecx,1),%ebx
6175	rorxl	$6,%edx,%ecx
6176	rorxl	$11,%edx,%esi
6177	vpxor	%xmm5,%xmm6,%xmm6
6178	movl	%edx,4(%esp)
6179	rorxl	$25,%edx,%edi
6180	xorl	%esi,%ecx
6181	vpsrlq	$19,%xmm7,%xmm7
6182	andnl	12(%esp),%edx,%esi
6183	xorl	%edi,%ecx
6184	andl	8(%esp),%edx
6185	vpxor	%xmm7,%xmm6,%xmm6
6186	movl	%ebx,20(%esp)
6187	orl	%esi,%edx
6188	rorxl	$2,%ebx,%edi
6189	rorxl	$13,%ebx,%esi
6190	vpshufd	$232,%xmm6,%xmm7
6191	leal	(%edx,%ecx,1),%edx
6192	rorxl	$22,%ebx,%ecx
6193	xorl	%edi,%esi
6194	vpslldq	$8,%xmm7,%xmm7
6195	movl	24(%esp),%edi
6196	xorl	%esi,%ecx
6197	xorl	%edi,%ebx
6198	vpaddd	%xmm7,%xmm2,%xmm2
6199	addl	16(%esp),%edx
6200	andl	%ebx,%eax
6201	addl	76(%esp),%edx
6202	vpaddd	32(%ebp),%xmm2,%xmm6
6203	xorl	%edi,%eax
6204	addl	%edx,%ecx
6205	addl	(%esp),%edx
6206	leal	(%eax,%ecx,1),%eax
6207	vmovdqa	%xmm6,64(%esp)
6208	vpalignr	$4,%xmm3,%xmm0,%xmm4
6209	rorxl	$6,%edx,%ecx
6210	rorxl	$11,%edx,%esi
6211	movl	%edx,(%esp)
6212	vpalignr	$4,%xmm1,%xmm2,%xmm7
6213	rorxl	$25,%edx,%edi
6214	xorl	%esi,%ecx
6215	andnl	8(%esp),%edx,%esi
6216	vpsrld	$7,%xmm4,%xmm6
6217	xorl	%edi,%ecx
6218	andl	4(%esp),%edx
6219	movl	%eax,16(%esp)
6220	vpaddd	%xmm7,%xmm3,%xmm3
6221	orl	%esi,%edx
6222	rorxl	$2,%eax,%edi
6223	rorxl	$13,%eax,%esi
6224	vpsrld	$3,%xmm4,%xmm7
6225	leal	(%edx,%ecx,1),%edx
6226	rorxl	$22,%eax,%ecx
6227	xorl	%edi,%esi
6228	vpslld	$14,%xmm4,%xmm5
6229	movl	20(%esp),%edi
6230	xorl	%esi,%ecx
6231	xorl	%edi,%eax
6232	vpxor	%xmm6,%xmm7,%xmm4
6233	addl	12(%esp),%edx
6234	andl	%eax,%ebx
6235	addl	80(%esp),%edx
6236	vpshufd	$250,%xmm2,%xmm7
6237	xorl	%edi,%ebx
6238	addl	%edx,%ecx
6239	addl	28(%esp),%edx
6240	vpsrld	$11,%xmm6,%xmm6
6241	leal	(%ebx,%ecx,1),%ebx
6242	rorxl	$6,%edx,%ecx
6243	rorxl	$11,%edx,%esi
6244	vpxor	%xmm5,%xmm4,%xmm4
6245	movl	%edx,28(%esp)
6246	rorxl	$25,%edx,%edi
6247	xorl	%esi,%ecx
6248	vpslld	$11,%xmm5,%xmm5
6249	andnl	4(%esp),%edx,%esi
6250	xorl	%edi,%ecx
6251	andl	(%esp),%edx
6252	vpxor	%xmm6,%xmm4,%xmm4
6253	movl	%ebx,12(%esp)
6254	orl	%esi,%edx
6255	rorxl	$2,%ebx,%edi
6256	rorxl	$13,%ebx,%esi
6257	vpsrld	$10,%xmm7,%xmm6
6258	leal	(%edx,%ecx,1),%edx
6259	rorxl	$22,%ebx,%ecx
6260	xorl	%edi,%esi
6261	vpxor	%xmm5,%xmm4,%xmm4
6262	movl	16(%esp),%edi
6263	xorl	%esi,%ecx
6264	xorl	%edi,%ebx
6265	vpsrlq	$17,%xmm7,%xmm5
6266	addl	8(%esp),%edx
6267	andl	%ebx,%eax
6268	addl	84(%esp),%edx
6269	vpaddd	%xmm4,%xmm3,%xmm3
6270	xorl	%edi,%eax
6271	addl	%edx,%ecx
6272	addl	24(%esp),%edx
6273	vpxor	%xmm5,%xmm6,%xmm6
6274	leal	(%eax,%ecx,1),%eax
6275	rorxl	$6,%edx,%ecx
6276	rorxl	$11,%edx,%esi
6277	vpsrlq	$19,%xmm7,%xmm7
6278	movl	%edx,24(%esp)
6279	rorxl	$25,%edx,%edi
6280	xorl	%esi,%ecx
6281	vpxor	%xmm7,%xmm6,%xmm6
6282	andnl	(%esp),%edx,%esi
6283	xorl	%edi,%ecx
6284	andl	28(%esp),%edx
6285	vpshufd	$132,%xmm6,%xmm7
6286	movl	%eax,8(%esp)
6287	orl	%esi,%edx
6288	rorxl	$2,%eax,%edi
6289	rorxl	$13,%eax,%esi
6290	vpsrldq	$8,%xmm7,%xmm7
6291	leal	(%edx,%ecx,1),%edx
6292	rorxl	$22,%eax,%ecx
6293	xorl	%edi,%esi
6294	vpaddd	%xmm7,%xmm3,%xmm3
6295	movl	12(%esp),%edi
6296	xorl	%esi,%ecx
6297	xorl	%edi,%eax
6298	vpshufd	$80,%xmm3,%xmm7
6299	addl	4(%esp),%edx
6300	andl	%eax,%ebx
6301	addl	88(%esp),%edx
6302	vpsrld	$10,%xmm7,%xmm6
6303	xorl	%edi,%ebx
6304	addl	%edx,%ecx
6305	addl	20(%esp),%edx
6306	vpsrlq	$17,%xmm7,%xmm5
6307	leal	(%ebx,%ecx,1),%ebx
6308	rorxl	$6,%edx,%ecx
6309	rorxl	$11,%edx,%esi
6310	vpxor	%xmm5,%xmm6,%xmm6
6311	movl	%edx,20(%esp)
6312	rorxl	$25,%edx,%edi
6313	xorl	%esi,%ecx
6314	vpsrlq	$19,%xmm7,%xmm7
6315	andnl	28(%esp),%edx,%esi
6316	xorl	%edi,%ecx
6317	andl	24(%esp),%edx
6318	vpxor	%xmm7,%xmm6,%xmm6
6319	movl	%ebx,4(%esp)
6320	orl	%esi,%edx
6321	rorxl	$2,%ebx,%edi
6322	rorxl	$13,%ebx,%esi
6323	vpshufd	$232,%xmm6,%xmm7
6324	leal	(%edx,%ecx,1),%edx
6325	rorxl	$22,%ebx,%ecx
6326	xorl	%edi,%esi
6327	vpslldq	$8,%xmm7,%xmm7
6328	movl	8(%esp),%edi
6329	xorl	%esi,%ecx
6330	xorl	%edi,%ebx
6331	vpaddd	%xmm7,%xmm3,%xmm3
6332	addl	(%esp),%edx
6333	andl	%ebx,%eax
6334	addl	92(%esp),%edx
6335	vpaddd	48(%ebp),%xmm3,%xmm6
6336	xorl	%edi,%eax
6337	addl	%edx,%ecx
6338	addl	16(%esp),%edx
6339	leal	(%eax,%ecx,1),%eax
6340	vmovdqa	%xmm6,80(%esp)
6341	cmpl	$66051,64(%ebp)
6342	jne	.L018avx_bmi_00_47
6343	rorxl	$6,%edx,%ecx
6344	rorxl	$11,%edx,%esi
6345	movl	%edx,16(%esp)
6346	rorxl	$25,%edx,%edi
6347	xorl	%esi,%ecx
6348	andnl	24(%esp),%edx,%esi
6349	xorl	%edi,%ecx
6350	andl	20(%esp),%edx
6351	movl	%eax,(%esp)
6352	orl	%esi,%edx
6353	rorxl	$2,%eax,%edi
6354	rorxl	$13,%eax,%esi
6355	leal	(%edx,%ecx,1),%edx
6356	rorxl	$22,%eax,%ecx
6357	xorl	%edi,%esi
6358	movl	4(%esp),%edi
6359	xorl	%esi,%ecx
6360	xorl	%edi,%eax
6361	addl	28(%esp),%edx
6362	andl	%eax,%ebx
6363	addl	32(%esp),%edx
6364	xorl	%edi,%ebx
6365	addl	%edx,%ecx
6366	addl	12(%esp),%edx
6367	leal	(%ebx,%ecx,1),%ebx
6368	rorxl	$6,%edx,%ecx
6369	rorxl	$11,%edx,%esi
6370	movl	%edx,12(%esp)
6371	rorxl	$25,%edx,%edi
6372	xorl	%esi,%ecx
6373	andnl	20(%esp),%edx,%esi
6374	xorl	%edi,%ecx
6375	andl	16(%esp),%edx
6376	movl	%ebx,28(%esp)
6377	orl	%esi,%edx
6378	rorxl	$2,%ebx,%edi
6379	rorxl	$13,%ebx,%esi
6380	leal	(%edx,%ecx,1),%edx
6381	rorxl	$22,%ebx,%ecx
6382	xorl	%edi,%esi
6383	movl	(%esp),%edi
6384	xorl	%esi,%ecx
6385	xorl	%edi,%ebx
6386	addl	24(%esp),%edx
6387	andl	%ebx,%eax
6388	addl	36(%esp),%edx
6389	xorl	%edi,%eax
6390	addl	%edx,%ecx
6391	addl	8(%esp),%edx
6392	leal	(%eax,%ecx,1),%eax
6393	rorxl	$6,%edx,%ecx
6394	rorxl	$11,%edx,%esi
6395	movl	%edx,8(%esp)
6396	rorxl	$25,%edx,%edi
6397	xorl	%esi,%ecx
6398	andnl	16(%esp),%edx,%esi
6399	xorl	%edi,%ecx
6400	andl	12(%esp),%edx
6401	movl	%eax,24(%esp)
6402	orl	%esi,%edx
6403	rorxl	$2,%eax,%edi
6404	rorxl	$13,%eax,%esi
6405	leal	(%edx,%ecx,1),%edx
6406	rorxl	$22,%eax,%ecx
6407	xorl	%edi,%esi
6408	movl	28(%esp),%edi
6409	xorl	%esi,%ecx
6410	xorl	%edi,%eax
6411	addl	20(%esp),%edx
6412	andl	%eax,%ebx
6413	addl	40(%esp),%edx
6414	xorl	%edi,%ebx
6415	addl	%edx,%ecx
6416	addl	4(%esp),%edx
6417	leal	(%ebx,%ecx,1),%ebx
6418	rorxl	$6,%edx,%ecx
6419	rorxl	$11,%edx,%esi
6420	movl	%edx,4(%esp)
6421	rorxl	$25,%edx,%edi
6422	xorl	%esi,%ecx
6423	andnl	12(%esp),%edx,%esi
6424	xorl	%edi,%ecx
6425	andl	8(%esp),%edx
6426	movl	%ebx,20(%esp)
6427	orl	%esi,%edx
6428	rorxl	$2,%ebx,%edi
6429	rorxl	$13,%ebx,%esi
6430	leal	(%edx,%ecx,1),%edx
6431	rorxl	$22,%ebx,%ecx
6432	xorl	%edi,%esi
6433	movl	24(%esp),%edi
6434	xorl	%esi,%ecx
6435	xorl	%edi,%ebx
6436	addl	16(%esp),%edx
6437	andl	%ebx,%eax
6438	addl	44(%esp),%edx
6439	xorl	%edi,%eax
6440	addl	%edx,%ecx
6441	addl	(%esp),%edx
6442	leal	(%eax,%ecx,1),%eax
6443	rorxl	$6,%edx,%ecx
6444	rorxl	$11,%edx,%esi
6445	movl	%edx,(%esp)
6446	rorxl	$25,%edx,%edi
6447	xorl	%esi,%ecx
6448	andnl	8(%esp),%edx,%esi
6449	xorl	%edi,%ecx
6450	andl	4(%esp),%edx
6451	movl	%eax,16(%esp)
6452	orl	%esi,%edx
6453	rorxl	$2,%eax,%edi
6454	rorxl	$13,%eax,%esi
6455	leal	(%edx,%ecx,1),%edx
6456	rorxl	$22,%eax,%ecx
6457	xorl	%edi,%esi
6458	movl	20(%esp),%edi
6459	xorl	%esi,%ecx
6460	xorl	%edi,%eax
6461	addl	12(%esp),%edx
6462	andl	%eax,%ebx
6463	addl	48(%esp),%edx
6464	xorl	%edi,%ebx
6465	addl	%edx,%ecx
6466	addl	28(%esp),%edx
6467	leal	(%ebx,%ecx,1),%ebx
6468	rorxl	$6,%edx,%ecx
6469	rorxl	$11,%edx,%esi
6470	movl	%edx,28(%esp)
6471	rorxl	$25,%edx,%edi
6472	xorl	%esi,%ecx
6473	andnl	4(%esp),%edx,%esi
6474	xorl	%edi,%ecx
6475	andl	(%esp),%edx
6476	movl	%ebx,12(%esp)
6477	orl	%esi,%edx
6478	rorxl	$2,%ebx,%edi
6479	rorxl	$13,%ebx,%esi
6480	leal	(%edx,%ecx,1),%edx
6481	rorxl	$22,%ebx,%ecx
6482	xorl	%edi,%esi
6483	movl	16(%esp),%edi
6484	xorl	%esi,%ecx
6485	xorl	%edi,%ebx
6486	addl	8(%esp),%edx
6487	andl	%ebx,%eax
6488	addl	52(%esp),%edx
6489	xorl	%edi,%eax
6490	addl	%edx,%ecx
6491	addl	24(%esp),%edx
6492	leal	(%eax,%ecx,1),%eax
6493	rorxl	$6,%edx,%ecx
6494	rorxl	$11,%edx,%esi
6495	movl	%edx,24(%esp)
6496	rorxl	$25,%edx,%edi
6497	xorl	%esi,%ecx
6498	andnl	(%esp),%edx,%esi
6499	xorl	%edi,%ecx
6500	andl	28(%esp),%edx
6501	movl	%eax,8(%esp)
6502	orl	%esi,%edx
6503	rorxl	$2,%eax,%edi
6504	rorxl	$13,%eax,%esi
6505	leal	(%edx,%ecx,1),%edx
6506	rorxl	$22,%eax,%ecx
6507	xorl	%edi,%esi
6508	movl	12(%esp),%edi
6509	xorl	%esi,%ecx
6510	xorl	%edi,%eax
6511	addl	4(%esp),%edx
6512	andl	%eax,%ebx
6513	addl	56(%esp),%edx
6514	xorl	%edi,%ebx
6515	addl	%edx,%ecx
6516	addl	20(%esp),%edx
6517	leal	(%ebx,%ecx,1),%ebx
6518	rorxl	$6,%edx,%ecx
6519	rorxl	$11,%edx,%esi
6520	movl	%edx,20(%esp)
6521	rorxl	$25,%edx,%edi
6522	xorl	%esi,%ecx
6523	andnl	28(%esp),%edx,%esi
6524	xorl	%edi,%ecx
6525	andl	24(%esp),%edx
6526	movl	%ebx,4(%esp)
6527	orl	%esi,%edx
6528	rorxl	$2,%ebx,%edi
6529	rorxl	$13,%ebx,%esi
6530	leal	(%edx,%ecx,1),%edx
6531	rorxl	$22,%ebx,%ecx
6532	xorl	%edi,%esi
6533	movl	8(%esp),%edi
6534	xorl	%esi,%ecx
6535	xorl	%edi,%ebx
6536	addl	(%esp),%edx
6537	andl	%ebx,%eax
6538	addl	60(%esp),%edx
6539	xorl	%edi,%eax
6540	addl	%edx,%ecx
6541	addl	16(%esp),%edx
6542	leal	(%eax,%ecx,1),%eax
6543	rorxl	$6,%edx,%ecx
6544	rorxl	$11,%edx,%esi
6545	movl	%edx,16(%esp)
6546	rorxl	$25,%edx,%edi
6547	xorl	%esi,%ecx
6548	andnl	24(%esp),%edx,%esi
6549	xorl	%edi,%ecx
6550	andl	20(%esp),%edx
6551	movl	%eax,(%esp)
6552	orl	%esi,%edx
6553	rorxl	$2,%eax,%edi
6554	rorxl	$13,%eax,%esi
6555	leal	(%edx,%ecx,1),%edx
6556	rorxl	$22,%eax,%ecx
6557	xorl	%edi,%esi
6558	movl	4(%esp),%edi
6559	xorl	%esi,%ecx
6560	xorl	%edi,%eax
6561	addl	28(%esp),%edx
6562	andl	%eax,%ebx
6563	addl	64(%esp),%edx
6564	xorl	%edi,%ebx
6565	addl	%edx,%ecx
6566	addl	12(%esp),%edx
6567	leal	(%ebx,%ecx,1),%ebx
6568	rorxl	$6,%edx,%ecx
6569	rorxl	$11,%edx,%esi
6570	movl	%edx,12(%esp)
6571	rorxl	$25,%edx,%edi
6572	xorl	%esi,%ecx
6573	andnl	20(%esp),%edx,%esi
6574	xorl	%edi,%ecx
6575	andl	16(%esp),%edx
6576	movl	%ebx,28(%esp)
6577	orl	%esi,%edx
6578	rorxl	$2,%ebx,%edi
6579	rorxl	$13,%ebx,%esi
6580	leal	(%edx,%ecx,1),%edx
6581	rorxl	$22,%ebx,%ecx
6582	xorl	%edi,%esi
6583	movl	(%esp),%edi
6584	xorl	%esi,%ecx
6585	xorl	%edi,%ebx
6586	addl	24(%esp),%edx
6587	andl	%ebx,%eax
6588	addl	68(%esp),%edx
6589	xorl	%edi,%eax
6590	addl	%edx,%ecx
6591	addl	8(%esp),%edx
6592	leal	(%eax,%ecx,1),%eax
6593	rorxl	$6,%edx,%ecx
6594	rorxl	$11,%edx,%esi
6595	movl	%edx,8(%esp)
6596	rorxl	$25,%edx,%edi
6597	xorl	%esi,%ecx
6598	andnl	16(%esp),%edx,%esi
6599	xorl	%edi,%ecx
6600	andl	12(%esp),%edx
6601	movl	%eax,24(%esp)
6602	orl	%esi,%edx
6603	rorxl	$2,%eax,%edi
6604	rorxl	$13,%eax,%esi
6605	leal	(%edx,%ecx,1),%edx
6606	rorxl	$22,%eax,%ecx
6607	xorl	%edi,%esi
6608	movl	28(%esp),%edi
6609	xorl	%esi,%ecx
6610	xorl	%edi,%eax
6611	addl	20(%esp),%edx
6612	andl	%eax,%ebx
6613	addl	72(%esp),%edx
6614	xorl	%edi,%ebx
6615	addl	%edx,%ecx
6616	addl	4(%esp),%edx
6617	leal	(%ebx,%ecx,1),%ebx
6618	rorxl	$6,%edx,%ecx
6619	rorxl	$11,%edx,%esi
6620	movl	%edx,4(%esp)
6621	rorxl	$25,%edx,%edi
6622	xorl	%esi,%ecx
6623	andnl	12(%esp),%edx,%esi
6624	xorl	%edi,%ecx
6625	andl	8(%esp),%edx
6626	movl	%ebx,20(%esp)
6627	orl	%esi,%edx
6628	rorxl	$2,%ebx,%edi
6629	rorxl	$13,%ebx,%esi
6630	leal	(%edx,%ecx,1),%edx
6631	rorxl	$22,%ebx,%ecx
6632	xorl	%edi,%esi
6633	movl	24(%esp),%edi
6634	xorl	%esi,%ecx
6635	xorl	%edi,%ebx
6636	addl	16(%esp),%edx
6637	andl	%ebx,%eax
6638	addl	76(%esp),%edx
6639	xorl	%edi,%eax
6640	addl	%edx,%ecx
6641	addl	(%esp),%edx
6642	leal	(%eax,%ecx,1),%eax
6643	rorxl	$6,%edx,%ecx
6644	rorxl	$11,%edx,%esi
6645	movl	%edx,(%esp)
6646	rorxl	$25,%edx,%edi
6647	xorl	%esi,%ecx
6648	andnl	8(%esp),%edx,%esi
6649	xorl	%edi,%ecx
6650	andl	4(%esp),%edx
6651	movl	%eax,16(%esp)
6652	orl	%esi,%edx
6653	rorxl	$2,%eax,%edi
6654	rorxl	$13,%eax,%esi
6655	leal	(%edx,%ecx,1),%edx
6656	rorxl	$22,%eax,%ecx
6657	xorl	%edi,%esi
6658	movl	20(%esp),%edi
6659	xorl	%esi,%ecx
6660	xorl	%edi,%eax
6661	addl	12(%esp),%edx
6662	andl	%eax,%ebx
6663	addl	80(%esp),%edx
6664	xorl	%edi,%ebx
6665	addl	%edx,%ecx
6666	addl	28(%esp),%edx
6667	leal	(%ebx,%ecx,1),%ebx
6668	rorxl	$6,%edx,%ecx
6669	rorxl	$11,%edx,%esi
6670	movl	%edx,28(%esp)
6671	rorxl	$25,%edx,%edi
6672	xorl	%esi,%ecx
6673	andnl	4(%esp),%edx,%esi
6674	xorl	%edi,%ecx
6675	andl	(%esp),%edx
6676	movl	%ebx,12(%esp)
6677	orl	%esi,%edx
6678	rorxl	$2,%ebx,%edi
6679	rorxl	$13,%ebx,%esi
6680	leal	(%edx,%ecx,1),%edx
6681	rorxl	$22,%ebx,%ecx
6682	xorl	%edi,%esi
6683	movl	16(%esp),%edi
6684	xorl	%esi,%ecx
6685	xorl	%edi,%ebx
6686	addl	8(%esp),%edx
6687	andl	%ebx,%eax
6688	addl	84(%esp),%edx
6689	xorl	%edi,%eax
6690	addl	%edx,%ecx
6691	addl	24(%esp),%edx
6692	leal	(%eax,%ecx,1),%eax
6693	rorxl	$6,%edx,%ecx
6694	rorxl	$11,%edx,%esi
6695	movl	%edx,24(%esp)
6696	rorxl	$25,%edx,%edi
6697	xorl	%esi,%ecx
6698	andnl	(%esp),%edx,%esi
6699	xorl	%edi,%ecx
6700	andl	28(%esp),%edx
6701	movl	%eax,8(%esp)
6702	orl	%esi,%edx
6703	rorxl	$2,%eax,%edi
6704	rorxl	$13,%eax,%esi
6705	leal	(%edx,%ecx,1),%edx
6706	rorxl	$22,%eax,%ecx
6707	xorl	%edi,%esi
6708	movl	12(%esp),%edi
6709	xorl	%esi,%ecx
6710	xorl	%edi,%eax
6711	addl	4(%esp),%edx
6712	andl	%eax,%ebx
6713	addl	88(%esp),%edx
6714	xorl	%edi,%ebx
6715	addl	%edx,%ecx
6716	addl	20(%esp),%edx
6717	leal	(%ebx,%ecx,1),%ebx
6718	rorxl	$6,%edx,%ecx
6719	rorxl	$11,%edx,%esi
6720	movl	%edx,20(%esp)
6721	rorxl	$25,%edx,%edi
6722	xorl	%esi,%ecx
6723	andnl	28(%esp),%edx,%esi
6724	xorl	%edi,%ecx
6725	andl	24(%esp),%edx
6726	movl	%ebx,4(%esp)
6727	orl	%esi,%edx
6728	rorxl	$2,%ebx,%edi
6729	rorxl	$13,%ebx,%esi
6730	leal	(%edx,%ecx,1),%edx
6731	rorxl	$22,%ebx,%ecx
6732	xorl	%edi,%esi
6733	movl	8(%esp),%edi
6734	xorl	%esi,%ecx
6735	xorl	%edi,%ebx
6736	addl	(%esp),%edx
6737	andl	%ebx,%eax
6738	addl	92(%esp),%edx
6739	xorl	%edi,%eax
6740	addl	%edx,%ecx
6741	addl	16(%esp),%edx
6742	leal	(%eax,%ecx,1),%eax
6743	movl	96(%esp),%esi
6744	xorl	%edi,%ebx
6745	movl	12(%esp),%ecx
6746	addl	(%esi),%eax
6747	addl	4(%esi),%ebx
6748	addl	8(%esi),%edi
6749	addl	12(%esi),%ecx
6750	movl	%eax,(%esi)
6751	movl	%ebx,4(%esi)
6752	movl	%edi,8(%esi)
6753	movl	%ecx,12(%esi)
6754	movl	%ebx,4(%esp)
6755	xorl	%edi,%ebx
6756	movl	%edi,8(%esp)
6757	movl	%ecx,12(%esp)
6758	movl	20(%esp),%edi
6759	movl	24(%esp),%ecx
6760	addl	16(%esi),%edx
6761	addl	20(%esi),%edi
6762	addl	24(%esi),%ecx
6763	movl	%edx,16(%esi)
6764	movl	%edi,20(%esi)
6765	movl	%edi,20(%esp)
6766	movl	28(%esp),%edi
6767	movl	%ecx,24(%esi)
6768	addl	28(%esi),%edi
6769	movl	%ecx,24(%esp)
6770	movl	%edi,28(%esi)
6771	movl	%edi,28(%esp)
6772	movl	100(%esp),%edi
6773	vmovdqa	64(%ebp),%xmm7
6774	subl	$192,%ebp
6775	cmpl	104(%esp),%edi
6776	jb	.L017grand_avx_bmi
6777	movl	108(%esp),%esp
6778	vzeroall
6779	popl	%edi
6780	popl	%esi
6781	popl	%ebx
6782	popl	%ebp
6783	ret
6784.size	sha256_block_data_order,.-.L_sha256_block_data_order_begin
6785.comm	OPENSSL_ia32cap_P,16,4
6786#else
6787.text
6788.globl	sha256_block_data_order
6789.type	sha256_block_data_order,@function
6790.align	16
6791sha256_block_data_order:
6792.L_sha256_block_data_order_begin:
6793	pushl	%ebp
6794	pushl	%ebx
6795	pushl	%esi
6796	pushl	%edi
6797	movl	20(%esp),%esi
6798	movl	24(%esp),%edi
6799	movl	28(%esp),%eax
6800	movl	%esp,%ebx
6801	call	.L000pic_point
6802.L000pic_point:
6803	popl	%ebp
6804	leal	.L001K256-.L000pic_point(%ebp),%ebp
6805	subl	$16,%esp
6806	andl	$-64,%esp
6807	shll	$6,%eax
6808	addl	%edi,%eax
6809	movl	%esi,(%esp)
6810	movl	%edi,4(%esp)
6811	movl	%eax,8(%esp)
6812	movl	%ebx,12(%esp)
6813	leal	OPENSSL_ia32cap_P,%edx
6814	movl	(%edx),%ecx
6815	movl	4(%edx),%ebx
6816	testl	$1048576,%ecx
6817	jnz	.L002loop
6818	movl	8(%edx),%edx
6819	testl	$16777216,%ecx
6820	jz	.L003no_xmm
6821	andl	$1073741824,%ecx
6822	andl	$268435968,%ebx
6823	testl	$536870912,%edx
6824	jnz	.L004shaext
6825	orl	%ebx,%ecx
6826	andl	$1342177280,%ecx
6827	cmpl	$1342177280,%ecx
6828	je	.L005AVX
6829	testl	$512,%ebx
6830	jnz	.L006SSSE3
6831.L003no_xmm:
6832	subl	%edi,%eax
6833	cmpl	$256,%eax
6834	jae	.L007unrolled
6835	jmp	.L002loop
6836.align	16
6837.L002loop:
6838	movl	(%edi),%eax
6839	movl	4(%edi),%ebx
6840	movl	8(%edi),%ecx
6841	bswap	%eax
6842	movl	12(%edi),%edx
6843	bswap	%ebx
6844	pushl	%eax
6845	bswap	%ecx
6846	pushl	%ebx
6847	bswap	%edx
6848	pushl	%ecx
6849	pushl	%edx
6850	movl	16(%edi),%eax
6851	movl	20(%edi),%ebx
6852	movl	24(%edi),%ecx
6853	bswap	%eax
6854	movl	28(%edi),%edx
6855	bswap	%ebx
6856	pushl	%eax
6857	bswap	%ecx
6858	pushl	%ebx
6859	bswap	%edx
6860	pushl	%ecx
6861	pushl	%edx
6862	movl	32(%edi),%eax
6863	movl	36(%edi),%ebx
6864	movl	40(%edi),%ecx
6865	bswap	%eax
6866	movl	44(%edi),%edx
6867	bswap	%ebx
6868	pushl	%eax
6869	bswap	%ecx
6870	pushl	%ebx
6871	bswap	%edx
6872	pushl	%ecx
6873	pushl	%edx
6874	movl	48(%edi),%eax
6875	movl	52(%edi),%ebx
6876	movl	56(%edi),%ecx
6877	bswap	%eax
6878	movl	60(%edi),%edx
6879	bswap	%ebx
6880	pushl	%eax
6881	bswap	%ecx
6882	pushl	%ebx
6883	bswap	%edx
6884	pushl	%ecx
6885	pushl	%edx
6886	addl	$64,%edi
6887	leal	-36(%esp),%esp
6888	movl	%edi,104(%esp)
6889	movl	(%esi),%eax
6890	movl	4(%esi),%ebx
6891	movl	8(%esi),%ecx
6892	movl	12(%esi),%edi
6893	movl	%ebx,8(%esp)
6894	xorl	%ecx,%ebx
6895	movl	%ecx,12(%esp)
6896	movl	%edi,16(%esp)
6897	movl	%ebx,(%esp)
6898	movl	16(%esi),%edx
6899	movl	20(%esi),%ebx
6900	movl	24(%esi),%ecx
6901	movl	28(%esi),%edi
6902	movl	%ebx,24(%esp)
6903	movl	%ecx,28(%esp)
6904	movl	%edi,32(%esp)
6905.align	16
6906.L00800_15:
6907	movl	%edx,%ecx
6908	movl	24(%esp),%esi
6909	rorl	$14,%ecx
6910	movl	28(%esp),%edi
6911	xorl	%edx,%ecx
6912	xorl	%edi,%esi
6913	movl	96(%esp),%ebx
6914	rorl	$5,%ecx
6915	andl	%edx,%esi
6916	movl	%edx,20(%esp)
6917	xorl	%ecx,%edx
6918	addl	32(%esp),%ebx
6919	xorl	%edi,%esi
6920	rorl	$6,%edx
6921	movl	%eax,%ecx
6922	addl	%esi,%ebx
6923	rorl	$9,%ecx
6924	addl	%edx,%ebx
6925	movl	8(%esp),%edi
6926	xorl	%eax,%ecx
6927	movl	%eax,4(%esp)
6928	leal	-4(%esp),%esp
6929	rorl	$11,%ecx
6930	movl	(%ebp),%esi
6931	xorl	%eax,%ecx
6932	movl	20(%esp),%edx
6933	xorl	%edi,%eax
6934	rorl	$2,%ecx
6935	addl	%esi,%ebx
6936	movl	%eax,(%esp)
6937	addl	%ebx,%edx
6938	andl	4(%esp),%eax
6939	addl	%ecx,%ebx
6940	xorl	%edi,%eax
6941	addl	$4,%ebp
6942	addl	%ebx,%eax
6943	cmpl	$3248222580,%esi
6944	jne	.L00800_15
6945	movl	156(%esp),%ecx
6946	jmp	.L00916_63
6947.align	16
6948.L00916_63:
6949	movl	%ecx,%ebx
6950	movl	104(%esp),%esi
6951	rorl	$11,%ecx
6952	movl	%esi,%edi
6953	rorl	$2,%esi
6954	xorl	%ebx,%ecx
6955	shrl	$3,%ebx
6956	rorl	$7,%ecx
6957	xorl	%edi,%esi
6958	xorl	%ecx,%ebx
6959	rorl	$17,%esi
6960	addl	160(%esp),%ebx
6961	shrl	$10,%edi
6962	addl	124(%esp),%ebx
6963	movl	%edx,%ecx
6964	xorl	%esi,%edi
6965	movl	24(%esp),%esi
6966	rorl	$14,%ecx
6967	addl	%edi,%ebx
6968	movl	28(%esp),%edi
6969	xorl	%edx,%ecx
6970	xorl	%edi,%esi
6971	movl	%ebx,96(%esp)
6972	rorl	$5,%ecx
6973	andl	%edx,%esi
6974	movl	%edx,20(%esp)
6975	xorl	%ecx,%edx
6976	addl	32(%esp),%ebx
6977	xorl	%edi,%esi
6978	rorl	$6,%edx
6979	movl	%eax,%ecx
6980	addl	%esi,%ebx
6981	rorl	$9,%ecx
6982	addl	%edx,%ebx
6983	movl	8(%esp),%edi
6984	xorl	%eax,%ecx
6985	movl	%eax,4(%esp)
6986	leal	-4(%esp),%esp
6987	rorl	$11,%ecx
6988	movl	(%ebp),%esi
6989	xorl	%eax,%ecx
6990	movl	20(%esp),%edx
6991	xorl	%edi,%eax
6992	rorl	$2,%ecx
6993	addl	%esi,%ebx
6994	movl	%eax,(%esp)
6995	addl	%ebx,%edx
6996	andl	4(%esp),%eax
6997	addl	%ecx,%ebx
6998	xorl	%edi,%eax
6999	movl	156(%esp),%ecx
7000	addl	$4,%ebp
7001	addl	%ebx,%eax
7002	cmpl	$3329325298,%esi
7003	jne	.L00916_63
7004	movl	356(%esp),%esi
7005	movl	8(%esp),%ebx
7006	movl	16(%esp),%ecx
7007	addl	(%esi),%eax
7008	addl	4(%esi),%ebx
7009	addl	8(%esi),%edi
7010	addl	12(%esi),%ecx
7011	movl	%eax,(%esi)
7012	movl	%ebx,4(%esi)
7013	movl	%edi,8(%esi)
7014	movl	%ecx,12(%esi)
7015	movl	24(%esp),%eax
7016	movl	28(%esp),%ebx
7017	movl	32(%esp),%ecx
7018	movl	360(%esp),%edi
7019	addl	16(%esi),%edx
7020	addl	20(%esi),%eax
7021	addl	24(%esi),%ebx
7022	addl	28(%esi),%ecx
7023	movl	%edx,16(%esi)
7024	movl	%eax,20(%esi)
7025	movl	%ebx,24(%esi)
7026	movl	%ecx,28(%esi)
7027	leal	356(%esp),%esp
7028	subl	$256,%ebp
7029	cmpl	8(%esp),%edi
7030	jb	.L002loop
7031	movl	12(%esp),%esp
7032	popl	%edi
7033	popl	%esi
7034	popl	%ebx
7035	popl	%ebp
7036	ret
7037.align	64
7038.L001K256:
7039.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
7040.long	66051,67438087,134810123,202182159
7041.byte	83,72,65,50,53,54,32,98,108,111,99,107,32,116,114,97
7042.byte	110,115,102,111,114,109,32,102,111,114,32,120,56,54,44,32
7043.byte	67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97
7044.byte	112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103
7045.byte	62,0
7046.align	16
7047.L007unrolled:
7048	leal	-96(%esp),%esp
7049	movl	(%esi),%eax
7050	movl	4(%esi),%ebp
7051	movl	8(%esi),%ecx
7052	movl	12(%esi),%ebx
7053	movl	%ebp,4(%esp)
7054	xorl	%ecx,%ebp
7055	movl	%ecx,8(%esp)
7056	movl	%ebx,12(%esp)
7057	movl	16(%esi),%edx
7058	movl	20(%esi),%ebx
7059	movl	24(%esi),%ecx
7060	movl	28(%esi),%esi
7061	movl	%ebx,20(%esp)
7062	movl	%ecx,24(%esp)
7063	movl	%esi,28(%esp)
7064	jmp	.L010grand_loop
7065.align	16
7066.L010grand_loop:
7067	movl	(%edi),%ebx
7068	movl	4(%edi),%ecx
7069	bswap	%ebx
7070	movl	8(%edi),%esi
7071	bswap	%ecx
7072	movl	%ebx,32(%esp)
7073	bswap	%esi
7074	movl	%ecx,36(%esp)
7075	movl	%esi,40(%esp)
7076	movl	12(%edi),%ebx
7077	movl	16(%edi),%ecx
7078	bswap	%ebx
7079	movl	20(%edi),%esi
7080	bswap	%ecx
7081	movl	%ebx,44(%esp)
7082	bswap	%esi
7083	movl	%ecx,48(%esp)
7084	movl	%esi,52(%esp)
7085	movl	24(%edi),%ebx
7086	movl	28(%edi),%ecx
7087	bswap	%ebx
7088	movl	32(%edi),%esi
7089	bswap	%ecx
7090	movl	%ebx,56(%esp)
7091	bswap	%esi
7092	movl	%ecx,60(%esp)
7093	movl	%esi,64(%esp)
7094	movl	36(%edi),%ebx
7095	movl	40(%edi),%ecx
7096	bswap	%ebx
7097	movl	44(%edi),%esi
7098	bswap	%ecx
7099	movl	%ebx,68(%esp)
7100	bswap	%esi
7101	movl	%ecx,72(%esp)
7102	movl	%esi,76(%esp)
7103	movl	48(%edi),%ebx
7104	movl	52(%edi),%ecx
7105	bswap	%ebx
7106	movl	56(%edi),%esi
7107	bswap	%ecx
7108	movl	%ebx,80(%esp)
7109	bswap	%esi
7110	movl	%ecx,84(%esp)
7111	movl	%esi,88(%esp)
7112	movl	60(%edi),%ebx
7113	addl	$64,%edi
7114	bswap	%ebx
7115	movl	%edi,100(%esp)
7116	movl	%ebx,92(%esp)
7117	movl	%edx,%ecx
7118	movl	20(%esp),%esi
7119	rorl	$14,%edx
7120	movl	24(%esp),%edi
7121	xorl	%ecx,%edx
7122	movl	32(%esp),%ebx
7123	xorl	%edi,%esi
7124	rorl	$5,%edx
7125	andl	%ecx,%esi
7126	movl	%ecx,16(%esp)
7127	xorl	%ecx,%edx
7128	addl	28(%esp),%ebx
7129	xorl	%esi,%edi
7130	rorl	$6,%edx
7131	movl	%eax,%ecx
7132	addl	%edi,%ebx
7133	rorl	$9,%ecx
7134	movl	%eax,%esi
7135	movl	4(%esp),%edi
7136	xorl	%eax,%ecx
7137	movl	%eax,(%esp)
7138	xorl	%edi,%eax
7139	rorl	$11,%ecx
7140	andl	%eax,%ebp
7141	leal	1116352408(%ebx,%edx,1),%edx
7142	xorl	%esi,%ecx
7143	xorl	%edi,%ebp
7144	rorl	$2,%ecx
7145	addl	%edx,%ebp
7146	addl	12(%esp),%edx
7147	addl	%ecx,%ebp
7148	movl	%edx,%esi
7149	movl	16(%esp),%ecx
7150	rorl	$14,%edx
7151	movl	20(%esp),%edi
7152	xorl	%esi,%edx
7153	movl	36(%esp),%ebx
7154	xorl	%edi,%ecx
7155	rorl	$5,%edx
7156	andl	%esi,%ecx
7157	movl	%esi,12(%esp)
7158	xorl	%esi,%edx
7159	addl	24(%esp),%ebx
7160	xorl	%ecx,%edi
7161	rorl	$6,%edx
7162	movl	%ebp,%esi
7163	addl	%edi,%ebx
7164	rorl	$9,%esi
7165	movl	%ebp,%ecx
7166	movl	(%esp),%edi
7167	xorl	%ebp,%esi
7168	movl	%ebp,28(%esp)
7169	xorl	%edi,%ebp
7170	rorl	$11,%esi
7171	andl	%ebp,%eax
7172	leal	1899447441(%ebx,%edx,1),%edx
7173	xorl	%ecx,%esi
7174	xorl	%edi,%eax
7175	rorl	$2,%esi
7176	addl	%edx,%eax
7177	addl	8(%esp),%edx
7178	addl	%esi,%eax
7179	movl	%edx,%ecx
7180	movl	12(%esp),%esi
7181	rorl	$14,%edx
7182	movl	16(%esp),%edi
7183	xorl	%ecx,%edx
7184	movl	40(%esp),%ebx
7185	xorl	%edi,%esi
7186	rorl	$5,%edx
7187	andl	%ecx,%esi
7188	movl	%ecx,8(%esp)
7189	xorl	%ecx,%edx
7190	addl	20(%esp),%ebx
7191	xorl	%esi,%edi
7192	rorl	$6,%edx
7193	movl	%eax,%ecx
7194	addl	%edi,%ebx
7195	rorl	$9,%ecx
7196	movl	%eax,%esi
7197	movl	28(%esp),%edi
7198	xorl	%eax,%ecx
7199	movl	%eax,24(%esp)
7200	xorl	%edi,%eax
7201	rorl	$11,%ecx
7202	andl	%eax,%ebp
7203	leal	3049323471(%ebx,%edx,1),%edx
7204	xorl	%esi,%ecx
7205	xorl	%edi,%ebp
7206	rorl	$2,%ecx
7207	addl	%edx,%ebp
7208	addl	4(%esp),%edx
7209	addl	%ecx,%ebp
7210	movl	%edx,%esi
7211	movl	8(%esp),%ecx
7212	rorl	$14,%edx
7213	movl	12(%esp),%edi
7214	xorl	%esi,%edx
7215	movl	44(%esp),%ebx
7216	xorl	%edi,%ecx
7217	rorl	$5,%edx
7218	andl	%esi,%ecx
7219	movl	%esi,4(%esp)
7220	xorl	%esi,%edx
7221	addl	16(%esp),%ebx
7222	xorl	%ecx,%edi
7223	rorl	$6,%edx
7224	movl	%ebp,%esi
7225	addl	%edi,%ebx
7226	rorl	$9,%esi
7227	movl	%ebp,%ecx
7228	movl	24(%esp),%edi
7229	xorl	%ebp,%esi
7230	movl	%ebp,20(%esp)
7231	xorl	%edi,%ebp
7232	rorl	$11,%esi
7233	andl	%ebp,%eax
7234	leal	3921009573(%ebx,%edx,1),%edx
7235	xorl	%ecx,%esi
7236	xorl	%edi,%eax
7237	rorl	$2,%esi
7238	addl	%edx,%eax
7239	addl	(%esp),%edx
7240	addl	%esi,%eax
7241	movl	%edx,%ecx
7242	movl	4(%esp),%esi
7243	rorl	$14,%edx
7244	movl	8(%esp),%edi
7245	xorl	%ecx,%edx
7246	movl	48(%esp),%ebx
7247	xorl	%edi,%esi
7248	rorl	$5,%edx
7249	andl	%ecx,%esi
7250	movl	%ecx,(%esp)
7251	xorl	%ecx,%edx
7252	addl	12(%esp),%ebx
7253	xorl	%esi,%edi
7254	rorl	$6,%edx
7255	movl	%eax,%ecx
7256	addl	%edi,%ebx
7257	rorl	$9,%ecx
7258	movl	%eax,%esi
7259	movl	20(%esp),%edi
7260	xorl	%eax,%ecx
7261	movl	%eax,16(%esp)
7262	xorl	%edi,%eax
7263	rorl	$11,%ecx
7264	andl	%eax,%ebp
7265	leal	961987163(%ebx,%edx,1),%edx
7266	xorl	%esi,%ecx
7267	xorl	%edi,%ebp
7268	rorl	$2,%ecx
7269	addl	%edx,%ebp
7270	addl	28(%esp),%edx
7271	addl	%ecx,%ebp
7272	movl	%edx,%esi
7273	movl	(%esp),%ecx
7274	rorl	$14,%edx
7275	movl	4(%esp),%edi
7276	xorl	%esi,%edx
7277	movl	52(%esp),%ebx
7278	xorl	%edi,%ecx
7279	rorl	$5,%edx
7280	andl	%esi,%ecx
7281	movl	%esi,28(%esp)
7282	xorl	%esi,%edx
7283	addl	8(%esp),%ebx
7284	xorl	%ecx,%edi
7285	rorl	$6,%edx
7286	movl	%ebp,%esi
7287	addl	%edi,%ebx
7288	rorl	$9,%esi
7289	movl	%ebp,%ecx
7290	movl	16(%esp),%edi
7291	xorl	%ebp,%esi
7292	movl	%ebp,12(%esp)
7293	xorl	%edi,%ebp
7294	rorl	$11,%esi
7295	andl	%ebp,%eax
7296	leal	1508970993(%ebx,%edx,1),%edx
7297	xorl	%ecx,%esi
7298	xorl	%edi,%eax
7299	rorl	$2,%esi
7300	addl	%edx,%eax
7301	addl	24(%esp),%edx
7302	addl	%esi,%eax
7303	movl	%edx,%ecx
7304	movl	28(%esp),%esi
7305	rorl	$14,%edx
7306	movl	(%esp),%edi
7307	xorl	%ecx,%edx
7308	movl	56(%esp),%ebx
7309	xorl	%edi,%esi
7310	rorl	$5,%edx
7311	andl	%ecx,%esi
7312	movl	%ecx,24(%esp)
7313	xorl	%ecx,%edx
7314	addl	4(%esp),%ebx
7315	xorl	%esi,%edi
7316	rorl	$6,%edx
7317	movl	%eax,%ecx
7318	addl	%edi,%ebx
7319	rorl	$9,%ecx
7320	movl	%eax,%esi
7321	movl	12(%esp),%edi
7322	xorl	%eax,%ecx
7323	movl	%eax,8(%esp)
7324	xorl	%edi,%eax
7325	rorl	$11,%ecx
7326	andl	%eax,%ebp
7327	leal	2453635748(%ebx,%edx,1),%edx
7328	xorl	%esi,%ecx
7329	xorl	%edi,%ebp
7330	rorl	$2,%ecx
7331	addl	%edx,%ebp
7332	addl	20(%esp),%edx
7333	addl	%ecx,%ebp
7334	movl	%edx,%esi
7335	movl	24(%esp),%ecx
7336	rorl	$14,%edx
7337	movl	28(%esp),%edi
7338	xorl	%esi,%edx
7339	movl	60(%esp),%ebx
7340	xorl	%edi,%ecx
7341	rorl	$5,%edx
7342	andl	%esi,%ecx
7343	movl	%esi,20(%esp)
7344	xorl	%esi,%edx
7345	addl	(%esp),%ebx
7346	xorl	%ecx,%edi
7347	rorl	$6,%edx
7348	movl	%ebp,%esi
7349	addl	%edi,%ebx
7350	rorl	$9,%esi
7351	movl	%ebp,%ecx
7352	movl	8(%esp),%edi
7353	xorl	%ebp,%esi
7354	movl	%ebp,4(%esp)
7355	xorl	%edi,%ebp
7356	rorl	$11,%esi
7357	andl	%ebp,%eax
7358	leal	2870763221(%ebx,%edx,1),%edx
7359	xorl	%ecx,%esi
7360	xorl	%edi,%eax
7361	rorl	$2,%esi
7362	addl	%edx,%eax
7363	addl	16(%esp),%edx
7364	addl	%esi,%eax
7365	movl	%edx,%ecx
7366	movl	20(%esp),%esi
7367	rorl	$14,%edx
7368	movl	24(%esp),%edi
7369	xorl	%ecx,%edx
7370	movl	64(%esp),%ebx
7371	xorl	%edi,%esi
7372	rorl	$5,%edx
7373	andl	%ecx,%esi
7374	movl	%ecx,16(%esp)
7375	xorl	%ecx,%edx
7376	addl	28(%esp),%ebx
7377	xorl	%esi,%edi
7378	rorl	$6,%edx
7379	movl	%eax,%ecx
7380	addl	%edi,%ebx
7381	rorl	$9,%ecx
7382	movl	%eax,%esi
7383	movl	4(%esp),%edi
7384	xorl	%eax,%ecx
7385	movl	%eax,(%esp)
7386	xorl	%edi,%eax
7387	rorl	$11,%ecx
7388	andl	%eax,%ebp
7389	leal	3624381080(%ebx,%edx,1),%edx
7390	xorl	%esi,%ecx
7391	xorl	%edi,%ebp
7392	rorl	$2,%ecx
7393	addl	%edx,%ebp
7394	addl	12(%esp),%edx
7395	addl	%ecx,%ebp
7396	movl	%edx,%esi
7397	movl	16(%esp),%ecx
7398	rorl	$14,%edx
7399	movl	20(%esp),%edi
7400	xorl	%esi,%edx
7401	movl	68(%esp),%ebx
7402	xorl	%edi,%ecx
7403	rorl	$5,%edx
7404	andl	%esi,%ecx
7405	movl	%esi,12(%esp)
7406	xorl	%esi,%edx
7407	addl	24(%esp),%ebx
7408	xorl	%ecx,%edi
7409	rorl	$6,%edx
7410	movl	%ebp,%esi
7411	addl	%edi,%ebx
7412	rorl	$9,%esi
7413	movl	%ebp,%ecx
7414	movl	(%esp),%edi
7415	xorl	%ebp,%esi
7416	movl	%ebp,28(%esp)
7417	xorl	%edi,%ebp
7418	rorl	$11,%esi
7419	andl	%ebp,%eax
7420	leal	310598401(%ebx,%edx,1),%edx
7421	xorl	%ecx,%esi
7422	xorl	%edi,%eax
7423	rorl	$2,%esi
7424	addl	%edx,%eax
7425	addl	8(%esp),%edx
7426	addl	%esi,%eax
7427	movl	%edx,%ecx
7428	movl	12(%esp),%esi
7429	rorl	$14,%edx
7430	movl	16(%esp),%edi
7431	xorl	%ecx,%edx
7432	movl	72(%esp),%ebx
7433	xorl	%edi,%esi
7434	rorl	$5,%edx
7435	andl	%ecx,%esi
7436	movl	%ecx,8(%esp)
7437	xorl	%ecx,%edx
7438	addl	20(%esp),%ebx
7439	xorl	%esi,%edi
7440	rorl	$6,%edx
7441	movl	%eax,%ecx
7442	addl	%edi,%ebx
7443	rorl	$9,%ecx
7444	movl	%eax,%esi
7445	movl	28(%esp),%edi
7446	xorl	%eax,%ecx
7447	movl	%eax,24(%esp)
7448	xorl	%edi,%eax
7449	rorl	$11,%ecx
7450	andl	%eax,%ebp
7451	leal	607225278(%ebx,%edx,1),%edx
7452	xorl	%esi,%ecx
7453	xorl	%edi,%ebp
7454	rorl	$2,%ecx
7455	addl	%edx,%ebp
7456	addl	4(%esp),%edx
7457	addl	%ecx,%ebp
7458	movl	%edx,%esi
7459	movl	8(%esp),%ecx
7460	rorl	$14,%edx
7461	movl	12(%esp),%edi
7462	xorl	%esi,%edx
7463	movl	76(%esp),%ebx
7464	xorl	%edi,%ecx
7465	rorl	$5,%edx
7466	andl	%esi,%ecx
7467	movl	%esi,4(%esp)
7468	xorl	%esi,%edx
7469	addl	16(%esp),%ebx
7470	xorl	%ecx,%edi
7471	rorl	$6,%edx
7472	movl	%ebp,%esi
7473	addl	%edi,%ebx
7474	rorl	$9,%esi
7475	movl	%ebp,%ecx
7476	movl	24(%esp),%edi
7477	xorl	%ebp,%esi
7478	movl	%ebp,20(%esp)
7479	xorl	%edi,%ebp
7480	rorl	$11,%esi
7481	andl	%ebp,%eax
7482	leal	1426881987(%ebx,%edx,1),%edx
7483	xorl	%ecx,%esi
7484	xorl	%edi,%eax
7485	rorl	$2,%esi
7486	addl	%edx,%eax
7487	addl	(%esp),%edx
7488	addl	%esi,%eax
7489	movl	%edx,%ecx
7490	movl	4(%esp),%esi
7491	rorl	$14,%edx
7492	movl	8(%esp),%edi
7493	xorl	%ecx,%edx
7494	movl	80(%esp),%ebx
7495	xorl	%edi,%esi
7496	rorl	$5,%edx
7497	andl	%ecx,%esi
7498	movl	%ecx,(%esp)
7499	xorl	%ecx,%edx
7500	addl	12(%esp),%ebx
7501	xorl	%esi,%edi
7502	rorl	$6,%edx
7503	movl	%eax,%ecx
7504	addl	%edi,%ebx
7505	rorl	$9,%ecx
7506	movl	%eax,%esi
7507	movl	20(%esp),%edi
7508	xorl	%eax,%ecx
7509	movl	%eax,16(%esp)
7510	xorl	%edi,%eax
7511	rorl	$11,%ecx
7512	andl	%eax,%ebp
7513	leal	1925078388(%ebx,%edx,1),%edx
7514	xorl	%esi,%ecx
7515	xorl	%edi,%ebp
7516	rorl	$2,%ecx
7517	addl	%edx,%ebp
7518	addl	28(%esp),%edx
7519	addl	%ecx,%ebp
7520	movl	%edx,%esi
7521	movl	(%esp),%ecx
7522	rorl	$14,%edx
7523	movl	4(%esp),%edi
7524	xorl	%esi,%edx
7525	movl	84(%esp),%ebx
7526	xorl	%edi,%ecx
7527	rorl	$5,%edx
7528	andl	%esi,%ecx
7529	movl	%esi,28(%esp)
7530	xorl	%esi,%edx
7531	addl	8(%esp),%ebx
7532	xorl	%ecx,%edi
7533	rorl	$6,%edx
7534	movl	%ebp,%esi
7535	addl	%edi,%ebx
7536	rorl	$9,%esi
7537	movl	%ebp,%ecx
7538	movl	16(%esp),%edi
7539	xorl	%ebp,%esi
7540	movl	%ebp,12(%esp)
7541	xorl	%edi,%ebp
7542	rorl	$11,%esi
7543	andl	%ebp,%eax
7544	leal	2162078206(%ebx,%edx,1),%edx
7545	xorl	%ecx,%esi
7546	xorl	%edi,%eax
7547	rorl	$2,%esi
7548	addl	%edx,%eax
7549	addl	24(%esp),%edx
7550	addl	%esi,%eax
7551	movl	%edx,%ecx
7552	movl	28(%esp),%esi
7553	rorl	$14,%edx
7554	movl	(%esp),%edi
7555	xorl	%ecx,%edx
7556	movl	88(%esp),%ebx
7557	xorl	%edi,%esi
7558	rorl	$5,%edx
7559	andl	%ecx,%esi
7560	movl	%ecx,24(%esp)
7561	xorl	%ecx,%edx
7562	addl	4(%esp),%ebx
7563	xorl	%esi,%edi
7564	rorl	$6,%edx
7565	movl	%eax,%ecx
7566	addl	%edi,%ebx
7567	rorl	$9,%ecx
7568	movl	%eax,%esi
7569	movl	12(%esp),%edi
7570	xorl	%eax,%ecx
7571	movl	%eax,8(%esp)
7572	xorl	%edi,%eax
7573	rorl	$11,%ecx
7574	andl	%eax,%ebp
7575	leal	2614888103(%ebx,%edx,1),%edx
7576	xorl	%esi,%ecx
7577	xorl	%edi,%ebp
7578	rorl	$2,%ecx
7579	addl	%edx,%ebp
7580	addl	20(%esp),%edx
7581	addl	%ecx,%ebp
7582	movl	%edx,%esi
7583	movl	24(%esp),%ecx
7584	rorl	$14,%edx
7585	movl	28(%esp),%edi
7586	xorl	%esi,%edx
7587	movl	92(%esp),%ebx
7588	xorl	%edi,%ecx
7589	rorl	$5,%edx
7590	andl	%esi,%ecx
7591	movl	%esi,20(%esp)
7592	xorl	%esi,%edx
7593	addl	(%esp),%ebx
7594	xorl	%ecx,%edi
7595	rorl	$6,%edx
7596	movl	%ebp,%esi
7597	addl	%edi,%ebx
7598	rorl	$9,%esi
7599	movl	%ebp,%ecx
7600	movl	8(%esp),%edi
7601	xorl	%ebp,%esi
7602	movl	%ebp,4(%esp)
7603	xorl	%edi,%ebp
7604	rorl	$11,%esi
7605	andl	%ebp,%eax
7606	leal	3248222580(%ebx,%edx,1),%edx
7607	xorl	%ecx,%esi
7608	xorl	%edi,%eax
7609	movl	36(%esp),%ecx
7610	rorl	$2,%esi
7611	addl	%edx,%eax
7612	addl	16(%esp),%edx
7613	addl	%esi,%eax
7614	movl	88(%esp),%esi
7615	movl	%ecx,%ebx
7616	rorl	$11,%ecx
7617	movl	%esi,%edi
7618	rorl	$2,%esi
7619	xorl	%ebx,%ecx
7620	shrl	$3,%ebx
7621	rorl	$7,%ecx
7622	xorl	%edi,%esi
7623	xorl	%ecx,%ebx
7624	rorl	$17,%esi
7625	addl	32(%esp),%ebx
7626	shrl	$10,%edi
7627	addl	68(%esp),%ebx
7628	movl	%edx,%ecx
7629	xorl	%esi,%edi
7630	movl	20(%esp),%esi
7631	rorl	$14,%edx
7632	addl	%edi,%ebx
7633	movl	24(%esp),%edi
7634	xorl	%ecx,%edx
7635	movl	%ebx,32(%esp)
7636	xorl	%edi,%esi
7637	rorl	$5,%edx
7638	andl	%ecx,%esi
7639	movl	%ecx,16(%esp)
7640	xorl	%ecx,%edx
7641	addl	28(%esp),%ebx
7642	xorl	%esi,%edi
7643	rorl	$6,%edx
7644	movl	%eax,%ecx
7645	addl	%edi,%ebx
7646	rorl	$9,%ecx
7647	movl	%eax,%esi
7648	movl	4(%esp),%edi
7649	xorl	%eax,%ecx
7650	movl	%eax,(%esp)
7651	xorl	%edi,%eax
7652	rorl	$11,%ecx
7653	andl	%eax,%ebp
7654	leal	3835390401(%ebx,%edx,1),%edx
7655	xorl	%esi,%ecx
7656	xorl	%edi,%ebp
7657	movl	40(%esp),%esi
7658	rorl	$2,%ecx
7659	addl	%edx,%ebp
7660	addl	12(%esp),%edx
7661	addl	%ecx,%ebp
7662	movl	92(%esp),%ecx
7663	movl	%esi,%ebx
7664	rorl	$11,%esi
7665	movl	%ecx,%edi
7666	rorl	$2,%ecx
7667	xorl	%ebx,%esi
7668	shrl	$3,%ebx
7669	rorl	$7,%esi
7670	xorl	%edi,%ecx
7671	xorl	%esi,%ebx
7672	rorl	$17,%ecx
7673	addl	36(%esp),%ebx
7674	shrl	$10,%edi
7675	addl	72(%esp),%ebx
7676	movl	%edx,%esi
7677	xorl	%ecx,%edi
7678	movl	16(%esp),%ecx
7679	rorl	$14,%edx
7680	addl	%edi,%ebx
7681	movl	20(%esp),%edi
7682	xorl	%esi,%edx
7683	movl	%ebx,36(%esp)
7684	xorl	%edi,%ecx
7685	rorl	$5,%edx
7686	andl	%esi,%ecx
7687	movl	%esi,12(%esp)
7688	xorl	%esi,%edx
7689	addl	24(%esp),%ebx
7690	xorl	%ecx,%edi
7691	rorl	$6,%edx
7692	movl	%ebp,%esi
7693	addl	%edi,%ebx
7694	rorl	$9,%esi
7695	movl	%ebp,%ecx
7696	movl	(%esp),%edi
7697	xorl	%ebp,%esi
7698	movl	%ebp,28(%esp)
7699	xorl	%edi,%ebp
7700	rorl	$11,%esi
7701	andl	%ebp,%eax
7702	leal	4022224774(%ebx,%edx,1),%edx
7703	xorl	%ecx,%esi
7704	xorl	%edi,%eax
7705	movl	44(%esp),%ecx
7706	rorl	$2,%esi
7707	addl	%edx,%eax
7708	addl	8(%esp),%edx
7709	addl	%esi,%eax
7710	movl	32(%esp),%esi
7711	movl	%ecx,%ebx
7712	rorl	$11,%ecx
7713	movl	%esi,%edi
7714	rorl	$2,%esi
7715	xorl	%ebx,%ecx
7716	shrl	$3,%ebx
7717	rorl	$7,%ecx
7718	xorl	%edi,%esi
7719	xorl	%ecx,%ebx
7720	rorl	$17,%esi
7721	addl	40(%esp),%ebx
7722	shrl	$10,%edi
7723	addl	76(%esp),%ebx
7724	movl	%edx,%ecx
7725	xorl	%esi,%edi
7726	movl	12(%esp),%esi
7727	rorl	$14,%edx
7728	addl	%edi,%ebx
7729	movl	16(%esp),%edi
7730	xorl	%ecx,%edx
7731	movl	%ebx,40(%esp)
7732	xorl	%edi,%esi
7733	rorl	$5,%edx
7734	andl	%ecx,%esi
7735	movl	%ecx,8(%esp)
7736	xorl	%ecx,%edx
7737	addl	20(%esp),%ebx
7738	xorl	%esi,%edi
7739	rorl	$6,%edx
7740	movl	%eax,%ecx
7741	addl	%edi,%ebx
7742	rorl	$9,%ecx
7743	movl	%eax,%esi
7744	movl	28(%esp),%edi
7745	xorl	%eax,%ecx
7746	movl	%eax,24(%esp)
7747	xorl	%edi,%eax
7748	rorl	$11,%ecx
7749	andl	%eax,%ebp
7750	leal	264347078(%ebx,%edx,1),%edx
7751	xorl	%esi,%ecx
7752	xorl	%edi,%ebp
7753	movl	48(%esp),%esi
7754	rorl	$2,%ecx
7755	addl	%edx,%ebp
7756	addl	4(%esp),%edx
7757	addl	%ecx,%ebp
7758	movl	36(%esp),%ecx
7759	movl	%esi,%ebx
7760	rorl	$11,%esi
7761	movl	%ecx,%edi
7762	rorl	$2,%ecx
7763	xorl	%ebx,%esi
7764	shrl	$3,%ebx
7765	rorl	$7,%esi
7766	xorl	%edi,%ecx
7767	xorl	%esi,%ebx
7768	rorl	$17,%ecx
7769	addl	44(%esp),%ebx
7770	shrl	$10,%edi
7771	addl	80(%esp),%ebx
7772	movl	%edx,%esi
7773	xorl	%ecx,%edi
7774	movl	8(%esp),%ecx
7775	rorl	$14,%edx
7776	addl	%edi,%ebx
7777	movl	12(%esp),%edi
7778	xorl	%esi,%edx
7779	movl	%ebx,44(%esp)
7780	xorl	%edi,%ecx
7781	rorl	$5,%edx
7782	andl	%esi,%ecx
7783	movl	%esi,4(%esp)
7784	xorl	%esi,%edx
7785	addl	16(%esp),%ebx
7786	xorl	%ecx,%edi
7787	rorl	$6,%edx
7788	movl	%ebp,%esi
7789	addl	%edi,%ebx
7790	rorl	$9,%esi
7791	movl	%ebp,%ecx
7792	movl	24(%esp),%edi
7793	xorl	%ebp,%esi
7794	movl	%ebp,20(%esp)
7795	xorl	%edi,%ebp
7796	rorl	$11,%esi
7797	andl	%ebp,%eax
7798	leal	604807628(%ebx,%edx,1),%edx
7799	xorl	%ecx,%esi
7800	xorl	%edi,%eax
7801	movl	52(%esp),%ecx
7802	rorl	$2,%esi
7803	addl	%edx,%eax
7804	addl	(%esp),%edx
7805	addl	%esi,%eax
7806	movl	40(%esp),%esi
7807	movl	%ecx,%ebx
7808	rorl	$11,%ecx
7809	movl	%esi,%edi
7810	rorl	$2,%esi
7811	xorl	%ebx,%ecx
7812	shrl	$3,%ebx
7813	rorl	$7,%ecx
7814	xorl	%edi,%esi
7815	xorl	%ecx,%ebx
7816	rorl	$17,%esi
7817	addl	48(%esp),%ebx
7818	shrl	$10,%edi
7819	addl	84(%esp),%ebx
7820	movl	%edx,%ecx
7821	xorl	%esi,%edi
7822	movl	4(%esp),%esi
7823	rorl	$14,%edx
7824	addl	%edi,%ebx
7825	movl	8(%esp),%edi
7826	xorl	%ecx,%edx
7827	movl	%ebx,48(%esp)
7828	xorl	%edi,%esi
7829	rorl	$5,%edx
7830	andl	%ecx,%esi
7831	movl	%ecx,(%esp)
7832	xorl	%ecx,%edx
7833	addl	12(%esp),%ebx
7834	xorl	%esi,%edi
7835	rorl	$6,%edx
7836	movl	%eax,%ecx
7837	addl	%edi,%ebx
7838	rorl	$9,%ecx
7839	movl	%eax,%esi
7840	movl	20(%esp),%edi
7841	xorl	%eax,%ecx
7842	movl	%eax,16(%esp)
7843	xorl	%edi,%eax
7844	rorl	$11,%ecx
7845	andl	%eax,%ebp
7846	leal	770255983(%ebx,%edx,1),%edx
7847	xorl	%esi,%ecx
7848	xorl	%edi,%ebp
7849	movl	56(%esp),%esi
7850	rorl	$2,%ecx
7851	addl	%edx,%ebp
7852	addl	28(%esp),%edx
7853	addl	%ecx,%ebp
7854	movl	44(%esp),%ecx
7855	movl	%esi,%ebx
7856	rorl	$11,%esi
7857	movl	%ecx,%edi
7858	rorl	$2,%ecx
7859	xorl	%ebx,%esi
7860	shrl	$3,%ebx
7861	rorl	$7,%esi
7862	xorl	%edi,%ecx
7863	xorl	%esi,%ebx
7864	rorl	$17,%ecx
7865	addl	52(%esp),%ebx
7866	shrl	$10,%edi
7867	addl	88(%esp),%ebx
7868	movl	%edx,%esi
7869	xorl	%ecx,%edi
7870	movl	(%esp),%ecx
7871	rorl	$14,%edx
7872	addl	%edi,%ebx
7873	movl	4(%esp),%edi
7874	xorl	%esi,%edx
7875	movl	%ebx,52(%esp)
7876	xorl	%edi,%ecx
7877	rorl	$5,%edx
7878	andl	%esi,%ecx
7879	movl	%esi,28(%esp)
7880	xorl	%esi,%edx
7881	addl	8(%esp),%ebx
7882	xorl	%ecx,%edi
7883	rorl	$6,%edx
7884	movl	%ebp,%esi
7885	addl	%edi,%ebx
7886	rorl	$9,%esi
7887	movl	%ebp,%ecx
7888	movl	16(%esp),%edi
7889	xorl	%ebp,%esi
7890	movl	%ebp,12(%esp)
7891	xorl	%edi,%ebp
7892	rorl	$11,%esi
7893	andl	%ebp,%eax
7894	leal	1249150122(%ebx,%edx,1),%edx
7895	xorl	%ecx,%esi
7896	xorl	%edi,%eax
7897	movl	60(%esp),%ecx
7898	rorl	$2,%esi
7899	addl	%edx,%eax
7900	addl	24(%esp),%edx
7901	addl	%esi,%eax
7902	movl	48(%esp),%esi
7903	movl	%ecx,%ebx
7904	rorl	$11,%ecx
7905	movl	%esi,%edi
7906	rorl	$2,%esi
7907	xorl	%ebx,%ecx
7908	shrl	$3,%ebx
7909	rorl	$7,%ecx
7910	xorl	%edi,%esi
7911	xorl	%ecx,%ebx
7912	rorl	$17,%esi
7913	addl	56(%esp),%ebx
7914	shrl	$10,%edi
7915	addl	92(%esp),%ebx
7916	movl	%edx,%ecx
7917	xorl	%esi,%edi
7918	movl	28(%esp),%esi
7919	rorl	$14,%edx
7920	addl	%edi,%ebx
7921	movl	(%esp),%edi
7922	xorl	%ecx,%edx
7923	movl	%ebx,56(%esp)
7924	xorl	%edi,%esi
7925	rorl	$5,%edx
7926	andl	%ecx,%esi
7927	movl	%ecx,24(%esp)
7928	xorl	%ecx,%edx
7929	addl	4(%esp),%ebx
7930	xorl	%esi,%edi
7931	rorl	$6,%edx
7932	movl	%eax,%ecx
7933	addl	%edi,%ebx
7934	rorl	$9,%ecx
7935	movl	%eax,%esi
7936	movl	12(%esp),%edi
7937	xorl	%eax,%ecx
7938	movl	%eax,8(%esp)
7939	xorl	%edi,%eax
7940	rorl	$11,%ecx
7941	andl	%eax,%ebp
7942	leal	1555081692(%ebx,%edx,1),%edx
7943	xorl	%esi,%ecx
7944	xorl	%edi,%ebp
7945	movl	64(%esp),%esi
7946	rorl	$2,%ecx
7947	addl	%edx,%ebp
7948	addl	20(%esp),%edx
7949	addl	%ecx,%ebp
7950	movl	52(%esp),%ecx
7951	movl	%esi,%ebx
7952	rorl	$11,%esi
7953	movl	%ecx,%edi
7954	rorl	$2,%ecx
7955	xorl	%ebx,%esi
7956	shrl	$3,%ebx
7957	rorl	$7,%esi
7958	xorl	%edi,%ecx
7959	xorl	%esi,%ebx
7960	rorl	$17,%ecx
7961	addl	60(%esp),%ebx
7962	shrl	$10,%edi
7963	addl	32(%esp),%ebx
7964	movl	%edx,%esi
7965	xorl	%ecx,%edi
7966	movl	24(%esp),%ecx
7967	rorl	$14,%edx
7968	addl	%edi,%ebx
7969	movl	28(%esp),%edi
7970	xorl	%esi,%edx
7971	movl	%ebx,60(%esp)
7972	xorl	%edi,%ecx
7973	rorl	$5,%edx
7974	andl	%esi,%ecx
7975	movl	%esi,20(%esp)
7976	xorl	%esi,%edx
7977	addl	(%esp),%ebx
7978	xorl	%ecx,%edi
7979	rorl	$6,%edx
7980	movl	%ebp,%esi
7981	addl	%edi,%ebx
7982	rorl	$9,%esi
7983	movl	%ebp,%ecx
7984	movl	8(%esp),%edi
7985	xorl	%ebp,%esi
7986	movl	%ebp,4(%esp)
7987	xorl	%edi,%ebp
7988	rorl	$11,%esi
7989	andl	%ebp,%eax
7990	leal	1996064986(%ebx,%edx,1),%edx
7991	xorl	%ecx,%esi
7992	xorl	%edi,%eax
7993	movl	68(%esp),%ecx
7994	rorl	$2,%esi
7995	addl	%edx,%eax
7996	addl	16(%esp),%edx
7997	addl	%esi,%eax
7998	movl	56(%esp),%esi
7999	movl	%ecx,%ebx
8000	rorl	$11,%ecx
8001	movl	%esi,%edi
8002	rorl	$2,%esi
8003	xorl	%ebx,%ecx
8004	shrl	$3,%ebx
8005	rorl	$7,%ecx
8006	xorl	%edi,%esi
8007	xorl	%ecx,%ebx
8008	rorl	$17,%esi
8009	addl	64(%esp),%ebx
8010	shrl	$10,%edi
8011	addl	36(%esp),%ebx
8012	movl	%edx,%ecx
8013	xorl	%esi,%edi
8014	movl	20(%esp),%esi
8015	rorl	$14,%edx
8016	addl	%edi,%ebx
8017	movl	24(%esp),%edi
8018	xorl	%ecx,%edx
8019	movl	%ebx,64(%esp)
8020	xorl	%edi,%esi
8021	rorl	$5,%edx
8022	andl	%ecx,%esi
8023	movl	%ecx,16(%esp)
8024	xorl	%ecx,%edx
8025	addl	28(%esp),%ebx
8026	xorl	%esi,%edi
8027	rorl	$6,%edx
8028	movl	%eax,%ecx
8029	addl	%edi,%ebx
8030	rorl	$9,%ecx
8031	movl	%eax,%esi
8032	movl	4(%esp),%edi
8033	xorl	%eax,%ecx
8034	movl	%eax,(%esp)
8035	xorl	%edi,%eax
8036	rorl	$11,%ecx
8037	andl	%eax,%ebp
8038	leal	2554220882(%ebx,%edx,1),%edx
8039	xorl	%esi,%ecx
8040	xorl	%edi,%ebp
8041	movl	72(%esp),%esi
8042	rorl	$2,%ecx
8043	addl	%edx,%ebp
8044	addl	12(%esp),%edx
8045	addl	%ecx,%ebp
8046	movl	60(%esp),%ecx
8047	movl	%esi,%ebx
8048	rorl	$11,%esi
8049	movl	%ecx,%edi
8050	rorl	$2,%ecx
8051	xorl	%ebx,%esi
8052	shrl	$3,%ebx
8053	rorl	$7,%esi
8054	xorl	%edi,%ecx
8055	xorl	%esi,%ebx
8056	rorl	$17,%ecx
8057	addl	68(%esp),%ebx
8058	shrl	$10,%edi
8059	addl	40(%esp),%ebx
8060	movl	%edx,%esi
8061	xorl	%ecx,%edi
8062	movl	16(%esp),%ecx
8063	rorl	$14,%edx
8064	addl	%edi,%ebx
8065	movl	20(%esp),%edi
8066	xorl	%esi,%edx
8067	movl	%ebx,68(%esp)
8068	xorl	%edi,%ecx
8069	rorl	$5,%edx
8070	andl	%esi,%ecx
8071	movl	%esi,12(%esp)
8072	xorl	%esi,%edx
8073	addl	24(%esp),%ebx
8074	xorl	%ecx,%edi
8075	rorl	$6,%edx
8076	movl	%ebp,%esi
8077	addl	%edi,%ebx
8078	rorl	$9,%esi
8079	movl	%ebp,%ecx
8080	movl	(%esp),%edi
8081	xorl	%ebp,%esi
8082	movl	%ebp,28(%esp)
8083	xorl	%edi,%ebp
8084	rorl	$11,%esi
8085	andl	%ebp,%eax
8086	leal	2821834349(%ebx,%edx,1),%edx
8087	xorl	%ecx,%esi
8088	xorl	%edi,%eax
8089	movl	76(%esp),%ecx
8090	rorl	$2,%esi
8091	addl	%edx,%eax
8092	addl	8(%esp),%edx
8093	addl	%esi,%eax
8094	movl	64(%esp),%esi
8095	movl	%ecx,%ebx
8096	rorl	$11,%ecx
8097	movl	%esi,%edi
8098	rorl	$2,%esi
8099	xorl	%ebx,%ecx
8100	shrl	$3,%ebx
8101	rorl	$7,%ecx
8102	xorl	%edi,%esi
8103	xorl	%ecx,%ebx
8104	rorl	$17,%esi
8105	addl	72(%esp),%ebx
8106	shrl	$10,%edi
8107	addl	44(%esp),%ebx
8108	movl	%edx,%ecx
8109	xorl	%esi,%edi
8110	movl	12(%esp),%esi
8111	rorl	$14,%edx
8112	addl	%edi,%ebx
8113	movl	16(%esp),%edi
8114	xorl	%ecx,%edx
8115	movl	%ebx,72(%esp)
8116	xorl	%edi,%esi
8117	rorl	$5,%edx
8118	andl	%ecx,%esi
8119	movl	%ecx,8(%esp)
8120	xorl	%ecx,%edx
8121	addl	20(%esp),%ebx
8122	xorl	%esi,%edi
8123	rorl	$6,%edx
8124	movl	%eax,%ecx
8125	addl	%edi,%ebx
8126	rorl	$9,%ecx
8127	movl	%eax,%esi
8128	movl	28(%esp),%edi
8129	xorl	%eax,%ecx
8130	movl	%eax,24(%esp)
8131	xorl	%edi,%eax
8132	rorl	$11,%ecx
8133	andl	%eax,%ebp
8134	leal	2952996808(%ebx,%edx,1),%edx
8135	xorl	%esi,%ecx
8136	xorl	%edi,%ebp
8137	movl	80(%esp),%esi
8138	rorl	$2,%ecx
8139	addl	%edx,%ebp
8140	addl	4(%esp),%edx
8141	addl	%ecx,%ebp
8142	movl	68(%esp),%ecx
8143	movl	%esi,%ebx
8144	rorl	$11,%esi
8145	movl	%ecx,%edi
8146	rorl	$2,%ecx
8147	xorl	%ebx,%esi
8148	shrl	$3,%ebx
8149	rorl	$7,%esi
8150	xorl	%edi,%ecx
8151	xorl	%esi,%ebx
8152	rorl	$17,%ecx
8153	addl	76(%esp),%ebx
8154	shrl	$10,%edi
8155	addl	48(%esp),%ebx
8156	movl	%edx,%esi
8157	xorl	%ecx,%edi
8158	movl	8(%esp),%ecx
8159	rorl	$14,%edx
8160	addl	%edi,%ebx
8161	movl	12(%esp),%edi
8162	xorl	%esi,%edx
8163	movl	%ebx,76(%esp)
8164	xorl	%edi,%ecx
8165	rorl	$5,%edx
8166	andl	%esi,%ecx
8167	movl	%esi,4(%esp)
8168	xorl	%esi,%edx
8169	addl	16(%esp),%ebx
8170	xorl	%ecx,%edi
8171	rorl	$6,%edx
8172	movl	%ebp,%esi
8173	addl	%edi,%ebx
8174	rorl	$9,%esi
8175	movl	%ebp,%ecx
8176	movl	24(%esp),%edi
8177	xorl	%ebp,%esi
8178	movl	%ebp,20(%esp)
8179	xorl	%edi,%ebp
8180	rorl	$11,%esi
8181	andl	%ebp,%eax
8182	leal	3210313671(%ebx,%edx,1),%edx
8183	xorl	%ecx,%esi
8184	xorl	%edi,%eax
8185	movl	84(%esp),%ecx
8186	rorl	$2,%esi
8187	addl	%edx,%eax
8188	addl	(%esp),%edx
8189	addl	%esi,%eax
8190	movl	72(%esp),%esi
8191	movl	%ecx,%ebx
8192	rorl	$11,%ecx
8193	movl	%esi,%edi
8194	rorl	$2,%esi
8195	xorl	%ebx,%ecx
8196	shrl	$3,%ebx
8197	rorl	$7,%ecx
8198	xorl	%edi,%esi
8199	xorl	%ecx,%ebx
8200	rorl	$17,%esi
8201	addl	80(%esp),%ebx
8202	shrl	$10,%edi
8203	addl	52(%esp),%ebx
8204	movl	%edx,%ecx
8205	xorl	%esi,%edi
8206	movl	4(%esp),%esi
8207	rorl	$14,%edx
8208	addl	%edi,%ebx
8209	movl	8(%esp),%edi
8210	xorl	%ecx,%edx
8211	movl	%ebx,80(%esp)
8212	xorl	%edi,%esi
8213	rorl	$5,%edx
8214	andl	%ecx,%esi
8215	movl	%ecx,(%esp)
8216	xorl	%ecx,%edx
8217	addl	12(%esp),%ebx
8218	xorl	%esi,%edi
8219	rorl	$6,%edx
8220	movl	%eax,%ecx
8221	addl	%edi,%ebx
8222	rorl	$9,%ecx
8223	movl	%eax,%esi
8224	movl	20(%esp),%edi
8225	xorl	%eax,%ecx
8226	movl	%eax,16(%esp)
8227	xorl	%edi,%eax
8228	rorl	$11,%ecx
8229	andl	%eax,%ebp
8230	leal	3336571891(%ebx,%edx,1),%edx
8231	xorl	%esi,%ecx
8232	xorl	%edi,%ebp
8233	movl	88(%esp),%esi
8234	rorl	$2,%ecx
8235	addl	%edx,%ebp
8236	addl	28(%esp),%edx
8237	addl	%ecx,%ebp
8238	movl	76(%esp),%ecx
8239	movl	%esi,%ebx
8240	rorl	$11,%esi
8241	movl	%ecx,%edi
8242	rorl	$2,%ecx
8243	xorl	%ebx,%esi
8244	shrl	$3,%ebx
8245	rorl	$7,%esi
8246	xorl	%edi,%ecx
8247	xorl	%esi,%ebx
8248	rorl	$17,%ecx
8249	addl	84(%esp),%ebx
8250	shrl	$10,%edi
8251	addl	56(%esp),%ebx
8252	movl	%edx,%esi
8253	xorl	%ecx,%edi
8254	movl	(%esp),%ecx
8255	rorl	$14,%edx
8256	addl	%edi,%ebx
8257	movl	4(%esp),%edi
8258	xorl	%esi,%edx
8259	movl	%ebx,84(%esp)
8260	xorl	%edi,%ecx
8261	rorl	$5,%edx
8262	andl	%esi,%ecx
8263	movl	%esi,28(%esp)
8264	xorl	%esi,%edx
8265	addl	8(%esp),%ebx
8266	xorl	%ecx,%edi
8267	rorl	$6,%edx
8268	movl	%ebp,%esi
8269	addl	%edi,%ebx
8270	rorl	$9,%esi
8271	movl	%ebp,%ecx
8272	movl	16(%esp),%edi
8273	xorl	%ebp,%esi
8274	movl	%ebp,12(%esp)
8275	xorl	%edi,%ebp
8276	rorl	$11,%esi
8277	andl	%ebp,%eax
8278	leal	3584528711(%ebx,%edx,1),%edx
8279	xorl	%ecx,%esi
8280	xorl	%edi,%eax
8281	movl	92(%esp),%ecx
8282	rorl	$2,%esi
8283	addl	%edx,%eax
8284	addl	24(%esp),%edx
8285	addl	%esi,%eax
8286	movl	80(%esp),%esi
8287	movl	%ecx,%ebx
8288	rorl	$11,%ecx
8289	movl	%esi,%edi
8290	rorl	$2,%esi
8291	xorl	%ebx,%ecx
8292	shrl	$3,%ebx
8293	rorl	$7,%ecx
8294	xorl	%edi,%esi
8295	xorl	%ecx,%ebx
8296	rorl	$17,%esi
8297	addl	88(%esp),%ebx
8298	shrl	$10,%edi
8299	addl	60(%esp),%ebx
8300	movl	%edx,%ecx
8301	xorl	%esi,%edi
8302	movl	28(%esp),%esi
8303	rorl	$14,%edx
8304	addl	%edi,%ebx
8305	movl	(%esp),%edi
8306	xorl	%ecx,%edx
8307	movl	%ebx,88(%esp)
8308	xorl	%edi,%esi
8309	rorl	$5,%edx
8310	andl	%ecx,%esi
8311	movl	%ecx,24(%esp)
8312	xorl	%ecx,%edx
8313	addl	4(%esp),%ebx
8314	xorl	%esi,%edi
8315	rorl	$6,%edx
8316	movl	%eax,%ecx
8317	addl	%edi,%ebx
8318	rorl	$9,%ecx
8319	movl	%eax,%esi
8320	movl	12(%esp),%edi
8321	xorl	%eax,%ecx
8322	movl	%eax,8(%esp)
8323	xorl	%edi,%eax
8324	rorl	$11,%ecx
8325	andl	%eax,%ebp
8326	leal	113926993(%ebx,%edx,1),%edx
8327	xorl	%esi,%ecx
8328	xorl	%edi,%ebp
8329	movl	32(%esp),%esi
8330	rorl	$2,%ecx
8331	addl	%edx,%ebp
8332	addl	20(%esp),%edx
8333	addl	%ecx,%ebp
8334	movl	84(%esp),%ecx
8335	movl	%esi,%ebx
8336	rorl	$11,%esi
8337	movl	%ecx,%edi
8338	rorl	$2,%ecx
8339	xorl	%ebx,%esi
8340	shrl	$3,%ebx
8341	rorl	$7,%esi
8342	xorl	%edi,%ecx
8343	xorl	%esi,%ebx
8344	rorl	$17,%ecx
8345	addl	92(%esp),%ebx
8346	shrl	$10,%edi
8347	addl	64(%esp),%ebx
8348	movl	%edx,%esi
8349	xorl	%ecx,%edi
8350	movl	24(%esp),%ecx
8351	rorl	$14,%edx
8352	addl	%edi,%ebx
8353	movl	28(%esp),%edi
8354	xorl	%esi,%edx
8355	movl	%ebx,92(%esp)
8356	xorl	%edi,%ecx
8357	rorl	$5,%edx
8358	andl	%esi,%ecx
8359	movl	%esi,20(%esp)
8360	xorl	%esi,%edx
8361	addl	(%esp),%ebx
8362	xorl	%ecx,%edi
8363	rorl	$6,%edx
8364	movl	%ebp,%esi
8365	addl	%edi,%ebx
8366	rorl	$9,%esi
8367	movl	%ebp,%ecx
8368	movl	8(%esp),%edi
8369	xorl	%ebp,%esi
8370	movl	%ebp,4(%esp)
8371	xorl	%edi,%ebp
8372	rorl	$11,%esi
8373	andl	%ebp,%eax
8374	leal	338241895(%ebx,%edx,1),%edx
8375	xorl	%ecx,%esi
8376	xorl	%edi,%eax
8377	movl	36(%esp),%ecx
8378	rorl	$2,%esi
8379	addl	%edx,%eax
8380	addl	16(%esp),%edx
8381	addl	%esi,%eax
8382	movl	88(%esp),%esi
8383	movl	%ecx,%ebx
8384	rorl	$11,%ecx
8385	movl	%esi,%edi
8386	rorl	$2,%esi
8387	xorl	%ebx,%ecx
8388	shrl	$3,%ebx
8389	rorl	$7,%ecx
8390	xorl	%edi,%esi
8391	xorl	%ecx,%ebx
8392	rorl	$17,%esi
8393	addl	32(%esp),%ebx
8394	shrl	$10,%edi
8395	addl	68(%esp),%ebx
8396	movl	%edx,%ecx
8397	xorl	%esi,%edi
8398	movl	20(%esp),%esi
8399	rorl	$14,%edx
8400	addl	%edi,%ebx
8401	movl	24(%esp),%edi
8402	xorl	%ecx,%edx
8403	movl	%ebx,32(%esp)
8404	xorl	%edi,%esi
8405	rorl	$5,%edx
8406	andl	%ecx,%esi
8407	movl	%ecx,16(%esp)
8408	xorl	%ecx,%edx
8409	addl	28(%esp),%ebx
8410	xorl	%esi,%edi
8411	rorl	$6,%edx
8412	movl	%eax,%ecx
8413	addl	%edi,%ebx
8414	rorl	$9,%ecx
8415	movl	%eax,%esi
8416	movl	4(%esp),%edi
8417	xorl	%eax,%ecx
8418	movl	%eax,(%esp)
8419	xorl	%edi,%eax
8420	rorl	$11,%ecx
8421	andl	%eax,%ebp
8422	leal	666307205(%ebx,%edx,1),%edx
8423	xorl	%esi,%ecx
8424	xorl	%edi,%ebp
8425	movl	40(%esp),%esi
8426	rorl	$2,%ecx
8427	addl	%edx,%ebp
8428	addl	12(%esp),%edx
8429	addl	%ecx,%ebp
8430	movl	92(%esp),%ecx
8431	movl	%esi,%ebx
8432	rorl	$11,%esi
8433	movl	%ecx,%edi
8434	rorl	$2,%ecx
8435	xorl	%ebx,%esi
8436	shrl	$3,%ebx
8437	rorl	$7,%esi
8438	xorl	%edi,%ecx
8439	xorl	%esi,%ebx
8440	rorl	$17,%ecx
8441	addl	36(%esp),%ebx
8442	shrl	$10,%edi
8443	addl	72(%esp),%ebx
8444	movl	%edx,%esi
8445	xorl	%ecx,%edi
8446	movl	16(%esp),%ecx
8447	rorl	$14,%edx
8448	addl	%edi,%ebx
8449	movl	20(%esp),%edi
8450	xorl	%esi,%edx
8451	movl	%ebx,36(%esp)
8452	xorl	%edi,%ecx
8453	rorl	$5,%edx
8454	andl	%esi,%ecx
8455	movl	%esi,12(%esp)
8456	xorl	%esi,%edx
8457	addl	24(%esp),%ebx
8458	xorl	%ecx,%edi
8459	rorl	$6,%edx
8460	movl	%ebp,%esi
8461	addl	%edi,%ebx
8462	rorl	$9,%esi
8463	movl	%ebp,%ecx
8464	movl	(%esp),%edi
8465	xorl	%ebp,%esi
8466	movl	%ebp,28(%esp)
8467	xorl	%edi,%ebp
8468	rorl	$11,%esi
8469	andl	%ebp,%eax
8470	leal	773529912(%ebx,%edx,1),%edx
8471	xorl	%ecx,%esi
8472	xorl	%edi,%eax
8473	movl	44(%esp),%ecx
8474	rorl	$2,%esi
8475	addl	%edx,%eax
8476	addl	8(%esp),%edx
8477	addl	%esi,%eax
8478	movl	32(%esp),%esi
8479	movl	%ecx,%ebx
8480	rorl	$11,%ecx
8481	movl	%esi,%edi
8482	rorl	$2,%esi
8483	xorl	%ebx,%ecx
8484	shrl	$3,%ebx
8485	rorl	$7,%ecx
8486	xorl	%edi,%esi
8487	xorl	%ecx,%ebx
8488	rorl	$17,%esi
8489	addl	40(%esp),%ebx
8490	shrl	$10,%edi
8491	addl	76(%esp),%ebx
8492	movl	%edx,%ecx
8493	xorl	%esi,%edi
8494	movl	12(%esp),%esi
8495	rorl	$14,%edx
8496	addl	%edi,%ebx
8497	movl	16(%esp),%edi
8498	xorl	%ecx,%edx
8499	movl	%ebx,40(%esp)
8500	xorl	%edi,%esi
8501	rorl	$5,%edx
8502	andl	%ecx,%esi
8503	movl	%ecx,8(%esp)
8504	xorl	%ecx,%edx
8505	addl	20(%esp),%ebx
8506	xorl	%esi,%edi
8507	rorl	$6,%edx
8508	movl	%eax,%ecx
8509	addl	%edi,%ebx
8510	rorl	$9,%ecx
8511	movl	%eax,%esi
8512	movl	28(%esp),%edi
8513	xorl	%eax,%ecx
8514	movl	%eax,24(%esp)
8515	xorl	%edi,%eax
8516	rorl	$11,%ecx
8517	andl	%eax,%ebp
8518	leal	1294757372(%ebx,%edx,1),%edx
8519	xorl	%esi,%ecx
8520	xorl	%edi,%ebp
8521	movl	48(%esp),%esi
8522	rorl	$2,%ecx
8523	addl	%edx,%ebp
8524	addl	4(%esp),%edx
8525	addl	%ecx,%ebp
8526	movl	36(%esp),%ecx
8527	movl	%esi,%ebx
8528	rorl	$11,%esi
8529	movl	%ecx,%edi
8530	rorl	$2,%ecx
8531	xorl	%ebx,%esi
8532	shrl	$3,%ebx
8533	rorl	$7,%esi
8534	xorl	%edi,%ecx
8535	xorl	%esi,%ebx
8536	rorl	$17,%ecx
8537	addl	44(%esp),%ebx
8538	shrl	$10,%edi
8539	addl	80(%esp),%ebx
8540	movl	%edx,%esi
8541	xorl	%ecx,%edi
8542	movl	8(%esp),%ecx
8543	rorl	$14,%edx
8544	addl	%edi,%ebx
8545	movl	12(%esp),%edi
8546	xorl	%esi,%edx
8547	movl	%ebx,44(%esp)
8548	xorl	%edi,%ecx
8549	rorl	$5,%edx
8550	andl	%esi,%ecx
8551	movl	%esi,4(%esp)
8552	xorl	%esi,%edx
8553	addl	16(%esp),%ebx
8554	xorl	%ecx,%edi
8555	rorl	$6,%edx
8556	movl	%ebp,%esi
8557	addl	%edi,%ebx
8558	rorl	$9,%esi
8559	movl	%ebp,%ecx
8560	movl	24(%esp),%edi
8561	xorl	%ebp,%esi
8562	movl	%ebp,20(%esp)
8563	xorl	%edi,%ebp
8564	rorl	$11,%esi
8565	andl	%ebp,%eax
8566	leal	1396182291(%ebx,%edx,1),%edx
8567	xorl	%ecx,%esi
8568	xorl	%edi,%eax
8569	movl	52(%esp),%ecx
8570	rorl	$2,%esi
8571	addl	%edx,%eax
8572	addl	(%esp),%edx
8573	addl	%esi,%eax
8574	movl	40(%esp),%esi
8575	movl	%ecx,%ebx
8576	rorl	$11,%ecx
8577	movl	%esi,%edi
8578	rorl	$2,%esi
8579	xorl	%ebx,%ecx
8580	shrl	$3,%ebx
8581	rorl	$7,%ecx
8582	xorl	%edi,%esi
8583	xorl	%ecx,%ebx
8584	rorl	$17,%esi
8585	addl	48(%esp),%ebx
8586	shrl	$10,%edi
8587	addl	84(%esp),%ebx
8588	movl	%edx,%ecx
8589	xorl	%esi,%edi
8590	movl	4(%esp),%esi
8591	rorl	$14,%edx
8592	addl	%edi,%ebx
8593	movl	8(%esp),%edi
8594	xorl	%ecx,%edx
8595	movl	%ebx,48(%esp)
8596	xorl	%edi,%esi
8597	rorl	$5,%edx
8598	andl	%ecx,%esi
8599	movl	%ecx,(%esp)
8600	xorl	%ecx,%edx
8601	addl	12(%esp),%ebx
8602	xorl	%esi,%edi
8603	rorl	$6,%edx
8604	movl	%eax,%ecx
8605	addl	%edi,%ebx
8606	rorl	$9,%ecx
8607	movl	%eax,%esi
8608	movl	20(%esp),%edi
8609	xorl	%eax,%ecx
8610	movl	%eax,16(%esp)
8611	xorl	%edi,%eax
8612	rorl	$11,%ecx
8613	andl	%eax,%ebp
8614	leal	1695183700(%ebx,%edx,1),%edx
8615	xorl	%esi,%ecx
8616	xorl	%edi,%ebp
8617	movl	56(%esp),%esi
8618	rorl	$2,%ecx
8619	addl	%edx,%ebp
8620	addl	28(%esp),%edx
8621	addl	%ecx,%ebp
8622	movl	44(%esp),%ecx
8623	movl	%esi,%ebx
8624	rorl	$11,%esi
8625	movl	%ecx,%edi
8626	rorl	$2,%ecx
8627	xorl	%ebx,%esi
8628	shrl	$3,%ebx
8629	rorl	$7,%esi
8630	xorl	%edi,%ecx
8631	xorl	%esi,%ebx
8632	rorl	$17,%ecx
8633	addl	52(%esp),%ebx
8634	shrl	$10,%edi
8635	addl	88(%esp),%ebx
8636	movl	%edx,%esi
8637	xorl	%ecx,%edi
8638	movl	(%esp),%ecx
8639	rorl	$14,%edx
8640	addl	%edi,%ebx
8641	movl	4(%esp),%edi
8642	xorl	%esi,%edx
8643	movl	%ebx,52(%esp)
8644	xorl	%edi,%ecx
8645	rorl	$5,%edx
8646	andl	%esi,%ecx
8647	movl	%esi,28(%esp)
8648	xorl	%esi,%edx
8649	addl	8(%esp),%ebx
8650	xorl	%ecx,%edi
8651	rorl	$6,%edx
8652	movl	%ebp,%esi
8653	addl	%edi,%ebx
8654	rorl	$9,%esi
8655	movl	%ebp,%ecx
8656	movl	16(%esp),%edi
8657	xorl	%ebp,%esi
8658	movl	%ebp,12(%esp)
8659	xorl	%edi,%ebp
8660	rorl	$11,%esi
8661	andl	%ebp,%eax
8662	leal	1986661051(%ebx,%edx,1),%edx
8663	xorl	%ecx,%esi
8664	xorl	%edi,%eax
8665	movl	60(%esp),%ecx
8666	rorl	$2,%esi
8667	addl	%edx,%eax
8668	addl	24(%esp),%edx
8669	addl	%esi,%eax
8670	movl	48(%esp),%esi
8671	movl	%ecx,%ebx
8672	rorl	$11,%ecx
8673	movl	%esi,%edi
8674	rorl	$2,%esi
8675	xorl	%ebx,%ecx
8676	shrl	$3,%ebx
8677	rorl	$7,%ecx
8678	xorl	%edi,%esi
8679	xorl	%ecx,%ebx
8680	rorl	$17,%esi
8681	addl	56(%esp),%ebx
8682	shrl	$10,%edi
8683	addl	92(%esp),%ebx
8684	movl	%edx,%ecx
8685	xorl	%esi,%edi
8686	movl	28(%esp),%esi
8687	rorl	$14,%edx
8688	addl	%edi,%ebx
8689	movl	(%esp),%edi
8690	xorl	%ecx,%edx
8691	movl	%ebx,56(%esp)
8692	xorl	%edi,%esi
8693	rorl	$5,%edx
8694	andl	%ecx,%esi
8695	movl	%ecx,24(%esp)
8696	xorl	%ecx,%edx
8697	addl	4(%esp),%ebx
8698	xorl	%esi,%edi
8699	rorl	$6,%edx
8700	movl	%eax,%ecx
8701	addl	%edi,%ebx
8702	rorl	$9,%ecx
8703	movl	%eax,%esi
8704	movl	12(%esp),%edi
8705	xorl	%eax,%ecx
8706	movl	%eax,8(%esp)
8707	xorl	%edi,%eax
8708	rorl	$11,%ecx
8709	andl	%eax,%ebp
8710	leal	2177026350(%ebx,%edx,1),%edx
8711	xorl	%esi,%ecx
8712	xorl	%edi,%ebp
8713	movl	64(%esp),%esi
8714	rorl	$2,%ecx
8715	addl	%edx,%ebp
8716	addl	20(%esp),%edx
8717	addl	%ecx,%ebp
8718	movl	52(%esp),%ecx
8719	movl	%esi,%ebx
8720	rorl	$11,%esi
8721	movl	%ecx,%edi
8722	rorl	$2,%ecx
8723	xorl	%ebx,%esi
8724	shrl	$3,%ebx
8725	rorl	$7,%esi
8726	xorl	%edi,%ecx
8727	xorl	%esi,%ebx
8728	rorl	$17,%ecx
8729	addl	60(%esp),%ebx
8730	shrl	$10,%edi
8731	addl	32(%esp),%ebx
8732	movl	%edx,%esi
8733	xorl	%ecx,%edi
8734	movl	24(%esp),%ecx
8735	rorl	$14,%edx
8736	addl	%edi,%ebx
8737	movl	28(%esp),%edi
8738	xorl	%esi,%edx
8739	movl	%ebx,60(%esp)
8740	xorl	%edi,%ecx
8741	rorl	$5,%edx
8742	andl	%esi,%ecx
8743	movl	%esi,20(%esp)
8744	xorl	%esi,%edx
8745	addl	(%esp),%ebx
8746	xorl	%ecx,%edi
8747	rorl	$6,%edx
8748	movl	%ebp,%esi
8749	addl	%edi,%ebx
8750	rorl	$9,%esi
8751	movl	%ebp,%ecx
8752	movl	8(%esp),%edi
8753	xorl	%ebp,%esi
8754	movl	%ebp,4(%esp)
8755	xorl	%edi,%ebp
8756	rorl	$11,%esi
8757	andl	%ebp,%eax
8758	leal	2456956037(%ebx,%edx,1),%edx
8759	xorl	%ecx,%esi
8760	xorl	%edi,%eax
8761	movl	68(%esp),%ecx
8762	rorl	$2,%esi
8763	addl	%edx,%eax
8764	addl	16(%esp),%edx
8765	addl	%esi,%eax
8766	movl	56(%esp),%esi
8767	movl	%ecx,%ebx
8768	rorl	$11,%ecx
8769	movl	%esi,%edi
8770	rorl	$2,%esi
8771	xorl	%ebx,%ecx
8772	shrl	$3,%ebx
8773	rorl	$7,%ecx
8774	xorl	%edi,%esi
8775	xorl	%ecx,%ebx
8776	rorl	$17,%esi
8777	addl	64(%esp),%ebx
8778	shrl	$10,%edi
8779	addl	36(%esp),%ebx
8780	movl	%edx,%ecx
8781	xorl	%esi,%edi
8782	movl	20(%esp),%esi
8783	rorl	$14,%edx
8784	addl	%edi,%ebx
8785	movl	24(%esp),%edi
8786	xorl	%ecx,%edx
8787	movl	%ebx,64(%esp)
8788	xorl	%edi,%esi
8789	rorl	$5,%edx
8790	andl	%ecx,%esi
8791	movl	%ecx,16(%esp)
8792	xorl	%ecx,%edx
8793	addl	28(%esp),%ebx
8794	xorl	%esi,%edi
8795	rorl	$6,%edx
8796	movl	%eax,%ecx
8797	addl	%edi,%ebx
8798	rorl	$9,%ecx
8799	movl	%eax,%esi
8800	movl	4(%esp),%edi
8801	xorl	%eax,%ecx
8802	movl	%eax,(%esp)
8803	xorl	%edi,%eax
8804	rorl	$11,%ecx
8805	andl	%eax,%ebp
8806	leal	2730485921(%ebx,%edx,1),%edx
8807	xorl	%esi,%ecx
8808	xorl	%edi,%ebp
8809	movl	72(%esp),%esi
8810	rorl	$2,%ecx
8811	addl	%edx,%ebp
8812	addl	12(%esp),%edx
8813	addl	%ecx,%ebp
8814	movl	60(%esp),%ecx
8815	movl	%esi,%ebx
8816	rorl	$11,%esi
8817	movl	%ecx,%edi
8818	rorl	$2,%ecx
8819	xorl	%ebx,%esi
8820	shrl	$3,%ebx
8821	rorl	$7,%esi
8822	xorl	%edi,%ecx
8823	xorl	%esi,%ebx
8824	rorl	$17,%ecx
8825	addl	68(%esp),%ebx
8826	shrl	$10,%edi
8827	addl	40(%esp),%ebx
8828	movl	%edx,%esi
8829	xorl	%ecx,%edi
8830	movl	16(%esp),%ecx
8831	rorl	$14,%edx
8832	addl	%edi,%ebx
8833	movl	20(%esp),%edi
8834	xorl	%esi,%edx
8835	movl	%ebx,68(%esp)
8836	xorl	%edi,%ecx
8837	rorl	$5,%edx
8838	andl	%esi,%ecx
8839	movl	%esi,12(%esp)
8840	xorl	%esi,%edx
8841	addl	24(%esp),%ebx
8842	xorl	%ecx,%edi
8843	rorl	$6,%edx
8844	movl	%ebp,%esi
8845	addl	%edi,%ebx
8846	rorl	$9,%esi
8847	movl	%ebp,%ecx
8848	movl	(%esp),%edi
8849	xorl	%ebp,%esi
8850	movl	%ebp,28(%esp)
8851	xorl	%edi,%ebp
8852	rorl	$11,%esi
8853	andl	%ebp,%eax
8854	leal	2820302411(%ebx,%edx,1),%edx
8855	xorl	%ecx,%esi
8856	xorl	%edi,%eax
8857	movl	76(%esp),%ecx
8858	rorl	$2,%esi
8859	addl	%edx,%eax
8860	addl	8(%esp),%edx
8861	addl	%esi,%eax
8862	movl	64(%esp),%esi
8863	movl	%ecx,%ebx
8864	rorl	$11,%ecx
8865	movl	%esi,%edi
8866	rorl	$2,%esi
8867	xorl	%ebx,%ecx
8868	shrl	$3,%ebx
8869	rorl	$7,%ecx
8870	xorl	%edi,%esi
8871	xorl	%ecx,%ebx
8872	rorl	$17,%esi
8873	addl	72(%esp),%ebx
8874	shrl	$10,%edi
8875	addl	44(%esp),%ebx
8876	movl	%edx,%ecx
8877	xorl	%esi,%edi
8878	movl	12(%esp),%esi
8879	rorl	$14,%edx
8880	addl	%edi,%ebx
8881	movl	16(%esp),%edi
8882	xorl	%ecx,%edx
8883	movl	%ebx,72(%esp)
8884	xorl	%edi,%esi
8885	rorl	$5,%edx
8886	andl	%ecx,%esi
8887	movl	%ecx,8(%esp)
8888	xorl	%ecx,%edx
8889	addl	20(%esp),%ebx
8890	xorl	%esi,%edi
8891	rorl	$6,%edx
8892	movl	%eax,%ecx
8893	addl	%edi,%ebx
8894	rorl	$9,%ecx
8895	movl	%eax,%esi
8896	movl	28(%esp),%edi
8897	xorl	%eax,%ecx
8898	movl	%eax,24(%esp)
8899	xorl	%edi,%eax
8900	rorl	$11,%ecx
8901	andl	%eax,%ebp
8902	leal	3259730800(%ebx,%edx,1),%edx
8903	xorl	%esi,%ecx
8904	xorl	%edi,%ebp
8905	movl	80(%esp),%esi
8906	rorl	$2,%ecx
8907	addl	%edx,%ebp
8908	addl	4(%esp),%edx
8909	addl	%ecx,%ebp
8910	movl	68(%esp),%ecx
8911	movl	%esi,%ebx
8912	rorl	$11,%esi
8913	movl	%ecx,%edi
8914	rorl	$2,%ecx
8915	xorl	%ebx,%esi
8916	shrl	$3,%ebx
8917	rorl	$7,%esi
8918	xorl	%edi,%ecx
8919	xorl	%esi,%ebx
8920	rorl	$17,%ecx
8921	addl	76(%esp),%ebx
8922	shrl	$10,%edi
8923	addl	48(%esp),%ebx
8924	movl	%edx,%esi
8925	xorl	%ecx,%edi
8926	movl	8(%esp),%ecx
8927	rorl	$14,%edx
8928	addl	%edi,%ebx
8929	movl	12(%esp),%edi
8930	xorl	%esi,%edx
8931	movl	%ebx,76(%esp)
8932	xorl	%edi,%ecx
8933	rorl	$5,%edx
8934	andl	%esi,%ecx
8935	movl	%esi,4(%esp)
8936	xorl	%esi,%edx
8937	addl	16(%esp),%ebx
8938	xorl	%ecx,%edi
8939	rorl	$6,%edx
8940	movl	%ebp,%esi
8941	addl	%edi,%ebx
8942	rorl	$9,%esi
8943	movl	%ebp,%ecx
8944	movl	24(%esp),%edi
8945	xorl	%ebp,%esi
8946	movl	%ebp,20(%esp)
8947	xorl	%edi,%ebp
8948	rorl	$11,%esi
8949	andl	%ebp,%eax
8950	leal	3345764771(%ebx,%edx,1),%edx
8951	xorl	%ecx,%esi
8952	xorl	%edi,%eax
8953	movl	84(%esp),%ecx
8954	rorl	$2,%esi
8955	addl	%edx,%eax
8956	addl	(%esp),%edx
8957	addl	%esi,%eax
8958	movl	72(%esp),%esi
8959	movl	%ecx,%ebx
8960	rorl	$11,%ecx
8961	movl	%esi,%edi
8962	rorl	$2,%esi
8963	xorl	%ebx,%ecx
8964	shrl	$3,%ebx
8965	rorl	$7,%ecx
8966	xorl	%edi,%esi
8967	xorl	%ecx,%ebx
8968	rorl	$17,%esi
8969	addl	80(%esp),%ebx
8970	shrl	$10,%edi
8971	addl	52(%esp),%ebx
8972	movl	%edx,%ecx
8973	xorl	%esi,%edi
8974	movl	4(%esp),%esi
8975	rorl	$14,%edx
8976	addl	%edi,%ebx
8977	movl	8(%esp),%edi
8978	xorl	%ecx,%edx
8979	movl	%ebx,80(%esp)
8980	xorl	%edi,%esi
8981	rorl	$5,%edx
8982	andl	%ecx,%esi
8983	movl	%ecx,(%esp)
8984	xorl	%ecx,%edx
8985	addl	12(%esp),%ebx
8986	xorl	%esi,%edi
8987	rorl	$6,%edx
8988	movl	%eax,%ecx
8989	addl	%edi,%ebx
8990	rorl	$9,%ecx
8991	movl	%eax,%esi
8992	movl	20(%esp),%edi
8993	xorl	%eax,%ecx
8994	movl	%eax,16(%esp)
8995	xorl	%edi,%eax
8996	rorl	$11,%ecx
8997	andl	%eax,%ebp
8998	leal	3516065817(%ebx,%edx,1),%edx
8999	xorl	%esi,%ecx
9000	xorl	%edi,%ebp
9001	movl	88(%esp),%esi
9002	rorl	$2,%ecx
9003	addl	%edx,%ebp
9004	addl	28(%esp),%edx
9005	addl	%ecx,%ebp
9006	movl	76(%esp),%ecx
9007	movl	%esi,%ebx
9008	rorl	$11,%esi
9009	movl	%ecx,%edi
9010	rorl	$2,%ecx
9011	xorl	%ebx,%esi
9012	shrl	$3,%ebx
9013	rorl	$7,%esi
9014	xorl	%edi,%ecx
9015	xorl	%esi,%ebx
9016	rorl	$17,%ecx
9017	addl	84(%esp),%ebx
9018	shrl	$10,%edi
9019	addl	56(%esp),%ebx
9020	movl	%edx,%esi
9021	xorl	%ecx,%edi
9022	movl	(%esp),%ecx
9023	rorl	$14,%edx
9024	addl	%edi,%ebx
9025	movl	4(%esp),%edi
9026	xorl	%esi,%edx
9027	movl	%ebx,84(%esp)
9028	xorl	%edi,%ecx
9029	rorl	$5,%edx
9030	andl	%esi,%ecx
9031	movl	%esi,28(%esp)
9032	xorl	%esi,%edx
9033	addl	8(%esp),%ebx
9034	xorl	%ecx,%edi
9035	rorl	$6,%edx
9036	movl	%ebp,%esi
9037	addl	%edi,%ebx
9038	rorl	$9,%esi
9039	movl	%ebp,%ecx
9040	movl	16(%esp),%edi
9041	xorl	%ebp,%esi
9042	movl	%ebp,12(%esp)
9043	xorl	%edi,%ebp
9044	rorl	$11,%esi
9045	andl	%ebp,%eax
9046	leal	3600352804(%ebx,%edx,1),%edx
9047	xorl	%ecx,%esi
9048	xorl	%edi,%eax
9049	movl	92(%esp),%ecx
9050	rorl	$2,%esi
9051	addl	%edx,%eax
9052	addl	24(%esp),%edx
9053	addl	%esi,%eax
9054	movl	80(%esp),%esi
9055	movl	%ecx,%ebx
9056	rorl	$11,%ecx
9057	movl	%esi,%edi
9058	rorl	$2,%esi
9059	xorl	%ebx,%ecx
9060	shrl	$3,%ebx
9061	rorl	$7,%ecx
9062	xorl	%edi,%esi
9063	xorl	%ecx,%ebx
9064	rorl	$17,%esi
9065	addl	88(%esp),%ebx
9066	shrl	$10,%edi
9067	addl	60(%esp),%ebx
9068	movl	%edx,%ecx
9069	xorl	%esi,%edi
9070	movl	28(%esp),%esi
9071	rorl	$14,%edx
9072	addl	%edi,%ebx
9073	movl	(%esp),%edi
9074	xorl	%ecx,%edx
9075	movl	%ebx,88(%esp)
9076	xorl	%edi,%esi
9077	rorl	$5,%edx
9078	andl	%ecx,%esi
9079	movl	%ecx,24(%esp)
9080	xorl	%ecx,%edx
9081	addl	4(%esp),%ebx
9082	xorl	%esi,%edi
9083	rorl	$6,%edx
9084	movl	%eax,%ecx
9085	addl	%edi,%ebx
9086	rorl	$9,%ecx
9087	movl	%eax,%esi
9088	movl	12(%esp),%edi
9089	xorl	%eax,%ecx
9090	movl	%eax,8(%esp)
9091	xorl	%edi,%eax
9092	rorl	$11,%ecx
9093	andl	%eax,%ebp
9094	leal	4094571909(%ebx,%edx,1),%edx
9095	xorl	%esi,%ecx
9096	xorl	%edi,%ebp
9097	movl	32(%esp),%esi
9098	rorl	$2,%ecx
9099	addl	%edx,%ebp
9100	addl	20(%esp),%edx
9101	addl	%ecx,%ebp
9102	movl	84(%esp),%ecx
9103	movl	%esi,%ebx
9104	rorl	$11,%esi
9105	movl	%ecx,%edi
9106	rorl	$2,%ecx
9107	xorl	%ebx,%esi
9108	shrl	$3,%ebx
9109	rorl	$7,%esi
9110	xorl	%edi,%ecx
9111	xorl	%esi,%ebx
9112	rorl	$17,%ecx
9113	addl	92(%esp),%ebx
9114	shrl	$10,%edi
9115	addl	64(%esp),%ebx
9116	movl	%edx,%esi
9117	xorl	%ecx,%edi
9118	movl	24(%esp),%ecx
9119	rorl	$14,%edx
9120	addl	%edi,%ebx
9121	movl	28(%esp),%edi
9122	xorl	%esi,%edx
9123	movl	%ebx,92(%esp)
9124	xorl	%edi,%ecx
9125	rorl	$5,%edx
9126	andl	%esi,%ecx
9127	movl	%esi,20(%esp)
9128	xorl	%esi,%edx
9129	addl	(%esp),%ebx
9130	xorl	%ecx,%edi
9131	rorl	$6,%edx
9132	movl	%ebp,%esi
9133	addl	%edi,%ebx
9134	rorl	$9,%esi
9135	movl	%ebp,%ecx
9136	movl	8(%esp),%edi
9137	xorl	%ebp,%esi
9138	movl	%ebp,4(%esp)
9139	xorl	%edi,%ebp
9140	rorl	$11,%esi
9141	andl	%ebp,%eax
9142	leal	275423344(%ebx,%edx,1),%edx
9143	xorl	%ecx,%esi
9144	xorl	%edi,%eax
9145	movl	36(%esp),%ecx
9146	rorl	$2,%esi
9147	addl	%edx,%eax
9148	addl	16(%esp),%edx
9149	addl	%esi,%eax
9150	movl	88(%esp),%esi
9151	movl	%ecx,%ebx
9152	rorl	$11,%ecx
9153	movl	%esi,%edi
9154	rorl	$2,%esi
9155	xorl	%ebx,%ecx
9156	shrl	$3,%ebx
9157	rorl	$7,%ecx
9158	xorl	%edi,%esi
9159	xorl	%ecx,%ebx
9160	rorl	$17,%esi
9161	addl	32(%esp),%ebx
9162	shrl	$10,%edi
9163	addl	68(%esp),%ebx
9164	movl	%edx,%ecx
9165	xorl	%esi,%edi
9166	movl	20(%esp),%esi
9167	rorl	$14,%edx
9168	addl	%edi,%ebx
9169	movl	24(%esp),%edi
9170	xorl	%ecx,%edx
9171	movl	%ebx,32(%esp)
9172	xorl	%edi,%esi
9173	rorl	$5,%edx
9174	andl	%ecx,%esi
9175	movl	%ecx,16(%esp)
9176	xorl	%ecx,%edx
9177	addl	28(%esp),%ebx
9178	xorl	%esi,%edi
9179	rorl	$6,%edx
9180	movl	%eax,%ecx
9181	addl	%edi,%ebx
9182	rorl	$9,%ecx
9183	movl	%eax,%esi
9184	movl	4(%esp),%edi
9185	xorl	%eax,%ecx
9186	movl	%eax,(%esp)
9187	xorl	%edi,%eax
9188	rorl	$11,%ecx
9189	andl	%eax,%ebp
9190	leal	430227734(%ebx,%edx,1),%edx
9191	xorl	%esi,%ecx
9192	xorl	%edi,%ebp
9193	movl	40(%esp),%esi
9194	rorl	$2,%ecx
9195	addl	%edx,%ebp
9196	addl	12(%esp),%edx
9197	addl	%ecx,%ebp
9198	movl	92(%esp),%ecx
9199	movl	%esi,%ebx
9200	rorl	$11,%esi
9201	movl	%ecx,%edi
9202	rorl	$2,%ecx
9203	xorl	%ebx,%esi
9204	shrl	$3,%ebx
9205	rorl	$7,%esi
9206	xorl	%edi,%ecx
9207	xorl	%esi,%ebx
9208	rorl	$17,%ecx
9209	addl	36(%esp),%ebx
9210	shrl	$10,%edi
9211	addl	72(%esp),%ebx
9212	movl	%edx,%esi
9213	xorl	%ecx,%edi
9214	movl	16(%esp),%ecx
9215	rorl	$14,%edx
9216	addl	%edi,%ebx
9217	movl	20(%esp),%edi
9218	xorl	%esi,%edx
9219	movl	%ebx,36(%esp)
9220	xorl	%edi,%ecx
9221	rorl	$5,%edx
9222	andl	%esi,%ecx
9223	movl	%esi,12(%esp)
9224	xorl	%esi,%edx
9225	addl	24(%esp),%ebx
9226	xorl	%ecx,%edi
9227	rorl	$6,%edx
9228	movl	%ebp,%esi
9229	addl	%edi,%ebx
9230	rorl	$9,%esi
9231	movl	%ebp,%ecx
9232	movl	(%esp),%edi
9233	xorl	%ebp,%esi
9234	movl	%ebp,28(%esp)
9235	xorl	%edi,%ebp
9236	rorl	$11,%esi
9237	andl	%ebp,%eax
9238	leal	506948616(%ebx,%edx,1),%edx
9239	xorl	%ecx,%esi
9240	xorl	%edi,%eax
9241	movl	44(%esp),%ecx
9242	rorl	$2,%esi
9243	addl	%edx,%eax
9244	addl	8(%esp),%edx
9245	addl	%esi,%eax
9246	movl	32(%esp),%esi
9247	movl	%ecx,%ebx
9248	rorl	$11,%ecx
9249	movl	%esi,%edi
9250	rorl	$2,%esi
9251	xorl	%ebx,%ecx
9252	shrl	$3,%ebx
9253	rorl	$7,%ecx
9254	xorl	%edi,%esi
9255	xorl	%ecx,%ebx
9256	rorl	$17,%esi
9257	addl	40(%esp),%ebx
9258	shrl	$10,%edi
9259	addl	76(%esp),%ebx
9260	movl	%edx,%ecx
9261	xorl	%esi,%edi
9262	movl	12(%esp),%esi
9263	rorl	$14,%edx
9264	addl	%edi,%ebx
9265	movl	16(%esp),%edi
9266	xorl	%ecx,%edx
9267	movl	%ebx,40(%esp)
9268	xorl	%edi,%esi
9269	rorl	$5,%edx
9270	andl	%ecx,%esi
9271	movl	%ecx,8(%esp)
9272	xorl	%ecx,%edx
9273	addl	20(%esp),%ebx
9274	xorl	%esi,%edi
9275	rorl	$6,%edx
9276	movl	%eax,%ecx
9277	addl	%edi,%ebx
9278	rorl	$9,%ecx
9279	movl	%eax,%esi
9280	movl	28(%esp),%edi
9281	xorl	%eax,%ecx
9282	movl	%eax,24(%esp)
9283	xorl	%edi,%eax
9284	rorl	$11,%ecx
9285	andl	%eax,%ebp
9286	leal	659060556(%ebx,%edx,1),%edx
9287	xorl	%esi,%ecx
9288	xorl	%edi,%ebp
9289	movl	48(%esp),%esi
9290	rorl	$2,%ecx
9291	addl	%edx,%ebp
9292	addl	4(%esp),%edx
9293	addl	%ecx,%ebp
9294	movl	36(%esp),%ecx
9295	movl	%esi,%ebx
9296	rorl	$11,%esi
9297	movl	%ecx,%edi
9298	rorl	$2,%ecx
9299	xorl	%ebx,%esi
9300	shrl	$3,%ebx
9301	rorl	$7,%esi
9302	xorl	%edi,%ecx
9303	xorl	%esi,%ebx
9304	rorl	$17,%ecx
9305	addl	44(%esp),%ebx
9306	shrl	$10,%edi
9307	addl	80(%esp),%ebx
9308	movl	%edx,%esi
9309	xorl	%ecx,%edi
9310	movl	8(%esp),%ecx
9311	rorl	$14,%edx
9312	addl	%edi,%ebx
9313	movl	12(%esp),%edi
9314	xorl	%esi,%edx
9315	movl	%ebx,44(%esp)
9316	xorl	%edi,%ecx
9317	rorl	$5,%edx
9318	andl	%esi,%ecx
9319	movl	%esi,4(%esp)
9320	xorl	%esi,%edx
9321	addl	16(%esp),%ebx
9322	xorl	%ecx,%edi
9323	rorl	$6,%edx
9324	movl	%ebp,%esi
9325	addl	%edi,%ebx
9326	rorl	$9,%esi
9327	movl	%ebp,%ecx
9328	movl	24(%esp),%edi
9329	xorl	%ebp,%esi
9330	movl	%ebp,20(%esp)
9331	xorl	%edi,%ebp
9332	rorl	$11,%esi
9333	andl	%ebp,%eax
9334	leal	883997877(%ebx,%edx,1),%edx
9335	xorl	%ecx,%esi
9336	xorl	%edi,%eax
9337	movl	52(%esp),%ecx
9338	rorl	$2,%esi
9339	addl	%edx,%eax
9340	addl	(%esp),%edx
9341	addl	%esi,%eax
9342	movl	40(%esp),%esi
9343	movl	%ecx,%ebx
9344	rorl	$11,%ecx
9345	movl	%esi,%edi
9346	rorl	$2,%esi
9347	xorl	%ebx,%ecx
9348	shrl	$3,%ebx
9349	rorl	$7,%ecx
9350	xorl	%edi,%esi
9351	xorl	%ecx,%ebx
9352	rorl	$17,%esi
9353	addl	48(%esp),%ebx
9354	shrl	$10,%edi
9355	addl	84(%esp),%ebx
9356	movl	%edx,%ecx
9357	xorl	%esi,%edi
9358	movl	4(%esp),%esi
9359	rorl	$14,%edx
9360	addl	%edi,%ebx
9361	movl	8(%esp),%edi
9362	xorl	%ecx,%edx
9363	movl	%ebx,48(%esp)
9364	xorl	%edi,%esi
9365	rorl	$5,%edx
9366	andl	%ecx,%esi
9367	movl	%ecx,(%esp)
9368	xorl	%ecx,%edx
9369	addl	12(%esp),%ebx
9370	xorl	%esi,%edi
9371	rorl	$6,%edx
9372	movl	%eax,%ecx
9373	addl	%edi,%ebx
9374	rorl	$9,%ecx
9375	movl	%eax,%esi
9376	movl	20(%esp),%edi
9377	xorl	%eax,%ecx
9378	movl	%eax,16(%esp)
9379	xorl	%edi,%eax
9380	rorl	$11,%ecx
9381	andl	%eax,%ebp
9382	leal	958139571(%ebx,%edx,1),%edx
9383	xorl	%esi,%ecx
9384	xorl	%edi,%ebp
9385	movl	56(%esp),%esi
9386	rorl	$2,%ecx
9387	addl	%edx,%ebp
9388	addl	28(%esp),%edx
9389	addl	%ecx,%ebp
9390	movl	44(%esp),%ecx
9391	movl	%esi,%ebx
9392	rorl	$11,%esi
9393	movl	%ecx,%edi
9394	rorl	$2,%ecx
9395	xorl	%ebx,%esi
9396	shrl	$3,%ebx
9397	rorl	$7,%esi
9398	xorl	%edi,%ecx
9399	xorl	%esi,%ebx
9400	rorl	$17,%ecx
9401	addl	52(%esp),%ebx
9402	shrl	$10,%edi
9403	addl	88(%esp),%ebx
9404	movl	%edx,%esi
9405	xorl	%ecx,%edi
9406	movl	(%esp),%ecx
9407	rorl	$14,%edx
9408	addl	%edi,%ebx
9409	movl	4(%esp),%edi
9410	xorl	%esi,%edx
9411	movl	%ebx,52(%esp)
9412	xorl	%edi,%ecx
9413	rorl	$5,%edx
9414	andl	%esi,%ecx
9415	movl	%esi,28(%esp)
9416	xorl	%esi,%edx
9417	addl	8(%esp),%ebx
9418	xorl	%ecx,%edi
9419	rorl	$6,%edx
9420	movl	%ebp,%esi
9421	addl	%edi,%ebx
9422	rorl	$9,%esi
9423	movl	%ebp,%ecx
9424	movl	16(%esp),%edi
9425	xorl	%ebp,%esi
9426	movl	%ebp,12(%esp)
9427	xorl	%edi,%ebp
9428	rorl	$11,%esi
9429	andl	%ebp,%eax
9430	leal	1322822218(%ebx,%edx,1),%edx
9431	xorl	%ecx,%esi
9432	xorl	%edi,%eax
9433	movl	60(%esp),%ecx
9434	rorl	$2,%esi
9435	addl	%edx,%eax
9436	addl	24(%esp),%edx
9437	addl	%esi,%eax
9438	movl	48(%esp),%esi
9439	movl	%ecx,%ebx
9440	rorl	$11,%ecx
9441	movl	%esi,%edi
9442	rorl	$2,%esi
9443	xorl	%ebx,%ecx
9444	shrl	$3,%ebx
9445	rorl	$7,%ecx
9446	xorl	%edi,%esi
9447	xorl	%ecx,%ebx
9448	rorl	$17,%esi
9449	addl	56(%esp),%ebx
9450	shrl	$10,%edi
9451	addl	92(%esp),%ebx
9452	movl	%edx,%ecx
9453	xorl	%esi,%edi
9454	movl	28(%esp),%esi
9455	rorl	$14,%edx
9456	addl	%edi,%ebx
9457	movl	(%esp),%edi
9458	xorl	%ecx,%edx
9459	movl	%ebx,56(%esp)
9460	xorl	%edi,%esi
9461	rorl	$5,%edx
9462	andl	%ecx,%esi
9463	movl	%ecx,24(%esp)
9464	xorl	%ecx,%edx
9465	addl	4(%esp),%ebx
9466	xorl	%esi,%edi
9467	rorl	$6,%edx
9468	movl	%eax,%ecx
9469	addl	%edi,%ebx
9470	rorl	$9,%ecx
9471	movl	%eax,%esi
9472	movl	12(%esp),%edi
9473	xorl	%eax,%ecx
9474	movl	%eax,8(%esp)
9475	xorl	%edi,%eax
9476	rorl	$11,%ecx
9477	andl	%eax,%ebp
9478	leal	1537002063(%ebx,%edx,1),%edx
9479	xorl	%esi,%ecx
9480	xorl	%edi,%ebp
9481	movl	64(%esp),%esi
9482	rorl	$2,%ecx
9483	addl	%edx,%ebp
9484	addl	20(%esp),%edx
9485	addl	%ecx,%ebp
9486	movl	52(%esp),%ecx
9487	movl	%esi,%ebx
9488	rorl	$11,%esi
9489	movl	%ecx,%edi
9490	rorl	$2,%ecx
9491	xorl	%ebx,%esi
9492	shrl	$3,%ebx
9493	rorl	$7,%esi
9494	xorl	%edi,%ecx
9495	xorl	%esi,%ebx
9496	rorl	$17,%ecx
9497	addl	60(%esp),%ebx
9498	shrl	$10,%edi
9499	addl	32(%esp),%ebx
9500	movl	%edx,%esi
9501	xorl	%ecx,%edi
9502	movl	24(%esp),%ecx
9503	rorl	$14,%edx
9504	addl	%edi,%ebx
9505	movl	28(%esp),%edi
9506	xorl	%esi,%edx
9507	movl	%ebx,60(%esp)
9508	xorl	%edi,%ecx
9509	rorl	$5,%edx
9510	andl	%esi,%ecx
9511	movl	%esi,20(%esp)
9512	xorl	%esi,%edx
9513	addl	(%esp),%ebx
9514	xorl	%ecx,%edi
9515	rorl	$6,%edx
9516	movl	%ebp,%esi
9517	addl	%edi,%ebx
9518	rorl	$9,%esi
9519	movl	%ebp,%ecx
9520	movl	8(%esp),%edi
9521	xorl	%ebp,%esi
9522	movl	%ebp,4(%esp)
9523	xorl	%edi,%ebp
9524	rorl	$11,%esi
9525	andl	%ebp,%eax
9526	leal	1747873779(%ebx,%edx,1),%edx
9527	xorl	%ecx,%esi
9528	xorl	%edi,%eax
9529	movl	68(%esp),%ecx
9530	rorl	$2,%esi
9531	addl	%edx,%eax
9532	addl	16(%esp),%edx
9533	addl	%esi,%eax
9534	movl	56(%esp),%esi
9535	movl	%ecx,%ebx
9536	rorl	$11,%ecx
9537	movl	%esi,%edi
9538	rorl	$2,%esi
9539	xorl	%ebx,%ecx
9540	shrl	$3,%ebx
9541	rorl	$7,%ecx
9542	xorl	%edi,%esi
9543	xorl	%ecx,%ebx
9544	rorl	$17,%esi
9545	addl	64(%esp),%ebx
9546	shrl	$10,%edi
9547	addl	36(%esp),%ebx
9548	movl	%edx,%ecx
9549	xorl	%esi,%edi
9550	movl	20(%esp),%esi
9551	rorl	$14,%edx
9552	addl	%edi,%ebx
9553	movl	24(%esp),%edi
9554	xorl	%ecx,%edx
9555	movl	%ebx,64(%esp)
9556	xorl	%edi,%esi
9557	rorl	$5,%edx
9558	andl	%ecx,%esi
9559	movl	%ecx,16(%esp)
9560	xorl	%ecx,%edx
9561	addl	28(%esp),%ebx
9562	xorl	%esi,%edi
9563	rorl	$6,%edx
9564	movl	%eax,%ecx
9565	addl	%edi,%ebx
9566	rorl	$9,%ecx
9567	movl	%eax,%esi
9568	movl	4(%esp),%edi
9569	xorl	%eax,%ecx
9570	movl	%eax,(%esp)
9571	xorl	%edi,%eax
9572	rorl	$11,%ecx
9573	andl	%eax,%ebp
9574	leal	1955562222(%ebx,%edx,1),%edx
9575	xorl	%esi,%ecx
9576	xorl	%edi,%ebp
9577	movl	72(%esp),%esi
9578	rorl	$2,%ecx
9579	addl	%edx,%ebp
9580	addl	12(%esp),%edx
9581	addl	%ecx,%ebp
9582	movl	60(%esp),%ecx
9583	movl	%esi,%ebx
9584	rorl	$11,%esi
9585	movl	%ecx,%edi
9586	rorl	$2,%ecx
9587	xorl	%ebx,%esi
9588	shrl	$3,%ebx
9589	rorl	$7,%esi
9590	xorl	%edi,%ecx
9591	xorl	%esi,%ebx
9592	rorl	$17,%ecx
9593	addl	68(%esp),%ebx
9594	shrl	$10,%edi
9595	addl	40(%esp),%ebx
9596	movl	%edx,%esi
9597	xorl	%ecx,%edi
9598	movl	16(%esp),%ecx
9599	rorl	$14,%edx
9600	addl	%edi,%ebx
9601	movl	20(%esp),%edi
9602	xorl	%esi,%edx
9603	movl	%ebx,68(%esp)
9604	xorl	%edi,%ecx
9605	rorl	$5,%edx
9606	andl	%esi,%ecx
9607	movl	%esi,12(%esp)
9608	xorl	%esi,%edx
9609	addl	24(%esp),%ebx
9610	xorl	%ecx,%edi
9611	rorl	$6,%edx
9612	movl	%ebp,%esi
9613	addl	%edi,%ebx
9614	rorl	$9,%esi
9615	movl	%ebp,%ecx
9616	movl	(%esp),%edi
9617	xorl	%ebp,%esi
9618	movl	%ebp,28(%esp)
9619	xorl	%edi,%ebp
9620	rorl	$11,%esi
9621	andl	%ebp,%eax
9622	leal	2024104815(%ebx,%edx,1),%edx
9623	xorl	%ecx,%esi
9624	xorl	%edi,%eax
9625	movl	76(%esp),%ecx
9626	rorl	$2,%esi
9627	addl	%edx,%eax
9628	addl	8(%esp),%edx
9629	addl	%esi,%eax
9630	movl	64(%esp),%esi
9631	movl	%ecx,%ebx
9632	rorl	$11,%ecx
9633	movl	%esi,%edi
9634	rorl	$2,%esi
9635	xorl	%ebx,%ecx
9636	shrl	$3,%ebx
9637	rorl	$7,%ecx
9638	xorl	%edi,%esi
9639	xorl	%ecx,%ebx
9640	rorl	$17,%esi
9641	addl	72(%esp),%ebx
9642	shrl	$10,%edi
9643	addl	44(%esp),%ebx
9644	movl	%edx,%ecx
9645	xorl	%esi,%edi
9646	movl	12(%esp),%esi
9647	rorl	$14,%edx
9648	addl	%edi,%ebx
9649	movl	16(%esp),%edi
9650	xorl	%ecx,%edx
9651	movl	%ebx,72(%esp)
9652	xorl	%edi,%esi
9653	rorl	$5,%edx
9654	andl	%ecx,%esi
9655	movl	%ecx,8(%esp)
9656	xorl	%ecx,%edx
9657	addl	20(%esp),%ebx
9658	xorl	%esi,%edi
9659	rorl	$6,%edx
9660	movl	%eax,%ecx
9661	addl	%edi,%ebx
9662	rorl	$9,%ecx
9663	movl	%eax,%esi
9664	movl	28(%esp),%edi
9665	xorl	%eax,%ecx
9666	movl	%eax,24(%esp)
9667	xorl	%edi,%eax
9668	rorl	$11,%ecx
9669	andl	%eax,%ebp
9670	leal	2227730452(%ebx,%edx,1),%edx
9671	xorl	%esi,%ecx
9672	xorl	%edi,%ebp
9673	movl	80(%esp),%esi
9674	rorl	$2,%ecx
9675	addl	%edx,%ebp
9676	addl	4(%esp),%edx
9677	addl	%ecx,%ebp
9678	movl	68(%esp),%ecx
9679	movl	%esi,%ebx
9680	rorl	$11,%esi
9681	movl	%ecx,%edi
9682	rorl	$2,%ecx
9683	xorl	%ebx,%esi
9684	shrl	$3,%ebx
9685	rorl	$7,%esi
9686	xorl	%edi,%ecx
9687	xorl	%esi,%ebx
9688	rorl	$17,%ecx
9689	addl	76(%esp),%ebx
9690	shrl	$10,%edi
9691	addl	48(%esp),%ebx
9692	movl	%edx,%esi
9693	xorl	%ecx,%edi
9694	movl	8(%esp),%ecx
9695	rorl	$14,%edx
9696	addl	%edi,%ebx
9697	movl	12(%esp),%edi
9698	xorl	%esi,%edx
9699	movl	%ebx,76(%esp)
9700	xorl	%edi,%ecx
9701	rorl	$5,%edx
9702	andl	%esi,%ecx
9703	movl	%esi,4(%esp)
9704	xorl	%esi,%edx
9705	addl	16(%esp),%ebx
9706	xorl	%ecx,%edi
9707	rorl	$6,%edx
9708	movl	%ebp,%esi
9709	addl	%edi,%ebx
9710	rorl	$9,%esi
9711	movl	%ebp,%ecx
9712	movl	24(%esp),%edi
9713	xorl	%ebp,%esi
9714	movl	%ebp,20(%esp)
9715	xorl	%edi,%ebp
9716	rorl	$11,%esi
9717	andl	%ebp,%eax
9718	leal	2361852424(%ebx,%edx,1),%edx
9719	xorl	%ecx,%esi
9720	xorl	%edi,%eax
9721	movl	84(%esp),%ecx
9722	rorl	$2,%esi
9723	addl	%edx,%eax
9724	addl	(%esp),%edx
9725	addl	%esi,%eax
9726	movl	72(%esp),%esi
9727	movl	%ecx,%ebx
9728	rorl	$11,%ecx
9729	movl	%esi,%edi
9730	rorl	$2,%esi
9731	xorl	%ebx,%ecx
9732	shrl	$3,%ebx
9733	rorl	$7,%ecx
9734	xorl	%edi,%esi
9735	xorl	%ecx,%ebx
9736	rorl	$17,%esi
9737	addl	80(%esp),%ebx
9738	shrl	$10,%edi
9739	addl	52(%esp),%ebx
9740	movl	%edx,%ecx
9741	xorl	%esi,%edi
9742	movl	4(%esp),%esi
9743	rorl	$14,%edx
9744	addl	%edi,%ebx
9745	movl	8(%esp),%edi
9746	xorl	%ecx,%edx
9747	movl	%ebx,80(%esp)
9748	xorl	%edi,%esi
9749	rorl	$5,%edx
9750	andl	%ecx,%esi
9751	movl	%ecx,(%esp)
9752	xorl	%ecx,%edx
9753	addl	12(%esp),%ebx
9754	xorl	%esi,%edi
9755	rorl	$6,%edx
9756	movl	%eax,%ecx
9757	addl	%edi,%ebx
9758	rorl	$9,%ecx
9759	movl	%eax,%esi
9760	movl	20(%esp),%edi
9761	xorl	%eax,%ecx
9762	movl	%eax,16(%esp)
9763	xorl	%edi,%eax
9764	rorl	$11,%ecx
9765	andl	%eax,%ebp
9766	leal	2428436474(%ebx,%edx,1),%edx
9767	xorl	%esi,%ecx
9768	xorl	%edi,%ebp
9769	movl	88(%esp),%esi
9770	rorl	$2,%ecx
9771	addl	%edx,%ebp
9772	addl	28(%esp),%edx
9773	addl	%ecx,%ebp
9774	movl	76(%esp),%ecx
9775	movl	%esi,%ebx
9776	rorl	$11,%esi
9777	movl	%ecx,%edi
9778	rorl	$2,%ecx
9779	xorl	%ebx,%esi
9780	shrl	$3,%ebx
9781	rorl	$7,%esi
9782	xorl	%edi,%ecx
9783	xorl	%esi,%ebx
9784	rorl	$17,%ecx
9785	addl	84(%esp),%ebx
9786	shrl	$10,%edi
9787	addl	56(%esp),%ebx
9788	movl	%edx,%esi
9789	xorl	%ecx,%edi
9790	movl	(%esp),%ecx
9791	rorl	$14,%edx
9792	addl	%edi,%ebx
9793	movl	4(%esp),%edi
9794	xorl	%esi,%edx
9795	movl	%ebx,84(%esp)
9796	xorl	%edi,%ecx
9797	rorl	$5,%edx
9798	andl	%esi,%ecx
9799	movl	%esi,28(%esp)
9800	xorl	%esi,%edx
9801	addl	8(%esp),%ebx
9802	xorl	%ecx,%edi
9803	rorl	$6,%edx
9804	movl	%ebp,%esi
9805	addl	%edi,%ebx
9806	rorl	$9,%esi
9807	movl	%ebp,%ecx
9808	movl	16(%esp),%edi
9809	xorl	%ebp,%esi
9810	movl	%ebp,12(%esp)
9811	xorl	%edi,%ebp
9812	rorl	$11,%esi
9813	andl	%ebp,%eax
9814	leal	2756734187(%ebx,%edx,1),%edx
9815	xorl	%ecx,%esi
9816	xorl	%edi,%eax
9817	movl	92(%esp),%ecx
9818	rorl	$2,%esi
9819	addl	%edx,%eax
9820	addl	24(%esp),%edx
9821	addl	%esi,%eax
9822	movl	80(%esp),%esi
9823	movl	%ecx,%ebx
9824	rorl	$11,%ecx
9825	movl	%esi,%edi
9826	rorl	$2,%esi
9827	xorl	%ebx,%ecx
9828	shrl	$3,%ebx
9829	rorl	$7,%ecx
9830	xorl	%edi,%esi
9831	xorl	%ecx,%ebx
9832	rorl	$17,%esi
9833	addl	88(%esp),%ebx
9834	shrl	$10,%edi
9835	addl	60(%esp),%ebx
9836	movl	%edx,%ecx
9837	xorl	%esi,%edi
9838	movl	28(%esp),%esi
9839	rorl	$14,%edx
9840	addl	%edi,%ebx
9841	movl	(%esp),%edi
9842	xorl	%ecx,%edx
9843	xorl	%edi,%esi
9844	rorl	$5,%edx
9845	andl	%ecx,%esi
9846	movl	%ecx,24(%esp)
9847	xorl	%ecx,%edx
9848	addl	4(%esp),%ebx
9849	xorl	%esi,%edi
9850	rorl	$6,%edx
9851	movl	%eax,%ecx
9852	addl	%edi,%ebx
9853	rorl	$9,%ecx
9854	movl	%eax,%esi
9855	movl	12(%esp),%edi
9856	xorl	%eax,%ecx
9857	movl	%eax,8(%esp)
9858	xorl	%edi,%eax
9859	rorl	$11,%ecx
9860	andl	%eax,%ebp
9861	leal	3204031479(%ebx,%edx,1),%edx
9862	xorl	%esi,%ecx
9863	xorl	%edi,%ebp
9864	movl	32(%esp),%esi
9865	rorl	$2,%ecx
9866	addl	%edx,%ebp
9867	addl	20(%esp),%edx
9868	addl	%ecx,%ebp
9869	movl	84(%esp),%ecx
9870	movl	%esi,%ebx
9871	rorl	$11,%esi
9872	movl	%ecx,%edi
9873	rorl	$2,%ecx
9874	xorl	%ebx,%esi
9875	shrl	$3,%ebx
9876	rorl	$7,%esi
9877	xorl	%edi,%ecx
9878	xorl	%esi,%ebx
9879	rorl	$17,%ecx
9880	addl	92(%esp),%ebx
9881	shrl	$10,%edi
9882	addl	64(%esp),%ebx
9883	movl	%edx,%esi
9884	xorl	%ecx,%edi
9885	movl	24(%esp),%ecx
9886	rorl	$14,%edx
9887	addl	%edi,%ebx
9888	movl	28(%esp),%edi
9889	xorl	%esi,%edx
9890	xorl	%edi,%ecx
9891	rorl	$5,%edx
9892	andl	%esi,%ecx
9893	movl	%esi,20(%esp)
9894	xorl	%esi,%edx
9895	addl	(%esp),%ebx
9896	xorl	%ecx,%edi
9897	rorl	$6,%edx
9898	movl	%ebp,%esi
9899	addl	%edi,%ebx
9900	rorl	$9,%esi
9901	movl	%ebp,%ecx
9902	movl	8(%esp),%edi
9903	xorl	%ebp,%esi
9904	movl	%ebp,4(%esp)
9905	xorl	%edi,%ebp
9906	rorl	$11,%esi
9907	andl	%ebp,%eax
9908	leal	3329325298(%ebx,%edx,1),%edx
9909	xorl	%ecx,%esi
9910	xorl	%edi,%eax
9911	rorl	$2,%esi
9912	addl	%edx,%eax
9913	addl	16(%esp),%edx
9914	addl	%esi,%eax
9915	movl	96(%esp),%esi
9916	xorl	%edi,%ebp
9917	movl	12(%esp),%ecx
9918	addl	(%esi),%eax
9919	addl	4(%esi),%ebp
9920	addl	8(%esi),%edi
9921	addl	12(%esi),%ecx
9922	movl	%eax,(%esi)
9923	movl	%ebp,4(%esi)
9924	movl	%edi,8(%esi)
9925	movl	%ecx,12(%esi)
9926	movl	%ebp,4(%esp)
9927	xorl	%edi,%ebp
9928	movl	%edi,8(%esp)
9929	movl	%ecx,12(%esp)
9930	movl	20(%esp),%edi
9931	movl	24(%esp),%ebx
9932	movl	28(%esp),%ecx
9933	addl	16(%esi),%edx
9934	addl	20(%esi),%edi
9935	addl	24(%esi),%ebx
9936	addl	28(%esi),%ecx
9937	movl	%edx,16(%esi)
9938	movl	%edi,20(%esi)
9939	movl	%ebx,24(%esi)
9940	movl	%ecx,28(%esi)
9941	movl	%edi,20(%esp)
9942	movl	100(%esp),%edi
9943	movl	%ebx,24(%esp)
9944	movl	%ecx,28(%esp)
9945	cmpl	104(%esp),%edi
9946	jb	.L010grand_loop
9947	movl	108(%esp),%esp
9948	popl	%edi
9949	popl	%esi
9950	popl	%ebx
9951	popl	%ebp
9952	ret
9953.align	32
9954.L004shaext:
9955	subl	$32,%esp
9956	movdqu	(%esi),%xmm1
9957	leal	128(%ebp),%ebp
9958	movdqu	16(%esi),%xmm2
9959	movdqa	128(%ebp),%xmm7
9960	pshufd	$27,%xmm1,%xmm0
9961	pshufd	$177,%xmm1,%xmm1
9962	pshufd	$27,%xmm2,%xmm2
9963.byte	102,15,58,15,202,8
9964	punpcklqdq	%xmm0,%xmm2
9965	jmp	.L011loop_shaext
9966.align	16
9967.L011loop_shaext:
9968	movdqu	(%edi),%xmm3
9969	movdqu	16(%edi),%xmm4
9970	movdqu	32(%edi),%xmm5
9971.byte	102,15,56,0,223
9972	movdqu	48(%edi),%xmm6
9973	movdqa	%xmm2,16(%esp)
9974	movdqa	-128(%ebp),%xmm0
9975	paddd	%xmm3,%xmm0
9976.byte	102,15,56,0,231
9977.byte	15,56,203,209
9978	pshufd	$14,%xmm0,%xmm0
9979	nop
9980	movdqa	%xmm1,(%esp)
9981.byte	15,56,203,202
9982	movdqa	-112(%ebp),%xmm0
9983	paddd	%xmm4,%xmm0
9984.byte	102,15,56,0,239
9985.byte	15,56,203,209
9986	pshufd	$14,%xmm0,%xmm0
9987	leal	64(%edi),%edi
9988.byte	15,56,204,220
9989.byte	15,56,203,202
9990	movdqa	-96(%ebp),%xmm0
9991	paddd	%xmm5,%xmm0
9992.byte	102,15,56,0,247
9993.byte	15,56,203,209
9994	pshufd	$14,%xmm0,%xmm0
9995	movdqa	%xmm6,%xmm7
9996.byte	102,15,58,15,253,4
9997	nop
9998	paddd	%xmm7,%xmm3
9999.byte	15,56,204,229
10000.byte	15,56,203,202
10001	movdqa	-80(%ebp),%xmm0
10002	paddd	%xmm6,%xmm0
10003.byte	15,56,205,222
10004.byte	15,56,203,209
10005	pshufd	$14,%xmm0,%xmm0
10006	movdqa	%xmm3,%xmm7
10007.byte	102,15,58,15,254,4
10008	nop
10009	paddd	%xmm7,%xmm4
10010.byte	15,56,204,238
10011.byte	15,56,203,202
10012	movdqa	-64(%ebp),%xmm0
10013	paddd	%xmm3,%xmm0
10014.byte	15,56,205,227
10015.byte	15,56,203,209
10016	pshufd	$14,%xmm0,%xmm0
10017	movdqa	%xmm4,%xmm7
10018.byte	102,15,58,15,251,4
10019	nop
10020	paddd	%xmm7,%xmm5
10021.byte	15,56,204,243
10022.byte	15,56,203,202
10023	movdqa	-48(%ebp),%xmm0
10024	paddd	%xmm4,%xmm0
10025.byte	15,56,205,236
10026.byte	15,56,203,209
10027	pshufd	$14,%xmm0,%xmm0
10028	movdqa	%xmm5,%xmm7
10029.byte	102,15,58,15,252,4
10030	nop
10031	paddd	%xmm7,%xmm6
10032.byte	15,56,204,220
10033.byte	15,56,203,202
10034	movdqa	-32(%ebp),%xmm0
10035	paddd	%xmm5,%xmm0
10036.byte	15,56,205,245
10037.byte	15,56,203,209
10038	pshufd	$14,%xmm0,%xmm0
10039	movdqa	%xmm6,%xmm7
10040.byte	102,15,58,15,253,4
10041	nop
10042	paddd	%xmm7,%xmm3
10043.byte	15,56,204,229
10044.byte	15,56,203,202
10045	movdqa	-16(%ebp),%xmm0
10046	paddd	%xmm6,%xmm0
10047.byte	15,56,205,222
10048.byte	15,56,203,209
10049	pshufd	$14,%xmm0,%xmm0
10050	movdqa	%xmm3,%xmm7
10051.byte	102,15,58,15,254,4
10052	nop
10053	paddd	%xmm7,%xmm4
10054.byte	15,56,204,238
10055.byte	15,56,203,202
10056	movdqa	(%ebp),%xmm0
10057	paddd	%xmm3,%xmm0
10058.byte	15,56,205,227
10059.byte	15,56,203,209
10060	pshufd	$14,%xmm0,%xmm0
10061	movdqa	%xmm4,%xmm7
10062.byte	102,15,58,15,251,4
10063	nop
10064	paddd	%xmm7,%xmm5
10065.byte	15,56,204,243
10066.byte	15,56,203,202
10067	movdqa	16(%ebp),%xmm0
10068	paddd	%xmm4,%xmm0
10069.byte	15,56,205,236
10070.byte	15,56,203,209
10071	pshufd	$14,%xmm0,%xmm0
10072	movdqa	%xmm5,%xmm7
10073.byte	102,15,58,15,252,4
10074	nop
10075	paddd	%xmm7,%xmm6
10076.byte	15,56,204,220
10077.byte	15,56,203,202
10078	movdqa	32(%ebp),%xmm0
10079	paddd	%xmm5,%xmm0
10080.byte	15,56,205,245
10081.byte	15,56,203,209
10082	pshufd	$14,%xmm0,%xmm0
10083	movdqa	%xmm6,%xmm7
10084.byte	102,15,58,15,253,4
10085	nop
10086	paddd	%xmm7,%xmm3
10087.byte	15,56,204,229
10088.byte	15,56,203,202
10089	movdqa	48(%ebp),%xmm0
10090	paddd	%xmm6,%xmm0
10091.byte	15,56,205,222
10092.byte	15,56,203,209
10093	pshufd	$14,%xmm0,%xmm0
10094	movdqa	%xmm3,%xmm7
10095.byte	102,15,58,15,254,4
10096	nop
10097	paddd	%xmm7,%xmm4
10098.byte	15,56,204,238
10099.byte	15,56,203,202
10100	movdqa	64(%ebp),%xmm0
10101	paddd	%xmm3,%xmm0
10102.byte	15,56,205,227
10103.byte	15,56,203,209
10104	pshufd	$14,%xmm0,%xmm0
10105	movdqa	%xmm4,%xmm7
10106.byte	102,15,58,15,251,4
10107	nop
10108	paddd	%xmm7,%xmm5
10109.byte	15,56,204,243
10110.byte	15,56,203,202
10111	movdqa	80(%ebp),%xmm0
10112	paddd	%xmm4,%xmm0
10113.byte	15,56,205,236
10114.byte	15,56,203,209
10115	pshufd	$14,%xmm0,%xmm0
10116	movdqa	%xmm5,%xmm7
10117.byte	102,15,58,15,252,4
10118.byte	15,56,203,202
10119	paddd	%xmm7,%xmm6
10120	movdqa	96(%ebp),%xmm0
10121	paddd	%xmm5,%xmm0
10122.byte	15,56,203,209
10123	pshufd	$14,%xmm0,%xmm0
10124.byte	15,56,205,245
10125	movdqa	128(%ebp),%xmm7
10126.byte	15,56,203,202
10127	movdqa	112(%ebp),%xmm0
10128	paddd	%xmm6,%xmm0
10129	nop
10130.byte	15,56,203,209
10131	pshufd	$14,%xmm0,%xmm0
10132	cmpl	%edi,%eax
10133	nop
10134.byte	15,56,203,202
10135	paddd	16(%esp),%xmm2
10136	paddd	(%esp),%xmm1
10137	jnz	.L011loop_shaext
10138	pshufd	$177,%xmm2,%xmm2
10139	pshufd	$27,%xmm1,%xmm7
10140	pshufd	$177,%xmm1,%xmm1
10141	punpckhqdq	%xmm2,%xmm1
10142.byte	102,15,58,15,215,8
10143	movl	44(%esp),%esp
10144	movdqu	%xmm1,(%esi)
10145	movdqu	%xmm2,16(%esi)
10146	popl	%edi
10147	popl	%esi
10148	popl	%ebx
10149	popl	%ebp
10150	ret
10151.align	32
10152.L006SSSE3:
10153	leal	-96(%esp),%esp
10154	movl	(%esi),%eax
10155	movl	4(%esi),%ebx
10156	movl	8(%esi),%ecx
10157	movl	12(%esi),%edi
10158	movl	%ebx,4(%esp)
10159	xorl	%ecx,%ebx
10160	movl	%ecx,8(%esp)
10161	movl	%edi,12(%esp)
10162	movl	16(%esi),%edx
10163	movl	20(%esi),%edi
10164	movl	24(%esi),%ecx
10165	movl	28(%esi),%esi
10166	movl	%edi,20(%esp)
10167	movl	100(%esp),%edi
10168	movl	%ecx,24(%esp)
10169	movl	%esi,28(%esp)
10170	movdqa	256(%ebp),%xmm7
10171	jmp	.L012grand_ssse3
10172.align	16
10173.L012grand_ssse3:
10174	movdqu	(%edi),%xmm0
10175	movdqu	16(%edi),%xmm1
10176	movdqu	32(%edi),%xmm2
10177	movdqu	48(%edi),%xmm3
10178	addl	$64,%edi
10179.byte	102,15,56,0,199
10180	movl	%edi,100(%esp)
10181.byte	102,15,56,0,207
10182	movdqa	(%ebp),%xmm4
10183.byte	102,15,56,0,215
10184	movdqa	16(%ebp),%xmm5
10185	paddd	%xmm0,%xmm4
10186.byte	102,15,56,0,223
10187	movdqa	32(%ebp),%xmm6
10188	paddd	%xmm1,%xmm5
10189	movdqa	48(%ebp),%xmm7
10190	movdqa	%xmm4,32(%esp)
10191	paddd	%xmm2,%xmm6
10192	movdqa	%xmm5,48(%esp)
10193	paddd	%xmm3,%xmm7
10194	movdqa	%xmm6,64(%esp)
10195	movdqa	%xmm7,80(%esp)
10196	jmp	.L013ssse3_00_47
10197.align	16
10198.L013ssse3_00_47:
10199	addl	$64,%ebp
10200	movl	%edx,%ecx
10201	movdqa	%xmm1,%xmm4
10202	rorl	$14,%edx
10203	movl	20(%esp),%esi
10204	movdqa	%xmm3,%xmm7
10205	xorl	%ecx,%edx
10206	movl	24(%esp),%edi
10207.byte	102,15,58,15,224,4
10208	xorl	%edi,%esi
10209	rorl	$5,%edx
10210	andl	%ecx,%esi
10211.byte	102,15,58,15,250,4
10212	movl	%ecx,16(%esp)
10213	xorl	%ecx,%edx
10214	xorl	%esi,%edi
10215	movdqa	%xmm4,%xmm5
10216	rorl	$6,%edx
10217	movl	%eax,%ecx
10218	movdqa	%xmm4,%xmm6
10219	addl	%edi,%edx
10220	movl	4(%esp),%edi
10221	psrld	$3,%xmm4
10222	movl	%eax,%esi
10223	rorl	$9,%ecx
10224	paddd	%xmm7,%xmm0
10225	movl	%eax,(%esp)
10226	xorl	%eax,%ecx
10227	psrld	$7,%xmm6
10228	xorl	%edi,%eax
10229	addl	28(%esp),%edx
10230	rorl	$11,%ecx
10231	andl	%eax,%ebx
10232	pshufd	$250,%xmm3,%xmm7
10233	xorl	%esi,%ecx
10234	addl	32(%esp),%edx
10235	pslld	$14,%xmm5
10236	xorl	%edi,%ebx
10237	rorl	$2,%ecx
10238	pxor	%xmm6,%xmm4
10239	addl	%edx,%ebx
10240	addl	12(%esp),%edx
10241	psrld	$11,%xmm6
10242	addl	%ecx,%ebx
10243	movl	%edx,%ecx
10244	rorl	$14,%edx
10245	pxor	%xmm5,%xmm4
10246	movl	16(%esp),%esi
10247	xorl	%ecx,%edx
10248	pslld	$11,%xmm5
10249	movl	20(%esp),%edi
10250	xorl	%edi,%esi
10251	rorl	$5,%edx
10252	pxor	%xmm6,%xmm4
10253	andl	%ecx,%esi
10254	movl	%ecx,12(%esp)
10255	movdqa	%xmm7,%xmm6
10256	xorl	%ecx,%edx
10257	xorl	%esi,%edi
10258	rorl	$6,%edx
10259	pxor	%xmm5,%xmm4
10260	movl	%ebx,%ecx
10261	addl	%edi,%edx
10262	psrld	$10,%xmm7
10263	movl	(%esp),%edi
10264	movl	%ebx,%esi
10265	rorl	$9,%ecx
10266	paddd	%xmm4,%xmm0
10267	movl	%ebx,28(%esp)
10268	xorl	%ebx,%ecx
10269	psrlq	$17,%xmm6
10270	xorl	%edi,%ebx
10271	addl	24(%esp),%edx
10272	rorl	$11,%ecx
10273	pxor	%xmm6,%xmm7
10274	andl	%ebx,%eax
10275	xorl	%esi,%ecx
10276	psrlq	$2,%xmm6
10277	addl	36(%esp),%edx
10278	xorl	%edi,%eax
10279	rorl	$2,%ecx
10280	pxor	%xmm6,%xmm7
10281	addl	%edx,%eax
10282	addl	8(%esp),%edx
10283	pshufd	$128,%xmm7,%xmm7
10284	addl	%ecx,%eax
10285	movl	%edx,%ecx
10286	rorl	$14,%edx
10287	movl	12(%esp),%esi
10288	xorl	%ecx,%edx
10289	movl	16(%esp),%edi
10290	xorl	%edi,%esi
10291	rorl	$5,%edx
10292	andl	%ecx,%esi
10293	psrldq	$8,%xmm7
10294	movl	%ecx,8(%esp)
10295	xorl	%ecx,%edx
10296	xorl	%esi,%edi
10297	paddd	%xmm7,%xmm0
10298	rorl	$6,%edx
10299	movl	%eax,%ecx
10300	addl	%edi,%edx
10301	movl	28(%esp),%edi
10302	movl	%eax,%esi
10303	rorl	$9,%ecx
10304	movl	%eax,24(%esp)
10305	pshufd	$80,%xmm0,%xmm7
10306	xorl	%eax,%ecx
10307	xorl	%edi,%eax
10308	addl	20(%esp),%edx
10309	movdqa	%xmm7,%xmm6
10310	rorl	$11,%ecx
10311	psrld	$10,%xmm7
10312	andl	%eax,%ebx
10313	psrlq	$17,%xmm6
10314	xorl	%esi,%ecx
10315	addl	40(%esp),%edx
10316	xorl	%edi,%ebx
10317	rorl	$2,%ecx
10318	pxor	%xmm6,%xmm7
10319	addl	%edx,%ebx
10320	addl	4(%esp),%edx
10321	psrlq	$2,%xmm6
10322	addl	%ecx,%ebx
10323	movl	%edx,%ecx
10324	rorl	$14,%edx
10325	pxor	%xmm6,%xmm7
10326	movl	8(%esp),%esi
10327	xorl	%ecx,%edx
10328	movl	12(%esp),%edi
10329	pshufd	$8,%xmm7,%xmm7
10330	xorl	%edi,%esi
10331	rorl	$5,%edx
10332	movdqa	(%ebp),%xmm6
10333	andl	%ecx,%esi
10334	movl	%ecx,4(%esp)
10335	pslldq	$8,%xmm7
10336	xorl	%ecx,%edx
10337	xorl	%esi,%edi
10338	rorl	$6,%edx
10339	movl	%ebx,%ecx
10340	addl	%edi,%edx
10341	movl	24(%esp),%edi
10342	movl	%ebx,%esi
10343	rorl	$9,%ecx
10344	paddd	%xmm7,%xmm0
10345	movl	%ebx,20(%esp)
10346	xorl	%ebx,%ecx
10347	xorl	%edi,%ebx
10348	addl	16(%esp),%edx
10349	paddd	%xmm0,%xmm6
10350	rorl	$11,%ecx
10351	andl	%ebx,%eax
10352	xorl	%esi,%ecx
10353	addl	44(%esp),%edx
10354	xorl	%edi,%eax
10355	rorl	$2,%ecx
10356	addl	%edx,%eax
10357	addl	(%esp),%edx
10358	addl	%ecx,%eax
10359	movdqa	%xmm6,32(%esp)
10360	movl	%edx,%ecx
10361	movdqa	%xmm2,%xmm4
10362	rorl	$14,%edx
10363	movl	4(%esp),%esi
10364	movdqa	%xmm0,%xmm7
10365	xorl	%ecx,%edx
10366	movl	8(%esp),%edi
10367.byte	102,15,58,15,225,4
10368	xorl	%edi,%esi
10369	rorl	$5,%edx
10370	andl	%ecx,%esi
10371.byte	102,15,58,15,251,4
10372	movl	%ecx,(%esp)
10373	xorl	%ecx,%edx
10374	xorl	%esi,%edi
10375	movdqa	%xmm4,%xmm5
10376	rorl	$6,%edx
10377	movl	%eax,%ecx
10378	movdqa	%xmm4,%xmm6
10379	addl	%edi,%edx
10380	movl	20(%esp),%edi
10381	psrld	$3,%xmm4
10382	movl	%eax,%esi
10383	rorl	$9,%ecx
10384	paddd	%xmm7,%xmm1
10385	movl	%eax,16(%esp)
10386	xorl	%eax,%ecx
10387	psrld	$7,%xmm6
10388	xorl	%edi,%eax
10389	addl	12(%esp),%edx
10390	rorl	$11,%ecx
10391	andl	%eax,%ebx
10392	pshufd	$250,%xmm0,%xmm7
10393	xorl	%esi,%ecx
10394	addl	48(%esp),%edx
10395	pslld	$14,%xmm5
10396	xorl	%edi,%ebx
10397	rorl	$2,%ecx
10398	pxor	%xmm6,%xmm4
10399	addl	%edx,%ebx
10400	addl	28(%esp),%edx
10401	psrld	$11,%xmm6
10402	addl	%ecx,%ebx
10403	movl	%edx,%ecx
10404	rorl	$14,%edx
10405	pxor	%xmm5,%xmm4
10406	movl	(%esp),%esi
10407	xorl	%ecx,%edx
10408	pslld	$11,%xmm5
10409	movl	4(%esp),%edi
10410	xorl	%edi,%esi
10411	rorl	$5,%edx
10412	pxor	%xmm6,%xmm4
10413	andl	%ecx,%esi
10414	movl	%ecx,28(%esp)
10415	movdqa	%xmm7,%xmm6
10416	xorl	%ecx,%edx
10417	xorl	%esi,%edi
10418	rorl	$6,%edx
10419	pxor	%xmm5,%xmm4
10420	movl	%ebx,%ecx
10421	addl	%edi,%edx
10422	psrld	$10,%xmm7
10423	movl	16(%esp),%edi
10424	movl	%ebx,%esi
10425	rorl	$9,%ecx
10426	paddd	%xmm4,%xmm1
10427	movl	%ebx,12(%esp)
10428	xorl	%ebx,%ecx
10429	psrlq	$17,%xmm6
10430	xorl	%edi,%ebx
10431	addl	8(%esp),%edx
10432	rorl	$11,%ecx
10433	pxor	%xmm6,%xmm7
10434	andl	%ebx,%eax
10435	xorl	%esi,%ecx
10436	psrlq	$2,%xmm6
10437	addl	52(%esp),%edx
10438	xorl	%edi,%eax
10439	rorl	$2,%ecx
10440	pxor	%xmm6,%xmm7
10441	addl	%edx,%eax
10442	addl	24(%esp),%edx
10443	pshufd	$128,%xmm7,%xmm7
10444	addl	%ecx,%eax
10445	movl	%edx,%ecx
10446	rorl	$14,%edx
10447	movl	28(%esp),%esi
10448	xorl	%ecx,%edx
10449	movl	(%esp),%edi
10450	xorl	%edi,%esi
10451	rorl	$5,%edx
10452	andl	%ecx,%esi
10453	psrldq	$8,%xmm7
10454	movl	%ecx,24(%esp)
10455	xorl	%ecx,%edx
10456	xorl	%esi,%edi
10457	paddd	%xmm7,%xmm1
10458	rorl	$6,%edx
10459	movl	%eax,%ecx
10460	addl	%edi,%edx
10461	movl	12(%esp),%edi
10462	movl	%eax,%esi
10463	rorl	$9,%ecx
10464	movl	%eax,8(%esp)
10465	pshufd	$80,%xmm1,%xmm7
10466	xorl	%eax,%ecx
10467	xorl	%edi,%eax
10468	addl	4(%esp),%edx
10469	movdqa	%xmm7,%xmm6
10470	rorl	$11,%ecx
10471	psrld	$10,%xmm7
10472	andl	%eax,%ebx
10473	psrlq	$17,%xmm6
10474	xorl	%esi,%ecx
10475	addl	56(%esp),%edx
10476	xorl	%edi,%ebx
10477	rorl	$2,%ecx
10478	pxor	%xmm6,%xmm7
10479	addl	%edx,%ebx
10480	addl	20(%esp),%edx
10481	psrlq	$2,%xmm6
10482	addl	%ecx,%ebx
10483	movl	%edx,%ecx
10484	rorl	$14,%edx
10485	pxor	%xmm6,%xmm7
10486	movl	24(%esp),%esi
10487	xorl	%ecx,%edx
10488	movl	28(%esp),%edi
10489	pshufd	$8,%xmm7,%xmm7
10490	xorl	%edi,%esi
10491	rorl	$5,%edx
10492	movdqa	16(%ebp),%xmm6
10493	andl	%ecx,%esi
10494	movl	%ecx,20(%esp)
10495	pslldq	$8,%xmm7
10496	xorl	%ecx,%edx
10497	xorl	%esi,%edi
10498	rorl	$6,%edx
10499	movl	%ebx,%ecx
10500	addl	%edi,%edx
10501	movl	8(%esp),%edi
10502	movl	%ebx,%esi
10503	rorl	$9,%ecx
10504	paddd	%xmm7,%xmm1
10505	movl	%ebx,4(%esp)
10506	xorl	%ebx,%ecx
10507	xorl	%edi,%ebx
10508	addl	(%esp),%edx
10509	paddd	%xmm1,%xmm6
10510	rorl	$11,%ecx
10511	andl	%ebx,%eax
10512	xorl	%esi,%ecx
10513	addl	60(%esp),%edx
10514	xorl	%edi,%eax
10515	rorl	$2,%ecx
10516	addl	%edx,%eax
10517	addl	16(%esp),%edx
10518	addl	%ecx,%eax
10519	movdqa	%xmm6,48(%esp)
10520	movl	%edx,%ecx
10521	movdqa	%xmm3,%xmm4
10522	rorl	$14,%edx
10523	movl	20(%esp),%esi
10524	movdqa	%xmm1,%xmm7
10525	xorl	%ecx,%edx
10526	movl	24(%esp),%edi
10527.byte	102,15,58,15,226,4
10528	xorl	%edi,%esi
10529	rorl	$5,%edx
10530	andl	%ecx,%esi
10531.byte	102,15,58,15,248,4
10532	movl	%ecx,16(%esp)
10533	xorl	%ecx,%edx
10534	xorl	%esi,%edi
10535	movdqa	%xmm4,%xmm5
10536	rorl	$6,%edx
10537	movl	%eax,%ecx
10538	movdqa	%xmm4,%xmm6
10539	addl	%edi,%edx
10540	movl	4(%esp),%edi
10541	psrld	$3,%xmm4
10542	movl	%eax,%esi
10543	rorl	$9,%ecx
10544	paddd	%xmm7,%xmm2
10545	movl	%eax,(%esp)
10546	xorl	%eax,%ecx
10547	psrld	$7,%xmm6
10548	xorl	%edi,%eax
10549	addl	28(%esp),%edx
10550	rorl	$11,%ecx
10551	andl	%eax,%ebx
10552	pshufd	$250,%xmm1,%xmm7
10553	xorl	%esi,%ecx
10554	addl	64(%esp),%edx
10555	pslld	$14,%xmm5
10556	xorl	%edi,%ebx
10557	rorl	$2,%ecx
10558	pxor	%xmm6,%xmm4
10559	addl	%edx,%ebx
10560	addl	12(%esp),%edx
10561	psrld	$11,%xmm6
10562	addl	%ecx,%ebx
10563	movl	%edx,%ecx
10564	rorl	$14,%edx
10565	pxor	%xmm5,%xmm4
10566	movl	16(%esp),%esi
10567	xorl	%ecx,%edx
10568	pslld	$11,%xmm5
10569	movl	20(%esp),%edi
10570	xorl	%edi,%esi
10571	rorl	$5,%edx
10572	pxor	%xmm6,%xmm4
10573	andl	%ecx,%esi
10574	movl	%ecx,12(%esp)
10575	movdqa	%xmm7,%xmm6
10576	xorl	%ecx,%edx
10577	xorl	%esi,%edi
10578	rorl	$6,%edx
10579	pxor	%xmm5,%xmm4
10580	movl	%ebx,%ecx
10581	addl	%edi,%edx
10582	psrld	$10,%xmm7
10583	movl	(%esp),%edi
10584	movl	%ebx,%esi
10585	rorl	$9,%ecx
10586	paddd	%xmm4,%xmm2
10587	movl	%ebx,28(%esp)
10588	xorl	%ebx,%ecx
10589	psrlq	$17,%xmm6
10590	xorl	%edi,%ebx
10591	addl	24(%esp),%edx
10592	rorl	$11,%ecx
10593	pxor	%xmm6,%xmm7
10594	andl	%ebx,%eax
10595	xorl	%esi,%ecx
10596	psrlq	$2,%xmm6
10597	addl	68(%esp),%edx
10598	xorl	%edi,%eax
10599	rorl	$2,%ecx
10600	pxor	%xmm6,%xmm7
10601	addl	%edx,%eax
10602	addl	8(%esp),%edx
10603	pshufd	$128,%xmm7,%xmm7
10604	addl	%ecx,%eax
10605	movl	%edx,%ecx
10606	rorl	$14,%edx
10607	movl	12(%esp),%esi
10608	xorl	%ecx,%edx
10609	movl	16(%esp),%edi
10610	xorl	%edi,%esi
10611	rorl	$5,%edx
10612	andl	%ecx,%esi
10613	psrldq	$8,%xmm7
10614	movl	%ecx,8(%esp)
10615	xorl	%ecx,%edx
10616	xorl	%esi,%edi
10617	paddd	%xmm7,%xmm2
10618	rorl	$6,%edx
10619	movl	%eax,%ecx
10620	addl	%edi,%edx
10621	movl	28(%esp),%edi
10622	movl	%eax,%esi
10623	rorl	$9,%ecx
10624	movl	%eax,24(%esp)
10625	pshufd	$80,%xmm2,%xmm7
10626	xorl	%eax,%ecx
10627	xorl	%edi,%eax
10628	addl	20(%esp),%edx
10629	movdqa	%xmm7,%xmm6
10630	rorl	$11,%ecx
10631	psrld	$10,%xmm7
10632	andl	%eax,%ebx
10633	psrlq	$17,%xmm6
10634	xorl	%esi,%ecx
10635	addl	72(%esp),%edx
10636	xorl	%edi,%ebx
10637	rorl	$2,%ecx
10638	pxor	%xmm6,%xmm7
10639	addl	%edx,%ebx
10640	addl	4(%esp),%edx
10641	psrlq	$2,%xmm6
10642	addl	%ecx,%ebx
10643	movl	%edx,%ecx
10644	rorl	$14,%edx
10645	pxor	%xmm6,%xmm7
10646	movl	8(%esp),%esi
10647	xorl	%ecx,%edx
10648	movl	12(%esp),%edi
10649	pshufd	$8,%xmm7,%xmm7
10650	xorl	%edi,%esi
10651	rorl	$5,%edx
10652	movdqa	32(%ebp),%xmm6
10653	andl	%ecx,%esi
10654	movl	%ecx,4(%esp)
10655	pslldq	$8,%xmm7
10656	xorl	%ecx,%edx
10657	xorl	%esi,%edi
10658	rorl	$6,%edx
10659	movl	%ebx,%ecx
10660	addl	%edi,%edx
10661	movl	24(%esp),%edi
10662	movl	%ebx,%esi
10663	rorl	$9,%ecx
10664	paddd	%xmm7,%xmm2
10665	movl	%ebx,20(%esp)
10666	xorl	%ebx,%ecx
10667	xorl	%edi,%ebx
10668	addl	16(%esp),%edx
10669	paddd	%xmm2,%xmm6
10670	rorl	$11,%ecx
10671	andl	%ebx,%eax
10672	xorl	%esi,%ecx
10673	addl	76(%esp),%edx
10674	xorl	%edi,%eax
10675	rorl	$2,%ecx
10676	addl	%edx,%eax
10677	addl	(%esp),%edx
10678	addl	%ecx,%eax
10679	movdqa	%xmm6,64(%esp)
10680	movl	%edx,%ecx
10681	movdqa	%xmm0,%xmm4
10682	rorl	$14,%edx
10683	movl	4(%esp),%esi
10684	movdqa	%xmm2,%xmm7
10685	xorl	%ecx,%edx
10686	movl	8(%esp),%edi
10687.byte	102,15,58,15,227,4
10688	xorl	%edi,%esi
10689	rorl	$5,%edx
10690	andl	%ecx,%esi
10691.byte	102,15,58,15,249,4
10692	movl	%ecx,(%esp)
10693	xorl	%ecx,%edx
10694	xorl	%esi,%edi
10695	movdqa	%xmm4,%xmm5
10696	rorl	$6,%edx
10697	movl	%eax,%ecx
10698	movdqa	%xmm4,%xmm6
10699	addl	%edi,%edx
10700	movl	20(%esp),%edi
10701	psrld	$3,%xmm4
10702	movl	%eax,%esi
10703	rorl	$9,%ecx
10704	paddd	%xmm7,%xmm3
10705	movl	%eax,16(%esp)
10706	xorl	%eax,%ecx
10707	psrld	$7,%xmm6
10708	xorl	%edi,%eax
10709	addl	12(%esp),%edx
10710	rorl	$11,%ecx
10711	andl	%eax,%ebx
10712	pshufd	$250,%xmm2,%xmm7
10713	xorl	%esi,%ecx
10714	addl	80(%esp),%edx
10715	pslld	$14,%xmm5
10716	xorl	%edi,%ebx
10717	rorl	$2,%ecx
10718	pxor	%xmm6,%xmm4
10719	addl	%edx,%ebx
10720	addl	28(%esp),%edx
10721	psrld	$11,%xmm6
10722	addl	%ecx,%ebx
10723	movl	%edx,%ecx
10724	rorl	$14,%edx
10725	pxor	%xmm5,%xmm4
10726	movl	(%esp),%esi
10727	xorl	%ecx,%edx
10728	pslld	$11,%xmm5
10729	movl	4(%esp),%edi
10730	xorl	%edi,%esi
10731	rorl	$5,%edx
10732	pxor	%xmm6,%xmm4
10733	andl	%ecx,%esi
10734	movl	%ecx,28(%esp)
10735	movdqa	%xmm7,%xmm6
10736	xorl	%ecx,%edx
10737	xorl	%esi,%edi
10738	rorl	$6,%edx
10739	pxor	%xmm5,%xmm4
10740	movl	%ebx,%ecx
10741	addl	%edi,%edx
10742	psrld	$10,%xmm7
10743	movl	16(%esp),%edi
10744	movl	%ebx,%esi
10745	rorl	$9,%ecx
10746	paddd	%xmm4,%xmm3
10747	movl	%ebx,12(%esp)
10748	xorl	%ebx,%ecx
10749	psrlq	$17,%xmm6
10750	xorl	%edi,%ebx
10751	addl	8(%esp),%edx
10752	rorl	$11,%ecx
10753	pxor	%xmm6,%xmm7
10754	andl	%ebx,%eax
10755	xorl	%esi,%ecx
10756	psrlq	$2,%xmm6
10757	addl	84(%esp),%edx
10758	xorl	%edi,%eax
10759	rorl	$2,%ecx
10760	pxor	%xmm6,%xmm7
10761	addl	%edx,%eax
10762	addl	24(%esp),%edx
10763	pshufd	$128,%xmm7,%xmm7
10764	addl	%ecx,%eax
10765	movl	%edx,%ecx
10766	rorl	$14,%edx
10767	movl	28(%esp),%esi
10768	xorl	%ecx,%edx
10769	movl	(%esp),%edi
10770	xorl	%edi,%esi
10771	rorl	$5,%edx
10772	andl	%ecx,%esi
10773	psrldq	$8,%xmm7
10774	movl	%ecx,24(%esp)
10775	xorl	%ecx,%edx
10776	xorl	%esi,%edi
10777	paddd	%xmm7,%xmm3
10778	rorl	$6,%edx
10779	movl	%eax,%ecx
10780	addl	%edi,%edx
10781	movl	12(%esp),%edi
10782	movl	%eax,%esi
10783	rorl	$9,%ecx
10784	movl	%eax,8(%esp)
10785	pshufd	$80,%xmm3,%xmm7
10786	xorl	%eax,%ecx
10787	xorl	%edi,%eax
10788	addl	4(%esp),%edx
10789	movdqa	%xmm7,%xmm6
10790	rorl	$11,%ecx
10791	psrld	$10,%xmm7
10792	andl	%eax,%ebx
10793	psrlq	$17,%xmm6
10794	xorl	%esi,%ecx
10795	addl	88(%esp),%edx
10796	xorl	%edi,%ebx
10797	rorl	$2,%ecx
10798	pxor	%xmm6,%xmm7
10799	addl	%edx,%ebx
10800	addl	20(%esp),%edx
10801	psrlq	$2,%xmm6
10802	addl	%ecx,%ebx
10803	movl	%edx,%ecx
10804	rorl	$14,%edx
10805	pxor	%xmm6,%xmm7
10806	movl	24(%esp),%esi
10807	xorl	%ecx,%edx
10808	movl	28(%esp),%edi
10809	pshufd	$8,%xmm7,%xmm7
10810	xorl	%edi,%esi
10811	rorl	$5,%edx
10812	movdqa	48(%ebp),%xmm6
10813	andl	%ecx,%esi
10814	movl	%ecx,20(%esp)
10815	pslldq	$8,%xmm7
10816	xorl	%ecx,%edx
10817	xorl	%esi,%edi
10818	rorl	$6,%edx
10819	movl	%ebx,%ecx
10820	addl	%edi,%edx
10821	movl	8(%esp),%edi
10822	movl	%ebx,%esi
10823	rorl	$9,%ecx
10824	paddd	%xmm7,%xmm3
10825	movl	%ebx,4(%esp)
10826	xorl	%ebx,%ecx
10827	xorl	%edi,%ebx
10828	addl	(%esp),%edx
10829	paddd	%xmm3,%xmm6
10830	rorl	$11,%ecx
10831	andl	%ebx,%eax
10832	xorl	%esi,%ecx
10833	addl	92(%esp),%edx
10834	xorl	%edi,%eax
10835	rorl	$2,%ecx
10836	addl	%edx,%eax
10837	addl	16(%esp),%edx
10838	addl	%ecx,%eax
10839	movdqa	%xmm6,80(%esp)
10840	cmpl	$66051,64(%ebp)
10841	jne	.L013ssse3_00_47
10842	movl	%edx,%ecx
10843	rorl	$14,%edx
10844	movl	20(%esp),%esi
10845	xorl	%ecx,%edx
10846	movl	24(%esp),%edi
10847	xorl	%edi,%esi
10848	rorl	$5,%edx
10849	andl	%ecx,%esi
10850	movl	%ecx,16(%esp)
10851	xorl	%ecx,%edx
10852	xorl	%esi,%edi
10853	rorl	$6,%edx
10854	movl	%eax,%ecx
10855	addl	%edi,%edx
10856	movl	4(%esp),%edi
10857	movl	%eax,%esi
10858	rorl	$9,%ecx
10859	movl	%eax,(%esp)
10860	xorl	%eax,%ecx
10861	xorl	%edi,%eax
10862	addl	28(%esp),%edx
10863	rorl	$11,%ecx
10864	andl	%eax,%ebx
10865	xorl	%esi,%ecx
10866	addl	32(%esp),%edx
10867	xorl	%edi,%ebx
10868	rorl	$2,%ecx
10869	addl	%edx,%ebx
10870	addl	12(%esp),%edx
10871	addl	%ecx,%ebx
10872	movl	%edx,%ecx
10873	rorl	$14,%edx
10874	movl	16(%esp),%esi
10875	xorl	%ecx,%edx
10876	movl	20(%esp),%edi
10877	xorl	%edi,%esi
10878	rorl	$5,%edx
10879	andl	%ecx,%esi
10880	movl	%ecx,12(%esp)
10881	xorl	%ecx,%edx
10882	xorl	%esi,%edi
10883	rorl	$6,%edx
10884	movl	%ebx,%ecx
10885	addl	%edi,%edx
10886	movl	(%esp),%edi
10887	movl	%ebx,%esi
10888	rorl	$9,%ecx
10889	movl	%ebx,28(%esp)
10890	xorl	%ebx,%ecx
10891	xorl	%edi,%ebx
10892	addl	24(%esp),%edx
10893	rorl	$11,%ecx
10894	andl	%ebx,%eax
10895	xorl	%esi,%ecx
10896	addl	36(%esp),%edx
10897	xorl	%edi,%eax
10898	rorl	$2,%ecx
10899	addl	%edx,%eax
10900	addl	8(%esp),%edx
10901	addl	%ecx,%eax
10902	movl	%edx,%ecx
10903	rorl	$14,%edx
10904	movl	12(%esp),%esi
10905	xorl	%ecx,%edx
10906	movl	16(%esp),%edi
10907	xorl	%edi,%esi
10908	rorl	$5,%edx
10909	andl	%ecx,%esi
10910	movl	%ecx,8(%esp)
10911	xorl	%ecx,%edx
10912	xorl	%esi,%edi
10913	rorl	$6,%edx
10914	movl	%eax,%ecx
10915	addl	%edi,%edx
10916	movl	28(%esp),%edi
10917	movl	%eax,%esi
10918	rorl	$9,%ecx
10919	movl	%eax,24(%esp)
10920	xorl	%eax,%ecx
10921	xorl	%edi,%eax
10922	addl	20(%esp),%edx
10923	rorl	$11,%ecx
10924	andl	%eax,%ebx
10925	xorl	%esi,%ecx
10926	addl	40(%esp),%edx
10927	xorl	%edi,%ebx
10928	rorl	$2,%ecx
10929	addl	%edx,%ebx
10930	addl	4(%esp),%edx
10931	addl	%ecx,%ebx
10932	movl	%edx,%ecx
10933	rorl	$14,%edx
10934	movl	8(%esp),%esi
10935	xorl	%ecx,%edx
10936	movl	12(%esp),%edi
10937	xorl	%edi,%esi
10938	rorl	$5,%edx
10939	andl	%ecx,%esi
10940	movl	%ecx,4(%esp)
10941	xorl	%ecx,%edx
10942	xorl	%esi,%edi
10943	rorl	$6,%edx
10944	movl	%ebx,%ecx
10945	addl	%edi,%edx
10946	movl	24(%esp),%edi
10947	movl	%ebx,%esi
10948	rorl	$9,%ecx
10949	movl	%ebx,20(%esp)
10950	xorl	%ebx,%ecx
10951	xorl	%edi,%ebx
10952	addl	16(%esp),%edx
10953	rorl	$11,%ecx
10954	andl	%ebx,%eax
10955	xorl	%esi,%ecx
10956	addl	44(%esp),%edx
10957	xorl	%edi,%eax
10958	rorl	$2,%ecx
10959	addl	%edx,%eax
10960	addl	(%esp),%edx
10961	addl	%ecx,%eax
10962	movl	%edx,%ecx
10963	rorl	$14,%edx
10964	movl	4(%esp),%esi
10965	xorl	%ecx,%edx
10966	movl	8(%esp),%edi
10967	xorl	%edi,%esi
10968	rorl	$5,%edx
10969	andl	%ecx,%esi
10970	movl	%ecx,(%esp)
10971	xorl	%ecx,%edx
10972	xorl	%esi,%edi
10973	rorl	$6,%edx
10974	movl	%eax,%ecx
10975	addl	%edi,%edx
10976	movl	20(%esp),%edi
10977	movl	%eax,%esi
10978	rorl	$9,%ecx
10979	movl	%eax,16(%esp)
10980	xorl	%eax,%ecx
10981	xorl	%edi,%eax
10982	addl	12(%esp),%edx
10983	rorl	$11,%ecx
10984	andl	%eax,%ebx
10985	xorl	%esi,%ecx
10986	addl	48(%esp),%edx
10987	xorl	%edi,%ebx
10988	rorl	$2,%ecx
10989	addl	%edx,%ebx
10990	addl	28(%esp),%edx
10991	addl	%ecx,%ebx
10992	movl	%edx,%ecx
10993	rorl	$14,%edx
10994	movl	(%esp),%esi
10995	xorl	%ecx,%edx
10996	movl	4(%esp),%edi
10997	xorl	%edi,%esi
10998	rorl	$5,%edx
10999	andl	%ecx,%esi
11000	movl	%ecx,28(%esp)
11001	xorl	%ecx,%edx
11002	xorl	%esi,%edi
11003	rorl	$6,%edx
11004	movl	%ebx,%ecx
11005	addl	%edi,%edx
11006	movl	16(%esp),%edi
11007	movl	%ebx,%esi
11008	rorl	$9,%ecx
11009	movl	%ebx,12(%esp)
11010	xorl	%ebx,%ecx
11011	xorl	%edi,%ebx
11012	addl	8(%esp),%edx
11013	rorl	$11,%ecx
11014	andl	%ebx,%eax
11015	xorl	%esi,%ecx
11016	addl	52(%esp),%edx
11017	xorl	%edi,%eax
11018	rorl	$2,%ecx
11019	addl	%edx,%eax
11020	addl	24(%esp),%edx
11021	addl	%ecx,%eax
11022	movl	%edx,%ecx
11023	rorl	$14,%edx
11024	movl	28(%esp),%esi
11025	xorl	%ecx,%edx
11026	movl	(%esp),%edi
11027	xorl	%edi,%esi
11028	rorl	$5,%edx
11029	andl	%ecx,%esi
11030	movl	%ecx,24(%esp)
11031	xorl	%ecx,%edx
11032	xorl	%esi,%edi
11033	rorl	$6,%edx
11034	movl	%eax,%ecx
11035	addl	%edi,%edx
11036	movl	12(%esp),%edi
11037	movl	%eax,%esi
11038	rorl	$9,%ecx
11039	movl	%eax,8(%esp)
11040	xorl	%eax,%ecx
11041	xorl	%edi,%eax
11042	addl	4(%esp),%edx
11043	rorl	$11,%ecx
11044	andl	%eax,%ebx
11045	xorl	%esi,%ecx
11046	addl	56(%esp),%edx
11047	xorl	%edi,%ebx
11048	rorl	$2,%ecx
11049	addl	%edx,%ebx
11050	addl	20(%esp),%edx
11051	addl	%ecx,%ebx
11052	movl	%edx,%ecx
11053	rorl	$14,%edx
11054	movl	24(%esp),%esi
11055	xorl	%ecx,%edx
11056	movl	28(%esp),%edi
11057	xorl	%edi,%esi
11058	rorl	$5,%edx
11059	andl	%ecx,%esi
11060	movl	%ecx,20(%esp)
11061	xorl	%ecx,%edx
11062	xorl	%esi,%edi
11063	rorl	$6,%edx
11064	movl	%ebx,%ecx
11065	addl	%edi,%edx
11066	movl	8(%esp),%edi
11067	movl	%ebx,%esi
11068	rorl	$9,%ecx
11069	movl	%ebx,4(%esp)
11070	xorl	%ebx,%ecx
11071	xorl	%edi,%ebx
11072	addl	(%esp),%edx
11073	rorl	$11,%ecx
11074	andl	%ebx,%eax
11075	xorl	%esi,%ecx
11076	addl	60(%esp),%edx
11077	xorl	%edi,%eax
11078	rorl	$2,%ecx
11079	addl	%edx,%eax
11080	addl	16(%esp),%edx
11081	addl	%ecx,%eax
11082	movl	%edx,%ecx
11083	rorl	$14,%edx
11084	movl	20(%esp),%esi
11085	xorl	%ecx,%edx
11086	movl	24(%esp),%edi
11087	xorl	%edi,%esi
11088	rorl	$5,%edx
11089	andl	%ecx,%esi
11090	movl	%ecx,16(%esp)
11091	xorl	%ecx,%edx
11092	xorl	%esi,%edi
11093	rorl	$6,%edx
11094	movl	%eax,%ecx
11095	addl	%edi,%edx
11096	movl	4(%esp),%edi
11097	movl	%eax,%esi
11098	rorl	$9,%ecx
11099	movl	%eax,(%esp)
11100	xorl	%eax,%ecx
11101	xorl	%edi,%eax
11102	addl	28(%esp),%edx
11103	rorl	$11,%ecx
11104	andl	%eax,%ebx
11105	xorl	%esi,%ecx
11106	addl	64(%esp),%edx
11107	xorl	%edi,%ebx
11108	rorl	$2,%ecx
11109	addl	%edx,%ebx
11110	addl	12(%esp),%edx
11111	addl	%ecx,%ebx
11112	movl	%edx,%ecx
11113	rorl	$14,%edx
11114	movl	16(%esp),%esi
11115	xorl	%ecx,%edx
11116	movl	20(%esp),%edi
11117	xorl	%edi,%esi
11118	rorl	$5,%edx
11119	andl	%ecx,%esi
11120	movl	%ecx,12(%esp)
11121	xorl	%ecx,%edx
11122	xorl	%esi,%edi
11123	rorl	$6,%edx
11124	movl	%ebx,%ecx
11125	addl	%edi,%edx
11126	movl	(%esp),%edi
11127	movl	%ebx,%esi
11128	rorl	$9,%ecx
11129	movl	%ebx,28(%esp)
11130	xorl	%ebx,%ecx
11131	xorl	%edi,%ebx
11132	addl	24(%esp),%edx
11133	rorl	$11,%ecx
11134	andl	%ebx,%eax
11135	xorl	%esi,%ecx
11136	addl	68(%esp),%edx
11137	xorl	%edi,%eax
11138	rorl	$2,%ecx
11139	addl	%edx,%eax
11140	addl	8(%esp),%edx
11141	addl	%ecx,%eax
11142	movl	%edx,%ecx
11143	rorl	$14,%edx
11144	movl	12(%esp),%esi
11145	xorl	%ecx,%edx
11146	movl	16(%esp),%edi
11147	xorl	%edi,%esi
11148	rorl	$5,%edx
11149	andl	%ecx,%esi
11150	movl	%ecx,8(%esp)
11151	xorl	%ecx,%edx
11152	xorl	%esi,%edi
11153	rorl	$6,%edx
11154	movl	%eax,%ecx
11155	addl	%edi,%edx
11156	movl	28(%esp),%edi
11157	movl	%eax,%esi
11158	rorl	$9,%ecx
11159	movl	%eax,24(%esp)
11160	xorl	%eax,%ecx
11161	xorl	%edi,%eax
11162	addl	20(%esp),%edx
11163	rorl	$11,%ecx
11164	andl	%eax,%ebx
11165	xorl	%esi,%ecx
11166	addl	72(%esp),%edx
11167	xorl	%edi,%ebx
11168	rorl	$2,%ecx
11169	addl	%edx,%ebx
11170	addl	4(%esp),%edx
11171	addl	%ecx,%ebx
11172	movl	%edx,%ecx
11173	rorl	$14,%edx
11174	movl	8(%esp),%esi
11175	xorl	%ecx,%edx
11176	movl	12(%esp),%edi
11177	xorl	%edi,%esi
11178	rorl	$5,%edx
11179	andl	%ecx,%esi
11180	movl	%ecx,4(%esp)
11181	xorl	%ecx,%edx
11182	xorl	%esi,%edi
11183	rorl	$6,%edx
11184	movl	%ebx,%ecx
11185	addl	%edi,%edx
11186	movl	24(%esp),%edi
11187	movl	%ebx,%esi
11188	rorl	$9,%ecx
11189	movl	%ebx,20(%esp)
11190	xorl	%ebx,%ecx
11191	xorl	%edi,%ebx
11192	addl	16(%esp),%edx
11193	rorl	$11,%ecx
11194	andl	%ebx,%eax
11195	xorl	%esi,%ecx
11196	addl	76(%esp),%edx
11197	xorl	%edi,%eax
11198	rorl	$2,%ecx
11199	addl	%edx,%eax
11200	addl	(%esp),%edx
11201	addl	%ecx,%eax
11202	movl	%edx,%ecx
11203	rorl	$14,%edx
11204	movl	4(%esp),%esi
11205	xorl	%ecx,%edx
11206	movl	8(%esp),%edi
11207	xorl	%edi,%esi
11208	rorl	$5,%edx
11209	andl	%ecx,%esi
11210	movl	%ecx,(%esp)
11211	xorl	%ecx,%edx
11212	xorl	%esi,%edi
11213	rorl	$6,%edx
11214	movl	%eax,%ecx
11215	addl	%edi,%edx
11216	movl	20(%esp),%edi
11217	movl	%eax,%esi
11218	rorl	$9,%ecx
11219	movl	%eax,16(%esp)
11220	xorl	%eax,%ecx
11221	xorl	%edi,%eax
11222	addl	12(%esp),%edx
11223	rorl	$11,%ecx
11224	andl	%eax,%ebx
11225	xorl	%esi,%ecx
11226	addl	80(%esp),%edx
11227	xorl	%edi,%ebx
11228	rorl	$2,%ecx
11229	addl	%edx,%ebx
11230	addl	28(%esp),%edx
11231	addl	%ecx,%ebx
11232	movl	%edx,%ecx
11233	rorl	$14,%edx
11234	movl	(%esp),%esi
11235	xorl	%ecx,%edx
11236	movl	4(%esp),%edi
11237	xorl	%edi,%esi
11238	rorl	$5,%edx
11239	andl	%ecx,%esi
11240	movl	%ecx,28(%esp)
11241	xorl	%ecx,%edx
11242	xorl	%esi,%edi
11243	rorl	$6,%edx
11244	movl	%ebx,%ecx
11245	addl	%edi,%edx
11246	movl	16(%esp),%edi
11247	movl	%ebx,%esi
11248	rorl	$9,%ecx
11249	movl	%ebx,12(%esp)
11250	xorl	%ebx,%ecx
11251	xorl	%edi,%ebx
11252	addl	8(%esp),%edx
11253	rorl	$11,%ecx
11254	andl	%ebx,%eax
11255	xorl	%esi,%ecx
11256	addl	84(%esp),%edx
11257	xorl	%edi,%eax
11258	rorl	$2,%ecx
11259	addl	%edx,%eax
11260	addl	24(%esp),%edx
11261	addl	%ecx,%eax
11262	movl	%edx,%ecx
11263	rorl	$14,%edx
11264	movl	28(%esp),%esi
11265	xorl	%ecx,%edx
11266	movl	(%esp),%edi
11267	xorl	%edi,%esi
11268	rorl	$5,%edx
11269	andl	%ecx,%esi
11270	movl	%ecx,24(%esp)
11271	xorl	%ecx,%edx
11272	xorl	%esi,%edi
11273	rorl	$6,%edx
11274	movl	%eax,%ecx
11275	addl	%edi,%edx
11276	movl	12(%esp),%edi
11277	movl	%eax,%esi
11278	rorl	$9,%ecx
11279	movl	%eax,8(%esp)
11280	xorl	%eax,%ecx
11281	xorl	%edi,%eax
11282	addl	4(%esp),%edx
11283	rorl	$11,%ecx
11284	andl	%eax,%ebx
11285	xorl	%esi,%ecx
11286	addl	88(%esp),%edx
11287	xorl	%edi,%ebx
11288	rorl	$2,%ecx
11289	addl	%edx,%ebx
11290	addl	20(%esp),%edx
11291	addl	%ecx,%ebx
11292	movl	%edx,%ecx
11293	rorl	$14,%edx
11294	movl	24(%esp),%esi
11295	xorl	%ecx,%edx
11296	movl	28(%esp),%edi
11297	xorl	%edi,%esi
11298	rorl	$5,%edx
11299	andl	%ecx,%esi
11300	movl	%ecx,20(%esp)
11301	xorl	%ecx,%edx
11302	xorl	%esi,%edi
11303	rorl	$6,%edx
11304	movl	%ebx,%ecx
11305	addl	%edi,%edx
11306	movl	8(%esp),%edi
11307	movl	%ebx,%esi
11308	rorl	$9,%ecx
11309	movl	%ebx,4(%esp)
11310	xorl	%ebx,%ecx
11311	xorl	%edi,%ebx
11312	addl	(%esp),%edx
11313	rorl	$11,%ecx
11314	andl	%ebx,%eax
11315	xorl	%esi,%ecx
11316	addl	92(%esp),%edx
11317	xorl	%edi,%eax
11318	rorl	$2,%ecx
11319	addl	%edx,%eax
11320	addl	16(%esp),%edx
11321	addl	%ecx,%eax
11322	movl	96(%esp),%esi
11323	xorl	%edi,%ebx
11324	movl	12(%esp),%ecx
11325	addl	(%esi),%eax
11326	addl	4(%esi),%ebx
11327	addl	8(%esi),%edi
11328	addl	12(%esi),%ecx
11329	movl	%eax,(%esi)
11330	movl	%ebx,4(%esi)
11331	movl	%edi,8(%esi)
11332	movl	%ecx,12(%esi)
11333	movl	%ebx,4(%esp)
11334	xorl	%edi,%ebx
11335	movl	%edi,8(%esp)
11336	movl	%ecx,12(%esp)
11337	movl	20(%esp),%edi
11338	movl	24(%esp),%ecx
11339	addl	16(%esi),%edx
11340	addl	20(%esi),%edi
11341	addl	24(%esi),%ecx
11342	movl	%edx,16(%esi)
11343	movl	%edi,20(%esi)
11344	movl	%edi,20(%esp)
11345	movl	28(%esp),%edi
11346	movl	%ecx,24(%esi)
11347	addl	28(%esi),%edi
11348	movl	%ecx,24(%esp)
11349	movl	%edi,28(%esi)
11350	movl	%edi,28(%esp)
11351	movl	100(%esp),%edi
11352	movdqa	64(%ebp),%xmm7
11353	subl	$192,%ebp
11354	cmpl	104(%esp),%edi
11355	jb	.L012grand_ssse3
11356	movl	108(%esp),%esp
11357	popl	%edi
11358	popl	%esi
11359	popl	%ebx
11360	popl	%ebp
11361	ret
11362.align	32
11363.L005AVX:
11364	andl	$264,%edx
11365	cmpl	$264,%edx
11366	je	.L014AVX_BMI
11367	leal	-96(%esp),%esp
11368	vzeroall
11369	movl	(%esi),%eax
11370	movl	4(%esi),%ebx
11371	movl	8(%esi),%ecx
11372	movl	12(%esi),%edi
11373	movl	%ebx,4(%esp)
11374	xorl	%ecx,%ebx
11375	movl	%ecx,8(%esp)
11376	movl	%edi,12(%esp)
11377	movl	16(%esi),%edx
11378	movl	20(%esi),%edi
11379	movl	24(%esi),%ecx
11380	movl	28(%esi),%esi
11381	movl	%edi,20(%esp)
11382	movl	100(%esp),%edi
11383	movl	%ecx,24(%esp)
11384	movl	%esi,28(%esp)
11385	vmovdqa	256(%ebp),%xmm7
11386	jmp	.L015grand_avx
11387.align	32
11388.L015grand_avx:
11389	vmovdqu	(%edi),%xmm0
11390	vmovdqu	16(%edi),%xmm1
11391	vmovdqu	32(%edi),%xmm2
11392	vmovdqu	48(%edi),%xmm3
11393	addl	$64,%edi
11394	vpshufb	%xmm7,%xmm0,%xmm0
11395	movl	%edi,100(%esp)
11396	vpshufb	%xmm7,%xmm1,%xmm1
11397	vpshufb	%xmm7,%xmm2,%xmm2
11398	vpaddd	(%ebp),%xmm0,%xmm4
11399	vpshufb	%xmm7,%xmm3,%xmm3
11400	vpaddd	16(%ebp),%xmm1,%xmm5
11401	vpaddd	32(%ebp),%xmm2,%xmm6
11402	vpaddd	48(%ebp),%xmm3,%xmm7
11403	vmovdqa	%xmm4,32(%esp)
11404	vmovdqa	%xmm5,48(%esp)
11405	vmovdqa	%xmm6,64(%esp)
11406	vmovdqa	%xmm7,80(%esp)
11407	jmp	.L016avx_00_47
11408.align	16
11409.L016avx_00_47:
11410	addl	$64,%ebp
11411	vpalignr	$4,%xmm0,%xmm1,%xmm4
11412	movl	%edx,%ecx
11413	shrdl	$14,%edx,%edx
11414	movl	20(%esp),%esi
11415	vpalignr	$4,%xmm2,%xmm3,%xmm7
11416	xorl	%ecx,%edx
11417	movl	24(%esp),%edi
11418	xorl	%edi,%esi
11419	vpsrld	$7,%xmm4,%xmm6
11420	shrdl	$5,%edx,%edx
11421	andl	%ecx,%esi
11422	movl	%ecx,16(%esp)
11423	vpaddd	%xmm7,%xmm0,%xmm0
11424	xorl	%ecx,%edx
11425	xorl	%esi,%edi
11426	shrdl	$6,%edx,%edx
11427	vpsrld	$3,%xmm4,%xmm7
11428	movl	%eax,%ecx
11429	addl	%edi,%edx
11430	movl	4(%esp),%edi
11431	vpslld	$14,%xmm4,%xmm5
11432	movl	%eax,%esi
11433	shrdl	$9,%ecx,%ecx
11434	movl	%eax,(%esp)
11435	vpxor	%xmm6,%xmm7,%xmm4
11436	xorl	%eax,%ecx
11437	xorl	%edi,%eax
11438	addl	28(%esp),%edx
11439	vpshufd	$250,%xmm3,%xmm7
11440	shrdl	$11,%ecx,%ecx
11441	andl	%eax,%ebx
11442	xorl	%esi,%ecx
11443	vpsrld	$11,%xmm6,%xmm6
11444	addl	32(%esp),%edx
11445	xorl	%edi,%ebx
11446	shrdl	$2,%ecx,%ecx
11447	vpxor	%xmm5,%xmm4,%xmm4
11448	addl	%edx,%ebx
11449	addl	12(%esp),%edx
11450	addl	%ecx,%ebx
11451	vpslld	$11,%xmm5,%xmm5
11452	movl	%edx,%ecx
11453	shrdl	$14,%edx,%edx
11454	movl	16(%esp),%esi
11455	vpxor	%xmm6,%xmm4,%xmm4
11456	xorl	%ecx,%edx
11457	movl	20(%esp),%edi
11458	xorl	%edi,%esi
11459	vpsrld	$10,%xmm7,%xmm6
11460	shrdl	$5,%edx,%edx
11461	andl	%ecx,%esi
11462	movl	%ecx,12(%esp)
11463	vpxor	%xmm5,%xmm4,%xmm4
11464	xorl	%ecx,%edx
11465	xorl	%esi,%edi
11466	shrdl	$6,%edx,%edx
11467	vpsrlq	$17,%xmm7,%xmm5
11468	movl	%ebx,%ecx
11469	addl	%edi,%edx
11470	movl	(%esp),%edi
11471	vpaddd	%xmm4,%xmm0,%xmm0
11472	movl	%ebx,%esi
11473	shrdl	$9,%ecx,%ecx
11474	movl	%ebx,28(%esp)
11475	vpxor	%xmm5,%xmm6,%xmm6
11476	xorl	%ebx,%ecx
11477	xorl	%edi,%ebx
11478	addl	24(%esp),%edx
11479	vpsrlq	$19,%xmm7,%xmm7
11480	shrdl	$11,%ecx,%ecx
11481	andl	%ebx,%eax
11482	xorl	%esi,%ecx
11483	vpxor	%xmm7,%xmm6,%xmm6
11484	addl	36(%esp),%edx
11485	xorl	%edi,%eax
11486	shrdl	$2,%ecx,%ecx
11487	vpshufd	$132,%xmm6,%xmm7
11488	addl	%edx,%eax
11489	addl	8(%esp),%edx
11490	addl	%ecx,%eax
11491	vpsrldq	$8,%xmm7,%xmm7
11492	movl	%edx,%ecx
11493	shrdl	$14,%edx,%edx
11494	movl	12(%esp),%esi
11495	vpaddd	%xmm7,%xmm0,%xmm0
11496	xorl	%ecx,%edx
11497	movl	16(%esp),%edi
11498	xorl	%edi,%esi
11499	vpshufd	$80,%xmm0,%xmm7
11500	shrdl	$5,%edx,%edx
11501	andl	%ecx,%esi
11502	movl	%ecx,8(%esp)
11503	vpsrld	$10,%xmm7,%xmm6
11504	xorl	%ecx,%edx
11505	xorl	%esi,%edi
11506	shrdl	$6,%edx,%edx
11507	vpsrlq	$17,%xmm7,%xmm5
11508	movl	%eax,%ecx
11509	addl	%edi,%edx
11510	movl	28(%esp),%edi
11511	vpxor	%xmm5,%xmm6,%xmm6
11512	movl	%eax,%esi
11513	shrdl	$9,%ecx,%ecx
11514	movl	%eax,24(%esp)
11515	vpsrlq	$19,%xmm7,%xmm7
11516	xorl	%eax,%ecx
11517	xorl	%edi,%eax
11518	addl	20(%esp),%edx
11519	vpxor	%xmm7,%xmm6,%xmm6
11520	shrdl	$11,%ecx,%ecx
11521	andl	%eax,%ebx
11522	xorl	%esi,%ecx
11523	vpshufd	$232,%xmm6,%xmm7
11524	addl	40(%esp),%edx
11525	xorl	%edi,%ebx
11526	shrdl	$2,%ecx,%ecx
11527	vpslldq	$8,%xmm7,%xmm7
11528	addl	%edx,%ebx
11529	addl	4(%esp),%edx
11530	addl	%ecx,%ebx
11531	vpaddd	%xmm7,%xmm0,%xmm0
11532	movl	%edx,%ecx
11533	shrdl	$14,%edx,%edx
11534	movl	8(%esp),%esi
11535	vpaddd	(%ebp),%xmm0,%xmm6
11536	xorl	%ecx,%edx
11537	movl	12(%esp),%edi
11538	xorl	%edi,%esi
11539	shrdl	$5,%edx,%edx
11540	andl	%ecx,%esi
11541	movl	%ecx,4(%esp)
11542	xorl	%ecx,%edx
11543	xorl	%esi,%edi
11544	shrdl	$6,%edx,%edx
11545	movl	%ebx,%ecx
11546	addl	%edi,%edx
11547	movl	24(%esp),%edi
11548	movl	%ebx,%esi
11549	shrdl	$9,%ecx,%ecx
11550	movl	%ebx,20(%esp)
11551	xorl	%ebx,%ecx
11552	xorl	%edi,%ebx
11553	addl	16(%esp),%edx
11554	shrdl	$11,%ecx,%ecx
11555	andl	%ebx,%eax
11556	xorl	%esi,%ecx
11557	addl	44(%esp),%edx
11558	xorl	%edi,%eax
11559	shrdl	$2,%ecx,%ecx
11560	addl	%edx,%eax
11561	addl	(%esp),%edx
11562	addl	%ecx,%eax
11563	vmovdqa	%xmm6,32(%esp)
11564	vpalignr	$4,%xmm1,%xmm2,%xmm4
11565	movl	%edx,%ecx
11566	shrdl	$14,%edx,%edx
11567	movl	4(%esp),%esi
11568	vpalignr	$4,%xmm3,%xmm0,%xmm7
11569	xorl	%ecx,%edx
11570	movl	8(%esp),%edi
11571	xorl	%edi,%esi
11572	vpsrld	$7,%xmm4,%xmm6
11573	shrdl	$5,%edx,%edx
11574	andl	%ecx,%esi
11575	movl	%ecx,(%esp)
11576	vpaddd	%xmm7,%xmm1,%xmm1
11577	xorl	%ecx,%edx
11578	xorl	%esi,%edi
11579	shrdl	$6,%edx,%edx
11580	vpsrld	$3,%xmm4,%xmm7
11581	movl	%eax,%ecx
11582	addl	%edi,%edx
11583	movl	20(%esp),%edi
11584	vpslld	$14,%xmm4,%xmm5
11585	movl	%eax,%esi
11586	shrdl	$9,%ecx,%ecx
11587	movl	%eax,16(%esp)
11588	vpxor	%xmm6,%xmm7,%xmm4
11589	xorl	%eax,%ecx
11590	xorl	%edi,%eax
11591	addl	12(%esp),%edx
11592	vpshufd	$250,%xmm0,%xmm7
11593	shrdl	$11,%ecx,%ecx
11594	andl	%eax,%ebx
11595	xorl	%esi,%ecx
11596	vpsrld	$11,%xmm6,%xmm6
11597	addl	48(%esp),%edx
11598	xorl	%edi,%ebx
11599	shrdl	$2,%ecx,%ecx
11600	vpxor	%xmm5,%xmm4,%xmm4
11601	addl	%edx,%ebx
11602	addl	28(%esp),%edx
11603	addl	%ecx,%ebx
11604	vpslld	$11,%xmm5,%xmm5
11605	movl	%edx,%ecx
11606	shrdl	$14,%edx,%edx
11607	movl	(%esp),%esi
11608	vpxor	%xmm6,%xmm4,%xmm4
11609	xorl	%ecx,%edx
11610	movl	4(%esp),%edi
11611	xorl	%edi,%esi
11612	vpsrld	$10,%xmm7,%xmm6
11613	shrdl	$5,%edx,%edx
11614	andl	%ecx,%esi
11615	movl	%ecx,28(%esp)
11616	vpxor	%xmm5,%xmm4,%xmm4
11617	xorl	%ecx,%edx
11618	xorl	%esi,%edi
11619	shrdl	$6,%edx,%edx
11620	vpsrlq	$17,%xmm7,%xmm5
11621	movl	%ebx,%ecx
11622	addl	%edi,%edx
11623	movl	16(%esp),%edi
11624	vpaddd	%xmm4,%xmm1,%xmm1
11625	movl	%ebx,%esi
11626	shrdl	$9,%ecx,%ecx
11627	movl	%ebx,12(%esp)
11628	vpxor	%xmm5,%xmm6,%xmm6
11629	xorl	%ebx,%ecx
11630	xorl	%edi,%ebx
11631	addl	8(%esp),%edx
11632	vpsrlq	$19,%xmm7,%xmm7
11633	shrdl	$11,%ecx,%ecx
11634	andl	%ebx,%eax
11635	xorl	%esi,%ecx
11636	vpxor	%xmm7,%xmm6,%xmm6
11637	addl	52(%esp),%edx
11638	xorl	%edi,%eax
11639	shrdl	$2,%ecx,%ecx
11640	vpshufd	$132,%xmm6,%xmm7
11641	addl	%edx,%eax
11642	addl	24(%esp),%edx
11643	addl	%ecx,%eax
11644	vpsrldq	$8,%xmm7,%xmm7
11645	movl	%edx,%ecx
11646	shrdl	$14,%edx,%edx
11647	movl	28(%esp),%esi
11648	vpaddd	%xmm7,%xmm1,%xmm1
11649	xorl	%ecx,%edx
11650	movl	(%esp),%edi
11651	xorl	%edi,%esi
11652	vpshufd	$80,%xmm1,%xmm7
11653	shrdl	$5,%edx,%edx
11654	andl	%ecx,%esi
11655	movl	%ecx,24(%esp)
11656	vpsrld	$10,%xmm7,%xmm6
11657	xorl	%ecx,%edx
11658	xorl	%esi,%edi
11659	shrdl	$6,%edx,%edx
11660	vpsrlq	$17,%xmm7,%xmm5
11661	movl	%eax,%ecx
11662	addl	%edi,%edx
11663	movl	12(%esp),%edi
11664	vpxor	%xmm5,%xmm6,%xmm6
11665	movl	%eax,%esi
11666	shrdl	$9,%ecx,%ecx
11667	movl	%eax,8(%esp)
11668	vpsrlq	$19,%xmm7,%xmm7
11669	xorl	%eax,%ecx
11670	xorl	%edi,%eax
11671	addl	4(%esp),%edx
11672	vpxor	%xmm7,%xmm6,%xmm6
11673	shrdl	$11,%ecx,%ecx
11674	andl	%eax,%ebx
11675	xorl	%esi,%ecx
11676	vpshufd	$232,%xmm6,%xmm7
11677	addl	56(%esp),%edx
11678	xorl	%edi,%ebx
11679	shrdl	$2,%ecx,%ecx
11680	vpslldq	$8,%xmm7,%xmm7
11681	addl	%edx,%ebx
11682	addl	20(%esp),%edx
11683	addl	%ecx,%ebx
11684	vpaddd	%xmm7,%xmm1,%xmm1
11685	movl	%edx,%ecx
11686	shrdl	$14,%edx,%edx
11687	movl	24(%esp),%esi
11688	vpaddd	16(%ebp),%xmm1,%xmm6
11689	xorl	%ecx,%edx
11690	movl	28(%esp),%edi
11691	xorl	%edi,%esi
11692	shrdl	$5,%edx,%edx
11693	andl	%ecx,%esi
11694	movl	%ecx,20(%esp)
11695	xorl	%ecx,%edx
11696	xorl	%esi,%edi
11697	shrdl	$6,%edx,%edx
11698	movl	%ebx,%ecx
11699	addl	%edi,%edx
11700	movl	8(%esp),%edi
11701	movl	%ebx,%esi
11702	shrdl	$9,%ecx,%ecx
11703	movl	%ebx,4(%esp)
11704	xorl	%ebx,%ecx
11705	xorl	%edi,%ebx
11706	addl	(%esp),%edx
11707	shrdl	$11,%ecx,%ecx
11708	andl	%ebx,%eax
11709	xorl	%esi,%ecx
11710	addl	60(%esp),%edx
11711	xorl	%edi,%eax
11712	shrdl	$2,%ecx,%ecx
11713	addl	%edx,%eax
11714	addl	16(%esp),%edx
11715	addl	%ecx,%eax
11716	vmovdqa	%xmm6,48(%esp)
11717	vpalignr	$4,%xmm2,%xmm3,%xmm4
11718	movl	%edx,%ecx
11719	shrdl	$14,%edx,%edx
11720	movl	20(%esp),%esi
11721	vpalignr	$4,%xmm0,%xmm1,%xmm7
11722	xorl	%ecx,%edx
11723	movl	24(%esp),%edi
11724	xorl	%edi,%esi
11725	vpsrld	$7,%xmm4,%xmm6
11726	shrdl	$5,%edx,%edx
11727	andl	%ecx,%esi
11728	movl	%ecx,16(%esp)
11729	vpaddd	%xmm7,%xmm2,%xmm2
11730	xorl	%ecx,%edx
11731	xorl	%esi,%edi
11732	shrdl	$6,%edx,%edx
11733	vpsrld	$3,%xmm4,%xmm7
11734	movl	%eax,%ecx
11735	addl	%edi,%edx
11736	movl	4(%esp),%edi
11737	vpslld	$14,%xmm4,%xmm5
11738	movl	%eax,%esi
11739	shrdl	$9,%ecx,%ecx
11740	movl	%eax,(%esp)
11741	vpxor	%xmm6,%xmm7,%xmm4
11742	xorl	%eax,%ecx
11743	xorl	%edi,%eax
11744	addl	28(%esp),%edx
11745	vpshufd	$250,%xmm1,%xmm7
11746	shrdl	$11,%ecx,%ecx
11747	andl	%eax,%ebx
11748	xorl	%esi,%ecx
11749	vpsrld	$11,%xmm6,%xmm6
11750	addl	64(%esp),%edx
11751	xorl	%edi,%ebx
11752	shrdl	$2,%ecx,%ecx
11753	vpxor	%xmm5,%xmm4,%xmm4
11754	addl	%edx,%ebx
11755	addl	12(%esp),%edx
11756	addl	%ecx,%ebx
11757	vpslld	$11,%xmm5,%xmm5
11758	movl	%edx,%ecx
11759	shrdl	$14,%edx,%edx
11760	movl	16(%esp),%esi
11761	vpxor	%xmm6,%xmm4,%xmm4
11762	xorl	%ecx,%edx
11763	movl	20(%esp),%edi
11764	xorl	%edi,%esi
11765	vpsrld	$10,%xmm7,%xmm6
11766	shrdl	$5,%edx,%edx
11767	andl	%ecx,%esi
11768	movl	%ecx,12(%esp)
11769	vpxor	%xmm5,%xmm4,%xmm4
11770	xorl	%ecx,%edx
11771	xorl	%esi,%edi
11772	shrdl	$6,%edx,%edx
11773	vpsrlq	$17,%xmm7,%xmm5
11774	movl	%ebx,%ecx
11775	addl	%edi,%edx
11776	movl	(%esp),%edi
11777	vpaddd	%xmm4,%xmm2,%xmm2
11778	movl	%ebx,%esi
11779	shrdl	$9,%ecx,%ecx
11780	movl	%ebx,28(%esp)
11781	vpxor	%xmm5,%xmm6,%xmm6
11782	xorl	%ebx,%ecx
11783	xorl	%edi,%ebx
11784	addl	24(%esp),%edx
11785	vpsrlq	$19,%xmm7,%xmm7
11786	shrdl	$11,%ecx,%ecx
11787	andl	%ebx,%eax
11788	xorl	%esi,%ecx
11789	vpxor	%xmm7,%xmm6,%xmm6
11790	addl	68(%esp),%edx
11791	xorl	%edi,%eax
11792	shrdl	$2,%ecx,%ecx
11793	vpshufd	$132,%xmm6,%xmm7
11794	addl	%edx,%eax
11795	addl	8(%esp),%edx
11796	addl	%ecx,%eax
11797	vpsrldq	$8,%xmm7,%xmm7
11798	movl	%edx,%ecx
11799	shrdl	$14,%edx,%edx
11800	movl	12(%esp),%esi
11801	vpaddd	%xmm7,%xmm2,%xmm2
11802	xorl	%ecx,%edx
11803	movl	16(%esp),%edi
11804	xorl	%edi,%esi
11805	vpshufd	$80,%xmm2,%xmm7
11806	shrdl	$5,%edx,%edx
11807	andl	%ecx,%esi
11808	movl	%ecx,8(%esp)
11809	vpsrld	$10,%xmm7,%xmm6
11810	xorl	%ecx,%edx
11811	xorl	%esi,%edi
11812	shrdl	$6,%edx,%edx
11813	vpsrlq	$17,%xmm7,%xmm5
11814	movl	%eax,%ecx
11815	addl	%edi,%edx
11816	movl	28(%esp),%edi
11817	vpxor	%xmm5,%xmm6,%xmm6
11818	movl	%eax,%esi
11819	shrdl	$9,%ecx,%ecx
11820	movl	%eax,24(%esp)
11821	vpsrlq	$19,%xmm7,%xmm7
11822	xorl	%eax,%ecx
11823	xorl	%edi,%eax
11824	addl	20(%esp),%edx
11825	vpxor	%xmm7,%xmm6,%xmm6
11826	shrdl	$11,%ecx,%ecx
11827	andl	%eax,%ebx
11828	xorl	%esi,%ecx
11829	vpshufd	$232,%xmm6,%xmm7
11830	addl	72(%esp),%edx
11831	xorl	%edi,%ebx
11832	shrdl	$2,%ecx,%ecx
11833	vpslldq	$8,%xmm7,%xmm7
11834	addl	%edx,%ebx
11835	addl	4(%esp),%edx
11836	addl	%ecx,%ebx
11837	vpaddd	%xmm7,%xmm2,%xmm2
11838	movl	%edx,%ecx
11839	shrdl	$14,%edx,%edx
11840	movl	8(%esp),%esi
11841	vpaddd	32(%ebp),%xmm2,%xmm6
11842	xorl	%ecx,%edx
11843	movl	12(%esp),%edi
11844	xorl	%edi,%esi
11845	shrdl	$5,%edx,%edx
11846	andl	%ecx,%esi
11847	movl	%ecx,4(%esp)
11848	xorl	%ecx,%edx
11849	xorl	%esi,%edi
11850	shrdl	$6,%edx,%edx
11851	movl	%ebx,%ecx
11852	addl	%edi,%edx
11853	movl	24(%esp),%edi
11854	movl	%ebx,%esi
11855	shrdl	$9,%ecx,%ecx
11856	movl	%ebx,20(%esp)
11857	xorl	%ebx,%ecx
11858	xorl	%edi,%ebx
11859	addl	16(%esp),%edx
11860	shrdl	$11,%ecx,%ecx
11861	andl	%ebx,%eax
11862	xorl	%esi,%ecx
11863	addl	76(%esp),%edx
11864	xorl	%edi,%eax
11865	shrdl	$2,%ecx,%ecx
11866	addl	%edx,%eax
11867	addl	(%esp),%edx
11868	addl	%ecx,%eax
11869	vmovdqa	%xmm6,64(%esp)
11870	vpalignr	$4,%xmm3,%xmm0,%xmm4
11871	movl	%edx,%ecx
11872	shrdl	$14,%edx,%edx
11873	movl	4(%esp),%esi
11874	vpalignr	$4,%xmm1,%xmm2,%xmm7
11875	xorl	%ecx,%edx
11876	movl	8(%esp),%edi
11877	xorl	%edi,%esi
11878	vpsrld	$7,%xmm4,%xmm6
11879	shrdl	$5,%edx,%edx
11880	andl	%ecx,%esi
11881	movl	%ecx,(%esp)
11882	vpaddd	%xmm7,%xmm3,%xmm3
11883	xorl	%ecx,%edx
11884	xorl	%esi,%edi
11885	shrdl	$6,%edx,%edx
11886	vpsrld	$3,%xmm4,%xmm7
11887	movl	%eax,%ecx
11888	addl	%edi,%edx
11889	movl	20(%esp),%edi
11890	vpslld	$14,%xmm4,%xmm5
11891	movl	%eax,%esi
11892	shrdl	$9,%ecx,%ecx
11893	movl	%eax,16(%esp)
11894	vpxor	%xmm6,%xmm7,%xmm4
11895	xorl	%eax,%ecx
11896	xorl	%edi,%eax
11897	addl	12(%esp),%edx
11898	vpshufd	$250,%xmm2,%xmm7
11899	shrdl	$11,%ecx,%ecx
11900	andl	%eax,%ebx
11901	xorl	%esi,%ecx
11902	vpsrld	$11,%xmm6,%xmm6
11903	addl	80(%esp),%edx
11904	xorl	%edi,%ebx
11905	shrdl	$2,%ecx,%ecx
11906	vpxor	%xmm5,%xmm4,%xmm4
11907	addl	%edx,%ebx
11908	addl	28(%esp),%edx
11909	addl	%ecx,%ebx
11910	vpslld	$11,%xmm5,%xmm5
11911	movl	%edx,%ecx
11912	shrdl	$14,%edx,%edx
11913	movl	(%esp),%esi
11914	vpxor	%xmm6,%xmm4,%xmm4
11915	xorl	%ecx,%edx
11916	movl	4(%esp),%edi
11917	xorl	%edi,%esi
11918	vpsrld	$10,%xmm7,%xmm6
11919	shrdl	$5,%edx,%edx
11920	andl	%ecx,%esi
11921	movl	%ecx,28(%esp)
11922	vpxor	%xmm5,%xmm4,%xmm4
11923	xorl	%ecx,%edx
11924	xorl	%esi,%edi
11925	shrdl	$6,%edx,%edx
11926	vpsrlq	$17,%xmm7,%xmm5
11927	movl	%ebx,%ecx
11928	addl	%edi,%edx
11929	movl	16(%esp),%edi
11930	vpaddd	%xmm4,%xmm3,%xmm3
11931	movl	%ebx,%esi
11932	shrdl	$9,%ecx,%ecx
11933	movl	%ebx,12(%esp)
11934	vpxor	%xmm5,%xmm6,%xmm6
11935	xorl	%ebx,%ecx
11936	xorl	%edi,%ebx
11937	addl	8(%esp),%edx
11938	vpsrlq	$19,%xmm7,%xmm7
11939	shrdl	$11,%ecx,%ecx
11940	andl	%ebx,%eax
11941	xorl	%esi,%ecx
11942	vpxor	%xmm7,%xmm6,%xmm6
11943	addl	84(%esp),%edx
11944	xorl	%edi,%eax
11945	shrdl	$2,%ecx,%ecx
11946	vpshufd	$132,%xmm6,%xmm7
11947	addl	%edx,%eax
11948	addl	24(%esp),%edx
11949	addl	%ecx,%eax
11950	vpsrldq	$8,%xmm7,%xmm7
11951	movl	%edx,%ecx
11952	shrdl	$14,%edx,%edx
11953	movl	28(%esp),%esi
11954	vpaddd	%xmm7,%xmm3,%xmm3
11955	xorl	%ecx,%edx
11956	movl	(%esp),%edi
11957	xorl	%edi,%esi
11958	vpshufd	$80,%xmm3,%xmm7
11959	shrdl	$5,%edx,%edx
11960	andl	%ecx,%esi
11961	movl	%ecx,24(%esp)
11962	vpsrld	$10,%xmm7,%xmm6
11963	xorl	%ecx,%edx
11964	xorl	%esi,%edi
11965	shrdl	$6,%edx,%edx
11966	vpsrlq	$17,%xmm7,%xmm5
11967	movl	%eax,%ecx
11968	addl	%edi,%edx
11969	movl	12(%esp),%edi
11970	vpxor	%xmm5,%xmm6,%xmm6
11971	movl	%eax,%esi
11972	shrdl	$9,%ecx,%ecx
11973	movl	%eax,8(%esp)
11974	vpsrlq	$19,%xmm7,%xmm7
11975	xorl	%eax,%ecx
11976	xorl	%edi,%eax
11977	addl	4(%esp),%edx
11978	vpxor	%xmm7,%xmm6,%xmm6
11979	shrdl	$11,%ecx,%ecx
11980	andl	%eax,%ebx
11981	xorl	%esi,%ecx
11982	vpshufd	$232,%xmm6,%xmm7
11983	addl	88(%esp),%edx
11984	xorl	%edi,%ebx
11985	shrdl	$2,%ecx,%ecx
11986	vpslldq	$8,%xmm7,%xmm7
11987	addl	%edx,%ebx
11988	addl	20(%esp),%edx
11989	addl	%ecx,%ebx
11990	vpaddd	%xmm7,%xmm3,%xmm3
11991	movl	%edx,%ecx
11992	shrdl	$14,%edx,%edx
11993	movl	24(%esp),%esi
11994	vpaddd	48(%ebp),%xmm3,%xmm6
11995	xorl	%ecx,%edx
11996	movl	28(%esp),%edi
11997	xorl	%edi,%esi
11998	shrdl	$5,%edx,%edx
11999	andl	%ecx,%esi
12000	movl	%ecx,20(%esp)
12001	xorl	%ecx,%edx
12002	xorl	%esi,%edi
12003	shrdl	$6,%edx,%edx
12004	movl	%ebx,%ecx
12005	addl	%edi,%edx
12006	movl	8(%esp),%edi
12007	movl	%ebx,%esi
12008	shrdl	$9,%ecx,%ecx
12009	movl	%ebx,4(%esp)
12010	xorl	%ebx,%ecx
12011	xorl	%edi,%ebx
12012	addl	(%esp),%edx
12013	shrdl	$11,%ecx,%ecx
12014	andl	%ebx,%eax
12015	xorl	%esi,%ecx
12016	addl	92(%esp),%edx
12017	xorl	%edi,%eax
12018	shrdl	$2,%ecx,%ecx
12019	addl	%edx,%eax
12020	addl	16(%esp),%edx
12021	addl	%ecx,%eax
12022	vmovdqa	%xmm6,80(%esp)
12023	cmpl	$66051,64(%ebp)
12024	jne	.L016avx_00_47
12025	movl	%edx,%ecx
12026	shrdl	$14,%edx,%edx
12027	movl	20(%esp),%esi
12028	xorl	%ecx,%edx
12029	movl	24(%esp),%edi
12030	xorl	%edi,%esi
12031	shrdl	$5,%edx,%edx
12032	andl	%ecx,%esi
12033	movl	%ecx,16(%esp)
12034	xorl	%ecx,%edx
12035	xorl	%esi,%edi
12036	shrdl	$6,%edx,%edx
12037	movl	%eax,%ecx
12038	addl	%edi,%edx
12039	movl	4(%esp),%edi
12040	movl	%eax,%esi
12041	shrdl	$9,%ecx,%ecx
12042	movl	%eax,(%esp)
12043	xorl	%eax,%ecx
12044	xorl	%edi,%eax
12045	addl	28(%esp),%edx
12046	shrdl	$11,%ecx,%ecx
12047	andl	%eax,%ebx
12048	xorl	%esi,%ecx
12049	addl	32(%esp),%edx
12050	xorl	%edi,%ebx
12051	shrdl	$2,%ecx,%ecx
12052	addl	%edx,%ebx
12053	addl	12(%esp),%edx
12054	addl	%ecx,%ebx
12055	movl	%edx,%ecx
12056	shrdl	$14,%edx,%edx
12057	movl	16(%esp),%esi
12058	xorl	%ecx,%edx
12059	movl	20(%esp),%edi
12060	xorl	%edi,%esi
12061	shrdl	$5,%edx,%edx
12062	andl	%ecx,%esi
12063	movl	%ecx,12(%esp)
12064	xorl	%ecx,%edx
12065	xorl	%esi,%edi
12066	shrdl	$6,%edx,%edx
12067	movl	%ebx,%ecx
12068	addl	%edi,%edx
12069	movl	(%esp),%edi
12070	movl	%ebx,%esi
12071	shrdl	$9,%ecx,%ecx
12072	movl	%ebx,28(%esp)
12073	xorl	%ebx,%ecx
12074	xorl	%edi,%ebx
12075	addl	24(%esp),%edx
12076	shrdl	$11,%ecx,%ecx
12077	andl	%ebx,%eax
12078	xorl	%esi,%ecx
12079	addl	36(%esp),%edx
12080	xorl	%edi,%eax
12081	shrdl	$2,%ecx,%ecx
12082	addl	%edx,%eax
12083	addl	8(%esp),%edx
12084	addl	%ecx,%eax
12085	movl	%edx,%ecx
12086	shrdl	$14,%edx,%edx
12087	movl	12(%esp),%esi
12088	xorl	%ecx,%edx
12089	movl	16(%esp),%edi
12090	xorl	%edi,%esi
12091	shrdl	$5,%edx,%edx
12092	andl	%ecx,%esi
12093	movl	%ecx,8(%esp)
12094	xorl	%ecx,%edx
12095	xorl	%esi,%edi
12096	shrdl	$6,%edx,%edx
12097	movl	%eax,%ecx
12098	addl	%edi,%edx
12099	movl	28(%esp),%edi
12100	movl	%eax,%esi
12101	shrdl	$9,%ecx,%ecx
12102	movl	%eax,24(%esp)
12103	xorl	%eax,%ecx
12104	xorl	%edi,%eax
12105	addl	20(%esp),%edx
12106	shrdl	$11,%ecx,%ecx
12107	andl	%eax,%ebx
12108	xorl	%esi,%ecx
12109	addl	40(%esp),%edx
12110	xorl	%edi,%ebx
12111	shrdl	$2,%ecx,%ecx
12112	addl	%edx,%ebx
12113	addl	4(%esp),%edx
12114	addl	%ecx,%ebx
12115	movl	%edx,%ecx
12116	shrdl	$14,%edx,%edx
12117	movl	8(%esp),%esi
12118	xorl	%ecx,%edx
12119	movl	12(%esp),%edi
12120	xorl	%edi,%esi
12121	shrdl	$5,%edx,%edx
12122	andl	%ecx,%esi
12123	movl	%ecx,4(%esp)
12124	xorl	%ecx,%edx
12125	xorl	%esi,%edi
12126	shrdl	$6,%edx,%edx
12127	movl	%ebx,%ecx
12128	addl	%edi,%edx
12129	movl	24(%esp),%edi
12130	movl	%ebx,%esi
12131	shrdl	$9,%ecx,%ecx
12132	movl	%ebx,20(%esp)
12133	xorl	%ebx,%ecx
12134	xorl	%edi,%ebx
12135	addl	16(%esp),%edx
12136	shrdl	$11,%ecx,%ecx
12137	andl	%ebx,%eax
12138	xorl	%esi,%ecx
12139	addl	44(%esp),%edx
12140	xorl	%edi,%eax
12141	shrdl	$2,%ecx,%ecx
12142	addl	%edx,%eax
12143	addl	(%esp),%edx
12144	addl	%ecx,%eax
12145	movl	%edx,%ecx
12146	shrdl	$14,%edx,%edx
12147	movl	4(%esp),%esi
12148	xorl	%ecx,%edx
12149	movl	8(%esp),%edi
12150	xorl	%edi,%esi
12151	shrdl	$5,%edx,%edx
12152	andl	%ecx,%esi
12153	movl	%ecx,(%esp)
12154	xorl	%ecx,%edx
12155	xorl	%esi,%edi
12156	shrdl	$6,%edx,%edx
12157	movl	%eax,%ecx
12158	addl	%edi,%edx
12159	movl	20(%esp),%edi
12160	movl	%eax,%esi
12161	shrdl	$9,%ecx,%ecx
12162	movl	%eax,16(%esp)
12163	xorl	%eax,%ecx
12164	xorl	%edi,%eax
12165	addl	12(%esp),%edx
12166	shrdl	$11,%ecx,%ecx
12167	andl	%eax,%ebx
12168	xorl	%esi,%ecx
12169	addl	48(%esp),%edx
12170	xorl	%edi,%ebx
12171	shrdl	$2,%ecx,%ecx
12172	addl	%edx,%ebx
12173	addl	28(%esp),%edx
12174	addl	%ecx,%ebx
12175	movl	%edx,%ecx
12176	shrdl	$14,%edx,%edx
12177	movl	(%esp),%esi
12178	xorl	%ecx,%edx
12179	movl	4(%esp),%edi
12180	xorl	%edi,%esi
12181	shrdl	$5,%edx,%edx
12182	andl	%ecx,%esi
12183	movl	%ecx,28(%esp)
12184	xorl	%ecx,%edx
12185	xorl	%esi,%edi
12186	shrdl	$6,%edx,%edx
12187	movl	%ebx,%ecx
12188	addl	%edi,%edx
12189	movl	16(%esp),%edi
12190	movl	%ebx,%esi
12191	shrdl	$9,%ecx,%ecx
12192	movl	%ebx,12(%esp)
12193	xorl	%ebx,%ecx
12194	xorl	%edi,%ebx
12195	addl	8(%esp),%edx
12196	shrdl	$11,%ecx,%ecx
12197	andl	%ebx,%eax
12198	xorl	%esi,%ecx
12199	addl	52(%esp),%edx
12200	xorl	%edi,%eax
12201	shrdl	$2,%ecx,%ecx
12202	addl	%edx,%eax
12203	addl	24(%esp),%edx
12204	addl	%ecx,%eax
12205	movl	%edx,%ecx
12206	shrdl	$14,%edx,%edx
12207	movl	28(%esp),%esi
12208	xorl	%ecx,%edx
12209	movl	(%esp),%edi
12210	xorl	%edi,%esi
12211	shrdl	$5,%edx,%edx
12212	andl	%ecx,%esi
12213	movl	%ecx,24(%esp)
12214	xorl	%ecx,%edx
12215	xorl	%esi,%edi
12216	shrdl	$6,%edx,%edx
12217	movl	%eax,%ecx
12218	addl	%edi,%edx
12219	movl	12(%esp),%edi
12220	movl	%eax,%esi
12221	shrdl	$9,%ecx,%ecx
12222	movl	%eax,8(%esp)
12223	xorl	%eax,%ecx
12224	xorl	%edi,%eax
12225	addl	4(%esp),%edx
12226	shrdl	$11,%ecx,%ecx
12227	andl	%eax,%ebx
12228	xorl	%esi,%ecx
12229	addl	56(%esp),%edx
12230	xorl	%edi,%ebx
12231	shrdl	$2,%ecx,%ecx
12232	addl	%edx,%ebx
12233	addl	20(%esp),%edx
12234	addl	%ecx,%ebx
12235	movl	%edx,%ecx
12236	shrdl	$14,%edx,%edx
12237	movl	24(%esp),%esi
12238	xorl	%ecx,%edx
12239	movl	28(%esp),%edi
12240	xorl	%edi,%esi
12241	shrdl	$5,%edx,%edx
12242	andl	%ecx,%esi
12243	movl	%ecx,20(%esp)
12244	xorl	%ecx,%edx
12245	xorl	%esi,%edi
12246	shrdl	$6,%edx,%edx
12247	movl	%ebx,%ecx
12248	addl	%edi,%edx
12249	movl	8(%esp),%edi
12250	movl	%ebx,%esi
12251	shrdl	$9,%ecx,%ecx
12252	movl	%ebx,4(%esp)
12253	xorl	%ebx,%ecx
12254	xorl	%edi,%ebx
12255	addl	(%esp),%edx
12256	shrdl	$11,%ecx,%ecx
12257	andl	%ebx,%eax
12258	xorl	%esi,%ecx
12259	addl	60(%esp),%edx
12260	xorl	%edi,%eax
12261	shrdl	$2,%ecx,%ecx
12262	addl	%edx,%eax
12263	addl	16(%esp),%edx
12264	addl	%ecx,%eax
12265	movl	%edx,%ecx
12266	shrdl	$14,%edx,%edx
12267	movl	20(%esp),%esi
12268	xorl	%ecx,%edx
12269	movl	24(%esp),%edi
12270	xorl	%edi,%esi
12271	shrdl	$5,%edx,%edx
12272	andl	%ecx,%esi
12273	movl	%ecx,16(%esp)
12274	xorl	%ecx,%edx
12275	xorl	%esi,%edi
12276	shrdl	$6,%edx,%edx
12277	movl	%eax,%ecx
12278	addl	%edi,%edx
12279	movl	4(%esp),%edi
12280	movl	%eax,%esi
12281	shrdl	$9,%ecx,%ecx
12282	movl	%eax,(%esp)
12283	xorl	%eax,%ecx
12284	xorl	%edi,%eax
12285	addl	28(%esp),%edx
12286	shrdl	$11,%ecx,%ecx
12287	andl	%eax,%ebx
12288	xorl	%esi,%ecx
12289	addl	64(%esp),%edx
12290	xorl	%edi,%ebx
12291	shrdl	$2,%ecx,%ecx
12292	addl	%edx,%ebx
12293	addl	12(%esp),%edx
12294	addl	%ecx,%ebx
12295	movl	%edx,%ecx
12296	shrdl	$14,%edx,%edx
12297	movl	16(%esp),%esi
12298	xorl	%ecx,%edx
12299	movl	20(%esp),%edi
12300	xorl	%edi,%esi
12301	shrdl	$5,%edx,%edx
12302	andl	%ecx,%esi
12303	movl	%ecx,12(%esp)
12304	xorl	%ecx,%edx
12305	xorl	%esi,%edi
12306	shrdl	$6,%edx,%edx
12307	movl	%ebx,%ecx
12308	addl	%edi,%edx
12309	movl	(%esp),%edi
12310	movl	%ebx,%esi
12311	shrdl	$9,%ecx,%ecx
12312	movl	%ebx,28(%esp)
12313	xorl	%ebx,%ecx
12314	xorl	%edi,%ebx
12315	addl	24(%esp),%edx
12316	shrdl	$11,%ecx,%ecx
12317	andl	%ebx,%eax
12318	xorl	%esi,%ecx
12319	addl	68(%esp),%edx
12320	xorl	%edi,%eax
12321	shrdl	$2,%ecx,%ecx
12322	addl	%edx,%eax
12323	addl	8(%esp),%edx
12324	addl	%ecx,%eax
12325	movl	%edx,%ecx
12326	shrdl	$14,%edx,%edx
12327	movl	12(%esp),%esi
12328	xorl	%ecx,%edx
12329	movl	16(%esp),%edi
12330	xorl	%edi,%esi
12331	shrdl	$5,%edx,%edx
12332	andl	%ecx,%esi
12333	movl	%ecx,8(%esp)
12334	xorl	%ecx,%edx
12335	xorl	%esi,%edi
12336	shrdl	$6,%edx,%edx
12337	movl	%eax,%ecx
12338	addl	%edi,%edx
12339	movl	28(%esp),%edi
12340	movl	%eax,%esi
12341	shrdl	$9,%ecx,%ecx
12342	movl	%eax,24(%esp)
12343	xorl	%eax,%ecx
12344	xorl	%edi,%eax
12345	addl	20(%esp),%edx
12346	shrdl	$11,%ecx,%ecx
12347	andl	%eax,%ebx
12348	xorl	%esi,%ecx
12349	addl	72(%esp),%edx
12350	xorl	%edi,%ebx
12351	shrdl	$2,%ecx,%ecx
12352	addl	%edx,%ebx
12353	addl	4(%esp),%edx
12354	addl	%ecx,%ebx
12355	movl	%edx,%ecx
12356	shrdl	$14,%edx,%edx
12357	movl	8(%esp),%esi
12358	xorl	%ecx,%edx
12359	movl	12(%esp),%edi
12360	xorl	%edi,%esi
12361	shrdl	$5,%edx,%edx
12362	andl	%ecx,%esi
12363	movl	%ecx,4(%esp)
12364	xorl	%ecx,%edx
12365	xorl	%esi,%edi
12366	shrdl	$6,%edx,%edx
12367	movl	%ebx,%ecx
12368	addl	%edi,%edx
12369	movl	24(%esp),%edi
12370	movl	%ebx,%esi
12371	shrdl	$9,%ecx,%ecx
12372	movl	%ebx,20(%esp)
12373	xorl	%ebx,%ecx
12374	xorl	%edi,%ebx
12375	addl	16(%esp),%edx
12376	shrdl	$11,%ecx,%ecx
12377	andl	%ebx,%eax
12378	xorl	%esi,%ecx
12379	addl	76(%esp),%edx
12380	xorl	%edi,%eax
12381	shrdl	$2,%ecx,%ecx
12382	addl	%edx,%eax
12383	addl	(%esp),%edx
12384	addl	%ecx,%eax
12385	movl	%edx,%ecx
12386	shrdl	$14,%edx,%edx
12387	movl	4(%esp),%esi
12388	xorl	%ecx,%edx
12389	movl	8(%esp),%edi
12390	xorl	%edi,%esi
12391	shrdl	$5,%edx,%edx
12392	andl	%ecx,%esi
12393	movl	%ecx,(%esp)
12394	xorl	%ecx,%edx
12395	xorl	%esi,%edi
12396	shrdl	$6,%edx,%edx
12397	movl	%eax,%ecx
12398	addl	%edi,%edx
12399	movl	20(%esp),%edi
12400	movl	%eax,%esi
12401	shrdl	$9,%ecx,%ecx
12402	movl	%eax,16(%esp)
12403	xorl	%eax,%ecx
12404	xorl	%edi,%eax
12405	addl	12(%esp),%edx
12406	shrdl	$11,%ecx,%ecx
12407	andl	%eax,%ebx
12408	xorl	%esi,%ecx
12409	addl	80(%esp),%edx
12410	xorl	%edi,%ebx
12411	shrdl	$2,%ecx,%ecx
12412	addl	%edx,%ebx
12413	addl	28(%esp),%edx
12414	addl	%ecx,%ebx
12415	movl	%edx,%ecx
12416	shrdl	$14,%edx,%edx
12417	movl	(%esp),%esi
12418	xorl	%ecx,%edx
12419	movl	4(%esp),%edi
12420	xorl	%edi,%esi
12421	shrdl	$5,%edx,%edx
12422	andl	%ecx,%esi
12423	movl	%ecx,28(%esp)
12424	xorl	%ecx,%edx
12425	xorl	%esi,%edi
12426	shrdl	$6,%edx,%edx
12427	movl	%ebx,%ecx
12428	addl	%edi,%edx
12429	movl	16(%esp),%edi
12430	movl	%ebx,%esi
12431	shrdl	$9,%ecx,%ecx
12432	movl	%ebx,12(%esp)
12433	xorl	%ebx,%ecx
12434	xorl	%edi,%ebx
12435	addl	8(%esp),%edx
12436	shrdl	$11,%ecx,%ecx
12437	andl	%ebx,%eax
12438	xorl	%esi,%ecx
12439	addl	84(%esp),%edx
12440	xorl	%edi,%eax
12441	shrdl	$2,%ecx,%ecx
12442	addl	%edx,%eax
12443	addl	24(%esp),%edx
12444	addl	%ecx,%eax
12445	movl	%edx,%ecx
12446	shrdl	$14,%edx,%edx
12447	movl	28(%esp),%esi
12448	xorl	%ecx,%edx
12449	movl	(%esp),%edi
12450	xorl	%edi,%esi
12451	shrdl	$5,%edx,%edx
12452	andl	%ecx,%esi
12453	movl	%ecx,24(%esp)
12454	xorl	%ecx,%edx
12455	xorl	%esi,%edi
12456	shrdl	$6,%edx,%edx
12457	movl	%eax,%ecx
12458	addl	%edi,%edx
12459	movl	12(%esp),%edi
12460	movl	%eax,%esi
12461	shrdl	$9,%ecx,%ecx
12462	movl	%eax,8(%esp)
12463	xorl	%eax,%ecx
12464	xorl	%edi,%eax
12465	addl	4(%esp),%edx
12466	shrdl	$11,%ecx,%ecx
12467	andl	%eax,%ebx
12468	xorl	%esi,%ecx
12469	addl	88(%esp),%edx
12470	xorl	%edi,%ebx
12471	shrdl	$2,%ecx,%ecx
12472	addl	%edx,%ebx
12473	addl	20(%esp),%edx
12474	addl	%ecx,%ebx
12475	movl	%edx,%ecx
12476	shrdl	$14,%edx,%edx
12477	movl	24(%esp),%esi
12478	xorl	%ecx,%edx
12479	movl	28(%esp),%edi
12480	xorl	%edi,%esi
12481	shrdl	$5,%edx,%edx
12482	andl	%ecx,%esi
12483	movl	%ecx,20(%esp)
12484	xorl	%ecx,%edx
12485	xorl	%esi,%edi
12486	shrdl	$6,%edx,%edx
12487	movl	%ebx,%ecx
12488	addl	%edi,%edx
12489	movl	8(%esp),%edi
12490	movl	%ebx,%esi
12491	shrdl	$9,%ecx,%ecx
12492	movl	%ebx,4(%esp)
12493	xorl	%ebx,%ecx
12494	xorl	%edi,%ebx
12495	addl	(%esp),%edx
12496	shrdl	$11,%ecx,%ecx
12497	andl	%ebx,%eax
12498	xorl	%esi,%ecx
12499	addl	92(%esp),%edx
12500	xorl	%edi,%eax
12501	shrdl	$2,%ecx,%ecx
12502	addl	%edx,%eax
12503	addl	16(%esp),%edx
12504	addl	%ecx,%eax
12505	movl	96(%esp),%esi
12506	xorl	%edi,%ebx
12507	movl	12(%esp),%ecx
12508	addl	(%esi),%eax
12509	addl	4(%esi),%ebx
12510	addl	8(%esi),%edi
12511	addl	12(%esi),%ecx
12512	movl	%eax,(%esi)
12513	movl	%ebx,4(%esi)
12514	movl	%edi,8(%esi)
12515	movl	%ecx,12(%esi)
12516	movl	%ebx,4(%esp)
12517	xorl	%edi,%ebx
12518	movl	%edi,8(%esp)
12519	movl	%ecx,12(%esp)
12520	movl	20(%esp),%edi
12521	movl	24(%esp),%ecx
12522	addl	16(%esi),%edx
12523	addl	20(%esi),%edi
12524	addl	24(%esi),%ecx
12525	movl	%edx,16(%esi)
12526	movl	%edi,20(%esi)
12527	movl	%edi,20(%esp)
12528	movl	28(%esp),%edi
12529	movl	%ecx,24(%esi)
12530	addl	28(%esi),%edi
12531	movl	%ecx,24(%esp)
12532	movl	%edi,28(%esi)
12533	movl	%edi,28(%esp)
12534	movl	100(%esp),%edi
12535	vmovdqa	64(%ebp),%xmm7
12536	subl	$192,%ebp
12537	cmpl	104(%esp),%edi
12538	jb	.L015grand_avx
12539	movl	108(%esp),%esp
12540	vzeroall
12541	popl	%edi
12542	popl	%esi
12543	popl	%ebx
12544	popl	%ebp
12545	ret
12546.align	32
12547.L014AVX_BMI:
12548	leal	-96(%esp),%esp
12549	vzeroall
12550	movl	(%esi),%eax
12551	movl	4(%esi),%ebx
12552	movl	8(%esi),%ecx
12553	movl	12(%esi),%edi
12554	movl	%ebx,4(%esp)
12555	xorl	%ecx,%ebx
12556	movl	%ecx,8(%esp)
12557	movl	%edi,12(%esp)
12558	movl	16(%esi),%edx
12559	movl	20(%esi),%edi
12560	movl	24(%esi),%ecx
12561	movl	28(%esi),%esi
12562	movl	%edi,20(%esp)
12563	movl	100(%esp),%edi
12564	movl	%ecx,24(%esp)
12565	movl	%esi,28(%esp)
12566	vmovdqa	256(%ebp),%xmm7
12567	jmp	.L017grand_avx_bmi
12568.align	32
12569.L017grand_avx_bmi:
12570	vmovdqu	(%edi),%xmm0
12571	vmovdqu	16(%edi),%xmm1
12572	vmovdqu	32(%edi),%xmm2
12573	vmovdqu	48(%edi),%xmm3
12574	addl	$64,%edi
12575	vpshufb	%xmm7,%xmm0,%xmm0
12576	movl	%edi,100(%esp)
12577	vpshufb	%xmm7,%xmm1,%xmm1
12578	vpshufb	%xmm7,%xmm2,%xmm2
12579	vpaddd	(%ebp),%xmm0,%xmm4
12580	vpshufb	%xmm7,%xmm3,%xmm3
12581	vpaddd	16(%ebp),%xmm1,%xmm5
12582	vpaddd	32(%ebp),%xmm2,%xmm6
12583	vpaddd	48(%ebp),%xmm3,%xmm7
12584	vmovdqa	%xmm4,32(%esp)
12585	vmovdqa	%xmm5,48(%esp)
12586	vmovdqa	%xmm6,64(%esp)
12587	vmovdqa	%xmm7,80(%esp)
12588	jmp	.L018avx_bmi_00_47
12589.align	16
12590.L018avx_bmi_00_47:
12591	addl	$64,%ebp
12592	vpalignr	$4,%xmm0,%xmm1,%xmm4
12593	rorxl	$6,%edx,%ecx
12594	rorxl	$11,%edx,%esi
12595	movl	%edx,16(%esp)
12596	vpalignr	$4,%xmm2,%xmm3,%xmm7
12597	rorxl	$25,%edx,%edi
12598	xorl	%esi,%ecx
12599	andnl	24(%esp),%edx,%esi
12600	vpsrld	$7,%xmm4,%xmm6
12601	xorl	%edi,%ecx
12602	andl	20(%esp),%edx
12603	movl	%eax,(%esp)
12604	vpaddd	%xmm7,%xmm0,%xmm0
12605	orl	%esi,%edx
12606	rorxl	$2,%eax,%edi
12607	rorxl	$13,%eax,%esi
12608	vpsrld	$3,%xmm4,%xmm7
12609	leal	(%edx,%ecx,1),%edx
12610	rorxl	$22,%eax,%ecx
12611	xorl	%edi,%esi
12612	vpslld	$14,%xmm4,%xmm5
12613	movl	4(%esp),%edi
12614	xorl	%esi,%ecx
12615	xorl	%edi,%eax
12616	vpxor	%xmm6,%xmm7,%xmm4
12617	addl	28(%esp),%edx
12618	andl	%eax,%ebx
12619	addl	32(%esp),%edx
12620	vpshufd	$250,%xmm3,%xmm7
12621	xorl	%edi,%ebx
12622	addl	%edx,%ecx
12623	addl	12(%esp),%edx
12624	vpsrld	$11,%xmm6,%xmm6
12625	leal	(%ebx,%ecx,1),%ebx
12626	rorxl	$6,%edx,%ecx
12627	rorxl	$11,%edx,%esi
12628	vpxor	%xmm5,%xmm4,%xmm4
12629	movl	%edx,12(%esp)
12630	rorxl	$25,%edx,%edi
12631	xorl	%esi,%ecx
12632	vpslld	$11,%xmm5,%xmm5
12633	andnl	20(%esp),%edx,%esi
12634	xorl	%edi,%ecx
12635	andl	16(%esp),%edx
12636	vpxor	%xmm6,%xmm4,%xmm4
12637	movl	%ebx,28(%esp)
12638	orl	%esi,%edx
12639	rorxl	$2,%ebx,%edi
12640	rorxl	$13,%ebx,%esi
12641	vpsrld	$10,%xmm7,%xmm6
12642	leal	(%edx,%ecx,1),%edx
12643	rorxl	$22,%ebx,%ecx
12644	xorl	%edi,%esi
12645	vpxor	%xmm5,%xmm4,%xmm4
12646	movl	(%esp),%edi
12647	xorl	%esi,%ecx
12648	xorl	%edi,%ebx
12649	vpsrlq	$17,%xmm7,%xmm5
12650	addl	24(%esp),%edx
12651	andl	%ebx,%eax
12652	addl	36(%esp),%edx
12653	vpaddd	%xmm4,%xmm0,%xmm0
12654	xorl	%edi,%eax
12655	addl	%edx,%ecx
12656	addl	8(%esp),%edx
12657	vpxor	%xmm5,%xmm6,%xmm6
12658	leal	(%eax,%ecx,1),%eax
12659	rorxl	$6,%edx,%ecx
12660	rorxl	$11,%edx,%esi
12661	vpsrlq	$19,%xmm7,%xmm7
12662	movl	%edx,8(%esp)
12663	rorxl	$25,%edx,%edi
12664	xorl	%esi,%ecx
12665	vpxor	%xmm7,%xmm6,%xmm6
12666	andnl	16(%esp),%edx,%esi
12667	xorl	%edi,%ecx
12668	andl	12(%esp),%edx
12669	vpshufd	$132,%xmm6,%xmm7
12670	movl	%eax,24(%esp)
12671	orl	%esi,%edx
12672	rorxl	$2,%eax,%edi
12673	rorxl	$13,%eax,%esi
12674	vpsrldq	$8,%xmm7,%xmm7
12675	leal	(%edx,%ecx,1),%edx
12676	rorxl	$22,%eax,%ecx
12677	xorl	%edi,%esi
12678	vpaddd	%xmm7,%xmm0,%xmm0
12679	movl	28(%esp),%edi
12680	xorl	%esi,%ecx
12681	xorl	%edi,%eax
12682	vpshufd	$80,%xmm0,%xmm7
12683	addl	20(%esp),%edx
12684	andl	%eax,%ebx
12685	addl	40(%esp),%edx
12686	vpsrld	$10,%xmm7,%xmm6
12687	xorl	%edi,%ebx
12688	addl	%edx,%ecx
12689	addl	4(%esp),%edx
12690	vpsrlq	$17,%xmm7,%xmm5
12691	leal	(%ebx,%ecx,1),%ebx
12692	rorxl	$6,%edx,%ecx
12693	rorxl	$11,%edx,%esi
12694	vpxor	%xmm5,%xmm6,%xmm6
12695	movl	%edx,4(%esp)
12696	rorxl	$25,%edx,%edi
12697	xorl	%esi,%ecx
12698	vpsrlq	$19,%xmm7,%xmm7
12699	andnl	12(%esp),%edx,%esi
12700	xorl	%edi,%ecx
12701	andl	8(%esp),%edx
12702	vpxor	%xmm7,%xmm6,%xmm6
12703	movl	%ebx,20(%esp)
12704	orl	%esi,%edx
12705	rorxl	$2,%ebx,%edi
12706	rorxl	$13,%ebx,%esi
12707	vpshufd	$232,%xmm6,%xmm7
12708	leal	(%edx,%ecx,1),%edx
12709	rorxl	$22,%ebx,%ecx
12710	xorl	%edi,%esi
12711	vpslldq	$8,%xmm7,%xmm7
12712	movl	24(%esp),%edi
12713	xorl	%esi,%ecx
12714	xorl	%edi,%ebx
12715	vpaddd	%xmm7,%xmm0,%xmm0
12716	addl	16(%esp),%edx
12717	andl	%ebx,%eax
12718	addl	44(%esp),%edx
12719	vpaddd	(%ebp),%xmm0,%xmm6
12720	xorl	%edi,%eax
12721	addl	%edx,%ecx
12722	addl	(%esp),%edx
12723	leal	(%eax,%ecx,1),%eax
12724	vmovdqa	%xmm6,32(%esp)
12725	vpalignr	$4,%xmm1,%xmm2,%xmm4
12726	rorxl	$6,%edx,%ecx
12727	rorxl	$11,%edx,%esi
12728	movl	%edx,(%esp)
12729	vpalignr	$4,%xmm3,%xmm0,%xmm7
12730	rorxl	$25,%edx,%edi
12731	xorl	%esi,%ecx
12732	andnl	8(%esp),%edx,%esi
12733	vpsrld	$7,%xmm4,%xmm6
12734	xorl	%edi,%ecx
12735	andl	4(%esp),%edx
12736	movl	%eax,16(%esp)
12737	vpaddd	%xmm7,%xmm1,%xmm1
12738	orl	%esi,%edx
12739	rorxl	$2,%eax,%edi
12740	rorxl	$13,%eax,%esi
12741	vpsrld	$3,%xmm4,%xmm7
12742	leal	(%edx,%ecx,1),%edx
12743	rorxl	$22,%eax,%ecx
12744	xorl	%edi,%esi
12745	vpslld	$14,%xmm4,%xmm5
12746	movl	20(%esp),%edi
12747	xorl	%esi,%ecx
12748	xorl	%edi,%eax
12749	vpxor	%xmm6,%xmm7,%xmm4
12750	addl	12(%esp),%edx
12751	andl	%eax,%ebx
12752	addl	48(%esp),%edx
12753	vpshufd	$250,%xmm0,%xmm7
12754	xorl	%edi,%ebx
12755	addl	%edx,%ecx
12756	addl	28(%esp),%edx
12757	vpsrld	$11,%xmm6,%xmm6
12758	leal	(%ebx,%ecx,1),%ebx
12759	rorxl	$6,%edx,%ecx
12760	rorxl	$11,%edx,%esi
12761	vpxor	%xmm5,%xmm4,%xmm4
12762	movl	%edx,28(%esp)
12763	rorxl	$25,%edx,%edi
12764	xorl	%esi,%ecx
12765	vpslld	$11,%xmm5,%xmm5
12766	andnl	4(%esp),%edx,%esi
12767	xorl	%edi,%ecx
12768	andl	(%esp),%edx
12769	vpxor	%xmm6,%xmm4,%xmm4
12770	movl	%ebx,12(%esp)
12771	orl	%esi,%edx
12772	rorxl	$2,%ebx,%edi
12773	rorxl	$13,%ebx,%esi
12774	vpsrld	$10,%xmm7,%xmm6
12775	leal	(%edx,%ecx,1),%edx
12776	rorxl	$22,%ebx,%ecx
12777	xorl	%edi,%esi
12778	vpxor	%xmm5,%xmm4,%xmm4
12779	movl	16(%esp),%edi
12780	xorl	%esi,%ecx
12781	xorl	%edi,%ebx
12782	vpsrlq	$17,%xmm7,%xmm5
12783	addl	8(%esp),%edx
12784	andl	%ebx,%eax
12785	addl	52(%esp),%edx
12786	vpaddd	%xmm4,%xmm1,%xmm1
12787	xorl	%edi,%eax
12788	addl	%edx,%ecx
12789	addl	24(%esp),%edx
12790	vpxor	%xmm5,%xmm6,%xmm6
12791	leal	(%eax,%ecx,1),%eax
12792	rorxl	$6,%edx,%ecx
12793	rorxl	$11,%edx,%esi
12794	vpsrlq	$19,%xmm7,%xmm7
12795	movl	%edx,24(%esp)
12796	rorxl	$25,%edx,%edi
12797	xorl	%esi,%ecx
12798	vpxor	%xmm7,%xmm6,%xmm6
12799	andnl	(%esp),%edx,%esi
12800	xorl	%edi,%ecx
12801	andl	28(%esp),%edx
12802	vpshufd	$132,%xmm6,%xmm7
12803	movl	%eax,8(%esp)
12804	orl	%esi,%edx
12805	rorxl	$2,%eax,%edi
12806	rorxl	$13,%eax,%esi
12807	vpsrldq	$8,%xmm7,%xmm7
12808	leal	(%edx,%ecx,1),%edx
12809	rorxl	$22,%eax,%ecx
12810	xorl	%edi,%esi
12811	vpaddd	%xmm7,%xmm1,%xmm1
12812	movl	12(%esp),%edi
12813	xorl	%esi,%ecx
12814	xorl	%edi,%eax
12815	vpshufd	$80,%xmm1,%xmm7
12816	addl	4(%esp),%edx
12817	andl	%eax,%ebx
12818	addl	56(%esp),%edx
12819	vpsrld	$10,%xmm7,%xmm6
12820	xorl	%edi,%ebx
12821	addl	%edx,%ecx
12822	addl	20(%esp),%edx
12823	vpsrlq	$17,%xmm7,%xmm5
12824	leal	(%ebx,%ecx,1),%ebx
12825	rorxl	$6,%edx,%ecx
12826	rorxl	$11,%edx,%esi
12827	vpxor	%xmm5,%xmm6,%xmm6
12828	movl	%edx,20(%esp)
12829	rorxl	$25,%edx,%edi
12830	xorl	%esi,%ecx
12831	vpsrlq	$19,%xmm7,%xmm7
12832	andnl	28(%esp),%edx,%esi
12833	xorl	%edi,%ecx
12834	andl	24(%esp),%edx
12835	vpxor	%xmm7,%xmm6,%xmm6
12836	movl	%ebx,4(%esp)
12837	orl	%esi,%edx
12838	rorxl	$2,%ebx,%edi
12839	rorxl	$13,%ebx,%esi
12840	vpshufd	$232,%xmm6,%xmm7
12841	leal	(%edx,%ecx,1),%edx
12842	rorxl	$22,%ebx,%ecx
12843	xorl	%edi,%esi
12844	vpslldq	$8,%xmm7,%xmm7
12845	movl	8(%esp),%edi
12846	xorl	%esi,%ecx
12847	xorl	%edi,%ebx
12848	vpaddd	%xmm7,%xmm1,%xmm1
12849	addl	(%esp),%edx
12850	andl	%ebx,%eax
12851	addl	60(%esp),%edx
12852	vpaddd	16(%ebp),%xmm1,%xmm6
12853	xorl	%edi,%eax
12854	addl	%edx,%ecx
12855	addl	16(%esp),%edx
12856	leal	(%eax,%ecx,1),%eax
12857	vmovdqa	%xmm6,48(%esp)
12858	vpalignr	$4,%xmm2,%xmm3,%xmm4
12859	rorxl	$6,%edx,%ecx
12860	rorxl	$11,%edx,%esi
12861	movl	%edx,16(%esp)
12862	vpalignr	$4,%xmm0,%xmm1,%xmm7
12863	rorxl	$25,%edx,%edi
12864	xorl	%esi,%ecx
12865	andnl	24(%esp),%edx,%esi
12866	vpsrld	$7,%xmm4,%xmm6
12867	xorl	%edi,%ecx
12868	andl	20(%esp),%edx
12869	movl	%eax,(%esp)
12870	vpaddd	%xmm7,%xmm2,%xmm2
12871	orl	%esi,%edx
12872	rorxl	$2,%eax,%edi
12873	rorxl	$13,%eax,%esi
12874	vpsrld	$3,%xmm4,%xmm7
12875	leal	(%edx,%ecx,1),%edx
12876	rorxl	$22,%eax,%ecx
12877	xorl	%edi,%esi
12878	vpslld	$14,%xmm4,%xmm5
12879	movl	4(%esp),%edi
12880	xorl	%esi,%ecx
12881	xorl	%edi,%eax
12882	vpxor	%xmm6,%xmm7,%xmm4
12883	addl	28(%esp),%edx
12884	andl	%eax,%ebx
12885	addl	64(%esp),%edx
12886	vpshufd	$250,%xmm1,%xmm7
12887	xorl	%edi,%ebx
12888	addl	%edx,%ecx
12889	addl	12(%esp),%edx
12890	vpsrld	$11,%xmm6,%xmm6
12891	leal	(%ebx,%ecx,1),%ebx
12892	rorxl	$6,%edx,%ecx
12893	rorxl	$11,%edx,%esi
12894	vpxor	%xmm5,%xmm4,%xmm4
12895	movl	%edx,12(%esp)
12896	rorxl	$25,%edx,%edi
12897	xorl	%esi,%ecx
12898	vpslld	$11,%xmm5,%xmm5
12899	andnl	20(%esp),%edx,%esi
12900	xorl	%edi,%ecx
12901	andl	16(%esp),%edx
12902	vpxor	%xmm6,%xmm4,%xmm4
12903	movl	%ebx,28(%esp)
12904	orl	%esi,%edx
12905	rorxl	$2,%ebx,%edi
12906	rorxl	$13,%ebx,%esi
12907	vpsrld	$10,%xmm7,%xmm6
12908	leal	(%edx,%ecx,1),%edx
12909	rorxl	$22,%ebx,%ecx
12910	xorl	%edi,%esi
12911	vpxor	%xmm5,%xmm4,%xmm4
12912	movl	(%esp),%edi
12913	xorl	%esi,%ecx
12914	xorl	%edi,%ebx
12915	vpsrlq	$17,%xmm7,%xmm5
12916	addl	24(%esp),%edx
12917	andl	%ebx,%eax
12918	addl	68(%esp),%edx
12919	vpaddd	%xmm4,%xmm2,%xmm2
12920	xorl	%edi,%eax
12921	addl	%edx,%ecx
12922	addl	8(%esp),%edx
12923	vpxor	%xmm5,%xmm6,%xmm6
12924	leal	(%eax,%ecx,1),%eax
12925	rorxl	$6,%edx,%ecx
12926	rorxl	$11,%edx,%esi
12927	vpsrlq	$19,%xmm7,%xmm7
12928	movl	%edx,8(%esp)
12929	rorxl	$25,%edx,%edi
12930	xorl	%esi,%ecx
12931	vpxor	%xmm7,%xmm6,%xmm6
12932	andnl	16(%esp),%edx,%esi
12933	xorl	%edi,%ecx
12934	andl	12(%esp),%edx
12935	vpshufd	$132,%xmm6,%xmm7
12936	movl	%eax,24(%esp)
12937	orl	%esi,%edx
12938	rorxl	$2,%eax,%edi
12939	rorxl	$13,%eax,%esi
12940	vpsrldq	$8,%xmm7,%xmm7
12941	leal	(%edx,%ecx,1),%edx
12942	rorxl	$22,%eax,%ecx
12943	xorl	%edi,%esi
12944	vpaddd	%xmm7,%xmm2,%xmm2
12945	movl	28(%esp),%edi
12946	xorl	%esi,%ecx
12947	xorl	%edi,%eax
12948	vpshufd	$80,%xmm2,%xmm7
12949	addl	20(%esp),%edx
12950	andl	%eax,%ebx
12951	addl	72(%esp),%edx
12952	vpsrld	$10,%xmm7,%xmm6
12953	xorl	%edi,%ebx
12954	addl	%edx,%ecx
12955	addl	4(%esp),%edx
12956	vpsrlq	$17,%xmm7,%xmm5
12957	leal	(%ebx,%ecx,1),%ebx
12958	rorxl	$6,%edx,%ecx
12959	rorxl	$11,%edx,%esi
12960	vpxor	%xmm5,%xmm6,%xmm6
12961	movl	%edx,4(%esp)
12962	rorxl	$25,%edx,%edi
12963	xorl	%esi,%ecx
12964	vpsrlq	$19,%xmm7,%xmm7
12965	andnl	12(%esp),%edx,%esi
12966	xorl	%edi,%ecx
12967	andl	8(%esp),%edx
12968	vpxor	%xmm7,%xmm6,%xmm6
12969	movl	%ebx,20(%esp)
12970	orl	%esi,%edx
12971	rorxl	$2,%ebx,%edi
12972	rorxl	$13,%ebx,%esi
12973	vpshufd	$232,%xmm6,%xmm7
12974	leal	(%edx,%ecx,1),%edx
12975	rorxl	$22,%ebx,%ecx
12976	xorl	%edi,%esi
12977	vpslldq	$8,%xmm7,%xmm7
12978	movl	24(%esp),%edi
12979	xorl	%esi,%ecx
12980	xorl	%edi,%ebx
12981	vpaddd	%xmm7,%xmm2,%xmm2
12982	addl	16(%esp),%edx
12983	andl	%ebx,%eax
12984	addl	76(%esp),%edx
12985	vpaddd	32(%ebp),%xmm2,%xmm6
12986	xorl	%edi,%eax
12987	addl	%edx,%ecx
12988	addl	(%esp),%edx
12989	leal	(%eax,%ecx,1),%eax
12990	vmovdqa	%xmm6,64(%esp)
12991	vpalignr	$4,%xmm3,%xmm0,%xmm4
12992	rorxl	$6,%edx,%ecx
12993	rorxl	$11,%edx,%esi
12994	movl	%edx,(%esp)
12995	vpalignr	$4,%xmm1,%xmm2,%xmm7
12996	rorxl	$25,%edx,%edi
12997	xorl	%esi,%ecx
12998	andnl	8(%esp),%edx,%esi
12999	vpsrld	$7,%xmm4,%xmm6
13000	xorl	%edi,%ecx
13001	andl	4(%esp),%edx
13002	movl	%eax,16(%esp)
13003	vpaddd	%xmm7,%xmm3,%xmm3
13004	orl	%esi,%edx
13005	rorxl	$2,%eax,%edi
13006	rorxl	$13,%eax,%esi
13007	vpsrld	$3,%xmm4,%xmm7
13008	leal	(%edx,%ecx,1),%edx
13009	rorxl	$22,%eax,%ecx
13010	xorl	%edi,%esi
13011	vpslld	$14,%xmm4,%xmm5
13012	movl	20(%esp),%edi
13013	xorl	%esi,%ecx
13014	xorl	%edi,%eax
13015	vpxor	%xmm6,%xmm7,%xmm4
13016	addl	12(%esp),%edx
13017	andl	%eax,%ebx
13018	addl	80(%esp),%edx
13019	vpshufd	$250,%xmm2,%xmm7
13020	xorl	%edi,%ebx
13021	addl	%edx,%ecx
13022	addl	28(%esp),%edx
13023	vpsrld	$11,%xmm6,%xmm6
13024	leal	(%ebx,%ecx,1),%ebx
13025	rorxl	$6,%edx,%ecx
13026	rorxl	$11,%edx,%esi
13027	vpxor	%xmm5,%xmm4,%xmm4
13028	movl	%edx,28(%esp)
13029	rorxl	$25,%edx,%edi
13030	xorl	%esi,%ecx
13031	vpslld	$11,%xmm5,%xmm5
13032	andnl	4(%esp),%edx,%esi
13033	xorl	%edi,%ecx
13034	andl	(%esp),%edx
13035	vpxor	%xmm6,%xmm4,%xmm4
13036	movl	%ebx,12(%esp)
13037	orl	%esi,%edx
13038	rorxl	$2,%ebx,%edi
13039	rorxl	$13,%ebx,%esi
13040	vpsrld	$10,%xmm7,%xmm6
13041	leal	(%edx,%ecx,1),%edx
13042	rorxl	$22,%ebx,%ecx
13043	xorl	%edi,%esi
13044	vpxor	%xmm5,%xmm4,%xmm4
13045	movl	16(%esp),%edi
13046	xorl	%esi,%ecx
13047	xorl	%edi,%ebx
13048	vpsrlq	$17,%xmm7,%xmm5
13049	addl	8(%esp),%edx
13050	andl	%ebx,%eax
13051	addl	84(%esp),%edx
13052	vpaddd	%xmm4,%xmm3,%xmm3
13053	xorl	%edi,%eax
13054	addl	%edx,%ecx
13055	addl	24(%esp),%edx
13056	vpxor	%xmm5,%xmm6,%xmm6
13057	leal	(%eax,%ecx,1),%eax
13058	rorxl	$6,%edx,%ecx
13059	rorxl	$11,%edx,%esi
13060	vpsrlq	$19,%xmm7,%xmm7
13061	movl	%edx,24(%esp)
13062	rorxl	$25,%edx,%edi
13063	xorl	%esi,%ecx
13064	vpxor	%xmm7,%xmm6,%xmm6
13065	andnl	(%esp),%edx,%esi
13066	xorl	%edi,%ecx
13067	andl	28(%esp),%edx
13068	vpshufd	$132,%xmm6,%xmm7
13069	movl	%eax,8(%esp)
13070	orl	%esi,%edx
13071	rorxl	$2,%eax,%edi
13072	rorxl	$13,%eax,%esi
13073	vpsrldq	$8,%xmm7,%xmm7
13074	leal	(%edx,%ecx,1),%edx
13075	rorxl	$22,%eax,%ecx
13076	xorl	%edi,%esi
13077	vpaddd	%xmm7,%xmm3,%xmm3
13078	movl	12(%esp),%edi
13079	xorl	%esi,%ecx
13080	xorl	%edi,%eax
13081	vpshufd	$80,%xmm3,%xmm7
13082	addl	4(%esp),%edx
13083	andl	%eax,%ebx
13084	addl	88(%esp),%edx
13085	vpsrld	$10,%xmm7,%xmm6
13086	xorl	%edi,%ebx
13087	addl	%edx,%ecx
13088	addl	20(%esp),%edx
13089	vpsrlq	$17,%xmm7,%xmm5
13090	leal	(%ebx,%ecx,1),%ebx
13091	rorxl	$6,%edx,%ecx
13092	rorxl	$11,%edx,%esi
13093	vpxor	%xmm5,%xmm6,%xmm6
13094	movl	%edx,20(%esp)
13095	rorxl	$25,%edx,%edi
13096	xorl	%esi,%ecx
13097	vpsrlq	$19,%xmm7,%xmm7
13098	andnl	28(%esp),%edx,%esi
13099	xorl	%edi,%ecx
13100	andl	24(%esp),%edx
13101	vpxor	%xmm7,%xmm6,%xmm6
13102	movl	%ebx,4(%esp)
13103	orl	%esi,%edx
13104	rorxl	$2,%ebx,%edi
13105	rorxl	$13,%ebx,%esi
13106	vpshufd	$232,%xmm6,%xmm7
13107	leal	(%edx,%ecx,1),%edx
13108	rorxl	$22,%ebx,%ecx
13109	xorl	%edi,%esi
13110	vpslldq	$8,%xmm7,%xmm7
13111	movl	8(%esp),%edi
13112	xorl	%esi,%ecx
13113	xorl	%edi,%ebx
13114	vpaddd	%xmm7,%xmm3,%xmm3
13115	addl	(%esp),%edx
13116	andl	%ebx,%eax
13117	addl	92(%esp),%edx
13118	vpaddd	48(%ebp),%xmm3,%xmm6
13119	xorl	%edi,%eax
13120	addl	%edx,%ecx
13121	addl	16(%esp),%edx
13122	leal	(%eax,%ecx,1),%eax
13123	vmovdqa	%xmm6,80(%esp)
13124	cmpl	$66051,64(%ebp)
13125	jne	.L018avx_bmi_00_47
13126	rorxl	$6,%edx,%ecx
13127	rorxl	$11,%edx,%esi
13128	movl	%edx,16(%esp)
13129	rorxl	$25,%edx,%edi
13130	xorl	%esi,%ecx
13131	andnl	24(%esp),%edx,%esi
13132	xorl	%edi,%ecx
13133	andl	20(%esp),%edx
13134	movl	%eax,(%esp)
13135	orl	%esi,%edx
13136	rorxl	$2,%eax,%edi
13137	rorxl	$13,%eax,%esi
13138	leal	(%edx,%ecx,1),%edx
13139	rorxl	$22,%eax,%ecx
13140	xorl	%edi,%esi
13141	movl	4(%esp),%edi
13142	xorl	%esi,%ecx
13143	xorl	%edi,%eax
13144	addl	28(%esp),%edx
13145	andl	%eax,%ebx
13146	addl	32(%esp),%edx
13147	xorl	%edi,%ebx
13148	addl	%edx,%ecx
13149	addl	12(%esp),%edx
13150	leal	(%ebx,%ecx,1),%ebx
13151	rorxl	$6,%edx,%ecx
13152	rorxl	$11,%edx,%esi
13153	movl	%edx,12(%esp)
13154	rorxl	$25,%edx,%edi
13155	xorl	%esi,%ecx
13156	andnl	20(%esp),%edx,%esi
13157	xorl	%edi,%ecx
13158	andl	16(%esp),%edx
13159	movl	%ebx,28(%esp)
13160	orl	%esi,%edx
13161	rorxl	$2,%ebx,%edi
13162	rorxl	$13,%ebx,%esi
13163	leal	(%edx,%ecx,1),%edx
13164	rorxl	$22,%ebx,%ecx
13165	xorl	%edi,%esi
13166	movl	(%esp),%edi
13167	xorl	%esi,%ecx
13168	xorl	%edi,%ebx
13169	addl	24(%esp),%edx
13170	andl	%ebx,%eax
13171	addl	36(%esp),%edx
13172	xorl	%edi,%eax
13173	addl	%edx,%ecx
13174	addl	8(%esp),%edx
13175	leal	(%eax,%ecx,1),%eax
13176	rorxl	$6,%edx,%ecx
13177	rorxl	$11,%edx,%esi
13178	movl	%edx,8(%esp)
13179	rorxl	$25,%edx,%edi
13180	xorl	%esi,%ecx
13181	andnl	16(%esp),%edx,%esi
13182	xorl	%edi,%ecx
13183	andl	12(%esp),%edx
13184	movl	%eax,24(%esp)
13185	orl	%esi,%edx
13186	rorxl	$2,%eax,%edi
13187	rorxl	$13,%eax,%esi
13188	leal	(%edx,%ecx,1),%edx
13189	rorxl	$22,%eax,%ecx
13190	xorl	%edi,%esi
13191	movl	28(%esp),%edi
13192	xorl	%esi,%ecx
13193	xorl	%edi,%eax
13194	addl	20(%esp),%edx
13195	andl	%eax,%ebx
13196	addl	40(%esp),%edx
13197	xorl	%edi,%ebx
13198	addl	%edx,%ecx
13199	addl	4(%esp),%edx
13200	leal	(%ebx,%ecx,1),%ebx
13201	rorxl	$6,%edx,%ecx
13202	rorxl	$11,%edx,%esi
13203	movl	%edx,4(%esp)
13204	rorxl	$25,%edx,%edi
13205	xorl	%esi,%ecx
13206	andnl	12(%esp),%edx,%esi
13207	xorl	%edi,%ecx
13208	andl	8(%esp),%edx
13209	movl	%ebx,20(%esp)
13210	orl	%esi,%edx
13211	rorxl	$2,%ebx,%edi
13212	rorxl	$13,%ebx,%esi
13213	leal	(%edx,%ecx,1),%edx
13214	rorxl	$22,%ebx,%ecx
13215	xorl	%edi,%esi
13216	movl	24(%esp),%edi
13217	xorl	%esi,%ecx
13218	xorl	%edi,%ebx
13219	addl	16(%esp),%edx
13220	andl	%ebx,%eax
13221	addl	44(%esp),%edx
13222	xorl	%edi,%eax
13223	addl	%edx,%ecx
13224	addl	(%esp),%edx
13225	leal	(%eax,%ecx,1),%eax
13226	rorxl	$6,%edx,%ecx
13227	rorxl	$11,%edx,%esi
13228	movl	%edx,(%esp)
13229	rorxl	$25,%edx,%edi
13230	xorl	%esi,%ecx
13231	andnl	8(%esp),%edx,%esi
13232	xorl	%edi,%ecx
13233	andl	4(%esp),%edx
13234	movl	%eax,16(%esp)
13235	orl	%esi,%edx
13236	rorxl	$2,%eax,%edi
13237	rorxl	$13,%eax,%esi
13238	leal	(%edx,%ecx,1),%edx
13239	rorxl	$22,%eax,%ecx
13240	xorl	%edi,%esi
13241	movl	20(%esp),%edi
13242	xorl	%esi,%ecx
13243	xorl	%edi,%eax
13244	addl	12(%esp),%edx
13245	andl	%eax,%ebx
13246	addl	48(%esp),%edx
13247	xorl	%edi,%ebx
13248	addl	%edx,%ecx
13249	addl	28(%esp),%edx
13250	leal	(%ebx,%ecx,1),%ebx
13251	rorxl	$6,%edx,%ecx
13252	rorxl	$11,%edx,%esi
13253	movl	%edx,28(%esp)
13254	rorxl	$25,%edx,%edi
13255	xorl	%esi,%ecx
13256	andnl	4(%esp),%edx,%esi
13257	xorl	%edi,%ecx
13258	andl	(%esp),%edx
13259	movl	%ebx,12(%esp)
13260	orl	%esi,%edx
13261	rorxl	$2,%ebx,%edi
13262	rorxl	$13,%ebx,%esi
13263	leal	(%edx,%ecx,1),%edx
13264	rorxl	$22,%ebx,%ecx
13265	xorl	%edi,%esi
13266	movl	16(%esp),%edi
13267	xorl	%esi,%ecx
13268	xorl	%edi,%ebx
13269	addl	8(%esp),%edx
13270	andl	%ebx,%eax
13271	addl	52(%esp),%edx
13272	xorl	%edi,%eax
13273	addl	%edx,%ecx
13274	addl	24(%esp),%edx
13275	leal	(%eax,%ecx,1),%eax
13276	rorxl	$6,%edx,%ecx
13277	rorxl	$11,%edx,%esi
13278	movl	%edx,24(%esp)
13279	rorxl	$25,%edx,%edi
13280	xorl	%esi,%ecx
13281	andnl	(%esp),%edx,%esi
13282	xorl	%edi,%ecx
13283	andl	28(%esp),%edx
13284	movl	%eax,8(%esp)
13285	orl	%esi,%edx
13286	rorxl	$2,%eax,%edi
13287	rorxl	$13,%eax,%esi
13288	leal	(%edx,%ecx,1),%edx
13289	rorxl	$22,%eax,%ecx
13290	xorl	%edi,%esi
13291	movl	12(%esp),%edi
13292	xorl	%esi,%ecx
13293	xorl	%edi,%eax
13294	addl	4(%esp),%edx
13295	andl	%eax,%ebx
13296	addl	56(%esp),%edx
13297	xorl	%edi,%ebx
13298	addl	%edx,%ecx
13299	addl	20(%esp),%edx
13300	leal	(%ebx,%ecx,1),%ebx
13301	rorxl	$6,%edx,%ecx
13302	rorxl	$11,%edx,%esi
13303	movl	%edx,20(%esp)
13304	rorxl	$25,%edx,%edi
13305	xorl	%esi,%ecx
13306	andnl	28(%esp),%edx,%esi
13307	xorl	%edi,%ecx
13308	andl	24(%esp),%edx
13309	movl	%ebx,4(%esp)
13310	orl	%esi,%edx
13311	rorxl	$2,%ebx,%edi
13312	rorxl	$13,%ebx,%esi
13313	leal	(%edx,%ecx,1),%edx
13314	rorxl	$22,%ebx,%ecx
13315	xorl	%edi,%esi
13316	movl	8(%esp),%edi
13317	xorl	%esi,%ecx
13318	xorl	%edi,%ebx
13319	addl	(%esp),%edx
13320	andl	%ebx,%eax
13321	addl	60(%esp),%edx
13322	xorl	%edi,%eax
13323	addl	%edx,%ecx
13324	addl	16(%esp),%edx
13325	leal	(%eax,%ecx,1),%eax
13326	rorxl	$6,%edx,%ecx
13327	rorxl	$11,%edx,%esi
13328	movl	%edx,16(%esp)
13329	rorxl	$25,%edx,%edi
13330	xorl	%esi,%ecx
13331	andnl	24(%esp),%edx,%esi
13332	xorl	%edi,%ecx
13333	andl	20(%esp),%edx
13334	movl	%eax,(%esp)
13335	orl	%esi,%edx
13336	rorxl	$2,%eax,%edi
13337	rorxl	$13,%eax,%esi
13338	leal	(%edx,%ecx,1),%edx
13339	rorxl	$22,%eax,%ecx
13340	xorl	%edi,%esi
13341	movl	4(%esp),%edi
13342	xorl	%esi,%ecx
13343	xorl	%edi,%eax
13344	addl	28(%esp),%edx
13345	andl	%eax,%ebx
13346	addl	64(%esp),%edx
13347	xorl	%edi,%ebx
13348	addl	%edx,%ecx
13349	addl	12(%esp),%edx
13350	leal	(%ebx,%ecx,1),%ebx
13351	rorxl	$6,%edx,%ecx
13352	rorxl	$11,%edx,%esi
13353	movl	%edx,12(%esp)
13354	rorxl	$25,%edx,%edi
13355	xorl	%esi,%ecx
13356	andnl	20(%esp),%edx,%esi
13357	xorl	%edi,%ecx
13358	andl	16(%esp),%edx
13359	movl	%ebx,28(%esp)
13360	orl	%esi,%edx
13361	rorxl	$2,%ebx,%edi
13362	rorxl	$13,%ebx,%esi
13363	leal	(%edx,%ecx,1),%edx
13364	rorxl	$22,%ebx,%ecx
13365	xorl	%edi,%esi
13366	movl	(%esp),%edi
13367	xorl	%esi,%ecx
13368	xorl	%edi,%ebx
13369	addl	24(%esp),%edx
13370	andl	%ebx,%eax
13371	addl	68(%esp),%edx
13372	xorl	%edi,%eax
13373	addl	%edx,%ecx
13374	addl	8(%esp),%edx
13375	leal	(%eax,%ecx,1),%eax
13376	rorxl	$6,%edx,%ecx
13377	rorxl	$11,%edx,%esi
13378	movl	%edx,8(%esp)
13379	rorxl	$25,%edx,%edi
13380	xorl	%esi,%ecx
13381	andnl	16(%esp),%edx,%esi
13382	xorl	%edi,%ecx
13383	andl	12(%esp),%edx
13384	movl	%eax,24(%esp)
13385	orl	%esi,%edx
13386	rorxl	$2,%eax,%edi
13387	rorxl	$13,%eax,%esi
13388	leal	(%edx,%ecx,1),%edx
13389	rorxl	$22,%eax,%ecx
13390	xorl	%edi,%esi
13391	movl	28(%esp),%edi
13392	xorl	%esi,%ecx
13393	xorl	%edi,%eax
13394	addl	20(%esp),%edx
13395	andl	%eax,%ebx
13396	addl	72(%esp),%edx
13397	xorl	%edi,%ebx
13398	addl	%edx,%ecx
13399	addl	4(%esp),%edx
13400	leal	(%ebx,%ecx,1),%ebx
13401	rorxl	$6,%edx,%ecx
13402	rorxl	$11,%edx,%esi
13403	movl	%edx,4(%esp)
13404	rorxl	$25,%edx,%edi
13405	xorl	%esi,%ecx
13406	andnl	12(%esp),%edx,%esi
13407	xorl	%edi,%ecx
13408	andl	8(%esp),%edx
13409	movl	%ebx,20(%esp)
13410	orl	%esi,%edx
13411	rorxl	$2,%ebx,%edi
13412	rorxl	$13,%ebx,%esi
13413	leal	(%edx,%ecx,1),%edx
13414	rorxl	$22,%ebx,%ecx
13415	xorl	%edi,%esi
13416	movl	24(%esp),%edi
13417	xorl	%esi,%ecx
13418	xorl	%edi,%ebx
13419	addl	16(%esp),%edx
13420	andl	%ebx,%eax
13421	addl	76(%esp),%edx
13422	xorl	%edi,%eax
13423	addl	%edx,%ecx
13424	addl	(%esp),%edx
13425	leal	(%eax,%ecx,1),%eax
13426	rorxl	$6,%edx,%ecx
13427	rorxl	$11,%edx,%esi
13428	movl	%edx,(%esp)
13429	rorxl	$25,%edx,%edi
13430	xorl	%esi,%ecx
13431	andnl	8(%esp),%edx,%esi
13432	xorl	%edi,%ecx
13433	andl	4(%esp),%edx
13434	movl	%eax,16(%esp)
13435	orl	%esi,%edx
13436	rorxl	$2,%eax,%edi
13437	rorxl	$13,%eax,%esi
13438	leal	(%edx,%ecx,1),%edx
13439	rorxl	$22,%eax,%ecx
13440	xorl	%edi,%esi
13441	movl	20(%esp),%edi
13442	xorl	%esi,%ecx
13443	xorl	%edi,%eax
13444	addl	12(%esp),%edx
13445	andl	%eax,%ebx
13446	addl	80(%esp),%edx
13447	xorl	%edi,%ebx
13448	addl	%edx,%ecx
13449	addl	28(%esp),%edx
13450	leal	(%ebx,%ecx,1),%ebx
13451	rorxl	$6,%edx,%ecx
13452	rorxl	$11,%edx,%esi
13453	movl	%edx,28(%esp)
13454	rorxl	$25,%edx,%edi
13455	xorl	%esi,%ecx
13456	andnl	4(%esp),%edx,%esi
13457	xorl	%edi,%ecx
13458	andl	(%esp),%edx
13459	movl	%ebx,12(%esp)
13460	orl	%esi,%edx
13461	rorxl	$2,%ebx,%edi
13462	rorxl	$13,%ebx,%esi
13463	leal	(%edx,%ecx,1),%edx
13464	rorxl	$22,%ebx,%ecx
13465	xorl	%edi,%esi
13466	movl	16(%esp),%edi
13467	xorl	%esi,%ecx
13468	xorl	%edi,%ebx
13469	addl	8(%esp),%edx
13470	andl	%ebx,%eax
13471	addl	84(%esp),%edx
13472	xorl	%edi,%eax
13473	addl	%edx,%ecx
13474	addl	24(%esp),%edx
13475	leal	(%eax,%ecx,1),%eax
13476	rorxl	$6,%edx,%ecx
13477	rorxl	$11,%edx,%esi
13478	movl	%edx,24(%esp)
13479	rorxl	$25,%edx,%edi
13480	xorl	%esi,%ecx
13481	andnl	(%esp),%edx,%esi
13482	xorl	%edi,%ecx
13483	andl	28(%esp),%edx
13484	movl	%eax,8(%esp)
13485	orl	%esi,%edx
13486	rorxl	$2,%eax,%edi
13487	rorxl	$13,%eax,%esi
13488	leal	(%edx,%ecx,1),%edx
13489	rorxl	$22,%eax,%ecx
13490	xorl	%edi,%esi
13491	movl	12(%esp),%edi
13492	xorl	%esi,%ecx
13493	xorl	%edi,%eax
13494	addl	4(%esp),%edx
13495	andl	%eax,%ebx
13496	addl	88(%esp),%edx
13497	xorl	%edi,%ebx
13498	addl	%edx,%ecx
13499	addl	20(%esp),%edx
13500	leal	(%ebx,%ecx,1),%ebx
13501	rorxl	$6,%edx,%ecx
13502	rorxl	$11,%edx,%esi
13503	movl	%edx,20(%esp)
13504	rorxl	$25,%edx,%edi
13505	xorl	%esi,%ecx
13506	andnl	28(%esp),%edx,%esi
13507	xorl	%edi,%ecx
13508	andl	24(%esp),%edx
13509	movl	%ebx,4(%esp)
13510	orl	%esi,%edx
13511	rorxl	$2,%ebx,%edi
13512	rorxl	$13,%ebx,%esi
13513	leal	(%edx,%ecx,1),%edx
13514	rorxl	$22,%ebx,%ecx
13515	xorl	%edi,%esi
13516	movl	8(%esp),%edi
13517	xorl	%esi,%ecx
13518	xorl	%edi,%ebx
13519	addl	(%esp),%edx
13520	andl	%ebx,%eax
13521	addl	92(%esp),%edx
13522	xorl	%edi,%eax
13523	addl	%edx,%ecx
13524	addl	16(%esp),%edx
13525	leal	(%eax,%ecx,1),%eax
13526	movl	96(%esp),%esi
13527	xorl	%edi,%ebx
13528	movl	12(%esp),%ecx
13529	addl	(%esi),%eax
13530	addl	4(%esi),%ebx
13531	addl	8(%esi),%edi
13532	addl	12(%esi),%ecx
13533	movl	%eax,(%esi)
13534	movl	%ebx,4(%esi)
13535	movl	%edi,8(%esi)
13536	movl	%ecx,12(%esi)
13537	movl	%ebx,4(%esp)
13538	xorl	%edi,%ebx
13539	movl	%edi,8(%esp)
13540	movl	%ecx,12(%esp)
13541	movl	20(%esp),%edi
13542	movl	24(%esp),%ecx
13543	addl	16(%esi),%edx
13544	addl	20(%esi),%edi
13545	addl	24(%esi),%ecx
13546	movl	%edx,16(%esi)
13547	movl	%edi,20(%esi)
13548	movl	%edi,20(%esp)
13549	movl	28(%esp),%edi
13550	movl	%ecx,24(%esi)
13551	addl	28(%esi),%edi
13552	movl	%ecx,24(%esp)
13553	movl	%edi,28(%esi)
13554	movl	%edi,28(%esp)
13555	movl	100(%esp),%edi
13556	vmovdqa	64(%ebp),%xmm7
13557	subl	$192,%ebp
13558	cmpl	104(%esp),%edi
13559	jb	.L017grand_avx_bmi
13560	movl	108(%esp),%esp
13561	vzeroall
13562	popl	%edi
13563	popl	%esi
13564	popl	%ebx
13565	popl	%ebp
13566	ret
13567.size	sha256_block_data_order,.-.L_sha256_block_data_order_begin
13568.comm	OPENSSL_ia32cap_P,16,4
13569#endif
13570