xref: /freebsd/sys/crypto/openssl/i386/sha256-586.S (revision d0b2dbfa0ecf2bbc9709efc5e20baf8e4b44bbbf)
1/* Do not modify. This file is auto-generated from sha256-586.pl. */
2#ifdef PIC
3.text
4.globl	sha256_block_data_order
5.type	sha256_block_data_order,@function
6.align	16
7sha256_block_data_order:
8.L_sha256_block_data_order_begin:
9	pushl	%ebp
10	pushl	%ebx
11	pushl	%esi
12	pushl	%edi
13	movl	20(%esp),%esi
14	movl	24(%esp),%edi
15	movl	28(%esp),%eax
16	movl	%esp,%ebx
17	call	.L000pic_point
18.L000pic_point:
19	popl	%ebp
20	leal	.L001K256-.L000pic_point(%ebp),%ebp
21	subl	$16,%esp
22	andl	$-64,%esp
23	shll	$6,%eax
24	addl	%edi,%eax
25	movl	%esi,(%esp)
26	movl	%edi,4(%esp)
27	movl	%eax,8(%esp)
28	movl	%ebx,12(%esp)
29	leal	OPENSSL_ia32cap_P-.L001K256(%ebp),%edx
30	movl	(%edx),%ecx
31	movl	4(%edx),%ebx
32	testl	$1048576,%ecx
33	jnz	.L002loop
34	movl	8(%edx),%edx
35	testl	$16777216,%ecx
36	jz	.L003no_xmm
37	andl	$1073741824,%ecx
38	andl	$268435968,%ebx
39	testl	$536870912,%edx
40	jnz	.L004shaext
41	orl	%ebx,%ecx
42	andl	$1342177280,%ecx
43	cmpl	$1342177280,%ecx
44	je	.L005AVX
45	testl	$512,%ebx
46	jnz	.L006SSSE3
47.L003no_xmm:
48	subl	%edi,%eax
49	cmpl	$256,%eax
50	jae	.L007unrolled
51	jmp	.L002loop
52.align	16
53.L002loop:
54	movl	(%edi),%eax
55	movl	4(%edi),%ebx
56	movl	8(%edi),%ecx
57	bswap	%eax
58	movl	12(%edi),%edx
59	bswap	%ebx
60	pushl	%eax
61	bswap	%ecx
62	pushl	%ebx
63	bswap	%edx
64	pushl	%ecx
65	pushl	%edx
66	movl	16(%edi),%eax
67	movl	20(%edi),%ebx
68	movl	24(%edi),%ecx
69	bswap	%eax
70	movl	28(%edi),%edx
71	bswap	%ebx
72	pushl	%eax
73	bswap	%ecx
74	pushl	%ebx
75	bswap	%edx
76	pushl	%ecx
77	pushl	%edx
78	movl	32(%edi),%eax
79	movl	36(%edi),%ebx
80	movl	40(%edi),%ecx
81	bswap	%eax
82	movl	44(%edi),%edx
83	bswap	%ebx
84	pushl	%eax
85	bswap	%ecx
86	pushl	%ebx
87	bswap	%edx
88	pushl	%ecx
89	pushl	%edx
90	movl	48(%edi),%eax
91	movl	52(%edi),%ebx
92	movl	56(%edi),%ecx
93	bswap	%eax
94	movl	60(%edi),%edx
95	bswap	%ebx
96	pushl	%eax
97	bswap	%ecx
98	pushl	%ebx
99	bswap	%edx
100	pushl	%ecx
101	pushl	%edx
102	addl	$64,%edi
103	leal	-36(%esp),%esp
104	movl	%edi,104(%esp)
105	movl	(%esi),%eax
106	movl	4(%esi),%ebx
107	movl	8(%esi),%ecx
108	movl	12(%esi),%edi
109	movl	%ebx,8(%esp)
110	xorl	%ecx,%ebx
111	movl	%ecx,12(%esp)
112	movl	%edi,16(%esp)
113	movl	%ebx,(%esp)
114	movl	16(%esi),%edx
115	movl	20(%esi),%ebx
116	movl	24(%esi),%ecx
117	movl	28(%esi),%edi
118	movl	%ebx,24(%esp)
119	movl	%ecx,28(%esp)
120	movl	%edi,32(%esp)
121.align	16
122.L00800_15:
123	movl	%edx,%ecx
124	movl	24(%esp),%esi
125	rorl	$14,%ecx
126	movl	28(%esp),%edi
127	xorl	%edx,%ecx
128	xorl	%edi,%esi
129	movl	96(%esp),%ebx
130	rorl	$5,%ecx
131	andl	%edx,%esi
132	movl	%edx,20(%esp)
133	xorl	%ecx,%edx
134	addl	32(%esp),%ebx
135	xorl	%edi,%esi
136	rorl	$6,%edx
137	movl	%eax,%ecx
138	addl	%esi,%ebx
139	rorl	$9,%ecx
140	addl	%edx,%ebx
141	movl	8(%esp),%edi
142	xorl	%eax,%ecx
143	movl	%eax,4(%esp)
144	leal	-4(%esp),%esp
145	rorl	$11,%ecx
146	movl	(%ebp),%esi
147	xorl	%eax,%ecx
148	movl	20(%esp),%edx
149	xorl	%edi,%eax
150	rorl	$2,%ecx
151	addl	%esi,%ebx
152	movl	%eax,(%esp)
153	addl	%ebx,%edx
154	andl	4(%esp),%eax
155	addl	%ecx,%ebx
156	xorl	%edi,%eax
157	addl	$4,%ebp
158	addl	%ebx,%eax
159	cmpl	$3248222580,%esi
160	jne	.L00800_15
161	movl	156(%esp),%ecx
162	jmp	.L00916_63
163.align	16
164.L00916_63:
165	movl	%ecx,%ebx
166	movl	104(%esp),%esi
167	rorl	$11,%ecx
168	movl	%esi,%edi
169	rorl	$2,%esi
170	xorl	%ebx,%ecx
171	shrl	$3,%ebx
172	rorl	$7,%ecx
173	xorl	%edi,%esi
174	xorl	%ecx,%ebx
175	rorl	$17,%esi
176	addl	160(%esp),%ebx
177	shrl	$10,%edi
178	addl	124(%esp),%ebx
179	movl	%edx,%ecx
180	xorl	%esi,%edi
181	movl	24(%esp),%esi
182	rorl	$14,%ecx
183	addl	%edi,%ebx
184	movl	28(%esp),%edi
185	xorl	%edx,%ecx
186	xorl	%edi,%esi
187	movl	%ebx,96(%esp)
188	rorl	$5,%ecx
189	andl	%edx,%esi
190	movl	%edx,20(%esp)
191	xorl	%ecx,%edx
192	addl	32(%esp),%ebx
193	xorl	%edi,%esi
194	rorl	$6,%edx
195	movl	%eax,%ecx
196	addl	%esi,%ebx
197	rorl	$9,%ecx
198	addl	%edx,%ebx
199	movl	8(%esp),%edi
200	xorl	%eax,%ecx
201	movl	%eax,4(%esp)
202	leal	-4(%esp),%esp
203	rorl	$11,%ecx
204	movl	(%ebp),%esi
205	xorl	%eax,%ecx
206	movl	20(%esp),%edx
207	xorl	%edi,%eax
208	rorl	$2,%ecx
209	addl	%esi,%ebx
210	movl	%eax,(%esp)
211	addl	%ebx,%edx
212	andl	4(%esp),%eax
213	addl	%ecx,%ebx
214	xorl	%edi,%eax
215	movl	156(%esp),%ecx
216	addl	$4,%ebp
217	addl	%ebx,%eax
218	cmpl	$3329325298,%esi
219	jne	.L00916_63
220	movl	356(%esp),%esi
221	movl	8(%esp),%ebx
222	movl	16(%esp),%ecx
223	addl	(%esi),%eax
224	addl	4(%esi),%ebx
225	addl	8(%esi),%edi
226	addl	12(%esi),%ecx
227	movl	%eax,(%esi)
228	movl	%ebx,4(%esi)
229	movl	%edi,8(%esi)
230	movl	%ecx,12(%esi)
231	movl	24(%esp),%eax
232	movl	28(%esp),%ebx
233	movl	32(%esp),%ecx
234	movl	360(%esp),%edi
235	addl	16(%esi),%edx
236	addl	20(%esi),%eax
237	addl	24(%esi),%ebx
238	addl	28(%esi),%ecx
239	movl	%edx,16(%esi)
240	movl	%eax,20(%esi)
241	movl	%ebx,24(%esi)
242	movl	%ecx,28(%esi)
243	leal	356(%esp),%esp
244	subl	$256,%ebp
245	cmpl	8(%esp),%edi
246	jb	.L002loop
247	movl	12(%esp),%esp
248	popl	%edi
249	popl	%esi
250	popl	%ebx
251	popl	%ebp
252	ret
253.align	64
254.L001K256:
255.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
256.long	66051,67438087,134810123,202182159
257.byte	83,72,65,50,53,54,32,98,108,111,99,107,32,116,114,97
258.byte	110,115,102,111,114,109,32,102,111,114,32,120,56,54,44,32
259.byte	67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97
260.byte	112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103
261.byte	62,0
262.align	16
263.L007unrolled:
264	leal	-96(%esp),%esp
265	movl	(%esi),%eax
266	movl	4(%esi),%ebp
267	movl	8(%esi),%ecx
268	movl	12(%esi),%ebx
269	movl	%ebp,4(%esp)
270	xorl	%ecx,%ebp
271	movl	%ecx,8(%esp)
272	movl	%ebx,12(%esp)
273	movl	16(%esi),%edx
274	movl	20(%esi),%ebx
275	movl	24(%esi),%ecx
276	movl	28(%esi),%esi
277	movl	%ebx,20(%esp)
278	movl	%ecx,24(%esp)
279	movl	%esi,28(%esp)
280	jmp	.L010grand_loop
281.align	16
282.L010grand_loop:
283	movl	(%edi),%ebx
284	movl	4(%edi),%ecx
285	bswap	%ebx
286	movl	8(%edi),%esi
287	bswap	%ecx
288	movl	%ebx,32(%esp)
289	bswap	%esi
290	movl	%ecx,36(%esp)
291	movl	%esi,40(%esp)
292	movl	12(%edi),%ebx
293	movl	16(%edi),%ecx
294	bswap	%ebx
295	movl	20(%edi),%esi
296	bswap	%ecx
297	movl	%ebx,44(%esp)
298	bswap	%esi
299	movl	%ecx,48(%esp)
300	movl	%esi,52(%esp)
301	movl	24(%edi),%ebx
302	movl	28(%edi),%ecx
303	bswap	%ebx
304	movl	32(%edi),%esi
305	bswap	%ecx
306	movl	%ebx,56(%esp)
307	bswap	%esi
308	movl	%ecx,60(%esp)
309	movl	%esi,64(%esp)
310	movl	36(%edi),%ebx
311	movl	40(%edi),%ecx
312	bswap	%ebx
313	movl	44(%edi),%esi
314	bswap	%ecx
315	movl	%ebx,68(%esp)
316	bswap	%esi
317	movl	%ecx,72(%esp)
318	movl	%esi,76(%esp)
319	movl	48(%edi),%ebx
320	movl	52(%edi),%ecx
321	bswap	%ebx
322	movl	56(%edi),%esi
323	bswap	%ecx
324	movl	%ebx,80(%esp)
325	bswap	%esi
326	movl	%ecx,84(%esp)
327	movl	%esi,88(%esp)
328	movl	60(%edi),%ebx
329	addl	$64,%edi
330	bswap	%ebx
331	movl	%edi,100(%esp)
332	movl	%ebx,92(%esp)
333	movl	%edx,%ecx
334	movl	20(%esp),%esi
335	rorl	$14,%edx
336	movl	24(%esp),%edi
337	xorl	%ecx,%edx
338	movl	32(%esp),%ebx
339	xorl	%edi,%esi
340	rorl	$5,%edx
341	andl	%ecx,%esi
342	movl	%ecx,16(%esp)
343	xorl	%ecx,%edx
344	addl	28(%esp),%ebx
345	xorl	%esi,%edi
346	rorl	$6,%edx
347	movl	%eax,%ecx
348	addl	%edi,%ebx
349	rorl	$9,%ecx
350	movl	%eax,%esi
351	movl	4(%esp),%edi
352	xorl	%eax,%ecx
353	movl	%eax,(%esp)
354	xorl	%edi,%eax
355	rorl	$11,%ecx
356	andl	%eax,%ebp
357	leal	1116352408(%ebx,%edx,1),%edx
358	xorl	%esi,%ecx
359	xorl	%edi,%ebp
360	rorl	$2,%ecx
361	addl	%edx,%ebp
362	addl	12(%esp),%edx
363	addl	%ecx,%ebp
364	movl	%edx,%esi
365	movl	16(%esp),%ecx
366	rorl	$14,%edx
367	movl	20(%esp),%edi
368	xorl	%esi,%edx
369	movl	36(%esp),%ebx
370	xorl	%edi,%ecx
371	rorl	$5,%edx
372	andl	%esi,%ecx
373	movl	%esi,12(%esp)
374	xorl	%esi,%edx
375	addl	24(%esp),%ebx
376	xorl	%ecx,%edi
377	rorl	$6,%edx
378	movl	%ebp,%esi
379	addl	%edi,%ebx
380	rorl	$9,%esi
381	movl	%ebp,%ecx
382	movl	(%esp),%edi
383	xorl	%ebp,%esi
384	movl	%ebp,28(%esp)
385	xorl	%edi,%ebp
386	rorl	$11,%esi
387	andl	%ebp,%eax
388	leal	1899447441(%ebx,%edx,1),%edx
389	xorl	%ecx,%esi
390	xorl	%edi,%eax
391	rorl	$2,%esi
392	addl	%edx,%eax
393	addl	8(%esp),%edx
394	addl	%esi,%eax
395	movl	%edx,%ecx
396	movl	12(%esp),%esi
397	rorl	$14,%edx
398	movl	16(%esp),%edi
399	xorl	%ecx,%edx
400	movl	40(%esp),%ebx
401	xorl	%edi,%esi
402	rorl	$5,%edx
403	andl	%ecx,%esi
404	movl	%ecx,8(%esp)
405	xorl	%ecx,%edx
406	addl	20(%esp),%ebx
407	xorl	%esi,%edi
408	rorl	$6,%edx
409	movl	%eax,%ecx
410	addl	%edi,%ebx
411	rorl	$9,%ecx
412	movl	%eax,%esi
413	movl	28(%esp),%edi
414	xorl	%eax,%ecx
415	movl	%eax,24(%esp)
416	xorl	%edi,%eax
417	rorl	$11,%ecx
418	andl	%eax,%ebp
419	leal	3049323471(%ebx,%edx,1),%edx
420	xorl	%esi,%ecx
421	xorl	%edi,%ebp
422	rorl	$2,%ecx
423	addl	%edx,%ebp
424	addl	4(%esp),%edx
425	addl	%ecx,%ebp
426	movl	%edx,%esi
427	movl	8(%esp),%ecx
428	rorl	$14,%edx
429	movl	12(%esp),%edi
430	xorl	%esi,%edx
431	movl	44(%esp),%ebx
432	xorl	%edi,%ecx
433	rorl	$5,%edx
434	andl	%esi,%ecx
435	movl	%esi,4(%esp)
436	xorl	%esi,%edx
437	addl	16(%esp),%ebx
438	xorl	%ecx,%edi
439	rorl	$6,%edx
440	movl	%ebp,%esi
441	addl	%edi,%ebx
442	rorl	$9,%esi
443	movl	%ebp,%ecx
444	movl	24(%esp),%edi
445	xorl	%ebp,%esi
446	movl	%ebp,20(%esp)
447	xorl	%edi,%ebp
448	rorl	$11,%esi
449	andl	%ebp,%eax
450	leal	3921009573(%ebx,%edx,1),%edx
451	xorl	%ecx,%esi
452	xorl	%edi,%eax
453	rorl	$2,%esi
454	addl	%edx,%eax
455	addl	(%esp),%edx
456	addl	%esi,%eax
457	movl	%edx,%ecx
458	movl	4(%esp),%esi
459	rorl	$14,%edx
460	movl	8(%esp),%edi
461	xorl	%ecx,%edx
462	movl	48(%esp),%ebx
463	xorl	%edi,%esi
464	rorl	$5,%edx
465	andl	%ecx,%esi
466	movl	%ecx,(%esp)
467	xorl	%ecx,%edx
468	addl	12(%esp),%ebx
469	xorl	%esi,%edi
470	rorl	$6,%edx
471	movl	%eax,%ecx
472	addl	%edi,%ebx
473	rorl	$9,%ecx
474	movl	%eax,%esi
475	movl	20(%esp),%edi
476	xorl	%eax,%ecx
477	movl	%eax,16(%esp)
478	xorl	%edi,%eax
479	rorl	$11,%ecx
480	andl	%eax,%ebp
481	leal	961987163(%ebx,%edx,1),%edx
482	xorl	%esi,%ecx
483	xorl	%edi,%ebp
484	rorl	$2,%ecx
485	addl	%edx,%ebp
486	addl	28(%esp),%edx
487	addl	%ecx,%ebp
488	movl	%edx,%esi
489	movl	(%esp),%ecx
490	rorl	$14,%edx
491	movl	4(%esp),%edi
492	xorl	%esi,%edx
493	movl	52(%esp),%ebx
494	xorl	%edi,%ecx
495	rorl	$5,%edx
496	andl	%esi,%ecx
497	movl	%esi,28(%esp)
498	xorl	%esi,%edx
499	addl	8(%esp),%ebx
500	xorl	%ecx,%edi
501	rorl	$6,%edx
502	movl	%ebp,%esi
503	addl	%edi,%ebx
504	rorl	$9,%esi
505	movl	%ebp,%ecx
506	movl	16(%esp),%edi
507	xorl	%ebp,%esi
508	movl	%ebp,12(%esp)
509	xorl	%edi,%ebp
510	rorl	$11,%esi
511	andl	%ebp,%eax
512	leal	1508970993(%ebx,%edx,1),%edx
513	xorl	%ecx,%esi
514	xorl	%edi,%eax
515	rorl	$2,%esi
516	addl	%edx,%eax
517	addl	24(%esp),%edx
518	addl	%esi,%eax
519	movl	%edx,%ecx
520	movl	28(%esp),%esi
521	rorl	$14,%edx
522	movl	(%esp),%edi
523	xorl	%ecx,%edx
524	movl	56(%esp),%ebx
525	xorl	%edi,%esi
526	rorl	$5,%edx
527	andl	%ecx,%esi
528	movl	%ecx,24(%esp)
529	xorl	%ecx,%edx
530	addl	4(%esp),%ebx
531	xorl	%esi,%edi
532	rorl	$6,%edx
533	movl	%eax,%ecx
534	addl	%edi,%ebx
535	rorl	$9,%ecx
536	movl	%eax,%esi
537	movl	12(%esp),%edi
538	xorl	%eax,%ecx
539	movl	%eax,8(%esp)
540	xorl	%edi,%eax
541	rorl	$11,%ecx
542	andl	%eax,%ebp
543	leal	2453635748(%ebx,%edx,1),%edx
544	xorl	%esi,%ecx
545	xorl	%edi,%ebp
546	rorl	$2,%ecx
547	addl	%edx,%ebp
548	addl	20(%esp),%edx
549	addl	%ecx,%ebp
550	movl	%edx,%esi
551	movl	24(%esp),%ecx
552	rorl	$14,%edx
553	movl	28(%esp),%edi
554	xorl	%esi,%edx
555	movl	60(%esp),%ebx
556	xorl	%edi,%ecx
557	rorl	$5,%edx
558	andl	%esi,%ecx
559	movl	%esi,20(%esp)
560	xorl	%esi,%edx
561	addl	(%esp),%ebx
562	xorl	%ecx,%edi
563	rorl	$6,%edx
564	movl	%ebp,%esi
565	addl	%edi,%ebx
566	rorl	$9,%esi
567	movl	%ebp,%ecx
568	movl	8(%esp),%edi
569	xorl	%ebp,%esi
570	movl	%ebp,4(%esp)
571	xorl	%edi,%ebp
572	rorl	$11,%esi
573	andl	%ebp,%eax
574	leal	2870763221(%ebx,%edx,1),%edx
575	xorl	%ecx,%esi
576	xorl	%edi,%eax
577	rorl	$2,%esi
578	addl	%edx,%eax
579	addl	16(%esp),%edx
580	addl	%esi,%eax
581	movl	%edx,%ecx
582	movl	20(%esp),%esi
583	rorl	$14,%edx
584	movl	24(%esp),%edi
585	xorl	%ecx,%edx
586	movl	64(%esp),%ebx
587	xorl	%edi,%esi
588	rorl	$5,%edx
589	andl	%ecx,%esi
590	movl	%ecx,16(%esp)
591	xorl	%ecx,%edx
592	addl	28(%esp),%ebx
593	xorl	%esi,%edi
594	rorl	$6,%edx
595	movl	%eax,%ecx
596	addl	%edi,%ebx
597	rorl	$9,%ecx
598	movl	%eax,%esi
599	movl	4(%esp),%edi
600	xorl	%eax,%ecx
601	movl	%eax,(%esp)
602	xorl	%edi,%eax
603	rorl	$11,%ecx
604	andl	%eax,%ebp
605	leal	3624381080(%ebx,%edx,1),%edx
606	xorl	%esi,%ecx
607	xorl	%edi,%ebp
608	rorl	$2,%ecx
609	addl	%edx,%ebp
610	addl	12(%esp),%edx
611	addl	%ecx,%ebp
612	movl	%edx,%esi
613	movl	16(%esp),%ecx
614	rorl	$14,%edx
615	movl	20(%esp),%edi
616	xorl	%esi,%edx
617	movl	68(%esp),%ebx
618	xorl	%edi,%ecx
619	rorl	$5,%edx
620	andl	%esi,%ecx
621	movl	%esi,12(%esp)
622	xorl	%esi,%edx
623	addl	24(%esp),%ebx
624	xorl	%ecx,%edi
625	rorl	$6,%edx
626	movl	%ebp,%esi
627	addl	%edi,%ebx
628	rorl	$9,%esi
629	movl	%ebp,%ecx
630	movl	(%esp),%edi
631	xorl	%ebp,%esi
632	movl	%ebp,28(%esp)
633	xorl	%edi,%ebp
634	rorl	$11,%esi
635	andl	%ebp,%eax
636	leal	310598401(%ebx,%edx,1),%edx
637	xorl	%ecx,%esi
638	xorl	%edi,%eax
639	rorl	$2,%esi
640	addl	%edx,%eax
641	addl	8(%esp),%edx
642	addl	%esi,%eax
643	movl	%edx,%ecx
644	movl	12(%esp),%esi
645	rorl	$14,%edx
646	movl	16(%esp),%edi
647	xorl	%ecx,%edx
648	movl	72(%esp),%ebx
649	xorl	%edi,%esi
650	rorl	$5,%edx
651	andl	%ecx,%esi
652	movl	%ecx,8(%esp)
653	xorl	%ecx,%edx
654	addl	20(%esp),%ebx
655	xorl	%esi,%edi
656	rorl	$6,%edx
657	movl	%eax,%ecx
658	addl	%edi,%ebx
659	rorl	$9,%ecx
660	movl	%eax,%esi
661	movl	28(%esp),%edi
662	xorl	%eax,%ecx
663	movl	%eax,24(%esp)
664	xorl	%edi,%eax
665	rorl	$11,%ecx
666	andl	%eax,%ebp
667	leal	607225278(%ebx,%edx,1),%edx
668	xorl	%esi,%ecx
669	xorl	%edi,%ebp
670	rorl	$2,%ecx
671	addl	%edx,%ebp
672	addl	4(%esp),%edx
673	addl	%ecx,%ebp
674	movl	%edx,%esi
675	movl	8(%esp),%ecx
676	rorl	$14,%edx
677	movl	12(%esp),%edi
678	xorl	%esi,%edx
679	movl	76(%esp),%ebx
680	xorl	%edi,%ecx
681	rorl	$5,%edx
682	andl	%esi,%ecx
683	movl	%esi,4(%esp)
684	xorl	%esi,%edx
685	addl	16(%esp),%ebx
686	xorl	%ecx,%edi
687	rorl	$6,%edx
688	movl	%ebp,%esi
689	addl	%edi,%ebx
690	rorl	$9,%esi
691	movl	%ebp,%ecx
692	movl	24(%esp),%edi
693	xorl	%ebp,%esi
694	movl	%ebp,20(%esp)
695	xorl	%edi,%ebp
696	rorl	$11,%esi
697	andl	%ebp,%eax
698	leal	1426881987(%ebx,%edx,1),%edx
699	xorl	%ecx,%esi
700	xorl	%edi,%eax
701	rorl	$2,%esi
702	addl	%edx,%eax
703	addl	(%esp),%edx
704	addl	%esi,%eax
705	movl	%edx,%ecx
706	movl	4(%esp),%esi
707	rorl	$14,%edx
708	movl	8(%esp),%edi
709	xorl	%ecx,%edx
710	movl	80(%esp),%ebx
711	xorl	%edi,%esi
712	rorl	$5,%edx
713	andl	%ecx,%esi
714	movl	%ecx,(%esp)
715	xorl	%ecx,%edx
716	addl	12(%esp),%ebx
717	xorl	%esi,%edi
718	rorl	$6,%edx
719	movl	%eax,%ecx
720	addl	%edi,%ebx
721	rorl	$9,%ecx
722	movl	%eax,%esi
723	movl	20(%esp),%edi
724	xorl	%eax,%ecx
725	movl	%eax,16(%esp)
726	xorl	%edi,%eax
727	rorl	$11,%ecx
728	andl	%eax,%ebp
729	leal	1925078388(%ebx,%edx,1),%edx
730	xorl	%esi,%ecx
731	xorl	%edi,%ebp
732	rorl	$2,%ecx
733	addl	%edx,%ebp
734	addl	28(%esp),%edx
735	addl	%ecx,%ebp
736	movl	%edx,%esi
737	movl	(%esp),%ecx
738	rorl	$14,%edx
739	movl	4(%esp),%edi
740	xorl	%esi,%edx
741	movl	84(%esp),%ebx
742	xorl	%edi,%ecx
743	rorl	$5,%edx
744	andl	%esi,%ecx
745	movl	%esi,28(%esp)
746	xorl	%esi,%edx
747	addl	8(%esp),%ebx
748	xorl	%ecx,%edi
749	rorl	$6,%edx
750	movl	%ebp,%esi
751	addl	%edi,%ebx
752	rorl	$9,%esi
753	movl	%ebp,%ecx
754	movl	16(%esp),%edi
755	xorl	%ebp,%esi
756	movl	%ebp,12(%esp)
757	xorl	%edi,%ebp
758	rorl	$11,%esi
759	andl	%ebp,%eax
760	leal	2162078206(%ebx,%edx,1),%edx
761	xorl	%ecx,%esi
762	xorl	%edi,%eax
763	rorl	$2,%esi
764	addl	%edx,%eax
765	addl	24(%esp),%edx
766	addl	%esi,%eax
767	movl	%edx,%ecx
768	movl	28(%esp),%esi
769	rorl	$14,%edx
770	movl	(%esp),%edi
771	xorl	%ecx,%edx
772	movl	88(%esp),%ebx
773	xorl	%edi,%esi
774	rorl	$5,%edx
775	andl	%ecx,%esi
776	movl	%ecx,24(%esp)
777	xorl	%ecx,%edx
778	addl	4(%esp),%ebx
779	xorl	%esi,%edi
780	rorl	$6,%edx
781	movl	%eax,%ecx
782	addl	%edi,%ebx
783	rorl	$9,%ecx
784	movl	%eax,%esi
785	movl	12(%esp),%edi
786	xorl	%eax,%ecx
787	movl	%eax,8(%esp)
788	xorl	%edi,%eax
789	rorl	$11,%ecx
790	andl	%eax,%ebp
791	leal	2614888103(%ebx,%edx,1),%edx
792	xorl	%esi,%ecx
793	xorl	%edi,%ebp
794	rorl	$2,%ecx
795	addl	%edx,%ebp
796	addl	20(%esp),%edx
797	addl	%ecx,%ebp
798	movl	%edx,%esi
799	movl	24(%esp),%ecx
800	rorl	$14,%edx
801	movl	28(%esp),%edi
802	xorl	%esi,%edx
803	movl	92(%esp),%ebx
804	xorl	%edi,%ecx
805	rorl	$5,%edx
806	andl	%esi,%ecx
807	movl	%esi,20(%esp)
808	xorl	%esi,%edx
809	addl	(%esp),%ebx
810	xorl	%ecx,%edi
811	rorl	$6,%edx
812	movl	%ebp,%esi
813	addl	%edi,%ebx
814	rorl	$9,%esi
815	movl	%ebp,%ecx
816	movl	8(%esp),%edi
817	xorl	%ebp,%esi
818	movl	%ebp,4(%esp)
819	xorl	%edi,%ebp
820	rorl	$11,%esi
821	andl	%ebp,%eax
822	leal	3248222580(%ebx,%edx,1),%edx
823	xorl	%ecx,%esi
824	xorl	%edi,%eax
825	movl	36(%esp),%ecx
826	rorl	$2,%esi
827	addl	%edx,%eax
828	addl	16(%esp),%edx
829	addl	%esi,%eax
830	movl	88(%esp),%esi
831	movl	%ecx,%ebx
832	rorl	$11,%ecx
833	movl	%esi,%edi
834	rorl	$2,%esi
835	xorl	%ebx,%ecx
836	shrl	$3,%ebx
837	rorl	$7,%ecx
838	xorl	%edi,%esi
839	xorl	%ecx,%ebx
840	rorl	$17,%esi
841	addl	32(%esp),%ebx
842	shrl	$10,%edi
843	addl	68(%esp),%ebx
844	movl	%edx,%ecx
845	xorl	%esi,%edi
846	movl	20(%esp),%esi
847	rorl	$14,%edx
848	addl	%edi,%ebx
849	movl	24(%esp),%edi
850	xorl	%ecx,%edx
851	movl	%ebx,32(%esp)
852	xorl	%edi,%esi
853	rorl	$5,%edx
854	andl	%ecx,%esi
855	movl	%ecx,16(%esp)
856	xorl	%ecx,%edx
857	addl	28(%esp),%ebx
858	xorl	%esi,%edi
859	rorl	$6,%edx
860	movl	%eax,%ecx
861	addl	%edi,%ebx
862	rorl	$9,%ecx
863	movl	%eax,%esi
864	movl	4(%esp),%edi
865	xorl	%eax,%ecx
866	movl	%eax,(%esp)
867	xorl	%edi,%eax
868	rorl	$11,%ecx
869	andl	%eax,%ebp
870	leal	3835390401(%ebx,%edx,1),%edx
871	xorl	%esi,%ecx
872	xorl	%edi,%ebp
873	movl	40(%esp),%esi
874	rorl	$2,%ecx
875	addl	%edx,%ebp
876	addl	12(%esp),%edx
877	addl	%ecx,%ebp
878	movl	92(%esp),%ecx
879	movl	%esi,%ebx
880	rorl	$11,%esi
881	movl	%ecx,%edi
882	rorl	$2,%ecx
883	xorl	%ebx,%esi
884	shrl	$3,%ebx
885	rorl	$7,%esi
886	xorl	%edi,%ecx
887	xorl	%esi,%ebx
888	rorl	$17,%ecx
889	addl	36(%esp),%ebx
890	shrl	$10,%edi
891	addl	72(%esp),%ebx
892	movl	%edx,%esi
893	xorl	%ecx,%edi
894	movl	16(%esp),%ecx
895	rorl	$14,%edx
896	addl	%edi,%ebx
897	movl	20(%esp),%edi
898	xorl	%esi,%edx
899	movl	%ebx,36(%esp)
900	xorl	%edi,%ecx
901	rorl	$5,%edx
902	andl	%esi,%ecx
903	movl	%esi,12(%esp)
904	xorl	%esi,%edx
905	addl	24(%esp),%ebx
906	xorl	%ecx,%edi
907	rorl	$6,%edx
908	movl	%ebp,%esi
909	addl	%edi,%ebx
910	rorl	$9,%esi
911	movl	%ebp,%ecx
912	movl	(%esp),%edi
913	xorl	%ebp,%esi
914	movl	%ebp,28(%esp)
915	xorl	%edi,%ebp
916	rorl	$11,%esi
917	andl	%ebp,%eax
918	leal	4022224774(%ebx,%edx,1),%edx
919	xorl	%ecx,%esi
920	xorl	%edi,%eax
921	movl	44(%esp),%ecx
922	rorl	$2,%esi
923	addl	%edx,%eax
924	addl	8(%esp),%edx
925	addl	%esi,%eax
926	movl	32(%esp),%esi
927	movl	%ecx,%ebx
928	rorl	$11,%ecx
929	movl	%esi,%edi
930	rorl	$2,%esi
931	xorl	%ebx,%ecx
932	shrl	$3,%ebx
933	rorl	$7,%ecx
934	xorl	%edi,%esi
935	xorl	%ecx,%ebx
936	rorl	$17,%esi
937	addl	40(%esp),%ebx
938	shrl	$10,%edi
939	addl	76(%esp),%ebx
940	movl	%edx,%ecx
941	xorl	%esi,%edi
942	movl	12(%esp),%esi
943	rorl	$14,%edx
944	addl	%edi,%ebx
945	movl	16(%esp),%edi
946	xorl	%ecx,%edx
947	movl	%ebx,40(%esp)
948	xorl	%edi,%esi
949	rorl	$5,%edx
950	andl	%ecx,%esi
951	movl	%ecx,8(%esp)
952	xorl	%ecx,%edx
953	addl	20(%esp),%ebx
954	xorl	%esi,%edi
955	rorl	$6,%edx
956	movl	%eax,%ecx
957	addl	%edi,%ebx
958	rorl	$9,%ecx
959	movl	%eax,%esi
960	movl	28(%esp),%edi
961	xorl	%eax,%ecx
962	movl	%eax,24(%esp)
963	xorl	%edi,%eax
964	rorl	$11,%ecx
965	andl	%eax,%ebp
966	leal	264347078(%ebx,%edx,1),%edx
967	xorl	%esi,%ecx
968	xorl	%edi,%ebp
969	movl	48(%esp),%esi
970	rorl	$2,%ecx
971	addl	%edx,%ebp
972	addl	4(%esp),%edx
973	addl	%ecx,%ebp
974	movl	36(%esp),%ecx
975	movl	%esi,%ebx
976	rorl	$11,%esi
977	movl	%ecx,%edi
978	rorl	$2,%ecx
979	xorl	%ebx,%esi
980	shrl	$3,%ebx
981	rorl	$7,%esi
982	xorl	%edi,%ecx
983	xorl	%esi,%ebx
984	rorl	$17,%ecx
985	addl	44(%esp),%ebx
986	shrl	$10,%edi
987	addl	80(%esp),%ebx
988	movl	%edx,%esi
989	xorl	%ecx,%edi
990	movl	8(%esp),%ecx
991	rorl	$14,%edx
992	addl	%edi,%ebx
993	movl	12(%esp),%edi
994	xorl	%esi,%edx
995	movl	%ebx,44(%esp)
996	xorl	%edi,%ecx
997	rorl	$5,%edx
998	andl	%esi,%ecx
999	movl	%esi,4(%esp)
1000	xorl	%esi,%edx
1001	addl	16(%esp),%ebx
1002	xorl	%ecx,%edi
1003	rorl	$6,%edx
1004	movl	%ebp,%esi
1005	addl	%edi,%ebx
1006	rorl	$9,%esi
1007	movl	%ebp,%ecx
1008	movl	24(%esp),%edi
1009	xorl	%ebp,%esi
1010	movl	%ebp,20(%esp)
1011	xorl	%edi,%ebp
1012	rorl	$11,%esi
1013	andl	%ebp,%eax
1014	leal	604807628(%ebx,%edx,1),%edx
1015	xorl	%ecx,%esi
1016	xorl	%edi,%eax
1017	movl	52(%esp),%ecx
1018	rorl	$2,%esi
1019	addl	%edx,%eax
1020	addl	(%esp),%edx
1021	addl	%esi,%eax
1022	movl	40(%esp),%esi
1023	movl	%ecx,%ebx
1024	rorl	$11,%ecx
1025	movl	%esi,%edi
1026	rorl	$2,%esi
1027	xorl	%ebx,%ecx
1028	shrl	$3,%ebx
1029	rorl	$7,%ecx
1030	xorl	%edi,%esi
1031	xorl	%ecx,%ebx
1032	rorl	$17,%esi
1033	addl	48(%esp),%ebx
1034	shrl	$10,%edi
1035	addl	84(%esp),%ebx
1036	movl	%edx,%ecx
1037	xorl	%esi,%edi
1038	movl	4(%esp),%esi
1039	rorl	$14,%edx
1040	addl	%edi,%ebx
1041	movl	8(%esp),%edi
1042	xorl	%ecx,%edx
1043	movl	%ebx,48(%esp)
1044	xorl	%edi,%esi
1045	rorl	$5,%edx
1046	andl	%ecx,%esi
1047	movl	%ecx,(%esp)
1048	xorl	%ecx,%edx
1049	addl	12(%esp),%ebx
1050	xorl	%esi,%edi
1051	rorl	$6,%edx
1052	movl	%eax,%ecx
1053	addl	%edi,%ebx
1054	rorl	$9,%ecx
1055	movl	%eax,%esi
1056	movl	20(%esp),%edi
1057	xorl	%eax,%ecx
1058	movl	%eax,16(%esp)
1059	xorl	%edi,%eax
1060	rorl	$11,%ecx
1061	andl	%eax,%ebp
1062	leal	770255983(%ebx,%edx,1),%edx
1063	xorl	%esi,%ecx
1064	xorl	%edi,%ebp
1065	movl	56(%esp),%esi
1066	rorl	$2,%ecx
1067	addl	%edx,%ebp
1068	addl	28(%esp),%edx
1069	addl	%ecx,%ebp
1070	movl	44(%esp),%ecx
1071	movl	%esi,%ebx
1072	rorl	$11,%esi
1073	movl	%ecx,%edi
1074	rorl	$2,%ecx
1075	xorl	%ebx,%esi
1076	shrl	$3,%ebx
1077	rorl	$7,%esi
1078	xorl	%edi,%ecx
1079	xorl	%esi,%ebx
1080	rorl	$17,%ecx
1081	addl	52(%esp),%ebx
1082	shrl	$10,%edi
1083	addl	88(%esp),%ebx
1084	movl	%edx,%esi
1085	xorl	%ecx,%edi
1086	movl	(%esp),%ecx
1087	rorl	$14,%edx
1088	addl	%edi,%ebx
1089	movl	4(%esp),%edi
1090	xorl	%esi,%edx
1091	movl	%ebx,52(%esp)
1092	xorl	%edi,%ecx
1093	rorl	$5,%edx
1094	andl	%esi,%ecx
1095	movl	%esi,28(%esp)
1096	xorl	%esi,%edx
1097	addl	8(%esp),%ebx
1098	xorl	%ecx,%edi
1099	rorl	$6,%edx
1100	movl	%ebp,%esi
1101	addl	%edi,%ebx
1102	rorl	$9,%esi
1103	movl	%ebp,%ecx
1104	movl	16(%esp),%edi
1105	xorl	%ebp,%esi
1106	movl	%ebp,12(%esp)
1107	xorl	%edi,%ebp
1108	rorl	$11,%esi
1109	andl	%ebp,%eax
1110	leal	1249150122(%ebx,%edx,1),%edx
1111	xorl	%ecx,%esi
1112	xorl	%edi,%eax
1113	movl	60(%esp),%ecx
1114	rorl	$2,%esi
1115	addl	%edx,%eax
1116	addl	24(%esp),%edx
1117	addl	%esi,%eax
1118	movl	48(%esp),%esi
1119	movl	%ecx,%ebx
1120	rorl	$11,%ecx
1121	movl	%esi,%edi
1122	rorl	$2,%esi
1123	xorl	%ebx,%ecx
1124	shrl	$3,%ebx
1125	rorl	$7,%ecx
1126	xorl	%edi,%esi
1127	xorl	%ecx,%ebx
1128	rorl	$17,%esi
1129	addl	56(%esp),%ebx
1130	shrl	$10,%edi
1131	addl	92(%esp),%ebx
1132	movl	%edx,%ecx
1133	xorl	%esi,%edi
1134	movl	28(%esp),%esi
1135	rorl	$14,%edx
1136	addl	%edi,%ebx
1137	movl	(%esp),%edi
1138	xorl	%ecx,%edx
1139	movl	%ebx,56(%esp)
1140	xorl	%edi,%esi
1141	rorl	$5,%edx
1142	andl	%ecx,%esi
1143	movl	%ecx,24(%esp)
1144	xorl	%ecx,%edx
1145	addl	4(%esp),%ebx
1146	xorl	%esi,%edi
1147	rorl	$6,%edx
1148	movl	%eax,%ecx
1149	addl	%edi,%ebx
1150	rorl	$9,%ecx
1151	movl	%eax,%esi
1152	movl	12(%esp),%edi
1153	xorl	%eax,%ecx
1154	movl	%eax,8(%esp)
1155	xorl	%edi,%eax
1156	rorl	$11,%ecx
1157	andl	%eax,%ebp
1158	leal	1555081692(%ebx,%edx,1),%edx
1159	xorl	%esi,%ecx
1160	xorl	%edi,%ebp
1161	movl	64(%esp),%esi
1162	rorl	$2,%ecx
1163	addl	%edx,%ebp
1164	addl	20(%esp),%edx
1165	addl	%ecx,%ebp
1166	movl	52(%esp),%ecx
1167	movl	%esi,%ebx
1168	rorl	$11,%esi
1169	movl	%ecx,%edi
1170	rorl	$2,%ecx
1171	xorl	%ebx,%esi
1172	shrl	$3,%ebx
1173	rorl	$7,%esi
1174	xorl	%edi,%ecx
1175	xorl	%esi,%ebx
1176	rorl	$17,%ecx
1177	addl	60(%esp),%ebx
1178	shrl	$10,%edi
1179	addl	32(%esp),%ebx
1180	movl	%edx,%esi
1181	xorl	%ecx,%edi
1182	movl	24(%esp),%ecx
1183	rorl	$14,%edx
1184	addl	%edi,%ebx
1185	movl	28(%esp),%edi
1186	xorl	%esi,%edx
1187	movl	%ebx,60(%esp)
1188	xorl	%edi,%ecx
1189	rorl	$5,%edx
1190	andl	%esi,%ecx
1191	movl	%esi,20(%esp)
1192	xorl	%esi,%edx
1193	addl	(%esp),%ebx
1194	xorl	%ecx,%edi
1195	rorl	$6,%edx
1196	movl	%ebp,%esi
1197	addl	%edi,%ebx
1198	rorl	$9,%esi
1199	movl	%ebp,%ecx
1200	movl	8(%esp),%edi
1201	xorl	%ebp,%esi
1202	movl	%ebp,4(%esp)
1203	xorl	%edi,%ebp
1204	rorl	$11,%esi
1205	andl	%ebp,%eax
1206	leal	1996064986(%ebx,%edx,1),%edx
1207	xorl	%ecx,%esi
1208	xorl	%edi,%eax
1209	movl	68(%esp),%ecx
1210	rorl	$2,%esi
1211	addl	%edx,%eax
1212	addl	16(%esp),%edx
1213	addl	%esi,%eax
1214	movl	56(%esp),%esi
1215	movl	%ecx,%ebx
1216	rorl	$11,%ecx
1217	movl	%esi,%edi
1218	rorl	$2,%esi
1219	xorl	%ebx,%ecx
1220	shrl	$3,%ebx
1221	rorl	$7,%ecx
1222	xorl	%edi,%esi
1223	xorl	%ecx,%ebx
1224	rorl	$17,%esi
1225	addl	64(%esp),%ebx
1226	shrl	$10,%edi
1227	addl	36(%esp),%ebx
1228	movl	%edx,%ecx
1229	xorl	%esi,%edi
1230	movl	20(%esp),%esi
1231	rorl	$14,%edx
1232	addl	%edi,%ebx
1233	movl	24(%esp),%edi
1234	xorl	%ecx,%edx
1235	movl	%ebx,64(%esp)
1236	xorl	%edi,%esi
1237	rorl	$5,%edx
1238	andl	%ecx,%esi
1239	movl	%ecx,16(%esp)
1240	xorl	%ecx,%edx
1241	addl	28(%esp),%ebx
1242	xorl	%esi,%edi
1243	rorl	$6,%edx
1244	movl	%eax,%ecx
1245	addl	%edi,%ebx
1246	rorl	$9,%ecx
1247	movl	%eax,%esi
1248	movl	4(%esp),%edi
1249	xorl	%eax,%ecx
1250	movl	%eax,(%esp)
1251	xorl	%edi,%eax
1252	rorl	$11,%ecx
1253	andl	%eax,%ebp
1254	leal	2554220882(%ebx,%edx,1),%edx
1255	xorl	%esi,%ecx
1256	xorl	%edi,%ebp
1257	movl	72(%esp),%esi
1258	rorl	$2,%ecx
1259	addl	%edx,%ebp
1260	addl	12(%esp),%edx
1261	addl	%ecx,%ebp
1262	movl	60(%esp),%ecx
1263	movl	%esi,%ebx
1264	rorl	$11,%esi
1265	movl	%ecx,%edi
1266	rorl	$2,%ecx
1267	xorl	%ebx,%esi
1268	shrl	$3,%ebx
1269	rorl	$7,%esi
1270	xorl	%edi,%ecx
1271	xorl	%esi,%ebx
1272	rorl	$17,%ecx
1273	addl	68(%esp),%ebx
1274	shrl	$10,%edi
1275	addl	40(%esp),%ebx
1276	movl	%edx,%esi
1277	xorl	%ecx,%edi
1278	movl	16(%esp),%ecx
1279	rorl	$14,%edx
1280	addl	%edi,%ebx
1281	movl	20(%esp),%edi
1282	xorl	%esi,%edx
1283	movl	%ebx,68(%esp)
1284	xorl	%edi,%ecx
1285	rorl	$5,%edx
1286	andl	%esi,%ecx
1287	movl	%esi,12(%esp)
1288	xorl	%esi,%edx
1289	addl	24(%esp),%ebx
1290	xorl	%ecx,%edi
1291	rorl	$6,%edx
1292	movl	%ebp,%esi
1293	addl	%edi,%ebx
1294	rorl	$9,%esi
1295	movl	%ebp,%ecx
1296	movl	(%esp),%edi
1297	xorl	%ebp,%esi
1298	movl	%ebp,28(%esp)
1299	xorl	%edi,%ebp
1300	rorl	$11,%esi
1301	andl	%ebp,%eax
1302	leal	2821834349(%ebx,%edx,1),%edx
1303	xorl	%ecx,%esi
1304	xorl	%edi,%eax
1305	movl	76(%esp),%ecx
1306	rorl	$2,%esi
1307	addl	%edx,%eax
1308	addl	8(%esp),%edx
1309	addl	%esi,%eax
1310	movl	64(%esp),%esi
1311	movl	%ecx,%ebx
1312	rorl	$11,%ecx
1313	movl	%esi,%edi
1314	rorl	$2,%esi
1315	xorl	%ebx,%ecx
1316	shrl	$3,%ebx
1317	rorl	$7,%ecx
1318	xorl	%edi,%esi
1319	xorl	%ecx,%ebx
1320	rorl	$17,%esi
1321	addl	72(%esp),%ebx
1322	shrl	$10,%edi
1323	addl	44(%esp),%ebx
1324	movl	%edx,%ecx
1325	xorl	%esi,%edi
1326	movl	12(%esp),%esi
1327	rorl	$14,%edx
1328	addl	%edi,%ebx
1329	movl	16(%esp),%edi
1330	xorl	%ecx,%edx
1331	movl	%ebx,72(%esp)
1332	xorl	%edi,%esi
1333	rorl	$5,%edx
1334	andl	%ecx,%esi
1335	movl	%ecx,8(%esp)
1336	xorl	%ecx,%edx
1337	addl	20(%esp),%ebx
1338	xorl	%esi,%edi
1339	rorl	$6,%edx
1340	movl	%eax,%ecx
1341	addl	%edi,%ebx
1342	rorl	$9,%ecx
1343	movl	%eax,%esi
1344	movl	28(%esp),%edi
1345	xorl	%eax,%ecx
1346	movl	%eax,24(%esp)
1347	xorl	%edi,%eax
1348	rorl	$11,%ecx
1349	andl	%eax,%ebp
1350	leal	2952996808(%ebx,%edx,1),%edx
1351	xorl	%esi,%ecx
1352	xorl	%edi,%ebp
1353	movl	80(%esp),%esi
1354	rorl	$2,%ecx
1355	addl	%edx,%ebp
1356	addl	4(%esp),%edx
1357	addl	%ecx,%ebp
1358	movl	68(%esp),%ecx
1359	movl	%esi,%ebx
1360	rorl	$11,%esi
1361	movl	%ecx,%edi
1362	rorl	$2,%ecx
1363	xorl	%ebx,%esi
1364	shrl	$3,%ebx
1365	rorl	$7,%esi
1366	xorl	%edi,%ecx
1367	xorl	%esi,%ebx
1368	rorl	$17,%ecx
1369	addl	76(%esp),%ebx
1370	shrl	$10,%edi
1371	addl	48(%esp),%ebx
1372	movl	%edx,%esi
1373	xorl	%ecx,%edi
1374	movl	8(%esp),%ecx
1375	rorl	$14,%edx
1376	addl	%edi,%ebx
1377	movl	12(%esp),%edi
1378	xorl	%esi,%edx
1379	movl	%ebx,76(%esp)
1380	xorl	%edi,%ecx
1381	rorl	$5,%edx
1382	andl	%esi,%ecx
1383	movl	%esi,4(%esp)
1384	xorl	%esi,%edx
1385	addl	16(%esp),%ebx
1386	xorl	%ecx,%edi
1387	rorl	$6,%edx
1388	movl	%ebp,%esi
1389	addl	%edi,%ebx
1390	rorl	$9,%esi
1391	movl	%ebp,%ecx
1392	movl	24(%esp),%edi
1393	xorl	%ebp,%esi
1394	movl	%ebp,20(%esp)
1395	xorl	%edi,%ebp
1396	rorl	$11,%esi
1397	andl	%ebp,%eax
1398	leal	3210313671(%ebx,%edx,1),%edx
1399	xorl	%ecx,%esi
1400	xorl	%edi,%eax
1401	movl	84(%esp),%ecx
1402	rorl	$2,%esi
1403	addl	%edx,%eax
1404	addl	(%esp),%edx
1405	addl	%esi,%eax
1406	movl	72(%esp),%esi
1407	movl	%ecx,%ebx
1408	rorl	$11,%ecx
1409	movl	%esi,%edi
1410	rorl	$2,%esi
1411	xorl	%ebx,%ecx
1412	shrl	$3,%ebx
1413	rorl	$7,%ecx
1414	xorl	%edi,%esi
1415	xorl	%ecx,%ebx
1416	rorl	$17,%esi
1417	addl	80(%esp),%ebx
1418	shrl	$10,%edi
1419	addl	52(%esp),%ebx
1420	movl	%edx,%ecx
1421	xorl	%esi,%edi
1422	movl	4(%esp),%esi
1423	rorl	$14,%edx
1424	addl	%edi,%ebx
1425	movl	8(%esp),%edi
1426	xorl	%ecx,%edx
1427	movl	%ebx,80(%esp)
1428	xorl	%edi,%esi
1429	rorl	$5,%edx
1430	andl	%ecx,%esi
1431	movl	%ecx,(%esp)
1432	xorl	%ecx,%edx
1433	addl	12(%esp),%ebx
1434	xorl	%esi,%edi
1435	rorl	$6,%edx
1436	movl	%eax,%ecx
1437	addl	%edi,%ebx
1438	rorl	$9,%ecx
1439	movl	%eax,%esi
1440	movl	20(%esp),%edi
1441	xorl	%eax,%ecx
1442	movl	%eax,16(%esp)
1443	xorl	%edi,%eax
1444	rorl	$11,%ecx
1445	andl	%eax,%ebp
1446	leal	3336571891(%ebx,%edx,1),%edx
1447	xorl	%esi,%ecx
1448	xorl	%edi,%ebp
1449	movl	88(%esp),%esi
1450	rorl	$2,%ecx
1451	addl	%edx,%ebp
1452	addl	28(%esp),%edx
1453	addl	%ecx,%ebp
1454	movl	76(%esp),%ecx
1455	movl	%esi,%ebx
1456	rorl	$11,%esi
1457	movl	%ecx,%edi
1458	rorl	$2,%ecx
1459	xorl	%ebx,%esi
1460	shrl	$3,%ebx
1461	rorl	$7,%esi
1462	xorl	%edi,%ecx
1463	xorl	%esi,%ebx
1464	rorl	$17,%ecx
1465	addl	84(%esp),%ebx
1466	shrl	$10,%edi
1467	addl	56(%esp),%ebx
1468	movl	%edx,%esi
1469	xorl	%ecx,%edi
1470	movl	(%esp),%ecx
1471	rorl	$14,%edx
1472	addl	%edi,%ebx
1473	movl	4(%esp),%edi
1474	xorl	%esi,%edx
1475	movl	%ebx,84(%esp)
1476	xorl	%edi,%ecx
1477	rorl	$5,%edx
1478	andl	%esi,%ecx
1479	movl	%esi,28(%esp)
1480	xorl	%esi,%edx
1481	addl	8(%esp),%ebx
1482	xorl	%ecx,%edi
1483	rorl	$6,%edx
1484	movl	%ebp,%esi
1485	addl	%edi,%ebx
1486	rorl	$9,%esi
1487	movl	%ebp,%ecx
1488	movl	16(%esp),%edi
1489	xorl	%ebp,%esi
1490	movl	%ebp,12(%esp)
1491	xorl	%edi,%ebp
1492	rorl	$11,%esi
1493	andl	%ebp,%eax
1494	leal	3584528711(%ebx,%edx,1),%edx
1495	xorl	%ecx,%esi
1496	xorl	%edi,%eax
1497	movl	92(%esp),%ecx
1498	rorl	$2,%esi
1499	addl	%edx,%eax
1500	addl	24(%esp),%edx
1501	addl	%esi,%eax
1502	movl	80(%esp),%esi
1503	movl	%ecx,%ebx
1504	rorl	$11,%ecx
1505	movl	%esi,%edi
1506	rorl	$2,%esi
1507	xorl	%ebx,%ecx
1508	shrl	$3,%ebx
1509	rorl	$7,%ecx
1510	xorl	%edi,%esi
1511	xorl	%ecx,%ebx
1512	rorl	$17,%esi
1513	addl	88(%esp),%ebx
1514	shrl	$10,%edi
1515	addl	60(%esp),%ebx
1516	movl	%edx,%ecx
1517	xorl	%esi,%edi
1518	movl	28(%esp),%esi
1519	rorl	$14,%edx
1520	addl	%edi,%ebx
1521	movl	(%esp),%edi
1522	xorl	%ecx,%edx
1523	movl	%ebx,88(%esp)
1524	xorl	%edi,%esi
1525	rorl	$5,%edx
1526	andl	%ecx,%esi
1527	movl	%ecx,24(%esp)
1528	xorl	%ecx,%edx
1529	addl	4(%esp),%ebx
1530	xorl	%esi,%edi
1531	rorl	$6,%edx
1532	movl	%eax,%ecx
1533	addl	%edi,%ebx
1534	rorl	$9,%ecx
1535	movl	%eax,%esi
1536	movl	12(%esp),%edi
1537	xorl	%eax,%ecx
1538	movl	%eax,8(%esp)
1539	xorl	%edi,%eax
1540	rorl	$11,%ecx
1541	andl	%eax,%ebp
1542	leal	113926993(%ebx,%edx,1),%edx
1543	xorl	%esi,%ecx
1544	xorl	%edi,%ebp
1545	movl	32(%esp),%esi
1546	rorl	$2,%ecx
1547	addl	%edx,%ebp
1548	addl	20(%esp),%edx
1549	addl	%ecx,%ebp
1550	movl	84(%esp),%ecx
1551	movl	%esi,%ebx
1552	rorl	$11,%esi
1553	movl	%ecx,%edi
1554	rorl	$2,%ecx
1555	xorl	%ebx,%esi
1556	shrl	$3,%ebx
1557	rorl	$7,%esi
1558	xorl	%edi,%ecx
1559	xorl	%esi,%ebx
1560	rorl	$17,%ecx
1561	addl	92(%esp),%ebx
1562	shrl	$10,%edi
1563	addl	64(%esp),%ebx
1564	movl	%edx,%esi
1565	xorl	%ecx,%edi
1566	movl	24(%esp),%ecx
1567	rorl	$14,%edx
1568	addl	%edi,%ebx
1569	movl	28(%esp),%edi
1570	xorl	%esi,%edx
1571	movl	%ebx,92(%esp)
1572	xorl	%edi,%ecx
1573	rorl	$5,%edx
1574	andl	%esi,%ecx
1575	movl	%esi,20(%esp)
1576	xorl	%esi,%edx
1577	addl	(%esp),%ebx
1578	xorl	%ecx,%edi
1579	rorl	$6,%edx
1580	movl	%ebp,%esi
1581	addl	%edi,%ebx
1582	rorl	$9,%esi
1583	movl	%ebp,%ecx
1584	movl	8(%esp),%edi
1585	xorl	%ebp,%esi
1586	movl	%ebp,4(%esp)
1587	xorl	%edi,%ebp
1588	rorl	$11,%esi
1589	andl	%ebp,%eax
1590	leal	338241895(%ebx,%edx,1),%edx
1591	xorl	%ecx,%esi
1592	xorl	%edi,%eax
1593	movl	36(%esp),%ecx
1594	rorl	$2,%esi
1595	addl	%edx,%eax
1596	addl	16(%esp),%edx
1597	addl	%esi,%eax
1598	movl	88(%esp),%esi
1599	movl	%ecx,%ebx
1600	rorl	$11,%ecx
1601	movl	%esi,%edi
1602	rorl	$2,%esi
1603	xorl	%ebx,%ecx
1604	shrl	$3,%ebx
1605	rorl	$7,%ecx
1606	xorl	%edi,%esi
1607	xorl	%ecx,%ebx
1608	rorl	$17,%esi
1609	addl	32(%esp),%ebx
1610	shrl	$10,%edi
1611	addl	68(%esp),%ebx
1612	movl	%edx,%ecx
1613	xorl	%esi,%edi
1614	movl	20(%esp),%esi
1615	rorl	$14,%edx
1616	addl	%edi,%ebx
1617	movl	24(%esp),%edi
1618	xorl	%ecx,%edx
1619	movl	%ebx,32(%esp)
1620	xorl	%edi,%esi
1621	rorl	$5,%edx
1622	andl	%ecx,%esi
1623	movl	%ecx,16(%esp)
1624	xorl	%ecx,%edx
1625	addl	28(%esp),%ebx
1626	xorl	%esi,%edi
1627	rorl	$6,%edx
1628	movl	%eax,%ecx
1629	addl	%edi,%ebx
1630	rorl	$9,%ecx
1631	movl	%eax,%esi
1632	movl	4(%esp),%edi
1633	xorl	%eax,%ecx
1634	movl	%eax,(%esp)
1635	xorl	%edi,%eax
1636	rorl	$11,%ecx
1637	andl	%eax,%ebp
1638	leal	666307205(%ebx,%edx,1),%edx
1639	xorl	%esi,%ecx
1640	xorl	%edi,%ebp
1641	movl	40(%esp),%esi
1642	rorl	$2,%ecx
1643	addl	%edx,%ebp
1644	addl	12(%esp),%edx
1645	addl	%ecx,%ebp
1646	movl	92(%esp),%ecx
1647	movl	%esi,%ebx
1648	rorl	$11,%esi
1649	movl	%ecx,%edi
1650	rorl	$2,%ecx
1651	xorl	%ebx,%esi
1652	shrl	$3,%ebx
1653	rorl	$7,%esi
1654	xorl	%edi,%ecx
1655	xorl	%esi,%ebx
1656	rorl	$17,%ecx
1657	addl	36(%esp),%ebx
1658	shrl	$10,%edi
1659	addl	72(%esp),%ebx
1660	movl	%edx,%esi
1661	xorl	%ecx,%edi
1662	movl	16(%esp),%ecx
1663	rorl	$14,%edx
1664	addl	%edi,%ebx
1665	movl	20(%esp),%edi
1666	xorl	%esi,%edx
1667	movl	%ebx,36(%esp)
1668	xorl	%edi,%ecx
1669	rorl	$5,%edx
1670	andl	%esi,%ecx
1671	movl	%esi,12(%esp)
1672	xorl	%esi,%edx
1673	addl	24(%esp),%ebx
1674	xorl	%ecx,%edi
1675	rorl	$6,%edx
1676	movl	%ebp,%esi
1677	addl	%edi,%ebx
1678	rorl	$9,%esi
1679	movl	%ebp,%ecx
1680	movl	(%esp),%edi
1681	xorl	%ebp,%esi
1682	movl	%ebp,28(%esp)
1683	xorl	%edi,%ebp
1684	rorl	$11,%esi
1685	andl	%ebp,%eax
1686	leal	773529912(%ebx,%edx,1),%edx
1687	xorl	%ecx,%esi
1688	xorl	%edi,%eax
1689	movl	44(%esp),%ecx
1690	rorl	$2,%esi
1691	addl	%edx,%eax
1692	addl	8(%esp),%edx
1693	addl	%esi,%eax
1694	movl	32(%esp),%esi
1695	movl	%ecx,%ebx
1696	rorl	$11,%ecx
1697	movl	%esi,%edi
1698	rorl	$2,%esi
1699	xorl	%ebx,%ecx
1700	shrl	$3,%ebx
1701	rorl	$7,%ecx
1702	xorl	%edi,%esi
1703	xorl	%ecx,%ebx
1704	rorl	$17,%esi
1705	addl	40(%esp),%ebx
1706	shrl	$10,%edi
1707	addl	76(%esp),%ebx
1708	movl	%edx,%ecx
1709	xorl	%esi,%edi
1710	movl	12(%esp),%esi
1711	rorl	$14,%edx
1712	addl	%edi,%ebx
1713	movl	16(%esp),%edi
1714	xorl	%ecx,%edx
1715	movl	%ebx,40(%esp)
1716	xorl	%edi,%esi
1717	rorl	$5,%edx
1718	andl	%ecx,%esi
1719	movl	%ecx,8(%esp)
1720	xorl	%ecx,%edx
1721	addl	20(%esp),%ebx
1722	xorl	%esi,%edi
1723	rorl	$6,%edx
1724	movl	%eax,%ecx
1725	addl	%edi,%ebx
1726	rorl	$9,%ecx
1727	movl	%eax,%esi
1728	movl	28(%esp),%edi
1729	xorl	%eax,%ecx
1730	movl	%eax,24(%esp)
1731	xorl	%edi,%eax
1732	rorl	$11,%ecx
1733	andl	%eax,%ebp
1734	leal	1294757372(%ebx,%edx,1),%edx
1735	xorl	%esi,%ecx
1736	xorl	%edi,%ebp
1737	movl	48(%esp),%esi
1738	rorl	$2,%ecx
1739	addl	%edx,%ebp
1740	addl	4(%esp),%edx
1741	addl	%ecx,%ebp
1742	movl	36(%esp),%ecx
1743	movl	%esi,%ebx
1744	rorl	$11,%esi
1745	movl	%ecx,%edi
1746	rorl	$2,%ecx
1747	xorl	%ebx,%esi
1748	shrl	$3,%ebx
1749	rorl	$7,%esi
1750	xorl	%edi,%ecx
1751	xorl	%esi,%ebx
1752	rorl	$17,%ecx
1753	addl	44(%esp),%ebx
1754	shrl	$10,%edi
1755	addl	80(%esp),%ebx
1756	movl	%edx,%esi
1757	xorl	%ecx,%edi
1758	movl	8(%esp),%ecx
1759	rorl	$14,%edx
1760	addl	%edi,%ebx
1761	movl	12(%esp),%edi
1762	xorl	%esi,%edx
1763	movl	%ebx,44(%esp)
1764	xorl	%edi,%ecx
1765	rorl	$5,%edx
1766	andl	%esi,%ecx
1767	movl	%esi,4(%esp)
1768	xorl	%esi,%edx
1769	addl	16(%esp),%ebx
1770	xorl	%ecx,%edi
1771	rorl	$6,%edx
1772	movl	%ebp,%esi
1773	addl	%edi,%ebx
1774	rorl	$9,%esi
1775	movl	%ebp,%ecx
1776	movl	24(%esp),%edi
1777	xorl	%ebp,%esi
1778	movl	%ebp,20(%esp)
1779	xorl	%edi,%ebp
1780	rorl	$11,%esi
1781	andl	%ebp,%eax
1782	leal	1396182291(%ebx,%edx,1),%edx
1783	xorl	%ecx,%esi
1784	xorl	%edi,%eax
1785	movl	52(%esp),%ecx
1786	rorl	$2,%esi
1787	addl	%edx,%eax
1788	addl	(%esp),%edx
1789	addl	%esi,%eax
1790	movl	40(%esp),%esi
1791	movl	%ecx,%ebx
1792	rorl	$11,%ecx
1793	movl	%esi,%edi
1794	rorl	$2,%esi
1795	xorl	%ebx,%ecx
1796	shrl	$3,%ebx
1797	rorl	$7,%ecx
1798	xorl	%edi,%esi
1799	xorl	%ecx,%ebx
1800	rorl	$17,%esi
1801	addl	48(%esp),%ebx
1802	shrl	$10,%edi
1803	addl	84(%esp),%ebx
1804	movl	%edx,%ecx
1805	xorl	%esi,%edi
1806	movl	4(%esp),%esi
1807	rorl	$14,%edx
1808	addl	%edi,%ebx
1809	movl	8(%esp),%edi
1810	xorl	%ecx,%edx
1811	movl	%ebx,48(%esp)
1812	xorl	%edi,%esi
1813	rorl	$5,%edx
1814	andl	%ecx,%esi
1815	movl	%ecx,(%esp)
1816	xorl	%ecx,%edx
1817	addl	12(%esp),%ebx
1818	xorl	%esi,%edi
1819	rorl	$6,%edx
1820	movl	%eax,%ecx
1821	addl	%edi,%ebx
1822	rorl	$9,%ecx
1823	movl	%eax,%esi
1824	movl	20(%esp),%edi
1825	xorl	%eax,%ecx
1826	movl	%eax,16(%esp)
1827	xorl	%edi,%eax
1828	rorl	$11,%ecx
1829	andl	%eax,%ebp
1830	leal	1695183700(%ebx,%edx,1),%edx
1831	xorl	%esi,%ecx
1832	xorl	%edi,%ebp
1833	movl	56(%esp),%esi
1834	rorl	$2,%ecx
1835	addl	%edx,%ebp
1836	addl	28(%esp),%edx
1837	addl	%ecx,%ebp
1838	movl	44(%esp),%ecx
1839	movl	%esi,%ebx
1840	rorl	$11,%esi
1841	movl	%ecx,%edi
1842	rorl	$2,%ecx
1843	xorl	%ebx,%esi
1844	shrl	$3,%ebx
1845	rorl	$7,%esi
1846	xorl	%edi,%ecx
1847	xorl	%esi,%ebx
1848	rorl	$17,%ecx
1849	addl	52(%esp),%ebx
1850	shrl	$10,%edi
1851	addl	88(%esp),%ebx
1852	movl	%edx,%esi
1853	xorl	%ecx,%edi
1854	movl	(%esp),%ecx
1855	rorl	$14,%edx
1856	addl	%edi,%ebx
1857	movl	4(%esp),%edi
1858	xorl	%esi,%edx
1859	movl	%ebx,52(%esp)
1860	xorl	%edi,%ecx
1861	rorl	$5,%edx
1862	andl	%esi,%ecx
1863	movl	%esi,28(%esp)
1864	xorl	%esi,%edx
1865	addl	8(%esp),%ebx
1866	xorl	%ecx,%edi
1867	rorl	$6,%edx
1868	movl	%ebp,%esi
1869	addl	%edi,%ebx
1870	rorl	$9,%esi
1871	movl	%ebp,%ecx
1872	movl	16(%esp),%edi
1873	xorl	%ebp,%esi
1874	movl	%ebp,12(%esp)
1875	xorl	%edi,%ebp
1876	rorl	$11,%esi
1877	andl	%ebp,%eax
1878	leal	1986661051(%ebx,%edx,1),%edx
1879	xorl	%ecx,%esi
1880	xorl	%edi,%eax
1881	movl	60(%esp),%ecx
1882	rorl	$2,%esi
1883	addl	%edx,%eax
1884	addl	24(%esp),%edx
1885	addl	%esi,%eax
1886	movl	48(%esp),%esi
1887	movl	%ecx,%ebx
1888	rorl	$11,%ecx
1889	movl	%esi,%edi
1890	rorl	$2,%esi
1891	xorl	%ebx,%ecx
1892	shrl	$3,%ebx
1893	rorl	$7,%ecx
1894	xorl	%edi,%esi
1895	xorl	%ecx,%ebx
1896	rorl	$17,%esi
1897	addl	56(%esp),%ebx
1898	shrl	$10,%edi
1899	addl	92(%esp),%ebx
1900	movl	%edx,%ecx
1901	xorl	%esi,%edi
1902	movl	28(%esp),%esi
1903	rorl	$14,%edx
1904	addl	%edi,%ebx
1905	movl	(%esp),%edi
1906	xorl	%ecx,%edx
1907	movl	%ebx,56(%esp)
1908	xorl	%edi,%esi
1909	rorl	$5,%edx
1910	andl	%ecx,%esi
1911	movl	%ecx,24(%esp)
1912	xorl	%ecx,%edx
1913	addl	4(%esp),%ebx
1914	xorl	%esi,%edi
1915	rorl	$6,%edx
1916	movl	%eax,%ecx
1917	addl	%edi,%ebx
1918	rorl	$9,%ecx
1919	movl	%eax,%esi
1920	movl	12(%esp),%edi
1921	xorl	%eax,%ecx
1922	movl	%eax,8(%esp)
1923	xorl	%edi,%eax
1924	rorl	$11,%ecx
1925	andl	%eax,%ebp
1926	leal	2177026350(%ebx,%edx,1),%edx
1927	xorl	%esi,%ecx
1928	xorl	%edi,%ebp
1929	movl	64(%esp),%esi
1930	rorl	$2,%ecx
1931	addl	%edx,%ebp
1932	addl	20(%esp),%edx
1933	addl	%ecx,%ebp
1934	movl	52(%esp),%ecx
1935	movl	%esi,%ebx
1936	rorl	$11,%esi
1937	movl	%ecx,%edi
1938	rorl	$2,%ecx
1939	xorl	%ebx,%esi
1940	shrl	$3,%ebx
1941	rorl	$7,%esi
1942	xorl	%edi,%ecx
1943	xorl	%esi,%ebx
1944	rorl	$17,%ecx
1945	addl	60(%esp),%ebx
1946	shrl	$10,%edi
1947	addl	32(%esp),%ebx
1948	movl	%edx,%esi
1949	xorl	%ecx,%edi
1950	movl	24(%esp),%ecx
1951	rorl	$14,%edx
1952	addl	%edi,%ebx
1953	movl	28(%esp),%edi
1954	xorl	%esi,%edx
1955	movl	%ebx,60(%esp)
1956	xorl	%edi,%ecx
1957	rorl	$5,%edx
1958	andl	%esi,%ecx
1959	movl	%esi,20(%esp)
1960	xorl	%esi,%edx
1961	addl	(%esp),%ebx
1962	xorl	%ecx,%edi
1963	rorl	$6,%edx
1964	movl	%ebp,%esi
1965	addl	%edi,%ebx
1966	rorl	$9,%esi
1967	movl	%ebp,%ecx
1968	movl	8(%esp),%edi
1969	xorl	%ebp,%esi
1970	movl	%ebp,4(%esp)
1971	xorl	%edi,%ebp
1972	rorl	$11,%esi
1973	andl	%ebp,%eax
1974	leal	2456956037(%ebx,%edx,1),%edx
1975	xorl	%ecx,%esi
1976	xorl	%edi,%eax
1977	movl	68(%esp),%ecx
1978	rorl	$2,%esi
1979	addl	%edx,%eax
1980	addl	16(%esp),%edx
1981	addl	%esi,%eax
1982	movl	56(%esp),%esi
1983	movl	%ecx,%ebx
1984	rorl	$11,%ecx
1985	movl	%esi,%edi
1986	rorl	$2,%esi
1987	xorl	%ebx,%ecx
1988	shrl	$3,%ebx
1989	rorl	$7,%ecx
1990	xorl	%edi,%esi
1991	xorl	%ecx,%ebx
1992	rorl	$17,%esi
1993	addl	64(%esp),%ebx
1994	shrl	$10,%edi
1995	addl	36(%esp),%ebx
1996	movl	%edx,%ecx
1997	xorl	%esi,%edi
1998	movl	20(%esp),%esi
1999	rorl	$14,%edx
2000	addl	%edi,%ebx
2001	movl	24(%esp),%edi
2002	xorl	%ecx,%edx
2003	movl	%ebx,64(%esp)
2004	xorl	%edi,%esi
2005	rorl	$5,%edx
2006	andl	%ecx,%esi
2007	movl	%ecx,16(%esp)
2008	xorl	%ecx,%edx
2009	addl	28(%esp),%ebx
2010	xorl	%esi,%edi
2011	rorl	$6,%edx
2012	movl	%eax,%ecx
2013	addl	%edi,%ebx
2014	rorl	$9,%ecx
2015	movl	%eax,%esi
2016	movl	4(%esp),%edi
2017	xorl	%eax,%ecx
2018	movl	%eax,(%esp)
2019	xorl	%edi,%eax
2020	rorl	$11,%ecx
2021	andl	%eax,%ebp
2022	leal	2730485921(%ebx,%edx,1),%edx
2023	xorl	%esi,%ecx
2024	xorl	%edi,%ebp
2025	movl	72(%esp),%esi
2026	rorl	$2,%ecx
2027	addl	%edx,%ebp
2028	addl	12(%esp),%edx
2029	addl	%ecx,%ebp
2030	movl	60(%esp),%ecx
2031	movl	%esi,%ebx
2032	rorl	$11,%esi
2033	movl	%ecx,%edi
2034	rorl	$2,%ecx
2035	xorl	%ebx,%esi
2036	shrl	$3,%ebx
2037	rorl	$7,%esi
2038	xorl	%edi,%ecx
2039	xorl	%esi,%ebx
2040	rorl	$17,%ecx
2041	addl	68(%esp),%ebx
2042	shrl	$10,%edi
2043	addl	40(%esp),%ebx
2044	movl	%edx,%esi
2045	xorl	%ecx,%edi
2046	movl	16(%esp),%ecx
2047	rorl	$14,%edx
2048	addl	%edi,%ebx
2049	movl	20(%esp),%edi
2050	xorl	%esi,%edx
2051	movl	%ebx,68(%esp)
2052	xorl	%edi,%ecx
2053	rorl	$5,%edx
2054	andl	%esi,%ecx
2055	movl	%esi,12(%esp)
2056	xorl	%esi,%edx
2057	addl	24(%esp),%ebx
2058	xorl	%ecx,%edi
2059	rorl	$6,%edx
2060	movl	%ebp,%esi
2061	addl	%edi,%ebx
2062	rorl	$9,%esi
2063	movl	%ebp,%ecx
2064	movl	(%esp),%edi
2065	xorl	%ebp,%esi
2066	movl	%ebp,28(%esp)
2067	xorl	%edi,%ebp
2068	rorl	$11,%esi
2069	andl	%ebp,%eax
2070	leal	2820302411(%ebx,%edx,1),%edx
2071	xorl	%ecx,%esi
2072	xorl	%edi,%eax
2073	movl	76(%esp),%ecx
2074	rorl	$2,%esi
2075	addl	%edx,%eax
2076	addl	8(%esp),%edx
2077	addl	%esi,%eax
2078	movl	64(%esp),%esi
2079	movl	%ecx,%ebx
2080	rorl	$11,%ecx
2081	movl	%esi,%edi
2082	rorl	$2,%esi
2083	xorl	%ebx,%ecx
2084	shrl	$3,%ebx
2085	rorl	$7,%ecx
2086	xorl	%edi,%esi
2087	xorl	%ecx,%ebx
2088	rorl	$17,%esi
2089	addl	72(%esp),%ebx
2090	shrl	$10,%edi
2091	addl	44(%esp),%ebx
2092	movl	%edx,%ecx
2093	xorl	%esi,%edi
2094	movl	12(%esp),%esi
2095	rorl	$14,%edx
2096	addl	%edi,%ebx
2097	movl	16(%esp),%edi
2098	xorl	%ecx,%edx
2099	movl	%ebx,72(%esp)
2100	xorl	%edi,%esi
2101	rorl	$5,%edx
2102	andl	%ecx,%esi
2103	movl	%ecx,8(%esp)
2104	xorl	%ecx,%edx
2105	addl	20(%esp),%ebx
2106	xorl	%esi,%edi
2107	rorl	$6,%edx
2108	movl	%eax,%ecx
2109	addl	%edi,%ebx
2110	rorl	$9,%ecx
2111	movl	%eax,%esi
2112	movl	28(%esp),%edi
2113	xorl	%eax,%ecx
2114	movl	%eax,24(%esp)
2115	xorl	%edi,%eax
2116	rorl	$11,%ecx
2117	andl	%eax,%ebp
2118	leal	3259730800(%ebx,%edx,1),%edx
2119	xorl	%esi,%ecx
2120	xorl	%edi,%ebp
2121	movl	80(%esp),%esi
2122	rorl	$2,%ecx
2123	addl	%edx,%ebp
2124	addl	4(%esp),%edx
2125	addl	%ecx,%ebp
2126	movl	68(%esp),%ecx
2127	movl	%esi,%ebx
2128	rorl	$11,%esi
2129	movl	%ecx,%edi
2130	rorl	$2,%ecx
2131	xorl	%ebx,%esi
2132	shrl	$3,%ebx
2133	rorl	$7,%esi
2134	xorl	%edi,%ecx
2135	xorl	%esi,%ebx
2136	rorl	$17,%ecx
2137	addl	76(%esp),%ebx
2138	shrl	$10,%edi
2139	addl	48(%esp),%ebx
2140	movl	%edx,%esi
2141	xorl	%ecx,%edi
2142	movl	8(%esp),%ecx
2143	rorl	$14,%edx
2144	addl	%edi,%ebx
2145	movl	12(%esp),%edi
2146	xorl	%esi,%edx
2147	movl	%ebx,76(%esp)
2148	xorl	%edi,%ecx
2149	rorl	$5,%edx
2150	andl	%esi,%ecx
2151	movl	%esi,4(%esp)
2152	xorl	%esi,%edx
2153	addl	16(%esp),%ebx
2154	xorl	%ecx,%edi
2155	rorl	$6,%edx
2156	movl	%ebp,%esi
2157	addl	%edi,%ebx
2158	rorl	$9,%esi
2159	movl	%ebp,%ecx
2160	movl	24(%esp),%edi
2161	xorl	%ebp,%esi
2162	movl	%ebp,20(%esp)
2163	xorl	%edi,%ebp
2164	rorl	$11,%esi
2165	andl	%ebp,%eax
2166	leal	3345764771(%ebx,%edx,1),%edx
2167	xorl	%ecx,%esi
2168	xorl	%edi,%eax
2169	movl	84(%esp),%ecx
2170	rorl	$2,%esi
2171	addl	%edx,%eax
2172	addl	(%esp),%edx
2173	addl	%esi,%eax
2174	movl	72(%esp),%esi
2175	movl	%ecx,%ebx
2176	rorl	$11,%ecx
2177	movl	%esi,%edi
2178	rorl	$2,%esi
2179	xorl	%ebx,%ecx
2180	shrl	$3,%ebx
2181	rorl	$7,%ecx
2182	xorl	%edi,%esi
2183	xorl	%ecx,%ebx
2184	rorl	$17,%esi
2185	addl	80(%esp),%ebx
2186	shrl	$10,%edi
2187	addl	52(%esp),%ebx
2188	movl	%edx,%ecx
2189	xorl	%esi,%edi
2190	movl	4(%esp),%esi
2191	rorl	$14,%edx
2192	addl	%edi,%ebx
2193	movl	8(%esp),%edi
2194	xorl	%ecx,%edx
2195	movl	%ebx,80(%esp)
2196	xorl	%edi,%esi
2197	rorl	$5,%edx
2198	andl	%ecx,%esi
2199	movl	%ecx,(%esp)
2200	xorl	%ecx,%edx
2201	addl	12(%esp),%ebx
2202	xorl	%esi,%edi
2203	rorl	$6,%edx
2204	movl	%eax,%ecx
2205	addl	%edi,%ebx
2206	rorl	$9,%ecx
2207	movl	%eax,%esi
2208	movl	20(%esp),%edi
2209	xorl	%eax,%ecx
2210	movl	%eax,16(%esp)
2211	xorl	%edi,%eax
2212	rorl	$11,%ecx
2213	andl	%eax,%ebp
2214	leal	3516065817(%ebx,%edx,1),%edx
2215	xorl	%esi,%ecx
2216	xorl	%edi,%ebp
2217	movl	88(%esp),%esi
2218	rorl	$2,%ecx
2219	addl	%edx,%ebp
2220	addl	28(%esp),%edx
2221	addl	%ecx,%ebp
2222	movl	76(%esp),%ecx
2223	movl	%esi,%ebx
2224	rorl	$11,%esi
2225	movl	%ecx,%edi
2226	rorl	$2,%ecx
2227	xorl	%ebx,%esi
2228	shrl	$3,%ebx
2229	rorl	$7,%esi
2230	xorl	%edi,%ecx
2231	xorl	%esi,%ebx
2232	rorl	$17,%ecx
2233	addl	84(%esp),%ebx
2234	shrl	$10,%edi
2235	addl	56(%esp),%ebx
2236	movl	%edx,%esi
2237	xorl	%ecx,%edi
2238	movl	(%esp),%ecx
2239	rorl	$14,%edx
2240	addl	%edi,%ebx
2241	movl	4(%esp),%edi
2242	xorl	%esi,%edx
2243	movl	%ebx,84(%esp)
2244	xorl	%edi,%ecx
2245	rorl	$5,%edx
2246	andl	%esi,%ecx
2247	movl	%esi,28(%esp)
2248	xorl	%esi,%edx
2249	addl	8(%esp),%ebx
2250	xorl	%ecx,%edi
2251	rorl	$6,%edx
2252	movl	%ebp,%esi
2253	addl	%edi,%ebx
2254	rorl	$9,%esi
2255	movl	%ebp,%ecx
2256	movl	16(%esp),%edi
2257	xorl	%ebp,%esi
2258	movl	%ebp,12(%esp)
2259	xorl	%edi,%ebp
2260	rorl	$11,%esi
2261	andl	%ebp,%eax
2262	leal	3600352804(%ebx,%edx,1),%edx
2263	xorl	%ecx,%esi
2264	xorl	%edi,%eax
2265	movl	92(%esp),%ecx
2266	rorl	$2,%esi
2267	addl	%edx,%eax
2268	addl	24(%esp),%edx
2269	addl	%esi,%eax
2270	movl	80(%esp),%esi
2271	movl	%ecx,%ebx
2272	rorl	$11,%ecx
2273	movl	%esi,%edi
2274	rorl	$2,%esi
2275	xorl	%ebx,%ecx
2276	shrl	$3,%ebx
2277	rorl	$7,%ecx
2278	xorl	%edi,%esi
2279	xorl	%ecx,%ebx
2280	rorl	$17,%esi
2281	addl	88(%esp),%ebx
2282	shrl	$10,%edi
2283	addl	60(%esp),%ebx
2284	movl	%edx,%ecx
2285	xorl	%esi,%edi
2286	movl	28(%esp),%esi
2287	rorl	$14,%edx
2288	addl	%edi,%ebx
2289	movl	(%esp),%edi
2290	xorl	%ecx,%edx
2291	movl	%ebx,88(%esp)
2292	xorl	%edi,%esi
2293	rorl	$5,%edx
2294	andl	%ecx,%esi
2295	movl	%ecx,24(%esp)
2296	xorl	%ecx,%edx
2297	addl	4(%esp),%ebx
2298	xorl	%esi,%edi
2299	rorl	$6,%edx
2300	movl	%eax,%ecx
2301	addl	%edi,%ebx
2302	rorl	$9,%ecx
2303	movl	%eax,%esi
2304	movl	12(%esp),%edi
2305	xorl	%eax,%ecx
2306	movl	%eax,8(%esp)
2307	xorl	%edi,%eax
2308	rorl	$11,%ecx
2309	andl	%eax,%ebp
2310	leal	4094571909(%ebx,%edx,1),%edx
2311	xorl	%esi,%ecx
2312	xorl	%edi,%ebp
2313	movl	32(%esp),%esi
2314	rorl	$2,%ecx
2315	addl	%edx,%ebp
2316	addl	20(%esp),%edx
2317	addl	%ecx,%ebp
2318	movl	84(%esp),%ecx
2319	movl	%esi,%ebx
2320	rorl	$11,%esi
2321	movl	%ecx,%edi
2322	rorl	$2,%ecx
2323	xorl	%ebx,%esi
2324	shrl	$3,%ebx
2325	rorl	$7,%esi
2326	xorl	%edi,%ecx
2327	xorl	%esi,%ebx
2328	rorl	$17,%ecx
2329	addl	92(%esp),%ebx
2330	shrl	$10,%edi
2331	addl	64(%esp),%ebx
2332	movl	%edx,%esi
2333	xorl	%ecx,%edi
2334	movl	24(%esp),%ecx
2335	rorl	$14,%edx
2336	addl	%edi,%ebx
2337	movl	28(%esp),%edi
2338	xorl	%esi,%edx
2339	movl	%ebx,92(%esp)
2340	xorl	%edi,%ecx
2341	rorl	$5,%edx
2342	andl	%esi,%ecx
2343	movl	%esi,20(%esp)
2344	xorl	%esi,%edx
2345	addl	(%esp),%ebx
2346	xorl	%ecx,%edi
2347	rorl	$6,%edx
2348	movl	%ebp,%esi
2349	addl	%edi,%ebx
2350	rorl	$9,%esi
2351	movl	%ebp,%ecx
2352	movl	8(%esp),%edi
2353	xorl	%ebp,%esi
2354	movl	%ebp,4(%esp)
2355	xorl	%edi,%ebp
2356	rorl	$11,%esi
2357	andl	%ebp,%eax
2358	leal	275423344(%ebx,%edx,1),%edx
2359	xorl	%ecx,%esi
2360	xorl	%edi,%eax
2361	movl	36(%esp),%ecx
2362	rorl	$2,%esi
2363	addl	%edx,%eax
2364	addl	16(%esp),%edx
2365	addl	%esi,%eax
2366	movl	88(%esp),%esi
2367	movl	%ecx,%ebx
2368	rorl	$11,%ecx
2369	movl	%esi,%edi
2370	rorl	$2,%esi
2371	xorl	%ebx,%ecx
2372	shrl	$3,%ebx
2373	rorl	$7,%ecx
2374	xorl	%edi,%esi
2375	xorl	%ecx,%ebx
2376	rorl	$17,%esi
2377	addl	32(%esp),%ebx
2378	shrl	$10,%edi
2379	addl	68(%esp),%ebx
2380	movl	%edx,%ecx
2381	xorl	%esi,%edi
2382	movl	20(%esp),%esi
2383	rorl	$14,%edx
2384	addl	%edi,%ebx
2385	movl	24(%esp),%edi
2386	xorl	%ecx,%edx
2387	movl	%ebx,32(%esp)
2388	xorl	%edi,%esi
2389	rorl	$5,%edx
2390	andl	%ecx,%esi
2391	movl	%ecx,16(%esp)
2392	xorl	%ecx,%edx
2393	addl	28(%esp),%ebx
2394	xorl	%esi,%edi
2395	rorl	$6,%edx
2396	movl	%eax,%ecx
2397	addl	%edi,%ebx
2398	rorl	$9,%ecx
2399	movl	%eax,%esi
2400	movl	4(%esp),%edi
2401	xorl	%eax,%ecx
2402	movl	%eax,(%esp)
2403	xorl	%edi,%eax
2404	rorl	$11,%ecx
2405	andl	%eax,%ebp
2406	leal	430227734(%ebx,%edx,1),%edx
2407	xorl	%esi,%ecx
2408	xorl	%edi,%ebp
2409	movl	40(%esp),%esi
2410	rorl	$2,%ecx
2411	addl	%edx,%ebp
2412	addl	12(%esp),%edx
2413	addl	%ecx,%ebp
2414	movl	92(%esp),%ecx
2415	movl	%esi,%ebx
2416	rorl	$11,%esi
2417	movl	%ecx,%edi
2418	rorl	$2,%ecx
2419	xorl	%ebx,%esi
2420	shrl	$3,%ebx
2421	rorl	$7,%esi
2422	xorl	%edi,%ecx
2423	xorl	%esi,%ebx
2424	rorl	$17,%ecx
2425	addl	36(%esp),%ebx
2426	shrl	$10,%edi
2427	addl	72(%esp),%ebx
2428	movl	%edx,%esi
2429	xorl	%ecx,%edi
2430	movl	16(%esp),%ecx
2431	rorl	$14,%edx
2432	addl	%edi,%ebx
2433	movl	20(%esp),%edi
2434	xorl	%esi,%edx
2435	movl	%ebx,36(%esp)
2436	xorl	%edi,%ecx
2437	rorl	$5,%edx
2438	andl	%esi,%ecx
2439	movl	%esi,12(%esp)
2440	xorl	%esi,%edx
2441	addl	24(%esp),%ebx
2442	xorl	%ecx,%edi
2443	rorl	$6,%edx
2444	movl	%ebp,%esi
2445	addl	%edi,%ebx
2446	rorl	$9,%esi
2447	movl	%ebp,%ecx
2448	movl	(%esp),%edi
2449	xorl	%ebp,%esi
2450	movl	%ebp,28(%esp)
2451	xorl	%edi,%ebp
2452	rorl	$11,%esi
2453	andl	%ebp,%eax
2454	leal	506948616(%ebx,%edx,1),%edx
2455	xorl	%ecx,%esi
2456	xorl	%edi,%eax
2457	movl	44(%esp),%ecx
2458	rorl	$2,%esi
2459	addl	%edx,%eax
2460	addl	8(%esp),%edx
2461	addl	%esi,%eax
2462	movl	32(%esp),%esi
2463	movl	%ecx,%ebx
2464	rorl	$11,%ecx
2465	movl	%esi,%edi
2466	rorl	$2,%esi
2467	xorl	%ebx,%ecx
2468	shrl	$3,%ebx
2469	rorl	$7,%ecx
2470	xorl	%edi,%esi
2471	xorl	%ecx,%ebx
2472	rorl	$17,%esi
2473	addl	40(%esp),%ebx
2474	shrl	$10,%edi
2475	addl	76(%esp),%ebx
2476	movl	%edx,%ecx
2477	xorl	%esi,%edi
2478	movl	12(%esp),%esi
2479	rorl	$14,%edx
2480	addl	%edi,%ebx
2481	movl	16(%esp),%edi
2482	xorl	%ecx,%edx
2483	movl	%ebx,40(%esp)
2484	xorl	%edi,%esi
2485	rorl	$5,%edx
2486	andl	%ecx,%esi
2487	movl	%ecx,8(%esp)
2488	xorl	%ecx,%edx
2489	addl	20(%esp),%ebx
2490	xorl	%esi,%edi
2491	rorl	$6,%edx
2492	movl	%eax,%ecx
2493	addl	%edi,%ebx
2494	rorl	$9,%ecx
2495	movl	%eax,%esi
2496	movl	28(%esp),%edi
2497	xorl	%eax,%ecx
2498	movl	%eax,24(%esp)
2499	xorl	%edi,%eax
2500	rorl	$11,%ecx
2501	andl	%eax,%ebp
2502	leal	659060556(%ebx,%edx,1),%edx
2503	xorl	%esi,%ecx
2504	xorl	%edi,%ebp
2505	movl	48(%esp),%esi
2506	rorl	$2,%ecx
2507	addl	%edx,%ebp
2508	addl	4(%esp),%edx
2509	addl	%ecx,%ebp
2510	movl	36(%esp),%ecx
2511	movl	%esi,%ebx
2512	rorl	$11,%esi
2513	movl	%ecx,%edi
2514	rorl	$2,%ecx
2515	xorl	%ebx,%esi
2516	shrl	$3,%ebx
2517	rorl	$7,%esi
2518	xorl	%edi,%ecx
2519	xorl	%esi,%ebx
2520	rorl	$17,%ecx
2521	addl	44(%esp),%ebx
2522	shrl	$10,%edi
2523	addl	80(%esp),%ebx
2524	movl	%edx,%esi
2525	xorl	%ecx,%edi
2526	movl	8(%esp),%ecx
2527	rorl	$14,%edx
2528	addl	%edi,%ebx
2529	movl	12(%esp),%edi
2530	xorl	%esi,%edx
2531	movl	%ebx,44(%esp)
2532	xorl	%edi,%ecx
2533	rorl	$5,%edx
2534	andl	%esi,%ecx
2535	movl	%esi,4(%esp)
2536	xorl	%esi,%edx
2537	addl	16(%esp),%ebx
2538	xorl	%ecx,%edi
2539	rorl	$6,%edx
2540	movl	%ebp,%esi
2541	addl	%edi,%ebx
2542	rorl	$9,%esi
2543	movl	%ebp,%ecx
2544	movl	24(%esp),%edi
2545	xorl	%ebp,%esi
2546	movl	%ebp,20(%esp)
2547	xorl	%edi,%ebp
2548	rorl	$11,%esi
2549	andl	%ebp,%eax
2550	leal	883997877(%ebx,%edx,1),%edx
2551	xorl	%ecx,%esi
2552	xorl	%edi,%eax
2553	movl	52(%esp),%ecx
2554	rorl	$2,%esi
2555	addl	%edx,%eax
2556	addl	(%esp),%edx
2557	addl	%esi,%eax
2558	movl	40(%esp),%esi
2559	movl	%ecx,%ebx
2560	rorl	$11,%ecx
2561	movl	%esi,%edi
2562	rorl	$2,%esi
2563	xorl	%ebx,%ecx
2564	shrl	$3,%ebx
2565	rorl	$7,%ecx
2566	xorl	%edi,%esi
2567	xorl	%ecx,%ebx
2568	rorl	$17,%esi
2569	addl	48(%esp),%ebx
2570	shrl	$10,%edi
2571	addl	84(%esp),%ebx
2572	movl	%edx,%ecx
2573	xorl	%esi,%edi
2574	movl	4(%esp),%esi
2575	rorl	$14,%edx
2576	addl	%edi,%ebx
2577	movl	8(%esp),%edi
2578	xorl	%ecx,%edx
2579	movl	%ebx,48(%esp)
2580	xorl	%edi,%esi
2581	rorl	$5,%edx
2582	andl	%ecx,%esi
2583	movl	%ecx,(%esp)
2584	xorl	%ecx,%edx
2585	addl	12(%esp),%ebx
2586	xorl	%esi,%edi
2587	rorl	$6,%edx
2588	movl	%eax,%ecx
2589	addl	%edi,%ebx
2590	rorl	$9,%ecx
2591	movl	%eax,%esi
2592	movl	20(%esp),%edi
2593	xorl	%eax,%ecx
2594	movl	%eax,16(%esp)
2595	xorl	%edi,%eax
2596	rorl	$11,%ecx
2597	andl	%eax,%ebp
2598	leal	958139571(%ebx,%edx,1),%edx
2599	xorl	%esi,%ecx
2600	xorl	%edi,%ebp
2601	movl	56(%esp),%esi
2602	rorl	$2,%ecx
2603	addl	%edx,%ebp
2604	addl	28(%esp),%edx
2605	addl	%ecx,%ebp
2606	movl	44(%esp),%ecx
2607	movl	%esi,%ebx
2608	rorl	$11,%esi
2609	movl	%ecx,%edi
2610	rorl	$2,%ecx
2611	xorl	%ebx,%esi
2612	shrl	$3,%ebx
2613	rorl	$7,%esi
2614	xorl	%edi,%ecx
2615	xorl	%esi,%ebx
2616	rorl	$17,%ecx
2617	addl	52(%esp),%ebx
2618	shrl	$10,%edi
2619	addl	88(%esp),%ebx
2620	movl	%edx,%esi
2621	xorl	%ecx,%edi
2622	movl	(%esp),%ecx
2623	rorl	$14,%edx
2624	addl	%edi,%ebx
2625	movl	4(%esp),%edi
2626	xorl	%esi,%edx
2627	movl	%ebx,52(%esp)
2628	xorl	%edi,%ecx
2629	rorl	$5,%edx
2630	andl	%esi,%ecx
2631	movl	%esi,28(%esp)
2632	xorl	%esi,%edx
2633	addl	8(%esp),%ebx
2634	xorl	%ecx,%edi
2635	rorl	$6,%edx
2636	movl	%ebp,%esi
2637	addl	%edi,%ebx
2638	rorl	$9,%esi
2639	movl	%ebp,%ecx
2640	movl	16(%esp),%edi
2641	xorl	%ebp,%esi
2642	movl	%ebp,12(%esp)
2643	xorl	%edi,%ebp
2644	rorl	$11,%esi
2645	andl	%ebp,%eax
2646	leal	1322822218(%ebx,%edx,1),%edx
2647	xorl	%ecx,%esi
2648	xorl	%edi,%eax
2649	movl	60(%esp),%ecx
2650	rorl	$2,%esi
2651	addl	%edx,%eax
2652	addl	24(%esp),%edx
2653	addl	%esi,%eax
2654	movl	48(%esp),%esi
2655	movl	%ecx,%ebx
2656	rorl	$11,%ecx
2657	movl	%esi,%edi
2658	rorl	$2,%esi
2659	xorl	%ebx,%ecx
2660	shrl	$3,%ebx
2661	rorl	$7,%ecx
2662	xorl	%edi,%esi
2663	xorl	%ecx,%ebx
2664	rorl	$17,%esi
2665	addl	56(%esp),%ebx
2666	shrl	$10,%edi
2667	addl	92(%esp),%ebx
2668	movl	%edx,%ecx
2669	xorl	%esi,%edi
2670	movl	28(%esp),%esi
2671	rorl	$14,%edx
2672	addl	%edi,%ebx
2673	movl	(%esp),%edi
2674	xorl	%ecx,%edx
2675	movl	%ebx,56(%esp)
2676	xorl	%edi,%esi
2677	rorl	$5,%edx
2678	andl	%ecx,%esi
2679	movl	%ecx,24(%esp)
2680	xorl	%ecx,%edx
2681	addl	4(%esp),%ebx
2682	xorl	%esi,%edi
2683	rorl	$6,%edx
2684	movl	%eax,%ecx
2685	addl	%edi,%ebx
2686	rorl	$9,%ecx
2687	movl	%eax,%esi
2688	movl	12(%esp),%edi
2689	xorl	%eax,%ecx
2690	movl	%eax,8(%esp)
2691	xorl	%edi,%eax
2692	rorl	$11,%ecx
2693	andl	%eax,%ebp
2694	leal	1537002063(%ebx,%edx,1),%edx
2695	xorl	%esi,%ecx
2696	xorl	%edi,%ebp
2697	movl	64(%esp),%esi
2698	rorl	$2,%ecx
2699	addl	%edx,%ebp
2700	addl	20(%esp),%edx
2701	addl	%ecx,%ebp
2702	movl	52(%esp),%ecx
2703	movl	%esi,%ebx
2704	rorl	$11,%esi
2705	movl	%ecx,%edi
2706	rorl	$2,%ecx
2707	xorl	%ebx,%esi
2708	shrl	$3,%ebx
2709	rorl	$7,%esi
2710	xorl	%edi,%ecx
2711	xorl	%esi,%ebx
2712	rorl	$17,%ecx
2713	addl	60(%esp),%ebx
2714	shrl	$10,%edi
2715	addl	32(%esp),%ebx
2716	movl	%edx,%esi
2717	xorl	%ecx,%edi
2718	movl	24(%esp),%ecx
2719	rorl	$14,%edx
2720	addl	%edi,%ebx
2721	movl	28(%esp),%edi
2722	xorl	%esi,%edx
2723	movl	%ebx,60(%esp)
2724	xorl	%edi,%ecx
2725	rorl	$5,%edx
2726	andl	%esi,%ecx
2727	movl	%esi,20(%esp)
2728	xorl	%esi,%edx
2729	addl	(%esp),%ebx
2730	xorl	%ecx,%edi
2731	rorl	$6,%edx
2732	movl	%ebp,%esi
2733	addl	%edi,%ebx
2734	rorl	$9,%esi
2735	movl	%ebp,%ecx
2736	movl	8(%esp),%edi
2737	xorl	%ebp,%esi
2738	movl	%ebp,4(%esp)
2739	xorl	%edi,%ebp
2740	rorl	$11,%esi
2741	andl	%ebp,%eax
2742	leal	1747873779(%ebx,%edx,1),%edx
2743	xorl	%ecx,%esi
2744	xorl	%edi,%eax
2745	movl	68(%esp),%ecx
2746	rorl	$2,%esi
2747	addl	%edx,%eax
2748	addl	16(%esp),%edx
2749	addl	%esi,%eax
2750	movl	56(%esp),%esi
2751	movl	%ecx,%ebx
2752	rorl	$11,%ecx
2753	movl	%esi,%edi
2754	rorl	$2,%esi
2755	xorl	%ebx,%ecx
2756	shrl	$3,%ebx
2757	rorl	$7,%ecx
2758	xorl	%edi,%esi
2759	xorl	%ecx,%ebx
2760	rorl	$17,%esi
2761	addl	64(%esp),%ebx
2762	shrl	$10,%edi
2763	addl	36(%esp),%ebx
2764	movl	%edx,%ecx
2765	xorl	%esi,%edi
2766	movl	20(%esp),%esi
2767	rorl	$14,%edx
2768	addl	%edi,%ebx
2769	movl	24(%esp),%edi
2770	xorl	%ecx,%edx
2771	movl	%ebx,64(%esp)
2772	xorl	%edi,%esi
2773	rorl	$5,%edx
2774	andl	%ecx,%esi
2775	movl	%ecx,16(%esp)
2776	xorl	%ecx,%edx
2777	addl	28(%esp),%ebx
2778	xorl	%esi,%edi
2779	rorl	$6,%edx
2780	movl	%eax,%ecx
2781	addl	%edi,%ebx
2782	rorl	$9,%ecx
2783	movl	%eax,%esi
2784	movl	4(%esp),%edi
2785	xorl	%eax,%ecx
2786	movl	%eax,(%esp)
2787	xorl	%edi,%eax
2788	rorl	$11,%ecx
2789	andl	%eax,%ebp
2790	leal	1955562222(%ebx,%edx,1),%edx
2791	xorl	%esi,%ecx
2792	xorl	%edi,%ebp
2793	movl	72(%esp),%esi
2794	rorl	$2,%ecx
2795	addl	%edx,%ebp
2796	addl	12(%esp),%edx
2797	addl	%ecx,%ebp
2798	movl	60(%esp),%ecx
2799	movl	%esi,%ebx
2800	rorl	$11,%esi
2801	movl	%ecx,%edi
2802	rorl	$2,%ecx
2803	xorl	%ebx,%esi
2804	shrl	$3,%ebx
2805	rorl	$7,%esi
2806	xorl	%edi,%ecx
2807	xorl	%esi,%ebx
2808	rorl	$17,%ecx
2809	addl	68(%esp),%ebx
2810	shrl	$10,%edi
2811	addl	40(%esp),%ebx
2812	movl	%edx,%esi
2813	xorl	%ecx,%edi
2814	movl	16(%esp),%ecx
2815	rorl	$14,%edx
2816	addl	%edi,%ebx
2817	movl	20(%esp),%edi
2818	xorl	%esi,%edx
2819	movl	%ebx,68(%esp)
2820	xorl	%edi,%ecx
2821	rorl	$5,%edx
2822	andl	%esi,%ecx
2823	movl	%esi,12(%esp)
2824	xorl	%esi,%edx
2825	addl	24(%esp),%ebx
2826	xorl	%ecx,%edi
2827	rorl	$6,%edx
2828	movl	%ebp,%esi
2829	addl	%edi,%ebx
2830	rorl	$9,%esi
2831	movl	%ebp,%ecx
2832	movl	(%esp),%edi
2833	xorl	%ebp,%esi
2834	movl	%ebp,28(%esp)
2835	xorl	%edi,%ebp
2836	rorl	$11,%esi
2837	andl	%ebp,%eax
2838	leal	2024104815(%ebx,%edx,1),%edx
2839	xorl	%ecx,%esi
2840	xorl	%edi,%eax
2841	movl	76(%esp),%ecx
2842	rorl	$2,%esi
2843	addl	%edx,%eax
2844	addl	8(%esp),%edx
2845	addl	%esi,%eax
2846	movl	64(%esp),%esi
2847	movl	%ecx,%ebx
2848	rorl	$11,%ecx
2849	movl	%esi,%edi
2850	rorl	$2,%esi
2851	xorl	%ebx,%ecx
2852	shrl	$3,%ebx
2853	rorl	$7,%ecx
2854	xorl	%edi,%esi
2855	xorl	%ecx,%ebx
2856	rorl	$17,%esi
2857	addl	72(%esp),%ebx
2858	shrl	$10,%edi
2859	addl	44(%esp),%ebx
2860	movl	%edx,%ecx
2861	xorl	%esi,%edi
2862	movl	12(%esp),%esi
2863	rorl	$14,%edx
2864	addl	%edi,%ebx
2865	movl	16(%esp),%edi
2866	xorl	%ecx,%edx
2867	movl	%ebx,72(%esp)
2868	xorl	%edi,%esi
2869	rorl	$5,%edx
2870	andl	%ecx,%esi
2871	movl	%ecx,8(%esp)
2872	xorl	%ecx,%edx
2873	addl	20(%esp),%ebx
2874	xorl	%esi,%edi
2875	rorl	$6,%edx
2876	movl	%eax,%ecx
2877	addl	%edi,%ebx
2878	rorl	$9,%ecx
2879	movl	%eax,%esi
2880	movl	28(%esp),%edi
2881	xorl	%eax,%ecx
2882	movl	%eax,24(%esp)
2883	xorl	%edi,%eax
2884	rorl	$11,%ecx
2885	andl	%eax,%ebp
2886	leal	2227730452(%ebx,%edx,1),%edx
2887	xorl	%esi,%ecx
2888	xorl	%edi,%ebp
2889	movl	80(%esp),%esi
2890	rorl	$2,%ecx
2891	addl	%edx,%ebp
2892	addl	4(%esp),%edx
2893	addl	%ecx,%ebp
2894	movl	68(%esp),%ecx
2895	movl	%esi,%ebx
2896	rorl	$11,%esi
2897	movl	%ecx,%edi
2898	rorl	$2,%ecx
2899	xorl	%ebx,%esi
2900	shrl	$3,%ebx
2901	rorl	$7,%esi
2902	xorl	%edi,%ecx
2903	xorl	%esi,%ebx
2904	rorl	$17,%ecx
2905	addl	76(%esp),%ebx
2906	shrl	$10,%edi
2907	addl	48(%esp),%ebx
2908	movl	%edx,%esi
2909	xorl	%ecx,%edi
2910	movl	8(%esp),%ecx
2911	rorl	$14,%edx
2912	addl	%edi,%ebx
2913	movl	12(%esp),%edi
2914	xorl	%esi,%edx
2915	movl	%ebx,76(%esp)
2916	xorl	%edi,%ecx
2917	rorl	$5,%edx
2918	andl	%esi,%ecx
2919	movl	%esi,4(%esp)
2920	xorl	%esi,%edx
2921	addl	16(%esp),%ebx
2922	xorl	%ecx,%edi
2923	rorl	$6,%edx
2924	movl	%ebp,%esi
2925	addl	%edi,%ebx
2926	rorl	$9,%esi
2927	movl	%ebp,%ecx
2928	movl	24(%esp),%edi
2929	xorl	%ebp,%esi
2930	movl	%ebp,20(%esp)
2931	xorl	%edi,%ebp
2932	rorl	$11,%esi
2933	andl	%ebp,%eax
2934	leal	2361852424(%ebx,%edx,1),%edx
2935	xorl	%ecx,%esi
2936	xorl	%edi,%eax
2937	movl	84(%esp),%ecx
2938	rorl	$2,%esi
2939	addl	%edx,%eax
2940	addl	(%esp),%edx
2941	addl	%esi,%eax
2942	movl	72(%esp),%esi
2943	movl	%ecx,%ebx
2944	rorl	$11,%ecx
2945	movl	%esi,%edi
2946	rorl	$2,%esi
2947	xorl	%ebx,%ecx
2948	shrl	$3,%ebx
2949	rorl	$7,%ecx
2950	xorl	%edi,%esi
2951	xorl	%ecx,%ebx
2952	rorl	$17,%esi
2953	addl	80(%esp),%ebx
2954	shrl	$10,%edi
2955	addl	52(%esp),%ebx
2956	movl	%edx,%ecx
2957	xorl	%esi,%edi
2958	movl	4(%esp),%esi
2959	rorl	$14,%edx
2960	addl	%edi,%ebx
2961	movl	8(%esp),%edi
2962	xorl	%ecx,%edx
2963	movl	%ebx,80(%esp)
2964	xorl	%edi,%esi
2965	rorl	$5,%edx
2966	andl	%ecx,%esi
2967	movl	%ecx,(%esp)
2968	xorl	%ecx,%edx
2969	addl	12(%esp),%ebx
2970	xorl	%esi,%edi
2971	rorl	$6,%edx
2972	movl	%eax,%ecx
2973	addl	%edi,%ebx
2974	rorl	$9,%ecx
2975	movl	%eax,%esi
2976	movl	20(%esp),%edi
2977	xorl	%eax,%ecx
2978	movl	%eax,16(%esp)
2979	xorl	%edi,%eax
2980	rorl	$11,%ecx
2981	andl	%eax,%ebp
2982	leal	2428436474(%ebx,%edx,1),%edx
2983	xorl	%esi,%ecx
2984	xorl	%edi,%ebp
2985	movl	88(%esp),%esi
2986	rorl	$2,%ecx
2987	addl	%edx,%ebp
2988	addl	28(%esp),%edx
2989	addl	%ecx,%ebp
2990	movl	76(%esp),%ecx
2991	movl	%esi,%ebx
2992	rorl	$11,%esi
2993	movl	%ecx,%edi
2994	rorl	$2,%ecx
2995	xorl	%ebx,%esi
2996	shrl	$3,%ebx
2997	rorl	$7,%esi
2998	xorl	%edi,%ecx
2999	xorl	%esi,%ebx
3000	rorl	$17,%ecx
3001	addl	84(%esp),%ebx
3002	shrl	$10,%edi
3003	addl	56(%esp),%ebx
3004	movl	%edx,%esi
3005	xorl	%ecx,%edi
3006	movl	(%esp),%ecx
3007	rorl	$14,%edx
3008	addl	%edi,%ebx
3009	movl	4(%esp),%edi
3010	xorl	%esi,%edx
3011	movl	%ebx,84(%esp)
3012	xorl	%edi,%ecx
3013	rorl	$5,%edx
3014	andl	%esi,%ecx
3015	movl	%esi,28(%esp)
3016	xorl	%esi,%edx
3017	addl	8(%esp),%ebx
3018	xorl	%ecx,%edi
3019	rorl	$6,%edx
3020	movl	%ebp,%esi
3021	addl	%edi,%ebx
3022	rorl	$9,%esi
3023	movl	%ebp,%ecx
3024	movl	16(%esp),%edi
3025	xorl	%ebp,%esi
3026	movl	%ebp,12(%esp)
3027	xorl	%edi,%ebp
3028	rorl	$11,%esi
3029	andl	%ebp,%eax
3030	leal	2756734187(%ebx,%edx,1),%edx
3031	xorl	%ecx,%esi
3032	xorl	%edi,%eax
3033	movl	92(%esp),%ecx
3034	rorl	$2,%esi
3035	addl	%edx,%eax
3036	addl	24(%esp),%edx
3037	addl	%esi,%eax
3038	movl	80(%esp),%esi
3039	movl	%ecx,%ebx
3040	rorl	$11,%ecx
3041	movl	%esi,%edi
3042	rorl	$2,%esi
3043	xorl	%ebx,%ecx
3044	shrl	$3,%ebx
3045	rorl	$7,%ecx
3046	xorl	%edi,%esi
3047	xorl	%ecx,%ebx
3048	rorl	$17,%esi
3049	addl	88(%esp),%ebx
3050	shrl	$10,%edi
3051	addl	60(%esp),%ebx
3052	movl	%edx,%ecx
3053	xorl	%esi,%edi
3054	movl	28(%esp),%esi
3055	rorl	$14,%edx
3056	addl	%edi,%ebx
3057	movl	(%esp),%edi
3058	xorl	%ecx,%edx
3059	xorl	%edi,%esi
3060	rorl	$5,%edx
3061	andl	%ecx,%esi
3062	movl	%ecx,24(%esp)
3063	xorl	%ecx,%edx
3064	addl	4(%esp),%ebx
3065	xorl	%esi,%edi
3066	rorl	$6,%edx
3067	movl	%eax,%ecx
3068	addl	%edi,%ebx
3069	rorl	$9,%ecx
3070	movl	%eax,%esi
3071	movl	12(%esp),%edi
3072	xorl	%eax,%ecx
3073	movl	%eax,8(%esp)
3074	xorl	%edi,%eax
3075	rorl	$11,%ecx
3076	andl	%eax,%ebp
3077	leal	3204031479(%ebx,%edx,1),%edx
3078	xorl	%esi,%ecx
3079	xorl	%edi,%ebp
3080	movl	32(%esp),%esi
3081	rorl	$2,%ecx
3082	addl	%edx,%ebp
3083	addl	20(%esp),%edx
3084	addl	%ecx,%ebp
3085	movl	84(%esp),%ecx
3086	movl	%esi,%ebx
3087	rorl	$11,%esi
3088	movl	%ecx,%edi
3089	rorl	$2,%ecx
3090	xorl	%ebx,%esi
3091	shrl	$3,%ebx
3092	rorl	$7,%esi
3093	xorl	%edi,%ecx
3094	xorl	%esi,%ebx
3095	rorl	$17,%ecx
3096	addl	92(%esp),%ebx
3097	shrl	$10,%edi
3098	addl	64(%esp),%ebx
3099	movl	%edx,%esi
3100	xorl	%ecx,%edi
3101	movl	24(%esp),%ecx
3102	rorl	$14,%edx
3103	addl	%edi,%ebx
3104	movl	28(%esp),%edi
3105	xorl	%esi,%edx
3106	xorl	%edi,%ecx
3107	rorl	$5,%edx
3108	andl	%esi,%ecx
3109	movl	%esi,20(%esp)
3110	xorl	%esi,%edx
3111	addl	(%esp),%ebx
3112	xorl	%ecx,%edi
3113	rorl	$6,%edx
3114	movl	%ebp,%esi
3115	addl	%edi,%ebx
3116	rorl	$9,%esi
3117	movl	%ebp,%ecx
3118	movl	8(%esp),%edi
3119	xorl	%ebp,%esi
3120	movl	%ebp,4(%esp)
3121	xorl	%edi,%ebp
3122	rorl	$11,%esi
3123	andl	%ebp,%eax
3124	leal	3329325298(%ebx,%edx,1),%edx
3125	xorl	%ecx,%esi
3126	xorl	%edi,%eax
3127	rorl	$2,%esi
3128	addl	%edx,%eax
3129	addl	16(%esp),%edx
3130	addl	%esi,%eax
3131	movl	96(%esp),%esi
3132	xorl	%edi,%ebp
3133	movl	12(%esp),%ecx
3134	addl	(%esi),%eax
3135	addl	4(%esi),%ebp
3136	addl	8(%esi),%edi
3137	addl	12(%esi),%ecx
3138	movl	%eax,(%esi)
3139	movl	%ebp,4(%esi)
3140	movl	%edi,8(%esi)
3141	movl	%ecx,12(%esi)
3142	movl	%ebp,4(%esp)
3143	xorl	%edi,%ebp
3144	movl	%edi,8(%esp)
3145	movl	%ecx,12(%esp)
3146	movl	20(%esp),%edi
3147	movl	24(%esp),%ebx
3148	movl	28(%esp),%ecx
3149	addl	16(%esi),%edx
3150	addl	20(%esi),%edi
3151	addl	24(%esi),%ebx
3152	addl	28(%esi),%ecx
3153	movl	%edx,16(%esi)
3154	movl	%edi,20(%esi)
3155	movl	%ebx,24(%esi)
3156	movl	%ecx,28(%esi)
3157	movl	%edi,20(%esp)
3158	movl	100(%esp),%edi
3159	movl	%ebx,24(%esp)
3160	movl	%ecx,28(%esp)
3161	cmpl	104(%esp),%edi
3162	jb	.L010grand_loop
3163	movl	108(%esp),%esp
3164	popl	%edi
3165	popl	%esi
3166	popl	%ebx
3167	popl	%ebp
3168	ret
3169.align	32
3170.L004shaext:
3171	subl	$32,%esp
3172	movdqu	(%esi),%xmm1
3173	leal	128(%ebp),%ebp
3174	movdqu	16(%esi),%xmm2
3175	movdqa	128(%ebp),%xmm7
3176	pshufd	$27,%xmm1,%xmm0
3177	pshufd	$177,%xmm1,%xmm1
3178	pshufd	$27,%xmm2,%xmm2
3179.byte	102,15,58,15,202,8
3180	punpcklqdq	%xmm0,%xmm2
3181	jmp	.L011loop_shaext
3182.align	16
3183.L011loop_shaext:
3184	movdqu	(%edi),%xmm3
3185	movdqu	16(%edi),%xmm4
3186	movdqu	32(%edi),%xmm5
3187.byte	102,15,56,0,223
3188	movdqu	48(%edi),%xmm6
3189	movdqa	%xmm2,16(%esp)
3190	movdqa	-128(%ebp),%xmm0
3191	paddd	%xmm3,%xmm0
3192.byte	102,15,56,0,231
3193.byte	15,56,203,209
3194	pshufd	$14,%xmm0,%xmm0
3195	nop
3196	movdqa	%xmm1,(%esp)
3197.byte	15,56,203,202
3198	movdqa	-112(%ebp),%xmm0
3199	paddd	%xmm4,%xmm0
3200.byte	102,15,56,0,239
3201.byte	15,56,203,209
3202	pshufd	$14,%xmm0,%xmm0
3203	leal	64(%edi),%edi
3204.byte	15,56,204,220
3205.byte	15,56,203,202
3206	movdqa	-96(%ebp),%xmm0
3207	paddd	%xmm5,%xmm0
3208.byte	102,15,56,0,247
3209.byte	15,56,203,209
3210	pshufd	$14,%xmm0,%xmm0
3211	movdqa	%xmm6,%xmm7
3212.byte	102,15,58,15,253,4
3213	nop
3214	paddd	%xmm7,%xmm3
3215.byte	15,56,204,229
3216.byte	15,56,203,202
3217	movdqa	-80(%ebp),%xmm0
3218	paddd	%xmm6,%xmm0
3219.byte	15,56,205,222
3220.byte	15,56,203,209
3221	pshufd	$14,%xmm0,%xmm0
3222	movdqa	%xmm3,%xmm7
3223.byte	102,15,58,15,254,4
3224	nop
3225	paddd	%xmm7,%xmm4
3226.byte	15,56,204,238
3227.byte	15,56,203,202
3228	movdqa	-64(%ebp),%xmm0
3229	paddd	%xmm3,%xmm0
3230.byte	15,56,205,227
3231.byte	15,56,203,209
3232	pshufd	$14,%xmm0,%xmm0
3233	movdqa	%xmm4,%xmm7
3234.byte	102,15,58,15,251,4
3235	nop
3236	paddd	%xmm7,%xmm5
3237.byte	15,56,204,243
3238.byte	15,56,203,202
3239	movdqa	-48(%ebp),%xmm0
3240	paddd	%xmm4,%xmm0
3241.byte	15,56,205,236
3242.byte	15,56,203,209
3243	pshufd	$14,%xmm0,%xmm0
3244	movdqa	%xmm5,%xmm7
3245.byte	102,15,58,15,252,4
3246	nop
3247	paddd	%xmm7,%xmm6
3248.byte	15,56,204,220
3249.byte	15,56,203,202
3250	movdqa	-32(%ebp),%xmm0
3251	paddd	%xmm5,%xmm0
3252.byte	15,56,205,245
3253.byte	15,56,203,209
3254	pshufd	$14,%xmm0,%xmm0
3255	movdqa	%xmm6,%xmm7
3256.byte	102,15,58,15,253,4
3257	nop
3258	paddd	%xmm7,%xmm3
3259.byte	15,56,204,229
3260.byte	15,56,203,202
3261	movdqa	-16(%ebp),%xmm0
3262	paddd	%xmm6,%xmm0
3263.byte	15,56,205,222
3264.byte	15,56,203,209
3265	pshufd	$14,%xmm0,%xmm0
3266	movdqa	%xmm3,%xmm7
3267.byte	102,15,58,15,254,4
3268	nop
3269	paddd	%xmm7,%xmm4
3270.byte	15,56,204,238
3271.byte	15,56,203,202
3272	movdqa	(%ebp),%xmm0
3273	paddd	%xmm3,%xmm0
3274.byte	15,56,205,227
3275.byte	15,56,203,209
3276	pshufd	$14,%xmm0,%xmm0
3277	movdqa	%xmm4,%xmm7
3278.byte	102,15,58,15,251,4
3279	nop
3280	paddd	%xmm7,%xmm5
3281.byte	15,56,204,243
3282.byte	15,56,203,202
3283	movdqa	16(%ebp),%xmm0
3284	paddd	%xmm4,%xmm0
3285.byte	15,56,205,236
3286.byte	15,56,203,209
3287	pshufd	$14,%xmm0,%xmm0
3288	movdqa	%xmm5,%xmm7
3289.byte	102,15,58,15,252,4
3290	nop
3291	paddd	%xmm7,%xmm6
3292.byte	15,56,204,220
3293.byte	15,56,203,202
3294	movdqa	32(%ebp),%xmm0
3295	paddd	%xmm5,%xmm0
3296.byte	15,56,205,245
3297.byte	15,56,203,209
3298	pshufd	$14,%xmm0,%xmm0
3299	movdqa	%xmm6,%xmm7
3300.byte	102,15,58,15,253,4
3301	nop
3302	paddd	%xmm7,%xmm3
3303.byte	15,56,204,229
3304.byte	15,56,203,202
3305	movdqa	48(%ebp),%xmm0
3306	paddd	%xmm6,%xmm0
3307.byte	15,56,205,222
3308.byte	15,56,203,209
3309	pshufd	$14,%xmm0,%xmm0
3310	movdqa	%xmm3,%xmm7
3311.byte	102,15,58,15,254,4
3312	nop
3313	paddd	%xmm7,%xmm4
3314.byte	15,56,204,238
3315.byte	15,56,203,202
3316	movdqa	64(%ebp),%xmm0
3317	paddd	%xmm3,%xmm0
3318.byte	15,56,205,227
3319.byte	15,56,203,209
3320	pshufd	$14,%xmm0,%xmm0
3321	movdqa	%xmm4,%xmm7
3322.byte	102,15,58,15,251,4
3323	nop
3324	paddd	%xmm7,%xmm5
3325.byte	15,56,204,243
3326.byte	15,56,203,202
3327	movdqa	80(%ebp),%xmm0
3328	paddd	%xmm4,%xmm0
3329.byte	15,56,205,236
3330.byte	15,56,203,209
3331	pshufd	$14,%xmm0,%xmm0
3332	movdqa	%xmm5,%xmm7
3333.byte	102,15,58,15,252,4
3334.byte	15,56,203,202
3335	paddd	%xmm7,%xmm6
3336	movdqa	96(%ebp),%xmm0
3337	paddd	%xmm5,%xmm0
3338.byte	15,56,203,209
3339	pshufd	$14,%xmm0,%xmm0
3340.byte	15,56,205,245
3341	movdqa	128(%ebp),%xmm7
3342.byte	15,56,203,202
3343	movdqa	112(%ebp),%xmm0
3344	paddd	%xmm6,%xmm0
3345	nop
3346.byte	15,56,203,209
3347	pshufd	$14,%xmm0,%xmm0
3348	cmpl	%edi,%eax
3349	nop
3350.byte	15,56,203,202
3351	paddd	16(%esp),%xmm2
3352	paddd	(%esp),%xmm1
3353	jnz	.L011loop_shaext
3354	pshufd	$177,%xmm2,%xmm2
3355	pshufd	$27,%xmm1,%xmm7
3356	pshufd	$177,%xmm1,%xmm1
3357	punpckhqdq	%xmm2,%xmm1
3358.byte	102,15,58,15,215,8
3359	movl	44(%esp),%esp
3360	movdqu	%xmm1,(%esi)
3361	movdqu	%xmm2,16(%esi)
3362	popl	%edi
3363	popl	%esi
3364	popl	%ebx
3365	popl	%ebp
3366	ret
3367.align	32
3368.L006SSSE3:
3369	leal	-96(%esp),%esp
3370	movl	(%esi),%eax
3371	movl	4(%esi),%ebx
3372	movl	8(%esi),%ecx
3373	movl	12(%esi),%edi
3374	movl	%ebx,4(%esp)
3375	xorl	%ecx,%ebx
3376	movl	%ecx,8(%esp)
3377	movl	%edi,12(%esp)
3378	movl	16(%esi),%edx
3379	movl	20(%esi),%edi
3380	movl	24(%esi),%ecx
3381	movl	28(%esi),%esi
3382	movl	%edi,20(%esp)
3383	movl	100(%esp),%edi
3384	movl	%ecx,24(%esp)
3385	movl	%esi,28(%esp)
3386	movdqa	256(%ebp),%xmm7
3387	jmp	.L012grand_ssse3
3388.align	16
3389.L012grand_ssse3:
3390	movdqu	(%edi),%xmm0
3391	movdqu	16(%edi),%xmm1
3392	movdqu	32(%edi),%xmm2
3393	movdqu	48(%edi),%xmm3
3394	addl	$64,%edi
3395.byte	102,15,56,0,199
3396	movl	%edi,100(%esp)
3397.byte	102,15,56,0,207
3398	movdqa	(%ebp),%xmm4
3399.byte	102,15,56,0,215
3400	movdqa	16(%ebp),%xmm5
3401	paddd	%xmm0,%xmm4
3402.byte	102,15,56,0,223
3403	movdqa	32(%ebp),%xmm6
3404	paddd	%xmm1,%xmm5
3405	movdqa	48(%ebp),%xmm7
3406	movdqa	%xmm4,32(%esp)
3407	paddd	%xmm2,%xmm6
3408	movdqa	%xmm5,48(%esp)
3409	paddd	%xmm3,%xmm7
3410	movdqa	%xmm6,64(%esp)
3411	movdqa	%xmm7,80(%esp)
3412	jmp	.L013ssse3_00_47
3413.align	16
3414.L013ssse3_00_47:
3415	addl	$64,%ebp
3416	movl	%edx,%ecx
3417	movdqa	%xmm1,%xmm4
3418	rorl	$14,%edx
3419	movl	20(%esp),%esi
3420	movdqa	%xmm3,%xmm7
3421	xorl	%ecx,%edx
3422	movl	24(%esp),%edi
3423.byte	102,15,58,15,224,4
3424	xorl	%edi,%esi
3425	rorl	$5,%edx
3426	andl	%ecx,%esi
3427.byte	102,15,58,15,250,4
3428	movl	%ecx,16(%esp)
3429	xorl	%ecx,%edx
3430	xorl	%esi,%edi
3431	movdqa	%xmm4,%xmm5
3432	rorl	$6,%edx
3433	movl	%eax,%ecx
3434	movdqa	%xmm4,%xmm6
3435	addl	%edi,%edx
3436	movl	4(%esp),%edi
3437	psrld	$3,%xmm4
3438	movl	%eax,%esi
3439	rorl	$9,%ecx
3440	paddd	%xmm7,%xmm0
3441	movl	%eax,(%esp)
3442	xorl	%eax,%ecx
3443	psrld	$7,%xmm6
3444	xorl	%edi,%eax
3445	addl	28(%esp),%edx
3446	rorl	$11,%ecx
3447	andl	%eax,%ebx
3448	pshufd	$250,%xmm3,%xmm7
3449	xorl	%esi,%ecx
3450	addl	32(%esp),%edx
3451	pslld	$14,%xmm5
3452	xorl	%edi,%ebx
3453	rorl	$2,%ecx
3454	pxor	%xmm6,%xmm4
3455	addl	%edx,%ebx
3456	addl	12(%esp),%edx
3457	psrld	$11,%xmm6
3458	addl	%ecx,%ebx
3459	movl	%edx,%ecx
3460	rorl	$14,%edx
3461	pxor	%xmm5,%xmm4
3462	movl	16(%esp),%esi
3463	xorl	%ecx,%edx
3464	pslld	$11,%xmm5
3465	movl	20(%esp),%edi
3466	xorl	%edi,%esi
3467	rorl	$5,%edx
3468	pxor	%xmm6,%xmm4
3469	andl	%ecx,%esi
3470	movl	%ecx,12(%esp)
3471	movdqa	%xmm7,%xmm6
3472	xorl	%ecx,%edx
3473	xorl	%esi,%edi
3474	rorl	$6,%edx
3475	pxor	%xmm5,%xmm4
3476	movl	%ebx,%ecx
3477	addl	%edi,%edx
3478	psrld	$10,%xmm7
3479	movl	(%esp),%edi
3480	movl	%ebx,%esi
3481	rorl	$9,%ecx
3482	paddd	%xmm4,%xmm0
3483	movl	%ebx,28(%esp)
3484	xorl	%ebx,%ecx
3485	psrlq	$17,%xmm6
3486	xorl	%edi,%ebx
3487	addl	24(%esp),%edx
3488	rorl	$11,%ecx
3489	pxor	%xmm6,%xmm7
3490	andl	%ebx,%eax
3491	xorl	%esi,%ecx
3492	psrlq	$2,%xmm6
3493	addl	36(%esp),%edx
3494	xorl	%edi,%eax
3495	rorl	$2,%ecx
3496	pxor	%xmm6,%xmm7
3497	addl	%edx,%eax
3498	addl	8(%esp),%edx
3499	pshufd	$128,%xmm7,%xmm7
3500	addl	%ecx,%eax
3501	movl	%edx,%ecx
3502	rorl	$14,%edx
3503	movl	12(%esp),%esi
3504	xorl	%ecx,%edx
3505	movl	16(%esp),%edi
3506	xorl	%edi,%esi
3507	rorl	$5,%edx
3508	andl	%ecx,%esi
3509	psrldq	$8,%xmm7
3510	movl	%ecx,8(%esp)
3511	xorl	%ecx,%edx
3512	xorl	%esi,%edi
3513	paddd	%xmm7,%xmm0
3514	rorl	$6,%edx
3515	movl	%eax,%ecx
3516	addl	%edi,%edx
3517	movl	28(%esp),%edi
3518	movl	%eax,%esi
3519	rorl	$9,%ecx
3520	movl	%eax,24(%esp)
3521	pshufd	$80,%xmm0,%xmm7
3522	xorl	%eax,%ecx
3523	xorl	%edi,%eax
3524	addl	20(%esp),%edx
3525	movdqa	%xmm7,%xmm6
3526	rorl	$11,%ecx
3527	psrld	$10,%xmm7
3528	andl	%eax,%ebx
3529	psrlq	$17,%xmm6
3530	xorl	%esi,%ecx
3531	addl	40(%esp),%edx
3532	xorl	%edi,%ebx
3533	rorl	$2,%ecx
3534	pxor	%xmm6,%xmm7
3535	addl	%edx,%ebx
3536	addl	4(%esp),%edx
3537	psrlq	$2,%xmm6
3538	addl	%ecx,%ebx
3539	movl	%edx,%ecx
3540	rorl	$14,%edx
3541	pxor	%xmm6,%xmm7
3542	movl	8(%esp),%esi
3543	xorl	%ecx,%edx
3544	movl	12(%esp),%edi
3545	pshufd	$8,%xmm7,%xmm7
3546	xorl	%edi,%esi
3547	rorl	$5,%edx
3548	movdqa	(%ebp),%xmm6
3549	andl	%ecx,%esi
3550	movl	%ecx,4(%esp)
3551	pslldq	$8,%xmm7
3552	xorl	%ecx,%edx
3553	xorl	%esi,%edi
3554	rorl	$6,%edx
3555	movl	%ebx,%ecx
3556	addl	%edi,%edx
3557	movl	24(%esp),%edi
3558	movl	%ebx,%esi
3559	rorl	$9,%ecx
3560	paddd	%xmm7,%xmm0
3561	movl	%ebx,20(%esp)
3562	xorl	%ebx,%ecx
3563	xorl	%edi,%ebx
3564	addl	16(%esp),%edx
3565	paddd	%xmm0,%xmm6
3566	rorl	$11,%ecx
3567	andl	%ebx,%eax
3568	xorl	%esi,%ecx
3569	addl	44(%esp),%edx
3570	xorl	%edi,%eax
3571	rorl	$2,%ecx
3572	addl	%edx,%eax
3573	addl	(%esp),%edx
3574	addl	%ecx,%eax
3575	movdqa	%xmm6,32(%esp)
3576	movl	%edx,%ecx
3577	movdqa	%xmm2,%xmm4
3578	rorl	$14,%edx
3579	movl	4(%esp),%esi
3580	movdqa	%xmm0,%xmm7
3581	xorl	%ecx,%edx
3582	movl	8(%esp),%edi
3583.byte	102,15,58,15,225,4
3584	xorl	%edi,%esi
3585	rorl	$5,%edx
3586	andl	%ecx,%esi
3587.byte	102,15,58,15,251,4
3588	movl	%ecx,(%esp)
3589	xorl	%ecx,%edx
3590	xorl	%esi,%edi
3591	movdqa	%xmm4,%xmm5
3592	rorl	$6,%edx
3593	movl	%eax,%ecx
3594	movdqa	%xmm4,%xmm6
3595	addl	%edi,%edx
3596	movl	20(%esp),%edi
3597	psrld	$3,%xmm4
3598	movl	%eax,%esi
3599	rorl	$9,%ecx
3600	paddd	%xmm7,%xmm1
3601	movl	%eax,16(%esp)
3602	xorl	%eax,%ecx
3603	psrld	$7,%xmm6
3604	xorl	%edi,%eax
3605	addl	12(%esp),%edx
3606	rorl	$11,%ecx
3607	andl	%eax,%ebx
3608	pshufd	$250,%xmm0,%xmm7
3609	xorl	%esi,%ecx
3610	addl	48(%esp),%edx
3611	pslld	$14,%xmm5
3612	xorl	%edi,%ebx
3613	rorl	$2,%ecx
3614	pxor	%xmm6,%xmm4
3615	addl	%edx,%ebx
3616	addl	28(%esp),%edx
3617	psrld	$11,%xmm6
3618	addl	%ecx,%ebx
3619	movl	%edx,%ecx
3620	rorl	$14,%edx
3621	pxor	%xmm5,%xmm4
3622	movl	(%esp),%esi
3623	xorl	%ecx,%edx
3624	pslld	$11,%xmm5
3625	movl	4(%esp),%edi
3626	xorl	%edi,%esi
3627	rorl	$5,%edx
3628	pxor	%xmm6,%xmm4
3629	andl	%ecx,%esi
3630	movl	%ecx,28(%esp)
3631	movdqa	%xmm7,%xmm6
3632	xorl	%ecx,%edx
3633	xorl	%esi,%edi
3634	rorl	$6,%edx
3635	pxor	%xmm5,%xmm4
3636	movl	%ebx,%ecx
3637	addl	%edi,%edx
3638	psrld	$10,%xmm7
3639	movl	16(%esp),%edi
3640	movl	%ebx,%esi
3641	rorl	$9,%ecx
3642	paddd	%xmm4,%xmm1
3643	movl	%ebx,12(%esp)
3644	xorl	%ebx,%ecx
3645	psrlq	$17,%xmm6
3646	xorl	%edi,%ebx
3647	addl	8(%esp),%edx
3648	rorl	$11,%ecx
3649	pxor	%xmm6,%xmm7
3650	andl	%ebx,%eax
3651	xorl	%esi,%ecx
3652	psrlq	$2,%xmm6
3653	addl	52(%esp),%edx
3654	xorl	%edi,%eax
3655	rorl	$2,%ecx
3656	pxor	%xmm6,%xmm7
3657	addl	%edx,%eax
3658	addl	24(%esp),%edx
3659	pshufd	$128,%xmm7,%xmm7
3660	addl	%ecx,%eax
3661	movl	%edx,%ecx
3662	rorl	$14,%edx
3663	movl	28(%esp),%esi
3664	xorl	%ecx,%edx
3665	movl	(%esp),%edi
3666	xorl	%edi,%esi
3667	rorl	$5,%edx
3668	andl	%ecx,%esi
3669	psrldq	$8,%xmm7
3670	movl	%ecx,24(%esp)
3671	xorl	%ecx,%edx
3672	xorl	%esi,%edi
3673	paddd	%xmm7,%xmm1
3674	rorl	$6,%edx
3675	movl	%eax,%ecx
3676	addl	%edi,%edx
3677	movl	12(%esp),%edi
3678	movl	%eax,%esi
3679	rorl	$9,%ecx
3680	movl	%eax,8(%esp)
3681	pshufd	$80,%xmm1,%xmm7
3682	xorl	%eax,%ecx
3683	xorl	%edi,%eax
3684	addl	4(%esp),%edx
3685	movdqa	%xmm7,%xmm6
3686	rorl	$11,%ecx
3687	psrld	$10,%xmm7
3688	andl	%eax,%ebx
3689	psrlq	$17,%xmm6
3690	xorl	%esi,%ecx
3691	addl	56(%esp),%edx
3692	xorl	%edi,%ebx
3693	rorl	$2,%ecx
3694	pxor	%xmm6,%xmm7
3695	addl	%edx,%ebx
3696	addl	20(%esp),%edx
3697	psrlq	$2,%xmm6
3698	addl	%ecx,%ebx
3699	movl	%edx,%ecx
3700	rorl	$14,%edx
3701	pxor	%xmm6,%xmm7
3702	movl	24(%esp),%esi
3703	xorl	%ecx,%edx
3704	movl	28(%esp),%edi
3705	pshufd	$8,%xmm7,%xmm7
3706	xorl	%edi,%esi
3707	rorl	$5,%edx
3708	movdqa	16(%ebp),%xmm6
3709	andl	%ecx,%esi
3710	movl	%ecx,20(%esp)
3711	pslldq	$8,%xmm7
3712	xorl	%ecx,%edx
3713	xorl	%esi,%edi
3714	rorl	$6,%edx
3715	movl	%ebx,%ecx
3716	addl	%edi,%edx
3717	movl	8(%esp),%edi
3718	movl	%ebx,%esi
3719	rorl	$9,%ecx
3720	paddd	%xmm7,%xmm1
3721	movl	%ebx,4(%esp)
3722	xorl	%ebx,%ecx
3723	xorl	%edi,%ebx
3724	addl	(%esp),%edx
3725	paddd	%xmm1,%xmm6
3726	rorl	$11,%ecx
3727	andl	%ebx,%eax
3728	xorl	%esi,%ecx
3729	addl	60(%esp),%edx
3730	xorl	%edi,%eax
3731	rorl	$2,%ecx
3732	addl	%edx,%eax
3733	addl	16(%esp),%edx
3734	addl	%ecx,%eax
3735	movdqa	%xmm6,48(%esp)
3736	movl	%edx,%ecx
3737	movdqa	%xmm3,%xmm4
3738	rorl	$14,%edx
3739	movl	20(%esp),%esi
3740	movdqa	%xmm1,%xmm7
3741	xorl	%ecx,%edx
3742	movl	24(%esp),%edi
3743.byte	102,15,58,15,226,4
3744	xorl	%edi,%esi
3745	rorl	$5,%edx
3746	andl	%ecx,%esi
3747.byte	102,15,58,15,248,4
3748	movl	%ecx,16(%esp)
3749	xorl	%ecx,%edx
3750	xorl	%esi,%edi
3751	movdqa	%xmm4,%xmm5
3752	rorl	$6,%edx
3753	movl	%eax,%ecx
3754	movdqa	%xmm4,%xmm6
3755	addl	%edi,%edx
3756	movl	4(%esp),%edi
3757	psrld	$3,%xmm4
3758	movl	%eax,%esi
3759	rorl	$9,%ecx
3760	paddd	%xmm7,%xmm2
3761	movl	%eax,(%esp)
3762	xorl	%eax,%ecx
3763	psrld	$7,%xmm6
3764	xorl	%edi,%eax
3765	addl	28(%esp),%edx
3766	rorl	$11,%ecx
3767	andl	%eax,%ebx
3768	pshufd	$250,%xmm1,%xmm7
3769	xorl	%esi,%ecx
3770	addl	64(%esp),%edx
3771	pslld	$14,%xmm5
3772	xorl	%edi,%ebx
3773	rorl	$2,%ecx
3774	pxor	%xmm6,%xmm4
3775	addl	%edx,%ebx
3776	addl	12(%esp),%edx
3777	psrld	$11,%xmm6
3778	addl	%ecx,%ebx
3779	movl	%edx,%ecx
3780	rorl	$14,%edx
3781	pxor	%xmm5,%xmm4
3782	movl	16(%esp),%esi
3783	xorl	%ecx,%edx
3784	pslld	$11,%xmm5
3785	movl	20(%esp),%edi
3786	xorl	%edi,%esi
3787	rorl	$5,%edx
3788	pxor	%xmm6,%xmm4
3789	andl	%ecx,%esi
3790	movl	%ecx,12(%esp)
3791	movdqa	%xmm7,%xmm6
3792	xorl	%ecx,%edx
3793	xorl	%esi,%edi
3794	rorl	$6,%edx
3795	pxor	%xmm5,%xmm4
3796	movl	%ebx,%ecx
3797	addl	%edi,%edx
3798	psrld	$10,%xmm7
3799	movl	(%esp),%edi
3800	movl	%ebx,%esi
3801	rorl	$9,%ecx
3802	paddd	%xmm4,%xmm2
3803	movl	%ebx,28(%esp)
3804	xorl	%ebx,%ecx
3805	psrlq	$17,%xmm6
3806	xorl	%edi,%ebx
3807	addl	24(%esp),%edx
3808	rorl	$11,%ecx
3809	pxor	%xmm6,%xmm7
3810	andl	%ebx,%eax
3811	xorl	%esi,%ecx
3812	psrlq	$2,%xmm6
3813	addl	68(%esp),%edx
3814	xorl	%edi,%eax
3815	rorl	$2,%ecx
3816	pxor	%xmm6,%xmm7
3817	addl	%edx,%eax
3818	addl	8(%esp),%edx
3819	pshufd	$128,%xmm7,%xmm7
3820	addl	%ecx,%eax
3821	movl	%edx,%ecx
3822	rorl	$14,%edx
3823	movl	12(%esp),%esi
3824	xorl	%ecx,%edx
3825	movl	16(%esp),%edi
3826	xorl	%edi,%esi
3827	rorl	$5,%edx
3828	andl	%ecx,%esi
3829	psrldq	$8,%xmm7
3830	movl	%ecx,8(%esp)
3831	xorl	%ecx,%edx
3832	xorl	%esi,%edi
3833	paddd	%xmm7,%xmm2
3834	rorl	$6,%edx
3835	movl	%eax,%ecx
3836	addl	%edi,%edx
3837	movl	28(%esp),%edi
3838	movl	%eax,%esi
3839	rorl	$9,%ecx
3840	movl	%eax,24(%esp)
3841	pshufd	$80,%xmm2,%xmm7
3842	xorl	%eax,%ecx
3843	xorl	%edi,%eax
3844	addl	20(%esp),%edx
3845	movdqa	%xmm7,%xmm6
3846	rorl	$11,%ecx
3847	psrld	$10,%xmm7
3848	andl	%eax,%ebx
3849	psrlq	$17,%xmm6
3850	xorl	%esi,%ecx
3851	addl	72(%esp),%edx
3852	xorl	%edi,%ebx
3853	rorl	$2,%ecx
3854	pxor	%xmm6,%xmm7
3855	addl	%edx,%ebx
3856	addl	4(%esp),%edx
3857	psrlq	$2,%xmm6
3858	addl	%ecx,%ebx
3859	movl	%edx,%ecx
3860	rorl	$14,%edx
3861	pxor	%xmm6,%xmm7
3862	movl	8(%esp),%esi
3863	xorl	%ecx,%edx
3864	movl	12(%esp),%edi
3865	pshufd	$8,%xmm7,%xmm7
3866	xorl	%edi,%esi
3867	rorl	$5,%edx
3868	movdqa	32(%ebp),%xmm6
3869	andl	%ecx,%esi
3870	movl	%ecx,4(%esp)
3871	pslldq	$8,%xmm7
3872	xorl	%ecx,%edx
3873	xorl	%esi,%edi
3874	rorl	$6,%edx
3875	movl	%ebx,%ecx
3876	addl	%edi,%edx
3877	movl	24(%esp),%edi
3878	movl	%ebx,%esi
3879	rorl	$9,%ecx
3880	paddd	%xmm7,%xmm2
3881	movl	%ebx,20(%esp)
3882	xorl	%ebx,%ecx
3883	xorl	%edi,%ebx
3884	addl	16(%esp),%edx
3885	paddd	%xmm2,%xmm6
3886	rorl	$11,%ecx
3887	andl	%ebx,%eax
3888	xorl	%esi,%ecx
3889	addl	76(%esp),%edx
3890	xorl	%edi,%eax
3891	rorl	$2,%ecx
3892	addl	%edx,%eax
3893	addl	(%esp),%edx
3894	addl	%ecx,%eax
3895	movdqa	%xmm6,64(%esp)
3896	movl	%edx,%ecx
3897	movdqa	%xmm0,%xmm4
3898	rorl	$14,%edx
3899	movl	4(%esp),%esi
3900	movdqa	%xmm2,%xmm7
3901	xorl	%ecx,%edx
3902	movl	8(%esp),%edi
3903.byte	102,15,58,15,227,4
3904	xorl	%edi,%esi
3905	rorl	$5,%edx
3906	andl	%ecx,%esi
3907.byte	102,15,58,15,249,4
3908	movl	%ecx,(%esp)
3909	xorl	%ecx,%edx
3910	xorl	%esi,%edi
3911	movdqa	%xmm4,%xmm5
3912	rorl	$6,%edx
3913	movl	%eax,%ecx
3914	movdqa	%xmm4,%xmm6
3915	addl	%edi,%edx
3916	movl	20(%esp),%edi
3917	psrld	$3,%xmm4
3918	movl	%eax,%esi
3919	rorl	$9,%ecx
3920	paddd	%xmm7,%xmm3
3921	movl	%eax,16(%esp)
3922	xorl	%eax,%ecx
3923	psrld	$7,%xmm6
3924	xorl	%edi,%eax
3925	addl	12(%esp),%edx
3926	rorl	$11,%ecx
3927	andl	%eax,%ebx
3928	pshufd	$250,%xmm2,%xmm7
3929	xorl	%esi,%ecx
3930	addl	80(%esp),%edx
3931	pslld	$14,%xmm5
3932	xorl	%edi,%ebx
3933	rorl	$2,%ecx
3934	pxor	%xmm6,%xmm4
3935	addl	%edx,%ebx
3936	addl	28(%esp),%edx
3937	psrld	$11,%xmm6
3938	addl	%ecx,%ebx
3939	movl	%edx,%ecx
3940	rorl	$14,%edx
3941	pxor	%xmm5,%xmm4
3942	movl	(%esp),%esi
3943	xorl	%ecx,%edx
3944	pslld	$11,%xmm5
3945	movl	4(%esp),%edi
3946	xorl	%edi,%esi
3947	rorl	$5,%edx
3948	pxor	%xmm6,%xmm4
3949	andl	%ecx,%esi
3950	movl	%ecx,28(%esp)
3951	movdqa	%xmm7,%xmm6
3952	xorl	%ecx,%edx
3953	xorl	%esi,%edi
3954	rorl	$6,%edx
3955	pxor	%xmm5,%xmm4
3956	movl	%ebx,%ecx
3957	addl	%edi,%edx
3958	psrld	$10,%xmm7
3959	movl	16(%esp),%edi
3960	movl	%ebx,%esi
3961	rorl	$9,%ecx
3962	paddd	%xmm4,%xmm3
3963	movl	%ebx,12(%esp)
3964	xorl	%ebx,%ecx
3965	psrlq	$17,%xmm6
3966	xorl	%edi,%ebx
3967	addl	8(%esp),%edx
3968	rorl	$11,%ecx
3969	pxor	%xmm6,%xmm7
3970	andl	%ebx,%eax
3971	xorl	%esi,%ecx
3972	psrlq	$2,%xmm6
3973	addl	84(%esp),%edx
3974	xorl	%edi,%eax
3975	rorl	$2,%ecx
3976	pxor	%xmm6,%xmm7
3977	addl	%edx,%eax
3978	addl	24(%esp),%edx
3979	pshufd	$128,%xmm7,%xmm7
3980	addl	%ecx,%eax
3981	movl	%edx,%ecx
3982	rorl	$14,%edx
3983	movl	28(%esp),%esi
3984	xorl	%ecx,%edx
3985	movl	(%esp),%edi
3986	xorl	%edi,%esi
3987	rorl	$5,%edx
3988	andl	%ecx,%esi
3989	psrldq	$8,%xmm7
3990	movl	%ecx,24(%esp)
3991	xorl	%ecx,%edx
3992	xorl	%esi,%edi
3993	paddd	%xmm7,%xmm3
3994	rorl	$6,%edx
3995	movl	%eax,%ecx
3996	addl	%edi,%edx
3997	movl	12(%esp),%edi
3998	movl	%eax,%esi
3999	rorl	$9,%ecx
4000	movl	%eax,8(%esp)
4001	pshufd	$80,%xmm3,%xmm7
4002	xorl	%eax,%ecx
4003	xorl	%edi,%eax
4004	addl	4(%esp),%edx
4005	movdqa	%xmm7,%xmm6
4006	rorl	$11,%ecx
4007	psrld	$10,%xmm7
4008	andl	%eax,%ebx
4009	psrlq	$17,%xmm6
4010	xorl	%esi,%ecx
4011	addl	88(%esp),%edx
4012	xorl	%edi,%ebx
4013	rorl	$2,%ecx
4014	pxor	%xmm6,%xmm7
4015	addl	%edx,%ebx
4016	addl	20(%esp),%edx
4017	psrlq	$2,%xmm6
4018	addl	%ecx,%ebx
4019	movl	%edx,%ecx
4020	rorl	$14,%edx
4021	pxor	%xmm6,%xmm7
4022	movl	24(%esp),%esi
4023	xorl	%ecx,%edx
4024	movl	28(%esp),%edi
4025	pshufd	$8,%xmm7,%xmm7
4026	xorl	%edi,%esi
4027	rorl	$5,%edx
4028	movdqa	48(%ebp),%xmm6
4029	andl	%ecx,%esi
4030	movl	%ecx,20(%esp)
4031	pslldq	$8,%xmm7
4032	xorl	%ecx,%edx
4033	xorl	%esi,%edi
4034	rorl	$6,%edx
4035	movl	%ebx,%ecx
4036	addl	%edi,%edx
4037	movl	8(%esp),%edi
4038	movl	%ebx,%esi
4039	rorl	$9,%ecx
4040	paddd	%xmm7,%xmm3
4041	movl	%ebx,4(%esp)
4042	xorl	%ebx,%ecx
4043	xorl	%edi,%ebx
4044	addl	(%esp),%edx
4045	paddd	%xmm3,%xmm6
4046	rorl	$11,%ecx
4047	andl	%ebx,%eax
4048	xorl	%esi,%ecx
4049	addl	92(%esp),%edx
4050	xorl	%edi,%eax
4051	rorl	$2,%ecx
4052	addl	%edx,%eax
4053	addl	16(%esp),%edx
4054	addl	%ecx,%eax
4055	movdqa	%xmm6,80(%esp)
4056	cmpl	$66051,64(%ebp)
4057	jne	.L013ssse3_00_47
4058	movl	%edx,%ecx
4059	rorl	$14,%edx
4060	movl	20(%esp),%esi
4061	xorl	%ecx,%edx
4062	movl	24(%esp),%edi
4063	xorl	%edi,%esi
4064	rorl	$5,%edx
4065	andl	%ecx,%esi
4066	movl	%ecx,16(%esp)
4067	xorl	%ecx,%edx
4068	xorl	%esi,%edi
4069	rorl	$6,%edx
4070	movl	%eax,%ecx
4071	addl	%edi,%edx
4072	movl	4(%esp),%edi
4073	movl	%eax,%esi
4074	rorl	$9,%ecx
4075	movl	%eax,(%esp)
4076	xorl	%eax,%ecx
4077	xorl	%edi,%eax
4078	addl	28(%esp),%edx
4079	rorl	$11,%ecx
4080	andl	%eax,%ebx
4081	xorl	%esi,%ecx
4082	addl	32(%esp),%edx
4083	xorl	%edi,%ebx
4084	rorl	$2,%ecx
4085	addl	%edx,%ebx
4086	addl	12(%esp),%edx
4087	addl	%ecx,%ebx
4088	movl	%edx,%ecx
4089	rorl	$14,%edx
4090	movl	16(%esp),%esi
4091	xorl	%ecx,%edx
4092	movl	20(%esp),%edi
4093	xorl	%edi,%esi
4094	rorl	$5,%edx
4095	andl	%ecx,%esi
4096	movl	%ecx,12(%esp)
4097	xorl	%ecx,%edx
4098	xorl	%esi,%edi
4099	rorl	$6,%edx
4100	movl	%ebx,%ecx
4101	addl	%edi,%edx
4102	movl	(%esp),%edi
4103	movl	%ebx,%esi
4104	rorl	$9,%ecx
4105	movl	%ebx,28(%esp)
4106	xorl	%ebx,%ecx
4107	xorl	%edi,%ebx
4108	addl	24(%esp),%edx
4109	rorl	$11,%ecx
4110	andl	%ebx,%eax
4111	xorl	%esi,%ecx
4112	addl	36(%esp),%edx
4113	xorl	%edi,%eax
4114	rorl	$2,%ecx
4115	addl	%edx,%eax
4116	addl	8(%esp),%edx
4117	addl	%ecx,%eax
4118	movl	%edx,%ecx
4119	rorl	$14,%edx
4120	movl	12(%esp),%esi
4121	xorl	%ecx,%edx
4122	movl	16(%esp),%edi
4123	xorl	%edi,%esi
4124	rorl	$5,%edx
4125	andl	%ecx,%esi
4126	movl	%ecx,8(%esp)
4127	xorl	%ecx,%edx
4128	xorl	%esi,%edi
4129	rorl	$6,%edx
4130	movl	%eax,%ecx
4131	addl	%edi,%edx
4132	movl	28(%esp),%edi
4133	movl	%eax,%esi
4134	rorl	$9,%ecx
4135	movl	%eax,24(%esp)
4136	xorl	%eax,%ecx
4137	xorl	%edi,%eax
4138	addl	20(%esp),%edx
4139	rorl	$11,%ecx
4140	andl	%eax,%ebx
4141	xorl	%esi,%ecx
4142	addl	40(%esp),%edx
4143	xorl	%edi,%ebx
4144	rorl	$2,%ecx
4145	addl	%edx,%ebx
4146	addl	4(%esp),%edx
4147	addl	%ecx,%ebx
4148	movl	%edx,%ecx
4149	rorl	$14,%edx
4150	movl	8(%esp),%esi
4151	xorl	%ecx,%edx
4152	movl	12(%esp),%edi
4153	xorl	%edi,%esi
4154	rorl	$5,%edx
4155	andl	%ecx,%esi
4156	movl	%ecx,4(%esp)
4157	xorl	%ecx,%edx
4158	xorl	%esi,%edi
4159	rorl	$6,%edx
4160	movl	%ebx,%ecx
4161	addl	%edi,%edx
4162	movl	24(%esp),%edi
4163	movl	%ebx,%esi
4164	rorl	$9,%ecx
4165	movl	%ebx,20(%esp)
4166	xorl	%ebx,%ecx
4167	xorl	%edi,%ebx
4168	addl	16(%esp),%edx
4169	rorl	$11,%ecx
4170	andl	%ebx,%eax
4171	xorl	%esi,%ecx
4172	addl	44(%esp),%edx
4173	xorl	%edi,%eax
4174	rorl	$2,%ecx
4175	addl	%edx,%eax
4176	addl	(%esp),%edx
4177	addl	%ecx,%eax
4178	movl	%edx,%ecx
4179	rorl	$14,%edx
4180	movl	4(%esp),%esi
4181	xorl	%ecx,%edx
4182	movl	8(%esp),%edi
4183	xorl	%edi,%esi
4184	rorl	$5,%edx
4185	andl	%ecx,%esi
4186	movl	%ecx,(%esp)
4187	xorl	%ecx,%edx
4188	xorl	%esi,%edi
4189	rorl	$6,%edx
4190	movl	%eax,%ecx
4191	addl	%edi,%edx
4192	movl	20(%esp),%edi
4193	movl	%eax,%esi
4194	rorl	$9,%ecx
4195	movl	%eax,16(%esp)
4196	xorl	%eax,%ecx
4197	xorl	%edi,%eax
4198	addl	12(%esp),%edx
4199	rorl	$11,%ecx
4200	andl	%eax,%ebx
4201	xorl	%esi,%ecx
4202	addl	48(%esp),%edx
4203	xorl	%edi,%ebx
4204	rorl	$2,%ecx
4205	addl	%edx,%ebx
4206	addl	28(%esp),%edx
4207	addl	%ecx,%ebx
4208	movl	%edx,%ecx
4209	rorl	$14,%edx
4210	movl	(%esp),%esi
4211	xorl	%ecx,%edx
4212	movl	4(%esp),%edi
4213	xorl	%edi,%esi
4214	rorl	$5,%edx
4215	andl	%ecx,%esi
4216	movl	%ecx,28(%esp)
4217	xorl	%ecx,%edx
4218	xorl	%esi,%edi
4219	rorl	$6,%edx
4220	movl	%ebx,%ecx
4221	addl	%edi,%edx
4222	movl	16(%esp),%edi
4223	movl	%ebx,%esi
4224	rorl	$9,%ecx
4225	movl	%ebx,12(%esp)
4226	xorl	%ebx,%ecx
4227	xorl	%edi,%ebx
4228	addl	8(%esp),%edx
4229	rorl	$11,%ecx
4230	andl	%ebx,%eax
4231	xorl	%esi,%ecx
4232	addl	52(%esp),%edx
4233	xorl	%edi,%eax
4234	rorl	$2,%ecx
4235	addl	%edx,%eax
4236	addl	24(%esp),%edx
4237	addl	%ecx,%eax
4238	movl	%edx,%ecx
4239	rorl	$14,%edx
4240	movl	28(%esp),%esi
4241	xorl	%ecx,%edx
4242	movl	(%esp),%edi
4243	xorl	%edi,%esi
4244	rorl	$5,%edx
4245	andl	%ecx,%esi
4246	movl	%ecx,24(%esp)
4247	xorl	%ecx,%edx
4248	xorl	%esi,%edi
4249	rorl	$6,%edx
4250	movl	%eax,%ecx
4251	addl	%edi,%edx
4252	movl	12(%esp),%edi
4253	movl	%eax,%esi
4254	rorl	$9,%ecx
4255	movl	%eax,8(%esp)
4256	xorl	%eax,%ecx
4257	xorl	%edi,%eax
4258	addl	4(%esp),%edx
4259	rorl	$11,%ecx
4260	andl	%eax,%ebx
4261	xorl	%esi,%ecx
4262	addl	56(%esp),%edx
4263	xorl	%edi,%ebx
4264	rorl	$2,%ecx
4265	addl	%edx,%ebx
4266	addl	20(%esp),%edx
4267	addl	%ecx,%ebx
4268	movl	%edx,%ecx
4269	rorl	$14,%edx
4270	movl	24(%esp),%esi
4271	xorl	%ecx,%edx
4272	movl	28(%esp),%edi
4273	xorl	%edi,%esi
4274	rorl	$5,%edx
4275	andl	%ecx,%esi
4276	movl	%ecx,20(%esp)
4277	xorl	%ecx,%edx
4278	xorl	%esi,%edi
4279	rorl	$6,%edx
4280	movl	%ebx,%ecx
4281	addl	%edi,%edx
4282	movl	8(%esp),%edi
4283	movl	%ebx,%esi
4284	rorl	$9,%ecx
4285	movl	%ebx,4(%esp)
4286	xorl	%ebx,%ecx
4287	xorl	%edi,%ebx
4288	addl	(%esp),%edx
4289	rorl	$11,%ecx
4290	andl	%ebx,%eax
4291	xorl	%esi,%ecx
4292	addl	60(%esp),%edx
4293	xorl	%edi,%eax
4294	rorl	$2,%ecx
4295	addl	%edx,%eax
4296	addl	16(%esp),%edx
4297	addl	%ecx,%eax
4298	movl	%edx,%ecx
4299	rorl	$14,%edx
4300	movl	20(%esp),%esi
4301	xorl	%ecx,%edx
4302	movl	24(%esp),%edi
4303	xorl	%edi,%esi
4304	rorl	$5,%edx
4305	andl	%ecx,%esi
4306	movl	%ecx,16(%esp)
4307	xorl	%ecx,%edx
4308	xorl	%esi,%edi
4309	rorl	$6,%edx
4310	movl	%eax,%ecx
4311	addl	%edi,%edx
4312	movl	4(%esp),%edi
4313	movl	%eax,%esi
4314	rorl	$9,%ecx
4315	movl	%eax,(%esp)
4316	xorl	%eax,%ecx
4317	xorl	%edi,%eax
4318	addl	28(%esp),%edx
4319	rorl	$11,%ecx
4320	andl	%eax,%ebx
4321	xorl	%esi,%ecx
4322	addl	64(%esp),%edx
4323	xorl	%edi,%ebx
4324	rorl	$2,%ecx
4325	addl	%edx,%ebx
4326	addl	12(%esp),%edx
4327	addl	%ecx,%ebx
4328	movl	%edx,%ecx
4329	rorl	$14,%edx
4330	movl	16(%esp),%esi
4331	xorl	%ecx,%edx
4332	movl	20(%esp),%edi
4333	xorl	%edi,%esi
4334	rorl	$5,%edx
4335	andl	%ecx,%esi
4336	movl	%ecx,12(%esp)
4337	xorl	%ecx,%edx
4338	xorl	%esi,%edi
4339	rorl	$6,%edx
4340	movl	%ebx,%ecx
4341	addl	%edi,%edx
4342	movl	(%esp),%edi
4343	movl	%ebx,%esi
4344	rorl	$9,%ecx
4345	movl	%ebx,28(%esp)
4346	xorl	%ebx,%ecx
4347	xorl	%edi,%ebx
4348	addl	24(%esp),%edx
4349	rorl	$11,%ecx
4350	andl	%ebx,%eax
4351	xorl	%esi,%ecx
4352	addl	68(%esp),%edx
4353	xorl	%edi,%eax
4354	rorl	$2,%ecx
4355	addl	%edx,%eax
4356	addl	8(%esp),%edx
4357	addl	%ecx,%eax
4358	movl	%edx,%ecx
4359	rorl	$14,%edx
4360	movl	12(%esp),%esi
4361	xorl	%ecx,%edx
4362	movl	16(%esp),%edi
4363	xorl	%edi,%esi
4364	rorl	$5,%edx
4365	andl	%ecx,%esi
4366	movl	%ecx,8(%esp)
4367	xorl	%ecx,%edx
4368	xorl	%esi,%edi
4369	rorl	$6,%edx
4370	movl	%eax,%ecx
4371	addl	%edi,%edx
4372	movl	28(%esp),%edi
4373	movl	%eax,%esi
4374	rorl	$9,%ecx
4375	movl	%eax,24(%esp)
4376	xorl	%eax,%ecx
4377	xorl	%edi,%eax
4378	addl	20(%esp),%edx
4379	rorl	$11,%ecx
4380	andl	%eax,%ebx
4381	xorl	%esi,%ecx
4382	addl	72(%esp),%edx
4383	xorl	%edi,%ebx
4384	rorl	$2,%ecx
4385	addl	%edx,%ebx
4386	addl	4(%esp),%edx
4387	addl	%ecx,%ebx
4388	movl	%edx,%ecx
4389	rorl	$14,%edx
4390	movl	8(%esp),%esi
4391	xorl	%ecx,%edx
4392	movl	12(%esp),%edi
4393	xorl	%edi,%esi
4394	rorl	$5,%edx
4395	andl	%ecx,%esi
4396	movl	%ecx,4(%esp)
4397	xorl	%ecx,%edx
4398	xorl	%esi,%edi
4399	rorl	$6,%edx
4400	movl	%ebx,%ecx
4401	addl	%edi,%edx
4402	movl	24(%esp),%edi
4403	movl	%ebx,%esi
4404	rorl	$9,%ecx
4405	movl	%ebx,20(%esp)
4406	xorl	%ebx,%ecx
4407	xorl	%edi,%ebx
4408	addl	16(%esp),%edx
4409	rorl	$11,%ecx
4410	andl	%ebx,%eax
4411	xorl	%esi,%ecx
4412	addl	76(%esp),%edx
4413	xorl	%edi,%eax
4414	rorl	$2,%ecx
4415	addl	%edx,%eax
4416	addl	(%esp),%edx
4417	addl	%ecx,%eax
4418	movl	%edx,%ecx
4419	rorl	$14,%edx
4420	movl	4(%esp),%esi
4421	xorl	%ecx,%edx
4422	movl	8(%esp),%edi
4423	xorl	%edi,%esi
4424	rorl	$5,%edx
4425	andl	%ecx,%esi
4426	movl	%ecx,(%esp)
4427	xorl	%ecx,%edx
4428	xorl	%esi,%edi
4429	rorl	$6,%edx
4430	movl	%eax,%ecx
4431	addl	%edi,%edx
4432	movl	20(%esp),%edi
4433	movl	%eax,%esi
4434	rorl	$9,%ecx
4435	movl	%eax,16(%esp)
4436	xorl	%eax,%ecx
4437	xorl	%edi,%eax
4438	addl	12(%esp),%edx
4439	rorl	$11,%ecx
4440	andl	%eax,%ebx
4441	xorl	%esi,%ecx
4442	addl	80(%esp),%edx
4443	xorl	%edi,%ebx
4444	rorl	$2,%ecx
4445	addl	%edx,%ebx
4446	addl	28(%esp),%edx
4447	addl	%ecx,%ebx
4448	movl	%edx,%ecx
4449	rorl	$14,%edx
4450	movl	(%esp),%esi
4451	xorl	%ecx,%edx
4452	movl	4(%esp),%edi
4453	xorl	%edi,%esi
4454	rorl	$5,%edx
4455	andl	%ecx,%esi
4456	movl	%ecx,28(%esp)
4457	xorl	%ecx,%edx
4458	xorl	%esi,%edi
4459	rorl	$6,%edx
4460	movl	%ebx,%ecx
4461	addl	%edi,%edx
4462	movl	16(%esp),%edi
4463	movl	%ebx,%esi
4464	rorl	$9,%ecx
4465	movl	%ebx,12(%esp)
4466	xorl	%ebx,%ecx
4467	xorl	%edi,%ebx
4468	addl	8(%esp),%edx
4469	rorl	$11,%ecx
4470	andl	%ebx,%eax
4471	xorl	%esi,%ecx
4472	addl	84(%esp),%edx
4473	xorl	%edi,%eax
4474	rorl	$2,%ecx
4475	addl	%edx,%eax
4476	addl	24(%esp),%edx
4477	addl	%ecx,%eax
4478	movl	%edx,%ecx
4479	rorl	$14,%edx
4480	movl	28(%esp),%esi
4481	xorl	%ecx,%edx
4482	movl	(%esp),%edi
4483	xorl	%edi,%esi
4484	rorl	$5,%edx
4485	andl	%ecx,%esi
4486	movl	%ecx,24(%esp)
4487	xorl	%ecx,%edx
4488	xorl	%esi,%edi
4489	rorl	$6,%edx
4490	movl	%eax,%ecx
4491	addl	%edi,%edx
4492	movl	12(%esp),%edi
4493	movl	%eax,%esi
4494	rorl	$9,%ecx
4495	movl	%eax,8(%esp)
4496	xorl	%eax,%ecx
4497	xorl	%edi,%eax
4498	addl	4(%esp),%edx
4499	rorl	$11,%ecx
4500	andl	%eax,%ebx
4501	xorl	%esi,%ecx
4502	addl	88(%esp),%edx
4503	xorl	%edi,%ebx
4504	rorl	$2,%ecx
4505	addl	%edx,%ebx
4506	addl	20(%esp),%edx
4507	addl	%ecx,%ebx
4508	movl	%edx,%ecx
4509	rorl	$14,%edx
4510	movl	24(%esp),%esi
4511	xorl	%ecx,%edx
4512	movl	28(%esp),%edi
4513	xorl	%edi,%esi
4514	rorl	$5,%edx
4515	andl	%ecx,%esi
4516	movl	%ecx,20(%esp)
4517	xorl	%ecx,%edx
4518	xorl	%esi,%edi
4519	rorl	$6,%edx
4520	movl	%ebx,%ecx
4521	addl	%edi,%edx
4522	movl	8(%esp),%edi
4523	movl	%ebx,%esi
4524	rorl	$9,%ecx
4525	movl	%ebx,4(%esp)
4526	xorl	%ebx,%ecx
4527	xorl	%edi,%ebx
4528	addl	(%esp),%edx
4529	rorl	$11,%ecx
4530	andl	%ebx,%eax
4531	xorl	%esi,%ecx
4532	addl	92(%esp),%edx
4533	xorl	%edi,%eax
4534	rorl	$2,%ecx
4535	addl	%edx,%eax
4536	addl	16(%esp),%edx
4537	addl	%ecx,%eax
4538	movl	96(%esp),%esi
4539	xorl	%edi,%ebx
4540	movl	12(%esp),%ecx
4541	addl	(%esi),%eax
4542	addl	4(%esi),%ebx
4543	addl	8(%esi),%edi
4544	addl	12(%esi),%ecx
4545	movl	%eax,(%esi)
4546	movl	%ebx,4(%esi)
4547	movl	%edi,8(%esi)
4548	movl	%ecx,12(%esi)
4549	movl	%ebx,4(%esp)
4550	xorl	%edi,%ebx
4551	movl	%edi,8(%esp)
4552	movl	%ecx,12(%esp)
4553	movl	20(%esp),%edi
4554	movl	24(%esp),%ecx
4555	addl	16(%esi),%edx
4556	addl	20(%esi),%edi
4557	addl	24(%esi),%ecx
4558	movl	%edx,16(%esi)
4559	movl	%edi,20(%esi)
4560	movl	%edi,20(%esp)
4561	movl	28(%esp),%edi
4562	movl	%ecx,24(%esi)
4563	addl	28(%esi),%edi
4564	movl	%ecx,24(%esp)
4565	movl	%edi,28(%esi)
4566	movl	%edi,28(%esp)
4567	movl	100(%esp),%edi
4568	movdqa	64(%ebp),%xmm7
4569	subl	$192,%ebp
4570	cmpl	104(%esp),%edi
4571	jb	.L012grand_ssse3
4572	movl	108(%esp),%esp
4573	popl	%edi
4574	popl	%esi
4575	popl	%ebx
4576	popl	%ebp
4577	ret
4578.align	32
4579.L005AVX:
4580	andl	$264,%edx
4581	cmpl	$264,%edx
4582	je	.L014AVX_BMI
4583	leal	-96(%esp),%esp
4584	vzeroall
4585	movl	(%esi),%eax
4586	movl	4(%esi),%ebx
4587	movl	8(%esi),%ecx
4588	movl	12(%esi),%edi
4589	movl	%ebx,4(%esp)
4590	xorl	%ecx,%ebx
4591	movl	%ecx,8(%esp)
4592	movl	%edi,12(%esp)
4593	movl	16(%esi),%edx
4594	movl	20(%esi),%edi
4595	movl	24(%esi),%ecx
4596	movl	28(%esi),%esi
4597	movl	%edi,20(%esp)
4598	movl	100(%esp),%edi
4599	movl	%ecx,24(%esp)
4600	movl	%esi,28(%esp)
4601	vmovdqa	256(%ebp),%xmm7
4602	jmp	.L015grand_avx
4603.align	32
4604.L015grand_avx:
4605	vmovdqu	(%edi),%xmm0
4606	vmovdqu	16(%edi),%xmm1
4607	vmovdqu	32(%edi),%xmm2
4608	vmovdqu	48(%edi),%xmm3
4609	addl	$64,%edi
4610	vpshufb	%xmm7,%xmm0,%xmm0
4611	movl	%edi,100(%esp)
4612	vpshufb	%xmm7,%xmm1,%xmm1
4613	vpshufb	%xmm7,%xmm2,%xmm2
4614	vpaddd	(%ebp),%xmm0,%xmm4
4615	vpshufb	%xmm7,%xmm3,%xmm3
4616	vpaddd	16(%ebp),%xmm1,%xmm5
4617	vpaddd	32(%ebp),%xmm2,%xmm6
4618	vpaddd	48(%ebp),%xmm3,%xmm7
4619	vmovdqa	%xmm4,32(%esp)
4620	vmovdqa	%xmm5,48(%esp)
4621	vmovdqa	%xmm6,64(%esp)
4622	vmovdqa	%xmm7,80(%esp)
4623	jmp	.L016avx_00_47
4624.align	16
4625.L016avx_00_47:
4626	addl	$64,%ebp
4627	vpalignr	$4,%xmm0,%xmm1,%xmm4
4628	movl	%edx,%ecx
4629	shrdl	$14,%edx,%edx
4630	movl	20(%esp),%esi
4631	vpalignr	$4,%xmm2,%xmm3,%xmm7
4632	xorl	%ecx,%edx
4633	movl	24(%esp),%edi
4634	xorl	%edi,%esi
4635	vpsrld	$7,%xmm4,%xmm6
4636	shrdl	$5,%edx,%edx
4637	andl	%ecx,%esi
4638	movl	%ecx,16(%esp)
4639	vpaddd	%xmm7,%xmm0,%xmm0
4640	xorl	%ecx,%edx
4641	xorl	%esi,%edi
4642	shrdl	$6,%edx,%edx
4643	vpsrld	$3,%xmm4,%xmm7
4644	movl	%eax,%ecx
4645	addl	%edi,%edx
4646	movl	4(%esp),%edi
4647	vpslld	$14,%xmm4,%xmm5
4648	movl	%eax,%esi
4649	shrdl	$9,%ecx,%ecx
4650	movl	%eax,(%esp)
4651	vpxor	%xmm6,%xmm7,%xmm4
4652	xorl	%eax,%ecx
4653	xorl	%edi,%eax
4654	addl	28(%esp),%edx
4655	vpshufd	$250,%xmm3,%xmm7
4656	shrdl	$11,%ecx,%ecx
4657	andl	%eax,%ebx
4658	xorl	%esi,%ecx
4659	vpsrld	$11,%xmm6,%xmm6
4660	addl	32(%esp),%edx
4661	xorl	%edi,%ebx
4662	shrdl	$2,%ecx,%ecx
4663	vpxor	%xmm5,%xmm4,%xmm4
4664	addl	%edx,%ebx
4665	addl	12(%esp),%edx
4666	addl	%ecx,%ebx
4667	vpslld	$11,%xmm5,%xmm5
4668	movl	%edx,%ecx
4669	shrdl	$14,%edx,%edx
4670	movl	16(%esp),%esi
4671	vpxor	%xmm6,%xmm4,%xmm4
4672	xorl	%ecx,%edx
4673	movl	20(%esp),%edi
4674	xorl	%edi,%esi
4675	vpsrld	$10,%xmm7,%xmm6
4676	shrdl	$5,%edx,%edx
4677	andl	%ecx,%esi
4678	movl	%ecx,12(%esp)
4679	vpxor	%xmm5,%xmm4,%xmm4
4680	xorl	%ecx,%edx
4681	xorl	%esi,%edi
4682	shrdl	$6,%edx,%edx
4683	vpsrlq	$17,%xmm7,%xmm5
4684	movl	%ebx,%ecx
4685	addl	%edi,%edx
4686	movl	(%esp),%edi
4687	vpaddd	%xmm4,%xmm0,%xmm0
4688	movl	%ebx,%esi
4689	shrdl	$9,%ecx,%ecx
4690	movl	%ebx,28(%esp)
4691	vpxor	%xmm5,%xmm6,%xmm6
4692	xorl	%ebx,%ecx
4693	xorl	%edi,%ebx
4694	addl	24(%esp),%edx
4695	vpsrlq	$19,%xmm7,%xmm7
4696	shrdl	$11,%ecx,%ecx
4697	andl	%ebx,%eax
4698	xorl	%esi,%ecx
4699	vpxor	%xmm7,%xmm6,%xmm6
4700	addl	36(%esp),%edx
4701	xorl	%edi,%eax
4702	shrdl	$2,%ecx,%ecx
4703	vpshufd	$132,%xmm6,%xmm7
4704	addl	%edx,%eax
4705	addl	8(%esp),%edx
4706	addl	%ecx,%eax
4707	vpsrldq	$8,%xmm7,%xmm7
4708	movl	%edx,%ecx
4709	shrdl	$14,%edx,%edx
4710	movl	12(%esp),%esi
4711	vpaddd	%xmm7,%xmm0,%xmm0
4712	xorl	%ecx,%edx
4713	movl	16(%esp),%edi
4714	xorl	%edi,%esi
4715	vpshufd	$80,%xmm0,%xmm7
4716	shrdl	$5,%edx,%edx
4717	andl	%ecx,%esi
4718	movl	%ecx,8(%esp)
4719	vpsrld	$10,%xmm7,%xmm6
4720	xorl	%ecx,%edx
4721	xorl	%esi,%edi
4722	shrdl	$6,%edx,%edx
4723	vpsrlq	$17,%xmm7,%xmm5
4724	movl	%eax,%ecx
4725	addl	%edi,%edx
4726	movl	28(%esp),%edi
4727	vpxor	%xmm5,%xmm6,%xmm6
4728	movl	%eax,%esi
4729	shrdl	$9,%ecx,%ecx
4730	movl	%eax,24(%esp)
4731	vpsrlq	$19,%xmm7,%xmm7
4732	xorl	%eax,%ecx
4733	xorl	%edi,%eax
4734	addl	20(%esp),%edx
4735	vpxor	%xmm7,%xmm6,%xmm6
4736	shrdl	$11,%ecx,%ecx
4737	andl	%eax,%ebx
4738	xorl	%esi,%ecx
4739	vpshufd	$232,%xmm6,%xmm7
4740	addl	40(%esp),%edx
4741	xorl	%edi,%ebx
4742	shrdl	$2,%ecx,%ecx
4743	vpslldq	$8,%xmm7,%xmm7
4744	addl	%edx,%ebx
4745	addl	4(%esp),%edx
4746	addl	%ecx,%ebx
4747	vpaddd	%xmm7,%xmm0,%xmm0
4748	movl	%edx,%ecx
4749	shrdl	$14,%edx,%edx
4750	movl	8(%esp),%esi
4751	vpaddd	(%ebp),%xmm0,%xmm6
4752	xorl	%ecx,%edx
4753	movl	12(%esp),%edi
4754	xorl	%edi,%esi
4755	shrdl	$5,%edx,%edx
4756	andl	%ecx,%esi
4757	movl	%ecx,4(%esp)
4758	xorl	%ecx,%edx
4759	xorl	%esi,%edi
4760	shrdl	$6,%edx,%edx
4761	movl	%ebx,%ecx
4762	addl	%edi,%edx
4763	movl	24(%esp),%edi
4764	movl	%ebx,%esi
4765	shrdl	$9,%ecx,%ecx
4766	movl	%ebx,20(%esp)
4767	xorl	%ebx,%ecx
4768	xorl	%edi,%ebx
4769	addl	16(%esp),%edx
4770	shrdl	$11,%ecx,%ecx
4771	andl	%ebx,%eax
4772	xorl	%esi,%ecx
4773	addl	44(%esp),%edx
4774	xorl	%edi,%eax
4775	shrdl	$2,%ecx,%ecx
4776	addl	%edx,%eax
4777	addl	(%esp),%edx
4778	addl	%ecx,%eax
4779	vmovdqa	%xmm6,32(%esp)
4780	vpalignr	$4,%xmm1,%xmm2,%xmm4
4781	movl	%edx,%ecx
4782	shrdl	$14,%edx,%edx
4783	movl	4(%esp),%esi
4784	vpalignr	$4,%xmm3,%xmm0,%xmm7
4785	xorl	%ecx,%edx
4786	movl	8(%esp),%edi
4787	xorl	%edi,%esi
4788	vpsrld	$7,%xmm4,%xmm6
4789	shrdl	$5,%edx,%edx
4790	andl	%ecx,%esi
4791	movl	%ecx,(%esp)
4792	vpaddd	%xmm7,%xmm1,%xmm1
4793	xorl	%ecx,%edx
4794	xorl	%esi,%edi
4795	shrdl	$6,%edx,%edx
4796	vpsrld	$3,%xmm4,%xmm7
4797	movl	%eax,%ecx
4798	addl	%edi,%edx
4799	movl	20(%esp),%edi
4800	vpslld	$14,%xmm4,%xmm5
4801	movl	%eax,%esi
4802	shrdl	$9,%ecx,%ecx
4803	movl	%eax,16(%esp)
4804	vpxor	%xmm6,%xmm7,%xmm4
4805	xorl	%eax,%ecx
4806	xorl	%edi,%eax
4807	addl	12(%esp),%edx
4808	vpshufd	$250,%xmm0,%xmm7
4809	shrdl	$11,%ecx,%ecx
4810	andl	%eax,%ebx
4811	xorl	%esi,%ecx
4812	vpsrld	$11,%xmm6,%xmm6
4813	addl	48(%esp),%edx
4814	xorl	%edi,%ebx
4815	shrdl	$2,%ecx,%ecx
4816	vpxor	%xmm5,%xmm4,%xmm4
4817	addl	%edx,%ebx
4818	addl	28(%esp),%edx
4819	addl	%ecx,%ebx
4820	vpslld	$11,%xmm5,%xmm5
4821	movl	%edx,%ecx
4822	shrdl	$14,%edx,%edx
4823	movl	(%esp),%esi
4824	vpxor	%xmm6,%xmm4,%xmm4
4825	xorl	%ecx,%edx
4826	movl	4(%esp),%edi
4827	xorl	%edi,%esi
4828	vpsrld	$10,%xmm7,%xmm6
4829	shrdl	$5,%edx,%edx
4830	andl	%ecx,%esi
4831	movl	%ecx,28(%esp)
4832	vpxor	%xmm5,%xmm4,%xmm4
4833	xorl	%ecx,%edx
4834	xorl	%esi,%edi
4835	shrdl	$6,%edx,%edx
4836	vpsrlq	$17,%xmm7,%xmm5
4837	movl	%ebx,%ecx
4838	addl	%edi,%edx
4839	movl	16(%esp),%edi
4840	vpaddd	%xmm4,%xmm1,%xmm1
4841	movl	%ebx,%esi
4842	shrdl	$9,%ecx,%ecx
4843	movl	%ebx,12(%esp)
4844	vpxor	%xmm5,%xmm6,%xmm6
4845	xorl	%ebx,%ecx
4846	xorl	%edi,%ebx
4847	addl	8(%esp),%edx
4848	vpsrlq	$19,%xmm7,%xmm7
4849	shrdl	$11,%ecx,%ecx
4850	andl	%ebx,%eax
4851	xorl	%esi,%ecx
4852	vpxor	%xmm7,%xmm6,%xmm6
4853	addl	52(%esp),%edx
4854	xorl	%edi,%eax
4855	shrdl	$2,%ecx,%ecx
4856	vpshufd	$132,%xmm6,%xmm7
4857	addl	%edx,%eax
4858	addl	24(%esp),%edx
4859	addl	%ecx,%eax
4860	vpsrldq	$8,%xmm7,%xmm7
4861	movl	%edx,%ecx
4862	shrdl	$14,%edx,%edx
4863	movl	28(%esp),%esi
4864	vpaddd	%xmm7,%xmm1,%xmm1
4865	xorl	%ecx,%edx
4866	movl	(%esp),%edi
4867	xorl	%edi,%esi
4868	vpshufd	$80,%xmm1,%xmm7
4869	shrdl	$5,%edx,%edx
4870	andl	%ecx,%esi
4871	movl	%ecx,24(%esp)
4872	vpsrld	$10,%xmm7,%xmm6
4873	xorl	%ecx,%edx
4874	xorl	%esi,%edi
4875	shrdl	$6,%edx,%edx
4876	vpsrlq	$17,%xmm7,%xmm5
4877	movl	%eax,%ecx
4878	addl	%edi,%edx
4879	movl	12(%esp),%edi
4880	vpxor	%xmm5,%xmm6,%xmm6
4881	movl	%eax,%esi
4882	shrdl	$9,%ecx,%ecx
4883	movl	%eax,8(%esp)
4884	vpsrlq	$19,%xmm7,%xmm7
4885	xorl	%eax,%ecx
4886	xorl	%edi,%eax
4887	addl	4(%esp),%edx
4888	vpxor	%xmm7,%xmm6,%xmm6
4889	shrdl	$11,%ecx,%ecx
4890	andl	%eax,%ebx
4891	xorl	%esi,%ecx
4892	vpshufd	$232,%xmm6,%xmm7
4893	addl	56(%esp),%edx
4894	xorl	%edi,%ebx
4895	shrdl	$2,%ecx,%ecx
4896	vpslldq	$8,%xmm7,%xmm7
4897	addl	%edx,%ebx
4898	addl	20(%esp),%edx
4899	addl	%ecx,%ebx
4900	vpaddd	%xmm7,%xmm1,%xmm1
4901	movl	%edx,%ecx
4902	shrdl	$14,%edx,%edx
4903	movl	24(%esp),%esi
4904	vpaddd	16(%ebp),%xmm1,%xmm6
4905	xorl	%ecx,%edx
4906	movl	28(%esp),%edi
4907	xorl	%edi,%esi
4908	shrdl	$5,%edx,%edx
4909	andl	%ecx,%esi
4910	movl	%ecx,20(%esp)
4911	xorl	%ecx,%edx
4912	xorl	%esi,%edi
4913	shrdl	$6,%edx,%edx
4914	movl	%ebx,%ecx
4915	addl	%edi,%edx
4916	movl	8(%esp),%edi
4917	movl	%ebx,%esi
4918	shrdl	$9,%ecx,%ecx
4919	movl	%ebx,4(%esp)
4920	xorl	%ebx,%ecx
4921	xorl	%edi,%ebx
4922	addl	(%esp),%edx
4923	shrdl	$11,%ecx,%ecx
4924	andl	%ebx,%eax
4925	xorl	%esi,%ecx
4926	addl	60(%esp),%edx
4927	xorl	%edi,%eax
4928	shrdl	$2,%ecx,%ecx
4929	addl	%edx,%eax
4930	addl	16(%esp),%edx
4931	addl	%ecx,%eax
4932	vmovdqa	%xmm6,48(%esp)
4933	vpalignr	$4,%xmm2,%xmm3,%xmm4
4934	movl	%edx,%ecx
4935	shrdl	$14,%edx,%edx
4936	movl	20(%esp),%esi
4937	vpalignr	$4,%xmm0,%xmm1,%xmm7
4938	xorl	%ecx,%edx
4939	movl	24(%esp),%edi
4940	xorl	%edi,%esi
4941	vpsrld	$7,%xmm4,%xmm6
4942	shrdl	$5,%edx,%edx
4943	andl	%ecx,%esi
4944	movl	%ecx,16(%esp)
4945	vpaddd	%xmm7,%xmm2,%xmm2
4946	xorl	%ecx,%edx
4947	xorl	%esi,%edi
4948	shrdl	$6,%edx,%edx
4949	vpsrld	$3,%xmm4,%xmm7
4950	movl	%eax,%ecx
4951	addl	%edi,%edx
4952	movl	4(%esp),%edi
4953	vpslld	$14,%xmm4,%xmm5
4954	movl	%eax,%esi
4955	shrdl	$9,%ecx,%ecx
4956	movl	%eax,(%esp)
4957	vpxor	%xmm6,%xmm7,%xmm4
4958	xorl	%eax,%ecx
4959	xorl	%edi,%eax
4960	addl	28(%esp),%edx
4961	vpshufd	$250,%xmm1,%xmm7
4962	shrdl	$11,%ecx,%ecx
4963	andl	%eax,%ebx
4964	xorl	%esi,%ecx
4965	vpsrld	$11,%xmm6,%xmm6
4966	addl	64(%esp),%edx
4967	xorl	%edi,%ebx
4968	shrdl	$2,%ecx,%ecx
4969	vpxor	%xmm5,%xmm4,%xmm4
4970	addl	%edx,%ebx
4971	addl	12(%esp),%edx
4972	addl	%ecx,%ebx
4973	vpslld	$11,%xmm5,%xmm5
4974	movl	%edx,%ecx
4975	shrdl	$14,%edx,%edx
4976	movl	16(%esp),%esi
4977	vpxor	%xmm6,%xmm4,%xmm4
4978	xorl	%ecx,%edx
4979	movl	20(%esp),%edi
4980	xorl	%edi,%esi
4981	vpsrld	$10,%xmm7,%xmm6
4982	shrdl	$5,%edx,%edx
4983	andl	%ecx,%esi
4984	movl	%ecx,12(%esp)
4985	vpxor	%xmm5,%xmm4,%xmm4
4986	xorl	%ecx,%edx
4987	xorl	%esi,%edi
4988	shrdl	$6,%edx,%edx
4989	vpsrlq	$17,%xmm7,%xmm5
4990	movl	%ebx,%ecx
4991	addl	%edi,%edx
4992	movl	(%esp),%edi
4993	vpaddd	%xmm4,%xmm2,%xmm2
4994	movl	%ebx,%esi
4995	shrdl	$9,%ecx,%ecx
4996	movl	%ebx,28(%esp)
4997	vpxor	%xmm5,%xmm6,%xmm6
4998	xorl	%ebx,%ecx
4999	xorl	%edi,%ebx
5000	addl	24(%esp),%edx
5001	vpsrlq	$19,%xmm7,%xmm7
5002	shrdl	$11,%ecx,%ecx
5003	andl	%ebx,%eax
5004	xorl	%esi,%ecx
5005	vpxor	%xmm7,%xmm6,%xmm6
5006	addl	68(%esp),%edx
5007	xorl	%edi,%eax
5008	shrdl	$2,%ecx,%ecx
5009	vpshufd	$132,%xmm6,%xmm7
5010	addl	%edx,%eax
5011	addl	8(%esp),%edx
5012	addl	%ecx,%eax
5013	vpsrldq	$8,%xmm7,%xmm7
5014	movl	%edx,%ecx
5015	shrdl	$14,%edx,%edx
5016	movl	12(%esp),%esi
5017	vpaddd	%xmm7,%xmm2,%xmm2
5018	xorl	%ecx,%edx
5019	movl	16(%esp),%edi
5020	xorl	%edi,%esi
5021	vpshufd	$80,%xmm2,%xmm7
5022	shrdl	$5,%edx,%edx
5023	andl	%ecx,%esi
5024	movl	%ecx,8(%esp)
5025	vpsrld	$10,%xmm7,%xmm6
5026	xorl	%ecx,%edx
5027	xorl	%esi,%edi
5028	shrdl	$6,%edx,%edx
5029	vpsrlq	$17,%xmm7,%xmm5
5030	movl	%eax,%ecx
5031	addl	%edi,%edx
5032	movl	28(%esp),%edi
5033	vpxor	%xmm5,%xmm6,%xmm6
5034	movl	%eax,%esi
5035	shrdl	$9,%ecx,%ecx
5036	movl	%eax,24(%esp)
5037	vpsrlq	$19,%xmm7,%xmm7
5038	xorl	%eax,%ecx
5039	xorl	%edi,%eax
5040	addl	20(%esp),%edx
5041	vpxor	%xmm7,%xmm6,%xmm6
5042	shrdl	$11,%ecx,%ecx
5043	andl	%eax,%ebx
5044	xorl	%esi,%ecx
5045	vpshufd	$232,%xmm6,%xmm7
5046	addl	72(%esp),%edx
5047	xorl	%edi,%ebx
5048	shrdl	$2,%ecx,%ecx
5049	vpslldq	$8,%xmm7,%xmm7
5050	addl	%edx,%ebx
5051	addl	4(%esp),%edx
5052	addl	%ecx,%ebx
5053	vpaddd	%xmm7,%xmm2,%xmm2
5054	movl	%edx,%ecx
5055	shrdl	$14,%edx,%edx
5056	movl	8(%esp),%esi
5057	vpaddd	32(%ebp),%xmm2,%xmm6
5058	xorl	%ecx,%edx
5059	movl	12(%esp),%edi
5060	xorl	%edi,%esi
5061	shrdl	$5,%edx,%edx
5062	andl	%ecx,%esi
5063	movl	%ecx,4(%esp)
5064	xorl	%ecx,%edx
5065	xorl	%esi,%edi
5066	shrdl	$6,%edx,%edx
5067	movl	%ebx,%ecx
5068	addl	%edi,%edx
5069	movl	24(%esp),%edi
5070	movl	%ebx,%esi
5071	shrdl	$9,%ecx,%ecx
5072	movl	%ebx,20(%esp)
5073	xorl	%ebx,%ecx
5074	xorl	%edi,%ebx
5075	addl	16(%esp),%edx
5076	shrdl	$11,%ecx,%ecx
5077	andl	%ebx,%eax
5078	xorl	%esi,%ecx
5079	addl	76(%esp),%edx
5080	xorl	%edi,%eax
5081	shrdl	$2,%ecx,%ecx
5082	addl	%edx,%eax
5083	addl	(%esp),%edx
5084	addl	%ecx,%eax
5085	vmovdqa	%xmm6,64(%esp)
5086	vpalignr	$4,%xmm3,%xmm0,%xmm4
5087	movl	%edx,%ecx
5088	shrdl	$14,%edx,%edx
5089	movl	4(%esp),%esi
5090	vpalignr	$4,%xmm1,%xmm2,%xmm7
5091	xorl	%ecx,%edx
5092	movl	8(%esp),%edi
5093	xorl	%edi,%esi
5094	vpsrld	$7,%xmm4,%xmm6
5095	shrdl	$5,%edx,%edx
5096	andl	%ecx,%esi
5097	movl	%ecx,(%esp)
5098	vpaddd	%xmm7,%xmm3,%xmm3
5099	xorl	%ecx,%edx
5100	xorl	%esi,%edi
5101	shrdl	$6,%edx,%edx
5102	vpsrld	$3,%xmm4,%xmm7
5103	movl	%eax,%ecx
5104	addl	%edi,%edx
5105	movl	20(%esp),%edi
5106	vpslld	$14,%xmm4,%xmm5
5107	movl	%eax,%esi
5108	shrdl	$9,%ecx,%ecx
5109	movl	%eax,16(%esp)
5110	vpxor	%xmm6,%xmm7,%xmm4
5111	xorl	%eax,%ecx
5112	xorl	%edi,%eax
5113	addl	12(%esp),%edx
5114	vpshufd	$250,%xmm2,%xmm7
5115	shrdl	$11,%ecx,%ecx
5116	andl	%eax,%ebx
5117	xorl	%esi,%ecx
5118	vpsrld	$11,%xmm6,%xmm6
5119	addl	80(%esp),%edx
5120	xorl	%edi,%ebx
5121	shrdl	$2,%ecx,%ecx
5122	vpxor	%xmm5,%xmm4,%xmm4
5123	addl	%edx,%ebx
5124	addl	28(%esp),%edx
5125	addl	%ecx,%ebx
5126	vpslld	$11,%xmm5,%xmm5
5127	movl	%edx,%ecx
5128	shrdl	$14,%edx,%edx
5129	movl	(%esp),%esi
5130	vpxor	%xmm6,%xmm4,%xmm4
5131	xorl	%ecx,%edx
5132	movl	4(%esp),%edi
5133	xorl	%edi,%esi
5134	vpsrld	$10,%xmm7,%xmm6
5135	shrdl	$5,%edx,%edx
5136	andl	%ecx,%esi
5137	movl	%ecx,28(%esp)
5138	vpxor	%xmm5,%xmm4,%xmm4
5139	xorl	%ecx,%edx
5140	xorl	%esi,%edi
5141	shrdl	$6,%edx,%edx
5142	vpsrlq	$17,%xmm7,%xmm5
5143	movl	%ebx,%ecx
5144	addl	%edi,%edx
5145	movl	16(%esp),%edi
5146	vpaddd	%xmm4,%xmm3,%xmm3
5147	movl	%ebx,%esi
5148	shrdl	$9,%ecx,%ecx
5149	movl	%ebx,12(%esp)
5150	vpxor	%xmm5,%xmm6,%xmm6
5151	xorl	%ebx,%ecx
5152	xorl	%edi,%ebx
5153	addl	8(%esp),%edx
5154	vpsrlq	$19,%xmm7,%xmm7
5155	shrdl	$11,%ecx,%ecx
5156	andl	%ebx,%eax
5157	xorl	%esi,%ecx
5158	vpxor	%xmm7,%xmm6,%xmm6
5159	addl	84(%esp),%edx
5160	xorl	%edi,%eax
5161	shrdl	$2,%ecx,%ecx
5162	vpshufd	$132,%xmm6,%xmm7
5163	addl	%edx,%eax
5164	addl	24(%esp),%edx
5165	addl	%ecx,%eax
5166	vpsrldq	$8,%xmm7,%xmm7
5167	movl	%edx,%ecx
5168	shrdl	$14,%edx,%edx
5169	movl	28(%esp),%esi
5170	vpaddd	%xmm7,%xmm3,%xmm3
5171	xorl	%ecx,%edx
5172	movl	(%esp),%edi
5173	xorl	%edi,%esi
5174	vpshufd	$80,%xmm3,%xmm7
5175	shrdl	$5,%edx,%edx
5176	andl	%ecx,%esi
5177	movl	%ecx,24(%esp)
5178	vpsrld	$10,%xmm7,%xmm6
5179	xorl	%ecx,%edx
5180	xorl	%esi,%edi
5181	shrdl	$6,%edx,%edx
5182	vpsrlq	$17,%xmm7,%xmm5
5183	movl	%eax,%ecx
5184	addl	%edi,%edx
5185	movl	12(%esp),%edi
5186	vpxor	%xmm5,%xmm6,%xmm6
5187	movl	%eax,%esi
5188	shrdl	$9,%ecx,%ecx
5189	movl	%eax,8(%esp)
5190	vpsrlq	$19,%xmm7,%xmm7
5191	xorl	%eax,%ecx
5192	xorl	%edi,%eax
5193	addl	4(%esp),%edx
5194	vpxor	%xmm7,%xmm6,%xmm6
5195	shrdl	$11,%ecx,%ecx
5196	andl	%eax,%ebx
5197	xorl	%esi,%ecx
5198	vpshufd	$232,%xmm6,%xmm7
5199	addl	88(%esp),%edx
5200	xorl	%edi,%ebx
5201	shrdl	$2,%ecx,%ecx
5202	vpslldq	$8,%xmm7,%xmm7
5203	addl	%edx,%ebx
5204	addl	20(%esp),%edx
5205	addl	%ecx,%ebx
5206	vpaddd	%xmm7,%xmm3,%xmm3
5207	movl	%edx,%ecx
5208	shrdl	$14,%edx,%edx
5209	movl	24(%esp),%esi
5210	vpaddd	48(%ebp),%xmm3,%xmm6
5211	xorl	%ecx,%edx
5212	movl	28(%esp),%edi
5213	xorl	%edi,%esi
5214	shrdl	$5,%edx,%edx
5215	andl	%ecx,%esi
5216	movl	%ecx,20(%esp)
5217	xorl	%ecx,%edx
5218	xorl	%esi,%edi
5219	shrdl	$6,%edx,%edx
5220	movl	%ebx,%ecx
5221	addl	%edi,%edx
5222	movl	8(%esp),%edi
5223	movl	%ebx,%esi
5224	shrdl	$9,%ecx,%ecx
5225	movl	%ebx,4(%esp)
5226	xorl	%ebx,%ecx
5227	xorl	%edi,%ebx
5228	addl	(%esp),%edx
5229	shrdl	$11,%ecx,%ecx
5230	andl	%ebx,%eax
5231	xorl	%esi,%ecx
5232	addl	92(%esp),%edx
5233	xorl	%edi,%eax
5234	shrdl	$2,%ecx,%ecx
5235	addl	%edx,%eax
5236	addl	16(%esp),%edx
5237	addl	%ecx,%eax
5238	vmovdqa	%xmm6,80(%esp)
5239	cmpl	$66051,64(%ebp)
5240	jne	.L016avx_00_47
5241	movl	%edx,%ecx
5242	shrdl	$14,%edx,%edx
5243	movl	20(%esp),%esi
5244	xorl	%ecx,%edx
5245	movl	24(%esp),%edi
5246	xorl	%edi,%esi
5247	shrdl	$5,%edx,%edx
5248	andl	%ecx,%esi
5249	movl	%ecx,16(%esp)
5250	xorl	%ecx,%edx
5251	xorl	%esi,%edi
5252	shrdl	$6,%edx,%edx
5253	movl	%eax,%ecx
5254	addl	%edi,%edx
5255	movl	4(%esp),%edi
5256	movl	%eax,%esi
5257	shrdl	$9,%ecx,%ecx
5258	movl	%eax,(%esp)
5259	xorl	%eax,%ecx
5260	xorl	%edi,%eax
5261	addl	28(%esp),%edx
5262	shrdl	$11,%ecx,%ecx
5263	andl	%eax,%ebx
5264	xorl	%esi,%ecx
5265	addl	32(%esp),%edx
5266	xorl	%edi,%ebx
5267	shrdl	$2,%ecx,%ecx
5268	addl	%edx,%ebx
5269	addl	12(%esp),%edx
5270	addl	%ecx,%ebx
5271	movl	%edx,%ecx
5272	shrdl	$14,%edx,%edx
5273	movl	16(%esp),%esi
5274	xorl	%ecx,%edx
5275	movl	20(%esp),%edi
5276	xorl	%edi,%esi
5277	shrdl	$5,%edx,%edx
5278	andl	%ecx,%esi
5279	movl	%ecx,12(%esp)
5280	xorl	%ecx,%edx
5281	xorl	%esi,%edi
5282	shrdl	$6,%edx,%edx
5283	movl	%ebx,%ecx
5284	addl	%edi,%edx
5285	movl	(%esp),%edi
5286	movl	%ebx,%esi
5287	shrdl	$9,%ecx,%ecx
5288	movl	%ebx,28(%esp)
5289	xorl	%ebx,%ecx
5290	xorl	%edi,%ebx
5291	addl	24(%esp),%edx
5292	shrdl	$11,%ecx,%ecx
5293	andl	%ebx,%eax
5294	xorl	%esi,%ecx
5295	addl	36(%esp),%edx
5296	xorl	%edi,%eax
5297	shrdl	$2,%ecx,%ecx
5298	addl	%edx,%eax
5299	addl	8(%esp),%edx
5300	addl	%ecx,%eax
5301	movl	%edx,%ecx
5302	shrdl	$14,%edx,%edx
5303	movl	12(%esp),%esi
5304	xorl	%ecx,%edx
5305	movl	16(%esp),%edi
5306	xorl	%edi,%esi
5307	shrdl	$5,%edx,%edx
5308	andl	%ecx,%esi
5309	movl	%ecx,8(%esp)
5310	xorl	%ecx,%edx
5311	xorl	%esi,%edi
5312	shrdl	$6,%edx,%edx
5313	movl	%eax,%ecx
5314	addl	%edi,%edx
5315	movl	28(%esp),%edi
5316	movl	%eax,%esi
5317	shrdl	$9,%ecx,%ecx
5318	movl	%eax,24(%esp)
5319	xorl	%eax,%ecx
5320	xorl	%edi,%eax
5321	addl	20(%esp),%edx
5322	shrdl	$11,%ecx,%ecx
5323	andl	%eax,%ebx
5324	xorl	%esi,%ecx
5325	addl	40(%esp),%edx
5326	xorl	%edi,%ebx
5327	shrdl	$2,%ecx,%ecx
5328	addl	%edx,%ebx
5329	addl	4(%esp),%edx
5330	addl	%ecx,%ebx
5331	movl	%edx,%ecx
5332	shrdl	$14,%edx,%edx
5333	movl	8(%esp),%esi
5334	xorl	%ecx,%edx
5335	movl	12(%esp),%edi
5336	xorl	%edi,%esi
5337	shrdl	$5,%edx,%edx
5338	andl	%ecx,%esi
5339	movl	%ecx,4(%esp)
5340	xorl	%ecx,%edx
5341	xorl	%esi,%edi
5342	shrdl	$6,%edx,%edx
5343	movl	%ebx,%ecx
5344	addl	%edi,%edx
5345	movl	24(%esp),%edi
5346	movl	%ebx,%esi
5347	shrdl	$9,%ecx,%ecx
5348	movl	%ebx,20(%esp)
5349	xorl	%ebx,%ecx
5350	xorl	%edi,%ebx
5351	addl	16(%esp),%edx
5352	shrdl	$11,%ecx,%ecx
5353	andl	%ebx,%eax
5354	xorl	%esi,%ecx
5355	addl	44(%esp),%edx
5356	xorl	%edi,%eax
5357	shrdl	$2,%ecx,%ecx
5358	addl	%edx,%eax
5359	addl	(%esp),%edx
5360	addl	%ecx,%eax
5361	movl	%edx,%ecx
5362	shrdl	$14,%edx,%edx
5363	movl	4(%esp),%esi
5364	xorl	%ecx,%edx
5365	movl	8(%esp),%edi
5366	xorl	%edi,%esi
5367	shrdl	$5,%edx,%edx
5368	andl	%ecx,%esi
5369	movl	%ecx,(%esp)
5370	xorl	%ecx,%edx
5371	xorl	%esi,%edi
5372	shrdl	$6,%edx,%edx
5373	movl	%eax,%ecx
5374	addl	%edi,%edx
5375	movl	20(%esp),%edi
5376	movl	%eax,%esi
5377	shrdl	$9,%ecx,%ecx
5378	movl	%eax,16(%esp)
5379	xorl	%eax,%ecx
5380	xorl	%edi,%eax
5381	addl	12(%esp),%edx
5382	shrdl	$11,%ecx,%ecx
5383	andl	%eax,%ebx
5384	xorl	%esi,%ecx
5385	addl	48(%esp),%edx
5386	xorl	%edi,%ebx
5387	shrdl	$2,%ecx,%ecx
5388	addl	%edx,%ebx
5389	addl	28(%esp),%edx
5390	addl	%ecx,%ebx
5391	movl	%edx,%ecx
5392	shrdl	$14,%edx,%edx
5393	movl	(%esp),%esi
5394	xorl	%ecx,%edx
5395	movl	4(%esp),%edi
5396	xorl	%edi,%esi
5397	shrdl	$5,%edx,%edx
5398	andl	%ecx,%esi
5399	movl	%ecx,28(%esp)
5400	xorl	%ecx,%edx
5401	xorl	%esi,%edi
5402	shrdl	$6,%edx,%edx
5403	movl	%ebx,%ecx
5404	addl	%edi,%edx
5405	movl	16(%esp),%edi
5406	movl	%ebx,%esi
5407	shrdl	$9,%ecx,%ecx
5408	movl	%ebx,12(%esp)
5409	xorl	%ebx,%ecx
5410	xorl	%edi,%ebx
5411	addl	8(%esp),%edx
5412	shrdl	$11,%ecx,%ecx
5413	andl	%ebx,%eax
5414	xorl	%esi,%ecx
5415	addl	52(%esp),%edx
5416	xorl	%edi,%eax
5417	shrdl	$2,%ecx,%ecx
5418	addl	%edx,%eax
5419	addl	24(%esp),%edx
5420	addl	%ecx,%eax
5421	movl	%edx,%ecx
5422	shrdl	$14,%edx,%edx
5423	movl	28(%esp),%esi
5424	xorl	%ecx,%edx
5425	movl	(%esp),%edi
5426	xorl	%edi,%esi
5427	shrdl	$5,%edx,%edx
5428	andl	%ecx,%esi
5429	movl	%ecx,24(%esp)
5430	xorl	%ecx,%edx
5431	xorl	%esi,%edi
5432	shrdl	$6,%edx,%edx
5433	movl	%eax,%ecx
5434	addl	%edi,%edx
5435	movl	12(%esp),%edi
5436	movl	%eax,%esi
5437	shrdl	$9,%ecx,%ecx
5438	movl	%eax,8(%esp)
5439	xorl	%eax,%ecx
5440	xorl	%edi,%eax
5441	addl	4(%esp),%edx
5442	shrdl	$11,%ecx,%ecx
5443	andl	%eax,%ebx
5444	xorl	%esi,%ecx
5445	addl	56(%esp),%edx
5446	xorl	%edi,%ebx
5447	shrdl	$2,%ecx,%ecx
5448	addl	%edx,%ebx
5449	addl	20(%esp),%edx
5450	addl	%ecx,%ebx
5451	movl	%edx,%ecx
5452	shrdl	$14,%edx,%edx
5453	movl	24(%esp),%esi
5454	xorl	%ecx,%edx
5455	movl	28(%esp),%edi
5456	xorl	%edi,%esi
5457	shrdl	$5,%edx,%edx
5458	andl	%ecx,%esi
5459	movl	%ecx,20(%esp)
5460	xorl	%ecx,%edx
5461	xorl	%esi,%edi
5462	shrdl	$6,%edx,%edx
5463	movl	%ebx,%ecx
5464	addl	%edi,%edx
5465	movl	8(%esp),%edi
5466	movl	%ebx,%esi
5467	shrdl	$9,%ecx,%ecx
5468	movl	%ebx,4(%esp)
5469	xorl	%ebx,%ecx
5470	xorl	%edi,%ebx
5471	addl	(%esp),%edx
5472	shrdl	$11,%ecx,%ecx
5473	andl	%ebx,%eax
5474	xorl	%esi,%ecx
5475	addl	60(%esp),%edx
5476	xorl	%edi,%eax
5477	shrdl	$2,%ecx,%ecx
5478	addl	%edx,%eax
5479	addl	16(%esp),%edx
5480	addl	%ecx,%eax
5481	movl	%edx,%ecx
5482	shrdl	$14,%edx,%edx
5483	movl	20(%esp),%esi
5484	xorl	%ecx,%edx
5485	movl	24(%esp),%edi
5486	xorl	%edi,%esi
5487	shrdl	$5,%edx,%edx
5488	andl	%ecx,%esi
5489	movl	%ecx,16(%esp)
5490	xorl	%ecx,%edx
5491	xorl	%esi,%edi
5492	shrdl	$6,%edx,%edx
5493	movl	%eax,%ecx
5494	addl	%edi,%edx
5495	movl	4(%esp),%edi
5496	movl	%eax,%esi
5497	shrdl	$9,%ecx,%ecx
5498	movl	%eax,(%esp)
5499	xorl	%eax,%ecx
5500	xorl	%edi,%eax
5501	addl	28(%esp),%edx
5502	shrdl	$11,%ecx,%ecx
5503	andl	%eax,%ebx
5504	xorl	%esi,%ecx
5505	addl	64(%esp),%edx
5506	xorl	%edi,%ebx
5507	shrdl	$2,%ecx,%ecx
5508	addl	%edx,%ebx
5509	addl	12(%esp),%edx
5510	addl	%ecx,%ebx
5511	movl	%edx,%ecx
5512	shrdl	$14,%edx,%edx
5513	movl	16(%esp),%esi
5514	xorl	%ecx,%edx
5515	movl	20(%esp),%edi
5516	xorl	%edi,%esi
5517	shrdl	$5,%edx,%edx
5518	andl	%ecx,%esi
5519	movl	%ecx,12(%esp)
5520	xorl	%ecx,%edx
5521	xorl	%esi,%edi
5522	shrdl	$6,%edx,%edx
5523	movl	%ebx,%ecx
5524	addl	%edi,%edx
5525	movl	(%esp),%edi
5526	movl	%ebx,%esi
5527	shrdl	$9,%ecx,%ecx
5528	movl	%ebx,28(%esp)
5529	xorl	%ebx,%ecx
5530	xorl	%edi,%ebx
5531	addl	24(%esp),%edx
5532	shrdl	$11,%ecx,%ecx
5533	andl	%ebx,%eax
5534	xorl	%esi,%ecx
5535	addl	68(%esp),%edx
5536	xorl	%edi,%eax
5537	shrdl	$2,%ecx,%ecx
5538	addl	%edx,%eax
5539	addl	8(%esp),%edx
5540	addl	%ecx,%eax
5541	movl	%edx,%ecx
5542	shrdl	$14,%edx,%edx
5543	movl	12(%esp),%esi
5544	xorl	%ecx,%edx
5545	movl	16(%esp),%edi
5546	xorl	%edi,%esi
5547	shrdl	$5,%edx,%edx
5548	andl	%ecx,%esi
5549	movl	%ecx,8(%esp)
5550	xorl	%ecx,%edx
5551	xorl	%esi,%edi
5552	shrdl	$6,%edx,%edx
5553	movl	%eax,%ecx
5554	addl	%edi,%edx
5555	movl	28(%esp),%edi
5556	movl	%eax,%esi
5557	shrdl	$9,%ecx,%ecx
5558	movl	%eax,24(%esp)
5559	xorl	%eax,%ecx
5560	xorl	%edi,%eax
5561	addl	20(%esp),%edx
5562	shrdl	$11,%ecx,%ecx
5563	andl	%eax,%ebx
5564	xorl	%esi,%ecx
5565	addl	72(%esp),%edx
5566	xorl	%edi,%ebx
5567	shrdl	$2,%ecx,%ecx
5568	addl	%edx,%ebx
5569	addl	4(%esp),%edx
5570	addl	%ecx,%ebx
5571	movl	%edx,%ecx
5572	shrdl	$14,%edx,%edx
5573	movl	8(%esp),%esi
5574	xorl	%ecx,%edx
5575	movl	12(%esp),%edi
5576	xorl	%edi,%esi
5577	shrdl	$5,%edx,%edx
5578	andl	%ecx,%esi
5579	movl	%ecx,4(%esp)
5580	xorl	%ecx,%edx
5581	xorl	%esi,%edi
5582	shrdl	$6,%edx,%edx
5583	movl	%ebx,%ecx
5584	addl	%edi,%edx
5585	movl	24(%esp),%edi
5586	movl	%ebx,%esi
5587	shrdl	$9,%ecx,%ecx
5588	movl	%ebx,20(%esp)
5589	xorl	%ebx,%ecx
5590	xorl	%edi,%ebx
5591	addl	16(%esp),%edx
5592	shrdl	$11,%ecx,%ecx
5593	andl	%ebx,%eax
5594	xorl	%esi,%ecx
5595	addl	76(%esp),%edx
5596	xorl	%edi,%eax
5597	shrdl	$2,%ecx,%ecx
5598	addl	%edx,%eax
5599	addl	(%esp),%edx
5600	addl	%ecx,%eax
5601	movl	%edx,%ecx
5602	shrdl	$14,%edx,%edx
5603	movl	4(%esp),%esi
5604	xorl	%ecx,%edx
5605	movl	8(%esp),%edi
5606	xorl	%edi,%esi
5607	shrdl	$5,%edx,%edx
5608	andl	%ecx,%esi
5609	movl	%ecx,(%esp)
5610	xorl	%ecx,%edx
5611	xorl	%esi,%edi
5612	shrdl	$6,%edx,%edx
5613	movl	%eax,%ecx
5614	addl	%edi,%edx
5615	movl	20(%esp),%edi
5616	movl	%eax,%esi
5617	shrdl	$9,%ecx,%ecx
5618	movl	%eax,16(%esp)
5619	xorl	%eax,%ecx
5620	xorl	%edi,%eax
5621	addl	12(%esp),%edx
5622	shrdl	$11,%ecx,%ecx
5623	andl	%eax,%ebx
5624	xorl	%esi,%ecx
5625	addl	80(%esp),%edx
5626	xorl	%edi,%ebx
5627	shrdl	$2,%ecx,%ecx
5628	addl	%edx,%ebx
5629	addl	28(%esp),%edx
5630	addl	%ecx,%ebx
5631	movl	%edx,%ecx
5632	shrdl	$14,%edx,%edx
5633	movl	(%esp),%esi
5634	xorl	%ecx,%edx
5635	movl	4(%esp),%edi
5636	xorl	%edi,%esi
5637	shrdl	$5,%edx,%edx
5638	andl	%ecx,%esi
5639	movl	%ecx,28(%esp)
5640	xorl	%ecx,%edx
5641	xorl	%esi,%edi
5642	shrdl	$6,%edx,%edx
5643	movl	%ebx,%ecx
5644	addl	%edi,%edx
5645	movl	16(%esp),%edi
5646	movl	%ebx,%esi
5647	shrdl	$9,%ecx,%ecx
5648	movl	%ebx,12(%esp)
5649	xorl	%ebx,%ecx
5650	xorl	%edi,%ebx
5651	addl	8(%esp),%edx
5652	shrdl	$11,%ecx,%ecx
5653	andl	%ebx,%eax
5654	xorl	%esi,%ecx
5655	addl	84(%esp),%edx
5656	xorl	%edi,%eax
5657	shrdl	$2,%ecx,%ecx
5658	addl	%edx,%eax
5659	addl	24(%esp),%edx
5660	addl	%ecx,%eax
5661	movl	%edx,%ecx
5662	shrdl	$14,%edx,%edx
5663	movl	28(%esp),%esi
5664	xorl	%ecx,%edx
5665	movl	(%esp),%edi
5666	xorl	%edi,%esi
5667	shrdl	$5,%edx,%edx
5668	andl	%ecx,%esi
5669	movl	%ecx,24(%esp)
5670	xorl	%ecx,%edx
5671	xorl	%esi,%edi
5672	shrdl	$6,%edx,%edx
5673	movl	%eax,%ecx
5674	addl	%edi,%edx
5675	movl	12(%esp),%edi
5676	movl	%eax,%esi
5677	shrdl	$9,%ecx,%ecx
5678	movl	%eax,8(%esp)
5679	xorl	%eax,%ecx
5680	xorl	%edi,%eax
5681	addl	4(%esp),%edx
5682	shrdl	$11,%ecx,%ecx
5683	andl	%eax,%ebx
5684	xorl	%esi,%ecx
5685	addl	88(%esp),%edx
5686	xorl	%edi,%ebx
5687	shrdl	$2,%ecx,%ecx
5688	addl	%edx,%ebx
5689	addl	20(%esp),%edx
5690	addl	%ecx,%ebx
5691	movl	%edx,%ecx
5692	shrdl	$14,%edx,%edx
5693	movl	24(%esp),%esi
5694	xorl	%ecx,%edx
5695	movl	28(%esp),%edi
5696	xorl	%edi,%esi
5697	shrdl	$5,%edx,%edx
5698	andl	%ecx,%esi
5699	movl	%ecx,20(%esp)
5700	xorl	%ecx,%edx
5701	xorl	%esi,%edi
5702	shrdl	$6,%edx,%edx
5703	movl	%ebx,%ecx
5704	addl	%edi,%edx
5705	movl	8(%esp),%edi
5706	movl	%ebx,%esi
5707	shrdl	$9,%ecx,%ecx
5708	movl	%ebx,4(%esp)
5709	xorl	%ebx,%ecx
5710	xorl	%edi,%ebx
5711	addl	(%esp),%edx
5712	shrdl	$11,%ecx,%ecx
5713	andl	%ebx,%eax
5714	xorl	%esi,%ecx
5715	addl	92(%esp),%edx
5716	xorl	%edi,%eax
5717	shrdl	$2,%ecx,%ecx
5718	addl	%edx,%eax
5719	addl	16(%esp),%edx
5720	addl	%ecx,%eax
5721	movl	96(%esp),%esi
5722	xorl	%edi,%ebx
5723	movl	12(%esp),%ecx
5724	addl	(%esi),%eax
5725	addl	4(%esi),%ebx
5726	addl	8(%esi),%edi
5727	addl	12(%esi),%ecx
5728	movl	%eax,(%esi)
5729	movl	%ebx,4(%esi)
5730	movl	%edi,8(%esi)
5731	movl	%ecx,12(%esi)
5732	movl	%ebx,4(%esp)
5733	xorl	%edi,%ebx
5734	movl	%edi,8(%esp)
5735	movl	%ecx,12(%esp)
5736	movl	20(%esp),%edi
5737	movl	24(%esp),%ecx
5738	addl	16(%esi),%edx
5739	addl	20(%esi),%edi
5740	addl	24(%esi),%ecx
5741	movl	%edx,16(%esi)
5742	movl	%edi,20(%esi)
5743	movl	%edi,20(%esp)
5744	movl	28(%esp),%edi
5745	movl	%ecx,24(%esi)
5746	addl	28(%esi),%edi
5747	movl	%ecx,24(%esp)
5748	movl	%edi,28(%esi)
5749	movl	%edi,28(%esp)
5750	movl	100(%esp),%edi
5751	vmovdqa	64(%ebp),%xmm7
5752	subl	$192,%ebp
5753	cmpl	104(%esp),%edi
5754	jb	.L015grand_avx
5755	movl	108(%esp),%esp
5756	vzeroall
5757	popl	%edi
5758	popl	%esi
5759	popl	%ebx
5760	popl	%ebp
5761	ret
5762.align	32
5763.L014AVX_BMI:
5764	leal	-96(%esp),%esp
5765	vzeroall
5766	movl	(%esi),%eax
5767	movl	4(%esi),%ebx
5768	movl	8(%esi),%ecx
5769	movl	12(%esi),%edi
5770	movl	%ebx,4(%esp)
5771	xorl	%ecx,%ebx
5772	movl	%ecx,8(%esp)
5773	movl	%edi,12(%esp)
5774	movl	16(%esi),%edx
5775	movl	20(%esi),%edi
5776	movl	24(%esi),%ecx
5777	movl	28(%esi),%esi
5778	movl	%edi,20(%esp)
5779	movl	100(%esp),%edi
5780	movl	%ecx,24(%esp)
5781	movl	%esi,28(%esp)
5782	vmovdqa	256(%ebp),%xmm7
5783	jmp	.L017grand_avx_bmi
5784.align	32
5785.L017grand_avx_bmi:
5786	vmovdqu	(%edi),%xmm0
5787	vmovdqu	16(%edi),%xmm1
5788	vmovdqu	32(%edi),%xmm2
5789	vmovdqu	48(%edi),%xmm3
5790	addl	$64,%edi
5791	vpshufb	%xmm7,%xmm0,%xmm0
5792	movl	%edi,100(%esp)
5793	vpshufb	%xmm7,%xmm1,%xmm1
5794	vpshufb	%xmm7,%xmm2,%xmm2
5795	vpaddd	(%ebp),%xmm0,%xmm4
5796	vpshufb	%xmm7,%xmm3,%xmm3
5797	vpaddd	16(%ebp),%xmm1,%xmm5
5798	vpaddd	32(%ebp),%xmm2,%xmm6
5799	vpaddd	48(%ebp),%xmm3,%xmm7
5800	vmovdqa	%xmm4,32(%esp)
5801	vmovdqa	%xmm5,48(%esp)
5802	vmovdqa	%xmm6,64(%esp)
5803	vmovdqa	%xmm7,80(%esp)
5804	jmp	.L018avx_bmi_00_47
5805.align	16
5806.L018avx_bmi_00_47:
5807	addl	$64,%ebp
5808	vpalignr	$4,%xmm0,%xmm1,%xmm4
5809	rorxl	$6,%edx,%ecx
5810	rorxl	$11,%edx,%esi
5811	movl	%edx,16(%esp)
5812	vpalignr	$4,%xmm2,%xmm3,%xmm7
5813	rorxl	$25,%edx,%edi
5814	xorl	%esi,%ecx
5815	andnl	24(%esp),%edx,%esi
5816	vpsrld	$7,%xmm4,%xmm6
5817	xorl	%edi,%ecx
5818	andl	20(%esp),%edx
5819	movl	%eax,(%esp)
5820	vpaddd	%xmm7,%xmm0,%xmm0
5821	orl	%esi,%edx
5822	rorxl	$2,%eax,%edi
5823	rorxl	$13,%eax,%esi
5824	vpsrld	$3,%xmm4,%xmm7
5825	leal	(%edx,%ecx,1),%edx
5826	rorxl	$22,%eax,%ecx
5827	xorl	%edi,%esi
5828	vpslld	$14,%xmm4,%xmm5
5829	movl	4(%esp),%edi
5830	xorl	%esi,%ecx
5831	xorl	%edi,%eax
5832	vpxor	%xmm6,%xmm7,%xmm4
5833	addl	28(%esp),%edx
5834	andl	%eax,%ebx
5835	addl	32(%esp),%edx
5836	vpshufd	$250,%xmm3,%xmm7
5837	xorl	%edi,%ebx
5838	addl	%edx,%ecx
5839	addl	12(%esp),%edx
5840	vpsrld	$11,%xmm6,%xmm6
5841	leal	(%ebx,%ecx,1),%ebx
5842	rorxl	$6,%edx,%ecx
5843	rorxl	$11,%edx,%esi
5844	vpxor	%xmm5,%xmm4,%xmm4
5845	movl	%edx,12(%esp)
5846	rorxl	$25,%edx,%edi
5847	xorl	%esi,%ecx
5848	vpslld	$11,%xmm5,%xmm5
5849	andnl	20(%esp),%edx,%esi
5850	xorl	%edi,%ecx
5851	andl	16(%esp),%edx
5852	vpxor	%xmm6,%xmm4,%xmm4
5853	movl	%ebx,28(%esp)
5854	orl	%esi,%edx
5855	rorxl	$2,%ebx,%edi
5856	rorxl	$13,%ebx,%esi
5857	vpsrld	$10,%xmm7,%xmm6
5858	leal	(%edx,%ecx,1),%edx
5859	rorxl	$22,%ebx,%ecx
5860	xorl	%edi,%esi
5861	vpxor	%xmm5,%xmm4,%xmm4
5862	movl	(%esp),%edi
5863	xorl	%esi,%ecx
5864	xorl	%edi,%ebx
5865	vpsrlq	$17,%xmm7,%xmm5
5866	addl	24(%esp),%edx
5867	andl	%ebx,%eax
5868	addl	36(%esp),%edx
5869	vpaddd	%xmm4,%xmm0,%xmm0
5870	xorl	%edi,%eax
5871	addl	%edx,%ecx
5872	addl	8(%esp),%edx
5873	vpxor	%xmm5,%xmm6,%xmm6
5874	leal	(%eax,%ecx,1),%eax
5875	rorxl	$6,%edx,%ecx
5876	rorxl	$11,%edx,%esi
5877	vpsrlq	$19,%xmm7,%xmm7
5878	movl	%edx,8(%esp)
5879	rorxl	$25,%edx,%edi
5880	xorl	%esi,%ecx
5881	vpxor	%xmm7,%xmm6,%xmm6
5882	andnl	16(%esp),%edx,%esi
5883	xorl	%edi,%ecx
5884	andl	12(%esp),%edx
5885	vpshufd	$132,%xmm6,%xmm7
5886	movl	%eax,24(%esp)
5887	orl	%esi,%edx
5888	rorxl	$2,%eax,%edi
5889	rorxl	$13,%eax,%esi
5890	vpsrldq	$8,%xmm7,%xmm7
5891	leal	(%edx,%ecx,1),%edx
5892	rorxl	$22,%eax,%ecx
5893	xorl	%edi,%esi
5894	vpaddd	%xmm7,%xmm0,%xmm0
5895	movl	28(%esp),%edi
5896	xorl	%esi,%ecx
5897	xorl	%edi,%eax
5898	vpshufd	$80,%xmm0,%xmm7
5899	addl	20(%esp),%edx
5900	andl	%eax,%ebx
5901	addl	40(%esp),%edx
5902	vpsrld	$10,%xmm7,%xmm6
5903	xorl	%edi,%ebx
5904	addl	%edx,%ecx
5905	addl	4(%esp),%edx
5906	vpsrlq	$17,%xmm7,%xmm5
5907	leal	(%ebx,%ecx,1),%ebx
5908	rorxl	$6,%edx,%ecx
5909	rorxl	$11,%edx,%esi
5910	vpxor	%xmm5,%xmm6,%xmm6
5911	movl	%edx,4(%esp)
5912	rorxl	$25,%edx,%edi
5913	xorl	%esi,%ecx
5914	vpsrlq	$19,%xmm7,%xmm7
5915	andnl	12(%esp),%edx,%esi
5916	xorl	%edi,%ecx
5917	andl	8(%esp),%edx
5918	vpxor	%xmm7,%xmm6,%xmm6
5919	movl	%ebx,20(%esp)
5920	orl	%esi,%edx
5921	rorxl	$2,%ebx,%edi
5922	rorxl	$13,%ebx,%esi
5923	vpshufd	$232,%xmm6,%xmm7
5924	leal	(%edx,%ecx,1),%edx
5925	rorxl	$22,%ebx,%ecx
5926	xorl	%edi,%esi
5927	vpslldq	$8,%xmm7,%xmm7
5928	movl	24(%esp),%edi
5929	xorl	%esi,%ecx
5930	xorl	%edi,%ebx
5931	vpaddd	%xmm7,%xmm0,%xmm0
5932	addl	16(%esp),%edx
5933	andl	%ebx,%eax
5934	addl	44(%esp),%edx
5935	vpaddd	(%ebp),%xmm0,%xmm6
5936	xorl	%edi,%eax
5937	addl	%edx,%ecx
5938	addl	(%esp),%edx
5939	leal	(%eax,%ecx,1),%eax
5940	vmovdqa	%xmm6,32(%esp)
5941	vpalignr	$4,%xmm1,%xmm2,%xmm4
5942	rorxl	$6,%edx,%ecx
5943	rorxl	$11,%edx,%esi
5944	movl	%edx,(%esp)
5945	vpalignr	$4,%xmm3,%xmm0,%xmm7
5946	rorxl	$25,%edx,%edi
5947	xorl	%esi,%ecx
5948	andnl	8(%esp),%edx,%esi
5949	vpsrld	$7,%xmm4,%xmm6
5950	xorl	%edi,%ecx
5951	andl	4(%esp),%edx
5952	movl	%eax,16(%esp)
5953	vpaddd	%xmm7,%xmm1,%xmm1
5954	orl	%esi,%edx
5955	rorxl	$2,%eax,%edi
5956	rorxl	$13,%eax,%esi
5957	vpsrld	$3,%xmm4,%xmm7
5958	leal	(%edx,%ecx,1),%edx
5959	rorxl	$22,%eax,%ecx
5960	xorl	%edi,%esi
5961	vpslld	$14,%xmm4,%xmm5
5962	movl	20(%esp),%edi
5963	xorl	%esi,%ecx
5964	xorl	%edi,%eax
5965	vpxor	%xmm6,%xmm7,%xmm4
5966	addl	12(%esp),%edx
5967	andl	%eax,%ebx
5968	addl	48(%esp),%edx
5969	vpshufd	$250,%xmm0,%xmm7
5970	xorl	%edi,%ebx
5971	addl	%edx,%ecx
5972	addl	28(%esp),%edx
5973	vpsrld	$11,%xmm6,%xmm6
5974	leal	(%ebx,%ecx,1),%ebx
5975	rorxl	$6,%edx,%ecx
5976	rorxl	$11,%edx,%esi
5977	vpxor	%xmm5,%xmm4,%xmm4
5978	movl	%edx,28(%esp)
5979	rorxl	$25,%edx,%edi
5980	xorl	%esi,%ecx
5981	vpslld	$11,%xmm5,%xmm5
5982	andnl	4(%esp),%edx,%esi
5983	xorl	%edi,%ecx
5984	andl	(%esp),%edx
5985	vpxor	%xmm6,%xmm4,%xmm4
5986	movl	%ebx,12(%esp)
5987	orl	%esi,%edx
5988	rorxl	$2,%ebx,%edi
5989	rorxl	$13,%ebx,%esi
5990	vpsrld	$10,%xmm7,%xmm6
5991	leal	(%edx,%ecx,1),%edx
5992	rorxl	$22,%ebx,%ecx
5993	xorl	%edi,%esi
5994	vpxor	%xmm5,%xmm4,%xmm4
5995	movl	16(%esp),%edi
5996	xorl	%esi,%ecx
5997	xorl	%edi,%ebx
5998	vpsrlq	$17,%xmm7,%xmm5
5999	addl	8(%esp),%edx
6000	andl	%ebx,%eax
6001	addl	52(%esp),%edx
6002	vpaddd	%xmm4,%xmm1,%xmm1
6003	xorl	%edi,%eax
6004	addl	%edx,%ecx
6005	addl	24(%esp),%edx
6006	vpxor	%xmm5,%xmm6,%xmm6
6007	leal	(%eax,%ecx,1),%eax
6008	rorxl	$6,%edx,%ecx
6009	rorxl	$11,%edx,%esi
6010	vpsrlq	$19,%xmm7,%xmm7
6011	movl	%edx,24(%esp)
6012	rorxl	$25,%edx,%edi
6013	xorl	%esi,%ecx
6014	vpxor	%xmm7,%xmm6,%xmm6
6015	andnl	(%esp),%edx,%esi
6016	xorl	%edi,%ecx
6017	andl	28(%esp),%edx
6018	vpshufd	$132,%xmm6,%xmm7
6019	movl	%eax,8(%esp)
6020	orl	%esi,%edx
6021	rorxl	$2,%eax,%edi
6022	rorxl	$13,%eax,%esi
6023	vpsrldq	$8,%xmm7,%xmm7
6024	leal	(%edx,%ecx,1),%edx
6025	rorxl	$22,%eax,%ecx
6026	xorl	%edi,%esi
6027	vpaddd	%xmm7,%xmm1,%xmm1
6028	movl	12(%esp),%edi
6029	xorl	%esi,%ecx
6030	xorl	%edi,%eax
6031	vpshufd	$80,%xmm1,%xmm7
6032	addl	4(%esp),%edx
6033	andl	%eax,%ebx
6034	addl	56(%esp),%edx
6035	vpsrld	$10,%xmm7,%xmm6
6036	xorl	%edi,%ebx
6037	addl	%edx,%ecx
6038	addl	20(%esp),%edx
6039	vpsrlq	$17,%xmm7,%xmm5
6040	leal	(%ebx,%ecx,1),%ebx
6041	rorxl	$6,%edx,%ecx
6042	rorxl	$11,%edx,%esi
6043	vpxor	%xmm5,%xmm6,%xmm6
6044	movl	%edx,20(%esp)
6045	rorxl	$25,%edx,%edi
6046	xorl	%esi,%ecx
6047	vpsrlq	$19,%xmm7,%xmm7
6048	andnl	28(%esp),%edx,%esi
6049	xorl	%edi,%ecx
6050	andl	24(%esp),%edx
6051	vpxor	%xmm7,%xmm6,%xmm6
6052	movl	%ebx,4(%esp)
6053	orl	%esi,%edx
6054	rorxl	$2,%ebx,%edi
6055	rorxl	$13,%ebx,%esi
6056	vpshufd	$232,%xmm6,%xmm7
6057	leal	(%edx,%ecx,1),%edx
6058	rorxl	$22,%ebx,%ecx
6059	xorl	%edi,%esi
6060	vpslldq	$8,%xmm7,%xmm7
6061	movl	8(%esp),%edi
6062	xorl	%esi,%ecx
6063	xorl	%edi,%ebx
6064	vpaddd	%xmm7,%xmm1,%xmm1
6065	addl	(%esp),%edx
6066	andl	%ebx,%eax
6067	addl	60(%esp),%edx
6068	vpaddd	16(%ebp),%xmm1,%xmm6
6069	xorl	%edi,%eax
6070	addl	%edx,%ecx
6071	addl	16(%esp),%edx
6072	leal	(%eax,%ecx,1),%eax
6073	vmovdqa	%xmm6,48(%esp)
6074	vpalignr	$4,%xmm2,%xmm3,%xmm4
6075	rorxl	$6,%edx,%ecx
6076	rorxl	$11,%edx,%esi
6077	movl	%edx,16(%esp)
6078	vpalignr	$4,%xmm0,%xmm1,%xmm7
6079	rorxl	$25,%edx,%edi
6080	xorl	%esi,%ecx
6081	andnl	24(%esp),%edx,%esi
6082	vpsrld	$7,%xmm4,%xmm6
6083	xorl	%edi,%ecx
6084	andl	20(%esp),%edx
6085	movl	%eax,(%esp)
6086	vpaddd	%xmm7,%xmm2,%xmm2
6087	orl	%esi,%edx
6088	rorxl	$2,%eax,%edi
6089	rorxl	$13,%eax,%esi
6090	vpsrld	$3,%xmm4,%xmm7
6091	leal	(%edx,%ecx,1),%edx
6092	rorxl	$22,%eax,%ecx
6093	xorl	%edi,%esi
6094	vpslld	$14,%xmm4,%xmm5
6095	movl	4(%esp),%edi
6096	xorl	%esi,%ecx
6097	xorl	%edi,%eax
6098	vpxor	%xmm6,%xmm7,%xmm4
6099	addl	28(%esp),%edx
6100	andl	%eax,%ebx
6101	addl	64(%esp),%edx
6102	vpshufd	$250,%xmm1,%xmm7
6103	xorl	%edi,%ebx
6104	addl	%edx,%ecx
6105	addl	12(%esp),%edx
6106	vpsrld	$11,%xmm6,%xmm6
6107	leal	(%ebx,%ecx,1),%ebx
6108	rorxl	$6,%edx,%ecx
6109	rorxl	$11,%edx,%esi
6110	vpxor	%xmm5,%xmm4,%xmm4
6111	movl	%edx,12(%esp)
6112	rorxl	$25,%edx,%edi
6113	xorl	%esi,%ecx
6114	vpslld	$11,%xmm5,%xmm5
6115	andnl	20(%esp),%edx,%esi
6116	xorl	%edi,%ecx
6117	andl	16(%esp),%edx
6118	vpxor	%xmm6,%xmm4,%xmm4
6119	movl	%ebx,28(%esp)
6120	orl	%esi,%edx
6121	rorxl	$2,%ebx,%edi
6122	rorxl	$13,%ebx,%esi
6123	vpsrld	$10,%xmm7,%xmm6
6124	leal	(%edx,%ecx,1),%edx
6125	rorxl	$22,%ebx,%ecx
6126	xorl	%edi,%esi
6127	vpxor	%xmm5,%xmm4,%xmm4
6128	movl	(%esp),%edi
6129	xorl	%esi,%ecx
6130	xorl	%edi,%ebx
6131	vpsrlq	$17,%xmm7,%xmm5
6132	addl	24(%esp),%edx
6133	andl	%ebx,%eax
6134	addl	68(%esp),%edx
6135	vpaddd	%xmm4,%xmm2,%xmm2
6136	xorl	%edi,%eax
6137	addl	%edx,%ecx
6138	addl	8(%esp),%edx
6139	vpxor	%xmm5,%xmm6,%xmm6
6140	leal	(%eax,%ecx,1),%eax
6141	rorxl	$6,%edx,%ecx
6142	rorxl	$11,%edx,%esi
6143	vpsrlq	$19,%xmm7,%xmm7
6144	movl	%edx,8(%esp)
6145	rorxl	$25,%edx,%edi
6146	xorl	%esi,%ecx
6147	vpxor	%xmm7,%xmm6,%xmm6
6148	andnl	16(%esp),%edx,%esi
6149	xorl	%edi,%ecx
6150	andl	12(%esp),%edx
6151	vpshufd	$132,%xmm6,%xmm7
6152	movl	%eax,24(%esp)
6153	orl	%esi,%edx
6154	rorxl	$2,%eax,%edi
6155	rorxl	$13,%eax,%esi
6156	vpsrldq	$8,%xmm7,%xmm7
6157	leal	(%edx,%ecx,1),%edx
6158	rorxl	$22,%eax,%ecx
6159	xorl	%edi,%esi
6160	vpaddd	%xmm7,%xmm2,%xmm2
6161	movl	28(%esp),%edi
6162	xorl	%esi,%ecx
6163	xorl	%edi,%eax
6164	vpshufd	$80,%xmm2,%xmm7
6165	addl	20(%esp),%edx
6166	andl	%eax,%ebx
6167	addl	72(%esp),%edx
6168	vpsrld	$10,%xmm7,%xmm6
6169	xorl	%edi,%ebx
6170	addl	%edx,%ecx
6171	addl	4(%esp),%edx
6172	vpsrlq	$17,%xmm7,%xmm5
6173	leal	(%ebx,%ecx,1),%ebx
6174	rorxl	$6,%edx,%ecx
6175	rorxl	$11,%edx,%esi
6176	vpxor	%xmm5,%xmm6,%xmm6
6177	movl	%edx,4(%esp)
6178	rorxl	$25,%edx,%edi
6179	xorl	%esi,%ecx
6180	vpsrlq	$19,%xmm7,%xmm7
6181	andnl	12(%esp),%edx,%esi
6182	xorl	%edi,%ecx
6183	andl	8(%esp),%edx
6184	vpxor	%xmm7,%xmm6,%xmm6
6185	movl	%ebx,20(%esp)
6186	orl	%esi,%edx
6187	rorxl	$2,%ebx,%edi
6188	rorxl	$13,%ebx,%esi
6189	vpshufd	$232,%xmm6,%xmm7
6190	leal	(%edx,%ecx,1),%edx
6191	rorxl	$22,%ebx,%ecx
6192	xorl	%edi,%esi
6193	vpslldq	$8,%xmm7,%xmm7
6194	movl	24(%esp),%edi
6195	xorl	%esi,%ecx
6196	xorl	%edi,%ebx
6197	vpaddd	%xmm7,%xmm2,%xmm2
6198	addl	16(%esp),%edx
6199	andl	%ebx,%eax
6200	addl	76(%esp),%edx
6201	vpaddd	32(%ebp),%xmm2,%xmm6
6202	xorl	%edi,%eax
6203	addl	%edx,%ecx
6204	addl	(%esp),%edx
6205	leal	(%eax,%ecx,1),%eax
6206	vmovdqa	%xmm6,64(%esp)
6207	vpalignr	$4,%xmm3,%xmm0,%xmm4
6208	rorxl	$6,%edx,%ecx
6209	rorxl	$11,%edx,%esi
6210	movl	%edx,(%esp)
6211	vpalignr	$4,%xmm1,%xmm2,%xmm7
6212	rorxl	$25,%edx,%edi
6213	xorl	%esi,%ecx
6214	andnl	8(%esp),%edx,%esi
6215	vpsrld	$7,%xmm4,%xmm6
6216	xorl	%edi,%ecx
6217	andl	4(%esp),%edx
6218	movl	%eax,16(%esp)
6219	vpaddd	%xmm7,%xmm3,%xmm3
6220	orl	%esi,%edx
6221	rorxl	$2,%eax,%edi
6222	rorxl	$13,%eax,%esi
6223	vpsrld	$3,%xmm4,%xmm7
6224	leal	(%edx,%ecx,1),%edx
6225	rorxl	$22,%eax,%ecx
6226	xorl	%edi,%esi
6227	vpslld	$14,%xmm4,%xmm5
6228	movl	20(%esp),%edi
6229	xorl	%esi,%ecx
6230	xorl	%edi,%eax
6231	vpxor	%xmm6,%xmm7,%xmm4
6232	addl	12(%esp),%edx
6233	andl	%eax,%ebx
6234	addl	80(%esp),%edx
6235	vpshufd	$250,%xmm2,%xmm7
6236	xorl	%edi,%ebx
6237	addl	%edx,%ecx
6238	addl	28(%esp),%edx
6239	vpsrld	$11,%xmm6,%xmm6
6240	leal	(%ebx,%ecx,1),%ebx
6241	rorxl	$6,%edx,%ecx
6242	rorxl	$11,%edx,%esi
6243	vpxor	%xmm5,%xmm4,%xmm4
6244	movl	%edx,28(%esp)
6245	rorxl	$25,%edx,%edi
6246	xorl	%esi,%ecx
6247	vpslld	$11,%xmm5,%xmm5
6248	andnl	4(%esp),%edx,%esi
6249	xorl	%edi,%ecx
6250	andl	(%esp),%edx
6251	vpxor	%xmm6,%xmm4,%xmm4
6252	movl	%ebx,12(%esp)
6253	orl	%esi,%edx
6254	rorxl	$2,%ebx,%edi
6255	rorxl	$13,%ebx,%esi
6256	vpsrld	$10,%xmm7,%xmm6
6257	leal	(%edx,%ecx,1),%edx
6258	rorxl	$22,%ebx,%ecx
6259	xorl	%edi,%esi
6260	vpxor	%xmm5,%xmm4,%xmm4
6261	movl	16(%esp),%edi
6262	xorl	%esi,%ecx
6263	xorl	%edi,%ebx
6264	vpsrlq	$17,%xmm7,%xmm5
6265	addl	8(%esp),%edx
6266	andl	%ebx,%eax
6267	addl	84(%esp),%edx
6268	vpaddd	%xmm4,%xmm3,%xmm3
6269	xorl	%edi,%eax
6270	addl	%edx,%ecx
6271	addl	24(%esp),%edx
6272	vpxor	%xmm5,%xmm6,%xmm6
6273	leal	(%eax,%ecx,1),%eax
6274	rorxl	$6,%edx,%ecx
6275	rorxl	$11,%edx,%esi
6276	vpsrlq	$19,%xmm7,%xmm7
6277	movl	%edx,24(%esp)
6278	rorxl	$25,%edx,%edi
6279	xorl	%esi,%ecx
6280	vpxor	%xmm7,%xmm6,%xmm6
6281	andnl	(%esp),%edx,%esi
6282	xorl	%edi,%ecx
6283	andl	28(%esp),%edx
6284	vpshufd	$132,%xmm6,%xmm7
6285	movl	%eax,8(%esp)
6286	orl	%esi,%edx
6287	rorxl	$2,%eax,%edi
6288	rorxl	$13,%eax,%esi
6289	vpsrldq	$8,%xmm7,%xmm7
6290	leal	(%edx,%ecx,1),%edx
6291	rorxl	$22,%eax,%ecx
6292	xorl	%edi,%esi
6293	vpaddd	%xmm7,%xmm3,%xmm3
6294	movl	12(%esp),%edi
6295	xorl	%esi,%ecx
6296	xorl	%edi,%eax
6297	vpshufd	$80,%xmm3,%xmm7
6298	addl	4(%esp),%edx
6299	andl	%eax,%ebx
6300	addl	88(%esp),%edx
6301	vpsrld	$10,%xmm7,%xmm6
6302	xorl	%edi,%ebx
6303	addl	%edx,%ecx
6304	addl	20(%esp),%edx
6305	vpsrlq	$17,%xmm7,%xmm5
6306	leal	(%ebx,%ecx,1),%ebx
6307	rorxl	$6,%edx,%ecx
6308	rorxl	$11,%edx,%esi
6309	vpxor	%xmm5,%xmm6,%xmm6
6310	movl	%edx,20(%esp)
6311	rorxl	$25,%edx,%edi
6312	xorl	%esi,%ecx
6313	vpsrlq	$19,%xmm7,%xmm7
6314	andnl	28(%esp),%edx,%esi
6315	xorl	%edi,%ecx
6316	andl	24(%esp),%edx
6317	vpxor	%xmm7,%xmm6,%xmm6
6318	movl	%ebx,4(%esp)
6319	orl	%esi,%edx
6320	rorxl	$2,%ebx,%edi
6321	rorxl	$13,%ebx,%esi
6322	vpshufd	$232,%xmm6,%xmm7
6323	leal	(%edx,%ecx,1),%edx
6324	rorxl	$22,%ebx,%ecx
6325	xorl	%edi,%esi
6326	vpslldq	$8,%xmm7,%xmm7
6327	movl	8(%esp),%edi
6328	xorl	%esi,%ecx
6329	xorl	%edi,%ebx
6330	vpaddd	%xmm7,%xmm3,%xmm3
6331	addl	(%esp),%edx
6332	andl	%ebx,%eax
6333	addl	92(%esp),%edx
6334	vpaddd	48(%ebp),%xmm3,%xmm6
6335	xorl	%edi,%eax
6336	addl	%edx,%ecx
6337	addl	16(%esp),%edx
6338	leal	(%eax,%ecx,1),%eax
6339	vmovdqa	%xmm6,80(%esp)
6340	cmpl	$66051,64(%ebp)
6341	jne	.L018avx_bmi_00_47
6342	rorxl	$6,%edx,%ecx
6343	rorxl	$11,%edx,%esi
6344	movl	%edx,16(%esp)
6345	rorxl	$25,%edx,%edi
6346	xorl	%esi,%ecx
6347	andnl	24(%esp),%edx,%esi
6348	xorl	%edi,%ecx
6349	andl	20(%esp),%edx
6350	movl	%eax,(%esp)
6351	orl	%esi,%edx
6352	rorxl	$2,%eax,%edi
6353	rorxl	$13,%eax,%esi
6354	leal	(%edx,%ecx,1),%edx
6355	rorxl	$22,%eax,%ecx
6356	xorl	%edi,%esi
6357	movl	4(%esp),%edi
6358	xorl	%esi,%ecx
6359	xorl	%edi,%eax
6360	addl	28(%esp),%edx
6361	andl	%eax,%ebx
6362	addl	32(%esp),%edx
6363	xorl	%edi,%ebx
6364	addl	%edx,%ecx
6365	addl	12(%esp),%edx
6366	leal	(%ebx,%ecx,1),%ebx
6367	rorxl	$6,%edx,%ecx
6368	rorxl	$11,%edx,%esi
6369	movl	%edx,12(%esp)
6370	rorxl	$25,%edx,%edi
6371	xorl	%esi,%ecx
6372	andnl	20(%esp),%edx,%esi
6373	xorl	%edi,%ecx
6374	andl	16(%esp),%edx
6375	movl	%ebx,28(%esp)
6376	orl	%esi,%edx
6377	rorxl	$2,%ebx,%edi
6378	rorxl	$13,%ebx,%esi
6379	leal	(%edx,%ecx,1),%edx
6380	rorxl	$22,%ebx,%ecx
6381	xorl	%edi,%esi
6382	movl	(%esp),%edi
6383	xorl	%esi,%ecx
6384	xorl	%edi,%ebx
6385	addl	24(%esp),%edx
6386	andl	%ebx,%eax
6387	addl	36(%esp),%edx
6388	xorl	%edi,%eax
6389	addl	%edx,%ecx
6390	addl	8(%esp),%edx
6391	leal	(%eax,%ecx,1),%eax
6392	rorxl	$6,%edx,%ecx
6393	rorxl	$11,%edx,%esi
6394	movl	%edx,8(%esp)
6395	rorxl	$25,%edx,%edi
6396	xorl	%esi,%ecx
6397	andnl	16(%esp),%edx,%esi
6398	xorl	%edi,%ecx
6399	andl	12(%esp),%edx
6400	movl	%eax,24(%esp)
6401	orl	%esi,%edx
6402	rorxl	$2,%eax,%edi
6403	rorxl	$13,%eax,%esi
6404	leal	(%edx,%ecx,1),%edx
6405	rorxl	$22,%eax,%ecx
6406	xorl	%edi,%esi
6407	movl	28(%esp),%edi
6408	xorl	%esi,%ecx
6409	xorl	%edi,%eax
6410	addl	20(%esp),%edx
6411	andl	%eax,%ebx
6412	addl	40(%esp),%edx
6413	xorl	%edi,%ebx
6414	addl	%edx,%ecx
6415	addl	4(%esp),%edx
6416	leal	(%ebx,%ecx,1),%ebx
6417	rorxl	$6,%edx,%ecx
6418	rorxl	$11,%edx,%esi
6419	movl	%edx,4(%esp)
6420	rorxl	$25,%edx,%edi
6421	xorl	%esi,%ecx
6422	andnl	12(%esp),%edx,%esi
6423	xorl	%edi,%ecx
6424	andl	8(%esp),%edx
6425	movl	%ebx,20(%esp)
6426	orl	%esi,%edx
6427	rorxl	$2,%ebx,%edi
6428	rorxl	$13,%ebx,%esi
6429	leal	(%edx,%ecx,1),%edx
6430	rorxl	$22,%ebx,%ecx
6431	xorl	%edi,%esi
6432	movl	24(%esp),%edi
6433	xorl	%esi,%ecx
6434	xorl	%edi,%ebx
6435	addl	16(%esp),%edx
6436	andl	%ebx,%eax
6437	addl	44(%esp),%edx
6438	xorl	%edi,%eax
6439	addl	%edx,%ecx
6440	addl	(%esp),%edx
6441	leal	(%eax,%ecx,1),%eax
6442	rorxl	$6,%edx,%ecx
6443	rorxl	$11,%edx,%esi
6444	movl	%edx,(%esp)
6445	rorxl	$25,%edx,%edi
6446	xorl	%esi,%ecx
6447	andnl	8(%esp),%edx,%esi
6448	xorl	%edi,%ecx
6449	andl	4(%esp),%edx
6450	movl	%eax,16(%esp)
6451	orl	%esi,%edx
6452	rorxl	$2,%eax,%edi
6453	rorxl	$13,%eax,%esi
6454	leal	(%edx,%ecx,1),%edx
6455	rorxl	$22,%eax,%ecx
6456	xorl	%edi,%esi
6457	movl	20(%esp),%edi
6458	xorl	%esi,%ecx
6459	xorl	%edi,%eax
6460	addl	12(%esp),%edx
6461	andl	%eax,%ebx
6462	addl	48(%esp),%edx
6463	xorl	%edi,%ebx
6464	addl	%edx,%ecx
6465	addl	28(%esp),%edx
6466	leal	(%ebx,%ecx,1),%ebx
6467	rorxl	$6,%edx,%ecx
6468	rorxl	$11,%edx,%esi
6469	movl	%edx,28(%esp)
6470	rorxl	$25,%edx,%edi
6471	xorl	%esi,%ecx
6472	andnl	4(%esp),%edx,%esi
6473	xorl	%edi,%ecx
6474	andl	(%esp),%edx
6475	movl	%ebx,12(%esp)
6476	orl	%esi,%edx
6477	rorxl	$2,%ebx,%edi
6478	rorxl	$13,%ebx,%esi
6479	leal	(%edx,%ecx,1),%edx
6480	rorxl	$22,%ebx,%ecx
6481	xorl	%edi,%esi
6482	movl	16(%esp),%edi
6483	xorl	%esi,%ecx
6484	xorl	%edi,%ebx
6485	addl	8(%esp),%edx
6486	andl	%ebx,%eax
6487	addl	52(%esp),%edx
6488	xorl	%edi,%eax
6489	addl	%edx,%ecx
6490	addl	24(%esp),%edx
6491	leal	(%eax,%ecx,1),%eax
6492	rorxl	$6,%edx,%ecx
6493	rorxl	$11,%edx,%esi
6494	movl	%edx,24(%esp)
6495	rorxl	$25,%edx,%edi
6496	xorl	%esi,%ecx
6497	andnl	(%esp),%edx,%esi
6498	xorl	%edi,%ecx
6499	andl	28(%esp),%edx
6500	movl	%eax,8(%esp)
6501	orl	%esi,%edx
6502	rorxl	$2,%eax,%edi
6503	rorxl	$13,%eax,%esi
6504	leal	(%edx,%ecx,1),%edx
6505	rorxl	$22,%eax,%ecx
6506	xorl	%edi,%esi
6507	movl	12(%esp),%edi
6508	xorl	%esi,%ecx
6509	xorl	%edi,%eax
6510	addl	4(%esp),%edx
6511	andl	%eax,%ebx
6512	addl	56(%esp),%edx
6513	xorl	%edi,%ebx
6514	addl	%edx,%ecx
6515	addl	20(%esp),%edx
6516	leal	(%ebx,%ecx,1),%ebx
6517	rorxl	$6,%edx,%ecx
6518	rorxl	$11,%edx,%esi
6519	movl	%edx,20(%esp)
6520	rorxl	$25,%edx,%edi
6521	xorl	%esi,%ecx
6522	andnl	28(%esp),%edx,%esi
6523	xorl	%edi,%ecx
6524	andl	24(%esp),%edx
6525	movl	%ebx,4(%esp)
6526	orl	%esi,%edx
6527	rorxl	$2,%ebx,%edi
6528	rorxl	$13,%ebx,%esi
6529	leal	(%edx,%ecx,1),%edx
6530	rorxl	$22,%ebx,%ecx
6531	xorl	%edi,%esi
6532	movl	8(%esp),%edi
6533	xorl	%esi,%ecx
6534	xorl	%edi,%ebx
6535	addl	(%esp),%edx
6536	andl	%ebx,%eax
6537	addl	60(%esp),%edx
6538	xorl	%edi,%eax
6539	addl	%edx,%ecx
6540	addl	16(%esp),%edx
6541	leal	(%eax,%ecx,1),%eax
6542	rorxl	$6,%edx,%ecx
6543	rorxl	$11,%edx,%esi
6544	movl	%edx,16(%esp)
6545	rorxl	$25,%edx,%edi
6546	xorl	%esi,%ecx
6547	andnl	24(%esp),%edx,%esi
6548	xorl	%edi,%ecx
6549	andl	20(%esp),%edx
6550	movl	%eax,(%esp)
6551	orl	%esi,%edx
6552	rorxl	$2,%eax,%edi
6553	rorxl	$13,%eax,%esi
6554	leal	(%edx,%ecx,1),%edx
6555	rorxl	$22,%eax,%ecx
6556	xorl	%edi,%esi
6557	movl	4(%esp),%edi
6558	xorl	%esi,%ecx
6559	xorl	%edi,%eax
6560	addl	28(%esp),%edx
6561	andl	%eax,%ebx
6562	addl	64(%esp),%edx
6563	xorl	%edi,%ebx
6564	addl	%edx,%ecx
6565	addl	12(%esp),%edx
6566	leal	(%ebx,%ecx,1),%ebx
6567	rorxl	$6,%edx,%ecx
6568	rorxl	$11,%edx,%esi
6569	movl	%edx,12(%esp)
6570	rorxl	$25,%edx,%edi
6571	xorl	%esi,%ecx
6572	andnl	20(%esp),%edx,%esi
6573	xorl	%edi,%ecx
6574	andl	16(%esp),%edx
6575	movl	%ebx,28(%esp)
6576	orl	%esi,%edx
6577	rorxl	$2,%ebx,%edi
6578	rorxl	$13,%ebx,%esi
6579	leal	(%edx,%ecx,1),%edx
6580	rorxl	$22,%ebx,%ecx
6581	xorl	%edi,%esi
6582	movl	(%esp),%edi
6583	xorl	%esi,%ecx
6584	xorl	%edi,%ebx
6585	addl	24(%esp),%edx
6586	andl	%ebx,%eax
6587	addl	68(%esp),%edx
6588	xorl	%edi,%eax
6589	addl	%edx,%ecx
6590	addl	8(%esp),%edx
6591	leal	(%eax,%ecx,1),%eax
6592	rorxl	$6,%edx,%ecx
6593	rorxl	$11,%edx,%esi
6594	movl	%edx,8(%esp)
6595	rorxl	$25,%edx,%edi
6596	xorl	%esi,%ecx
6597	andnl	16(%esp),%edx,%esi
6598	xorl	%edi,%ecx
6599	andl	12(%esp),%edx
6600	movl	%eax,24(%esp)
6601	orl	%esi,%edx
6602	rorxl	$2,%eax,%edi
6603	rorxl	$13,%eax,%esi
6604	leal	(%edx,%ecx,1),%edx
6605	rorxl	$22,%eax,%ecx
6606	xorl	%edi,%esi
6607	movl	28(%esp),%edi
6608	xorl	%esi,%ecx
6609	xorl	%edi,%eax
6610	addl	20(%esp),%edx
6611	andl	%eax,%ebx
6612	addl	72(%esp),%edx
6613	xorl	%edi,%ebx
6614	addl	%edx,%ecx
6615	addl	4(%esp),%edx
6616	leal	(%ebx,%ecx,1),%ebx
6617	rorxl	$6,%edx,%ecx
6618	rorxl	$11,%edx,%esi
6619	movl	%edx,4(%esp)
6620	rorxl	$25,%edx,%edi
6621	xorl	%esi,%ecx
6622	andnl	12(%esp),%edx,%esi
6623	xorl	%edi,%ecx
6624	andl	8(%esp),%edx
6625	movl	%ebx,20(%esp)
6626	orl	%esi,%edx
6627	rorxl	$2,%ebx,%edi
6628	rorxl	$13,%ebx,%esi
6629	leal	(%edx,%ecx,1),%edx
6630	rorxl	$22,%ebx,%ecx
6631	xorl	%edi,%esi
6632	movl	24(%esp),%edi
6633	xorl	%esi,%ecx
6634	xorl	%edi,%ebx
6635	addl	16(%esp),%edx
6636	andl	%ebx,%eax
6637	addl	76(%esp),%edx
6638	xorl	%edi,%eax
6639	addl	%edx,%ecx
6640	addl	(%esp),%edx
6641	leal	(%eax,%ecx,1),%eax
6642	rorxl	$6,%edx,%ecx
6643	rorxl	$11,%edx,%esi
6644	movl	%edx,(%esp)
6645	rorxl	$25,%edx,%edi
6646	xorl	%esi,%ecx
6647	andnl	8(%esp),%edx,%esi
6648	xorl	%edi,%ecx
6649	andl	4(%esp),%edx
6650	movl	%eax,16(%esp)
6651	orl	%esi,%edx
6652	rorxl	$2,%eax,%edi
6653	rorxl	$13,%eax,%esi
6654	leal	(%edx,%ecx,1),%edx
6655	rorxl	$22,%eax,%ecx
6656	xorl	%edi,%esi
6657	movl	20(%esp),%edi
6658	xorl	%esi,%ecx
6659	xorl	%edi,%eax
6660	addl	12(%esp),%edx
6661	andl	%eax,%ebx
6662	addl	80(%esp),%edx
6663	xorl	%edi,%ebx
6664	addl	%edx,%ecx
6665	addl	28(%esp),%edx
6666	leal	(%ebx,%ecx,1),%ebx
6667	rorxl	$6,%edx,%ecx
6668	rorxl	$11,%edx,%esi
6669	movl	%edx,28(%esp)
6670	rorxl	$25,%edx,%edi
6671	xorl	%esi,%ecx
6672	andnl	4(%esp),%edx,%esi
6673	xorl	%edi,%ecx
6674	andl	(%esp),%edx
6675	movl	%ebx,12(%esp)
6676	orl	%esi,%edx
6677	rorxl	$2,%ebx,%edi
6678	rorxl	$13,%ebx,%esi
6679	leal	(%edx,%ecx,1),%edx
6680	rorxl	$22,%ebx,%ecx
6681	xorl	%edi,%esi
6682	movl	16(%esp),%edi
6683	xorl	%esi,%ecx
6684	xorl	%edi,%ebx
6685	addl	8(%esp),%edx
6686	andl	%ebx,%eax
6687	addl	84(%esp),%edx
6688	xorl	%edi,%eax
6689	addl	%edx,%ecx
6690	addl	24(%esp),%edx
6691	leal	(%eax,%ecx,1),%eax
6692	rorxl	$6,%edx,%ecx
6693	rorxl	$11,%edx,%esi
6694	movl	%edx,24(%esp)
6695	rorxl	$25,%edx,%edi
6696	xorl	%esi,%ecx
6697	andnl	(%esp),%edx,%esi
6698	xorl	%edi,%ecx
6699	andl	28(%esp),%edx
6700	movl	%eax,8(%esp)
6701	orl	%esi,%edx
6702	rorxl	$2,%eax,%edi
6703	rorxl	$13,%eax,%esi
6704	leal	(%edx,%ecx,1),%edx
6705	rorxl	$22,%eax,%ecx
6706	xorl	%edi,%esi
6707	movl	12(%esp),%edi
6708	xorl	%esi,%ecx
6709	xorl	%edi,%eax
6710	addl	4(%esp),%edx
6711	andl	%eax,%ebx
6712	addl	88(%esp),%edx
6713	xorl	%edi,%ebx
6714	addl	%edx,%ecx
6715	addl	20(%esp),%edx
6716	leal	(%ebx,%ecx,1),%ebx
6717	rorxl	$6,%edx,%ecx
6718	rorxl	$11,%edx,%esi
6719	movl	%edx,20(%esp)
6720	rorxl	$25,%edx,%edi
6721	xorl	%esi,%ecx
6722	andnl	28(%esp),%edx,%esi
6723	xorl	%edi,%ecx
6724	andl	24(%esp),%edx
6725	movl	%ebx,4(%esp)
6726	orl	%esi,%edx
6727	rorxl	$2,%ebx,%edi
6728	rorxl	$13,%ebx,%esi
6729	leal	(%edx,%ecx,1),%edx
6730	rorxl	$22,%ebx,%ecx
6731	xorl	%edi,%esi
6732	movl	8(%esp),%edi
6733	xorl	%esi,%ecx
6734	xorl	%edi,%ebx
6735	addl	(%esp),%edx
6736	andl	%ebx,%eax
6737	addl	92(%esp),%edx
6738	xorl	%edi,%eax
6739	addl	%edx,%ecx
6740	addl	16(%esp),%edx
6741	leal	(%eax,%ecx,1),%eax
6742	movl	96(%esp),%esi
6743	xorl	%edi,%ebx
6744	movl	12(%esp),%ecx
6745	addl	(%esi),%eax
6746	addl	4(%esi),%ebx
6747	addl	8(%esi),%edi
6748	addl	12(%esi),%ecx
6749	movl	%eax,(%esi)
6750	movl	%ebx,4(%esi)
6751	movl	%edi,8(%esi)
6752	movl	%ecx,12(%esi)
6753	movl	%ebx,4(%esp)
6754	xorl	%edi,%ebx
6755	movl	%edi,8(%esp)
6756	movl	%ecx,12(%esp)
6757	movl	20(%esp),%edi
6758	movl	24(%esp),%ecx
6759	addl	16(%esi),%edx
6760	addl	20(%esi),%edi
6761	addl	24(%esi),%ecx
6762	movl	%edx,16(%esi)
6763	movl	%edi,20(%esi)
6764	movl	%edi,20(%esp)
6765	movl	28(%esp),%edi
6766	movl	%ecx,24(%esi)
6767	addl	28(%esi),%edi
6768	movl	%ecx,24(%esp)
6769	movl	%edi,28(%esi)
6770	movl	%edi,28(%esp)
6771	movl	100(%esp),%edi
6772	vmovdqa	64(%ebp),%xmm7
6773	subl	$192,%ebp
6774	cmpl	104(%esp),%edi
6775	jb	.L017grand_avx_bmi
6776	movl	108(%esp),%esp
6777	vzeroall
6778	popl	%edi
6779	popl	%esi
6780	popl	%ebx
6781	popl	%ebp
6782	ret
6783.size	sha256_block_data_order,.-.L_sha256_block_data_order_begin
6784.comm	OPENSSL_ia32cap_P,16,4
6785#else
6786.text
6787.globl	sha256_block_data_order
6788.type	sha256_block_data_order,@function
6789.align	16
6790sha256_block_data_order:
6791.L_sha256_block_data_order_begin:
6792	pushl	%ebp
6793	pushl	%ebx
6794	pushl	%esi
6795	pushl	%edi
6796	movl	20(%esp),%esi
6797	movl	24(%esp),%edi
6798	movl	28(%esp),%eax
6799	movl	%esp,%ebx
6800	call	.L000pic_point
6801.L000pic_point:
6802	popl	%ebp
6803	leal	.L001K256-.L000pic_point(%ebp),%ebp
6804	subl	$16,%esp
6805	andl	$-64,%esp
6806	shll	$6,%eax
6807	addl	%edi,%eax
6808	movl	%esi,(%esp)
6809	movl	%edi,4(%esp)
6810	movl	%eax,8(%esp)
6811	movl	%ebx,12(%esp)
6812	leal	OPENSSL_ia32cap_P,%edx
6813	movl	(%edx),%ecx
6814	movl	4(%edx),%ebx
6815	testl	$1048576,%ecx
6816	jnz	.L002loop
6817	movl	8(%edx),%edx
6818	testl	$16777216,%ecx
6819	jz	.L003no_xmm
6820	andl	$1073741824,%ecx
6821	andl	$268435968,%ebx
6822	testl	$536870912,%edx
6823	jnz	.L004shaext
6824	orl	%ebx,%ecx
6825	andl	$1342177280,%ecx
6826	cmpl	$1342177280,%ecx
6827	je	.L005AVX
6828	testl	$512,%ebx
6829	jnz	.L006SSSE3
6830.L003no_xmm:
6831	subl	%edi,%eax
6832	cmpl	$256,%eax
6833	jae	.L007unrolled
6834	jmp	.L002loop
6835.align	16
6836.L002loop:
6837	movl	(%edi),%eax
6838	movl	4(%edi),%ebx
6839	movl	8(%edi),%ecx
6840	bswap	%eax
6841	movl	12(%edi),%edx
6842	bswap	%ebx
6843	pushl	%eax
6844	bswap	%ecx
6845	pushl	%ebx
6846	bswap	%edx
6847	pushl	%ecx
6848	pushl	%edx
6849	movl	16(%edi),%eax
6850	movl	20(%edi),%ebx
6851	movl	24(%edi),%ecx
6852	bswap	%eax
6853	movl	28(%edi),%edx
6854	bswap	%ebx
6855	pushl	%eax
6856	bswap	%ecx
6857	pushl	%ebx
6858	bswap	%edx
6859	pushl	%ecx
6860	pushl	%edx
6861	movl	32(%edi),%eax
6862	movl	36(%edi),%ebx
6863	movl	40(%edi),%ecx
6864	bswap	%eax
6865	movl	44(%edi),%edx
6866	bswap	%ebx
6867	pushl	%eax
6868	bswap	%ecx
6869	pushl	%ebx
6870	bswap	%edx
6871	pushl	%ecx
6872	pushl	%edx
6873	movl	48(%edi),%eax
6874	movl	52(%edi),%ebx
6875	movl	56(%edi),%ecx
6876	bswap	%eax
6877	movl	60(%edi),%edx
6878	bswap	%ebx
6879	pushl	%eax
6880	bswap	%ecx
6881	pushl	%ebx
6882	bswap	%edx
6883	pushl	%ecx
6884	pushl	%edx
6885	addl	$64,%edi
6886	leal	-36(%esp),%esp
6887	movl	%edi,104(%esp)
6888	movl	(%esi),%eax
6889	movl	4(%esi),%ebx
6890	movl	8(%esi),%ecx
6891	movl	12(%esi),%edi
6892	movl	%ebx,8(%esp)
6893	xorl	%ecx,%ebx
6894	movl	%ecx,12(%esp)
6895	movl	%edi,16(%esp)
6896	movl	%ebx,(%esp)
6897	movl	16(%esi),%edx
6898	movl	20(%esi),%ebx
6899	movl	24(%esi),%ecx
6900	movl	28(%esi),%edi
6901	movl	%ebx,24(%esp)
6902	movl	%ecx,28(%esp)
6903	movl	%edi,32(%esp)
6904.align	16
6905.L00800_15:
6906	movl	%edx,%ecx
6907	movl	24(%esp),%esi
6908	rorl	$14,%ecx
6909	movl	28(%esp),%edi
6910	xorl	%edx,%ecx
6911	xorl	%edi,%esi
6912	movl	96(%esp),%ebx
6913	rorl	$5,%ecx
6914	andl	%edx,%esi
6915	movl	%edx,20(%esp)
6916	xorl	%ecx,%edx
6917	addl	32(%esp),%ebx
6918	xorl	%edi,%esi
6919	rorl	$6,%edx
6920	movl	%eax,%ecx
6921	addl	%esi,%ebx
6922	rorl	$9,%ecx
6923	addl	%edx,%ebx
6924	movl	8(%esp),%edi
6925	xorl	%eax,%ecx
6926	movl	%eax,4(%esp)
6927	leal	-4(%esp),%esp
6928	rorl	$11,%ecx
6929	movl	(%ebp),%esi
6930	xorl	%eax,%ecx
6931	movl	20(%esp),%edx
6932	xorl	%edi,%eax
6933	rorl	$2,%ecx
6934	addl	%esi,%ebx
6935	movl	%eax,(%esp)
6936	addl	%ebx,%edx
6937	andl	4(%esp),%eax
6938	addl	%ecx,%ebx
6939	xorl	%edi,%eax
6940	addl	$4,%ebp
6941	addl	%ebx,%eax
6942	cmpl	$3248222580,%esi
6943	jne	.L00800_15
6944	movl	156(%esp),%ecx
6945	jmp	.L00916_63
6946.align	16
6947.L00916_63:
6948	movl	%ecx,%ebx
6949	movl	104(%esp),%esi
6950	rorl	$11,%ecx
6951	movl	%esi,%edi
6952	rorl	$2,%esi
6953	xorl	%ebx,%ecx
6954	shrl	$3,%ebx
6955	rorl	$7,%ecx
6956	xorl	%edi,%esi
6957	xorl	%ecx,%ebx
6958	rorl	$17,%esi
6959	addl	160(%esp),%ebx
6960	shrl	$10,%edi
6961	addl	124(%esp),%ebx
6962	movl	%edx,%ecx
6963	xorl	%esi,%edi
6964	movl	24(%esp),%esi
6965	rorl	$14,%ecx
6966	addl	%edi,%ebx
6967	movl	28(%esp),%edi
6968	xorl	%edx,%ecx
6969	xorl	%edi,%esi
6970	movl	%ebx,96(%esp)
6971	rorl	$5,%ecx
6972	andl	%edx,%esi
6973	movl	%edx,20(%esp)
6974	xorl	%ecx,%edx
6975	addl	32(%esp),%ebx
6976	xorl	%edi,%esi
6977	rorl	$6,%edx
6978	movl	%eax,%ecx
6979	addl	%esi,%ebx
6980	rorl	$9,%ecx
6981	addl	%edx,%ebx
6982	movl	8(%esp),%edi
6983	xorl	%eax,%ecx
6984	movl	%eax,4(%esp)
6985	leal	-4(%esp),%esp
6986	rorl	$11,%ecx
6987	movl	(%ebp),%esi
6988	xorl	%eax,%ecx
6989	movl	20(%esp),%edx
6990	xorl	%edi,%eax
6991	rorl	$2,%ecx
6992	addl	%esi,%ebx
6993	movl	%eax,(%esp)
6994	addl	%ebx,%edx
6995	andl	4(%esp),%eax
6996	addl	%ecx,%ebx
6997	xorl	%edi,%eax
6998	movl	156(%esp),%ecx
6999	addl	$4,%ebp
7000	addl	%ebx,%eax
7001	cmpl	$3329325298,%esi
7002	jne	.L00916_63
7003	movl	356(%esp),%esi
7004	movl	8(%esp),%ebx
7005	movl	16(%esp),%ecx
7006	addl	(%esi),%eax
7007	addl	4(%esi),%ebx
7008	addl	8(%esi),%edi
7009	addl	12(%esi),%ecx
7010	movl	%eax,(%esi)
7011	movl	%ebx,4(%esi)
7012	movl	%edi,8(%esi)
7013	movl	%ecx,12(%esi)
7014	movl	24(%esp),%eax
7015	movl	28(%esp),%ebx
7016	movl	32(%esp),%ecx
7017	movl	360(%esp),%edi
7018	addl	16(%esi),%edx
7019	addl	20(%esi),%eax
7020	addl	24(%esi),%ebx
7021	addl	28(%esi),%ecx
7022	movl	%edx,16(%esi)
7023	movl	%eax,20(%esi)
7024	movl	%ebx,24(%esi)
7025	movl	%ecx,28(%esi)
7026	leal	356(%esp),%esp
7027	subl	$256,%ebp
7028	cmpl	8(%esp),%edi
7029	jb	.L002loop
7030	movl	12(%esp),%esp
7031	popl	%edi
7032	popl	%esi
7033	popl	%ebx
7034	popl	%ebp
7035	ret
7036.align	64
7037.L001K256:
7038.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
7039.long	66051,67438087,134810123,202182159
7040.byte	83,72,65,50,53,54,32,98,108,111,99,107,32,116,114,97
7041.byte	110,115,102,111,114,109,32,102,111,114,32,120,56,54,44,32
7042.byte	67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97
7043.byte	112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103
7044.byte	62,0
7045.align	16
7046.L007unrolled:
7047	leal	-96(%esp),%esp
7048	movl	(%esi),%eax
7049	movl	4(%esi),%ebp
7050	movl	8(%esi),%ecx
7051	movl	12(%esi),%ebx
7052	movl	%ebp,4(%esp)
7053	xorl	%ecx,%ebp
7054	movl	%ecx,8(%esp)
7055	movl	%ebx,12(%esp)
7056	movl	16(%esi),%edx
7057	movl	20(%esi),%ebx
7058	movl	24(%esi),%ecx
7059	movl	28(%esi),%esi
7060	movl	%ebx,20(%esp)
7061	movl	%ecx,24(%esp)
7062	movl	%esi,28(%esp)
7063	jmp	.L010grand_loop
7064.align	16
7065.L010grand_loop:
7066	movl	(%edi),%ebx
7067	movl	4(%edi),%ecx
7068	bswap	%ebx
7069	movl	8(%edi),%esi
7070	bswap	%ecx
7071	movl	%ebx,32(%esp)
7072	bswap	%esi
7073	movl	%ecx,36(%esp)
7074	movl	%esi,40(%esp)
7075	movl	12(%edi),%ebx
7076	movl	16(%edi),%ecx
7077	bswap	%ebx
7078	movl	20(%edi),%esi
7079	bswap	%ecx
7080	movl	%ebx,44(%esp)
7081	bswap	%esi
7082	movl	%ecx,48(%esp)
7083	movl	%esi,52(%esp)
7084	movl	24(%edi),%ebx
7085	movl	28(%edi),%ecx
7086	bswap	%ebx
7087	movl	32(%edi),%esi
7088	bswap	%ecx
7089	movl	%ebx,56(%esp)
7090	bswap	%esi
7091	movl	%ecx,60(%esp)
7092	movl	%esi,64(%esp)
7093	movl	36(%edi),%ebx
7094	movl	40(%edi),%ecx
7095	bswap	%ebx
7096	movl	44(%edi),%esi
7097	bswap	%ecx
7098	movl	%ebx,68(%esp)
7099	bswap	%esi
7100	movl	%ecx,72(%esp)
7101	movl	%esi,76(%esp)
7102	movl	48(%edi),%ebx
7103	movl	52(%edi),%ecx
7104	bswap	%ebx
7105	movl	56(%edi),%esi
7106	bswap	%ecx
7107	movl	%ebx,80(%esp)
7108	bswap	%esi
7109	movl	%ecx,84(%esp)
7110	movl	%esi,88(%esp)
7111	movl	60(%edi),%ebx
7112	addl	$64,%edi
7113	bswap	%ebx
7114	movl	%edi,100(%esp)
7115	movl	%ebx,92(%esp)
7116	movl	%edx,%ecx
7117	movl	20(%esp),%esi
7118	rorl	$14,%edx
7119	movl	24(%esp),%edi
7120	xorl	%ecx,%edx
7121	movl	32(%esp),%ebx
7122	xorl	%edi,%esi
7123	rorl	$5,%edx
7124	andl	%ecx,%esi
7125	movl	%ecx,16(%esp)
7126	xorl	%ecx,%edx
7127	addl	28(%esp),%ebx
7128	xorl	%esi,%edi
7129	rorl	$6,%edx
7130	movl	%eax,%ecx
7131	addl	%edi,%ebx
7132	rorl	$9,%ecx
7133	movl	%eax,%esi
7134	movl	4(%esp),%edi
7135	xorl	%eax,%ecx
7136	movl	%eax,(%esp)
7137	xorl	%edi,%eax
7138	rorl	$11,%ecx
7139	andl	%eax,%ebp
7140	leal	1116352408(%ebx,%edx,1),%edx
7141	xorl	%esi,%ecx
7142	xorl	%edi,%ebp
7143	rorl	$2,%ecx
7144	addl	%edx,%ebp
7145	addl	12(%esp),%edx
7146	addl	%ecx,%ebp
7147	movl	%edx,%esi
7148	movl	16(%esp),%ecx
7149	rorl	$14,%edx
7150	movl	20(%esp),%edi
7151	xorl	%esi,%edx
7152	movl	36(%esp),%ebx
7153	xorl	%edi,%ecx
7154	rorl	$5,%edx
7155	andl	%esi,%ecx
7156	movl	%esi,12(%esp)
7157	xorl	%esi,%edx
7158	addl	24(%esp),%ebx
7159	xorl	%ecx,%edi
7160	rorl	$6,%edx
7161	movl	%ebp,%esi
7162	addl	%edi,%ebx
7163	rorl	$9,%esi
7164	movl	%ebp,%ecx
7165	movl	(%esp),%edi
7166	xorl	%ebp,%esi
7167	movl	%ebp,28(%esp)
7168	xorl	%edi,%ebp
7169	rorl	$11,%esi
7170	andl	%ebp,%eax
7171	leal	1899447441(%ebx,%edx,1),%edx
7172	xorl	%ecx,%esi
7173	xorl	%edi,%eax
7174	rorl	$2,%esi
7175	addl	%edx,%eax
7176	addl	8(%esp),%edx
7177	addl	%esi,%eax
7178	movl	%edx,%ecx
7179	movl	12(%esp),%esi
7180	rorl	$14,%edx
7181	movl	16(%esp),%edi
7182	xorl	%ecx,%edx
7183	movl	40(%esp),%ebx
7184	xorl	%edi,%esi
7185	rorl	$5,%edx
7186	andl	%ecx,%esi
7187	movl	%ecx,8(%esp)
7188	xorl	%ecx,%edx
7189	addl	20(%esp),%ebx
7190	xorl	%esi,%edi
7191	rorl	$6,%edx
7192	movl	%eax,%ecx
7193	addl	%edi,%ebx
7194	rorl	$9,%ecx
7195	movl	%eax,%esi
7196	movl	28(%esp),%edi
7197	xorl	%eax,%ecx
7198	movl	%eax,24(%esp)
7199	xorl	%edi,%eax
7200	rorl	$11,%ecx
7201	andl	%eax,%ebp
7202	leal	3049323471(%ebx,%edx,1),%edx
7203	xorl	%esi,%ecx
7204	xorl	%edi,%ebp
7205	rorl	$2,%ecx
7206	addl	%edx,%ebp
7207	addl	4(%esp),%edx
7208	addl	%ecx,%ebp
7209	movl	%edx,%esi
7210	movl	8(%esp),%ecx
7211	rorl	$14,%edx
7212	movl	12(%esp),%edi
7213	xorl	%esi,%edx
7214	movl	44(%esp),%ebx
7215	xorl	%edi,%ecx
7216	rorl	$5,%edx
7217	andl	%esi,%ecx
7218	movl	%esi,4(%esp)
7219	xorl	%esi,%edx
7220	addl	16(%esp),%ebx
7221	xorl	%ecx,%edi
7222	rorl	$6,%edx
7223	movl	%ebp,%esi
7224	addl	%edi,%ebx
7225	rorl	$9,%esi
7226	movl	%ebp,%ecx
7227	movl	24(%esp),%edi
7228	xorl	%ebp,%esi
7229	movl	%ebp,20(%esp)
7230	xorl	%edi,%ebp
7231	rorl	$11,%esi
7232	andl	%ebp,%eax
7233	leal	3921009573(%ebx,%edx,1),%edx
7234	xorl	%ecx,%esi
7235	xorl	%edi,%eax
7236	rorl	$2,%esi
7237	addl	%edx,%eax
7238	addl	(%esp),%edx
7239	addl	%esi,%eax
7240	movl	%edx,%ecx
7241	movl	4(%esp),%esi
7242	rorl	$14,%edx
7243	movl	8(%esp),%edi
7244	xorl	%ecx,%edx
7245	movl	48(%esp),%ebx
7246	xorl	%edi,%esi
7247	rorl	$5,%edx
7248	andl	%ecx,%esi
7249	movl	%ecx,(%esp)
7250	xorl	%ecx,%edx
7251	addl	12(%esp),%ebx
7252	xorl	%esi,%edi
7253	rorl	$6,%edx
7254	movl	%eax,%ecx
7255	addl	%edi,%ebx
7256	rorl	$9,%ecx
7257	movl	%eax,%esi
7258	movl	20(%esp),%edi
7259	xorl	%eax,%ecx
7260	movl	%eax,16(%esp)
7261	xorl	%edi,%eax
7262	rorl	$11,%ecx
7263	andl	%eax,%ebp
7264	leal	961987163(%ebx,%edx,1),%edx
7265	xorl	%esi,%ecx
7266	xorl	%edi,%ebp
7267	rorl	$2,%ecx
7268	addl	%edx,%ebp
7269	addl	28(%esp),%edx
7270	addl	%ecx,%ebp
7271	movl	%edx,%esi
7272	movl	(%esp),%ecx
7273	rorl	$14,%edx
7274	movl	4(%esp),%edi
7275	xorl	%esi,%edx
7276	movl	52(%esp),%ebx
7277	xorl	%edi,%ecx
7278	rorl	$5,%edx
7279	andl	%esi,%ecx
7280	movl	%esi,28(%esp)
7281	xorl	%esi,%edx
7282	addl	8(%esp),%ebx
7283	xorl	%ecx,%edi
7284	rorl	$6,%edx
7285	movl	%ebp,%esi
7286	addl	%edi,%ebx
7287	rorl	$9,%esi
7288	movl	%ebp,%ecx
7289	movl	16(%esp),%edi
7290	xorl	%ebp,%esi
7291	movl	%ebp,12(%esp)
7292	xorl	%edi,%ebp
7293	rorl	$11,%esi
7294	andl	%ebp,%eax
7295	leal	1508970993(%ebx,%edx,1),%edx
7296	xorl	%ecx,%esi
7297	xorl	%edi,%eax
7298	rorl	$2,%esi
7299	addl	%edx,%eax
7300	addl	24(%esp),%edx
7301	addl	%esi,%eax
7302	movl	%edx,%ecx
7303	movl	28(%esp),%esi
7304	rorl	$14,%edx
7305	movl	(%esp),%edi
7306	xorl	%ecx,%edx
7307	movl	56(%esp),%ebx
7308	xorl	%edi,%esi
7309	rorl	$5,%edx
7310	andl	%ecx,%esi
7311	movl	%ecx,24(%esp)
7312	xorl	%ecx,%edx
7313	addl	4(%esp),%ebx
7314	xorl	%esi,%edi
7315	rorl	$6,%edx
7316	movl	%eax,%ecx
7317	addl	%edi,%ebx
7318	rorl	$9,%ecx
7319	movl	%eax,%esi
7320	movl	12(%esp),%edi
7321	xorl	%eax,%ecx
7322	movl	%eax,8(%esp)
7323	xorl	%edi,%eax
7324	rorl	$11,%ecx
7325	andl	%eax,%ebp
7326	leal	2453635748(%ebx,%edx,1),%edx
7327	xorl	%esi,%ecx
7328	xorl	%edi,%ebp
7329	rorl	$2,%ecx
7330	addl	%edx,%ebp
7331	addl	20(%esp),%edx
7332	addl	%ecx,%ebp
7333	movl	%edx,%esi
7334	movl	24(%esp),%ecx
7335	rorl	$14,%edx
7336	movl	28(%esp),%edi
7337	xorl	%esi,%edx
7338	movl	60(%esp),%ebx
7339	xorl	%edi,%ecx
7340	rorl	$5,%edx
7341	andl	%esi,%ecx
7342	movl	%esi,20(%esp)
7343	xorl	%esi,%edx
7344	addl	(%esp),%ebx
7345	xorl	%ecx,%edi
7346	rorl	$6,%edx
7347	movl	%ebp,%esi
7348	addl	%edi,%ebx
7349	rorl	$9,%esi
7350	movl	%ebp,%ecx
7351	movl	8(%esp),%edi
7352	xorl	%ebp,%esi
7353	movl	%ebp,4(%esp)
7354	xorl	%edi,%ebp
7355	rorl	$11,%esi
7356	andl	%ebp,%eax
7357	leal	2870763221(%ebx,%edx,1),%edx
7358	xorl	%ecx,%esi
7359	xorl	%edi,%eax
7360	rorl	$2,%esi
7361	addl	%edx,%eax
7362	addl	16(%esp),%edx
7363	addl	%esi,%eax
7364	movl	%edx,%ecx
7365	movl	20(%esp),%esi
7366	rorl	$14,%edx
7367	movl	24(%esp),%edi
7368	xorl	%ecx,%edx
7369	movl	64(%esp),%ebx
7370	xorl	%edi,%esi
7371	rorl	$5,%edx
7372	andl	%ecx,%esi
7373	movl	%ecx,16(%esp)
7374	xorl	%ecx,%edx
7375	addl	28(%esp),%ebx
7376	xorl	%esi,%edi
7377	rorl	$6,%edx
7378	movl	%eax,%ecx
7379	addl	%edi,%ebx
7380	rorl	$9,%ecx
7381	movl	%eax,%esi
7382	movl	4(%esp),%edi
7383	xorl	%eax,%ecx
7384	movl	%eax,(%esp)
7385	xorl	%edi,%eax
7386	rorl	$11,%ecx
7387	andl	%eax,%ebp
7388	leal	3624381080(%ebx,%edx,1),%edx
7389	xorl	%esi,%ecx
7390	xorl	%edi,%ebp
7391	rorl	$2,%ecx
7392	addl	%edx,%ebp
7393	addl	12(%esp),%edx
7394	addl	%ecx,%ebp
7395	movl	%edx,%esi
7396	movl	16(%esp),%ecx
7397	rorl	$14,%edx
7398	movl	20(%esp),%edi
7399	xorl	%esi,%edx
7400	movl	68(%esp),%ebx
7401	xorl	%edi,%ecx
7402	rorl	$5,%edx
7403	andl	%esi,%ecx
7404	movl	%esi,12(%esp)
7405	xorl	%esi,%edx
7406	addl	24(%esp),%ebx
7407	xorl	%ecx,%edi
7408	rorl	$6,%edx
7409	movl	%ebp,%esi
7410	addl	%edi,%ebx
7411	rorl	$9,%esi
7412	movl	%ebp,%ecx
7413	movl	(%esp),%edi
7414	xorl	%ebp,%esi
7415	movl	%ebp,28(%esp)
7416	xorl	%edi,%ebp
7417	rorl	$11,%esi
7418	andl	%ebp,%eax
7419	leal	310598401(%ebx,%edx,1),%edx
7420	xorl	%ecx,%esi
7421	xorl	%edi,%eax
7422	rorl	$2,%esi
7423	addl	%edx,%eax
7424	addl	8(%esp),%edx
7425	addl	%esi,%eax
7426	movl	%edx,%ecx
7427	movl	12(%esp),%esi
7428	rorl	$14,%edx
7429	movl	16(%esp),%edi
7430	xorl	%ecx,%edx
7431	movl	72(%esp),%ebx
7432	xorl	%edi,%esi
7433	rorl	$5,%edx
7434	andl	%ecx,%esi
7435	movl	%ecx,8(%esp)
7436	xorl	%ecx,%edx
7437	addl	20(%esp),%ebx
7438	xorl	%esi,%edi
7439	rorl	$6,%edx
7440	movl	%eax,%ecx
7441	addl	%edi,%ebx
7442	rorl	$9,%ecx
7443	movl	%eax,%esi
7444	movl	28(%esp),%edi
7445	xorl	%eax,%ecx
7446	movl	%eax,24(%esp)
7447	xorl	%edi,%eax
7448	rorl	$11,%ecx
7449	andl	%eax,%ebp
7450	leal	607225278(%ebx,%edx,1),%edx
7451	xorl	%esi,%ecx
7452	xorl	%edi,%ebp
7453	rorl	$2,%ecx
7454	addl	%edx,%ebp
7455	addl	4(%esp),%edx
7456	addl	%ecx,%ebp
7457	movl	%edx,%esi
7458	movl	8(%esp),%ecx
7459	rorl	$14,%edx
7460	movl	12(%esp),%edi
7461	xorl	%esi,%edx
7462	movl	76(%esp),%ebx
7463	xorl	%edi,%ecx
7464	rorl	$5,%edx
7465	andl	%esi,%ecx
7466	movl	%esi,4(%esp)
7467	xorl	%esi,%edx
7468	addl	16(%esp),%ebx
7469	xorl	%ecx,%edi
7470	rorl	$6,%edx
7471	movl	%ebp,%esi
7472	addl	%edi,%ebx
7473	rorl	$9,%esi
7474	movl	%ebp,%ecx
7475	movl	24(%esp),%edi
7476	xorl	%ebp,%esi
7477	movl	%ebp,20(%esp)
7478	xorl	%edi,%ebp
7479	rorl	$11,%esi
7480	andl	%ebp,%eax
7481	leal	1426881987(%ebx,%edx,1),%edx
7482	xorl	%ecx,%esi
7483	xorl	%edi,%eax
7484	rorl	$2,%esi
7485	addl	%edx,%eax
7486	addl	(%esp),%edx
7487	addl	%esi,%eax
7488	movl	%edx,%ecx
7489	movl	4(%esp),%esi
7490	rorl	$14,%edx
7491	movl	8(%esp),%edi
7492	xorl	%ecx,%edx
7493	movl	80(%esp),%ebx
7494	xorl	%edi,%esi
7495	rorl	$5,%edx
7496	andl	%ecx,%esi
7497	movl	%ecx,(%esp)
7498	xorl	%ecx,%edx
7499	addl	12(%esp),%ebx
7500	xorl	%esi,%edi
7501	rorl	$6,%edx
7502	movl	%eax,%ecx
7503	addl	%edi,%ebx
7504	rorl	$9,%ecx
7505	movl	%eax,%esi
7506	movl	20(%esp),%edi
7507	xorl	%eax,%ecx
7508	movl	%eax,16(%esp)
7509	xorl	%edi,%eax
7510	rorl	$11,%ecx
7511	andl	%eax,%ebp
7512	leal	1925078388(%ebx,%edx,1),%edx
7513	xorl	%esi,%ecx
7514	xorl	%edi,%ebp
7515	rorl	$2,%ecx
7516	addl	%edx,%ebp
7517	addl	28(%esp),%edx
7518	addl	%ecx,%ebp
7519	movl	%edx,%esi
7520	movl	(%esp),%ecx
7521	rorl	$14,%edx
7522	movl	4(%esp),%edi
7523	xorl	%esi,%edx
7524	movl	84(%esp),%ebx
7525	xorl	%edi,%ecx
7526	rorl	$5,%edx
7527	andl	%esi,%ecx
7528	movl	%esi,28(%esp)
7529	xorl	%esi,%edx
7530	addl	8(%esp),%ebx
7531	xorl	%ecx,%edi
7532	rorl	$6,%edx
7533	movl	%ebp,%esi
7534	addl	%edi,%ebx
7535	rorl	$9,%esi
7536	movl	%ebp,%ecx
7537	movl	16(%esp),%edi
7538	xorl	%ebp,%esi
7539	movl	%ebp,12(%esp)
7540	xorl	%edi,%ebp
7541	rorl	$11,%esi
7542	andl	%ebp,%eax
7543	leal	2162078206(%ebx,%edx,1),%edx
7544	xorl	%ecx,%esi
7545	xorl	%edi,%eax
7546	rorl	$2,%esi
7547	addl	%edx,%eax
7548	addl	24(%esp),%edx
7549	addl	%esi,%eax
7550	movl	%edx,%ecx
7551	movl	28(%esp),%esi
7552	rorl	$14,%edx
7553	movl	(%esp),%edi
7554	xorl	%ecx,%edx
7555	movl	88(%esp),%ebx
7556	xorl	%edi,%esi
7557	rorl	$5,%edx
7558	andl	%ecx,%esi
7559	movl	%ecx,24(%esp)
7560	xorl	%ecx,%edx
7561	addl	4(%esp),%ebx
7562	xorl	%esi,%edi
7563	rorl	$6,%edx
7564	movl	%eax,%ecx
7565	addl	%edi,%ebx
7566	rorl	$9,%ecx
7567	movl	%eax,%esi
7568	movl	12(%esp),%edi
7569	xorl	%eax,%ecx
7570	movl	%eax,8(%esp)
7571	xorl	%edi,%eax
7572	rorl	$11,%ecx
7573	andl	%eax,%ebp
7574	leal	2614888103(%ebx,%edx,1),%edx
7575	xorl	%esi,%ecx
7576	xorl	%edi,%ebp
7577	rorl	$2,%ecx
7578	addl	%edx,%ebp
7579	addl	20(%esp),%edx
7580	addl	%ecx,%ebp
7581	movl	%edx,%esi
7582	movl	24(%esp),%ecx
7583	rorl	$14,%edx
7584	movl	28(%esp),%edi
7585	xorl	%esi,%edx
7586	movl	92(%esp),%ebx
7587	xorl	%edi,%ecx
7588	rorl	$5,%edx
7589	andl	%esi,%ecx
7590	movl	%esi,20(%esp)
7591	xorl	%esi,%edx
7592	addl	(%esp),%ebx
7593	xorl	%ecx,%edi
7594	rorl	$6,%edx
7595	movl	%ebp,%esi
7596	addl	%edi,%ebx
7597	rorl	$9,%esi
7598	movl	%ebp,%ecx
7599	movl	8(%esp),%edi
7600	xorl	%ebp,%esi
7601	movl	%ebp,4(%esp)
7602	xorl	%edi,%ebp
7603	rorl	$11,%esi
7604	andl	%ebp,%eax
7605	leal	3248222580(%ebx,%edx,1),%edx
7606	xorl	%ecx,%esi
7607	xorl	%edi,%eax
7608	movl	36(%esp),%ecx
7609	rorl	$2,%esi
7610	addl	%edx,%eax
7611	addl	16(%esp),%edx
7612	addl	%esi,%eax
7613	movl	88(%esp),%esi
7614	movl	%ecx,%ebx
7615	rorl	$11,%ecx
7616	movl	%esi,%edi
7617	rorl	$2,%esi
7618	xorl	%ebx,%ecx
7619	shrl	$3,%ebx
7620	rorl	$7,%ecx
7621	xorl	%edi,%esi
7622	xorl	%ecx,%ebx
7623	rorl	$17,%esi
7624	addl	32(%esp),%ebx
7625	shrl	$10,%edi
7626	addl	68(%esp),%ebx
7627	movl	%edx,%ecx
7628	xorl	%esi,%edi
7629	movl	20(%esp),%esi
7630	rorl	$14,%edx
7631	addl	%edi,%ebx
7632	movl	24(%esp),%edi
7633	xorl	%ecx,%edx
7634	movl	%ebx,32(%esp)
7635	xorl	%edi,%esi
7636	rorl	$5,%edx
7637	andl	%ecx,%esi
7638	movl	%ecx,16(%esp)
7639	xorl	%ecx,%edx
7640	addl	28(%esp),%ebx
7641	xorl	%esi,%edi
7642	rorl	$6,%edx
7643	movl	%eax,%ecx
7644	addl	%edi,%ebx
7645	rorl	$9,%ecx
7646	movl	%eax,%esi
7647	movl	4(%esp),%edi
7648	xorl	%eax,%ecx
7649	movl	%eax,(%esp)
7650	xorl	%edi,%eax
7651	rorl	$11,%ecx
7652	andl	%eax,%ebp
7653	leal	3835390401(%ebx,%edx,1),%edx
7654	xorl	%esi,%ecx
7655	xorl	%edi,%ebp
7656	movl	40(%esp),%esi
7657	rorl	$2,%ecx
7658	addl	%edx,%ebp
7659	addl	12(%esp),%edx
7660	addl	%ecx,%ebp
7661	movl	92(%esp),%ecx
7662	movl	%esi,%ebx
7663	rorl	$11,%esi
7664	movl	%ecx,%edi
7665	rorl	$2,%ecx
7666	xorl	%ebx,%esi
7667	shrl	$3,%ebx
7668	rorl	$7,%esi
7669	xorl	%edi,%ecx
7670	xorl	%esi,%ebx
7671	rorl	$17,%ecx
7672	addl	36(%esp),%ebx
7673	shrl	$10,%edi
7674	addl	72(%esp),%ebx
7675	movl	%edx,%esi
7676	xorl	%ecx,%edi
7677	movl	16(%esp),%ecx
7678	rorl	$14,%edx
7679	addl	%edi,%ebx
7680	movl	20(%esp),%edi
7681	xorl	%esi,%edx
7682	movl	%ebx,36(%esp)
7683	xorl	%edi,%ecx
7684	rorl	$5,%edx
7685	andl	%esi,%ecx
7686	movl	%esi,12(%esp)
7687	xorl	%esi,%edx
7688	addl	24(%esp),%ebx
7689	xorl	%ecx,%edi
7690	rorl	$6,%edx
7691	movl	%ebp,%esi
7692	addl	%edi,%ebx
7693	rorl	$9,%esi
7694	movl	%ebp,%ecx
7695	movl	(%esp),%edi
7696	xorl	%ebp,%esi
7697	movl	%ebp,28(%esp)
7698	xorl	%edi,%ebp
7699	rorl	$11,%esi
7700	andl	%ebp,%eax
7701	leal	4022224774(%ebx,%edx,1),%edx
7702	xorl	%ecx,%esi
7703	xorl	%edi,%eax
7704	movl	44(%esp),%ecx
7705	rorl	$2,%esi
7706	addl	%edx,%eax
7707	addl	8(%esp),%edx
7708	addl	%esi,%eax
7709	movl	32(%esp),%esi
7710	movl	%ecx,%ebx
7711	rorl	$11,%ecx
7712	movl	%esi,%edi
7713	rorl	$2,%esi
7714	xorl	%ebx,%ecx
7715	shrl	$3,%ebx
7716	rorl	$7,%ecx
7717	xorl	%edi,%esi
7718	xorl	%ecx,%ebx
7719	rorl	$17,%esi
7720	addl	40(%esp),%ebx
7721	shrl	$10,%edi
7722	addl	76(%esp),%ebx
7723	movl	%edx,%ecx
7724	xorl	%esi,%edi
7725	movl	12(%esp),%esi
7726	rorl	$14,%edx
7727	addl	%edi,%ebx
7728	movl	16(%esp),%edi
7729	xorl	%ecx,%edx
7730	movl	%ebx,40(%esp)
7731	xorl	%edi,%esi
7732	rorl	$5,%edx
7733	andl	%ecx,%esi
7734	movl	%ecx,8(%esp)
7735	xorl	%ecx,%edx
7736	addl	20(%esp),%ebx
7737	xorl	%esi,%edi
7738	rorl	$6,%edx
7739	movl	%eax,%ecx
7740	addl	%edi,%ebx
7741	rorl	$9,%ecx
7742	movl	%eax,%esi
7743	movl	28(%esp),%edi
7744	xorl	%eax,%ecx
7745	movl	%eax,24(%esp)
7746	xorl	%edi,%eax
7747	rorl	$11,%ecx
7748	andl	%eax,%ebp
7749	leal	264347078(%ebx,%edx,1),%edx
7750	xorl	%esi,%ecx
7751	xorl	%edi,%ebp
7752	movl	48(%esp),%esi
7753	rorl	$2,%ecx
7754	addl	%edx,%ebp
7755	addl	4(%esp),%edx
7756	addl	%ecx,%ebp
7757	movl	36(%esp),%ecx
7758	movl	%esi,%ebx
7759	rorl	$11,%esi
7760	movl	%ecx,%edi
7761	rorl	$2,%ecx
7762	xorl	%ebx,%esi
7763	shrl	$3,%ebx
7764	rorl	$7,%esi
7765	xorl	%edi,%ecx
7766	xorl	%esi,%ebx
7767	rorl	$17,%ecx
7768	addl	44(%esp),%ebx
7769	shrl	$10,%edi
7770	addl	80(%esp),%ebx
7771	movl	%edx,%esi
7772	xorl	%ecx,%edi
7773	movl	8(%esp),%ecx
7774	rorl	$14,%edx
7775	addl	%edi,%ebx
7776	movl	12(%esp),%edi
7777	xorl	%esi,%edx
7778	movl	%ebx,44(%esp)
7779	xorl	%edi,%ecx
7780	rorl	$5,%edx
7781	andl	%esi,%ecx
7782	movl	%esi,4(%esp)
7783	xorl	%esi,%edx
7784	addl	16(%esp),%ebx
7785	xorl	%ecx,%edi
7786	rorl	$6,%edx
7787	movl	%ebp,%esi
7788	addl	%edi,%ebx
7789	rorl	$9,%esi
7790	movl	%ebp,%ecx
7791	movl	24(%esp),%edi
7792	xorl	%ebp,%esi
7793	movl	%ebp,20(%esp)
7794	xorl	%edi,%ebp
7795	rorl	$11,%esi
7796	andl	%ebp,%eax
7797	leal	604807628(%ebx,%edx,1),%edx
7798	xorl	%ecx,%esi
7799	xorl	%edi,%eax
7800	movl	52(%esp),%ecx
7801	rorl	$2,%esi
7802	addl	%edx,%eax
7803	addl	(%esp),%edx
7804	addl	%esi,%eax
7805	movl	40(%esp),%esi
7806	movl	%ecx,%ebx
7807	rorl	$11,%ecx
7808	movl	%esi,%edi
7809	rorl	$2,%esi
7810	xorl	%ebx,%ecx
7811	shrl	$3,%ebx
7812	rorl	$7,%ecx
7813	xorl	%edi,%esi
7814	xorl	%ecx,%ebx
7815	rorl	$17,%esi
7816	addl	48(%esp),%ebx
7817	shrl	$10,%edi
7818	addl	84(%esp),%ebx
7819	movl	%edx,%ecx
7820	xorl	%esi,%edi
7821	movl	4(%esp),%esi
7822	rorl	$14,%edx
7823	addl	%edi,%ebx
7824	movl	8(%esp),%edi
7825	xorl	%ecx,%edx
7826	movl	%ebx,48(%esp)
7827	xorl	%edi,%esi
7828	rorl	$5,%edx
7829	andl	%ecx,%esi
7830	movl	%ecx,(%esp)
7831	xorl	%ecx,%edx
7832	addl	12(%esp),%ebx
7833	xorl	%esi,%edi
7834	rorl	$6,%edx
7835	movl	%eax,%ecx
7836	addl	%edi,%ebx
7837	rorl	$9,%ecx
7838	movl	%eax,%esi
7839	movl	20(%esp),%edi
7840	xorl	%eax,%ecx
7841	movl	%eax,16(%esp)
7842	xorl	%edi,%eax
7843	rorl	$11,%ecx
7844	andl	%eax,%ebp
7845	leal	770255983(%ebx,%edx,1),%edx
7846	xorl	%esi,%ecx
7847	xorl	%edi,%ebp
7848	movl	56(%esp),%esi
7849	rorl	$2,%ecx
7850	addl	%edx,%ebp
7851	addl	28(%esp),%edx
7852	addl	%ecx,%ebp
7853	movl	44(%esp),%ecx
7854	movl	%esi,%ebx
7855	rorl	$11,%esi
7856	movl	%ecx,%edi
7857	rorl	$2,%ecx
7858	xorl	%ebx,%esi
7859	shrl	$3,%ebx
7860	rorl	$7,%esi
7861	xorl	%edi,%ecx
7862	xorl	%esi,%ebx
7863	rorl	$17,%ecx
7864	addl	52(%esp),%ebx
7865	shrl	$10,%edi
7866	addl	88(%esp),%ebx
7867	movl	%edx,%esi
7868	xorl	%ecx,%edi
7869	movl	(%esp),%ecx
7870	rorl	$14,%edx
7871	addl	%edi,%ebx
7872	movl	4(%esp),%edi
7873	xorl	%esi,%edx
7874	movl	%ebx,52(%esp)
7875	xorl	%edi,%ecx
7876	rorl	$5,%edx
7877	andl	%esi,%ecx
7878	movl	%esi,28(%esp)
7879	xorl	%esi,%edx
7880	addl	8(%esp),%ebx
7881	xorl	%ecx,%edi
7882	rorl	$6,%edx
7883	movl	%ebp,%esi
7884	addl	%edi,%ebx
7885	rorl	$9,%esi
7886	movl	%ebp,%ecx
7887	movl	16(%esp),%edi
7888	xorl	%ebp,%esi
7889	movl	%ebp,12(%esp)
7890	xorl	%edi,%ebp
7891	rorl	$11,%esi
7892	andl	%ebp,%eax
7893	leal	1249150122(%ebx,%edx,1),%edx
7894	xorl	%ecx,%esi
7895	xorl	%edi,%eax
7896	movl	60(%esp),%ecx
7897	rorl	$2,%esi
7898	addl	%edx,%eax
7899	addl	24(%esp),%edx
7900	addl	%esi,%eax
7901	movl	48(%esp),%esi
7902	movl	%ecx,%ebx
7903	rorl	$11,%ecx
7904	movl	%esi,%edi
7905	rorl	$2,%esi
7906	xorl	%ebx,%ecx
7907	shrl	$3,%ebx
7908	rorl	$7,%ecx
7909	xorl	%edi,%esi
7910	xorl	%ecx,%ebx
7911	rorl	$17,%esi
7912	addl	56(%esp),%ebx
7913	shrl	$10,%edi
7914	addl	92(%esp),%ebx
7915	movl	%edx,%ecx
7916	xorl	%esi,%edi
7917	movl	28(%esp),%esi
7918	rorl	$14,%edx
7919	addl	%edi,%ebx
7920	movl	(%esp),%edi
7921	xorl	%ecx,%edx
7922	movl	%ebx,56(%esp)
7923	xorl	%edi,%esi
7924	rorl	$5,%edx
7925	andl	%ecx,%esi
7926	movl	%ecx,24(%esp)
7927	xorl	%ecx,%edx
7928	addl	4(%esp),%ebx
7929	xorl	%esi,%edi
7930	rorl	$6,%edx
7931	movl	%eax,%ecx
7932	addl	%edi,%ebx
7933	rorl	$9,%ecx
7934	movl	%eax,%esi
7935	movl	12(%esp),%edi
7936	xorl	%eax,%ecx
7937	movl	%eax,8(%esp)
7938	xorl	%edi,%eax
7939	rorl	$11,%ecx
7940	andl	%eax,%ebp
7941	leal	1555081692(%ebx,%edx,1),%edx
7942	xorl	%esi,%ecx
7943	xorl	%edi,%ebp
7944	movl	64(%esp),%esi
7945	rorl	$2,%ecx
7946	addl	%edx,%ebp
7947	addl	20(%esp),%edx
7948	addl	%ecx,%ebp
7949	movl	52(%esp),%ecx
7950	movl	%esi,%ebx
7951	rorl	$11,%esi
7952	movl	%ecx,%edi
7953	rorl	$2,%ecx
7954	xorl	%ebx,%esi
7955	shrl	$3,%ebx
7956	rorl	$7,%esi
7957	xorl	%edi,%ecx
7958	xorl	%esi,%ebx
7959	rorl	$17,%ecx
7960	addl	60(%esp),%ebx
7961	shrl	$10,%edi
7962	addl	32(%esp),%ebx
7963	movl	%edx,%esi
7964	xorl	%ecx,%edi
7965	movl	24(%esp),%ecx
7966	rorl	$14,%edx
7967	addl	%edi,%ebx
7968	movl	28(%esp),%edi
7969	xorl	%esi,%edx
7970	movl	%ebx,60(%esp)
7971	xorl	%edi,%ecx
7972	rorl	$5,%edx
7973	andl	%esi,%ecx
7974	movl	%esi,20(%esp)
7975	xorl	%esi,%edx
7976	addl	(%esp),%ebx
7977	xorl	%ecx,%edi
7978	rorl	$6,%edx
7979	movl	%ebp,%esi
7980	addl	%edi,%ebx
7981	rorl	$9,%esi
7982	movl	%ebp,%ecx
7983	movl	8(%esp),%edi
7984	xorl	%ebp,%esi
7985	movl	%ebp,4(%esp)
7986	xorl	%edi,%ebp
7987	rorl	$11,%esi
7988	andl	%ebp,%eax
7989	leal	1996064986(%ebx,%edx,1),%edx
7990	xorl	%ecx,%esi
7991	xorl	%edi,%eax
7992	movl	68(%esp),%ecx
7993	rorl	$2,%esi
7994	addl	%edx,%eax
7995	addl	16(%esp),%edx
7996	addl	%esi,%eax
7997	movl	56(%esp),%esi
7998	movl	%ecx,%ebx
7999	rorl	$11,%ecx
8000	movl	%esi,%edi
8001	rorl	$2,%esi
8002	xorl	%ebx,%ecx
8003	shrl	$3,%ebx
8004	rorl	$7,%ecx
8005	xorl	%edi,%esi
8006	xorl	%ecx,%ebx
8007	rorl	$17,%esi
8008	addl	64(%esp),%ebx
8009	shrl	$10,%edi
8010	addl	36(%esp),%ebx
8011	movl	%edx,%ecx
8012	xorl	%esi,%edi
8013	movl	20(%esp),%esi
8014	rorl	$14,%edx
8015	addl	%edi,%ebx
8016	movl	24(%esp),%edi
8017	xorl	%ecx,%edx
8018	movl	%ebx,64(%esp)
8019	xorl	%edi,%esi
8020	rorl	$5,%edx
8021	andl	%ecx,%esi
8022	movl	%ecx,16(%esp)
8023	xorl	%ecx,%edx
8024	addl	28(%esp),%ebx
8025	xorl	%esi,%edi
8026	rorl	$6,%edx
8027	movl	%eax,%ecx
8028	addl	%edi,%ebx
8029	rorl	$9,%ecx
8030	movl	%eax,%esi
8031	movl	4(%esp),%edi
8032	xorl	%eax,%ecx
8033	movl	%eax,(%esp)
8034	xorl	%edi,%eax
8035	rorl	$11,%ecx
8036	andl	%eax,%ebp
8037	leal	2554220882(%ebx,%edx,1),%edx
8038	xorl	%esi,%ecx
8039	xorl	%edi,%ebp
8040	movl	72(%esp),%esi
8041	rorl	$2,%ecx
8042	addl	%edx,%ebp
8043	addl	12(%esp),%edx
8044	addl	%ecx,%ebp
8045	movl	60(%esp),%ecx
8046	movl	%esi,%ebx
8047	rorl	$11,%esi
8048	movl	%ecx,%edi
8049	rorl	$2,%ecx
8050	xorl	%ebx,%esi
8051	shrl	$3,%ebx
8052	rorl	$7,%esi
8053	xorl	%edi,%ecx
8054	xorl	%esi,%ebx
8055	rorl	$17,%ecx
8056	addl	68(%esp),%ebx
8057	shrl	$10,%edi
8058	addl	40(%esp),%ebx
8059	movl	%edx,%esi
8060	xorl	%ecx,%edi
8061	movl	16(%esp),%ecx
8062	rorl	$14,%edx
8063	addl	%edi,%ebx
8064	movl	20(%esp),%edi
8065	xorl	%esi,%edx
8066	movl	%ebx,68(%esp)
8067	xorl	%edi,%ecx
8068	rorl	$5,%edx
8069	andl	%esi,%ecx
8070	movl	%esi,12(%esp)
8071	xorl	%esi,%edx
8072	addl	24(%esp),%ebx
8073	xorl	%ecx,%edi
8074	rorl	$6,%edx
8075	movl	%ebp,%esi
8076	addl	%edi,%ebx
8077	rorl	$9,%esi
8078	movl	%ebp,%ecx
8079	movl	(%esp),%edi
8080	xorl	%ebp,%esi
8081	movl	%ebp,28(%esp)
8082	xorl	%edi,%ebp
8083	rorl	$11,%esi
8084	andl	%ebp,%eax
8085	leal	2821834349(%ebx,%edx,1),%edx
8086	xorl	%ecx,%esi
8087	xorl	%edi,%eax
8088	movl	76(%esp),%ecx
8089	rorl	$2,%esi
8090	addl	%edx,%eax
8091	addl	8(%esp),%edx
8092	addl	%esi,%eax
8093	movl	64(%esp),%esi
8094	movl	%ecx,%ebx
8095	rorl	$11,%ecx
8096	movl	%esi,%edi
8097	rorl	$2,%esi
8098	xorl	%ebx,%ecx
8099	shrl	$3,%ebx
8100	rorl	$7,%ecx
8101	xorl	%edi,%esi
8102	xorl	%ecx,%ebx
8103	rorl	$17,%esi
8104	addl	72(%esp),%ebx
8105	shrl	$10,%edi
8106	addl	44(%esp),%ebx
8107	movl	%edx,%ecx
8108	xorl	%esi,%edi
8109	movl	12(%esp),%esi
8110	rorl	$14,%edx
8111	addl	%edi,%ebx
8112	movl	16(%esp),%edi
8113	xorl	%ecx,%edx
8114	movl	%ebx,72(%esp)
8115	xorl	%edi,%esi
8116	rorl	$5,%edx
8117	andl	%ecx,%esi
8118	movl	%ecx,8(%esp)
8119	xorl	%ecx,%edx
8120	addl	20(%esp),%ebx
8121	xorl	%esi,%edi
8122	rorl	$6,%edx
8123	movl	%eax,%ecx
8124	addl	%edi,%ebx
8125	rorl	$9,%ecx
8126	movl	%eax,%esi
8127	movl	28(%esp),%edi
8128	xorl	%eax,%ecx
8129	movl	%eax,24(%esp)
8130	xorl	%edi,%eax
8131	rorl	$11,%ecx
8132	andl	%eax,%ebp
8133	leal	2952996808(%ebx,%edx,1),%edx
8134	xorl	%esi,%ecx
8135	xorl	%edi,%ebp
8136	movl	80(%esp),%esi
8137	rorl	$2,%ecx
8138	addl	%edx,%ebp
8139	addl	4(%esp),%edx
8140	addl	%ecx,%ebp
8141	movl	68(%esp),%ecx
8142	movl	%esi,%ebx
8143	rorl	$11,%esi
8144	movl	%ecx,%edi
8145	rorl	$2,%ecx
8146	xorl	%ebx,%esi
8147	shrl	$3,%ebx
8148	rorl	$7,%esi
8149	xorl	%edi,%ecx
8150	xorl	%esi,%ebx
8151	rorl	$17,%ecx
8152	addl	76(%esp),%ebx
8153	shrl	$10,%edi
8154	addl	48(%esp),%ebx
8155	movl	%edx,%esi
8156	xorl	%ecx,%edi
8157	movl	8(%esp),%ecx
8158	rorl	$14,%edx
8159	addl	%edi,%ebx
8160	movl	12(%esp),%edi
8161	xorl	%esi,%edx
8162	movl	%ebx,76(%esp)
8163	xorl	%edi,%ecx
8164	rorl	$5,%edx
8165	andl	%esi,%ecx
8166	movl	%esi,4(%esp)
8167	xorl	%esi,%edx
8168	addl	16(%esp),%ebx
8169	xorl	%ecx,%edi
8170	rorl	$6,%edx
8171	movl	%ebp,%esi
8172	addl	%edi,%ebx
8173	rorl	$9,%esi
8174	movl	%ebp,%ecx
8175	movl	24(%esp),%edi
8176	xorl	%ebp,%esi
8177	movl	%ebp,20(%esp)
8178	xorl	%edi,%ebp
8179	rorl	$11,%esi
8180	andl	%ebp,%eax
8181	leal	3210313671(%ebx,%edx,1),%edx
8182	xorl	%ecx,%esi
8183	xorl	%edi,%eax
8184	movl	84(%esp),%ecx
8185	rorl	$2,%esi
8186	addl	%edx,%eax
8187	addl	(%esp),%edx
8188	addl	%esi,%eax
8189	movl	72(%esp),%esi
8190	movl	%ecx,%ebx
8191	rorl	$11,%ecx
8192	movl	%esi,%edi
8193	rorl	$2,%esi
8194	xorl	%ebx,%ecx
8195	shrl	$3,%ebx
8196	rorl	$7,%ecx
8197	xorl	%edi,%esi
8198	xorl	%ecx,%ebx
8199	rorl	$17,%esi
8200	addl	80(%esp),%ebx
8201	shrl	$10,%edi
8202	addl	52(%esp),%ebx
8203	movl	%edx,%ecx
8204	xorl	%esi,%edi
8205	movl	4(%esp),%esi
8206	rorl	$14,%edx
8207	addl	%edi,%ebx
8208	movl	8(%esp),%edi
8209	xorl	%ecx,%edx
8210	movl	%ebx,80(%esp)
8211	xorl	%edi,%esi
8212	rorl	$5,%edx
8213	andl	%ecx,%esi
8214	movl	%ecx,(%esp)
8215	xorl	%ecx,%edx
8216	addl	12(%esp),%ebx
8217	xorl	%esi,%edi
8218	rorl	$6,%edx
8219	movl	%eax,%ecx
8220	addl	%edi,%ebx
8221	rorl	$9,%ecx
8222	movl	%eax,%esi
8223	movl	20(%esp),%edi
8224	xorl	%eax,%ecx
8225	movl	%eax,16(%esp)
8226	xorl	%edi,%eax
8227	rorl	$11,%ecx
8228	andl	%eax,%ebp
8229	leal	3336571891(%ebx,%edx,1),%edx
8230	xorl	%esi,%ecx
8231	xorl	%edi,%ebp
8232	movl	88(%esp),%esi
8233	rorl	$2,%ecx
8234	addl	%edx,%ebp
8235	addl	28(%esp),%edx
8236	addl	%ecx,%ebp
8237	movl	76(%esp),%ecx
8238	movl	%esi,%ebx
8239	rorl	$11,%esi
8240	movl	%ecx,%edi
8241	rorl	$2,%ecx
8242	xorl	%ebx,%esi
8243	shrl	$3,%ebx
8244	rorl	$7,%esi
8245	xorl	%edi,%ecx
8246	xorl	%esi,%ebx
8247	rorl	$17,%ecx
8248	addl	84(%esp),%ebx
8249	shrl	$10,%edi
8250	addl	56(%esp),%ebx
8251	movl	%edx,%esi
8252	xorl	%ecx,%edi
8253	movl	(%esp),%ecx
8254	rorl	$14,%edx
8255	addl	%edi,%ebx
8256	movl	4(%esp),%edi
8257	xorl	%esi,%edx
8258	movl	%ebx,84(%esp)
8259	xorl	%edi,%ecx
8260	rorl	$5,%edx
8261	andl	%esi,%ecx
8262	movl	%esi,28(%esp)
8263	xorl	%esi,%edx
8264	addl	8(%esp),%ebx
8265	xorl	%ecx,%edi
8266	rorl	$6,%edx
8267	movl	%ebp,%esi
8268	addl	%edi,%ebx
8269	rorl	$9,%esi
8270	movl	%ebp,%ecx
8271	movl	16(%esp),%edi
8272	xorl	%ebp,%esi
8273	movl	%ebp,12(%esp)
8274	xorl	%edi,%ebp
8275	rorl	$11,%esi
8276	andl	%ebp,%eax
8277	leal	3584528711(%ebx,%edx,1),%edx
8278	xorl	%ecx,%esi
8279	xorl	%edi,%eax
8280	movl	92(%esp),%ecx
8281	rorl	$2,%esi
8282	addl	%edx,%eax
8283	addl	24(%esp),%edx
8284	addl	%esi,%eax
8285	movl	80(%esp),%esi
8286	movl	%ecx,%ebx
8287	rorl	$11,%ecx
8288	movl	%esi,%edi
8289	rorl	$2,%esi
8290	xorl	%ebx,%ecx
8291	shrl	$3,%ebx
8292	rorl	$7,%ecx
8293	xorl	%edi,%esi
8294	xorl	%ecx,%ebx
8295	rorl	$17,%esi
8296	addl	88(%esp),%ebx
8297	shrl	$10,%edi
8298	addl	60(%esp),%ebx
8299	movl	%edx,%ecx
8300	xorl	%esi,%edi
8301	movl	28(%esp),%esi
8302	rorl	$14,%edx
8303	addl	%edi,%ebx
8304	movl	(%esp),%edi
8305	xorl	%ecx,%edx
8306	movl	%ebx,88(%esp)
8307	xorl	%edi,%esi
8308	rorl	$5,%edx
8309	andl	%ecx,%esi
8310	movl	%ecx,24(%esp)
8311	xorl	%ecx,%edx
8312	addl	4(%esp),%ebx
8313	xorl	%esi,%edi
8314	rorl	$6,%edx
8315	movl	%eax,%ecx
8316	addl	%edi,%ebx
8317	rorl	$9,%ecx
8318	movl	%eax,%esi
8319	movl	12(%esp),%edi
8320	xorl	%eax,%ecx
8321	movl	%eax,8(%esp)
8322	xorl	%edi,%eax
8323	rorl	$11,%ecx
8324	andl	%eax,%ebp
8325	leal	113926993(%ebx,%edx,1),%edx
8326	xorl	%esi,%ecx
8327	xorl	%edi,%ebp
8328	movl	32(%esp),%esi
8329	rorl	$2,%ecx
8330	addl	%edx,%ebp
8331	addl	20(%esp),%edx
8332	addl	%ecx,%ebp
8333	movl	84(%esp),%ecx
8334	movl	%esi,%ebx
8335	rorl	$11,%esi
8336	movl	%ecx,%edi
8337	rorl	$2,%ecx
8338	xorl	%ebx,%esi
8339	shrl	$3,%ebx
8340	rorl	$7,%esi
8341	xorl	%edi,%ecx
8342	xorl	%esi,%ebx
8343	rorl	$17,%ecx
8344	addl	92(%esp),%ebx
8345	shrl	$10,%edi
8346	addl	64(%esp),%ebx
8347	movl	%edx,%esi
8348	xorl	%ecx,%edi
8349	movl	24(%esp),%ecx
8350	rorl	$14,%edx
8351	addl	%edi,%ebx
8352	movl	28(%esp),%edi
8353	xorl	%esi,%edx
8354	movl	%ebx,92(%esp)
8355	xorl	%edi,%ecx
8356	rorl	$5,%edx
8357	andl	%esi,%ecx
8358	movl	%esi,20(%esp)
8359	xorl	%esi,%edx
8360	addl	(%esp),%ebx
8361	xorl	%ecx,%edi
8362	rorl	$6,%edx
8363	movl	%ebp,%esi
8364	addl	%edi,%ebx
8365	rorl	$9,%esi
8366	movl	%ebp,%ecx
8367	movl	8(%esp),%edi
8368	xorl	%ebp,%esi
8369	movl	%ebp,4(%esp)
8370	xorl	%edi,%ebp
8371	rorl	$11,%esi
8372	andl	%ebp,%eax
8373	leal	338241895(%ebx,%edx,1),%edx
8374	xorl	%ecx,%esi
8375	xorl	%edi,%eax
8376	movl	36(%esp),%ecx
8377	rorl	$2,%esi
8378	addl	%edx,%eax
8379	addl	16(%esp),%edx
8380	addl	%esi,%eax
8381	movl	88(%esp),%esi
8382	movl	%ecx,%ebx
8383	rorl	$11,%ecx
8384	movl	%esi,%edi
8385	rorl	$2,%esi
8386	xorl	%ebx,%ecx
8387	shrl	$3,%ebx
8388	rorl	$7,%ecx
8389	xorl	%edi,%esi
8390	xorl	%ecx,%ebx
8391	rorl	$17,%esi
8392	addl	32(%esp),%ebx
8393	shrl	$10,%edi
8394	addl	68(%esp),%ebx
8395	movl	%edx,%ecx
8396	xorl	%esi,%edi
8397	movl	20(%esp),%esi
8398	rorl	$14,%edx
8399	addl	%edi,%ebx
8400	movl	24(%esp),%edi
8401	xorl	%ecx,%edx
8402	movl	%ebx,32(%esp)
8403	xorl	%edi,%esi
8404	rorl	$5,%edx
8405	andl	%ecx,%esi
8406	movl	%ecx,16(%esp)
8407	xorl	%ecx,%edx
8408	addl	28(%esp),%ebx
8409	xorl	%esi,%edi
8410	rorl	$6,%edx
8411	movl	%eax,%ecx
8412	addl	%edi,%ebx
8413	rorl	$9,%ecx
8414	movl	%eax,%esi
8415	movl	4(%esp),%edi
8416	xorl	%eax,%ecx
8417	movl	%eax,(%esp)
8418	xorl	%edi,%eax
8419	rorl	$11,%ecx
8420	andl	%eax,%ebp
8421	leal	666307205(%ebx,%edx,1),%edx
8422	xorl	%esi,%ecx
8423	xorl	%edi,%ebp
8424	movl	40(%esp),%esi
8425	rorl	$2,%ecx
8426	addl	%edx,%ebp
8427	addl	12(%esp),%edx
8428	addl	%ecx,%ebp
8429	movl	92(%esp),%ecx
8430	movl	%esi,%ebx
8431	rorl	$11,%esi
8432	movl	%ecx,%edi
8433	rorl	$2,%ecx
8434	xorl	%ebx,%esi
8435	shrl	$3,%ebx
8436	rorl	$7,%esi
8437	xorl	%edi,%ecx
8438	xorl	%esi,%ebx
8439	rorl	$17,%ecx
8440	addl	36(%esp),%ebx
8441	shrl	$10,%edi
8442	addl	72(%esp),%ebx
8443	movl	%edx,%esi
8444	xorl	%ecx,%edi
8445	movl	16(%esp),%ecx
8446	rorl	$14,%edx
8447	addl	%edi,%ebx
8448	movl	20(%esp),%edi
8449	xorl	%esi,%edx
8450	movl	%ebx,36(%esp)
8451	xorl	%edi,%ecx
8452	rorl	$5,%edx
8453	andl	%esi,%ecx
8454	movl	%esi,12(%esp)
8455	xorl	%esi,%edx
8456	addl	24(%esp),%ebx
8457	xorl	%ecx,%edi
8458	rorl	$6,%edx
8459	movl	%ebp,%esi
8460	addl	%edi,%ebx
8461	rorl	$9,%esi
8462	movl	%ebp,%ecx
8463	movl	(%esp),%edi
8464	xorl	%ebp,%esi
8465	movl	%ebp,28(%esp)
8466	xorl	%edi,%ebp
8467	rorl	$11,%esi
8468	andl	%ebp,%eax
8469	leal	773529912(%ebx,%edx,1),%edx
8470	xorl	%ecx,%esi
8471	xorl	%edi,%eax
8472	movl	44(%esp),%ecx
8473	rorl	$2,%esi
8474	addl	%edx,%eax
8475	addl	8(%esp),%edx
8476	addl	%esi,%eax
8477	movl	32(%esp),%esi
8478	movl	%ecx,%ebx
8479	rorl	$11,%ecx
8480	movl	%esi,%edi
8481	rorl	$2,%esi
8482	xorl	%ebx,%ecx
8483	shrl	$3,%ebx
8484	rorl	$7,%ecx
8485	xorl	%edi,%esi
8486	xorl	%ecx,%ebx
8487	rorl	$17,%esi
8488	addl	40(%esp),%ebx
8489	shrl	$10,%edi
8490	addl	76(%esp),%ebx
8491	movl	%edx,%ecx
8492	xorl	%esi,%edi
8493	movl	12(%esp),%esi
8494	rorl	$14,%edx
8495	addl	%edi,%ebx
8496	movl	16(%esp),%edi
8497	xorl	%ecx,%edx
8498	movl	%ebx,40(%esp)
8499	xorl	%edi,%esi
8500	rorl	$5,%edx
8501	andl	%ecx,%esi
8502	movl	%ecx,8(%esp)
8503	xorl	%ecx,%edx
8504	addl	20(%esp),%ebx
8505	xorl	%esi,%edi
8506	rorl	$6,%edx
8507	movl	%eax,%ecx
8508	addl	%edi,%ebx
8509	rorl	$9,%ecx
8510	movl	%eax,%esi
8511	movl	28(%esp),%edi
8512	xorl	%eax,%ecx
8513	movl	%eax,24(%esp)
8514	xorl	%edi,%eax
8515	rorl	$11,%ecx
8516	andl	%eax,%ebp
8517	leal	1294757372(%ebx,%edx,1),%edx
8518	xorl	%esi,%ecx
8519	xorl	%edi,%ebp
8520	movl	48(%esp),%esi
8521	rorl	$2,%ecx
8522	addl	%edx,%ebp
8523	addl	4(%esp),%edx
8524	addl	%ecx,%ebp
8525	movl	36(%esp),%ecx
8526	movl	%esi,%ebx
8527	rorl	$11,%esi
8528	movl	%ecx,%edi
8529	rorl	$2,%ecx
8530	xorl	%ebx,%esi
8531	shrl	$3,%ebx
8532	rorl	$7,%esi
8533	xorl	%edi,%ecx
8534	xorl	%esi,%ebx
8535	rorl	$17,%ecx
8536	addl	44(%esp),%ebx
8537	shrl	$10,%edi
8538	addl	80(%esp),%ebx
8539	movl	%edx,%esi
8540	xorl	%ecx,%edi
8541	movl	8(%esp),%ecx
8542	rorl	$14,%edx
8543	addl	%edi,%ebx
8544	movl	12(%esp),%edi
8545	xorl	%esi,%edx
8546	movl	%ebx,44(%esp)
8547	xorl	%edi,%ecx
8548	rorl	$5,%edx
8549	andl	%esi,%ecx
8550	movl	%esi,4(%esp)
8551	xorl	%esi,%edx
8552	addl	16(%esp),%ebx
8553	xorl	%ecx,%edi
8554	rorl	$6,%edx
8555	movl	%ebp,%esi
8556	addl	%edi,%ebx
8557	rorl	$9,%esi
8558	movl	%ebp,%ecx
8559	movl	24(%esp),%edi
8560	xorl	%ebp,%esi
8561	movl	%ebp,20(%esp)
8562	xorl	%edi,%ebp
8563	rorl	$11,%esi
8564	andl	%ebp,%eax
8565	leal	1396182291(%ebx,%edx,1),%edx
8566	xorl	%ecx,%esi
8567	xorl	%edi,%eax
8568	movl	52(%esp),%ecx
8569	rorl	$2,%esi
8570	addl	%edx,%eax
8571	addl	(%esp),%edx
8572	addl	%esi,%eax
8573	movl	40(%esp),%esi
8574	movl	%ecx,%ebx
8575	rorl	$11,%ecx
8576	movl	%esi,%edi
8577	rorl	$2,%esi
8578	xorl	%ebx,%ecx
8579	shrl	$3,%ebx
8580	rorl	$7,%ecx
8581	xorl	%edi,%esi
8582	xorl	%ecx,%ebx
8583	rorl	$17,%esi
8584	addl	48(%esp),%ebx
8585	shrl	$10,%edi
8586	addl	84(%esp),%ebx
8587	movl	%edx,%ecx
8588	xorl	%esi,%edi
8589	movl	4(%esp),%esi
8590	rorl	$14,%edx
8591	addl	%edi,%ebx
8592	movl	8(%esp),%edi
8593	xorl	%ecx,%edx
8594	movl	%ebx,48(%esp)
8595	xorl	%edi,%esi
8596	rorl	$5,%edx
8597	andl	%ecx,%esi
8598	movl	%ecx,(%esp)
8599	xorl	%ecx,%edx
8600	addl	12(%esp),%ebx
8601	xorl	%esi,%edi
8602	rorl	$6,%edx
8603	movl	%eax,%ecx
8604	addl	%edi,%ebx
8605	rorl	$9,%ecx
8606	movl	%eax,%esi
8607	movl	20(%esp),%edi
8608	xorl	%eax,%ecx
8609	movl	%eax,16(%esp)
8610	xorl	%edi,%eax
8611	rorl	$11,%ecx
8612	andl	%eax,%ebp
8613	leal	1695183700(%ebx,%edx,1),%edx
8614	xorl	%esi,%ecx
8615	xorl	%edi,%ebp
8616	movl	56(%esp),%esi
8617	rorl	$2,%ecx
8618	addl	%edx,%ebp
8619	addl	28(%esp),%edx
8620	addl	%ecx,%ebp
8621	movl	44(%esp),%ecx
8622	movl	%esi,%ebx
8623	rorl	$11,%esi
8624	movl	%ecx,%edi
8625	rorl	$2,%ecx
8626	xorl	%ebx,%esi
8627	shrl	$3,%ebx
8628	rorl	$7,%esi
8629	xorl	%edi,%ecx
8630	xorl	%esi,%ebx
8631	rorl	$17,%ecx
8632	addl	52(%esp),%ebx
8633	shrl	$10,%edi
8634	addl	88(%esp),%ebx
8635	movl	%edx,%esi
8636	xorl	%ecx,%edi
8637	movl	(%esp),%ecx
8638	rorl	$14,%edx
8639	addl	%edi,%ebx
8640	movl	4(%esp),%edi
8641	xorl	%esi,%edx
8642	movl	%ebx,52(%esp)
8643	xorl	%edi,%ecx
8644	rorl	$5,%edx
8645	andl	%esi,%ecx
8646	movl	%esi,28(%esp)
8647	xorl	%esi,%edx
8648	addl	8(%esp),%ebx
8649	xorl	%ecx,%edi
8650	rorl	$6,%edx
8651	movl	%ebp,%esi
8652	addl	%edi,%ebx
8653	rorl	$9,%esi
8654	movl	%ebp,%ecx
8655	movl	16(%esp),%edi
8656	xorl	%ebp,%esi
8657	movl	%ebp,12(%esp)
8658	xorl	%edi,%ebp
8659	rorl	$11,%esi
8660	andl	%ebp,%eax
8661	leal	1986661051(%ebx,%edx,1),%edx
8662	xorl	%ecx,%esi
8663	xorl	%edi,%eax
8664	movl	60(%esp),%ecx
8665	rorl	$2,%esi
8666	addl	%edx,%eax
8667	addl	24(%esp),%edx
8668	addl	%esi,%eax
8669	movl	48(%esp),%esi
8670	movl	%ecx,%ebx
8671	rorl	$11,%ecx
8672	movl	%esi,%edi
8673	rorl	$2,%esi
8674	xorl	%ebx,%ecx
8675	shrl	$3,%ebx
8676	rorl	$7,%ecx
8677	xorl	%edi,%esi
8678	xorl	%ecx,%ebx
8679	rorl	$17,%esi
8680	addl	56(%esp),%ebx
8681	shrl	$10,%edi
8682	addl	92(%esp),%ebx
8683	movl	%edx,%ecx
8684	xorl	%esi,%edi
8685	movl	28(%esp),%esi
8686	rorl	$14,%edx
8687	addl	%edi,%ebx
8688	movl	(%esp),%edi
8689	xorl	%ecx,%edx
8690	movl	%ebx,56(%esp)
8691	xorl	%edi,%esi
8692	rorl	$5,%edx
8693	andl	%ecx,%esi
8694	movl	%ecx,24(%esp)
8695	xorl	%ecx,%edx
8696	addl	4(%esp),%ebx
8697	xorl	%esi,%edi
8698	rorl	$6,%edx
8699	movl	%eax,%ecx
8700	addl	%edi,%ebx
8701	rorl	$9,%ecx
8702	movl	%eax,%esi
8703	movl	12(%esp),%edi
8704	xorl	%eax,%ecx
8705	movl	%eax,8(%esp)
8706	xorl	%edi,%eax
8707	rorl	$11,%ecx
8708	andl	%eax,%ebp
8709	leal	2177026350(%ebx,%edx,1),%edx
8710	xorl	%esi,%ecx
8711	xorl	%edi,%ebp
8712	movl	64(%esp),%esi
8713	rorl	$2,%ecx
8714	addl	%edx,%ebp
8715	addl	20(%esp),%edx
8716	addl	%ecx,%ebp
8717	movl	52(%esp),%ecx
8718	movl	%esi,%ebx
8719	rorl	$11,%esi
8720	movl	%ecx,%edi
8721	rorl	$2,%ecx
8722	xorl	%ebx,%esi
8723	shrl	$3,%ebx
8724	rorl	$7,%esi
8725	xorl	%edi,%ecx
8726	xorl	%esi,%ebx
8727	rorl	$17,%ecx
8728	addl	60(%esp),%ebx
8729	shrl	$10,%edi
8730	addl	32(%esp),%ebx
8731	movl	%edx,%esi
8732	xorl	%ecx,%edi
8733	movl	24(%esp),%ecx
8734	rorl	$14,%edx
8735	addl	%edi,%ebx
8736	movl	28(%esp),%edi
8737	xorl	%esi,%edx
8738	movl	%ebx,60(%esp)
8739	xorl	%edi,%ecx
8740	rorl	$5,%edx
8741	andl	%esi,%ecx
8742	movl	%esi,20(%esp)
8743	xorl	%esi,%edx
8744	addl	(%esp),%ebx
8745	xorl	%ecx,%edi
8746	rorl	$6,%edx
8747	movl	%ebp,%esi
8748	addl	%edi,%ebx
8749	rorl	$9,%esi
8750	movl	%ebp,%ecx
8751	movl	8(%esp),%edi
8752	xorl	%ebp,%esi
8753	movl	%ebp,4(%esp)
8754	xorl	%edi,%ebp
8755	rorl	$11,%esi
8756	andl	%ebp,%eax
8757	leal	2456956037(%ebx,%edx,1),%edx
8758	xorl	%ecx,%esi
8759	xorl	%edi,%eax
8760	movl	68(%esp),%ecx
8761	rorl	$2,%esi
8762	addl	%edx,%eax
8763	addl	16(%esp),%edx
8764	addl	%esi,%eax
8765	movl	56(%esp),%esi
8766	movl	%ecx,%ebx
8767	rorl	$11,%ecx
8768	movl	%esi,%edi
8769	rorl	$2,%esi
8770	xorl	%ebx,%ecx
8771	shrl	$3,%ebx
8772	rorl	$7,%ecx
8773	xorl	%edi,%esi
8774	xorl	%ecx,%ebx
8775	rorl	$17,%esi
8776	addl	64(%esp),%ebx
8777	shrl	$10,%edi
8778	addl	36(%esp),%ebx
8779	movl	%edx,%ecx
8780	xorl	%esi,%edi
8781	movl	20(%esp),%esi
8782	rorl	$14,%edx
8783	addl	%edi,%ebx
8784	movl	24(%esp),%edi
8785	xorl	%ecx,%edx
8786	movl	%ebx,64(%esp)
8787	xorl	%edi,%esi
8788	rorl	$5,%edx
8789	andl	%ecx,%esi
8790	movl	%ecx,16(%esp)
8791	xorl	%ecx,%edx
8792	addl	28(%esp),%ebx
8793	xorl	%esi,%edi
8794	rorl	$6,%edx
8795	movl	%eax,%ecx
8796	addl	%edi,%ebx
8797	rorl	$9,%ecx
8798	movl	%eax,%esi
8799	movl	4(%esp),%edi
8800	xorl	%eax,%ecx
8801	movl	%eax,(%esp)
8802	xorl	%edi,%eax
8803	rorl	$11,%ecx
8804	andl	%eax,%ebp
8805	leal	2730485921(%ebx,%edx,1),%edx
8806	xorl	%esi,%ecx
8807	xorl	%edi,%ebp
8808	movl	72(%esp),%esi
8809	rorl	$2,%ecx
8810	addl	%edx,%ebp
8811	addl	12(%esp),%edx
8812	addl	%ecx,%ebp
8813	movl	60(%esp),%ecx
8814	movl	%esi,%ebx
8815	rorl	$11,%esi
8816	movl	%ecx,%edi
8817	rorl	$2,%ecx
8818	xorl	%ebx,%esi
8819	shrl	$3,%ebx
8820	rorl	$7,%esi
8821	xorl	%edi,%ecx
8822	xorl	%esi,%ebx
8823	rorl	$17,%ecx
8824	addl	68(%esp),%ebx
8825	shrl	$10,%edi
8826	addl	40(%esp),%ebx
8827	movl	%edx,%esi
8828	xorl	%ecx,%edi
8829	movl	16(%esp),%ecx
8830	rorl	$14,%edx
8831	addl	%edi,%ebx
8832	movl	20(%esp),%edi
8833	xorl	%esi,%edx
8834	movl	%ebx,68(%esp)
8835	xorl	%edi,%ecx
8836	rorl	$5,%edx
8837	andl	%esi,%ecx
8838	movl	%esi,12(%esp)
8839	xorl	%esi,%edx
8840	addl	24(%esp),%ebx
8841	xorl	%ecx,%edi
8842	rorl	$6,%edx
8843	movl	%ebp,%esi
8844	addl	%edi,%ebx
8845	rorl	$9,%esi
8846	movl	%ebp,%ecx
8847	movl	(%esp),%edi
8848	xorl	%ebp,%esi
8849	movl	%ebp,28(%esp)
8850	xorl	%edi,%ebp
8851	rorl	$11,%esi
8852	andl	%ebp,%eax
8853	leal	2820302411(%ebx,%edx,1),%edx
8854	xorl	%ecx,%esi
8855	xorl	%edi,%eax
8856	movl	76(%esp),%ecx
8857	rorl	$2,%esi
8858	addl	%edx,%eax
8859	addl	8(%esp),%edx
8860	addl	%esi,%eax
8861	movl	64(%esp),%esi
8862	movl	%ecx,%ebx
8863	rorl	$11,%ecx
8864	movl	%esi,%edi
8865	rorl	$2,%esi
8866	xorl	%ebx,%ecx
8867	shrl	$3,%ebx
8868	rorl	$7,%ecx
8869	xorl	%edi,%esi
8870	xorl	%ecx,%ebx
8871	rorl	$17,%esi
8872	addl	72(%esp),%ebx
8873	shrl	$10,%edi
8874	addl	44(%esp),%ebx
8875	movl	%edx,%ecx
8876	xorl	%esi,%edi
8877	movl	12(%esp),%esi
8878	rorl	$14,%edx
8879	addl	%edi,%ebx
8880	movl	16(%esp),%edi
8881	xorl	%ecx,%edx
8882	movl	%ebx,72(%esp)
8883	xorl	%edi,%esi
8884	rorl	$5,%edx
8885	andl	%ecx,%esi
8886	movl	%ecx,8(%esp)
8887	xorl	%ecx,%edx
8888	addl	20(%esp),%ebx
8889	xorl	%esi,%edi
8890	rorl	$6,%edx
8891	movl	%eax,%ecx
8892	addl	%edi,%ebx
8893	rorl	$9,%ecx
8894	movl	%eax,%esi
8895	movl	28(%esp),%edi
8896	xorl	%eax,%ecx
8897	movl	%eax,24(%esp)
8898	xorl	%edi,%eax
8899	rorl	$11,%ecx
8900	andl	%eax,%ebp
8901	leal	3259730800(%ebx,%edx,1),%edx
8902	xorl	%esi,%ecx
8903	xorl	%edi,%ebp
8904	movl	80(%esp),%esi
8905	rorl	$2,%ecx
8906	addl	%edx,%ebp
8907	addl	4(%esp),%edx
8908	addl	%ecx,%ebp
8909	movl	68(%esp),%ecx
8910	movl	%esi,%ebx
8911	rorl	$11,%esi
8912	movl	%ecx,%edi
8913	rorl	$2,%ecx
8914	xorl	%ebx,%esi
8915	shrl	$3,%ebx
8916	rorl	$7,%esi
8917	xorl	%edi,%ecx
8918	xorl	%esi,%ebx
8919	rorl	$17,%ecx
8920	addl	76(%esp),%ebx
8921	shrl	$10,%edi
8922	addl	48(%esp),%ebx
8923	movl	%edx,%esi
8924	xorl	%ecx,%edi
8925	movl	8(%esp),%ecx
8926	rorl	$14,%edx
8927	addl	%edi,%ebx
8928	movl	12(%esp),%edi
8929	xorl	%esi,%edx
8930	movl	%ebx,76(%esp)
8931	xorl	%edi,%ecx
8932	rorl	$5,%edx
8933	andl	%esi,%ecx
8934	movl	%esi,4(%esp)
8935	xorl	%esi,%edx
8936	addl	16(%esp),%ebx
8937	xorl	%ecx,%edi
8938	rorl	$6,%edx
8939	movl	%ebp,%esi
8940	addl	%edi,%ebx
8941	rorl	$9,%esi
8942	movl	%ebp,%ecx
8943	movl	24(%esp),%edi
8944	xorl	%ebp,%esi
8945	movl	%ebp,20(%esp)
8946	xorl	%edi,%ebp
8947	rorl	$11,%esi
8948	andl	%ebp,%eax
8949	leal	3345764771(%ebx,%edx,1),%edx
8950	xorl	%ecx,%esi
8951	xorl	%edi,%eax
8952	movl	84(%esp),%ecx
8953	rorl	$2,%esi
8954	addl	%edx,%eax
8955	addl	(%esp),%edx
8956	addl	%esi,%eax
8957	movl	72(%esp),%esi
8958	movl	%ecx,%ebx
8959	rorl	$11,%ecx
8960	movl	%esi,%edi
8961	rorl	$2,%esi
8962	xorl	%ebx,%ecx
8963	shrl	$3,%ebx
8964	rorl	$7,%ecx
8965	xorl	%edi,%esi
8966	xorl	%ecx,%ebx
8967	rorl	$17,%esi
8968	addl	80(%esp),%ebx
8969	shrl	$10,%edi
8970	addl	52(%esp),%ebx
8971	movl	%edx,%ecx
8972	xorl	%esi,%edi
8973	movl	4(%esp),%esi
8974	rorl	$14,%edx
8975	addl	%edi,%ebx
8976	movl	8(%esp),%edi
8977	xorl	%ecx,%edx
8978	movl	%ebx,80(%esp)
8979	xorl	%edi,%esi
8980	rorl	$5,%edx
8981	andl	%ecx,%esi
8982	movl	%ecx,(%esp)
8983	xorl	%ecx,%edx
8984	addl	12(%esp),%ebx
8985	xorl	%esi,%edi
8986	rorl	$6,%edx
8987	movl	%eax,%ecx
8988	addl	%edi,%ebx
8989	rorl	$9,%ecx
8990	movl	%eax,%esi
8991	movl	20(%esp),%edi
8992	xorl	%eax,%ecx
8993	movl	%eax,16(%esp)
8994	xorl	%edi,%eax
8995	rorl	$11,%ecx
8996	andl	%eax,%ebp
8997	leal	3516065817(%ebx,%edx,1),%edx
8998	xorl	%esi,%ecx
8999	xorl	%edi,%ebp
9000	movl	88(%esp),%esi
9001	rorl	$2,%ecx
9002	addl	%edx,%ebp
9003	addl	28(%esp),%edx
9004	addl	%ecx,%ebp
9005	movl	76(%esp),%ecx
9006	movl	%esi,%ebx
9007	rorl	$11,%esi
9008	movl	%ecx,%edi
9009	rorl	$2,%ecx
9010	xorl	%ebx,%esi
9011	shrl	$3,%ebx
9012	rorl	$7,%esi
9013	xorl	%edi,%ecx
9014	xorl	%esi,%ebx
9015	rorl	$17,%ecx
9016	addl	84(%esp),%ebx
9017	shrl	$10,%edi
9018	addl	56(%esp),%ebx
9019	movl	%edx,%esi
9020	xorl	%ecx,%edi
9021	movl	(%esp),%ecx
9022	rorl	$14,%edx
9023	addl	%edi,%ebx
9024	movl	4(%esp),%edi
9025	xorl	%esi,%edx
9026	movl	%ebx,84(%esp)
9027	xorl	%edi,%ecx
9028	rorl	$5,%edx
9029	andl	%esi,%ecx
9030	movl	%esi,28(%esp)
9031	xorl	%esi,%edx
9032	addl	8(%esp),%ebx
9033	xorl	%ecx,%edi
9034	rorl	$6,%edx
9035	movl	%ebp,%esi
9036	addl	%edi,%ebx
9037	rorl	$9,%esi
9038	movl	%ebp,%ecx
9039	movl	16(%esp),%edi
9040	xorl	%ebp,%esi
9041	movl	%ebp,12(%esp)
9042	xorl	%edi,%ebp
9043	rorl	$11,%esi
9044	andl	%ebp,%eax
9045	leal	3600352804(%ebx,%edx,1),%edx
9046	xorl	%ecx,%esi
9047	xorl	%edi,%eax
9048	movl	92(%esp),%ecx
9049	rorl	$2,%esi
9050	addl	%edx,%eax
9051	addl	24(%esp),%edx
9052	addl	%esi,%eax
9053	movl	80(%esp),%esi
9054	movl	%ecx,%ebx
9055	rorl	$11,%ecx
9056	movl	%esi,%edi
9057	rorl	$2,%esi
9058	xorl	%ebx,%ecx
9059	shrl	$3,%ebx
9060	rorl	$7,%ecx
9061	xorl	%edi,%esi
9062	xorl	%ecx,%ebx
9063	rorl	$17,%esi
9064	addl	88(%esp),%ebx
9065	shrl	$10,%edi
9066	addl	60(%esp),%ebx
9067	movl	%edx,%ecx
9068	xorl	%esi,%edi
9069	movl	28(%esp),%esi
9070	rorl	$14,%edx
9071	addl	%edi,%ebx
9072	movl	(%esp),%edi
9073	xorl	%ecx,%edx
9074	movl	%ebx,88(%esp)
9075	xorl	%edi,%esi
9076	rorl	$5,%edx
9077	andl	%ecx,%esi
9078	movl	%ecx,24(%esp)
9079	xorl	%ecx,%edx
9080	addl	4(%esp),%ebx
9081	xorl	%esi,%edi
9082	rorl	$6,%edx
9083	movl	%eax,%ecx
9084	addl	%edi,%ebx
9085	rorl	$9,%ecx
9086	movl	%eax,%esi
9087	movl	12(%esp),%edi
9088	xorl	%eax,%ecx
9089	movl	%eax,8(%esp)
9090	xorl	%edi,%eax
9091	rorl	$11,%ecx
9092	andl	%eax,%ebp
9093	leal	4094571909(%ebx,%edx,1),%edx
9094	xorl	%esi,%ecx
9095	xorl	%edi,%ebp
9096	movl	32(%esp),%esi
9097	rorl	$2,%ecx
9098	addl	%edx,%ebp
9099	addl	20(%esp),%edx
9100	addl	%ecx,%ebp
9101	movl	84(%esp),%ecx
9102	movl	%esi,%ebx
9103	rorl	$11,%esi
9104	movl	%ecx,%edi
9105	rorl	$2,%ecx
9106	xorl	%ebx,%esi
9107	shrl	$3,%ebx
9108	rorl	$7,%esi
9109	xorl	%edi,%ecx
9110	xorl	%esi,%ebx
9111	rorl	$17,%ecx
9112	addl	92(%esp),%ebx
9113	shrl	$10,%edi
9114	addl	64(%esp),%ebx
9115	movl	%edx,%esi
9116	xorl	%ecx,%edi
9117	movl	24(%esp),%ecx
9118	rorl	$14,%edx
9119	addl	%edi,%ebx
9120	movl	28(%esp),%edi
9121	xorl	%esi,%edx
9122	movl	%ebx,92(%esp)
9123	xorl	%edi,%ecx
9124	rorl	$5,%edx
9125	andl	%esi,%ecx
9126	movl	%esi,20(%esp)
9127	xorl	%esi,%edx
9128	addl	(%esp),%ebx
9129	xorl	%ecx,%edi
9130	rorl	$6,%edx
9131	movl	%ebp,%esi
9132	addl	%edi,%ebx
9133	rorl	$9,%esi
9134	movl	%ebp,%ecx
9135	movl	8(%esp),%edi
9136	xorl	%ebp,%esi
9137	movl	%ebp,4(%esp)
9138	xorl	%edi,%ebp
9139	rorl	$11,%esi
9140	andl	%ebp,%eax
9141	leal	275423344(%ebx,%edx,1),%edx
9142	xorl	%ecx,%esi
9143	xorl	%edi,%eax
9144	movl	36(%esp),%ecx
9145	rorl	$2,%esi
9146	addl	%edx,%eax
9147	addl	16(%esp),%edx
9148	addl	%esi,%eax
9149	movl	88(%esp),%esi
9150	movl	%ecx,%ebx
9151	rorl	$11,%ecx
9152	movl	%esi,%edi
9153	rorl	$2,%esi
9154	xorl	%ebx,%ecx
9155	shrl	$3,%ebx
9156	rorl	$7,%ecx
9157	xorl	%edi,%esi
9158	xorl	%ecx,%ebx
9159	rorl	$17,%esi
9160	addl	32(%esp),%ebx
9161	shrl	$10,%edi
9162	addl	68(%esp),%ebx
9163	movl	%edx,%ecx
9164	xorl	%esi,%edi
9165	movl	20(%esp),%esi
9166	rorl	$14,%edx
9167	addl	%edi,%ebx
9168	movl	24(%esp),%edi
9169	xorl	%ecx,%edx
9170	movl	%ebx,32(%esp)
9171	xorl	%edi,%esi
9172	rorl	$5,%edx
9173	andl	%ecx,%esi
9174	movl	%ecx,16(%esp)
9175	xorl	%ecx,%edx
9176	addl	28(%esp),%ebx
9177	xorl	%esi,%edi
9178	rorl	$6,%edx
9179	movl	%eax,%ecx
9180	addl	%edi,%ebx
9181	rorl	$9,%ecx
9182	movl	%eax,%esi
9183	movl	4(%esp),%edi
9184	xorl	%eax,%ecx
9185	movl	%eax,(%esp)
9186	xorl	%edi,%eax
9187	rorl	$11,%ecx
9188	andl	%eax,%ebp
9189	leal	430227734(%ebx,%edx,1),%edx
9190	xorl	%esi,%ecx
9191	xorl	%edi,%ebp
9192	movl	40(%esp),%esi
9193	rorl	$2,%ecx
9194	addl	%edx,%ebp
9195	addl	12(%esp),%edx
9196	addl	%ecx,%ebp
9197	movl	92(%esp),%ecx
9198	movl	%esi,%ebx
9199	rorl	$11,%esi
9200	movl	%ecx,%edi
9201	rorl	$2,%ecx
9202	xorl	%ebx,%esi
9203	shrl	$3,%ebx
9204	rorl	$7,%esi
9205	xorl	%edi,%ecx
9206	xorl	%esi,%ebx
9207	rorl	$17,%ecx
9208	addl	36(%esp),%ebx
9209	shrl	$10,%edi
9210	addl	72(%esp),%ebx
9211	movl	%edx,%esi
9212	xorl	%ecx,%edi
9213	movl	16(%esp),%ecx
9214	rorl	$14,%edx
9215	addl	%edi,%ebx
9216	movl	20(%esp),%edi
9217	xorl	%esi,%edx
9218	movl	%ebx,36(%esp)
9219	xorl	%edi,%ecx
9220	rorl	$5,%edx
9221	andl	%esi,%ecx
9222	movl	%esi,12(%esp)
9223	xorl	%esi,%edx
9224	addl	24(%esp),%ebx
9225	xorl	%ecx,%edi
9226	rorl	$6,%edx
9227	movl	%ebp,%esi
9228	addl	%edi,%ebx
9229	rorl	$9,%esi
9230	movl	%ebp,%ecx
9231	movl	(%esp),%edi
9232	xorl	%ebp,%esi
9233	movl	%ebp,28(%esp)
9234	xorl	%edi,%ebp
9235	rorl	$11,%esi
9236	andl	%ebp,%eax
9237	leal	506948616(%ebx,%edx,1),%edx
9238	xorl	%ecx,%esi
9239	xorl	%edi,%eax
9240	movl	44(%esp),%ecx
9241	rorl	$2,%esi
9242	addl	%edx,%eax
9243	addl	8(%esp),%edx
9244	addl	%esi,%eax
9245	movl	32(%esp),%esi
9246	movl	%ecx,%ebx
9247	rorl	$11,%ecx
9248	movl	%esi,%edi
9249	rorl	$2,%esi
9250	xorl	%ebx,%ecx
9251	shrl	$3,%ebx
9252	rorl	$7,%ecx
9253	xorl	%edi,%esi
9254	xorl	%ecx,%ebx
9255	rorl	$17,%esi
9256	addl	40(%esp),%ebx
9257	shrl	$10,%edi
9258	addl	76(%esp),%ebx
9259	movl	%edx,%ecx
9260	xorl	%esi,%edi
9261	movl	12(%esp),%esi
9262	rorl	$14,%edx
9263	addl	%edi,%ebx
9264	movl	16(%esp),%edi
9265	xorl	%ecx,%edx
9266	movl	%ebx,40(%esp)
9267	xorl	%edi,%esi
9268	rorl	$5,%edx
9269	andl	%ecx,%esi
9270	movl	%ecx,8(%esp)
9271	xorl	%ecx,%edx
9272	addl	20(%esp),%ebx
9273	xorl	%esi,%edi
9274	rorl	$6,%edx
9275	movl	%eax,%ecx
9276	addl	%edi,%ebx
9277	rorl	$9,%ecx
9278	movl	%eax,%esi
9279	movl	28(%esp),%edi
9280	xorl	%eax,%ecx
9281	movl	%eax,24(%esp)
9282	xorl	%edi,%eax
9283	rorl	$11,%ecx
9284	andl	%eax,%ebp
9285	leal	659060556(%ebx,%edx,1),%edx
9286	xorl	%esi,%ecx
9287	xorl	%edi,%ebp
9288	movl	48(%esp),%esi
9289	rorl	$2,%ecx
9290	addl	%edx,%ebp
9291	addl	4(%esp),%edx
9292	addl	%ecx,%ebp
9293	movl	36(%esp),%ecx
9294	movl	%esi,%ebx
9295	rorl	$11,%esi
9296	movl	%ecx,%edi
9297	rorl	$2,%ecx
9298	xorl	%ebx,%esi
9299	shrl	$3,%ebx
9300	rorl	$7,%esi
9301	xorl	%edi,%ecx
9302	xorl	%esi,%ebx
9303	rorl	$17,%ecx
9304	addl	44(%esp),%ebx
9305	shrl	$10,%edi
9306	addl	80(%esp),%ebx
9307	movl	%edx,%esi
9308	xorl	%ecx,%edi
9309	movl	8(%esp),%ecx
9310	rorl	$14,%edx
9311	addl	%edi,%ebx
9312	movl	12(%esp),%edi
9313	xorl	%esi,%edx
9314	movl	%ebx,44(%esp)
9315	xorl	%edi,%ecx
9316	rorl	$5,%edx
9317	andl	%esi,%ecx
9318	movl	%esi,4(%esp)
9319	xorl	%esi,%edx
9320	addl	16(%esp),%ebx
9321	xorl	%ecx,%edi
9322	rorl	$6,%edx
9323	movl	%ebp,%esi
9324	addl	%edi,%ebx
9325	rorl	$9,%esi
9326	movl	%ebp,%ecx
9327	movl	24(%esp),%edi
9328	xorl	%ebp,%esi
9329	movl	%ebp,20(%esp)
9330	xorl	%edi,%ebp
9331	rorl	$11,%esi
9332	andl	%ebp,%eax
9333	leal	883997877(%ebx,%edx,1),%edx
9334	xorl	%ecx,%esi
9335	xorl	%edi,%eax
9336	movl	52(%esp),%ecx
9337	rorl	$2,%esi
9338	addl	%edx,%eax
9339	addl	(%esp),%edx
9340	addl	%esi,%eax
9341	movl	40(%esp),%esi
9342	movl	%ecx,%ebx
9343	rorl	$11,%ecx
9344	movl	%esi,%edi
9345	rorl	$2,%esi
9346	xorl	%ebx,%ecx
9347	shrl	$3,%ebx
9348	rorl	$7,%ecx
9349	xorl	%edi,%esi
9350	xorl	%ecx,%ebx
9351	rorl	$17,%esi
9352	addl	48(%esp),%ebx
9353	shrl	$10,%edi
9354	addl	84(%esp),%ebx
9355	movl	%edx,%ecx
9356	xorl	%esi,%edi
9357	movl	4(%esp),%esi
9358	rorl	$14,%edx
9359	addl	%edi,%ebx
9360	movl	8(%esp),%edi
9361	xorl	%ecx,%edx
9362	movl	%ebx,48(%esp)
9363	xorl	%edi,%esi
9364	rorl	$5,%edx
9365	andl	%ecx,%esi
9366	movl	%ecx,(%esp)
9367	xorl	%ecx,%edx
9368	addl	12(%esp),%ebx
9369	xorl	%esi,%edi
9370	rorl	$6,%edx
9371	movl	%eax,%ecx
9372	addl	%edi,%ebx
9373	rorl	$9,%ecx
9374	movl	%eax,%esi
9375	movl	20(%esp),%edi
9376	xorl	%eax,%ecx
9377	movl	%eax,16(%esp)
9378	xorl	%edi,%eax
9379	rorl	$11,%ecx
9380	andl	%eax,%ebp
9381	leal	958139571(%ebx,%edx,1),%edx
9382	xorl	%esi,%ecx
9383	xorl	%edi,%ebp
9384	movl	56(%esp),%esi
9385	rorl	$2,%ecx
9386	addl	%edx,%ebp
9387	addl	28(%esp),%edx
9388	addl	%ecx,%ebp
9389	movl	44(%esp),%ecx
9390	movl	%esi,%ebx
9391	rorl	$11,%esi
9392	movl	%ecx,%edi
9393	rorl	$2,%ecx
9394	xorl	%ebx,%esi
9395	shrl	$3,%ebx
9396	rorl	$7,%esi
9397	xorl	%edi,%ecx
9398	xorl	%esi,%ebx
9399	rorl	$17,%ecx
9400	addl	52(%esp),%ebx
9401	shrl	$10,%edi
9402	addl	88(%esp),%ebx
9403	movl	%edx,%esi
9404	xorl	%ecx,%edi
9405	movl	(%esp),%ecx
9406	rorl	$14,%edx
9407	addl	%edi,%ebx
9408	movl	4(%esp),%edi
9409	xorl	%esi,%edx
9410	movl	%ebx,52(%esp)
9411	xorl	%edi,%ecx
9412	rorl	$5,%edx
9413	andl	%esi,%ecx
9414	movl	%esi,28(%esp)
9415	xorl	%esi,%edx
9416	addl	8(%esp),%ebx
9417	xorl	%ecx,%edi
9418	rorl	$6,%edx
9419	movl	%ebp,%esi
9420	addl	%edi,%ebx
9421	rorl	$9,%esi
9422	movl	%ebp,%ecx
9423	movl	16(%esp),%edi
9424	xorl	%ebp,%esi
9425	movl	%ebp,12(%esp)
9426	xorl	%edi,%ebp
9427	rorl	$11,%esi
9428	andl	%ebp,%eax
9429	leal	1322822218(%ebx,%edx,1),%edx
9430	xorl	%ecx,%esi
9431	xorl	%edi,%eax
9432	movl	60(%esp),%ecx
9433	rorl	$2,%esi
9434	addl	%edx,%eax
9435	addl	24(%esp),%edx
9436	addl	%esi,%eax
9437	movl	48(%esp),%esi
9438	movl	%ecx,%ebx
9439	rorl	$11,%ecx
9440	movl	%esi,%edi
9441	rorl	$2,%esi
9442	xorl	%ebx,%ecx
9443	shrl	$3,%ebx
9444	rorl	$7,%ecx
9445	xorl	%edi,%esi
9446	xorl	%ecx,%ebx
9447	rorl	$17,%esi
9448	addl	56(%esp),%ebx
9449	shrl	$10,%edi
9450	addl	92(%esp),%ebx
9451	movl	%edx,%ecx
9452	xorl	%esi,%edi
9453	movl	28(%esp),%esi
9454	rorl	$14,%edx
9455	addl	%edi,%ebx
9456	movl	(%esp),%edi
9457	xorl	%ecx,%edx
9458	movl	%ebx,56(%esp)
9459	xorl	%edi,%esi
9460	rorl	$5,%edx
9461	andl	%ecx,%esi
9462	movl	%ecx,24(%esp)
9463	xorl	%ecx,%edx
9464	addl	4(%esp),%ebx
9465	xorl	%esi,%edi
9466	rorl	$6,%edx
9467	movl	%eax,%ecx
9468	addl	%edi,%ebx
9469	rorl	$9,%ecx
9470	movl	%eax,%esi
9471	movl	12(%esp),%edi
9472	xorl	%eax,%ecx
9473	movl	%eax,8(%esp)
9474	xorl	%edi,%eax
9475	rorl	$11,%ecx
9476	andl	%eax,%ebp
9477	leal	1537002063(%ebx,%edx,1),%edx
9478	xorl	%esi,%ecx
9479	xorl	%edi,%ebp
9480	movl	64(%esp),%esi
9481	rorl	$2,%ecx
9482	addl	%edx,%ebp
9483	addl	20(%esp),%edx
9484	addl	%ecx,%ebp
9485	movl	52(%esp),%ecx
9486	movl	%esi,%ebx
9487	rorl	$11,%esi
9488	movl	%ecx,%edi
9489	rorl	$2,%ecx
9490	xorl	%ebx,%esi
9491	shrl	$3,%ebx
9492	rorl	$7,%esi
9493	xorl	%edi,%ecx
9494	xorl	%esi,%ebx
9495	rorl	$17,%ecx
9496	addl	60(%esp),%ebx
9497	shrl	$10,%edi
9498	addl	32(%esp),%ebx
9499	movl	%edx,%esi
9500	xorl	%ecx,%edi
9501	movl	24(%esp),%ecx
9502	rorl	$14,%edx
9503	addl	%edi,%ebx
9504	movl	28(%esp),%edi
9505	xorl	%esi,%edx
9506	movl	%ebx,60(%esp)
9507	xorl	%edi,%ecx
9508	rorl	$5,%edx
9509	andl	%esi,%ecx
9510	movl	%esi,20(%esp)
9511	xorl	%esi,%edx
9512	addl	(%esp),%ebx
9513	xorl	%ecx,%edi
9514	rorl	$6,%edx
9515	movl	%ebp,%esi
9516	addl	%edi,%ebx
9517	rorl	$9,%esi
9518	movl	%ebp,%ecx
9519	movl	8(%esp),%edi
9520	xorl	%ebp,%esi
9521	movl	%ebp,4(%esp)
9522	xorl	%edi,%ebp
9523	rorl	$11,%esi
9524	andl	%ebp,%eax
9525	leal	1747873779(%ebx,%edx,1),%edx
9526	xorl	%ecx,%esi
9527	xorl	%edi,%eax
9528	movl	68(%esp),%ecx
9529	rorl	$2,%esi
9530	addl	%edx,%eax
9531	addl	16(%esp),%edx
9532	addl	%esi,%eax
9533	movl	56(%esp),%esi
9534	movl	%ecx,%ebx
9535	rorl	$11,%ecx
9536	movl	%esi,%edi
9537	rorl	$2,%esi
9538	xorl	%ebx,%ecx
9539	shrl	$3,%ebx
9540	rorl	$7,%ecx
9541	xorl	%edi,%esi
9542	xorl	%ecx,%ebx
9543	rorl	$17,%esi
9544	addl	64(%esp),%ebx
9545	shrl	$10,%edi
9546	addl	36(%esp),%ebx
9547	movl	%edx,%ecx
9548	xorl	%esi,%edi
9549	movl	20(%esp),%esi
9550	rorl	$14,%edx
9551	addl	%edi,%ebx
9552	movl	24(%esp),%edi
9553	xorl	%ecx,%edx
9554	movl	%ebx,64(%esp)
9555	xorl	%edi,%esi
9556	rorl	$5,%edx
9557	andl	%ecx,%esi
9558	movl	%ecx,16(%esp)
9559	xorl	%ecx,%edx
9560	addl	28(%esp),%ebx
9561	xorl	%esi,%edi
9562	rorl	$6,%edx
9563	movl	%eax,%ecx
9564	addl	%edi,%ebx
9565	rorl	$9,%ecx
9566	movl	%eax,%esi
9567	movl	4(%esp),%edi
9568	xorl	%eax,%ecx
9569	movl	%eax,(%esp)
9570	xorl	%edi,%eax
9571	rorl	$11,%ecx
9572	andl	%eax,%ebp
9573	leal	1955562222(%ebx,%edx,1),%edx
9574	xorl	%esi,%ecx
9575	xorl	%edi,%ebp
9576	movl	72(%esp),%esi
9577	rorl	$2,%ecx
9578	addl	%edx,%ebp
9579	addl	12(%esp),%edx
9580	addl	%ecx,%ebp
9581	movl	60(%esp),%ecx
9582	movl	%esi,%ebx
9583	rorl	$11,%esi
9584	movl	%ecx,%edi
9585	rorl	$2,%ecx
9586	xorl	%ebx,%esi
9587	shrl	$3,%ebx
9588	rorl	$7,%esi
9589	xorl	%edi,%ecx
9590	xorl	%esi,%ebx
9591	rorl	$17,%ecx
9592	addl	68(%esp),%ebx
9593	shrl	$10,%edi
9594	addl	40(%esp),%ebx
9595	movl	%edx,%esi
9596	xorl	%ecx,%edi
9597	movl	16(%esp),%ecx
9598	rorl	$14,%edx
9599	addl	%edi,%ebx
9600	movl	20(%esp),%edi
9601	xorl	%esi,%edx
9602	movl	%ebx,68(%esp)
9603	xorl	%edi,%ecx
9604	rorl	$5,%edx
9605	andl	%esi,%ecx
9606	movl	%esi,12(%esp)
9607	xorl	%esi,%edx
9608	addl	24(%esp),%ebx
9609	xorl	%ecx,%edi
9610	rorl	$6,%edx
9611	movl	%ebp,%esi
9612	addl	%edi,%ebx
9613	rorl	$9,%esi
9614	movl	%ebp,%ecx
9615	movl	(%esp),%edi
9616	xorl	%ebp,%esi
9617	movl	%ebp,28(%esp)
9618	xorl	%edi,%ebp
9619	rorl	$11,%esi
9620	andl	%ebp,%eax
9621	leal	2024104815(%ebx,%edx,1),%edx
9622	xorl	%ecx,%esi
9623	xorl	%edi,%eax
9624	movl	76(%esp),%ecx
9625	rorl	$2,%esi
9626	addl	%edx,%eax
9627	addl	8(%esp),%edx
9628	addl	%esi,%eax
9629	movl	64(%esp),%esi
9630	movl	%ecx,%ebx
9631	rorl	$11,%ecx
9632	movl	%esi,%edi
9633	rorl	$2,%esi
9634	xorl	%ebx,%ecx
9635	shrl	$3,%ebx
9636	rorl	$7,%ecx
9637	xorl	%edi,%esi
9638	xorl	%ecx,%ebx
9639	rorl	$17,%esi
9640	addl	72(%esp),%ebx
9641	shrl	$10,%edi
9642	addl	44(%esp),%ebx
9643	movl	%edx,%ecx
9644	xorl	%esi,%edi
9645	movl	12(%esp),%esi
9646	rorl	$14,%edx
9647	addl	%edi,%ebx
9648	movl	16(%esp),%edi
9649	xorl	%ecx,%edx
9650	movl	%ebx,72(%esp)
9651	xorl	%edi,%esi
9652	rorl	$5,%edx
9653	andl	%ecx,%esi
9654	movl	%ecx,8(%esp)
9655	xorl	%ecx,%edx
9656	addl	20(%esp),%ebx
9657	xorl	%esi,%edi
9658	rorl	$6,%edx
9659	movl	%eax,%ecx
9660	addl	%edi,%ebx
9661	rorl	$9,%ecx
9662	movl	%eax,%esi
9663	movl	28(%esp),%edi
9664	xorl	%eax,%ecx
9665	movl	%eax,24(%esp)
9666	xorl	%edi,%eax
9667	rorl	$11,%ecx
9668	andl	%eax,%ebp
9669	leal	2227730452(%ebx,%edx,1),%edx
9670	xorl	%esi,%ecx
9671	xorl	%edi,%ebp
9672	movl	80(%esp),%esi
9673	rorl	$2,%ecx
9674	addl	%edx,%ebp
9675	addl	4(%esp),%edx
9676	addl	%ecx,%ebp
9677	movl	68(%esp),%ecx
9678	movl	%esi,%ebx
9679	rorl	$11,%esi
9680	movl	%ecx,%edi
9681	rorl	$2,%ecx
9682	xorl	%ebx,%esi
9683	shrl	$3,%ebx
9684	rorl	$7,%esi
9685	xorl	%edi,%ecx
9686	xorl	%esi,%ebx
9687	rorl	$17,%ecx
9688	addl	76(%esp),%ebx
9689	shrl	$10,%edi
9690	addl	48(%esp),%ebx
9691	movl	%edx,%esi
9692	xorl	%ecx,%edi
9693	movl	8(%esp),%ecx
9694	rorl	$14,%edx
9695	addl	%edi,%ebx
9696	movl	12(%esp),%edi
9697	xorl	%esi,%edx
9698	movl	%ebx,76(%esp)
9699	xorl	%edi,%ecx
9700	rorl	$5,%edx
9701	andl	%esi,%ecx
9702	movl	%esi,4(%esp)
9703	xorl	%esi,%edx
9704	addl	16(%esp),%ebx
9705	xorl	%ecx,%edi
9706	rorl	$6,%edx
9707	movl	%ebp,%esi
9708	addl	%edi,%ebx
9709	rorl	$9,%esi
9710	movl	%ebp,%ecx
9711	movl	24(%esp),%edi
9712	xorl	%ebp,%esi
9713	movl	%ebp,20(%esp)
9714	xorl	%edi,%ebp
9715	rorl	$11,%esi
9716	andl	%ebp,%eax
9717	leal	2361852424(%ebx,%edx,1),%edx
9718	xorl	%ecx,%esi
9719	xorl	%edi,%eax
9720	movl	84(%esp),%ecx
9721	rorl	$2,%esi
9722	addl	%edx,%eax
9723	addl	(%esp),%edx
9724	addl	%esi,%eax
9725	movl	72(%esp),%esi
9726	movl	%ecx,%ebx
9727	rorl	$11,%ecx
9728	movl	%esi,%edi
9729	rorl	$2,%esi
9730	xorl	%ebx,%ecx
9731	shrl	$3,%ebx
9732	rorl	$7,%ecx
9733	xorl	%edi,%esi
9734	xorl	%ecx,%ebx
9735	rorl	$17,%esi
9736	addl	80(%esp),%ebx
9737	shrl	$10,%edi
9738	addl	52(%esp),%ebx
9739	movl	%edx,%ecx
9740	xorl	%esi,%edi
9741	movl	4(%esp),%esi
9742	rorl	$14,%edx
9743	addl	%edi,%ebx
9744	movl	8(%esp),%edi
9745	xorl	%ecx,%edx
9746	movl	%ebx,80(%esp)
9747	xorl	%edi,%esi
9748	rorl	$5,%edx
9749	andl	%ecx,%esi
9750	movl	%ecx,(%esp)
9751	xorl	%ecx,%edx
9752	addl	12(%esp),%ebx
9753	xorl	%esi,%edi
9754	rorl	$6,%edx
9755	movl	%eax,%ecx
9756	addl	%edi,%ebx
9757	rorl	$9,%ecx
9758	movl	%eax,%esi
9759	movl	20(%esp),%edi
9760	xorl	%eax,%ecx
9761	movl	%eax,16(%esp)
9762	xorl	%edi,%eax
9763	rorl	$11,%ecx
9764	andl	%eax,%ebp
9765	leal	2428436474(%ebx,%edx,1),%edx
9766	xorl	%esi,%ecx
9767	xorl	%edi,%ebp
9768	movl	88(%esp),%esi
9769	rorl	$2,%ecx
9770	addl	%edx,%ebp
9771	addl	28(%esp),%edx
9772	addl	%ecx,%ebp
9773	movl	76(%esp),%ecx
9774	movl	%esi,%ebx
9775	rorl	$11,%esi
9776	movl	%ecx,%edi
9777	rorl	$2,%ecx
9778	xorl	%ebx,%esi
9779	shrl	$3,%ebx
9780	rorl	$7,%esi
9781	xorl	%edi,%ecx
9782	xorl	%esi,%ebx
9783	rorl	$17,%ecx
9784	addl	84(%esp),%ebx
9785	shrl	$10,%edi
9786	addl	56(%esp),%ebx
9787	movl	%edx,%esi
9788	xorl	%ecx,%edi
9789	movl	(%esp),%ecx
9790	rorl	$14,%edx
9791	addl	%edi,%ebx
9792	movl	4(%esp),%edi
9793	xorl	%esi,%edx
9794	movl	%ebx,84(%esp)
9795	xorl	%edi,%ecx
9796	rorl	$5,%edx
9797	andl	%esi,%ecx
9798	movl	%esi,28(%esp)
9799	xorl	%esi,%edx
9800	addl	8(%esp),%ebx
9801	xorl	%ecx,%edi
9802	rorl	$6,%edx
9803	movl	%ebp,%esi
9804	addl	%edi,%ebx
9805	rorl	$9,%esi
9806	movl	%ebp,%ecx
9807	movl	16(%esp),%edi
9808	xorl	%ebp,%esi
9809	movl	%ebp,12(%esp)
9810	xorl	%edi,%ebp
9811	rorl	$11,%esi
9812	andl	%ebp,%eax
9813	leal	2756734187(%ebx,%edx,1),%edx
9814	xorl	%ecx,%esi
9815	xorl	%edi,%eax
9816	movl	92(%esp),%ecx
9817	rorl	$2,%esi
9818	addl	%edx,%eax
9819	addl	24(%esp),%edx
9820	addl	%esi,%eax
9821	movl	80(%esp),%esi
9822	movl	%ecx,%ebx
9823	rorl	$11,%ecx
9824	movl	%esi,%edi
9825	rorl	$2,%esi
9826	xorl	%ebx,%ecx
9827	shrl	$3,%ebx
9828	rorl	$7,%ecx
9829	xorl	%edi,%esi
9830	xorl	%ecx,%ebx
9831	rorl	$17,%esi
9832	addl	88(%esp),%ebx
9833	shrl	$10,%edi
9834	addl	60(%esp),%ebx
9835	movl	%edx,%ecx
9836	xorl	%esi,%edi
9837	movl	28(%esp),%esi
9838	rorl	$14,%edx
9839	addl	%edi,%ebx
9840	movl	(%esp),%edi
9841	xorl	%ecx,%edx
9842	xorl	%edi,%esi
9843	rorl	$5,%edx
9844	andl	%ecx,%esi
9845	movl	%ecx,24(%esp)
9846	xorl	%ecx,%edx
9847	addl	4(%esp),%ebx
9848	xorl	%esi,%edi
9849	rorl	$6,%edx
9850	movl	%eax,%ecx
9851	addl	%edi,%ebx
9852	rorl	$9,%ecx
9853	movl	%eax,%esi
9854	movl	12(%esp),%edi
9855	xorl	%eax,%ecx
9856	movl	%eax,8(%esp)
9857	xorl	%edi,%eax
9858	rorl	$11,%ecx
9859	andl	%eax,%ebp
9860	leal	3204031479(%ebx,%edx,1),%edx
9861	xorl	%esi,%ecx
9862	xorl	%edi,%ebp
9863	movl	32(%esp),%esi
9864	rorl	$2,%ecx
9865	addl	%edx,%ebp
9866	addl	20(%esp),%edx
9867	addl	%ecx,%ebp
9868	movl	84(%esp),%ecx
9869	movl	%esi,%ebx
9870	rorl	$11,%esi
9871	movl	%ecx,%edi
9872	rorl	$2,%ecx
9873	xorl	%ebx,%esi
9874	shrl	$3,%ebx
9875	rorl	$7,%esi
9876	xorl	%edi,%ecx
9877	xorl	%esi,%ebx
9878	rorl	$17,%ecx
9879	addl	92(%esp),%ebx
9880	shrl	$10,%edi
9881	addl	64(%esp),%ebx
9882	movl	%edx,%esi
9883	xorl	%ecx,%edi
9884	movl	24(%esp),%ecx
9885	rorl	$14,%edx
9886	addl	%edi,%ebx
9887	movl	28(%esp),%edi
9888	xorl	%esi,%edx
9889	xorl	%edi,%ecx
9890	rorl	$5,%edx
9891	andl	%esi,%ecx
9892	movl	%esi,20(%esp)
9893	xorl	%esi,%edx
9894	addl	(%esp),%ebx
9895	xorl	%ecx,%edi
9896	rorl	$6,%edx
9897	movl	%ebp,%esi
9898	addl	%edi,%ebx
9899	rorl	$9,%esi
9900	movl	%ebp,%ecx
9901	movl	8(%esp),%edi
9902	xorl	%ebp,%esi
9903	movl	%ebp,4(%esp)
9904	xorl	%edi,%ebp
9905	rorl	$11,%esi
9906	andl	%ebp,%eax
9907	leal	3329325298(%ebx,%edx,1),%edx
9908	xorl	%ecx,%esi
9909	xorl	%edi,%eax
9910	rorl	$2,%esi
9911	addl	%edx,%eax
9912	addl	16(%esp),%edx
9913	addl	%esi,%eax
9914	movl	96(%esp),%esi
9915	xorl	%edi,%ebp
9916	movl	12(%esp),%ecx
9917	addl	(%esi),%eax
9918	addl	4(%esi),%ebp
9919	addl	8(%esi),%edi
9920	addl	12(%esi),%ecx
9921	movl	%eax,(%esi)
9922	movl	%ebp,4(%esi)
9923	movl	%edi,8(%esi)
9924	movl	%ecx,12(%esi)
9925	movl	%ebp,4(%esp)
9926	xorl	%edi,%ebp
9927	movl	%edi,8(%esp)
9928	movl	%ecx,12(%esp)
9929	movl	20(%esp),%edi
9930	movl	24(%esp),%ebx
9931	movl	28(%esp),%ecx
9932	addl	16(%esi),%edx
9933	addl	20(%esi),%edi
9934	addl	24(%esi),%ebx
9935	addl	28(%esi),%ecx
9936	movl	%edx,16(%esi)
9937	movl	%edi,20(%esi)
9938	movl	%ebx,24(%esi)
9939	movl	%ecx,28(%esi)
9940	movl	%edi,20(%esp)
9941	movl	100(%esp),%edi
9942	movl	%ebx,24(%esp)
9943	movl	%ecx,28(%esp)
9944	cmpl	104(%esp),%edi
9945	jb	.L010grand_loop
9946	movl	108(%esp),%esp
9947	popl	%edi
9948	popl	%esi
9949	popl	%ebx
9950	popl	%ebp
9951	ret
9952.align	32
9953.L004shaext:
9954	subl	$32,%esp
9955	movdqu	(%esi),%xmm1
9956	leal	128(%ebp),%ebp
9957	movdqu	16(%esi),%xmm2
9958	movdqa	128(%ebp),%xmm7
9959	pshufd	$27,%xmm1,%xmm0
9960	pshufd	$177,%xmm1,%xmm1
9961	pshufd	$27,%xmm2,%xmm2
9962.byte	102,15,58,15,202,8
9963	punpcklqdq	%xmm0,%xmm2
9964	jmp	.L011loop_shaext
9965.align	16
9966.L011loop_shaext:
9967	movdqu	(%edi),%xmm3
9968	movdqu	16(%edi),%xmm4
9969	movdqu	32(%edi),%xmm5
9970.byte	102,15,56,0,223
9971	movdqu	48(%edi),%xmm6
9972	movdqa	%xmm2,16(%esp)
9973	movdqa	-128(%ebp),%xmm0
9974	paddd	%xmm3,%xmm0
9975.byte	102,15,56,0,231
9976.byte	15,56,203,209
9977	pshufd	$14,%xmm0,%xmm0
9978	nop
9979	movdqa	%xmm1,(%esp)
9980.byte	15,56,203,202
9981	movdqa	-112(%ebp),%xmm0
9982	paddd	%xmm4,%xmm0
9983.byte	102,15,56,0,239
9984.byte	15,56,203,209
9985	pshufd	$14,%xmm0,%xmm0
9986	leal	64(%edi),%edi
9987.byte	15,56,204,220
9988.byte	15,56,203,202
9989	movdqa	-96(%ebp),%xmm0
9990	paddd	%xmm5,%xmm0
9991.byte	102,15,56,0,247
9992.byte	15,56,203,209
9993	pshufd	$14,%xmm0,%xmm0
9994	movdqa	%xmm6,%xmm7
9995.byte	102,15,58,15,253,4
9996	nop
9997	paddd	%xmm7,%xmm3
9998.byte	15,56,204,229
9999.byte	15,56,203,202
10000	movdqa	-80(%ebp),%xmm0
10001	paddd	%xmm6,%xmm0
10002.byte	15,56,205,222
10003.byte	15,56,203,209
10004	pshufd	$14,%xmm0,%xmm0
10005	movdqa	%xmm3,%xmm7
10006.byte	102,15,58,15,254,4
10007	nop
10008	paddd	%xmm7,%xmm4
10009.byte	15,56,204,238
10010.byte	15,56,203,202
10011	movdqa	-64(%ebp),%xmm0
10012	paddd	%xmm3,%xmm0
10013.byte	15,56,205,227
10014.byte	15,56,203,209
10015	pshufd	$14,%xmm0,%xmm0
10016	movdqa	%xmm4,%xmm7
10017.byte	102,15,58,15,251,4
10018	nop
10019	paddd	%xmm7,%xmm5
10020.byte	15,56,204,243
10021.byte	15,56,203,202
10022	movdqa	-48(%ebp),%xmm0
10023	paddd	%xmm4,%xmm0
10024.byte	15,56,205,236
10025.byte	15,56,203,209
10026	pshufd	$14,%xmm0,%xmm0
10027	movdqa	%xmm5,%xmm7
10028.byte	102,15,58,15,252,4
10029	nop
10030	paddd	%xmm7,%xmm6
10031.byte	15,56,204,220
10032.byte	15,56,203,202
10033	movdqa	-32(%ebp),%xmm0
10034	paddd	%xmm5,%xmm0
10035.byte	15,56,205,245
10036.byte	15,56,203,209
10037	pshufd	$14,%xmm0,%xmm0
10038	movdqa	%xmm6,%xmm7
10039.byte	102,15,58,15,253,4
10040	nop
10041	paddd	%xmm7,%xmm3
10042.byte	15,56,204,229
10043.byte	15,56,203,202
10044	movdqa	-16(%ebp),%xmm0
10045	paddd	%xmm6,%xmm0
10046.byte	15,56,205,222
10047.byte	15,56,203,209
10048	pshufd	$14,%xmm0,%xmm0
10049	movdqa	%xmm3,%xmm7
10050.byte	102,15,58,15,254,4
10051	nop
10052	paddd	%xmm7,%xmm4
10053.byte	15,56,204,238
10054.byte	15,56,203,202
10055	movdqa	(%ebp),%xmm0
10056	paddd	%xmm3,%xmm0
10057.byte	15,56,205,227
10058.byte	15,56,203,209
10059	pshufd	$14,%xmm0,%xmm0
10060	movdqa	%xmm4,%xmm7
10061.byte	102,15,58,15,251,4
10062	nop
10063	paddd	%xmm7,%xmm5
10064.byte	15,56,204,243
10065.byte	15,56,203,202
10066	movdqa	16(%ebp),%xmm0
10067	paddd	%xmm4,%xmm0
10068.byte	15,56,205,236
10069.byte	15,56,203,209
10070	pshufd	$14,%xmm0,%xmm0
10071	movdqa	%xmm5,%xmm7
10072.byte	102,15,58,15,252,4
10073	nop
10074	paddd	%xmm7,%xmm6
10075.byte	15,56,204,220
10076.byte	15,56,203,202
10077	movdqa	32(%ebp),%xmm0
10078	paddd	%xmm5,%xmm0
10079.byte	15,56,205,245
10080.byte	15,56,203,209
10081	pshufd	$14,%xmm0,%xmm0
10082	movdqa	%xmm6,%xmm7
10083.byte	102,15,58,15,253,4
10084	nop
10085	paddd	%xmm7,%xmm3
10086.byte	15,56,204,229
10087.byte	15,56,203,202
10088	movdqa	48(%ebp),%xmm0
10089	paddd	%xmm6,%xmm0
10090.byte	15,56,205,222
10091.byte	15,56,203,209
10092	pshufd	$14,%xmm0,%xmm0
10093	movdqa	%xmm3,%xmm7
10094.byte	102,15,58,15,254,4
10095	nop
10096	paddd	%xmm7,%xmm4
10097.byte	15,56,204,238
10098.byte	15,56,203,202
10099	movdqa	64(%ebp),%xmm0
10100	paddd	%xmm3,%xmm0
10101.byte	15,56,205,227
10102.byte	15,56,203,209
10103	pshufd	$14,%xmm0,%xmm0
10104	movdqa	%xmm4,%xmm7
10105.byte	102,15,58,15,251,4
10106	nop
10107	paddd	%xmm7,%xmm5
10108.byte	15,56,204,243
10109.byte	15,56,203,202
10110	movdqa	80(%ebp),%xmm0
10111	paddd	%xmm4,%xmm0
10112.byte	15,56,205,236
10113.byte	15,56,203,209
10114	pshufd	$14,%xmm0,%xmm0
10115	movdqa	%xmm5,%xmm7
10116.byte	102,15,58,15,252,4
10117.byte	15,56,203,202
10118	paddd	%xmm7,%xmm6
10119	movdqa	96(%ebp),%xmm0
10120	paddd	%xmm5,%xmm0
10121.byte	15,56,203,209
10122	pshufd	$14,%xmm0,%xmm0
10123.byte	15,56,205,245
10124	movdqa	128(%ebp),%xmm7
10125.byte	15,56,203,202
10126	movdqa	112(%ebp),%xmm0
10127	paddd	%xmm6,%xmm0
10128	nop
10129.byte	15,56,203,209
10130	pshufd	$14,%xmm0,%xmm0
10131	cmpl	%edi,%eax
10132	nop
10133.byte	15,56,203,202
10134	paddd	16(%esp),%xmm2
10135	paddd	(%esp),%xmm1
10136	jnz	.L011loop_shaext
10137	pshufd	$177,%xmm2,%xmm2
10138	pshufd	$27,%xmm1,%xmm7
10139	pshufd	$177,%xmm1,%xmm1
10140	punpckhqdq	%xmm2,%xmm1
10141.byte	102,15,58,15,215,8
10142	movl	44(%esp),%esp
10143	movdqu	%xmm1,(%esi)
10144	movdqu	%xmm2,16(%esi)
10145	popl	%edi
10146	popl	%esi
10147	popl	%ebx
10148	popl	%ebp
10149	ret
10150.align	32
10151.L006SSSE3:
10152	leal	-96(%esp),%esp
10153	movl	(%esi),%eax
10154	movl	4(%esi),%ebx
10155	movl	8(%esi),%ecx
10156	movl	12(%esi),%edi
10157	movl	%ebx,4(%esp)
10158	xorl	%ecx,%ebx
10159	movl	%ecx,8(%esp)
10160	movl	%edi,12(%esp)
10161	movl	16(%esi),%edx
10162	movl	20(%esi),%edi
10163	movl	24(%esi),%ecx
10164	movl	28(%esi),%esi
10165	movl	%edi,20(%esp)
10166	movl	100(%esp),%edi
10167	movl	%ecx,24(%esp)
10168	movl	%esi,28(%esp)
10169	movdqa	256(%ebp),%xmm7
10170	jmp	.L012grand_ssse3
10171.align	16
10172.L012grand_ssse3:
10173	movdqu	(%edi),%xmm0
10174	movdqu	16(%edi),%xmm1
10175	movdqu	32(%edi),%xmm2
10176	movdqu	48(%edi),%xmm3
10177	addl	$64,%edi
10178.byte	102,15,56,0,199
10179	movl	%edi,100(%esp)
10180.byte	102,15,56,0,207
10181	movdqa	(%ebp),%xmm4
10182.byte	102,15,56,0,215
10183	movdqa	16(%ebp),%xmm5
10184	paddd	%xmm0,%xmm4
10185.byte	102,15,56,0,223
10186	movdqa	32(%ebp),%xmm6
10187	paddd	%xmm1,%xmm5
10188	movdqa	48(%ebp),%xmm7
10189	movdqa	%xmm4,32(%esp)
10190	paddd	%xmm2,%xmm6
10191	movdqa	%xmm5,48(%esp)
10192	paddd	%xmm3,%xmm7
10193	movdqa	%xmm6,64(%esp)
10194	movdqa	%xmm7,80(%esp)
10195	jmp	.L013ssse3_00_47
10196.align	16
10197.L013ssse3_00_47:
10198	addl	$64,%ebp
10199	movl	%edx,%ecx
10200	movdqa	%xmm1,%xmm4
10201	rorl	$14,%edx
10202	movl	20(%esp),%esi
10203	movdqa	%xmm3,%xmm7
10204	xorl	%ecx,%edx
10205	movl	24(%esp),%edi
10206.byte	102,15,58,15,224,4
10207	xorl	%edi,%esi
10208	rorl	$5,%edx
10209	andl	%ecx,%esi
10210.byte	102,15,58,15,250,4
10211	movl	%ecx,16(%esp)
10212	xorl	%ecx,%edx
10213	xorl	%esi,%edi
10214	movdqa	%xmm4,%xmm5
10215	rorl	$6,%edx
10216	movl	%eax,%ecx
10217	movdqa	%xmm4,%xmm6
10218	addl	%edi,%edx
10219	movl	4(%esp),%edi
10220	psrld	$3,%xmm4
10221	movl	%eax,%esi
10222	rorl	$9,%ecx
10223	paddd	%xmm7,%xmm0
10224	movl	%eax,(%esp)
10225	xorl	%eax,%ecx
10226	psrld	$7,%xmm6
10227	xorl	%edi,%eax
10228	addl	28(%esp),%edx
10229	rorl	$11,%ecx
10230	andl	%eax,%ebx
10231	pshufd	$250,%xmm3,%xmm7
10232	xorl	%esi,%ecx
10233	addl	32(%esp),%edx
10234	pslld	$14,%xmm5
10235	xorl	%edi,%ebx
10236	rorl	$2,%ecx
10237	pxor	%xmm6,%xmm4
10238	addl	%edx,%ebx
10239	addl	12(%esp),%edx
10240	psrld	$11,%xmm6
10241	addl	%ecx,%ebx
10242	movl	%edx,%ecx
10243	rorl	$14,%edx
10244	pxor	%xmm5,%xmm4
10245	movl	16(%esp),%esi
10246	xorl	%ecx,%edx
10247	pslld	$11,%xmm5
10248	movl	20(%esp),%edi
10249	xorl	%edi,%esi
10250	rorl	$5,%edx
10251	pxor	%xmm6,%xmm4
10252	andl	%ecx,%esi
10253	movl	%ecx,12(%esp)
10254	movdqa	%xmm7,%xmm6
10255	xorl	%ecx,%edx
10256	xorl	%esi,%edi
10257	rorl	$6,%edx
10258	pxor	%xmm5,%xmm4
10259	movl	%ebx,%ecx
10260	addl	%edi,%edx
10261	psrld	$10,%xmm7
10262	movl	(%esp),%edi
10263	movl	%ebx,%esi
10264	rorl	$9,%ecx
10265	paddd	%xmm4,%xmm0
10266	movl	%ebx,28(%esp)
10267	xorl	%ebx,%ecx
10268	psrlq	$17,%xmm6
10269	xorl	%edi,%ebx
10270	addl	24(%esp),%edx
10271	rorl	$11,%ecx
10272	pxor	%xmm6,%xmm7
10273	andl	%ebx,%eax
10274	xorl	%esi,%ecx
10275	psrlq	$2,%xmm6
10276	addl	36(%esp),%edx
10277	xorl	%edi,%eax
10278	rorl	$2,%ecx
10279	pxor	%xmm6,%xmm7
10280	addl	%edx,%eax
10281	addl	8(%esp),%edx
10282	pshufd	$128,%xmm7,%xmm7
10283	addl	%ecx,%eax
10284	movl	%edx,%ecx
10285	rorl	$14,%edx
10286	movl	12(%esp),%esi
10287	xorl	%ecx,%edx
10288	movl	16(%esp),%edi
10289	xorl	%edi,%esi
10290	rorl	$5,%edx
10291	andl	%ecx,%esi
10292	psrldq	$8,%xmm7
10293	movl	%ecx,8(%esp)
10294	xorl	%ecx,%edx
10295	xorl	%esi,%edi
10296	paddd	%xmm7,%xmm0
10297	rorl	$6,%edx
10298	movl	%eax,%ecx
10299	addl	%edi,%edx
10300	movl	28(%esp),%edi
10301	movl	%eax,%esi
10302	rorl	$9,%ecx
10303	movl	%eax,24(%esp)
10304	pshufd	$80,%xmm0,%xmm7
10305	xorl	%eax,%ecx
10306	xorl	%edi,%eax
10307	addl	20(%esp),%edx
10308	movdqa	%xmm7,%xmm6
10309	rorl	$11,%ecx
10310	psrld	$10,%xmm7
10311	andl	%eax,%ebx
10312	psrlq	$17,%xmm6
10313	xorl	%esi,%ecx
10314	addl	40(%esp),%edx
10315	xorl	%edi,%ebx
10316	rorl	$2,%ecx
10317	pxor	%xmm6,%xmm7
10318	addl	%edx,%ebx
10319	addl	4(%esp),%edx
10320	psrlq	$2,%xmm6
10321	addl	%ecx,%ebx
10322	movl	%edx,%ecx
10323	rorl	$14,%edx
10324	pxor	%xmm6,%xmm7
10325	movl	8(%esp),%esi
10326	xorl	%ecx,%edx
10327	movl	12(%esp),%edi
10328	pshufd	$8,%xmm7,%xmm7
10329	xorl	%edi,%esi
10330	rorl	$5,%edx
10331	movdqa	(%ebp),%xmm6
10332	andl	%ecx,%esi
10333	movl	%ecx,4(%esp)
10334	pslldq	$8,%xmm7
10335	xorl	%ecx,%edx
10336	xorl	%esi,%edi
10337	rorl	$6,%edx
10338	movl	%ebx,%ecx
10339	addl	%edi,%edx
10340	movl	24(%esp),%edi
10341	movl	%ebx,%esi
10342	rorl	$9,%ecx
10343	paddd	%xmm7,%xmm0
10344	movl	%ebx,20(%esp)
10345	xorl	%ebx,%ecx
10346	xorl	%edi,%ebx
10347	addl	16(%esp),%edx
10348	paddd	%xmm0,%xmm6
10349	rorl	$11,%ecx
10350	andl	%ebx,%eax
10351	xorl	%esi,%ecx
10352	addl	44(%esp),%edx
10353	xorl	%edi,%eax
10354	rorl	$2,%ecx
10355	addl	%edx,%eax
10356	addl	(%esp),%edx
10357	addl	%ecx,%eax
10358	movdqa	%xmm6,32(%esp)
10359	movl	%edx,%ecx
10360	movdqa	%xmm2,%xmm4
10361	rorl	$14,%edx
10362	movl	4(%esp),%esi
10363	movdqa	%xmm0,%xmm7
10364	xorl	%ecx,%edx
10365	movl	8(%esp),%edi
10366.byte	102,15,58,15,225,4
10367	xorl	%edi,%esi
10368	rorl	$5,%edx
10369	andl	%ecx,%esi
10370.byte	102,15,58,15,251,4
10371	movl	%ecx,(%esp)
10372	xorl	%ecx,%edx
10373	xorl	%esi,%edi
10374	movdqa	%xmm4,%xmm5
10375	rorl	$6,%edx
10376	movl	%eax,%ecx
10377	movdqa	%xmm4,%xmm6
10378	addl	%edi,%edx
10379	movl	20(%esp),%edi
10380	psrld	$3,%xmm4
10381	movl	%eax,%esi
10382	rorl	$9,%ecx
10383	paddd	%xmm7,%xmm1
10384	movl	%eax,16(%esp)
10385	xorl	%eax,%ecx
10386	psrld	$7,%xmm6
10387	xorl	%edi,%eax
10388	addl	12(%esp),%edx
10389	rorl	$11,%ecx
10390	andl	%eax,%ebx
10391	pshufd	$250,%xmm0,%xmm7
10392	xorl	%esi,%ecx
10393	addl	48(%esp),%edx
10394	pslld	$14,%xmm5
10395	xorl	%edi,%ebx
10396	rorl	$2,%ecx
10397	pxor	%xmm6,%xmm4
10398	addl	%edx,%ebx
10399	addl	28(%esp),%edx
10400	psrld	$11,%xmm6
10401	addl	%ecx,%ebx
10402	movl	%edx,%ecx
10403	rorl	$14,%edx
10404	pxor	%xmm5,%xmm4
10405	movl	(%esp),%esi
10406	xorl	%ecx,%edx
10407	pslld	$11,%xmm5
10408	movl	4(%esp),%edi
10409	xorl	%edi,%esi
10410	rorl	$5,%edx
10411	pxor	%xmm6,%xmm4
10412	andl	%ecx,%esi
10413	movl	%ecx,28(%esp)
10414	movdqa	%xmm7,%xmm6
10415	xorl	%ecx,%edx
10416	xorl	%esi,%edi
10417	rorl	$6,%edx
10418	pxor	%xmm5,%xmm4
10419	movl	%ebx,%ecx
10420	addl	%edi,%edx
10421	psrld	$10,%xmm7
10422	movl	16(%esp),%edi
10423	movl	%ebx,%esi
10424	rorl	$9,%ecx
10425	paddd	%xmm4,%xmm1
10426	movl	%ebx,12(%esp)
10427	xorl	%ebx,%ecx
10428	psrlq	$17,%xmm6
10429	xorl	%edi,%ebx
10430	addl	8(%esp),%edx
10431	rorl	$11,%ecx
10432	pxor	%xmm6,%xmm7
10433	andl	%ebx,%eax
10434	xorl	%esi,%ecx
10435	psrlq	$2,%xmm6
10436	addl	52(%esp),%edx
10437	xorl	%edi,%eax
10438	rorl	$2,%ecx
10439	pxor	%xmm6,%xmm7
10440	addl	%edx,%eax
10441	addl	24(%esp),%edx
10442	pshufd	$128,%xmm7,%xmm7
10443	addl	%ecx,%eax
10444	movl	%edx,%ecx
10445	rorl	$14,%edx
10446	movl	28(%esp),%esi
10447	xorl	%ecx,%edx
10448	movl	(%esp),%edi
10449	xorl	%edi,%esi
10450	rorl	$5,%edx
10451	andl	%ecx,%esi
10452	psrldq	$8,%xmm7
10453	movl	%ecx,24(%esp)
10454	xorl	%ecx,%edx
10455	xorl	%esi,%edi
10456	paddd	%xmm7,%xmm1
10457	rorl	$6,%edx
10458	movl	%eax,%ecx
10459	addl	%edi,%edx
10460	movl	12(%esp),%edi
10461	movl	%eax,%esi
10462	rorl	$9,%ecx
10463	movl	%eax,8(%esp)
10464	pshufd	$80,%xmm1,%xmm7
10465	xorl	%eax,%ecx
10466	xorl	%edi,%eax
10467	addl	4(%esp),%edx
10468	movdqa	%xmm7,%xmm6
10469	rorl	$11,%ecx
10470	psrld	$10,%xmm7
10471	andl	%eax,%ebx
10472	psrlq	$17,%xmm6
10473	xorl	%esi,%ecx
10474	addl	56(%esp),%edx
10475	xorl	%edi,%ebx
10476	rorl	$2,%ecx
10477	pxor	%xmm6,%xmm7
10478	addl	%edx,%ebx
10479	addl	20(%esp),%edx
10480	psrlq	$2,%xmm6
10481	addl	%ecx,%ebx
10482	movl	%edx,%ecx
10483	rorl	$14,%edx
10484	pxor	%xmm6,%xmm7
10485	movl	24(%esp),%esi
10486	xorl	%ecx,%edx
10487	movl	28(%esp),%edi
10488	pshufd	$8,%xmm7,%xmm7
10489	xorl	%edi,%esi
10490	rorl	$5,%edx
10491	movdqa	16(%ebp),%xmm6
10492	andl	%ecx,%esi
10493	movl	%ecx,20(%esp)
10494	pslldq	$8,%xmm7
10495	xorl	%ecx,%edx
10496	xorl	%esi,%edi
10497	rorl	$6,%edx
10498	movl	%ebx,%ecx
10499	addl	%edi,%edx
10500	movl	8(%esp),%edi
10501	movl	%ebx,%esi
10502	rorl	$9,%ecx
10503	paddd	%xmm7,%xmm1
10504	movl	%ebx,4(%esp)
10505	xorl	%ebx,%ecx
10506	xorl	%edi,%ebx
10507	addl	(%esp),%edx
10508	paddd	%xmm1,%xmm6
10509	rorl	$11,%ecx
10510	andl	%ebx,%eax
10511	xorl	%esi,%ecx
10512	addl	60(%esp),%edx
10513	xorl	%edi,%eax
10514	rorl	$2,%ecx
10515	addl	%edx,%eax
10516	addl	16(%esp),%edx
10517	addl	%ecx,%eax
10518	movdqa	%xmm6,48(%esp)
10519	movl	%edx,%ecx
10520	movdqa	%xmm3,%xmm4
10521	rorl	$14,%edx
10522	movl	20(%esp),%esi
10523	movdqa	%xmm1,%xmm7
10524	xorl	%ecx,%edx
10525	movl	24(%esp),%edi
10526.byte	102,15,58,15,226,4
10527	xorl	%edi,%esi
10528	rorl	$5,%edx
10529	andl	%ecx,%esi
10530.byte	102,15,58,15,248,4
10531	movl	%ecx,16(%esp)
10532	xorl	%ecx,%edx
10533	xorl	%esi,%edi
10534	movdqa	%xmm4,%xmm5
10535	rorl	$6,%edx
10536	movl	%eax,%ecx
10537	movdqa	%xmm4,%xmm6
10538	addl	%edi,%edx
10539	movl	4(%esp),%edi
10540	psrld	$3,%xmm4
10541	movl	%eax,%esi
10542	rorl	$9,%ecx
10543	paddd	%xmm7,%xmm2
10544	movl	%eax,(%esp)
10545	xorl	%eax,%ecx
10546	psrld	$7,%xmm6
10547	xorl	%edi,%eax
10548	addl	28(%esp),%edx
10549	rorl	$11,%ecx
10550	andl	%eax,%ebx
10551	pshufd	$250,%xmm1,%xmm7
10552	xorl	%esi,%ecx
10553	addl	64(%esp),%edx
10554	pslld	$14,%xmm5
10555	xorl	%edi,%ebx
10556	rorl	$2,%ecx
10557	pxor	%xmm6,%xmm4
10558	addl	%edx,%ebx
10559	addl	12(%esp),%edx
10560	psrld	$11,%xmm6
10561	addl	%ecx,%ebx
10562	movl	%edx,%ecx
10563	rorl	$14,%edx
10564	pxor	%xmm5,%xmm4
10565	movl	16(%esp),%esi
10566	xorl	%ecx,%edx
10567	pslld	$11,%xmm5
10568	movl	20(%esp),%edi
10569	xorl	%edi,%esi
10570	rorl	$5,%edx
10571	pxor	%xmm6,%xmm4
10572	andl	%ecx,%esi
10573	movl	%ecx,12(%esp)
10574	movdqa	%xmm7,%xmm6
10575	xorl	%ecx,%edx
10576	xorl	%esi,%edi
10577	rorl	$6,%edx
10578	pxor	%xmm5,%xmm4
10579	movl	%ebx,%ecx
10580	addl	%edi,%edx
10581	psrld	$10,%xmm7
10582	movl	(%esp),%edi
10583	movl	%ebx,%esi
10584	rorl	$9,%ecx
10585	paddd	%xmm4,%xmm2
10586	movl	%ebx,28(%esp)
10587	xorl	%ebx,%ecx
10588	psrlq	$17,%xmm6
10589	xorl	%edi,%ebx
10590	addl	24(%esp),%edx
10591	rorl	$11,%ecx
10592	pxor	%xmm6,%xmm7
10593	andl	%ebx,%eax
10594	xorl	%esi,%ecx
10595	psrlq	$2,%xmm6
10596	addl	68(%esp),%edx
10597	xorl	%edi,%eax
10598	rorl	$2,%ecx
10599	pxor	%xmm6,%xmm7
10600	addl	%edx,%eax
10601	addl	8(%esp),%edx
10602	pshufd	$128,%xmm7,%xmm7
10603	addl	%ecx,%eax
10604	movl	%edx,%ecx
10605	rorl	$14,%edx
10606	movl	12(%esp),%esi
10607	xorl	%ecx,%edx
10608	movl	16(%esp),%edi
10609	xorl	%edi,%esi
10610	rorl	$5,%edx
10611	andl	%ecx,%esi
10612	psrldq	$8,%xmm7
10613	movl	%ecx,8(%esp)
10614	xorl	%ecx,%edx
10615	xorl	%esi,%edi
10616	paddd	%xmm7,%xmm2
10617	rorl	$6,%edx
10618	movl	%eax,%ecx
10619	addl	%edi,%edx
10620	movl	28(%esp),%edi
10621	movl	%eax,%esi
10622	rorl	$9,%ecx
10623	movl	%eax,24(%esp)
10624	pshufd	$80,%xmm2,%xmm7
10625	xorl	%eax,%ecx
10626	xorl	%edi,%eax
10627	addl	20(%esp),%edx
10628	movdqa	%xmm7,%xmm6
10629	rorl	$11,%ecx
10630	psrld	$10,%xmm7
10631	andl	%eax,%ebx
10632	psrlq	$17,%xmm6
10633	xorl	%esi,%ecx
10634	addl	72(%esp),%edx
10635	xorl	%edi,%ebx
10636	rorl	$2,%ecx
10637	pxor	%xmm6,%xmm7
10638	addl	%edx,%ebx
10639	addl	4(%esp),%edx
10640	psrlq	$2,%xmm6
10641	addl	%ecx,%ebx
10642	movl	%edx,%ecx
10643	rorl	$14,%edx
10644	pxor	%xmm6,%xmm7
10645	movl	8(%esp),%esi
10646	xorl	%ecx,%edx
10647	movl	12(%esp),%edi
10648	pshufd	$8,%xmm7,%xmm7
10649	xorl	%edi,%esi
10650	rorl	$5,%edx
10651	movdqa	32(%ebp),%xmm6
10652	andl	%ecx,%esi
10653	movl	%ecx,4(%esp)
10654	pslldq	$8,%xmm7
10655	xorl	%ecx,%edx
10656	xorl	%esi,%edi
10657	rorl	$6,%edx
10658	movl	%ebx,%ecx
10659	addl	%edi,%edx
10660	movl	24(%esp),%edi
10661	movl	%ebx,%esi
10662	rorl	$9,%ecx
10663	paddd	%xmm7,%xmm2
10664	movl	%ebx,20(%esp)
10665	xorl	%ebx,%ecx
10666	xorl	%edi,%ebx
10667	addl	16(%esp),%edx
10668	paddd	%xmm2,%xmm6
10669	rorl	$11,%ecx
10670	andl	%ebx,%eax
10671	xorl	%esi,%ecx
10672	addl	76(%esp),%edx
10673	xorl	%edi,%eax
10674	rorl	$2,%ecx
10675	addl	%edx,%eax
10676	addl	(%esp),%edx
10677	addl	%ecx,%eax
10678	movdqa	%xmm6,64(%esp)
10679	movl	%edx,%ecx
10680	movdqa	%xmm0,%xmm4
10681	rorl	$14,%edx
10682	movl	4(%esp),%esi
10683	movdqa	%xmm2,%xmm7
10684	xorl	%ecx,%edx
10685	movl	8(%esp),%edi
10686.byte	102,15,58,15,227,4
10687	xorl	%edi,%esi
10688	rorl	$5,%edx
10689	andl	%ecx,%esi
10690.byte	102,15,58,15,249,4
10691	movl	%ecx,(%esp)
10692	xorl	%ecx,%edx
10693	xorl	%esi,%edi
10694	movdqa	%xmm4,%xmm5
10695	rorl	$6,%edx
10696	movl	%eax,%ecx
10697	movdqa	%xmm4,%xmm6
10698	addl	%edi,%edx
10699	movl	20(%esp),%edi
10700	psrld	$3,%xmm4
10701	movl	%eax,%esi
10702	rorl	$9,%ecx
10703	paddd	%xmm7,%xmm3
10704	movl	%eax,16(%esp)
10705	xorl	%eax,%ecx
10706	psrld	$7,%xmm6
10707	xorl	%edi,%eax
10708	addl	12(%esp),%edx
10709	rorl	$11,%ecx
10710	andl	%eax,%ebx
10711	pshufd	$250,%xmm2,%xmm7
10712	xorl	%esi,%ecx
10713	addl	80(%esp),%edx
10714	pslld	$14,%xmm5
10715	xorl	%edi,%ebx
10716	rorl	$2,%ecx
10717	pxor	%xmm6,%xmm4
10718	addl	%edx,%ebx
10719	addl	28(%esp),%edx
10720	psrld	$11,%xmm6
10721	addl	%ecx,%ebx
10722	movl	%edx,%ecx
10723	rorl	$14,%edx
10724	pxor	%xmm5,%xmm4
10725	movl	(%esp),%esi
10726	xorl	%ecx,%edx
10727	pslld	$11,%xmm5
10728	movl	4(%esp),%edi
10729	xorl	%edi,%esi
10730	rorl	$5,%edx
10731	pxor	%xmm6,%xmm4
10732	andl	%ecx,%esi
10733	movl	%ecx,28(%esp)
10734	movdqa	%xmm7,%xmm6
10735	xorl	%ecx,%edx
10736	xorl	%esi,%edi
10737	rorl	$6,%edx
10738	pxor	%xmm5,%xmm4
10739	movl	%ebx,%ecx
10740	addl	%edi,%edx
10741	psrld	$10,%xmm7
10742	movl	16(%esp),%edi
10743	movl	%ebx,%esi
10744	rorl	$9,%ecx
10745	paddd	%xmm4,%xmm3
10746	movl	%ebx,12(%esp)
10747	xorl	%ebx,%ecx
10748	psrlq	$17,%xmm6
10749	xorl	%edi,%ebx
10750	addl	8(%esp),%edx
10751	rorl	$11,%ecx
10752	pxor	%xmm6,%xmm7
10753	andl	%ebx,%eax
10754	xorl	%esi,%ecx
10755	psrlq	$2,%xmm6
10756	addl	84(%esp),%edx
10757	xorl	%edi,%eax
10758	rorl	$2,%ecx
10759	pxor	%xmm6,%xmm7
10760	addl	%edx,%eax
10761	addl	24(%esp),%edx
10762	pshufd	$128,%xmm7,%xmm7
10763	addl	%ecx,%eax
10764	movl	%edx,%ecx
10765	rorl	$14,%edx
10766	movl	28(%esp),%esi
10767	xorl	%ecx,%edx
10768	movl	(%esp),%edi
10769	xorl	%edi,%esi
10770	rorl	$5,%edx
10771	andl	%ecx,%esi
10772	psrldq	$8,%xmm7
10773	movl	%ecx,24(%esp)
10774	xorl	%ecx,%edx
10775	xorl	%esi,%edi
10776	paddd	%xmm7,%xmm3
10777	rorl	$6,%edx
10778	movl	%eax,%ecx
10779	addl	%edi,%edx
10780	movl	12(%esp),%edi
10781	movl	%eax,%esi
10782	rorl	$9,%ecx
10783	movl	%eax,8(%esp)
10784	pshufd	$80,%xmm3,%xmm7
10785	xorl	%eax,%ecx
10786	xorl	%edi,%eax
10787	addl	4(%esp),%edx
10788	movdqa	%xmm7,%xmm6
10789	rorl	$11,%ecx
10790	psrld	$10,%xmm7
10791	andl	%eax,%ebx
10792	psrlq	$17,%xmm6
10793	xorl	%esi,%ecx
10794	addl	88(%esp),%edx
10795	xorl	%edi,%ebx
10796	rorl	$2,%ecx
10797	pxor	%xmm6,%xmm7
10798	addl	%edx,%ebx
10799	addl	20(%esp),%edx
10800	psrlq	$2,%xmm6
10801	addl	%ecx,%ebx
10802	movl	%edx,%ecx
10803	rorl	$14,%edx
10804	pxor	%xmm6,%xmm7
10805	movl	24(%esp),%esi
10806	xorl	%ecx,%edx
10807	movl	28(%esp),%edi
10808	pshufd	$8,%xmm7,%xmm7
10809	xorl	%edi,%esi
10810	rorl	$5,%edx
10811	movdqa	48(%ebp),%xmm6
10812	andl	%ecx,%esi
10813	movl	%ecx,20(%esp)
10814	pslldq	$8,%xmm7
10815	xorl	%ecx,%edx
10816	xorl	%esi,%edi
10817	rorl	$6,%edx
10818	movl	%ebx,%ecx
10819	addl	%edi,%edx
10820	movl	8(%esp),%edi
10821	movl	%ebx,%esi
10822	rorl	$9,%ecx
10823	paddd	%xmm7,%xmm3
10824	movl	%ebx,4(%esp)
10825	xorl	%ebx,%ecx
10826	xorl	%edi,%ebx
10827	addl	(%esp),%edx
10828	paddd	%xmm3,%xmm6
10829	rorl	$11,%ecx
10830	andl	%ebx,%eax
10831	xorl	%esi,%ecx
10832	addl	92(%esp),%edx
10833	xorl	%edi,%eax
10834	rorl	$2,%ecx
10835	addl	%edx,%eax
10836	addl	16(%esp),%edx
10837	addl	%ecx,%eax
10838	movdqa	%xmm6,80(%esp)
10839	cmpl	$66051,64(%ebp)
10840	jne	.L013ssse3_00_47
10841	movl	%edx,%ecx
10842	rorl	$14,%edx
10843	movl	20(%esp),%esi
10844	xorl	%ecx,%edx
10845	movl	24(%esp),%edi
10846	xorl	%edi,%esi
10847	rorl	$5,%edx
10848	andl	%ecx,%esi
10849	movl	%ecx,16(%esp)
10850	xorl	%ecx,%edx
10851	xorl	%esi,%edi
10852	rorl	$6,%edx
10853	movl	%eax,%ecx
10854	addl	%edi,%edx
10855	movl	4(%esp),%edi
10856	movl	%eax,%esi
10857	rorl	$9,%ecx
10858	movl	%eax,(%esp)
10859	xorl	%eax,%ecx
10860	xorl	%edi,%eax
10861	addl	28(%esp),%edx
10862	rorl	$11,%ecx
10863	andl	%eax,%ebx
10864	xorl	%esi,%ecx
10865	addl	32(%esp),%edx
10866	xorl	%edi,%ebx
10867	rorl	$2,%ecx
10868	addl	%edx,%ebx
10869	addl	12(%esp),%edx
10870	addl	%ecx,%ebx
10871	movl	%edx,%ecx
10872	rorl	$14,%edx
10873	movl	16(%esp),%esi
10874	xorl	%ecx,%edx
10875	movl	20(%esp),%edi
10876	xorl	%edi,%esi
10877	rorl	$5,%edx
10878	andl	%ecx,%esi
10879	movl	%ecx,12(%esp)
10880	xorl	%ecx,%edx
10881	xorl	%esi,%edi
10882	rorl	$6,%edx
10883	movl	%ebx,%ecx
10884	addl	%edi,%edx
10885	movl	(%esp),%edi
10886	movl	%ebx,%esi
10887	rorl	$9,%ecx
10888	movl	%ebx,28(%esp)
10889	xorl	%ebx,%ecx
10890	xorl	%edi,%ebx
10891	addl	24(%esp),%edx
10892	rorl	$11,%ecx
10893	andl	%ebx,%eax
10894	xorl	%esi,%ecx
10895	addl	36(%esp),%edx
10896	xorl	%edi,%eax
10897	rorl	$2,%ecx
10898	addl	%edx,%eax
10899	addl	8(%esp),%edx
10900	addl	%ecx,%eax
10901	movl	%edx,%ecx
10902	rorl	$14,%edx
10903	movl	12(%esp),%esi
10904	xorl	%ecx,%edx
10905	movl	16(%esp),%edi
10906	xorl	%edi,%esi
10907	rorl	$5,%edx
10908	andl	%ecx,%esi
10909	movl	%ecx,8(%esp)
10910	xorl	%ecx,%edx
10911	xorl	%esi,%edi
10912	rorl	$6,%edx
10913	movl	%eax,%ecx
10914	addl	%edi,%edx
10915	movl	28(%esp),%edi
10916	movl	%eax,%esi
10917	rorl	$9,%ecx
10918	movl	%eax,24(%esp)
10919	xorl	%eax,%ecx
10920	xorl	%edi,%eax
10921	addl	20(%esp),%edx
10922	rorl	$11,%ecx
10923	andl	%eax,%ebx
10924	xorl	%esi,%ecx
10925	addl	40(%esp),%edx
10926	xorl	%edi,%ebx
10927	rorl	$2,%ecx
10928	addl	%edx,%ebx
10929	addl	4(%esp),%edx
10930	addl	%ecx,%ebx
10931	movl	%edx,%ecx
10932	rorl	$14,%edx
10933	movl	8(%esp),%esi
10934	xorl	%ecx,%edx
10935	movl	12(%esp),%edi
10936	xorl	%edi,%esi
10937	rorl	$5,%edx
10938	andl	%ecx,%esi
10939	movl	%ecx,4(%esp)
10940	xorl	%ecx,%edx
10941	xorl	%esi,%edi
10942	rorl	$6,%edx
10943	movl	%ebx,%ecx
10944	addl	%edi,%edx
10945	movl	24(%esp),%edi
10946	movl	%ebx,%esi
10947	rorl	$9,%ecx
10948	movl	%ebx,20(%esp)
10949	xorl	%ebx,%ecx
10950	xorl	%edi,%ebx
10951	addl	16(%esp),%edx
10952	rorl	$11,%ecx
10953	andl	%ebx,%eax
10954	xorl	%esi,%ecx
10955	addl	44(%esp),%edx
10956	xorl	%edi,%eax
10957	rorl	$2,%ecx
10958	addl	%edx,%eax
10959	addl	(%esp),%edx
10960	addl	%ecx,%eax
10961	movl	%edx,%ecx
10962	rorl	$14,%edx
10963	movl	4(%esp),%esi
10964	xorl	%ecx,%edx
10965	movl	8(%esp),%edi
10966	xorl	%edi,%esi
10967	rorl	$5,%edx
10968	andl	%ecx,%esi
10969	movl	%ecx,(%esp)
10970	xorl	%ecx,%edx
10971	xorl	%esi,%edi
10972	rorl	$6,%edx
10973	movl	%eax,%ecx
10974	addl	%edi,%edx
10975	movl	20(%esp),%edi
10976	movl	%eax,%esi
10977	rorl	$9,%ecx
10978	movl	%eax,16(%esp)
10979	xorl	%eax,%ecx
10980	xorl	%edi,%eax
10981	addl	12(%esp),%edx
10982	rorl	$11,%ecx
10983	andl	%eax,%ebx
10984	xorl	%esi,%ecx
10985	addl	48(%esp),%edx
10986	xorl	%edi,%ebx
10987	rorl	$2,%ecx
10988	addl	%edx,%ebx
10989	addl	28(%esp),%edx
10990	addl	%ecx,%ebx
10991	movl	%edx,%ecx
10992	rorl	$14,%edx
10993	movl	(%esp),%esi
10994	xorl	%ecx,%edx
10995	movl	4(%esp),%edi
10996	xorl	%edi,%esi
10997	rorl	$5,%edx
10998	andl	%ecx,%esi
10999	movl	%ecx,28(%esp)
11000	xorl	%ecx,%edx
11001	xorl	%esi,%edi
11002	rorl	$6,%edx
11003	movl	%ebx,%ecx
11004	addl	%edi,%edx
11005	movl	16(%esp),%edi
11006	movl	%ebx,%esi
11007	rorl	$9,%ecx
11008	movl	%ebx,12(%esp)
11009	xorl	%ebx,%ecx
11010	xorl	%edi,%ebx
11011	addl	8(%esp),%edx
11012	rorl	$11,%ecx
11013	andl	%ebx,%eax
11014	xorl	%esi,%ecx
11015	addl	52(%esp),%edx
11016	xorl	%edi,%eax
11017	rorl	$2,%ecx
11018	addl	%edx,%eax
11019	addl	24(%esp),%edx
11020	addl	%ecx,%eax
11021	movl	%edx,%ecx
11022	rorl	$14,%edx
11023	movl	28(%esp),%esi
11024	xorl	%ecx,%edx
11025	movl	(%esp),%edi
11026	xorl	%edi,%esi
11027	rorl	$5,%edx
11028	andl	%ecx,%esi
11029	movl	%ecx,24(%esp)
11030	xorl	%ecx,%edx
11031	xorl	%esi,%edi
11032	rorl	$6,%edx
11033	movl	%eax,%ecx
11034	addl	%edi,%edx
11035	movl	12(%esp),%edi
11036	movl	%eax,%esi
11037	rorl	$9,%ecx
11038	movl	%eax,8(%esp)
11039	xorl	%eax,%ecx
11040	xorl	%edi,%eax
11041	addl	4(%esp),%edx
11042	rorl	$11,%ecx
11043	andl	%eax,%ebx
11044	xorl	%esi,%ecx
11045	addl	56(%esp),%edx
11046	xorl	%edi,%ebx
11047	rorl	$2,%ecx
11048	addl	%edx,%ebx
11049	addl	20(%esp),%edx
11050	addl	%ecx,%ebx
11051	movl	%edx,%ecx
11052	rorl	$14,%edx
11053	movl	24(%esp),%esi
11054	xorl	%ecx,%edx
11055	movl	28(%esp),%edi
11056	xorl	%edi,%esi
11057	rorl	$5,%edx
11058	andl	%ecx,%esi
11059	movl	%ecx,20(%esp)
11060	xorl	%ecx,%edx
11061	xorl	%esi,%edi
11062	rorl	$6,%edx
11063	movl	%ebx,%ecx
11064	addl	%edi,%edx
11065	movl	8(%esp),%edi
11066	movl	%ebx,%esi
11067	rorl	$9,%ecx
11068	movl	%ebx,4(%esp)
11069	xorl	%ebx,%ecx
11070	xorl	%edi,%ebx
11071	addl	(%esp),%edx
11072	rorl	$11,%ecx
11073	andl	%ebx,%eax
11074	xorl	%esi,%ecx
11075	addl	60(%esp),%edx
11076	xorl	%edi,%eax
11077	rorl	$2,%ecx
11078	addl	%edx,%eax
11079	addl	16(%esp),%edx
11080	addl	%ecx,%eax
11081	movl	%edx,%ecx
11082	rorl	$14,%edx
11083	movl	20(%esp),%esi
11084	xorl	%ecx,%edx
11085	movl	24(%esp),%edi
11086	xorl	%edi,%esi
11087	rorl	$5,%edx
11088	andl	%ecx,%esi
11089	movl	%ecx,16(%esp)
11090	xorl	%ecx,%edx
11091	xorl	%esi,%edi
11092	rorl	$6,%edx
11093	movl	%eax,%ecx
11094	addl	%edi,%edx
11095	movl	4(%esp),%edi
11096	movl	%eax,%esi
11097	rorl	$9,%ecx
11098	movl	%eax,(%esp)
11099	xorl	%eax,%ecx
11100	xorl	%edi,%eax
11101	addl	28(%esp),%edx
11102	rorl	$11,%ecx
11103	andl	%eax,%ebx
11104	xorl	%esi,%ecx
11105	addl	64(%esp),%edx
11106	xorl	%edi,%ebx
11107	rorl	$2,%ecx
11108	addl	%edx,%ebx
11109	addl	12(%esp),%edx
11110	addl	%ecx,%ebx
11111	movl	%edx,%ecx
11112	rorl	$14,%edx
11113	movl	16(%esp),%esi
11114	xorl	%ecx,%edx
11115	movl	20(%esp),%edi
11116	xorl	%edi,%esi
11117	rorl	$5,%edx
11118	andl	%ecx,%esi
11119	movl	%ecx,12(%esp)
11120	xorl	%ecx,%edx
11121	xorl	%esi,%edi
11122	rorl	$6,%edx
11123	movl	%ebx,%ecx
11124	addl	%edi,%edx
11125	movl	(%esp),%edi
11126	movl	%ebx,%esi
11127	rorl	$9,%ecx
11128	movl	%ebx,28(%esp)
11129	xorl	%ebx,%ecx
11130	xorl	%edi,%ebx
11131	addl	24(%esp),%edx
11132	rorl	$11,%ecx
11133	andl	%ebx,%eax
11134	xorl	%esi,%ecx
11135	addl	68(%esp),%edx
11136	xorl	%edi,%eax
11137	rorl	$2,%ecx
11138	addl	%edx,%eax
11139	addl	8(%esp),%edx
11140	addl	%ecx,%eax
11141	movl	%edx,%ecx
11142	rorl	$14,%edx
11143	movl	12(%esp),%esi
11144	xorl	%ecx,%edx
11145	movl	16(%esp),%edi
11146	xorl	%edi,%esi
11147	rorl	$5,%edx
11148	andl	%ecx,%esi
11149	movl	%ecx,8(%esp)
11150	xorl	%ecx,%edx
11151	xorl	%esi,%edi
11152	rorl	$6,%edx
11153	movl	%eax,%ecx
11154	addl	%edi,%edx
11155	movl	28(%esp),%edi
11156	movl	%eax,%esi
11157	rorl	$9,%ecx
11158	movl	%eax,24(%esp)
11159	xorl	%eax,%ecx
11160	xorl	%edi,%eax
11161	addl	20(%esp),%edx
11162	rorl	$11,%ecx
11163	andl	%eax,%ebx
11164	xorl	%esi,%ecx
11165	addl	72(%esp),%edx
11166	xorl	%edi,%ebx
11167	rorl	$2,%ecx
11168	addl	%edx,%ebx
11169	addl	4(%esp),%edx
11170	addl	%ecx,%ebx
11171	movl	%edx,%ecx
11172	rorl	$14,%edx
11173	movl	8(%esp),%esi
11174	xorl	%ecx,%edx
11175	movl	12(%esp),%edi
11176	xorl	%edi,%esi
11177	rorl	$5,%edx
11178	andl	%ecx,%esi
11179	movl	%ecx,4(%esp)
11180	xorl	%ecx,%edx
11181	xorl	%esi,%edi
11182	rorl	$6,%edx
11183	movl	%ebx,%ecx
11184	addl	%edi,%edx
11185	movl	24(%esp),%edi
11186	movl	%ebx,%esi
11187	rorl	$9,%ecx
11188	movl	%ebx,20(%esp)
11189	xorl	%ebx,%ecx
11190	xorl	%edi,%ebx
11191	addl	16(%esp),%edx
11192	rorl	$11,%ecx
11193	andl	%ebx,%eax
11194	xorl	%esi,%ecx
11195	addl	76(%esp),%edx
11196	xorl	%edi,%eax
11197	rorl	$2,%ecx
11198	addl	%edx,%eax
11199	addl	(%esp),%edx
11200	addl	%ecx,%eax
11201	movl	%edx,%ecx
11202	rorl	$14,%edx
11203	movl	4(%esp),%esi
11204	xorl	%ecx,%edx
11205	movl	8(%esp),%edi
11206	xorl	%edi,%esi
11207	rorl	$5,%edx
11208	andl	%ecx,%esi
11209	movl	%ecx,(%esp)
11210	xorl	%ecx,%edx
11211	xorl	%esi,%edi
11212	rorl	$6,%edx
11213	movl	%eax,%ecx
11214	addl	%edi,%edx
11215	movl	20(%esp),%edi
11216	movl	%eax,%esi
11217	rorl	$9,%ecx
11218	movl	%eax,16(%esp)
11219	xorl	%eax,%ecx
11220	xorl	%edi,%eax
11221	addl	12(%esp),%edx
11222	rorl	$11,%ecx
11223	andl	%eax,%ebx
11224	xorl	%esi,%ecx
11225	addl	80(%esp),%edx
11226	xorl	%edi,%ebx
11227	rorl	$2,%ecx
11228	addl	%edx,%ebx
11229	addl	28(%esp),%edx
11230	addl	%ecx,%ebx
11231	movl	%edx,%ecx
11232	rorl	$14,%edx
11233	movl	(%esp),%esi
11234	xorl	%ecx,%edx
11235	movl	4(%esp),%edi
11236	xorl	%edi,%esi
11237	rorl	$5,%edx
11238	andl	%ecx,%esi
11239	movl	%ecx,28(%esp)
11240	xorl	%ecx,%edx
11241	xorl	%esi,%edi
11242	rorl	$6,%edx
11243	movl	%ebx,%ecx
11244	addl	%edi,%edx
11245	movl	16(%esp),%edi
11246	movl	%ebx,%esi
11247	rorl	$9,%ecx
11248	movl	%ebx,12(%esp)
11249	xorl	%ebx,%ecx
11250	xorl	%edi,%ebx
11251	addl	8(%esp),%edx
11252	rorl	$11,%ecx
11253	andl	%ebx,%eax
11254	xorl	%esi,%ecx
11255	addl	84(%esp),%edx
11256	xorl	%edi,%eax
11257	rorl	$2,%ecx
11258	addl	%edx,%eax
11259	addl	24(%esp),%edx
11260	addl	%ecx,%eax
11261	movl	%edx,%ecx
11262	rorl	$14,%edx
11263	movl	28(%esp),%esi
11264	xorl	%ecx,%edx
11265	movl	(%esp),%edi
11266	xorl	%edi,%esi
11267	rorl	$5,%edx
11268	andl	%ecx,%esi
11269	movl	%ecx,24(%esp)
11270	xorl	%ecx,%edx
11271	xorl	%esi,%edi
11272	rorl	$6,%edx
11273	movl	%eax,%ecx
11274	addl	%edi,%edx
11275	movl	12(%esp),%edi
11276	movl	%eax,%esi
11277	rorl	$9,%ecx
11278	movl	%eax,8(%esp)
11279	xorl	%eax,%ecx
11280	xorl	%edi,%eax
11281	addl	4(%esp),%edx
11282	rorl	$11,%ecx
11283	andl	%eax,%ebx
11284	xorl	%esi,%ecx
11285	addl	88(%esp),%edx
11286	xorl	%edi,%ebx
11287	rorl	$2,%ecx
11288	addl	%edx,%ebx
11289	addl	20(%esp),%edx
11290	addl	%ecx,%ebx
11291	movl	%edx,%ecx
11292	rorl	$14,%edx
11293	movl	24(%esp),%esi
11294	xorl	%ecx,%edx
11295	movl	28(%esp),%edi
11296	xorl	%edi,%esi
11297	rorl	$5,%edx
11298	andl	%ecx,%esi
11299	movl	%ecx,20(%esp)
11300	xorl	%ecx,%edx
11301	xorl	%esi,%edi
11302	rorl	$6,%edx
11303	movl	%ebx,%ecx
11304	addl	%edi,%edx
11305	movl	8(%esp),%edi
11306	movl	%ebx,%esi
11307	rorl	$9,%ecx
11308	movl	%ebx,4(%esp)
11309	xorl	%ebx,%ecx
11310	xorl	%edi,%ebx
11311	addl	(%esp),%edx
11312	rorl	$11,%ecx
11313	andl	%ebx,%eax
11314	xorl	%esi,%ecx
11315	addl	92(%esp),%edx
11316	xorl	%edi,%eax
11317	rorl	$2,%ecx
11318	addl	%edx,%eax
11319	addl	16(%esp),%edx
11320	addl	%ecx,%eax
11321	movl	96(%esp),%esi
11322	xorl	%edi,%ebx
11323	movl	12(%esp),%ecx
11324	addl	(%esi),%eax
11325	addl	4(%esi),%ebx
11326	addl	8(%esi),%edi
11327	addl	12(%esi),%ecx
11328	movl	%eax,(%esi)
11329	movl	%ebx,4(%esi)
11330	movl	%edi,8(%esi)
11331	movl	%ecx,12(%esi)
11332	movl	%ebx,4(%esp)
11333	xorl	%edi,%ebx
11334	movl	%edi,8(%esp)
11335	movl	%ecx,12(%esp)
11336	movl	20(%esp),%edi
11337	movl	24(%esp),%ecx
11338	addl	16(%esi),%edx
11339	addl	20(%esi),%edi
11340	addl	24(%esi),%ecx
11341	movl	%edx,16(%esi)
11342	movl	%edi,20(%esi)
11343	movl	%edi,20(%esp)
11344	movl	28(%esp),%edi
11345	movl	%ecx,24(%esi)
11346	addl	28(%esi),%edi
11347	movl	%ecx,24(%esp)
11348	movl	%edi,28(%esi)
11349	movl	%edi,28(%esp)
11350	movl	100(%esp),%edi
11351	movdqa	64(%ebp),%xmm7
11352	subl	$192,%ebp
11353	cmpl	104(%esp),%edi
11354	jb	.L012grand_ssse3
11355	movl	108(%esp),%esp
11356	popl	%edi
11357	popl	%esi
11358	popl	%ebx
11359	popl	%ebp
11360	ret
11361.align	32
11362.L005AVX:
11363	andl	$264,%edx
11364	cmpl	$264,%edx
11365	je	.L014AVX_BMI
11366	leal	-96(%esp),%esp
11367	vzeroall
11368	movl	(%esi),%eax
11369	movl	4(%esi),%ebx
11370	movl	8(%esi),%ecx
11371	movl	12(%esi),%edi
11372	movl	%ebx,4(%esp)
11373	xorl	%ecx,%ebx
11374	movl	%ecx,8(%esp)
11375	movl	%edi,12(%esp)
11376	movl	16(%esi),%edx
11377	movl	20(%esi),%edi
11378	movl	24(%esi),%ecx
11379	movl	28(%esi),%esi
11380	movl	%edi,20(%esp)
11381	movl	100(%esp),%edi
11382	movl	%ecx,24(%esp)
11383	movl	%esi,28(%esp)
11384	vmovdqa	256(%ebp),%xmm7
11385	jmp	.L015grand_avx
11386.align	32
11387.L015grand_avx:
11388	vmovdqu	(%edi),%xmm0
11389	vmovdqu	16(%edi),%xmm1
11390	vmovdqu	32(%edi),%xmm2
11391	vmovdqu	48(%edi),%xmm3
11392	addl	$64,%edi
11393	vpshufb	%xmm7,%xmm0,%xmm0
11394	movl	%edi,100(%esp)
11395	vpshufb	%xmm7,%xmm1,%xmm1
11396	vpshufb	%xmm7,%xmm2,%xmm2
11397	vpaddd	(%ebp),%xmm0,%xmm4
11398	vpshufb	%xmm7,%xmm3,%xmm3
11399	vpaddd	16(%ebp),%xmm1,%xmm5
11400	vpaddd	32(%ebp),%xmm2,%xmm6
11401	vpaddd	48(%ebp),%xmm3,%xmm7
11402	vmovdqa	%xmm4,32(%esp)
11403	vmovdqa	%xmm5,48(%esp)
11404	vmovdqa	%xmm6,64(%esp)
11405	vmovdqa	%xmm7,80(%esp)
11406	jmp	.L016avx_00_47
11407.align	16
11408.L016avx_00_47:
11409	addl	$64,%ebp
11410	vpalignr	$4,%xmm0,%xmm1,%xmm4
11411	movl	%edx,%ecx
11412	shrdl	$14,%edx,%edx
11413	movl	20(%esp),%esi
11414	vpalignr	$4,%xmm2,%xmm3,%xmm7
11415	xorl	%ecx,%edx
11416	movl	24(%esp),%edi
11417	xorl	%edi,%esi
11418	vpsrld	$7,%xmm4,%xmm6
11419	shrdl	$5,%edx,%edx
11420	andl	%ecx,%esi
11421	movl	%ecx,16(%esp)
11422	vpaddd	%xmm7,%xmm0,%xmm0
11423	xorl	%ecx,%edx
11424	xorl	%esi,%edi
11425	shrdl	$6,%edx,%edx
11426	vpsrld	$3,%xmm4,%xmm7
11427	movl	%eax,%ecx
11428	addl	%edi,%edx
11429	movl	4(%esp),%edi
11430	vpslld	$14,%xmm4,%xmm5
11431	movl	%eax,%esi
11432	shrdl	$9,%ecx,%ecx
11433	movl	%eax,(%esp)
11434	vpxor	%xmm6,%xmm7,%xmm4
11435	xorl	%eax,%ecx
11436	xorl	%edi,%eax
11437	addl	28(%esp),%edx
11438	vpshufd	$250,%xmm3,%xmm7
11439	shrdl	$11,%ecx,%ecx
11440	andl	%eax,%ebx
11441	xorl	%esi,%ecx
11442	vpsrld	$11,%xmm6,%xmm6
11443	addl	32(%esp),%edx
11444	xorl	%edi,%ebx
11445	shrdl	$2,%ecx,%ecx
11446	vpxor	%xmm5,%xmm4,%xmm4
11447	addl	%edx,%ebx
11448	addl	12(%esp),%edx
11449	addl	%ecx,%ebx
11450	vpslld	$11,%xmm5,%xmm5
11451	movl	%edx,%ecx
11452	shrdl	$14,%edx,%edx
11453	movl	16(%esp),%esi
11454	vpxor	%xmm6,%xmm4,%xmm4
11455	xorl	%ecx,%edx
11456	movl	20(%esp),%edi
11457	xorl	%edi,%esi
11458	vpsrld	$10,%xmm7,%xmm6
11459	shrdl	$5,%edx,%edx
11460	andl	%ecx,%esi
11461	movl	%ecx,12(%esp)
11462	vpxor	%xmm5,%xmm4,%xmm4
11463	xorl	%ecx,%edx
11464	xorl	%esi,%edi
11465	shrdl	$6,%edx,%edx
11466	vpsrlq	$17,%xmm7,%xmm5
11467	movl	%ebx,%ecx
11468	addl	%edi,%edx
11469	movl	(%esp),%edi
11470	vpaddd	%xmm4,%xmm0,%xmm0
11471	movl	%ebx,%esi
11472	shrdl	$9,%ecx,%ecx
11473	movl	%ebx,28(%esp)
11474	vpxor	%xmm5,%xmm6,%xmm6
11475	xorl	%ebx,%ecx
11476	xorl	%edi,%ebx
11477	addl	24(%esp),%edx
11478	vpsrlq	$19,%xmm7,%xmm7
11479	shrdl	$11,%ecx,%ecx
11480	andl	%ebx,%eax
11481	xorl	%esi,%ecx
11482	vpxor	%xmm7,%xmm6,%xmm6
11483	addl	36(%esp),%edx
11484	xorl	%edi,%eax
11485	shrdl	$2,%ecx,%ecx
11486	vpshufd	$132,%xmm6,%xmm7
11487	addl	%edx,%eax
11488	addl	8(%esp),%edx
11489	addl	%ecx,%eax
11490	vpsrldq	$8,%xmm7,%xmm7
11491	movl	%edx,%ecx
11492	shrdl	$14,%edx,%edx
11493	movl	12(%esp),%esi
11494	vpaddd	%xmm7,%xmm0,%xmm0
11495	xorl	%ecx,%edx
11496	movl	16(%esp),%edi
11497	xorl	%edi,%esi
11498	vpshufd	$80,%xmm0,%xmm7
11499	shrdl	$5,%edx,%edx
11500	andl	%ecx,%esi
11501	movl	%ecx,8(%esp)
11502	vpsrld	$10,%xmm7,%xmm6
11503	xorl	%ecx,%edx
11504	xorl	%esi,%edi
11505	shrdl	$6,%edx,%edx
11506	vpsrlq	$17,%xmm7,%xmm5
11507	movl	%eax,%ecx
11508	addl	%edi,%edx
11509	movl	28(%esp),%edi
11510	vpxor	%xmm5,%xmm6,%xmm6
11511	movl	%eax,%esi
11512	shrdl	$9,%ecx,%ecx
11513	movl	%eax,24(%esp)
11514	vpsrlq	$19,%xmm7,%xmm7
11515	xorl	%eax,%ecx
11516	xorl	%edi,%eax
11517	addl	20(%esp),%edx
11518	vpxor	%xmm7,%xmm6,%xmm6
11519	shrdl	$11,%ecx,%ecx
11520	andl	%eax,%ebx
11521	xorl	%esi,%ecx
11522	vpshufd	$232,%xmm6,%xmm7
11523	addl	40(%esp),%edx
11524	xorl	%edi,%ebx
11525	shrdl	$2,%ecx,%ecx
11526	vpslldq	$8,%xmm7,%xmm7
11527	addl	%edx,%ebx
11528	addl	4(%esp),%edx
11529	addl	%ecx,%ebx
11530	vpaddd	%xmm7,%xmm0,%xmm0
11531	movl	%edx,%ecx
11532	shrdl	$14,%edx,%edx
11533	movl	8(%esp),%esi
11534	vpaddd	(%ebp),%xmm0,%xmm6
11535	xorl	%ecx,%edx
11536	movl	12(%esp),%edi
11537	xorl	%edi,%esi
11538	shrdl	$5,%edx,%edx
11539	andl	%ecx,%esi
11540	movl	%ecx,4(%esp)
11541	xorl	%ecx,%edx
11542	xorl	%esi,%edi
11543	shrdl	$6,%edx,%edx
11544	movl	%ebx,%ecx
11545	addl	%edi,%edx
11546	movl	24(%esp),%edi
11547	movl	%ebx,%esi
11548	shrdl	$9,%ecx,%ecx
11549	movl	%ebx,20(%esp)
11550	xorl	%ebx,%ecx
11551	xorl	%edi,%ebx
11552	addl	16(%esp),%edx
11553	shrdl	$11,%ecx,%ecx
11554	andl	%ebx,%eax
11555	xorl	%esi,%ecx
11556	addl	44(%esp),%edx
11557	xorl	%edi,%eax
11558	shrdl	$2,%ecx,%ecx
11559	addl	%edx,%eax
11560	addl	(%esp),%edx
11561	addl	%ecx,%eax
11562	vmovdqa	%xmm6,32(%esp)
11563	vpalignr	$4,%xmm1,%xmm2,%xmm4
11564	movl	%edx,%ecx
11565	shrdl	$14,%edx,%edx
11566	movl	4(%esp),%esi
11567	vpalignr	$4,%xmm3,%xmm0,%xmm7
11568	xorl	%ecx,%edx
11569	movl	8(%esp),%edi
11570	xorl	%edi,%esi
11571	vpsrld	$7,%xmm4,%xmm6
11572	shrdl	$5,%edx,%edx
11573	andl	%ecx,%esi
11574	movl	%ecx,(%esp)
11575	vpaddd	%xmm7,%xmm1,%xmm1
11576	xorl	%ecx,%edx
11577	xorl	%esi,%edi
11578	shrdl	$6,%edx,%edx
11579	vpsrld	$3,%xmm4,%xmm7
11580	movl	%eax,%ecx
11581	addl	%edi,%edx
11582	movl	20(%esp),%edi
11583	vpslld	$14,%xmm4,%xmm5
11584	movl	%eax,%esi
11585	shrdl	$9,%ecx,%ecx
11586	movl	%eax,16(%esp)
11587	vpxor	%xmm6,%xmm7,%xmm4
11588	xorl	%eax,%ecx
11589	xorl	%edi,%eax
11590	addl	12(%esp),%edx
11591	vpshufd	$250,%xmm0,%xmm7
11592	shrdl	$11,%ecx,%ecx
11593	andl	%eax,%ebx
11594	xorl	%esi,%ecx
11595	vpsrld	$11,%xmm6,%xmm6
11596	addl	48(%esp),%edx
11597	xorl	%edi,%ebx
11598	shrdl	$2,%ecx,%ecx
11599	vpxor	%xmm5,%xmm4,%xmm4
11600	addl	%edx,%ebx
11601	addl	28(%esp),%edx
11602	addl	%ecx,%ebx
11603	vpslld	$11,%xmm5,%xmm5
11604	movl	%edx,%ecx
11605	shrdl	$14,%edx,%edx
11606	movl	(%esp),%esi
11607	vpxor	%xmm6,%xmm4,%xmm4
11608	xorl	%ecx,%edx
11609	movl	4(%esp),%edi
11610	xorl	%edi,%esi
11611	vpsrld	$10,%xmm7,%xmm6
11612	shrdl	$5,%edx,%edx
11613	andl	%ecx,%esi
11614	movl	%ecx,28(%esp)
11615	vpxor	%xmm5,%xmm4,%xmm4
11616	xorl	%ecx,%edx
11617	xorl	%esi,%edi
11618	shrdl	$6,%edx,%edx
11619	vpsrlq	$17,%xmm7,%xmm5
11620	movl	%ebx,%ecx
11621	addl	%edi,%edx
11622	movl	16(%esp),%edi
11623	vpaddd	%xmm4,%xmm1,%xmm1
11624	movl	%ebx,%esi
11625	shrdl	$9,%ecx,%ecx
11626	movl	%ebx,12(%esp)
11627	vpxor	%xmm5,%xmm6,%xmm6
11628	xorl	%ebx,%ecx
11629	xorl	%edi,%ebx
11630	addl	8(%esp),%edx
11631	vpsrlq	$19,%xmm7,%xmm7
11632	shrdl	$11,%ecx,%ecx
11633	andl	%ebx,%eax
11634	xorl	%esi,%ecx
11635	vpxor	%xmm7,%xmm6,%xmm6
11636	addl	52(%esp),%edx
11637	xorl	%edi,%eax
11638	shrdl	$2,%ecx,%ecx
11639	vpshufd	$132,%xmm6,%xmm7
11640	addl	%edx,%eax
11641	addl	24(%esp),%edx
11642	addl	%ecx,%eax
11643	vpsrldq	$8,%xmm7,%xmm7
11644	movl	%edx,%ecx
11645	shrdl	$14,%edx,%edx
11646	movl	28(%esp),%esi
11647	vpaddd	%xmm7,%xmm1,%xmm1
11648	xorl	%ecx,%edx
11649	movl	(%esp),%edi
11650	xorl	%edi,%esi
11651	vpshufd	$80,%xmm1,%xmm7
11652	shrdl	$5,%edx,%edx
11653	andl	%ecx,%esi
11654	movl	%ecx,24(%esp)
11655	vpsrld	$10,%xmm7,%xmm6
11656	xorl	%ecx,%edx
11657	xorl	%esi,%edi
11658	shrdl	$6,%edx,%edx
11659	vpsrlq	$17,%xmm7,%xmm5
11660	movl	%eax,%ecx
11661	addl	%edi,%edx
11662	movl	12(%esp),%edi
11663	vpxor	%xmm5,%xmm6,%xmm6
11664	movl	%eax,%esi
11665	shrdl	$9,%ecx,%ecx
11666	movl	%eax,8(%esp)
11667	vpsrlq	$19,%xmm7,%xmm7
11668	xorl	%eax,%ecx
11669	xorl	%edi,%eax
11670	addl	4(%esp),%edx
11671	vpxor	%xmm7,%xmm6,%xmm6
11672	shrdl	$11,%ecx,%ecx
11673	andl	%eax,%ebx
11674	xorl	%esi,%ecx
11675	vpshufd	$232,%xmm6,%xmm7
11676	addl	56(%esp),%edx
11677	xorl	%edi,%ebx
11678	shrdl	$2,%ecx,%ecx
11679	vpslldq	$8,%xmm7,%xmm7
11680	addl	%edx,%ebx
11681	addl	20(%esp),%edx
11682	addl	%ecx,%ebx
11683	vpaddd	%xmm7,%xmm1,%xmm1
11684	movl	%edx,%ecx
11685	shrdl	$14,%edx,%edx
11686	movl	24(%esp),%esi
11687	vpaddd	16(%ebp),%xmm1,%xmm6
11688	xorl	%ecx,%edx
11689	movl	28(%esp),%edi
11690	xorl	%edi,%esi
11691	shrdl	$5,%edx,%edx
11692	andl	%ecx,%esi
11693	movl	%ecx,20(%esp)
11694	xorl	%ecx,%edx
11695	xorl	%esi,%edi
11696	shrdl	$6,%edx,%edx
11697	movl	%ebx,%ecx
11698	addl	%edi,%edx
11699	movl	8(%esp),%edi
11700	movl	%ebx,%esi
11701	shrdl	$9,%ecx,%ecx
11702	movl	%ebx,4(%esp)
11703	xorl	%ebx,%ecx
11704	xorl	%edi,%ebx
11705	addl	(%esp),%edx
11706	shrdl	$11,%ecx,%ecx
11707	andl	%ebx,%eax
11708	xorl	%esi,%ecx
11709	addl	60(%esp),%edx
11710	xorl	%edi,%eax
11711	shrdl	$2,%ecx,%ecx
11712	addl	%edx,%eax
11713	addl	16(%esp),%edx
11714	addl	%ecx,%eax
11715	vmovdqa	%xmm6,48(%esp)
11716	vpalignr	$4,%xmm2,%xmm3,%xmm4
11717	movl	%edx,%ecx
11718	shrdl	$14,%edx,%edx
11719	movl	20(%esp),%esi
11720	vpalignr	$4,%xmm0,%xmm1,%xmm7
11721	xorl	%ecx,%edx
11722	movl	24(%esp),%edi
11723	xorl	%edi,%esi
11724	vpsrld	$7,%xmm4,%xmm6
11725	shrdl	$5,%edx,%edx
11726	andl	%ecx,%esi
11727	movl	%ecx,16(%esp)
11728	vpaddd	%xmm7,%xmm2,%xmm2
11729	xorl	%ecx,%edx
11730	xorl	%esi,%edi
11731	shrdl	$6,%edx,%edx
11732	vpsrld	$3,%xmm4,%xmm7
11733	movl	%eax,%ecx
11734	addl	%edi,%edx
11735	movl	4(%esp),%edi
11736	vpslld	$14,%xmm4,%xmm5
11737	movl	%eax,%esi
11738	shrdl	$9,%ecx,%ecx
11739	movl	%eax,(%esp)
11740	vpxor	%xmm6,%xmm7,%xmm4
11741	xorl	%eax,%ecx
11742	xorl	%edi,%eax
11743	addl	28(%esp),%edx
11744	vpshufd	$250,%xmm1,%xmm7
11745	shrdl	$11,%ecx,%ecx
11746	andl	%eax,%ebx
11747	xorl	%esi,%ecx
11748	vpsrld	$11,%xmm6,%xmm6
11749	addl	64(%esp),%edx
11750	xorl	%edi,%ebx
11751	shrdl	$2,%ecx,%ecx
11752	vpxor	%xmm5,%xmm4,%xmm4
11753	addl	%edx,%ebx
11754	addl	12(%esp),%edx
11755	addl	%ecx,%ebx
11756	vpslld	$11,%xmm5,%xmm5
11757	movl	%edx,%ecx
11758	shrdl	$14,%edx,%edx
11759	movl	16(%esp),%esi
11760	vpxor	%xmm6,%xmm4,%xmm4
11761	xorl	%ecx,%edx
11762	movl	20(%esp),%edi
11763	xorl	%edi,%esi
11764	vpsrld	$10,%xmm7,%xmm6
11765	shrdl	$5,%edx,%edx
11766	andl	%ecx,%esi
11767	movl	%ecx,12(%esp)
11768	vpxor	%xmm5,%xmm4,%xmm4
11769	xorl	%ecx,%edx
11770	xorl	%esi,%edi
11771	shrdl	$6,%edx,%edx
11772	vpsrlq	$17,%xmm7,%xmm5
11773	movl	%ebx,%ecx
11774	addl	%edi,%edx
11775	movl	(%esp),%edi
11776	vpaddd	%xmm4,%xmm2,%xmm2
11777	movl	%ebx,%esi
11778	shrdl	$9,%ecx,%ecx
11779	movl	%ebx,28(%esp)
11780	vpxor	%xmm5,%xmm6,%xmm6
11781	xorl	%ebx,%ecx
11782	xorl	%edi,%ebx
11783	addl	24(%esp),%edx
11784	vpsrlq	$19,%xmm7,%xmm7
11785	shrdl	$11,%ecx,%ecx
11786	andl	%ebx,%eax
11787	xorl	%esi,%ecx
11788	vpxor	%xmm7,%xmm6,%xmm6
11789	addl	68(%esp),%edx
11790	xorl	%edi,%eax
11791	shrdl	$2,%ecx,%ecx
11792	vpshufd	$132,%xmm6,%xmm7
11793	addl	%edx,%eax
11794	addl	8(%esp),%edx
11795	addl	%ecx,%eax
11796	vpsrldq	$8,%xmm7,%xmm7
11797	movl	%edx,%ecx
11798	shrdl	$14,%edx,%edx
11799	movl	12(%esp),%esi
11800	vpaddd	%xmm7,%xmm2,%xmm2
11801	xorl	%ecx,%edx
11802	movl	16(%esp),%edi
11803	xorl	%edi,%esi
11804	vpshufd	$80,%xmm2,%xmm7
11805	shrdl	$5,%edx,%edx
11806	andl	%ecx,%esi
11807	movl	%ecx,8(%esp)
11808	vpsrld	$10,%xmm7,%xmm6
11809	xorl	%ecx,%edx
11810	xorl	%esi,%edi
11811	shrdl	$6,%edx,%edx
11812	vpsrlq	$17,%xmm7,%xmm5
11813	movl	%eax,%ecx
11814	addl	%edi,%edx
11815	movl	28(%esp),%edi
11816	vpxor	%xmm5,%xmm6,%xmm6
11817	movl	%eax,%esi
11818	shrdl	$9,%ecx,%ecx
11819	movl	%eax,24(%esp)
11820	vpsrlq	$19,%xmm7,%xmm7
11821	xorl	%eax,%ecx
11822	xorl	%edi,%eax
11823	addl	20(%esp),%edx
11824	vpxor	%xmm7,%xmm6,%xmm6
11825	shrdl	$11,%ecx,%ecx
11826	andl	%eax,%ebx
11827	xorl	%esi,%ecx
11828	vpshufd	$232,%xmm6,%xmm7
11829	addl	72(%esp),%edx
11830	xorl	%edi,%ebx
11831	shrdl	$2,%ecx,%ecx
11832	vpslldq	$8,%xmm7,%xmm7
11833	addl	%edx,%ebx
11834	addl	4(%esp),%edx
11835	addl	%ecx,%ebx
11836	vpaddd	%xmm7,%xmm2,%xmm2
11837	movl	%edx,%ecx
11838	shrdl	$14,%edx,%edx
11839	movl	8(%esp),%esi
11840	vpaddd	32(%ebp),%xmm2,%xmm6
11841	xorl	%ecx,%edx
11842	movl	12(%esp),%edi
11843	xorl	%edi,%esi
11844	shrdl	$5,%edx,%edx
11845	andl	%ecx,%esi
11846	movl	%ecx,4(%esp)
11847	xorl	%ecx,%edx
11848	xorl	%esi,%edi
11849	shrdl	$6,%edx,%edx
11850	movl	%ebx,%ecx
11851	addl	%edi,%edx
11852	movl	24(%esp),%edi
11853	movl	%ebx,%esi
11854	shrdl	$9,%ecx,%ecx
11855	movl	%ebx,20(%esp)
11856	xorl	%ebx,%ecx
11857	xorl	%edi,%ebx
11858	addl	16(%esp),%edx
11859	shrdl	$11,%ecx,%ecx
11860	andl	%ebx,%eax
11861	xorl	%esi,%ecx
11862	addl	76(%esp),%edx
11863	xorl	%edi,%eax
11864	shrdl	$2,%ecx,%ecx
11865	addl	%edx,%eax
11866	addl	(%esp),%edx
11867	addl	%ecx,%eax
11868	vmovdqa	%xmm6,64(%esp)
11869	vpalignr	$4,%xmm3,%xmm0,%xmm4
11870	movl	%edx,%ecx
11871	shrdl	$14,%edx,%edx
11872	movl	4(%esp),%esi
11873	vpalignr	$4,%xmm1,%xmm2,%xmm7
11874	xorl	%ecx,%edx
11875	movl	8(%esp),%edi
11876	xorl	%edi,%esi
11877	vpsrld	$7,%xmm4,%xmm6
11878	shrdl	$5,%edx,%edx
11879	andl	%ecx,%esi
11880	movl	%ecx,(%esp)
11881	vpaddd	%xmm7,%xmm3,%xmm3
11882	xorl	%ecx,%edx
11883	xorl	%esi,%edi
11884	shrdl	$6,%edx,%edx
11885	vpsrld	$3,%xmm4,%xmm7
11886	movl	%eax,%ecx
11887	addl	%edi,%edx
11888	movl	20(%esp),%edi
11889	vpslld	$14,%xmm4,%xmm5
11890	movl	%eax,%esi
11891	shrdl	$9,%ecx,%ecx
11892	movl	%eax,16(%esp)
11893	vpxor	%xmm6,%xmm7,%xmm4
11894	xorl	%eax,%ecx
11895	xorl	%edi,%eax
11896	addl	12(%esp),%edx
11897	vpshufd	$250,%xmm2,%xmm7
11898	shrdl	$11,%ecx,%ecx
11899	andl	%eax,%ebx
11900	xorl	%esi,%ecx
11901	vpsrld	$11,%xmm6,%xmm6
11902	addl	80(%esp),%edx
11903	xorl	%edi,%ebx
11904	shrdl	$2,%ecx,%ecx
11905	vpxor	%xmm5,%xmm4,%xmm4
11906	addl	%edx,%ebx
11907	addl	28(%esp),%edx
11908	addl	%ecx,%ebx
11909	vpslld	$11,%xmm5,%xmm5
11910	movl	%edx,%ecx
11911	shrdl	$14,%edx,%edx
11912	movl	(%esp),%esi
11913	vpxor	%xmm6,%xmm4,%xmm4
11914	xorl	%ecx,%edx
11915	movl	4(%esp),%edi
11916	xorl	%edi,%esi
11917	vpsrld	$10,%xmm7,%xmm6
11918	shrdl	$5,%edx,%edx
11919	andl	%ecx,%esi
11920	movl	%ecx,28(%esp)
11921	vpxor	%xmm5,%xmm4,%xmm4
11922	xorl	%ecx,%edx
11923	xorl	%esi,%edi
11924	shrdl	$6,%edx,%edx
11925	vpsrlq	$17,%xmm7,%xmm5
11926	movl	%ebx,%ecx
11927	addl	%edi,%edx
11928	movl	16(%esp),%edi
11929	vpaddd	%xmm4,%xmm3,%xmm3
11930	movl	%ebx,%esi
11931	shrdl	$9,%ecx,%ecx
11932	movl	%ebx,12(%esp)
11933	vpxor	%xmm5,%xmm6,%xmm6
11934	xorl	%ebx,%ecx
11935	xorl	%edi,%ebx
11936	addl	8(%esp),%edx
11937	vpsrlq	$19,%xmm7,%xmm7
11938	shrdl	$11,%ecx,%ecx
11939	andl	%ebx,%eax
11940	xorl	%esi,%ecx
11941	vpxor	%xmm7,%xmm6,%xmm6
11942	addl	84(%esp),%edx
11943	xorl	%edi,%eax
11944	shrdl	$2,%ecx,%ecx
11945	vpshufd	$132,%xmm6,%xmm7
11946	addl	%edx,%eax
11947	addl	24(%esp),%edx
11948	addl	%ecx,%eax
11949	vpsrldq	$8,%xmm7,%xmm7
11950	movl	%edx,%ecx
11951	shrdl	$14,%edx,%edx
11952	movl	28(%esp),%esi
11953	vpaddd	%xmm7,%xmm3,%xmm3
11954	xorl	%ecx,%edx
11955	movl	(%esp),%edi
11956	xorl	%edi,%esi
11957	vpshufd	$80,%xmm3,%xmm7
11958	shrdl	$5,%edx,%edx
11959	andl	%ecx,%esi
11960	movl	%ecx,24(%esp)
11961	vpsrld	$10,%xmm7,%xmm6
11962	xorl	%ecx,%edx
11963	xorl	%esi,%edi
11964	shrdl	$6,%edx,%edx
11965	vpsrlq	$17,%xmm7,%xmm5
11966	movl	%eax,%ecx
11967	addl	%edi,%edx
11968	movl	12(%esp),%edi
11969	vpxor	%xmm5,%xmm6,%xmm6
11970	movl	%eax,%esi
11971	shrdl	$9,%ecx,%ecx
11972	movl	%eax,8(%esp)
11973	vpsrlq	$19,%xmm7,%xmm7
11974	xorl	%eax,%ecx
11975	xorl	%edi,%eax
11976	addl	4(%esp),%edx
11977	vpxor	%xmm7,%xmm6,%xmm6
11978	shrdl	$11,%ecx,%ecx
11979	andl	%eax,%ebx
11980	xorl	%esi,%ecx
11981	vpshufd	$232,%xmm6,%xmm7
11982	addl	88(%esp),%edx
11983	xorl	%edi,%ebx
11984	shrdl	$2,%ecx,%ecx
11985	vpslldq	$8,%xmm7,%xmm7
11986	addl	%edx,%ebx
11987	addl	20(%esp),%edx
11988	addl	%ecx,%ebx
11989	vpaddd	%xmm7,%xmm3,%xmm3
11990	movl	%edx,%ecx
11991	shrdl	$14,%edx,%edx
11992	movl	24(%esp),%esi
11993	vpaddd	48(%ebp),%xmm3,%xmm6
11994	xorl	%ecx,%edx
11995	movl	28(%esp),%edi
11996	xorl	%edi,%esi
11997	shrdl	$5,%edx,%edx
11998	andl	%ecx,%esi
11999	movl	%ecx,20(%esp)
12000	xorl	%ecx,%edx
12001	xorl	%esi,%edi
12002	shrdl	$6,%edx,%edx
12003	movl	%ebx,%ecx
12004	addl	%edi,%edx
12005	movl	8(%esp),%edi
12006	movl	%ebx,%esi
12007	shrdl	$9,%ecx,%ecx
12008	movl	%ebx,4(%esp)
12009	xorl	%ebx,%ecx
12010	xorl	%edi,%ebx
12011	addl	(%esp),%edx
12012	shrdl	$11,%ecx,%ecx
12013	andl	%ebx,%eax
12014	xorl	%esi,%ecx
12015	addl	92(%esp),%edx
12016	xorl	%edi,%eax
12017	shrdl	$2,%ecx,%ecx
12018	addl	%edx,%eax
12019	addl	16(%esp),%edx
12020	addl	%ecx,%eax
12021	vmovdqa	%xmm6,80(%esp)
12022	cmpl	$66051,64(%ebp)
12023	jne	.L016avx_00_47
12024	movl	%edx,%ecx
12025	shrdl	$14,%edx,%edx
12026	movl	20(%esp),%esi
12027	xorl	%ecx,%edx
12028	movl	24(%esp),%edi
12029	xorl	%edi,%esi
12030	shrdl	$5,%edx,%edx
12031	andl	%ecx,%esi
12032	movl	%ecx,16(%esp)
12033	xorl	%ecx,%edx
12034	xorl	%esi,%edi
12035	shrdl	$6,%edx,%edx
12036	movl	%eax,%ecx
12037	addl	%edi,%edx
12038	movl	4(%esp),%edi
12039	movl	%eax,%esi
12040	shrdl	$9,%ecx,%ecx
12041	movl	%eax,(%esp)
12042	xorl	%eax,%ecx
12043	xorl	%edi,%eax
12044	addl	28(%esp),%edx
12045	shrdl	$11,%ecx,%ecx
12046	andl	%eax,%ebx
12047	xorl	%esi,%ecx
12048	addl	32(%esp),%edx
12049	xorl	%edi,%ebx
12050	shrdl	$2,%ecx,%ecx
12051	addl	%edx,%ebx
12052	addl	12(%esp),%edx
12053	addl	%ecx,%ebx
12054	movl	%edx,%ecx
12055	shrdl	$14,%edx,%edx
12056	movl	16(%esp),%esi
12057	xorl	%ecx,%edx
12058	movl	20(%esp),%edi
12059	xorl	%edi,%esi
12060	shrdl	$5,%edx,%edx
12061	andl	%ecx,%esi
12062	movl	%ecx,12(%esp)
12063	xorl	%ecx,%edx
12064	xorl	%esi,%edi
12065	shrdl	$6,%edx,%edx
12066	movl	%ebx,%ecx
12067	addl	%edi,%edx
12068	movl	(%esp),%edi
12069	movl	%ebx,%esi
12070	shrdl	$9,%ecx,%ecx
12071	movl	%ebx,28(%esp)
12072	xorl	%ebx,%ecx
12073	xorl	%edi,%ebx
12074	addl	24(%esp),%edx
12075	shrdl	$11,%ecx,%ecx
12076	andl	%ebx,%eax
12077	xorl	%esi,%ecx
12078	addl	36(%esp),%edx
12079	xorl	%edi,%eax
12080	shrdl	$2,%ecx,%ecx
12081	addl	%edx,%eax
12082	addl	8(%esp),%edx
12083	addl	%ecx,%eax
12084	movl	%edx,%ecx
12085	shrdl	$14,%edx,%edx
12086	movl	12(%esp),%esi
12087	xorl	%ecx,%edx
12088	movl	16(%esp),%edi
12089	xorl	%edi,%esi
12090	shrdl	$5,%edx,%edx
12091	andl	%ecx,%esi
12092	movl	%ecx,8(%esp)
12093	xorl	%ecx,%edx
12094	xorl	%esi,%edi
12095	shrdl	$6,%edx,%edx
12096	movl	%eax,%ecx
12097	addl	%edi,%edx
12098	movl	28(%esp),%edi
12099	movl	%eax,%esi
12100	shrdl	$9,%ecx,%ecx
12101	movl	%eax,24(%esp)
12102	xorl	%eax,%ecx
12103	xorl	%edi,%eax
12104	addl	20(%esp),%edx
12105	shrdl	$11,%ecx,%ecx
12106	andl	%eax,%ebx
12107	xorl	%esi,%ecx
12108	addl	40(%esp),%edx
12109	xorl	%edi,%ebx
12110	shrdl	$2,%ecx,%ecx
12111	addl	%edx,%ebx
12112	addl	4(%esp),%edx
12113	addl	%ecx,%ebx
12114	movl	%edx,%ecx
12115	shrdl	$14,%edx,%edx
12116	movl	8(%esp),%esi
12117	xorl	%ecx,%edx
12118	movl	12(%esp),%edi
12119	xorl	%edi,%esi
12120	shrdl	$5,%edx,%edx
12121	andl	%ecx,%esi
12122	movl	%ecx,4(%esp)
12123	xorl	%ecx,%edx
12124	xorl	%esi,%edi
12125	shrdl	$6,%edx,%edx
12126	movl	%ebx,%ecx
12127	addl	%edi,%edx
12128	movl	24(%esp),%edi
12129	movl	%ebx,%esi
12130	shrdl	$9,%ecx,%ecx
12131	movl	%ebx,20(%esp)
12132	xorl	%ebx,%ecx
12133	xorl	%edi,%ebx
12134	addl	16(%esp),%edx
12135	shrdl	$11,%ecx,%ecx
12136	andl	%ebx,%eax
12137	xorl	%esi,%ecx
12138	addl	44(%esp),%edx
12139	xorl	%edi,%eax
12140	shrdl	$2,%ecx,%ecx
12141	addl	%edx,%eax
12142	addl	(%esp),%edx
12143	addl	%ecx,%eax
12144	movl	%edx,%ecx
12145	shrdl	$14,%edx,%edx
12146	movl	4(%esp),%esi
12147	xorl	%ecx,%edx
12148	movl	8(%esp),%edi
12149	xorl	%edi,%esi
12150	shrdl	$5,%edx,%edx
12151	andl	%ecx,%esi
12152	movl	%ecx,(%esp)
12153	xorl	%ecx,%edx
12154	xorl	%esi,%edi
12155	shrdl	$6,%edx,%edx
12156	movl	%eax,%ecx
12157	addl	%edi,%edx
12158	movl	20(%esp),%edi
12159	movl	%eax,%esi
12160	shrdl	$9,%ecx,%ecx
12161	movl	%eax,16(%esp)
12162	xorl	%eax,%ecx
12163	xorl	%edi,%eax
12164	addl	12(%esp),%edx
12165	shrdl	$11,%ecx,%ecx
12166	andl	%eax,%ebx
12167	xorl	%esi,%ecx
12168	addl	48(%esp),%edx
12169	xorl	%edi,%ebx
12170	shrdl	$2,%ecx,%ecx
12171	addl	%edx,%ebx
12172	addl	28(%esp),%edx
12173	addl	%ecx,%ebx
12174	movl	%edx,%ecx
12175	shrdl	$14,%edx,%edx
12176	movl	(%esp),%esi
12177	xorl	%ecx,%edx
12178	movl	4(%esp),%edi
12179	xorl	%edi,%esi
12180	shrdl	$5,%edx,%edx
12181	andl	%ecx,%esi
12182	movl	%ecx,28(%esp)
12183	xorl	%ecx,%edx
12184	xorl	%esi,%edi
12185	shrdl	$6,%edx,%edx
12186	movl	%ebx,%ecx
12187	addl	%edi,%edx
12188	movl	16(%esp),%edi
12189	movl	%ebx,%esi
12190	shrdl	$9,%ecx,%ecx
12191	movl	%ebx,12(%esp)
12192	xorl	%ebx,%ecx
12193	xorl	%edi,%ebx
12194	addl	8(%esp),%edx
12195	shrdl	$11,%ecx,%ecx
12196	andl	%ebx,%eax
12197	xorl	%esi,%ecx
12198	addl	52(%esp),%edx
12199	xorl	%edi,%eax
12200	shrdl	$2,%ecx,%ecx
12201	addl	%edx,%eax
12202	addl	24(%esp),%edx
12203	addl	%ecx,%eax
12204	movl	%edx,%ecx
12205	shrdl	$14,%edx,%edx
12206	movl	28(%esp),%esi
12207	xorl	%ecx,%edx
12208	movl	(%esp),%edi
12209	xorl	%edi,%esi
12210	shrdl	$5,%edx,%edx
12211	andl	%ecx,%esi
12212	movl	%ecx,24(%esp)
12213	xorl	%ecx,%edx
12214	xorl	%esi,%edi
12215	shrdl	$6,%edx,%edx
12216	movl	%eax,%ecx
12217	addl	%edi,%edx
12218	movl	12(%esp),%edi
12219	movl	%eax,%esi
12220	shrdl	$9,%ecx,%ecx
12221	movl	%eax,8(%esp)
12222	xorl	%eax,%ecx
12223	xorl	%edi,%eax
12224	addl	4(%esp),%edx
12225	shrdl	$11,%ecx,%ecx
12226	andl	%eax,%ebx
12227	xorl	%esi,%ecx
12228	addl	56(%esp),%edx
12229	xorl	%edi,%ebx
12230	shrdl	$2,%ecx,%ecx
12231	addl	%edx,%ebx
12232	addl	20(%esp),%edx
12233	addl	%ecx,%ebx
12234	movl	%edx,%ecx
12235	shrdl	$14,%edx,%edx
12236	movl	24(%esp),%esi
12237	xorl	%ecx,%edx
12238	movl	28(%esp),%edi
12239	xorl	%edi,%esi
12240	shrdl	$5,%edx,%edx
12241	andl	%ecx,%esi
12242	movl	%ecx,20(%esp)
12243	xorl	%ecx,%edx
12244	xorl	%esi,%edi
12245	shrdl	$6,%edx,%edx
12246	movl	%ebx,%ecx
12247	addl	%edi,%edx
12248	movl	8(%esp),%edi
12249	movl	%ebx,%esi
12250	shrdl	$9,%ecx,%ecx
12251	movl	%ebx,4(%esp)
12252	xorl	%ebx,%ecx
12253	xorl	%edi,%ebx
12254	addl	(%esp),%edx
12255	shrdl	$11,%ecx,%ecx
12256	andl	%ebx,%eax
12257	xorl	%esi,%ecx
12258	addl	60(%esp),%edx
12259	xorl	%edi,%eax
12260	shrdl	$2,%ecx,%ecx
12261	addl	%edx,%eax
12262	addl	16(%esp),%edx
12263	addl	%ecx,%eax
12264	movl	%edx,%ecx
12265	shrdl	$14,%edx,%edx
12266	movl	20(%esp),%esi
12267	xorl	%ecx,%edx
12268	movl	24(%esp),%edi
12269	xorl	%edi,%esi
12270	shrdl	$5,%edx,%edx
12271	andl	%ecx,%esi
12272	movl	%ecx,16(%esp)
12273	xorl	%ecx,%edx
12274	xorl	%esi,%edi
12275	shrdl	$6,%edx,%edx
12276	movl	%eax,%ecx
12277	addl	%edi,%edx
12278	movl	4(%esp),%edi
12279	movl	%eax,%esi
12280	shrdl	$9,%ecx,%ecx
12281	movl	%eax,(%esp)
12282	xorl	%eax,%ecx
12283	xorl	%edi,%eax
12284	addl	28(%esp),%edx
12285	shrdl	$11,%ecx,%ecx
12286	andl	%eax,%ebx
12287	xorl	%esi,%ecx
12288	addl	64(%esp),%edx
12289	xorl	%edi,%ebx
12290	shrdl	$2,%ecx,%ecx
12291	addl	%edx,%ebx
12292	addl	12(%esp),%edx
12293	addl	%ecx,%ebx
12294	movl	%edx,%ecx
12295	shrdl	$14,%edx,%edx
12296	movl	16(%esp),%esi
12297	xorl	%ecx,%edx
12298	movl	20(%esp),%edi
12299	xorl	%edi,%esi
12300	shrdl	$5,%edx,%edx
12301	andl	%ecx,%esi
12302	movl	%ecx,12(%esp)
12303	xorl	%ecx,%edx
12304	xorl	%esi,%edi
12305	shrdl	$6,%edx,%edx
12306	movl	%ebx,%ecx
12307	addl	%edi,%edx
12308	movl	(%esp),%edi
12309	movl	%ebx,%esi
12310	shrdl	$9,%ecx,%ecx
12311	movl	%ebx,28(%esp)
12312	xorl	%ebx,%ecx
12313	xorl	%edi,%ebx
12314	addl	24(%esp),%edx
12315	shrdl	$11,%ecx,%ecx
12316	andl	%ebx,%eax
12317	xorl	%esi,%ecx
12318	addl	68(%esp),%edx
12319	xorl	%edi,%eax
12320	shrdl	$2,%ecx,%ecx
12321	addl	%edx,%eax
12322	addl	8(%esp),%edx
12323	addl	%ecx,%eax
12324	movl	%edx,%ecx
12325	shrdl	$14,%edx,%edx
12326	movl	12(%esp),%esi
12327	xorl	%ecx,%edx
12328	movl	16(%esp),%edi
12329	xorl	%edi,%esi
12330	shrdl	$5,%edx,%edx
12331	andl	%ecx,%esi
12332	movl	%ecx,8(%esp)
12333	xorl	%ecx,%edx
12334	xorl	%esi,%edi
12335	shrdl	$6,%edx,%edx
12336	movl	%eax,%ecx
12337	addl	%edi,%edx
12338	movl	28(%esp),%edi
12339	movl	%eax,%esi
12340	shrdl	$9,%ecx,%ecx
12341	movl	%eax,24(%esp)
12342	xorl	%eax,%ecx
12343	xorl	%edi,%eax
12344	addl	20(%esp),%edx
12345	shrdl	$11,%ecx,%ecx
12346	andl	%eax,%ebx
12347	xorl	%esi,%ecx
12348	addl	72(%esp),%edx
12349	xorl	%edi,%ebx
12350	shrdl	$2,%ecx,%ecx
12351	addl	%edx,%ebx
12352	addl	4(%esp),%edx
12353	addl	%ecx,%ebx
12354	movl	%edx,%ecx
12355	shrdl	$14,%edx,%edx
12356	movl	8(%esp),%esi
12357	xorl	%ecx,%edx
12358	movl	12(%esp),%edi
12359	xorl	%edi,%esi
12360	shrdl	$5,%edx,%edx
12361	andl	%ecx,%esi
12362	movl	%ecx,4(%esp)
12363	xorl	%ecx,%edx
12364	xorl	%esi,%edi
12365	shrdl	$6,%edx,%edx
12366	movl	%ebx,%ecx
12367	addl	%edi,%edx
12368	movl	24(%esp),%edi
12369	movl	%ebx,%esi
12370	shrdl	$9,%ecx,%ecx
12371	movl	%ebx,20(%esp)
12372	xorl	%ebx,%ecx
12373	xorl	%edi,%ebx
12374	addl	16(%esp),%edx
12375	shrdl	$11,%ecx,%ecx
12376	andl	%ebx,%eax
12377	xorl	%esi,%ecx
12378	addl	76(%esp),%edx
12379	xorl	%edi,%eax
12380	shrdl	$2,%ecx,%ecx
12381	addl	%edx,%eax
12382	addl	(%esp),%edx
12383	addl	%ecx,%eax
12384	movl	%edx,%ecx
12385	shrdl	$14,%edx,%edx
12386	movl	4(%esp),%esi
12387	xorl	%ecx,%edx
12388	movl	8(%esp),%edi
12389	xorl	%edi,%esi
12390	shrdl	$5,%edx,%edx
12391	andl	%ecx,%esi
12392	movl	%ecx,(%esp)
12393	xorl	%ecx,%edx
12394	xorl	%esi,%edi
12395	shrdl	$6,%edx,%edx
12396	movl	%eax,%ecx
12397	addl	%edi,%edx
12398	movl	20(%esp),%edi
12399	movl	%eax,%esi
12400	shrdl	$9,%ecx,%ecx
12401	movl	%eax,16(%esp)
12402	xorl	%eax,%ecx
12403	xorl	%edi,%eax
12404	addl	12(%esp),%edx
12405	shrdl	$11,%ecx,%ecx
12406	andl	%eax,%ebx
12407	xorl	%esi,%ecx
12408	addl	80(%esp),%edx
12409	xorl	%edi,%ebx
12410	shrdl	$2,%ecx,%ecx
12411	addl	%edx,%ebx
12412	addl	28(%esp),%edx
12413	addl	%ecx,%ebx
12414	movl	%edx,%ecx
12415	shrdl	$14,%edx,%edx
12416	movl	(%esp),%esi
12417	xorl	%ecx,%edx
12418	movl	4(%esp),%edi
12419	xorl	%edi,%esi
12420	shrdl	$5,%edx,%edx
12421	andl	%ecx,%esi
12422	movl	%ecx,28(%esp)
12423	xorl	%ecx,%edx
12424	xorl	%esi,%edi
12425	shrdl	$6,%edx,%edx
12426	movl	%ebx,%ecx
12427	addl	%edi,%edx
12428	movl	16(%esp),%edi
12429	movl	%ebx,%esi
12430	shrdl	$9,%ecx,%ecx
12431	movl	%ebx,12(%esp)
12432	xorl	%ebx,%ecx
12433	xorl	%edi,%ebx
12434	addl	8(%esp),%edx
12435	shrdl	$11,%ecx,%ecx
12436	andl	%ebx,%eax
12437	xorl	%esi,%ecx
12438	addl	84(%esp),%edx
12439	xorl	%edi,%eax
12440	shrdl	$2,%ecx,%ecx
12441	addl	%edx,%eax
12442	addl	24(%esp),%edx
12443	addl	%ecx,%eax
12444	movl	%edx,%ecx
12445	shrdl	$14,%edx,%edx
12446	movl	28(%esp),%esi
12447	xorl	%ecx,%edx
12448	movl	(%esp),%edi
12449	xorl	%edi,%esi
12450	shrdl	$5,%edx,%edx
12451	andl	%ecx,%esi
12452	movl	%ecx,24(%esp)
12453	xorl	%ecx,%edx
12454	xorl	%esi,%edi
12455	shrdl	$6,%edx,%edx
12456	movl	%eax,%ecx
12457	addl	%edi,%edx
12458	movl	12(%esp),%edi
12459	movl	%eax,%esi
12460	shrdl	$9,%ecx,%ecx
12461	movl	%eax,8(%esp)
12462	xorl	%eax,%ecx
12463	xorl	%edi,%eax
12464	addl	4(%esp),%edx
12465	shrdl	$11,%ecx,%ecx
12466	andl	%eax,%ebx
12467	xorl	%esi,%ecx
12468	addl	88(%esp),%edx
12469	xorl	%edi,%ebx
12470	shrdl	$2,%ecx,%ecx
12471	addl	%edx,%ebx
12472	addl	20(%esp),%edx
12473	addl	%ecx,%ebx
12474	movl	%edx,%ecx
12475	shrdl	$14,%edx,%edx
12476	movl	24(%esp),%esi
12477	xorl	%ecx,%edx
12478	movl	28(%esp),%edi
12479	xorl	%edi,%esi
12480	shrdl	$5,%edx,%edx
12481	andl	%ecx,%esi
12482	movl	%ecx,20(%esp)
12483	xorl	%ecx,%edx
12484	xorl	%esi,%edi
12485	shrdl	$6,%edx,%edx
12486	movl	%ebx,%ecx
12487	addl	%edi,%edx
12488	movl	8(%esp),%edi
12489	movl	%ebx,%esi
12490	shrdl	$9,%ecx,%ecx
12491	movl	%ebx,4(%esp)
12492	xorl	%ebx,%ecx
12493	xorl	%edi,%ebx
12494	addl	(%esp),%edx
12495	shrdl	$11,%ecx,%ecx
12496	andl	%ebx,%eax
12497	xorl	%esi,%ecx
12498	addl	92(%esp),%edx
12499	xorl	%edi,%eax
12500	shrdl	$2,%ecx,%ecx
12501	addl	%edx,%eax
12502	addl	16(%esp),%edx
12503	addl	%ecx,%eax
12504	movl	96(%esp),%esi
12505	xorl	%edi,%ebx
12506	movl	12(%esp),%ecx
12507	addl	(%esi),%eax
12508	addl	4(%esi),%ebx
12509	addl	8(%esi),%edi
12510	addl	12(%esi),%ecx
12511	movl	%eax,(%esi)
12512	movl	%ebx,4(%esi)
12513	movl	%edi,8(%esi)
12514	movl	%ecx,12(%esi)
12515	movl	%ebx,4(%esp)
12516	xorl	%edi,%ebx
12517	movl	%edi,8(%esp)
12518	movl	%ecx,12(%esp)
12519	movl	20(%esp),%edi
12520	movl	24(%esp),%ecx
12521	addl	16(%esi),%edx
12522	addl	20(%esi),%edi
12523	addl	24(%esi),%ecx
12524	movl	%edx,16(%esi)
12525	movl	%edi,20(%esi)
12526	movl	%edi,20(%esp)
12527	movl	28(%esp),%edi
12528	movl	%ecx,24(%esi)
12529	addl	28(%esi),%edi
12530	movl	%ecx,24(%esp)
12531	movl	%edi,28(%esi)
12532	movl	%edi,28(%esp)
12533	movl	100(%esp),%edi
12534	vmovdqa	64(%ebp),%xmm7
12535	subl	$192,%ebp
12536	cmpl	104(%esp),%edi
12537	jb	.L015grand_avx
12538	movl	108(%esp),%esp
12539	vzeroall
12540	popl	%edi
12541	popl	%esi
12542	popl	%ebx
12543	popl	%ebp
12544	ret
12545.align	32
12546.L014AVX_BMI:
12547	leal	-96(%esp),%esp
12548	vzeroall
12549	movl	(%esi),%eax
12550	movl	4(%esi),%ebx
12551	movl	8(%esi),%ecx
12552	movl	12(%esi),%edi
12553	movl	%ebx,4(%esp)
12554	xorl	%ecx,%ebx
12555	movl	%ecx,8(%esp)
12556	movl	%edi,12(%esp)
12557	movl	16(%esi),%edx
12558	movl	20(%esi),%edi
12559	movl	24(%esi),%ecx
12560	movl	28(%esi),%esi
12561	movl	%edi,20(%esp)
12562	movl	100(%esp),%edi
12563	movl	%ecx,24(%esp)
12564	movl	%esi,28(%esp)
12565	vmovdqa	256(%ebp),%xmm7
12566	jmp	.L017grand_avx_bmi
12567.align	32
12568.L017grand_avx_bmi:
12569	vmovdqu	(%edi),%xmm0
12570	vmovdqu	16(%edi),%xmm1
12571	vmovdqu	32(%edi),%xmm2
12572	vmovdqu	48(%edi),%xmm3
12573	addl	$64,%edi
12574	vpshufb	%xmm7,%xmm0,%xmm0
12575	movl	%edi,100(%esp)
12576	vpshufb	%xmm7,%xmm1,%xmm1
12577	vpshufb	%xmm7,%xmm2,%xmm2
12578	vpaddd	(%ebp),%xmm0,%xmm4
12579	vpshufb	%xmm7,%xmm3,%xmm3
12580	vpaddd	16(%ebp),%xmm1,%xmm5
12581	vpaddd	32(%ebp),%xmm2,%xmm6
12582	vpaddd	48(%ebp),%xmm3,%xmm7
12583	vmovdqa	%xmm4,32(%esp)
12584	vmovdqa	%xmm5,48(%esp)
12585	vmovdqa	%xmm6,64(%esp)
12586	vmovdqa	%xmm7,80(%esp)
12587	jmp	.L018avx_bmi_00_47
12588.align	16
12589.L018avx_bmi_00_47:
12590	addl	$64,%ebp
12591	vpalignr	$4,%xmm0,%xmm1,%xmm4
12592	rorxl	$6,%edx,%ecx
12593	rorxl	$11,%edx,%esi
12594	movl	%edx,16(%esp)
12595	vpalignr	$4,%xmm2,%xmm3,%xmm7
12596	rorxl	$25,%edx,%edi
12597	xorl	%esi,%ecx
12598	andnl	24(%esp),%edx,%esi
12599	vpsrld	$7,%xmm4,%xmm6
12600	xorl	%edi,%ecx
12601	andl	20(%esp),%edx
12602	movl	%eax,(%esp)
12603	vpaddd	%xmm7,%xmm0,%xmm0
12604	orl	%esi,%edx
12605	rorxl	$2,%eax,%edi
12606	rorxl	$13,%eax,%esi
12607	vpsrld	$3,%xmm4,%xmm7
12608	leal	(%edx,%ecx,1),%edx
12609	rorxl	$22,%eax,%ecx
12610	xorl	%edi,%esi
12611	vpslld	$14,%xmm4,%xmm5
12612	movl	4(%esp),%edi
12613	xorl	%esi,%ecx
12614	xorl	%edi,%eax
12615	vpxor	%xmm6,%xmm7,%xmm4
12616	addl	28(%esp),%edx
12617	andl	%eax,%ebx
12618	addl	32(%esp),%edx
12619	vpshufd	$250,%xmm3,%xmm7
12620	xorl	%edi,%ebx
12621	addl	%edx,%ecx
12622	addl	12(%esp),%edx
12623	vpsrld	$11,%xmm6,%xmm6
12624	leal	(%ebx,%ecx,1),%ebx
12625	rorxl	$6,%edx,%ecx
12626	rorxl	$11,%edx,%esi
12627	vpxor	%xmm5,%xmm4,%xmm4
12628	movl	%edx,12(%esp)
12629	rorxl	$25,%edx,%edi
12630	xorl	%esi,%ecx
12631	vpslld	$11,%xmm5,%xmm5
12632	andnl	20(%esp),%edx,%esi
12633	xorl	%edi,%ecx
12634	andl	16(%esp),%edx
12635	vpxor	%xmm6,%xmm4,%xmm4
12636	movl	%ebx,28(%esp)
12637	orl	%esi,%edx
12638	rorxl	$2,%ebx,%edi
12639	rorxl	$13,%ebx,%esi
12640	vpsrld	$10,%xmm7,%xmm6
12641	leal	(%edx,%ecx,1),%edx
12642	rorxl	$22,%ebx,%ecx
12643	xorl	%edi,%esi
12644	vpxor	%xmm5,%xmm4,%xmm4
12645	movl	(%esp),%edi
12646	xorl	%esi,%ecx
12647	xorl	%edi,%ebx
12648	vpsrlq	$17,%xmm7,%xmm5
12649	addl	24(%esp),%edx
12650	andl	%ebx,%eax
12651	addl	36(%esp),%edx
12652	vpaddd	%xmm4,%xmm0,%xmm0
12653	xorl	%edi,%eax
12654	addl	%edx,%ecx
12655	addl	8(%esp),%edx
12656	vpxor	%xmm5,%xmm6,%xmm6
12657	leal	(%eax,%ecx,1),%eax
12658	rorxl	$6,%edx,%ecx
12659	rorxl	$11,%edx,%esi
12660	vpsrlq	$19,%xmm7,%xmm7
12661	movl	%edx,8(%esp)
12662	rorxl	$25,%edx,%edi
12663	xorl	%esi,%ecx
12664	vpxor	%xmm7,%xmm6,%xmm6
12665	andnl	16(%esp),%edx,%esi
12666	xorl	%edi,%ecx
12667	andl	12(%esp),%edx
12668	vpshufd	$132,%xmm6,%xmm7
12669	movl	%eax,24(%esp)
12670	orl	%esi,%edx
12671	rorxl	$2,%eax,%edi
12672	rorxl	$13,%eax,%esi
12673	vpsrldq	$8,%xmm7,%xmm7
12674	leal	(%edx,%ecx,1),%edx
12675	rorxl	$22,%eax,%ecx
12676	xorl	%edi,%esi
12677	vpaddd	%xmm7,%xmm0,%xmm0
12678	movl	28(%esp),%edi
12679	xorl	%esi,%ecx
12680	xorl	%edi,%eax
12681	vpshufd	$80,%xmm0,%xmm7
12682	addl	20(%esp),%edx
12683	andl	%eax,%ebx
12684	addl	40(%esp),%edx
12685	vpsrld	$10,%xmm7,%xmm6
12686	xorl	%edi,%ebx
12687	addl	%edx,%ecx
12688	addl	4(%esp),%edx
12689	vpsrlq	$17,%xmm7,%xmm5
12690	leal	(%ebx,%ecx,1),%ebx
12691	rorxl	$6,%edx,%ecx
12692	rorxl	$11,%edx,%esi
12693	vpxor	%xmm5,%xmm6,%xmm6
12694	movl	%edx,4(%esp)
12695	rorxl	$25,%edx,%edi
12696	xorl	%esi,%ecx
12697	vpsrlq	$19,%xmm7,%xmm7
12698	andnl	12(%esp),%edx,%esi
12699	xorl	%edi,%ecx
12700	andl	8(%esp),%edx
12701	vpxor	%xmm7,%xmm6,%xmm6
12702	movl	%ebx,20(%esp)
12703	orl	%esi,%edx
12704	rorxl	$2,%ebx,%edi
12705	rorxl	$13,%ebx,%esi
12706	vpshufd	$232,%xmm6,%xmm7
12707	leal	(%edx,%ecx,1),%edx
12708	rorxl	$22,%ebx,%ecx
12709	xorl	%edi,%esi
12710	vpslldq	$8,%xmm7,%xmm7
12711	movl	24(%esp),%edi
12712	xorl	%esi,%ecx
12713	xorl	%edi,%ebx
12714	vpaddd	%xmm7,%xmm0,%xmm0
12715	addl	16(%esp),%edx
12716	andl	%ebx,%eax
12717	addl	44(%esp),%edx
12718	vpaddd	(%ebp),%xmm0,%xmm6
12719	xorl	%edi,%eax
12720	addl	%edx,%ecx
12721	addl	(%esp),%edx
12722	leal	(%eax,%ecx,1),%eax
12723	vmovdqa	%xmm6,32(%esp)
12724	vpalignr	$4,%xmm1,%xmm2,%xmm4
12725	rorxl	$6,%edx,%ecx
12726	rorxl	$11,%edx,%esi
12727	movl	%edx,(%esp)
12728	vpalignr	$4,%xmm3,%xmm0,%xmm7
12729	rorxl	$25,%edx,%edi
12730	xorl	%esi,%ecx
12731	andnl	8(%esp),%edx,%esi
12732	vpsrld	$7,%xmm4,%xmm6
12733	xorl	%edi,%ecx
12734	andl	4(%esp),%edx
12735	movl	%eax,16(%esp)
12736	vpaddd	%xmm7,%xmm1,%xmm1
12737	orl	%esi,%edx
12738	rorxl	$2,%eax,%edi
12739	rorxl	$13,%eax,%esi
12740	vpsrld	$3,%xmm4,%xmm7
12741	leal	(%edx,%ecx,1),%edx
12742	rorxl	$22,%eax,%ecx
12743	xorl	%edi,%esi
12744	vpslld	$14,%xmm4,%xmm5
12745	movl	20(%esp),%edi
12746	xorl	%esi,%ecx
12747	xorl	%edi,%eax
12748	vpxor	%xmm6,%xmm7,%xmm4
12749	addl	12(%esp),%edx
12750	andl	%eax,%ebx
12751	addl	48(%esp),%edx
12752	vpshufd	$250,%xmm0,%xmm7
12753	xorl	%edi,%ebx
12754	addl	%edx,%ecx
12755	addl	28(%esp),%edx
12756	vpsrld	$11,%xmm6,%xmm6
12757	leal	(%ebx,%ecx,1),%ebx
12758	rorxl	$6,%edx,%ecx
12759	rorxl	$11,%edx,%esi
12760	vpxor	%xmm5,%xmm4,%xmm4
12761	movl	%edx,28(%esp)
12762	rorxl	$25,%edx,%edi
12763	xorl	%esi,%ecx
12764	vpslld	$11,%xmm5,%xmm5
12765	andnl	4(%esp),%edx,%esi
12766	xorl	%edi,%ecx
12767	andl	(%esp),%edx
12768	vpxor	%xmm6,%xmm4,%xmm4
12769	movl	%ebx,12(%esp)
12770	orl	%esi,%edx
12771	rorxl	$2,%ebx,%edi
12772	rorxl	$13,%ebx,%esi
12773	vpsrld	$10,%xmm7,%xmm6
12774	leal	(%edx,%ecx,1),%edx
12775	rorxl	$22,%ebx,%ecx
12776	xorl	%edi,%esi
12777	vpxor	%xmm5,%xmm4,%xmm4
12778	movl	16(%esp),%edi
12779	xorl	%esi,%ecx
12780	xorl	%edi,%ebx
12781	vpsrlq	$17,%xmm7,%xmm5
12782	addl	8(%esp),%edx
12783	andl	%ebx,%eax
12784	addl	52(%esp),%edx
12785	vpaddd	%xmm4,%xmm1,%xmm1
12786	xorl	%edi,%eax
12787	addl	%edx,%ecx
12788	addl	24(%esp),%edx
12789	vpxor	%xmm5,%xmm6,%xmm6
12790	leal	(%eax,%ecx,1),%eax
12791	rorxl	$6,%edx,%ecx
12792	rorxl	$11,%edx,%esi
12793	vpsrlq	$19,%xmm7,%xmm7
12794	movl	%edx,24(%esp)
12795	rorxl	$25,%edx,%edi
12796	xorl	%esi,%ecx
12797	vpxor	%xmm7,%xmm6,%xmm6
12798	andnl	(%esp),%edx,%esi
12799	xorl	%edi,%ecx
12800	andl	28(%esp),%edx
12801	vpshufd	$132,%xmm6,%xmm7
12802	movl	%eax,8(%esp)
12803	orl	%esi,%edx
12804	rorxl	$2,%eax,%edi
12805	rorxl	$13,%eax,%esi
12806	vpsrldq	$8,%xmm7,%xmm7
12807	leal	(%edx,%ecx,1),%edx
12808	rorxl	$22,%eax,%ecx
12809	xorl	%edi,%esi
12810	vpaddd	%xmm7,%xmm1,%xmm1
12811	movl	12(%esp),%edi
12812	xorl	%esi,%ecx
12813	xorl	%edi,%eax
12814	vpshufd	$80,%xmm1,%xmm7
12815	addl	4(%esp),%edx
12816	andl	%eax,%ebx
12817	addl	56(%esp),%edx
12818	vpsrld	$10,%xmm7,%xmm6
12819	xorl	%edi,%ebx
12820	addl	%edx,%ecx
12821	addl	20(%esp),%edx
12822	vpsrlq	$17,%xmm7,%xmm5
12823	leal	(%ebx,%ecx,1),%ebx
12824	rorxl	$6,%edx,%ecx
12825	rorxl	$11,%edx,%esi
12826	vpxor	%xmm5,%xmm6,%xmm6
12827	movl	%edx,20(%esp)
12828	rorxl	$25,%edx,%edi
12829	xorl	%esi,%ecx
12830	vpsrlq	$19,%xmm7,%xmm7
12831	andnl	28(%esp),%edx,%esi
12832	xorl	%edi,%ecx
12833	andl	24(%esp),%edx
12834	vpxor	%xmm7,%xmm6,%xmm6
12835	movl	%ebx,4(%esp)
12836	orl	%esi,%edx
12837	rorxl	$2,%ebx,%edi
12838	rorxl	$13,%ebx,%esi
12839	vpshufd	$232,%xmm6,%xmm7
12840	leal	(%edx,%ecx,1),%edx
12841	rorxl	$22,%ebx,%ecx
12842	xorl	%edi,%esi
12843	vpslldq	$8,%xmm7,%xmm7
12844	movl	8(%esp),%edi
12845	xorl	%esi,%ecx
12846	xorl	%edi,%ebx
12847	vpaddd	%xmm7,%xmm1,%xmm1
12848	addl	(%esp),%edx
12849	andl	%ebx,%eax
12850	addl	60(%esp),%edx
12851	vpaddd	16(%ebp),%xmm1,%xmm6
12852	xorl	%edi,%eax
12853	addl	%edx,%ecx
12854	addl	16(%esp),%edx
12855	leal	(%eax,%ecx,1),%eax
12856	vmovdqa	%xmm6,48(%esp)
12857	vpalignr	$4,%xmm2,%xmm3,%xmm4
12858	rorxl	$6,%edx,%ecx
12859	rorxl	$11,%edx,%esi
12860	movl	%edx,16(%esp)
12861	vpalignr	$4,%xmm0,%xmm1,%xmm7
12862	rorxl	$25,%edx,%edi
12863	xorl	%esi,%ecx
12864	andnl	24(%esp),%edx,%esi
12865	vpsrld	$7,%xmm4,%xmm6
12866	xorl	%edi,%ecx
12867	andl	20(%esp),%edx
12868	movl	%eax,(%esp)
12869	vpaddd	%xmm7,%xmm2,%xmm2
12870	orl	%esi,%edx
12871	rorxl	$2,%eax,%edi
12872	rorxl	$13,%eax,%esi
12873	vpsrld	$3,%xmm4,%xmm7
12874	leal	(%edx,%ecx,1),%edx
12875	rorxl	$22,%eax,%ecx
12876	xorl	%edi,%esi
12877	vpslld	$14,%xmm4,%xmm5
12878	movl	4(%esp),%edi
12879	xorl	%esi,%ecx
12880	xorl	%edi,%eax
12881	vpxor	%xmm6,%xmm7,%xmm4
12882	addl	28(%esp),%edx
12883	andl	%eax,%ebx
12884	addl	64(%esp),%edx
12885	vpshufd	$250,%xmm1,%xmm7
12886	xorl	%edi,%ebx
12887	addl	%edx,%ecx
12888	addl	12(%esp),%edx
12889	vpsrld	$11,%xmm6,%xmm6
12890	leal	(%ebx,%ecx,1),%ebx
12891	rorxl	$6,%edx,%ecx
12892	rorxl	$11,%edx,%esi
12893	vpxor	%xmm5,%xmm4,%xmm4
12894	movl	%edx,12(%esp)
12895	rorxl	$25,%edx,%edi
12896	xorl	%esi,%ecx
12897	vpslld	$11,%xmm5,%xmm5
12898	andnl	20(%esp),%edx,%esi
12899	xorl	%edi,%ecx
12900	andl	16(%esp),%edx
12901	vpxor	%xmm6,%xmm4,%xmm4
12902	movl	%ebx,28(%esp)
12903	orl	%esi,%edx
12904	rorxl	$2,%ebx,%edi
12905	rorxl	$13,%ebx,%esi
12906	vpsrld	$10,%xmm7,%xmm6
12907	leal	(%edx,%ecx,1),%edx
12908	rorxl	$22,%ebx,%ecx
12909	xorl	%edi,%esi
12910	vpxor	%xmm5,%xmm4,%xmm4
12911	movl	(%esp),%edi
12912	xorl	%esi,%ecx
12913	xorl	%edi,%ebx
12914	vpsrlq	$17,%xmm7,%xmm5
12915	addl	24(%esp),%edx
12916	andl	%ebx,%eax
12917	addl	68(%esp),%edx
12918	vpaddd	%xmm4,%xmm2,%xmm2
12919	xorl	%edi,%eax
12920	addl	%edx,%ecx
12921	addl	8(%esp),%edx
12922	vpxor	%xmm5,%xmm6,%xmm6
12923	leal	(%eax,%ecx,1),%eax
12924	rorxl	$6,%edx,%ecx
12925	rorxl	$11,%edx,%esi
12926	vpsrlq	$19,%xmm7,%xmm7
12927	movl	%edx,8(%esp)
12928	rorxl	$25,%edx,%edi
12929	xorl	%esi,%ecx
12930	vpxor	%xmm7,%xmm6,%xmm6
12931	andnl	16(%esp),%edx,%esi
12932	xorl	%edi,%ecx
12933	andl	12(%esp),%edx
12934	vpshufd	$132,%xmm6,%xmm7
12935	movl	%eax,24(%esp)
12936	orl	%esi,%edx
12937	rorxl	$2,%eax,%edi
12938	rorxl	$13,%eax,%esi
12939	vpsrldq	$8,%xmm7,%xmm7
12940	leal	(%edx,%ecx,1),%edx
12941	rorxl	$22,%eax,%ecx
12942	xorl	%edi,%esi
12943	vpaddd	%xmm7,%xmm2,%xmm2
12944	movl	28(%esp),%edi
12945	xorl	%esi,%ecx
12946	xorl	%edi,%eax
12947	vpshufd	$80,%xmm2,%xmm7
12948	addl	20(%esp),%edx
12949	andl	%eax,%ebx
12950	addl	72(%esp),%edx
12951	vpsrld	$10,%xmm7,%xmm6
12952	xorl	%edi,%ebx
12953	addl	%edx,%ecx
12954	addl	4(%esp),%edx
12955	vpsrlq	$17,%xmm7,%xmm5
12956	leal	(%ebx,%ecx,1),%ebx
12957	rorxl	$6,%edx,%ecx
12958	rorxl	$11,%edx,%esi
12959	vpxor	%xmm5,%xmm6,%xmm6
12960	movl	%edx,4(%esp)
12961	rorxl	$25,%edx,%edi
12962	xorl	%esi,%ecx
12963	vpsrlq	$19,%xmm7,%xmm7
12964	andnl	12(%esp),%edx,%esi
12965	xorl	%edi,%ecx
12966	andl	8(%esp),%edx
12967	vpxor	%xmm7,%xmm6,%xmm6
12968	movl	%ebx,20(%esp)
12969	orl	%esi,%edx
12970	rorxl	$2,%ebx,%edi
12971	rorxl	$13,%ebx,%esi
12972	vpshufd	$232,%xmm6,%xmm7
12973	leal	(%edx,%ecx,1),%edx
12974	rorxl	$22,%ebx,%ecx
12975	xorl	%edi,%esi
12976	vpslldq	$8,%xmm7,%xmm7
12977	movl	24(%esp),%edi
12978	xorl	%esi,%ecx
12979	xorl	%edi,%ebx
12980	vpaddd	%xmm7,%xmm2,%xmm2
12981	addl	16(%esp),%edx
12982	andl	%ebx,%eax
12983	addl	76(%esp),%edx
12984	vpaddd	32(%ebp),%xmm2,%xmm6
12985	xorl	%edi,%eax
12986	addl	%edx,%ecx
12987	addl	(%esp),%edx
12988	leal	(%eax,%ecx,1),%eax
12989	vmovdqa	%xmm6,64(%esp)
12990	vpalignr	$4,%xmm3,%xmm0,%xmm4
12991	rorxl	$6,%edx,%ecx
12992	rorxl	$11,%edx,%esi
12993	movl	%edx,(%esp)
12994	vpalignr	$4,%xmm1,%xmm2,%xmm7
12995	rorxl	$25,%edx,%edi
12996	xorl	%esi,%ecx
12997	andnl	8(%esp),%edx,%esi
12998	vpsrld	$7,%xmm4,%xmm6
12999	xorl	%edi,%ecx
13000	andl	4(%esp),%edx
13001	movl	%eax,16(%esp)
13002	vpaddd	%xmm7,%xmm3,%xmm3
13003	orl	%esi,%edx
13004	rorxl	$2,%eax,%edi
13005	rorxl	$13,%eax,%esi
13006	vpsrld	$3,%xmm4,%xmm7
13007	leal	(%edx,%ecx,1),%edx
13008	rorxl	$22,%eax,%ecx
13009	xorl	%edi,%esi
13010	vpslld	$14,%xmm4,%xmm5
13011	movl	20(%esp),%edi
13012	xorl	%esi,%ecx
13013	xorl	%edi,%eax
13014	vpxor	%xmm6,%xmm7,%xmm4
13015	addl	12(%esp),%edx
13016	andl	%eax,%ebx
13017	addl	80(%esp),%edx
13018	vpshufd	$250,%xmm2,%xmm7
13019	xorl	%edi,%ebx
13020	addl	%edx,%ecx
13021	addl	28(%esp),%edx
13022	vpsrld	$11,%xmm6,%xmm6
13023	leal	(%ebx,%ecx,1),%ebx
13024	rorxl	$6,%edx,%ecx
13025	rorxl	$11,%edx,%esi
13026	vpxor	%xmm5,%xmm4,%xmm4
13027	movl	%edx,28(%esp)
13028	rorxl	$25,%edx,%edi
13029	xorl	%esi,%ecx
13030	vpslld	$11,%xmm5,%xmm5
13031	andnl	4(%esp),%edx,%esi
13032	xorl	%edi,%ecx
13033	andl	(%esp),%edx
13034	vpxor	%xmm6,%xmm4,%xmm4
13035	movl	%ebx,12(%esp)
13036	orl	%esi,%edx
13037	rorxl	$2,%ebx,%edi
13038	rorxl	$13,%ebx,%esi
13039	vpsrld	$10,%xmm7,%xmm6
13040	leal	(%edx,%ecx,1),%edx
13041	rorxl	$22,%ebx,%ecx
13042	xorl	%edi,%esi
13043	vpxor	%xmm5,%xmm4,%xmm4
13044	movl	16(%esp),%edi
13045	xorl	%esi,%ecx
13046	xorl	%edi,%ebx
13047	vpsrlq	$17,%xmm7,%xmm5
13048	addl	8(%esp),%edx
13049	andl	%ebx,%eax
13050	addl	84(%esp),%edx
13051	vpaddd	%xmm4,%xmm3,%xmm3
13052	xorl	%edi,%eax
13053	addl	%edx,%ecx
13054	addl	24(%esp),%edx
13055	vpxor	%xmm5,%xmm6,%xmm6
13056	leal	(%eax,%ecx,1),%eax
13057	rorxl	$6,%edx,%ecx
13058	rorxl	$11,%edx,%esi
13059	vpsrlq	$19,%xmm7,%xmm7
13060	movl	%edx,24(%esp)
13061	rorxl	$25,%edx,%edi
13062	xorl	%esi,%ecx
13063	vpxor	%xmm7,%xmm6,%xmm6
13064	andnl	(%esp),%edx,%esi
13065	xorl	%edi,%ecx
13066	andl	28(%esp),%edx
13067	vpshufd	$132,%xmm6,%xmm7
13068	movl	%eax,8(%esp)
13069	orl	%esi,%edx
13070	rorxl	$2,%eax,%edi
13071	rorxl	$13,%eax,%esi
13072	vpsrldq	$8,%xmm7,%xmm7
13073	leal	(%edx,%ecx,1),%edx
13074	rorxl	$22,%eax,%ecx
13075	xorl	%edi,%esi
13076	vpaddd	%xmm7,%xmm3,%xmm3
13077	movl	12(%esp),%edi
13078	xorl	%esi,%ecx
13079	xorl	%edi,%eax
13080	vpshufd	$80,%xmm3,%xmm7
13081	addl	4(%esp),%edx
13082	andl	%eax,%ebx
13083	addl	88(%esp),%edx
13084	vpsrld	$10,%xmm7,%xmm6
13085	xorl	%edi,%ebx
13086	addl	%edx,%ecx
13087	addl	20(%esp),%edx
13088	vpsrlq	$17,%xmm7,%xmm5
13089	leal	(%ebx,%ecx,1),%ebx
13090	rorxl	$6,%edx,%ecx
13091	rorxl	$11,%edx,%esi
13092	vpxor	%xmm5,%xmm6,%xmm6
13093	movl	%edx,20(%esp)
13094	rorxl	$25,%edx,%edi
13095	xorl	%esi,%ecx
13096	vpsrlq	$19,%xmm7,%xmm7
13097	andnl	28(%esp),%edx,%esi
13098	xorl	%edi,%ecx
13099	andl	24(%esp),%edx
13100	vpxor	%xmm7,%xmm6,%xmm6
13101	movl	%ebx,4(%esp)
13102	orl	%esi,%edx
13103	rorxl	$2,%ebx,%edi
13104	rorxl	$13,%ebx,%esi
13105	vpshufd	$232,%xmm6,%xmm7
13106	leal	(%edx,%ecx,1),%edx
13107	rorxl	$22,%ebx,%ecx
13108	xorl	%edi,%esi
13109	vpslldq	$8,%xmm7,%xmm7
13110	movl	8(%esp),%edi
13111	xorl	%esi,%ecx
13112	xorl	%edi,%ebx
13113	vpaddd	%xmm7,%xmm3,%xmm3
13114	addl	(%esp),%edx
13115	andl	%ebx,%eax
13116	addl	92(%esp),%edx
13117	vpaddd	48(%ebp),%xmm3,%xmm6
13118	xorl	%edi,%eax
13119	addl	%edx,%ecx
13120	addl	16(%esp),%edx
13121	leal	(%eax,%ecx,1),%eax
13122	vmovdqa	%xmm6,80(%esp)
13123	cmpl	$66051,64(%ebp)
13124	jne	.L018avx_bmi_00_47
13125	rorxl	$6,%edx,%ecx
13126	rorxl	$11,%edx,%esi
13127	movl	%edx,16(%esp)
13128	rorxl	$25,%edx,%edi
13129	xorl	%esi,%ecx
13130	andnl	24(%esp),%edx,%esi
13131	xorl	%edi,%ecx
13132	andl	20(%esp),%edx
13133	movl	%eax,(%esp)
13134	orl	%esi,%edx
13135	rorxl	$2,%eax,%edi
13136	rorxl	$13,%eax,%esi
13137	leal	(%edx,%ecx,1),%edx
13138	rorxl	$22,%eax,%ecx
13139	xorl	%edi,%esi
13140	movl	4(%esp),%edi
13141	xorl	%esi,%ecx
13142	xorl	%edi,%eax
13143	addl	28(%esp),%edx
13144	andl	%eax,%ebx
13145	addl	32(%esp),%edx
13146	xorl	%edi,%ebx
13147	addl	%edx,%ecx
13148	addl	12(%esp),%edx
13149	leal	(%ebx,%ecx,1),%ebx
13150	rorxl	$6,%edx,%ecx
13151	rorxl	$11,%edx,%esi
13152	movl	%edx,12(%esp)
13153	rorxl	$25,%edx,%edi
13154	xorl	%esi,%ecx
13155	andnl	20(%esp),%edx,%esi
13156	xorl	%edi,%ecx
13157	andl	16(%esp),%edx
13158	movl	%ebx,28(%esp)
13159	orl	%esi,%edx
13160	rorxl	$2,%ebx,%edi
13161	rorxl	$13,%ebx,%esi
13162	leal	(%edx,%ecx,1),%edx
13163	rorxl	$22,%ebx,%ecx
13164	xorl	%edi,%esi
13165	movl	(%esp),%edi
13166	xorl	%esi,%ecx
13167	xorl	%edi,%ebx
13168	addl	24(%esp),%edx
13169	andl	%ebx,%eax
13170	addl	36(%esp),%edx
13171	xorl	%edi,%eax
13172	addl	%edx,%ecx
13173	addl	8(%esp),%edx
13174	leal	(%eax,%ecx,1),%eax
13175	rorxl	$6,%edx,%ecx
13176	rorxl	$11,%edx,%esi
13177	movl	%edx,8(%esp)
13178	rorxl	$25,%edx,%edi
13179	xorl	%esi,%ecx
13180	andnl	16(%esp),%edx,%esi
13181	xorl	%edi,%ecx
13182	andl	12(%esp),%edx
13183	movl	%eax,24(%esp)
13184	orl	%esi,%edx
13185	rorxl	$2,%eax,%edi
13186	rorxl	$13,%eax,%esi
13187	leal	(%edx,%ecx,1),%edx
13188	rorxl	$22,%eax,%ecx
13189	xorl	%edi,%esi
13190	movl	28(%esp),%edi
13191	xorl	%esi,%ecx
13192	xorl	%edi,%eax
13193	addl	20(%esp),%edx
13194	andl	%eax,%ebx
13195	addl	40(%esp),%edx
13196	xorl	%edi,%ebx
13197	addl	%edx,%ecx
13198	addl	4(%esp),%edx
13199	leal	(%ebx,%ecx,1),%ebx
13200	rorxl	$6,%edx,%ecx
13201	rorxl	$11,%edx,%esi
13202	movl	%edx,4(%esp)
13203	rorxl	$25,%edx,%edi
13204	xorl	%esi,%ecx
13205	andnl	12(%esp),%edx,%esi
13206	xorl	%edi,%ecx
13207	andl	8(%esp),%edx
13208	movl	%ebx,20(%esp)
13209	orl	%esi,%edx
13210	rorxl	$2,%ebx,%edi
13211	rorxl	$13,%ebx,%esi
13212	leal	(%edx,%ecx,1),%edx
13213	rorxl	$22,%ebx,%ecx
13214	xorl	%edi,%esi
13215	movl	24(%esp),%edi
13216	xorl	%esi,%ecx
13217	xorl	%edi,%ebx
13218	addl	16(%esp),%edx
13219	andl	%ebx,%eax
13220	addl	44(%esp),%edx
13221	xorl	%edi,%eax
13222	addl	%edx,%ecx
13223	addl	(%esp),%edx
13224	leal	(%eax,%ecx,1),%eax
13225	rorxl	$6,%edx,%ecx
13226	rorxl	$11,%edx,%esi
13227	movl	%edx,(%esp)
13228	rorxl	$25,%edx,%edi
13229	xorl	%esi,%ecx
13230	andnl	8(%esp),%edx,%esi
13231	xorl	%edi,%ecx
13232	andl	4(%esp),%edx
13233	movl	%eax,16(%esp)
13234	orl	%esi,%edx
13235	rorxl	$2,%eax,%edi
13236	rorxl	$13,%eax,%esi
13237	leal	(%edx,%ecx,1),%edx
13238	rorxl	$22,%eax,%ecx
13239	xorl	%edi,%esi
13240	movl	20(%esp),%edi
13241	xorl	%esi,%ecx
13242	xorl	%edi,%eax
13243	addl	12(%esp),%edx
13244	andl	%eax,%ebx
13245	addl	48(%esp),%edx
13246	xorl	%edi,%ebx
13247	addl	%edx,%ecx
13248	addl	28(%esp),%edx
13249	leal	(%ebx,%ecx,1),%ebx
13250	rorxl	$6,%edx,%ecx
13251	rorxl	$11,%edx,%esi
13252	movl	%edx,28(%esp)
13253	rorxl	$25,%edx,%edi
13254	xorl	%esi,%ecx
13255	andnl	4(%esp),%edx,%esi
13256	xorl	%edi,%ecx
13257	andl	(%esp),%edx
13258	movl	%ebx,12(%esp)
13259	orl	%esi,%edx
13260	rorxl	$2,%ebx,%edi
13261	rorxl	$13,%ebx,%esi
13262	leal	(%edx,%ecx,1),%edx
13263	rorxl	$22,%ebx,%ecx
13264	xorl	%edi,%esi
13265	movl	16(%esp),%edi
13266	xorl	%esi,%ecx
13267	xorl	%edi,%ebx
13268	addl	8(%esp),%edx
13269	andl	%ebx,%eax
13270	addl	52(%esp),%edx
13271	xorl	%edi,%eax
13272	addl	%edx,%ecx
13273	addl	24(%esp),%edx
13274	leal	(%eax,%ecx,1),%eax
13275	rorxl	$6,%edx,%ecx
13276	rorxl	$11,%edx,%esi
13277	movl	%edx,24(%esp)
13278	rorxl	$25,%edx,%edi
13279	xorl	%esi,%ecx
13280	andnl	(%esp),%edx,%esi
13281	xorl	%edi,%ecx
13282	andl	28(%esp),%edx
13283	movl	%eax,8(%esp)
13284	orl	%esi,%edx
13285	rorxl	$2,%eax,%edi
13286	rorxl	$13,%eax,%esi
13287	leal	(%edx,%ecx,1),%edx
13288	rorxl	$22,%eax,%ecx
13289	xorl	%edi,%esi
13290	movl	12(%esp),%edi
13291	xorl	%esi,%ecx
13292	xorl	%edi,%eax
13293	addl	4(%esp),%edx
13294	andl	%eax,%ebx
13295	addl	56(%esp),%edx
13296	xorl	%edi,%ebx
13297	addl	%edx,%ecx
13298	addl	20(%esp),%edx
13299	leal	(%ebx,%ecx,1),%ebx
13300	rorxl	$6,%edx,%ecx
13301	rorxl	$11,%edx,%esi
13302	movl	%edx,20(%esp)
13303	rorxl	$25,%edx,%edi
13304	xorl	%esi,%ecx
13305	andnl	28(%esp),%edx,%esi
13306	xorl	%edi,%ecx
13307	andl	24(%esp),%edx
13308	movl	%ebx,4(%esp)
13309	orl	%esi,%edx
13310	rorxl	$2,%ebx,%edi
13311	rorxl	$13,%ebx,%esi
13312	leal	(%edx,%ecx,1),%edx
13313	rorxl	$22,%ebx,%ecx
13314	xorl	%edi,%esi
13315	movl	8(%esp),%edi
13316	xorl	%esi,%ecx
13317	xorl	%edi,%ebx
13318	addl	(%esp),%edx
13319	andl	%ebx,%eax
13320	addl	60(%esp),%edx
13321	xorl	%edi,%eax
13322	addl	%edx,%ecx
13323	addl	16(%esp),%edx
13324	leal	(%eax,%ecx,1),%eax
13325	rorxl	$6,%edx,%ecx
13326	rorxl	$11,%edx,%esi
13327	movl	%edx,16(%esp)
13328	rorxl	$25,%edx,%edi
13329	xorl	%esi,%ecx
13330	andnl	24(%esp),%edx,%esi
13331	xorl	%edi,%ecx
13332	andl	20(%esp),%edx
13333	movl	%eax,(%esp)
13334	orl	%esi,%edx
13335	rorxl	$2,%eax,%edi
13336	rorxl	$13,%eax,%esi
13337	leal	(%edx,%ecx,1),%edx
13338	rorxl	$22,%eax,%ecx
13339	xorl	%edi,%esi
13340	movl	4(%esp),%edi
13341	xorl	%esi,%ecx
13342	xorl	%edi,%eax
13343	addl	28(%esp),%edx
13344	andl	%eax,%ebx
13345	addl	64(%esp),%edx
13346	xorl	%edi,%ebx
13347	addl	%edx,%ecx
13348	addl	12(%esp),%edx
13349	leal	(%ebx,%ecx,1),%ebx
13350	rorxl	$6,%edx,%ecx
13351	rorxl	$11,%edx,%esi
13352	movl	%edx,12(%esp)
13353	rorxl	$25,%edx,%edi
13354	xorl	%esi,%ecx
13355	andnl	20(%esp),%edx,%esi
13356	xorl	%edi,%ecx
13357	andl	16(%esp),%edx
13358	movl	%ebx,28(%esp)
13359	orl	%esi,%edx
13360	rorxl	$2,%ebx,%edi
13361	rorxl	$13,%ebx,%esi
13362	leal	(%edx,%ecx,1),%edx
13363	rorxl	$22,%ebx,%ecx
13364	xorl	%edi,%esi
13365	movl	(%esp),%edi
13366	xorl	%esi,%ecx
13367	xorl	%edi,%ebx
13368	addl	24(%esp),%edx
13369	andl	%ebx,%eax
13370	addl	68(%esp),%edx
13371	xorl	%edi,%eax
13372	addl	%edx,%ecx
13373	addl	8(%esp),%edx
13374	leal	(%eax,%ecx,1),%eax
13375	rorxl	$6,%edx,%ecx
13376	rorxl	$11,%edx,%esi
13377	movl	%edx,8(%esp)
13378	rorxl	$25,%edx,%edi
13379	xorl	%esi,%ecx
13380	andnl	16(%esp),%edx,%esi
13381	xorl	%edi,%ecx
13382	andl	12(%esp),%edx
13383	movl	%eax,24(%esp)
13384	orl	%esi,%edx
13385	rorxl	$2,%eax,%edi
13386	rorxl	$13,%eax,%esi
13387	leal	(%edx,%ecx,1),%edx
13388	rorxl	$22,%eax,%ecx
13389	xorl	%edi,%esi
13390	movl	28(%esp),%edi
13391	xorl	%esi,%ecx
13392	xorl	%edi,%eax
13393	addl	20(%esp),%edx
13394	andl	%eax,%ebx
13395	addl	72(%esp),%edx
13396	xorl	%edi,%ebx
13397	addl	%edx,%ecx
13398	addl	4(%esp),%edx
13399	leal	(%ebx,%ecx,1),%ebx
13400	rorxl	$6,%edx,%ecx
13401	rorxl	$11,%edx,%esi
13402	movl	%edx,4(%esp)
13403	rorxl	$25,%edx,%edi
13404	xorl	%esi,%ecx
13405	andnl	12(%esp),%edx,%esi
13406	xorl	%edi,%ecx
13407	andl	8(%esp),%edx
13408	movl	%ebx,20(%esp)
13409	orl	%esi,%edx
13410	rorxl	$2,%ebx,%edi
13411	rorxl	$13,%ebx,%esi
13412	leal	(%edx,%ecx,1),%edx
13413	rorxl	$22,%ebx,%ecx
13414	xorl	%edi,%esi
13415	movl	24(%esp),%edi
13416	xorl	%esi,%ecx
13417	xorl	%edi,%ebx
13418	addl	16(%esp),%edx
13419	andl	%ebx,%eax
13420	addl	76(%esp),%edx
13421	xorl	%edi,%eax
13422	addl	%edx,%ecx
13423	addl	(%esp),%edx
13424	leal	(%eax,%ecx,1),%eax
13425	rorxl	$6,%edx,%ecx
13426	rorxl	$11,%edx,%esi
13427	movl	%edx,(%esp)
13428	rorxl	$25,%edx,%edi
13429	xorl	%esi,%ecx
13430	andnl	8(%esp),%edx,%esi
13431	xorl	%edi,%ecx
13432	andl	4(%esp),%edx
13433	movl	%eax,16(%esp)
13434	orl	%esi,%edx
13435	rorxl	$2,%eax,%edi
13436	rorxl	$13,%eax,%esi
13437	leal	(%edx,%ecx,1),%edx
13438	rorxl	$22,%eax,%ecx
13439	xorl	%edi,%esi
13440	movl	20(%esp),%edi
13441	xorl	%esi,%ecx
13442	xorl	%edi,%eax
13443	addl	12(%esp),%edx
13444	andl	%eax,%ebx
13445	addl	80(%esp),%edx
13446	xorl	%edi,%ebx
13447	addl	%edx,%ecx
13448	addl	28(%esp),%edx
13449	leal	(%ebx,%ecx,1),%ebx
13450	rorxl	$6,%edx,%ecx
13451	rorxl	$11,%edx,%esi
13452	movl	%edx,28(%esp)
13453	rorxl	$25,%edx,%edi
13454	xorl	%esi,%ecx
13455	andnl	4(%esp),%edx,%esi
13456	xorl	%edi,%ecx
13457	andl	(%esp),%edx
13458	movl	%ebx,12(%esp)
13459	orl	%esi,%edx
13460	rorxl	$2,%ebx,%edi
13461	rorxl	$13,%ebx,%esi
13462	leal	(%edx,%ecx,1),%edx
13463	rorxl	$22,%ebx,%ecx
13464	xorl	%edi,%esi
13465	movl	16(%esp),%edi
13466	xorl	%esi,%ecx
13467	xorl	%edi,%ebx
13468	addl	8(%esp),%edx
13469	andl	%ebx,%eax
13470	addl	84(%esp),%edx
13471	xorl	%edi,%eax
13472	addl	%edx,%ecx
13473	addl	24(%esp),%edx
13474	leal	(%eax,%ecx,1),%eax
13475	rorxl	$6,%edx,%ecx
13476	rorxl	$11,%edx,%esi
13477	movl	%edx,24(%esp)
13478	rorxl	$25,%edx,%edi
13479	xorl	%esi,%ecx
13480	andnl	(%esp),%edx,%esi
13481	xorl	%edi,%ecx
13482	andl	28(%esp),%edx
13483	movl	%eax,8(%esp)
13484	orl	%esi,%edx
13485	rorxl	$2,%eax,%edi
13486	rorxl	$13,%eax,%esi
13487	leal	(%edx,%ecx,1),%edx
13488	rorxl	$22,%eax,%ecx
13489	xorl	%edi,%esi
13490	movl	12(%esp),%edi
13491	xorl	%esi,%ecx
13492	xorl	%edi,%eax
13493	addl	4(%esp),%edx
13494	andl	%eax,%ebx
13495	addl	88(%esp),%edx
13496	xorl	%edi,%ebx
13497	addl	%edx,%ecx
13498	addl	20(%esp),%edx
13499	leal	(%ebx,%ecx,1),%ebx
13500	rorxl	$6,%edx,%ecx
13501	rorxl	$11,%edx,%esi
13502	movl	%edx,20(%esp)
13503	rorxl	$25,%edx,%edi
13504	xorl	%esi,%ecx
13505	andnl	28(%esp),%edx,%esi
13506	xorl	%edi,%ecx
13507	andl	24(%esp),%edx
13508	movl	%ebx,4(%esp)
13509	orl	%esi,%edx
13510	rorxl	$2,%ebx,%edi
13511	rorxl	$13,%ebx,%esi
13512	leal	(%edx,%ecx,1),%edx
13513	rorxl	$22,%ebx,%ecx
13514	xorl	%edi,%esi
13515	movl	8(%esp),%edi
13516	xorl	%esi,%ecx
13517	xorl	%edi,%ebx
13518	addl	(%esp),%edx
13519	andl	%ebx,%eax
13520	addl	92(%esp),%edx
13521	xorl	%edi,%eax
13522	addl	%edx,%ecx
13523	addl	16(%esp),%edx
13524	leal	(%eax,%ecx,1),%eax
13525	movl	96(%esp),%esi
13526	xorl	%edi,%ebx
13527	movl	12(%esp),%ecx
13528	addl	(%esi),%eax
13529	addl	4(%esi),%ebx
13530	addl	8(%esi),%edi
13531	addl	12(%esi),%ecx
13532	movl	%eax,(%esi)
13533	movl	%ebx,4(%esi)
13534	movl	%edi,8(%esi)
13535	movl	%ecx,12(%esi)
13536	movl	%ebx,4(%esp)
13537	xorl	%edi,%ebx
13538	movl	%edi,8(%esp)
13539	movl	%ecx,12(%esp)
13540	movl	20(%esp),%edi
13541	movl	24(%esp),%ecx
13542	addl	16(%esi),%edx
13543	addl	20(%esi),%edi
13544	addl	24(%esi),%ecx
13545	movl	%edx,16(%esi)
13546	movl	%edi,20(%esi)
13547	movl	%edi,20(%esp)
13548	movl	28(%esp),%edi
13549	movl	%ecx,24(%esi)
13550	addl	28(%esi),%edi
13551	movl	%ecx,24(%esp)
13552	movl	%edi,28(%esi)
13553	movl	%edi,28(%esp)
13554	movl	100(%esp),%edi
13555	vmovdqa	64(%ebp),%xmm7
13556	subl	$192,%ebp
13557	cmpl	104(%esp),%edi
13558	jb	.L017grand_avx_bmi
13559	movl	108(%esp),%esp
13560	vzeroall
13561	popl	%edi
13562	popl	%esi
13563	popl	%ebx
13564	popl	%ebp
13565	ret
13566.size	sha256_block_data_order,.-.L_sha256_block_data_order_begin
13567.comm	OPENSSL_ia32cap_P,16,4
13568#endif
13569