xref: /freebsd/sys/crypto/openssl/i386/sha256-586.S (revision 2ad756a6)
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	#ifdef __CET__
10
11.byte	243,15,30,251
12	#endif
13
14	pushl	%ebp
15	pushl	%ebx
16	pushl	%esi
17	pushl	%edi
18	movl	20(%esp),%esi
19	movl	24(%esp),%edi
20	movl	28(%esp),%eax
21	movl	%esp,%ebx
22	call	.L000pic_point
23.L000pic_point:
24	popl	%ebp
25	leal	.L001K256-.L000pic_point(%ebp),%ebp
26	subl	$16,%esp
27	andl	$-64,%esp
28	shll	$6,%eax
29	addl	%edi,%eax
30	movl	%esi,(%esp)
31	movl	%edi,4(%esp)
32	movl	%eax,8(%esp)
33	movl	%ebx,12(%esp)
34	leal	OPENSSL_ia32cap_P-.L001K256(%ebp),%edx
35	movl	(%edx),%ecx
36	movl	4(%edx),%ebx
37	testl	$1048576,%ecx
38	jnz	.L002loop
39	movl	8(%edx),%edx
40	testl	$16777216,%ecx
41	jz	.L003no_xmm
42	andl	$1073741824,%ecx
43	andl	$268435968,%ebx
44	testl	$536870912,%edx
45	jnz	.L004shaext
46	orl	%ebx,%ecx
47	andl	$1342177280,%ecx
48	cmpl	$1342177280,%ecx
49	je	.L005AVX
50	testl	$512,%ebx
51	jnz	.L006SSSE3
52.L003no_xmm:
53	subl	%edi,%eax
54	cmpl	$256,%eax
55	jae	.L007unrolled
56	jmp	.L002loop
57.align	16
58.L002loop:
59	movl	(%edi),%eax
60	movl	4(%edi),%ebx
61	movl	8(%edi),%ecx
62	bswap	%eax
63	movl	12(%edi),%edx
64	bswap	%ebx
65	pushl	%eax
66	bswap	%ecx
67	pushl	%ebx
68	bswap	%edx
69	pushl	%ecx
70	pushl	%edx
71	movl	16(%edi),%eax
72	movl	20(%edi),%ebx
73	movl	24(%edi),%ecx
74	bswap	%eax
75	movl	28(%edi),%edx
76	bswap	%ebx
77	pushl	%eax
78	bswap	%ecx
79	pushl	%ebx
80	bswap	%edx
81	pushl	%ecx
82	pushl	%edx
83	movl	32(%edi),%eax
84	movl	36(%edi),%ebx
85	movl	40(%edi),%ecx
86	bswap	%eax
87	movl	44(%edi),%edx
88	bswap	%ebx
89	pushl	%eax
90	bswap	%ecx
91	pushl	%ebx
92	bswap	%edx
93	pushl	%ecx
94	pushl	%edx
95	movl	48(%edi),%eax
96	movl	52(%edi),%ebx
97	movl	56(%edi),%ecx
98	bswap	%eax
99	movl	60(%edi),%edx
100	bswap	%ebx
101	pushl	%eax
102	bswap	%ecx
103	pushl	%ebx
104	bswap	%edx
105	pushl	%ecx
106	pushl	%edx
107	addl	$64,%edi
108	leal	-36(%esp),%esp
109	movl	%edi,104(%esp)
110	movl	(%esi),%eax
111	movl	4(%esi),%ebx
112	movl	8(%esi),%ecx
113	movl	12(%esi),%edi
114	movl	%ebx,8(%esp)
115	xorl	%ecx,%ebx
116	movl	%ecx,12(%esp)
117	movl	%edi,16(%esp)
118	movl	%ebx,(%esp)
119	movl	16(%esi),%edx
120	movl	20(%esi),%ebx
121	movl	24(%esi),%ecx
122	movl	28(%esi),%edi
123	movl	%ebx,24(%esp)
124	movl	%ecx,28(%esp)
125	movl	%edi,32(%esp)
126.align	16
127.L00800_15:
128	movl	%edx,%ecx
129	movl	24(%esp),%esi
130	rorl	$14,%ecx
131	movl	28(%esp),%edi
132	xorl	%edx,%ecx
133	xorl	%edi,%esi
134	movl	96(%esp),%ebx
135	rorl	$5,%ecx
136	andl	%edx,%esi
137	movl	%edx,20(%esp)
138	xorl	%ecx,%edx
139	addl	32(%esp),%ebx
140	xorl	%edi,%esi
141	rorl	$6,%edx
142	movl	%eax,%ecx
143	addl	%esi,%ebx
144	rorl	$9,%ecx
145	addl	%edx,%ebx
146	movl	8(%esp),%edi
147	xorl	%eax,%ecx
148	movl	%eax,4(%esp)
149	leal	-4(%esp),%esp
150	rorl	$11,%ecx
151	movl	(%ebp),%esi
152	xorl	%eax,%ecx
153	movl	20(%esp),%edx
154	xorl	%edi,%eax
155	rorl	$2,%ecx
156	addl	%esi,%ebx
157	movl	%eax,(%esp)
158	addl	%ebx,%edx
159	andl	4(%esp),%eax
160	addl	%ecx,%ebx
161	xorl	%edi,%eax
162	addl	$4,%ebp
163	addl	%ebx,%eax
164	cmpl	$3248222580,%esi
165	jne	.L00800_15
166	movl	156(%esp),%ecx
167	jmp	.L00916_63
168.align	16
169.L00916_63:
170	movl	%ecx,%ebx
171	movl	104(%esp),%esi
172	rorl	$11,%ecx
173	movl	%esi,%edi
174	rorl	$2,%esi
175	xorl	%ebx,%ecx
176	shrl	$3,%ebx
177	rorl	$7,%ecx
178	xorl	%edi,%esi
179	xorl	%ecx,%ebx
180	rorl	$17,%esi
181	addl	160(%esp),%ebx
182	shrl	$10,%edi
183	addl	124(%esp),%ebx
184	movl	%edx,%ecx
185	xorl	%esi,%edi
186	movl	24(%esp),%esi
187	rorl	$14,%ecx
188	addl	%edi,%ebx
189	movl	28(%esp),%edi
190	xorl	%edx,%ecx
191	xorl	%edi,%esi
192	movl	%ebx,96(%esp)
193	rorl	$5,%ecx
194	andl	%edx,%esi
195	movl	%edx,20(%esp)
196	xorl	%ecx,%edx
197	addl	32(%esp),%ebx
198	xorl	%edi,%esi
199	rorl	$6,%edx
200	movl	%eax,%ecx
201	addl	%esi,%ebx
202	rorl	$9,%ecx
203	addl	%edx,%ebx
204	movl	8(%esp),%edi
205	xorl	%eax,%ecx
206	movl	%eax,4(%esp)
207	leal	-4(%esp),%esp
208	rorl	$11,%ecx
209	movl	(%ebp),%esi
210	xorl	%eax,%ecx
211	movl	20(%esp),%edx
212	xorl	%edi,%eax
213	rorl	$2,%ecx
214	addl	%esi,%ebx
215	movl	%eax,(%esp)
216	addl	%ebx,%edx
217	andl	4(%esp),%eax
218	addl	%ecx,%ebx
219	xorl	%edi,%eax
220	movl	156(%esp),%ecx
221	addl	$4,%ebp
222	addl	%ebx,%eax
223	cmpl	$3329325298,%esi
224	jne	.L00916_63
225	movl	356(%esp),%esi
226	movl	8(%esp),%ebx
227	movl	16(%esp),%ecx
228	addl	(%esi),%eax
229	addl	4(%esi),%ebx
230	addl	8(%esi),%edi
231	addl	12(%esi),%ecx
232	movl	%eax,(%esi)
233	movl	%ebx,4(%esi)
234	movl	%edi,8(%esi)
235	movl	%ecx,12(%esi)
236	movl	24(%esp),%eax
237	movl	28(%esp),%ebx
238	movl	32(%esp),%ecx
239	movl	360(%esp),%edi
240	addl	16(%esi),%edx
241	addl	20(%esi),%eax
242	addl	24(%esi),%ebx
243	addl	28(%esi),%ecx
244	movl	%edx,16(%esi)
245	movl	%eax,20(%esi)
246	movl	%ebx,24(%esi)
247	movl	%ecx,28(%esi)
248	leal	356(%esp),%esp
249	subl	$256,%ebp
250	cmpl	8(%esp),%edi
251	jb	.L002loop
252	movl	12(%esp),%esp
253	popl	%edi
254	popl	%esi
255	popl	%ebx
256	popl	%ebp
257	ret
258.align	64
259.L001K256:
260.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
261.long	66051,67438087,134810123,202182159
262.byte	83,72,65,50,53,54,32,98,108,111,99,107,32,116,114,97
263.byte	110,115,102,111,114,109,32,102,111,114,32,120,56,54,44,32
264.byte	67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97
265.byte	112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103
266.byte	62,0
267.align	16
268.L007unrolled:
269	leal	-96(%esp),%esp
270	movl	(%esi),%eax
271	movl	4(%esi),%ebp
272	movl	8(%esi),%ecx
273	movl	12(%esi),%ebx
274	movl	%ebp,4(%esp)
275	xorl	%ecx,%ebp
276	movl	%ecx,8(%esp)
277	movl	%ebx,12(%esp)
278	movl	16(%esi),%edx
279	movl	20(%esi),%ebx
280	movl	24(%esi),%ecx
281	movl	28(%esi),%esi
282	movl	%ebx,20(%esp)
283	movl	%ecx,24(%esp)
284	movl	%esi,28(%esp)
285	jmp	.L010grand_loop
286.align	16
287.L010grand_loop:
288	movl	(%edi),%ebx
289	movl	4(%edi),%ecx
290	bswap	%ebx
291	movl	8(%edi),%esi
292	bswap	%ecx
293	movl	%ebx,32(%esp)
294	bswap	%esi
295	movl	%ecx,36(%esp)
296	movl	%esi,40(%esp)
297	movl	12(%edi),%ebx
298	movl	16(%edi),%ecx
299	bswap	%ebx
300	movl	20(%edi),%esi
301	bswap	%ecx
302	movl	%ebx,44(%esp)
303	bswap	%esi
304	movl	%ecx,48(%esp)
305	movl	%esi,52(%esp)
306	movl	24(%edi),%ebx
307	movl	28(%edi),%ecx
308	bswap	%ebx
309	movl	32(%edi),%esi
310	bswap	%ecx
311	movl	%ebx,56(%esp)
312	bswap	%esi
313	movl	%ecx,60(%esp)
314	movl	%esi,64(%esp)
315	movl	36(%edi),%ebx
316	movl	40(%edi),%ecx
317	bswap	%ebx
318	movl	44(%edi),%esi
319	bswap	%ecx
320	movl	%ebx,68(%esp)
321	bswap	%esi
322	movl	%ecx,72(%esp)
323	movl	%esi,76(%esp)
324	movl	48(%edi),%ebx
325	movl	52(%edi),%ecx
326	bswap	%ebx
327	movl	56(%edi),%esi
328	bswap	%ecx
329	movl	%ebx,80(%esp)
330	bswap	%esi
331	movl	%ecx,84(%esp)
332	movl	%esi,88(%esp)
333	movl	60(%edi),%ebx
334	addl	$64,%edi
335	bswap	%ebx
336	movl	%edi,100(%esp)
337	movl	%ebx,92(%esp)
338	movl	%edx,%ecx
339	movl	20(%esp),%esi
340	rorl	$14,%edx
341	movl	24(%esp),%edi
342	xorl	%ecx,%edx
343	movl	32(%esp),%ebx
344	xorl	%edi,%esi
345	rorl	$5,%edx
346	andl	%ecx,%esi
347	movl	%ecx,16(%esp)
348	xorl	%ecx,%edx
349	addl	28(%esp),%ebx
350	xorl	%esi,%edi
351	rorl	$6,%edx
352	movl	%eax,%ecx
353	addl	%edi,%ebx
354	rorl	$9,%ecx
355	movl	%eax,%esi
356	movl	4(%esp),%edi
357	xorl	%eax,%ecx
358	movl	%eax,(%esp)
359	xorl	%edi,%eax
360	rorl	$11,%ecx
361	andl	%eax,%ebp
362	leal	1116352408(%ebx,%edx,1),%edx
363	xorl	%esi,%ecx
364	xorl	%edi,%ebp
365	rorl	$2,%ecx
366	addl	%edx,%ebp
367	addl	12(%esp),%edx
368	addl	%ecx,%ebp
369	movl	%edx,%esi
370	movl	16(%esp),%ecx
371	rorl	$14,%edx
372	movl	20(%esp),%edi
373	xorl	%esi,%edx
374	movl	36(%esp),%ebx
375	xorl	%edi,%ecx
376	rorl	$5,%edx
377	andl	%esi,%ecx
378	movl	%esi,12(%esp)
379	xorl	%esi,%edx
380	addl	24(%esp),%ebx
381	xorl	%ecx,%edi
382	rorl	$6,%edx
383	movl	%ebp,%esi
384	addl	%edi,%ebx
385	rorl	$9,%esi
386	movl	%ebp,%ecx
387	movl	(%esp),%edi
388	xorl	%ebp,%esi
389	movl	%ebp,28(%esp)
390	xorl	%edi,%ebp
391	rorl	$11,%esi
392	andl	%ebp,%eax
393	leal	1899447441(%ebx,%edx,1),%edx
394	xorl	%ecx,%esi
395	xorl	%edi,%eax
396	rorl	$2,%esi
397	addl	%edx,%eax
398	addl	8(%esp),%edx
399	addl	%esi,%eax
400	movl	%edx,%ecx
401	movl	12(%esp),%esi
402	rorl	$14,%edx
403	movl	16(%esp),%edi
404	xorl	%ecx,%edx
405	movl	40(%esp),%ebx
406	xorl	%edi,%esi
407	rorl	$5,%edx
408	andl	%ecx,%esi
409	movl	%ecx,8(%esp)
410	xorl	%ecx,%edx
411	addl	20(%esp),%ebx
412	xorl	%esi,%edi
413	rorl	$6,%edx
414	movl	%eax,%ecx
415	addl	%edi,%ebx
416	rorl	$9,%ecx
417	movl	%eax,%esi
418	movl	28(%esp),%edi
419	xorl	%eax,%ecx
420	movl	%eax,24(%esp)
421	xorl	%edi,%eax
422	rorl	$11,%ecx
423	andl	%eax,%ebp
424	leal	3049323471(%ebx,%edx,1),%edx
425	xorl	%esi,%ecx
426	xorl	%edi,%ebp
427	rorl	$2,%ecx
428	addl	%edx,%ebp
429	addl	4(%esp),%edx
430	addl	%ecx,%ebp
431	movl	%edx,%esi
432	movl	8(%esp),%ecx
433	rorl	$14,%edx
434	movl	12(%esp),%edi
435	xorl	%esi,%edx
436	movl	44(%esp),%ebx
437	xorl	%edi,%ecx
438	rorl	$5,%edx
439	andl	%esi,%ecx
440	movl	%esi,4(%esp)
441	xorl	%esi,%edx
442	addl	16(%esp),%ebx
443	xorl	%ecx,%edi
444	rorl	$6,%edx
445	movl	%ebp,%esi
446	addl	%edi,%ebx
447	rorl	$9,%esi
448	movl	%ebp,%ecx
449	movl	24(%esp),%edi
450	xorl	%ebp,%esi
451	movl	%ebp,20(%esp)
452	xorl	%edi,%ebp
453	rorl	$11,%esi
454	andl	%ebp,%eax
455	leal	3921009573(%ebx,%edx,1),%edx
456	xorl	%ecx,%esi
457	xorl	%edi,%eax
458	rorl	$2,%esi
459	addl	%edx,%eax
460	addl	(%esp),%edx
461	addl	%esi,%eax
462	movl	%edx,%ecx
463	movl	4(%esp),%esi
464	rorl	$14,%edx
465	movl	8(%esp),%edi
466	xorl	%ecx,%edx
467	movl	48(%esp),%ebx
468	xorl	%edi,%esi
469	rorl	$5,%edx
470	andl	%ecx,%esi
471	movl	%ecx,(%esp)
472	xorl	%ecx,%edx
473	addl	12(%esp),%ebx
474	xorl	%esi,%edi
475	rorl	$6,%edx
476	movl	%eax,%ecx
477	addl	%edi,%ebx
478	rorl	$9,%ecx
479	movl	%eax,%esi
480	movl	20(%esp),%edi
481	xorl	%eax,%ecx
482	movl	%eax,16(%esp)
483	xorl	%edi,%eax
484	rorl	$11,%ecx
485	andl	%eax,%ebp
486	leal	961987163(%ebx,%edx,1),%edx
487	xorl	%esi,%ecx
488	xorl	%edi,%ebp
489	rorl	$2,%ecx
490	addl	%edx,%ebp
491	addl	28(%esp),%edx
492	addl	%ecx,%ebp
493	movl	%edx,%esi
494	movl	(%esp),%ecx
495	rorl	$14,%edx
496	movl	4(%esp),%edi
497	xorl	%esi,%edx
498	movl	52(%esp),%ebx
499	xorl	%edi,%ecx
500	rorl	$5,%edx
501	andl	%esi,%ecx
502	movl	%esi,28(%esp)
503	xorl	%esi,%edx
504	addl	8(%esp),%ebx
505	xorl	%ecx,%edi
506	rorl	$6,%edx
507	movl	%ebp,%esi
508	addl	%edi,%ebx
509	rorl	$9,%esi
510	movl	%ebp,%ecx
511	movl	16(%esp),%edi
512	xorl	%ebp,%esi
513	movl	%ebp,12(%esp)
514	xorl	%edi,%ebp
515	rorl	$11,%esi
516	andl	%ebp,%eax
517	leal	1508970993(%ebx,%edx,1),%edx
518	xorl	%ecx,%esi
519	xorl	%edi,%eax
520	rorl	$2,%esi
521	addl	%edx,%eax
522	addl	24(%esp),%edx
523	addl	%esi,%eax
524	movl	%edx,%ecx
525	movl	28(%esp),%esi
526	rorl	$14,%edx
527	movl	(%esp),%edi
528	xorl	%ecx,%edx
529	movl	56(%esp),%ebx
530	xorl	%edi,%esi
531	rorl	$5,%edx
532	andl	%ecx,%esi
533	movl	%ecx,24(%esp)
534	xorl	%ecx,%edx
535	addl	4(%esp),%ebx
536	xorl	%esi,%edi
537	rorl	$6,%edx
538	movl	%eax,%ecx
539	addl	%edi,%ebx
540	rorl	$9,%ecx
541	movl	%eax,%esi
542	movl	12(%esp),%edi
543	xorl	%eax,%ecx
544	movl	%eax,8(%esp)
545	xorl	%edi,%eax
546	rorl	$11,%ecx
547	andl	%eax,%ebp
548	leal	2453635748(%ebx,%edx,1),%edx
549	xorl	%esi,%ecx
550	xorl	%edi,%ebp
551	rorl	$2,%ecx
552	addl	%edx,%ebp
553	addl	20(%esp),%edx
554	addl	%ecx,%ebp
555	movl	%edx,%esi
556	movl	24(%esp),%ecx
557	rorl	$14,%edx
558	movl	28(%esp),%edi
559	xorl	%esi,%edx
560	movl	60(%esp),%ebx
561	xorl	%edi,%ecx
562	rorl	$5,%edx
563	andl	%esi,%ecx
564	movl	%esi,20(%esp)
565	xorl	%esi,%edx
566	addl	(%esp),%ebx
567	xorl	%ecx,%edi
568	rorl	$6,%edx
569	movl	%ebp,%esi
570	addl	%edi,%ebx
571	rorl	$9,%esi
572	movl	%ebp,%ecx
573	movl	8(%esp),%edi
574	xorl	%ebp,%esi
575	movl	%ebp,4(%esp)
576	xorl	%edi,%ebp
577	rorl	$11,%esi
578	andl	%ebp,%eax
579	leal	2870763221(%ebx,%edx,1),%edx
580	xorl	%ecx,%esi
581	xorl	%edi,%eax
582	rorl	$2,%esi
583	addl	%edx,%eax
584	addl	16(%esp),%edx
585	addl	%esi,%eax
586	movl	%edx,%ecx
587	movl	20(%esp),%esi
588	rorl	$14,%edx
589	movl	24(%esp),%edi
590	xorl	%ecx,%edx
591	movl	64(%esp),%ebx
592	xorl	%edi,%esi
593	rorl	$5,%edx
594	andl	%ecx,%esi
595	movl	%ecx,16(%esp)
596	xorl	%ecx,%edx
597	addl	28(%esp),%ebx
598	xorl	%esi,%edi
599	rorl	$6,%edx
600	movl	%eax,%ecx
601	addl	%edi,%ebx
602	rorl	$9,%ecx
603	movl	%eax,%esi
604	movl	4(%esp),%edi
605	xorl	%eax,%ecx
606	movl	%eax,(%esp)
607	xorl	%edi,%eax
608	rorl	$11,%ecx
609	andl	%eax,%ebp
610	leal	3624381080(%ebx,%edx,1),%edx
611	xorl	%esi,%ecx
612	xorl	%edi,%ebp
613	rorl	$2,%ecx
614	addl	%edx,%ebp
615	addl	12(%esp),%edx
616	addl	%ecx,%ebp
617	movl	%edx,%esi
618	movl	16(%esp),%ecx
619	rorl	$14,%edx
620	movl	20(%esp),%edi
621	xorl	%esi,%edx
622	movl	68(%esp),%ebx
623	xorl	%edi,%ecx
624	rorl	$5,%edx
625	andl	%esi,%ecx
626	movl	%esi,12(%esp)
627	xorl	%esi,%edx
628	addl	24(%esp),%ebx
629	xorl	%ecx,%edi
630	rorl	$6,%edx
631	movl	%ebp,%esi
632	addl	%edi,%ebx
633	rorl	$9,%esi
634	movl	%ebp,%ecx
635	movl	(%esp),%edi
636	xorl	%ebp,%esi
637	movl	%ebp,28(%esp)
638	xorl	%edi,%ebp
639	rorl	$11,%esi
640	andl	%ebp,%eax
641	leal	310598401(%ebx,%edx,1),%edx
642	xorl	%ecx,%esi
643	xorl	%edi,%eax
644	rorl	$2,%esi
645	addl	%edx,%eax
646	addl	8(%esp),%edx
647	addl	%esi,%eax
648	movl	%edx,%ecx
649	movl	12(%esp),%esi
650	rorl	$14,%edx
651	movl	16(%esp),%edi
652	xorl	%ecx,%edx
653	movl	72(%esp),%ebx
654	xorl	%edi,%esi
655	rorl	$5,%edx
656	andl	%ecx,%esi
657	movl	%ecx,8(%esp)
658	xorl	%ecx,%edx
659	addl	20(%esp),%ebx
660	xorl	%esi,%edi
661	rorl	$6,%edx
662	movl	%eax,%ecx
663	addl	%edi,%ebx
664	rorl	$9,%ecx
665	movl	%eax,%esi
666	movl	28(%esp),%edi
667	xorl	%eax,%ecx
668	movl	%eax,24(%esp)
669	xorl	%edi,%eax
670	rorl	$11,%ecx
671	andl	%eax,%ebp
672	leal	607225278(%ebx,%edx,1),%edx
673	xorl	%esi,%ecx
674	xorl	%edi,%ebp
675	rorl	$2,%ecx
676	addl	%edx,%ebp
677	addl	4(%esp),%edx
678	addl	%ecx,%ebp
679	movl	%edx,%esi
680	movl	8(%esp),%ecx
681	rorl	$14,%edx
682	movl	12(%esp),%edi
683	xorl	%esi,%edx
684	movl	76(%esp),%ebx
685	xorl	%edi,%ecx
686	rorl	$5,%edx
687	andl	%esi,%ecx
688	movl	%esi,4(%esp)
689	xorl	%esi,%edx
690	addl	16(%esp),%ebx
691	xorl	%ecx,%edi
692	rorl	$6,%edx
693	movl	%ebp,%esi
694	addl	%edi,%ebx
695	rorl	$9,%esi
696	movl	%ebp,%ecx
697	movl	24(%esp),%edi
698	xorl	%ebp,%esi
699	movl	%ebp,20(%esp)
700	xorl	%edi,%ebp
701	rorl	$11,%esi
702	andl	%ebp,%eax
703	leal	1426881987(%ebx,%edx,1),%edx
704	xorl	%ecx,%esi
705	xorl	%edi,%eax
706	rorl	$2,%esi
707	addl	%edx,%eax
708	addl	(%esp),%edx
709	addl	%esi,%eax
710	movl	%edx,%ecx
711	movl	4(%esp),%esi
712	rorl	$14,%edx
713	movl	8(%esp),%edi
714	xorl	%ecx,%edx
715	movl	80(%esp),%ebx
716	xorl	%edi,%esi
717	rorl	$5,%edx
718	andl	%ecx,%esi
719	movl	%ecx,(%esp)
720	xorl	%ecx,%edx
721	addl	12(%esp),%ebx
722	xorl	%esi,%edi
723	rorl	$6,%edx
724	movl	%eax,%ecx
725	addl	%edi,%ebx
726	rorl	$9,%ecx
727	movl	%eax,%esi
728	movl	20(%esp),%edi
729	xorl	%eax,%ecx
730	movl	%eax,16(%esp)
731	xorl	%edi,%eax
732	rorl	$11,%ecx
733	andl	%eax,%ebp
734	leal	1925078388(%ebx,%edx,1),%edx
735	xorl	%esi,%ecx
736	xorl	%edi,%ebp
737	rorl	$2,%ecx
738	addl	%edx,%ebp
739	addl	28(%esp),%edx
740	addl	%ecx,%ebp
741	movl	%edx,%esi
742	movl	(%esp),%ecx
743	rorl	$14,%edx
744	movl	4(%esp),%edi
745	xorl	%esi,%edx
746	movl	84(%esp),%ebx
747	xorl	%edi,%ecx
748	rorl	$5,%edx
749	andl	%esi,%ecx
750	movl	%esi,28(%esp)
751	xorl	%esi,%edx
752	addl	8(%esp),%ebx
753	xorl	%ecx,%edi
754	rorl	$6,%edx
755	movl	%ebp,%esi
756	addl	%edi,%ebx
757	rorl	$9,%esi
758	movl	%ebp,%ecx
759	movl	16(%esp),%edi
760	xorl	%ebp,%esi
761	movl	%ebp,12(%esp)
762	xorl	%edi,%ebp
763	rorl	$11,%esi
764	andl	%ebp,%eax
765	leal	2162078206(%ebx,%edx,1),%edx
766	xorl	%ecx,%esi
767	xorl	%edi,%eax
768	rorl	$2,%esi
769	addl	%edx,%eax
770	addl	24(%esp),%edx
771	addl	%esi,%eax
772	movl	%edx,%ecx
773	movl	28(%esp),%esi
774	rorl	$14,%edx
775	movl	(%esp),%edi
776	xorl	%ecx,%edx
777	movl	88(%esp),%ebx
778	xorl	%edi,%esi
779	rorl	$5,%edx
780	andl	%ecx,%esi
781	movl	%ecx,24(%esp)
782	xorl	%ecx,%edx
783	addl	4(%esp),%ebx
784	xorl	%esi,%edi
785	rorl	$6,%edx
786	movl	%eax,%ecx
787	addl	%edi,%ebx
788	rorl	$9,%ecx
789	movl	%eax,%esi
790	movl	12(%esp),%edi
791	xorl	%eax,%ecx
792	movl	%eax,8(%esp)
793	xorl	%edi,%eax
794	rorl	$11,%ecx
795	andl	%eax,%ebp
796	leal	2614888103(%ebx,%edx,1),%edx
797	xorl	%esi,%ecx
798	xorl	%edi,%ebp
799	rorl	$2,%ecx
800	addl	%edx,%ebp
801	addl	20(%esp),%edx
802	addl	%ecx,%ebp
803	movl	%edx,%esi
804	movl	24(%esp),%ecx
805	rorl	$14,%edx
806	movl	28(%esp),%edi
807	xorl	%esi,%edx
808	movl	92(%esp),%ebx
809	xorl	%edi,%ecx
810	rorl	$5,%edx
811	andl	%esi,%ecx
812	movl	%esi,20(%esp)
813	xorl	%esi,%edx
814	addl	(%esp),%ebx
815	xorl	%ecx,%edi
816	rorl	$6,%edx
817	movl	%ebp,%esi
818	addl	%edi,%ebx
819	rorl	$9,%esi
820	movl	%ebp,%ecx
821	movl	8(%esp),%edi
822	xorl	%ebp,%esi
823	movl	%ebp,4(%esp)
824	xorl	%edi,%ebp
825	rorl	$11,%esi
826	andl	%ebp,%eax
827	leal	3248222580(%ebx,%edx,1),%edx
828	xorl	%ecx,%esi
829	xorl	%edi,%eax
830	movl	36(%esp),%ecx
831	rorl	$2,%esi
832	addl	%edx,%eax
833	addl	16(%esp),%edx
834	addl	%esi,%eax
835	movl	88(%esp),%esi
836	movl	%ecx,%ebx
837	rorl	$11,%ecx
838	movl	%esi,%edi
839	rorl	$2,%esi
840	xorl	%ebx,%ecx
841	shrl	$3,%ebx
842	rorl	$7,%ecx
843	xorl	%edi,%esi
844	xorl	%ecx,%ebx
845	rorl	$17,%esi
846	addl	32(%esp),%ebx
847	shrl	$10,%edi
848	addl	68(%esp),%ebx
849	movl	%edx,%ecx
850	xorl	%esi,%edi
851	movl	20(%esp),%esi
852	rorl	$14,%edx
853	addl	%edi,%ebx
854	movl	24(%esp),%edi
855	xorl	%ecx,%edx
856	movl	%ebx,32(%esp)
857	xorl	%edi,%esi
858	rorl	$5,%edx
859	andl	%ecx,%esi
860	movl	%ecx,16(%esp)
861	xorl	%ecx,%edx
862	addl	28(%esp),%ebx
863	xorl	%esi,%edi
864	rorl	$6,%edx
865	movl	%eax,%ecx
866	addl	%edi,%ebx
867	rorl	$9,%ecx
868	movl	%eax,%esi
869	movl	4(%esp),%edi
870	xorl	%eax,%ecx
871	movl	%eax,(%esp)
872	xorl	%edi,%eax
873	rorl	$11,%ecx
874	andl	%eax,%ebp
875	leal	3835390401(%ebx,%edx,1),%edx
876	xorl	%esi,%ecx
877	xorl	%edi,%ebp
878	movl	40(%esp),%esi
879	rorl	$2,%ecx
880	addl	%edx,%ebp
881	addl	12(%esp),%edx
882	addl	%ecx,%ebp
883	movl	92(%esp),%ecx
884	movl	%esi,%ebx
885	rorl	$11,%esi
886	movl	%ecx,%edi
887	rorl	$2,%ecx
888	xorl	%ebx,%esi
889	shrl	$3,%ebx
890	rorl	$7,%esi
891	xorl	%edi,%ecx
892	xorl	%esi,%ebx
893	rorl	$17,%ecx
894	addl	36(%esp),%ebx
895	shrl	$10,%edi
896	addl	72(%esp),%ebx
897	movl	%edx,%esi
898	xorl	%ecx,%edi
899	movl	16(%esp),%ecx
900	rorl	$14,%edx
901	addl	%edi,%ebx
902	movl	20(%esp),%edi
903	xorl	%esi,%edx
904	movl	%ebx,36(%esp)
905	xorl	%edi,%ecx
906	rorl	$5,%edx
907	andl	%esi,%ecx
908	movl	%esi,12(%esp)
909	xorl	%esi,%edx
910	addl	24(%esp),%ebx
911	xorl	%ecx,%edi
912	rorl	$6,%edx
913	movl	%ebp,%esi
914	addl	%edi,%ebx
915	rorl	$9,%esi
916	movl	%ebp,%ecx
917	movl	(%esp),%edi
918	xorl	%ebp,%esi
919	movl	%ebp,28(%esp)
920	xorl	%edi,%ebp
921	rorl	$11,%esi
922	andl	%ebp,%eax
923	leal	4022224774(%ebx,%edx,1),%edx
924	xorl	%ecx,%esi
925	xorl	%edi,%eax
926	movl	44(%esp),%ecx
927	rorl	$2,%esi
928	addl	%edx,%eax
929	addl	8(%esp),%edx
930	addl	%esi,%eax
931	movl	32(%esp),%esi
932	movl	%ecx,%ebx
933	rorl	$11,%ecx
934	movl	%esi,%edi
935	rorl	$2,%esi
936	xorl	%ebx,%ecx
937	shrl	$3,%ebx
938	rorl	$7,%ecx
939	xorl	%edi,%esi
940	xorl	%ecx,%ebx
941	rorl	$17,%esi
942	addl	40(%esp),%ebx
943	shrl	$10,%edi
944	addl	76(%esp),%ebx
945	movl	%edx,%ecx
946	xorl	%esi,%edi
947	movl	12(%esp),%esi
948	rorl	$14,%edx
949	addl	%edi,%ebx
950	movl	16(%esp),%edi
951	xorl	%ecx,%edx
952	movl	%ebx,40(%esp)
953	xorl	%edi,%esi
954	rorl	$5,%edx
955	andl	%ecx,%esi
956	movl	%ecx,8(%esp)
957	xorl	%ecx,%edx
958	addl	20(%esp),%ebx
959	xorl	%esi,%edi
960	rorl	$6,%edx
961	movl	%eax,%ecx
962	addl	%edi,%ebx
963	rorl	$9,%ecx
964	movl	%eax,%esi
965	movl	28(%esp),%edi
966	xorl	%eax,%ecx
967	movl	%eax,24(%esp)
968	xorl	%edi,%eax
969	rorl	$11,%ecx
970	andl	%eax,%ebp
971	leal	264347078(%ebx,%edx,1),%edx
972	xorl	%esi,%ecx
973	xorl	%edi,%ebp
974	movl	48(%esp),%esi
975	rorl	$2,%ecx
976	addl	%edx,%ebp
977	addl	4(%esp),%edx
978	addl	%ecx,%ebp
979	movl	36(%esp),%ecx
980	movl	%esi,%ebx
981	rorl	$11,%esi
982	movl	%ecx,%edi
983	rorl	$2,%ecx
984	xorl	%ebx,%esi
985	shrl	$3,%ebx
986	rorl	$7,%esi
987	xorl	%edi,%ecx
988	xorl	%esi,%ebx
989	rorl	$17,%ecx
990	addl	44(%esp),%ebx
991	shrl	$10,%edi
992	addl	80(%esp),%ebx
993	movl	%edx,%esi
994	xorl	%ecx,%edi
995	movl	8(%esp),%ecx
996	rorl	$14,%edx
997	addl	%edi,%ebx
998	movl	12(%esp),%edi
999	xorl	%esi,%edx
1000	movl	%ebx,44(%esp)
1001	xorl	%edi,%ecx
1002	rorl	$5,%edx
1003	andl	%esi,%ecx
1004	movl	%esi,4(%esp)
1005	xorl	%esi,%edx
1006	addl	16(%esp),%ebx
1007	xorl	%ecx,%edi
1008	rorl	$6,%edx
1009	movl	%ebp,%esi
1010	addl	%edi,%ebx
1011	rorl	$9,%esi
1012	movl	%ebp,%ecx
1013	movl	24(%esp),%edi
1014	xorl	%ebp,%esi
1015	movl	%ebp,20(%esp)
1016	xorl	%edi,%ebp
1017	rorl	$11,%esi
1018	andl	%ebp,%eax
1019	leal	604807628(%ebx,%edx,1),%edx
1020	xorl	%ecx,%esi
1021	xorl	%edi,%eax
1022	movl	52(%esp),%ecx
1023	rorl	$2,%esi
1024	addl	%edx,%eax
1025	addl	(%esp),%edx
1026	addl	%esi,%eax
1027	movl	40(%esp),%esi
1028	movl	%ecx,%ebx
1029	rorl	$11,%ecx
1030	movl	%esi,%edi
1031	rorl	$2,%esi
1032	xorl	%ebx,%ecx
1033	shrl	$3,%ebx
1034	rorl	$7,%ecx
1035	xorl	%edi,%esi
1036	xorl	%ecx,%ebx
1037	rorl	$17,%esi
1038	addl	48(%esp),%ebx
1039	shrl	$10,%edi
1040	addl	84(%esp),%ebx
1041	movl	%edx,%ecx
1042	xorl	%esi,%edi
1043	movl	4(%esp),%esi
1044	rorl	$14,%edx
1045	addl	%edi,%ebx
1046	movl	8(%esp),%edi
1047	xorl	%ecx,%edx
1048	movl	%ebx,48(%esp)
1049	xorl	%edi,%esi
1050	rorl	$5,%edx
1051	andl	%ecx,%esi
1052	movl	%ecx,(%esp)
1053	xorl	%ecx,%edx
1054	addl	12(%esp),%ebx
1055	xorl	%esi,%edi
1056	rorl	$6,%edx
1057	movl	%eax,%ecx
1058	addl	%edi,%ebx
1059	rorl	$9,%ecx
1060	movl	%eax,%esi
1061	movl	20(%esp),%edi
1062	xorl	%eax,%ecx
1063	movl	%eax,16(%esp)
1064	xorl	%edi,%eax
1065	rorl	$11,%ecx
1066	andl	%eax,%ebp
1067	leal	770255983(%ebx,%edx,1),%edx
1068	xorl	%esi,%ecx
1069	xorl	%edi,%ebp
1070	movl	56(%esp),%esi
1071	rorl	$2,%ecx
1072	addl	%edx,%ebp
1073	addl	28(%esp),%edx
1074	addl	%ecx,%ebp
1075	movl	44(%esp),%ecx
1076	movl	%esi,%ebx
1077	rorl	$11,%esi
1078	movl	%ecx,%edi
1079	rorl	$2,%ecx
1080	xorl	%ebx,%esi
1081	shrl	$3,%ebx
1082	rorl	$7,%esi
1083	xorl	%edi,%ecx
1084	xorl	%esi,%ebx
1085	rorl	$17,%ecx
1086	addl	52(%esp),%ebx
1087	shrl	$10,%edi
1088	addl	88(%esp),%ebx
1089	movl	%edx,%esi
1090	xorl	%ecx,%edi
1091	movl	(%esp),%ecx
1092	rorl	$14,%edx
1093	addl	%edi,%ebx
1094	movl	4(%esp),%edi
1095	xorl	%esi,%edx
1096	movl	%ebx,52(%esp)
1097	xorl	%edi,%ecx
1098	rorl	$5,%edx
1099	andl	%esi,%ecx
1100	movl	%esi,28(%esp)
1101	xorl	%esi,%edx
1102	addl	8(%esp),%ebx
1103	xorl	%ecx,%edi
1104	rorl	$6,%edx
1105	movl	%ebp,%esi
1106	addl	%edi,%ebx
1107	rorl	$9,%esi
1108	movl	%ebp,%ecx
1109	movl	16(%esp),%edi
1110	xorl	%ebp,%esi
1111	movl	%ebp,12(%esp)
1112	xorl	%edi,%ebp
1113	rorl	$11,%esi
1114	andl	%ebp,%eax
1115	leal	1249150122(%ebx,%edx,1),%edx
1116	xorl	%ecx,%esi
1117	xorl	%edi,%eax
1118	movl	60(%esp),%ecx
1119	rorl	$2,%esi
1120	addl	%edx,%eax
1121	addl	24(%esp),%edx
1122	addl	%esi,%eax
1123	movl	48(%esp),%esi
1124	movl	%ecx,%ebx
1125	rorl	$11,%ecx
1126	movl	%esi,%edi
1127	rorl	$2,%esi
1128	xorl	%ebx,%ecx
1129	shrl	$3,%ebx
1130	rorl	$7,%ecx
1131	xorl	%edi,%esi
1132	xorl	%ecx,%ebx
1133	rorl	$17,%esi
1134	addl	56(%esp),%ebx
1135	shrl	$10,%edi
1136	addl	92(%esp),%ebx
1137	movl	%edx,%ecx
1138	xorl	%esi,%edi
1139	movl	28(%esp),%esi
1140	rorl	$14,%edx
1141	addl	%edi,%ebx
1142	movl	(%esp),%edi
1143	xorl	%ecx,%edx
1144	movl	%ebx,56(%esp)
1145	xorl	%edi,%esi
1146	rorl	$5,%edx
1147	andl	%ecx,%esi
1148	movl	%ecx,24(%esp)
1149	xorl	%ecx,%edx
1150	addl	4(%esp),%ebx
1151	xorl	%esi,%edi
1152	rorl	$6,%edx
1153	movl	%eax,%ecx
1154	addl	%edi,%ebx
1155	rorl	$9,%ecx
1156	movl	%eax,%esi
1157	movl	12(%esp),%edi
1158	xorl	%eax,%ecx
1159	movl	%eax,8(%esp)
1160	xorl	%edi,%eax
1161	rorl	$11,%ecx
1162	andl	%eax,%ebp
1163	leal	1555081692(%ebx,%edx,1),%edx
1164	xorl	%esi,%ecx
1165	xorl	%edi,%ebp
1166	movl	64(%esp),%esi
1167	rorl	$2,%ecx
1168	addl	%edx,%ebp
1169	addl	20(%esp),%edx
1170	addl	%ecx,%ebp
1171	movl	52(%esp),%ecx
1172	movl	%esi,%ebx
1173	rorl	$11,%esi
1174	movl	%ecx,%edi
1175	rorl	$2,%ecx
1176	xorl	%ebx,%esi
1177	shrl	$3,%ebx
1178	rorl	$7,%esi
1179	xorl	%edi,%ecx
1180	xorl	%esi,%ebx
1181	rorl	$17,%ecx
1182	addl	60(%esp),%ebx
1183	shrl	$10,%edi
1184	addl	32(%esp),%ebx
1185	movl	%edx,%esi
1186	xorl	%ecx,%edi
1187	movl	24(%esp),%ecx
1188	rorl	$14,%edx
1189	addl	%edi,%ebx
1190	movl	28(%esp),%edi
1191	xorl	%esi,%edx
1192	movl	%ebx,60(%esp)
1193	xorl	%edi,%ecx
1194	rorl	$5,%edx
1195	andl	%esi,%ecx
1196	movl	%esi,20(%esp)
1197	xorl	%esi,%edx
1198	addl	(%esp),%ebx
1199	xorl	%ecx,%edi
1200	rorl	$6,%edx
1201	movl	%ebp,%esi
1202	addl	%edi,%ebx
1203	rorl	$9,%esi
1204	movl	%ebp,%ecx
1205	movl	8(%esp),%edi
1206	xorl	%ebp,%esi
1207	movl	%ebp,4(%esp)
1208	xorl	%edi,%ebp
1209	rorl	$11,%esi
1210	andl	%ebp,%eax
1211	leal	1996064986(%ebx,%edx,1),%edx
1212	xorl	%ecx,%esi
1213	xorl	%edi,%eax
1214	movl	68(%esp),%ecx
1215	rorl	$2,%esi
1216	addl	%edx,%eax
1217	addl	16(%esp),%edx
1218	addl	%esi,%eax
1219	movl	56(%esp),%esi
1220	movl	%ecx,%ebx
1221	rorl	$11,%ecx
1222	movl	%esi,%edi
1223	rorl	$2,%esi
1224	xorl	%ebx,%ecx
1225	shrl	$3,%ebx
1226	rorl	$7,%ecx
1227	xorl	%edi,%esi
1228	xorl	%ecx,%ebx
1229	rorl	$17,%esi
1230	addl	64(%esp),%ebx
1231	shrl	$10,%edi
1232	addl	36(%esp),%ebx
1233	movl	%edx,%ecx
1234	xorl	%esi,%edi
1235	movl	20(%esp),%esi
1236	rorl	$14,%edx
1237	addl	%edi,%ebx
1238	movl	24(%esp),%edi
1239	xorl	%ecx,%edx
1240	movl	%ebx,64(%esp)
1241	xorl	%edi,%esi
1242	rorl	$5,%edx
1243	andl	%ecx,%esi
1244	movl	%ecx,16(%esp)
1245	xorl	%ecx,%edx
1246	addl	28(%esp),%ebx
1247	xorl	%esi,%edi
1248	rorl	$6,%edx
1249	movl	%eax,%ecx
1250	addl	%edi,%ebx
1251	rorl	$9,%ecx
1252	movl	%eax,%esi
1253	movl	4(%esp),%edi
1254	xorl	%eax,%ecx
1255	movl	%eax,(%esp)
1256	xorl	%edi,%eax
1257	rorl	$11,%ecx
1258	andl	%eax,%ebp
1259	leal	2554220882(%ebx,%edx,1),%edx
1260	xorl	%esi,%ecx
1261	xorl	%edi,%ebp
1262	movl	72(%esp),%esi
1263	rorl	$2,%ecx
1264	addl	%edx,%ebp
1265	addl	12(%esp),%edx
1266	addl	%ecx,%ebp
1267	movl	60(%esp),%ecx
1268	movl	%esi,%ebx
1269	rorl	$11,%esi
1270	movl	%ecx,%edi
1271	rorl	$2,%ecx
1272	xorl	%ebx,%esi
1273	shrl	$3,%ebx
1274	rorl	$7,%esi
1275	xorl	%edi,%ecx
1276	xorl	%esi,%ebx
1277	rorl	$17,%ecx
1278	addl	68(%esp),%ebx
1279	shrl	$10,%edi
1280	addl	40(%esp),%ebx
1281	movl	%edx,%esi
1282	xorl	%ecx,%edi
1283	movl	16(%esp),%ecx
1284	rorl	$14,%edx
1285	addl	%edi,%ebx
1286	movl	20(%esp),%edi
1287	xorl	%esi,%edx
1288	movl	%ebx,68(%esp)
1289	xorl	%edi,%ecx
1290	rorl	$5,%edx
1291	andl	%esi,%ecx
1292	movl	%esi,12(%esp)
1293	xorl	%esi,%edx
1294	addl	24(%esp),%ebx
1295	xorl	%ecx,%edi
1296	rorl	$6,%edx
1297	movl	%ebp,%esi
1298	addl	%edi,%ebx
1299	rorl	$9,%esi
1300	movl	%ebp,%ecx
1301	movl	(%esp),%edi
1302	xorl	%ebp,%esi
1303	movl	%ebp,28(%esp)
1304	xorl	%edi,%ebp
1305	rorl	$11,%esi
1306	andl	%ebp,%eax
1307	leal	2821834349(%ebx,%edx,1),%edx
1308	xorl	%ecx,%esi
1309	xorl	%edi,%eax
1310	movl	76(%esp),%ecx
1311	rorl	$2,%esi
1312	addl	%edx,%eax
1313	addl	8(%esp),%edx
1314	addl	%esi,%eax
1315	movl	64(%esp),%esi
1316	movl	%ecx,%ebx
1317	rorl	$11,%ecx
1318	movl	%esi,%edi
1319	rorl	$2,%esi
1320	xorl	%ebx,%ecx
1321	shrl	$3,%ebx
1322	rorl	$7,%ecx
1323	xorl	%edi,%esi
1324	xorl	%ecx,%ebx
1325	rorl	$17,%esi
1326	addl	72(%esp),%ebx
1327	shrl	$10,%edi
1328	addl	44(%esp),%ebx
1329	movl	%edx,%ecx
1330	xorl	%esi,%edi
1331	movl	12(%esp),%esi
1332	rorl	$14,%edx
1333	addl	%edi,%ebx
1334	movl	16(%esp),%edi
1335	xorl	%ecx,%edx
1336	movl	%ebx,72(%esp)
1337	xorl	%edi,%esi
1338	rorl	$5,%edx
1339	andl	%ecx,%esi
1340	movl	%ecx,8(%esp)
1341	xorl	%ecx,%edx
1342	addl	20(%esp),%ebx
1343	xorl	%esi,%edi
1344	rorl	$6,%edx
1345	movl	%eax,%ecx
1346	addl	%edi,%ebx
1347	rorl	$9,%ecx
1348	movl	%eax,%esi
1349	movl	28(%esp),%edi
1350	xorl	%eax,%ecx
1351	movl	%eax,24(%esp)
1352	xorl	%edi,%eax
1353	rorl	$11,%ecx
1354	andl	%eax,%ebp
1355	leal	2952996808(%ebx,%edx,1),%edx
1356	xorl	%esi,%ecx
1357	xorl	%edi,%ebp
1358	movl	80(%esp),%esi
1359	rorl	$2,%ecx
1360	addl	%edx,%ebp
1361	addl	4(%esp),%edx
1362	addl	%ecx,%ebp
1363	movl	68(%esp),%ecx
1364	movl	%esi,%ebx
1365	rorl	$11,%esi
1366	movl	%ecx,%edi
1367	rorl	$2,%ecx
1368	xorl	%ebx,%esi
1369	shrl	$3,%ebx
1370	rorl	$7,%esi
1371	xorl	%edi,%ecx
1372	xorl	%esi,%ebx
1373	rorl	$17,%ecx
1374	addl	76(%esp),%ebx
1375	shrl	$10,%edi
1376	addl	48(%esp),%ebx
1377	movl	%edx,%esi
1378	xorl	%ecx,%edi
1379	movl	8(%esp),%ecx
1380	rorl	$14,%edx
1381	addl	%edi,%ebx
1382	movl	12(%esp),%edi
1383	xorl	%esi,%edx
1384	movl	%ebx,76(%esp)
1385	xorl	%edi,%ecx
1386	rorl	$5,%edx
1387	andl	%esi,%ecx
1388	movl	%esi,4(%esp)
1389	xorl	%esi,%edx
1390	addl	16(%esp),%ebx
1391	xorl	%ecx,%edi
1392	rorl	$6,%edx
1393	movl	%ebp,%esi
1394	addl	%edi,%ebx
1395	rorl	$9,%esi
1396	movl	%ebp,%ecx
1397	movl	24(%esp),%edi
1398	xorl	%ebp,%esi
1399	movl	%ebp,20(%esp)
1400	xorl	%edi,%ebp
1401	rorl	$11,%esi
1402	andl	%ebp,%eax
1403	leal	3210313671(%ebx,%edx,1),%edx
1404	xorl	%ecx,%esi
1405	xorl	%edi,%eax
1406	movl	84(%esp),%ecx
1407	rorl	$2,%esi
1408	addl	%edx,%eax
1409	addl	(%esp),%edx
1410	addl	%esi,%eax
1411	movl	72(%esp),%esi
1412	movl	%ecx,%ebx
1413	rorl	$11,%ecx
1414	movl	%esi,%edi
1415	rorl	$2,%esi
1416	xorl	%ebx,%ecx
1417	shrl	$3,%ebx
1418	rorl	$7,%ecx
1419	xorl	%edi,%esi
1420	xorl	%ecx,%ebx
1421	rorl	$17,%esi
1422	addl	80(%esp),%ebx
1423	shrl	$10,%edi
1424	addl	52(%esp),%ebx
1425	movl	%edx,%ecx
1426	xorl	%esi,%edi
1427	movl	4(%esp),%esi
1428	rorl	$14,%edx
1429	addl	%edi,%ebx
1430	movl	8(%esp),%edi
1431	xorl	%ecx,%edx
1432	movl	%ebx,80(%esp)
1433	xorl	%edi,%esi
1434	rorl	$5,%edx
1435	andl	%ecx,%esi
1436	movl	%ecx,(%esp)
1437	xorl	%ecx,%edx
1438	addl	12(%esp),%ebx
1439	xorl	%esi,%edi
1440	rorl	$6,%edx
1441	movl	%eax,%ecx
1442	addl	%edi,%ebx
1443	rorl	$9,%ecx
1444	movl	%eax,%esi
1445	movl	20(%esp),%edi
1446	xorl	%eax,%ecx
1447	movl	%eax,16(%esp)
1448	xorl	%edi,%eax
1449	rorl	$11,%ecx
1450	andl	%eax,%ebp
1451	leal	3336571891(%ebx,%edx,1),%edx
1452	xorl	%esi,%ecx
1453	xorl	%edi,%ebp
1454	movl	88(%esp),%esi
1455	rorl	$2,%ecx
1456	addl	%edx,%ebp
1457	addl	28(%esp),%edx
1458	addl	%ecx,%ebp
1459	movl	76(%esp),%ecx
1460	movl	%esi,%ebx
1461	rorl	$11,%esi
1462	movl	%ecx,%edi
1463	rorl	$2,%ecx
1464	xorl	%ebx,%esi
1465	shrl	$3,%ebx
1466	rorl	$7,%esi
1467	xorl	%edi,%ecx
1468	xorl	%esi,%ebx
1469	rorl	$17,%ecx
1470	addl	84(%esp),%ebx
1471	shrl	$10,%edi
1472	addl	56(%esp),%ebx
1473	movl	%edx,%esi
1474	xorl	%ecx,%edi
1475	movl	(%esp),%ecx
1476	rorl	$14,%edx
1477	addl	%edi,%ebx
1478	movl	4(%esp),%edi
1479	xorl	%esi,%edx
1480	movl	%ebx,84(%esp)
1481	xorl	%edi,%ecx
1482	rorl	$5,%edx
1483	andl	%esi,%ecx
1484	movl	%esi,28(%esp)
1485	xorl	%esi,%edx
1486	addl	8(%esp),%ebx
1487	xorl	%ecx,%edi
1488	rorl	$6,%edx
1489	movl	%ebp,%esi
1490	addl	%edi,%ebx
1491	rorl	$9,%esi
1492	movl	%ebp,%ecx
1493	movl	16(%esp),%edi
1494	xorl	%ebp,%esi
1495	movl	%ebp,12(%esp)
1496	xorl	%edi,%ebp
1497	rorl	$11,%esi
1498	andl	%ebp,%eax
1499	leal	3584528711(%ebx,%edx,1),%edx
1500	xorl	%ecx,%esi
1501	xorl	%edi,%eax
1502	movl	92(%esp),%ecx
1503	rorl	$2,%esi
1504	addl	%edx,%eax
1505	addl	24(%esp),%edx
1506	addl	%esi,%eax
1507	movl	80(%esp),%esi
1508	movl	%ecx,%ebx
1509	rorl	$11,%ecx
1510	movl	%esi,%edi
1511	rorl	$2,%esi
1512	xorl	%ebx,%ecx
1513	shrl	$3,%ebx
1514	rorl	$7,%ecx
1515	xorl	%edi,%esi
1516	xorl	%ecx,%ebx
1517	rorl	$17,%esi
1518	addl	88(%esp),%ebx
1519	shrl	$10,%edi
1520	addl	60(%esp),%ebx
1521	movl	%edx,%ecx
1522	xorl	%esi,%edi
1523	movl	28(%esp),%esi
1524	rorl	$14,%edx
1525	addl	%edi,%ebx
1526	movl	(%esp),%edi
1527	xorl	%ecx,%edx
1528	movl	%ebx,88(%esp)
1529	xorl	%edi,%esi
1530	rorl	$5,%edx
1531	andl	%ecx,%esi
1532	movl	%ecx,24(%esp)
1533	xorl	%ecx,%edx
1534	addl	4(%esp),%ebx
1535	xorl	%esi,%edi
1536	rorl	$6,%edx
1537	movl	%eax,%ecx
1538	addl	%edi,%ebx
1539	rorl	$9,%ecx
1540	movl	%eax,%esi
1541	movl	12(%esp),%edi
1542	xorl	%eax,%ecx
1543	movl	%eax,8(%esp)
1544	xorl	%edi,%eax
1545	rorl	$11,%ecx
1546	andl	%eax,%ebp
1547	leal	113926993(%ebx,%edx,1),%edx
1548	xorl	%esi,%ecx
1549	xorl	%edi,%ebp
1550	movl	32(%esp),%esi
1551	rorl	$2,%ecx
1552	addl	%edx,%ebp
1553	addl	20(%esp),%edx
1554	addl	%ecx,%ebp
1555	movl	84(%esp),%ecx
1556	movl	%esi,%ebx
1557	rorl	$11,%esi
1558	movl	%ecx,%edi
1559	rorl	$2,%ecx
1560	xorl	%ebx,%esi
1561	shrl	$3,%ebx
1562	rorl	$7,%esi
1563	xorl	%edi,%ecx
1564	xorl	%esi,%ebx
1565	rorl	$17,%ecx
1566	addl	92(%esp),%ebx
1567	shrl	$10,%edi
1568	addl	64(%esp),%ebx
1569	movl	%edx,%esi
1570	xorl	%ecx,%edi
1571	movl	24(%esp),%ecx
1572	rorl	$14,%edx
1573	addl	%edi,%ebx
1574	movl	28(%esp),%edi
1575	xorl	%esi,%edx
1576	movl	%ebx,92(%esp)
1577	xorl	%edi,%ecx
1578	rorl	$5,%edx
1579	andl	%esi,%ecx
1580	movl	%esi,20(%esp)
1581	xorl	%esi,%edx
1582	addl	(%esp),%ebx
1583	xorl	%ecx,%edi
1584	rorl	$6,%edx
1585	movl	%ebp,%esi
1586	addl	%edi,%ebx
1587	rorl	$9,%esi
1588	movl	%ebp,%ecx
1589	movl	8(%esp),%edi
1590	xorl	%ebp,%esi
1591	movl	%ebp,4(%esp)
1592	xorl	%edi,%ebp
1593	rorl	$11,%esi
1594	andl	%ebp,%eax
1595	leal	338241895(%ebx,%edx,1),%edx
1596	xorl	%ecx,%esi
1597	xorl	%edi,%eax
1598	movl	36(%esp),%ecx
1599	rorl	$2,%esi
1600	addl	%edx,%eax
1601	addl	16(%esp),%edx
1602	addl	%esi,%eax
1603	movl	88(%esp),%esi
1604	movl	%ecx,%ebx
1605	rorl	$11,%ecx
1606	movl	%esi,%edi
1607	rorl	$2,%esi
1608	xorl	%ebx,%ecx
1609	shrl	$3,%ebx
1610	rorl	$7,%ecx
1611	xorl	%edi,%esi
1612	xorl	%ecx,%ebx
1613	rorl	$17,%esi
1614	addl	32(%esp),%ebx
1615	shrl	$10,%edi
1616	addl	68(%esp),%ebx
1617	movl	%edx,%ecx
1618	xorl	%esi,%edi
1619	movl	20(%esp),%esi
1620	rorl	$14,%edx
1621	addl	%edi,%ebx
1622	movl	24(%esp),%edi
1623	xorl	%ecx,%edx
1624	movl	%ebx,32(%esp)
1625	xorl	%edi,%esi
1626	rorl	$5,%edx
1627	andl	%ecx,%esi
1628	movl	%ecx,16(%esp)
1629	xorl	%ecx,%edx
1630	addl	28(%esp),%ebx
1631	xorl	%esi,%edi
1632	rorl	$6,%edx
1633	movl	%eax,%ecx
1634	addl	%edi,%ebx
1635	rorl	$9,%ecx
1636	movl	%eax,%esi
1637	movl	4(%esp),%edi
1638	xorl	%eax,%ecx
1639	movl	%eax,(%esp)
1640	xorl	%edi,%eax
1641	rorl	$11,%ecx
1642	andl	%eax,%ebp
1643	leal	666307205(%ebx,%edx,1),%edx
1644	xorl	%esi,%ecx
1645	xorl	%edi,%ebp
1646	movl	40(%esp),%esi
1647	rorl	$2,%ecx
1648	addl	%edx,%ebp
1649	addl	12(%esp),%edx
1650	addl	%ecx,%ebp
1651	movl	92(%esp),%ecx
1652	movl	%esi,%ebx
1653	rorl	$11,%esi
1654	movl	%ecx,%edi
1655	rorl	$2,%ecx
1656	xorl	%ebx,%esi
1657	shrl	$3,%ebx
1658	rorl	$7,%esi
1659	xorl	%edi,%ecx
1660	xorl	%esi,%ebx
1661	rorl	$17,%ecx
1662	addl	36(%esp),%ebx
1663	shrl	$10,%edi
1664	addl	72(%esp),%ebx
1665	movl	%edx,%esi
1666	xorl	%ecx,%edi
1667	movl	16(%esp),%ecx
1668	rorl	$14,%edx
1669	addl	%edi,%ebx
1670	movl	20(%esp),%edi
1671	xorl	%esi,%edx
1672	movl	%ebx,36(%esp)
1673	xorl	%edi,%ecx
1674	rorl	$5,%edx
1675	andl	%esi,%ecx
1676	movl	%esi,12(%esp)
1677	xorl	%esi,%edx
1678	addl	24(%esp),%ebx
1679	xorl	%ecx,%edi
1680	rorl	$6,%edx
1681	movl	%ebp,%esi
1682	addl	%edi,%ebx
1683	rorl	$9,%esi
1684	movl	%ebp,%ecx
1685	movl	(%esp),%edi
1686	xorl	%ebp,%esi
1687	movl	%ebp,28(%esp)
1688	xorl	%edi,%ebp
1689	rorl	$11,%esi
1690	andl	%ebp,%eax
1691	leal	773529912(%ebx,%edx,1),%edx
1692	xorl	%ecx,%esi
1693	xorl	%edi,%eax
1694	movl	44(%esp),%ecx
1695	rorl	$2,%esi
1696	addl	%edx,%eax
1697	addl	8(%esp),%edx
1698	addl	%esi,%eax
1699	movl	32(%esp),%esi
1700	movl	%ecx,%ebx
1701	rorl	$11,%ecx
1702	movl	%esi,%edi
1703	rorl	$2,%esi
1704	xorl	%ebx,%ecx
1705	shrl	$3,%ebx
1706	rorl	$7,%ecx
1707	xorl	%edi,%esi
1708	xorl	%ecx,%ebx
1709	rorl	$17,%esi
1710	addl	40(%esp),%ebx
1711	shrl	$10,%edi
1712	addl	76(%esp),%ebx
1713	movl	%edx,%ecx
1714	xorl	%esi,%edi
1715	movl	12(%esp),%esi
1716	rorl	$14,%edx
1717	addl	%edi,%ebx
1718	movl	16(%esp),%edi
1719	xorl	%ecx,%edx
1720	movl	%ebx,40(%esp)
1721	xorl	%edi,%esi
1722	rorl	$5,%edx
1723	andl	%ecx,%esi
1724	movl	%ecx,8(%esp)
1725	xorl	%ecx,%edx
1726	addl	20(%esp),%ebx
1727	xorl	%esi,%edi
1728	rorl	$6,%edx
1729	movl	%eax,%ecx
1730	addl	%edi,%ebx
1731	rorl	$9,%ecx
1732	movl	%eax,%esi
1733	movl	28(%esp),%edi
1734	xorl	%eax,%ecx
1735	movl	%eax,24(%esp)
1736	xorl	%edi,%eax
1737	rorl	$11,%ecx
1738	andl	%eax,%ebp
1739	leal	1294757372(%ebx,%edx,1),%edx
1740	xorl	%esi,%ecx
1741	xorl	%edi,%ebp
1742	movl	48(%esp),%esi
1743	rorl	$2,%ecx
1744	addl	%edx,%ebp
1745	addl	4(%esp),%edx
1746	addl	%ecx,%ebp
1747	movl	36(%esp),%ecx
1748	movl	%esi,%ebx
1749	rorl	$11,%esi
1750	movl	%ecx,%edi
1751	rorl	$2,%ecx
1752	xorl	%ebx,%esi
1753	shrl	$3,%ebx
1754	rorl	$7,%esi
1755	xorl	%edi,%ecx
1756	xorl	%esi,%ebx
1757	rorl	$17,%ecx
1758	addl	44(%esp),%ebx
1759	shrl	$10,%edi
1760	addl	80(%esp),%ebx
1761	movl	%edx,%esi
1762	xorl	%ecx,%edi
1763	movl	8(%esp),%ecx
1764	rorl	$14,%edx
1765	addl	%edi,%ebx
1766	movl	12(%esp),%edi
1767	xorl	%esi,%edx
1768	movl	%ebx,44(%esp)
1769	xorl	%edi,%ecx
1770	rorl	$5,%edx
1771	andl	%esi,%ecx
1772	movl	%esi,4(%esp)
1773	xorl	%esi,%edx
1774	addl	16(%esp),%ebx
1775	xorl	%ecx,%edi
1776	rorl	$6,%edx
1777	movl	%ebp,%esi
1778	addl	%edi,%ebx
1779	rorl	$9,%esi
1780	movl	%ebp,%ecx
1781	movl	24(%esp),%edi
1782	xorl	%ebp,%esi
1783	movl	%ebp,20(%esp)
1784	xorl	%edi,%ebp
1785	rorl	$11,%esi
1786	andl	%ebp,%eax
1787	leal	1396182291(%ebx,%edx,1),%edx
1788	xorl	%ecx,%esi
1789	xorl	%edi,%eax
1790	movl	52(%esp),%ecx
1791	rorl	$2,%esi
1792	addl	%edx,%eax
1793	addl	(%esp),%edx
1794	addl	%esi,%eax
1795	movl	40(%esp),%esi
1796	movl	%ecx,%ebx
1797	rorl	$11,%ecx
1798	movl	%esi,%edi
1799	rorl	$2,%esi
1800	xorl	%ebx,%ecx
1801	shrl	$3,%ebx
1802	rorl	$7,%ecx
1803	xorl	%edi,%esi
1804	xorl	%ecx,%ebx
1805	rorl	$17,%esi
1806	addl	48(%esp),%ebx
1807	shrl	$10,%edi
1808	addl	84(%esp),%ebx
1809	movl	%edx,%ecx
1810	xorl	%esi,%edi
1811	movl	4(%esp),%esi
1812	rorl	$14,%edx
1813	addl	%edi,%ebx
1814	movl	8(%esp),%edi
1815	xorl	%ecx,%edx
1816	movl	%ebx,48(%esp)
1817	xorl	%edi,%esi
1818	rorl	$5,%edx
1819	andl	%ecx,%esi
1820	movl	%ecx,(%esp)
1821	xorl	%ecx,%edx
1822	addl	12(%esp),%ebx
1823	xorl	%esi,%edi
1824	rorl	$6,%edx
1825	movl	%eax,%ecx
1826	addl	%edi,%ebx
1827	rorl	$9,%ecx
1828	movl	%eax,%esi
1829	movl	20(%esp),%edi
1830	xorl	%eax,%ecx
1831	movl	%eax,16(%esp)
1832	xorl	%edi,%eax
1833	rorl	$11,%ecx
1834	andl	%eax,%ebp
1835	leal	1695183700(%ebx,%edx,1),%edx
1836	xorl	%esi,%ecx
1837	xorl	%edi,%ebp
1838	movl	56(%esp),%esi
1839	rorl	$2,%ecx
1840	addl	%edx,%ebp
1841	addl	28(%esp),%edx
1842	addl	%ecx,%ebp
1843	movl	44(%esp),%ecx
1844	movl	%esi,%ebx
1845	rorl	$11,%esi
1846	movl	%ecx,%edi
1847	rorl	$2,%ecx
1848	xorl	%ebx,%esi
1849	shrl	$3,%ebx
1850	rorl	$7,%esi
1851	xorl	%edi,%ecx
1852	xorl	%esi,%ebx
1853	rorl	$17,%ecx
1854	addl	52(%esp),%ebx
1855	shrl	$10,%edi
1856	addl	88(%esp),%ebx
1857	movl	%edx,%esi
1858	xorl	%ecx,%edi
1859	movl	(%esp),%ecx
1860	rorl	$14,%edx
1861	addl	%edi,%ebx
1862	movl	4(%esp),%edi
1863	xorl	%esi,%edx
1864	movl	%ebx,52(%esp)
1865	xorl	%edi,%ecx
1866	rorl	$5,%edx
1867	andl	%esi,%ecx
1868	movl	%esi,28(%esp)
1869	xorl	%esi,%edx
1870	addl	8(%esp),%ebx
1871	xorl	%ecx,%edi
1872	rorl	$6,%edx
1873	movl	%ebp,%esi
1874	addl	%edi,%ebx
1875	rorl	$9,%esi
1876	movl	%ebp,%ecx
1877	movl	16(%esp),%edi
1878	xorl	%ebp,%esi
1879	movl	%ebp,12(%esp)
1880	xorl	%edi,%ebp
1881	rorl	$11,%esi
1882	andl	%ebp,%eax
1883	leal	1986661051(%ebx,%edx,1),%edx
1884	xorl	%ecx,%esi
1885	xorl	%edi,%eax
1886	movl	60(%esp),%ecx
1887	rorl	$2,%esi
1888	addl	%edx,%eax
1889	addl	24(%esp),%edx
1890	addl	%esi,%eax
1891	movl	48(%esp),%esi
1892	movl	%ecx,%ebx
1893	rorl	$11,%ecx
1894	movl	%esi,%edi
1895	rorl	$2,%esi
1896	xorl	%ebx,%ecx
1897	shrl	$3,%ebx
1898	rorl	$7,%ecx
1899	xorl	%edi,%esi
1900	xorl	%ecx,%ebx
1901	rorl	$17,%esi
1902	addl	56(%esp),%ebx
1903	shrl	$10,%edi
1904	addl	92(%esp),%ebx
1905	movl	%edx,%ecx
1906	xorl	%esi,%edi
1907	movl	28(%esp),%esi
1908	rorl	$14,%edx
1909	addl	%edi,%ebx
1910	movl	(%esp),%edi
1911	xorl	%ecx,%edx
1912	movl	%ebx,56(%esp)
1913	xorl	%edi,%esi
1914	rorl	$5,%edx
1915	andl	%ecx,%esi
1916	movl	%ecx,24(%esp)
1917	xorl	%ecx,%edx
1918	addl	4(%esp),%ebx
1919	xorl	%esi,%edi
1920	rorl	$6,%edx
1921	movl	%eax,%ecx
1922	addl	%edi,%ebx
1923	rorl	$9,%ecx
1924	movl	%eax,%esi
1925	movl	12(%esp),%edi
1926	xorl	%eax,%ecx
1927	movl	%eax,8(%esp)
1928	xorl	%edi,%eax
1929	rorl	$11,%ecx
1930	andl	%eax,%ebp
1931	leal	2177026350(%ebx,%edx,1),%edx
1932	xorl	%esi,%ecx
1933	xorl	%edi,%ebp
1934	movl	64(%esp),%esi
1935	rorl	$2,%ecx
1936	addl	%edx,%ebp
1937	addl	20(%esp),%edx
1938	addl	%ecx,%ebp
1939	movl	52(%esp),%ecx
1940	movl	%esi,%ebx
1941	rorl	$11,%esi
1942	movl	%ecx,%edi
1943	rorl	$2,%ecx
1944	xorl	%ebx,%esi
1945	shrl	$3,%ebx
1946	rorl	$7,%esi
1947	xorl	%edi,%ecx
1948	xorl	%esi,%ebx
1949	rorl	$17,%ecx
1950	addl	60(%esp),%ebx
1951	shrl	$10,%edi
1952	addl	32(%esp),%ebx
1953	movl	%edx,%esi
1954	xorl	%ecx,%edi
1955	movl	24(%esp),%ecx
1956	rorl	$14,%edx
1957	addl	%edi,%ebx
1958	movl	28(%esp),%edi
1959	xorl	%esi,%edx
1960	movl	%ebx,60(%esp)
1961	xorl	%edi,%ecx
1962	rorl	$5,%edx
1963	andl	%esi,%ecx
1964	movl	%esi,20(%esp)
1965	xorl	%esi,%edx
1966	addl	(%esp),%ebx
1967	xorl	%ecx,%edi
1968	rorl	$6,%edx
1969	movl	%ebp,%esi
1970	addl	%edi,%ebx
1971	rorl	$9,%esi
1972	movl	%ebp,%ecx
1973	movl	8(%esp),%edi
1974	xorl	%ebp,%esi
1975	movl	%ebp,4(%esp)
1976	xorl	%edi,%ebp
1977	rorl	$11,%esi
1978	andl	%ebp,%eax
1979	leal	2456956037(%ebx,%edx,1),%edx
1980	xorl	%ecx,%esi
1981	xorl	%edi,%eax
1982	movl	68(%esp),%ecx
1983	rorl	$2,%esi
1984	addl	%edx,%eax
1985	addl	16(%esp),%edx
1986	addl	%esi,%eax
1987	movl	56(%esp),%esi
1988	movl	%ecx,%ebx
1989	rorl	$11,%ecx
1990	movl	%esi,%edi
1991	rorl	$2,%esi
1992	xorl	%ebx,%ecx
1993	shrl	$3,%ebx
1994	rorl	$7,%ecx
1995	xorl	%edi,%esi
1996	xorl	%ecx,%ebx
1997	rorl	$17,%esi
1998	addl	64(%esp),%ebx
1999	shrl	$10,%edi
2000	addl	36(%esp),%ebx
2001	movl	%edx,%ecx
2002	xorl	%esi,%edi
2003	movl	20(%esp),%esi
2004	rorl	$14,%edx
2005	addl	%edi,%ebx
2006	movl	24(%esp),%edi
2007	xorl	%ecx,%edx
2008	movl	%ebx,64(%esp)
2009	xorl	%edi,%esi
2010	rorl	$5,%edx
2011	andl	%ecx,%esi
2012	movl	%ecx,16(%esp)
2013	xorl	%ecx,%edx
2014	addl	28(%esp),%ebx
2015	xorl	%esi,%edi
2016	rorl	$6,%edx
2017	movl	%eax,%ecx
2018	addl	%edi,%ebx
2019	rorl	$9,%ecx
2020	movl	%eax,%esi
2021	movl	4(%esp),%edi
2022	xorl	%eax,%ecx
2023	movl	%eax,(%esp)
2024	xorl	%edi,%eax
2025	rorl	$11,%ecx
2026	andl	%eax,%ebp
2027	leal	2730485921(%ebx,%edx,1),%edx
2028	xorl	%esi,%ecx
2029	xorl	%edi,%ebp
2030	movl	72(%esp),%esi
2031	rorl	$2,%ecx
2032	addl	%edx,%ebp
2033	addl	12(%esp),%edx
2034	addl	%ecx,%ebp
2035	movl	60(%esp),%ecx
2036	movl	%esi,%ebx
2037	rorl	$11,%esi
2038	movl	%ecx,%edi
2039	rorl	$2,%ecx
2040	xorl	%ebx,%esi
2041	shrl	$3,%ebx
2042	rorl	$7,%esi
2043	xorl	%edi,%ecx
2044	xorl	%esi,%ebx
2045	rorl	$17,%ecx
2046	addl	68(%esp),%ebx
2047	shrl	$10,%edi
2048	addl	40(%esp),%ebx
2049	movl	%edx,%esi
2050	xorl	%ecx,%edi
2051	movl	16(%esp),%ecx
2052	rorl	$14,%edx
2053	addl	%edi,%ebx
2054	movl	20(%esp),%edi
2055	xorl	%esi,%edx
2056	movl	%ebx,68(%esp)
2057	xorl	%edi,%ecx
2058	rorl	$5,%edx
2059	andl	%esi,%ecx
2060	movl	%esi,12(%esp)
2061	xorl	%esi,%edx
2062	addl	24(%esp),%ebx
2063	xorl	%ecx,%edi
2064	rorl	$6,%edx
2065	movl	%ebp,%esi
2066	addl	%edi,%ebx
2067	rorl	$9,%esi
2068	movl	%ebp,%ecx
2069	movl	(%esp),%edi
2070	xorl	%ebp,%esi
2071	movl	%ebp,28(%esp)
2072	xorl	%edi,%ebp
2073	rorl	$11,%esi
2074	andl	%ebp,%eax
2075	leal	2820302411(%ebx,%edx,1),%edx
2076	xorl	%ecx,%esi
2077	xorl	%edi,%eax
2078	movl	76(%esp),%ecx
2079	rorl	$2,%esi
2080	addl	%edx,%eax
2081	addl	8(%esp),%edx
2082	addl	%esi,%eax
2083	movl	64(%esp),%esi
2084	movl	%ecx,%ebx
2085	rorl	$11,%ecx
2086	movl	%esi,%edi
2087	rorl	$2,%esi
2088	xorl	%ebx,%ecx
2089	shrl	$3,%ebx
2090	rorl	$7,%ecx
2091	xorl	%edi,%esi
2092	xorl	%ecx,%ebx
2093	rorl	$17,%esi
2094	addl	72(%esp),%ebx
2095	shrl	$10,%edi
2096	addl	44(%esp),%ebx
2097	movl	%edx,%ecx
2098	xorl	%esi,%edi
2099	movl	12(%esp),%esi
2100	rorl	$14,%edx
2101	addl	%edi,%ebx
2102	movl	16(%esp),%edi
2103	xorl	%ecx,%edx
2104	movl	%ebx,72(%esp)
2105	xorl	%edi,%esi
2106	rorl	$5,%edx
2107	andl	%ecx,%esi
2108	movl	%ecx,8(%esp)
2109	xorl	%ecx,%edx
2110	addl	20(%esp),%ebx
2111	xorl	%esi,%edi
2112	rorl	$6,%edx
2113	movl	%eax,%ecx
2114	addl	%edi,%ebx
2115	rorl	$9,%ecx
2116	movl	%eax,%esi
2117	movl	28(%esp),%edi
2118	xorl	%eax,%ecx
2119	movl	%eax,24(%esp)
2120	xorl	%edi,%eax
2121	rorl	$11,%ecx
2122	andl	%eax,%ebp
2123	leal	3259730800(%ebx,%edx,1),%edx
2124	xorl	%esi,%ecx
2125	xorl	%edi,%ebp
2126	movl	80(%esp),%esi
2127	rorl	$2,%ecx
2128	addl	%edx,%ebp
2129	addl	4(%esp),%edx
2130	addl	%ecx,%ebp
2131	movl	68(%esp),%ecx
2132	movl	%esi,%ebx
2133	rorl	$11,%esi
2134	movl	%ecx,%edi
2135	rorl	$2,%ecx
2136	xorl	%ebx,%esi
2137	shrl	$3,%ebx
2138	rorl	$7,%esi
2139	xorl	%edi,%ecx
2140	xorl	%esi,%ebx
2141	rorl	$17,%ecx
2142	addl	76(%esp),%ebx
2143	shrl	$10,%edi
2144	addl	48(%esp),%ebx
2145	movl	%edx,%esi
2146	xorl	%ecx,%edi
2147	movl	8(%esp),%ecx
2148	rorl	$14,%edx
2149	addl	%edi,%ebx
2150	movl	12(%esp),%edi
2151	xorl	%esi,%edx
2152	movl	%ebx,76(%esp)
2153	xorl	%edi,%ecx
2154	rorl	$5,%edx
2155	andl	%esi,%ecx
2156	movl	%esi,4(%esp)
2157	xorl	%esi,%edx
2158	addl	16(%esp),%ebx
2159	xorl	%ecx,%edi
2160	rorl	$6,%edx
2161	movl	%ebp,%esi
2162	addl	%edi,%ebx
2163	rorl	$9,%esi
2164	movl	%ebp,%ecx
2165	movl	24(%esp),%edi
2166	xorl	%ebp,%esi
2167	movl	%ebp,20(%esp)
2168	xorl	%edi,%ebp
2169	rorl	$11,%esi
2170	andl	%ebp,%eax
2171	leal	3345764771(%ebx,%edx,1),%edx
2172	xorl	%ecx,%esi
2173	xorl	%edi,%eax
2174	movl	84(%esp),%ecx
2175	rorl	$2,%esi
2176	addl	%edx,%eax
2177	addl	(%esp),%edx
2178	addl	%esi,%eax
2179	movl	72(%esp),%esi
2180	movl	%ecx,%ebx
2181	rorl	$11,%ecx
2182	movl	%esi,%edi
2183	rorl	$2,%esi
2184	xorl	%ebx,%ecx
2185	shrl	$3,%ebx
2186	rorl	$7,%ecx
2187	xorl	%edi,%esi
2188	xorl	%ecx,%ebx
2189	rorl	$17,%esi
2190	addl	80(%esp),%ebx
2191	shrl	$10,%edi
2192	addl	52(%esp),%ebx
2193	movl	%edx,%ecx
2194	xorl	%esi,%edi
2195	movl	4(%esp),%esi
2196	rorl	$14,%edx
2197	addl	%edi,%ebx
2198	movl	8(%esp),%edi
2199	xorl	%ecx,%edx
2200	movl	%ebx,80(%esp)
2201	xorl	%edi,%esi
2202	rorl	$5,%edx
2203	andl	%ecx,%esi
2204	movl	%ecx,(%esp)
2205	xorl	%ecx,%edx
2206	addl	12(%esp),%ebx
2207	xorl	%esi,%edi
2208	rorl	$6,%edx
2209	movl	%eax,%ecx
2210	addl	%edi,%ebx
2211	rorl	$9,%ecx
2212	movl	%eax,%esi
2213	movl	20(%esp),%edi
2214	xorl	%eax,%ecx
2215	movl	%eax,16(%esp)
2216	xorl	%edi,%eax
2217	rorl	$11,%ecx
2218	andl	%eax,%ebp
2219	leal	3516065817(%ebx,%edx,1),%edx
2220	xorl	%esi,%ecx
2221	xorl	%edi,%ebp
2222	movl	88(%esp),%esi
2223	rorl	$2,%ecx
2224	addl	%edx,%ebp
2225	addl	28(%esp),%edx
2226	addl	%ecx,%ebp
2227	movl	76(%esp),%ecx
2228	movl	%esi,%ebx
2229	rorl	$11,%esi
2230	movl	%ecx,%edi
2231	rorl	$2,%ecx
2232	xorl	%ebx,%esi
2233	shrl	$3,%ebx
2234	rorl	$7,%esi
2235	xorl	%edi,%ecx
2236	xorl	%esi,%ebx
2237	rorl	$17,%ecx
2238	addl	84(%esp),%ebx
2239	shrl	$10,%edi
2240	addl	56(%esp),%ebx
2241	movl	%edx,%esi
2242	xorl	%ecx,%edi
2243	movl	(%esp),%ecx
2244	rorl	$14,%edx
2245	addl	%edi,%ebx
2246	movl	4(%esp),%edi
2247	xorl	%esi,%edx
2248	movl	%ebx,84(%esp)
2249	xorl	%edi,%ecx
2250	rorl	$5,%edx
2251	andl	%esi,%ecx
2252	movl	%esi,28(%esp)
2253	xorl	%esi,%edx
2254	addl	8(%esp),%ebx
2255	xorl	%ecx,%edi
2256	rorl	$6,%edx
2257	movl	%ebp,%esi
2258	addl	%edi,%ebx
2259	rorl	$9,%esi
2260	movl	%ebp,%ecx
2261	movl	16(%esp),%edi
2262	xorl	%ebp,%esi
2263	movl	%ebp,12(%esp)
2264	xorl	%edi,%ebp
2265	rorl	$11,%esi
2266	andl	%ebp,%eax
2267	leal	3600352804(%ebx,%edx,1),%edx
2268	xorl	%ecx,%esi
2269	xorl	%edi,%eax
2270	movl	92(%esp),%ecx
2271	rorl	$2,%esi
2272	addl	%edx,%eax
2273	addl	24(%esp),%edx
2274	addl	%esi,%eax
2275	movl	80(%esp),%esi
2276	movl	%ecx,%ebx
2277	rorl	$11,%ecx
2278	movl	%esi,%edi
2279	rorl	$2,%esi
2280	xorl	%ebx,%ecx
2281	shrl	$3,%ebx
2282	rorl	$7,%ecx
2283	xorl	%edi,%esi
2284	xorl	%ecx,%ebx
2285	rorl	$17,%esi
2286	addl	88(%esp),%ebx
2287	shrl	$10,%edi
2288	addl	60(%esp),%ebx
2289	movl	%edx,%ecx
2290	xorl	%esi,%edi
2291	movl	28(%esp),%esi
2292	rorl	$14,%edx
2293	addl	%edi,%ebx
2294	movl	(%esp),%edi
2295	xorl	%ecx,%edx
2296	movl	%ebx,88(%esp)
2297	xorl	%edi,%esi
2298	rorl	$5,%edx
2299	andl	%ecx,%esi
2300	movl	%ecx,24(%esp)
2301	xorl	%ecx,%edx
2302	addl	4(%esp),%ebx
2303	xorl	%esi,%edi
2304	rorl	$6,%edx
2305	movl	%eax,%ecx
2306	addl	%edi,%ebx
2307	rorl	$9,%ecx
2308	movl	%eax,%esi
2309	movl	12(%esp),%edi
2310	xorl	%eax,%ecx
2311	movl	%eax,8(%esp)
2312	xorl	%edi,%eax
2313	rorl	$11,%ecx
2314	andl	%eax,%ebp
2315	leal	4094571909(%ebx,%edx,1),%edx
2316	xorl	%esi,%ecx
2317	xorl	%edi,%ebp
2318	movl	32(%esp),%esi
2319	rorl	$2,%ecx
2320	addl	%edx,%ebp
2321	addl	20(%esp),%edx
2322	addl	%ecx,%ebp
2323	movl	84(%esp),%ecx
2324	movl	%esi,%ebx
2325	rorl	$11,%esi
2326	movl	%ecx,%edi
2327	rorl	$2,%ecx
2328	xorl	%ebx,%esi
2329	shrl	$3,%ebx
2330	rorl	$7,%esi
2331	xorl	%edi,%ecx
2332	xorl	%esi,%ebx
2333	rorl	$17,%ecx
2334	addl	92(%esp),%ebx
2335	shrl	$10,%edi
2336	addl	64(%esp),%ebx
2337	movl	%edx,%esi
2338	xorl	%ecx,%edi
2339	movl	24(%esp),%ecx
2340	rorl	$14,%edx
2341	addl	%edi,%ebx
2342	movl	28(%esp),%edi
2343	xorl	%esi,%edx
2344	movl	%ebx,92(%esp)
2345	xorl	%edi,%ecx
2346	rorl	$5,%edx
2347	andl	%esi,%ecx
2348	movl	%esi,20(%esp)
2349	xorl	%esi,%edx
2350	addl	(%esp),%ebx
2351	xorl	%ecx,%edi
2352	rorl	$6,%edx
2353	movl	%ebp,%esi
2354	addl	%edi,%ebx
2355	rorl	$9,%esi
2356	movl	%ebp,%ecx
2357	movl	8(%esp),%edi
2358	xorl	%ebp,%esi
2359	movl	%ebp,4(%esp)
2360	xorl	%edi,%ebp
2361	rorl	$11,%esi
2362	andl	%ebp,%eax
2363	leal	275423344(%ebx,%edx,1),%edx
2364	xorl	%ecx,%esi
2365	xorl	%edi,%eax
2366	movl	36(%esp),%ecx
2367	rorl	$2,%esi
2368	addl	%edx,%eax
2369	addl	16(%esp),%edx
2370	addl	%esi,%eax
2371	movl	88(%esp),%esi
2372	movl	%ecx,%ebx
2373	rorl	$11,%ecx
2374	movl	%esi,%edi
2375	rorl	$2,%esi
2376	xorl	%ebx,%ecx
2377	shrl	$3,%ebx
2378	rorl	$7,%ecx
2379	xorl	%edi,%esi
2380	xorl	%ecx,%ebx
2381	rorl	$17,%esi
2382	addl	32(%esp),%ebx
2383	shrl	$10,%edi
2384	addl	68(%esp),%ebx
2385	movl	%edx,%ecx
2386	xorl	%esi,%edi
2387	movl	20(%esp),%esi
2388	rorl	$14,%edx
2389	addl	%edi,%ebx
2390	movl	24(%esp),%edi
2391	xorl	%ecx,%edx
2392	movl	%ebx,32(%esp)
2393	xorl	%edi,%esi
2394	rorl	$5,%edx
2395	andl	%ecx,%esi
2396	movl	%ecx,16(%esp)
2397	xorl	%ecx,%edx
2398	addl	28(%esp),%ebx
2399	xorl	%esi,%edi
2400	rorl	$6,%edx
2401	movl	%eax,%ecx
2402	addl	%edi,%ebx
2403	rorl	$9,%ecx
2404	movl	%eax,%esi
2405	movl	4(%esp),%edi
2406	xorl	%eax,%ecx
2407	movl	%eax,(%esp)
2408	xorl	%edi,%eax
2409	rorl	$11,%ecx
2410	andl	%eax,%ebp
2411	leal	430227734(%ebx,%edx,1),%edx
2412	xorl	%esi,%ecx
2413	xorl	%edi,%ebp
2414	movl	40(%esp),%esi
2415	rorl	$2,%ecx
2416	addl	%edx,%ebp
2417	addl	12(%esp),%edx
2418	addl	%ecx,%ebp
2419	movl	92(%esp),%ecx
2420	movl	%esi,%ebx
2421	rorl	$11,%esi
2422	movl	%ecx,%edi
2423	rorl	$2,%ecx
2424	xorl	%ebx,%esi
2425	shrl	$3,%ebx
2426	rorl	$7,%esi
2427	xorl	%edi,%ecx
2428	xorl	%esi,%ebx
2429	rorl	$17,%ecx
2430	addl	36(%esp),%ebx
2431	shrl	$10,%edi
2432	addl	72(%esp),%ebx
2433	movl	%edx,%esi
2434	xorl	%ecx,%edi
2435	movl	16(%esp),%ecx
2436	rorl	$14,%edx
2437	addl	%edi,%ebx
2438	movl	20(%esp),%edi
2439	xorl	%esi,%edx
2440	movl	%ebx,36(%esp)
2441	xorl	%edi,%ecx
2442	rorl	$5,%edx
2443	andl	%esi,%ecx
2444	movl	%esi,12(%esp)
2445	xorl	%esi,%edx
2446	addl	24(%esp),%ebx
2447	xorl	%ecx,%edi
2448	rorl	$6,%edx
2449	movl	%ebp,%esi
2450	addl	%edi,%ebx
2451	rorl	$9,%esi
2452	movl	%ebp,%ecx
2453	movl	(%esp),%edi
2454	xorl	%ebp,%esi
2455	movl	%ebp,28(%esp)
2456	xorl	%edi,%ebp
2457	rorl	$11,%esi
2458	andl	%ebp,%eax
2459	leal	506948616(%ebx,%edx,1),%edx
2460	xorl	%ecx,%esi
2461	xorl	%edi,%eax
2462	movl	44(%esp),%ecx
2463	rorl	$2,%esi
2464	addl	%edx,%eax
2465	addl	8(%esp),%edx
2466	addl	%esi,%eax
2467	movl	32(%esp),%esi
2468	movl	%ecx,%ebx
2469	rorl	$11,%ecx
2470	movl	%esi,%edi
2471	rorl	$2,%esi
2472	xorl	%ebx,%ecx
2473	shrl	$3,%ebx
2474	rorl	$7,%ecx
2475	xorl	%edi,%esi
2476	xorl	%ecx,%ebx
2477	rorl	$17,%esi
2478	addl	40(%esp),%ebx
2479	shrl	$10,%edi
2480	addl	76(%esp),%ebx
2481	movl	%edx,%ecx
2482	xorl	%esi,%edi
2483	movl	12(%esp),%esi
2484	rorl	$14,%edx
2485	addl	%edi,%ebx
2486	movl	16(%esp),%edi
2487	xorl	%ecx,%edx
2488	movl	%ebx,40(%esp)
2489	xorl	%edi,%esi
2490	rorl	$5,%edx
2491	andl	%ecx,%esi
2492	movl	%ecx,8(%esp)
2493	xorl	%ecx,%edx
2494	addl	20(%esp),%ebx
2495	xorl	%esi,%edi
2496	rorl	$6,%edx
2497	movl	%eax,%ecx
2498	addl	%edi,%ebx
2499	rorl	$9,%ecx
2500	movl	%eax,%esi
2501	movl	28(%esp),%edi
2502	xorl	%eax,%ecx
2503	movl	%eax,24(%esp)
2504	xorl	%edi,%eax
2505	rorl	$11,%ecx
2506	andl	%eax,%ebp
2507	leal	659060556(%ebx,%edx,1),%edx
2508	xorl	%esi,%ecx
2509	xorl	%edi,%ebp
2510	movl	48(%esp),%esi
2511	rorl	$2,%ecx
2512	addl	%edx,%ebp
2513	addl	4(%esp),%edx
2514	addl	%ecx,%ebp
2515	movl	36(%esp),%ecx
2516	movl	%esi,%ebx
2517	rorl	$11,%esi
2518	movl	%ecx,%edi
2519	rorl	$2,%ecx
2520	xorl	%ebx,%esi
2521	shrl	$3,%ebx
2522	rorl	$7,%esi
2523	xorl	%edi,%ecx
2524	xorl	%esi,%ebx
2525	rorl	$17,%ecx
2526	addl	44(%esp),%ebx
2527	shrl	$10,%edi
2528	addl	80(%esp),%ebx
2529	movl	%edx,%esi
2530	xorl	%ecx,%edi
2531	movl	8(%esp),%ecx
2532	rorl	$14,%edx
2533	addl	%edi,%ebx
2534	movl	12(%esp),%edi
2535	xorl	%esi,%edx
2536	movl	%ebx,44(%esp)
2537	xorl	%edi,%ecx
2538	rorl	$5,%edx
2539	andl	%esi,%ecx
2540	movl	%esi,4(%esp)
2541	xorl	%esi,%edx
2542	addl	16(%esp),%ebx
2543	xorl	%ecx,%edi
2544	rorl	$6,%edx
2545	movl	%ebp,%esi
2546	addl	%edi,%ebx
2547	rorl	$9,%esi
2548	movl	%ebp,%ecx
2549	movl	24(%esp),%edi
2550	xorl	%ebp,%esi
2551	movl	%ebp,20(%esp)
2552	xorl	%edi,%ebp
2553	rorl	$11,%esi
2554	andl	%ebp,%eax
2555	leal	883997877(%ebx,%edx,1),%edx
2556	xorl	%ecx,%esi
2557	xorl	%edi,%eax
2558	movl	52(%esp),%ecx
2559	rorl	$2,%esi
2560	addl	%edx,%eax
2561	addl	(%esp),%edx
2562	addl	%esi,%eax
2563	movl	40(%esp),%esi
2564	movl	%ecx,%ebx
2565	rorl	$11,%ecx
2566	movl	%esi,%edi
2567	rorl	$2,%esi
2568	xorl	%ebx,%ecx
2569	shrl	$3,%ebx
2570	rorl	$7,%ecx
2571	xorl	%edi,%esi
2572	xorl	%ecx,%ebx
2573	rorl	$17,%esi
2574	addl	48(%esp),%ebx
2575	shrl	$10,%edi
2576	addl	84(%esp),%ebx
2577	movl	%edx,%ecx
2578	xorl	%esi,%edi
2579	movl	4(%esp),%esi
2580	rorl	$14,%edx
2581	addl	%edi,%ebx
2582	movl	8(%esp),%edi
2583	xorl	%ecx,%edx
2584	movl	%ebx,48(%esp)
2585	xorl	%edi,%esi
2586	rorl	$5,%edx
2587	andl	%ecx,%esi
2588	movl	%ecx,(%esp)
2589	xorl	%ecx,%edx
2590	addl	12(%esp),%ebx
2591	xorl	%esi,%edi
2592	rorl	$6,%edx
2593	movl	%eax,%ecx
2594	addl	%edi,%ebx
2595	rorl	$9,%ecx
2596	movl	%eax,%esi
2597	movl	20(%esp),%edi
2598	xorl	%eax,%ecx
2599	movl	%eax,16(%esp)
2600	xorl	%edi,%eax
2601	rorl	$11,%ecx
2602	andl	%eax,%ebp
2603	leal	958139571(%ebx,%edx,1),%edx
2604	xorl	%esi,%ecx
2605	xorl	%edi,%ebp
2606	movl	56(%esp),%esi
2607	rorl	$2,%ecx
2608	addl	%edx,%ebp
2609	addl	28(%esp),%edx
2610	addl	%ecx,%ebp
2611	movl	44(%esp),%ecx
2612	movl	%esi,%ebx
2613	rorl	$11,%esi
2614	movl	%ecx,%edi
2615	rorl	$2,%ecx
2616	xorl	%ebx,%esi
2617	shrl	$3,%ebx
2618	rorl	$7,%esi
2619	xorl	%edi,%ecx
2620	xorl	%esi,%ebx
2621	rorl	$17,%ecx
2622	addl	52(%esp),%ebx
2623	shrl	$10,%edi
2624	addl	88(%esp),%ebx
2625	movl	%edx,%esi
2626	xorl	%ecx,%edi
2627	movl	(%esp),%ecx
2628	rorl	$14,%edx
2629	addl	%edi,%ebx
2630	movl	4(%esp),%edi
2631	xorl	%esi,%edx
2632	movl	%ebx,52(%esp)
2633	xorl	%edi,%ecx
2634	rorl	$5,%edx
2635	andl	%esi,%ecx
2636	movl	%esi,28(%esp)
2637	xorl	%esi,%edx
2638	addl	8(%esp),%ebx
2639	xorl	%ecx,%edi
2640	rorl	$6,%edx
2641	movl	%ebp,%esi
2642	addl	%edi,%ebx
2643	rorl	$9,%esi
2644	movl	%ebp,%ecx
2645	movl	16(%esp),%edi
2646	xorl	%ebp,%esi
2647	movl	%ebp,12(%esp)
2648	xorl	%edi,%ebp
2649	rorl	$11,%esi
2650	andl	%ebp,%eax
2651	leal	1322822218(%ebx,%edx,1),%edx
2652	xorl	%ecx,%esi
2653	xorl	%edi,%eax
2654	movl	60(%esp),%ecx
2655	rorl	$2,%esi
2656	addl	%edx,%eax
2657	addl	24(%esp),%edx
2658	addl	%esi,%eax
2659	movl	48(%esp),%esi
2660	movl	%ecx,%ebx
2661	rorl	$11,%ecx
2662	movl	%esi,%edi
2663	rorl	$2,%esi
2664	xorl	%ebx,%ecx
2665	shrl	$3,%ebx
2666	rorl	$7,%ecx
2667	xorl	%edi,%esi
2668	xorl	%ecx,%ebx
2669	rorl	$17,%esi
2670	addl	56(%esp),%ebx
2671	shrl	$10,%edi
2672	addl	92(%esp),%ebx
2673	movl	%edx,%ecx
2674	xorl	%esi,%edi
2675	movl	28(%esp),%esi
2676	rorl	$14,%edx
2677	addl	%edi,%ebx
2678	movl	(%esp),%edi
2679	xorl	%ecx,%edx
2680	movl	%ebx,56(%esp)
2681	xorl	%edi,%esi
2682	rorl	$5,%edx
2683	andl	%ecx,%esi
2684	movl	%ecx,24(%esp)
2685	xorl	%ecx,%edx
2686	addl	4(%esp),%ebx
2687	xorl	%esi,%edi
2688	rorl	$6,%edx
2689	movl	%eax,%ecx
2690	addl	%edi,%ebx
2691	rorl	$9,%ecx
2692	movl	%eax,%esi
2693	movl	12(%esp),%edi
2694	xorl	%eax,%ecx
2695	movl	%eax,8(%esp)
2696	xorl	%edi,%eax
2697	rorl	$11,%ecx
2698	andl	%eax,%ebp
2699	leal	1537002063(%ebx,%edx,1),%edx
2700	xorl	%esi,%ecx
2701	xorl	%edi,%ebp
2702	movl	64(%esp),%esi
2703	rorl	$2,%ecx
2704	addl	%edx,%ebp
2705	addl	20(%esp),%edx
2706	addl	%ecx,%ebp
2707	movl	52(%esp),%ecx
2708	movl	%esi,%ebx
2709	rorl	$11,%esi
2710	movl	%ecx,%edi
2711	rorl	$2,%ecx
2712	xorl	%ebx,%esi
2713	shrl	$3,%ebx
2714	rorl	$7,%esi
2715	xorl	%edi,%ecx
2716	xorl	%esi,%ebx
2717	rorl	$17,%ecx
2718	addl	60(%esp),%ebx
2719	shrl	$10,%edi
2720	addl	32(%esp),%ebx
2721	movl	%edx,%esi
2722	xorl	%ecx,%edi
2723	movl	24(%esp),%ecx
2724	rorl	$14,%edx
2725	addl	%edi,%ebx
2726	movl	28(%esp),%edi
2727	xorl	%esi,%edx
2728	movl	%ebx,60(%esp)
2729	xorl	%edi,%ecx
2730	rorl	$5,%edx
2731	andl	%esi,%ecx
2732	movl	%esi,20(%esp)
2733	xorl	%esi,%edx
2734	addl	(%esp),%ebx
2735	xorl	%ecx,%edi
2736	rorl	$6,%edx
2737	movl	%ebp,%esi
2738	addl	%edi,%ebx
2739	rorl	$9,%esi
2740	movl	%ebp,%ecx
2741	movl	8(%esp),%edi
2742	xorl	%ebp,%esi
2743	movl	%ebp,4(%esp)
2744	xorl	%edi,%ebp
2745	rorl	$11,%esi
2746	andl	%ebp,%eax
2747	leal	1747873779(%ebx,%edx,1),%edx
2748	xorl	%ecx,%esi
2749	xorl	%edi,%eax
2750	movl	68(%esp),%ecx
2751	rorl	$2,%esi
2752	addl	%edx,%eax
2753	addl	16(%esp),%edx
2754	addl	%esi,%eax
2755	movl	56(%esp),%esi
2756	movl	%ecx,%ebx
2757	rorl	$11,%ecx
2758	movl	%esi,%edi
2759	rorl	$2,%esi
2760	xorl	%ebx,%ecx
2761	shrl	$3,%ebx
2762	rorl	$7,%ecx
2763	xorl	%edi,%esi
2764	xorl	%ecx,%ebx
2765	rorl	$17,%esi
2766	addl	64(%esp),%ebx
2767	shrl	$10,%edi
2768	addl	36(%esp),%ebx
2769	movl	%edx,%ecx
2770	xorl	%esi,%edi
2771	movl	20(%esp),%esi
2772	rorl	$14,%edx
2773	addl	%edi,%ebx
2774	movl	24(%esp),%edi
2775	xorl	%ecx,%edx
2776	movl	%ebx,64(%esp)
2777	xorl	%edi,%esi
2778	rorl	$5,%edx
2779	andl	%ecx,%esi
2780	movl	%ecx,16(%esp)
2781	xorl	%ecx,%edx
2782	addl	28(%esp),%ebx
2783	xorl	%esi,%edi
2784	rorl	$6,%edx
2785	movl	%eax,%ecx
2786	addl	%edi,%ebx
2787	rorl	$9,%ecx
2788	movl	%eax,%esi
2789	movl	4(%esp),%edi
2790	xorl	%eax,%ecx
2791	movl	%eax,(%esp)
2792	xorl	%edi,%eax
2793	rorl	$11,%ecx
2794	andl	%eax,%ebp
2795	leal	1955562222(%ebx,%edx,1),%edx
2796	xorl	%esi,%ecx
2797	xorl	%edi,%ebp
2798	movl	72(%esp),%esi
2799	rorl	$2,%ecx
2800	addl	%edx,%ebp
2801	addl	12(%esp),%edx
2802	addl	%ecx,%ebp
2803	movl	60(%esp),%ecx
2804	movl	%esi,%ebx
2805	rorl	$11,%esi
2806	movl	%ecx,%edi
2807	rorl	$2,%ecx
2808	xorl	%ebx,%esi
2809	shrl	$3,%ebx
2810	rorl	$7,%esi
2811	xorl	%edi,%ecx
2812	xorl	%esi,%ebx
2813	rorl	$17,%ecx
2814	addl	68(%esp),%ebx
2815	shrl	$10,%edi
2816	addl	40(%esp),%ebx
2817	movl	%edx,%esi
2818	xorl	%ecx,%edi
2819	movl	16(%esp),%ecx
2820	rorl	$14,%edx
2821	addl	%edi,%ebx
2822	movl	20(%esp),%edi
2823	xorl	%esi,%edx
2824	movl	%ebx,68(%esp)
2825	xorl	%edi,%ecx
2826	rorl	$5,%edx
2827	andl	%esi,%ecx
2828	movl	%esi,12(%esp)
2829	xorl	%esi,%edx
2830	addl	24(%esp),%ebx
2831	xorl	%ecx,%edi
2832	rorl	$6,%edx
2833	movl	%ebp,%esi
2834	addl	%edi,%ebx
2835	rorl	$9,%esi
2836	movl	%ebp,%ecx
2837	movl	(%esp),%edi
2838	xorl	%ebp,%esi
2839	movl	%ebp,28(%esp)
2840	xorl	%edi,%ebp
2841	rorl	$11,%esi
2842	andl	%ebp,%eax
2843	leal	2024104815(%ebx,%edx,1),%edx
2844	xorl	%ecx,%esi
2845	xorl	%edi,%eax
2846	movl	76(%esp),%ecx
2847	rorl	$2,%esi
2848	addl	%edx,%eax
2849	addl	8(%esp),%edx
2850	addl	%esi,%eax
2851	movl	64(%esp),%esi
2852	movl	%ecx,%ebx
2853	rorl	$11,%ecx
2854	movl	%esi,%edi
2855	rorl	$2,%esi
2856	xorl	%ebx,%ecx
2857	shrl	$3,%ebx
2858	rorl	$7,%ecx
2859	xorl	%edi,%esi
2860	xorl	%ecx,%ebx
2861	rorl	$17,%esi
2862	addl	72(%esp),%ebx
2863	shrl	$10,%edi
2864	addl	44(%esp),%ebx
2865	movl	%edx,%ecx
2866	xorl	%esi,%edi
2867	movl	12(%esp),%esi
2868	rorl	$14,%edx
2869	addl	%edi,%ebx
2870	movl	16(%esp),%edi
2871	xorl	%ecx,%edx
2872	movl	%ebx,72(%esp)
2873	xorl	%edi,%esi
2874	rorl	$5,%edx
2875	andl	%ecx,%esi
2876	movl	%ecx,8(%esp)
2877	xorl	%ecx,%edx
2878	addl	20(%esp),%ebx
2879	xorl	%esi,%edi
2880	rorl	$6,%edx
2881	movl	%eax,%ecx
2882	addl	%edi,%ebx
2883	rorl	$9,%ecx
2884	movl	%eax,%esi
2885	movl	28(%esp),%edi
2886	xorl	%eax,%ecx
2887	movl	%eax,24(%esp)
2888	xorl	%edi,%eax
2889	rorl	$11,%ecx
2890	andl	%eax,%ebp
2891	leal	2227730452(%ebx,%edx,1),%edx
2892	xorl	%esi,%ecx
2893	xorl	%edi,%ebp
2894	movl	80(%esp),%esi
2895	rorl	$2,%ecx
2896	addl	%edx,%ebp
2897	addl	4(%esp),%edx
2898	addl	%ecx,%ebp
2899	movl	68(%esp),%ecx
2900	movl	%esi,%ebx
2901	rorl	$11,%esi
2902	movl	%ecx,%edi
2903	rorl	$2,%ecx
2904	xorl	%ebx,%esi
2905	shrl	$3,%ebx
2906	rorl	$7,%esi
2907	xorl	%edi,%ecx
2908	xorl	%esi,%ebx
2909	rorl	$17,%ecx
2910	addl	76(%esp),%ebx
2911	shrl	$10,%edi
2912	addl	48(%esp),%ebx
2913	movl	%edx,%esi
2914	xorl	%ecx,%edi
2915	movl	8(%esp),%ecx
2916	rorl	$14,%edx
2917	addl	%edi,%ebx
2918	movl	12(%esp),%edi
2919	xorl	%esi,%edx
2920	movl	%ebx,76(%esp)
2921	xorl	%edi,%ecx
2922	rorl	$5,%edx
2923	andl	%esi,%ecx
2924	movl	%esi,4(%esp)
2925	xorl	%esi,%edx
2926	addl	16(%esp),%ebx
2927	xorl	%ecx,%edi
2928	rorl	$6,%edx
2929	movl	%ebp,%esi
2930	addl	%edi,%ebx
2931	rorl	$9,%esi
2932	movl	%ebp,%ecx
2933	movl	24(%esp),%edi
2934	xorl	%ebp,%esi
2935	movl	%ebp,20(%esp)
2936	xorl	%edi,%ebp
2937	rorl	$11,%esi
2938	andl	%ebp,%eax
2939	leal	2361852424(%ebx,%edx,1),%edx
2940	xorl	%ecx,%esi
2941	xorl	%edi,%eax
2942	movl	84(%esp),%ecx
2943	rorl	$2,%esi
2944	addl	%edx,%eax
2945	addl	(%esp),%edx
2946	addl	%esi,%eax
2947	movl	72(%esp),%esi
2948	movl	%ecx,%ebx
2949	rorl	$11,%ecx
2950	movl	%esi,%edi
2951	rorl	$2,%esi
2952	xorl	%ebx,%ecx
2953	shrl	$3,%ebx
2954	rorl	$7,%ecx
2955	xorl	%edi,%esi
2956	xorl	%ecx,%ebx
2957	rorl	$17,%esi
2958	addl	80(%esp),%ebx
2959	shrl	$10,%edi
2960	addl	52(%esp),%ebx
2961	movl	%edx,%ecx
2962	xorl	%esi,%edi
2963	movl	4(%esp),%esi
2964	rorl	$14,%edx
2965	addl	%edi,%ebx
2966	movl	8(%esp),%edi
2967	xorl	%ecx,%edx
2968	movl	%ebx,80(%esp)
2969	xorl	%edi,%esi
2970	rorl	$5,%edx
2971	andl	%ecx,%esi
2972	movl	%ecx,(%esp)
2973	xorl	%ecx,%edx
2974	addl	12(%esp),%ebx
2975	xorl	%esi,%edi
2976	rorl	$6,%edx
2977	movl	%eax,%ecx
2978	addl	%edi,%ebx
2979	rorl	$9,%ecx
2980	movl	%eax,%esi
2981	movl	20(%esp),%edi
2982	xorl	%eax,%ecx
2983	movl	%eax,16(%esp)
2984	xorl	%edi,%eax
2985	rorl	$11,%ecx
2986	andl	%eax,%ebp
2987	leal	2428436474(%ebx,%edx,1),%edx
2988	xorl	%esi,%ecx
2989	xorl	%edi,%ebp
2990	movl	88(%esp),%esi
2991	rorl	$2,%ecx
2992	addl	%edx,%ebp
2993	addl	28(%esp),%edx
2994	addl	%ecx,%ebp
2995	movl	76(%esp),%ecx
2996	movl	%esi,%ebx
2997	rorl	$11,%esi
2998	movl	%ecx,%edi
2999	rorl	$2,%ecx
3000	xorl	%ebx,%esi
3001	shrl	$3,%ebx
3002	rorl	$7,%esi
3003	xorl	%edi,%ecx
3004	xorl	%esi,%ebx
3005	rorl	$17,%ecx
3006	addl	84(%esp),%ebx
3007	shrl	$10,%edi
3008	addl	56(%esp),%ebx
3009	movl	%edx,%esi
3010	xorl	%ecx,%edi
3011	movl	(%esp),%ecx
3012	rorl	$14,%edx
3013	addl	%edi,%ebx
3014	movl	4(%esp),%edi
3015	xorl	%esi,%edx
3016	movl	%ebx,84(%esp)
3017	xorl	%edi,%ecx
3018	rorl	$5,%edx
3019	andl	%esi,%ecx
3020	movl	%esi,28(%esp)
3021	xorl	%esi,%edx
3022	addl	8(%esp),%ebx
3023	xorl	%ecx,%edi
3024	rorl	$6,%edx
3025	movl	%ebp,%esi
3026	addl	%edi,%ebx
3027	rorl	$9,%esi
3028	movl	%ebp,%ecx
3029	movl	16(%esp),%edi
3030	xorl	%ebp,%esi
3031	movl	%ebp,12(%esp)
3032	xorl	%edi,%ebp
3033	rorl	$11,%esi
3034	andl	%ebp,%eax
3035	leal	2756734187(%ebx,%edx,1),%edx
3036	xorl	%ecx,%esi
3037	xorl	%edi,%eax
3038	movl	92(%esp),%ecx
3039	rorl	$2,%esi
3040	addl	%edx,%eax
3041	addl	24(%esp),%edx
3042	addl	%esi,%eax
3043	movl	80(%esp),%esi
3044	movl	%ecx,%ebx
3045	rorl	$11,%ecx
3046	movl	%esi,%edi
3047	rorl	$2,%esi
3048	xorl	%ebx,%ecx
3049	shrl	$3,%ebx
3050	rorl	$7,%ecx
3051	xorl	%edi,%esi
3052	xorl	%ecx,%ebx
3053	rorl	$17,%esi
3054	addl	88(%esp),%ebx
3055	shrl	$10,%edi
3056	addl	60(%esp),%ebx
3057	movl	%edx,%ecx
3058	xorl	%esi,%edi
3059	movl	28(%esp),%esi
3060	rorl	$14,%edx
3061	addl	%edi,%ebx
3062	movl	(%esp),%edi
3063	xorl	%ecx,%edx
3064	xorl	%edi,%esi
3065	rorl	$5,%edx
3066	andl	%ecx,%esi
3067	movl	%ecx,24(%esp)
3068	xorl	%ecx,%edx
3069	addl	4(%esp),%ebx
3070	xorl	%esi,%edi
3071	rorl	$6,%edx
3072	movl	%eax,%ecx
3073	addl	%edi,%ebx
3074	rorl	$9,%ecx
3075	movl	%eax,%esi
3076	movl	12(%esp),%edi
3077	xorl	%eax,%ecx
3078	movl	%eax,8(%esp)
3079	xorl	%edi,%eax
3080	rorl	$11,%ecx
3081	andl	%eax,%ebp
3082	leal	3204031479(%ebx,%edx,1),%edx
3083	xorl	%esi,%ecx
3084	xorl	%edi,%ebp
3085	movl	32(%esp),%esi
3086	rorl	$2,%ecx
3087	addl	%edx,%ebp
3088	addl	20(%esp),%edx
3089	addl	%ecx,%ebp
3090	movl	84(%esp),%ecx
3091	movl	%esi,%ebx
3092	rorl	$11,%esi
3093	movl	%ecx,%edi
3094	rorl	$2,%ecx
3095	xorl	%ebx,%esi
3096	shrl	$3,%ebx
3097	rorl	$7,%esi
3098	xorl	%edi,%ecx
3099	xorl	%esi,%ebx
3100	rorl	$17,%ecx
3101	addl	92(%esp),%ebx
3102	shrl	$10,%edi
3103	addl	64(%esp),%ebx
3104	movl	%edx,%esi
3105	xorl	%ecx,%edi
3106	movl	24(%esp),%ecx
3107	rorl	$14,%edx
3108	addl	%edi,%ebx
3109	movl	28(%esp),%edi
3110	xorl	%esi,%edx
3111	xorl	%edi,%ecx
3112	rorl	$5,%edx
3113	andl	%esi,%ecx
3114	movl	%esi,20(%esp)
3115	xorl	%esi,%edx
3116	addl	(%esp),%ebx
3117	xorl	%ecx,%edi
3118	rorl	$6,%edx
3119	movl	%ebp,%esi
3120	addl	%edi,%ebx
3121	rorl	$9,%esi
3122	movl	%ebp,%ecx
3123	movl	8(%esp),%edi
3124	xorl	%ebp,%esi
3125	movl	%ebp,4(%esp)
3126	xorl	%edi,%ebp
3127	rorl	$11,%esi
3128	andl	%ebp,%eax
3129	leal	3329325298(%ebx,%edx,1),%edx
3130	xorl	%ecx,%esi
3131	xorl	%edi,%eax
3132	rorl	$2,%esi
3133	addl	%edx,%eax
3134	addl	16(%esp),%edx
3135	addl	%esi,%eax
3136	movl	96(%esp),%esi
3137	xorl	%edi,%ebp
3138	movl	12(%esp),%ecx
3139	addl	(%esi),%eax
3140	addl	4(%esi),%ebp
3141	addl	8(%esi),%edi
3142	addl	12(%esi),%ecx
3143	movl	%eax,(%esi)
3144	movl	%ebp,4(%esi)
3145	movl	%edi,8(%esi)
3146	movl	%ecx,12(%esi)
3147	movl	%ebp,4(%esp)
3148	xorl	%edi,%ebp
3149	movl	%edi,8(%esp)
3150	movl	%ecx,12(%esp)
3151	movl	20(%esp),%edi
3152	movl	24(%esp),%ebx
3153	movl	28(%esp),%ecx
3154	addl	16(%esi),%edx
3155	addl	20(%esi),%edi
3156	addl	24(%esi),%ebx
3157	addl	28(%esi),%ecx
3158	movl	%edx,16(%esi)
3159	movl	%edi,20(%esi)
3160	movl	%ebx,24(%esi)
3161	movl	%ecx,28(%esi)
3162	movl	%edi,20(%esp)
3163	movl	100(%esp),%edi
3164	movl	%ebx,24(%esp)
3165	movl	%ecx,28(%esp)
3166	cmpl	104(%esp),%edi
3167	jb	.L010grand_loop
3168	movl	108(%esp),%esp
3169	popl	%edi
3170	popl	%esi
3171	popl	%ebx
3172	popl	%ebp
3173	ret
3174.align	32
3175.L004shaext:
3176	subl	$32,%esp
3177	movdqu	(%esi),%xmm1
3178	leal	128(%ebp),%ebp
3179	movdqu	16(%esi),%xmm2
3180	movdqa	128(%ebp),%xmm7
3181	pshufd	$27,%xmm1,%xmm0
3182	pshufd	$177,%xmm1,%xmm1
3183	pshufd	$27,%xmm2,%xmm2
3184.byte	102,15,58,15,202,8
3185	punpcklqdq	%xmm0,%xmm2
3186	jmp	.L011loop_shaext
3187.align	16
3188.L011loop_shaext:
3189	movdqu	(%edi),%xmm3
3190	movdqu	16(%edi),%xmm4
3191	movdqu	32(%edi),%xmm5
3192.byte	102,15,56,0,223
3193	movdqu	48(%edi),%xmm6
3194	movdqa	%xmm2,16(%esp)
3195	movdqa	-128(%ebp),%xmm0
3196	paddd	%xmm3,%xmm0
3197.byte	102,15,56,0,231
3198.byte	15,56,203,209
3199	pshufd	$14,%xmm0,%xmm0
3200	nop
3201	movdqa	%xmm1,(%esp)
3202.byte	15,56,203,202
3203	movdqa	-112(%ebp),%xmm0
3204	paddd	%xmm4,%xmm0
3205.byte	102,15,56,0,239
3206.byte	15,56,203,209
3207	pshufd	$14,%xmm0,%xmm0
3208	leal	64(%edi),%edi
3209.byte	15,56,204,220
3210.byte	15,56,203,202
3211	movdqa	-96(%ebp),%xmm0
3212	paddd	%xmm5,%xmm0
3213.byte	102,15,56,0,247
3214.byte	15,56,203,209
3215	pshufd	$14,%xmm0,%xmm0
3216	movdqa	%xmm6,%xmm7
3217.byte	102,15,58,15,253,4
3218	nop
3219	paddd	%xmm7,%xmm3
3220.byte	15,56,204,229
3221.byte	15,56,203,202
3222	movdqa	-80(%ebp),%xmm0
3223	paddd	%xmm6,%xmm0
3224.byte	15,56,205,222
3225.byte	15,56,203,209
3226	pshufd	$14,%xmm0,%xmm0
3227	movdqa	%xmm3,%xmm7
3228.byte	102,15,58,15,254,4
3229	nop
3230	paddd	%xmm7,%xmm4
3231.byte	15,56,204,238
3232.byte	15,56,203,202
3233	movdqa	-64(%ebp),%xmm0
3234	paddd	%xmm3,%xmm0
3235.byte	15,56,205,227
3236.byte	15,56,203,209
3237	pshufd	$14,%xmm0,%xmm0
3238	movdqa	%xmm4,%xmm7
3239.byte	102,15,58,15,251,4
3240	nop
3241	paddd	%xmm7,%xmm5
3242.byte	15,56,204,243
3243.byte	15,56,203,202
3244	movdqa	-48(%ebp),%xmm0
3245	paddd	%xmm4,%xmm0
3246.byte	15,56,205,236
3247.byte	15,56,203,209
3248	pshufd	$14,%xmm0,%xmm0
3249	movdqa	%xmm5,%xmm7
3250.byte	102,15,58,15,252,4
3251	nop
3252	paddd	%xmm7,%xmm6
3253.byte	15,56,204,220
3254.byte	15,56,203,202
3255	movdqa	-32(%ebp),%xmm0
3256	paddd	%xmm5,%xmm0
3257.byte	15,56,205,245
3258.byte	15,56,203,209
3259	pshufd	$14,%xmm0,%xmm0
3260	movdqa	%xmm6,%xmm7
3261.byte	102,15,58,15,253,4
3262	nop
3263	paddd	%xmm7,%xmm3
3264.byte	15,56,204,229
3265.byte	15,56,203,202
3266	movdqa	-16(%ebp),%xmm0
3267	paddd	%xmm6,%xmm0
3268.byte	15,56,205,222
3269.byte	15,56,203,209
3270	pshufd	$14,%xmm0,%xmm0
3271	movdqa	%xmm3,%xmm7
3272.byte	102,15,58,15,254,4
3273	nop
3274	paddd	%xmm7,%xmm4
3275.byte	15,56,204,238
3276.byte	15,56,203,202
3277	movdqa	(%ebp),%xmm0
3278	paddd	%xmm3,%xmm0
3279.byte	15,56,205,227
3280.byte	15,56,203,209
3281	pshufd	$14,%xmm0,%xmm0
3282	movdqa	%xmm4,%xmm7
3283.byte	102,15,58,15,251,4
3284	nop
3285	paddd	%xmm7,%xmm5
3286.byte	15,56,204,243
3287.byte	15,56,203,202
3288	movdqa	16(%ebp),%xmm0
3289	paddd	%xmm4,%xmm0
3290.byte	15,56,205,236
3291.byte	15,56,203,209
3292	pshufd	$14,%xmm0,%xmm0
3293	movdqa	%xmm5,%xmm7
3294.byte	102,15,58,15,252,4
3295	nop
3296	paddd	%xmm7,%xmm6
3297.byte	15,56,204,220
3298.byte	15,56,203,202
3299	movdqa	32(%ebp),%xmm0
3300	paddd	%xmm5,%xmm0
3301.byte	15,56,205,245
3302.byte	15,56,203,209
3303	pshufd	$14,%xmm0,%xmm0
3304	movdqa	%xmm6,%xmm7
3305.byte	102,15,58,15,253,4
3306	nop
3307	paddd	%xmm7,%xmm3
3308.byte	15,56,204,229
3309.byte	15,56,203,202
3310	movdqa	48(%ebp),%xmm0
3311	paddd	%xmm6,%xmm0
3312.byte	15,56,205,222
3313.byte	15,56,203,209
3314	pshufd	$14,%xmm0,%xmm0
3315	movdqa	%xmm3,%xmm7
3316.byte	102,15,58,15,254,4
3317	nop
3318	paddd	%xmm7,%xmm4
3319.byte	15,56,204,238
3320.byte	15,56,203,202
3321	movdqa	64(%ebp),%xmm0
3322	paddd	%xmm3,%xmm0
3323.byte	15,56,205,227
3324.byte	15,56,203,209
3325	pshufd	$14,%xmm0,%xmm0
3326	movdqa	%xmm4,%xmm7
3327.byte	102,15,58,15,251,4
3328	nop
3329	paddd	%xmm7,%xmm5
3330.byte	15,56,204,243
3331.byte	15,56,203,202
3332	movdqa	80(%ebp),%xmm0
3333	paddd	%xmm4,%xmm0
3334.byte	15,56,205,236
3335.byte	15,56,203,209
3336	pshufd	$14,%xmm0,%xmm0
3337	movdqa	%xmm5,%xmm7
3338.byte	102,15,58,15,252,4
3339.byte	15,56,203,202
3340	paddd	%xmm7,%xmm6
3341	movdqa	96(%ebp),%xmm0
3342	paddd	%xmm5,%xmm0
3343.byte	15,56,203,209
3344	pshufd	$14,%xmm0,%xmm0
3345.byte	15,56,205,245
3346	movdqa	128(%ebp),%xmm7
3347.byte	15,56,203,202
3348	movdqa	112(%ebp),%xmm0
3349	paddd	%xmm6,%xmm0
3350	nop
3351.byte	15,56,203,209
3352	pshufd	$14,%xmm0,%xmm0
3353	cmpl	%edi,%eax
3354	nop
3355.byte	15,56,203,202
3356	paddd	16(%esp),%xmm2
3357	paddd	(%esp),%xmm1
3358	jnz	.L011loop_shaext
3359	pshufd	$177,%xmm2,%xmm2
3360	pshufd	$27,%xmm1,%xmm7
3361	pshufd	$177,%xmm1,%xmm1
3362	punpckhqdq	%xmm2,%xmm1
3363.byte	102,15,58,15,215,8
3364	movl	44(%esp),%esp
3365	movdqu	%xmm1,(%esi)
3366	movdqu	%xmm2,16(%esi)
3367	popl	%edi
3368	popl	%esi
3369	popl	%ebx
3370	popl	%ebp
3371	ret
3372.align	32
3373.L006SSSE3:
3374	leal	-96(%esp),%esp
3375	movl	(%esi),%eax
3376	movl	4(%esi),%ebx
3377	movl	8(%esi),%ecx
3378	movl	12(%esi),%edi
3379	movl	%ebx,4(%esp)
3380	xorl	%ecx,%ebx
3381	movl	%ecx,8(%esp)
3382	movl	%edi,12(%esp)
3383	movl	16(%esi),%edx
3384	movl	20(%esi),%edi
3385	movl	24(%esi),%ecx
3386	movl	28(%esi),%esi
3387	movl	%edi,20(%esp)
3388	movl	100(%esp),%edi
3389	movl	%ecx,24(%esp)
3390	movl	%esi,28(%esp)
3391	movdqa	256(%ebp),%xmm7
3392	jmp	.L012grand_ssse3
3393.align	16
3394.L012grand_ssse3:
3395	movdqu	(%edi),%xmm0
3396	movdqu	16(%edi),%xmm1
3397	movdqu	32(%edi),%xmm2
3398	movdqu	48(%edi),%xmm3
3399	addl	$64,%edi
3400.byte	102,15,56,0,199
3401	movl	%edi,100(%esp)
3402.byte	102,15,56,0,207
3403	movdqa	(%ebp),%xmm4
3404.byte	102,15,56,0,215
3405	movdqa	16(%ebp),%xmm5
3406	paddd	%xmm0,%xmm4
3407.byte	102,15,56,0,223
3408	movdqa	32(%ebp),%xmm6
3409	paddd	%xmm1,%xmm5
3410	movdqa	48(%ebp),%xmm7
3411	movdqa	%xmm4,32(%esp)
3412	paddd	%xmm2,%xmm6
3413	movdqa	%xmm5,48(%esp)
3414	paddd	%xmm3,%xmm7
3415	movdqa	%xmm6,64(%esp)
3416	movdqa	%xmm7,80(%esp)
3417	jmp	.L013ssse3_00_47
3418.align	16
3419.L013ssse3_00_47:
3420	addl	$64,%ebp
3421	movl	%edx,%ecx
3422	movdqa	%xmm1,%xmm4
3423	rorl	$14,%edx
3424	movl	20(%esp),%esi
3425	movdqa	%xmm3,%xmm7
3426	xorl	%ecx,%edx
3427	movl	24(%esp),%edi
3428.byte	102,15,58,15,224,4
3429	xorl	%edi,%esi
3430	rorl	$5,%edx
3431	andl	%ecx,%esi
3432.byte	102,15,58,15,250,4
3433	movl	%ecx,16(%esp)
3434	xorl	%ecx,%edx
3435	xorl	%esi,%edi
3436	movdqa	%xmm4,%xmm5
3437	rorl	$6,%edx
3438	movl	%eax,%ecx
3439	movdqa	%xmm4,%xmm6
3440	addl	%edi,%edx
3441	movl	4(%esp),%edi
3442	psrld	$3,%xmm4
3443	movl	%eax,%esi
3444	rorl	$9,%ecx
3445	paddd	%xmm7,%xmm0
3446	movl	%eax,(%esp)
3447	xorl	%eax,%ecx
3448	psrld	$7,%xmm6
3449	xorl	%edi,%eax
3450	addl	28(%esp),%edx
3451	rorl	$11,%ecx
3452	andl	%eax,%ebx
3453	pshufd	$250,%xmm3,%xmm7
3454	xorl	%esi,%ecx
3455	addl	32(%esp),%edx
3456	pslld	$14,%xmm5
3457	xorl	%edi,%ebx
3458	rorl	$2,%ecx
3459	pxor	%xmm6,%xmm4
3460	addl	%edx,%ebx
3461	addl	12(%esp),%edx
3462	psrld	$11,%xmm6
3463	addl	%ecx,%ebx
3464	movl	%edx,%ecx
3465	rorl	$14,%edx
3466	pxor	%xmm5,%xmm4
3467	movl	16(%esp),%esi
3468	xorl	%ecx,%edx
3469	pslld	$11,%xmm5
3470	movl	20(%esp),%edi
3471	xorl	%edi,%esi
3472	rorl	$5,%edx
3473	pxor	%xmm6,%xmm4
3474	andl	%ecx,%esi
3475	movl	%ecx,12(%esp)
3476	movdqa	%xmm7,%xmm6
3477	xorl	%ecx,%edx
3478	xorl	%esi,%edi
3479	rorl	$6,%edx
3480	pxor	%xmm5,%xmm4
3481	movl	%ebx,%ecx
3482	addl	%edi,%edx
3483	psrld	$10,%xmm7
3484	movl	(%esp),%edi
3485	movl	%ebx,%esi
3486	rorl	$9,%ecx
3487	paddd	%xmm4,%xmm0
3488	movl	%ebx,28(%esp)
3489	xorl	%ebx,%ecx
3490	psrlq	$17,%xmm6
3491	xorl	%edi,%ebx
3492	addl	24(%esp),%edx
3493	rorl	$11,%ecx
3494	pxor	%xmm6,%xmm7
3495	andl	%ebx,%eax
3496	xorl	%esi,%ecx
3497	psrlq	$2,%xmm6
3498	addl	36(%esp),%edx
3499	xorl	%edi,%eax
3500	rorl	$2,%ecx
3501	pxor	%xmm6,%xmm7
3502	addl	%edx,%eax
3503	addl	8(%esp),%edx
3504	pshufd	$128,%xmm7,%xmm7
3505	addl	%ecx,%eax
3506	movl	%edx,%ecx
3507	rorl	$14,%edx
3508	movl	12(%esp),%esi
3509	xorl	%ecx,%edx
3510	movl	16(%esp),%edi
3511	xorl	%edi,%esi
3512	rorl	$5,%edx
3513	andl	%ecx,%esi
3514	psrldq	$8,%xmm7
3515	movl	%ecx,8(%esp)
3516	xorl	%ecx,%edx
3517	xorl	%esi,%edi
3518	paddd	%xmm7,%xmm0
3519	rorl	$6,%edx
3520	movl	%eax,%ecx
3521	addl	%edi,%edx
3522	movl	28(%esp),%edi
3523	movl	%eax,%esi
3524	rorl	$9,%ecx
3525	movl	%eax,24(%esp)
3526	pshufd	$80,%xmm0,%xmm7
3527	xorl	%eax,%ecx
3528	xorl	%edi,%eax
3529	addl	20(%esp),%edx
3530	movdqa	%xmm7,%xmm6
3531	rorl	$11,%ecx
3532	psrld	$10,%xmm7
3533	andl	%eax,%ebx
3534	psrlq	$17,%xmm6
3535	xorl	%esi,%ecx
3536	addl	40(%esp),%edx
3537	xorl	%edi,%ebx
3538	rorl	$2,%ecx
3539	pxor	%xmm6,%xmm7
3540	addl	%edx,%ebx
3541	addl	4(%esp),%edx
3542	psrlq	$2,%xmm6
3543	addl	%ecx,%ebx
3544	movl	%edx,%ecx
3545	rorl	$14,%edx
3546	pxor	%xmm6,%xmm7
3547	movl	8(%esp),%esi
3548	xorl	%ecx,%edx
3549	movl	12(%esp),%edi
3550	pshufd	$8,%xmm7,%xmm7
3551	xorl	%edi,%esi
3552	rorl	$5,%edx
3553	movdqa	(%ebp),%xmm6
3554	andl	%ecx,%esi
3555	movl	%ecx,4(%esp)
3556	pslldq	$8,%xmm7
3557	xorl	%ecx,%edx
3558	xorl	%esi,%edi
3559	rorl	$6,%edx
3560	movl	%ebx,%ecx
3561	addl	%edi,%edx
3562	movl	24(%esp),%edi
3563	movl	%ebx,%esi
3564	rorl	$9,%ecx
3565	paddd	%xmm7,%xmm0
3566	movl	%ebx,20(%esp)
3567	xorl	%ebx,%ecx
3568	xorl	%edi,%ebx
3569	addl	16(%esp),%edx
3570	paddd	%xmm0,%xmm6
3571	rorl	$11,%ecx
3572	andl	%ebx,%eax
3573	xorl	%esi,%ecx
3574	addl	44(%esp),%edx
3575	xorl	%edi,%eax
3576	rorl	$2,%ecx
3577	addl	%edx,%eax
3578	addl	(%esp),%edx
3579	addl	%ecx,%eax
3580	movdqa	%xmm6,32(%esp)
3581	movl	%edx,%ecx
3582	movdqa	%xmm2,%xmm4
3583	rorl	$14,%edx
3584	movl	4(%esp),%esi
3585	movdqa	%xmm0,%xmm7
3586	xorl	%ecx,%edx
3587	movl	8(%esp),%edi
3588.byte	102,15,58,15,225,4
3589	xorl	%edi,%esi
3590	rorl	$5,%edx
3591	andl	%ecx,%esi
3592.byte	102,15,58,15,251,4
3593	movl	%ecx,(%esp)
3594	xorl	%ecx,%edx
3595	xorl	%esi,%edi
3596	movdqa	%xmm4,%xmm5
3597	rorl	$6,%edx
3598	movl	%eax,%ecx
3599	movdqa	%xmm4,%xmm6
3600	addl	%edi,%edx
3601	movl	20(%esp),%edi
3602	psrld	$3,%xmm4
3603	movl	%eax,%esi
3604	rorl	$9,%ecx
3605	paddd	%xmm7,%xmm1
3606	movl	%eax,16(%esp)
3607	xorl	%eax,%ecx
3608	psrld	$7,%xmm6
3609	xorl	%edi,%eax
3610	addl	12(%esp),%edx
3611	rorl	$11,%ecx
3612	andl	%eax,%ebx
3613	pshufd	$250,%xmm0,%xmm7
3614	xorl	%esi,%ecx
3615	addl	48(%esp),%edx
3616	pslld	$14,%xmm5
3617	xorl	%edi,%ebx
3618	rorl	$2,%ecx
3619	pxor	%xmm6,%xmm4
3620	addl	%edx,%ebx
3621	addl	28(%esp),%edx
3622	psrld	$11,%xmm6
3623	addl	%ecx,%ebx
3624	movl	%edx,%ecx
3625	rorl	$14,%edx
3626	pxor	%xmm5,%xmm4
3627	movl	(%esp),%esi
3628	xorl	%ecx,%edx
3629	pslld	$11,%xmm5
3630	movl	4(%esp),%edi
3631	xorl	%edi,%esi
3632	rorl	$5,%edx
3633	pxor	%xmm6,%xmm4
3634	andl	%ecx,%esi
3635	movl	%ecx,28(%esp)
3636	movdqa	%xmm7,%xmm6
3637	xorl	%ecx,%edx
3638	xorl	%esi,%edi
3639	rorl	$6,%edx
3640	pxor	%xmm5,%xmm4
3641	movl	%ebx,%ecx
3642	addl	%edi,%edx
3643	psrld	$10,%xmm7
3644	movl	16(%esp),%edi
3645	movl	%ebx,%esi
3646	rorl	$9,%ecx
3647	paddd	%xmm4,%xmm1
3648	movl	%ebx,12(%esp)
3649	xorl	%ebx,%ecx
3650	psrlq	$17,%xmm6
3651	xorl	%edi,%ebx
3652	addl	8(%esp),%edx
3653	rorl	$11,%ecx
3654	pxor	%xmm6,%xmm7
3655	andl	%ebx,%eax
3656	xorl	%esi,%ecx
3657	psrlq	$2,%xmm6
3658	addl	52(%esp),%edx
3659	xorl	%edi,%eax
3660	rorl	$2,%ecx
3661	pxor	%xmm6,%xmm7
3662	addl	%edx,%eax
3663	addl	24(%esp),%edx
3664	pshufd	$128,%xmm7,%xmm7
3665	addl	%ecx,%eax
3666	movl	%edx,%ecx
3667	rorl	$14,%edx
3668	movl	28(%esp),%esi
3669	xorl	%ecx,%edx
3670	movl	(%esp),%edi
3671	xorl	%edi,%esi
3672	rorl	$5,%edx
3673	andl	%ecx,%esi
3674	psrldq	$8,%xmm7
3675	movl	%ecx,24(%esp)
3676	xorl	%ecx,%edx
3677	xorl	%esi,%edi
3678	paddd	%xmm7,%xmm1
3679	rorl	$6,%edx
3680	movl	%eax,%ecx
3681	addl	%edi,%edx
3682	movl	12(%esp),%edi
3683	movl	%eax,%esi
3684	rorl	$9,%ecx
3685	movl	%eax,8(%esp)
3686	pshufd	$80,%xmm1,%xmm7
3687	xorl	%eax,%ecx
3688	xorl	%edi,%eax
3689	addl	4(%esp),%edx
3690	movdqa	%xmm7,%xmm6
3691	rorl	$11,%ecx
3692	psrld	$10,%xmm7
3693	andl	%eax,%ebx
3694	psrlq	$17,%xmm6
3695	xorl	%esi,%ecx
3696	addl	56(%esp),%edx
3697	xorl	%edi,%ebx
3698	rorl	$2,%ecx
3699	pxor	%xmm6,%xmm7
3700	addl	%edx,%ebx
3701	addl	20(%esp),%edx
3702	psrlq	$2,%xmm6
3703	addl	%ecx,%ebx
3704	movl	%edx,%ecx
3705	rorl	$14,%edx
3706	pxor	%xmm6,%xmm7
3707	movl	24(%esp),%esi
3708	xorl	%ecx,%edx
3709	movl	28(%esp),%edi
3710	pshufd	$8,%xmm7,%xmm7
3711	xorl	%edi,%esi
3712	rorl	$5,%edx
3713	movdqa	16(%ebp),%xmm6
3714	andl	%ecx,%esi
3715	movl	%ecx,20(%esp)
3716	pslldq	$8,%xmm7
3717	xorl	%ecx,%edx
3718	xorl	%esi,%edi
3719	rorl	$6,%edx
3720	movl	%ebx,%ecx
3721	addl	%edi,%edx
3722	movl	8(%esp),%edi
3723	movl	%ebx,%esi
3724	rorl	$9,%ecx
3725	paddd	%xmm7,%xmm1
3726	movl	%ebx,4(%esp)
3727	xorl	%ebx,%ecx
3728	xorl	%edi,%ebx
3729	addl	(%esp),%edx
3730	paddd	%xmm1,%xmm6
3731	rorl	$11,%ecx
3732	andl	%ebx,%eax
3733	xorl	%esi,%ecx
3734	addl	60(%esp),%edx
3735	xorl	%edi,%eax
3736	rorl	$2,%ecx
3737	addl	%edx,%eax
3738	addl	16(%esp),%edx
3739	addl	%ecx,%eax
3740	movdqa	%xmm6,48(%esp)
3741	movl	%edx,%ecx
3742	movdqa	%xmm3,%xmm4
3743	rorl	$14,%edx
3744	movl	20(%esp),%esi
3745	movdqa	%xmm1,%xmm7
3746	xorl	%ecx,%edx
3747	movl	24(%esp),%edi
3748.byte	102,15,58,15,226,4
3749	xorl	%edi,%esi
3750	rorl	$5,%edx
3751	andl	%ecx,%esi
3752.byte	102,15,58,15,248,4
3753	movl	%ecx,16(%esp)
3754	xorl	%ecx,%edx
3755	xorl	%esi,%edi
3756	movdqa	%xmm4,%xmm5
3757	rorl	$6,%edx
3758	movl	%eax,%ecx
3759	movdqa	%xmm4,%xmm6
3760	addl	%edi,%edx
3761	movl	4(%esp),%edi
3762	psrld	$3,%xmm4
3763	movl	%eax,%esi
3764	rorl	$9,%ecx
3765	paddd	%xmm7,%xmm2
3766	movl	%eax,(%esp)
3767	xorl	%eax,%ecx
3768	psrld	$7,%xmm6
3769	xorl	%edi,%eax
3770	addl	28(%esp),%edx
3771	rorl	$11,%ecx
3772	andl	%eax,%ebx
3773	pshufd	$250,%xmm1,%xmm7
3774	xorl	%esi,%ecx
3775	addl	64(%esp),%edx
3776	pslld	$14,%xmm5
3777	xorl	%edi,%ebx
3778	rorl	$2,%ecx
3779	pxor	%xmm6,%xmm4
3780	addl	%edx,%ebx
3781	addl	12(%esp),%edx
3782	psrld	$11,%xmm6
3783	addl	%ecx,%ebx
3784	movl	%edx,%ecx
3785	rorl	$14,%edx
3786	pxor	%xmm5,%xmm4
3787	movl	16(%esp),%esi
3788	xorl	%ecx,%edx
3789	pslld	$11,%xmm5
3790	movl	20(%esp),%edi
3791	xorl	%edi,%esi
3792	rorl	$5,%edx
3793	pxor	%xmm6,%xmm4
3794	andl	%ecx,%esi
3795	movl	%ecx,12(%esp)
3796	movdqa	%xmm7,%xmm6
3797	xorl	%ecx,%edx
3798	xorl	%esi,%edi
3799	rorl	$6,%edx
3800	pxor	%xmm5,%xmm4
3801	movl	%ebx,%ecx
3802	addl	%edi,%edx
3803	psrld	$10,%xmm7
3804	movl	(%esp),%edi
3805	movl	%ebx,%esi
3806	rorl	$9,%ecx
3807	paddd	%xmm4,%xmm2
3808	movl	%ebx,28(%esp)
3809	xorl	%ebx,%ecx
3810	psrlq	$17,%xmm6
3811	xorl	%edi,%ebx
3812	addl	24(%esp),%edx
3813	rorl	$11,%ecx
3814	pxor	%xmm6,%xmm7
3815	andl	%ebx,%eax
3816	xorl	%esi,%ecx
3817	psrlq	$2,%xmm6
3818	addl	68(%esp),%edx
3819	xorl	%edi,%eax
3820	rorl	$2,%ecx
3821	pxor	%xmm6,%xmm7
3822	addl	%edx,%eax
3823	addl	8(%esp),%edx
3824	pshufd	$128,%xmm7,%xmm7
3825	addl	%ecx,%eax
3826	movl	%edx,%ecx
3827	rorl	$14,%edx
3828	movl	12(%esp),%esi
3829	xorl	%ecx,%edx
3830	movl	16(%esp),%edi
3831	xorl	%edi,%esi
3832	rorl	$5,%edx
3833	andl	%ecx,%esi
3834	psrldq	$8,%xmm7
3835	movl	%ecx,8(%esp)
3836	xorl	%ecx,%edx
3837	xorl	%esi,%edi
3838	paddd	%xmm7,%xmm2
3839	rorl	$6,%edx
3840	movl	%eax,%ecx
3841	addl	%edi,%edx
3842	movl	28(%esp),%edi
3843	movl	%eax,%esi
3844	rorl	$9,%ecx
3845	movl	%eax,24(%esp)
3846	pshufd	$80,%xmm2,%xmm7
3847	xorl	%eax,%ecx
3848	xorl	%edi,%eax
3849	addl	20(%esp),%edx
3850	movdqa	%xmm7,%xmm6
3851	rorl	$11,%ecx
3852	psrld	$10,%xmm7
3853	andl	%eax,%ebx
3854	psrlq	$17,%xmm6
3855	xorl	%esi,%ecx
3856	addl	72(%esp),%edx
3857	xorl	%edi,%ebx
3858	rorl	$2,%ecx
3859	pxor	%xmm6,%xmm7
3860	addl	%edx,%ebx
3861	addl	4(%esp),%edx
3862	psrlq	$2,%xmm6
3863	addl	%ecx,%ebx
3864	movl	%edx,%ecx
3865	rorl	$14,%edx
3866	pxor	%xmm6,%xmm7
3867	movl	8(%esp),%esi
3868	xorl	%ecx,%edx
3869	movl	12(%esp),%edi
3870	pshufd	$8,%xmm7,%xmm7
3871	xorl	%edi,%esi
3872	rorl	$5,%edx
3873	movdqa	32(%ebp),%xmm6
3874	andl	%ecx,%esi
3875	movl	%ecx,4(%esp)
3876	pslldq	$8,%xmm7
3877	xorl	%ecx,%edx
3878	xorl	%esi,%edi
3879	rorl	$6,%edx
3880	movl	%ebx,%ecx
3881	addl	%edi,%edx
3882	movl	24(%esp),%edi
3883	movl	%ebx,%esi
3884	rorl	$9,%ecx
3885	paddd	%xmm7,%xmm2
3886	movl	%ebx,20(%esp)
3887	xorl	%ebx,%ecx
3888	xorl	%edi,%ebx
3889	addl	16(%esp),%edx
3890	paddd	%xmm2,%xmm6
3891	rorl	$11,%ecx
3892	andl	%ebx,%eax
3893	xorl	%esi,%ecx
3894	addl	76(%esp),%edx
3895	xorl	%edi,%eax
3896	rorl	$2,%ecx
3897	addl	%edx,%eax
3898	addl	(%esp),%edx
3899	addl	%ecx,%eax
3900	movdqa	%xmm6,64(%esp)
3901	movl	%edx,%ecx
3902	movdqa	%xmm0,%xmm4
3903	rorl	$14,%edx
3904	movl	4(%esp),%esi
3905	movdqa	%xmm2,%xmm7
3906	xorl	%ecx,%edx
3907	movl	8(%esp),%edi
3908.byte	102,15,58,15,227,4
3909	xorl	%edi,%esi
3910	rorl	$5,%edx
3911	andl	%ecx,%esi
3912.byte	102,15,58,15,249,4
3913	movl	%ecx,(%esp)
3914	xorl	%ecx,%edx
3915	xorl	%esi,%edi
3916	movdqa	%xmm4,%xmm5
3917	rorl	$6,%edx
3918	movl	%eax,%ecx
3919	movdqa	%xmm4,%xmm6
3920	addl	%edi,%edx
3921	movl	20(%esp),%edi
3922	psrld	$3,%xmm4
3923	movl	%eax,%esi
3924	rorl	$9,%ecx
3925	paddd	%xmm7,%xmm3
3926	movl	%eax,16(%esp)
3927	xorl	%eax,%ecx
3928	psrld	$7,%xmm6
3929	xorl	%edi,%eax
3930	addl	12(%esp),%edx
3931	rorl	$11,%ecx
3932	andl	%eax,%ebx
3933	pshufd	$250,%xmm2,%xmm7
3934	xorl	%esi,%ecx
3935	addl	80(%esp),%edx
3936	pslld	$14,%xmm5
3937	xorl	%edi,%ebx
3938	rorl	$2,%ecx
3939	pxor	%xmm6,%xmm4
3940	addl	%edx,%ebx
3941	addl	28(%esp),%edx
3942	psrld	$11,%xmm6
3943	addl	%ecx,%ebx
3944	movl	%edx,%ecx
3945	rorl	$14,%edx
3946	pxor	%xmm5,%xmm4
3947	movl	(%esp),%esi
3948	xorl	%ecx,%edx
3949	pslld	$11,%xmm5
3950	movl	4(%esp),%edi
3951	xorl	%edi,%esi
3952	rorl	$5,%edx
3953	pxor	%xmm6,%xmm4
3954	andl	%ecx,%esi
3955	movl	%ecx,28(%esp)
3956	movdqa	%xmm7,%xmm6
3957	xorl	%ecx,%edx
3958	xorl	%esi,%edi
3959	rorl	$6,%edx
3960	pxor	%xmm5,%xmm4
3961	movl	%ebx,%ecx
3962	addl	%edi,%edx
3963	psrld	$10,%xmm7
3964	movl	16(%esp),%edi
3965	movl	%ebx,%esi
3966	rorl	$9,%ecx
3967	paddd	%xmm4,%xmm3
3968	movl	%ebx,12(%esp)
3969	xorl	%ebx,%ecx
3970	psrlq	$17,%xmm6
3971	xorl	%edi,%ebx
3972	addl	8(%esp),%edx
3973	rorl	$11,%ecx
3974	pxor	%xmm6,%xmm7
3975	andl	%ebx,%eax
3976	xorl	%esi,%ecx
3977	psrlq	$2,%xmm6
3978	addl	84(%esp),%edx
3979	xorl	%edi,%eax
3980	rorl	$2,%ecx
3981	pxor	%xmm6,%xmm7
3982	addl	%edx,%eax
3983	addl	24(%esp),%edx
3984	pshufd	$128,%xmm7,%xmm7
3985	addl	%ecx,%eax
3986	movl	%edx,%ecx
3987	rorl	$14,%edx
3988	movl	28(%esp),%esi
3989	xorl	%ecx,%edx
3990	movl	(%esp),%edi
3991	xorl	%edi,%esi
3992	rorl	$5,%edx
3993	andl	%ecx,%esi
3994	psrldq	$8,%xmm7
3995	movl	%ecx,24(%esp)
3996	xorl	%ecx,%edx
3997	xorl	%esi,%edi
3998	paddd	%xmm7,%xmm3
3999	rorl	$6,%edx
4000	movl	%eax,%ecx
4001	addl	%edi,%edx
4002	movl	12(%esp),%edi
4003	movl	%eax,%esi
4004	rorl	$9,%ecx
4005	movl	%eax,8(%esp)
4006	pshufd	$80,%xmm3,%xmm7
4007	xorl	%eax,%ecx
4008	xorl	%edi,%eax
4009	addl	4(%esp),%edx
4010	movdqa	%xmm7,%xmm6
4011	rorl	$11,%ecx
4012	psrld	$10,%xmm7
4013	andl	%eax,%ebx
4014	psrlq	$17,%xmm6
4015	xorl	%esi,%ecx
4016	addl	88(%esp),%edx
4017	xorl	%edi,%ebx
4018	rorl	$2,%ecx
4019	pxor	%xmm6,%xmm7
4020	addl	%edx,%ebx
4021	addl	20(%esp),%edx
4022	psrlq	$2,%xmm6
4023	addl	%ecx,%ebx
4024	movl	%edx,%ecx
4025	rorl	$14,%edx
4026	pxor	%xmm6,%xmm7
4027	movl	24(%esp),%esi
4028	xorl	%ecx,%edx
4029	movl	28(%esp),%edi
4030	pshufd	$8,%xmm7,%xmm7
4031	xorl	%edi,%esi
4032	rorl	$5,%edx
4033	movdqa	48(%ebp),%xmm6
4034	andl	%ecx,%esi
4035	movl	%ecx,20(%esp)
4036	pslldq	$8,%xmm7
4037	xorl	%ecx,%edx
4038	xorl	%esi,%edi
4039	rorl	$6,%edx
4040	movl	%ebx,%ecx
4041	addl	%edi,%edx
4042	movl	8(%esp),%edi
4043	movl	%ebx,%esi
4044	rorl	$9,%ecx
4045	paddd	%xmm7,%xmm3
4046	movl	%ebx,4(%esp)
4047	xorl	%ebx,%ecx
4048	xorl	%edi,%ebx
4049	addl	(%esp),%edx
4050	paddd	%xmm3,%xmm6
4051	rorl	$11,%ecx
4052	andl	%ebx,%eax
4053	xorl	%esi,%ecx
4054	addl	92(%esp),%edx
4055	xorl	%edi,%eax
4056	rorl	$2,%ecx
4057	addl	%edx,%eax
4058	addl	16(%esp),%edx
4059	addl	%ecx,%eax
4060	movdqa	%xmm6,80(%esp)
4061	cmpl	$66051,64(%ebp)
4062	jne	.L013ssse3_00_47
4063	movl	%edx,%ecx
4064	rorl	$14,%edx
4065	movl	20(%esp),%esi
4066	xorl	%ecx,%edx
4067	movl	24(%esp),%edi
4068	xorl	%edi,%esi
4069	rorl	$5,%edx
4070	andl	%ecx,%esi
4071	movl	%ecx,16(%esp)
4072	xorl	%ecx,%edx
4073	xorl	%esi,%edi
4074	rorl	$6,%edx
4075	movl	%eax,%ecx
4076	addl	%edi,%edx
4077	movl	4(%esp),%edi
4078	movl	%eax,%esi
4079	rorl	$9,%ecx
4080	movl	%eax,(%esp)
4081	xorl	%eax,%ecx
4082	xorl	%edi,%eax
4083	addl	28(%esp),%edx
4084	rorl	$11,%ecx
4085	andl	%eax,%ebx
4086	xorl	%esi,%ecx
4087	addl	32(%esp),%edx
4088	xorl	%edi,%ebx
4089	rorl	$2,%ecx
4090	addl	%edx,%ebx
4091	addl	12(%esp),%edx
4092	addl	%ecx,%ebx
4093	movl	%edx,%ecx
4094	rorl	$14,%edx
4095	movl	16(%esp),%esi
4096	xorl	%ecx,%edx
4097	movl	20(%esp),%edi
4098	xorl	%edi,%esi
4099	rorl	$5,%edx
4100	andl	%ecx,%esi
4101	movl	%ecx,12(%esp)
4102	xorl	%ecx,%edx
4103	xorl	%esi,%edi
4104	rorl	$6,%edx
4105	movl	%ebx,%ecx
4106	addl	%edi,%edx
4107	movl	(%esp),%edi
4108	movl	%ebx,%esi
4109	rorl	$9,%ecx
4110	movl	%ebx,28(%esp)
4111	xorl	%ebx,%ecx
4112	xorl	%edi,%ebx
4113	addl	24(%esp),%edx
4114	rorl	$11,%ecx
4115	andl	%ebx,%eax
4116	xorl	%esi,%ecx
4117	addl	36(%esp),%edx
4118	xorl	%edi,%eax
4119	rorl	$2,%ecx
4120	addl	%edx,%eax
4121	addl	8(%esp),%edx
4122	addl	%ecx,%eax
4123	movl	%edx,%ecx
4124	rorl	$14,%edx
4125	movl	12(%esp),%esi
4126	xorl	%ecx,%edx
4127	movl	16(%esp),%edi
4128	xorl	%edi,%esi
4129	rorl	$5,%edx
4130	andl	%ecx,%esi
4131	movl	%ecx,8(%esp)
4132	xorl	%ecx,%edx
4133	xorl	%esi,%edi
4134	rorl	$6,%edx
4135	movl	%eax,%ecx
4136	addl	%edi,%edx
4137	movl	28(%esp),%edi
4138	movl	%eax,%esi
4139	rorl	$9,%ecx
4140	movl	%eax,24(%esp)
4141	xorl	%eax,%ecx
4142	xorl	%edi,%eax
4143	addl	20(%esp),%edx
4144	rorl	$11,%ecx
4145	andl	%eax,%ebx
4146	xorl	%esi,%ecx
4147	addl	40(%esp),%edx
4148	xorl	%edi,%ebx
4149	rorl	$2,%ecx
4150	addl	%edx,%ebx
4151	addl	4(%esp),%edx
4152	addl	%ecx,%ebx
4153	movl	%edx,%ecx
4154	rorl	$14,%edx
4155	movl	8(%esp),%esi
4156	xorl	%ecx,%edx
4157	movl	12(%esp),%edi
4158	xorl	%edi,%esi
4159	rorl	$5,%edx
4160	andl	%ecx,%esi
4161	movl	%ecx,4(%esp)
4162	xorl	%ecx,%edx
4163	xorl	%esi,%edi
4164	rorl	$6,%edx
4165	movl	%ebx,%ecx
4166	addl	%edi,%edx
4167	movl	24(%esp),%edi
4168	movl	%ebx,%esi
4169	rorl	$9,%ecx
4170	movl	%ebx,20(%esp)
4171	xorl	%ebx,%ecx
4172	xorl	%edi,%ebx
4173	addl	16(%esp),%edx
4174	rorl	$11,%ecx
4175	andl	%ebx,%eax
4176	xorl	%esi,%ecx
4177	addl	44(%esp),%edx
4178	xorl	%edi,%eax
4179	rorl	$2,%ecx
4180	addl	%edx,%eax
4181	addl	(%esp),%edx
4182	addl	%ecx,%eax
4183	movl	%edx,%ecx
4184	rorl	$14,%edx
4185	movl	4(%esp),%esi
4186	xorl	%ecx,%edx
4187	movl	8(%esp),%edi
4188	xorl	%edi,%esi
4189	rorl	$5,%edx
4190	andl	%ecx,%esi
4191	movl	%ecx,(%esp)
4192	xorl	%ecx,%edx
4193	xorl	%esi,%edi
4194	rorl	$6,%edx
4195	movl	%eax,%ecx
4196	addl	%edi,%edx
4197	movl	20(%esp),%edi
4198	movl	%eax,%esi
4199	rorl	$9,%ecx
4200	movl	%eax,16(%esp)
4201	xorl	%eax,%ecx
4202	xorl	%edi,%eax
4203	addl	12(%esp),%edx
4204	rorl	$11,%ecx
4205	andl	%eax,%ebx
4206	xorl	%esi,%ecx
4207	addl	48(%esp),%edx
4208	xorl	%edi,%ebx
4209	rorl	$2,%ecx
4210	addl	%edx,%ebx
4211	addl	28(%esp),%edx
4212	addl	%ecx,%ebx
4213	movl	%edx,%ecx
4214	rorl	$14,%edx
4215	movl	(%esp),%esi
4216	xorl	%ecx,%edx
4217	movl	4(%esp),%edi
4218	xorl	%edi,%esi
4219	rorl	$5,%edx
4220	andl	%ecx,%esi
4221	movl	%ecx,28(%esp)
4222	xorl	%ecx,%edx
4223	xorl	%esi,%edi
4224	rorl	$6,%edx
4225	movl	%ebx,%ecx
4226	addl	%edi,%edx
4227	movl	16(%esp),%edi
4228	movl	%ebx,%esi
4229	rorl	$9,%ecx
4230	movl	%ebx,12(%esp)
4231	xorl	%ebx,%ecx
4232	xorl	%edi,%ebx
4233	addl	8(%esp),%edx
4234	rorl	$11,%ecx
4235	andl	%ebx,%eax
4236	xorl	%esi,%ecx
4237	addl	52(%esp),%edx
4238	xorl	%edi,%eax
4239	rorl	$2,%ecx
4240	addl	%edx,%eax
4241	addl	24(%esp),%edx
4242	addl	%ecx,%eax
4243	movl	%edx,%ecx
4244	rorl	$14,%edx
4245	movl	28(%esp),%esi
4246	xorl	%ecx,%edx
4247	movl	(%esp),%edi
4248	xorl	%edi,%esi
4249	rorl	$5,%edx
4250	andl	%ecx,%esi
4251	movl	%ecx,24(%esp)
4252	xorl	%ecx,%edx
4253	xorl	%esi,%edi
4254	rorl	$6,%edx
4255	movl	%eax,%ecx
4256	addl	%edi,%edx
4257	movl	12(%esp),%edi
4258	movl	%eax,%esi
4259	rorl	$9,%ecx
4260	movl	%eax,8(%esp)
4261	xorl	%eax,%ecx
4262	xorl	%edi,%eax
4263	addl	4(%esp),%edx
4264	rorl	$11,%ecx
4265	andl	%eax,%ebx
4266	xorl	%esi,%ecx
4267	addl	56(%esp),%edx
4268	xorl	%edi,%ebx
4269	rorl	$2,%ecx
4270	addl	%edx,%ebx
4271	addl	20(%esp),%edx
4272	addl	%ecx,%ebx
4273	movl	%edx,%ecx
4274	rorl	$14,%edx
4275	movl	24(%esp),%esi
4276	xorl	%ecx,%edx
4277	movl	28(%esp),%edi
4278	xorl	%edi,%esi
4279	rorl	$5,%edx
4280	andl	%ecx,%esi
4281	movl	%ecx,20(%esp)
4282	xorl	%ecx,%edx
4283	xorl	%esi,%edi
4284	rorl	$6,%edx
4285	movl	%ebx,%ecx
4286	addl	%edi,%edx
4287	movl	8(%esp),%edi
4288	movl	%ebx,%esi
4289	rorl	$9,%ecx
4290	movl	%ebx,4(%esp)
4291	xorl	%ebx,%ecx
4292	xorl	%edi,%ebx
4293	addl	(%esp),%edx
4294	rorl	$11,%ecx
4295	andl	%ebx,%eax
4296	xorl	%esi,%ecx
4297	addl	60(%esp),%edx
4298	xorl	%edi,%eax
4299	rorl	$2,%ecx
4300	addl	%edx,%eax
4301	addl	16(%esp),%edx
4302	addl	%ecx,%eax
4303	movl	%edx,%ecx
4304	rorl	$14,%edx
4305	movl	20(%esp),%esi
4306	xorl	%ecx,%edx
4307	movl	24(%esp),%edi
4308	xorl	%edi,%esi
4309	rorl	$5,%edx
4310	andl	%ecx,%esi
4311	movl	%ecx,16(%esp)
4312	xorl	%ecx,%edx
4313	xorl	%esi,%edi
4314	rorl	$6,%edx
4315	movl	%eax,%ecx
4316	addl	%edi,%edx
4317	movl	4(%esp),%edi
4318	movl	%eax,%esi
4319	rorl	$9,%ecx
4320	movl	%eax,(%esp)
4321	xorl	%eax,%ecx
4322	xorl	%edi,%eax
4323	addl	28(%esp),%edx
4324	rorl	$11,%ecx
4325	andl	%eax,%ebx
4326	xorl	%esi,%ecx
4327	addl	64(%esp),%edx
4328	xorl	%edi,%ebx
4329	rorl	$2,%ecx
4330	addl	%edx,%ebx
4331	addl	12(%esp),%edx
4332	addl	%ecx,%ebx
4333	movl	%edx,%ecx
4334	rorl	$14,%edx
4335	movl	16(%esp),%esi
4336	xorl	%ecx,%edx
4337	movl	20(%esp),%edi
4338	xorl	%edi,%esi
4339	rorl	$5,%edx
4340	andl	%ecx,%esi
4341	movl	%ecx,12(%esp)
4342	xorl	%ecx,%edx
4343	xorl	%esi,%edi
4344	rorl	$6,%edx
4345	movl	%ebx,%ecx
4346	addl	%edi,%edx
4347	movl	(%esp),%edi
4348	movl	%ebx,%esi
4349	rorl	$9,%ecx
4350	movl	%ebx,28(%esp)
4351	xorl	%ebx,%ecx
4352	xorl	%edi,%ebx
4353	addl	24(%esp),%edx
4354	rorl	$11,%ecx
4355	andl	%ebx,%eax
4356	xorl	%esi,%ecx
4357	addl	68(%esp),%edx
4358	xorl	%edi,%eax
4359	rorl	$2,%ecx
4360	addl	%edx,%eax
4361	addl	8(%esp),%edx
4362	addl	%ecx,%eax
4363	movl	%edx,%ecx
4364	rorl	$14,%edx
4365	movl	12(%esp),%esi
4366	xorl	%ecx,%edx
4367	movl	16(%esp),%edi
4368	xorl	%edi,%esi
4369	rorl	$5,%edx
4370	andl	%ecx,%esi
4371	movl	%ecx,8(%esp)
4372	xorl	%ecx,%edx
4373	xorl	%esi,%edi
4374	rorl	$6,%edx
4375	movl	%eax,%ecx
4376	addl	%edi,%edx
4377	movl	28(%esp),%edi
4378	movl	%eax,%esi
4379	rorl	$9,%ecx
4380	movl	%eax,24(%esp)
4381	xorl	%eax,%ecx
4382	xorl	%edi,%eax
4383	addl	20(%esp),%edx
4384	rorl	$11,%ecx
4385	andl	%eax,%ebx
4386	xorl	%esi,%ecx
4387	addl	72(%esp),%edx
4388	xorl	%edi,%ebx
4389	rorl	$2,%ecx
4390	addl	%edx,%ebx
4391	addl	4(%esp),%edx
4392	addl	%ecx,%ebx
4393	movl	%edx,%ecx
4394	rorl	$14,%edx
4395	movl	8(%esp),%esi
4396	xorl	%ecx,%edx
4397	movl	12(%esp),%edi
4398	xorl	%edi,%esi
4399	rorl	$5,%edx
4400	andl	%ecx,%esi
4401	movl	%ecx,4(%esp)
4402	xorl	%ecx,%edx
4403	xorl	%esi,%edi
4404	rorl	$6,%edx
4405	movl	%ebx,%ecx
4406	addl	%edi,%edx
4407	movl	24(%esp),%edi
4408	movl	%ebx,%esi
4409	rorl	$9,%ecx
4410	movl	%ebx,20(%esp)
4411	xorl	%ebx,%ecx
4412	xorl	%edi,%ebx
4413	addl	16(%esp),%edx
4414	rorl	$11,%ecx
4415	andl	%ebx,%eax
4416	xorl	%esi,%ecx
4417	addl	76(%esp),%edx
4418	xorl	%edi,%eax
4419	rorl	$2,%ecx
4420	addl	%edx,%eax
4421	addl	(%esp),%edx
4422	addl	%ecx,%eax
4423	movl	%edx,%ecx
4424	rorl	$14,%edx
4425	movl	4(%esp),%esi
4426	xorl	%ecx,%edx
4427	movl	8(%esp),%edi
4428	xorl	%edi,%esi
4429	rorl	$5,%edx
4430	andl	%ecx,%esi
4431	movl	%ecx,(%esp)
4432	xorl	%ecx,%edx
4433	xorl	%esi,%edi
4434	rorl	$6,%edx
4435	movl	%eax,%ecx
4436	addl	%edi,%edx
4437	movl	20(%esp),%edi
4438	movl	%eax,%esi
4439	rorl	$9,%ecx
4440	movl	%eax,16(%esp)
4441	xorl	%eax,%ecx
4442	xorl	%edi,%eax
4443	addl	12(%esp),%edx
4444	rorl	$11,%ecx
4445	andl	%eax,%ebx
4446	xorl	%esi,%ecx
4447	addl	80(%esp),%edx
4448	xorl	%edi,%ebx
4449	rorl	$2,%ecx
4450	addl	%edx,%ebx
4451	addl	28(%esp),%edx
4452	addl	%ecx,%ebx
4453	movl	%edx,%ecx
4454	rorl	$14,%edx
4455	movl	(%esp),%esi
4456	xorl	%ecx,%edx
4457	movl	4(%esp),%edi
4458	xorl	%edi,%esi
4459	rorl	$5,%edx
4460	andl	%ecx,%esi
4461	movl	%ecx,28(%esp)
4462	xorl	%ecx,%edx
4463	xorl	%esi,%edi
4464	rorl	$6,%edx
4465	movl	%ebx,%ecx
4466	addl	%edi,%edx
4467	movl	16(%esp),%edi
4468	movl	%ebx,%esi
4469	rorl	$9,%ecx
4470	movl	%ebx,12(%esp)
4471	xorl	%ebx,%ecx
4472	xorl	%edi,%ebx
4473	addl	8(%esp),%edx
4474	rorl	$11,%ecx
4475	andl	%ebx,%eax
4476	xorl	%esi,%ecx
4477	addl	84(%esp),%edx
4478	xorl	%edi,%eax
4479	rorl	$2,%ecx
4480	addl	%edx,%eax
4481	addl	24(%esp),%edx
4482	addl	%ecx,%eax
4483	movl	%edx,%ecx
4484	rorl	$14,%edx
4485	movl	28(%esp),%esi
4486	xorl	%ecx,%edx
4487	movl	(%esp),%edi
4488	xorl	%edi,%esi
4489	rorl	$5,%edx
4490	andl	%ecx,%esi
4491	movl	%ecx,24(%esp)
4492	xorl	%ecx,%edx
4493	xorl	%esi,%edi
4494	rorl	$6,%edx
4495	movl	%eax,%ecx
4496	addl	%edi,%edx
4497	movl	12(%esp),%edi
4498	movl	%eax,%esi
4499	rorl	$9,%ecx
4500	movl	%eax,8(%esp)
4501	xorl	%eax,%ecx
4502	xorl	%edi,%eax
4503	addl	4(%esp),%edx
4504	rorl	$11,%ecx
4505	andl	%eax,%ebx
4506	xorl	%esi,%ecx
4507	addl	88(%esp),%edx
4508	xorl	%edi,%ebx
4509	rorl	$2,%ecx
4510	addl	%edx,%ebx
4511	addl	20(%esp),%edx
4512	addl	%ecx,%ebx
4513	movl	%edx,%ecx
4514	rorl	$14,%edx
4515	movl	24(%esp),%esi
4516	xorl	%ecx,%edx
4517	movl	28(%esp),%edi
4518	xorl	%edi,%esi
4519	rorl	$5,%edx
4520	andl	%ecx,%esi
4521	movl	%ecx,20(%esp)
4522	xorl	%ecx,%edx
4523	xorl	%esi,%edi
4524	rorl	$6,%edx
4525	movl	%ebx,%ecx
4526	addl	%edi,%edx
4527	movl	8(%esp),%edi
4528	movl	%ebx,%esi
4529	rorl	$9,%ecx
4530	movl	%ebx,4(%esp)
4531	xorl	%ebx,%ecx
4532	xorl	%edi,%ebx
4533	addl	(%esp),%edx
4534	rorl	$11,%ecx
4535	andl	%ebx,%eax
4536	xorl	%esi,%ecx
4537	addl	92(%esp),%edx
4538	xorl	%edi,%eax
4539	rorl	$2,%ecx
4540	addl	%edx,%eax
4541	addl	16(%esp),%edx
4542	addl	%ecx,%eax
4543	movl	96(%esp),%esi
4544	xorl	%edi,%ebx
4545	movl	12(%esp),%ecx
4546	addl	(%esi),%eax
4547	addl	4(%esi),%ebx
4548	addl	8(%esi),%edi
4549	addl	12(%esi),%ecx
4550	movl	%eax,(%esi)
4551	movl	%ebx,4(%esi)
4552	movl	%edi,8(%esi)
4553	movl	%ecx,12(%esi)
4554	movl	%ebx,4(%esp)
4555	xorl	%edi,%ebx
4556	movl	%edi,8(%esp)
4557	movl	%ecx,12(%esp)
4558	movl	20(%esp),%edi
4559	movl	24(%esp),%ecx
4560	addl	16(%esi),%edx
4561	addl	20(%esi),%edi
4562	addl	24(%esi),%ecx
4563	movl	%edx,16(%esi)
4564	movl	%edi,20(%esi)
4565	movl	%edi,20(%esp)
4566	movl	28(%esp),%edi
4567	movl	%ecx,24(%esi)
4568	addl	28(%esi),%edi
4569	movl	%ecx,24(%esp)
4570	movl	%edi,28(%esi)
4571	movl	%edi,28(%esp)
4572	movl	100(%esp),%edi
4573	movdqa	64(%ebp),%xmm7
4574	subl	$192,%ebp
4575	cmpl	104(%esp),%edi
4576	jb	.L012grand_ssse3
4577	movl	108(%esp),%esp
4578	popl	%edi
4579	popl	%esi
4580	popl	%ebx
4581	popl	%ebp
4582	ret
4583.align	32
4584.L005AVX:
4585	andl	$264,%edx
4586	cmpl	$264,%edx
4587	je	.L014AVX_BMI
4588	leal	-96(%esp),%esp
4589	vzeroall
4590	movl	(%esi),%eax
4591	movl	4(%esi),%ebx
4592	movl	8(%esi),%ecx
4593	movl	12(%esi),%edi
4594	movl	%ebx,4(%esp)
4595	xorl	%ecx,%ebx
4596	movl	%ecx,8(%esp)
4597	movl	%edi,12(%esp)
4598	movl	16(%esi),%edx
4599	movl	20(%esi),%edi
4600	movl	24(%esi),%ecx
4601	movl	28(%esi),%esi
4602	movl	%edi,20(%esp)
4603	movl	100(%esp),%edi
4604	movl	%ecx,24(%esp)
4605	movl	%esi,28(%esp)
4606	vmovdqa	256(%ebp),%xmm7
4607	jmp	.L015grand_avx
4608.align	32
4609.L015grand_avx:
4610	vmovdqu	(%edi),%xmm0
4611	vmovdqu	16(%edi),%xmm1
4612	vmovdqu	32(%edi),%xmm2
4613	vmovdqu	48(%edi),%xmm3
4614	addl	$64,%edi
4615	vpshufb	%xmm7,%xmm0,%xmm0
4616	movl	%edi,100(%esp)
4617	vpshufb	%xmm7,%xmm1,%xmm1
4618	vpshufb	%xmm7,%xmm2,%xmm2
4619	vpaddd	(%ebp),%xmm0,%xmm4
4620	vpshufb	%xmm7,%xmm3,%xmm3
4621	vpaddd	16(%ebp),%xmm1,%xmm5
4622	vpaddd	32(%ebp),%xmm2,%xmm6
4623	vpaddd	48(%ebp),%xmm3,%xmm7
4624	vmovdqa	%xmm4,32(%esp)
4625	vmovdqa	%xmm5,48(%esp)
4626	vmovdqa	%xmm6,64(%esp)
4627	vmovdqa	%xmm7,80(%esp)
4628	jmp	.L016avx_00_47
4629.align	16
4630.L016avx_00_47:
4631	addl	$64,%ebp
4632	vpalignr	$4,%xmm0,%xmm1,%xmm4
4633	movl	%edx,%ecx
4634	shrdl	$14,%edx,%edx
4635	movl	20(%esp),%esi
4636	vpalignr	$4,%xmm2,%xmm3,%xmm7
4637	xorl	%ecx,%edx
4638	movl	24(%esp),%edi
4639	xorl	%edi,%esi
4640	vpsrld	$7,%xmm4,%xmm6
4641	shrdl	$5,%edx,%edx
4642	andl	%ecx,%esi
4643	movl	%ecx,16(%esp)
4644	vpaddd	%xmm7,%xmm0,%xmm0
4645	xorl	%ecx,%edx
4646	xorl	%esi,%edi
4647	shrdl	$6,%edx,%edx
4648	vpsrld	$3,%xmm4,%xmm7
4649	movl	%eax,%ecx
4650	addl	%edi,%edx
4651	movl	4(%esp),%edi
4652	vpslld	$14,%xmm4,%xmm5
4653	movl	%eax,%esi
4654	shrdl	$9,%ecx,%ecx
4655	movl	%eax,(%esp)
4656	vpxor	%xmm6,%xmm7,%xmm4
4657	xorl	%eax,%ecx
4658	xorl	%edi,%eax
4659	addl	28(%esp),%edx
4660	vpshufd	$250,%xmm3,%xmm7
4661	shrdl	$11,%ecx,%ecx
4662	andl	%eax,%ebx
4663	xorl	%esi,%ecx
4664	vpsrld	$11,%xmm6,%xmm6
4665	addl	32(%esp),%edx
4666	xorl	%edi,%ebx
4667	shrdl	$2,%ecx,%ecx
4668	vpxor	%xmm5,%xmm4,%xmm4
4669	addl	%edx,%ebx
4670	addl	12(%esp),%edx
4671	addl	%ecx,%ebx
4672	vpslld	$11,%xmm5,%xmm5
4673	movl	%edx,%ecx
4674	shrdl	$14,%edx,%edx
4675	movl	16(%esp),%esi
4676	vpxor	%xmm6,%xmm4,%xmm4
4677	xorl	%ecx,%edx
4678	movl	20(%esp),%edi
4679	xorl	%edi,%esi
4680	vpsrld	$10,%xmm7,%xmm6
4681	shrdl	$5,%edx,%edx
4682	andl	%ecx,%esi
4683	movl	%ecx,12(%esp)
4684	vpxor	%xmm5,%xmm4,%xmm4
4685	xorl	%ecx,%edx
4686	xorl	%esi,%edi
4687	shrdl	$6,%edx,%edx
4688	vpsrlq	$17,%xmm7,%xmm5
4689	movl	%ebx,%ecx
4690	addl	%edi,%edx
4691	movl	(%esp),%edi
4692	vpaddd	%xmm4,%xmm0,%xmm0
4693	movl	%ebx,%esi
4694	shrdl	$9,%ecx,%ecx
4695	movl	%ebx,28(%esp)
4696	vpxor	%xmm5,%xmm6,%xmm6
4697	xorl	%ebx,%ecx
4698	xorl	%edi,%ebx
4699	addl	24(%esp),%edx
4700	vpsrlq	$19,%xmm7,%xmm7
4701	shrdl	$11,%ecx,%ecx
4702	andl	%ebx,%eax
4703	xorl	%esi,%ecx
4704	vpxor	%xmm7,%xmm6,%xmm6
4705	addl	36(%esp),%edx
4706	xorl	%edi,%eax
4707	shrdl	$2,%ecx,%ecx
4708	vpshufd	$132,%xmm6,%xmm7
4709	addl	%edx,%eax
4710	addl	8(%esp),%edx
4711	addl	%ecx,%eax
4712	vpsrldq	$8,%xmm7,%xmm7
4713	movl	%edx,%ecx
4714	shrdl	$14,%edx,%edx
4715	movl	12(%esp),%esi
4716	vpaddd	%xmm7,%xmm0,%xmm0
4717	xorl	%ecx,%edx
4718	movl	16(%esp),%edi
4719	xorl	%edi,%esi
4720	vpshufd	$80,%xmm0,%xmm7
4721	shrdl	$5,%edx,%edx
4722	andl	%ecx,%esi
4723	movl	%ecx,8(%esp)
4724	vpsrld	$10,%xmm7,%xmm6
4725	xorl	%ecx,%edx
4726	xorl	%esi,%edi
4727	shrdl	$6,%edx,%edx
4728	vpsrlq	$17,%xmm7,%xmm5
4729	movl	%eax,%ecx
4730	addl	%edi,%edx
4731	movl	28(%esp),%edi
4732	vpxor	%xmm5,%xmm6,%xmm6
4733	movl	%eax,%esi
4734	shrdl	$9,%ecx,%ecx
4735	movl	%eax,24(%esp)
4736	vpsrlq	$19,%xmm7,%xmm7
4737	xorl	%eax,%ecx
4738	xorl	%edi,%eax
4739	addl	20(%esp),%edx
4740	vpxor	%xmm7,%xmm6,%xmm6
4741	shrdl	$11,%ecx,%ecx
4742	andl	%eax,%ebx
4743	xorl	%esi,%ecx
4744	vpshufd	$232,%xmm6,%xmm7
4745	addl	40(%esp),%edx
4746	xorl	%edi,%ebx
4747	shrdl	$2,%ecx,%ecx
4748	vpslldq	$8,%xmm7,%xmm7
4749	addl	%edx,%ebx
4750	addl	4(%esp),%edx
4751	addl	%ecx,%ebx
4752	vpaddd	%xmm7,%xmm0,%xmm0
4753	movl	%edx,%ecx
4754	shrdl	$14,%edx,%edx
4755	movl	8(%esp),%esi
4756	vpaddd	(%ebp),%xmm0,%xmm6
4757	xorl	%ecx,%edx
4758	movl	12(%esp),%edi
4759	xorl	%edi,%esi
4760	shrdl	$5,%edx,%edx
4761	andl	%ecx,%esi
4762	movl	%ecx,4(%esp)
4763	xorl	%ecx,%edx
4764	xorl	%esi,%edi
4765	shrdl	$6,%edx,%edx
4766	movl	%ebx,%ecx
4767	addl	%edi,%edx
4768	movl	24(%esp),%edi
4769	movl	%ebx,%esi
4770	shrdl	$9,%ecx,%ecx
4771	movl	%ebx,20(%esp)
4772	xorl	%ebx,%ecx
4773	xorl	%edi,%ebx
4774	addl	16(%esp),%edx
4775	shrdl	$11,%ecx,%ecx
4776	andl	%ebx,%eax
4777	xorl	%esi,%ecx
4778	addl	44(%esp),%edx
4779	xorl	%edi,%eax
4780	shrdl	$2,%ecx,%ecx
4781	addl	%edx,%eax
4782	addl	(%esp),%edx
4783	addl	%ecx,%eax
4784	vmovdqa	%xmm6,32(%esp)
4785	vpalignr	$4,%xmm1,%xmm2,%xmm4
4786	movl	%edx,%ecx
4787	shrdl	$14,%edx,%edx
4788	movl	4(%esp),%esi
4789	vpalignr	$4,%xmm3,%xmm0,%xmm7
4790	xorl	%ecx,%edx
4791	movl	8(%esp),%edi
4792	xorl	%edi,%esi
4793	vpsrld	$7,%xmm4,%xmm6
4794	shrdl	$5,%edx,%edx
4795	andl	%ecx,%esi
4796	movl	%ecx,(%esp)
4797	vpaddd	%xmm7,%xmm1,%xmm1
4798	xorl	%ecx,%edx
4799	xorl	%esi,%edi
4800	shrdl	$6,%edx,%edx
4801	vpsrld	$3,%xmm4,%xmm7
4802	movl	%eax,%ecx
4803	addl	%edi,%edx
4804	movl	20(%esp),%edi
4805	vpslld	$14,%xmm4,%xmm5
4806	movl	%eax,%esi
4807	shrdl	$9,%ecx,%ecx
4808	movl	%eax,16(%esp)
4809	vpxor	%xmm6,%xmm7,%xmm4
4810	xorl	%eax,%ecx
4811	xorl	%edi,%eax
4812	addl	12(%esp),%edx
4813	vpshufd	$250,%xmm0,%xmm7
4814	shrdl	$11,%ecx,%ecx
4815	andl	%eax,%ebx
4816	xorl	%esi,%ecx
4817	vpsrld	$11,%xmm6,%xmm6
4818	addl	48(%esp),%edx
4819	xorl	%edi,%ebx
4820	shrdl	$2,%ecx,%ecx
4821	vpxor	%xmm5,%xmm4,%xmm4
4822	addl	%edx,%ebx
4823	addl	28(%esp),%edx
4824	addl	%ecx,%ebx
4825	vpslld	$11,%xmm5,%xmm5
4826	movl	%edx,%ecx
4827	shrdl	$14,%edx,%edx
4828	movl	(%esp),%esi
4829	vpxor	%xmm6,%xmm4,%xmm4
4830	xorl	%ecx,%edx
4831	movl	4(%esp),%edi
4832	xorl	%edi,%esi
4833	vpsrld	$10,%xmm7,%xmm6
4834	shrdl	$5,%edx,%edx
4835	andl	%ecx,%esi
4836	movl	%ecx,28(%esp)
4837	vpxor	%xmm5,%xmm4,%xmm4
4838	xorl	%ecx,%edx
4839	xorl	%esi,%edi
4840	shrdl	$6,%edx,%edx
4841	vpsrlq	$17,%xmm7,%xmm5
4842	movl	%ebx,%ecx
4843	addl	%edi,%edx
4844	movl	16(%esp),%edi
4845	vpaddd	%xmm4,%xmm1,%xmm1
4846	movl	%ebx,%esi
4847	shrdl	$9,%ecx,%ecx
4848	movl	%ebx,12(%esp)
4849	vpxor	%xmm5,%xmm6,%xmm6
4850	xorl	%ebx,%ecx
4851	xorl	%edi,%ebx
4852	addl	8(%esp),%edx
4853	vpsrlq	$19,%xmm7,%xmm7
4854	shrdl	$11,%ecx,%ecx
4855	andl	%ebx,%eax
4856	xorl	%esi,%ecx
4857	vpxor	%xmm7,%xmm6,%xmm6
4858	addl	52(%esp),%edx
4859	xorl	%edi,%eax
4860	shrdl	$2,%ecx,%ecx
4861	vpshufd	$132,%xmm6,%xmm7
4862	addl	%edx,%eax
4863	addl	24(%esp),%edx
4864	addl	%ecx,%eax
4865	vpsrldq	$8,%xmm7,%xmm7
4866	movl	%edx,%ecx
4867	shrdl	$14,%edx,%edx
4868	movl	28(%esp),%esi
4869	vpaddd	%xmm7,%xmm1,%xmm1
4870	xorl	%ecx,%edx
4871	movl	(%esp),%edi
4872	xorl	%edi,%esi
4873	vpshufd	$80,%xmm1,%xmm7
4874	shrdl	$5,%edx,%edx
4875	andl	%ecx,%esi
4876	movl	%ecx,24(%esp)
4877	vpsrld	$10,%xmm7,%xmm6
4878	xorl	%ecx,%edx
4879	xorl	%esi,%edi
4880	shrdl	$6,%edx,%edx
4881	vpsrlq	$17,%xmm7,%xmm5
4882	movl	%eax,%ecx
4883	addl	%edi,%edx
4884	movl	12(%esp),%edi
4885	vpxor	%xmm5,%xmm6,%xmm6
4886	movl	%eax,%esi
4887	shrdl	$9,%ecx,%ecx
4888	movl	%eax,8(%esp)
4889	vpsrlq	$19,%xmm7,%xmm7
4890	xorl	%eax,%ecx
4891	xorl	%edi,%eax
4892	addl	4(%esp),%edx
4893	vpxor	%xmm7,%xmm6,%xmm6
4894	shrdl	$11,%ecx,%ecx
4895	andl	%eax,%ebx
4896	xorl	%esi,%ecx
4897	vpshufd	$232,%xmm6,%xmm7
4898	addl	56(%esp),%edx
4899	xorl	%edi,%ebx
4900	shrdl	$2,%ecx,%ecx
4901	vpslldq	$8,%xmm7,%xmm7
4902	addl	%edx,%ebx
4903	addl	20(%esp),%edx
4904	addl	%ecx,%ebx
4905	vpaddd	%xmm7,%xmm1,%xmm1
4906	movl	%edx,%ecx
4907	shrdl	$14,%edx,%edx
4908	movl	24(%esp),%esi
4909	vpaddd	16(%ebp),%xmm1,%xmm6
4910	xorl	%ecx,%edx
4911	movl	28(%esp),%edi
4912	xorl	%edi,%esi
4913	shrdl	$5,%edx,%edx
4914	andl	%ecx,%esi
4915	movl	%ecx,20(%esp)
4916	xorl	%ecx,%edx
4917	xorl	%esi,%edi
4918	shrdl	$6,%edx,%edx
4919	movl	%ebx,%ecx
4920	addl	%edi,%edx
4921	movl	8(%esp),%edi
4922	movl	%ebx,%esi
4923	shrdl	$9,%ecx,%ecx
4924	movl	%ebx,4(%esp)
4925	xorl	%ebx,%ecx
4926	xorl	%edi,%ebx
4927	addl	(%esp),%edx
4928	shrdl	$11,%ecx,%ecx
4929	andl	%ebx,%eax
4930	xorl	%esi,%ecx
4931	addl	60(%esp),%edx
4932	xorl	%edi,%eax
4933	shrdl	$2,%ecx,%ecx
4934	addl	%edx,%eax
4935	addl	16(%esp),%edx
4936	addl	%ecx,%eax
4937	vmovdqa	%xmm6,48(%esp)
4938	vpalignr	$4,%xmm2,%xmm3,%xmm4
4939	movl	%edx,%ecx
4940	shrdl	$14,%edx,%edx
4941	movl	20(%esp),%esi
4942	vpalignr	$4,%xmm0,%xmm1,%xmm7
4943	xorl	%ecx,%edx
4944	movl	24(%esp),%edi
4945	xorl	%edi,%esi
4946	vpsrld	$7,%xmm4,%xmm6
4947	shrdl	$5,%edx,%edx
4948	andl	%ecx,%esi
4949	movl	%ecx,16(%esp)
4950	vpaddd	%xmm7,%xmm2,%xmm2
4951	xorl	%ecx,%edx
4952	xorl	%esi,%edi
4953	shrdl	$6,%edx,%edx
4954	vpsrld	$3,%xmm4,%xmm7
4955	movl	%eax,%ecx
4956	addl	%edi,%edx
4957	movl	4(%esp),%edi
4958	vpslld	$14,%xmm4,%xmm5
4959	movl	%eax,%esi
4960	shrdl	$9,%ecx,%ecx
4961	movl	%eax,(%esp)
4962	vpxor	%xmm6,%xmm7,%xmm4
4963	xorl	%eax,%ecx
4964	xorl	%edi,%eax
4965	addl	28(%esp),%edx
4966	vpshufd	$250,%xmm1,%xmm7
4967	shrdl	$11,%ecx,%ecx
4968	andl	%eax,%ebx
4969	xorl	%esi,%ecx
4970	vpsrld	$11,%xmm6,%xmm6
4971	addl	64(%esp),%edx
4972	xorl	%edi,%ebx
4973	shrdl	$2,%ecx,%ecx
4974	vpxor	%xmm5,%xmm4,%xmm4
4975	addl	%edx,%ebx
4976	addl	12(%esp),%edx
4977	addl	%ecx,%ebx
4978	vpslld	$11,%xmm5,%xmm5
4979	movl	%edx,%ecx
4980	shrdl	$14,%edx,%edx
4981	movl	16(%esp),%esi
4982	vpxor	%xmm6,%xmm4,%xmm4
4983	xorl	%ecx,%edx
4984	movl	20(%esp),%edi
4985	xorl	%edi,%esi
4986	vpsrld	$10,%xmm7,%xmm6
4987	shrdl	$5,%edx,%edx
4988	andl	%ecx,%esi
4989	movl	%ecx,12(%esp)
4990	vpxor	%xmm5,%xmm4,%xmm4
4991	xorl	%ecx,%edx
4992	xorl	%esi,%edi
4993	shrdl	$6,%edx,%edx
4994	vpsrlq	$17,%xmm7,%xmm5
4995	movl	%ebx,%ecx
4996	addl	%edi,%edx
4997	movl	(%esp),%edi
4998	vpaddd	%xmm4,%xmm2,%xmm2
4999	movl	%ebx,%esi
5000	shrdl	$9,%ecx,%ecx
5001	movl	%ebx,28(%esp)
5002	vpxor	%xmm5,%xmm6,%xmm6
5003	xorl	%ebx,%ecx
5004	xorl	%edi,%ebx
5005	addl	24(%esp),%edx
5006	vpsrlq	$19,%xmm7,%xmm7
5007	shrdl	$11,%ecx,%ecx
5008	andl	%ebx,%eax
5009	xorl	%esi,%ecx
5010	vpxor	%xmm7,%xmm6,%xmm6
5011	addl	68(%esp),%edx
5012	xorl	%edi,%eax
5013	shrdl	$2,%ecx,%ecx
5014	vpshufd	$132,%xmm6,%xmm7
5015	addl	%edx,%eax
5016	addl	8(%esp),%edx
5017	addl	%ecx,%eax
5018	vpsrldq	$8,%xmm7,%xmm7
5019	movl	%edx,%ecx
5020	shrdl	$14,%edx,%edx
5021	movl	12(%esp),%esi
5022	vpaddd	%xmm7,%xmm2,%xmm2
5023	xorl	%ecx,%edx
5024	movl	16(%esp),%edi
5025	xorl	%edi,%esi
5026	vpshufd	$80,%xmm2,%xmm7
5027	shrdl	$5,%edx,%edx
5028	andl	%ecx,%esi
5029	movl	%ecx,8(%esp)
5030	vpsrld	$10,%xmm7,%xmm6
5031	xorl	%ecx,%edx
5032	xorl	%esi,%edi
5033	shrdl	$6,%edx,%edx
5034	vpsrlq	$17,%xmm7,%xmm5
5035	movl	%eax,%ecx
5036	addl	%edi,%edx
5037	movl	28(%esp),%edi
5038	vpxor	%xmm5,%xmm6,%xmm6
5039	movl	%eax,%esi
5040	shrdl	$9,%ecx,%ecx
5041	movl	%eax,24(%esp)
5042	vpsrlq	$19,%xmm7,%xmm7
5043	xorl	%eax,%ecx
5044	xorl	%edi,%eax
5045	addl	20(%esp),%edx
5046	vpxor	%xmm7,%xmm6,%xmm6
5047	shrdl	$11,%ecx,%ecx
5048	andl	%eax,%ebx
5049	xorl	%esi,%ecx
5050	vpshufd	$232,%xmm6,%xmm7
5051	addl	72(%esp),%edx
5052	xorl	%edi,%ebx
5053	shrdl	$2,%ecx,%ecx
5054	vpslldq	$8,%xmm7,%xmm7
5055	addl	%edx,%ebx
5056	addl	4(%esp),%edx
5057	addl	%ecx,%ebx
5058	vpaddd	%xmm7,%xmm2,%xmm2
5059	movl	%edx,%ecx
5060	shrdl	$14,%edx,%edx
5061	movl	8(%esp),%esi
5062	vpaddd	32(%ebp),%xmm2,%xmm6
5063	xorl	%ecx,%edx
5064	movl	12(%esp),%edi
5065	xorl	%edi,%esi
5066	shrdl	$5,%edx,%edx
5067	andl	%ecx,%esi
5068	movl	%ecx,4(%esp)
5069	xorl	%ecx,%edx
5070	xorl	%esi,%edi
5071	shrdl	$6,%edx,%edx
5072	movl	%ebx,%ecx
5073	addl	%edi,%edx
5074	movl	24(%esp),%edi
5075	movl	%ebx,%esi
5076	shrdl	$9,%ecx,%ecx
5077	movl	%ebx,20(%esp)
5078	xorl	%ebx,%ecx
5079	xorl	%edi,%ebx
5080	addl	16(%esp),%edx
5081	shrdl	$11,%ecx,%ecx
5082	andl	%ebx,%eax
5083	xorl	%esi,%ecx
5084	addl	76(%esp),%edx
5085	xorl	%edi,%eax
5086	shrdl	$2,%ecx,%ecx
5087	addl	%edx,%eax
5088	addl	(%esp),%edx
5089	addl	%ecx,%eax
5090	vmovdqa	%xmm6,64(%esp)
5091	vpalignr	$4,%xmm3,%xmm0,%xmm4
5092	movl	%edx,%ecx
5093	shrdl	$14,%edx,%edx
5094	movl	4(%esp),%esi
5095	vpalignr	$4,%xmm1,%xmm2,%xmm7
5096	xorl	%ecx,%edx
5097	movl	8(%esp),%edi
5098	xorl	%edi,%esi
5099	vpsrld	$7,%xmm4,%xmm6
5100	shrdl	$5,%edx,%edx
5101	andl	%ecx,%esi
5102	movl	%ecx,(%esp)
5103	vpaddd	%xmm7,%xmm3,%xmm3
5104	xorl	%ecx,%edx
5105	xorl	%esi,%edi
5106	shrdl	$6,%edx,%edx
5107	vpsrld	$3,%xmm4,%xmm7
5108	movl	%eax,%ecx
5109	addl	%edi,%edx
5110	movl	20(%esp),%edi
5111	vpslld	$14,%xmm4,%xmm5
5112	movl	%eax,%esi
5113	shrdl	$9,%ecx,%ecx
5114	movl	%eax,16(%esp)
5115	vpxor	%xmm6,%xmm7,%xmm4
5116	xorl	%eax,%ecx
5117	xorl	%edi,%eax
5118	addl	12(%esp),%edx
5119	vpshufd	$250,%xmm2,%xmm7
5120	shrdl	$11,%ecx,%ecx
5121	andl	%eax,%ebx
5122	xorl	%esi,%ecx
5123	vpsrld	$11,%xmm6,%xmm6
5124	addl	80(%esp),%edx
5125	xorl	%edi,%ebx
5126	shrdl	$2,%ecx,%ecx
5127	vpxor	%xmm5,%xmm4,%xmm4
5128	addl	%edx,%ebx
5129	addl	28(%esp),%edx
5130	addl	%ecx,%ebx
5131	vpslld	$11,%xmm5,%xmm5
5132	movl	%edx,%ecx
5133	shrdl	$14,%edx,%edx
5134	movl	(%esp),%esi
5135	vpxor	%xmm6,%xmm4,%xmm4
5136	xorl	%ecx,%edx
5137	movl	4(%esp),%edi
5138	xorl	%edi,%esi
5139	vpsrld	$10,%xmm7,%xmm6
5140	shrdl	$5,%edx,%edx
5141	andl	%ecx,%esi
5142	movl	%ecx,28(%esp)
5143	vpxor	%xmm5,%xmm4,%xmm4
5144	xorl	%ecx,%edx
5145	xorl	%esi,%edi
5146	shrdl	$6,%edx,%edx
5147	vpsrlq	$17,%xmm7,%xmm5
5148	movl	%ebx,%ecx
5149	addl	%edi,%edx
5150	movl	16(%esp),%edi
5151	vpaddd	%xmm4,%xmm3,%xmm3
5152	movl	%ebx,%esi
5153	shrdl	$9,%ecx,%ecx
5154	movl	%ebx,12(%esp)
5155	vpxor	%xmm5,%xmm6,%xmm6
5156	xorl	%ebx,%ecx
5157	xorl	%edi,%ebx
5158	addl	8(%esp),%edx
5159	vpsrlq	$19,%xmm7,%xmm7
5160	shrdl	$11,%ecx,%ecx
5161	andl	%ebx,%eax
5162	xorl	%esi,%ecx
5163	vpxor	%xmm7,%xmm6,%xmm6
5164	addl	84(%esp),%edx
5165	xorl	%edi,%eax
5166	shrdl	$2,%ecx,%ecx
5167	vpshufd	$132,%xmm6,%xmm7
5168	addl	%edx,%eax
5169	addl	24(%esp),%edx
5170	addl	%ecx,%eax
5171	vpsrldq	$8,%xmm7,%xmm7
5172	movl	%edx,%ecx
5173	shrdl	$14,%edx,%edx
5174	movl	28(%esp),%esi
5175	vpaddd	%xmm7,%xmm3,%xmm3
5176	xorl	%ecx,%edx
5177	movl	(%esp),%edi
5178	xorl	%edi,%esi
5179	vpshufd	$80,%xmm3,%xmm7
5180	shrdl	$5,%edx,%edx
5181	andl	%ecx,%esi
5182	movl	%ecx,24(%esp)
5183	vpsrld	$10,%xmm7,%xmm6
5184	xorl	%ecx,%edx
5185	xorl	%esi,%edi
5186	shrdl	$6,%edx,%edx
5187	vpsrlq	$17,%xmm7,%xmm5
5188	movl	%eax,%ecx
5189	addl	%edi,%edx
5190	movl	12(%esp),%edi
5191	vpxor	%xmm5,%xmm6,%xmm6
5192	movl	%eax,%esi
5193	shrdl	$9,%ecx,%ecx
5194	movl	%eax,8(%esp)
5195	vpsrlq	$19,%xmm7,%xmm7
5196	xorl	%eax,%ecx
5197	xorl	%edi,%eax
5198	addl	4(%esp),%edx
5199	vpxor	%xmm7,%xmm6,%xmm6
5200	shrdl	$11,%ecx,%ecx
5201	andl	%eax,%ebx
5202	xorl	%esi,%ecx
5203	vpshufd	$232,%xmm6,%xmm7
5204	addl	88(%esp),%edx
5205	xorl	%edi,%ebx
5206	shrdl	$2,%ecx,%ecx
5207	vpslldq	$8,%xmm7,%xmm7
5208	addl	%edx,%ebx
5209	addl	20(%esp),%edx
5210	addl	%ecx,%ebx
5211	vpaddd	%xmm7,%xmm3,%xmm3
5212	movl	%edx,%ecx
5213	shrdl	$14,%edx,%edx
5214	movl	24(%esp),%esi
5215	vpaddd	48(%ebp),%xmm3,%xmm6
5216	xorl	%ecx,%edx
5217	movl	28(%esp),%edi
5218	xorl	%edi,%esi
5219	shrdl	$5,%edx,%edx
5220	andl	%ecx,%esi
5221	movl	%ecx,20(%esp)
5222	xorl	%ecx,%edx
5223	xorl	%esi,%edi
5224	shrdl	$6,%edx,%edx
5225	movl	%ebx,%ecx
5226	addl	%edi,%edx
5227	movl	8(%esp),%edi
5228	movl	%ebx,%esi
5229	shrdl	$9,%ecx,%ecx
5230	movl	%ebx,4(%esp)
5231	xorl	%ebx,%ecx
5232	xorl	%edi,%ebx
5233	addl	(%esp),%edx
5234	shrdl	$11,%ecx,%ecx
5235	andl	%ebx,%eax
5236	xorl	%esi,%ecx
5237	addl	92(%esp),%edx
5238	xorl	%edi,%eax
5239	shrdl	$2,%ecx,%ecx
5240	addl	%edx,%eax
5241	addl	16(%esp),%edx
5242	addl	%ecx,%eax
5243	vmovdqa	%xmm6,80(%esp)
5244	cmpl	$66051,64(%ebp)
5245	jne	.L016avx_00_47
5246	movl	%edx,%ecx
5247	shrdl	$14,%edx,%edx
5248	movl	20(%esp),%esi
5249	xorl	%ecx,%edx
5250	movl	24(%esp),%edi
5251	xorl	%edi,%esi
5252	shrdl	$5,%edx,%edx
5253	andl	%ecx,%esi
5254	movl	%ecx,16(%esp)
5255	xorl	%ecx,%edx
5256	xorl	%esi,%edi
5257	shrdl	$6,%edx,%edx
5258	movl	%eax,%ecx
5259	addl	%edi,%edx
5260	movl	4(%esp),%edi
5261	movl	%eax,%esi
5262	shrdl	$9,%ecx,%ecx
5263	movl	%eax,(%esp)
5264	xorl	%eax,%ecx
5265	xorl	%edi,%eax
5266	addl	28(%esp),%edx
5267	shrdl	$11,%ecx,%ecx
5268	andl	%eax,%ebx
5269	xorl	%esi,%ecx
5270	addl	32(%esp),%edx
5271	xorl	%edi,%ebx
5272	shrdl	$2,%ecx,%ecx
5273	addl	%edx,%ebx
5274	addl	12(%esp),%edx
5275	addl	%ecx,%ebx
5276	movl	%edx,%ecx
5277	shrdl	$14,%edx,%edx
5278	movl	16(%esp),%esi
5279	xorl	%ecx,%edx
5280	movl	20(%esp),%edi
5281	xorl	%edi,%esi
5282	shrdl	$5,%edx,%edx
5283	andl	%ecx,%esi
5284	movl	%ecx,12(%esp)
5285	xorl	%ecx,%edx
5286	xorl	%esi,%edi
5287	shrdl	$6,%edx,%edx
5288	movl	%ebx,%ecx
5289	addl	%edi,%edx
5290	movl	(%esp),%edi
5291	movl	%ebx,%esi
5292	shrdl	$9,%ecx,%ecx
5293	movl	%ebx,28(%esp)
5294	xorl	%ebx,%ecx
5295	xorl	%edi,%ebx
5296	addl	24(%esp),%edx
5297	shrdl	$11,%ecx,%ecx
5298	andl	%ebx,%eax
5299	xorl	%esi,%ecx
5300	addl	36(%esp),%edx
5301	xorl	%edi,%eax
5302	shrdl	$2,%ecx,%ecx
5303	addl	%edx,%eax
5304	addl	8(%esp),%edx
5305	addl	%ecx,%eax
5306	movl	%edx,%ecx
5307	shrdl	$14,%edx,%edx
5308	movl	12(%esp),%esi
5309	xorl	%ecx,%edx
5310	movl	16(%esp),%edi
5311	xorl	%edi,%esi
5312	shrdl	$5,%edx,%edx
5313	andl	%ecx,%esi
5314	movl	%ecx,8(%esp)
5315	xorl	%ecx,%edx
5316	xorl	%esi,%edi
5317	shrdl	$6,%edx,%edx
5318	movl	%eax,%ecx
5319	addl	%edi,%edx
5320	movl	28(%esp),%edi
5321	movl	%eax,%esi
5322	shrdl	$9,%ecx,%ecx
5323	movl	%eax,24(%esp)
5324	xorl	%eax,%ecx
5325	xorl	%edi,%eax
5326	addl	20(%esp),%edx
5327	shrdl	$11,%ecx,%ecx
5328	andl	%eax,%ebx
5329	xorl	%esi,%ecx
5330	addl	40(%esp),%edx
5331	xorl	%edi,%ebx
5332	shrdl	$2,%ecx,%ecx
5333	addl	%edx,%ebx
5334	addl	4(%esp),%edx
5335	addl	%ecx,%ebx
5336	movl	%edx,%ecx
5337	shrdl	$14,%edx,%edx
5338	movl	8(%esp),%esi
5339	xorl	%ecx,%edx
5340	movl	12(%esp),%edi
5341	xorl	%edi,%esi
5342	shrdl	$5,%edx,%edx
5343	andl	%ecx,%esi
5344	movl	%ecx,4(%esp)
5345	xorl	%ecx,%edx
5346	xorl	%esi,%edi
5347	shrdl	$6,%edx,%edx
5348	movl	%ebx,%ecx
5349	addl	%edi,%edx
5350	movl	24(%esp),%edi
5351	movl	%ebx,%esi
5352	shrdl	$9,%ecx,%ecx
5353	movl	%ebx,20(%esp)
5354	xorl	%ebx,%ecx
5355	xorl	%edi,%ebx
5356	addl	16(%esp),%edx
5357	shrdl	$11,%ecx,%ecx
5358	andl	%ebx,%eax
5359	xorl	%esi,%ecx
5360	addl	44(%esp),%edx
5361	xorl	%edi,%eax
5362	shrdl	$2,%ecx,%ecx
5363	addl	%edx,%eax
5364	addl	(%esp),%edx
5365	addl	%ecx,%eax
5366	movl	%edx,%ecx
5367	shrdl	$14,%edx,%edx
5368	movl	4(%esp),%esi
5369	xorl	%ecx,%edx
5370	movl	8(%esp),%edi
5371	xorl	%edi,%esi
5372	shrdl	$5,%edx,%edx
5373	andl	%ecx,%esi
5374	movl	%ecx,(%esp)
5375	xorl	%ecx,%edx
5376	xorl	%esi,%edi
5377	shrdl	$6,%edx,%edx
5378	movl	%eax,%ecx
5379	addl	%edi,%edx
5380	movl	20(%esp),%edi
5381	movl	%eax,%esi
5382	shrdl	$9,%ecx,%ecx
5383	movl	%eax,16(%esp)
5384	xorl	%eax,%ecx
5385	xorl	%edi,%eax
5386	addl	12(%esp),%edx
5387	shrdl	$11,%ecx,%ecx
5388	andl	%eax,%ebx
5389	xorl	%esi,%ecx
5390	addl	48(%esp),%edx
5391	xorl	%edi,%ebx
5392	shrdl	$2,%ecx,%ecx
5393	addl	%edx,%ebx
5394	addl	28(%esp),%edx
5395	addl	%ecx,%ebx
5396	movl	%edx,%ecx
5397	shrdl	$14,%edx,%edx
5398	movl	(%esp),%esi
5399	xorl	%ecx,%edx
5400	movl	4(%esp),%edi
5401	xorl	%edi,%esi
5402	shrdl	$5,%edx,%edx
5403	andl	%ecx,%esi
5404	movl	%ecx,28(%esp)
5405	xorl	%ecx,%edx
5406	xorl	%esi,%edi
5407	shrdl	$6,%edx,%edx
5408	movl	%ebx,%ecx
5409	addl	%edi,%edx
5410	movl	16(%esp),%edi
5411	movl	%ebx,%esi
5412	shrdl	$9,%ecx,%ecx
5413	movl	%ebx,12(%esp)
5414	xorl	%ebx,%ecx
5415	xorl	%edi,%ebx
5416	addl	8(%esp),%edx
5417	shrdl	$11,%ecx,%ecx
5418	andl	%ebx,%eax
5419	xorl	%esi,%ecx
5420	addl	52(%esp),%edx
5421	xorl	%edi,%eax
5422	shrdl	$2,%ecx,%ecx
5423	addl	%edx,%eax
5424	addl	24(%esp),%edx
5425	addl	%ecx,%eax
5426	movl	%edx,%ecx
5427	shrdl	$14,%edx,%edx
5428	movl	28(%esp),%esi
5429	xorl	%ecx,%edx
5430	movl	(%esp),%edi
5431	xorl	%edi,%esi
5432	shrdl	$5,%edx,%edx
5433	andl	%ecx,%esi
5434	movl	%ecx,24(%esp)
5435	xorl	%ecx,%edx
5436	xorl	%esi,%edi
5437	shrdl	$6,%edx,%edx
5438	movl	%eax,%ecx
5439	addl	%edi,%edx
5440	movl	12(%esp),%edi
5441	movl	%eax,%esi
5442	shrdl	$9,%ecx,%ecx
5443	movl	%eax,8(%esp)
5444	xorl	%eax,%ecx
5445	xorl	%edi,%eax
5446	addl	4(%esp),%edx
5447	shrdl	$11,%ecx,%ecx
5448	andl	%eax,%ebx
5449	xorl	%esi,%ecx
5450	addl	56(%esp),%edx
5451	xorl	%edi,%ebx
5452	shrdl	$2,%ecx,%ecx
5453	addl	%edx,%ebx
5454	addl	20(%esp),%edx
5455	addl	%ecx,%ebx
5456	movl	%edx,%ecx
5457	shrdl	$14,%edx,%edx
5458	movl	24(%esp),%esi
5459	xorl	%ecx,%edx
5460	movl	28(%esp),%edi
5461	xorl	%edi,%esi
5462	shrdl	$5,%edx,%edx
5463	andl	%ecx,%esi
5464	movl	%ecx,20(%esp)
5465	xorl	%ecx,%edx
5466	xorl	%esi,%edi
5467	shrdl	$6,%edx,%edx
5468	movl	%ebx,%ecx
5469	addl	%edi,%edx
5470	movl	8(%esp),%edi
5471	movl	%ebx,%esi
5472	shrdl	$9,%ecx,%ecx
5473	movl	%ebx,4(%esp)
5474	xorl	%ebx,%ecx
5475	xorl	%edi,%ebx
5476	addl	(%esp),%edx
5477	shrdl	$11,%ecx,%ecx
5478	andl	%ebx,%eax
5479	xorl	%esi,%ecx
5480	addl	60(%esp),%edx
5481	xorl	%edi,%eax
5482	shrdl	$2,%ecx,%ecx
5483	addl	%edx,%eax
5484	addl	16(%esp),%edx
5485	addl	%ecx,%eax
5486	movl	%edx,%ecx
5487	shrdl	$14,%edx,%edx
5488	movl	20(%esp),%esi
5489	xorl	%ecx,%edx
5490	movl	24(%esp),%edi
5491	xorl	%edi,%esi
5492	shrdl	$5,%edx,%edx
5493	andl	%ecx,%esi
5494	movl	%ecx,16(%esp)
5495	xorl	%ecx,%edx
5496	xorl	%esi,%edi
5497	shrdl	$6,%edx,%edx
5498	movl	%eax,%ecx
5499	addl	%edi,%edx
5500	movl	4(%esp),%edi
5501	movl	%eax,%esi
5502	shrdl	$9,%ecx,%ecx
5503	movl	%eax,(%esp)
5504	xorl	%eax,%ecx
5505	xorl	%edi,%eax
5506	addl	28(%esp),%edx
5507	shrdl	$11,%ecx,%ecx
5508	andl	%eax,%ebx
5509	xorl	%esi,%ecx
5510	addl	64(%esp),%edx
5511	xorl	%edi,%ebx
5512	shrdl	$2,%ecx,%ecx
5513	addl	%edx,%ebx
5514	addl	12(%esp),%edx
5515	addl	%ecx,%ebx
5516	movl	%edx,%ecx
5517	shrdl	$14,%edx,%edx
5518	movl	16(%esp),%esi
5519	xorl	%ecx,%edx
5520	movl	20(%esp),%edi
5521	xorl	%edi,%esi
5522	shrdl	$5,%edx,%edx
5523	andl	%ecx,%esi
5524	movl	%ecx,12(%esp)
5525	xorl	%ecx,%edx
5526	xorl	%esi,%edi
5527	shrdl	$6,%edx,%edx
5528	movl	%ebx,%ecx
5529	addl	%edi,%edx
5530	movl	(%esp),%edi
5531	movl	%ebx,%esi
5532	shrdl	$9,%ecx,%ecx
5533	movl	%ebx,28(%esp)
5534	xorl	%ebx,%ecx
5535	xorl	%edi,%ebx
5536	addl	24(%esp),%edx
5537	shrdl	$11,%ecx,%ecx
5538	andl	%ebx,%eax
5539	xorl	%esi,%ecx
5540	addl	68(%esp),%edx
5541	xorl	%edi,%eax
5542	shrdl	$2,%ecx,%ecx
5543	addl	%edx,%eax
5544	addl	8(%esp),%edx
5545	addl	%ecx,%eax
5546	movl	%edx,%ecx
5547	shrdl	$14,%edx,%edx
5548	movl	12(%esp),%esi
5549	xorl	%ecx,%edx
5550	movl	16(%esp),%edi
5551	xorl	%edi,%esi
5552	shrdl	$5,%edx,%edx
5553	andl	%ecx,%esi
5554	movl	%ecx,8(%esp)
5555	xorl	%ecx,%edx
5556	xorl	%esi,%edi
5557	shrdl	$6,%edx,%edx
5558	movl	%eax,%ecx
5559	addl	%edi,%edx
5560	movl	28(%esp),%edi
5561	movl	%eax,%esi
5562	shrdl	$9,%ecx,%ecx
5563	movl	%eax,24(%esp)
5564	xorl	%eax,%ecx
5565	xorl	%edi,%eax
5566	addl	20(%esp),%edx
5567	shrdl	$11,%ecx,%ecx
5568	andl	%eax,%ebx
5569	xorl	%esi,%ecx
5570	addl	72(%esp),%edx
5571	xorl	%edi,%ebx
5572	shrdl	$2,%ecx,%ecx
5573	addl	%edx,%ebx
5574	addl	4(%esp),%edx
5575	addl	%ecx,%ebx
5576	movl	%edx,%ecx
5577	shrdl	$14,%edx,%edx
5578	movl	8(%esp),%esi
5579	xorl	%ecx,%edx
5580	movl	12(%esp),%edi
5581	xorl	%edi,%esi
5582	shrdl	$5,%edx,%edx
5583	andl	%ecx,%esi
5584	movl	%ecx,4(%esp)
5585	xorl	%ecx,%edx
5586	xorl	%esi,%edi
5587	shrdl	$6,%edx,%edx
5588	movl	%ebx,%ecx
5589	addl	%edi,%edx
5590	movl	24(%esp),%edi
5591	movl	%ebx,%esi
5592	shrdl	$9,%ecx,%ecx
5593	movl	%ebx,20(%esp)
5594	xorl	%ebx,%ecx
5595	xorl	%edi,%ebx
5596	addl	16(%esp),%edx
5597	shrdl	$11,%ecx,%ecx
5598	andl	%ebx,%eax
5599	xorl	%esi,%ecx
5600	addl	76(%esp),%edx
5601	xorl	%edi,%eax
5602	shrdl	$2,%ecx,%ecx
5603	addl	%edx,%eax
5604	addl	(%esp),%edx
5605	addl	%ecx,%eax
5606	movl	%edx,%ecx
5607	shrdl	$14,%edx,%edx
5608	movl	4(%esp),%esi
5609	xorl	%ecx,%edx
5610	movl	8(%esp),%edi
5611	xorl	%edi,%esi
5612	shrdl	$5,%edx,%edx
5613	andl	%ecx,%esi
5614	movl	%ecx,(%esp)
5615	xorl	%ecx,%edx
5616	xorl	%esi,%edi
5617	shrdl	$6,%edx,%edx
5618	movl	%eax,%ecx
5619	addl	%edi,%edx
5620	movl	20(%esp),%edi
5621	movl	%eax,%esi
5622	shrdl	$9,%ecx,%ecx
5623	movl	%eax,16(%esp)
5624	xorl	%eax,%ecx
5625	xorl	%edi,%eax
5626	addl	12(%esp),%edx
5627	shrdl	$11,%ecx,%ecx
5628	andl	%eax,%ebx
5629	xorl	%esi,%ecx
5630	addl	80(%esp),%edx
5631	xorl	%edi,%ebx
5632	shrdl	$2,%ecx,%ecx
5633	addl	%edx,%ebx
5634	addl	28(%esp),%edx
5635	addl	%ecx,%ebx
5636	movl	%edx,%ecx
5637	shrdl	$14,%edx,%edx
5638	movl	(%esp),%esi
5639	xorl	%ecx,%edx
5640	movl	4(%esp),%edi
5641	xorl	%edi,%esi
5642	shrdl	$5,%edx,%edx
5643	andl	%ecx,%esi
5644	movl	%ecx,28(%esp)
5645	xorl	%ecx,%edx
5646	xorl	%esi,%edi
5647	shrdl	$6,%edx,%edx
5648	movl	%ebx,%ecx
5649	addl	%edi,%edx
5650	movl	16(%esp),%edi
5651	movl	%ebx,%esi
5652	shrdl	$9,%ecx,%ecx
5653	movl	%ebx,12(%esp)
5654	xorl	%ebx,%ecx
5655	xorl	%edi,%ebx
5656	addl	8(%esp),%edx
5657	shrdl	$11,%ecx,%ecx
5658	andl	%ebx,%eax
5659	xorl	%esi,%ecx
5660	addl	84(%esp),%edx
5661	xorl	%edi,%eax
5662	shrdl	$2,%ecx,%ecx
5663	addl	%edx,%eax
5664	addl	24(%esp),%edx
5665	addl	%ecx,%eax
5666	movl	%edx,%ecx
5667	shrdl	$14,%edx,%edx
5668	movl	28(%esp),%esi
5669	xorl	%ecx,%edx
5670	movl	(%esp),%edi
5671	xorl	%edi,%esi
5672	shrdl	$5,%edx,%edx
5673	andl	%ecx,%esi
5674	movl	%ecx,24(%esp)
5675	xorl	%ecx,%edx
5676	xorl	%esi,%edi
5677	shrdl	$6,%edx,%edx
5678	movl	%eax,%ecx
5679	addl	%edi,%edx
5680	movl	12(%esp),%edi
5681	movl	%eax,%esi
5682	shrdl	$9,%ecx,%ecx
5683	movl	%eax,8(%esp)
5684	xorl	%eax,%ecx
5685	xorl	%edi,%eax
5686	addl	4(%esp),%edx
5687	shrdl	$11,%ecx,%ecx
5688	andl	%eax,%ebx
5689	xorl	%esi,%ecx
5690	addl	88(%esp),%edx
5691	xorl	%edi,%ebx
5692	shrdl	$2,%ecx,%ecx
5693	addl	%edx,%ebx
5694	addl	20(%esp),%edx
5695	addl	%ecx,%ebx
5696	movl	%edx,%ecx
5697	shrdl	$14,%edx,%edx
5698	movl	24(%esp),%esi
5699	xorl	%ecx,%edx
5700	movl	28(%esp),%edi
5701	xorl	%edi,%esi
5702	shrdl	$5,%edx,%edx
5703	andl	%ecx,%esi
5704	movl	%ecx,20(%esp)
5705	xorl	%ecx,%edx
5706	xorl	%esi,%edi
5707	shrdl	$6,%edx,%edx
5708	movl	%ebx,%ecx
5709	addl	%edi,%edx
5710	movl	8(%esp),%edi
5711	movl	%ebx,%esi
5712	shrdl	$9,%ecx,%ecx
5713	movl	%ebx,4(%esp)
5714	xorl	%ebx,%ecx
5715	xorl	%edi,%ebx
5716	addl	(%esp),%edx
5717	shrdl	$11,%ecx,%ecx
5718	andl	%ebx,%eax
5719	xorl	%esi,%ecx
5720	addl	92(%esp),%edx
5721	xorl	%edi,%eax
5722	shrdl	$2,%ecx,%ecx
5723	addl	%edx,%eax
5724	addl	16(%esp),%edx
5725	addl	%ecx,%eax
5726	movl	96(%esp),%esi
5727	xorl	%edi,%ebx
5728	movl	12(%esp),%ecx
5729	addl	(%esi),%eax
5730	addl	4(%esi),%ebx
5731	addl	8(%esi),%edi
5732	addl	12(%esi),%ecx
5733	movl	%eax,(%esi)
5734	movl	%ebx,4(%esi)
5735	movl	%edi,8(%esi)
5736	movl	%ecx,12(%esi)
5737	movl	%ebx,4(%esp)
5738	xorl	%edi,%ebx
5739	movl	%edi,8(%esp)
5740	movl	%ecx,12(%esp)
5741	movl	20(%esp),%edi
5742	movl	24(%esp),%ecx
5743	addl	16(%esi),%edx
5744	addl	20(%esi),%edi
5745	addl	24(%esi),%ecx
5746	movl	%edx,16(%esi)
5747	movl	%edi,20(%esi)
5748	movl	%edi,20(%esp)
5749	movl	28(%esp),%edi
5750	movl	%ecx,24(%esi)
5751	addl	28(%esi),%edi
5752	movl	%ecx,24(%esp)
5753	movl	%edi,28(%esi)
5754	movl	%edi,28(%esp)
5755	movl	100(%esp),%edi
5756	vmovdqa	64(%ebp),%xmm7
5757	subl	$192,%ebp
5758	cmpl	104(%esp),%edi
5759	jb	.L015grand_avx
5760	movl	108(%esp),%esp
5761	vzeroall
5762	popl	%edi
5763	popl	%esi
5764	popl	%ebx
5765	popl	%ebp
5766	ret
5767.align	32
5768.L014AVX_BMI:
5769	leal	-96(%esp),%esp
5770	vzeroall
5771	movl	(%esi),%eax
5772	movl	4(%esi),%ebx
5773	movl	8(%esi),%ecx
5774	movl	12(%esi),%edi
5775	movl	%ebx,4(%esp)
5776	xorl	%ecx,%ebx
5777	movl	%ecx,8(%esp)
5778	movl	%edi,12(%esp)
5779	movl	16(%esi),%edx
5780	movl	20(%esi),%edi
5781	movl	24(%esi),%ecx
5782	movl	28(%esi),%esi
5783	movl	%edi,20(%esp)
5784	movl	100(%esp),%edi
5785	movl	%ecx,24(%esp)
5786	movl	%esi,28(%esp)
5787	vmovdqa	256(%ebp),%xmm7
5788	jmp	.L017grand_avx_bmi
5789.align	32
5790.L017grand_avx_bmi:
5791	vmovdqu	(%edi),%xmm0
5792	vmovdqu	16(%edi),%xmm1
5793	vmovdqu	32(%edi),%xmm2
5794	vmovdqu	48(%edi),%xmm3
5795	addl	$64,%edi
5796	vpshufb	%xmm7,%xmm0,%xmm0
5797	movl	%edi,100(%esp)
5798	vpshufb	%xmm7,%xmm1,%xmm1
5799	vpshufb	%xmm7,%xmm2,%xmm2
5800	vpaddd	(%ebp),%xmm0,%xmm4
5801	vpshufb	%xmm7,%xmm3,%xmm3
5802	vpaddd	16(%ebp),%xmm1,%xmm5
5803	vpaddd	32(%ebp),%xmm2,%xmm6
5804	vpaddd	48(%ebp),%xmm3,%xmm7
5805	vmovdqa	%xmm4,32(%esp)
5806	vmovdqa	%xmm5,48(%esp)
5807	vmovdqa	%xmm6,64(%esp)
5808	vmovdqa	%xmm7,80(%esp)
5809	jmp	.L018avx_bmi_00_47
5810.align	16
5811.L018avx_bmi_00_47:
5812	addl	$64,%ebp
5813	vpalignr	$4,%xmm0,%xmm1,%xmm4
5814	rorxl	$6,%edx,%ecx
5815	rorxl	$11,%edx,%esi
5816	movl	%edx,16(%esp)
5817	vpalignr	$4,%xmm2,%xmm3,%xmm7
5818	rorxl	$25,%edx,%edi
5819	xorl	%esi,%ecx
5820	andnl	24(%esp),%edx,%esi
5821	vpsrld	$7,%xmm4,%xmm6
5822	xorl	%edi,%ecx
5823	andl	20(%esp),%edx
5824	movl	%eax,(%esp)
5825	vpaddd	%xmm7,%xmm0,%xmm0
5826	orl	%esi,%edx
5827	rorxl	$2,%eax,%edi
5828	rorxl	$13,%eax,%esi
5829	vpsrld	$3,%xmm4,%xmm7
5830	leal	(%edx,%ecx,1),%edx
5831	rorxl	$22,%eax,%ecx
5832	xorl	%edi,%esi
5833	vpslld	$14,%xmm4,%xmm5
5834	movl	4(%esp),%edi
5835	xorl	%esi,%ecx
5836	xorl	%edi,%eax
5837	vpxor	%xmm6,%xmm7,%xmm4
5838	addl	28(%esp),%edx
5839	andl	%eax,%ebx
5840	addl	32(%esp),%edx
5841	vpshufd	$250,%xmm3,%xmm7
5842	xorl	%edi,%ebx
5843	addl	%edx,%ecx
5844	addl	12(%esp),%edx
5845	vpsrld	$11,%xmm6,%xmm6
5846	leal	(%ebx,%ecx,1),%ebx
5847	rorxl	$6,%edx,%ecx
5848	rorxl	$11,%edx,%esi
5849	vpxor	%xmm5,%xmm4,%xmm4
5850	movl	%edx,12(%esp)
5851	rorxl	$25,%edx,%edi
5852	xorl	%esi,%ecx
5853	vpslld	$11,%xmm5,%xmm5
5854	andnl	20(%esp),%edx,%esi
5855	xorl	%edi,%ecx
5856	andl	16(%esp),%edx
5857	vpxor	%xmm6,%xmm4,%xmm4
5858	movl	%ebx,28(%esp)
5859	orl	%esi,%edx
5860	rorxl	$2,%ebx,%edi
5861	rorxl	$13,%ebx,%esi
5862	vpsrld	$10,%xmm7,%xmm6
5863	leal	(%edx,%ecx,1),%edx
5864	rorxl	$22,%ebx,%ecx
5865	xorl	%edi,%esi
5866	vpxor	%xmm5,%xmm4,%xmm4
5867	movl	(%esp),%edi
5868	xorl	%esi,%ecx
5869	xorl	%edi,%ebx
5870	vpsrlq	$17,%xmm7,%xmm5
5871	addl	24(%esp),%edx
5872	andl	%ebx,%eax
5873	addl	36(%esp),%edx
5874	vpaddd	%xmm4,%xmm0,%xmm0
5875	xorl	%edi,%eax
5876	addl	%edx,%ecx
5877	addl	8(%esp),%edx
5878	vpxor	%xmm5,%xmm6,%xmm6
5879	leal	(%eax,%ecx,1),%eax
5880	rorxl	$6,%edx,%ecx
5881	rorxl	$11,%edx,%esi
5882	vpsrlq	$19,%xmm7,%xmm7
5883	movl	%edx,8(%esp)
5884	rorxl	$25,%edx,%edi
5885	xorl	%esi,%ecx
5886	vpxor	%xmm7,%xmm6,%xmm6
5887	andnl	16(%esp),%edx,%esi
5888	xorl	%edi,%ecx
5889	andl	12(%esp),%edx
5890	vpshufd	$132,%xmm6,%xmm7
5891	movl	%eax,24(%esp)
5892	orl	%esi,%edx
5893	rorxl	$2,%eax,%edi
5894	rorxl	$13,%eax,%esi
5895	vpsrldq	$8,%xmm7,%xmm7
5896	leal	(%edx,%ecx,1),%edx
5897	rorxl	$22,%eax,%ecx
5898	xorl	%edi,%esi
5899	vpaddd	%xmm7,%xmm0,%xmm0
5900	movl	28(%esp),%edi
5901	xorl	%esi,%ecx
5902	xorl	%edi,%eax
5903	vpshufd	$80,%xmm0,%xmm7
5904	addl	20(%esp),%edx
5905	andl	%eax,%ebx
5906	addl	40(%esp),%edx
5907	vpsrld	$10,%xmm7,%xmm6
5908	xorl	%edi,%ebx
5909	addl	%edx,%ecx
5910	addl	4(%esp),%edx
5911	vpsrlq	$17,%xmm7,%xmm5
5912	leal	(%ebx,%ecx,1),%ebx
5913	rorxl	$6,%edx,%ecx
5914	rorxl	$11,%edx,%esi
5915	vpxor	%xmm5,%xmm6,%xmm6
5916	movl	%edx,4(%esp)
5917	rorxl	$25,%edx,%edi
5918	xorl	%esi,%ecx
5919	vpsrlq	$19,%xmm7,%xmm7
5920	andnl	12(%esp),%edx,%esi
5921	xorl	%edi,%ecx
5922	andl	8(%esp),%edx
5923	vpxor	%xmm7,%xmm6,%xmm6
5924	movl	%ebx,20(%esp)
5925	orl	%esi,%edx
5926	rorxl	$2,%ebx,%edi
5927	rorxl	$13,%ebx,%esi
5928	vpshufd	$232,%xmm6,%xmm7
5929	leal	(%edx,%ecx,1),%edx
5930	rorxl	$22,%ebx,%ecx
5931	xorl	%edi,%esi
5932	vpslldq	$8,%xmm7,%xmm7
5933	movl	24(%esp),%edi
5934	xorl	%esi,%ecx
5935	xorl	%edi,%ebx
5936	vpaddd	%xmm7,%xmm0,%xmm0
5937	addl	16(%esp),%edx
5938	andl	%ebx,%eax
5939	addl	44(%esp),%edx
5940	vpaddd	(%ebp),%xmm0,%xmm6
5941	xorl	%edi,%eax
5942	addl	%edx,%ecx
5943	addl	(%esp),%edx
5944	leal	(%eax,%ecx,1),%eax
5945	vmovdqa	%xmm6,32(%esp)
5946	vpalignr	$4,%xmm1,%xmm2,%xmm4
5947	rorxl	$6,%edx,%ecx
5948	rorxl	$11,%edx,%esi
5949	movl	%edx,(%esp)
5950	vpalignr	$4,%xmm3,%xmm0,%xmm7
5951	rorxl	$25,%edx,%edi
5952	xorl	%esi,%ecx
5953	andnl	8(%esp),%edx,%esi
5954	vpsrld	$7,%xmm4,%xmm6
5955	xorl	%edi,%ecx
5956	andl	4(%esp),%edx
5957	movl	%eax,16(%esp)
5958	vpaddd	%xmm7,%xmm1,%xmm1
5959	orl	%esi,%edx
5960	rorxl	$2,%eax,%edi
5961	rorxl	$13,%eax,%esi
5962	vpsrld	$3,%xmm4,%xmm7
5963	leal	(%edx,%ecx,1),%edx
5964	rorxl	$22,%eax,%ecx
5965	xorl	%edi,%esi
5966	vpslld	$14,%xmm4,%xmm5
5967	movl	20(%esp),%edi
5968	xorl	%esi,%ecx
5969	xorl	%edi,%eax
5970	vpxor	%xmm6,%xmm7,%xmm4
5971	addl	12(%esp),%edx
5972	andl	%eax,%ebx
5973	addl	48(%esp),%edx
5974	vpshufd	$250,%xmm0,%xmm7
5975	xorl	%edi,%ebx
5976	addl	%edx,%ecx
5977	addl	28(%esp),%edx
5978	vpsrld	$11,%xmm6,%xmm6
5979	leal	(%ebx,%ecx,1),%ebx
5980	rorxl	$6,%edx,%ecx
5981	rorxl	$11,%edx,%esi
5982	vpxor	%xmm5,%xmm4,%xmm4
5983	movl	%edx,28(%esp)
5984	rorxl	$25,%edx,%edi
5985	xorl	%esi,%ecx
5986	vpslld	$11,%xmm5,%xmm5
5987	andnl	4(%esp),%edx,%esi
5988	xorl	%edi,%ecx
5989	andl	(%esp),%edx
5990	vpxor	%xmm6,%xmm4,%xmm4
5991	movl	%ebx,12(%esp)
5992	orl	%esi,%edx
5993	rorxl	$2,%ebx,%edi
5994	rorxl	$13,%ebx,%esi
5995	vpsrld	$10,%xmm7,%xmm6
5996	leal	(%edx,%ecx,1),%edx
5997	rorxl	$22,%ebx,%ecx
5998	xorl	%edi,%esi
5999	vpxor	%xmm5,%xmm4,%xmm4
6000	movl	16(%esp),%edi
6001	xorl	%esi,%ecx
6002	xorl	%edi,%ebx
6003	vpsrlq	$17,%xmm7,%xmm5
6004	addl	8(%esp),%edx
6005	andl	%ebx,%eax
6006	addl	52(%esp),%edx
6007	vpaddd	%xmm4,%xmm1,%xmm1
6008	xorl	%edi,%eax
6009	addl	%edx,%ecx
6010	addl	24(%esp),%edx
6011	vpxor	%xmm5,%xmm6,%xmm6
6012	leal	(%eax,%ecx,1),%eax
6013	rorxl	$6,%edx,%ecx
6014	rorxl	$11,%edx,%esi
6015	vpsrlq	$19,%xmm7,%xmm7
6016	movl	%edx,24(%esp)
6017	rorxl	$25,%edx,%edi
6018	xorl	%esi,%ecx
6019	vpxor	%xmm7,%xmm6,%xmm6
6020	andnl	(%esp),%edx,%esi
6021	xorl	%edi,%ecx
6022	andl	28(%esp),%edx
6023	vpshufd	$132,%xmm6,%xmm7
6024	movl	%eax,8(%esp)
6025	orl	%esi,%edx
6026	rorxl	$2,%eax,%edi
6027	rorxl	$13,%eax,%esi
6028	vpsrldq	$8,%xmm7,%xmm7
6029	leal	(%edx,%ecx,1),%edx
6030	rorxl	$22,%eax,%ecx
6031	xorl	%edi,%esi
6032	vpaddd	%xmm7,%xmm1,%xmm1
6033	movl	12(%esp),%edi
6034	xorl	%esi,%ecx
6035	xorl	%edi,%eax
6036	vpshufd	$80,%xmm1,%xmm7
6037	addl	4(%esp),%edx
6038	andl	%eax,%ebx
6039	addl	56(%esp),%edx
6040	vpsrld	$10,%xmm7,%xmm6
6041	xorl	%edi,%ebx
6042	addl	%edx,%ecx
6043	addl	20(%esp),%edx
6044	vpsrlq	$17,%xmm7,%xmm5
6045	leal	(%ebx,%ecx,1),%ebx
6046	rorxl	$6,%edx,%ecx
6047	rorxl	$11,%edx,%esi
6048	vpxor	%xmm5,%xmm6,%xmm6
6049	movl	%edx,20(%esp)
6050	rorxl	$25,%edx,%edi
6051	xorl	%esi,%ecx
6052	vpsrlq	$19,%xmm7,%xmm7
6053	andnl	28(%esp),%edx,%esi
6054	xorl	%edi,%ecx
6055	andl	24(%esp),%edx
6056	vpxor	%xmm7,%xmm6,%xmm6
6057	movl	%ebx,4(%esp)
6058	orl	%esi,%edx
6059	rorxl	$2,%ebx,%edi
6060	rorxl	$13,%ebx,%esi
6061	vpshufd	$232,%xmm6,%xmm7
6062	leal	(%edx,%ecx,1),%edx
6063	rorxl	$22,%ebx,%ecx
6064	xorl	%edi,%esi
6065	vpslldq	$8,%xmm7,%xmm7
6066	movl	8(%esp),%edi
6067	xorl	%esi,%ecx
6068	xorl	%edi,%ebx
6069	vpaddd	%xmm7,%xmm1,%xmm1
6070	addl	(%esp),%edx
6071	andl	%ebx,%eax
6072	addl	60(%esp),%edx
6073	vpaddd	16(%ebp),%xmm1,%xmm6
6074	xorl	%edi,%eax
6075	addl	%edx,%ecx
6076	addl	16(%esp),%edx
6077	leal	(%eax,%ecx,1),%eax
6078	vmovdqa	%xmm6,48(%esp)
6079	vpalignr	$4,%xmm2,%xmm3,%xmm4
6080	rorxl	$6,%edx,%ecx
6081	rorxl	$11,%edx,%esi
6082	movl	%edx,16(%esp)
6083	vpalignr	$4,%xmm0,%xmm1,%xmm7
6084	rorxl	$25,%edx,%edi
6085	xorl	%esi,%ecx
6086	andnl	24(%esp),%edx,%esi
6087	vpsrld	$7,%xmm4,%xmm6
6088	xorl	%edi,%ecx
6089	andl	20(%esp),%edx
6090	movl	%eax,(%esp)
6091	vpaddd	%xmm7,%xmm2,%xmm2
6092	orl	%esi,%edx
6093	rorxl	$2,%eax,%edi
6094	rorxl	$13,%eax,%esi
6095	vpsrld	$3,%xmm4,%xmm7
6096	leal	(%edx,%ecx,1),%edx
6097	rorxl	$22,%eax,%ecx
6098	xorl	%edi,%esi
6099	vpslld	$14,%xmm4,%xmm5
6100	movl	4(%esp),%edi
6101	xorl	%esi,%ecx
6102	xorl	%edi,%eax
6103	vpxor	%xmm6,%xmm7,%xmm4
6104	addl	28(%esp),%edx
6105	andl	%eax,%ebx
6106	addl	64(%esp),%edx
6107	vpshufd	$250,%xmm1,%xmm7
6108	xorl	%edi,%ebx
6109	addl	%edx,%ecx
6110	addl	12(%esp),%edx
6111	vpsrld	$11,%xmm6,%xmm6
6112	leal	(%ebx,%ecx,1),%ebx
6113	rorxl	$6,%edx,%ecx
6114	rorxl	$11,%edx,%esi
6115	vpxor	%xmm5,%xmm4,%xmm4
6116	movl	%edx,12(%esp)
6117	rorxl	$25,%edx,%edi
6118	xorl	%esi,%ecx
6119	vpslld	$11,%xmm5,%xmm5
6120	andnl	20(%esp),%edx,%esi
6121	xorl	%edi,%ecx
6122	andl	16(%esp),%edx
6123	vpxor	%xmm6,%xmm4,%xmm4
6124	movl	%ebx,28(%esp)
6125	orl	%esi,%edx
6126	rorxl	$2,%ebx,%edi
6127	rorxl	$13,%ebx,%esi
6128	vpsrld	$10,%xmm7,%xmm6
6129	leal	(%edx,%ecx,1),%edx
6130	rorxl	$22,%ebx,%ecx
6131	xorl	%edi,%esi
6132	vpxor	%xmm5,%xmm4,%xmm4
6133	movl	(%esp),%edi
6134	xorl	%esi,%ecx
6135	xorl	%edi,%ebx
6136	vpsrlq	$17,%xmm7,%xmm5
6137	addl	24(%esp),%edx
6138	andl	%ebx,%eax
6139	addl	68(%esp),%edx
6140	vpaddd	%xmm4,%xmm2,%xmm2
6141	xorl	%edi,%eax
6142	addl	%edx,%ecx
6143	addl	8(%esp),%edx
6144	vpxor	%xmm5,%xmm6,%xmm6
6145	leal	(%eax,%ecx,1),%eax
6146	rorxl	$6,%edx,%ecx
6147	rorxl	$11,%edx,%esi
6148	vpsrlq	$19,%xmm7,%xmm7
6149	movl	%edx,8(%esp)
6150	rorxl	$25,%edx,%edi
6151	xorl	%esi,%ecx
6152	vpxor	%xmm7,%xmm6,%xmm6
6153	andnl	16(%esp),%edx,%esi
6154	xorl	%edi,%ecx
6155	andl	12(%esp),%edx
6156	vpshufd	$132,%xmm6,%xmm7
6157	movl	%eax,24(%esp)
6158	orl	%esi,%edx
6159	rorxl	$2,%eax,%edi
6160	rorxl	$13,%eax,%esi
6161	vpsrldq	$8,%xmm7,%xmm7
6162	leal	(%edx,%ecx,1),%edx
6163	rorxl	$22,%eax,%ecx
6164	xorl	%edi,%esi
6165	vpaddd	%xmm7,%xmm2,%xmm2
6166	movl	28(%esp),%edi
6167	xorl	%esi,%ecx
6168	xorl	%edi,%eax
6169	vpshufd	$80,%xmm2,%xmm7
6170	addl	20(%esp),%edx
6171	andl	%eax,%ebx
6172	addl	72(%esp),%edx
6173	vpsrld	$10,%xmm7,%xmm6
6174	xorl	%edi,%ebx
6175	addl	%edx,%ecx
6176	addl	4(%esp),%edx
6177	vpsrlq	$17,%xmm7,%xmm5
6178	leal	(%ebx,%ecx,1),%ebx
6179	rorxl	$6,%edx,%ecx
6180	rorxl	$11,%edx,%esi
6181	vpxor	%xmm5,%xmm6,%xmm6
6182	movl	%edx,4(%esp)
6183	rorxl	$25,%edx,%edi
6184	xorl	%esi,%ecx
6185	vpsrlq	$19,%xmm7,%xmm7
6186	andnl	12(%esp),%edx,%esi
6187	xorl	%edi,%ecx
6188	andl	8(%esp),%edx
6189	vpxor	%xmm7,%xmm6,%xmm6
6190	movl	%ebx,20(%esp)
6191	orl	%esi,%edx
6192	rorxl	$2,%ebx,%edi
6193	rorxl	$13,%ebx,%esi
6194	vpshufd	$232,%xmm6,%xmm7
6195	leal	(%edx,%ecx,1),%edx
6196	rorxl	$22,%ebx,%ecx
6197	xorl	%edi,%esi
6198	vpslldq	$8,%xmm7,%xmm7
6199	movl	24(%esp),%edi
6200	xorl	%esi,%ecx
6201	xorl	%edi,%ebx
6202	vpaddd	%xmm7,%xmm2,%xmm2
6203	addl	16(%esp),%edx
6204	andl	%ebx,%eax
6205	addl	76(%esp),%edx
6206	vpaddd	32(%ebp),%xmm2,%xmm6
6207	xorl	%edi,%eax
6208	addl	%edx,%ecx
6209	addl	(%esp),%edx
6210	leal	(%eax,%ecx,1),%eax
6211	vmovdqa	%xmm6,64(%esp)
6212	vpalignr	$4,%xmm3,%xmm0,%xmm4
6213	rorxl	$6,%edx,%ecx
6214	rorxl	$11,%edx,%esi
6215	movl	%edx,(%esp)
6216	vpalignr	$4,%xmm1,%xmm2,%xmm7
6217	rorxl	$25,%edx,%edi
6218	xorl	%esi,%ecx
6219	andnl	8(%esp),%edx,%esi
6220	vpsrld	$7,%xmm4,%xmm6
6221	xorl	%edi,%ecx
6222	andl	4(%esp),%edx
6223	movl	%eax,16(%esp)
6224	vpaddd	%xmm7,%xmm3,%xmm3
6225	orl	%esi,%edx
6226	rorxl	$2,%eax,%edi
6227	rorxl	$13,%eax,%esi
6228	vpsrld	$3,%xmm4,%xmm7
6229	leal	(%edx,%ecx,1),%edx
6230	rorxl	$22,%eax,%ecx
6231	xorl	%edi,%esi
6232	vpslld	$14,%xmm4,%xmm5
6233	movl	20(%esp),%edi
6234	xorl	%esi,%ecx
6235	xorl	%edi,%eax
6236	vpxor	%xmm6,%xmm7,%xmm4
6237	addl	12(%esp),%edx
6238	andl	%eax,%ebx
6239	addl	80(%esp),%edx
6240	vpshufd	$250,%xmm2,%xmm7
6241	xorl	%edi,%ebx
6242	addl	%edx,%ecx
6243	addl	28(%esp),%edx
6244	vpsrld	$11,%xmm6,%xmm6
6245	leal	(%ebx,%ecx,1),%ebx
6246	rorxl	$6,%edx,%ecx
6247	rorxl	$11,%edx,%esi
6248	vpxor	%xmm5,%xmm4,%xmm4
6249	movl	%edx,28(%esp)
6250	rorxl	$25,%edx,%edi
6251	xorl	%esi,%ecx
6252	vpslld	$11,%xmm5,%xmm5
6253	andnl	4(%esp),%edx,%esi
6254	xorl	%edi,%ecx
6255	andl	(%esp),%edx
6256	vpxor	%xmm6,%xmm4,%xmm4
6257	movl	%ebx,12(%esp)
6258	orl	%esi,%edx
6259	rorxl	$2,%ebx,%edi
6260	rorxl	$13,%ebx,%esi
6261	vpsrld	$10,%xmm7,%xmm6
6262	leal	(%edx,%ecx,1),%edx
6263	rorxl	$22,%ebx,%ecx
6264	xorl	%edi,%esi
6265	vpxor	%xmm5,%xmm4,%xmm4
6266	movl	16(%esp),%edi
6267	xorl	%esi,%ecx
6268	xorl	%edi,%ebx
6269	vpsrlq	$17,%xmm7,%xmm5
6270	addl	8(%esp),%edx
6271	andl	%ebx,%eax
6272	addl	84(%esp),%edx
6273	vpaddd	%xmm4,%xmm3,%xmm3
6274	xorl	%edi,%eax
6275	addl	%edx,%ecx
6276	addl	24(%esp),%edx
6277	vpxor	%xmm5,%xmm6,%xmm6
6278	leal	(%eax,%ecx,1),%eax
6279	rorxl	$6,%edx,%ecx
6280	rorxl	$11,%edx,%esi
6281	vpsrlq	$19,%xmm7,%xmm7
6282	movl	%edx,24(%esp)
6283	rorxl	$25,%edx,%edi
6284	xorl	%esi,%ecx
6285	vpxor	%xmm7,%xmm6,%xmm6
6286	andnl	(%esp),%edx,%esi
6287	xorl	%edi,%ecx
6288	andl	28(%esp),%edx
6289	vpshufd	$132,%xmm6,%xmm7
6290	movl	%eax,8(%esp)
6291	orl	%esi,%edx
6292	rorxl	$2,%eax,%edi
6293	rorxl	$13,%eax,%esi
6294	vpsrldq	$8,%xmm7,%xmm7
6295	leal	(%edx,%ecx,1),%edx
6296	rorxl	$22,%eax,%ecx
6297	xorl	%edi,%esi
6298	vpaddd	%xmm7,%xmm3,%xmm3
6299	movl	12(%esp),%edi
6300	xorl	%esi,%ecx
6301	xorl	%edi,%eax
6302	vpshufd	$80,%xmm3,%xmm7
6303	addl	4(%esp),%edx
6304	andl	%eax,%ebx
6305	addl	88(%esp),%edx
6306	vpsrld	$10,%xmm7,%xmm6
6307	xorl	%edi,%ebx
6308	addl	%edx,%ecx
6309	addl	20(%esp),%edx
6310	vpsrlq	$17,%xmm7,%xmm5
6311	leal	(%ebx,%ecx,1),%ebx
6312	rorxl	$6,%edx,%ecx
6313	rorxl	$11,%edx,%esi
6314	vpxor	%xmm5,%xmm6,%xmm6
6315	movl	%edx,20(%esp)
6316	rorxl	$25,%edx,%edi
6317	xorl	%esi,%ecx
6318	vpsrlq	$19,%xmm7,%xmm7
6319	andnl	28(%esp),%edx,%esi
6320	xorl	%edi,%ecx
6321	andl	24(%esp),%edx
6322	vpxor	%xmm7,%xmm6,%xmm6
6323	movl	%ebx,4(%esp)
6324	orl	%esi,%edx
6325	rorxl	$2,%ebx,%edi
6326	rorxl	$13,%ebx,%esi
6327	vpshufd	$232,%xmm6,%xmm7
6328	leal	(%edx,%ecx,1),%edx
6329	rorxl	$22,%ebx,%ecx
6330	xorl	%edi,%esi
6331	vpslldq	$8,%xmm7,%xmm7
6332	movl	8(%esp),%edi
6333	xorl	%esi,%ecx
6334	xorl	%edi,%ebx
6335	vpaddd	%xmm7,%xmm3,%xmm3
6336	addl	(%esp),%edx
6337	andl	%ebx,%eax
6338	addl	92(%esp),%edx
6339	vpaddd	48(%ebp),%xmm3,%xmm6
6340	xorl	%edi,%eax
6341	addl	%edx,%ecx
6342	addl	16(%esp),%edx
6343	leal	(%eax,%ecx,1),%eax
6344	vmovdqa	%xmm6,80(%esp)
6345	cmpl	$66051,64(%ebp)
6346	jne	.L018avx_bmi_00_47
6347	rorxl	$6,%edx,%ecx
6348	rorxl	$11,%edx,%esi
6349	movl	%edx,16(%esp)
6350	rorxl	$25,%edx,%edi
6351	xorl	%esi,%ecx
6352	andnl	24(%esp),%edx,%esi
6353	xorl	%edi,%ecx
6354	andl	20(%esp),%edx
6355	movl	%eax,(%esp)
6356	orl	%esi,%edx
6357	rorxl	$2,%eax,%edi
6358	rorxl	$13,%eax,%esi
6359	leal	(%edx,%ecx,1),%edx
6360	rorxl	$22,%eax,%ecx
6361	xorl	%edi,%esi
6362	movl	4(%esp),%edi
6363	xorl	%esi,%ecx
6364	xorl	%edi,%eax
6365	addl	28(%esp),%edx
6366	andl	%eax,%ebx
6367	addl	32(%esp),%edx
6368	xorl	%edi,%ebx
6369	addl	%edx,%ecx
6370	addl	12(%esp),%edx
6371	leal	(%ebx,%ecx,1),%ebx
6372	rorxl	$6,%edx,%ecx
6373	rorxl	$11,%edx,%esi
6374	movl	%edx,12(%esp)
6375	rorxl	$25,%edx,%edi
6376	xorl	%esi,%ecx
6377	andnl	20(%esp),%edx,%esi
6378	xorl	%edi,%ecx
6379	andl	16(%esp),%edx
6380	movl	%ebx,28(%esp)
6381	orl	%esi,%edx
6382	rorxl	$2,%ebx,%edi
6383	rorxl	$13,%ebx,%esi
6384	leal	(%edx,%ecx,1),%edx
6385	rorxl	$22,%ebx,%ecx
6386	xorl	%edi,%esi
6387	movl	(%esp),%edi
6388	xorl	%esi,%ecx
6389	xorl	%edi,%ebx
6390	addl	24(%esp),%edx
6391	andl	%ebx,%eax
6392	addl	36(%esp),%edx
6393	xorl	%edi,%eax
6394	addl	%edx,%ecx
6395	addl	8(%esp),%edx
6396	leal	(%eax,%ecx,1),%eax
6397	rorxl	$6,%edx,%ecx
6398	rorxl	$11,%edx,%esi
6399	movl	%edx,8(%esp)
6400	rorxl	$25,%edx,%edi
6401	xorl	%esi,%ecx
6402	andnl	16(%esp),%edx,%esi
6403	xorl	%edi,%ecx
6404	andl	12(%esp),%edx
6405	movl	%eax,24(%esp)
6406	orl	%esi,%edx
6407	rorxl	$2,%eax,%edi
6408	rorxl	$13,%eax,%esi
6409	leal	(%edx,%ecx,1),%edx
6410	rorxl	$22,%eax,%ecx
6411	xorl	%edi,%esi
6412	movl	28(%esp),%edi
6413	xorl	%esi,%ecx
6414	xorl	%edi,%eax
6415	addl	20(%esp),%edx
6416	andl	%eax,%ebx
6417	addl	40(%esp),%edx
6418	xorl	%edi,%ebx
6419	addl	%edx,%ecx
6420	addl	4(%esp),%edx
6421	leal	(%ebx,%ecx,1),%ebx
6422	rorxl	$6,%edx,%ecx
6423	rorxl	$11,%edx,%esi
6424	movl	%edx,4(%esp)
6425	rorxl	$25,%edx,%edi
6426	xorl	%esi,%ecx
6427	andnl	12(%esp),%edx,%esi
6428	xorl	%edi,%ecx
6429	andl	8(%esp),%edx
6430	movl	%ebx,20(%esp)
6431	orl	%esi,%edx
6432	rorxl	$2,%ebx,%edi
6433	rorxl	$13,%ebx,%esi
6434	leal	(%edx,%ecx,1),%edx
6435	rorxl	$22,%ebx,%ecx
6436	xorl	%edi,%esi
6437	movl	24(%esp),%edi
6438	xorl	%esi,%ecx
6439	xorl	%edi,%ebx
6440	addl	16(%esp),%edx
6441	andl	%ebx,%eax
6442	addl	44(%esp),%edx
6443	xorl	%edi,%eax
6444	addl	%edx,%ecx
6445	addl	(%esp),%edx
6446	leal	(%eax,%ecx,1),%eax
6447	rorxl	$6,%edx,%ecx
6448	rorxl	$11,%edx,%esi
6449	movl	%edx,(%esp)
6450	rorxl	$25,%edx,%edi
6451	xorl	%esi,%ecx
6452	andnl	8(%esp),%edx,%esi
6453	xorl	%edi,%ecx
6454	andl	4(%esp),%edx
6455	movl	%eax,16(%esp)
6456	orl	%esi,%edx
6457	rorxl	$2,%eax,%edi
6458	rorxl	$13,%eax,%esi
6459	leal	(%edx,%ecx,1),%edx
6460	rorxl	$22,%eax,%ecx
6461	xorl	%edi,%esi
6462	movl	20(%esp),%edi
6463	xorl	%esi,%ecx
6464	xorl	%edi,%eax
6465	addl	12(%esp),%edx
6466	andl	%eax,%ebx
6467	addl	48(%esp),%edx
6468	xorl	%edi,%ebx
6469	addl	%edx,%ecx
6470	addl	28(%esp),%edx
6471	leal	(%ebx,%ecx,1),%ebx
6472	rorxl	$6,%edx,%ecx
6473	rorxl	$11,%edx,%esi
6474	movl	%edx,28(%esp)
6475	rorxl	$25,%edx,%edi
6476	xorl	%esi,%ecx
6477	andnl	4(%esp),%edx,%esi
6478	xorl	%edi,%ecx
6479	andl	(%esp),%edx
6480	movl	%ebx,12(%esp)
6481	orl	%esi,%edx
6482	rorxl	$2,%ebx,%edi
6483	rorxl	$13,%ebx,%esi
6484	leal	(%edx,%ecx,1),%edx
6485	rorxl	$22,%ebx,%ecx
6486	xorl	%edi,%esi
6487	movl	16(%esp),%edi
6488	xorl	%esi,%ecx
6489	xorl	%edi,%ebx
6490	addl	8(%esp),%edx
6491	andl	%ebx,%eax
6492	addl	52(%esp),%edx
6493	xorl	%edi,%eax
6494	addl	%edx,%ecx
6495	addl	24(%esp),%edx
6496	leal	(%eax,%ecx,1),%eax
6497	rorxl	$6,%edx,%ecx
6498	rorxl	$11,%edx,%esi
6499	movl	%edx,24(%esp)
6500	rorxl	$25,%edx,%edi
6501	xorl	%esi,%ecx
6502	andnl	(%esp),%edx,%esi
6503	xorl	%edi,%ecx
6504	andl	28(%esp),%edx
6505	movl	%eax,8(%esp)
6506	orl	%esi,%edx
6507	rorxl	$2,%eax,%edi
6508	rorxl	$13,%eax,%esi
6509	leal	(%edx,%ecx,1),%edx
6510	rorxl	$22,%eax,%ecx
6511	xorl	%edi,%esi
6512	movl	12(%esp),%edi
6513	xorl	%esi,%ecx
6514	xorl	%edi,%eax
6515	addl	4(%esp),%edx
6516	andl	%eax,%ebx
6517	addl	56(%esp),%edx
6518	xorl	%edi,%ebx
6519	addl	%edx,%ecx
6520	addl	20(%esp),%edx
6521	leal	(%ebx,%ecx,1),%ebx
6522	rorxl	$6,%edx,%ecx
6523	rorxl	$11,%edx,%esi
6524	movl	%edx,20(%esp)
6525	rorxl	$25,%edx,%edi
6526	xorl	%esi,%ecx
6527	andnl	28(%esp),%edx,%esi
6528	xorl	%edi,%ecx
6529	andl	24(%esp),%edx
6530	movl	%ebx,4(%esp)
6531	orl	%esi,%edx
6532	rorxl	$2,%ebx,%edi
6533	rorxl	$13,%ebx,%esi
6534	leal	(%edx,%ecx,1),%edx
6535	rorxl	$22,%ebx,%ecx
6536	xorl	%edi,%esi
6537	movl	8(%esp),%edi
6538	xorl	%esi,%ecx
6539	xorl	%edi,%ebx
6540	addl	(%esp),%edx
6541	andl	%ebx,%eax
6542	addl	60(%esp),%edx
6543	xorl	%edi,%eax
6544	addl	%edx,%ecx
6545	addl	16(%esp),%edx
6546	leal	(%eax,%ecx,1),%eax
6547	rorxl	$6,%edx,%ecx
6548	rorxl	$11,%edx,%esi
6549	movl	%edx,16(%esp)
6550	rorxl	$25,%edx,%edi
6551	xorl	%esi,%ecx
6552	andnl	24(%esp),%edx,%esi
6553	xorl	%edi,%ecx
6554	andl	20(%esp),%edx
6555	movl	%eax,(%esp)
6556	orl	%esi,%edx
6557	rorxl	$2,%eax,%edi
6558	rorxl	$13,%eax,%esi
6559	leal	(%edx,%ecx,1),%edx
6560	rorxl	$22,%eax,%ecx
6561	xorl	%edi,%esi
6562	movl	4(%esp),%edi
6563	xorl	%esi,%ecx
6564	xorl	%edi,%eax
6565	addl	28(%esp),%edx
6566	andl	%eax,%ebx
6567	addl	64(%esp),%edx
6568	xorl	%edi,%ebx
6569	addl	%edx,%ecx
6570	addl	12(%esp),%edx
6571	leal	(%ebx,%ecx,1),%ebx
6572	rorxl	$6,%edx,%ecx
6573	rorxl	$11,%edx,%esi
6574	movl	%edx,12(%esp)
6575	rorxl	$25,%edx,%edi
6576	xorl	%esi,%ecx
6577	andnl	20(%esp),%edx,%esi
6578	xorl	%edi,%ecx
6579	andl	16(%esp),%edx
6580	movl	%ebx,28(%esp)
6581	orl	%esi,%edx
6582	rorxl	$2,%ebx,%edi
6583	rorxl	$13,%ebx,%esi
6584	leal	(%edx,%ecx,1),%edx
6585	rorxl	$22,%ebx,%ecx
6586	xorl	%edi,%esi
6587	movl	(%esp),%edi
6588	xorl	%esi,%ecx
6589	xorl	%edi,%ebx
6590	addl	24(%esp),%edx
6591	andl	%ebx,%eax
6592	addl	68(%esp),%edx
6593	xorl	%edi,%eax
6594	addl	%edx,%ecx
6595	addl	8(%esp),%edx
6596	leal	(%eax,%ecx,1),%eax
6597	rorxl	$6,%edx,%ecx
6598	rorxl	$11,%edx,%esi
6599	movl	%edx,8(%esp)
6600	rorxl	$25,%edx,%edi
6601	xorl	%esi,%ecx
6602	andnl	16(%esp),%edx,%esi
6603	xorl	%edi,%ecx
6604	andl	12(%esp),%edx
6605	movl	%eax,24(%esp)
6606	orl	%esi,%edx
6607	rorxl	$2,%eax,%edi
6608	rorxl	$13,%eax,%esi
6609	leal	(%edx,%ecx,1),%edx
6610	rorxl	$22,%eax,%ecx
6611	xorl	%edi,%esi
6612	movl	28(%esp),%edi
6613	xorl	%esi,%ecx
6614	xorl	%edi,%eax
6615	addl	20(%esp),%edx
6616	andl	%eax,%ebx
6617	addl	72(%esp),%edx
6618	xorl	%edi,%ebx
6619	addl	%edx,%ecx
6620	addl	4(%esp),%edx
6621	leal	(%ebx,%ecx,1),%ebx
6622	rorxl	$6,%edx,%ecx
6623	rorxl	$11,%edx,%esi
6624	movl	%edx,4(%esp)
6625	rorxl	$25,%edx,%edi
6626	xorl	%esi,%ecx
6627	andnl	12(%esp),%edx,%esi
6628	xorl	%edi,%ecx
6629	andl	8(%esp),%edx
6630	movl	%ebx,20(%esp)
6631	orl	%esi,%edx
6632	rorxl	$2,%ebx,%edi
6633	rorxl	$13,%ebx,%esi
6634	leal	(%edx,%ecx,1),%edx
6635	rorxl	$22,%ebx,%ecx
6636	xorl	%edi,%esi
6637	movl	24(%esp),%edi
6638	xorl	%esi,%ecx
6639	xorl	%edi,%ebx
6640	addl	16(%esp),%edx
6641	andl	%ebx,%eax
6642	addl	76(%esp),%edx
6643	xorl	%edi,%eax
6644	addl	%edx,%ecx
6645	addl	(%esp),%edx
6646	leal	(%eax,%ecx,1),%eax
6647	rorxl	$6,%edx,%ecx
6648	rorxl	$11,%edx,%esi
6649	movl	%edx,(%esp)
6650	rorxl	$25,%edx,%edi
6651	xorl	%esi,%ecx
6652	andnl	8(%esp),%edx,%esi
6653	xorl	%edi,%ecx
6654	andl	4(%esp),%edx
6655	movl	%eax,16(%esp)
6656	orl	%esi,%edx
6657	rorxl	$2,%eax,%edi
6658	rorxl	$13,%eax,%esi
6659	leal	(%edx,%ecx,1),%edx
6660	rorxl	$22,%eax,%ecx
6661	xorl	%edi,%esi
6662	movl	20(%esp),%edi
6663	xorl	%esi,%ecx
6664	xorl	%edi,%eax
6665	addl	12(%esp),%edx
6666	andl	%eax,%ebx
6667	addl	80(%esp),%edx
6668	xorl	%edi,%ebx
6669	addl	%edx,%ecx
6670	addl	28(%esp),%edx
6671	leal	(%ebx,%ecx,1),%ebx
6672	rorxl	$6,%edx,%ecx
6673	rorxl	$11,%edx,%esi
6674	movl	%edx,28(%esp)
6675	rorxl	$25,%edx,%edi
6676	xorl	%esi,%ecx
6677	andnl	4(%esp),%edx,%esi
6678	xorl	%edi,%ecx
6679	andl	(%esp),%edx
6680	movl	%ebx,12(%esp)
6681	orl	%esi,%edx
6682	rorxl	$2,%ebx,%edi
6683	rorxl	$13,%ebx,%esi
6684	leal	(%edx,%ecx,1),%edx
6685	rorxl	$22,%ebx,%ecx
6686	xorl	%edi,%esi
6687	movl	16(%esp),%edi
6688	xorl	%esi,%ecx
6689	xorl	%edi,%ebx
6690	addl	8(%esp),%edx
6691	andl	%ebx,%eax
6692	addl	84(%esp),%edx
6693	xorl	%edi,%eax
6694	addl	%edx,%ecx
6695	addl	24(%esp),%edx
6696	leal	(%eax,%ecx,1),%eax
6697	rorxl	$6,%edx,%ecx
6698	rorxl	$11,%edx,%esi
6699	movl	%edx,24(%esp)
6700	rorxl	$25,%edx,%edi
6701	xorl	%esi,%ecx
6702	andnl	(%esp),%edx,%esi
6703	xorl	%edi,%ecx
6704	andl	28(%esp),%edx
6705	movl	%eax,8(%esp)
6706	orl	%esi,%edx
6707	rorxl	$2,%eax,%edi
6708	rorxl	$13,%eax,%esi
6709	leal	(%edx,%ecx,1),%edx
6710	rorxl	$22,%eax,%ecx
6711	xorl	%edi,%esi
6712	movl	12(%esp),%edi
6713	xorl	%esi,%ecx
6714	xorl	%edi,%eax
6715	addl	4(%esp),%edx
6716	andl	%eax,%ebx
6717	addl	88(%esp),%edx
6718	xorl	%edi,%ebx
6719	addl	%edx,%ecx
6720	addl	20(%esp),%edx
6721	leal	(%ebx,%ecx,1),%ebx
6722	rorxl	$6,%edx,%ecx
6723	rorxl	$11,%edx,%esi
6724	movl	%edx,20(%esp)
6725	rorxl	$25,%edx,%edi
6726	xorl	%esi,%ecx
6727	andnl	28(%esp),%edx,%esi
6728	xorl	%edi,%ecx
6729	andl	24(%esp),%edx
6730	movl	%ebx,4(%esp)
6731	orl	%esi,%edx
6732	rorxl	$2,%ebx,%edi
6733	rorxl	$13,%ebx,%esi
6734	leal	(%edx,%ecx,1),%edx
6735	rorxl	$22,%ebx,%ecx
6736	xorl	%edi,%esi
6737	movl	8(%esp),%edi
6738	xorl	%esi,%ecx
6739	xorl	%edi,%ebx
6740	addl	(%esp),%edx
6741	andl	%ebx,%eax
6742	addl	92(%esp),%edx
6743	xorl	%edi,%eax
6744	addl	%edx,%ecx
6745	addl	16(%esp),%edx
6746	leal	(%eax,%ecx,1),%eax
6747	movl	96(%esp),%esi
6748	xorl	%edi,%ebx
6749	movl	12(%esp),%ecx
6750	addl	(%esi),%eax
6751	addl	4(%esi),%ebx
6752	addl	8(%esi),%edi
6753	addl	12(%esi),%ecx
6754	movl	%eax,(%esi)
6755	movl	%ebx,4(%esi)
6756	movl	%edi,8(%esi)
6757	movl	%ecx,12(%esi)
6758	movl	%ebx,4(%esp)
6759	xorl	%edi,%ebx
6760	movl	%edi,8(%esp)
6761	movl	%ecx,12(%esp)
6762	movl	20(%esp),%edi
6763	movl	24(%esp),%ecx
6764	addl	16(%esi),%edx
6765	addl	20(%esi),%edi
6766	addl	24(%esi),%ecx
6767	movl	%edx,16(%esi)
6768	movl	%edi,20(%esi)
6769	movl	%edi,20(%esp)
6770	movl	28(%esp),%edi
6771	movl	%ecx,24(%esi)
6772	addl	28(%esi),%edi
6773	movl	%ecx,24(%esp)
6774	movl	%edi,28(%esi)
6775	movl	%edi,28(%esp)
6776	movl	100(%esp),%edi
6777	vmovdqa	64(%ebp),%xmm7
6778	subl	$192,%ebp
6779	cmpl	104(%esp),%edi
6780	jb	.L017grand_avx_bmi
6781	movl	108(%esp),%esp
6782	vzeroall
6783	popl	%edi
6784	popl	%esi
6785	popl	%ebx
6786	popl	%ebp
6787	ret
6788.size	sha256_block_data_order,.-.L_sha256_block_data_order_begin
6789.comm	OPENSSL_ia32cap_P,16,4
6790
6791	.section ".note.gnu.property", "a"
6792	.p2align 2
6793	.long 1f - 0f
6794	.long 4f - 1f
6795	.long 5
67960:
6797	.asciz "GNU"
67981:
6799	.p2align 2
6800	.long 0xc0000002
6801	.long 3f - 2f
68022:
6803	.long 3
68043:
6805	.p2align 2
68064:
6807#else
6808.text
6809.globl	sha256_block_data_order
6810.type	sha256_block_data_order,@function
6811.align	16
6812sha256_block_data_order:
6813.L_sha256_block_data_order_begin:
6814	#ifdef __CET__
6815
6816.byte	243,15,30,251
6817	#endif
6818
6819	pushl	%ebp
6820	pushl	%ebx
6821	pushl	%esi
6822	pushl	%edi
6823	movl	20(%esp),%esi
6824	movl	24(%esp),%edi
6825	movl	28(%esp),%eax
6826	movl	%esp,%ebx
6827	call	.L000pic_point
6828.L000pic_point:
6829	popl	%ebp
6830	leal	.L001K256-.L000pic_point(%ebp),%ebp
6831	subl	$16,%esp
6832	andl	$-64,%esp
6833	shll	$6,%eax
6834	addl	%edi,%eax
6835	movl	%esi,(%esp)
6836	movl	%edi,4(%esp)
6837	movl	%eax,8(%esp)
6838	movl	%ebx,12(%esp)
6839	leal	OPENSSL_ia32cap_P,%edx
6840	movl	(%edx),%ecx
6841	movl	4(%edx),%ebx
6842	testl	$1048576,%ecx
6843	jnz	.L002loop
6844	movl	8(%edx),%edx
6845	testl	$16777216,%ecx
6846	jz	.L003no_xmm
6847	andl	$1073741824,%ecx
6848	andl	$268435968,%ebx
6849	testl	$536870912,%edx
6850	jnz	.L004shaext
6851	orl	%ebx,%ecx
6852	andl	$1342177280,%ecx
6853	cmpl	$1342177280,%ecx
6854	je	.L005AVX
6855	testl	$512,%ebx
6856	jnz	.L006SSSE3
6857.L003no_xmm:
6858	subl	%edi,%eax
6859	cmpl	$256,%eax
6860	jae	.L007unrolled
6861	jmp	.L002loop
6862.align	16
6863.L002loop:
6864	movl	(%edi),%eax
6865	movl	4(%edi),%ebx
6866	movl	8(%edi),%ecx
6867	bswap	%eax
6868	movl	12(%edi),%edx
6869	bswap	%ebx
6870	pushl	%eax
6871	bswap	%ecx
6872	pushl	%ebx
6873	bswap	%edx
6874	pushl	%ecx
6875	pushl	%edx
6876	movl	16(%edi),%eax
6877	movl	20(%edi),%ebx
6878	movl	24(%edi),%ecx
6879	bswap	%eax
6880	movl	28(%edi),%edx
6881	bswap	%ebx
6882	pushl	%eax
6883	bswap	%ecx
6884	pushl	%ebx
6885	bswap	%edx
6886	pushl	%ecx
6887	pushl	%edx
6888	movl	32(%edi),%eax
6889	movl	36(%edi),%ebx
6890	movl	40(%edi),%ecx
6891	bswap	%eax
6892	movl	44(%edi),%edx
6893	bswap	%ebx
6894	pushl	%eax
6895	bswap	%ecx
6896	pushl	%ebx
6897	bswap	%edx
6898	pushl	%ecx
6899	pushl	%edx
6900	movl	48(%edi),%eax
6901	movl	52(%edi),%ebx
6902	movl	56(%edi),%ecx
6903	bswap	%eax
6904	movl	60(%edi),%edx
6905	bswap	%ebx
6906	pushl	%eax
6907	bswap	%ecx
6908	pushl	%ebx
6909	bswap	%edx
6910	pushl	%ecx
6911	pushl	%edx
6912	addl	$64,%edi
6913	leal	-36(%esp),%esp
6914	movl	%edi,104(%esp)
6915	movl	(%esi),%eax
6916	movl	4(%esi),%ebx
6917	movl	8(%esi),%ecx
6918	movl	12(%esi),%edi
6919	movl	%ebx,8(%esp)
6920	xorl	%ecx,%ebx
6921	movl	%ecx,12(%esp)
6922	movl	%edi,16(%esp)
6923	movl	%ebx,(%esp)
6924	movl	16(%esi),%edx
6925	movl	20(%esi),%ebx
6926	movl	24(%esi),%ecx
6927	movl	28(%esi),%edi
6928	movl	%ebx,24(%esp)
6929	movl	%ecx,28(%esp)
6930	movl	%edi,32(%esp)
6931.align	16
6932.L00800_15:
6933	movl	%edx,%ecx
6934	movl	24(%esp),%esi
6935	rorl	$14,%ecx
6936	movl	28(%esp),%edi
6937	xorl	%edx,%ecx
6938	xorl	%edi,%esi
6939	movl	96(%esp),%ebx
6940	rorl	$5,%ecx
6941	andl	%edx,%esi
6942	movl	%edx,20(%esp)
6943	xorl	%ecx,%edx
6944	addl	32(%esp),%ebx
6945	xorl	%edi,%esi
6946	rorl	$6,%edx
6947	movl	%eax,%ecx
6948	addl	%esi,%ebx
6949	rorl	$9,%ecx
6950	addl	%edx,%ebx
6951	movl	8(%esp),%edi
6952	xorl	%eax,%ecx
6953	movl	%eax,4(%esp)
6954	leal	-4(%esp),%esp
6955	rorl	$11,%ecx
6956	movl	(%ebp),%esi
6957	xorl	%eax,%ecx
6958	movl	20(%esp),%edx
6959	xorl	%edi,%eax
6960	rorl	$2,%ecx
6961	addl	%esi,%ebx
6962	movl	%eax,(%esp)
6963	addl	%ebx,%edx
6964	andl	4(%esp),%eax
6965	addl	%ecx,%ebx
6966	xorl	%edi,%eax
6967	addl	$4,%ebp
6968	addl	%ebx,%eax
6969	cmpl	$3248222580,%esi
6970	jne	.L00800_15
6971	movl	156(%esp),%ecx
6972	jmp	.L00916_63
6973.align	16
6974.L00916_63:
6975	movl	%ecx,%ebx
6976	movl	104(%esp),%esi
6977	rorl	$11,%ecx
6978	movl	%esi,%edi
6979	rorl	$2,%esi
6980	xorl	%ebx,%ecx
6981	shrl	$3,%ebx
6982	rorl	$7,%ecx
6983	xorl	%edi,%esi
6984	xorl	%ecx,%ebx
6985	rorl	$17,%esi
6986	addl	160(%esp),%ebx
6987	shrl	$10,%edi
6988	addl	124(%esp),%ebx
6989	movl	%edx,%ecx
6990	xorl	%esi,%edi
6991	movl	24(%esp),%esi
6992	rorl	$14,%ecx
6993	addl	%edi,%ebx
6994	movl	28(%esp),%edi
6995	xorl	%edx,%ecx
6996	xorl	%edi,%esi
6997	movl	%ebx,96(%esp)
6998	rorl	$5,%ecx
6999	andl	%edx,%esi
7000	movl	%edx,20(%esp)
7001	xorl	%ecx,%edx
7002	addl	32(%esp),%ebx
7003	xorl	%edi,%esi
7004	rorl	$6,%edx
7005	movl	%eax,%ecx
7006	addl	%esi,%ebx
7007	rorl	$9,%ecx
7008	addl	%edx,%ebx
7009	movl	8(%esp),%edi
7010	xorl	%eax,%ecx
7011	movl	%eax,4(%esp)
7012	leal	-4(%esp),%esp
7013	rorl	$11,%ecx
7014	movl	(%ebp),%esi
7015	xorl	%eax,%ecx
7016	movl	20(%esp),%edx
7017	xorl	%edi,%eax
7018	rorl	$2,%ecx
7019	addl	%esi,%ebx
7020	movl	%eax,(%esp)
7021	addl	%ebx,%edx
7022	andl	4(%esp),%eax
7023	addl	%ecx,%ebx
7024	xorl	%edi,%eax
7025	movl	156(%esp),%ecx
7026	addl	$4,%ebp
7027	addl	%ebx,%eax
7028	cmpl	$3329325298,%esi
7029	jne	.L00916_63
7030	movl	356(%esp),%esi
7031	movl	8(%esp),%ebx
7032	movl	16(%esp),%ecx
7033	addl	(%esi),%eax
7034	addl	4(%esi),%ebx
7035	addl	8(%esi),%edi
7036	addl	12(%esi),%ecx
7037	movl	%eax,(%esi)
7038	movl	%ebx,4(%esi)
7039	movl	%edi,8(%esi)
7040	movl	%ecx,12(%esi)
7041	movl	24(%esp),%eax
7042	movl	28(%esp),%ebx
7043	movl	32(%esp),%ecx
7044	movl	360(%esp),%edi
7045	addl	16(%esi),%edx
7046	addl	20(%esi),%eax
7047	addl	24(%esi),%ebx
7048	addl	28(%esi),%ecx
7049	movl	%edx,16(%esi)
7050	movl	%eax,20(%esi)
7051	movl	%ebx,24(%esi)
7052	movl	%ecx,28(%esi)
7053	leal	356(%esp),%esp
7054	subl	$256,%ebp
7055	cmpl	8(%esp),%edi
7056	jb	.L002loop
7057	movl	12(%esp),%esp
7058	popl	%edi
7059	popl	%esi
7060	popl	%ebx
7061	popl	%ebp
7062	ret
7063.align	64
7064.L001K256:
7065.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
7066.long	66051,67438087,134810123,202182159
7067.byte	83,72,65,50,53,54,32,98,108,111,99,107,32,116,114,97
7068.byte	110,115,102,111,114,109,32,102,111,114,32,120,56,54,44,32
7069.byte	67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97
7070.byte	112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103
7071.byte	62,0
7072.align	16
7073.L007unrolled:
7074	leal	-96(%esp),%esp
7075	movl	(%esi),%eax
7076	movl	4(%esi),%ebp
7077	movl	8(%esi),%ecx
7078	movl	12(%esi),%ebx
7079	movl	%ebp,4(%esp)
7080	xorl	%ecx,%ebp
7081	movl	%ecx,8(%esp)
7082	movl	%ebx,12(%esp)
7083	movl	16(%esi),%edx
7084	movl	20(%esi),%ebx
7085	movl	24(%esi),%ecx
7086	movl	28(%esi),%esi
7087	movl	%ebx,20(%esp)
7088	movl	%ecx,24(%esp)
7089	movl	%esi,28(%esp)
7090	jmp	.L010grand_loop
7091.align	16
7092.L010grand_loop:
7093	movl	(%edi),%ebx
7094	movl	4(%edi),%ecx
7095	bswap	%ebx
7096	movl	8(%edi),%esi
7097	bswap	%ecx
7098	movl	%ebx,32(%esp)
7099	bswap	%esi
7100	movl	%ecx,36(%esp)
7101	movl	%esi,40(%esp)
7102	movl	12(%edi),%ebx
7103	movl	16(%edi),%ecx
7104	bswap	%ebx
7105	movl	20(%edi),%esi
7106	bswap	%ecx
7107	movl	%ebx,44(%esp)
7108	bswap	%esi
7109	movl	%ecx,48(%esp)
7110	movl	%esi,52(%esp)
7111	movl	24(%edi),%ebx
7112	movl	28(%edi),%ecx
7113	bswap	%ebx
7114	movl	32(%edi),%esi
7115	bswap	%ecx
7116	movl	%ebx,56(%esp)
7117	bswap	%esi
7118	movl	%ecx,60(%esp)
7119	movl	%esi,64(%esp)
7120	movl	36(%edi),%ebx
7121	movl	40(%edi),%ecx
7122	bswap	%ebx
7123	movl	44(%edi),%esi
7124	bswap	%ecx
7125	movl	%ebx,68(%esp)
7126	bswap	%esi
7127	movl	%ecx,72(%esp)
7128	movl	%esi,76(%esp)
7129	movl	48(%edi),%ebx
7130	movl	52(%edi),%ecx
7131	bswap	%ebx
7132	movl	56(%edi),%esi
7133	bswap	%ecx
7134	movl	%ebx,80(%esp)
7135	bswap	%esi
7136	movl	%ecx,84(%esp)
7137	movl	%esi,88(%esp)
7138	movl	60(%edi),%ebx
7139	addl	$64,%edi
7140	bswap	%ebx
7141	movl	%edi,100(%esp)
7142	movl	%ebx,92(%esp)
7143	movl	%edx,%ecx
7144	movl	20(%esp),%esi
7145	rorl	$14,%edx
7146	movl	24(%esp),%edi
7147	xorl	%ecx,%edx
7148	movl	32(%esp),%ebx
7149	xorl	%edi,%esi
7150	rorl	$5,%edx
7151	andl	%ecx,%esi
7152	movl	%ecx,16(%esp)
7153	xorl	%ecx,%edx
7154	addl	28(%esp),%ebx
7155	xorl	%esi,%edi
7156	rorl	$6,%edx
7157	movl	%eax,%ecx
7158	addl	%edi,%ebx
7159	rorl	$9,%ecx
7160	movl	%eax,%esi
7161	movl	4(%esp),%edi
7162	xorl	%eax,%ecx
7163	movl	%eax,(%esp)
7164	xorl	%edi,%eax
7165	rorl	$11,%ecx
7166	andl	%eax,%ebp
7167	leal	1116352408(%ebx,%edx,1),%edx
7168	xorl	%esi,%ecx
7169	xorl	%edi,%ebp
7170	rorl	$2,%ecx
7171	addl	%edx,%ebp
7172	addl	12(%esp),%edx
7173	addl	%ecx,%ebp
7174	movl	%edx,%esi
7175	movl	16(%esp),%ecx
7176	rorl	$14,%edx
7177	movl	20(%esp),%edi
7178	xorl	%esi,%edx
7179	movl	36(%esp),%ebx
7180	xorl	%edi,%ecx
7181	rorl	$5,%edx
7182	andl	%esi,%ecx
7183	movl	%esi,12(%esp)
7184	xorl	%esi,%edx
7185	addl	24(%esp),%ebx
7186	xorl	%ecx,%edi
7187	rorl	$6,%edx
7188	movl	%ebp,%esi
7189	addl	%edi,%ebx
7190	rorl	$9,%esi
7191	movl	%ebp,%ecx
7192	movl	(%esp),%edi
7193	xorl	%ebp,%esi
7194	movl	%ebp,28(%esp)
7195	xorl	%edi,%ebp
7196	rorl	$11,%esi
7197	andl	%ebp,%eax
7198	leal	1899447441(%ebx,%edx,1),%edx
7199	xorl	%ecx,%esi
7200	xorl	%edi,%eax
7201	rorl	$2,%esi
7202	addl	%edx,%eax
7203	addl	8(%esp),%edx
7204	addl	%esi,%eax
7205	movl	%edx,%ecx
7206	movl	12(%esp),%esi
7207	rorl	$14,%edx
7208	movl	16(%esp),%edi
7209	xorl	%ecx,%edx
7210	movl	40(%esp),%ebx
7211	xorl	%edi,%esi
7212	rorl	$5,%edx
7213	andl	%ecx,%esi
7214	movl	%ecx,8(%esp)
7215	xorl	%ecx,%edx
7216	addl	20(%esp),%ebx
7217	xorl	%esi,%edi
7218	rorl	$6,%edx
7219	movl	%eax,%ecx
7220	addl	%edi,%ebx
7221	rorl	$9,%ecx
7222	movl	%eax,%esi
7223	movl	28(%esp),%edi
7224	xorl	%eax,%ecx
7225	movl	%eax,24(%esp)
7226	xorl	%edi,%eax
7227	rorl	$11,%ecx
7228	andl	%eax,%ebp
7229	leal	3049323471(%ebx,%edx,1),%edx
7230	xorl	%esi,%ecx
7231	xorl	%edi,%ebp
7232	rorl	$2,%ecx
7233	addl	%edx,%ebp
7234	addl	4(%esp),%edx
7235	addl	%ecx,%ebp
7236	movl	%edx,%esi
7237	movl	8(%esp),%ecx
7238	rorl	$14,%edx
7239	movl	12(%esp),%edi
7240	xorl	%esi,%edx
7241	movl	44(%esp),%ebx
7242	xorl	%edi,%ecx
7243	rorl	$5,%edx
7244	andl	%esi,%ecx
7245	movl	%esi,4(%esp)
7246	xorl	%esi,%edx
7247	addl	16(%esp),%ebx
7248	xorl	%ecx,%edi
7249	rorl	$6,%edx
7250	movl	%ebp,%esi
7251	addl	%edi,%ebx
7252	rorl	$9,%esi
7253	movl	%ebp,%ecx
7254	movl	24(%esp),%edi
7255	xorl	%ebp,%esi
7256	movl	%ebp,20(%esp)
7257	xorl	%edi,%ebp
7258	rorl	$11,%esi
7259	andl	%ebp,%eax
7260	leal	3921009573(%ebx,%edx,1),%edx
7261	xorl	%ecx,%esi
7262	xorl	%edi,%eax
7263	rorl	$2,%esi
7264	addl	%edx,%eax
7265	addl	(%esp),%edx
7266	addl	%esi,%eax
7267	movl	%edx,%ecx
7268	movl	4(%esp),%esi
7269	rorl	$14,%edx
7270	movl	8(%esp),%edi
7271	xorl	%ecx,%edx
7272	movl	48(%esp),%ebx
7273	xorl	%edi,%esi
7274	rorl	$5,%edx
7275	andl	%ecx,%esi
7276	movl	%ecx,(%esp)
7277	xorl	%ecx,%edx
7278	addl	12(%esp),%ebx
7279	xorl	%esi,%edi
7280	rorl	$6,%edx
7281	movl	%eax,%ecx
7282	addl	%edi,%ebx
7283	rorl	$9,%ecx
7284	movl	%eax,%esi
7285	movl	20(%esp),%edi
7286	xorl	%eax,%ecx
7287	movl	%eax,16(%esp)
7288	xorl	%edi,%eax
7289	rorl	$11,%ecx
7290	andl	%eax,%ebp
7291	leal	961987163(%ebx,%edx,1),%edx
7292	xorl	%esi,%ecx
7293	xorl	%edi,%ebp
7294	rorl	$2,%ecx
7295	addl	%edx,%ebp
7296	addl	28(%esp),%edx
7297	addl	%ecx,%ebp
7298	movl	%edx,%esi
7299	movl	(%esp),%ecx
7300	rorl	$14,%edx
7301	movl	4(%esp),%edi
7302	xorl	%esi,%edx
7303	movl	52(%esp),%ebx
7304	xorl	%edi,%ecx
7305	rorl	$5,%edx
7306	andl	%esi,%ecx
7307	movl	%esi,28(%esp)
7308	xorl	%esi,%edx
7309	addl	8(%esp),%ebx
7310	xorl	%ecx,%edi
7311	rorl	$6,%edx
7312	movl	%ebp,%esi
7313	addl	%edi,%ebx
7314	rorl	$9,%esi
7315	movl	%ebp,%ecx
7316	movl	16(%esp),%edi
7317	xorl	%ebp,%esi
7318	movl	%ebp,12(%esp)
7319	xorl	%edi,%ebp
7320	rorl	$11,%esi
7321	andl	%ebp,%eax
7322	leal	1508970993(%ebx,%edx,1),%edx
7323	xorl	%ecx,%esi
7324	xorl	%edi,%eax
7325	rorl	$2,%esi
7326	addl	%edx,%eax
7327	addl	24(%esp),%edx
7328	addl	%esi,%eax
7329	movl	%edx,%ecx
7330	movl	28(%esp),%esi
7331	rorl	$14,%edx
7332	movl	(%esp),%edi
7333	xorl	%ecx,%edx
7334	movl	56(%esp),%ebx
7335	xorl	%edi,%esi
7336	rorl	$5,%edx
7337	andl	%ecx,%esi
7338	movl	%ecx,24(%esp)
7339	xorl	%ecx,%edx
7340	addl	4(%esp),%ebx
7341	xorl	%esi,%edi
7342	rorl	$6,%edx
7343	movl	%eax,%ecx
7344	addl	%edi,%ebx
7345	rorl	$9,%ecx
7346	movl	%eax,%esi
7347	movl	12(%esp),%edi
7348	xorl	%eax,%ecx
7349	movl	%eax,8(%esp)
7350	xorl	%edi,%eax
7351	rorl	$11,%ecx
7352	andl	%eax,%ebp
7353	leal	2453635748(%ebx,%edx,1),%edx
7354	xorl	%esi,%ecx
7355	xorl	%edi,%ebp
7356	rorl	$2,%ecx
7357	addl	%edx,%ebp
7358	addl	20(%esp),%edx
7359	addl	%ecx,%ebp
7360	movl	%edx,%esi
7361	movl	24(%esp),%ecx
7362	rorl	$14,%edx
7363	movl	28(%esp),%edi
7364	xorl	%esi,%edx
7365	movl	60(%esp),%ebx
7366	xorl	%edi,%ecx
7367	rorl	$5,%edx
7368	andl	%esi,%ecx
7369	movl	%esi,20(%esp)
7370	xorl	%esi,%edx
7371	addl	(%esp),%ebx
7372	xorl	%ecx,%edi
7373	rorl	$6,%edx
7374	movl	%ebp,%esi
7375	addl	%edi,%ebx
7376	rorl	$9,%esi
7377	movl	%ebp,%ecx
7378	movl	8(%esp),%edi
7379	xorl	%ebp,%esi
7380	movl	%ebp,4(%esp)
7381	xorl	%edi,%ebp
7382	rorl	$11,%esi
7383	andl	%ebp,%eax
7384	leal	2870763221(%ebx,%edx,1),%edx
7385	xorl	%ecx,%esi
7386	xorl	%edi,%eax
7387	rorl	$2,%esi
7388	addl	%edx,%eax
7389	addl	16(%esp),%edx
7390	addl	%esi,%eax
7391	movl	%edx,%ecx
7392	movl	20(%esp),%esi
7393	rorl	$14,%edx
7394	movl	24(%esp),%edi
7395	xorl	%ecx,%edx
7396	movl	64(%esp),%ebx
7397	xorl	%edi,%esi
7398	rorl	$5,%edx
7399	andl	%ecx,%esi
7400	movl	%ecx,16(%esp)
7401	xorl	%ecx,%edx
7402	addl	28(%esp),%ebx
7403	xorl	%esi,%edi
7404	rorl	$6,%edx
7405	movl	%eax,%ecx
7406	addl	%edi,%ebx
7407	rorl	$9,%ecx
7408	movl	%eax,%esi
7409	movl	4(%esp),%edi
7410	xorl	%eax,%ecx
7411	movl	%eax,(%esp)
7412	xorl	%edi,%eax
7413	rorl	$11,%ecx
7414	andl	%eax,%ebp
7415	leal	3624381080(%ebx,%edx,1),%edx
7416	xorl	%esi,%ecx
7417	xorl	%edi,%ebp
7418	rorl	$2,%ecx
7419	addl	%edx,%ebp
7420	addl	12(%esp),%edx
7421	addl	%ecx,%ebp
7422	movl	%edx,%esi
7423	movl	16(%esp),%ecx
7424	rorl	$14,%edx
7425	movl	20(%esp),%edi
7426	xorl	%esi,%edx
7427	movl	68(%esp),%ebx
7428	xorl	%edi,%ecx
7429	rorl	$5,%edx
7430	andl	%esi,%ecx
7431	movl	%esi,12(%esp)
7432	xorl	%esi,%edx
7433	addl	24(%esp),%ebx
7434	xorl	%ecx,%edi
7435	rorl	$6,%edx
7436	movl	%ebp,%esi
7437	addl	%edi,%ebx
7438	rorl	$9,%esi
7439	movl	%ebp,%ecx
7440	movl	(%esp),%edi
7441	xorl	%ebp,%esi
7442	movl	%ebp,28(%esp)
7443	xorl	%edi,%ebp
7444	rorl	$11,%esi
7445	andl	%ebp,%eax
7446	leal	310598401(%ebx,%edx,1),%edx
7447	xorl	%ecx,%esi
7448	xorl	%edi,%eax
7449	rorl	$2,%esi
7450	addl	%edx,%eax
7451	addl	8(%esp),%edx
7452	addl	%esi,%eax
7453	movl	%edx,%ecx
7454	movl	12(%esp),%esi
7455	rorl	$14,%edx
7456	movl	16(%esp),%edi
7457	xorl	%ecx,%edx
7458	movl	72(%esp),%ebx
7459	xorl	%edi,%esi
7460	rorl	$5,%edx
7461	andl	%ecx,%esi
7462	movl	%ecx,8(%esp)
7463	xorl	%ecx,%edx
7464	addl	20(%esp),%ebx
7465	xorl	%esi,%edi
7466	rorl	$6,%edx
7467	movl	%eax,%ecx
7468	addl	%edi,%ebx
7469	rorl	$9,%ecx
7470	movl	%eax,%esi
7471	movl	28(%esp),%edi
7472	xorl	%eax,%ecx
7473	movl	%eax,24(%esp)
7474	xorl	%edi,%eax
7475	rorl	$11,%ecx
7476	andl	%eax,%ebp
7477	leal	607225278(%ebx,%edx,1),%edx
7478	xorl	%esi,%ecx
7479	xorl	%edi,%ebp
7480	rorl	$2,%ecx
7481	addl	%edx,%ebp
7482	addl	4(%esp),%edx
7483	addl	%ecx,%ebp
7484	movl	%edx,%esi
7485	movl	8(%esp),%ecx
7486	rorl	$14,%edx
7487	movl	12(%esp),%edi
7488	xorl	%esi,%edx
7489	movl	76(%esp),%ebx
7490	xorl	%edi,%ecx
7491	rorl	$5,%edx
7492	andl	%esi,%ecx
7493	movl	%esi,4(%esp)
7494	xorl	%esi,%edx
7495	addl	16(%esp),%ebx
7496	xorl	%ecx,%edi
7497	rorl	$6,%edx
7498	movl	%ebp,%esi
7499	addl	%edi,%ebx
7500	rorl	$9,%esi
7501	movl	%ebp,%ecx
7502	movl	24(%esp),%edi
7503	xorl	%ebp,%esi
7504	movl	%ebp,20(%esp)
7505	xorl	%edi,%ebp
7506	rorl	$11,%esi
7507	andl	%ebp,%eax
7508	leal	1426881987(%ebx,%edx,1),%edx
7509	xorl	%ecx,%esi
7510	xorl	%edi,%eax
7511	rorl	$2,%esi
7512	addl	%edx,%eax
7513	addl	(%esp),%edx
7514	addl	%esi,%eax
7515	movl	%edx,%ecx
7516	movl	4(%esp),%esi
7517	rorl	$14,%edx
7518	movl	8(%esp),%edi
7519	xorl	%ecx,%edx
7520	movl	80(%esp),%ebx
7521	xorl	%edi,%esi
7522	rorl	$5,%edx
7523	andl	%ecx,%esi
7524	movl	%ecx,(%esp)
7525	xorl	%ecx,%edx
7526	addl	12(%esp),%ebx
7527	xorl	%esi,%edi
7528	rorl	$6,%edx
7529	movl	%eax,%ecx
7530	addl	%edi,%ebx
7531	rorl	$9,%ecx
7532	movl	%eax,%esi
7533	movl	20(%esp),%edi
7534	xorl	%eax,%ecx
7535	movl	%eax,16(%esp)
7536	xorl	%edi,%eax
7537	rorl	$11,%ecx
7538	andl	%eax,%ebp
7539	leal	1925078388(%ebx,%edx,1),%edx
7540	xorl	%esi,%ecx
7541	xorl	%edi,%ebp
7542	rorl	$2,%ecx
7543	addl	%edx,%ebp
7544	addl	28(%esp),%edx
7545	addl	%ecx,%ebp
7546	movl	%edx,%esi
7547	movl	(%esp),%ecx
7548	rorl	$14,%edx
7549	movl	4(%esp),%edi
7550	xorl	%esi,%edx
7551	movl	84(%esp),%ebx
7552	xorl	%edi,%ecx
7553	rorl	$5,%edx
7554	andl	%esi,%ecx
7555	movl	%esi,28(%esp)
7556	xorl	%esi,%edx
7557	addl	8(%esp),%ebx
7558	xorl	%ecx,%edi
7559	rorl	$6,%edx
7560	movl	%ebp,%esi
7561	addl	%edi,%ebx
7562	rorl	$9,%esi
7563	movl	%ebp,%ecx
7564	movl	16(%esp),%edi
7565	xorl	%ebp,%esi
7566	movl	%ebp,12(%esp)
7567	xorl	%edi,%ebp
7568	rorl	$11,%esi
7569	andl	%ebp,%eax
7570	leal	2162078206(%ebx,%edx,1),%edx
7571	xorl	%ecx,%esi
7572	xorl	%edi,%eax
7573	rorl	$2,%esi
7574	addl	%edx,%eax
7575	addl	24(%esp),%edx
7576	addl	%esi,%eax
7577	movl	%edx,%ecx
7578	movl	28(%esp),%esi
7579	rorl	$14,%edx
7580	movl	(%esp),%edi
7581	xorl	%ecx,%edx
7582	movl	88(%esp),%ebx
7583	xorl	%edi,%esi
7584	rorl	$5,%edx
7585	andl	%ecx,%esi
7586	movl	%ecx,24(%esp)
7587	xorl	%ecx,%edx
7588	addl	4(%esp),%ebx
7589	xorl	%esi,%edi
7590	rorl	$6,%edx
7591	movl	%eax,%ecx
7592	addl	%edi,%ebx
7593	rorl	$9,%ecx
7594	movl	%eax,%esi
7595	movl	12(%esp),%edi
7596	xorl	%eax,%ecx
7597	movl	%eax,8(%esp)
7598	xorl	%edi,%eax
7599	rorl	$11,%ecx
7600	andl	%eax,%ebp
7601	leal	2614888103(%ebx,%edx,1),%edx
7602	xorl	%esi,%ecx
7603	xorl	%edi,%ebp
7604	rorl	$2,%ecx
7605	addl	%edx,%ebp
7606	addl	20(%esp),%edx
7607	addl	%ecx,%ebp
7608	movl	%edx,%esi
7609	movl	24(%esp),%ecx
7610	rorl	$14,%edx
7611	movl	28(%esp),%edi
7612	xorl	%esi,%edx
7613	movl	92(%esp),%ebx
7614	xorl	%edi,%ecx
7615	rorl	$5,%edx
7616	andl	%esi,%ecx
7617	movl	%esi,20(%esp)
7618	xorl	%esi,%edx
7619	addl	(%esp),%ebx
7620	xorl	%ecx,%edi
7621	rorl	$6,%edx
7622	movl	%ebp,%esi
7623	addl	%edi,%ebx
7624	rorl	$9,%esi
7625	movl	%ebp,%ecx
7626	movl	8(%esp),%edi
7627	xorl	%ebp,%esi
7628	movl	%ebp,4(%esp)
7629	xorl	%edi,%ebp
7630	rorl	$11,%esi
7631	andl	%ebp,%eax
7632	leal	3248222580(%ebx,%edx,1),%edx
7633	xorl	%ecx,%esi
7634	xorl	%edi,%eax
7635	movl	36(%esp),%ecx
7636	rorl	$2,%esi
7637	addl	%edx,%eax
7638	addl	16(%esp),%edx
7639	addl	%esi,%eax
7640	movl	88(%esp),%esi
7641	movl	%ecx,%ebx
7642	rorl	$11,%ecx
7643	movl	%esi,%edi
7644	rorl	$2,%esi
7645	xorl	%ebx,%ecx
7646	shrl	$3,%ebx
7647	rorl	$7,%ecx
7648	xorl	%edi,%esi
7649	xorl	%ecx,%ebx
7650	rorl	$17,%esi
7651	addl	32(%esp),%ebx
7652	shrl	$10,%edi
7653	addl	68(%esp),%ebx
7654	movl	%edx,%ecx
7655	xorl	%esi,%edi
7656	movl	20(%esp),%esi
7657	rorl	$14,%edx
7658	addl	%edi,%ebx
7659	movl	24(%esp),%edi
7660	xorl	%ecx,%edx
7661	movl	%ebx,32(%esp)
7662	xorl	%edi,%esi
7663	rorl	$5,%edx
7664	andl	%ecx,%esi
7665	movl	%ecx,16(%esp)
7666	xorl	%ecx,%edx
7667	addl	28(%esp),%ebx
7668	xorl	%esi,%edi
7669	rorl	$6,%edx
7670	movl	%eax,%ecx
7671	addl	%edi,%ebx
7672	rorl	$9,%ecx
7673	movl	%eax,%esi
7674	movl	4(%esp),%edi
7675	xorl	%eax,%ecx
7676	movl	%eax,(%esp)
7677	xorl	%edi,%eax
7678	rorl	$11,%ecx
7679	andl	%eax,%ebp
7680	leal	3835390401(%ebx,%edx,1),%edx
7681	xorl	%esi,%ecx
7682	xorl	%edi,%ebp
7683	movl	40(%esp),%esi
7684	rorl	$2,%ecx
7685	addl	%edx,%ebp
7686	addl	12(%esp),%edx
7687	addl	%ecx,%ebp
7688	movl	92(%esp),%ecx
7689	movl	%esi,%ebx
7690	rorl	$11,%esi
7691	movl	%ecx,%edi
7692	rorl	$2,%ecx
7693	xorl	%ebx,%esi
7694	shrl	$3,%ebx
7695	rorl	$7,%esi
7696	xorl	%edi,%ecx
7697	xorl	%esi,%ebx
7698	rorl	$17,%ecx
7699	addl	36(%esp),%ebx
7700	shrl	$10,%edi
7701	addl	72(%esp),%ebx
7702	movl	%edx,%esi
7703	xorl	%ecx,%edi
7704	movl	16(%esp),%ecx
7705	rorl	$14,%edx
7706	addl	%edi,%ebx
7707	movl	20(%esp),%edi
7708	xorl	%esi,%edx
7709	movl	%ebx,36(%esp)
7710	xorl	%edi,%ecx
7711	rorl	$5,%edx
7712	andl	%esi,%ecx
7713	movl	%esi,12(%esp)
7714	xorl	%esi,%edx
7715	addl	24(%esp),%ebx
7716	xorl	%ecx,%edi
7717	rorl	$6,%edx
7718	movl	%ebp,%esi
7719	addl	%edi,%ebx
7720	rorl	$9,%esi
7721	movl	%ebp,%ecx
7722	movl	(%esp),%edi
7723	xorl	%ebp,%esi
7724	movl	%ebp,28(%esp)
7725	xorl	%edi,%ebp
7726	rorl	$11,%esi
7727	andl	%ebp,%eax
7728	leal	4022224774(%ebx,%edx,1),%edx
7729	xorl	%ecx,%esi
7730	xorl	%edi,%eax
7731	movl	44(%esp),%ecx
7732	rorl	$2,%esi
7733	addl	%edx,%eax
7734	addl	8(%esp),%edx
7735	addl	%esi,%eax
7736	movl	32(%esp),%esi
7737	movl	%ecx,%ebx
7738	rorl	$11,%ecx
7739	movl	%esi,%edi
7740	rorl	$2,%esi
7741	xorl	%ebx,%ecx
7742	shrl	$3,%ebx
7743	rorl	$7,%ecx
7744	xorl	%edi,%esi
7745	xorl	%ecx,%ebx
7746	rorl	$17,%esi
7747	addl	40(%esp),%ebx
7748	shrl	$10,%edi
7749	addl	76(%esp),%ebx
7750	movl	%edx,%ecx
7751	xorl	%esi,%edi
7752	movl	12(%esp),%esi
7753	rorl	$14,%edx
7754	addl	%edi,%ebx
7755	movl	16(%esp),%edi
7756	xorl	%ecx,%edx
7757	movl	%ebx,40(%esp)
7758	xorl	%edi,%esi
7759	rorl	$5,%edx
7760	andl	%ecx,%esi
7761	movl	%ecx,8(%esp)
7762	xorl	%ecx,%edx
7763	addl	20(%esp),%ebx
7764	xorl	%esi,%edi
7765	rorl	$6,%edx
7766	movl	%eax,%ecx
7767	addl	%edi,%ebx
7768	rorl	$9,%ecx
7769	movl	%eax,%esi
7770	movl	28(%esp),%edi
7771	xorl	%eax,%ecx
7772	movl	%eax,24(%esp)
7773	xorl	%edi,%eax
7774	rorl	$11,%ecx
7775	andl	%eax,%ebp
7776	leal	264347078(%ebx,%edx,1),%edx
7777	xorl	%esi,%ecx
7778	xorl	%edi,%ebp
7779	movl	48(%esp),%esi
7780	rorl	$2,%ecx
7781	addl	%edx,%ebp
7782	addl	4(%esp),%edx
7783	addl	%ecx,%ebp
7784	movl	36(%esp),%ecx
7785	movl	%esi,%ebx
7786	rorl	$11,%esi
7787	movl	%ecx,%edi
7788	rorl	$2,%ecx
7789	xorl	%ebx,%esi
7790	shrl	$3,%ebx
7791	rorl	$7,%esi
7792	xorl	%edi,%ecx
7793	xorl	%esi,%ebx
7794	rorl	$17,%ecx
7795	addl	44(%esp),%ebx
7796	shrl	$10,%edi
7797	addl	80(%esp),%ebx
7798	movl	%edx,%esi
7799	xorl	%ecx,%edi
7800	movl	8(%esp),%ecx
7801	rorl	$14,%edx
7802	addl	%edi,%ebx
7803	movl	12(%esp),%edi
7804	xorl	%esi,%edx
7805	movl	%ebx,44(%esp)
7806	xorl	%edi,%ecx
7807	rorl	$5,%edx
7808	andl	%esi,%ecx
7809	movl	%esi,4(%esp)
7810	xorl	%esi,%edx
7811	addl	16(%esp),%ebx
7812	xorl	%ecx,%edi
7813	rorl	$6,%edx
7814	movl	%ebp,%esi
7815	addl	%edi,%ebx
7816	rorl	$9,%esi
7817	movl	%ebp,%ecx
7818	movl	24(%esp),%edi
7819	xorl	%ebp,%esi
7820	movl	%ebp,20(%esp)
7821	xorl	%edi,%ebp
7822	rorl	$11,%esi
7823	andl	%ebp,%eax
7824	leal	604807628(%ebx,%edx,1),%edx
7825	xorl	%ecx,%esi
7826	xorl	%edi,%eax
7827	movl	52(%esp),%ecx
7828	rorl	$2,%esi
7829	addl	%edx,%eax
7830	addl	(%esp),%edx
7831	addl	%esi,%eax
7832	movl	40(%esp),%esi
7833	movl	%ecx,%ebx
7834	rorl	$11,%ecx
7835	movl	%esi,%edi
7836	rorl	$2,%esi
7837	xorl	%ebx,%ecx
7838	shrl	$3,%ebx
7839	rorl	$7,%ecx
7840	xorl	%edi,%esi
7841	xorl	%ecx,%ebx
7842	rorl	$17,%esi
7843	addl	48(%esp),%ebx
7844	shrl	$10,%edi
7845	addl	84(%esp),%ebx
7846	movl	%edx,%ecx
7847	xorl	%esi,%edi
7848	movl	4(%esp),%esi
7849	rorl	$14,%edx
7850	addl	%edi,%ebx
7851	movl	8(%esp),%edi
7852	xorl	%ecx,%edx
7853	movl	%ebx,48(%esp)
7854	xorl	%edi,%esi
7855	rorl	$5,%edx
7856	andl	%ecx,%esi
7857	movl	%ecx,(%esp)
7858	xorl	%ecx,%edx
7859	addl	12(%esp),%ebx
7860	xorl	%esi,%edi
7861	rorl	$6,%edx
7862	movl	%eax,%ecx
7863	addl	%edi,%ebx
7864	rorl	$9,%ecx
7865	movl	%eax,%esi
7866	movl	20(%esp),%edi
7867	xorl	%eax,%ecx
7868	movl	%eax,16(%esp)
7869	xorl	%edi,%eax
7870	rorl	$11,%ecx
7871	andl	%eax,%ebp
7872	leal	770255983(%ebx,%edx,1),%edx
7873	xorl	%esi,%ecx
7874	xorl	%edi,%ebp
7875	movl	56(%esp),%esi
7876	rorl	$2,%ecx
7877	addl	%edx,%ebp
7878	addl	28(%esp),%edx
7879	addl	%ecx,%ebp
7880	movl	44(%esp),%ecx
7881	movl	%esi,%ebx
7882	rorl	$11,%esi
7883	movl	%ecx,%edi
7884	rorl	$2,%ecx
7885	xorl	%ebx,%esi
7886	shrl	$3,%ebx
7887	rorl	$7,%esi
7888	xorl	%edi,%ecx
7889	xorl	%esi,%ebx
7890	rorl	$17,%ecx
7891	addl	52(%esp),%ebx
7892	shrl	$10,%edi
7893	addl	88(%esp),%ebx
7894	movl	%edx,%esi
7895	xorl	%ecx,%edi
7896	movl	(%esp),%ecx
7897	rorl	$14,%edx
7898	addl	%edi,%ebx
7899	movl	4(%esp),%edi
7900	xorl	%esi,%edx
7901	movl	%ebx,52(%esp)
7902	xorl	%edi,%ecx
7903	rorl	$5,%edx
7904	andl	%esi,%ecx
7905	movl	%esi,28(%esp)
7906	xorl	%esi,%edx
7907	addl	8(%esp),%ebx
7908	xorl	%ecx,%edi
7909	rorl	$6,%edx
7910	movl	%ebp,%esi
7911	addl	%edi,%ebx
7912	rorl	$9,%esi
7913	movl	%ebp,%ecx
7914	movl	16(%esp),%edi
7915	xorl	%ebp,%esi
7916	movl	%ebp,12(%esp)
7917	xorl	%edi,%ebp
7918	rorl	$11,%esi
7919	andl	%ebp,%eax
7920	leal	1249150122(%ebx,%edx,1),%edx
7921	xorl	%ecx,%esi
7922	xorl	%edi,%eax
7923	movl	60(%esp),%ecx
7924	rorl	$2,%esi
7925	addl	%edx,%eax
7926	addl	24(%esp),%edx
7927	addl	%esi,%eax
7928	movl	48(%esp),%esi
7929	movl	%ecx,%ebx
7930	rorl	$11,%ecx
7931	movl	%esi,%edi
7932	rorl	$2,%esi
7933	xorl	%ebx,%ecx
7934	shrl	$3,%ebx
7935	rorl	$7,%ecx
7936	xorl	%edi,%esi
7937	xorl	%ecx,%ebx
7938	rorl	$17,%esi
7939	addl	56(%esp),%ebx
7940	shrl	$10,%edi
7941	addl	92(%esp),%ebx
7942	movl	%edx,%ecx
7943	xorl	%esi,%edi
7944	movl	28(%esp),%esi
7945	rorl	$14,%edx
7946	addl	%edi,%ebx
7947	movl	(%esp),%edi
7948	xorl	%ecx,%edx
7949	movl	%ebx,56(%esp)
7950	xorl	%edi,%esi
7951	rorl	$5,%edx
7952	andl	%ecx,%esi
7953	movl	%ecx,24(%esp)
7954	xorl	%ecx,%edx
7955	addl	4(%esp),%ebx
7956	xorl	%esi,%edi
7957	rorl	$6,%edx
7958	movl	%eax,%ecx
7959	addl	%edi,%ebx
7960	rorl	$9,%ecx
7961	movl	%eax,%esi
7962	movl	12(%esp),%edi
7963	xorl	%eax,%ecx
7964	movl	%eax,8(%esp)
7965	xorl	%edi,%eax
7966	rorl	$11,%ecx
7967	andl	%eax,%ebp
7968	leal	1555081692(%ebx,%edx,1),%edx
7969	xorl	%esi,%ecx
7970	xorl	%edi,%ebp
7971	movl	64(%esp),%esi
7972	rorl	$2,%ecx
7973	addl	%edx,%ebp
7974	addl	20(%esp),%edx
7975	addl	%ecx,%ebp
7976	movl	52(%esp),%ecx
7977	movl	%esi,%ebx
7978	rorl	$11,%esi
7979	movl	%ecx,%edi
7980	rorl	$2,%ecx
7981	xorl	%ebx,%esi
7982	shrl	$3,%ebx
7983	rorl	$7,%esi
7984	xorl	%edi,%ecx
7985	xorl	%esi,%ebx
7986	rorl	$17,%ecx
7987	addl	60(%esp),%ebx
7988	shrl	$10,%edi
7989	addl	32(%esp),%ebx
7990	movl	%edx,%esi
7991	xorl	%ecx,%edi
7992	movl	24(%esp),%ecx
7993	rorl	$14,%edx
7994	addl	%edi,%ebx
7995	movl	28(%esp),%edi
7996	xorl	%esi,%edx
7997	movl	%ebx,60(%esp)
7998	xorl	%edi,%ecx
7999	rorl	$5,%edx
8000	andl	%esi,%ecx
8001	movl	%esi,20(%esp)
8002	xorl	%esi,%edx
8003	addl	(%esp),%ebx
8004	xorl	%ecx,%edi
8005	rorl	$6,%edx
8006	movl	%ebp,%esi
8007	addl	%edi,%ebx
8008	rorl	$9,%esi
8009	movl	%ebp,%ecx
8010	movl	8(%esp),%edi
8011	xorl	%ebp,%esi
8012	movl	%ebp,4(%esp)
8013	xorl	%edi,%ebp
8014	rorl	$11,%esi
8015	andl	%ebp,%eax
8016	leal	1996064986(%ebx,%edx,1),%edx
8017	xorl	%ecx,%esi
8018	xorl	%edi,%eax
8019	movl	68(%esp),%ecx
8020	rorl	$2,%esi
8021	addl	%edx,%eax
8022	addl	16(%esp),%edx
8023	addl	%esi,%eax
8024	movl	56(%esp),%esi
8025	movl	%ecx,%ebx
8026	rorl	$11,%ecx
8027	movl	%esi,%edi
8028	rorl	$2,%esi
8029	xorl	%ebx,%ecx
8030	shrl	$3,%ebx
8031	rorl	$7,%ecx
8032	xorl	%edi,%esi
8033	xorl	%ecx,%ebx
8034	rorl	$17,%esi
8035	addl	64(%esp),%ebx
8036	shrl	$10,%edi
8037	addl	36(%esp),%ebx
8038	movl	%edx,%ecx
8039	xorl	%esi,%edi
8040	movl	20(%esp),%esi
8041	rorl	$14,%edx
8042	addl	%edi,%ebx
8043	movl	24(%esp),%edi
8044	xorl	%ecx,%edx
8045	movl	%ebx,64(%esp)
8046	xorl	%edi,%esi
8047	rorl	$5,%edx
8048	andl	%ecx,%esi
8049	movl	%ecx,16(%esp)
8050	xorl	%ecx,%edx
8051	addl	28(%esp),%ebx
8052	xorl	%esi,%edi
8053	rorl	$6,%edx
8054	movl	%eax,%ecx
8055	addl	%edi,%ebx
8056	rorl	$9,%ecx
8057	movl	%eax,%esi
8058	movl	4(%esp),%edi
8059	xorl	%eax,%ecx
8060	movl	%eax,(%esp)
8061	xorl	%edi,%eax
8062	rorl	$11,%ecx
8063	andl	%eax,%ebp
8064	leal	2554220882(%ebx,%edx,1),%edx
8065	xorl	%esi,%ecx
8066	xorl	%edi,%ebp
8067	movl	72(%esp),%esi
8068	rorl	$2,%ecx
8069	addl	%edx,%ebp
8070	addl	12(%esp),%edx
8071	addl	%ecx,%ebp
8072	movl	60(%esp),%ecx
8073	movl	%esi,%ebx
8074	rorl	$11,%esi
8075	movl	%ecx,%edi
8076	rorl	$2,%ecx
8077	xorl	%ebx,%esi
8078	shrl	$3,%ebx
8079	rorl	$7,%esi
8080	xorl	%edi,%ecx
8081	xorl	%esi,%ebx
8082	rorl	$17,%ecx
8083	addl	68(%esp),%ebx
8084	shrl	$10,%edi
8085	addl	40(%esp),%ebx
8086	movl	%edx,%esi
8087	xorl	%ecx,%edi
8088	movl	16(%esp),%ecx
8089	rorl	$14,%edx
8090	addl	%edi,%ebx
8091	movl	20(%esp),%edi
8092	xorl	%esi,%edx
8093	movl	%ebx,68(%esp)
8094	xorl	%edi,%ecx
8095	rorl	$5,%edx
8096	andl	%esi,%ecx
8097	movl	%esi,12(%esp)
8098	xorl	%esi,%edx
8099	addl	24(%esp),%ebx
8100	xorl	%ecx,%edi
8101	rorl	$6,%edx
8102	movl	%ebp,%esi
8103	addl	%edi,%ebx
8104	rorl	$9,%esi
8105	movl	%ebp,%ecx
8106	movl	(%esp),%edi
8107	xorl	%ebp,%esi
8108	movl	%ebp,28(%esp)
8109	xorl	%edi,%ebp
8110	rorl	$11,%esi
8111	andl	%ebp,%eax
8112	leal	2821834349(%ebx,%edx,1),%edx
8113	xorl	%ecx,%esi
8114	xorl	%edi,%eax
8115	movl	76(%esp),%ecx
8116	rorl	$2,%esi
8117	addl	%edx,%eax
8118	addl	8(%esp),%edx
8119	addl	%esi,%eax
8120	movl	64(%esp),%esi
8121	movl	%ecx,%ebx
8122	rorl	$11,%ecx
8123	movl	%esi,%edi
8124	rorl	$2,%esi
8125	xorl	%ebx,%ecx
8126	shrl	$3,%ebx
8127	rorl	$7,%ecx
8128	xorl	%edi,%esi
8129	xorl	%ecx,%ebx
8130	rorl	$17,%esi
8131	addl	72(%esp),%ebx
8132	shrl	$10,%edi
8133	addl	44(%esp),%ebx
8134	movl	%edx,%ecx
8135	xorl	%esi,%edi
8136	movl	12(%esp),%esi
8137	rorl	$14,%edx
8138	addl	%edi,%ebx
8139	movl	16(%esp),%edi
8140	xorl	%ecx,%edx
8141	movl	%ebx,72(%esp)
8142	xorl	%edi,%esi
8143	rorl	$5,%edx
8144	andl	%ecx,%esi
8145	movl	%ecx,8(%esp)
8146	xorl	%ecx,%edx
8147	addl	20(%esp),%ebx
8148	xorl	%esi,%edi
8149	rorl	$6,%edx
8150	movl	%eax,%ecx
8151	addl	%edi,%ebx
8152	rorl	$9,%ecx
8153	movl	%eax,%esi
8154	movl	28(%esp),%edi
8155	xorl	%eax,%ecx
8156	movl	%eax,24(%esp)
8157	xorl	%edi,%eax
8158	rorl	$11,%ecx
8159	andl	%eax,%ebp
8160	leal	2952996808(%ebx,%edx,1),%edx
8161	xorl	%esi,%ecx
8162	xorl	%edi,%ebp
8163	movl	80(%esp),%esi
8164	rorl	$2,%ecx
8165	addl	%edx,%ebp
8166	addl	4(%esp),%edx
8167	addl	%ecx,%ebp
8168	movl	68(%esp),%ecx
8169	movl	%esi,%ebx
8170	rorl	$11,%esi
8171	movl	%ecx,%edi
8172	rorl	$2,%ecx
8173	xorl	%ebx,%esi
8174	shrl	$3,%ebx
8175	rorl	$7,%esi
8176	xorl	%edi,%ecx
8177	xorl	%esi,%ebx
8178	rorl	$17,%ecx
8179	addl	76(%esp),%ebx
8180	shrl	$10,%edi
8181	addl	48(%esp),%ebx
8182	movl	%edx,%esi
8183	xorl	%ecx,%edi
8184	movl	8(%esp),%ecx
8185	rorl	$14,%edx
8186	addl	%edi,%ebx
8187	movl	12(%esp),%edi
8188	xorl	%esi,%edx
8189	movl	%ebx,76(%esp)
8190	xorl	%edi,%ecx
8191	rorl	$5,%edx
8192	andl	%esi,%ecx
8193	movl	%esi,4(%esp)
8194	xorl	%esi,%edx
8195	addl	16(%esp),%ebx
8196	xorl	%ecx,%edi
8197	rorl	$6,%edx
8198	movl	%ebp,%esi
8199	addl	%edi,%ebx
8200	rorl	$9,%esi
8201	movl	%ebp,%ecx
8202	movl	24(%esp),%edi
8203	xorl	%ebp,%esi
8204	movl	%ebp,20(%esp)
8205	xorl	%edi,%ebp
8206	rorl	$11,%esi
8207	andl	%ebp,%eax
8208	leal	3210313671(%ebx,%edx,1),%edx
8209	xorl	%ecx,%esi
8210	xorl	%edi,%eax
8211	movl	84(%esp),%ecx
8212	rorl	$2,%esi
8213	addl	%edx,%eax
8214	addl	(%esp),%edx
8215	addl	%esi,%eax
8216	movl	72(%esp),%esi
8217	movl	%ecx,%ebx
8218	rorl	$11,%ecx
8219	movl	%esi,%edi
8220	rorl	$2,%esi
8221	xorl	%ebx,%ecx
8222	shrl	$3,%ebx
8223	rorl	$7,%ecx
8224	xorl	%edi,%esi
8225	xorl	%ecx,%ebx
8226	rorl	$17,%esi
8227	addl	80(%esp),%ebx
8228	shrl	$10,%edi
8229	addl	52(%esp),%ebx
8230	movl	%edx,%ecx
8231	xorl	%esi,%edi
8232	movl	4(%esp),%esi
8233	rorl	$14,%edx
8234	addl	%edi,%ebx
8235	movl	8(%esp),%edi
8236	xorl	%ecx,%edx
8237	movl	%ebx,80(%esp)
8238	xorl	%edi,%esi
8239	rorl	$5,%edx
8240	andl	%ecx,%esi
8241	movl	%ecx,(%esp)
8242	xorl	%ecx,%edx
8243	addl	12(%esp),%ebx
8244	xorl	%esi,%edi
8245	rorl	$6,%edx
8246	movl	%eax,%ecx
8247	addl	%edi,%ebx
8248	rorl	$9,%ecx
8249	movl	%eax,%esi
8250	movl	20(%esp),%edi
8251	xorl	%eax,%ecx
8252	movl	%eax,16(%esp)
8253	xorl	%edi,%eax
8254	rorl	$11,%ecx
8255	andl	%eax,%ebp
8256	leal	3336571891(%ebx,%edx,1),%edx
8257	xorl	%esi,%ecx
8258	xorl	%edi,%ebp
8259	movl	88(%esp),%esi
8260	rorl	$2,%ecx
8261	addl	%edx,%ebp
8262	addl	28(%esp),%edx
8263	addl	%ecx,%ebp
8264	movl	76(%esp),%ecx
8265	movl	%esi,%ebx
8266	rorl	$11,%esi
8267	movl	%ecx,%edi
8268	rorl	$2,%ecx
8269	xorl	%ebx,%esi
8270	shrl	$3,%ebx
8271	rorl	$7,%esi
8272	xorl	%edi,%ecx
8273	xorl	%esi,%ebx
8274	rorl	$17,%ecx
8275	addl	84(%esp),%ebx
8276	shrl	$10,%edi
8277	addl	56(%esp),%ebx
8278	movl	%edx,%esi
8279	xorl	%ecx,%edi
8280	movl	(%esp),%ecx
8281	rorl	$14,%edx
8282	addl	%edi,%ebx
8283	movl	4(%esp),%edi
8284	xorl	%esi,%edx
8285	movl	%ebx,84(%esp)
8286	xorl	%edi,%ecx
8287	rorl	$5,%edx
8288	andl	%esi,%ecx
8289	movl	%esi,28(%esp)
8290	xorl	%esi,%edx
8291	addl	8(%esp),%ebx
8292	xorl	%ecx,%edi
8293	rorl	$6,%edx
8294	movl	%ebp,%esi
8295	addl	%edi,%ebx
8296	rorl	$9,%esi
8297	movl	%ebp,%ecx
8298	movl	16(%esp),%edi
8299	xorl	%ebp,%esi
8300	movl	%ebp,12(%esp)
8301	xorl	%edi,%ebp
8302	rorl	$11,%esi
8303	andl	%ebp,%eax
8304	leal	3584528711(%ebx,%edx,1),%edx
8305	xorl	%ecx,%esi
8306	xorl	%edi,%eax
8307	movl	92(%esp),%ecx
8308	rorl	$2,%esi
8309	addl	%edx,%eax
8310	addl	24(%esp),%edx
8311	addl	%esi,%eax
8312	movl	80(%esp),%esi
8313	movl	%ecx,%ebx
8314	rorl	$11,%ecx
8315	movl	%esi,%edi
8316	rorl	$2,%esi
8317	xorl	%ebx,%ecx
8318	shrl	$3,%ebx
8319	rorl	$7,%ecx
8320	xorl	%edi,%esi
8321	xorl	%ecx,%ebx
8322	rorl	$17,%esi
8323	addl	88(%esp),%ebx
8324	shrl	$10,%edi
8325	addl	60(%esp),%ebx
8326	movl	%edx,%ecx
8327	xorl	%esi,%edi
8328	movl	28(%esp),%esi
8329	rorl	$14,%edx
8330	addl	%edi,%ebx
8331	movl	(%esp),%edi
8332	xorl	%ecx,%edx
8333	movl	%ebx,88(%esp)
8334	xorl	%edi,%esi
8335	rorl	$5,%edx
8336	andl	%ecx,%esi
8337	movl	%ecx,24(%esp)
8338	xorl	%ecx,%edx
8339	addl	4(%esp),%ebx
8340	xorl	%esi,%edi
8341	rorl	$6,%edx
8342	movl	%eax,%ecx
8343	addl	%edi,%ebx
8344	rorl	$9,%ecx
8345	movl	%eax,%esi
8346	movl	12(%esp),%edi
8347	xorl	%eax,%ecx
8348	movl	%eax,8(%esp)
8349	xorl	%edi,%eax
8350	rorl	$11,%ecx
8351	andl	%eax,%ebp
8352	leal	113926993(%ebx,%edx,1),%edx
8353	xorl	%esi,%ecx
8354	xorl	%edi,%ebp
8355	movl	32(%esp),%esi
8356	rorl	$2,%ecx
8357	addl	%edx,%ebp
8358	addl	20(%esp),%edx
8359	addl	%ecx,%ebp
8360	movl	84(%esp),%ecx
8361	movl	%esi,%ebx
8362	rorl	$11,%esi
8363	movl	%ecx,%edi
8364	rorl	$2,%ecx
8365	xorl	%ebx,%esi
8366	shrl	$3,%ebx
8367	rorl	$7,%esi
8368	xorl	%edi,%ecx
8369	xorl	%esi,%ebx
8370	rorl	$17,%ecx
8371	addl	92(%esp),%ebx
8372	shrl	$10,%edi
8373	addl	64(%esp),%ebx
8374	movl	%edx,%esi
8375	xorl	%ecx,%edi
8376	movl	24(%esp),%ecx
8377	rorl	$14,%edx
8378	addl	%edi,%ebx
8379	movl	28(%esp),%edi
8380	xorl	%esi,%edx
8381	movl	%ebx,92(%esp)
8382	xorl	%edi,%ecx
8383	rorl	$5,%edx
8384	andl	%esi,%ecx
8385	movl	%esi,20(%esp)
8386	xorl	%esi,%edx
8387	addl	(%esp),%ebx
8388	xorl	%ecx,%edi
8389	rorl	$6,%edx
8390	movl	%ebp,%esi
8391	addl	%edi,%ebx
8392	rorl	$9,%esi
8393	movl	%ebp,%ecx
8394	movl	8(%esp),%edi
8395	xorl	%ebp,%esi
8396	movl	%ebp,4(%esp)
8397	xorl	%edi,%ebp
8398	rorl	$11,%esi
8399	andl	%ebp,%eax
8400	leal	338241895(%ebx,%edx,1),%edx
8401	xorl	%ecx,%esi
8402	xorl	%edi,%eax
8403	movl	36(%esp),%ecx
8404	rorl	$2,%esi
8405	addl	%edx,%eax
8406	addl	16(%esp),%edx
8407	addl	%esi,%eax
8408	movl	88(%esp),%esi
8409	movl	%ecx,%ebx
8410	rorl	$11,%ecx
8411	movl	%esi,%edi
8412	rorl	$2,%esi
8413	xorl	%ebx,%ecx
8414	shrl	$3,%ebx
8415	rorl	$7,%ecx
8416	xorl	%edi,%esi
8417	xorl	%ecx,%ebx
8418	rorl	$17,%esi
8419	addl	32(%esp),%ebx
8420	shrl	$10,%edi
8421	addl	68(%esp),%ebx
8422	movl	%edx,%ecx
8423	xorl	%esi,%edi
8424	movl	20(%esp),%esi
8425	rorl	$14,%edx
8426	addl	%edi,%ebx
8427	movl	24(%esp),%edi
8428	xorl	%ecx,%edx
8429	movl	%ebx,32(%esp)
8430	xorl	%edi,%esi
8431	rorl	$5,%edx
8432	andl	%ecx,%esi
8433	movl	%ecx,16(%esp)
8434	xorl	%ecx,%edx
8435	addl	28(%esp),%ebx
8436	xorl	%esi,%edi
8437	rorl	$6,%edx
8438	movl	%eax,%ecx
8439	addl	%edi,%ebx
8440	rorl	$9,%ecx
8441	movl	%eax,%esi
8442	movl	4(%esp),%edi
8443	xorl	%eax,%ecx
8444	movl	%eax,(%esp)
8445	xorl	%edi,%eax
8446	rorl	$11,%ecx
8447	andl	%eax,%ebp
8448	leal	666307205(%ebx,%edx,1),%edx
8449	xorl	%esi,%ecx
8450	xorl	%edi,%ebp
8451	movl	40(%esp),%esi
8452	rorl	$2,%ecx
8453	addl	%edx,%ebp
8454	addl	12(%esp),%edx
8455	addl	%ecx,%ebp
8456	movl	92(%esp),%ecx
8457	movl	%esi,%ebx
8458	rorl	$11,%esi
8459	movl	%ecx,%edi
8460	rorl	$2,%ecx
8461	xorl	%ebx,%esi
8462	shrl	$3,%ebx
8463	rorl	$7,%esi
8464	xorl	%edi,%ecx
8465	xorl	%esi,%ebx
8466	rorl	$17,%ecx
8467	addl	36(%esp),%ebx
8468	shrl	$10,%edi
8469	addl	72(%esp),%ebx
8470	movl	%edx,%esi
8471	xorl	%ecx,%edi
8472	movl	16(%esp),%ecx
8473	rorl	$14,%edx
8474	addl	%edi,%ebx
8475	movl	20(%esp),%edi
8476	xorl	%esi,%edx
8477	movl	%ebx,36(%esp)
8478	xorl	%edi,%ecx
8479	rorl	$5,%edx
8480	andl	%esi,%ecx
8481	movl	%esi,12(%esp)
8482	xorl	%esi,%edx
8483	addl	24(%esp),%ebx
8484	xorl	%ecx,%edi
8485	rorl	$6,%edx
8486	movl	%ebp,%esi
8487	addl	%edi,%ebx
8488	rorl	$9,%esi
8489	movl	%ebp,%ecx
8490	movl	(%esp),%edi
8491	xorl	%ebp,%esi
8492	movl	%ebp,28(%esp)
8493	xorl	%edi,%ebp
8494	rorl	$11,%esi
8495	andl	%ebp,%eax
8496	leal	773529912(%ebx,%edx,1),%edx
8497	xorl	%ecx,%esi
8498	xorl	%edi,%eax
8499	movl	44(%esp),%ecx
8500	rorl	$2,%esi
8501	addl	%edx,%eax
8502	addl	8(%esp),%edx
8503	addl	%esi,%eax
8504	movl	32(%esp),%esi
8505	movl	%ecx,%ebx
8506	rorl	$11,%ecx
8507	movl	%esi,%edi
8508	rorl	$2,%esi
8509	xorl	%ebx,%ecx
8510	shrl	$3,%ebx
8511	rorl	$7,%ecx
8512	xorl	%edi,%esi
8513	xorl	%ecx,%ebx
8514	rorl	$17,%esi
8515	addl	40(%esp),%ebx
8516	shrl	$10,%edi
8517	addl	76(%esp),%ebx
8518	movl	%edx,%ecx
8519	xorl	%esi,%edi
8520	movl	12(%esp),%esi
8521	rorl	$14,%edx
8522	addl	%edi,%ebx
8523	movl	16(%esp),%edi
8524	xorl	%ecx,%edx
8525	movl	%ebx,40(%esp)
8526	xorl	%edi,%esi
8527	rorl	$5,%edx
8528	andl	%ecx,%esi
8529	movl	%ecx,8(%esp)
8530	xorl	%ecx,%edx
8531	addl	20(%esp),%ebx
8532	xorl	%esi,%edi
8533	rorl	$6,%edx
8534	movl	%eax,%ecx
8535	addl	%edi,%ebx
8536	rorl	$9,%ecx
8537	movl	%eax,%esi
8538	movl	28(%esp),%edi
8539	xorl	%eax,%ecx
8540	movl	%eax,24(%esp)
8541	xorl	%edi,%eax
8542	rorl	$11,%ecx
8543	andl	%eax,%ebp
8544	leal	1294757372(%ebx,%edx,1),%edx
8545	xorl	%esi,%ecx
8546	xorl	%edi,%ebp
8547	movl	48(%esp),%esi
8548	rorl	$2,%ecx
8549	addl	%edx,%ebp
8550	addl	4(%esp),%edx
8551	addl	%ecx,%ebp
8552	movl	36(%esp),%ecx
8553	movl	%esi,%ebx
8554	rorl	$11,%esi
8555	movl	%ecx,%edi
8556	rorl	$2,%ecx
8557	xorl	%ebx,%esi
8558	shrl	$3,%ebx
8559	rorl	$7,%esi
8560	xorl	%edi,%ecx
8561	xorl	%esi,%ebx
8562	rorl	$17,%ecx
8563	addl	44(%esp),%ebx
8564	shrl	$10,%edi
8565	addl	80(%esp),%ebx
8566	movl	%edx,%esi
8567	xorl	%ecx,%edi
8568	movl	8(%esp),%ecx
8569	rorl	$14,%edx
8570	addl	%edi,%ebx
8571	movl	12(%esp),%edi
8572	xorl	%esi,%edx
8573	movl	%ebx,44(%esp)
8574	xorl	%edi,%ecx
8575	rorl	$5,%edx
8576	andl	%esi,%ecx
8577	movl	%esi,4(%esp)
8578	xorl	%esi,%edx
8579	addl	16(%esp),%ebx
8580	xorl	%ecx,%edi
8581	rorl	$6,%edx
8582	movl	%ebp,%esi
8583	addl	%edi,%ebx
8584	rorl	$9,%esi
8585	movl	%ebp,%ecx
8586	movl	24(%esp),%edi
8587	xorl	%ebp,%esi
8588	movl	%ebp,20(%esp)
8589	xorl	%edi,%ebp
8590	rorl	$11,%esi
8591	andl	%ebp,%eax
8592	leal	1396182291(%ebx,%edx,1),%edx
8593	xorl	%ecx,%esi
8594	xorl	%edi,%eax
8595	movl	52(%esp),%ecx
8596	rorl	$2,%esi
8597	addl	%edx,%eax
8598	addl	(%esp),%edx
8599	addl	%esi,%eax
8600	movl	40(%esp),%esi
8601	movl	%ecx,%ebx
8602	rorl	$11,%ecx
8603	movl	%esi,%edi
8604	rorl	$2,%esi
8605	xorl	%ebx,%ecx
8606	shrl	$3,%ebx
8607	rorl	$7,%ecx
8608	xorl	%edi,%esi
8609	xorl	%ecx,%ebx
8610	rorl	$17,%esi
8611	addl	48(%esp),%ebx
8612	shrl	$10,%edi
8613	addl	84(%esp),%ebx
8614	movl	%edx,%ecx
8615	xorl	%esi,%edi
8616	movl	4(%esp),%esi
8617	rorl	$14,%edx
8618	addl	%edi,%ebx
8619	movl	8(%esp),%edi
8620	xorl	%ecx,%edx
8621	movl	%ebx,48(%esp)
8622	xorl	%edi,%esi
8623	rorl	$5,%edx
8624	andl	%ecx,%esi
8625	movl	%ecx,(%esp)
8626	xorl	%ecx,%edx
8627	addl	12(%esp),%ebx
8628	xorl	%esi,%edi
8629	rorl	$6,%edx
8630	movl	%eax,%ecx
8631	addl	%edi,%ebx
8632	rorl	$9,%ecx
8633	movl	%eax,%esi
8634	movl	20(%esp),%edi
8635	xorl	%eax,%ecx
8636	movl	%eax,16(%esp)
8637	xorl	%edi,%eax
8638	rorl	$11,%ecx
8639	andl	%eax,%ebp
8640	leal	1695183700(%ebx,%edx,1),%edx
8641	xorl	%esi,%ecx
8642	xorl	%edi,%ebp
8643	movl	56(%esp),%esi
8644	rorl	$2,%ecx
8645	addl	%edx,%ebp
8646	addl	28(%esp),%edx
8647	addl	%ecx,%ebp
8648	movl	44(%esp),%ecx
8649	movl	%esi,%ebx
8650	rorl	$11,%esi
8651	movl	%ecx,%edi
8652	rorl	$2,%ecx
8653	xorl	%ebx,%esi
8654	shrl	$3,%ebx
8655	rorl	$7,%esi
8656	xorl	%edi,%ecx
8657	xorl	%esi,%ebx
8658	rorl	$17,%ecx
8659	addl	52(%esp),%ebx
8660	shrl	$10,%edi
8661	addl	88(%esp),%ebx
8662	movl	%edx,%esi
8663	xorl	%ecx,%edi
8664	movl	(%esp),%ecx
8665	rorl	$14,%edx
8666	addl	%edi,%ebx
8667	movl	4(%esp),%edi
8668	xorl	%esi,%edx
8669	movl	%ebx,52(%esp)
8670	xorl	%edi,%ecx
8671	rorl	$5,%edx
8672	andl	%esi,%ecx
8673	movl	%esi,28(%esp)
8674	xorl	%esi,%edx
8675	addl	8(%esp),%ebx
8676	xorl	%ecx,%edi
8677	rorl	$6,%edx
8678	movl	%ebp,%esi
8679	addl	%edi,%ebx
8680	rorl	$9,%esi
8681	movl	%ebp,%ecx
8682	movl	16(%esp),%edi
8683	xorl	%ebp,%esi
8684	movl	%ebp,12(%esp)
8685	xorl	%edi,%ebp
8686	rorl	$11,%esi
8687	andl	%ebp,%eax
8688	leal	1986661051(%ebx,%edx,1),%edx
8689	xorl	%ecx,%esi
8690	xorl	%edi,%eax
8691	movl	60(%esp),%ecx
8692	rorl	$2,%esi
8693	addl	%edx,%eax
8694	addl	24(%esp),%edx
8695	addl	%esi,%eax
8696	movl	48(%esp),%esi
8697	movl	%ecx,%ebx
8698	rorl	$11,%ecx
8699	movl	%esi,%edi
8700	rorl	$2,%esi
8701	xorl	%ebx,%ecx
8702	shrl	$3,%ebx
8703	rorl	$7,%ecx
8704	xorl	%edi,%esi
8705	xorl	%ecx,%ebx
8706	rorl	$17,%esi
8707	addl	56(%esp),%ebx
8708	shrl	$10,%edi
8709	addl	92(%esp),%ebx
8710	movl	%edx,%ecx
8711	xorl	%esi,%edi
8712	movl	28(%esp),%esi
8713	rorl	$14,%edx
8714	addl	%edi,%ebx
8715	movl	(%esp),%edi
8716	xorl	%ecx,%edx
8717	movl	%ebx,56(%esp)
8718	xorl	%edi,%esi
8719	rorl	$5,%edx
8720	andl	%ecx,%esi
8721	movl	%ecx,24(%esp)
8722	xorl	%ecx,%edx
8723	addl	4(%esp),%ebx
8724	xorl	%esi,%edi
8725	rorl	$6,%edx
8726	movl	%eax,%ecx
8727	addl	%edi,%ebx
8728	rorl	$9,%ecx
8729	movl	%eax,%esi
8730	movl	12(%esp),%edi
8731	xorl	%eax,%ecx
8732	movl	%eax,8(%esp)
8733	xorl	%edi,%eax
8734	rorl	$11,%ecx
8735	andl	%eax,%ebp
8736	leal	2177026350(%ebx,%edx,1),%edx
8737	xorl	%esi,%ecx
8738	xorl	%edi,%ebp
8739	movl	64(%esp),%esi
8740	rorl	$2,%ecx
8741	addl	%edx,%ebp
8742	addl	20(%esp),%edx
8743	addl	%ecx,%ebp
8744	movl	52(%esp),%ecx
8745	movl	%esi,%ebx
8746	rorl	$11,%esi
8747	movl	%ecx,%edi
8748	rorl	$2,%ecx
8749	xorl	%ebx,%esi
8750	shrl	$3,%ebx
8751	rorl	$7,%esi
8752	xorl	%edi,%ecx
8753	xorl	%esi,%ebx
8754	rorl	$17,%ecx
8755	addl	60(%esp),%ebx
8756	shrl	$10,%edi
8757	addl	32(%esp),%ebx
8758	movl	%edx,%esi
8759	xorl	%ecx,%edi
8760	movl	24(%esp),%ecx
8761	rorl	$14,%edx
8762	addl	%edi,%ebx
8763	movl	28(%esp),%edi
8764	xorl	%esi,%edx
8765	movl	%ebx,60(%esp)
8766	xorl	%edi,%ecx
8767	rorl	$5,%edx
8768	andl	%esi,%ecx
8769	movl	%esi,20(%esp)
8770	xorl	%esi,%edx
8771	addl	(%esp),%ebx
8772	xorl	%ecx,%edi
8773	rorl	$6,%edx
8774	movl	%ebp,%esi
8775	addl	%edi,%ebx
8776	rorl	$9,%esi
8777	movl	%ebp,%ecx
8778	movl	8(%esp),%edi
8779	xorl	%ebp,%esi
8780	movl	%ebp,4(%esp)
8781	xorl	%edi,%ebp
8782	rorl	$11,%esi
8783	andl	%ebp,%eax
8784	leal	2456956037(%ebx,%edx,1),%edx
8785	xorl	%ecx,%esi
8786	xorl	%edi,%eax
8787	movl	68(%esp),%ecx
8788	rorl	$2,%esi
8789	addl	%edx,%eax
8790	addl	16(%esp),%edx
8791	addl	%esi,%eax
8792	movl	56(%esp),%esi
8793	movl	%ecx,%ebx
8794	rorl	$11,%ecx
8795	movl	%esi,%edi
8796	rorl	$2,%esi
8797	xorl	%ebx,%ecx
8798	shrl	$3,%ebx
8799	rorl	$7,%ecx
8800	xorl	%edi,%esi
8801	xorl	%ecx,%ebx
8802	rorl	$17,%esi
8803	addl	64(%esp),%ebx
8804	shrl	$10,%edi
8805	addl	36(%esp),%ebx
8806	movl	%edx,%ecx
8807	xorl	%esi,%edi
8808	movl	20(%esp),%esi
8809	rorl	$14,%edx
8810	addl	%edi,%ebx
8811	movl	24(%esp),%edi
8812	xorl	%ecx,%edx
8813	movl	%ebx,64(%esp)
8814	xorl	%edi,%esi
8815	rorl	$5,%edx
8816	andl	%ecx,%esi
8817	movl	%ecx,16(%esp)
8818	xorl	%ecx,%edx
8819	addl	28(%esp),%ebx
8820	xorl	%esi,%edi
8821	rorl	$6,%edx
8822	movl	%eax,%ecx
8823	addl	%edi,%ebx
8824	rorl	$9,%ecx
8825	movl	%eax,%esi
8826	movl	4(%esp),%edi
8827	xorl	%eax,%ecx
8828	movl	%eax,(%esp)
8829	xorl	%edi,%eax
8830	rorl	$11,%ecx
8831	andl	%eax,%ebp
8832	leal	2730485921(%ebx,%edx,1),%edx
8833	xorl	%esi,%ecx
8834	xorl	%edi,%ebp
8835	movl	72(%esp),%esi
8836	rorl	$2,%ecx
8837	addl	%edx,%ebp
8838	addl	12(%esp),%edx
8839	addl	%ecx,%ebp
8840	movl	60(%esp),%ecx
8841	movl	%esi,%ebx
8842	rorl	$11,%esi
8843	movl	%ecx,%edi
8844	rorl	$2,%ecx
8845	xorl	%ebx,%esi
8846	shrl	$3,%ebx
8847	rorl	$7,%esi
8848	xorl	%edi,%ecx
8849	xorl	%esi,%ebx
8850	rorl	$17,%ecx
8851	addl	68(%esp),%ebx
8852	shrl	$10,%edi
8853	addl	40(%esp),%ebx
8854	movl	%edx,%esi
8855	xorl	%ecx,%edi
8856	movl	16(%esp),%ecx
8857	rorl	$14,%edx
8858	addl	%edi,%ebx
8859	movl	20(%esp),%edi
8860	xorl	%esi,%edx
8861	movl	%ebx,68(%esp)
8862	xorl	%edi,%ecx
8863	rorl	$5,%edx
8864	andl	%esi,%ecx
8865	movl	%esi,12(%esp)
8866	xorl	%esi,%edx
8867	addl	24(%esp),%ebx
8868	xorl	%ecx,%edi
8869	rorl	$6,%edx
8870	movl	%ebp,%esi
8871	addl	%edi,%ebx
8872	rorl	$9,%esi
8873	movl	%ebp,%ecx
8874	movl	(%esp),%edi
8875	xorl	%ebp,%esi
8876	movl	%ebp,28(%esp)
8877	xorl	%edi,%ebp
8878	rorl	$11,%esi
8879	andl	%ebp,%eax
8880	leal	2820302411(%ebx,%edx,1),%edx
8881	xorl	%ecx,%esi
8882	xorl	%edi,%eax
8883	movl	76(%esp),%ecx
8884	rorl	$2,%esi
8885	addl	%edx,%eax
8886	addl	8(%esp),%edx
8887	addl	%esi,%eax
8888	movl	64(%esp),%esi
8889	movl	%ecx,%ebx
8890	rorl	$11,%ecx
8891	movl	%esi,%edi
8892	rorl	$2,%esi
8893	xorl	%ebx,%ecx
8894	shrl	$3,%ebx
8895	rorl	$7,%ecx
8896	xorl	%edi,%esi
8897	xorl	%ecx,%ebx
8898	rorl	$17,%esi
8899	addl	72(%esp),%ebx
8900	shrl	$10,%edi
8901	addl	44(%esp),%ebx
8902	movl	%edx,%ecx
8903	xorl	%esi,%edi
8904	movl	12(%esp),%esi
8905	rorl	$14,%edx
8906	addl	%edi,%ebx
8907	movl	16(%esp),%edi
8908	xorl	%ecx,%edx
8909	movl	%ebx,72(%esp)
8910	xorl	%edi,%esi
8911	rorl	$5,%edx
8912	andl	%ecx,%esi
8913	movl	%ecx,8(%esp)
8914	xorl	%ecx,%edx
8915	addl	20(%esp),%ebx
8916	xorl	%esi,%edi
8917	rorl	$6,%edx
8918	movl	%eax,%ecx
8919	addl	%edi,%ebx
8920	rorl	$9,%ecx
8921	movl	%eax,%esi
8922	movl	28(%esp),%edi
8923	xorl	%eax,%ecx
8924	movl	%eax,24(%esp)
8925	xorl	%edi,%eax
8926	rorl	$11,%ecx
8927	andl	%eax,%ebp
8928	leal	3259730800(%ebx,%edx,1),%edx
8929	xorl	%esi,%ecx
8930	xorl	%edi,%ebp
8931	movl	80(%esp),%esi
8932	rorl	$2,%ecx
8933	addl	%edx,%ebp
8934	addl	4(%esp),%edx
8935	addl	%ecx,%ebp
8936	movl	68(%esp),%ecx
8937	movl	%esi,%ebx
8938	rorl	$11,%esi
8939	movl	%ecx,%edi
8940	rorl	$2,%ecx
8941	xorl	%ebx,%esi
8942	shrl	$3,%ebx
8943	rorl	$7,%esi
8944	xorl	%edi,%ecx
8945	xorl	%esi,%ebx
8946	rorl	$17,%ecx
8947	addl	76(%esp),%ebx
8948	shrl	$10,%edi
8949	addl	48(%esp),%ebx
8950	movl	%edx,%esi
8951	xorl	%ecx,%edi
8952	movl	8(%esp),%ecx
8953	rorl	$14,%edx
8954	addl	%edi,%ebx
8955	movl	12(%esp),%edi
8956	xorl	%esi,%edx
8957	movl	%ebx,76(%esp)
8958	xorl	%edi,%ecx
8959	rorl	$5,%edx
8960	andl	%esi,%ecx
8961	movl	%esi,4(%esp)
8962	xorl	%esi,%edx
8963	addl	16(%esp),%ebx
8964	xorl	%ecx,%edi
8965	rorl	$6,%edx
8966	movl	%ebp,%esi
8967	addl	%edi,%ebx
8968	rorl	$9,%esi
8969	movl	%ebp,%ecx
8970	movl	24(%esp),%edi
8971	xorl	%ebp,%esi
8972	movl	%ebp,20(%esp)
8973	xorl	%edi,%ebp
8974	rorl	$11,%esi
8975	andl	%ebp,%eax
8976	leal	3345764771(%ebx,%edx,1),%edx
8977	xorl	%ecx,%esi
8978	xorl	%edi,%eax
8979	movl	84(%esp),%ecx
8980	rorl	$2,%esi
8981	addl	%edx,%eax
8982	addl	(%esp),%edx
8983	addl	%esi,%eax
8984	movl	72(%esp),%esi
8985	movl	%ecx,%ebx
8986	rorl	$11,%ecx
8987	movl	%esi,%edi
8988	rorl	$2,%esi
8989	xorl	%ebx,%ecx
8990	shrl	$3,%ebx
8991	rorl	$7,%ecx
8992	xorl	%edi,%esi
8993	xorl	%ecx,%ebx
8994	rorl	$17,%esi
8995	addl	80(%esp),%ebx
8996	shrl	$10,%edi
8997	addl	52(%esp),%ebx
8998	movl	%edx,%ecx
8999	xorl	%esi,%edi
9000	movl	4(%esp),%esi
9001	rorl	$14,%edx
9002	addl	%edi,%ebx
9003	movl	8(%esp),%edi
9004	xorl	%ecx,%edx
9005	movl	%ebx,80(%esp)
9006	xorl	%edi,%esi
9007	rorl	$5,%edx
9008	andl	%ecx,%esi
9009	movl	%ecx,(%esp)
9010	xorl	%ecx,%edx
9011	addl	12(%esp),%ebx
9012	xorl	%esi,%edi
9013	rorl	$6,%edx
9014	movl	%eax,%ecx
9015	addl	%edi,%ebx
9016	rorl	$9,%ecx
9017	movl	%eax,%esi
9018	movl	20(%esp),%edi
9019	xorl	%eax,%ecx
9020	movl	%eax,16(%esp)
9021	xorl	%edi,%eax
9022	rorl	$11,%ecx
9023	andl	%eax,%ebp
9024	leal	3516065817(%ebx,%edx,1),%edx
9025	xorl	%esi,%ecx
9026	xorl	%edi,%ebp
9027	movl	88(%esp),%esi
9028	rorl	$2,%ecx
9029	addl	%edx,%ebp
9030	addl	28(%esp),%edx
9031	addl	%ecx,%ebp
9032	movl	76(%esp),%ecx
9033	movl	%esi,%ebx
9034	rorl	$11,%esi
9035	movl	%ecx,%edi
9036	rorl	$2,%ecx
9037	xorl	%ebx,%esi
9038	shrl	$3,%ebx
9039	rorl	$7,%esi
9040	xorl	%edi,%ecx
9041	xorl	%esi,%ebx
9042	rorl	$17,%ecx
9043	addl	84(%esp),%ebx
9044	shrl	$10,%edi
9045	addl	56(%esp),%ebx
9046	movl	%edx,%esi
9047	xorl	%ecx,%edi
9048	movl	(%esp),%ecx
9049	rorl	$14,%edx
9050	addl	%edi,%ebx
9051	movl	4(%esp),%edi
9052	xorl	%esi,%edx
9053	movl	%ebx,84(%esp)
9054	xorl	%edi,%ecx
9055	rorl	$5,%edx
9056	andl	%esi,%ecx
9057	movl	%esi,28(%esp)
9058	xorl	%esi,%edx
9059	addl	8(%esp),%ebx
9060	xorl	%ecx,%edi
9061	rorl	$6,%edx
9062	movl	%ebp,%esi
9063	addl	%edi,%ebx
9064	rorl	$9,%esi
9065	movl	%ebp,%ecx
9066	movl	16(%esp),%edi
9067	xorl	%ebp,%esi
9068	movl	%ebp,12(%esp)
9069	xorl	%edi,%ebp
9070	rorl	$11,%esi
9071	andl	%ebp,%eax
9072	leal	3600352804(%ebx,%edx,1),%edx
9073	xorl	%ecx,%esi
9074	xorl	%edi,%eax
9075	movl	92(%esp),%ecx
9076	rorl	$2,%esi
9077	addl	%edx,%eax
9078	addl	24(%esp),%edx
9079	addl	%esi,%eax
9080	movl	80(%esp),%esi
9081	movl	%ecx,%ebx
9082	rorl	$11,%ecx
9083	movl	%esi,%edi
9084	rorl	$2,%esi
9085	xorl	%ebx,%ecx
9086	shrl	$3,%ebx
9087	rorl	$7,%ecx
9088	xorl	%edi,%esi
9089	xorl	%ecx,%ebx
9090	rorl	$17,%esi
9091	addl	88(%esp),%ebx
9092	shrl	$10,%edi
9093	addl	60(%esp),%ebx
9094	movl	%edx,%ecx
9095	xorl	%esi,%edi
9096	movl	28(%esp),%esi
9097	rorl	$14,%edx
9098	addl	%edi,%ebx
9099	movl	(%esp),%edi
9100	xorl	%ecx,%edx
9101	movl	%ebx,88(%esp)
9102	xorl	%edi,%esi
9103	rorl	$5,%edx
9104	andl	%ecx,%esi
9105	movl	%ecx,24(%esp)
9106	xorl	%ecx,%edx
9107	addl	4(%esp),%ebx
9108	xorl	%esi,%edi
9109	rorl	$6,%edx
9110	movl	%eax,%ecx
9111	addl	%edi,%ebx
9112	rorl	$9,%ecx
9113	movl	%eax,%esi
9114	movl	12(%esp),%edi
9115	xorl	%eax,%ecx
9116	movl	%eax,8(%esp)
9117	xorl	%edi,%eax
9118	rorl	$11,%ecx
9119	andl	%eax,%ebp
9120	leal	4094571909(%ebx,%edx,1),%edx
9121	xorl	%esi,%ecx
9122	xorl	%edi,%ebp
9123	movl	32(%esp),%esi
9124	rorl	$2,%ecx
9125	addl	%edx,%ebp
9126	addl	20(%esp),%edx
9127	addl	%ecx,%ebp
9128	movl	84(%esp),%ecx
9129	movl	%esi,%ebx
9130	rorl	$11,%esi
9131	movl	%ecx,%edi
9132	rorl	$2,%ecx
9133	xorl	%ebx,%esi
9134	shrl	$3,%ebx
9135	rorl	$7,%esi
9136	xorl	%edi,%ecx
9137	xorl	%esi,%ebx
9138	rorl	$17,%ecx
9139	addl	92(%esp),%ebx
9140	shrl	$10,%edi
9141	addl	64(%esp),%ebx
9142	movl	%edx,%esi
9143	xorl	%ecx,%edi
9144	movl	24(%esp),%ecx
9145	rorl	$14,%edx
9146	addl	%edi,%ebx
9147	movl	28(%esp),%edi
9148	xorl	%esi,%edx
9149	movl	%ebx,92(%esp)
9150	xorl	%edi,%ecx
9151	rorl	$5,%edx
9152	andl	%esi,%ecx
9153	movl	%esi,20(%esp)
9154	xorl	%esi,%edx
9155	addl	(%esp),%ebx
9156	xorl	%ecx,%edi
9157	rorl	$6,%edx
9158	movl	%ebp,%esi
9159	addl	%edi,%ebx
9160	rorl	$9,%esi
9161	movl	%ebp,%ecx
9162	movl	8(%esp),%edi
9163	xorl	%ebp,%esi
9164	movl	%ebp,4(%esp)
9165	xorl	%edi,%ebp
9166	rorl	$11,%esi
9167	andl	%ebp,%eax
9168	leal	275423344(%ebx,%edx,1),%edx
9169	xorl	%ecx,%esi
9170	xorl	%edi,%eax
9171	movl	36(%esp),%ecx
9172	rorl	$2,%esi
9173	addl	%edx,%eax
9174	addl	16(%esp),%edx
9175	addl	%esi,%eax
9176	movl	88(%esp),%esi
9177	movl	%ecx,%ebx
9178	rorl	$11,%ecx
9179	movl	%esi,%edi
9180	rorl	$2,%esi
9181	xorl	%ebx,%ecx
9182	shrl	$3,%ebx
9183	rorl	$7,%ecx
9184	xorl	%edi,%esi
9185	xorl	%ecx,%ebx
9186	rorl	$17,%esi
9187	addl	32(%esp),%ebx
9188	shrl	$10,%edi
9189	addl	68(%esp),%ebx
9190	movl	%edx,%ecx
9191	xorl	%esi,%edi
9192	movl	20(%esp),%esi
9193	rorl	$14,%edx
9194	addl	%edi,%ebx
9195	movl	24(%esp),%edi
9196	xorl	%ecx,%edx
9197	movl	%ebx,32(%esp)
9198	xorl	%edi,%esi
9199	rorl	$5,%edx
9200	andl	%ecx,%esi
9201	movl	%ecx,16(%esp)
9202	xorl	%ecx,%edx
9203	addl	28(%esp),%ebx
9204	xorl	%esi,%edi
9205	rorl	$6,%edx
9206	movl	%eax,%ecx
9207	addl	%edi,%ebx
9208	rorl	$9,%ecx
9209	movl	%eax,%esi
9210	movl	4(%esp),%edi
9211	xorl	%eax,%ecx
9212	movl	%eax,(%esp)
9213	xorl	%edi,%eax
9214	rorl	$11,%ecx
9215	andl	%eax,%ebp
9216	leal	430227734(%ebx,%edx,1),%edx
9217	xorl	%esi,%ecx
9218	xorl	%edi,%ebp
9219	movl	40(%esp),%esi
9220	rorl	$2,%ecx
9221	addl	%edx,%ebp
9222	addl	12(%esp),%edx
9223	addl	%ecx,%ebp
9224	movl	92(%esp),%ecx
9225	movl	%esi,%ebx
9226	rorl	$11,%esi
9227	movl	%ecx,%edi
9228	rorl	$2,%ecx
9229	xorl	%ebx,%esi
9230	shrl	$3,%ebx
9231	rorl	$7,%esi
9232	xorl	%edi,%ecx
9233	xorl	%esi,%ebx
9234	rorl	$17,%ecx
9235	addl	36(%esp),%ebx
9236	shrl	$10,%edi
9237	addl	72(%esp),%ebx
9238	movl	%edx,%esi
9239	xorl	%ecx,%edi
9240	movl	16(%esp),%ecx
9241	rorl	$14,%edx
9242	addl	%edi,%ebx
9243	movl	20(%esp),%edi
9244	xorl	%esi,%edx
9245	movl	%ebx,36(%esp)
9246	xorl	%edi,%ecx
9247	rorl	$5,%edx
9248	andl	%esi,%ecx
9249	movl	%esi,12(%esp)
9250	xorl	%esi,%edx
9251	addl	24(%esp),%ebx
9252	xorl	%ecx,%edi
9253	rorl	$6,%edx
9254	movl	%ebp,%esi
9255	addl	%edi,%ebx
9256	rorl	$9,%esi
9257	movl	%ebp,%ecx
9258	movl	(%esp),%edi
9259	xorl	%ebp,%esi
9260	movl	%ebp,28(%esp)
9261	xorl	%edi,%ebp
9262	rorl	$11,%esi
9263	andl	%ebp,%eax
9264	leal	506948616(%ebx,%edx,1),%edx
9265	xorl	%ecx,%esi
9266	xorl	%edi,%eax
9267	movl	44(%esp),%ecx
9268	rorl	$2,%esi
9269	addl	%edx,%eax
9270	addl	8(%esp),%edx
9271	addl	%esi,%eax
9272	movl	32(%esp),%esi
9273	movl	%ecx,%ebx
9274	rorl	$11,%ecx
9275	movl	%esi,%edi
9276	rorl	$2,%esi
9277	xorl	%ebx,%ecx
9278	shrl	$3,%ebx
9279	rorl	$7,%ecx
9280	xorl	%edi,%esi
9281	xorl	%ecx,%ebx
9282	rorl	$17,%esi
9283	addl	40(%esp),%ebx
9284	shrl	$10,%edi
9285	addl	76(%esp),%ebx
9286	movl	%edx,%ecx
9287	xorl	%esi,%edi
9288	movl	12(%esp),%esi
9289	rorl	$14,%edx
9290	addl	%edi,%ebx
9291	movl	16(%esp),%edi
9292	xorl	%ecx,%edx
9293	movl	%ebx,40(%esp)
9294	xorl	%edi,%esi
9295	rorl	$5,%edx
9296	andl	%ecx,%esi
9297	movl	%ecx,8(%esp)
9298	xorl	%ecx,%edx
9299	addl	20(%esp),%ebx
9300	xorl	%esi,%edi
9301	rorl	$6,%edx
9302	movl	%eax,%ecx
9303	addl	%edi,%ebx
9304	rorl	$9,%ecx
9305	movl	%eax,%esi
9306	movl	28(%esp),%edi
9307	xorl	%eax,%ecx
9308	movl	%eax,24(%esp)
9309	xorl	%edi,%eax
9310	rorl	$11,%ecx
9311	andl	%eax,%ebp
9312	leal	659060556(%ebx,%edx,1),%edx
9313	xorl	%esi,%ecx
9314	xorl	%edi,%ebp
9315	movl	48(%esp),%esi
9316	rorl	$2,%ecx
9317	addl	%edx,%ebp
9318	addl	4(%esp),%edx
9319	addl	%ecx,%ebp
9320	movl	36(%esp),%ecx
9321	movl	%esi,%ebx
9322	rorl	$11,%esi
9323	movl	%ecx,%edi
9324	rorl	$2,%ecx
9325	xorl	%ebx,%esi
9326	shrl	$3,%ebx
9327	rorl	$7,%esi
9328	xorl	%edi,%ecx
9329	xorl	%esi,%ebx
9330	rorl	$17,%ecx
9331	addl	44(%esp),%ebx
9332	shrl	$10,%edi
9333	addl	80(%esp),%ebx
9334	movl	%edx,%esi
9335	xorl	%ecx,%edi
9336	movl	8(%esp),%ecx
9337	rorl	$14,%edx
9338	addl	%edi,%ebx
9339	movl	12(%esp),%edi
9340	xorl	%esi,%edx
9341	movl	%ebx,44(%esp)
9342	xorl	%edi,%ecx
9343	rorl	$5,%edx
9344	andl	%esi,%ecx
9345	movl	%esi,4(%esp)
9346	xorl	%esi,%edx
9347	addl	16(%esp),%ebx
9348	xorl	%ecx,%edi
9349	rorl	$6,%edx
9350	movl	%ebp,%esi
9351	addl	%edi,%ebx
9352	rorl	$9,%esi
9353	movl	%ebp,%ecx
9354	movl	24(%esp),%edi
9355	xorl	%ebp,%esi
9356	movl	%ebp,20(%esp)
9357	xorl	%edi,%ebp
9358	rorl	$11,%esi
9359	andl	%ebp,%eax
9360	leal	883997877(%ebx,%edx,1),%edx
9361	xorl	%ecx,%esi
9362	xorl	%edi,%eax
9363	movl	52(%esp),%ecx
9364	rorl	$2,%esi
9365	addl	%edx,%eax
9366	addl	(%esp),%edx
9367	addl	%esi,%eax
9368	movl	40(%esp),%esi
9369	movl	%ecx,%ebx
9370	rorl	$11,%ecx
9371	movl	%esi,%edi
9372	rorl	$2,%esi
9373	xorl	%ebx,%ecx
9374	shrl	$3,%ebx
9375	rorl	$7,%ecx
9376	xorl	%edi,%esi
9377	xorl	%ecx,%ebx
9378	rorl	$17,%esi
9379	addl	48(%esp),%ebx
9380	shrl	$10,%edi
9381	addl	84(%esp),%ebx
9382	movl	%edx,%ecx
9383	xorl	%esi,%edi
9384	movl	4(%esp),%esi
9385	rorl	$14,%edx
9386	addl	%edi,%ebx
9387	movl	8(%esp),%edi
9388	xorl	%ecx,%edx
9389	movl	%ebx,48(%esp)
9390	xorl	%edi,%esi
9391	rorl	$5,%edx
9392	andl	%ecx,%esi
9393	movl	%ecx,(%esp)
9394	xorl	%ecx,%edx
9395	addl	12(%esp),%ebx
9396	xorl	%esi,%edi
9397	rorl	$6,%edx
9398	movl	%eax,%ecx
9399	addl	%edi,%ebx
9400	rorl	$9,%ecx
9401	movl	%eax,%esi
9402	movl	20(%esp),%edi
9403	xorl	%eax,%ecx
9404	movl	%eax,16(%esp)
9405	xorl	%edi,%eax
9406	rorl	$11,%ecx
9407	andl	%eax,%ebp
9408	leal	958139571(%ebx,%edx,1),%edx
9409	xorl	%esi,%ecx
9410	xorl	%edi,%ebp
9411	movl	56(%esp),%esi
9412	rorl	$2,%ecx
9413	addl	%edx,%ebp
9414	addl	28(%esp),%edx
9415	addl	%ecx,%ebp
9416	movl	44(%esp),%ecx
9417	movl	%esi,%ebx
9418	rorl	$11,%esi
9419	movl	%ecx,%edi
9420	rorl	$2,%ecx
9421	xorl	%ebx,%esi
9422	shrl	$3,%ebx
9423	rorl	$7,%esi
9424	xorl	%edi,%ecx
9425	xorl	%esi,%ebx
9426	rorl	$17,%ecx
9427	addl	52(%esp),%ebx
9428	shrl	$10,%edi
9429	addl	88(%esp),%ebx
9430	movl	%edx,%esi
9431	xorl	%ecx,%edi
9432	movl	(%esp),%ecx
9433	rorl	$14,%edx
9434	addl	%edi,%ebx
9435	movl	4(%esp),%edi
9436	xorl	%esi,%edx
9437	movl	%ebx,52(%esp)
9438	xorl	%edi,%ecx
9439	rorl	$5,%edx
9440	andl	%esi,%ecx
9441	movl	%esi,28(%esp)
9442	xorl	%esi,%edx
9443	addl	8(%esp),%ebx
9444	xorl	%ecx,%edi
9445	rorl	$6,%edx
9446	movl	%ebp,%esi
9447	addl	%edi,%ebx
9448	rorl	$9,%esi
9449	movl	%ebp,%ecx
9450	movl	16(%esp),%edi
9451	xorl	%ebp,%esi
9452	movl	%ebp,12(%esp)
9453	xorl	%edi,%ebp
9454	rorl	$11,%esi
9455	andl	%ebp,%eax
9456	leal	1322822218(%ebx,%edx,1),%edx
9457	xorl	%ecx,%esi
9458	xorl	%edi,%eax
9459	movl	60(%esp),%ecx
9460	rorl	$2,%esi
9461	addl	%edx,%eax
9462	addl	24(%esp),%edx
9463	addl	%esi,%eax
9464	movl	48(%esp),%esi
9465	movl	%ecx,%ebx
9466	rorl	$11,%ecx
9467	movl	%esi,%edi
9468	rorl	$2,%esi
9469	xorl	%ebx,%ecx
9470	shrl	$3,%ebx
9471	rorl	$7,%ecx
9472	xorl	%edi,%esi
9473	xorl	%ecx,%ebx
9474	rorl	$17,%esi
9475	addl	56(%esp),%ebx
9476	shrl	$10,%edi
9477	addl	92(%esp),%ebx
9478	movl	%edx,%ecx
9479	xorl	%esi,%edi
9480	movl	28(%esp),%esi
9481	rorl	$14,%edx
9482	addl	%edi,%ebx
9483	movl	(%esp),%edi
9484	xorl	%ecx,%edx
9485	movl	%ebx,56(%esp)
9486	xorl	%edi,%esi
9487	rorl	$5,%edx
9488	andl	%ecx,%esi
9489	movl	%ecx,24(%esp)
9490	xorl	%ecx,%edx
9491	addl	4(%esp),%ebx
9492	xorl	%esi,%edi
9493	rorl	$6,%edx
9494	movl	%eax,%ecx
9495	addl	%edi,%ebx
9496	rorl	$9,%ecx
9497	movl	%eax,%esi
9498	movl	12(%esp),%edi
9499	xorl	%eax,%ecx
9500	movl	%eax,8(%esp)
9501	xorl	%edi,%eax
9502	rorl	$11,%ecx
9503	andl	%eax,%ebp
9504	leal	1537002063(%ebx,%edx,1),%edx
9505	xorl	%esi,%ecx
9506	xorl	%edi,%ebp
9507	movl	64(%esp),%esi
9508	rorl	$2,%ecx
9509	addl	%edx,%ebp
9510	addl	20(%esp),%edx
9511	addl	%ecx,%ebp
9512	movl	52(%esp),%ecx
9513	movl	%esi,%ebx
9514	rorl	$11,%esi
9515	movl	%ecx,%edi
9516	rorl	$2,%ecx
9517	xorl	%ebx,%esi
9518	shrl	$3,%ebx
9519	rorl	$7,%esi
9520	xorl	%edi,%ecx
9521	xorl	%esi,%ebx
9522	rorl	$17,%ecx
9523	addl	60(%esp),%ebx
9524	shrl	$10,%edi
9525	addl	32(%esp),%ebx
9526	movl	%edx,%esi
9527	xorl	%ecx,%edi
9528	movl	24(%esp),%ecx
9529	rorl	$14,%edx
9530	addl	%edi,%ebx
9531	movl	28(%esp),%edi
9532	xorl	%esi,%edx
9533	movl	%ebx,60(%esp)
9534	xorl	%edi,%ecx
9535	rorl	$5,%edx
9536	andl	%esi,%ecx
9537	movl	%esi,20(%esp)
9538	xorl	%esi,%edx
9539	addl	(%esp),%ebx
9540	xorl	%ecx,%edi
9541	rorl	$6,%edx
9542	movl	%ebp,%esi
9543	addl	%edi,%ebx
9544	rorl	$9,%esi
9545	movl	%ebp,%ecx
9546	movl	8(%esp),%edi
9547	xorl	%ebp,%esi
9548	movl	%ebp,4(%esp)
9549	xorl	%edi,%ebp
9550	rorl	$11,%esi
9551	andl	%ebp,%eax
9552	leal	1747873779(%ebx,%edx,1),%edx
9553	xorl	%ecx,%esi
9554	xorl	%edi,%eax
9555	movl	68(%esp),%ecx
9556	rorl	$2,%esi
9557	addl	%edx,%eax
9558	addl	16(%esp),%edx
9559	addl	%esi,%eax
9560	movl	56(%esp),%esi
9561	movl	%ecx,%ebx
9562	rorl	$11,%ecx
9563	movl	%esi,%edi
9564	rorl	$2,%esi
9565	xorl	%ebx,%ecx
9566	shrl	$3,%ebx
9567	rorl	$7,%ecx
9568	xorl	%edi,%esi
9569	xorl	%ecx,%ebx
9570	rorl	$17,%esi
9571	addl	64(%esp),%ebx
9572	shrl	$10,%edi
9573	addl	36(%esp),%ebx
9574	movl	%edx,%ecx
9575	xorl	%esi,%edi
9576	movl	20(%esp),%esi
9577	rorl	$14,%edx
9578	addl	%edi,%ebx
9579	movl	24(%esp),%edi
9580	xorl	%ecx,%edx
9581	movl	%ebx,64(%esp)
9582	xorl	%edi,%esi
9583	rorl	$5,%edx
9584	andl	%ecx,%esi
9585	movl	%ecx,16(%esp)
9586	xorl	%ecx,%edx
9587	addl	28(%esp),%ebx
9588	xorl	%esi,%edi
9589	rorl	$6,%edx
9590	movl	%eax,%ecx
9591	addl	%edi,%ebx
9592	rorl	$9,%ecx
9593	movl	%eax,%esi
9594	movl	4(%esp),%edi
9595	xorl	%eax,%ecx
9596	movl	%eax,(%esp)
9597	xorl	%edi,%eax
9598	rorl	$11,%ecx
9599	andl	%eax,%ebp
9600	leal	1955562222(%ebx,%edx,1),%edx
9601	xorl	%esi,%ecx
9602	xorl	%edi,%ebp
9603	movl	72(%esp),%esi
9604	rorl	$2,%ecx
9605	addl	%edx,%ebp
9606	addl	12(%esp),%edx
9607	addl	%ecx,%ebp
9608	movl	60(%esp),%ecx
9609	movl	%esi,%ebx
9610	rorl	$11,%esi
9611	movl	%ecx,%edi
9612	rorl	$2,%ecx
9613	xorl	%ebx,%esi
9614	shrl	$3,%ebx
9615	rorl	$7,%esi
9616	xorl	%edi,%ecx
9617	xorl	%esi,%ebx
9618	rorl	$17,%ecx
9619	addl	68(%esp),%ebx
9620	shrl	$10,%edi
9621	addl	40(%esp),%ebx
9622	movl	%edx,%esi
9623	xorl	%ecx,%edi
9624	movl	16(%esp),%ecx
9625	rorl	$14,%edx
9626	addl	%edi,%ebx
9627	movl	20(%esp),%edi
9628	xorl	%esi,%edx
9629	movl	%ebx,68(%esp)
9630	xorl	%edi,%ecx
9631	rorl	$5,%edx
9632	andl	%esi,%ecx
9633	movl	%esi,12(%esp)
9634	xorl	%esi,%edx
9635	addl	24(%esp),%ebx
9636	xorl	%ecx,%edi
9637	rorl	$6,%edx
9638	movl	%ebp,%esi
9639	addl	%edi,%ebx
9640	rorl	$9,%esi
9641	movl	%ebp,%ecx
9642	movl	(%esp),%edi
9643	xorl	%ebp,%esi
9644	movl	%ebp,28(%esp)
9645	xorl	%edi,%ebp
9646	rorl	$11,%esi
9647	andl	%ebp,%eax
9648	leal	2024104815(%ebx,%edx,1),%edx
9649	xorl	%ecx,%esi
9650	xorl	%edi,%eax
9651	movl	76(%esp),%ecx
9652	rorl	$2,%esi
9653	addl	%edx,%eax
9654	addl	8(%esp),%edx
9655	addl	%esi,%eax
9656	movl	64(%esp),%esi
9657	movl	%ecx,%ebx
9658	rorl	$11,%ecx
9659	movl	%esi,%edi
9660	rorl	$2,%esi
9661	xorl	%ebx,%ecx
9662	shrl	$3,%ebx
9663	rorl	$7,%ecx
9664	xorl	%edi,%esi
9665	xorl	%ecx,%ebx
9666	rorl	$17,%esi
9667	addl	72(%esp),%ebx
9668	shrl	$10,%edi
9669	addl	44(%esp),%ebx
9670	movl	%edx,%ecx
9671	xorl	%esi,%edi
9672	movl	12(%esp),%esi
9673	rorl	$14,%edx
9674	addl	%edi,%ebx
9675	movl	16(%esp),%edi
9676	xorl	%ecx,%edx
9677	movl	%ebx,72(%esp)
9678	xorl	%edi,%esi
9679	rorl	$5,%edx
9680	andl	%ecx,%esi
9681	movl	%ecx,8(%esp)
9682	xorl	%ecx,%edx
9683	addl	20(%esp),%ebx
9684	xorl	%esi,%edi
9685	rorl	$6,%edx
9686	movl	%eax,%ecx
9687	addl	%edi,%ebx
9688	rorl	$9,%ecx
9689	movl	%eax,%esi
9690	movl	28(%esp),%edi
9691	xorl	%eax,%ecx
9692	movl	%eax,24(%esp)
9693	xorl	%edi,%eax
9694	rorl	$11,%ecx
9695	andl	%eax,%ebp
9696	leal	2227730452(%ebx,%edx,1),%edx
9697	xorl	%esi,%ecx
9698	xorl	%edi,%ebp
9699	movl	80(%esp),%esi
9700	rorl	$2,%ecx
9701	addl	%edx,%ebp
9702	addl	4(%esp),%edx
9703	addl	%ecx,%ebp
9704	movl	68(%esp),%ecx
9705	movl	%esi,%ebx
9706	rorl	$11,%esi
9707	movl	%ecx,%edi
9708	rorl	$2,%ecx
9709	xorl	%ebx,%esi
9710	shrl	$3,%ebx
9711	rorl	$7,%esi
9712	xorl	%edi,%ecx
9713	xorl	%esi,%ebx
9714	rorl	$17,%ecx
9715	addl	76(%esp),%ebx
9716	shrl	$10,%edi
9717	addl	48(%esp),%ebx
9718	movl	%edx,%esi
9719	xorl	%ecx,%edi
9720	movl	8(%esp),%ecx
9721	rorl	$14,%edx
9722	addl	%edi,%ebx
9723	movl	12(%esp),%edi
9724	xorl	%esi,%edx
9725	movl	%ebx,76(%esp)
9726	xorl	%edi,%ecx
9727	rorl	$5,%edx
9728	andl	%esi,%ecx
9729	movl	%esi,4(%esp)
9730	xorl	%esi,%edx
9731	addl	16(%esp),%ebx
9732	xorl	%ecx,%edi
9733	rorl	$6,%edx
9734	movl	%ebp,%esi
9735	addl	%edi,%ebx
9736	rorl	$9,%esi
9737	movl	%ebp,%ecx
9738	movl	24(%esp),%edi
9739	xorl	%ebp,%esi
9740	movl	%ebp,20(%esp)
9741	xorl	%edi,%ebp
9742	rorl	$11,%esi
9743	andl	%ebp,%eax
9744	leal	2361852424(%ebx,%edx,1),%edx
9745	xorl	%ecx,%esi
9746	xorl	%edi,%eax
9747	movl	84(%esp),%ecx
9748	rorl	$2,%esi
9749	addl	%edx,%eax
9750	addl	(%esp),%edx
9751	addl	%esi,%eax
9752	movl	72(%esp),%esi
9753	movl	%ecx,%ebx
9754	rorl	$11,%ecx
9755	movl	%esi,%edi
9756	rorl	$2,%esi
9757	xorl	%ebx,%ecx
9758	shrl	$3,%ebx
9759	rorl	$7,%ecx
9760	xorl	%edi,%esi
9761	xorl	%ecx,%ebx
9762	rorl	$17,%esi
9763	addl	80(%esp),%ebx
9764	shrl	$10,%edi
9765	addl	52(%esp),%ebx
9766	movl	%edx,%ecx
9767	xorl	%esi,%edi
9768	movl	4(%esp),%esi
9769	rorl	$14,%edx
9770	addl	%edi,%ebx
9771	movl	8(%esp),%edi
9772	xorl	%ecx,%edx
9773	movl	%ebx,80(%esp)
9774	xorl	%edi,%esi
9775	rorl	$5,%edx
9776	andl	%ecx,%esi
9777	movl	%ecx,(%esp)
9778	xorl	%ecx,%edx
9779	addl	12(%esp),%ebx
9780	xorl	%esi,%edi
9781	rorl	$6,%edx
9782	movl	%eax,%ecx
9783	addl	%edi,%ebx
9784	rorl	$9,%ecx
9785	movl	%eax,%esi
9786	movl	20(%esp),%edi
9787	xorl	%eax,%ecx
9788	movl	%eax,16(%esp)
9789	xorl	%edi,%eax
9790	rorl	$11,%ecx
9791	andl	%eax,%ebp
9792	leal	2428436474(%ebx,%edx,1),%edx
9793	xorl	%esi,%ecx
9794	xorl	%edi,%ebp
9795	movl	88(%esp),%esi
9796	rorl	$2,%ecx
9797	addl	%edx,%ebp
9798	addl	28(%esp),%edx
9799	addl	%ecx,%ebp
9800	movl	76(%esp),%ecx
9801	movl	%esi,%ebx
9802	rorl	$11,%esi
9803	movl	%ecx,%edi
9804	rorl	$2,%ecx
9805	xorl	%ebx,%esi
9806	shrl	$3,%ebx
9807	rorl	$7,%esi
9808	xorl	%edi,%ecx
9809	xorl	%esi,%ebx
9810	rorl	$17,%ecx
9811	addl	84(%esp),%ebx
9812	shrl	$10,%edi
9813	addl	56(%esp),%ebx
9814	movl	%edx,%esi
9815	xorl	%ecx,%edi
9816	movl	(%esp),%ecx
9817	rorl	$14,%edx
9818	addl	%edi,%ebx
9819	movl	4(%esp),%edi
9820	xorl	%esi,%edx
9821	movl	%ebx,84(%esp)
9822	xorl	%edi,%ecx
9823	rorl	$5,%edx
9824	andl	%esi,%ecx
9825	movl	%esi,28(%esp)
9826	xorl	%esi,%edx
9827	addl	8(%esp),%ebx
9828	xorl	%ecx,%edi
9829	rorl	$6,%edx
9830	movl	%ebp,%esi
9831	addl	%edi,%ebx
9832	rorl	$9,%esi
9833	movl	%ebp,%ecx
9834	movl	16(%esp),%edi
9835	xorl	%ebp,%esi
9836	movl	%ebp,12(%esp)
9837	xorl	%edi,%ebp
9838	rorl	$11,%esi
9839	andl	%ebp,%eax
9840	leal	2756734187(%ebx,%edx,1),%edx
9841	xorl	%ecx,%esi
9842	xorl	%edi,%eax
9843	movl	92(%esp),%ecx
9844	rorl	$2,%esi
9845	addl	%edx,%eax
9846	addl	24(%esp),%edx
9847	addl	%esi,%eax
9848	movl	80(%esp),%esi
9849	movl	%ecx,%ebx
9850	rorl	$11,%ecx
9851	movl	%esi,%edi
9852	rorl	$2,%esi
9853	xorl	%ebx,%ecx
9854	shrl	$3,%ebx
9855	rorl	$7,%ecx
9856	xorl	%edi,%esi
9857	xorl	%ecx,%ebx
9858	rorl	$17,%esi
9859	addl	88(%esp),%ebx
9860	shrl	$10,%edi
9861	addl	60(%esp),%ebx
9862	movl	%edx,%ecx
9863	xorl	%esi,%edi
9864	movl	28(%esp),%esi
9865	rorl	$14,%edx
9866	addl	%edi,%ebx
9867	movl	(%esp),%edi
9868	xorl	%ecx,%edx
9869	xorl	%edi,%esi
9870	rorl	$5,%edx
9871	andl	%ecx,%esi
9872	movl	%ecx,24(%esp)
9873	xorl	%ecx,%edx
9874	addl	4(%esp),%ebx
9875	xorl	%esi,%edi
9876	rorl	$6,%edx
9877	movl	%eax,%ecx
9878	addl	%edi,%ebx
9879	rorl	$9,%ecx
9880	movl	%eax,%esi
9881	movl	12(%esp),%edi
9882	xorl	%eax,%ecx
9883	movl	%eax,8(%esp)
9884	xorl	%edi,%eax
9885	rorl	$11,%ecx
9886	andl	%eax,%ebp
9887	leal	3204031479(%ebx,%edx,1),%edx
9888	xorl	%esi,%ecx
9889	xorl	%edi,%ebp
9890	movl	32(%esp),%esi
9891	rorl	$2,%ecx
9892	addl	%edx,%ebp
9893	addl	20(%esp),%edx
9894	addl	%ecx,%ebp
9895	movl	84(%esp),%ecx
9896	movl	%esi,%ebx
9897	rorl	$11,%esi
9898	movl	%ecx,%edi
9899	rorl	$2,%ecx
9900	xorl	%ebx,%esi
9901	shrl	$3,%ebx
9902	rorl	$7,%esi
9903	xorl	%edi,%ecx
9904	xorl	%esi,%ebx
9905	rorl	$17,%ecx
9906	addl	92(%esp),%ebx
9907	shrl	$10,%edi
9908	addl	64(%esp),%ebx
9909	movl	%edx,%esi
9910	xorl	%ecx,%edi
9911	movl	24(%esp),%ecx
9912	rorl	$14,%edx
9913	addl	%edi,%ebx
9914	movl	28(%esp),%edi
9915	xorl	%esi,%edx
9916	xorl	%edi,%ecx
9917	rorl	$5,%edx
9918	andl	%esi,%ecx
9919	movl	%esi,20(%esp)
9920	xorl	%esi,%edx
9921	addl	(%esp),%ebx
9922	xorl	%ecx,%edi
9923	rorl	$6,%edx
9924	movl	%ebp,%esi
9925	addl	%edi,%ebx
9926	rorl	$9,%esi
9927	movl	%ebp,%ecx
9928	movl	8(%esp),%edi
9929	xorl	%ebp,%esi
9930	movl	%ebp,4(%esp)
9931	xorl	%edi,%ebp
9932	rorl	$11,%esi
9933	andl	%ebp,%eax
9934	leal	3329325298(%ebx,%edx,1),%edx
9935	xorl	%ecx,%esi
9936	xorl	%edi,%eax
9937	rorl	$2,%esi
9938	addl	%edx,%eax
9939	addl	16(%esp),%edx
9940	addl	%esi,%eax
9941	movl	96(%esp),%esi
9942	xorl	%edi,%ebp
9943	movl	12(%esp),%ecx
9944	addl	(%esi),%eax
9945	addl	4(%esi),%ebp
9946	addl	8(%esi),%edi
9947	addl	12(%esi),%ecx
9948	movl	%eax,(%esi)
9949	movl	%ebp,4(%esi)
9950	movl	%edi,8(%esi)
9951	movl	%ecx,12(%esi)
9952	movl	%ebp,4(%esp)
9953	xorl	%edi,%ebp
9954	movl	%edi,8(%esp)
9955	movl	%ecx,12(%esp)
9956	movl	20(%esp),%edi
9957	movl	24(%esp),%ebx
9958	movl	28(%esp),%ecx
9959	addl	16(%esi),%edx
9960	addl	20(%esi),%edi
9961	addl	24(%esi),%ebx
9962	addl	28(%esi),%ecx
9963	movl	%edx,16(%esi)
9964	movl	%edi,20(%esi)
9965	movl	%ebx,24(%esi)
9966	movl	%ecx,28(%esi)
9967	movl	%edi,20(%esp)
9968	movl	100(%esp),%edi
9969	movl	%ebx,24(%esp)
9970	movl	%ecx,28(%esp)
9971	cmpl	104(%esp),%edi
9972	jb	.L010grand_loop
9973	movl	108(%esp),%esp
9974	popl	%edi
9975	popl	%esi
9976	popl	%ebx
9977	popl	%ebp
9978	ret
9979.align	32
9980.L004shaext:
9981	subl	$32,%esp
9982	movdqu	(%esi),%xmm1
9983	leal	128(%ebp),%ebp
9984	movdqu	16(%esi),%xmm2
9985	movdqa	128(%ebp),%xmm7
9986	pshufd	$27,%xmm1,%xmm0
9987	pshufd	$177,%xmm1,%xmm1
9988	pshufd	$27,%xmm2,%xmm2
9989.byte	102,15,58,15,202,8
9990	punpcklqdq	%xmm0,%xmm2
9991	jmp	.L011loop_shaext
9992.align	16
9993.L011loop_shaext:
9994	movdqu	(%edi),%xmm3
9995	movdqu	16(%edi),%xmm4
9996	movdqu	32(%edi),%xmm5
9997.byte	102,15,56,0,223
9998	movdqu	48(%edi),%xmm6
9999	movdqa	%xmm2,16(%esp)
10000	movdqa	-128(%ebp),%xmm0
10001	paddd	%xmm3,%xmm0
10002.byte	102,15,56,0,231
10003.byte	15,56,203,209
10004	pshufd	$14,%xmm0,%xmm0
10005	nop
10006	movdqa	%xmm1,(%esp)
10007.byte	15,56,203,202
10008	movdqa	-112(%ebp),%xmm0
10009	paddd	%xmm4,%xmm0
10010.byte	102,15,56,0,239
10011.byte	15,56,203,209
10012	pshufd	$14,%xmm0,%xmm0
10013	leal	64(%edi),%edi
10014.byte	15,56,204,220
10015.byte	15,56,203,202
10016	movdqa	-96(%ebp),%xmm0
10017	paddd	%xmm5,%xmm0
10018.byte	102,15,56,0,247
10019.byte	15,56,203,209
10020	pshufd	$14,%xmm0,%xmm0
10021	movdqa	%xmm6,%xmm7
10022.byte	102,15,58,15,253,4
10023	nop
10024	paddd	%xmm7,%xmm3
10025.byte	15,56,204,229
10026.byte	15,56,203,202
10027	movdqa	-80(%ebp),%xmm0
10028	paddd	%xmm6,%xmm0
10029.byte	15,56,205,222
10030.byte	15,56,203,209
10031	pshufd	$14,%xmm0,%xmm0
10032	movdqa	%xmm3,%xmm7
10033.byte	102,15,58,15,254,4
10034	nop
10035	paddd	%xmm7,%xmm4
10036.byte	15,56,204,238
10037.byte	15,56,203,202
10038	movdqa	-64(%ebp),%xmm0
10039	paddd	%xmm3,%xmm0
10040.byte	15,56,205,227
10041.byte	15,56,203,209
10042	pshufd	$14,%xmm0,%xmm0
10043	movdqa	%xmm4,%xmm7
10044.byte	102,15,58,15,251,4
10045	nop
10046	paddd	%xmm7,%xmm5
10047.byte	15,56,204,243
10048.byte	15,56,203,202
10049	movdqa	-48(%ebp),%xmm0
10050	paddd	%xmm4,%xmm0
10051.byte	15,56,205,236
10052.byte	15,56,203,209
10053	pshufd	$14,%xmm0,%xmm0
10054	movdqa	%xmm5,%xmm7
10055.byte	102,15,58,15,252,4
10056	nop
10057	paddd	%xmm7,%xmm6
10058.byte	15,56,204,220
10059.byte	15,56,203,202
10060	movdqa	-32(%ebp),%xmm0
10061	paddd	%xmm5,%xmm0
10062.byte	15,56,205,245
10063.byte	15,56,203,209
10064	pshufd	$14,%xmm0,%xmm0
10065	movdqa	%xmm6,%xmm7
10066.byte	102,15,58,15,253,4
10067	nop
10068	paddd	%xmm7,%xmm3
10069.byte	15,56,204,229
10070.byte	15,56,203,202
10071	movdqa	-16(%ebp),%xmm0
10072	paddd	%xmm6,%xmm0
10073.byte	15,56,205,222
10074.byte	15,56,203,209
10075	pshufd	$14,%xmm0,%xmm0
10076	movdqa	%xmm3,%xmm7
10077.byte	102,15,58,15,254,4
10078	nop
10079	paddd	%xmm7,%xmm4
10080.byte	15,56,204,238
10081.byte	15,56,203,202
10082	movdqa	(%ebp),%xmm0
10083	paddd	%xmm3,%xmm0
10084.byte	15,56,205,227
10085.byte	15,56,203,209
10086	pshufd	$14,%xmm0,%xmm0
10087	movdqa	%xmm4,%xmm7
10088.byte	102,15,58,15,251,4
10089	nop
10090	paddd	%xmm7,%xmm5
10091.byte	15,56,204,243
10092.byte	15,56,203,202
10093	movdqa	16(%ebp),%xmm0
10094	paddd	%xmm4,%xmm0
10095.byte	15,56,205,236
10096.byte	15,56,203,209
10097	pshufd	$14,%xmm0,%xmm0
10098	movdqa	%xmm5,%xmm7
10099.byte	102,15,58,15,252,4
10100	nop
10101	paddd	%xmm7,%xmm6
10102.byte	15,56,204,220
10103.byte	15,56,203,202
10104	movdqa	32(%ebp),%xmm0
10105	paddd	%xmm5,%xmm0
10106.byte	15,56,205,245
10107.byte	15,56,203,209
10108	pshufd	$14,%xmm0,%xmm0
10109	movdqa	%xmm6,%xmm7
10110.byte	102,15,58,15,253,4
10111	nop
10112	paddd	%xmm7,%xmm3
10113.byte	15,56,204,229
10114.byte	15,56,203,202
10115	movdqa	48(%ebp),%xmm0
10116	paddd	%xmm6,%xmm0
10117.byte	15,56,205,222
10118.byte	15,56,203,209
10119	pshufd	$14,%xmm0,%xmm0
10120	movdqa	%xmm3,%xmm7
10121.byte	102,15,58,15,254,4
10122	nop
10123	paddd	%xmm7,%xmm4
10124.byte	15,56,204,238
10125.byte	15,56,203,202
10126	movdqa	64(%ebp),%xmm0
10127	paddd	%xmm3,%xmm0
10128.byte	15,56,205,227
10129.byte	15,56,203,209
10130	pshufd	$14,%xmm0,%xmm0
10131	movdqa	%xmm4,%xmm7
10132.byte	102,15,58,15,251,4
10133	nop
10134	paddd	%xmm7,%xmm5
10135.byte	15,56,204,243
10136.byte	15,56,203,202
10137	movdqa	80(%ebp),%xmm0
10138	paddd	%xmm4,%xmm0
10139.byte	15,56,205,236
10140.byte	15,56,203,209
10141	pshufd	$14,%xmm0,%xmm0
10142	movdqa	%xmm5,%xmm7
10143.byte	102,15,58,15,252,4
10144.byte	15,56,203,202
10145	paddd	%xmm7,%xmm6
10146	movdqa	96(%ebp),%xmm0
10147	paddd	%xmm5,%xmm0
10148.byte	15,56,203,209
10149	pshufd	$14,%xmm0,%xmm0
10150.byte	15,56,205,245
10151	movdqa	128(%ebp),%xmm7
10152.byte	15,56,203,202
10153	movdqa	112(%ebp),%xmm0
10154	paddd	%xmm6,%xmm0
10155	nop
10156.byte	15,56,203,209
10157	pshufd	$14,%xmm0,%xmm0
10158	cmpl	%edi,%eax
10159	nop
10160.byte	15,56,203,202
10161	paddd	16(%esp),%xmm2
10162	paddd	(%esp),%xmm1
10163	jnz	.L011loop_shaext
10164	pshufd	$177,%xmm2,%xmm2
10165	pshufd	$27,%xmm1,%xmm7
10166	pshufd	$177,%xmm1,%xmm1
10167	punpckhqdq	%xmm2,%xmm1
10168.byte	102,15,58,15,215,8
10169	movl	44(%esp),%esp
10170	movdqu	%xmm1,(%esi)
10171	movdqu	%xmm2,16(%esi)
10172	popl	%edi
10173	popl	%esi
10174	popl	%ebx
10175	popl	%ebp
10176	ret
10177.align	32
10178.L006SSSE3:
10179	leal	-96(%esp),%esp
10180	movl	(%esi),%eax
10181	movl	4(%esi),%ebx
10182	movl	8(%esi),%ecx
10183	movl	12(%esi),%edi
10184	movl	%ebx,4(%esp)
10185	xorl	%ecx,%ebx
10186	movl	%ecx,8(%esp)
10187	movl	%edi,12(%esp)
10188	movl	16(%esi),%edx
10189	movl	20(%esi),%edi
10190	movl	24(%esi),%ecx
10191	movl	28(%esi),%esi
10192	movl	%edi,20(%esp)
10193	movl	100(%esp),%edi
10194	movl	%ecx,24(%esp)
10195	movl	%esi,28(%esp)
10196	movdqa	256(%ebp),%xmm7
10197	jmp	.L012grand_ssse3
10198.align	16
10199.L012grand_ssse3:
10200	movdqu	(%edi),%xmm0
10201	movdqu	16(%edi),%xmm1
10202	movdqu	32(%edi),%xmm2
10203	movdqu	48(%edi),%xmm3
10204	addl	$64,%edi
10205.byte	102,15,56,0,199
10206	movl	%edi,100(%esp)
10207.byte	102,15,56,0,207
10208	movdqa	(%ebp),%xmm4
10209.byte	102,15,56,0,215
10210	movdqa	16(%ebp),%xmm5
10211	paddd	%xmm0,%xmm4
10212.byte	102,15,56,0,223
10213	movdqa	32(%ebp),%xmm6
10214	paddd	%xmm1,%xmm5
10215	movdqa	48(%ebp),%xmm7
10216	movdqa	%xmm4,32(%esp)
10217	paddd	%xmm2,%xmm6
10218	movdqa	%xmm5,48(%esp)
10219	paddd	%xmm3,%xmm7
10220	movdqa	%xmm6,64(%esp)
10221	movdqa	%xmm7,80(%esp)
10222	jmp	.L013ssse3_00_47
10223.align	16
10224.L013ssse3_00_47:
10225	addl	$64,%ebp
10226	movl	%edx,%ecx
10227	movdqa	%xmm1,%xmm4
10228	rorl	$14,%edx
10229	movl	20(%esp),%esi
10230	movdqa	%xmm3,%xmm7
10231	xorl	%ecx,%edx
10232	movl	24(%esp),%edi
10233.byte	102,15,58,15,224,4
10234	xorl	%edi,%esi
10235	rorl	$5,%edx
10236	andl	%ecx,%esi
10237.byte	102,15,58,15,250,4
10238	movl	%ecx,16(%esp)
10239	xorl	%ecx,%edx
10240	xorl	%esi,%edi
10241	movdqa	%xmm4,%xmm5
10242	rorl	$6,%edx
10243	movl	%eax,%ecx
10244	movdqa	%xmm4,%xmm6
10245	addl	%edi,%edx
10246	movl	4(%esp),%edi
10247	psrld	$3,%xmm4
10248	movl	%eax,%esi
10249	rorl	$9,%ecx
10250	paddd	%xmm7,%xmm0
10251	movl	%eax,(%esp)
10252	xorl	%eax,%ecx
10253	psrld	$7,%xmm6
10254	xorl	%edi,%eax
10255	addl	28(%esp),%edx
10256	rorl	$11,%ecx
10257	andl	%eax,%ebx
10258	pshufd	$250,%xmm3,%xmm7
10259	xorl	%esi,%ecx
10260	addl	32(%esp),%edx
10261	pslld	$14,%xmm5
10262	xorl	%edi,%ebx
10263	rorl	$2,%ecx
10264	pxor	%xmm6,%xmm4
10265	addl	%edx,%ebx
10266	addl	12(%esp),%edx
10267	psrld	$11,%xmm6
10268	addl	%ecx,%ebx
10269	movl	%edx,%ecx
10270	rorl	$14,%edx
10271	pxor	%xmm5,%xmm4
10272	movl	16(%esp),%esi
10273	xorl	%ecx,%edx
10274	pslld	$11,%xmm5
10275	movl	20(%esp),%edi
10276	xorl	%edi,%esi
10277	rorl	$5,%edx
10278	pxor	%xmm6,%xmm4
10279	andl	%ecx,%esi
10280	movl	%ecx,12(%esp)
10281	movdqa	%xmm7,%xmm6
10282	xorl	%ecx,%edx
10283	xorl	%esi,%edi
10284	rorl	$6,%edx
10285	pxor	%xmm5,%xmm4
10286	movl	%ebx,%ecx
10287	addl	%edi,%edx
10288	psrld	$10,%xmm7
10289	movl	(%esp),%edi
10290	movl	%ebx,%esi
10291	rorl	$9,%ecx
10292	paddd	%xmm4,%xmm0
10293	movl	%ebx,28(%esp)
10294	xorl	%ebx,%ecx
10295	psrlq	$17,%xmm6
10296	xorl	%edi,%ebx
10297	addl	24(%esp),%edx
10298	rorl	$11,%ecx
10299	pxor	%xmm6,%xmm7
10300	andl	%ebx,%eax
10301	xorl	%esi,%ecx
10302	psrlq	$2,%xmm6
10303	addl	36(%esp),%edx
10304	xorl	%edi,%eax
10305	rorl	$2,%ecx
10306	pxor	%xmm6,%xmm7
10307	addl	%edx,%eax
10308	addl	8(%esp),%edx
10309	pshufd	$128,%xmm7,%xmm7
10310	addl	%ecx,%eax
10311	movl	%edx,%ecx
10312	rorl	$14,%edx
10313	movl	12(%esp),%esi
10314	xorl	%ecx,%edx
10315	movl	16(%esp),%edi
10316	xorl	%edi,%esi
10317	rorl	$5,%edx
10318	andl	%ecx,%esi
10319	psrldq	$8,%xmm7
10320	movl	%ecx,8(%esp)
10321	xorl	%ecx,%edx
10322	xorl	%esi,%edi
10323	paddd	%xmm7,%xmm0
10324	rorl	$6,%edx
10325	movl	%eax,%ecx
10326	addl	%edi,%edx
10327	movl	28(%esp),%edi
10328	movl	%eax,%esi
10329	rorl	$9,%ecx
10330	movl	%eax,24(%esp)
10331	pshufd	$80,%xmm0,%xmm7
10332	xorl	%eax,%ecx
10333	xorl	%edi,%eax
10334	addl	20(%esp),%edx
10335	movdqa	%xmm7,%xmm6
10336	rorl	$11,%ecx
10337	psrld	$10,%xmm7
10338	andl	%eax,%ebx
10339	psrlq	$17,%xmm6
10340	xorl	%esi,%ecx
10341	addl	40(%esp),%edx
10342	xorl	%edi,%ebx
10343	rorl	$2,%ecx
10344	pxor	%xmm6,%xmm7
10345	addl	%edx,%ebx
10346	addl	4(%esp),%edx
10347	psrlq	$2,%xmm6
10348	addl	%ecx,%ebx
10349	movl	%edx,%ecx
10350	rorl	$14,%edx
10351	pxor	%xmm6,%xmm7
10352	movl	8(%esp),%esi
10353	xorl	%ecx,%edx
10354	movl	12(%esp),%edi
10355	pshufd	$8,%xmm7,%xmm7
10356	xorl	%edi,%esi
10357	rorl	$5,%edx
10358	movdqa	(%ebp),%xmm6
10359	andl	%ecx,%esi
10360	movl	%ecx,4(%esp)
10361	pslldq	$8,%xmm7
10362	xorl	%ecx,%edx
10363	xorl	%esi,%edi
10364	rorl	$6,%edx
10365	movl	%ebx,%ecx
10366	addl	%edi,%edx
10367	movl	24(%esp),%edi
10368	movl	%ebx,%esi
10369	rorl	$9,%ecx
10370	paddd	%xmm7,%xmm0
10371	movl	%ebx,20(%esp)
10372	xorl	%ebx,%ecx
10373	xorl	%edi,%ebx
10374	addl	16(%esp),%edx
10375	paddd	%xmm0,%xmm6
10376	rorl	$11,%ecx
10377	andl	%ebx,%eax
10378	xorl	%esi,%ecx
10379	addl	44(%esp),%edx
10380	xorl	%edi,%eax
10381	rorl	$2,%ecx
10382	addl	%edx,%eax
10383	addl	(%esp),%edx
10384	addl	%ecx,%eax
10385	movdqa	%xmm6,32(%esp)
10386	movl	%edx,%ecx
10387	movdqa	%xmm2,%xmm4
10388	rorl	$14,%edx
10389	movl	4(%esp),%esi
10390	movdqa	%xmm0,%xmm7
10391	xorl	%ecx,%edx
10392	movl	8(%esp),%edi
10393.byte	102,15,58,15,225,4
10394	xorl	%edi,%esi
10395	rorl	$5,%edx
10396	andl	%ecx,%esi
10397.byte	102,15,58,15,251,4
10398	movl	%ecx,(%esp)
10399	xorl	%ecx,%edx
10400	xorl	%esi,%edi
10401	movdqa	%xmm4,%xmm5
10402	rorl	$6,%edx
10403	movl	%eax,%ecx
10404	movdqa	%xmm4,%xmm6
10405	addl	%edi,%edx
10406	movl	20(%esp),%edi
10407	psrld	$3,%xmm4
10408	movl	%eax,%esi
10409	rorl	$9,%ecx
10410	paddd	%xmm7,%xmm1
10411	movl	%eax,16(%esp)
10412	xorl	%eax,%ecx
10413	psrld	$7,%xmm6
10414	xorl	%edi,%eax
10415	addl	12(%esp),%edx
10416	rorl	$11,%ecx
10417	andl	%eax,%ebx
10418	pshufd	$250,%xmm0,%xmm7
10419	xorl	%esi,%ecx
10420	addl	48(%esp),%edx
10421	pslld	$14,%xmm5
10422	xorl	%edi,%ebx
10423	rorl	$2,%ecx
10424	pxor	%xmm6,%xmm4
10425	addl	%edx,%ebx
10426	addl	28(%esp),%edx
10427	psrld	$11,%xmm6
10428	addl	%ecx,%ebx
10429	movl	%edx,%ecx
10430	rorl	$14,%edx
10431	pxor	%xmm5,%xmm4
10432	movl	(%esp),%esi
10433	xorl	%ecx,%edx
10434	pslld	$11,%xmm5
10435	movl	4(%esp),%edi
10436	xorl	%edi,%esi
10437	rorl	$5,%edx
10438	pxor	%xmm6,%xmm4
10439	andl	%ecx,%esi
10440	movl	%ecx,28(%esp)
10441	movdqa	%xmm7,%xmm6
10442	xorl	%ecx,%edx
10443	xorl	%esi,%edi
10444	rorl	$6,%edx
10445	pxor	%xmm5,%xmm4
10446	movl	%ebx,%ecx
10447	addl	%edi,%edx
10448	psrld	$10,%xmm7
10449	movl	16(%esp),%edi
10450	movl	%ebx,%esi
10451	rorl	$9,%ecx
10452	paddd	%xmm4,%xmm1
10453	movl	%ebx,12(%esp)
10454	xorl	%ebx,%ecx
10455	psrlq	$17,%xmm6
10456	xorl	%edi,%ebx
10457	addl	8(%esp),%edx
10458	rorl	$11,%ecx
10459	pxor	%xmm6,%xmm7
10460	andl	%ebx,%eax
10461	xorl	%esi,%ecx
10462	psrlq	$2,%xmm6
10463	addl	52(%esp),%edx
10464	xorl	%edi,%eax
10465	rorl	$2,%ecx
10466	pxor	%xmm6,%xmm7
10467	addl	%edx,%eax
10468	addl	24(%esp),%edx
10469	pshufd	$128,%xmm7,%xmm7
10470	addl	%ecx,%eax
10471	movl	%edx,%ecx
10472	rorl	$14,%edx
10473	movl	28(%esp),%esi
10474	xorl	%ecx,%edx
10475	movl	(%esp),%edi
10476	xorl	%edi,%esi
10477	rorl	$5,%edx
10478	andl	%ecx,%esi
10479	psrldq	$8,%xmm7
10480	movl	%ecx,24(%esp)
10481	xorl	%ecx,%edx
10482	xorl	%esi,%edi
10483	paddd	%xmm7,%xmm1
10484	rorl	$6,%edx
10485	movl	%eax,%ecx
10486	addl	%edi,%edx
10487	movl	12(%esp),%edi
10488	movl	%eax,%esi
10489	rorl	$9,%ecx
10490	movl	%eax,8(%esp)
10491	pshufd	$80,%xmm1,%xmm7
10492	xorl	%eax,%ecx
10493	xorl	%edi,%eax
10494	addl	4(%esp),%edx
10495	movdqa	%xmm7,%xmm6
10496	rorl	$11,%ecx
10497	psrld	$10,%xmm7
10498	andl	%eax,%ebx
10499	psrlq	$17,%xmm6
10500	xorl	%esi,%ecx
10501	addl	56(%esp),%edx
10502	xorl	%edi,%ebx
10503	rorl	$2,%ecx
10504	pxor	%xmm6,%xmm7
10505	addl	%edx,%ebx
10506	addl	20(%esp),%edx
10507	psrlq	$2,%xmm6
10508	addl	%ecx,%ebx
10509	movl	%edx,%ecx
10510	rorl	$14,%edx
10511	pxor	%xmm6,%xmm7
10512	movl	24(%esp),%esi
10513	xorl	%ecx,%edx
10514	movl	28(%esp),%edi
10515	pshufd	$8,%xmm7,%xmm7
10516	xorl	%edi,%esi
10517	rorl	$5,%edx
10518	movdqa	16(%ebp),%xmm6
10519	andl	%ecx,%esi
10520	movl	%ecx,20(%esp)
10521	pslldq	$8,%xmm7
10522	xorl	%ecx,%edx
10523	xorl	%esi,%edi
10524	rorl	$6,%edx
10525	movl	%ebx,%ecx
10526	addl	%edi,%edx
10527	movl	8(%esp),%edi
10528	movl	%ebx,%esi
10529	rorl	$9,%ecx
10530	paddd	%xmm7,%xmm1
10531	movl	%ebx,4(%esp)
10532	xorl	%ebx,%ecx
10533	xorl	%edi,%ebx
10534	addl	(%esp),%edx
10535	paddd	%xmm1,%xmm6
10536	rorl	$11,%ecx
10537	andl	%ebx,%eax
10538	xorl	%esi,%ecx
10539	addl	60(%esp),%edx
10540	xorl	%edi,%eax
10541	rorl	$2,%ecx
10542	addl	%edx,%eax
10543	addl	16(%esp),%edx
10544	addl	%ecx,%eax
10545	movdqa	%xmm6,48(%esp)
10546	movl	%edx,%ecx
10547	movdqa	%xmm3,%xmm4
10548	rorl	$14,%edx
10549	movl	20(%esp),%esi
10550	movdqa	%xmm1,%xmm7
10551	xorl	%ecx,%edx
10552	movl	24(%esp),%edi
10553.byte	102,15,58,15,226,4
10554	xorl	%edi,%esi
10555	rorl	$5,%edx
10556	andl	%ecx,%esi
10557.byte	102,15,58,15,248,4
10558	movl	%ecx,16(%esp)
10559	xorl	%ecx,%edx
10560	xorl	%esi,%edi
10561	movdqa	%xmm4,%xmm5
10562	rorl	$6,%edx
10563	movl	%eax,%ecx
10564	movdqa	%xmm4,%xmm6
10565	addl	%edi,%edx
10566	movl	4(%esp),%edi
10567	psrld	$3,%xmm4
10568	movl	%eax,%esi
10569	rorl	$9,%ecx
10570	paddd	%xmm7,%xmm2
10571	movl	%eax,(%esp)
10572	xorl	%eax,%ecx
10573	psrld	$7,%xmm6
10574	xorl	%edi,%eax
10575	addl	28(%esp),%edx
10576	rorl	$11,%ecx
10577	andl	%eax,%ebx
10578	pshufd	$250,%xmm1,%xmm7
10579	xorl	%esi,%ecx
10580	addl	64(%esp),%edx
10581	pslld	$14,%xmm5
10582	xorl	%edi,%ebx
10583	rorl	$2,%ecx
10584	pxor	%xmm6,%xmm4
10585	addl	%edx,%ebx
10586	addl	12(%esp),%edx
10587	psrld	$11,%xmm6
10588	addl	%ecx,%ebx
10589	movl	%edx,%ecx
10590	rorl	$14,%edx
10591	pxor	%xmm5,%xmm4
10592	movl	16(%esp),%esi
10593	xorl	%ecx,%edx
10594	pslld	$11,%xmm5
10595	movl	20(%esp),%edi
10596	xorl	%edi,%esi
10597	rorl	$5,%edx
10598	pxor	%xmm6,%xmm4
10599	andl	%ecx,%esi
10600	movl	%ecx,12(%esp)
10601	movdqa	%xmm7,%xmm6
10602	xorl	%ecx,%edx
10603	xorl	%esi,%edi
10604	rorl	$6,%edx
10605	pxor	%xmm5,%xmm4
10606	movl	%ebx,%ecx
10607	addl	%edi,%edx
10608	psrld	$10,%xmm7
10609	movl	(%esp),%edi
10610	movl	%ebx,%esi
10611	rorl	$9,%ecx
10612	paddd	%xmm4,%xmm2
10613	movl	%ebx,28(%esp)
10614	xorl	%ebx,%ecx
10615	psrlq	$17,%xmm6
10616	xorl	%edi,%ebx
10617	addl	24(%esp),%edx
10618	rorl	$11,%ecx
10619	pxor	%xmm6,%xmm7
10620	andl	%ebx,%eax
10621	xorl	%esi,%ecx
10622	psrlq	$2,%xmm6
10623	addl	68(%esp),%edx
10624	xorl	%edi,%eax
10625	rorl	$2,%ecx
10626	pxor	%xmm6,%xmm7
10627	addl	%edx,%eax
10628	addl	8(%esp),%edx
10629	pshufd	$128,%xmm7,%xmm7
10630	addl	%ecx,%eax
10631	movl	%edx,%ecx
10632	rorl	$14,%edx
10633	movl	12(%esp),%esi
10634	xorl	%ecx,%edx
10635	movl	16(%esp),%edi
10636	xorl	%edi,%esi
10637	rorl	$5,%edx
10638	andl	%ecx,%esi
10639	psrldq	$8,%xmm7
10640	movl	%ecx,8(%esp)
10641	xorl	%ecx,%edx
10642	xorl	%esi,%edi
10643	paddd	%xmm7,%xmm2
10644	rorl	$6,%edx
10645	movl	%eax,%ecx
10646	addl	%edi,%edx
10647	movl	28(%esp),%edi
10648	movl	%eax,%esi
10649	rorl	$9,%ecx
10650	movl	%eax,24(%esp)
10651	pshufd	$80,%xmm2,%xmm7
10652	xorl	%eax,%ecx
10653	xorl	%edi,%eax
10654	addl	20(%esp),%edx
10655	movdqa	%xmm7,%xmm6
10656	rorl	$11,%ecx
10657	psrld	$10,%xmm7
10658	andl	%eax,%ebx
10659	psrlq	$17,%xmm6
10660	xorl	%esi,%ecx
10661	addl	72(%esp),%edx
10662	xorl	%edi,%ebx
10663	rorl	$2,%ecx
10664	pxor	%xmm6,%xmm7
10665	addl	%edx,%ebx
10666	addl	4(%esp),%edx
10667	psrlq	$2,%xmm6
10668	addl	%ecx,%ebx
10669	movl	%edx,%ecx
10670	rorl	$14,%edx
10671	pxor	%xmm6,%xmm7
10672	movl	8(%esp),%esi
10673	xorl	%ecx,%edx
10674	movl	12(%esp),%edi
10675	pshufd	$8,%xmm7,%xmm7
10676	xorl	%edi,%esi
10677	rorl	$5,%edx
10678	movdqa	32(%ebp),%xmm6
10679	andl	%ecx,%esi
10680	movl	%ecx,4(%esp)
10681	pslldq	$8,%xmm7
10682	xorl	%ecx,%edx
10683	xorl	%esi,%edi
10684	rorl	$6,%edx
10685	movl	%ebx,%ecx
10686	addl	%edi,%edx
10687	movl	24(%esp),%edi
10688	movl	%ebx,%esi
10689	rorl	$9,%ecx
10690	paddd	%xmm7,%xmm2
10691	movl	%ebx,20(%esp)
10692	xorl	%ebx,%ecx
10693	xorl	%edi,%ebx
10694	addl	16(%esp),%edx
10695	paddd	%xmm2,%xmm6
10696	rorl	$11,%ecx
10697	andl	%ebx,%eax
10698	xorl	%esi,%ecx
10699	addl	76(%esp),%edx
10700	xorl	%edi,%eax
10701	rorl	$2,%ecx
10702	addl	%edx,%eax
10703	addl	(%esp),%edx
10704	addl	%ecx,%eax
10705	movdqa	%xmm6,64(%esp)
10706	movl	%edx,%ecx
10707	movdqa	%xmm0,%xmm4
10708	rorl	$14,%edx
10709	movl	4(%esp),%esi
10710	movdqa	%xmm2,%xmm7
10711	xorl	%ecx,%edx
10712	movl	8(%esp),%edi
10713.byte	102,15,58,15,227,4
10714	xorl	%edi,%esi
10715	rorl	$5,%edx
10716	andl	%ecx,%esi
10717.byte	102,15,58,15,249,4
10718	movl	%ecx,(%esp)
10719	xorl	%ecx,%edx
10720	xorl	%esi,%edi
10721	movdqa	%xmm4,%xmm5
10722	rorl	$6,%edx
10723	movl	%eax,%ecx
10724	movdqa	%xmm4,%xmm6
10725	addl	%edi,%edx
10726	movl	20(%esp),%edi
10727	psrld	$3,%xmm4
10728	movl	%eax,%esi
10729	rorl	$9,%ecx
10730	paddd	%xmm7,%xmm3
10731	movl	%eax,16(%esp)
10732	xorl	%eax,%ecx
10733	psrld	$7,%xmm6
10734	xorl	%edi,%eax
10735	addl	12(%esp),%edx
10736	rorl	$11,%ecx
10737	andl	%eax,%ebx
10738	pshufd	$250,%xmm2,%xmm7
10739	xorl	%esi,%ecx
10740	addl	80(%esp),%edx
10741	pslld	$14,%xmm5
10742	xorl	%edi,%ebx
10743	rorl	$2,%ecx
10744	pxor	%xmm6,%xmm4
10745	addl	%edx,%ebx
10746	addl	28(%esp),%edx
10747	psrld	$11,%xmm6
10748	addl	%ecx,%ebx
10749	movl	%edx,%ecx
10750	rorl	$14,%edx
10751	pxor	%xmm5,%xmm4
10752	movl	(%esp),%esi
10753	xorl	%ecx,%edx
10754	pslld	$11,%xmm5
10755	movl	4(%esp),%edi
10756	xorl	%edi,%esi
10757	rorl	$5,%edx
10758	pxor	%xmm6,%xmm4
10759	andl	%ecx,%esi
10760	movl	%ecx,28(%esp)
10761	movdqa	%xmm7,%xmm6
10762	xorl	%ecx,%edx
10763	xorl	%esi,%edi
10764	rorl	$6,%edx
10765	pxor	%xmm5,%xmm4
10766	movl	%ebx,%ecx
10767	addl	%edi,%edx
10768	psrld	$10,%xmm7
10769	movl	16(%esp),%edi
10770	movl	%ebx,%esi
10771	rorl	$9,%ecx
10772	paddd	%xmm4,%xmm3
10773	movl	%ebx,12(%esp)
10774	xorl	%ebx,%ecx
10775	psrlq	$17,%xmm6
10776	xorl	%edi,%ebx
10777	addl	8(%esp),%edx
10778	rorl	$11,%ecx
10779	pxor	%xmm6,%xmm7
10780	andl	%ebx,%eax
10781	xorl	%esi,%ecx
10782	psrlq	$2,%xmm6
10783	addl	84(%esp),%edx
10784	xorl	%edi,%eax
10785	rorl	$2,%ecx
10786	pxor	%xmm6,%xmm7
10787	addl	%edx,%eax
10788	addl	24(%esp),%edx
10789	pshufd	$128,%xmm7,%xmm7
10790	addl	%ecx,%eax
10791	movl	%edx,%ecx
10792	rorl	$14,%edx
10793	movl	28(%esp),%esi
10794	xorl	%ecx,%edx
10795	movl	(%esp),%edi
10796	xorl	%edi,%esi
10797	rorl	$5,%edx
10798	andl	%ecx,%esi
10799	psrldq	$8,%xmm7
10800	movl	%ecx,24(%esp)
10801	xorl	%ecx,%edx
10802	xorl	%esi,%edi
10803	paddd	%xmm7,%xmm3
10804	rorl	$6,%edx
10805	movl	%eax,%ecx
10806	addl	%edi,%edx
10807	movl	12(%esp),%edi
10808	movl	%eax,%esi
10809	rorl	$9,%ecx
10810	movl	%eax,8(%esp)
10811	pshufd	$80,%xmm3,%xmm7
10812	xorl	%eax,%ecx
10813	xorl	%edi,%eax
10814	addl	4(%esp),%edx
10815	movdqa	%xmm7,%xmm6
10816	rorl	$11,%ecx
10817	psrld	$10,%xmm7
10818	andl	%eax,%ebx
10819	psrlq	$17,%xmm6
10820	xorl	%esi,%ecx
10821	addl	88(%esp),%edx
10822	xorl	%edi,%ebx
10823	rorl	$2,%ecx
10824	pxor	%xmm6,%xmm7
10825	addl	%edx,%ebx
10826	addl	20(%esp),%edx
10827	psrlq	$2,%xmm6
10828	addl	%ecx,%ebx
10829	movl	%edx,%ecx
10830	rorl	$14,%edx
10831	pxor	%xmm6,%xmm7
10832	movl	24(%esp),%esi
10833	xorl	%ecx,%edx
10834	movl	28(%esp),%edi
10835	pshufd	$8,%xmm7,%xmm7
10836	xorl	%edi,%esi
10837	rorl	$5,%edx
10838	movdqa	48(%ebp),%xmm6
10839	andl	%ecx,%esi
10840	movl	%ecx,20(%esp)
10841	pslldq	$8,%xmm7
10842	xorl	%ecx,%edx
10843	xorl	%esi,%edi
10844	rorl	$6,%edx
10845	movl	%ebx,%ecx
10846	addl	%edi,%edx
10847	movl	8(%esp),%edi
10848	movl	%ebx,%esi
10849	rorl	$9,%ecx
10850	paddd	%xmm7,%xmm3
10851	movl	%ebx,4(%esp)
10852	xorl	%ebx,%ecx
10853	xorl	%edi,%ebx
10854	addl	(%esp),%edx
10855	paddd	%xmm3,%xmm6
10856	rorl	$11,%ecx
10857	andl	%ebx,%eax
10858	xorl	%esi,%ecx
10859	addl	92(%esp),%edx
10860	xorl	%edi,%eax
10861	rorl	$2,%ecx
10862	addl	%edx,%eax
10863	addl	16(%esp),%edx
10864	addl	%ecx,%eax
10865	movdqa	%xmm6,80(%esp)
10866	cmpl	$66051,64(%ebp)
10867	jne	.L013ssse3_00_47
10868	movl	%edx,%ecx
10869	rorl	$14,%edx
10870	movl	20(%esp),%esi
10871	xorl	%ecx,%edx
10872	movl	24(%esp),%edi
10873	xorl	%edi,%esi
10874	rorl	$5,%edx
10875	andl	%ecx,%esi
10876	movl	%ecx,16(%esp)
10877	xorl	%ecx,%edx
10878	xorl	%esi,%edi
10879	rorl	$6,%edx
10880	movl	%eax,%ecx
10881	addl	%edi,%edx
10882	movl	4(%esp),%edi
10883	movl	%eax,%esi
10884	rorl	$9,%ecx
10885	movl	%eax,(%esp)
10886	xorl	%eax,%ecx
10887	xorl	%edi,%eax
10888	addl	28(%esp),%edx
10889	rorl	$11,%ecx
10890	andl	%eax,%ebx
10891	xorl	%esi,%ecx
10892	addl	32(%esp),%edx
10893	xorl	%edi,%ebx
10894	rorl	$2,%ecx
10895	addl	%edx,%ebx
10896	addl	12(%esp),%edx
10897	addl	%ecx,%ebx
10898	movl	%edx,%ecx
10899	rorl	$14,%edx
10900	movl	16(%esp),%esi
10901	xorl	%ecx,%edx
10902	movl	20(%esp),%edi
10903	xorl	%edi,%esi
10904	rorl	$5,%edx
10905	andl	%ecx,%esi
10906	movl	%ecx,12(%esp)
10907	xorl	%ecx,%edx
10908	xorl	%esi,%edi
10909	rorl	$6,%edx
10910	movl	%ebx,%ecx
10911	addl	%edi,%edx
10912	movl	(%esp),%edi
10913	movl	%ebx,%esi
10914	rorl	$9,%ecx
10915	movl	%ebx,28(%esp)
10916	xorl	%ebx,%ecx
10917	xorl	%edi,%ebx
10918	addl	24(%esp),%edx
10919	rorl	$11,%ecx
10920	andl	%ebx,%eax
10921	xorl	%esi,%ecx
10922	addl	36(%esp),%edx
10923	xorl	%edi,%eax
10924	rorl	$2,%ecx
10925	addl	%edx,%eax
10926	addl	8(%esp),%edx
10927	addl	%ecx,%eax
10928	movl	%edx,%ecx
10929	rorl	$14,%edx
10930	movl	12(%esp),%esi
10931	xorl	%ecx,%edx
10932	movl	16(%esp),%edi
10933	xorl	%edi,%esi
10934	rorl	$5,%edx
10935	andl	%ecx,%esi
10936	movl	%ecx,8(%esp)
10937	xorl	%ecx,%edx
10938	xorl	%esi,%edi
10939	rorl	$6,%edx
10940	movl	%eax,%ecx
10941	addl	%edi,%edx
10942	movl	28(%esp),%edi
10943	movl	%eax,%esi
10944	rorl	$9,%ecx
10945	movl	%eax,24(%esp)
10946	xorl	%eax,%ecx
10947	xorl	%edi,%eax
10948	addl	20(%esp),%edx
10949	rorl	$11,%ecx
10950	andl	%eax,%ebx
10951	xorl	%esi,%ecx
10952	addl	40(%esp),%edx
10953	xorl	%edi,%ebx
10954	rorl	$2,%ecx
10955	addl	%edx,%ebx
10956	addl	4(%esp),%edx
10957	addl	%ecx,%ebx
10958	movl	%edx,%ecx
10959	rorl	$14,%edx
10960	movl	8(%esp),%esi
10961	xorl	%ecx,%edx
10962	movl	12(%esp),%edi
10963	xorl	%edi,%esi
10964	rorl	$5,%edx
10965	andl	%ecx,%esi
10966	movl	%ecx,4(%esp)
10967	xorl	%ecx,%edx
10968	xorl	%esi,%edi
10969	rorl	$6,%edx
10970	movl	%ebx,%ecx
10971	addl	%edi,%edx
10972	movl	24(%esp),%edi
10973	movl	%ebx,%esi
10974	rorl	$9,%ecx
10975	movl	%ebx,20(%esp)
10976	xorl	%ebx,%ecx
10977	xorl	%edi,%ebx
10978	addl	16(%esp),%edx
10979	rorl	$11,%ecx
10980	andl	%ebx,%eax
10981	xorl	%esi,%ecx
10982	addl	44(%esp),%edx
10983	xorl	%edi,%eax
10984	rorl	$2,%ecx
10985	addl	%edx,%eax
10986	addl	(%esp),%edx
10987	addl	%ecx,%eax
10988	movl	%edx,%ecx
10989	rorl	$14,%edx
10990	movl	4(%esp),%esi
10991	xorl	%ecx,%edx
10992	movl	8(%esp),%edi
10993	xorl	%edi,%esi
10994	rorl	$5,%edx
10995	andl	%ecx,%esi
10996	movl	%ecx,(%esp)
10997	xorl	%ecx,%edx
10998	xorl	%esi,%edi
10999	rorl	$6,%edx
11000	movl	%eax,%ecx
11001	addl	%edi,%edx
11002	movl	20(%esp),%edi
11003	movl	%eax,%esi
11004	rorl	$9,%ecx
11005	movl	%eax,16(%esp)
11006	xorl	%eax,%ecx
11007	xorl	%edi,%eax
11008	addl	12(%esp),%edx
11009	rorl	$11,%ecx
11010	andl	%eax,%ebx
11011	xorl	%esi,%ecx
11012	addl	48(%esp),%edx
11013	xorl	%edi,%ebx
11014	rorl	$2,%ecx
11015	addl	%edx,%ebx
11016	addl	28(%esp),%edx
11017	addl	%ecx,%ebx
11018	movl	%edx,%ecx
11019	rorl	$14,%edx
11020	movl	(%esp),%esi
11021	xorl	%ecx,%edx
11022	movl	4(%esp),%edi
11023	xorl	%edi,%esi
11024	rorl	$5,%edx
11025	andl	%ecx,%esi
11026	movl	%ecx,28(%esp)
11027	xorl	%ecx,%edx
11028	xorl	%esi,%edi
11029	rorl	$6,%edx
11030	movl	%ebx,%ecx
11031	addl	%edi,%edx
11032	movl	16(%esp),%edi
11033	movl	%ebx,%esi
11034	rorl	$9,%ecx
11035	movl	%ebx,12(%esp)
11036	xorl	%ebx,%ecx
11037	xorl	%edi,%ebx
11038	addl	8(%esp),%edx
11039	rorl	$11,%ecx
11040	andl	%ebx,%eax
11041	xorl	%esi,%ecx
11042	addl	52(%esp),%edx
11043	xorl	%edi,%eax
11044	rorl	$2,%ecx
11045	addl	%edx,%eax
11046	addl	24(%esp),%edx
11047	addl	%ecx,%eax
11048	movl	%edx,%ecx
11049	rorl	$14,%edx
11050	movl	28(%esp),%esi
11051	xorl	%ecx,%edx
11052	movl	(%esp),%edi
11053	xorl	%edi,%esi
11054	rorl	$5,%edx
11055	andl	%ecx,%esi
11056	movl	%ecx,24(%esp)
11057	xorl	%ecx,%edx
11058	xorl	%esi,%edi
11059	rorl	$6,%edx
11060	movl	%eax,%ecx
11061	addl	%edi,%edx
11062	movl	12(%esp),%edi
11063	movl	%eax,%esi
11064	rorl	$9,%ecx
11065	movl	%eax,8(%esp)
11066	xorl	%eax,%ecx
11067	xorl	%edi,%eax
11068	addl	4(%esp),%edx
11069	rorl	$11,%ecx
11070	andl	%eax,%ebx
11071	xorl	%esi,%ecx
11072	addl	56(%esp),%edx
11073	xorl	%edi,%ebx
11074	rorl	$2,%ecx
11075	addl	%edx,%ebx
11076	addl	20(%esp),%edx
11077	addl	%ecx,%ebx
11078	movl	%edx,%ecx
11079	rorl	$14,%edx
11080	movl	24(%esp),%esi
11081	xorl	%ecx,%edx
11082	movl	28(%esp),%edi
11083	xorl	%edi,%esi
11084	rorl	$5,%edx
11085	andl	%ecx,%esi
11086	movl	%ecx,20(%esp)
11087	xorl	%ecx,%edx
11088	xorl	%esi,%edi
11089	rorl	$6,%edx
11090	movl	%ebx,%ecx
11091	addl	%edi,%edx
11092	movl	8(%esp),%edi
11093	movl	%ebx,%esi
11094	rorl	$9,%ecx
11095	movl	%ebx,4(%esp)
11096	xorl	%ebx,%ecx
11097	xorl	%edi,%ebx
11098	addl	(%esp),%edx
11099	rorl	$11,%ecx
11100	andl	%ebx,%eax
11101	xorl	%esi,%ecx
11102	addl	60(%esp),%edx
11103	xorl	%edi,%eax
11104	rorl	$2,%ecx
11105	addl	%edx,%eax
11106	addl	16(%esp),%edx
11107	addl	%ecx,%eax
11108	movl	%edx,%ecx
11109	rorl	$14,%edx
11110	movl	20(%esp),%esi
11111	xorl	%ecx,%edx
11112	movl	24(%esp),%edi
11113	xorl	%edi,%esi
11114	rorl	$5,%edx
11115	andl	%ecx,%esi
11116	movl	%ecx,16(%esp)
11117	xorl	%ecx,%edx
11118	xorl	%esi,%edi
11119	rorl	$6,%edx
11120	movl	%eax,%ecx
11121	addl	%edi,%edx
11122	movl	4(%esp),%edi
11123	movl	%eax,%esi
11124	rorl	$9,%ecx
11125	movl	%eax,(%esp)
11126	xorl	%eax,%ecx
11127	xorl	%edi,%eax
11128	addl	28(%esp),%edx
11129	rorl	$11,%ecx
11130	andl	%eax,%ebx
11131	xorl	%esi,%ecx
11132	addl	64(%esp),%edx
11133	xorl	%edi,%ebx
11134	rorl	$2,%ecx
11135	addl	%edx,%ebx
11136	addl	12(%esp),%edx
11137	addl	%ecx,%ebx
11138	movl	%edx,%ecx
11139	rorl	$14,%edx
11140	movl	16(%esp),%esi
11141	xorl	%ecx,%edx
11142	movl	20(%esp),%edi
11143	xorl	%edi,%esi
11144	rorl	$5,%edx
11145	andl	%ecx,%esi
11146	movl	%ecx,12(%esp)
11147	xorl	%ecx,%edx
11148	xorl	%esi,%edi
11149	rorl	$6,%edx
11150	movl	%ebx,%ecx
11151	addl	%edi,%edx
11152	movl	(%esp),%edi
11153	movl	%ebx,%esi
11154	rorl	$9,%ecx
11155	movl	%ebx,28(%esp)
11156	xorl	%ebx,%ecx
11157	xorl	%edi,%ebx
11158	addl	24(%esp),%edx
11159	rorl	$11,%ecx
11160	andl	%ebx,%eax
11161	xorl	%esi,%ecx
11162	addl	68(%esp),%edx
11163	xorl	%edi,%eax
11164	rorl	$2,%ecx
11165	addl	%edx,%eax
11166	addl	8(%esp),%edx
11167	addl	%ecx,%eax
11168	movl	%edx,%ecx
11169	rorl	$14,%edx
11170	movl	12(%esp),%esi
11171	xorl	%ecx,%edx
11172	movl	16(%esp),%edi
11173	xorl	%edi,%esi
11174	rorl	$5,%edx
11175	andl	%ecx,%esi
11176	movl	%ecx,8(%esp)
11177	xorl	%ecx,%edx
11178	xorl	%esi,%edi
11179	rorl	$6,%edx
11180	movl	%eax,%ecx
11181	addl	%edi,%edx
11182	movl	28(%esp),%edi
11183	movl	%eax,%esi
11184	rorl	$9,%ecx
11185	movl	%eax,24(%esp)
11186	xorl	%eax,%ecx
11187	xorl	%edi,%eax
11188	addl	20(%esp),%edx
11189	rorl	$11,%ecx
11190	andl	%eax,%ebx
11191	xorl	%esi,%ecx
11192	addl	72(%esp),%edx
11193	xorl	%edi,%ebx
11194	rorl	$2,%ecx
11195	addl	%edx,%ebx
11196	addl	4(%esp),%edx
11197	addl	%ecx,%ebx
11198	movl	%edx,%ecx
11199	rorl	$14,%edx
11200	movl	8(%esp),%esi
11201	xorl	%ecx,%edx
11202	movl	12(%esp),%edi
11203	xorl	%edi,%esi
11204	rorl	$5,%edx
11205	andl	%ecx,%esi
11206	movl	%ecx,4(%esp)
11207	xorl	%ecx,%edx
11208	xorl	%esi,%edi
11209	rorl	$6,%edx
11210	movl	%ebx,%ecx
11211	addl	%edi,%edx
11212	movl	24(%esp),%edi
11213	movl	%ebx,%esi
11214	rorl	$9,%ecx
11215	movl	%ebx,20(%esp)
11216	xorl	%ebx,%ecx
11217	xorl	%edi,%ebx
11218	addl	16(%esp),%edx
11219	rorl	$11,%ecx
11220	andl	%ebx,%eax
11221	xorl	%esi,%ecx
11222	addl	76(%esp),%edx
11223	xorl	%edi,%eax
11224	rorl	$2,%ecx
11225	addl	%edx,%eax
11226	addl	(%esp),%edx
11227	addl	%ecx,%eax
11228	movl	%edx,%ecx
11229	rorl	$14,%edx
11230	movl	4(%esp),%esi
11231	xorl	%ecx,%edx
11232	movl	8(%esp),%edi
11233	xorl	%edi,%esi
11234	rorl	$5,%edx
11235	andl	%ecx,%esi
11236	movl	%ecx,(%esp)
11237	xorl	%ecx,%edx
11238	xorl	%esi,%edi
11239	rorl	$6,%edx
11240	movl	%eax,%ecx
11241	addl	%edi,%edx
11242	movl	20(%esp),%edi
11243	movl	%eax,%esi
11244	rorl	$9,%ecx
11245	movl	%eax,16(%esp)
11246	xorl	%eax,%ecx
11247	xorl	%edi,%eax
11248	addl	12(%esp),%edx
11249	rorl	$11,%ecx
11250	andl	%eax,%ebx
11251	xorl	%esi,%ecx
11252	addl	80(%esp),%edx
11253	xorl	%edi,%ebx
11254	rorl	$2,%ecx
11255	addl	%edx,%ebx
11256	addl	28(%esp),%edx
11257	addl	%ecx,%ebx
11258	movl	%edx,%ecx
11259	rorl	$14,%edx
11260	movl	(%esp),%esi
11261	xorl	%ecx,%edx
11262	movl	4(%esp),%edi
11263	xorl	%edi,%esi
11264	rorl	$5,%edx
11265	andl	%ecx,%esi
11266	movl	%ecx,28(%esp)
11267	xorl	%ecx,%edx
11268	xorl	%esi,%edi
11269	rorl	$6,%edx
11270	movl	%ebx,%ecx
11271	addl	%edi,%edx
11272	movl	16(%esp),%edi
11273	movl	%ebx,%esi
11274	rorl	$9,%ecx
11275	movl	%ebx,12(%esp)
11276	xorl	%ebx,%ecx
11277	xorl	%edi,%ebx
11278	addl	8(%esp),%edx
11279	rorl	$11,%ecx
11280	andl	%ebx,%eax
11281	xorl	%esi,%ecx
11282	addl	84(%esp),%edx
11283	xorl	%edi,%eax
11284	rorl	$2,%ecx
11285	addl	%edx,%eax
11286	addl	24(%esp),%edx
11287	addl	%ecx,%eax
11288	movl	%edx,%ecx
11289	rorl	$14,%edx
11290	movl	28(%esp),%esi
11291	xorl	%ecx,%edx
11292	movl	(%esp),%edi
11293	xorl	%edi,%esi
11294	rorl	$5,%edx
11295	andl	%ecx,%esi
11296	movl	%ecx,24(%esp)
11297	xorl	%ecx,%edx
11298	xorl	%esi,%edi
11299	rorl	$6,%edx
11300	movl	%eax,%ecx
11301	addl	%edi,%edx
11302	movl	12(%esp),%edi
11303	movl	%eax,%esi
11304	rorl	$9,%ecx
11305	movl	%eax,8(%esp)
11306	xorl	%eax,%ecx
11307	xorl	%edi,%eax
11308	addl	4(%esp),%edx
11309	rorl	$11,%ecx
11310	andl	%eax,%ebx
11311	xorl	%esi,%ecx
11312	addl	88(%esp),%edx
11313	xorl	%edi,%ebx
11314	rorl	$2,%ecx
11315	addl	%edx,%ebx
11316	addl	20(%esp),%edx
11317	addl	%ecx,%ebx
11318	movl	%edx,%ecx
11319	rorl	$14,%edx
11320	movl	24(%esp),%esi
11321	xorl	%ecx,%edx
11322	movl	28(%esp),%edi
11323	xorl	%edi,%esi
11324	rorl	$5,%edx
11325	andl	%ecx,%esi
11326	movl	%ecx,20(%esp)
11327	xorl	%ecx,%edx
11328	xorl	%esi,%edi
11329	rorl	$6,%edx
11330	movl	%ebx,%ecx
11331	addl	%edi,%edx
11332	movl	8(%esp),%edi
11333	movl	%ebx,%esi
11334	rorl	$9,%ecx
11335	movl	%ebx,4(%esp)
11336	xorl	%ebx,%ecx
11337	xorl	%edi,%ebx
11338	addl	(%esp),%edx
11339	rorl	$11,%ecx
11340	andl	%ebx,%eax
11341	xorl	%esi,%ecx
11342	addl	92(%esp),%edx
11343	xorl	%edi,%eax
11344	rorl	$2,%ecx
11345	addl	%edx,%eax
11346	addl	16(%esp),%edx
11347	addl	%ecx,%eax
11348	movl	96(%esp),%esi
11349	xorl	%edi,%ebx
11350	movl	12(%esp),%ecx
11351	addl	(%esi),%eax
11352	addl	4(%esi),%ebx
11353	addl	8(%esi),%edi
11354	addl	12(%esi),%ecx
11355	movl	%eax,(%esi)
11356	movl	%ebx,4(%esi)
11357	movl	%edi,8(%esi)
11358	movl	%ecx,12(%esi)
11359	movl	%ebx,4(%esp)
11360	xorl	%edi,%ebx
11361	movl	%edi,8(%esp)
11362	movl	%ecx,12(%esp)
11363	movl	20(%esp),%edi
11364	movl	24(%esp),%ecx
11365	addl	16(%esi),%edx
11366	addl	20(%esi),%edi
11367	addl	24(%esi),%ecx
11368	movl	%edx,16(%esi)
11369	movl	%edi,20(%esi)
11370	movl	%edi,20(%esp)
11371	movl	28(%esp),%edi
11372	movl	%ecx,24(%esi)
11373	addl	28(%esi),%edi
11374	movl	%ecx,24(%esp)
11375	movl	%edi,28(%esi)
11376	movl	%edi,28(%esp)
11377	movl	100(%esp),%edi
11378	movdqa	64(%ebp),%xmm7
11379	subl	$192,%ebp
11380	cmpl	104(%esp),%edi
11381	jb	.L012grand_ssse3
11382	movl	108(%esp),%esp
11383	popl	%edi
11384	popl	%esi
11385	popl	%ebx
11386	popl	%ebp
11387	ret
11388.align	32
11389.L005AVX:
11390	andl	$264,%edx
11391	cmpl	$264,%edx
11392	je	.L014AVX_BMI
11393	leal	-96(%esp),%esp
11394	vzeroall
11395	movl	(%esi),%eax
11396	movl	4(%esi),%ebx
11397	movl	8(%esi),%ecx
11398	movl	12(%esi),%edi
11399	movl	%ebx,4(%esp)
11400	xorl	%ecx,%ebx
11401	movl	%ecx,8(%esp)
11402	movl	%edi,12(%esp)
11403	movl	16(%esi),%edx
11404	movl	20(%esi),%edi
11405	movl	24(%esi),%ecx
11406	movl	28(%esi),%esi
11407	movl	%edi,20(%esp)
11408	movl	100(%esp),%edi
11409	movl	%ecx,24(%esp)
11410	movl	%esi,28(%esp)
11411	vmovdqa	256(%ebp),%xmm7
11412	jmp	.L015grand_avx
11413.align	32
11414.L015grand_avx:
11415	vmovdqu	(%edi),%xmm0
11416	vmovdqu	16(%edi),%xmm1
11417	vmovdqu	32(%edi),%xmm2
11418	vmovdqu	48(%edi),%xmm3
11419	addl	$64,%edi
11420	vpshufb	%xmm7,%xmm0,%xmm0
11421	movl	%edi,100(%esp)
11422	vpshufb	%xmm7,%xmm1,%xmm1
11423	vpshufb	%xmm7,%xmm2,%xmm2
11424	vpaddd	(%ebp),%xmm0,%xmm4
11425	vpshufb	%xmm7,%xmm3,%xmm3
11426	vpaddd	16(%ebp),%xmm1,%xmm5
11427	vpaddd	32(%ebp),%xmm2,%xmm6
11428	vpaddd	48(%ebp),%xmm3,%xmm7
11429	vmovdqa	%xmm4,32(%esp)
11430	vmovdqa	%xmm5,48(%esp)
11431	vmovdqa	%xmm6,64(%esp)
11432	vmovdqa	%xmm7,80(%esp)
11433	jmp	.L016avx_00_47
11434.align	16
11435.L016avx_00_47:
11436	addl	$64,%ebp
11437	vpalignr	$4,%xmm0,%xmm1,%xmm4
11438	movl	%edx,%ecx
11439	shrdl	$14,%edx,%edx
11440	movl	20(%esp),%esi
11441	vpalignr	$4,%xmm2,%xmm3,%xmm7
11442	xorl	%ecx,%edx
11443	movl	24(%esp),%edi
11444	xorl	%edi,%esi
11445	vpsrld	$7,%xmm4,%xmm6
11446	shrdl	$5,%edx,%edx
11447	andl	%ecx,%esi
11448	movl	%ecx,16(%esp)
11449	vpaddd	%xmm7,%xmm0,%xmm0
11450	xorl	%ecx,%edx
11451	xorl	%esi,%edi
11452	shrdl	$6,%edx,%edx
11453	vpsrld	$3,%xmm4,%xmm7
11454	movl	%eax,%ecx
11455	addl	%edi,%edx
11456	movl	4(%esp),%edi
11457	vpslld	$14,%xmm4,%xmm5
11458	movl	%eax,%esi
11459	shrdl	$9,%ecx,%ecx
11460	movl	%eax,(%esp)
11461	vpxor	%xmm6,%xmm7,%xmm4
11462	xorl	%eax,%ecx
11463	xorl	%edi,%eax
11464	addl	28(%esp),%edx
11465	vpshufd	$250,%xmm3,%xmm7
11466	shrdl	$11,%ecx,%ecx
11467	andl	%eax,%ebx
11468	xorl	%esi,%ecx
11469	vpsrld	$11,%xmm6,%xmm6
11470	addl	32(%esp),%edx
11471	xorl	%edi,%ebx
11472	shrdl	$2,%ecx,%ecx
11473	vpxor	%xmm5,%xmm4,%xmm4
11474	addl	%edx,%ebx
11475	addl	12(%esp),%edx
11476	addl	%ecx,%ebx
11477	vpslld	$11,%xmm5,%xmm5
11478	movl	%edx,%ecx
11479	shrdl	$14,%edx,%edx
11480	movl	16(%esp),%esi
11481	vpxor	%xmm6,%xmm4,%xmm4
11482	xorl	%ecx,%edx
11483	movl	20(%esp),%edi
11484	xorl	%edi,%esi
11485	vpsrld	$10,%xmm7,%xmm6
11486	shrdl	$5,%edx,%edx
11487	andl	%ecx,%esi
11488	movl	%ecx,12(%esp)
11489	vpxor	%xmm5,%xmm4,%xmm4
11490	xorl	%ecx,%edx
11491	xorl	%esi,%edi
11492	shrdl	$6,%edx,%edx
11493	vpsrlq	$17,%xmm7,%xmm5
11494	movl	%ebx,%ecx
11495	addl	%edi,%edx
11496	movl	(%esp),%edi
11497	vpaddd	%xmm4,%xmm0,%xmm0
11498	movl	%ebx,%esi
11499	shrdl	$9,%ecx,%ecx
11500	movl	%ebx,28(%esp)
11501	vpxor	%xmm5,%xmm6,%xmm6
11502	xorl	%ebx,%ecx
11503	xorl	%edi,%ebx
11504	addl	24(%esp),%edx
11505	vpsrlq	$19,%xmm7,%xmm7
11506	shrdl	$11,%ecx,%ecx
11507	andl	%ebx,%eax
11508	xorl	%esi,%ecx
11509	vpxor	%xmm7,%xmm6,%xmm6
11510	addl	36(%esp),%edx
11511	xorl	%edi,%eax
11512	shrdl	$2,%ecx,%ecx
11513	vpshufd	$132,%xmm6,%xmm7
11514	addl	%edx,%eax
11515	addl	8(%esp),%edx
11516	addl	%ecx,%eax
11517	vpsrldq	$8,%xmm7,%xmm7
11518	movl	%edx,%ecx
11519	shrdl	$14,%edx,%edx
11520	movl	12(%esp),%esi
11521	vpaddd	%xmm7,%xmm0,%xmm0
11522	xorl	%ecx,%edx
11523	movl	16(%esp),%edi
11524	xorl	%edi,%esi
11525	vpshufd	$80,%xmm0,%xmm7
11526	shrdl	$5,%edx,%edx
11527	andl	%ecx,%esi
11528	movl	%ecx,8(%esp)
11529	vpsrld	$10,%xmm7,%xmm6
11530	xorl	%ecx,%edx
11531	xorl	%esi,%edi
11532	shrdl	$6,%edx,%edx
11533	vpsrlq	$17,%xmm7,%xmm5
11534	movl	%eax,%ecx
11535	addl	%edi,%edx
11536	movl	28(%esp),%edi
11537	vpxor	%xmm5,%xmm6,%xmm6
11538	movl	%eax,%esi
11539	shrdl	$9,%ecx,%ecx
11540	movl	%eax,24(%esp)
11541	vpsrlq	$19,%xmm7,%xmm7
11542	xorl	%eax,%ecx
11543	xorl	%edi,%eax
11544	addl	20(%esp),%edx
11545	vpxor	%xmm7,%xmm6,%xmm6
11546	shrdl	$11,%ecx,%ecx
11547	andl	%eax,%ebx
11548	xorl	%esi,%ecx
11549	vpshufd	$232,%xmm6,%xmm7
11550	addl	40(%esp),%edx
11551	xorl	%edi,%ebx
11552	shrdl	$2,%ecx,%ecx
11553	vpslldq	$8,%xmm7,%xmm7
11554	addl	%edx,%ebx
11555	addl	4(%esp),%edx
11556	addl	%ecx,%ebx
11557	vpaddd	%xmm7,%xmm0,%xmm0
11558	movl	%edx,%ecx
11559	shrdl	$14,%edx,%edx
11560	movl	8(%esp),%esi
11561	vpaddd	(%ebp),%xmm0,%xmm6
11562	xorl	%ecx,%edx
11563	movl	12(%esp),%edi
11564	xorl	%edi,%esi
11565	shrdl	$5,%edx,%edx
11566	andl	%ecx,%esi
11567	movl	%ecx,4(%esp)
11568	xorl	%ecx,%edx
11569	xorl	%esi,%edi
11570	shrdl	$6,%edx,%edx
11571	movl	%ebx,%ecx
11572	addl	%edi,%edx
11573	movl	24(%esp),%edi
11574	movl	%ebx,%esi
11575	shrdl	$9,%ecx,%ecx
11576	movl	%ebx,20(%esp)
11577	xorl	%ebx,%ecx
11578	xorl	%edi,%ebx
11579	addl	16(%esp),%edx
11580	shrdl	$11,%ecx,%ecx
11581	andl	%ebx,%eax
11582	xorl	%esi,%ecx
11583	addl	44(%esp),%edx
11584	xorl	%edi,%eax
11585	shrdl	$2,%ecx,%ecx
11586	addl	%edx,%eax
11587	addl	(%esp),%edx
11588	addl	%ecx,%eax
11589	vmovdqa	%xmm6,32(%esp)
11590	vpalignr	$4,%xmm1,%xmm2,%xmm4
11591	movl	%edx,%ecx
11592	shrdl	$14,%edx,%edx
11593	movl	4(%esp),%esi
11594	vpalignr	$4,%xmm3,%xmm0,%xmm7
11595	xorl	%ecx,%edx
11596	movl	8(%esp),%edi
11597	xorl	%edi,%esi
11598	vpsrld	$7,%xmm4,%xmm6
11599	shrdl	$5,%edx,%edx
11600	andl	%ecx,%esi
11601	movl	%ecx,(%esp)
11602	vpaddd	%xmm7,%xmm1,%xmm1
11603	xorl	%ecx,%edx
11604	xorl	%esi,%edi
11605	shrdl	$6,%edx,%edx
11606	vpsrld	$3,%xmm4,%xmm7
11607	movl	%eax,%ecx
11608	addl	%edi,%edx
11609	movl	20(%esp),%edi
11610	vpslld	$14,%xmm4,%xmm5
11611	movl	%eax,%esi
11612	shrdl	$9,%ecx,%ecx
11613	movl	%eax,16(%esp)
11614	vpxor	%xmm6,%xmm7,%xmm4
11615	xorl	%eax,%ecx
11616	xorl	%edi,%eax
11617	addl	12(%esp),%edx
11618	vpshufd	$250,%xmm0,%xmm7
11619	shrdl	$11,%ecx,%ecx
11620	andl	%eax,%ebx
11621	xorl	%esi,%ecx
11622	vpsrld	$11,%xmm6,%xmm6
11623	addl	48(%esp),%edx
11624	xorl	%edi,%ebx
11625	shrdl	$2,%ecx,%ecx
11626	vpxor	%xmm5,%xmm4,%xmm4
11627	addl	%edx,%ebx
11628	addl	28(%esp),%edx
11629	addl	%ecx,%ebx
11630	vpslld	$11,%xmm5,%xmm5
11631	movl	%edx,%ecx
11632	shrdl	$14,%edx,%edx
11633	movl	(%esp),%esi
11634	vpxor	%xmm6,%xmm4,%xmm4
11635	xorl	%ecx,%edx
11636	movl	4(%esp),%edi
11637	xorl	%edi,%esi
11638	vpsrld	$10,%xmm7,%xmm6
11639	shrdl	$5,%edx,%edx
11640	andl	%ecx,%esi
11641	movl	%ecx,28(%esp)
11642	vpxor	%xmm5,%xmm4,%xmm4
11643	xorl	%ecx,%edx
11644	xorl	%esi,%edi
11645	shrdl	$6,%edx,%edx
11646	vpsrlq	$17,%xmm7,%xmm5
11647	movl	%ebx,%ecx
11648	addl	%edi,%edx
11649	movl	16(%esp),%edi
11650	vpaddd	%xmm4,%xmm1,%xmm1
11651	movl	%ebx,%esi
11652	shrdl	$9,%ecx,%ecx
11653	movl	%ebx,12(%esp)
11654	vpxor	%xmm5,%xmm6,%xmm6
11655	xorl	%ebx,%ecx
11656	xorl	%edi,%ebx
11657	addl	8(%esp),%edx
11658	vpsrlq	$19,%xmm7,%xmm7
11659	shrdl	$11,%ecx,%ecx
11660	andl	%ebx,%eax
11661	xorl	%esi,%ecx
11662	vpxor	%xmm7,%xmm6,%xmm6
11663	addl	52(%esp),%edx
11664	xorl	%edi,%eax
11665	shrdl	$2,%ecx,%ecx
11666	vpshufd	$132,%xmm6,%xmm7
11667	addl	%edx,%eax
11668	addl	24(%esp),%edx
11669	addl	%ecx,%eax
11670	vpsrldq	$8,%xmm7,%xmm7
11671	movl	%edx,%ecx
11672	shrdl	$14,%edx,%edx
11673	movl	28(%esp),%esi
11674	vpaddd	%xmm7,%xmm1,%xmm1
11675	xorl	%ecx,%edx
11676	movl	(%esp),%edi
11677	xorl	%edi,%esi
11678	vpshufd	$80,%xmm1,%xmm7
11679	shrdl	$5,%edx,%edx
11680	andl	%ecx,%esi
11681	movl	%ecx,24(%esp)
11682	vpsrld	$10,%xmm7,%xmm6
11683	xorl	%ecx,%edx
11684	xorl	%esi,%edi
11685	shrdl	$6,%edx,%edx
11686	vpsrlq	$17,%xmm7,%xmm5
11687	movl	%eax,%ecx
11688	addl	%edi,%edx
11689	movl	12(%esp),%edi
11690	vpxor	%xmm5,%xmm6,%xmm6
11691	movl	%eax,%esi
11692	shrdl	$9,%ecx,%ecx
11693	movl	%eax,8(%esp)
11694	vpsrlq	$19,%xmm7,%xmm7
11695	xorl	%eax,%ecx
11696	xorl	%edi,%eax
11697	addl	4(%esp),%edx
11698	vpxor	%xmm7,%xmm6,%xmm6
11699	shrdl	$11,%ecx,%ecx
11700	andl	%eax,%ebx
11701	xorl	%esi,%ecx
11702	vpshufd	$232,%xmm6,%xmm7
11703	addl	56(%esp),%edx
11704	xorl	%edi,%ebx
11705	shrdl	$2,%ecx,%ecx
11706	vpslldq	$8,%xmm7,%xmm7
11707	addl	%edx,%ebx
11708	addl	20(%esp),%edx
11709	addl	%ecx,%ebx
11710	vpaddd	%xmm7,%xmm1,%xmm1
11711	movl	%edx,%ecx
11712	shrdl	$14,%edx,%edx
11713	movl	24(%esp),%esi
11714	vpaddd	16(%ebp),%xmm1,%xmm6
11715	xorl	%ecx,%edx
11716	movl	28(%esp),%edi
11717	xorl	%edi,%esi
11718	shrdl	$5,%edx,%edx
11719	andl	%ecx,%esi
11720	movl	%ecx,20(%esp)
11721	xorl	%ecx,%edx
11722	xorl	%esi,%edi
11723	shrdl	$6,%edx,%edx
11724	movl	%ebx,%ecx
11725	addl	%edi,%edx
11726	movl	8(%esp),%edi
11727	movl	%ebx,%esi
11728	shrdl	$9,%ecx,%ecx
11729	movl	%ebx,4(%esp)
11730	xorl	%ebx,%ecx
11731	xorl	%edi,%ebx
11732	addl	(%esp),%edx
11733	shrdl	$11,%ecx,%ecx
11734	andl	%ebx,%eax
11735	xorl	%esi,%ecx
11736	addl	60(%esp),%edx
11737	xorl	%edi,%eax
11738	shrdl	$2,%ecx,%ecx
11739	addl	%edx,%eax
11740	addl	16(%esp),%edx
11741	addl	%ecx,%eax
11742	vmovdqa	%xmm6,48(%esp)
11743	vpalignr	$4,%xmm2,%xmm3,%xmm4
11744	movl	%edx,%ecx
11745	shrdl	$14,%edx,%edx
11746	movl	20(%esp),%esi
11747	vpalignr	$4,%xmm0,%xmm1,%xmm7
11748	xorl	%ecx,%edx
11749	movl	24(%esp),%edi
11750	xorl	%edi,%esi
11751	vpsrld	$7,%xmm4,%xmm6
11752	shrdl	$5,%edx,%edx
11753	andl	%ecx,%esi
11754	movl	%ecx,16(%esp)
11755	vpaddd	%xmm7,%xmm2,%xmm2
11756	xorl	%ecx,%edx
11757	xorl	%esi,%edi
11758	shrdl	$6,%edx,%edx
11759	vpsrld	$3,%xmm4,%xmm7
11760	movl	%eax,%ecx
11761	addl	%edi,%edx
11762	movl	4(%esp),%edi
11763	vpslld	$14,%xmm4,%xmm5
11764	movl	%eax,%esi
11765	shrdl	$9,%ecx,%ecx
11766	movl	%eax,(%esp)
11767	vpxor	%xmm6,%xmm7,%xmm4
11768	xorl	%eax,%ecx
11769	xorl	%edi,%eax
11770	addl	28(%esp),%edx
11771	vpshufd	$250,%xmm1,%xmm7
11772	shrdl	$11,%ecx,%ecx
11773	andl	%eax,%ebx
11774	xorl	%esi,%ecx
11775	vpsrld	$11,%xmm6,%xmm6
11776	addl	64(%esp),%edx
11777	xorl	%edi,%ebx
11778	shrdl	$2,%ecx,%ecx
11779	vpxor	%xmm5,%xmm4,%xmm4
11780	addl	%edx,%ebx
11781	addl	12(%esp),%edx
11782	addl	%ecx,%ebx
11783	vpslld	$11,%xmm5,%xmm5
11784	movl	%edx,%ecx
11785	shrdl	$14,%edx,%edx
11786	movl	16(%esp),%esi
11787	vpxor	%xmm6,%xmm4,%xmm4
11788	xorl	%ecx,%edx
11789	movl	20(%esp),%edi
11790	xorl	%edi,%esi
11791	vpsrld	$10,%xmm7,%xmm6
11792	shrdl	$5,%edx,%edx
11793	andl	%ecx,%esi
11794	movl	%ecx,12(%esp)
11795	vpxor	%xmm5,%xmm4,%xmm4
11796	xorl	%ecx,%edx
11797	xorl	%esi,%edi
11798	shrdl	$6,%edx,%edx
11799	vpsrlq	$17,%xmm7,%xmm5
11800	movl	%ebx,%ecx
11801	addl	%edi,%edx
11802	movl	(%esp),%edi
11803	vpaddd	%xmm4,%xmm2,%xmm2
11804	movl	%ebx,%esi
11805	shrdl	$9,%ecx,%ecx
11806	movl	%ebx,28(%esp)
11807	vpxor	%xmm5,%xmm6,%xmm6
11808	xorl	%ebx,%ecx
11809	xorl	%edi,%ebx
11810	addl	24(%esp),%edx
11811	vpsrlq	$19,%xmm7,%xmm7
11812	shrdl	$11,%ecx,%ecx
11813	andl	%ebx,%eax
11814	xorl	%esi,%ecx
11815	vpxor	%xmm7,%xmm6,%xmm6
11816	addl	68(%esp),%edx
11817	xorl	%edi,%eax
11818	shrdl	$2,%ecx,%ecx
11819	vpshufd	$132,%xmm6,%xmm7
11820	addl	%edx,%eax
11821	addl	8(%esp),%edx
11822	addl	%ecx,%eax
11823	vpsrldq	$8,%xmm7,%xmm7
11824	movl	%edx,%ecx
11825	shrdl	$14,%edx,%edx
11826	movl	12(%esp),%esi
11827	vpaddd	%xmm7,%xmm2,%xmm2
11828	xorl	%ecx,%edx
11829	movl	16(%esp),%edi
11830	xorl	%edi,%esi
11831	vpshufd	$80,%xmm2,%xmm7
11832	shrdl	$5,%edx,%edx
11833	andl	%ecx,%esi
11834	movl	%ecx,8(%esp)
11835	vpsrld	$10,%xmm7,%xmm6
11836	xorl	%ecx,%edx
11837	xorl	%esi,%edi
11838	shrdl	$6,%edx,%edx
11839	vpsrlq	$17,%xmm7,%xmm5
11840	movl	%eax,%ecx
11841	addl	%edi,%edx
11842	movl	28(%esp),%edi
11843	vpxor	%xmm5,%xmm6,%xmm6
11844	movl	%eax,%esi
11845	shrdl	$9,%ecx,%ecx
11846	movl	%eax,24(%esp)
11847	vpsrlq	$19,%xmm7,%xmm7
11848	xorl	%eax,%ecx
11849	xorl	%edi,%eax
11850	addl	20(%esp),%edx
11851	vpxor	%xmm7,%xmm6,%xmm6
11852	shrdl	$11,%ecx,%ecx
11853	andl	%eax,%ebx
11854	xorl	%esi,%ecx
11855	vpshufd	$232,%xmm6,%xmm7
11856	addl	72(%esp),%edx
11857	xorl	%edi,%ebx
11858	shrdl	$2,%ecx,%ecx
11859	vpslldq	$8,%xmm7,%xmm7
11860	addl	%edx,%ebx
11861	addl	4(%esp),%edx
11862	addl	%ecx,%ebx
11863	vpaddd	%xmm7,%xmm2,%xmm2
11864	movl	%edx,%ecx
11865	shrdl	$14,%edx,%edx
11866	movl	8(%esp),%esi
11867	vpaddd	32(%ebp),%xmm2,%xmm6
11868	xorl	%ecx,%edx
11869	movl	12(%esp),%edi
11870	xorl	%edi,%esi
11871	shrdl	$5,%edx,%edx
11872	andl	%ecx,%esi
11873	movl	%ecx,4(%esp)
11874	xorl	%ecx,%edx
11875	xorl	%esi,%edi
11876	shrdl	$6,%edx,%edx
11877	movl	%ebx,%ecx
11878	addl	%edi,%edx
11879	movl	24(%esp),%edi
11880	movl	%ebx,%esi
11881	shrdl	$9,%ecx,%ecx
11882	movl	%ebx,20(%esp)
11883	xorl	%ebx,%ecx
11884	xorl	%edi,%ebx
11885	addl	16(%esp),%edx
11886	shrdl	$11,%ecx,%ecx
11887	andl	%ebx,%eax
11888	xorl	%esi,%ecx
11889	addl	76(%esp),%edx
11890	xorl	%edi,%eax
11891	shrdl	$2,%ecx,%ecx
11892	addl	%edx,%eax
11893	addl	(%esp),%edx
11894	addl	%ecx,%eax
11895	vmovdqa	%xmm6,64(%esp)
11896	vpalignr	$4,%xmm3,%xmm0,%xmm4
11897	movl	%edx,%ecx
11898	shrdl	$14,%edx,%edx
11899	movl	4(%esp),%esi
11900	vpalignr	$4,%xmm1,%xmm2,%xmm7
11901	xorl	%ecx,%edx
11902	movl	8(%esp),%edi
11903	xorl	%edi,%esi
11904	vpsrld	$7,%xmm4,%xmm6
11905	shrdl	$5,%edx,%edx
11906	andl	%ecx,%esi
11907	movl	%ecx,(%esp)
11908	vpaddd	%xmm7,%xmm3,%xmm3
11909	xorl	%ecx,%edx
11910	xorl	%esi,%edi
11911	shrdl	$6,%edx,%edx
11912	vpsrld	$3,%xmm4,%xmm7
11913	movl	%eax,%ecx
11914	addl	%edi,%edx
11915	movl	20(%esp),%edi
11916	vpslld	$14,%xmm4,%xmm5
11917	movl	%eax,%esi
11918	shrdl	$9,%ecx,%ecx
11919	movl	%eax,16(%esp)
11920	vpxor	%xmm6,%xmm7,%xmm4
11921	xorl	%eax,%ecx
11922	xorl	%edi,%eax
11923	addl	12(%esp),%edx
11924	vpshufd	$250,%xmm2,%xmm7
11925	shrdl	$11,%ecx,%ecx
11926	andl	%eax,%ebx
11927	xorl	%esi,%ecx
11928	vpsrld	$11,%xmm6,%xmm6
11929	addl	80(%esp),%edx
11930	xorl	%edi,%ebx
11931	shrdl	$2,%ecx,%ecx
11932	vpxor	%xmm5,%xmm4,%xmm4
11933	addl	%edx,%ebx
11934	addl	28(%esp),%edx
11935	addl	%ecx,%ebx
11936	vpslld	$11,%xmm5,%xmm5
11937	movl	%edx,%ecx
11938	shrdl	$14,%edx,%edx
11939	movl	(%esp),%esi
11940	vpxor	%xmm6,%xmm4,%xmm4
11941	xorl	%ecx,%edx
11942	movl	4(%esp),%edi
11943	xorl	%edi,%esi
11944	vpsrld	$10,%xmm7,%xmm6
11945	shrdl	$5,%edx,%edx
11946	andl	%ecx,%esi
11947	movl	%ecx,28(%esp)
11948	vpxor	%xmm5,%xmm4,%xmm4
11949	xorl	%ecx,%edx
11950	xorl	%esi,%edi
11951	shrdl	$6,%edx,%edx
11952	vpsrlq	$17,%xmm7,%xmm5
11953	movl	%ebx,%ecx
11954	addl	%edi,%edx
11955	movl	16(%esp),%edi
11956	vpaddd	%xmm4,%xmm3,%xmm3
11957	movl	%ebx,%esi
11958	shrdl	$9,%ecx,%ecx
11959	movl	%ebx,12(%esp)
11960	vpxor	%xmm5,%xmm6,%xmm6
11961	xorl	%ebx,%ecx
11962	xorl	%edi,%ebx
11963	addl	8(%esp),%edx
11964	vpsrlq	$19,%xmm7,%xmm7
11965	shrdl	$11,%ecx,%ecx
11966	andl	%ebx,%eax
11967	xorl	%esi,%ecx
11968	vpxor	%xmm7,%xmm6,%xmm6
11969	addl	84(%esp),%edx
11970	xorl	%edi,%eax
11971	shrdl	$2,%ecx,%ecx
11972	vpshufd	$132,%xmm6,%xmm7
11973	addl	%edx,%eax
11974	addl	24(%esp),%edx
11975	addl	%ecx,%eax
11976	vpsrldq	$8,%xmm7,%xmm7
11977	movl	%edx,%ecx
11978	shrdl	$14,%edx,%edx
11979	movl	28(%esp),%esi
11980	vpaddd	%xmm7,%xmm3,%xmm3
11981	xorl	%ecx,%edx
11982	movl	(%esp),%edi
11983	xorl	%edi,%esi
11984	vpshufd	$80,%xmm3,%xmm7
11985	shrdl	$5,%edx,%edx
11986	andl	%ecx,%esi
11987	movl	%ecx,24(%esp)
11988	vpsrld	$10,%xmm7,%xmm6
11989	xorl	%ecx,%edx
11990	xorl	%esi,%edi
11991	shrdl	$6,%edx,%edx
11992	vpsrlq	$17,%xmm7,%xmm5
11993	movl	%eax,%ecx
11994	addl	%edi,%edx
11995	movl	12(%esp),%edi
11996	vpxor	%xmm5,%xmm6,%xmm6
11997	movl	%eax,%esi
11998	shrdl	$9,%ecx,%ecx
11999	movl	%eax,8(%esp)
12000	vpsrlq	$19,%xmm7,%xmm7
12001	xorl	%eax,%ecx
12002	xorl	%edi,%eax
12003	addl	4(%esp),%edx
12004	vpxor	%xmm7,%xmm6,%xmm6
12005	shrdl	$11,%ecx,%ecx
12006	andl	%eax,%ebx
12007	xorl	%esi,%ecx
12008	vpshufd	$232,%xmm6,%xmm7
12009	addl	88(%esp),%edx
12010	xorl	%edi,%ebx
12011	shrdl	$2,%ecx,%ecx
12012	vpslldq	$8,%xmm7,%xmm7
12013	addl	%edx,%ebx
12014	addl	20(%esp),%edx
12015	addl	%ecx,%ebx
12016	vpaddd	%xmm7,%xmm3,%xmm3
12017	movl	%edx,%ecx
12018	shrdl	$14,%edx,%edx
12019	movl	24(%esp),%esi
12020	vpaddd	48(%ebp),%xmm3,%xmm6
12021	xorl	%ecx,%edx
12022	movl	28(%esp),%edi
12023	xorl	%edi,%esi
12024	shrdl	$5,%edx,%edx
12025	andl	%ecx,%esi
12026	movl	%ecx,20(%esp)
12027	xorl	%ecx,%edx
12028	xorl	%esi,%edi
12029	shrdl	$6,%edx,%edx
12030	movl	%ebx,%ecx
12031	addl	%edi,%edx
12032	movl	8(%esp),%edi
12033	movl	%ebx,%esi
12034	shrdl	$9,%ecx,%ecx
12035	movl	%ebx,4(%esp)
12036	xorl	%ebx,%ecx
12037	xorl	%edi,%ebx
12038	addl	(%esp),%edx
12039	shrdl	$11,%ecx,%ecx
12040	andl	%ebx,%eax
12041	xorl	%esi,%ecx
12042	addl	92(%esp),%edx
12043	xorl	%edi,%eax
12044	shrdl	$2,%ecx,%ecx
12045	addl	%edx,%eax
12046	addl	16(%esp),%edx
12047	addl	%ecx,%eax
12048	vmovdqa	%xmm6,80(%esp)
12049	cmpl	$66051,64(%ebp)
12050	jne	.L016avx_00_47
12051	movl	%edx,%ecx
12052	shrdl	$14,%edx,%edx
12053	movl	20(%esp),%esi
12054	xorl	%ecx,%edx
12055	movl	24(%esp),%edi
12056	xorl	%edi,%esi
12057	shrdl	$5,%edx,%edx
12058	andl	%ecx,%esi
12059	movl	%ecx,16(%esp)
12060	xorl	%ecx,%edx
12061	xorl	%esi,%edi
12062	shrdl	$6,%edx,%edx
12063	movl	%eax,%ecx
12064	addl	%edi,%edx
12065	movl	4(%esp),%edi
12066	movl	%eax,%esi
12067	shrdl	$9,%ecx,%ecx
12068	movl	%eax,(%esp)
12069	xorl	%eax,%ecx
12070	xorl	%edi,%eax
12071	addl	28(%esp),%edx
12072	shrdl	$11,%ecx,%ecx
12073	andl	%eax,%ebx
12074	xorl	%esi,%ecx
12075	addl	32(%esp),%edx
12076	xorl	%edi,%ebx
12077	shrdl	$2,%ecx,%ecx
12078	addl	%edx,%ebx
12079	addl	12(%esp),%edx
12080	addl	%ecx,%ebx
12081	movl	%edx,%ecx
12082	shrdl	$14,%edx,%edx
12083	movl	16(%esp),%esi
12084	xorl	%ecx,%edx
12085	movl	20(%esp),%edi
12086	xorl	%edi,%esi
12087	shrdl	$5,%edx,%edx
12088	andl	%ecx,%esi
12089	movl	%ecx,12(%esp)
12090	xorl	%ecx,%edx
12091	xorl	%esi,%edi
12092	shrdl	$6,%edx,%edx
12093	movl	%ebx,%ecx
12094	addl	%edi,%edx
12095	movl	(%esp),%edi
12096	movl	%ebx,%esi
12097	shrdl	$9,%ecx,%ecx
12098	movl	%ebx,28(%esp)
12099	xorl	%ebx,%ecx
12100	xorl	%edi,%ebx
12101	addl	24(%esp),%edx
12102	shrdl	$11,%ecx,%ecx
12103	andl	%ebx,%eax
12104	xorl	%esi,%ecx
12105	addl	36(%esp),%edx
12106	xorl	%edi,%eax
12107	shrdl	$2,%ecx,%ecx
12108	addl	%edx,%eax
12109	addl	8(%esp),%edx
12110	addl	%ecx,%eax
12111	movl	%edx,%ecx
12112	shrdl	$14,%edx,%edx
12113	movl	12(%esp),%esi
12114	xorl	%ecx,%edx
12115	movl	16(%esp),%edi
12116	xorl	%edi,%esi
12117	shrdl	$5,%edx,%edx
12118	andl	%ecx,%esi
12119	movl	%ecx,8(%esp)
12120	xorl	%ecx,%edx
12121	xorl	%esi,%edi
12122	shrdl	$6,%edx,%edx
12123	movl	%eax,%ecx
12124	addl	%edi,%edx
12125	movl	28(%esp),%edi
12126	movl	%eax,%esi
12127	shrdl	$9,%ecx,%ecx
12128	movl	%eax,24(%esp)
12129	xorl	%eax,%ecx
12130	xorl	%edi,%eax
12131	addl	20(%esp),%edx
12132	shrdl	$11,%ecx,%ecx
12133	andl	%eax,%ebx
12134	xorl	%esi,%ecx
12135	addl	40(%esp),%edx
12136	xorl	%edi,%ebx
12137	shrdl	$2,%ecx,%ecx
12138	addl	%edx,%ebx
12139	addl	4(%esp),%edx
12140	addl	%ecx,%ebx
12141	movl	%edx,%ecx
12142	shrdl	$14,%edx,%edx
12143	movl	8(%esp),%esi
12144	xorl	%ecx,%edx
12145	movl	12(%esp),%edi
12146	xorl	%edi,%esi
12147	shrdl	$5,%edx,%edx
12148	andl	%ecx,%esi
12149	movl	%ecx,4(%esp)
12150	xorl	%ecx,%edx
12151	xorl	%esi,%edi
12152	shrdl	$6,%edx,%edx
12153	movl	%ebx,%ecx
12154	addl	%edi,%edx
12155	movl	24(%esp),%edi
12156	movl	%ebx,%esi
12157	shrdl	$9,%ecx,%ecx
12158	movl	%ebx,20(%esp)
12159	xorl	%ebx,%ecx
12160	xorl	%edi,%ebx
12161	addl	16(%esp),%edx
12162	shrdl	$11,%ecx,%ecx
12163	andl	%ebx,%eax
12164	xorl	%esi,%ecx
12165	addl	44(%esp),%edx
12166	xorl	%edi,%eax
12167	shrdl	$2,%ecx,%ecx
12168	addl	%edx,%eax
12169	addl	(%esp),%edx
12170	addl	%ecx,%eax
12171	movl	%edx,%ecx
12172	shrdl	$14,%edx,%edx
12173	movl	4(%esp),%esi
12174	xorl	%ecx,%edx
12175	movl	8(%esp),%edi
12176	xorl	%edi,%esi
12177	shrdl	$5,%edx,%edx
12178	andl	%ecx,%esi
12179	movl	%ecx,(%esp)
12180	xorl	%ecx,%edx
12181	xorl	%esi,%edi
12182	shrdl	$6,%edx,%edx
12183	movl	%eax,%ecx
12184	addl	%edi,%edx
12185	movl	20(%esp),%edi
12186	movl	%eax,%esi
12187	shrdl	$9,%ecx,%ecx
12188	movl	%eax,16(%esp)
12189	xorl	%eax,%ecx
12190	xorl	%edi,%eax
12191	addl	12(%esp),%edx
12192	shrdl	$11,%ecx,%ecx
12193	andl	%eax,%ebx
12194	xorl	%esi,%ecx
12195	addl	48(%esp),%edx
12196	xorl	%edi,%ebx
12197	shrdl	$2,%ecx,%ecx
12198	addl	%edx,%ebx
12199	addl	28(%esp),%edx
12200	addl	%ecx,%ebx
12201	movl	%edx,%ecx
12202	shrdl	$14,%edx,%edx
12203	movl	(%esp),%esi
12204	xorl	%ecx,%edx
12205	movl	4(%esp),%edi
12206	xorl	%edi,%esi
12207	shrdl	$5,%edx,%edx
12208	andl	%ecx,%esi
12209	movl	%ecx,28(%esp)
12210	xorl	%ecx,%edx
12211	xorl	%esi,%edi
12212	shrdl	$6,%edx,%edx
12213	movl	%ebx,%ecx
12214	addl	%edi,%edx
12215	movl	16(%esp),%edi
12216	movl	%ebx,%esi
12217	shrdl	$9,%ecx,%ecx
12218	movl	%ebx,12(%esp)
12219	xorl	%ebx,%ecx
12220	xorl	%edi,%ebx
12221	addl	8(%esp),%edx
12222	shrdl	$11,%ecx,%ecx
12223	andl	%ebx,%eax
12224	xorl	%esi,%ecx
12225	addl	52(%esp),%edx
12226	xorl	%edi,%eax
12227	shrdl	$2,%ecx,%ecx
12228	addl	%edx,%eax
12229	addl	24(%esp),%edx
12230	addl	%ecx,%eax
12231	movl	%edx,%ecx
12232	shrdl	$14,%edx,%edx
12233	movl	28(%esp),%esi
12234	xorl	%ecx,%edx
12235	movl	(%esp),%edi
12236	xorl	%edi,%esi
12237	shrdl	$5,%edx,%edx
12238	andl	%ecx,%esi
12239	movl	%ecx,24(%esp)
12240	xorl	%ecx,%edx
12241	xorl	%esi,%edi
12242	shrdl	$6,%edx,%edx
12243	movl	%eax,%ecx
12244	addl	%edi,%edx
12245	movl	12(%esp),%edi
12246	movl	%eax,%esi
12247	shrdl	$9,%ecx,%ecx
12248	movl	%eax,8(%esp)
12249	xorl	%eax,%ecx
12250	xorl	%edi,%eax
12251	addl	4(%esp),%edx
12252	shrdl	$11,%ecx,%ecx
12253	andl	%eax,%ebx
12254	xorl	%esi,%ecx
12255	addl	56(%esp),%edx
12256	xorl	%edi,%ebx
12257	shrdl	$2,%ecx,%ecx
12258	addl	%edx,%ebx
12259	addl	20(%esp),%edx
12260	addl	%ecx,%ebx
12261	movl	%edx,%ecx
12262	shrdl	$14,%edx,%edx
12263	movl	24(%esp),%esi
12264	xorl	%ecx,%edx
12265	movl	28(%esp),%edi
12266	xorl	%edi,%esi
12267	shrdl	$5,%edx,%edx
12268	andl	%ecx,%esi
12269	movl	%ecx,20(%esp)
12270	xorl	%ecx,%edx
12271	xorl	%esi,%edi
12272	shrdl	$6,%edx,%edx
12273	movl	%ebx,%ecx
12274	addl	%edi,%edx
12275	movl	8(%esp),%edi
12276	movl	%ebx,%esi
12277	shrdl	$9,%ecx,%ecx
12278	movl	%ebx,4(%esp)
12279	xorl	%ebx,%ecx
12280	xorl	%edi,%ebx
12281	addl	(%esp),%edx
12282	shrdl	$11,%ecx,%ecx
12283	andl	%ebx,%eax
12284	xorl	%esi,%ecx
12285	addl	60(%esp),%edx
12286	xorl	%edi,%eax
12287	shrdl	$2,%ecx,%ecx
12288	addl	%edx,%eax
12289	addl	16(%esp),%edx
12290	addl	%ecx,%eax
12291	movl	%edx,%ecx
12292	shrdl	$14,%edx,%edx
12293	movl	20(%esp),%esi
12294	xorl	%ecx,%edx
12295	movl	24(%esp),%edi
12296	xorl	%edi,%esi
12297	shrdl	$5,%edx,%edx
12298	andl	%ecx,%esi
12299	movl	%ecx,16(%esp)
12300	xorl	%ecx,%edx
12301	xorl	%esi,%edi
12302	shrdl	$6,%edx,%edx
12303	movl	%eax,%ecx
12304	addl	%edi,%edx
12305	movl	4(%esp),%edi
12306	movl	%eax,%esi
12307	shrdl	$9,%ecx,%ecx
12308	movl	%eax,(%esp)
12309	xorl	%eax,%ecx
12310	xorl	%edi,%eax
12311	addl	28(%esp),%edx
12312	shrdl	$11,%ecx,%ecx
12313	andl	%eax,%ebx
12314	xorl	%esi,%ecx
12315	addl	64(%esp),%edx
12316	xorl	%edi,%ebx
12317	shrdl	$2,%ecx,%ecx
12318	addl	%edx,%ebx
12319	addl	12(%esp),%edx
12320	addl	%ecx,%ebx
12321	movl	%edx,%ecx
12322	shrdl	$14,%edx,%edx
12323	movl	16(%esp),%esi
12324	xorl	%ecx,%edx
12325	movl	20(%esp),%edi
12326	xorl	%edi,%esi
12327	shrdl	$5,%edx,%edx
12328	andl	%ecx,%esi
12329	movl	%ecx,12(%esp)
12330	xorl	%ecx,%edx
12331	xorl	%esi,%edi
12332	shrdl	$6,%edx,%edx
12333	movl	%ebx,%ecx
12334	addl	%edi,%edx
12335	movl	(%esp),%edi
12336	movl	%ebx,%esi
12337	shrdl	$9,%ecx,%ecx
12338	movl	%ebx,28(%esp)
12339	xorl	%ebx,%ecx
12340	xorl	%edi,%ebx
12341	addl	24(%esp),%edx
12342	shrdl	$11,%ecx,%ecx
12343	andl	%ebx,%eax
12344	xorl	%esi,%ecx
12345	addl	68(%esp),%edx
12346	xorl	%edi,%eax
12347	shrdl	$2,%ecx,%ecx
12348	addl	%edx,%eax
12349	addl	8(%esp),%edx
12350	addl	%ecx,%eax
12351	movl	%edx,%ecx
12352	shrdl	$14,%edx,%edx
12353	movl	12(%esp),%esi
12354	xorl	%ecx,%edx
12355	movl	16(%esp),%edi
12356	xorl	%edi,%esi
12357	shrdl	$5,%edx,%edx
12358	andl	%ecx,%esi
12359	movl	%ecx,8(%esp)
12360	xorl	%ecx,%edx
12361	xorl	%esi,%edi
12362	shrdl	$6,%edx,%edx
12363	movl	%eax,%ecx
12364	addl	%edi,%edx
12365	movl	28(%esp),%edi
12366	movl	%eax,%esi
12367	shrdl	$9,%ecx,%ecx
12368	movl	%eax,24(%esp)
12369	xorl	%eax,%ecx
12370	xorl	%edi,%eax
12371	addl	20(%esp),%edx
12372	shrdl	$11,%ecx,%ecx
12373	andl	%eax,%ebx
12374	xorl	%esi,%ecx
12375	addl	72(%esp),%edx
12376	xorl	%edi,%ebx
12377	shrdl	$2,%ecx,%ecx
12378	addl	%edx,%ebx
12379	addl	4(%esp),%edx
12380	addl	%ecx,%ebx
12381	movl	%edx,%ecx
12382	shrdl	$14,%edx,%edx
12383	movl	8(%esp),%esi
12384	xorl	%ecx,%edx
12385	movl	12(%esp),%edi
12386	xorl	%edi,%esi
12387	shrdl	$5,%edx,%edx
12388	andl	%ecx,%esi
12389	movl	%ecx,4(%esp)
12390	xorl	%ecx,%edx
12391	xorl	%esi,%edi
12392	shrdl	$6,%edx,%edx
12393	movl	%ebx,%ecx
12394	addl	%edi,%edx
12395	movl	24(%esp),%edi
12396	movl	%ebx,%esi
12397	shrdl	$9,%ecx,%ecx
12398	movl	%ebx,20(%esp)
12399	xorl	%ebx,%ecx
12400	xorl	%edi,%ebx
12401	addl	16(%esp),%edx
12402	shrdl	$11,%ecx,%ecx
12403	andl	%ebx,%eax
12404	xorl	%esi,%ecx
12405	addl	76(%esp),%edx
12406	xorl	%edi,%eax
12407	shrdl	$2,%ecx,%ecx
12408	addl	%edx,%eax
12409	addl	(%esp),%edx
12410	addl	%ecx,%eax
12411	movl	%edx,%ecx
12412	shrdl	$14,%edx,%edx
12413	movl	4(%esp),%esi
12414	xorl	%ecx,%edx
12415	movl	8(%esp),%edi
12416	xorl	%edi,%esi
12417	shrdl	$5,%edx,%edx
12418	andl	%ecx,%esi
12419	movl	%ecx,(%esp)
12420	xorl	%ecx,%edx
12421	xorl	%esi,%edi
12422	shrdl	$6,%edx,%edx
12423	movl	%eax,%ecx
12424	addl	%edi,%edx
12425	movl	20(%esp),%edi
12426	movl	%eax,%esi
12427	shrdl	$9,%ecx,%ecx
12428	movl	%eax,16(%esp)
12429	xorl	%eax,%ecx
12430	xorl	%edi,%eax
12431	addl	12(%esp),%edx
12432	shrdl	$11,%ecx,%ecx
12433	andl	%eax,%ebx
12434	xorl	%esi,%ecx
12435	addl	80(%esp),%edx
12436	xorl	%edi,%ebx
12437	shrdl	$2,%ecx,%ecx
12438	addl	%edx,%ebx
12439	addl	28(%esp),%edx
12440	addl	%ecx,%ebx
12441	movl	%edx,%ecx
12442	shrdl	$14,%edx,%edx
12443	movl	(%esp),%esi
12444	xorl	%ecx,%edx
12445	movl	4(%esp),%edi
12446	xorl	%edi,%esi
12447	shrdl	$5,%edx,%edx
12448	andl	%ecx,%esi
12449	movl	%ecx,28(%esp)
12450	xorl	%ecx,%edx
12451	xorl	%esi,%edi
12452	shrdl	$6,%edx,%edx
12453	movl	%ebx,%ecx
12454	addl	%edi,%edx
12455	movl	16(%esp),%edi
12456	movl	%ebx,%esi
12457	shrdl	$9,%ecx,%ecx
12458	movl	%ebx,12(%esp)
12459	xorl	%ebx,%ecx
12460	xorl	%edi,%ebx
12461	addl	8(%esp),%edx
12462	shrdl	$11,%ecx,%ecx
12463	andl	%ebx,%eax
12464	xorl	%esi,%ecx
12465	addl	84(%esp),%edx
12466	xorl	%edi,%eax
12467	shrdl	$2,%ecx,%ecx
12468	addl	%edx,%eax
12469	addl	24(%esp),%edx
12470	addl	%ecx,%eax
12471	movl	%edx,%ecx
12472	shrdl	$14,%edx,%edx
12473	movl	28(%esp),%esi
12474	xorl	%ecx,%edx
12475	movl	(%esp),%edi
12476	xorl	%edi,%esi
12477	shrdl	$5,%edx,%edx
12478	andl	%ecx,%esi
12479	movl	%ecx,24(%esp)
12480	xorl	%ecx,%edx
12481	xorl	%esi,%edi
12482	shrdl	$6,%edx,%edx
12483	movl	%eax,%ecx
12484	addl	%edi,%edx
12485	movl	12(%esp),%edi
12486	movl	%eax,%esi
12487	shrdl	$9,%ecx,%ecx
12488	movl	%eax,8(%esp)
12489	xorl	%eax,%ecx
12490	xorl	%edi,%eax
12491	addl	4(%esp),%edx
12492	shrdl	$11,%ecx,%ecx
12493	andl	%eax,%ebx
12494	xorl	%esi,%ecx
12495	addl	88(%esp),%edx
12496	xorl	%edi,%ebx
12497	shrdl	$2,%ecx,%ecx
12498	addl	%edx,%ebx
12499	addl	20(%esp),%edx
12500	addl	%ecx,%ebx
12501	movl	%edx,%ecx
12502	shrdl	$14,%edx,%edx
12503	movl	24(%esp),%esi
12504	xorl	%ecx,%edx
12505	movl	28(%esp),%edi
12506	xorl	%edi,%esi
12507	shrdl	$5,%edx,%edx
12508	andl	%ecx,%esi
12509	movl	%ecx,20(%esp)
12510	xorl	%ecx,%edx
12511	xorl	%esi,%edi
12512	shrdl	$6,%edx,%edx
12513	movl	%ebx,%ecx
12514	addl	%edi,%edx
12515	movl	8(%esp),%edi
12516	movl	%ebx,%esi
12517	shrdl	$9,%ecx,%ecx
12518	movl	%ebx,4(%esp)
12519	xorl	%ebx,%ecx
12520	xorl	%edi,%ebx
12521	addl	(%esp),%edx
12522	shrdl	$11,%ecx,%ecx
12523	andl	%ebx,%eax
12524	xorl	%esi,%ecx
12525	addl	92(%esp),%edx
12526	xorl	%edi,%eax
12527	shrdl	$2,%ecx,%ecx
12528	addl	%edx,%eax
12529	addl	16(%esp),%edx
12530	addl	%ecx,%eax
12531	movl	96(%esp),%esi
12532	xorl	%edi,%ebx
12533	movl	12(%esp),%ecx
12534	addl	(%esi),%eax
12535	addl	4(%esi),%ebx
12536	addl	8(%esi),%edi
12537	addl	12(%esi),%ecx
12538	movl	%eax,(%esi)
12539	movl	%ebx,4(%esi)
12540	movl	%edi,8(%esi)
12541	movl	%ecx,12(%esi)
12542	movl	%ebx,4(%esp)
12543	xorl	%edi,%ebx
12544	movl	%edi,8(%esp)
12545	movl	%ecx,12(%esp)
12546	movl	20(%esp),%edi
12547	movl	24(%esp),%ecx
12548	addl	16(%esi),%edx
12549	addl	20(%esi),%edi
12550	addl	24(%esi),%ecx
12551	movl	%edx,16(%esi)
12552	movl	%edi,20(%esi)
12553	movl	%edi,20(%esp)
12554	movl	28(%esp),%edi
12555	movl	%ecx,24(%esi)
12556	addl	28(%esi),%edi
12557	movl	%ecx,24(%esp)
12558	movl	%edi,28(%esi)
12559	movl	%edi,28(%esp)
12560	movl	100(%esp),%edi
12561	vmovdqa	64(%ebp),%xmm7
12562	subl	$192,%ebp
12563	cmpl	104(%esp),%edi
12564	jb	.L015grand_avx
12565	movl	108(%esp),%esp
12566	vzeroall
12567	popl	%edi
12568	popl	%esi
12569	popl	%ebx
12570	popl	%ebp
12571	ret
12572.align	32
12573.L014AVX_BMI:
12574	leal	-96(%esp),%esp
12575	vzeroall
12576	movl	(%esi),%eax
12577	movl	4(%esi),%ebx
12578	movl	8(%esi),%ecx
12579	movl	12(%esi),%edi
12580	movl	%ebx,4(%esp)
12581	xorl	%ecx,%ebx
12582	movl	%ecx,8(%esp)
12583	movl	%edi,12(%esp)
12584	movl	16(%esi),%edx
12585	movl	20(%esi),%edi
12586	movl	24(%esi),%ecx
12587	movl	28(%esi),%esi
12588	movl	%edi,20(%esp)
12589	movl	100(%esp),%edi
12590	movl	%ecx,24(%esp)
12591	movl	%esi,28(%esp)
12592	vmovdqa	256(%ebp),%xmm7
12593	jmp	.L017grand_avx_bmi
12594.align	32
12595.L017grand_avx_bmi:
12596	vmovdqu	(%edi),%xmm0
12597	vmovdqu	16(%edi),%xmm1
12598	vmovdqu	32(%edi),%xmm2
12599	vmovdqu	48(%edi),%xmm3
12600	addl	$64,%edi
12601	vpshufb	%xmm7,%xmm0,%xmm0
12602	movl	%edi,100(%esp)
12603	vpshufb	%xmm7,%xmm1,%xmm1
12604	vpshufb	%xmm7,%xmm2,%xmm2
12605	vpaddd	(%ebp),%xmm0,%xmm4
12606	vpshufb	%xmm7,%xmm3,%xmm3
12607	vpaddd	16(%ebp),%xmm1,%xmm5
12608	vpaddd	32(%ebp),%xmm2,%xmm6
12609	vpaddd	48(%ebp),%xmm3,%xmm7
12610	vmovdqa	%xmm4,32(%esp)
12611	vmovdqa	%xmm5,48(%esp)
12612	vmovdqa	%xmm6,64(%esp)
12613	vmovdqa	%xmm7,80(%esp)
12614	jmp	.L018avx_bmi_00_47
12615.align	16
12616.L018avx_bmi_00_47:
12617	addl	$64,%ebp
12618	vpalignr	$4,%xmm0,%xmm1,%xmm4
12619	rorxl	$6,%edx,%ecx
12620	rorxl	$11,%edx,%esi
12621	movl	%edx,16(%esp)
12622	vpalignr	$4,%xmm2,%xmm3,%xmm7
12623	rorxl	$25,%edx,%edi
12624	xorl	%esi,%ecx
12625	andnl	24(%esp),%edx,%esi
12626	vpsrld	$7,%xmm4,%xmm6
12627	xorl	%edi,%ecx
12628	andl	20(%esp),%edx
12629	movl	%eax,(%esp)
12630	vpaddd	%xmm7,%xmm0,%xmm0
12631	orl	%esi,%edx
12632	rorxl	$2,%eax,%edi
12633	rorxl	$13,%eax,%esi
12634	vpsrld	$3,%xmm4,%xmm7
12635	leal	(%edx,%ecx,1),%edx
12636	rorxl	$22,%eax,%ecx
12637	xorl	%edi,%esi
12638	vpslld	$14,%xmm4,%xmm5
12639	movl	4(%esp),%edi
12640	xorl	%esi,%ecx
12641	xorl	%edi,%eax
12642	vpxor	%xmm6,%xmm7,%xmm4
12643	addl	28(%esp),%edx
12644	andl	%eax,%ebx
12645	addl	32(%esp),%edx
12646	vpshufd	$250,%xmm3,%xmm7
12647	xorl	%edi,%ebx
12648	addl	%edx,%ecx
12649	addl	12(%esp),%edx
12650	vpsrld	$11,%xmm6,%xmm6
12651	leal	(%ebx,%ecx,1),%ebx
12652	rorxl	$6,%edx,%ecx
12653	rorxl	$11,%edx,%esi
12654	vpxor	%xmm5,%xmm4,%xmm4
12655	movl	%edx,12(%esp)
12656	rorxl	$25,%edx,%edi
12657	xorl	%esi,%ecx
12658	vpslld	$11,%xmm5,%xmm5
12659	andnl	20(%esp),%edx,%esi
12660	xorl	%edi,%ecx
12661	andl	16(%esp),%edx
12662	vpxor	%xmm6,%xmm4,%xmm4
12663	movl	%ebx,28(%esp)
12664	orl	%esi,%edx
12665	rorxl	$2,%ebx,%edi
12666	rorxl	$13,%ebx,%esi
12667	vpsrld	$10,%xmm7,%xmm6
12668	leal	(%edx,%ecx,1),%edx
12669	rorxl	$22,%ebx,%ecx
12670	xorl	%edi,%esi
12671	vpxor	%xmm5,%xmm4,%xmm4
12672	movl	(%esp),%edi
12673	xorl	%esi,%ecx
12674	xorl	%edi,%ebx
12675	vpsrlq	$17,%xmm7,%xmm5
12676	addl	24(%esp),%edx
12677	andl	%ebx,%eax
12678	addl	36(%esp),%edx
12679	vpaddd	%xmm4,%xmm0,%xmm0
12680	xorl	%edi,%eax
12681	addl	%edx,%ecx
12682	addl	8(%esp),%edx
12683	vpxor	%xmm5,%xmm6,%xmm6
12684	leal	(%eax,%ecx,1),%eax
12685	rorxl	$6,%edx,%ecx
12686	rorxl	$11,%edx,%esi
12687	vpsrlq	$19,%xmm7,%xmm7
12688	movl	%edx,8(%esp)
12689	rorxl	$25,%edx,%edi
12690	xorl	%esi,%ecx
12691	vpxor	%xmm7,%xmm6,%xmm6
12692	andnl	16(%esp),%edx,%esi
12693	xorl	%edi,%ecx
12694	andl	12(%esp),%edx
12695	vpshufd	$132,%xmm6,%xmm7
12696	movl	%eax,24(%esp)
12697	orl	%esi,%edx
12698	rorxl	$2,%eax,%edi
12699	rorxl	$13,%eax,%esi
12700	vpsrldq	$8,%xmm7,%xmm7
12701	leal	(%edx,%ecx,1),%edx
12702	rorxl	$22,%eax,%ecx
12703	xorl	%edi,%esi
12704	vpaddd	%xmm7,%xmm0,%xmm0
12705	movl	28(%esp),%edi
12706	xorl	%esi,%ecx
12707	xorl	%edi,%eax
12708	vpshufd	$80,%xmm0,%xmm7
12709	addl	20(%esp),%edx
12710	andl	%eax,%ebx
12711	addl	40(%esp),%edx
12712	vpsrld	$10,%xmm7,%xmm6
12713	xorl	%edi,%ebx
12714	addl	%edx,%ecx
12715	addl	4(%esp),%edx
12716	vpsrlq	$17,%xmm7,%xmm5
12717	leal	(%ebx,%ecx,1),%ebx
12718	rorxl	$6,%edx,%ecx
12719	rorxl	$11,%edx,%esi
12720	vpxor	%xmm5,%xmm6,%xmm6
12721	movl	%edx,4(%esp)
12722	rorxl	$25,%edx,%edi
12723	xorl	%esi,%ecx
12724	vpsrlq	$19,%xmm7,%xmm7
12725	andnl	12(%esp),%edx,%esi
12726	xorl	%edi,%ecx
12727	andl	8(%esp),%edx
12728	vpxor	%xmm7,%xmm6,%xmm6
12729	movl	%ebx,20(%esp)
12730	orl	%esi,%edx
12731	rorxl	$2,%ebx,%edi
12732	rorxl	$13,%ebx,%esi
12733	vpshufd	$232,%xmm6,%xmm7
12734	leal	(%edx,%ecx,1),%edx
12735	rorxl	$22,%ebx,%ecx
12736	xorl	%edi,%esi
12737	vpslldq	$8,%xmm7,%xmm7
12738	movl	24(%esp),%edi
12739	xorl	%esi,%ecx
12740	xorl	%edi,%ebx
12741	vpaddd	%xmm7,%xmm0,%xmm0
12742	addl	16(%esp),%edx
12743	andl	%ebx,%eax
12744	addl	44(%esp),%edx
12745	vpaddd	(%ebp),%xmm0,%xmm6
12746	xorl	%edi,%eax
12747	addl	%edx,%ecx
12748	addl	(%esp),%edx
12749	leal	(%eax,%ecx,1),%eax
12750	vmovdqa	%xmm6,32(%esp)
12751	vpalignr	$4,%xmm1,%xmm2,%xmm4
12752	rorxl	$6,%edx,%ecx
12753	rorxl	$11,%edx,%esi
12754	movl	%edx,(%esp)
12755	vpalignr	$4,%xmm3,%xmm0,%xmm7
12756	rorxl	$25,%edx,%edi
12757	xorl	%esi,%ecx
12758	andnl	8(%esp),%edx,%esi
12759	vpsrld	$7,%xmm4,%xmm6
12760	xorl	%edi,%ecx
12761	andl	4(%esp),%edx
12762	movl	%eax,16(%esp)
12763	vpaddd	%xmm7,%xmm1,%xmm1
12764	orl	%esi,%edx
12765	rorxl	$2,%eax,%edi
12766	rorxl	$13,%eax,%esi
12767	vpsrld	$3,%xmm4,%xmm7
12768	leal	(%edx,%ecx,1),%edx
12769	rorxl	$22,%eax,%ecx
12770	xorl	%edi,%esi
12771	vpslld	$14,%xmm4,%xmm5
12772	movl	20(%esp),%edi
12773	xorl	%esi,%ecx
12774	xorl	%edi,%eax
12775	vpxor	%xmm6,%xmm7,%xmm4
12776	addl	12(%esp),%edx
12777	andl	%eax,%ebx
12778	addl	48(%esp),%edx
12779	vpshufd	$250,%xmm0,%xmm7
12780	xorl	%edi,%ebx
12781	addl	%edx,%ecx
12782	addl	28(%esp),%edx
12783	vpsrld	$11,%xmm6,%xmm6
12784	leal	(%ebx,%ecx,1),%ebx
12785	rorxl	$6,%edx,%ecx
12786	rorxl	$11,%edx,%esi
12787	vpxor	%xmm5,%xmm4,%xmm4
12788	movl	%edx,28(%esp)
12789	rorxl	$25,%edx,%edi
12790	xorl	%esi,%ecx
12791	vpslld	$11,%xmm5,%xmm5
12792	andnl	4(%esp),%edx,%esi
12793	xorl	%edi,%ecx
12794	andl	(%esp),%edx
12795	vpxor	%xmm6,%xmm4,%xmm4
12796	movl	%ebx,12(%esp)
12797	orl	%esi,%edx
12798	rorxl	$2,%ebx,%edi
12799	rorxl	$13,%ebx,%esi
12800	vpsrld	$10,%xmm7,%xmm6
12801	leal	(%edx,%ecx,1),%edx
12802	rorxl	$22,%ebx,%ecx
12803	xorl	%edi,%esi
12804	vpxor	%xmm5,%xmm4,%xmm4
12805	movl	16(%esp),%edi
12806	xorl	%esi,%ecx
12807	xorl	%edi,%ebx
12808	vpsrlq	$17,%xmm7,%xmm5
12809	addl	8(%esp),%edx
12810	andl	%ebx,%eax
12811	addl	52(%esp),%edx
12812	vpaddd	%xmm4,%xmm1,%xmm1
12813	xorl	%edi,%eax
12814	addl	%edx,%ecx
12815	addl	24(%esp),%edx
12816	vpxor	%xmm5,%xmm6,%xmm6
12817	leal	(%eax,%ecx,1),%eax
12818	rorxl	$6,%edx,%ecx
12819	rorxl	$11,%edx,%esi
12820	vpsrlq	$19,%xmm7,%xmm7
12821	movl	%edx,24(%esp)
12822	rorxl	$25,%edx,%edi
12823	xorl	%esi,%ecx
12824	vpxor	%xmm7,%xmm6,%xmm6
12825	andnl	(%esp),%edx,%esi
12826	xorl	%edi,%ecx
12827	andl	28(%esp),%edx
12828	vpshufd	$132,%xmm6,%xmm7
12829	movl	%eax,8(%esp)
12830	orl	%esi,%edx
12831	rorxl	$2,%eax,%edi
12832	rorxl	$13,%eax,%esi
12833	vpsrldq	$8,%xmm7,%xmm7
12834	leal	(%edx,%ecx,1),%edx
12835	rorxl	$22,%eax,%ecx
12836	xorl	%edi,%esi
12837	vpaddd	%xmm7,%xmm1,%xmm1
12838	movl	12(%esp),%edi
12839	xorl	%esi,%ecx
12840	xorl	%edi,%eax
12841	vpshufd	$80,%xmm1,%xmm7
12842	addl	4(%esp),%edx
12843	andl	%eax,%ebx
12844	addl	56(%esp),%edx
12845	vpsrld	$10,%xmm7,%xmm6
12846	xorl	%edi,%ebx
12847	addl	%edx,%ecx
12848	addl	20(%esp),%edx
12849	vpsrlq	$17,%xmm7,%xmm5
12850	leal	(%ebx,%ecx,1),%ebx
12851	rorxl	$6,%edx,%ecx
12852	rorxl	$11,%edx,%esi
12853	vpxor	%xmm5,%xmm6,%xmm6
12854	movl	%edx,20(%esp)
12855	rorxl	$25,%edx,%edi
12856	xorl	%esi,%ecx
12857	vpsrlq	$19,%xmm7,%xmm7
12858	andnl	28(%esp),%edx,%esi
12859	xorl	%edi,%ecx
12860	andl	24(%esp),%edx
12861	vpxor	%xmm7,%xmm6,%xmm6
12862	movl	%ebx,4(%esp)
12863	orl	%esi,%edx
12864	rorxl	$2,%ebx,%edi
12865	rorxl	$13,%ebx,%esi
12866	vpshufd	$232,%xmm6,%xmm7
12867	leal	(%edx,%ecx,1),%edx
12868	rorxl	$22,%ebx,%ecx
12869	xorl	%edi,%esi
12870	vpslldq	$8,%xmm7,%xmm7
12871	movl	8(%esp),%edi
12872	xorl	%esi,%ecx
12873	xorl	%edi,%ebx
12874	vpaddd	%xmm7,%xmm1,%xmm1
12875	addl	(%esp),%edx
12876	andl	%ebx,%eax
12877	addl	60(%esp),%edx
12878	vpaddd	16(%ebp),%xmm1,%xmm6
12879	xorl	%edi,%eax
12880	addl	%edx,%ecx
12881	addl	16(%esp),%edx
12882	leal	(%eax,%ecx,1),%eax
12883	vmovdqa	%xmm6,48(%esp)
12884	vpalignr	$4,%xmm2,%xmm3,%xmm4
12885	rorxl	$6,%edx,%ecx
12886	rorxl	$11,%edx,%esi
12887	movl	%edx,16(%esp)
12888	vpalignr	$4,%xmm0,%xmm1,%xmm7
12889	rorxl	$25,%edx,%edi
12890	xorl	%esi,%ecx
12891	andnl	24(%esp),%edx,%esi
12892	vpsrld	$7,%xmm4,%xmm6
12893	xorl	%edi,%ecx
12894	andl	20(%esp),%edx
12895	movl	%eax,(%esp)
12896	vpaddd	%xmm7,%xmm2,%xmm2
12897	orl	%esi,%edx
12898	rorxl	$2,%eax,%edi
12899	rorxl	$13,%eax,%esi
12900	vpsrld	$3,%xmm4,%xmm7
12901	leal	(%edx,%ecx,1),%edx
12902	rorxl	$22,%eax,%ecx
12903	xorl	%edi,%esi
12904	vpslld	$14,%xmm4,%xmm5
12905	movl	4(%esp),%edi
12906	xorl	%esi,%ecx
12907	xorl	%edi,%eax
12908	vpxor	%xmm6,%xmm7,%xmm4
12909	addl	28(%esp),%edx
12910	andl	%eax,%ebx
12911	addl	64(%esp),%edx
12912	vpshufd	$250,%xmm1,%xmm7
12913	xorl	%edi,%ebx
12914	addl	%edx,%ecx
12915	addl	12(%esp),%edx
12916	vpsrld	$11,%xmm6,%xmm6
12917	leal	(%ebx,%ecx,1),%ebx
12918	rorxl	$6,%edx,%ecx
12919	rorxl	$11,%edx,%esi
12920	vpxor	%xmm5,%xmm4,%xmm4
12921	movl	%edx,12(%esp)
12922	rorxl	$25,%edx,%edi
12923	xorl	%esi,%ecx
12924	vpslld	$11,%xmm5,%xmm5
12925	andnl	20(%esp),%edx,%esi
12926	xorl	%edi,%ecx
12927	andl	16(%esp),%edx
12928	vpxor	%xmm6,%xmm4,%xmm4
12929	movl	%ebx,28(%esp)
12930	orl	%esi,%edx
12931	rorxl	$2,%ebx,%edi
12932	rorxl	$13,%ebx,%esi
12933	vpsrld	$10,%xmm7,%xmm6
12934	leal	(%edx,%ecx,1),%edx
12935	rorxl	$22,%ebx,%ecx
12936	xorl	%edi,%esi
12937	vpxor	%xmm5,%xmm4,%xmm4
12938	movl	(%esp),%edi
12939	xorl	%esi,%ecx
12940	xorl	%edi,%ebx
12941	vpsrlq	$17,%xmm7,%xmm5
12942	addl	24(%esp),%edx
12943	andl	%ebx,%eax
12944	addl	68(%esp),%edx
12945	vpaddd	%xmm4,%xmm2,%xmm2
12946	xorl	%edi,%eax
12947	addl	%edx,%ecx
12948	addl	8(%esp),%edx
12949	vpxor	%xmm5,%xmm6,%xmm6
12950	leal	(%eax,%ecx,1),%eax
12951	rorxl	$6,%edx,%ecx
12952	rorxl	$11,%edx,%esi
12953	vpsrlq	$19,%xmm7,%xmm7
12954	movl	%edx,8(%esp)
12955	rorxl	$25,%edx,%edi
12956	xorl	%esi,%ecx
12957	vpxor	%xmm7,%xmm6,%xmm6
12958	andnl	16(%esp),%edx,%esi
12959	xorl	%edi,%ecx
12960	andl	12(%esp),%edx
12961	vpshufd	$132,%xmm6,%xmm7
12962	movl	%eax,24(%esp)
12963	orl	%esi,%edx
12964	rorxl	$2,%eax,%edi
12965	rorxl	$13,%eax,%esi
12966	vpsrldq	$8,%xmm7,%xmm7
12967	leal	(%edx,%ecx,1),%edx
12968	rorxl	$22,%eax,%ecx
12969	xorl	%edi,%esi
12970	vpaddd	%xmm7,%xmm2,%xmm2
12971	movl	28(%esp),%edi
12972	xorl	%esi,%ecx
12973	xorl	%edi,%eax
12974	vpshufd	$80,%xmm2,%xmm7
12975	addl	20(%esp),%edx
12976	andl	%eax,%ebx
12977	addl	72(%esp),%edx
12978	vpsrld	$10,%xmm7,%xmm6
12979	xorl	%edi,%ebx
12980	addl	%edx,%ecx
12981	addl	4(%esp),%edx
12982	vpsrlq	$17,%xmm7,%xmm5
12983	leal	(%ebx,%ecx,1),%ebx
12984	rorxl	$6,%edx,%ecx
12985	rorxl	$11,%edx,%esi
12986	vpxor	%xmm5,%xmm6,%xmm6
12987	movl	%edx,4(%esp)
12988	rorxl	$25,%edx,%edi
12989	xorl	%esi,%ecx
12990	vpsrlq	$19,%xmm7,%xmm7
12991	andnl	12(%esp),%edx,%esi
12992	xorl	%edi,%ecx
12993	andl	8(%esp),%edx
12994	vpxor	%xmm7,%xmm6,%xmm6
12995	movl	%ebx,20(%esp)
12996	orl	%esi,%edx
12997	rorxl	$2,%ebx,%edi
12998	rorxl	$13,%ebx,%esi
12999	vpshufd	$232,%xmm6,%xmm7
13000	leal	(%edx,%ecx,1),%edx
13001	rorxl	$22,%ebx,%ecx
13002	xorl	%edi,%esi
13003	vpslldq	$8,%xmm7,%xmm7
13004	movl	24(%esp),%edi
13005	xorl	%esi,%ecx
13006	xorl	%edi,%ebx
13007	vpaddd	%xmm7,%xmm2,%xmm2
13008	addl	16(%esp),%edx
13009	andl	%ebx,%eax
13010	addl	76(%esp),%edx
13011	vpaddd	32(%ebp),%xmm2,%xmm6
13012	xorl	%edi,%eax
13013	addl	%edx,%ecx
13014	addl	(%esp),%edx
13015	leal	(%eax,%ecx,1),%eax
13016	vmovdqa	%xmm6,64(%esp)
13017	vpalignr	$4,%xmm3,%xmm0,%xmm4
13018	rorxl	$6,%edx,%ecx
13019	rorxl	$11,%edx,%esi
13020	movl	%edx,(%esp)
13021	vpalignr	$4,%xmm1,%xmm2,%xmm7
13022	rorxl	$25,%edx,%edi
13023	xorl	%esi,%ecx
13024	andnl	8(%esp),%edx,%esi
13025	vpsrld	$7,%xmm4,%xmm6
13026	xorl	%edi,%ecx
13027	andl	4(%esp),%edx
13028	movl	%eax,16(%esp)
13029	vpaddd	%xmm7,%xmm3,%xmm3
13030	orl	%esi,%edx
13031	rorxl	$2,%eax,%edi
13032	rorxl	$13,%eax,%esi
13033	vpsrld	$3,%xmm4,%xmm7
13034	leal	(%edx,%ecx,1),%edx
13035	rorxl	$22,%eax,%ecx
13036	xorl	%edi,%esi
13037	vpslld	$14,%xmm4,%xmm5
13038	movl	20(%esp),%edi
13039	xorl	%esi,%ecx
13040	xorl	%edi,%eax
13041	vpxor	%xmm6,%xmm7,%xmm4
13042	addl	12(%esp),%edx
13043	andl	%eax,%ebx
13044	addl	80(%esp),%edx
13045	vpshufd	$250,%xmm2,%xmm7
13046	xorl	%edi,%ebx
13047	addl	%edx,%ecx
13048	addl	28(%esp),%edx
13049	vpsrld	$11,%xmm6,%xmm6
13050	leal	(%ebx,%ecx,1),%ebx
13051	rorxl	$6,%edx,%ecx
13052	rorxl	$11,%edx,%esi
13053	vpxor	%xmm5,%xmm4,%xmm4
13054	movl	%edx,28(%esp)
13055	rorxl	$25,%edx,%edi
13056	xorl	%esi,%ecx
13057	vpslld	$11,%xmm5,%xmm5
13058	andnl	4(%esp),%edx,%esi
13059	xorl	%edi,%ecx
13060	andl	(%esp),%edx
13061	vpxor	%xmm6,%xmm4,%xmm4
13062	movl	%ebx,12(%esp)
13063	orl	%esi,%edx
13064	rorxl	$2,%ebx,%edi
13065	rorxl	$13,%ebx,%esi
13066	vpsrld	$10,%xmm7,%xmm6
13067	leal	(%edx,%ecx,1),%edx
13068	rorxl	$22,%ebx,%ecx
13069	xorl	%edi,%esi
13070	vpxor	%xmm5,%xmm4,%xmm4
13071	movl	16(%esp),%edi
13072	xorl	%esi,%ecx
13073	xorl	%edi,%ebx
13074	vpsrlq	$17,%xmm7,%xmm5
13075	addl	8(%esp),%edx
13076	andl	%ebx,%eax
13077	addl	84(%esp),%edx
13078	vpaddd	%xmm4,%xmm3,%xmm3
13079	xorl	%edi,%eax
13080	addl	%edx,%ecx
13081	addl	24(%esp),%edx
13082	vpxor	%xmm5,%xmm6,%xmm6
13083	leal	(%eax,%ecx,1),%eax
13084	rorxl	$6,%edx,%ecx
13085	rorxl	$11,%edx,%esi
13086	vpsrlq	$19,%xmm7,%xmm7
13087	movl	%edx,24(%esp)
13088	rorxl	$25,%edx,%edi
13089	xorl	%esi,%ecx
13090	vpxor	%xmm7,%xmm6,%xmm6
13091	andnl	(%esp),%edx,%esi
13092	xorl	%edi,%ecx
13093	andl	28(%esp),%edx
13094	vpshufd	$132,%xmm6,%xmm7
13095	movl	%eax,8(%esp)
13096	orl	%esi,%edx
13097	rorxl	$2,%eax,%edi
13098	rorxl	$13,%eax,%esi
13099	vpsrldq	$8,%xmm7,%xmm7
13100	leal	(%edx,%ecx,1),%edx
13101	rorxl	$22,%eax,%ecx
13102	xorl	%edi,%esi
13103	vpaddd	%xmm7,%xmm3,%xmm3
13104	movl	12(%esp),%edi
13105	xorl	%esi,%ecx
13106	xorl	%edi,%eax
13107	vpshufd	$80,%xmm3,%xmm7
13108	addl	4(%esp),%edx
13109	andl	%eax,%ebx
13110	addl	88(%esp),%edx
13111	vpsrld	$10,%xmm7,%xmm6
13112	xorl	%edi,%ebx
13113	addl	%edx,%ecx
13114	addl	20(%esp),%edx
13115	vpsrlq	$17,%xmm7,%xmm5
13116	leal	(%ebx,%ecx,1),%ebx
13117	rorxl	$6,%edx,%ecx
13118	rorxl	$11,%edx,%esi
13119	vpxor	%xmm5,%xmm6,%xmm6
13120	movl	%edx,20(%esp)
13121	rorxl	$25,%edx,%edi
13122	xorl	%esi,%ecx
13123	vpsrlq	$19,%xmm7,%xmm7
13124	andnl	28(%esp),%edx,%esi
13125	xorl	%edi,%ecx
13126	andl	24(%esp),%edx
13127	vpxor	%xmm7,%xmm6,%xmm6
13128	movl	%ebx,4(%esp)
13129	orl	%esi,%edx
13130	rorxl	$2,%ebx,%edi
13131	rorxl	$13,%ebx,%esi
13132	vpshufd	$232,%xmm6,%xmm7
13133	leal	(%edx,%ecx,1),%edx
13134	rorxl	$22,%ebx,%ecx
13135	xorl	%edi,%esi
13136	vpslldq	$8,%xmm7,%xmm7
13137	movl	8(%esp),%edi
13138	xorl	%esi,%ecx
13139	xorl	%edi,%ebx
13140	vpaddd	%xmm7,%xmm3,%xmm3
13141	addl	(%esp),%edx
13142	andl	%ebx,%eax
13143	addl	92(%esp),%edx
13144	vpaddd	48(%ebp),%xmm3,%xmm6
13145	xorl	%edi,%eax
13146	addl	%edx,%ecx
13147	addl	16(%esp),%edx
13148	leal	(%eax,%ecx,1),%eax
13149	vmovdqa	%xmm6,80(%esp)
13150	cmpl	$66051,64(%ebp)
13151	jne	.L018avx_bmi_00_47
13152	rorxl	$6,%edx,%ecx
13153	rorxl	$11,%edx,%esi
13154	movl	%edx,16(%esp)
13155	rorxl	$25,%edx,%edi
13156	xorl	%esi,%ecx
13157	andnl	24(%esp),%edx,%esi
13158	xorl	%edi,%ecx
13159	andl	20(%esp),%edx
13160	movl	%eax,(%esp)
13161	orl	%esi,%edx
13162	rorxl	$2,%eax,%edi
13163	rorxl	$13,%eax,%esi
13164	leal	(%edx,%ecx,1),%edx
13165	rorxl	$22,%eax,%ecx
13166	xorl	%edi,%esi
13167	movl	4(%esp),%edi
13168	xorl	%esi,%ecx
13169	xorl	%edi,%eax
13170	addl	28(%esp),%edx
13171	andl	%eax,%ebx
13172	addl	32(%esp),%edx
13173	xorl	%edi,%ebx
13174	addl	%edx,%ecx
13175	addl	12(%esp),%edx
13176	leal	(%ebx,%ecx,1),%ebx
13177	rorxl	$6,%edx,%ecx
13178	rorxl	$11,%edx,%esi
13179	movl	%edx,12(%esp)
13180	rorxl	$25,%edx,%edi
13181	xorl	%esi,%ecx
13182	andnl	20(%esp),%edx,%esi
13183	xorl	%edi,%ecx
13184	andl	16(%esp),%edx
13185	movl	%ebx,28(%esp)
13186	orl	%esi,%edx
13187	rorxl	$2,%ebx,%edi
13188	rorxl	$13,%ebx,%esi
13189	leal	(%edx,%ecx,1),%edx
13190	rorxl	$22,%ebx,%ecx
13191	xorl	%edi,%esi
13192	movl	(%esp),%edi
13193	xorl	%esi,%ecx
13194	xorl	%edi,%ebx
13195	addl	24(%esp),%edx
13196	andl	%ebx,%eax
13197	addl	36(%esp),%edx
13198	xorl	%edi,%eax
13199	addl	%edx,%ecx
13200	addl	8(%esp),%edx
13201	leal	(%eax,%ecx,1),%eax
13202	rorxl	$6,%edx,%ecx
13203	rorxl	$11,%edx,%esi
13204	movl	%edx,8(%esp)
13205	rorxl	$25,%edx,%edi
13206	xorl	%esi,%ecx
13207	andnl	16(%esp),%edx,%esi
13208	xorl	%edi,%ecx
13209	andl	12(%esp),%edx
13210	movl	%eax,24(%esp)
13211	orl	%esi,%edx
13212	rorxl	$2,%eax,%edi
13213	rorxl	$13,%eax,%esi
13214	leal	(%edx,%ecx,1),%edx
13215	rorxl	$22,%eax,%ecx
13216	xorl	%edi,%esi
13217	movl	28(%esp),%edi
13218	xorl	%esi,%ecx
13219	xorl	%edi,%eax
13220	addl	20(%esp),%edx
13221	andl	%eax,%ebx
13222	addl	40(%esp),%edx
13223	xorl	%edi,%ebx
13224	addl	%edx,%ecx
13225	addl	4(%esp),%edx
13226	leal	(%ebx,%ecx,1),%ebx
13227	rorxl	$6,%edx,%ecx
13228	rorxl	$11,%edx,%esi
13229	movl	%edx,4(%esp)
13230	rorxl	$25,%edx,%edi
13231	xorl	%esi,%ecx
13232	andnl	12(%esp),%edx,%esi
13233	xorl	%edi,%ecx
13234	andl	8(%esp),%edx
13235	movl	%ebx,20(%esp)
13236	orl	%esi,%edx
13237	rorxl	$2,%ebx,%edi
13238	rorxl	$13,%ebx,%esi
13239	leal	(%edx,%ecx,1),%edx
13240	rorxl	$22,%ebx,%ecx
13241	xorl	%edi,%esi
13242	movl	24(%esp),%edi
13243	xorl	%esi,%ecx
13244	xorl	%edi,%ebx
13245	addl	16(%esp),%edx
13246	andl	%ebx,%eax
13247	addl	44(%esp),%edx
13248	xorl	%edi,%eax
13249	addl	%edx,%ecx
13250	addl	(%esp),%edx
13251	leal	(%eax,%ecx,1),%eax
13252	rorxl	$6,%edx,%ecx
13253	rorxl	$11,%edx,%esi
13254	movl	%edx,(%esp)
13255	rorxl	$25,%edx,%edi
13256	xorl	%esi,%ecx
13257	andnl	8(%esp),%edx,%esi
13258	xorl	%edi,%ecx
13259	andl	4(%esp),%edx
13260	movl	%eax,16(%esp)
13261	orl	%esi,%edx
13262	rorxl	$2,%eax,%edi
13263	rorxl	$13,%eax,%esi
13264	leal	(%edx,%ecx,1),%edx
13265	rorxl	$22,%eax,%ecx
13266	xorl	%edi,%esi
13267	movl	20(%esp),%edi
13268	xorl	%esi,%ecx
13269	xorl	%edi,%eax
13270	addl	12(%esp),%edx
13271	andl	%eax,%ebx
13272	addl	48(%esp),%edx
13273	xorl	%edi,%ebx
13274	addl	%edx,%ecx
13275	addl	28(%esp),%edx
13276	leal	(%ebx,%ecx,1),%ebx
13277	rorxl	$6,%edx,%ecx
13278	rorxl	$11,%edx,%esi
13279	movl	%edx,28(%esp)
13280	rorxl	$25,%edx,%edi
13281	xorl	%esi,%ecx
13282	andnl	4(%esp),%edx,%esi
13283	xorl	%edi,%ecx
13284	andl	(%esp),%edx
13285	movl	%ebx,12(%esp)
13286	orl	%esi,%edx
13287	rorxl	$2,%ebx,%edi
13288	rorxl	$13,%ebx,%esi
13289	leal	(%edx,%ecx,1),%edx
13290	rorxl	$22,%ebx,%ecx
13291	xorl	%edi,%esi
13292	movl	16(%esp),%edi
13293	xorl	%esi,%ecx
13294	xorl	%edi,%ebx
13295	addl	8(%esp),%edx
13296	andl	%ebx,%eax
13297	addl	52(%esp),%edx
13298	xorl	%edi,%eax
13299	addl	%edx,%ecx
13300	addl	24(%esp),%edx
13301	leal	(%eax,%ecx,1),%eax
13302	rorxl	$6,%edx,%ecx
13303	rorxl	$11,%edx,%esi
13304	movl	%edx,24(%esp)
13305	rorxl	$25,%edx,%edi
13306	xorl	%esi,%ecx
13307	andnl	(%esp),%edx,%esi
13308	xorl	%edi,%ecx
13309	andl	28(%esp),%edx
13310	movl	%eax,8(%esp)
13311	orl	%esi,%edx
13312	rorxl	$2,%eax,%edi
13313	rorxl	$13,%eax,%esi
13314	leal	(%edx,%ecx,1),%edx
13315	rorxl	$22,%eax,%ecx
13316	xorl	%edi,%esi
13317	movl	12(%esp),%edi
13318	xorl	%esi,%ecx
13319	xorl	%edi,%eax
13320	addl	4(%esp),%edx
13321	andl	%eax,%ebx
13322	addl	56(%esp),%edx
13323	xorl	%edi,%ebx
13324	addl	%edx,%ecx
13325	addl	20(%esp),%edx
13326	leal	(%ebx,%ecx,1),%ebx
13327	rorxl	$6,%edx,%ecx
13328	rorxl	$11,%edx,%esi
13329	movl	%edx,20(%esp)
13330	rorxl	$25,%edx,%edi
13331	xorl	%esi,%ecx
13332	andnl	28(%esp),%edx,%esi
13333	xorl	%edi,%ecx
13334	andl	24(%esp),%edx
13335	movl	%ebx,4(%esp)
13336	orl	%esi,%edx
13337	rorxl	$2,%ebx,%edi
13338	rorxl	$13,%ebx,%esi
13339	leal	(%edx,%ecx,1),%edx
13340	rorxl	$22,%ebx,%ecx
13341	xorl	%edi,%esi
13342	movl	8(%esp),%edi
13343	xorl	%esi,%ecx
13344	xorl	%edi,%ebx
13345	addl	(%esp),%edx
13346	andl	%ebx,%eax
13347	addl	60(%esp),%edx
13348	xorl	%edi,%eax
13349	addl	%edx,%ecx
13350	addl	16(%esp),%edx
13351	leal	(%eax,%ecx,1),%eax
13352	rorxl	$6,%edx,%ecx
13353	rorxl	$11,%edx,%esi
13354	movl	%edx,16(%esp)
13355	rorxl	$25,%edx,%edi
13356	xorl	%esi,%ecx
13357	andnl	24(%esp),%edx,%esi
13358	xorl	%edi,%ecx
13359	andl	20(%esp),%edx
13360	movl	%eax,(%esp)
13361	orl	%esi,%edx
13362	rorxl	$2,%eax,%edi
13363	rorxl	$13,%eax,%esi
13364	leal	(%edx,%ecx,1),%edx
13365	rorxl	$22,%eax,%ecx
13366	xorl	%edi,%esi
13367	movl	4(%esp),%edi
13368	xorl	%esi,%ecx
13369	xorl	%edi,%eax
13370	addl	28(%esp),%edx
13371	andl	%eax,%ebx
13372	addl	64(%esp),%edx
13373	xorl	%edi,%ebx
13374	addl	%edx,%ecx
13375	addl	12(%esp),%edx
13376	leal	(%ebx,%ecx,1),%ebx
13377	rorxl	$6,%edx,%ecx
13378	rorxl	$11,%edx,%esi
13379	movl	%edx,12(%esp)
13380	rorxl	$25,%edx,%edi
13381	xorl	%esi,%ecx
13382	andnl	20(%esp),%edx,%esi
13383	xorl	%edi,%ecx
13384	andl	16(%esp),%edx
13385	movl	%ebx,28(%esp)
13386	orl	%esi,%edx
13387	rorxl	$2,%ebx,%edi
13388	rorxl	$13,%ebx,%esi
13389	leal	(%edx,%ecx,1),%edx
13390	rorxl	$22,%ebx,%ecx
13391	xorl	%edi,%esi
13392	movl	(%esp),%edi
13393	xorl	%esi,%ecx
13394	xorl	%edi,%ebx
13395	addl	24(%esp),%edx
13396	andl	%ebx,%eax
13397	addl	68(%esp),%edx
13398	xorl	%edi,%eax
13399	addl	%edx,%ecx
13400	addl	8(%esp),%edx
13401	leal	(%eax,%ecx,1),%eax
13402	rorxl	$6,%edx,%ecx
13403	rorxl	$11,%edx,%esi
13404	movl	%edx,8(%esp)
13405	rorxl	$25,%edx,%edi
13406	xorl	%esi,%ecx
13407	andnl	16(%esp),%edx,%esi
13408	xorl	%edi,%ecx
13409	andl	12(%esp),%edx
13410	movl	%eax,24(%esp)
13411	orl	%esi,%edx
13412	rorxl	$2,%eax,%edi
13413	rorxl	$13,%eax,%esi
13414	leal	(%edx,%ecx,1),%edx
13415	rorxl	$22,%eax,%ecx
13416	xorl	%edi,%esi
13417	movl	28(%esp),%edi
13418	xorl	%esi,%ecx
13419	xorl	%edi,%eax
13420	addl	20(%esp),%edx
13421	andl	%eax,%ebx
13422	addl	72(%esp),%edx
13423	xorl	%edi,%ebx
13424	addl	%edx,%ecx
13425	addl	4(%esp),%edx
13426	leal	(%ebx,%ecx,1),%ebx
13427	rorxl	$6,%edx,%ecx
13428	rorxl	$11,%edx,%esi
13429	movl	%edx,4(%esp)
13430	rorxl	$25,%edx,%edi
13431	xorl	%esi,%ecx
13432	andnl	12(%esp),%edx,%esi
13433	xorl	%edi,%ecx
13434	andl	8(%esp),%edx
13435	movl	%ebx,20(%esp)
13436	orl	%esi,%edx
13437	rorxl	$2,%ebx,%edi
13438	rorxl	$13,%ebx,%esi
13439	leal	(%edx,%ecx,1),%edx
13440	rorxl	$22,%ebx,%ecx
13441	xorl	%edi,%esi
13442	movl	24(%esp),%edi
13443	xorl	%esi,%ecx
13444	xorl	%edi,%ebx
13445	addl	16(%esp),%edx
13446	andl	%ebx,%eax
13447	addl	76(%esp),%edx
13448	xorl	%edi,%eax
13449	addl	%edx,%ecx
13450	addl	(%esp),%edx
13451	leal	(%eax,%ecx,1),%eax
13452	rorxl	$6,%edx,%ecx
13453	rorxl	$11,%edx,%esi
13454	movl	%edx,(%esp)
13455	rorxl	$25,%edx,%edi
13456	xorl	%esi,%ecx
13457	andnl	8(%esp),%edx,%esi
13458	xorl	%edi,%ecx
13459	andl	4(%esp),%edx
13460	movl	%eax,16(%esp)
13461	orl	%esi,%edx
13462	rorxl	$2,%eax,%edi
13463	rorxl	$13,%eax,%esi
13464	leal	(%edx,%ecx,1),%edx
13465	rorxl	$22,%eax,%ecx
13466	xorl	%edi,%esi
13467	movl	20(%esp),%edi
13468	xorl	%esi,%ecx
13469	xorl	%edi,%eax
13470	addl	12(%esp),%edx
13471	andl	%eax,%ebx
13472	addl	80(%esp),%edx
13473	xorl	%edi,%ebx
13474	addl	%edx,%ecx
13475	addl	28(%esp),%edx
13476	leal	(%ebx,%ecx,1),%ebx
13477	rorxl	$6,%edx,%ecx
13478	rorxl	$11,%edx,%esi
13479	movl	%edx,28(%esp)
13480	rorxl	$25,%edx,%edi
13481	xorl	%esi,%ecx
13482	andnl	4(%esp),%edx,%esi
13483	xorl	%edi,%ecx
13484	andl	(%esp),%edx
13485	movl	%ebx,12(%esp)
13486	orl	%esi,%edx
13487	rorxl	$2,%ebx,%edi
13488	rorxl	$13,%ebx,%esi
13489	leal	(%edx,%ecx,1),%edx
13490	rorxl	$22,%ebx,%ecx
13491	xorl	%edi,%esi
13492	movl	16(%esp),%edi
13493	xorl	%esi,%ecx
13494	xorl	%edi,%ebx
13495	addl	8(%esp),%edx
13496	andl	%ebx,%eax
13497	addl	84(%esp),%edx
13498	xorl	%edi,%eax
13499	addl	%edx,%ecx
13500	addl	24(%esp),%edx
13501	leal	(%eax,%ecx,1),%eax
13502	rorxl	$6,%edx,%ecx
13503	rorxl	$11,%edx,%esi
13504	movl	%edx,24(%esp)
13505	rorxl	$25,%edx,%edi
13506	xorl	%esi,%ecx
13507	andnl	(%esp),%edx,%esi
13508	xorl	%edi,%ecx
13509	andl	28(%esp),%edx
13510	movl	%eax,8(%esp)
13511	orl	%esi,%edx
13512	rorxl	$2,%eax,%edi
13513	rorxl	$13,%eax,%esi
13514	leal	(%edx,%ecx,1),%edx
13515	rorxl	$22,%eax,%ecx
13516	xorl	%edi,%esi
13517	movl	12(%esp),%edi
13518	xorl	%esi,%ecx
13519	xorl	%edi,%eax
13520	addl	4(%esp),%edx
13521	andl	%eax,%ebx
13522	addl	88(%esp),%edx
13523	xorl	%edi,%ebx
13524	addl	%edx,%ecx
13525	addl	20(%esp),%edx
13526	leal	(%ebx,%ecx,1),%ebx
13527	rorxl	$6,%edx,%ecx
13528	rorxl	$11,%edx,%esi
13529	movl	%edx,20(%esp)
13530	rorxl	$25,%edx,%edi
13531	xorl	%esi,%ecx
13532	andnl	28(%esp),%edx,%esi
13533	xorl	%edi,%ecx
13534	andl	24(%esp),%edx
13535	movl	%ebx,4(%esp)
13536	orl	%esi,%edx
13537	rorxl	$2,%ebx,%edi
13538	rorxl	$13,%ebx,%esi
13539	leal	(%edx,%ecx,1),%edx
13540	rorxl	$22,%ebx,%ecx
13541	xorl	%edi,%esi
13542	movl	8(%esp),%edi
13543	xorl	%esi,%ecx
13544	xorl	%edi,%ebx
13545	addl	(%esp),%edx
13546	andl	%ebx,%eax
13547	addl	92(%esp),%edx
13548	xorl	%edi,%eax
13549	addl	%edx,%ecx
13550	addl	16(%esp),%edx
13551	leal	(%eax,%ecx,1),%eax
13552	movl	96(%esp),%esi
13553	xorl	%edi,%ebx
13554	movl	12(%esp),%ecx
13555	addl	(%esi),%eax
13556	addl	4(%esi),%ebx
13557	addl	8(%esi),%edi
13558	addl	12(%esi),%ecx
13559	movl	%eax,(%esi)
13560	movl	%ebx,4(%esi)
13561	movl	%edi,8(%esi)
13562	movl	%ecx,12(%esi)
13563	movl	%ebx,4(%esp)
13564	xorl	%edi,%ebx
13565	movl	%edi,8(%esp)
13566	movl	%ecx,12(%esp)
13567	movl	20(%esp),%edi
13568	movl	24(%esp),%ecx
13569	addl	16(%esi),%edx
13570	addl	20(%esi),%edi
13571	addl	24(%esi),%ecx
13572	movl	%edx,16(%esi)
13573	movl	%edi,20(%esi)
13574	movl	%edi,20(%esp)
13575	movl	28(%esp),%edi
13576	movl	%ecx,24(%esi)
13577	addl	28(%esi),%edi
13578	movl	%ecx,24(%esp)
13579	movl	%edi,28(%esi)
13580	movl	%edi,28(%esp)
13581	movl	100(%esp),%edi
13582	vmovdqa	64(%ebp),%xmm7
13583	subl	$192,%ebp
13584	cmpl	104(%esp),%edi
13585	jb	.L017grand_avx_bmi
13586	movl	108(%esp),%esp
13587	vzeroall
13588	popl	%edi
13589	popl	%esi
13590	popl	%ebx
13591	popl	%ebp
13592	ret
13593.size	sha256_block_data_order,.-.L_sha256_block_data_order_begin
13594.comm	OPENSSL_ia32cap_P,16,4
13595
13596	.section ".note.gnu.property", "a"
13597	.p2align 2
13598	.long 1f - 0f
13599	.long 4f - 1f
13600	.long 5
136010:
13602	.asciz "GNU"
136031:
13604	.p2align 2
13605	.long 0xc0000002
13606	.long 3f - 2f
136072:
13608	.long 3
136093:
13610	.p2align 2
136114:
13612#endif
13613