• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1.text
2.globl	sha256_block_data_order
3.type	sha256_block_data_order,@function
4.align	16
5sha256_block_data_order:
6.L_sha256_block_data_order_begin:
7	%ifdef __CET__
8
9.byte	243,15,30,251
10	%endif
11
12	pushl	%ebp
13	pushl	%ebx
14	pushl	%esi
15	pushl	%edi
16	movl	20(%esp),%esi
17	movl	24(%esp),%edi
18	movl	28(%esp),%eax
19	movl	%esp,%ebx
20	call	.L000pic_point
21.L000pic_point:
22	popl	%ebp
23	leal	.L001K256-.L000pic_point(%ebp),%ebp
24	subl	$16,%esp
25	andl	$-64,%esp
26	shll	$6,%eax
27	addl	%edi,%eax
28	movl	%esi,(%esp)
29	movl	%edi,4(%esp)
30	movl	%eax,8(%esp)
31	movl	%ebx,12(%esp)
32	leal	OPENSSL_ia32cap_P-.L001K256(%ebp),%edx
33	movl	(%edx),%ecx
34	movl	4(%edx),%ebx
35	testl	$1048576,%ecx
36	jnz	.L002loop
37	movl	8(%edx),%edx
38	testl	$16777216,%ecx
39	jz	.L003no_xmm
40	andl	$1073741824,%ecx
41	andl	$268435968,%ebx
42	testl	$536870912,%edx
43	jnz	.L004shaext
44	orl	%ebx,%ecx
45	andl	$1342177280,%ecx
46	cmpl	$1342177280,%ecx
47	je	.L005AVX
48	testl	$512,%ebx
49	jnz	.L006SSSE3
50.L003no_xmm:
51	subl	%edi,%eax
52	cmpl	$256,%eax
53	jae	.L007unrolled
54	jmp	.L002loop
55.align	16
56.L002loop:
57	movl	(%edi),%eax
58	movl	4(%edi),%ebx
59	movl	8(%edi),%ecx
60	bswap	%eax
61	movl	12(%edi),%edx
62	bswap	%ebx
63	pushl	%eax
64	bswap	%ecx
65	pushl	%ebx
66	bswap	%edx
67	pushl	%ecx
68	pushl	%edx
69	movl	16(%edi),%eax
70	movl	20(%edi),%ebx
71	movl	24(%edi),%ecx
72	bswap	%eax
73	movl	28(%edi),%edx
74	bswap	%ebx
75	pushl	%eax
76	bswap	%ecx
77	pushl	%ebx
78	bswap	%edx
79	pushl	%ecx
80	pushl	%edx
81	movl	32(%edi),%eax
82	movl	36(%edi),%ebx
83	movl	40(%edi),%ecx
84	bswap	%eax
85	movl	44(%edi),%edx
86	bswap	%ebx
87	pushl	%eax
88	bswap	%ecx
89	pushl	%ebx
90	bswap	%edx
91	pushl	%ecx
92	pushl	%edx
93	movl	48(%edi),%eax
94	movl	52(%edi),%ebx
95	movl	56(%edi),%ecx
96	bswap	%eax
97	movl	60(%edi),%edx
98	bswap	%ebx
99	pushl	%eax
100	bswap	%ecx
101	pushl	%ebx
102	bswap	%edx
103	pushl	%ecx
104	pushl	%edx
105	addl	$64,%edi
106	leal	-36(%esp),%esp
107	movl	%edi,104(%esp)
108	movl	(%esi),%eax
109	movl	4(%esi),%ebx
110	movl	8(%esi),%ecx
111	movl	12(%esi),%edi
112	movl	%ebx,8(%esp)
113	xorl	%ecx,%ebx
114	movl	%ecx,12(%esp)
115	movl	%edi,16(%esp)
116	movl	%ebx,(%esp)
117	movl	16(%esi),%edx
118	movl	20(%esi),%ebx
119	movl	24(%esi),%ecx
120	movl	28(%esi),%edi
121	movl	%ebx,24(%esp)
122	movl	%ecx,28(%esp)
123	movl	%edi,32(%esp)
124.align	16
125.L00800_15:
126	movl	%edx,%ecx
127	movl	24(%esp),%esi
128	rorl	$14,%ecx
129	movl	28(%esp),%edi
130	xorl	%edx,%ecx
131	xorl	%edi,%esi
132	movl	96(%esp),%ebx
133	rorl	$5,%ecx
134	andl	%edx,%esi
135	movl	%edx,20(%esp)
136	xorl	%ecx,%edx
137	addl	32(%esp),%ebx
138	xorl	%edi,%esi
139	rorl	$6,%edx
140	movl	%eax,%ecx
141	addl	%esi,%ebx
142	rorl	$9,%ecx
143	addl	%edx,%ebx
144	movl	8(%esp),%edi
145	xorl	%eax,%ecx
146	movl	%eax,4(%esp)
147	leal	-4(%esp),%esp
148	rorl	$11,%ecx
149	movl	(%ebp),%esi
150	xorl	%eax,%ecx
151	movl	20(%esp),%edx
152	xorl	%edi,%eax
153	rorl	$2,%ecx
154	addl	%esi,%ebx
155	movl	%eax,(%esp)
156	addl	%ebx,%edx
157	andl	4(%esp),%eax
158	addl	%ecx,%ebx
159	xorl	%edi,%eax
160	addl	$4,%ebp
161	addl	%ebx,%eax
162	cmpl	$3248222580,%esi
163	jne	.L00800_15
164	movl	156(%esp),%ecx
165	jmp	.L00916_63
166.align	16
167.L00916_63:
168	movl	%ecx,%ebx
169	movl	104(%esp),%esi
170	rorl	$11,%ecx
171	movl	%esi,%edi
172	rorl	$2,%esi
173	xorl	%ebx,%ecx
174	shrl	$3,%ebx
175	rorl	$7,%ecx
176	xorl	%edi,%esi
177	xorl	%ecx,%ebx
178	rorl	$17,%esi
179	addl	160(%esp),%ebx
180	shrl	$10,%edi
181	addl	124(%esp),%ebx
182	movl	%edx,%ecx
183	xorl	%esi,%edi
184	movl	24(%esp),%esi
185	rorl	$14,%ecx
186	addl	%edi,%ebx
187	movl	28(%esp),%edi
188	xorl	%edx,%ecx
189	xorl	%edi,%esi
190	movl	%ebx,96(%esp)
191	rorl	$5,%ecx
192	andl	%edx,%esi
193	movl	%edx,20(%esp)
194	xorl	%ecx,%edx
195	addl	32(%esp),%ebx
196	xorl	%edi,%esi
197	rorl	$6,%edx
198	movl	%eax,%ecx
199	addl	%esi,%ebx
200	rorl	$9,%ecx
201	addl	%edx,%ebx
202	movl	8(%esp),%edi
203	xorl	%eax,%ecx
204	movl	%eax,4(%esp)
205	leal	-4(%esp),%esp
206	rorl	$11,%ecx
207	movl	(%ebp),%esi
208	xorl	%eax,%ecx
209	movl	20(%esp),%edx
210	xorl	%edi,%eax
211	rorl	$2,%ecx
212	addl	%esi,%ebx
213	movl	%eax,(%esp)
214	addl	%ebx,%edx
215	andl	4(%esp),%eax
216	addl	%ecx,%ebx
217	xorl	%edi,%eax
218	movl	156(%esp),%ecx
219	addl	$4,%ebp
220	addl	%ebx,%eax
221	cmpl	$3329325298,%esi
222	jne	.L00916_63
223	movl	356(%esp),%esi
224	movl	8(%esp),%ebx
225	movl	16(%esp),%ecx
226	addl	(%esi),%eax
227	addl	4(%esi),%ebx
228	addl	8(%esi),%edi
229	addl	12(%esi),%ecx
230	movl	%eax,(%esi)
231	movl	%ebx,4(%esi)
232	movl	%edi,8(%esi)
233	movl	%ecx,12(%esi)
234	movl	24(%esp),%eax
235	movl	28(%esp),%ebx
236	movl	32(%esp),%ecx
237	movl	360(%esp),%edi
238	addl	16(%esi),%edx
239	addl	20(%esi),%eax
240	addl	24(%esi),%ebx
241	addl	28(%esi),%ecx
242	movl	%edx,16(%esi)
243	movl	%eax,20(%esi)
244	movl	%ebx,24(%esi)
245	movl	%ecx,28(%esi)
246	leal	356(%esp),%esp
247	subl	$256,%ebp
248	cmpl	8(%esp),%edi
249	jb	.L002loop
250	movl	12(%esp),%esp
251	popl	%edi
252	popl	%esi
253	popl	%ebx
254	popl	%ebp
255	ret
256.align	64
257.L001K256:
258.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
259.long	66051,67438087,134810123,202182159
260.byte	83,72,65,50,53,54,32,98,108,111,99,107,32,116,114,97
261.byte	110,115,102,111,114,109,32,102,111,114,32,120,56,54,44,32
262.byte	67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97
263.byte	112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103
264.byte	62,0
265.align	16
266.L007unrolled:
267	leal	-96(%esp),%esp
268	movl	(%esi),%eax
269	movl	4(%esi),%ebp
270	movl	8(%esi),%ecx
271	movl	12(%esi),%ebx
272	movl	%ebp,4(%esp)
273	xorl	%ecx,%ebp
274	movl	%ecx,8(%esp)
275	movl	%ebx,12(%esp)
276	movl	16(%esi),%edx
277	movl	20(%esi),%ebx
278	movl	24(%esi),%ecx
279	movl	28(%esi),%esi
280	movl	%ebx,20(%esp)
281	movl	%ecx,24(%esp)
282	movl	%esi,28(%esp)
283	jmp	.L010grand_loop
284.align	16
285.L010grand_loop:
286	movl	(%edi),%ebx
287	movl	4(%edi),%ecx
288	bswap	%ebx
289	movl	8(%edi),%esi
290	bswap	%ecx
291	movl	%ebx,32(%esp)
292	bswap	%esi
293	movl	%ecx,36(%esp)
294	movl	%esi,40(%esp)
295	movl	12(%edi),%ebx
296	movl	16(%edi),%ecx
297	bswap	%ebx
298	movl	20(%edi),%esi
299	bswap	%ecx
300	movl	%ebx,44(%esp)
301	bswap	%esi
302	movl	%ecx,48(%esp)
303	movl	%esi,52(%esp)
304	movl	24(%edi),%ebx
305	movl	28(%edi),%ecx
306	bswap	%ebx
307	movl	32(%edi),%esi
308	bswap	%ecx
309	movl	%ebx,56(%esp)
310	bswap	%esi
311	movl	%ecx,60(%esp)
312	movl	%esi,64(%esp)
313	movl	36(%edi),%ebx
314	movl	40(%edi),%ecx
315	bswap	%ebx
316	movl	44(%edi),%esi
317	bswap	%ecx
318	movl	%ebx,68(%esp)
319	bswap	%esi
320	movl	%ecx,72(%esp)
321	movl	%esi,76(%esp)
322	movl	48(%edi),%ebx
323	movl	52(%edi),%ecx
324	bswap	%ebx
325	movl	56(%edi),%esi
326	bswap	%ecx
327	movl	%ebx,80(%esp)
328	bswap	%esi
329	movl	%ecx,84(%esp)
330	movl	%esi,88(%esp)
331	movl	60(%edi),%ebx
332	addl	$64,%edi
333	bswap	%ebx
334	movl	%edi,100(%esp)
335	movl	%ebx,92(%esp)
336	movl	%edx,%ecx
337	movl	20(%esp),%esi
338	rorl	$14,%edx
339	movl	24(%esp),%edi
340	xorl	%ecx,%edx
341	movl	32(%esp),%ebx
342	xorl	%edi,%esi
343	rorl	$5,%edx
344	andl	%ecx,%esi
345	movl	%ecx,16(%esp)
346	xorl	%ecx,%edx
347	addl	28(%esp),%ebx
348	xorl	%esi,%edi
349	rorl	$6,%edx
350	movl	%eax,%ecx
351	addl	%edi,%ebx
352	rorl	$9,%ecx
353	movl	%eax,%esi
354	movl	4(%esp),%edi
355	xorl	%eax,%ecx
356	movl	%eax,(%esp)
357	xorl	%edi,%eax
358	rorl	$11,%ecx
359	andl	%eax,%ebp
360	leal	1116352408(%ebx,%edx,1),%edx
361	xorl	%esi,%ecx
362	xorl	%edi,%ebp
363	rorl	$2,%ecx
364	addl	%edx,%ebp
365	addl	12(%esp),%edx
366	addl	%ecx,%ebp
367	movl	%edx,%esi
368	movl	16(%esp),%ecx
369	rorl	$14,%edx
370	movl	20(%esp),%edi
371	xorl	%esi,%edx
372	movl	36(%esp),%ebx
373	xorl	%edi,%ecx
374	rorl	$5,%edx
375	andl	%esi,%ecx
376	movl	%esi,12(%esp)
377	xorl	%esi,%edx
378	addl	24(%esp),%ebx
379	xorl	%ecx,%edi
380	rorl	$6,%edx
381	movl	%ebp,%esi
382	addl	%edi,%ebx
383	rorl	$9,%esi
384	movl	%ebp,%ecx
385	movl	(%esp),%edi
386	xorl	%ebp,%esi
387	movl	%ebp,28(%esp)
388	xorl	%edi,%ebp
389	rorl	$11,%esi
390	andl	%ebp,%eax
391	leal	1899447441(%ebx,%edx,1),%edx
392	xorl	%ecx,%esi
393	xorl	%edi,%eax
394	rorl	$2,%esi
395	addl	%edx,%eax
396	addl	8(%esp),%edx
397	addl	%esi,%eax
398	movl	%edx,%ecx
399	movl	12(%esp),%esi
400	rorl	$14,%edx
401	movl	16(%esp),%edi
402	xorl	%ecx,%edx
403	movl	40(%esp),%ebx
404	xorl	%edi,%esi
405	rorl	$5,%edx
406	andl	%ecx,%esi
407	movl	%ecx,8(%esp)
408	xorl	%ecx,%edx
409	addl	20(%esp),%ebx
410	xorl	%esi,%edi
411	rorl	$6,%edx
412	movl	%eax,%ecx
413	addl	%edi,%ebx
414	rorl	$9,%ecx
415	movl	%eax,%esi
416	movl	28(%esp),%edi
417	xorl	%eax,%ecx
418	movl	%eax,24(%esp)
419	xorl	%edi,%eax
420	rorl	$11,%ecx
421	andl	%eax,%ebp
422	leal	3049323471(%ebx,%edx,1),%edx
423	xorl	%esi,%ecx
424	xorl	%edi,%ebp
425	rorl	$2,%ecx
426	addl	%edx,%ebp
427	addl	4(%esp),%edx
428	addl	%ecx,%ebp
429	movl	%edx,%esi
430	movl	8(%esp),%ecx
431	rorl	$14,%edx
432	movl	12(%esp),%edi
433	xorl	%esi,%edx
434	movl	44(%esp),%ebx
435	xorl	%edi,%ecx
436	rorl	$5,%edx
437	andl	%esi,%ecx
438	movl	%esi,4(%esp)
439	xorl	%esi,%edx
440	addl	16(%esp),%ebx
441	xorl	%ecx,%edi
442	rorl	$6,%edx
443	movl	%ebp,%esi
444	addl	%edi,%ebx
445	rorl	$9,%esi
446	movl	%ebp,%ecx
447	movl	24(%esp),%edi
448	xorl	%ebp,%esi
449	movl	%ebp,20(%esp)
450	xorl	%edi,%ebp
451	rorl	$11,%esi
452	andl	%ebp,%eax
453	leal	3921009573(%ebx,%edx,1),%edx
454	xorl	%ecx,%esi
455	xorl	%edi,%eax
456	rorl	$2,%esi
457	addl	%edx,%eax
458	addl	(%esp),%edx
459	addl	%esi,%eax
460	movl	%edx,%ecx
461	movl	4(%esp),%esi
462	rorl	$14,%edx
463	movl	8(%esp),%edi
464	xorl	%ecx,%edx
465	movl	48(%esp),%ebx
466	xorl	%edi,%esi
467	rorl	$5,%edx
468	andl	%ecx,%esi
469	movl	%ecx,(%esp)
470	xorl	%ecx,%edx
471	addl	12(%esp),%ebx
472	xorl	%esi,%edi
473	rorl	$6,%edx
474	movl	%eax,%ecx
475	addl	%edi,%ebx
476	rorl	$9,%ecx
477	movl	%eax,%esi
478	movl	20(%esp),%edi
479	xorl	%eax,%ecx
480	movl	%eax,16(%esp)
481	xorl	%edi,%eax
482	rorl	$11,%ecx
483	andl	%eax,%ebp
484	leal	961987163(%ebx,%edx,1),%edx
485	xorl	%esi,%ecx
486	xorl	%edi,%ebp
487	rorl	$2,%ecx
488	addl	%edx,%ebp
489	addl	28(%esp),%edx
490	addl	%ecx,%ebp
491	movl	%edx,%esi
492	movl	(%esp),%ecx
493	rorl	$14,%edx
494	movl	4(%esp),%edi
495	xorl	%esi,%edx
496	movl	52(%esp),%ebx
497	xorl	%edi,%ecx
498	rorl	$5,%edx
499	andl	%esi,%ecx
500	movl	%esi,28(%esp)
501	xorl	%esi,%edx
502	addl	8(%esp),%ebx
503	xorl	%ecx,%edi
504	rorl	$6,%edx
505	movl	%ebp,%esi
506	addl	%edi,%ebx
507	rorl	$9,%esi
508	movl	%ebp,%ecx
509	movl	16(%esp),%edi
510	xorl	%ebp,%esi
511	movl	%ebp,12(%esp)
512	xorl	%edi,%ebp
513	rorl	$11,%esi
514	andl	%ebp,%eax
515	leal	1508970993(%ebx,%edx,1),%edx
516	xorl	%ecx,%esi
517	xorl	%edi,%eax
518	rorl	$2,%esi
519	addl	%edx,%eax
520	addl	24(%esp),%edx
521	addl	%esi,%eax
522	movl	%edx,%ecx
523	movl	28(%esp),%esi
524	rorl	$14,%edx
525	movl	(%esp),%edi
526	xorl	%ecx,%edx
527	movl	56(%esp),%ebx
528	xorl	%edi,%esi
529	rorl	$5,%edx
530	andl	%ecx,%esi
531	movl	%ecx,24(%esp)
532	xorl	%ecx,%edx
533	addl	4(%esp),%ebx
534	xorl	%esi,%edi
535	rorl	$6,%edx
536	movl	%eax,%ecx
537	addl	%edi,%ebx
538	rorl	$9,%ecx
539	movl	%eax,%esi
540	movl	12(%esp),%edi
541	xorl	%eax,%ecx
542	movl	%eax,8(%esp)
543	xorl	%edi,%eax
544	rorl	$11,%ecx
545	andl	%eax,%ebp
546	leal	2453635748(%ebx,%edx,1),%edx
547	xorl	%esi,%ecx
548	xorl	%edi,%ebp
549	rorl	$2,%ecx
550	addl	%edx,%ebp
551	addl	20(%esp),%edx
552	addl	%ecx,%ebp
553	movl	%edx,%esi
554	movl	24(%esp),%ecx
555	rorl	$14,%edx
556	movl	28(%esp),%edi
557	xorl	%esi,%edx
558	movl	60(%esp),%ebx
559	xorl	%edi,%ecx
560	rorl	$5,%edx
561	andl	%esi,%ecx
562	movl	%esi,20(%esp)
563	xorl	%esi,%edx
564	addl	(%esp),%ebx
565	xorl	%ecx,%edi
566	rorl	$6,%edx
567	movl	%ebp,%esi
568	addl	%edi,%ebx
569	rorl	$9,%esi
570	movl	%ebp,%ecx
571	movl	8(%esp),%edi
572	xorl	%ebp,%esi
573	movl	%ebp,4(%esp)
574	xorl	%edi,%ebp
575	rorl	$11,%esi
576	andl	%ebp,%eax
577	leal	2870763221(%ebx,%edx,1),%edx
578	xorl	%ecx,%esi
579	xorl	%edi,%eax
580	rorl	$2,%esi
581	addl	%edx,%eax
582	addl	16(%esp),%edx
583	addl	%esi,%eax
584	movl	%edx,%ecx
585	movl	20(%esp),%esi
586	rorl	$14,%edx
587	movl	24(%esp),%edi
588	xorl	%ecx,%edx
589	movl	64(%esp),%ebx
590	xorl	%edi,%esi
591	rorl	$5,%edx
592	andl	%ecx,%esi
593	movl	%ecx,16(%esp)
594	xorl	%ecx,%edx
595	addl	28(%esp),%ebx
596	xorl	%esi,%edi
597	rorl	$6,%edx
598	movl	%eax,%ecx
599	addl	%edi,%ebx
600	rorl	$9,%ecx
601	movl	%eax,%esi
602	movl	4(%esp),%edi
603	xorl	%eax,%ecx
604	movl	%eax,(%esp)
605	xorl	%edi,%eax
606	rorl	$11,%ecx
607	andl	%eax,%ebp
608	leal	3624381080(%ebx,%edx,1),%edx
609	xorl	%esi,%ecx
610	xorl	%edi,%ebp
611	rorl	$2,%ecx
612	addl	%edx,%ebp
613	addl	12(%esp),%edx
614	addl	%ecx,%ebp
615	movl	%edx,%esi
616	movl	16(%esp),%ecx
617	rorl	$14,%edx
618	movl	20(%esp),%edi
619	xorl	%esi,%edx
620	movl	68(%esp),%ebx
621	xorl	%edi,%ecx
622	rorl	$5,%edx
623	andl	%esi,%ecx
624	movl	%esi,12(%esp)
625	xorl	%esi,%edx
626	addl	24(%esp),%ebx
627	xorl	%ecx,%edi
628	rorl	$6,%edx
629	movl	%ebp,%esi
630	addl	%edi,%ebx
631	rorl	$9,%esi
632	movl	%ebp,%ecx
633	movl	(%esp),%edi
634	xorl	%ebp,%esi
635	movl	%ebp,28(%esp)
636	xorl	%edi,%ebp
637	rorl	$11,%esi
638	andl	%ebp,%eax
639	leal	310598401(%ebx,%edx,1),%edx
640	xorl	%ecx,%esi
641	xorl	%edi,%eax
642	rorl	$2,%esi
643	addl	%edx,%eax
644	addl	8(%esp),%edx
645	addl	%esi,%eax
646	movl	%edx,%ecx
647	movl	12(%esp),%esi
648	rorl	$14,%edx
649	movl	16(%esp),%edi
650	xorl	%ecx,%edx
651	movl	72(%esp),%ebx
652	xorl	%edi,%esi
653	rorl	$5,%edx
654	andl	%ecx,%esi
655	movl	%ecx,8(%esp)
656	xorl	%ecx,%edx
657	addl	20(%esp),%ebx
658	xorl	%esi,%edi
659	rorl	$6,%edx
660	movl	%eax,%ecx
661	addl	%edi,%ebx
662	rorl	$9,%ecx
663	movl	%eax,%esi
664	movl	28(%esp),%edi
665	xorl	%eax,%ecx
666	movl	%eax,24(%esp)
667	xorl	%edi,%eax
668	rorl	$11,%ecx
669	andl	%eax,%ebp
670	leal	607225278(%ebx,%edx,1),%edx
671	xorl	%esi,%ecx
672	xorl	%edi,%ebp
673	rorl	$2,%ecx
674	addl	%edx,%ebp
675	addl	4(%esp),%edx
676	addl	%ecx,%ebp
677	movl	%edx,%esi
678	movl	8(%esp),%ecx
679	rorl	$14,%edx
680	movl	12(%esp),%edi
681	xorl	%esi,%edx
682	movl	76(%esp),%ebx
683	xorl	%edi,%ecx
684	rorl	$5,%edx
685	andl	%esi,%ecx
686	movl	%esi,4(%esp)
687	xorl	%esi,%edx
688	addl	16(%esp),%ebx
689	xorl	%ecx,%edi
690	rorl	$6,%edx
691	movl	%ebp,%esi
692	addl	%edi,%ebx
693	rorl	$9,%esi
694	movl	%ebp,%ecx
695	movl	24(%esp),%edi
696	xorl	%ebp,%esi
697	movl	%ebp,20(%esp)
698	xorl	%edi,%ebp
699	rorl	$11,%esi
700	andl	%ebp,%eax
701	leal	1426881987(%ebx,%edx,1),%edx
702	xorl	%ecx,%esi
703	xorl	%edi,%eax
704	rorl	$2,%esi
705	addl	%edx,%eax
706	addl	(%esp),%edx
707	addl	%esi,%eax
708	movl	%edx,%ecx
709	movl	4(%esp),%esi
710	rorl	$14,%edx
711	movl	8(%esp),%edi
712	xorl	%ecx,%edx
713	movl	80(%esp),%ebx
714	xorl	%edi,%esi
715	rorl	$5,%edx
716	andl	%ecx,%esi
717	movl	%ecx,(%esp)
718	xorl	%ecx,%edx
719	addl	12(%esp),%ebx
720	xorl	%esi,%edi
721	rorl	$6,%edx
722	movl	%eax,%ecx
723	addl	%edi,%ebx
724	rorl	$9,%ecx
725	movl	%eax,%esi
726	movl	20(%esp),%edi
727	xorl	%eax,%ecx
728	movl	%eax,16(%esp)
729	xorl	%edi,%eax
730	rorl	$11,%ecx
731	andl	%eax,%ebp
732	leal	1925078388(%ebx,%edx,1),%edx
733	xorl	%esi,%ecx
734	xorl	%edi,%ebp
735	rorl	$2,%ecx
736	addl	%edx,%ebp
737	addl	28(%esp),%edx
738	addl	%ecx,%ebp
739	movl	%edx,%esi
740	movl	(%esp),%ecx
741	rorl	$14,%edx
742	movl	4(%esp),%edi
743	xorl	%esi,%edx
744	movl	84(%esp),%ebx
745	xorl	%edi,%ecx
746	rorl	$5,%edx
747	andl	%esi,%ecx
748	movl	%esi,28(%esp)
749	xorl	%esi,%edx
750	addl	8(%esp),%ebx
751	xorl	%ecx,%edi
752	rorl	$6,%edx
753	movl	%ebp,%esi
754	addl	%edi,%ebx
755	rorl	$9,%esi
756	movl	%ebp,%ecx
757	movl	16(%esp),%edi
758	xorl	%ebp,%esi
759	movl	%ebp,12(%esp)
760	xorl	%edi,%ebp
761	rorl	$11,%esi
762	andl	%ebp,%eax
763	leal	2162078206(%ebx,%edx,1),%edx
764	xorl	%ecx,%esi
765	xorl	%edi,%eax
766	rorl	$2,%esi
767	addl	%edx,%eax
768	addl	24(%esp),%edx
769	addl	%esi,%eax
770	movl	%edx,%ecx
771	movl	28(%esp),%esi
772	rorl	$14,%edx
773	movl	(%esp),%edi
774	xorl	%ecx,%edx
775	movl	88(%esp),%ebx
776	xorl	%edi,%esi
777	rorl	$5,%edx
778	andl	%ecx,%esi
779	movl	%ecx,24(%esp)
780	xorl	%ecx,%edx
781	addl	4(%esp),%ebx
782	xorl	%esi,%edi
783	rorl	$6,%edx
784	movl	%eax,%ecx
785	addl	%edi,%ebx
786	rorl	$9,%ecx
787	movl	%eax,%esi
788	movl	12(%esp),%edi
789	xorl	%eax,%ecx
790	movl	%eax,8(%esp)
791	xorl	%edi,%eax
792	rorl	$11,%ecx
793	andl	%eax,%ebp
794	leal	2614888103(%ebx,%edx,1),%edx
795	xorl	%esi,%ecx
796	xorl	%edi,%ebp
797	rorl	$2,%ecx
798	addl	%edx,%ebp
799	addl	20(%esp),%edx
800	addl	%ecx,%ebp
801	movl	%edx,%esi
802	movl	24(%esp),%ecx
803	rorl	$14,%edx
804	movl	28(%esp),%edi
805	xorl	%esi,%edx
806	movl	92(%esp),%ebx
807	xorl	%edi,%ecx
808	rorl	$5,%edx
809	andl	%esi,%ecx
810	movl	%esi,20(%esp)
811	xorl	%esi,%edx
812	addl	(%esp),%ebx
813	xorl	%ecx,%edi
814	rorl	$6,%edx
815	movl	%ebp,%esi
816	addl	%edi,%ebx
817	rorl	$9,%esi
818	movl	%ebp,%ecx
819	movl	8(%esp),%edi
820	xorl	%ebp,%esi
821	movl	%ebp,4(%esp)
822	xorl	%edi,%ebp
823	rorl	$11,%esi
824	andl	%ebp,%eax
825	leal	3248222580(%ebx,%edx,1),%edx
826	xorl	%ecx,%esi
827	xorl	%edi,%eax
828	movl	36(%esp),%ecx
829	rorl	$2,%esi
830	addl	%edx,%eax
831	addl	16(%esp),%edx
832	addl	%esi,%eax
833	movl	88(%esp),%esi
834	movl	%ecx,%ebx
835	rorl	$11,%ecx
836	movl	%esi,%edi
837	rorl	$2,%esi
838	xorl	%ebx,%ecx
839	shrl	$3,%ebx
840	rorl	$7,%ecx
841	xorl	%edi,%esi
842	xorl	%ecx,%ebx
843	rorl	$17,%esi
844	addl	32(%esp),%ebx
845	shrl	$10,%edi
846	addl	68(%esp),%ebx
847	movl	%edx,%ecx
848	xorl	%esi,%edi
849	movl	20(%esp),%esi
850	rorl	$14,%edx
851	addl	%edi,%ebx
852	movl	24(%esp),%edi
853	xorl	%ecx,%edx
854	movl	%ebx,32(%esp)
855	xorl	%edi,%esi
856	rorl	$5,%edx
857	andl	%ecx,%esi
858	movl	%ecx,16(%esp)
859	xorl	%ecx,%edx
860	addl	28(%esp),%ebx
861	xorl	%esi,%edi
862	rorl	$6,%edx
863	movl	%eax,%ecx
864	addl	%edi,%ebx
865	rorl	$9,%ecx
866	movl	%eax,%esi
867	movl	4(%esp),%edi
868	xorl	%eax,%ecx
869	movl	%eax,(%esp)
870	xorl	%edi,%eax
871	rorl	$11,%ecx
872	andl	%eax,%ebp
873	leal	3835390401(%ebx,%edx,1),%edx
874	xorl	%esi,%ecx
875	xorl	%edi,%ebp
876	movl	40(%esp),%esi
877	rorl	$2,%ecx
878	addl	%edx,%ebp
879	addl	12(%esp),%edx
880	addl	%ecx,%ebp
881	movl	92(%esp),%ecx
882	movl	%esi,%ebx
883	rorl	$11,%esi
884	movl	%ecx,%edi
885	rorl	$2,%ecx
886	xorl	%ebx,%esi
887	shrl	$3,%ebx
888	rorl	$7,%esi
889	xorl	%edi,%ecx
890	xorl	%esi,%ebx
891	rorl	$17,%ecx
892	addl	36(%esp),%ebx
893	shrl	$10,%edi
894	addl	72(%esp),%ebx
895	movl	%edx,%esi
896	xorl	%ecx,%edi
897	movl	16(%esp),%ecx
898	rorl	$14,%edx
899	addl	%edi,%ebx
900	movl	20(%esp),%edi
901	xorl	%esi,%edx
902	movl	%ebx,36(%esp)
903	xorl	%edi,%ecx
904	rorl	$5,%edx
905	andl	%esi,%ecx
906	movl	%esi,12(%esp)
907	xorl	%esi,%edx
908	addl	24(%esp),%ebx
909	xorl	%ecx,%edi
910	rorl	$6,%edx
911	movl	%ebp,%esi
912	addl	%edi,%ebx
913	rorl	$9,%esi
914	movl	%ebp,%ecx
915	movl	(%esp),%edi
916	xorl	%ebp,%esi
917	movl	%ebp,28(%esp)
918	xorl	%edi,%ebp
919	rorl	$11,%esi
920	andl	%ebp,%eax
921	leal	4022224774(%ebx,%edx,1),%edx
922	xorl	%ecx,%esi
923	xorl	%edi,%eax
924	movl	44(%esp),%ecx
925	rorl	$2,%esi
926	addl	%edx,%eax
927	addl	8(%esp),%edx
928	addl	%esi,%eax
929	movl	32(%esp),%esi
930	movl	%ecx,%ebx
931	rorl	$11,%ecx
932	movl	%esi,%edi
933	rorl	$2,%esi
934	xorl	%ebx,%ecx
935	shrl	$3,%ebx
936	rorl	$7,%ecx
937	xorl	%edi,%esi
938	xorl	%ecx,%ebx
939	rorl	$17,%esi
940	addl	40(%esp),%ebx
941	shrl	$10,%edi
942	addl	76(%esp),%ebx
943	movl	%edx,%ecx
944	xorl	%esi,%edi
945	movl	12(%esp),%esi
946	rorl	$14,%edx
947	addl	%edi,%ebx
948	movl	16(%esp),%edi
949	xorl	%ecx,%edx
950	movl	%ebx,40(%esp)
951	xorl	%edi,%esi
952	rorl	$5,%edx
953	andl	%ecx,%esi
954	movl	%ecx,8(%esp)
955	xorl	%ecx,%edx
956	addl	20(%esp),%ebx
957	xorl	%esi,%edi
958	rorl	$6,%edx
959	movl	%eax,%ecx
960	addl	%edi,%ebx
961	rorl	$9,%ecx
962	movl	%eax,%esi
963	movl	28(%esp),%edi
964	xorl	%eax,%ecx
965	movl	%eax,24(%esp)
966	xorl	%edi,%eax
967	rorl	$11,%ecx
968	andl	%eax,%ebp
969	leal	264347078(%ebx,%edx,1),%edx
970	xorl	%esi,%ecx
971	xorl	%edi,%ebp
972	movl	48(%esp),%esi
973	rorl	$2,%ecx
974	addl	%edx,%ebp
975	addl	4(%esp),%edx
976	addl	%ecx,%ebp
977	movl	36(%esp),%ecx
978	movl	%esi,%ebx
979	rorl	$11,%esi
980	movl	%ecx,%edi
981	rorl	$2,%ecx
982	xorl	%ebx,%esi
983	shrl	$3,%ebx
984	rorl	$7,%esi
985	xorl	%edi,%ecx
986	xorl	%esi,%ebx
987	rorl	$17,%ecx
988	addl	44(%esp),%ebx
989	shrl	$10,%edi
990	addl	80(%esp),%ebx
991	movl	%edx,%esi
992	xorl	%ecx,%edi
993	movl	8(%esp),%ecx
994	rorl	$14,%edx
995	addl	%edi,%ebx
996	movl	12(%esp),%edi
997	xorl	%esi,%edx
998	movl	%ebx,44(%esp)
999	xorl	%edi,%ecx
1000	rorl	$5,%edx
1001	andl	%esi,%ecx
1002	movl	%esi,4(%esp)
1003	xorl	%esi,%edx
1004	addl	16(%esp),%ebx
1005	xorl	%ecx,%edi
1006	rorl	$6,%edx
1007	movl	%ebp,%esi
1008	addl	%edi,%ebx
1009	rorl	$9,%esi
1010	movl	%ebp,%ecx
1011	movl	24(%esp),%edi
1012	xorl	%ebp,%esi
1013	movl	%ebp,20(%esp)
1014	xorl	%edi,%ebp
1015	rorl	$11,%esi
1016	andl	%ebp,%eax
1017	leal	604807628(%ebx,%edx,1),%edx
1018	xorl	%ecx,%esi
1019	xorl	%edi,%eax
1020	movl	52(%esp),%ecx
1021	rorl	$2,%esi
1022	addl	%edx,%eax
1023	addl	(%esp),%edx
1024	addl	%esi,%eax
1025	movl	40(%esp),%esi
1026	movl	%ecx,%ebx
1027	rorl	$11,%ecx
1028	movl	%esi,%edi
1029	rorl	$2,%esi
1030	xorl	%ebx,%ecx
1031	shrl	$3,%ebx
1032	rorl	$7,%ecx
1033	xorl	%edi,%esi
1034	xorl	%ecx,%ebx
1035	rorl	$17,%esi
1036	addl	48(%esp),%ebx
1037	shrl	$10,%edi
1038	addl	84(%esp),%ebx
1039	movl	%edx,%ecx
1040	xorl	%esi,%edi
1041	movl	4(%esp),%esi
1042	rorl	$14,%edx
1043	addl	%edi,%ebx
1044	movl	8(%esp),%edi
1045	xorl	%ecx,%edx
1046	movl	%ebx,48(%esp)
1047	xorl	%edi,%esi
1048	rorl	$5,%edx
1049	andl	%ecx,%esi
1050	movl	%ecx,(%esp)
1051	xorl	%ecx,%edx
1052	addl	12(%esp),%ebx
1053	xorl	%esi,%edi
1054	rorl	$6,%edx
1055	movl	%eax,%ecx
1056	addl	%edi,%ebx
1057	rorl	$9,%ecx
1058	movl	%eax,%esi
1059	movl	20(%esp),%edi
1060	xorl	%eax,%ecx
1061	movl	%eax,16(%esp)
1062	xorl	%edi,%eax
1063	rorl	$11,%ecx
1064	andl	%eax,%ebp
1065	leal	770255983(%ebx,%edx,1),%edx
1066	xorl	%esi,%ecx
1067	xorl	%edi,%ebp
1068	movl	56(%esp),%esi
1069	rorl	$2,%ecx
1070	addl	%edx,%ebp
1071	addl	28(%esp),%edx
1072	addl	%ecx,%ebp
1073	movl	44(%esp),%ecx
1074	movl	%esi,%ebx
1075	rorl	$11,%esi
1076	movl	%ecx,%edi
1077	rorl	$2,%ecx
1078	xorl	%ebx,%esi
1079	shrl	$3,%ebx
1080	rorl	$7,%esi
1081	xorl	%edi,%ecx
1082	xorl	%esi,%ebx
1083	rorl	$17,%ecx
1084	addl	52(%esp),%ebx
1085	shrl	$10,%edi
1086	addl	88(%esp),%ebx
1087	movl	%edx,%esi
1088	xorl	%ecx,%edi
1089	movl	(%esp),%ecx
1090	rorl	$14,%edx
1091	addl	%edi,%ebx
1092	movl	4(%esp),%edi
1093	xorl	%esi,%edx
1094	movl	%ebx,52(%esp)
1095	xorl	%edi,%ecx
1096	rorl	$5,%edx
1097	andl	%esi,%ecx
1098	movl	%esi,28(%esp)
1099	xorl	%esi,%edx
1100	addl	8(%esp),%ebx
1101	xorl	%ecx,%edi
1102	rorl	$6,%edx
1103	movl	%ebp,%esi
1104	addl	%edi,%ebx
1105	rorl	$9,%esi
1106	movl	%ebp,%ecx
1107	movl	16(%esp),%edi
1108	xorl	%ebp,%esi
1109	movl	%ebp,12(%esp)
1110	xorl	%edi,%ebp
1111	rorl	$11,%esi
1112	andl	%ebp,%eax
1113	leal	1249150122(%ebx,%edx,1),%edx
1114	xorl	%ecx,%esi
1115	xorl	%edi,%eax
1116	movl	60(%esp),%ecx
1117	rorl	$2,%esi
1118	addl	%edx,%eax
1119	addl	24(%esp),%edx
1120	addl	%esi,%eax
1121	movl	48(%esp),%esi
1122	movl	%ecx,%ebx
1123	rorl	$11,%ecx
1124	movl	%esi,%edi
1125	rorl	$2,%esi
1126	xorl	%ebx,%ecx
1127	shrl	$3,%ebx
1128	rorl	$7,%ecx
1129	xorl	%edi,%esi
1130	xorl	%ecx,%ebx
1131	rorl	$17,%esi
1132	addl	56(%esp),%ebx
1133	shrl	$10,%edi
1134	addl	92(%esp),%ebx
1135	movl	%edx,%ecx
1136	xorl	%esi,%edi
1137	movl	28(%esp),%esi
1138	rorl	$14,%edx
1139	addl	%edi,%ebx
1140	movl	(%esp),%edi
1141	xorl	%ecx,%edx
1142	movl	%ebx,56(%esp)
1143	xorl	%edi,%esi
1144	rorl	$5,%edx
1145	andl	%ecx,%esi
1146	movl	%ecx,24(%esp)
1147	xorl	%ecx,%edx
1148	addl	4(%esp),%ebx
1149	xorl	%esi,%edi
1150	rorl	$6,%edx
1151	movl	%eax,%ecx
1152	addl	%edi,%ebx
1153	rorl	$9,%ecx
1154	movl	%eax,%esi
1155	movl	12(%esp),%edi
1156	xorl	%eax,%ecx
1157	movl	%eax,8(%esp)
1158	xorl	%edi,%eax
1159	rorl	$11,%ecx
1160	andl	%eax,%ebp
1161	leal	1555081692(%ebx,%edx,1),%edx
1162	xorl	%esi,%ecx
1163	xorl	%edi,%ebp
1164	movl	64(%esp),%esi
1165	rorl	$2,%ecx
1166	addl	%edx,%ebp
1167	addl	20(%esp),%edx
1168	addl	%ecx,%ebp
1169	movl	52(%esp),%ecx
1170	movl	%esi,%ebx
1171	rorl	$11,%esi
1172	movl	%ecx,%edi
1173	rorl	$2,%ecx
1174	xorl	%ebx,%esi
1175	shrl	$3,%ebx
1176	rorl	$7,%esi
1177	xorl	%edi,%ecx
1178	xorl	%esi,%ebx
1179	rorl	$17,%ecx
1180	addl	60(%esp),%ebx
1181	shrl	$10,%edi
1182	addl	32(%esp),%ebx
1183	movl	%edx,%esi
1184	xorl	%ecx,%edi
1185	movl	24(%esp),%ecx
1186	rorl	$14,%edx
1187	addl	%edi,%ebx
1188	movl	28(%esp),%edi
1189	xorl	%esi,%edx
1190	movl	%ebx,60(%esp)
1191	xorl	%edi,%ecx
1192	rorl	$5,%edx
1193	andl	%esi,%ecx
1194	movl	%esi,20(%esp)
1195	xorl	%esi,%edx
1196	addl	(%esp),%ebx
1197	xorl	%ecx,%edi
1198	rorl	$6,%edx
1199	movl	%ebp,%esi
1200	addl	%edi,%ebx
1201	rorl	$9,%esi
1202	movl	%ebp,%ecx
1203	movl	8(%esp),%edi
1204	xorl	%ebp,%esi
1205	movl	%ebp,4(%esp)
1206	xorl	%edi,%ebp
1207	rorl	$11,%esi
1208	andl	%ebp,%eax
1209	leal	1996064986(%ebx,%edx,1),%edx
1210	xorl	%ecx,%esi
1211	xorl	%edi,%eax
1212	movl	68(%esp),%ecx
1213	rorl	$2,%esi
1214	addl	%edx,%eax
1215	addl	16(%esp),%edx
1216	addl	%esi,%eax
1217	movl	56(%esp),%esi
1218	movl	%ecx,%ebx
1219	rorl	$11,%ecx
1220	movl	%esi,%edi
1221	rorl	$2,%esi
1222	xorl	%ebx,%ecx
1223	shrl	$3,%ebx
1224	rorl	$7,%ecx
1225	xorl	%edi,%esi
1226	xorl	%ecx,%ebx
1227	rorl	$17,%esi
1228	addl	64(%esp),%ebx
1229	shrl	$10,%edi
1230	addl	36(%esp),%ebx
1231	movl	%edx,%ecx
1232	xorl	%esi,%edi
1233	movl	20(%esp),%esi
1234	rorl	$14,%edx
1235	addl	%edi,%ebx
1236	movl	24(%esp),%edi
1237	xorl	%ecx,%edx
1238	movl	%ebx,64(%esp)
1239	xorl	%edi,%esi
1240	rorl	$5,%edx
1241	andl	%ecx,%esi
1242	movl	%ecx,16(%esp)
1243	xorl	%ecx,%edx
1244	addl	28(%esp),%ebx
1245	xorl	%esi,%edi
1246	rorl	$6,%edx
1247	movl	%eax,%ecx
1248	addl	%edi,%ebx
1249	rorl	$9,%ecx
1250	movl	%eax,%esi
1251	movl	4(%esp),%edi
1252	xorl	%eax,%ecx
1253	movl	%eax,(%esp)
1254	xorl	%edi,%eax
1255	rorl	$11,%ecx
1256	andl	%eax,%ebp
1257	leal	2554220882(%ebx,%edx,1),%edx
1258	xorl	%esi,%ecx
1259	xorl	%edi,%ebp
1260	movl	72(%esp),%esi
1261	rorl	$2,%ecx
1262	addl	%edx,%ebp
1263	addl	12(%esp),%edx
1264	addl	%ecx,%ebp
1265	movl	60(%esp),%ecx
1266	movl	%esi,%ebx
1267	rorl	$11,%esi
1268	movl	%ecx,%edi
1269	rorl	$2,%ecx
1270	xorl	%ebx,%esi
1271	shrl	$3,%ebx
1272	rorl	$7,%esi
1273	xorl	%edi,%ecx
1274	xorl	%esi,%ebx
1275	rorl	$17,%ecx
1276	addl	68(%esp),%ebx
1277	shrl	$10,%edi
1278	addl	40(%esp),%ebx
1279	movl	%edx,%esi
1280	xorl	%ecx,%edi
1281	movl	16(%esp),%ecx
1282	rorl	$14,%edx
1283	addl	%edi,%ebx
1284	movl	20(%esp),%edi
1285	xorl	%esi,%edx
1286	movl	%ebx,68(%esp)
1287	xorl	%edi,%ecx
1288	rorl	$5,%edx
1289	andl	%esi,%ecx
1290	movl	%esi,12(%esp)
1291	xorl	%esi,%edx
1292	addl	24(%esp),%ebx
1293	xorl	%ecx,%edi
1294	rorl	$6,%edx
1295	movl	%ebp,%esi
1296	addl	%edi,%ebx
1297	rorl	$9,%esi
1298	movl	%ebp,%ecx
1299	movl	(%esp),%edi
1300	xorl	%ebp,%esi
1301	movl	%ebp,28(%esp)
1302	xorl	%edi,%ebp
1303	rorl	$11,%esi
1304	andl	%ebp,%eax
1305	leal	2821834349(%ebx,%edx,1),%edx
1306	xorl	%ecx,%esi
1307	xorl	%edi,%eax
1308	movl	76(%esp),%ecx
1309	rorl	$2,%esi
1310	addl	%edx,%eax
1311	addl	8(%esp),%edx
1312	addl	%esi,%eax
1313	movl	64(%esp),%esi
1314	movl	%ecx,%ebx
1315	rorl	$11,%ecx
1316	movl	%esi,%edi
1317	rorl	$2,%esi
1318	xorl	%ebx,%ecx
1319	shrl	$3,%ebx
1320	rorl	$7,%ecx
1321	xorl	%edi,%esi
1322	xorl	%ecx,%ebx
1323	rorl	$17,%esi
1324	addl	72(%esp),%ebx
1325	shrl	$10,%edi
1326	addl	44(%esp),%ebx
1327	movl	%edx,%ecx
1328	xorl	%esi,%edi
1329	movl	12(%esp),%esi
1330	rorl	$14,%edx
1331	addl	%edi,%ebx
1332	movl	16(%esp),%edi
1333	xorl	%ecx,%edx
1334	movl	%ebx,72(%esp)
1335	xorl	%edi,%esi
1336	rorl	$5,%edx
1337	andl	%ecx,%esi
1338	movl	%ecx,8(%esp)
1339	xorl	%ecx,%edx
1340	addl	20(%esp),%ebx
1341	xorl	%esi,%edi
1342	rorl	$6,%edx
1343	movl	%eax,%ecx
1344	addl	%edi,%ebx
1345	rorl	$9,%ecx
1346	movl	%eax,%esi
1347	movl	28(%esp),%edi
1348	xorl	%eax,%ecx
1349	movl	%eax,24(%esp)
1350	xorl	%edi,%eax
1351	rorl	$11,%ecx
1352	andl	%eax,%ebp
1353	leal	2952996808(%ebx,%edx,1),%edx
1354	xorl	%esi,%ecx
1355	xorl	%edi,%ebp
1356	movl	80(%esp),%esi
1357	rorl	$2,%ecx
1358	addl	%edx,%ebp
1359	addl	4(%esp),%edx
1360	addl	%ecx,%ebp
1361	movl	68(%esp),%ecx
1362	movl	%esi,%ebx
1363	rorl	$11,%esi
1364	movl	%ecx,%edi
1365	rorl	$2,%ecx
1366	xorl	%ebx,%esi
1367	shrl	$3,%ebx
1368	rorl	$7,%esi
1369	xorl	%edi,%ecx
1370	xorl	%esi,%ebx
1371	rorl	$17,%ecx
1372	addl	76(%esp),%ebx
1373	shrl	$10,%edi
1374	addl	48(%esp),%ebx
1375	movl	%edx,%esi
1376	xorl	%ecx,%edi
1377	movl	8(%esp),%ecx
1378	rorl	$14,%edx
1379	addl	%edi,%ebx
1380	movl	12(%esp),%edi
1381	xorl	%esi,%edx
1382	movl	%ebx,76(%esp)
1383	xorl	%edi,%ecx
1384	rorl	$5,%edx
1385	andl	%esi,%ecx
1386	movl	%esi,4(%esp)
1387	xorl	%esi,%edx
1388	addl	16(%esp),%ebx
1389	xorl	%ecx,%edi
1390	rorl	$6,%edx
1391	movl	%ebp,%esi
1392	addl	%edi,%ebx
1393	rorl	$9,%esi
1394	movl	%ebp,%ecx
1395	movl	24(%esp),%edi
1396	xorl	%ebp,%esi
1397	movl	%ebp,20(%esp)
1398	xorl	%edi,%ebp
1399	rorl	$11,%esi
1400	andl	%ebp,%eax
1401	leal	3210313671(%ebx,%edx,1),%edx
1402	xorl	%ecx,%esi
1403	xorl	%edi,%eax
1404	movl	84(%esp),%ecx
1405	rorl	$2,%esi
1406	addl	%edx,%eax
1407	addl	(%esp),%edx
1408	addl	%esi,%eax
1409	movl	72(%esp),%esi
1410	movl	%ecx,%ebx
1411	rorl	$11,%ecx
1412	movl	%esi,%edi
1413	rorl	$2,%esi
1414	xorl	%ebx,%ecx
1415	shrl	$3,%ebx
1416	rorl	$7,%ecx
1417	xorl	%edi,%esi
1418	xorl	%ecx,%ebx
1419	rorl	$17,%esi
1420	addl	80(%esp),%ebx
1421	shrl	$10,%edi
1422	addl	52(%esp),%ebx
1423	movl	%edx,%ecx
1424	xorl	%esi,%edi
1425	movl	4(%esp),%esi
1426	rorl	$14,%edx
1427	addl	%edi,%ebx
1428	movl	8(%esp),%edi
1429	xorl	%ecx,%edx
1430	movl	%ebx,80(%esp)
1431	xorl	%edi,%esi
1432	rorl	$5,%edx
1433	andl	%ecx,%esi
1434	movl	%ecx,(%esp)
1435	xorl	%ecx,%edx
1436	addl	12(%esp),%ebx
1437	xorl	%esi,%edi
1438	rorl	$6,%edx
1439	movl	%eax,%ecx
1440	addl	%edi,%ebx
1441	rorl	$9,%ecx
1442	movl	%eax,%esi
1443	movl	20(%esp),%edi
1444	xorl	%eax,%ecx
1445	movl	%eax,16(%esp)
1446	xorl	%edi,%eax
1447	rorl	$11,%ecx
1448	andl	%eax,%ebp
1449	leal	3336571891(%ebx,%edx,1),%edx
1450	xorl	%esi,%ecx
1451	xorl	%edi,%ebp
1452	movl	88(%esp),%esi
1453	rorl	$2,%ecx
1454	addl	%edx,%ebp
1455	addl	28(%esp),%edx
1456	addl	%ecx,%ebp
1457	movl	76(%esp),%ecx
1458	movl	%esi,%ebx
1459	rorl	$11,%esi
1460	movl	%ecx,%edi
1461	rorl	$2,%ecx
1462	xorl	%ebx,%esi
1463	shrl	$3,%ebx
1464	rorl	$7,%esi
1465	xorl	%edi,%ecx
1466	xorl	%esi,%ebx
1467	rorl	$17,%ecx
1468	addl	84(%esp),%ebx
1469	shrl	$10,%edi
1470	addl	56(%esp),%ebx
1471	movl	%edx,%esi
1472	xorl	%ecx,%edi
1473	movl	(%esp),%ecx
1474	rorl	$14,%edx
1475	addl	%edi,%ebx
1476	movl	4(%esp),%edi
1477	xorl	%esi,%edx
1478	movl	%ebx,84(%esp)
1479	xorl	%edi,%ecx
1480	rorl	$5,%edx
1481	andl	%esi,%ecx
1482	movl	%esi,28(%esp)
1483	xorl	%esi,%edx
1484	addl	8(%esp),%ebx
1485	xorl	%ecx,%edi
1486	rorl	$6,%edx
1487	movl	%ebp,%esi
1488	addl	%edi,%ebx
1489	rorl	$9,%esi
1490	movl	%ebp,%ecx
1491	movl	16(%esp),%edi
1492	xorl	%ebp,%esi
1493	movl	%ebp,12(%esp)
1494	xorl	%edi,%ebp
1495	rorl	$11,%esi
1496	andl	%ebp,%eax
1497	leal	3584528711(%ebx,%edx,1),%edx
1498	xorl	%ecx,%esi
1499	xorl	%edi,%eax
1500	movl	92(%esp),%ecx
1501	rorl	$2,%esi
1502	addl	%edx,%eax
1503	addl	24(%esp),%edx
1504	addl	%esi,%eax
1505	movl	80(%esp),%esi
1506	movl	%ecx,%ebx
1507	rorl	$11,%ecx
1508	movl	%esi,%edi
1509	rorl	$2,%esi
1510	xorl	%ebx,%ecx
1511	shrl	$3,%ebx
1512	rorl	$7,%ecx
1513	xorl	%edi,%esi
1514	xorl	%ecx,%ebx
1515	rorl	$17,%esi
1516	addl	88(%esp),%ebx
1517	shrl	$10,%edi
1518	addl	60(%esp),%ebx
1519	movl	%edx,%ecx
1520	xorl	%esi,%edi
1521	movl	28(%esp),%esi
1522	rorl	$14,%edx
1523	addl	%edi,%ebx
1524	movl	(%esp),%edi
1525	xorl	%ecx,%edx
1526	movl	%ebx,88(%esp)
1527	xorl	%edi,%esi
1528	rorl	$5,%edx
1529	andl	%ecx,%esi
1530	movl	%ecx,24(%esp)
1531	xorl	%ecx,%edx
1532	addl	4(%esp),%ebx
1533	xorl	%esi,%edi
1534	rorl	$6,%edx
1535	movl	%eax,%ecx
1536	addl	%edi,%ebx
1537	rorl	$9,%ecx
1538	movl	%eax,%esi
1539	movl	12(%esp),%edi
1540	xorl	%eax,%ecx
1541	movl	%eax,8(%esp)
1542	xorl	%edi,%eax
1543	rorl	$11,%ecx
1544	andl	%eax,%ebp
1545	leal	113926993(%ebx,%edx,1),%edx
1546	xorl	%esi,%ecx
1547	xorl	%edi,%ebp
1548	movl	32(%esp),%esi
1549	rorl	$2,%ecx
1550	addl	%edx,%ebp
1551	addl	20(%esp),%edx
1552	addl	%ecx,%ebp
1553	movl	84(%esp),%ecx
1554	movl	%esi,%ebx
1555	rorl	$11,%esi
1556	movl	%ecx,%edi
1557	rorl	$2,%ecx
1558	xorl	%ebx,%esi
1559	shrl	$3,%ebx
1560	rorl	$7,%esi
1561	xorl	%edi,%ecx
1562	xorl	%esi,%ebx
1563	rorl	$17,%ecx
1564	addl	92(%esp),%ebx
1565	shrl	$10,%edi
1566	addl	64(%esp),%ebx
1567	movl	%edx,%esi
1568	xorl	%ecx,%edi
1569	movl	24(%esp),%ecx
1570	rorl	$14,%edx
1571	addl	%edi,%ebx
1572	movl	28(%esp),%edi
1573	xorl	%esi,%edx
1574	movl	%ebx,92(%esp)
1575	xorl	%edi,%ecx
1576	rorl	$5,%edx
1577	andl	%esi,%ecx
1578	movl	%esi,20(%esp)
1579	xorl	%esi,%edx
1580	addl	(%esp),%ebx
1581	xorl	%ecx,%edi
1582	rorl	$6,%edx
1583	movl	%ebp,%esi
1584	addl	%edi,%ebx
1585	rorl	$9,%esi
1586	movl	%ebp,%ecx
1587	movl	8(%esp),%edi
1588	xorl	%ebp,%esi
1589	movl	%ebp,4(%esp)
1590	xorl	%edi,%ebp
1591	rorl	$11,%esi
1592	andl	%ebp,%eax
1593	leal	338241895(%ebx,%edx,1),%edx
1594	xorl	%ecx,%esi
1595	xorl	%edi,%eax
1596	movl	36(%esp),%ecx
1597	rorl	$2,%esi
1598	addl	%edx,%eax
1599	addl	16(%esp),%edx
1600	addl	%esi,%eax
1601	movl	88(%esp),%esi
1602	movl	%ecx,%ebx
1603	rorl	$11,%ecx
1604	movl	%esi,%edi
1605	rorl	$2,%esi
1606	xorl	%ebx,%ecx
1607	shrl	$3,%ebx
1608	rorl	$7,%ecx
1609	xorl	%edi,%esi
1610	xorl	%ecx,%ebx
1611	rorl	$17,%esi
1612	addl	32(%esp),%ebx
1613	shrl	$10,%edi
1614	addl	68(%esp),%ebx
1615	movl	%edx,%ecx
1616	xorl	%esi,%edi
1617	movl	20(%esp),%esi
1618	rorl	$14,%edx
1619	addl	%edi,%ebx
1620	movl	24(%esp),%edi
1621	xorl	%ecx,%edx
1622	movl	%ebx,32(%esp)
1623	xorl	%edi,%esi
1624	rorl	$5,%edx
1625	andl	%ecx,%esi
1626	movl	%ecx,16(%esp)
1627	xorl	%ecx,%edx
1628	addl	28(%esp),%ebx
1629	xorl	%esi,%edi
1630	rorl	$6,%edx
1631	movl	%eax,%ecx
1632	addl	%edi,%ebx
1633	rorl	$9,%ecx
1634	movl	%eax,%esi
1635	movl	4(%esp),%edi
1636	xorl	%eax,%ecx
1637	movl	%eax,(%esp)
1638	xorl	%edi,%eax
1639	rorl	$11,%ecx
1640	andl	%eax,%ebp
1641	leal	666307205(%ebx,%edx,1),%edx
1642	xorl	%esi,%ecx
1643	xorl	%edi,%ebp
1644	movl	40(%esp),%esi
1645	rorl	$2,%ecx
1646	addl	%edx,%ebp
1647	addl	12(%esp),%edx
1648	addl	%ecx,%ebp
1649	movl	92(%esp),%ecx
1650	movl	%esi,%ebx
1651	rorl	$11,%esi
1652	movl	%ecx,%edi
1653	rorl	$2,%ecx
1654	xorl	%ebx,%esi
1655	shrl	$3,%ebx
1656	rorl	$7,%esi
1657	xorl	%edi,%ecx
1658	xorl	%esi,%ebx
1659	rorl	$17,%ecx
1660	addl	36(%esp),%ebx
1661	shrl	$10,%edi
1662	addl	72(%esp),%ebx
1663	movl	%edx,%esi
1664	xorl	%ecx,%edi
1665	movl	16(%esp),%ecx
1666	rorl	$14,%edx
1667	addl	%edi,%ebx
1668	movl	20(%esp),%edi
1669	xorl	%esi,%edx
1670	movl	%ebx,36(%esp)
1671	xorl	%edi,%ecx
1672	rorl	$5,%edx
1673	andl	%esi,%ecx
1674	movl	%esi,12(%esp)
1675	xorl	%esi,%edx
1676	addl	24(%esp),%ebx
1677	xorl	%ecx,%edi
1678	rorl	$6,%edx
1679	movl	%ebp,%esi
1680	addl	%edi,%ebx
1681	rorl	$9,%esi
1682	movl	%ebp,%ecx
1683	movl	(%esp),%edi
1684	xorl	%ebp,%esi
1685	movl	%ebp,28(%esp)
1686	xorl	%edi,%ebp
1687	rorl	$11,%esi
1688	andl	%ebp,%eax
1689	leal	773529912(%ebx,%edx,1),%edx
1690	xorl	%ecx,%esi
1691	xorl	%edi,%eax
1692	movl	44(%esp),%ecx
1693	rorl	$2,%esi
1694	addl	%edx,%eax
1695	addl	8(%esp),%edx
1696	addl	%esi,%eax
1697	movl	32(%esp),%esi
1698	movl	%ecx,%ebx
1699	rorl	$11,%ecx
1700	movl	%esi,%edi
1701	rorl	$2,%esi
1702	xorl	%ebx,%ecx
1703	shrl	$3,%ebx
1704	rorl	$7,%ecx
1705	xorl	%edi,%esi
1706	xorl	%ecx,%ebx
1707	rorl	$17,%esi
1708	addl	40(%esp),%ebx
1709	shrl	$10,%edi
1710	addl	76(%esp),%ebx
1711	movl	%edx,%ecx
1712	xorl	%esi,%edi
1713	movl	12(%esp),%esi
1714	rorl	$14,%edx
1715	addl	%edi,%ebx
1716	movl	16(%esp),%edi
1717	xorl	%ecx,%edx
1718	movl	%ebx,40(%esp)
1719	xorl	%edi,%esi
1720	rorl	$5,%edx
1721	andl	%ecx,%esi
1722	movl	%ecx,8(%esp)
1723	xorl	%ecx,%edx
1724	addl	20(%esp),%ebx
1725	xorl	%esi,%edi
1726	rorl	$6,%edx
1727	movl	%eax,%ecx
1728	addl	%edi,%ebx
1729	rorl	$9,%ecx
1730	movl	%eax,%esi
1731	movl	28(%esp),%edi
1732	xorl	%eax,%ecx
1733	movl	%eax,24(%esp)
1734	xorl	%edi,%eax
1735	rorl	$11,%ecx
1736	andl	%eax,%ebp
1737	leal	1294757372(%ebx,%edx,1),%edx
1738	xorl	%esi,%ecx
1739	xorl	%edi,%ebp
1740	movl	48(%esp),%esi
1741	rorl	$2,%ecx
1742	addl	%edx,%ebp
1743	addl	4(%esp),%edx
1744	addl	%ecx,%ebp
1745	movl	36(%esp),%ecx
1746	movl	%esi,%ebx
1747	rorl	$11,%esi
1748	movl	%ecx,%edi
1749	rorl	$2,%ecx
1750	xorl	%ebx,%esi
1751	shrl	$3,%ebx
1752	rorl	$7,%esi
1753	xorl	%edi,%ecx
1754	xorl	%esi,%ebx
1755	rorl	$17,%ecx
1756	addl	44(%esp),%ebx
1757	shrl	$10,%edi
1758	addl	80(%esp),%ebx
1759	movl	%edx,%esi
1760	xorl	%ecx,%edi
1761	movl	8(%esp),%ecx
1762	rorl	$14,%edx
1763	addl	%edi,%ebx
1764	movl	12(%esp),%edi
1765	xorl	%esi,%edx
1766	movl	%ebx,44(%esp)
1767	xorl	%edi,%ecx
1768	rorl	$5,%edx
1769	andl	%esi,%ecx
1770	movl	%esi,4(%esp)
1771	xorl	%esi,%edx
1772	addl	16(%esp),%ebx
1773	xorl	%ecx,%edi
1774	rorl	$6,%edx
1775	movl	%ebp,%esi
1776	addl	%edi,%ebx
1777	rorl	$9,%esi
1778	movl	%ebp,%ecx
1779	movl	24(%esp),%edi
1780	xorl	%ebp,%esi
1781	movl	%ebp,20(%esp)
1782	xorl	%edi,%ebp
1783	rorl	$11,%esi
1784	andl	%ebp,%eax
1785	leal	1396182291(%ebx,%edx,1),%edx
1786	xorl	%ecx,%esi
1787	xorl	%edi,%eax
1788	movl	52(%esp),%ecx
1789	rorl	$2,%esi
1790	addl	%edx,%eax
1791	addl	(%esp),%edx
1792	addl	%esi,%eax
1793	movl	40(%esp),%esi
1794	movl	%ecx,%ebx
1795	rorl	$11,%ecx
1796	movl	%esi,%edi
1797	rorl	$2,%esi
1798	xorl	%ebx,%ecx
1799	shrl	$3,%ebx
1800	rorl	$7,%ecx
1801	xorl	%edi,%esi
1802	xorl	%ecx,%ebx
1803	rorl	$17,%esi
1804	addl	48(%esp),%ebx
1805	shrl	$10,%edi
1806	addl	84(%esp),%ebx
1807	movl	%edx,%ecx
1808	xorl	%esi,%edi
1809	movl	4(%esp),%esi
1810	rorl	$14,%edx
1811	addl	%edi,%ebx
1812	movl	8(%esp),%edi
1813	xorl	%ecx,%edx
1814	movl	%ebx,48(%esp)
1815	xorl	%edi,%esi
1816	rorl	$5,%edx
1817	andl	%ecx,%esi
1818	movl	%ecx,(%esp)
1819	xorl	%ecx,%edx
1820	addl	12(%esp),%ebx
1821	xorl	%esi,%edi
1822	rorl	$6,%edx
1823	movl	%eax,%ecx
1824	addl	%edi,%ebx
1825	rorl	$9,%ecx
1826	movl	%eax,%esi
1827	movl	20(%esp),%edi
1828	xorl	%eax,%ecx
1829	movl	%eax,16(%esp)
1830	xorl	%edi,%eax
1831	rorl	$11,%ecx
1832	andl	%eax,%ebp
1833	leal	1695183700(%ebx,%edx,1),%edx
1834	xorl	%esi,%ecx
1835	xorl	%edi,%ebp
1836	movl	56(%esp),%esi
1837	rorl	$2,%ecx
1838	addl	%edx,%ebp
1839	addl	28(%esp),%edx
1840	addl	%ecx,%ebp
1841	movl	44(%esp),%ecx
1842	movl	%esi,%ebx
1843	rorl	$11,%esi
1844	movl	%ecx,%edi
1845	rorl	$2,%ecx
1846	xorl	%ebx,%esi
1847	shrl	$3,%ebx
1848	rorl	$7,%esi
1849	xorl	%edi,%ecx
1850	xorl	%esi,%ebx
1851	rorl	$17,%ecx
1852	addl	52(%esp),%ebx
1853	shrl	$10,%edi
1854	addl	88(%esp),%ebx
1855	movl	%edx,%esi
1856	xorl	%ecx,%edi
1857	movl	(%esp),%ecx
1858	rorl	$14,%edx
1859	addl	%edi,%ebx
1860	movl	4(%esp),%edi
1861	xorl	%esi,%edx
1862	movl	%ebx,52(%esp)
1863	xorl	%edi,%ecx
1864	rorl	$5,%edx
1865	andl	%esi,%ecx
1866	movl	%esi,28(%esp)
1867	xorl	%esi,%edx
1868	addl	8(%esp),%ebx
1869	xorl	%ecx,%edi
1870	rorl	$6,%edx
1871	movl	%ebp,%esi
1872	addl	%edi,%ebx
1873	rorl	$9,%esi
1874	movl	%ebp,%ecx
1875	movl	16(%esp),%edi
1876	xorl	%ebp,%esi
1877	movl	%ebp,12(%esp)
1878	xorl	%edi,%ebp
1879	rorl	$11,%esi
1880	andl	%ebp,%eax
1881	leal	1986661051(%ebx,%edx,1),%edx
1882	xorl	%ecx,%esi
1883	xorl	%edi,%eax
1884	movl	60(%esp),%ecx
1885	rorl	$2,%esi
1886	addl	%edx,%eax
1887	addl	24(%esp),%edx
1888	addl	%esi,%eax
1889	movl	48(%esp),%esi
1890	movl	%ecx,%ebx
1891	rorl	$11,%ecx
1892	movl	%esi,%edi
1893	rorl	$2,%esi
1894	xorl	%ebx,%ecx
1895	shrl	$3,%ebx
1896	rorl	$7,%ecx
1897	xorl	%edi,%esi
1898	xorl	%ecx,%ebx
1899	rorl	$17,%esi
1900	addl	56(%esp),%ebx
1901	shrl	$10,%edi
1902	addl	92(%esp),%ebx
1903	movl	%edx,%ecx
1904	xorl	%esi,%edi
1905	movl	28(%esp),%esi
1906	rorl	$14,%edx
1907	addl	%edi,%ebx
1908	movl	(%esp),%edi
1909	xorl	%ecx,%edx
1910	movl	%ebx,56(%esp)
1911	xorl	%edi,%esi
1912	rorl	$5,%edx
1913	andl	%ecx,%esi
1914	movl	%ecx,24(%esp)
1915	xorl	%ecx,%edx
1916	addl	4(%esp),%ebx
1917	xorl	%esi,%edi
1918	rorl	$6,%edx
1919	movl	%eax,%ecx
1920	addl	%edi,%ebx
1921	rorl	$9,%ecx
1922	movl	%eax,%esi
1923	movl	12(%esp),%edi
1924	xorl	%eax,%ecx
1925	movl	%eax,8(%esp)
1926	xorl	%edi,%eax
1927	rorl	$11,%ecx
1928	andl	%eax,%ebp
1929	leal	2177026350(%ebx,%edx,1),%edx
1930	xorl	%esi,%ecx
1931	xorl	%edi,%ebp
1932	movl	64(%esp),%esi
1933	rorl	$2,%ecx
1934	addl	%edx,%ebp
1935	addl	20(%esp),%edx
1936	addl	%ecx,%ebp
1937	movl	52(%esp),%ecx
1938	movl	%esi,%ebx
1939	rorl	$11,%esi
1940	movl	%ecx,%edi
1941	rorl	$2,%ecx
1942	xorl	%ebx,%esi
1943	shrl	$3,%ebx
1944	rorl	$7,%esi
1945	xorl	%edi,%ecx
1946	xorl	%esi,%ebx
1947	rorl	$17,%ecx
1948	addl	60(%esp),%ebx
1949	shrl	$10,%edi
1950	addl	32(%esp),%ebx
1951	movl	%edx,%esi
1952	xorl	%ecx,%edi
1953	movl	24(%esp),%ecx
1954	rorl	$14,%edx
1955	addl	%edi,%ebx
1956	movl	28(%esp),%edi
1957	xorl	%esi,%edx
1958	movl	%ebx,60(%esp)
1959	xorl	%edi,%ecx
1960	rorl	$5,%edx
1961	andl	%esi,%ecx
1962	movl	%esi,20(%esp)
1963	xorl	%esi,%edx
1964	addl	(%esp),%ebx
1965	xorl	%ecx,%edi
1966	rorl	$6,%edx
1967	movl	%ebp,%esi
1968	addl	%edi,%ebx
1969	rorl	$9,%esi
1970	movl	%ebp,%ecx
1971	movl	8(%esp),%edi
1972	xorl	%ebp,%esi
1973	movl	%ebp,4(%esp)
1974	xorl	%edi,%ebp
1975	rorl	$11,%esi
1976	andl	%ebp,%eax
1977	leal	2456956037(%ebx,%edx,1),%edx
1978	xorl	%ecx,%esi
1979	xorl	%edi,%eax
1980	movl	68(%esp),%ecx
1981	rorl	$2,%esi
1982	addl	%edx,%eax
1983	addl	16(%esp),%edx
1984	addl	%esi,%eax
1985	movl	56(%esp),%esi
1986	movl	%ecx,%ebx
1987	rorl	$11,%ecx
1988	movl	%esi,%edi
1989	rorl	$2,%esi
1990	xorl	%ebx,%ecx
1991	shrl	$3,%ebx
1992	rorl	$7,%ecx
1993	xorl	%edi,%esi
1994	xorl	%ecx,%ebx
1995	rorl	$17,%esi
1996	addl	64(%esp),%ebx
1997	shrl	$10,%edi
1998	addl	36(%esp),%ebx
1999	movl	%edx,%ecx
2000	xorl	%esi,%edi
2001	movl	20(%esp),%esi
2002	rorl	$14,%edx
2003	addl	%edi,%ebx
2004	movl	24(%esp),%edi
2005	xorl	%ecx,%edx
2006	movl	%ebx,64(%esp)
2007	xorl	%edi,%esi
2008	rorl	$5,%edx
2009	andl	%ecx,%esi
2010	movl	%ecx,16(%esp)
2011	xorl	%ecx,%edx
2012	addl	28(%esp),%ebx
2013	xorl	%esi,%edi
2014	rorl	$6,%edx
2015	movl	%eax,%ecx
2016	addl	%edi,%ebx
2017	rorl	$9,%ecx
2018	movl	%eax,%esi
2019	movl	4(%esp),%edi
2020	xorl	%eax,%ecx
2021	movl	%eax,(%esp)
2022	xorl	%edi,%eax
2023	rorl	$11,%ecx
2024	andl	%eax,%ebp
2025	leal	2730485921(%ebx,%edx,1),%edx
2026	xorl	%esi,%ecx
2027	xorl	%edi,%ebp
2028	movl	72(%esp),%esi
2029	rorl	$2,%ecx
2030	addl	%edx,%ebp
2031	addl	12(%esp),%edx
2032	addl	%ecx,%ebp
2033	movl	60(%esp),%ecx
2034	movl	%esi,%ebx
2035	rorl	$11,%esi
2036	movl	%ecx,%edi
2037	rorl	$2,%ecx
2038	xorl	%ebx,%esi
2039	shrl	$3,%ebx
2040	rorl	$7,%esi
2041	xorl	%edi,%ecx
2042	xorl	%esi,%ebx
2043	rorl	$17,%ecx
2044	addl	68(%esp),%ebx
2045	shrl	$10,%edi
2046	addl	40(%esp),%ebx
2047	movl	%edx,%esi
2048	xorl	%ecx,%edi
2049	movl	16(%esp),%ecx
2050	rorl	$14,%edx
2051	addl	%edi,%ebx
2052	movl	20(%esp),%edi
2053	xorl	%esi,%edx
2054	movl	%ebx,68(%esp)
2055	xorl	%edi,%ecx
2056	rorl	$5,%edx
2057	andl	%esi,%ecx
2058	movl	%esi,12(%esp)
2059	xorl	%esi,%edx
2060	addl	24(%esp),%ebx
2061	xorl	%ecx,%edi
2062	rorl	$6,%edx
2063	movl	%ebp,%esi
2064	addl	%edi,%ebx
2065	rorl	$9,%esi
2066	movl	%ebp,%ecx
2067	movl	(%esp),%edi
2068	xorl	%ebp,%esi
2069	movl	%ebp,28(%esp)
2070	xorl	%edi,%ebp
2071	rorl	$11,%esi
2072	andl	%ebp,%eax
2073	leal	2820302411(%ebx,%edx,1),%edx
2074	xorl	%ecx,%esi
2075	xorl	%edi,%eax
2076	movl	76(%esp),%ecx
2077	rorl	$2,%esi
2078	addl	%edx,%eax
2079	addl	8(%esp),%edx
2080	addl	%esi,%eax
2081	movl	64(%esp),%esi
2082	movl	%ecx,%ebx
2083	rorl	$11,%ecx
2084	movl	%esi,%edi
2085	rorl	$2,%esi
2086	xorl	%ebx,%ecx
2087	shrl	$3,%ebx
2088	rorl	$7,%ecx
2089	xorl	%edi,%esi
2090	xorl	%ecx,%ebx
2091	rorl	$17,%esi
2092	addl	72(%esp),%ebx
2093	shrl	$10,%edi
2094	addl	44(%esp),%ebx
2095	movl	%edx,%ecx
2096	xorl	%esi,%edi
2097	movl	12(%esp),%esi
2098	rorl	$14,%edx
2099	addl	%edi,%ebx
2100	movl	16(%esp),%edi
2101	xorl	%ecx,%edx
2102	movl	%ebx,72(%esp)
2103	xorl	%edi,%esi
2104	rorl	$5,%edx
2105	andl	%ecx,%esi
2106	movl	%ecx,8(%esp)
2107	xorl	%ecx,%edx
2108	addl	20(%esp),%ebx
2109	xorl	%esi,%edi
2110	rorl	$6,%edx
2111	movl	%eax,%ecx
2112	addl	%edi,%ebx
2113	rorl	$9,%ecx
2114	movl	%eax,%esi
2115	movl	28(%esp),%edi
2116	xorl	%eax,%ecx
2117	movl	%eax,24(%esp)
2118	xorl	%edi,%eax
2119	rorl	$11,%ecx
2120	andl	%eax,%ebp
2121	leal	3259730800(%ebx,%edx,1),%edx
2122	xorl	%esi,%ecx
2123	xorl	%edi,%ebp
2124	movl	80(%esp),%esi
2125	rorl	$2,%ecx
2126	addl	%edx,%ebp
2127	addl	4(%esp),%edx
2128	addl	%ecx,%ebp
2129	movl	68(%esp),%ecx
2130	movl	%esi,%ebx
2131	rorl	$11,%esi
2132	movl	%ecx,%edi
2133	rorl	$2,%ecx
2134	xorl	%ebx,%esi
2135	shrl	$3,%ebx
2136	rorl	$7,%esi
2137	xorl	%edi,%ecx
2138	xorl	%esi,%ebx
2139	rorl	$17,%ecx
2140	addl	76(%esp),%ebx
2141	shrl	$10,%edi
2142	addl	48(%esp),%ebx
2143	movl	%edx,%esi
2144	xorl	%ecx,%edi
2145	movl	8(%esp),%ecx
2146	rorl	$14,%edx
2147	addl	%edi,%ebx
2148	movl	12(%esp),%edi
2149	xorl	%esi,%edx
2150	movl	%ebx,76(%esp)
2151	xorl	%edi,%ecx
2152	rorl	$5,%edx
2153	andl	%esi,%ecx
2154	movl	%esi,4(%esp)
2155	xorl	%esi,%edx
2156	addl	16(%esp),%ebx
2157	xorl	%ecx,%edi
2158	rorl	$6,%edx
2159	movl	%ebp,%esi
2160	addl	%edi,%ebx
2161	rorl	$9,%esi
2162	movl	%ebp,%ecx
2163	movl	24(%esp),%edi
2164	xorl	%ebp,%esi
2165	movl	%ebp,20(%esp)
2166	xorl	%edi,%ebp
2167	rorl	$11,%esi
2168	andl	%ebp,%eax
2169	leal	3345764771(%ebx,%edx,1),%edx
2170	xorl	%ecx,%esi
2171	xorl	%edi,%eax
2172	movl	84(%esp),%ecx
2173	rorl	$2,%esi
2174	addl	%edx,%eax
2175	addl	(%esp),%edx
2176	addl	%esi,%eax
2177	movl	72(%esp),%esi
2178	movl	%ecx,%ebx
2179	rorl	$11,%ecx
2180	movl	%esi,%edi
2181	rorl	$2,%esi
2182	xorl	%ebx,%ecx
2183	shrl	$3,%ebx
2184	rorl	$7,%ecx
2185	xorl	%edi,%esi
2186	xorl	%ecx,%ebx
2187	rorl	$17,%esi
2188	addl	80(%esp),%ebx
2189	shrl	$10,%edi
2190	addl	52(%esp),%ebx
2191	movl	%edx,%ecx
2192	xorl	%esi,%edi
2193	movl	4(%esp),%esi
2194	rorl	$14,%edx
2195	addl	%edi,%ebx
2196	movl	8(%esp),%edi
2197	xorl	%ecx,%edx
2198	movl	%ebx,80(%esp)
2199	xorl	%edi,%esi
2200	rorl	$5,%edx
2201	andl	%ecx,%esi
2202	movl	%ecx,(%esp)
2203	xorl	%ecx,%edx
2204	addl	12(%esp),%ebx
2205	xorl	%esi,%edi
2206	rorl	$6,%edx
2207	movl	%eax,%ecx
2208	addl	%edi,%ebx
2209	rorl	$9,%ecx
2210	movl	%eax,%esi
2211	movl	20(%esp),%edi
2212	xorl	%eax,%ecx
2213	movl	%eax,16(%esp)
2214	xorl	%edi,%eax
2215	rorl	$11,%ecx
2216	andl	%eax,%ebp
2217	leal	3516065817(%ebx,%edx,1),%edx
2218	xorl	%esi,%ecx
2219	xorl	%edi,%ebp
2220	movl	88(%esp),%esi
2221	rorl	$2,%ecx
2222	addl	%edx,%ebp
2223	addl	28(%esp),%edx
2224	addl	%ecx,%ebp
2225	movl	76(%esp),%ecx
2226	movl	%esi,%ebx
2227	rorl	$11,%esi
2228	movl	%ecx,%edi
2229	rorl	$2,%ecx
2230	xorl	%ebx,%esi
2231	shrl	$3,%ebx
2232	rorl	$7,%esi
2233	xorl	%edi,%ecx
2234	xorl	%esi,%ebx
2235	rorl	$17,%ecx
2236	addl	84(%esp),%ebx
2237	shrl	$10,%edi
2238	addl	56(%esp),%ebx
2239	movl	%edx,%esi
2240	xorl	%ecx,%edi
2241	movl	(%esp),%ecx
2242	rorl	$14,%edx
2243	addl	%edi,%ebx
2244	movl	4(%esp),%edi
2245	xorl	%esi,%edx
2246	movl	%ebx,84(%esp)
2247	xorl	%edi,%ecx
2248	rorl	$5,%edx
2249	andl	%esi,%ecx
2250	movl	%esi,28(%esp)
2251	xorl	%esi,%edx
2252	addl	8(%esp),%ebx
2253	xorl	%ecx,%edi
2254	rorl	$6,%edx
2255	movl	%ebp,%esi
2256	addl	%edi,%ebx
2257	rorl	$9,%esi
2258	movl	%ebp,%ecx
2259	movl	16(%esp),%edi
2260	xorl	%ebp,%esi
2261	movl	%ebp,12(%esp)
2262	xorl	%edi,%ebp
2263	rorl	$11,%esi
2264	andl	%ebp,%eax
2265	leal	3600352804(%ebx,%edx,1),%edx
2266	xorl	%ecx,%esi
2267	xorl	%edi,%eax
2268	movl	92(%esp),%ecx
2269	rorl	$2,%esi
2270	addl	%edx,%eax
2271	addl	24(%esp),%edx
2272	addl	%esi,%eax
2273	movl	80(%esp),%esi
2274	movl	%ecx,%ebx
2275	rorl	$11,%ecx
2276	movl	%esi,%edi
2277	rorl	$2,%esi
2278	xorl	%ebx,%ecx
2279	shrl	$3,%ebx
2280	rorl	$7,%ecx
2281	xorl	%edi,%esi
2282	xorl	%ecx,%ebx
2283	rorl	$17,%esi
2284	addl	88(%esp),%ebx
2285	shrl	$10,%edi
2286	addl	60(%esp),%ebx
2287	movl	%edx,%ecx
2288	xorl	%esi,%edi
2289	movl	28(%esp),%esi
2290	rorl	$14,%edx
2291	addl	%edi,%ebx
2292	movl	(%esp),%edi
2293	xorl	%ecx,%edx
2294	movl	%ebx,88(%esp)
2295	xorl	%edi,%esi
2296	rorl	$5,%edx
2297	andl	%ecx,%esi
2298	movl	%ecx,24(%esp)
2299	xorl	%ecx,%edx
2300	addl	4(%esp),%ebx
2301	xorl	%esi,%edi
2302	rorl	$6,%edx
2303	movl	%eax,%ecx
2304	addl	%edi,%ebx
2305	rorl	$9,%ecx
2306	movl	%eax,%esi
2307	movl	12(%esp),%edi
2308	xorl	%eax,%ecx
2309	movl	%eax,8(%esp)
2310	xorl	%edi,%eax
2311	rorl	$11,%ecx
2312	andl	%eax,%ebp
2313	leal	4094571909(%ebx,%edx,1),%edx
2314	xorl	%esi,%ecx
2315	xorl	%edi,%ebp
2316	movl	32(%esp),%esi
2317	rorl	$2,%ecx
2318	addl	%edx,%ebp
2319	addl	20(%esp),%edx
2320	addl	%ecx,%ebp
2321	movl	84(%esp),%ecx
2322	movl	%esi,%ebx
2323	rorl	$11,%esi
2324	movl	%ecx,%edi
2325	rorl	$2,%ecx
2326	xorl	%ebx,%esi
2327	shrl	$3,%ebx
2328	rorl	$7,%esi
2329	xorl	%edi,%ecx
2330	xorl	%esi,%ebx
2331	rorl	$17,%ecx
2332	addl	92(%esp),%ebx
2333	shrl	$10,%edi
2334	addl	64(%esp),%ebx
2335	movl	%edx,%esi
2336	xorl	%ecx,%edi
2337	movl	24(%esp),%ecx
2338	rorl	$14,%edx
2339	addl	%edi,%ebx
2340	movl	28(%esp),%edi
2341	xorl	%esi,%edx
2342	movl	%ebx,92(%esp)
2343	xorl	%edi,%ecx
2344	rorl	$5,%edx
2345	andl	%esi,%ecx
2346	movl	%esi,20(%esp)
2347	xorl	%esi,%edx
2348	addl	(%esp),%ebx
2349	xorl	%ecx,%edi
2350	rorl	$6,%edx
2351	movl	%ebp,%esi
2352	addl	%edi,%ebx
2353	rorl	$9,%esi
2354	movl	%ebp,%ecx
2355	movl	8(%esp),%edi
2356	xorl	%ebp,%esi
2357	movl	%ebp,4(%esp)
2358	xorl	%edi,%ebp
2359	rorl	$11,%esi
2360	andl	%ebp,%eax
2361	leal	275423344(%ebx,%edx,1),%edx
2362	xorl	%ecx,%esi
2363	xorl	%edi,%eax
2364	movl	36(%esp),%ecx
2365	rorl	$2,%esi
2366	addl	%edx,%eax
2367	addl	16(%esp),%edx
2368	addl	%esi,%eax
2369	movl	88(%esp),%esi
2370	movl	%ecx,%ebx
2371	rorl	$11,%ecx
2372	movl	%esi,%edi
2373	rorl	$2,%esi
2374	xorl	%ebx,%ecx
2375	shrl	$3,%ebx
2376	rorl	$7,%ecx
2377	xorl	%edi,%esi
2378	xorl	%ecx,%ebx
2379	rorl	$17,%esi
2380	addl	32(%esp),%ebx
2381	shrl	$10,%edi
2382	addl	68(%esp),%ebx
2383	movl	%edx,%ecx
2384	xorl	%esi,%edi
2385	movl	20(%esp),%esi
2386	rorl	$14,%edx
2387	addl	%edi,%ebx
2388	movl	24(%esp),%edi
2389	xorl	%ecx,%edx
2390	movl	%ebx,32(%esp)
2391	xorl	%edi,%esi
2392	rorl	$5,%edx
2393	andl	%ecx,%esi
2394	movl	%ecx,16(%esp)
2395	xorl	%ecx,%edx
2396	addl	28(%esp),%ebx
2397	xorl	%esi,%edi
2398	rorl	$6,%edx
2399	movl	%eax,%ecx
2400	addl	%edi,%ebx
2401	rorl	$9,%ecx
2402	movl	%eax,%esi
2403	movl	4(%esp),%edi
2404	xorl	%eax,%ecx
2405	movl	%eax,(%esp)
2406	xorl	%edi,%eax
2407	rorl	$11,%ecx
2408	andl	%eax,%ebp
2409	leal	430227734(%ebx,%edx,1),%edx
2410	xorl	%esi,%ecx
2411	xorl	%edi,%ebp
2412	movl	40(%esp),%esi
2413	rorl	$2,%ecx
2414	addl	%edx,%ebp
2415	addl	12(%esp),%edx
2416	addl	%ecx,%ebp
2417	movl	92(%esp),%ecx
2418	movl	%esi,%ebx
2419	rorl	$11,%esi
2420	movl	%ecx,%edi
2421	rorl	$2,%ecx
2422	xorl	%ebx,%esi
2423	shrl	$3,%ebx
2424	rorl	$7,%esi
2425	xorl	%edi,%ecx
2426	xorl	%esi,%ebx
2427	rorl	$17,%ecx
2428	addl	36(%esp),%ebx
2429	shrl	$10,%edi
2430	addl	72(%esp),%ebx
2431	movl	%edx,%esi
2432	xorl	%ecx,%edi
2433	movl	16(%esp),%ecx
2434	rorl	$14,%edx
2435	addl	%edi,%ebx
2436	movl	20(%esp),%edi
2437	xorl	%esi,%edx
2438	movl	%ebx,36(%esp)
2439	xorl	%edi,%ecx
2440	rorl	$5,%edx
2441	andl	%esi,%ecx
2442	movl	%esi,12(%esp)
2443	xorl	%esi,%edx
2444	addl	24(%esp),%ebx
2445	xorl	%ecx,%edi
2446	rorl	$6,%edx
2447	movl	%ebp,%esi
2448	addl	%edi,%ebx
2449	rorl	$9,%esi
2450	movl	%ebp,%ecx
2451	movl	(%esp),%edi
2452	xorl	%ebp,%esi
2453	movl	%ebp,28(%esp)
2454	xorl	%edi,%ebp
2455	rorl	$11,%esi
2456	andl	%ebp,%eax
2457	leal	506948616(%ebx,%edx,1),%edx
2458	xorl	%ecx,%esi
2459	xorl	%edi,%eax
2460	movl	44(%esp),%ecx
2461	rorl	$2,%esi
2462	addl	%edx,%eax
2463	addl	8(%esp),%edx
2464	addl	%esi,%eax
2465	movl	32(%esp),%esi
2466	movl	%ecx,%ebx
2467	rorl	$11,%ecx
2468	movl	%esi,%edi
2469	rorl	$2,%esi
2470	xorl	%ebx,%ecx
2471	shrl	$3,%ebx
2472	rorl	$7,%ecx
2473	xorl	%edi,%esi
2474	xorl	%ecx,%ebx
2475	rorl	$17,%esi
2476	addl	40(%esp),%ebx
2477	shrl	$10,%edi
2478	addl	76(%esp),%ebx
2479	movl	%edx,%ecx
2480	xorl	%esi,%edi
2481	movl	12(%esp),%esi
2482	rorl	$14,%edx
2483	addl	%edi,%ebx
2484	movl	16(%esp),%edi
2485	xorl	%ecx,%edx
2486	movl	%ebx,40(%esp)
2487	xorl	%edi,%esi
2488	rorl	$5,%edx
2489	andl	%ecx,%esi
2490	movl	%ecx,8(%esp)
2491	xorl	%ecx,%edx
2492	addl	20(%esp),%ebx
2493	xorl	%esi,%edi
2494	rorl	$6,%edx
2495	movl	%eax,%ecx
2496	addl	%edi,%ebx
2497	rorl	$9,%ecx
2498	movl	%eax,%esi
2499	movl	28(%esp),%edi
2500	xorl	%eax,%ecx
2501	movl	%eax,24(%esp)
2502	xorl	%edi,%eax
2503	rorl	$11,%ecx
2504	andl	%eax,%ebp
2505	leal	659060556(%ebx,%edx,1),%edx
2506	xorl	%esi,%ecx
2507	xorl	%edi,%ebp
2508	movl	48(%esp),%esi
2509	rorl	$2,%ecx
2510	addl	%edx,%ebp
2511	addl	4(%esp),%edx
2512	addl	%ecx,%ebp
2513	movl	36(%esp),%ecx
2514	movl	%esi,%ebx
2515	rorl	$11,%esi
2516	movl	%ecx,%edi
2517	rorl	$2,%ecx
2518	xorl	%ebx,%esi
2519	shrl	$3,%ebx
2520	rorl	$7,%esi
2521	xorl	%edi,%ecx
2522	xorl	%esi,%ebx
2523	rorl	$17,%ecx
2524	addl	44(%esp),%ebx
2525	shrl	$10,%edi
2526	addl	80(%esp),%ebx
2527	movl	%edx,%esi
2528	xorl	%ecx,%edi
2529	movl	8(%esp),%ecx
2530	rorl	$14,%edx
2531	addl	%edi,%ebx
2532	movl	12(%esp),%edi
2533	xorl	%esi,%edx
2534	movl	%ebx,44(%esp)
2535	xorl	%edi,%ecx
2536	rorl	$5,%edx
2537	andl	%esi,%ecx
2538	movl	%esi,4(%esp)
2539	xorl	%esi,%edx
2540	addl	16(%esp),%ebx
2541	xorl	%ecx,%edi
2542	rorl	$6,%edx
2543	movl	%ebp,%esi
2544	addl	%edi,%ebx
2545	rorl	$9,%esi
2546	movl	%ebp,%ecx
2547	movl	24(%esp),%edi
2548	xorl	%ebp,%esi
2549	movl	%ebp,20(%esp)
2550	xorl	%edi,%ebp
2551	rorl	$11,%esi
2552	andl	%ebp,%eax
2553	leal	883997877(%ebx,%edx,1),%edx
2554	xorl	%ecx,%esi
2555	xorl	%edi,%eax
2556	movl	52(%esp),%ecx
2557	rorl	$2,%esi
2558	addl	%edx,%eax
2559	addl	(%esp),%edx
2560	addl	%esi,%eax
2561	movl	40(%esp),%esi
2562	movl	%ecx,%ebx
2563	rorl	$11,%ecx
2564	movl	%esi,%edi
2565	rorl	$2,%esi
2566	xorl	%ebx,%ecx
2567	shrl	$3,%ebx
2568	rorl	$7,%ecx
2569	xorl	%edi,%esi
2570	xorl	%ecx,%ebx
2571	rorl	$17,%esi
2572	addl	48(%esp),%ebx
2573	shrl	$10,%edi
2574	addl	84(%esp),%ebx
2575	movl	%edx,%ecx
2576	xorl	%esi,%edi
2577	movl	4(%esp),%esi
2578	rorl	$14,%edx
2579	addl	%edi,%ebx
2580	movl	8(%esp),%edi
2581	xorl	%ecx,%edx
2582	movl	%ebx,48(%esp)
2583	xorl	%edi,%esi
2584	rorl	$5,%edx
2585	andl	%ecx,%esi
2586	movl	%ecx,(%esp)
2587	xorl	%ecx,%edx
2588	addl	12(%esp),%ebx
2589	xorl	%esi,%edi
2590	rorl	$6,%edx
2591	movl	%eax,%ecx
2592	addl	%edi,%ebx
2593	rorl	$9,%ecx
2594	movl	%eax,%esi
2595	movl	20(%esp),%edi
2596	xorl	%eax,%ecx
2597	movl	%eax,16(%esp)
2598	xorl	%edi,%eax
2599	rorl	$11,%ecx
2600	andl	%eax,%ebp
2601	leal	958139571(%ebx,%edx,1),%edx
2602	xorl	%esi,%ecx
2603	xorl	%edi,%ebp
2604	movl	56(%esp),%esi
2605	rorl	$2,%ecx
2606	addl	%edx,%ebp
2607	addl	28(%esp),%edx
2608	addl	%ecx,%ebp
2609	movl	44(%esp),%ecx
2610	movl	%esi,%ebx
2611	rorl	$11,%esi
2612	movl	%ecx,%edi
2613	rorl	$2,%ecx
2614	xorl	%ebx,%esi
2615	shrl	$3,%ebx
2616	rorl	$7,%esi
2617	xorl	%edi,%ecx
2618	xorl	%esi,%ebx
2619	rorl	$17,%ecx
2620	addl	52(%esp),%ebx
2621	shrl	$10,%edi
2622	addl	88(%esp),%ebx
2623	movl	%edx,%esi
2624	xorl	%ecx,%edi
2625	movl	(%esp),%ecx
2626	rorl	$14,%edx
2627	addl	%edi,%ebx
2628	movl	4(%esp),%edi
2629	xorl	%esi,%edx
2630	movl	%ebx,52(%esp)
2631	xorl	%edi,%ecx
2632	rorl	$5,%edx
2633	andl	%esi,%ecx
2634	movl	%esi,28(%esp)
2635	xorl	%esi,%edx
2636	addl	8(%esp),%ebx
2637	xorl	%ecx,%edi
2638	rorl	$6,%edx
2639	movl	%ebp,%esi
2640	addl	%edi,%ebx
2641	rorl	$9,%esi
2642	movl	%ebp,%ecx
2643	movl	16(%esp),%edi
2644	xorl	%ebp,%esi
2645	movl	%ebp,12(%esp)
2646	xorl	%edi,%ebp
2647	rorl	$11,%esi
2648	andl	%ebp,%eax
2649	leal	1322822218(%ebx,%edx,1),%edx
2650	xorl	%ecx,%esi
2651	xorl	%edi,%eax
2652	movl	60(%esp),%ecx
2653	rorl	$2,%esi
2654	addl	%edx,%eax
2655	addl	24(%esp),%edx
2656	addl	%esi,%eax
2657	movl	48(%esp),%esi
2658	movl	%ecx,%ebx
2659	rorl	$11,%ecx
2660	movl	%esi,%edi
2661	rorl	$2,%esi
2662	xorl	%ebx,%ecx
2663	shrl	$3,%ebx
2664	rorl	$7,%ecx
2665	xorl	%edi,%esi
2666	xorl	%ecx,%ebx
2667	rorl	$17,%esi
2668	addl	56(%esp),%ebx
2669	shrl	$10,%edi
2670	addl	92(%esp),%ebx
2671	movl	%edx,%ecx
2672	xorl	%esi,%edi
2673	movl	28(%esp),%esi
2674	rorl	$14,%edx
2675	addl	%edi,%ebx
2676	movl	(%esp),%edi
2677	xorl	%ecx,%edx
2678	movl	%ebx,56(%esp)
2679	xorl	%edi,%esi
2680	rorl	$5,%edx
2681	andl	%ecx,%esi
2682	movl	%ecx,24(%esp)
2683	xorl	%ecx,%edx
2684	addl	4(%esp),%ebx
2685	xorl	%esi,%edi
2686	rorl	$6,%edx
2687	movl	%eax,%ecx
2688	addl	%edi,%ebx
2689	rorl	$9,%ecx
2690	movl	%eax,%esi
2691	movl	12(%esp),%edi
2692	xorl	%eax,%ecx
2693	movl	%eax,8(%esp)
2694	xorl	%edi,%eax
2695	rorl	$11,%ecx
2696	andl	%eax,%ebp
2697	leal	1537002063(%ebx,%edx,1),%edx
2698	xorl	%esi,%ecx
2699	xorl	%edi,%ebp
2700	movl	64(%esp),%esi
2701	rorl	$2,%ecx
2702	addl	%edx,%ebp
2703	addl	20(%esp),%edx
2704	addl	%ecx,%ebp
2705	movl	52(%esp),%ecx
2706	movl	%esi,%ebx
2707	rorl	$11,%esi
2708	movl	%ecx,%edi
2709	rorl	$2,%ecx
2710	xorl	%ebx,%esi
2711	shrl	$3,%ebx
2712	rorl	$7,%esi
2713	xorl	%edi,%ecx
2714	xorl	%esi,%ebx
2715	rorl	$17,%ecx
2716	addl	60(%esp),%ebx
2717	shrl	$10,%edi
2718	addl	32(%esp),%ebx
2719	movl	%edx,%esi
2720	xorl	%ecx,%edi
2721	movl	24(%esp),%ecx
2722	rorl	$14,%edx
2723	addl	%edi,%ebx
2724	movl	28(%esp),%edi
2725	xorl	%esi,%edx
2726	movl	%ebx,60(%esp)
2727	xorl	%edi,%ecx
2728	rorl	$5,%edx
2729	andl	%esi,%ecx
2730	movl	%esi,20(%esp)
2731	xorl	%esi,%edx
2732	addl	(%esp),%ebx
2733	xorl	%ecx,%edi
2734	rorl	$6,%edx
2735	movl	%ebp,%esi
2736	addl	%edi,%ebx
2737	rorl	$9,%esi
2738	movl	%ebp,%ecx
2739	movl	8(%esp),%edi
2740	xorl	%ebp,%esi
2741	movl	%ebp,4(%esp)
2742	xorl	%edi,%ebp
2743	rorl	$11,%esi
2744	andl	%ebp,%eax
2745	leal	1747873779(%ebx,%edx,1),%edx
2746	xorl	%ecx,%esi
2747	xorl	%edi,%eax
2748	movl	68(%esp),%ecx
2749	rorl	$2,%esi
2750	addl	%edx,%eax
2751	addl	16(%esp),%edx
2752	addl	%esi,%eax
2753	movl	56(%esp),%esi
2754	movl	%ecx,%ebx
2755	rorl	$11,%ecx
2756	movl	%esi,%edi
2757	rorl	$2,%esi
2758	xorl	%ebx,%ecx
2759	shrl	$3,%ebx
2760	rorl	$7,%ecx
2761	xorl	%edi,%esi
2762	xorl	%ecx,%ebx
2763	rorl	$17,%esi
2764	addl	64(%esp),%ebx
2765	shrl	$10,%edi
2766	addl	36(%esp),%ebx
2767	movl	%edx,%ecx
2768	xorl	%esi,%edi
2769	movl	20(%esp),%esi
2770	rorl	$14,%edx
2771	addl	%edi,%ebx
2772	movl	24(%esp),%edi
2773	xorl	%ecx,%edx
2774	movl	%ebx,64(%esp)
2775	xorl	%edi,%esi
2776	rorl	$5,%edx
2777	andl	%ecx,%esi
2778	movl	%ecx,16(%esp)
2779	xorl	%ecx,%edx
2780	addl	28(%esp),%ebx
2781	xorl	%esi,%edi
2782	rorl	$6,%edx
2783	movl	%eax,%ecx
2784	addl	%edi,%ebx
2785	rorl	$9,%ecx
2786	movl	%eax,%esi
2787	movl	4(%esp),%edi
2788	xorl	%eax,%ecx
2789	movl	%eax,(%esp)
2790	xorl	%edi,%eax
2791	rorl	$11,%ecx
2792	andl	%eax,%ebp
2793	leal	1955562222(%ebx,%edx,1),%edx
2794	xorl	%esi,%ecx
2795	xorl	%edi,%ebp
2796	movl	72(%esp),%esi
2797	rorl	$2,%ecx
2798	addl	%edx,%ebp
2799	addl	12(%esp),%edx
2800	addl	%ecx,%ebp
2801	movl	60(%esp),%ecx
2802	movl	%esi,%ebx
2803	rorl	$11,%esi
2804	movl	%ecx,%edi
2805	rorl	$2,%ecx
2806	xorl	%ebx,%esi
2807	shrl	$3,%ebx
2808	rorl	$7,%esi
2809	xorl	%edi,%ecx
2810	xorl	%esi,%ebx
2811	rorl	$17,%ecx
2812	addl	68(%esp),%ebx
2813	shrl	$10,%edi
2814	addl	40(%esp),%ebx
2815	movl	%edx,%esi
2816	xorl	%ecx,%edi
2817	movl	16(%esp),%ecx
2818	rorl	$14,%edx
2819	addl	%edi,%ebx
2820	movl	20(%esp),%edi
2821	xorl	%esi,%edx
2822	movl	%ebx,68(%esp)
2823	xorl	%edi,%ecx
2824	rorl	$5,%edx
2825	andl	%esi,%ecx
2826	movl	%esi,12(%esp)
2827	xorl	%esi,%edx
2828	addl	24(%esp),%ebx
2829	xorl	%ecx,%edi
2830	rorl	$6,%edx
2831	movl	%ebp,%esi
2832	addl	%edi,%ebx
2833	rorl	$9,%esi
2834	movl	%ebp,%ecx
2835	movl	(%esp),%edi
2836	xorl	%ebp,%esi
2837	movl	%ebp,28(%esp)
2838	xorl	%edi,%ebp
2839	rorl	$11,%esi
2840	andl	%ebp,%eax
2841	leal	2024104815(%ebx,%edx,1),%edx
2842	xorl	%ecx,%esi
2843	xorl	%edi,%eax
2844	movl	76(%esp),%ecx
2845	rorl	$2,%esi
2846	addl	%edx,%eax
2847	addl	8(%esp),%edx
2848	addl	%esi,%eax
2849	movl	64(%esp),%esi
2850	movl	%ecx,%ebx
2851	rorl	$11,%ecx
2852	movl	%esi,%edi
2853	rorl	$2,%esi
2854	xorl	%ebx,%ecx
2855	shrl	$3,%ebx
2856	rorl	$7,%ecx
2857	xorl	%edi,%esi
2858	xorl	%ecx,%ebx
2859	rorl	$17,%esi
2860	addl	72(%esp),%ebx
2861	shrl	$10,%edi
2862	addl	44(%esp),%ebx
2863	movl	%edx,%ecx
2864	xorl	%esi,%edi
2865	movl	12(%esp),%esi
2866	rorl	$14,%edx
2867	addl	%edi,%ebx
2868	movl	16(%esp),%edi
2869	xorl	%ecx,%edx
2870	movl	%ebx,72(%esp)
2871	xorl	%edi,%esi
2872	rorl	$5,%edx
2873	andl	%ecx,%esi
2874	movl	%ecx,8(%esp)
2875	xorl	%ecx,%edx
2876	addl	20(%esp),%ebx
2877	xorl	%esi,%edi
2878	rorl	$6,%edx
2879	movl	%eax,%ecx
2880	addl	%edi,%ebx
2881	rorl	$9,%ecx
2882	movl	%eax,%esi
2883	movl	28(%esp),%edi
2884	xorl	%eax,%ecx
2885	movl	%eax,24(%esp)
2886	xorl	%edi,%eax
2887	rorl	$11,%ecx
2888	andl	%eax,%ebp
2889	leal	2227730452(%ebx,%edx,1),%edx
2890	xorl	%esi,%ecx
2891	xorl	%edi,%ebp
2892	movl	80(%esp),%esi
2893	rorl	$2,%ecx
2894	addl	%edx,%ebp
2895	addl	4(%esp),%edx
2896	addl	%ecx,%ebp
2897	movl	68(%esp),%ecx
2898	movl	%esi,%ebx
2899	rorl	$11,%esi
2900	movl	%ecx,%edi
2901	rorl	$2,%ecx
2902	xorl	%ebx,%esi
2903	shrl	$3,%ebx
2904	rorl	$7,%esi
2905	xorl	%edi,%ecx
2906	xorl	%esi,%ebx
2907	rorl	$17,%ecx
2908	addl	76(%esp),%ebx
2909	shrl	$10,%edi
2910	addl	48(%esp),%ebx
2911	movl	%edx,%esi
2912	xorl	%ecx,%edi
2913	movl	8(%esp),%ecx
2914	rorl	$14,%edx
2915	addl	%edi,%ebx
2916	movl	12(%esp),%edi
2917	xorl	%esi,%edx
2918	movl	%ebx,76(%esp)
2919	xorl	%edi,%ecx
2920	rorl	$5,%edx
2921	andl	%esi,%ecx
2922	movl	%esi,4(%esp)
2923	xorl	%esi,%edx
2924	addl	16(%esp),%ebx
2925	xorl	%ecx,%edi
2926	rorl	$6,%edx
2927	movl	%ebp,%esi
2928	addl	%edi,%ebx
2929	rorl	$9,%esi
2930	movl	%ebp,%ecx
2931	movl	24(%esp),%edi
2932	xorl	%ebp,%esi
2933	movl	%ebp,20(%esp)
2934	xorl	%edi,%ebp
2935	rorl	$11,%esi
2936	andl	%ebp,%eax
2937	leal	2361852424(%ebx,%edx,1),%edx
2938	xorl	%ecx,%esi
2939	xorl	%edi,%eax
2940	movl	84(%esp),%ecx
2941	rorl	$2,%esi
2942	addl	%edx,%eax
2943	addl	(%esp),%edx
2944	addl	%esi,%eax
2945	movl	72(%esp),%esi
2946	movl	%ecx,%ebx
2947	rorl	$11,%ecx
2948	movl	%esi,%edi
2949	rorl	$2,%esi
2950	xorl	%ebx,%ecx
2951	shrl	$3,%ebx
2952	rorl	$7,%ecx
2953	xorl	%edi,%esi
2954	xorl	%ecx,%ebx
2955	rorl	$17,%esi
2956	addl	80(%esp),%ebx
2957	shrl	$10,%edi
2958	addl	52(%esp),%ebx
2959	movl	%edx,%ecx
2960	xorl	%esi,%edi
2961	movl	4(%esp),%esi
2962	rorl	$14,%edx
2963	addl	%edi,%ebx
2964	movl	8(%esp),%edi
2965	xorl	%ecx,%edx
2966	movl	%ebx,80(%esp)
2967	xorl	%edi,%esi
2968	rorl	$5,%edx
2969	andl	%ecx,%esi
2970	movl	%ecx,(%esp)
2971	xorl	%ecx,%edx
2972	addl	12(%esp),%ebx
2973	xorl	%esi,%edi
2974	rorl	$6,%edx
2975	movl	%eax,%ecx
2976	addl	%edi,%ebx
2977	rorl	$9,%ecx
2978	movl	%eax,%esi
2979	movl	20(%esp),%edi
2980	xorl	%eax,%ecx
2981	movl	%eax,16(%esp)
2982	xorl	%edi,%eax
2983	rorl	$11,%ecx
2984	andl	%eax,%ebp
2985	leal	2428436474(%ebx,%edx,1),%edx
2986	xorl	%esi,%ecx
2987	xorl	%edi,%ebp
2988	movl	88(%esp),%esi
2989	rorl	$2,%ecx
2990	addl	%edx,%ebp
2991	addl	28(%esp),%edx
2992	addl	%ecx,%ebp
2993	movl	76(%esp),%ecx
2994	movl	%esi,%ebx
2995	rorl	$11,%esi
2996	movl	%ecx,%edi
2997	rorl	$2,%ecx
2998	xorl	%ebx,%esi
2999	shrl	$3,%ebx
3000	rorl	$7,%esi
3001	xorl	%edi,%ecx
3002	xorl	%esi,%ebx
3003	rorl	$17,%ecx
3004	addl	84(%esp),%ebx
3005	shrl	$10,%edi
3006	addl	56(%esp),%ebx
3007	movl	%edx,%esi
3008	xorl	%ecx,%edi
3009	movl	(%esp),%ecx
3010	rorl	$14,%edx
3011	addl	%edi,%ebx
3012	movl	4(%esp),%edi
3013	xorl	%esi,%edx
3014	movl	%ebx,84(%esp)
3015	xorl	%edi,%ecx
3016	rorl	$5,%edx
3017	andl	%esi,%ecx
3018	movl	%esi,28(%esp)
3019	xorl	%esi,%edx
3020	addl	8(%esp),%ebx
3021	xorl	%ecx,%edi
3022	rorl	$6,%edx
3023	movl	%ebp,%esi
3024	addl	%edi,%ebx
3025	rorl	$9,%esi
3026	movl	%ebp,%ecx
3027	movl	16(%esp),%edi
3028	xorl	%ebp,%esi
3029	movl	%ebp,12(%esp)
3030	xorl	%edi,%ebp
3031	rorl	$11,%esi
3032	andl	%ebp,%eax
3033	leal	2756734187(%ebx,%edx,1),%edx
3034	xorl	%ecx,%esi
3035	xorl	%edi,%eax
3036	movl	92(%esp),%ecx
3037	rorl	$2,%esi
3038	addl	%edx,%eax
3039	addl	24(%esp),%edx
3040	addl	%esi,%eax
3041	movl	80(%esp),%esi
3042	movl	%ecx,%ebx
3043	rorl	$11,%ecx
3044	movl	%esi,%edi
3045	rorl	$2,%esi
3046	xorl	%ebx,%ecx
3047	shrl	$3,%ebx
3048	rorl	$7,%ecx
3049	xorl	%edi,%esi
3050	xorl	%ecx,%ebx
3051	rorl	$17,%esi
3052	addl	88(%esp),%ebx
3053	shrl	$10,%edi
3054	addl	60(%esp),%ebx
3055	movl	%edx,%ecx
3056	xorl	%esi,%edi
3057	movl	28(%esp),%esi
3058	rorl	$14,%edx
3059	addl	%edi,%ebx
3060	movl	(%esp),%edi
3061	xorl	%ecx,%edx
3062	xorl	%edi,%esi
3063	rorl	$5,%edx
3064	andl	%ecx,%esi
3065	movl	%ecx,24(%esp)
3066	xorl	%ecx,%edx
3067	addl	4(%esp),%ebx
3068	xorl	%esi,%edi
3069	rorl	$6,%edx
3070	movl	%eax,%ecx
3071	addl	%edi,%ebx
3072	rorl	$9,%ecx
3073	movl	%eax,%esi
3074	movl	12(%esp),%edi
3075	xorl	%eax,%ecx
3076	movl	%eax,8(%esp)
3077	xorl	%edi,%eax
3078	rorl	$11,%ecx
3079	andl	%eax,%ebp
3080	leal	3204031479(%ebx,%edx,1),%edx
3081	xorl	%esi,%ecx
3082	xorl	%edi,%ebp
3083	movl	32(%esp),%esi
3084	rorl	$2,%ecx
3085	addl	%edx,%ebp
3086	addl	20(%esp),%edx
3087	addl	%ecx,%ebp
3088	movl	84(%esp),%ecx
3089	movl	%esi,%ebx
3090	rorl	$11,%esi
3091	movl	%ecx,%edi
3092	rorl	$2,%ecx
3093	xorl	%ebx,%esi
3094	shrl	$3,%ebx
3095	rorl	$7,%esi
3096	xorl	%edi,%ecx
3097	xorl	%esi,%ebx
3098	rorl	$17,%ecx
3099	addl	92(%esp),%ebx
3100	shrl	$10,%edi
3101	addl	64(%esp),%ebx
3102	movl	%edx,%esi
3103	xorl	%ecx,%edi
3104	movl	24(%esp),%ecx
3105	rorl	$14,%edx
3106	addl	%edi,%ebx
3107	movl	28(%esp),%edi
3108	xorl	%esi,%edx
3109	xorl	%edi,%ecx
3110	rorl	$5,%edx
3111	andl	%esi,%ecx
3112	movl	%esi,20(%esp)
3113	xorl	%esi,%edx
3114	addl	(%esp),%ebx
3115	xorl	%ecx,%edi
3116	rorl	$6,%edx
3117	movl	%ebp,%esi
3118	addl	%edi,%ebx
3119	rorl	$9,%esi
3120	movl	%ebp,%ecx
3121	movl	8(%esp),%edi
3122	xorl	%ebp,%esi
3123	movl	%ebp,4(%esp)
3124	xorl	%edi,%ebp
3125	rorl	$11,%esi
3126	andl	%ebp,%eax
3127	leal	3329325298(%ebx,%edx,1),%edx
3128	xorl	%ecx,%esi
3129	xorl	%edi,%eax
3130	rorl	$2,%esi
3131	addl	%edx,%eax
3132	addl	16(%esp),%edx
3133	addl	%esi,%eax
3134	movl	96(%esp),%esi
3135	xorl	%edi,%ebp
3136	movl	12(%esp),%ecx
3137	addl	(%esi),%eax
3138	addl	4(%esi),%ebp
3139	addl	8(%esi),%edi
3140	addl	12(%esi),%ecx
3141	movl	%eax,(%esi)
3142	movl	%ebp,4(%esi)
3143	movl	%edi,8(%esi)
3144	movl	%ecx,12(%esi)
3145	movl	%ebp,4(%esp)
3146	xorl	%edi,%ebp
3147	movl	%edi,8(%esp)
3148	movl	%ecx,12(%esp)
3149	movl	20(%esp),%edi
3150	movl	24(%esp),%ebx
3151	movl	28(%esp),%ecx
3152	addl	16(%esi),%edx
3153	addl	20(%esi),%edi
3154	addl	24(%esi),%ebx
3155	addl	28(%esi),%ecx
3156	movl	%edx,16(%esi)
3157	movl	%edi,20(%esi)
3158	movl	%ebx,24(%esi)
3159	movl	%ecx,28(%esi)
3160	movl	%edi,20(%esp)
3161	movl	100(%esp),%edi
3162	movl	%ebx,24(%esp)
3163	movl	%ecx,28(%esp)
3164	cmpl	104(%esp),%edi
3165	jb	.L010grand_loop
3166	movl	108(%esp),%esp
3167	popl	%edi
3168	popl	%esi
3169	popl	%ebx
3170	popl	%ebp
3171	ret
3172.align	32
3173.L004shaext:
3174	subl	$32,%esp
3175	movdqu	(%esi),%xmm1
3176	leal	128(%ebp),%ebp
3177	movdqu	16(%esi),%xmm2
3178	movdqa	128(%ebp),%xmm7
3179	pshufd	$27,%xmm1,%xmm0
3180	pshufd	$177,%xmm1,%xmm1
3181	pshufd	$27,%xmm2,%xmm2
3182.byte	102,15,58,15,202,8
3183	punpcklqdq	%xmm0,%xmm2
3184	jmp	.L011loop_shaext
3185.align	16
3186.L011loop_shaext:
3187	movdqu	(%edi),%xmm3
3188	movdqu	16(%edi),%xmm4
3189	movdqu	32(%edi),%xmm5
3190.byte	102,15,56,0,223
3191	movdqu	48(%edi),%xmm6
3192	movdqa	%xmm2,16(%esp)
3193	movdqa	-128(%ebp),%xmm0
3194	paddd	%xmm3,%xmm0
3195.byte	102,15,56,0,231
3196.byte	15,56,203,209
3197	pshufd	$14,%xmm0,%xmm0
3198	nop
3199	movdqa	%xmm1,(%esp)
3200.byte	15,56,203,202
3201	movdqa	-112(%ebp),%xmm0
3202	paddd	%xmm4,%xmm0
3203.byte	102,15,56,0,239
3204.byte	15,56,203,209
3205	pshufd	$14,%xmm0,%xmm0
3206	leal	64(%edi),%edi
3207.byte	15,56,204,220
3208.byte	15,56,203,202
3209	movdqa	-96(%ebp),%xmm0
3210	paddd	%xmm5,%xmm0
3211.byte	102,15,56,0,247
3212.byte	15,56,203,209
3213	pshufd	$14,%xmm0,%xmm0
3214	movdqa	%xmm6,%xmm7
3215.byte	102,15,58,15,253,4
3216	nop
3217	paddd	%xmm7,%xmm3
3218.byte	15,56,204,229
3219.byte	15,56,203,202
3220	movdqa	-80(%ebp),%xmm0
3221	paddd	%xmm6,%xmm0
3222.byte	15,56,205,222
3223.byte	15,56,203,209
3224	pshufd	$14,%xmm0,%xmm0
3225	movdqa	%xmm3,%xmm7
3226.byte	102,15,58,15,254,4
3227	nop
3228	paddd	%xmm7,%xmm4
3229.byte	15,56,204,238
3230.byte	15,56,203,202
3231	movdqa	-64(%ebp),%xmm0
3232	paddd	%xmm3,%xmm0
3233.byte	15,56,205,227
3234.byte	15,56,203,209
3235	pshufd	$14,%xmm0,%xmm0
3236	movdqa	%xmm4,%xmm7
3237.byte	102,15,58,15,251,4
3238	nop
3239	paddd	%xmm7,%xmm5
3240.byte	15,56,204,243
3241.byte	15,56,203,202
3242	movdqa	-48(%ebp),%xmm0
3243	paddd	%xmm4,%xmm0
3244.byte	15,56,205,236
3245.byte	15,56,203,209
3246	pshufd	$14,%xmm0,%xmm0
3247	movdqa	%xmm5,%xmm7
3248.byte	102,15,58,15,252,4
3249	nop
3250	paddd	%xmm7,%xmm6
3251.byte	15,56,204,220
3252.byte	15,56,203,202
3253	movdqa	-32(%ebp),%xmm0
3254	paddd	%xmm5,%xmm0
3255.byte	15,56,205,245
3256.byte	15,56,203,209
3257	pshufd	$14,%xmm0,%xmm0
3258	movdqa	%xmm6,%xmm7
3259.byte	102,15,58,15,253,4
3260	nop
3261	paddd	%xmm7,%xmm3
3262.byte	15,56,204,229
3263.byte	15,56,203,202
3264	movdqa	-16(%ebp),%xmm0
3265	paddd	%xmm6,%xmm0
3266.byte	15,56,205,222
3267.byte	15,56,203,209
3268	pshufd	$14,%xmm0,%xmm0
3269	movdqa	%xmm3,%xmm7
3270.byte	102,15,58,15,254,4
3271	nop
3272	paddd	%xmm7,%xmm4
3273.byte	15,56,204,238
3274.byte	15,56,203,202
3275	movdqa	(%ebp),%xmm0
3276	paddd	%xmm3,%xmm0
3277.byte	15,56,205,227
3278.byte	15,56,203,209
3279	pshufd	$14,%xmm0,%xmm0
3280	movdqa	%xmm4,%xmm7
3281.byte	102,15,58,15,251,4
3282	nop
3283	paddd	%xmm7,%xmm5
3284.byte	15,56,204,243
3285.byte	15,56,203,202
3286	movdqa	16(%ebp),%xmm0
3287	paddd	%xmm4,%xmm0
3288.byte	15,56,205,236
3289.byte	15,56,203,209
3290	pshufd	$14,%xmm0,%xmm0
3291	movdqa	%xmm5,%xmm7
3292.byte	102,15,58,15,252,4
3293	nop
3294	paddd	%xmm7,%xmm6
3295.byte	15,56,204,220
3296.byte	15,56,203,202
3297	movdqa	32(%ebp),%xmm0
3298	paddd	%xmm5,%xmm0
3299.byte	15,56,205,245
3300.byte	15,56,203,209
3301	pshufd	$14,%xmm0,%xmm0
3302	movdqa	%xmm6,%xmm7
3303.byte	102,15,58,15,253,4
3304	nop
3305	paddd	%xmm7,%xmm3
3306.byte	15,56,204,229
3307.byte	15,56,203,202
3308	movdqa	48(%ebp),%xmm0
3309	paddd	%xmm6,%xmm0
3310.byte	15,56,205,222
3311.byte	15,56,203,209
3312	pshufd	$14,%xmm0,%xmm0
3313	movdqa	%xmm3,%xmm7
3314.byte	102,15,58,15,254,4
3315	nop
3316	paddd	%xmm7,%xmm4
3317.byte	15,56,204,238
3318.byte	15,56,203,202
3319	movdqa	64(%ebp),%xmm0
3320	paddd	%xmm3,%xmm0
3321.byte	15,56,205,227
3322.byte	15,56,203,209
3323	pshufd	$14,%xmm0,%xmm0
3324	movdqa	%xmm4,%xmm7
3325.byte	102,15,58,15,251,4
3326	nop
3327	paddd	%xmm7,%xmm5
3328.byte	15,56,204,243
3329.byte	15,56,203,202
3330	movdqa	80(%ebp),%xmm0
3331	paddd	%xmm4,%xmm0
3332.byte	15,56,205,236
3333.byte	15,56,203,209
3334	pshufd	$14,%xmm0,%xmm0
3335	movdqa	%xmm5,%xmm7
3336.byte	102,15,58,15,252,4
3337.byte	15,56,203,202
3338	paddd	%xmm7,%xmm6
3339	movdqa	96(%ebp),%xmm0
3340	paddd	%xmm5,%xmm0
3341.byte	15,56,203,209
3342	pshufd	$14,%xmm0,%xmm0
3343.byte	15,56,205,245
3344	movdqa	128(%ebp),%xmm7
3345.byte	15,56,203,202
3346	movdqa	112(%ebp),%xmm0
3347	paddd	%xmm6,%xmm0
3348	nop
3349.byte	15,56,203,209
3350	pshufd	$14,%xmm0,%xmm0
3351	cmpl	%edi,%eax
3352	nop
3353.byte	15,56,203,202
3354	paddd	16(%esp),%xmm2
3355	paddd	(%esp),%xmm1
3356	jnz	.L011loop_shaext
3357	pshufd	$177,%xmm2,%xmm2
3358	pshufd	$27,%xmm1,%xmm7
3359	pshufd	$177,%xmm1,%xmm1
3360	punpckhqdq	%xmm2,%xmm1
3361.byte	102,15,58,15,215,8
3362	movl	44(%esp),%esp
3363	movdqu	%xmm1,(%esi)
3364	movdqu	%xmm2,16(%esi)
3365	popl	%edi
3366	popl	%esi
3367	popl	%ebx
3368	popl	%ebp
3369	ret
3370.align	32
3371.L006SSSE3:
3372	leal	-96(%esp),%esp
3373	movl	(%esi),%eax
3374	movl	4(%esi),%ebx
3375	movl	8(%esi),%ecx
3376	movl	12(%esi),%edi
3377	movl	%ebx,4(%esp)
3378	xorl	%ecx,%ebx
3379	movl	%ecx,8(%esp)
3380	movl	%edi,12(%esp)
3381	movl	16(%esi),%edx
3382	movl	20(%esi),%edi
3383	movl	24(%esi),%ecx
3384	movl	28(%esi),%esi
3385	movl	%edi,20(%esp)
3386	movl	100(%esp),%edi
3387	movl	%ecx,24(%esp)
3388	movl	%esi,28(%esp)
3389	movdqa	256(%ebp),%xmm7
3390	jmp	.L012grand_ssse3
3391.align	16
3392.L012grand_ssse3:
3393	movdqu	(%edi),%xmm0
3394	movdqu	16(%edi),%xmm1
3395	movdqu	32(%edi),%xmm2
3396	movdqu	48(%edi),%xmm3
3397	addl	$64,%edi
3398.byte	102,15,56,0,199
3399	movl	%edi,100(%esp)
3400.byte	102,15,56,0,207
3401	movdqa	(%ebp),%xmm4
3402.byte	102,15,56,0,215
3403	movdqa	16(%ebp),%xmm5
3404	paddd	%xmm0,%xmm4
3405.byte	102,15,56,0,223
3406	movdqa	32(%ebp),%xmm6
3407	paddd	%xmm1,%xmm5
3408	movdqa	48(%ebp),%xmm7
3409	movdqa	%xmm4,32(%esp)
3410	paddd	%xmm2,%xmm6
3411	movdqa	%xmm5,48(%esp)
3412	paddd	%xmm3,%xmm7
3413	movdqa	%xmm6,64(%esp)
3414	movdqa	%xmm7,80(%esp)
3415	jmp	.L013ssse3_00_47
3416.align	16
3417.L013ssse3_00_47:
3418	addl	$64,%ebp
3419	movl	%edx,%ecx
3420	movdqa	%xmm1,%xmm4
3421	rorl	$14,%edx
3422	movl	20(%esp),%esi
3423	movdqa	%xmm3,%xmm7
3424	xorl	%ecx,%edx
3425	movl	24(%esp),%edi
3426.byte	102,15,58,15,224,4
3427	xorl	%edi,%esi
3428	rorl	$5,%edx
3429	andl	%ecx,%esi
3430.byte	102,15,58,15,250,4
3431	movl	%ecx,16(%esp)
3432	xorl	%ecx,%edx
3433	xorl	%esi,%edi
3434	movdqa	%xmm4,%xmm5
3435	rorl	$6,%edx
3436	movl	%eax,%ecx
3437	movdqa	%xmm4,%xmm6
3438	addl	%edi,%edx
3439	movl	4(%esp),%edi
3440	psrld	$3,%xmm4
3441	movl	%eax,%esi
3442	rorl	$9,%ecx
3443	paddd	%xmm7,%xmm0
3444	movl	%eax,(%esp)
3445	xorl	%eax,%ecx
3446	psrld	$7,%xmm6
3447	xorl	%edi,%eax
3448	addl	28(%esp),%edx
3449	rorl	$11,%ecx
3450	andl	%eax,%ebx
3451	pshufd	$250,%xmm3,%xmm7
3452	xorl	%esi,%ecx
3453	addl	32(%esp),%edx
3454	pslld	$14,%xmm5
3455	xorl	%edi,%ebx
3456	rorl	$2,%ecx
3457	pxor	%xmm6,%xmm4
3458	addl	%edx,%ebx
3459	addl	12(%esp),%edx
3460	psrld	$11,%xmm6
3461	addl	%ecx,%ebx
3462	movl	%edx,%ecx
3463	rorl	$14,%edx
3464	pxor	%xmm5,%xmm4
3465	movl	16(%esp),%esi
3466	xorl	%ecx,%edx
3467	pslld	$11,%xmm5
3468	movl	20(%esp),%edi
3469	xorl	%edi,%esi
3470	rorl	$5,%edx
3471	pxor	%xmm6,%xmm4
3472	andl	%ecx,%esi
3473	movl	%ecx,12(%esp)
3474	movdqa	%xmm7,%xmm6
3475	xorl	%ecx,%edx
3476	xorl	%esi,%edi
3477	rorl	$6,%edx
3478	pxor	%xmm5,%xmm4
3479	movl	%ebx,%ecx
3480	addl	%edi,%edx
3481	psrld	$10,%xmm7
3482	movl	(%esp),%edi
3483	movl	%ebx,%esi
3484	rorl	$9,%ecx
3485	paddd	%xmm4,%xmm0
3486	movl	%ebx,28(%esp)
3487	xorl	%ebx,%ecx
3488	psrlq	$17,%xmm6
3489	xorl	%edi,%ebx
3490	addl	24(%esp),%edx
3491	rorl	$11,%ecx
3492	pxor	%xmm6,%xmm7
3493	andl	%ebx,%eax
3494	xorl	%esi,%ecx
3495	psrlq	$2,%xmm6
3496	addl	36(%esp),%edx
3497	xorl	%edi,%eax
3498	rorl	$2,%ecx
3499	pxor	%xmm6,%xmm7
3500	addl	%edx,%eax
3501	addl	8(%esp),%edx
3502	pshufd	$128,%xmm7,%xmm7
3503	addl	%ecx,%eax
3504	movl	%edx,%ecx
3505	rorl	$14,%edx
3506	movl	12(%esp),%esi
3507	xorl	%ecx,%edx
3508	movl	16(%esp),%edi
3509	xorl	%edi,%esi
3510	rorl	$5,%edx
3511	andl	%ecx,%esi
3512	psrldq	$8,%xmm7
3513	movl	%ecx,8(%esp)
3514	xorl	%ecx,%edx
3515	xorl	%esi,%edi
3516	paddd	%xmm7,%xmm0
3517	rorl	$6,%edx
3518	movl	%eax,%ecx
3519	addl	%edi,%edx
3520	movl	28(%esp),%edi
3521	movl	%eax,%esi
3522	rorl	$9,%ecx
3523	movl	%eax,24(%esp)
3524	pshufd	$80,%xmm0,%xmm7
3525	xorl	%eax,%ecx
3526	xorl	%edi,%eax
3527	addl	20(%esp),%edx
3528	movdqa	%xmm7,%xmm6
3529	rorl	$11,%ecx
3530	psrld	$10,%xmm7
3531	andl	%eax,%ebx
3532	psrlq	$17,%xmm6
3533	xorl	%esi,%ecx
3534	addl	40(%esp),%edx
3535	xorl	%edi,%ebx
3536	rorl	$2,%ecx
3537	pxor	%xmm6,%xmm7
3538	addl	%edx,%ebx
3539	addl	4(%esp),%edx
3540	psrlq	$2,%xmm6
3541	addl	%ecx,%ebx
3542	movl	%edx,%ecx
3543	rorl	$14,%edx
3544	pxor	%xmm6,%xmm7
3545	movl	8(%esp),%esi
3546	xorl	%ecx,%edx
3547	movl	12(%esp),%edi
3548	pshufd	$8,%xmm7,%xmm7
3549	xorl	%edi,%esi
3550	rorl	$5,%edx
3551	movdqa	(%ebp),%xmm6
3552	andl	%ecx,%esi
3553	movl	%ecx,4(%esp)
3554	pslldq	$8,%xmm7
3555	xorl	%ecx,%edx
3556	xorl	%esi,%edi
3557	rorl	$6,%edx
3558	movl	%ebx,%ecx
3559	addl	%edi,%edx
3560	movl	24(%esp),%edi
3561	movl	%ebx,%esi
3562	rorl	$9,%ecx
3563	paddd	%xmm7,%xmm0
3564	movl	%ebx,20(%esp)
3565	xorl	%ebx,%ecx
3566	xorl	%edi,%ebx
3567	addl	16(%esp),%edx
3568	paddd	%xmm0,%xmm6
3569	rorl	$11,%ecx
3570	andl	%ebx,%eax
3571	xorl	%esi,%ecx
3572	addl	44(%esp),%edx
3573	xorl	%edi,%eax
3574	rorl	$2,%ecx
3575	addl	%edx,%eax
3576	addl	(%esp),%edx
3577	addl	%ecx,%eax
3578	movdqa	%xmm6,32(%esp)
3579	movl	%edx,%ecx
3580	movdqa	%xmm2,%xmm4
3581	rorl	$14,%edx
3582	movl	4(%esp),%esi
3583	movdqa	%xmm0,%xmm7
3584	xorl	%ecx,%edx
3585	movl	8(%esp),%edi
3586.byte	102,15,58,15,225,4
3587	xorl	%edi,%esi
3588	rorl	$5,%edx
3589	andl	%ecx,%esi
3590.byte	102,15,58,15,251,4
3591	movl	%ecx,(%esp)
3592	xorl	%ecx,%edx
3593	xorl	%esi,%edi
3594	movdqa	%xmm4,%xmm5
3595	rorl	$6,%edx
3596	movl	%eax,%ecx
3597	movdqa	%xmm4,%xmm6
3598	addl	%edi,%edx
3599	movl	20(%esp),%edi
3600	psrld	$3,%xmm4
3601	movl	%eax,%esi
3602	rorl	$9,%ecx
3603	paddd	%xmm7,%xmm1
3604	movl	%eax,16(%esp)
3605	xorl	%eax,%ecx
3606	psrld	$7,%xmm6
3607	xorl	%edi,%eax
3608	addl	12(%esp),%edx
3609	rorl	$11,%ecx
3610	andl	%eax,%ebx
3611	pshufd	$250,%xmm0,%xmm7
3612	xorl	%esi,%ecx
3613	addl	48(%esp),%edx
3614	pslld	$14,%xmm5
3615	xorl	%edi,%ebx
3616	rorl	$2,%ecx
3617	pxor	%xmm6,%xmm4
3618	addl	%edx,%ebx
3619	addl	28(%esp),%edx
3620	psrld	$11,%xmm6
3621	addl	%ecx,%ebx
3622	movl	%edx,%ecx
3623	rorl	$14,%edx
3624	pxor	%xmm5,%xmm4
3625	movl	(%esp),%esi
3626	xorl	%ecx,%edx
3627	pslld	$11,%xmm5
3628	movl	4(%esp),%edi
3629	xorl	%edi,%esi
3630	rorl	$5,%edx
3631	pxor	%xmm6,%xmm4
3632	andl	%ecx,%esi
3633	movl	%ecx,28(%esp)
3634	movdqa	%xmm7,%xmm6
3635	xorl	%ecx,%edx
3636	xorl	%esi,%edi
3637	rorl	$6,%edx
3638	pxor	%xmm5,%xmm4
3639	movl	%ebx,%ecx
3640	addl	%edi,%edx
3641	psrld	$10,%xmm7
3642	movl	16(%esp),%edi
3643	movl	%ebx,%esi
3644	rorl	$9,%ecx
3645	paddd	%xmm4,%xmm1
3646	movl	%ebx,12(%esp)
3647	xorl	%ebx,%ecx
3648	psrlq	$17,%xmm6
3649	xorl	%edi,%ebx
3650	addl	8(%esp),%edx
3651	rorl	$11,%ecx
3652	pxor	%xmm6,%xmm7
3653	andl	%ebx,%eax
3654	xorl	%esi,%ecx
3655	psrlq	$2,%xmm6
3656	addl	52(%esp),%edx
3657	xorl	%edi,%eax
3658	rorl	$2,%ecx
3659	pxor	%xmm6,%xmm7
3660	addl	%edx,%eax
3661	addl	24(%esp),%edx
3662	pshufd	$128,%xmm7,%xmm7
3663	addl	%ecx,%eax
3664	movl	%edx,%ecx
3665	rorl	$14,%edx
3666	movl	28(%esp),%esi
3667	xorl	%ecx,%edx
3668	movl	(%esp),%edi
3669	xorl	%edi,%esi
3670	rorl	$5,%edx
3671	andl	%ecx,%esi
3672	psrldq	$8,%xmm7
3673	movl	%ecx,24(%esp)
3674	xorl	%ecx,%edx
3675	xorl	%esi,%edi
3676	paddd	%xmm7,%xmm1
3677	rorl	$6,%edx
3678	movl	%eax,%ecx
3679	addl	%edi,%edx
3680	movl	12(%esp),%edi
3681	movl	%eax,%esi
3682	rorl	$9,%ecx
3683	movl	%eax,8(%esp)
3684	pshufd	$80,%xmm1,%xmm7
3685	xorl	%eax,%ecx
3686	xorl	%edi,%eax
3687	addl	4(%esp),%edx
3688	movdqa	%xmm7,%xmm6
3689	rorl	$11,%ecx
3690	psrld	$10,%xmm7
3691	andl	%eax,%ebx
3692	psrlq	$17,%xmm6
3693	xorl	%esi,%ecx
3694	addl	56(%esp),%edx
3695	xorl	%edi,%ebx
3696	rorl	$2,%ecx
3697	pxor	%xmm6,%xmm7
3698	addl	%edx,%ebx
3699	addl	20(%esp),%edx
3700	psrlq	$2,%xmm6
3701	addl	%ecx,%ebx
3702	movl	%edx,%ecx
3703	rorl	$14,%edx
3704	pxor	%xmm6,%xmm7
3705	movl	24(%esp),%esi
3706	xorl	%ecx,%edx
3707	movl	28(%esp),%edi
3708	pshufd	$8,%xmm7,%xmm7
3709	xorl	%edi,%esi
3710	rorl	$5,%edx
3711	movdqa	16(%ebp),%xmm6
3712	andl	%ecx,%esi
3713	movl	%ecx,20(%esp)
3714	pslldq	$8,%xmm7
3715	xorl	%ecx,%edx
3716	xorl	%esi,%edi
3717	rorl	$6,%edx
3718	movl	%ebx,%ecx
3719	addl	%edi,%edx
3720	movl	8(%esp),%edi
3721	movl	%ebx,%esi
3722	rorl	$9,%ecx
3723	paddd	%xmm7,%xmm1
3724	movl	%ebx,4(%esp)
3725	xorl	%ebx,%ecx
3726	xorl	%edi,%ebx
3727	addl	(%esp),%edx
3728	paddd	%xmm1,%xmm6
3729	rorl	$11,%ecx
3730	andl	%ebx,%eax
3731	xorl	%esi,%ecx
3732	addl	60(%esp),%edx
3733	xorl	%edi,%eax
3734	rorl	$2,%ecx
3735	addl	%edx,%eax
3736	addl	16(%esp),%edx
3737	addl	%ecx,%eax
3738	movdqa	%xmm6,48(%esp)
3739	movl	%edx,%ecx
3740	movdqa	%xmm3,%xmm4
3741	rorl	$14,%edx
3742	movl	20(%esp),%esi
3743	movdqa	%xmm1,%xmm7
3744	xorl	%ecx,%edx
3745	movl	24(%esp),%edi
3746.byte	102,15,58,15,226,4
3747	xorl	%edi,%esi
3748	rorl	$5,%edx
3749	andl	%ecx,%esi
3750.byte	102,15,58,15,248,4
3751	movl	%ecx,16(%esp)
3752	xorl	%ecx,%edx
3753	xorl	%esi,%edi
3754	movdqa	%xmm4,%xmm5
3755	rorl	$6,%edx
3756	movl	%eax,%ecx
3757	movdqa	%xmm4,%xmm6
3758	addl	%edi,%edx
3759	movl	4(%esp),%edi
3760	psrld	$3,%xmm4
3761	movl	%eax,%esi
3762	rorl	$9,%ecx
3763	paddd	%xmm7,%xmm2
3764	movl	%eax,(%esp)
3765	xorl	%eax,%ecx
3766	psrld	$7,%xmm6
3767	xorl	%edi,%eax
3768	addl	28(%esp),%edx
3769	rorl	$11,%ecx
3770	andl	%eax,%ebx
3771	pshufd	$250,%xmm1,%xmm7
3772	xorl	%esi,%ecx
3773	addl	64(%esp),%edx
3774	pslld	$14,%xmm5
3775	xorl	%edi,%ebx
3776	rorl	$2,%ecx
3777	pxor	%xmm6,%xmm4
3778	addl	%edx,%ebx
3779	addl	12(%esp),%edx
3780	psrld	$11,%xmm6
3781	addl	%ecx,%ebx
3782	movl	%edx,%ecx
3783	rorl	$14,%edx
3784	pxor	%xmm5,%xmm4
3785	movl	16(%esp),%esi
3786	xorl	%ecx,%edx
3787	pslld	$11,%xmm5
3788	movl	20(%esp),%edi
3789	xorl	%edi,%esi
3790	rorl	$5,%edx
3791	pxor	%xmm6,%xmm4
3792	andl	%ecx,%esi
3793	movl	%ecx,12(%esp)
3794	movdqa	%xmm7,%xmm6
3795	xorl	%ecx,%edx
3796	xorl	%esi,%edi
3797	rorl	$6,%edx
3798	pxor	%xmm5,%xmm4
3799	movl	%ebx,%ecx
3800	addl	%edi,%edx
3801	psrld	$10,%xmm7
3802	movl	(%esp),%edi
3803	movl	%ebx,%esi
3804	rorl	$9,%ecx
3805	paddd	%xmm4,%xmm2
3806	movl	%ebx,28(%esp)
3807	xorl	%ebx,%ecx
3808	psrlq	$17,%xmm6
3809	xorl	%edi,%ebx
3810	addl	24(%esp),%edx
3811	rorl	$11,%ecx
3812	pxor	%xmm6,%xmm7
3813	andl	%ebx,%eax
3814	xorl	%esi,%ecx
3815	psrlq	$2,%xmm6
3816	addl	68(%esp),%edx
3817	xorl	%edi,%eax
3818	rorl	$2,%ecx
3819	pxor	%xmm6,%xmm7
3820	addl	%edx,%eax
3821	addl	8(%esp),%edx
3822	pshufd	$128,%xmm7,%xmm7
3823	addl	%ecx,%eax
3824	movl	%edx,%ecx
3825	rorl	$14,%edx
3826	movl	12(%esp),%esi
3827	xorl	%ecx,%edx
3828	movl	16(%esp),%edi
3829	xorl	%edi,%esi
3830	rorl	$5,%edx
3831	andl	%ecx,%esi
3832	psrldq	$8,%xmm7
3833	movl	%ecx,8(%esp)
3834	xorl	%ecx,%edx
3835	xorl	%esi,%edi
3836	paddd	%xmm7,%xmm2
3837	rorl	$6,%edx
3838	movl	%eax,%ecx
3839	addl	%edi,%edx
3840	movl	28(%esp),%edi
3841	movl	%eax,%esi
3842	rorl	$9,%ecx
3843	movl	%eax,24(%esp)
3844	pshufd	$80,%xmm2,%xmm7
3845	xorl	%eax,%ecx
3846	xorl	%edi,%eax
3847	addl	20(%esp),%edx
3848	movdqa	%xmm7,%xmm6
3849	rorl	$11,%ecx
3850	psrld	$10,%xmm7
3851	andl	%eax,%ebx
3852	psrlq	$17,%xmm6
3853	xorl	%esi,%ecx
3854	addl	72(%esp),%edx
3855	xorl	%edi,%ebx
3856	rorl	$2,%ecx
3857	pxor	%xmm6,%xmm7
3858	addl	%edx,%ebx
3859	addl	4(%esp),%edx
3860	psrlq	$2,%xmm6
3861	addl	%ecx,%ebx
3862	movl	%edx,%ecx
3863	rorl	$14,%edx
3864	pxor	%xmm6,%xmm7
3865	movl	8(%esp),%esi
3866	xorl	%ecx,%edx
3867	movl	12(%esp),%edi
3868	pshufd	$8,%xmm7,%xmm7
3869	xorl	%edi,%esi
3870	rorl	$5,%edx
3871	movdqa	32(%ebp),%xmm6
3872	andl	%ecx,%esi
3873	movl	%ecx,4(%esp)
3874	pslldq	$8,%xmm7
3875	xorl	%ecx,%edx
3876	xorl	%esi,%edi
3877	rorl	$6,%edx
3878	movl	%ebx,%ecx
3879	addl	%edi,%edx
3880	movl	24(%esp),%edi
3881	movl	%ebx,%esi
3882	rorl	$9,%ecx
3883	paddd	%xmm7,%xmm2
3884	movl	%ebx,20(%esp)
3885	xorl	%ebx,%ecx
3886	xorl	%edi,%ebx
3887	addl	16(%esp),%edx
3888	paddd	%xmm2,%xmm6
3889	rorl	$11,%ecx
3890	andl	%ebx,%eax
3891	xorl	%esi,%ecx
3892	addl	76(%esp),%edx
3893	xorl	%edi,%eax
3894	rorl	$2,%ecx
3895	addl	%edx,%eax
3896	addl	(%esp),%edx
3897	addl	%ecx,%eax
3898	movdqa	%xmm6,64(%esp)
3899	movl	%edx,%ecx
3900	movdqa	%xmm0,%xmm4
3901	rorl	$14,%edx
3902	movl	4(%esp),%esi
3903	movdqa	%xmm2,%xmm7
3904	xorl	%ecx,%edx
3905	movl	8(%esp),%edi
3906.byte	102,15,58,15,227,4
3907	xorl	%edi,%esi
3908	rorl	$5,%edx
3909	andl	%ecx,%esi
3910.byte	102,15,58,15,249,4
3911	movl	%ecx,(%esp)
3912	xorl	%ecx,%edx
3913	xorl	%esi,%edi
3914	movdqa	%xmm4,%xmm5
3915	rorl	$6,%edx
3916	movl	%eax,%ecx
3917	movdqa	%xmm4,%xmm6
3918	addl	%edi,%edx
3919	movl	20(%esp),%edi
3920	psrld	$3,%xmm4
3921	movl	%eax,%esi
3922	rorl	$9,%ecx
3923	paddd	%xmm7,%xmm3
3924	movl	%eax,16(%esp)
3925	xorl	%eax,%ecx
3926	psrld	$7,%xmm6
3927	xorl	%edi,%eax
3928	addl	12(%esp),%edx
3929	rorl	$11,%ecx
3930	andl	%eax,%ebx
3931	pshufd	$250,%xmm2,%xmm7
3932	xorl	%esi,%ecx
3933	addl	80(%esp),%edx
3934	pslld	$14,%xmm5
3935	xorl	%edi,%ebx
3936	rorl	$2,%ecx
3937	pxor	%xmm6,%xmm4
3938	addl	%edx,%ebx
3939	addl	28(%esp),%edx
3940	psrld	$11,%xmm6
3941	addl	%ecx,%ebx
3942	movl	%edx,%ecx
3943	rorl	$14,%edx
3944	pxor	%xmm5,%xmm4
3945	movl	(%esp),%esi
3946	xorl	%ecx,%edx
3947	pslld	$11,%xmm5
3948	movl	4(%esp),%edi
3949	xorl	%edi,%esi
3950	rorl	$5,%edx
3951	pxor	%xmm6,%xmm4
3952	andl	%ecx,%esi
3953	movl	%ecx,28(%esp)
3954	movdqa	%xmm7,%xmm6
3955	xorl	%ecx,%edx
3956	xorl	%esi,%edi
3957	rorl	$6,%edx
3958	pxor	%xmm5,%xmm4
3959	movl	%ebx,%ecx
3960	addl	%edi,%edx
3961	psrld	$10,%xmm7
3962	movl	16(%esp),%edi
3963	movl	%ebx,%esi
3964	rorl	$9,%ecx
3965	paddd	%xmm4,%xmm3
3966	movl	%ebx,12(%esp)
3967	xorl	%ebx,%ecx
3968	psrlq	$17,%xmm6
3969	xorl	%edi,%ebx
3970	addl	8(%esp),%edx
3971	rorl	$11,%ecx
3972	pxor	%xmm6,%xmm7
3973	andl	%ebx,%eax
3974	xorl	%esi,%ecx
3975	psrlq	$2,%xmm6
3976	addl	84(%esp),%edx
3977	xorl	%edi,%eax
3978	rorl	$2,%ecx
3979	pxor	%xmm6,%xmm7
3980	addl	%edx,%eax
3981	addl	24(%esp),%edx
3982	pshufd	$128,%xmm7,%xmm7
3983	addl	%ecx,%eax
3984	movl	%edx,%ecx
3985	rorl	$14,%edx
3986	movl	28(%esp),%esi
3987	xorl	%ecx,%edx
3988	movl	(%esp),%edi
3989	xorl	%edi,%esi
3990	rorl	$5,%edx
3991	andl	%ecx,%esi
3992	psrldq	$8,%xmm7
3993	movl	%ecx,24(%esp)
3994	xorl	%ecx,%edx
3995	xorl	%esi,%edi
3996	paddd	%xmm7,%xmm3
3997	rorl	$6,%edx
3998	movl	%eax,%ecx
3999	addl	%edi,%edx
4000	movl	12(%esp),%edi
4001	movl	%eax,%esi
4002	rorl	$9,%ecx
4003	movl	%eax,8(%esp)
4004	pshufd	$80,%xmm3,%xmm7
4005	xorl	%eax,%ecx
4006	xorl	%edi,%eax
4007	addl	4(%esp),%edx
4008	movdqa	%xmm7,%xmm6
4009	rorl	$11,%ecx
4010	psrld	$10,%xmm7
4011	andl	%eax,%ebx
4012	psrlq	$17,%xmm6
4013	xorl	%esi,%ecx
4014	addl	88(%esp),%edx
4015	xorl	%edi,%ebx
4016	rorl	$2,%ecx
4017	pxor	%xmm6,%xmm7
4018	addl	%edx,%ebx
4019	addl	20(%esp),%edx
4020	psrlq	$2,%xmm6
4021	addl	%ecx,%ebx
4022	movl	%edx,%ecx
4023	rorl	$14,%edx
4024	pxor	%xmm6,%xmm7
4025	movl	24(%esp),%esi
4026	xorl	%ecx,%edx
4027	movl	28(%esp),%edi
4028	pshufd	$8,%xmm7,%xmm7
4029	xorl	%edi,%esi
4030	rorl	$5,%edx
4031	movdqa	48(%ebp),%xmm6
4032	andl	%ecx,%esi
4033	movl	%ecx,20(%esp)
4034	pslldq	$8,%xmm7
4035	xorl	%ecx,%edx
4036	xorl	%esi,%edi
4037	rorl	$6,%edx
4038	movl	%ebx,%ecx
4039	addl	%edi,%edx
4040	movl	8(%esp),%edi
4041	movl	%ebx,%esi
4042	rorl	$9,%ecx
4043	paddd	%xmm7,%xmm3
4044	movl	%ebx,4(%esp)
4045	xorl	%ebx,%ecx
4046	xorl	%edi,%ebx
4047	addl	(%esp),%edx
4048	paddd	%xmm3,%xmm6
4049	rorl	$11,%ecx
4050	andl	%ebx,%eax
4051	xorl	%esi,%ecx
4052	addl	92(%esp),%edx
4053	xorl	%edi,%eax
4054	rorl	$2,%ecx
4055	addl	%edx,%eax
4056	addl	16(%esp),%edx
4057	addl	%ecx,%eax
4058	movdqa	%xmm6,80(%esp)
4059	cmpl	$66051,64(%ebp)
4060	jne	.L013ssse3_00_47
4061	movl	%edx,%ecx
4062	rorl	$14,%edx
4063	movl	20(%esp),%esi
4064	xorl	%ecx,%edx
4065	movl	24(%esp),%edi
4066	xorl	%edi,%esi
4067	rorl	$5,%edx
4068	andl	%ecx,%esi
4069	movl	%ecx,16(%esp)
4070	xorl	%ecx,%edx
4071	xorl	%esi,%edi
4072	rorl	$6,%edx
4073	movl	%eax,%ecx
4074	addl	%edi,%edx
4075	movl	4(%esp),%edi
4076	movl	%eax,%esi
4077	rorl	$9,%ecx
4078	movl	%eax,(%esp)
4079	xorl	%eax,%ecx
4080	xorl	%edi,%eax
4081	addl	28(%esp),%edx
4082	rorl	$11,%ecx
4083	andl	%eax,%ebx
4084	xorl	%esi,%ecx
4085	addl	32(%esp),%edx
4086	xorl	%edi,%ebx
4087	rorl	$2,%ecx
4088	addl	%edx,%ebx
4089	addl	12(%esp),%edx
4090	addl	%ecx,%ebx
4091	movl	%edx,%ecx
4092	rorl	$14,%edx
4093	movl	16(%esp),%esi
4094	xorl	%ecx,%edx
4095	movl	20(%esp),%edi
4096	xorl	%edi,%esi
4097	rorl	$5,%edx
4098	andl	%ecx,%esi
4099	movl	%ecx,12(%esp)
4100	xorl	%ecx,%edx
4101	xorl	%esi,%edi
4102	rorl	$6,%edx
4103	movl	%ebx,%ecx
4104	addl	%edi,%edx
4105	movl	(%esp),%edi
4106	movl	%ebx,%esi
4107	rorl	$9,%ecx
4108	movl	%ebx,28(%esp)
4109	xorl	%ebx,%ecx
4110	xorl	%edi,%ebx
4111	addl	24(%esp),%edx
4112	rorl	$11,%ecx
4113	andl	%ebx,%eax
4114	xorl	%esi,%ecx
4115	addl	36(%esp),%edx
4116	xorl	%edi,%eax
4117	rorl	$2,%ecx
4118	addl	%edx,%eax
4119	addl	8(%esp),%edx
4120	addl	%ecx,%eax
4121	movl	%edx,%ecx
4122	rorl	$14,%edx
4123	movl	12(%esp),%esi
4124	xorl	%ecx,%edx
4125	movl	16(%esp),%edi
4126	xorl	%edi,%esi
4127	rorl	$5,%edx
4128	andl	%ecx,%esi
4129	movl	%ecx,8(%esp)
4130	xorl	%ecx,%edx
4131	xorl	%esi,%edi
4132	rorl	$6,%edx
4133	movl	%eax,%ecx
4134	addl	%edi,%edx
4135	movl	28(%esp),%edi
4136	movl	%eax,%esi
4137	rorl	$9,%ecx
4138	movl	%eax,24(%esp)
4139	xorl	%eax,%ecx
4140	xorl	%edi,%eax
4141	addl	20(%esp),%edx
4142	rorl	$11,%ecx
4143	andl	%eax,%ebx
4144	xorl	%esi,%ecx
4145	addl	40(%esp),%edx
4146	xorl	%edi,%ebx
4147	rorl	$2,%ecx
4148	addl	%edx,%ebx
4149	addl	4(%esp),%edx
4150	addl	%ecx,%ebx
4151	movl	%edx,%ecx
4152	rorl	$14,%edx
4153	movl	8(%esp),%esi
4154	xorl	%ecx,%edx
4155	movl	12(%esp),%edi
4156	xorl	%edi,%esi
4157	rorl	$5,%edx
4158	andl	%ecx,%esi
4159	movl	%ecx,4(%esp)
4160	xorl	%ecx,%edx
4161	xorl	%esi,%edi
4162	rorl	$6,%edx
4163	movl	%ebx,%ecx
4164	addl	%edi,%edx
4165	movl	24(%esp),%edi
4166	movl	%ebx,%esi
4167	rorl	$9,%ecx
4168	movl	%ebx,20(%esp)
4169	xorl	%ebx,%ecx
4170	xorl	%edi,%ebx
4171	addl	16(%esp),%edx
4172	rorl	$11,%ecx
4173	andl	%ebx,%eax
4174	xorl	%esi,%ecx
4175	addl	44(%esp),%edx
4176	xorl	%edi,%eax
4177	rorl	$2,%ecx
4178	addl	%edx,%eax
4179	addl	(%esp),%edx
4180	addl	%ecx,%eax
4181	movl	%edx,%ecx
4182	rorl	$14,%edx
4183	movl	4(%esp),%esi
4184	xorl	%ecx,%edx
4185	movl	8(%esp),%edi
4186	xorl	%edi,%esi
4187	rorl	$5,%edx
4188	andl	%ecx,%esi
4189	movl	%ecx,(%esp)
4190	xorl	%ecx,%edx
4191	xorl	%esi,%edi
4192	rorl	$6,%edx
4193	movl	%eax,%ecx
4194	addl	%edi,%edx
4195	movl	20(%esp),%edi
4196	movl	%eax,%esi
4197	rorl	$9,%ecx
4198	movl	%eax,16(%esp)
4199	xorl	%eax,%ecx
4200	xorl	%edi,%eax
4201	addl	12(%esp),%edx
4202	rorl	$11,%ecx
4203	andl	%eax,%ebx
4204	xorl	%esi,%ecx
4205	addl	48(%esp),%edx
4206	xorl	%edi,%ebx
4207	rorl	$2,%ecx
4208	addl	%edx,%ebx
4209	addl	28(%esp),%edx
4210	addl	%ecx,%ebx
4211	movl	%edx,%ecx
4212	rorl	$14,%edx
4213	movl	(%esp),%esi
4214	xorl	%ecx,%edx
4215	movl	4(%esp),%edi
4216	xorl	%edi,%esi
4217	rorl	$5,%edx
4218	andl	%ecx,%esi
4219	movl	%ecx,28(%esp)
4220	xorl	%ecx,%edx
4221	xorl	%esi,%edi
4222	rorl	$6,%edx
4223	movl	%ebx,%ecx
4224	addl	%edi,%edx
4225	movl	16(%esp),%edi
4226	movl	%ebx,%esi
4227	rorl	$9,%ecx
4228	movl	%ebx,12(%esp)
4229	xorl	%ebx,%ecx
4230	xorl	%edi,%ebx
4231	addl	8(%esp),%edx
4232	rorl	$11,%ecx
4233	andl	%ebx,%eax
4234	xorl	%esi,%ecx
4235	addl	52(%esp),%edx
4236	xorl	%edi,%eax
4237	rorl	$2,%ecx
4238	addl	%edx,%eax
4239	addl	24(%esp),%edx
4240	addl	%ecx,%eax
4241	movl	%edx,%ecx
4242	rorl	$14,%edx
4243	movl	28(%esp),%esi
4244	xorl	%ecx,%edx
4245	movl	(%esp),%edi
4246	xorl	%edi,%esi
4247	rorl	$5,%edx
4248	andl	%ecx,%esi
4249	movl	%ecx,24(%esp)
4250	xorl	%ecx,%edx
4251	xorl	%esi,%edi
4252	rorl	$6,%edx
4253	movl	%eax,%ecx
4254	addl	%edi,%edx
4255	movl	12(%esp),%edi
4256	movl	%eax,%esi
4257	rorl	$9,%ecx
4258	movl	%eax,8(%esp)
4259	xorl	%eax,%ecx
4260	xorl	%edi,%eax
4261	addl	4(%esp),%edx
4262	rorl	$11,%ecx
4263	andl	%eax,%ebx
4264	xorl	%esi,%ecx
4265	addl	56(%esp),%edx
4266	xorl	%edi,%ebx
4267	rorl	$2,%ecx
4268	addl	%edx,%ebx
4269	addl	20(%esp),%edx
4270	addl	%ecx,%ebx
4271	movl	%edx,%ecx
4272	rorl	$14,%edx
4273	movl	24(%esp),%esi
4274	xorl	%ecx,%edx
4275	movl	28(%esp),%edi
4276	xorl	%edi,%esi
4277	rorl	$5,%edx
4278	andl	%ecx,%esi
4279	movl	%ecx,20(%esp)
4280	xorl	%ecx,%edx
4281	xorl	%esi,%edi
4282	rorl	$6,%edx
4283	movl	%ebx,%ecx
4284	addl	%edi,%edx
4285	movl	8(%esp),%edi
4286	movl	%ebx,%esi
4287	rorl	$9,%ecx
4288	movl	%ebx,4(%esp)
4289	xorl	%ebx,%ecx
4290	xorl	%edi,%ebx
4291	addl	(%esp),%edx
4292	rorl	$11,%ecx
4293	andl	%ebx,%eax
4294	xorl	%esi,%ecx
4295	addl	60(%esp),%edx
4296	xorl	%edi,%eax
4297	rorl	$2,%ecx
4298	addl	%edx,%eax
4299	addl	16(%esp),%edx
4300	addl	%ecx,%eax
4301	movl	%edx,%ecx
4302	rorl	$14,%edx
4303	movl	20(%esp),%esi
4304	xorl	%ecx,%edx
4305	movl	24(%esp),%edi
4306	xorl	%edi,%esi
4307	rorl	$5,%edx
4308	andl	%ecx,%esi
4309	movl	%ecx,16(%esp)
4310	xorl	%ecx,%edx
4311	xorl	%esi,%edi
4312	rorl	$6,%edx
4313	movl	%eax,%ecx
4314	addl	%edi,%edx
4315	movl	4(%esp),%edi
4316	movl	%eax,%esi
4317	rorl	$9,%ecx
4318	movl	%eax,(%esp)
4319	xorl	%eax,%ecx
4320	xorl	%edi,%eax
4321	addl	28(%esp),%edx
4322	rorl	$11,%ecx
4323	andl	%eax,%ebx
4324	xorl	%esi,%ecx
4325	addl	64(%esp),%edx
4326	xorl	%edi,%ebx
4327	rorl	$2,%ecx
4328	addl	%edx,%ebx
4329	addl	12(%esp),%edx
4330	addl	%ecx,%ebx
4331	movl	%edx,%ecx
4332	rorl	$14,%edx
4333	movl	16(%esp),%esi
4334	xorl	%ecx,%edx
4335	movl	20(%esp),%edi
4336	xorl	%edi,%esi
4337	rorl	$5,%edx
4338	andl	%ecx,%esi
4339	movl	%ecx,12(%esp)
4340	xorl	%ecx,%edx
4341	xorl	%esi,%edi
4342	rorl	$6,%edx
4343	movl	%ebx,%ecx
4344	addl	%edi,%edx
4345	movl	(%esp),%edi
4346	movl	%ebx,%esi
4347	rorl	$9,%ecx
4348	movl	%ebx,28(%esp)
4349	xorl	%ebx,%ecx
4350	xorl	%edi,%ebx
4351	addl	24(%esp),%edx
4352	rorl	$11,%ecx
4353	andl	%ebx,%eax
4354	xorl	%esi,%ecx
4355	addl	68(%esp),%edx
4356	xorl	%edi,%eax
4357	rorl	$2,%ecx
4358	addl	%edx,%eax
4359	addl	8(%esp),%edx
4360	addl	%ecx,%eax
4361	movl	%edx,%ecx
4362	rorl	$14,%edx
4363	movl	12(%esp),%esi
4364	xorl	%ecx,%edx
4365	movl	16(%esp),%edi
4366	xorl	%edi,%esi
4367	rorl	$5,%edx
4368	andl	%ecx,%esi
4369	movl	%ecx,8(%esp)
4370	xorl	%ecx,%edx
4371	xorl	%esi,%edi
4372	rorl	$6,%edx
4373	movl	%eax,%ecx
4374	addl	%edi,%edx
4375	movl	28(%esp),%edi
4376	movl	%eax,%esi
4377	rorl	$9,%ecx
4378	movl	%eax,24(%esp)
4379	xorl	%eax,%ecx
4380	xorl	%edi,%eax
4381	addl	20(%esp),%edx
4382	rorl	$11,%ecx
4383	andl	%eax,%ebx
4384	xorl	%esi,%ecx
4385	addl	72(%esp),%edx
4386	xorl	%edi,%ebx
4387	rorl	$2,%ecx
4388	addl	%edx,%ebx
4389	addl	4(%esp),%edx
4390	addl	%ecx,%ebx
4391	movl	%edx,%ecx
4392	rorl	$14,%edx
4393	movl	8(%esp),%esi
4394	xorl	%ecx,%edx
4395	movl	12(%esp),%edi
4396	xorl	%edi,%esi
4397	rorl	$5,%edx
4398	andl	%ecx,%esi
4399	movl	%ecx,4(%esp)
4400	xorl	%ecx,%edx
4401	xorl	%esi,%edi
4402	rorl	$6,%edx
4403	movl	%ebx,%ecx
4404	addl	%edi,%edx
4405	movl	24(%esp),%edi
4406	movl	%ebx,%esi
4407	rorl	$9,%ecx
4408	movl	%ebx,20(%esp)
4409	xorl	%ebx,%ecx
4410	xorl	%edi,%ebx
4411	addl	16(%esp),%edx
4412	rorl	$11,%ecx
4413	andl	%ebx,%eax
4414	xorl	%esi,%ecx
4415	addl	76(%esp),%edx
4416	xorl	%edi,%eax
4417	rorl	$2,%ecx
4418	addl	%edx,%eax
4419	addl	(%esp),%edx
4420	addl	%ecx,%eax
4421	movl	%edx,%ecx
4422	rorl	$14,%edx
4423	movl	4(%esp),%esi
4424	xorl	%ecx,%edx
4425	movl	8(%esp),%edi
4426	xorl	%edi,%esi
4427	rorl	$5,%edx
4428	andl	%ecx,%esi
4429	movl	%ecx,(%esp)
4430	xorl	%ecx,%edx
4431	xorl	%esi,%edi
4432	rorl	$6,%edx
4433	movl	%eax,%ecx
4434	addl	%edi,%edx
4435	movl	20(%esp),%edi
4436	movl	%eax,%esi
4437	rorl	$9,%ecx
4438	movl	%eax,16(%esp)
4439	xorl	%eax,%ecx
4440	xorl	%edi,%eax
4441	addl	12(%esp),%edx
4442	rorl	$11,%ecx
4443	andl	%eax,%ebx
4444	xorl	%esi,%ecx
4445	addl	80(%esp),%edx
4446	xorl	%edi,%ebx
4447	rorl	$2,%ecx
4448	addl	%edx,%ebx
4449	addl	28(%esp),%edx
4450	addl	%ecx,%ebx
4451	movl	%edx,%ecx
4452	rorl	$14,%edx
4453	movl	(%esp),%esi
4454	xorl	%ecx,%edx
4455	movl	4(%esp),%edi
4456	xorl	%edi,%esi
4457	rorl	$5,%edx
4458	andl	%ecx,%esi
4459	movl	%ecx,28(%esp)
4460	xorl	%ecx,%edx
4461	xorl	%esi,%edi
4462	rorl	$6,%edx
4463	movl	%ebx,%ecx
4464	addl	%edi,%edx
4465	movl	16(%esp),%edi
4466	movl	%ebx,%esi
4467	rorl	$9,%ecx
4468	movl	%ebx,12(%esp)
4469	xorl	%ebx,%ecx
4470	xorl	%edi,%ebx
4471	addl	8(%esp),%edx
4472	rorl	$11,%ecx
4473	andl	%ebx,%eax
4474	xorl	%esi,%ecx
4475	addl	84(%esp),%edx
4476	xorl	%edi,%eax
4477	rorl	$2,%ecx
4478	addl	%edx,%eax
4479	addl	24(%esp),%edx
4480	addl	%ecx,%eax
4481	movl	%edx,%ecx
4482	rorl	$14,%edx
4483	movl	28(%esp),%esi
4484	xorl	%ecx,%edx
4485	movl	(%esp),%edi
4486	xorl	%edi,%esi
4487	rorl	$5,%edx
4488	andl	%ecx,%esi
4489	movl	%ecx,24(%esp)
4490	xorl	%ecx,%edx
4491	xorl	%esi,%edi
4492	rorl	$6,%edx
4493	movl	%eax,%ecx
4494	addl	%edi,%edx
4495	movl	12(%esp),%edi
4496	movl	%eax,%esi
4497	rorl	$9,%ecx
4498	movl	%eax,8(%esp)
4499	xorl	%eax,%ecx
4500	xorl	%edi,%eax
4501	addl	4(%esp),%edx
4502	rorl	$11,%ecx
4503	andl	%eax,%ebx
4504	xorl	%esi,%ecx
4505	addl	88(%esp),%edx
4506	xorl	%edi,%ebx
4507	rorl	$2,%ecx
4508	addl	%edx,%ebx
4509	addl	20(%esp),%edx
4510	addl	%ecx,%ebx
4511	movl	%edx,%ecx
4512	rorl	$14,%edx
4513	movl	24(%esp),%esi
4514	xorl	%ecx,%edx
4515	movl	28(%esp),%edi
4516	xorl	%edi,%esi
4517	rorl	$5,%edx
4518	andl	%ecx,%esi
4519	movl	%ecx,20(%esp)
4520	xorl	%ecx,%edx
4521	xorl	%esi,%edi
4522	rorl	$6,%edx
4523	movl	%ebx,%ecx
4524	addl	%edi,%edx
4525	movl	8(%esp),%edi
4526	movl	%ebx,%esi
4527	rorl	$9,%ecx
4528	movl	%ebx,4(%esp)
4529	xorl	%ebx,%ecx
4530	xorl	%edi,%ebx
4531	addl	(%esp),%edx
4532	rorl	$11,%ecx
4533	andl	%ebx,%eax
4534	xorl	%esi,%ecx
4535	addl	92(%esp),%edx
4536	xorl	%edi,%eax
4537	rorl	$2,%ecx
4538	addl	%edx,%eax
4539	addl	16(%esp),%edx
4540	addl	%ecx,%eax
4541	movl	96(%esp),%esi
4542	xorl	%edi,%ebx
4543	movl	12(%esp),%ecx
4544	addl	(%esi),%eax
4545	addl	4(%esi),%ebx
4546	addl	8(%esi),%edi
4547	addl	12(%esi),%ecx
4548	movl	%eax,(%esi)
4549	movl	%ebx,4(%esi)
4550	movl	%edi,8(%esi)
4551	movl	%ecx,12(%esi)
4552	movl	%ebx,4(%esp)
4553	xorl	%edi,%ebx
4554	movl	%edi,8(%esp)
4555	movl	%ecx,12(%esp)
4556	movl	20(%esp),%edi
4557	movl	24(%esp),%ecx
4558	addl	16(%esi),%edx
4559	addl	20(%esi),%edi
4560	addl	24(%esi),%ecx
4561	movl	%edx,16(%esi)
4562	movl	%edi,20(%esi)
4563	movl	%edi,20(%esp)
4564	movl	28(%esp),%edi
4565	movl	%ecx,24(%esi)
4566	addl	28(%esi),%edi
4567	movl	%ecx,24(%esp)
4568	movl	%edi,28(%esi)
4569	movl	%edi,28(%esp)
4570	movl	100(%esp),%edi
4571	movdqa	64(%ebp),%xmm7
4572	subl	$192,%ebp
4573	cmpl	104(%esp),%edi
4574	jb	.L012grand_ssse3
4575	movl	108(%esp),%esp
4576	popl	%edi
4577	popl	%esi
4578	popl	%ebx
4579	popl	%ebp
4580	ret
4581.align	32
4582.L005AVX:
4583	andl	$264,%edx
4584	cmpl	$264,%edx
4585	je	.L014AVX_BMI
4586	leal	-96(%esp),%esp
4587	vzeroall
4588	movl	(%esi),%eax
4589	movl	4(%esi),%ebx
4590	movl	8(%esi),%ecx
4591	movl	12(%esi),%edi
4592	movl	%ebx,4(%esp)
4593	xorl	%ecx,%ebx
4594	movl	%ecx,8(%esp)
4595	movl	%edi,12(%esp)
4596	movl	16(%esi),%edx
4597	movl	20(%esi),%edi
4598	movl	24(%esi),%ecx
4599	movl	28(%esi),%esi
4600	movl	%edi,20(%esp)
4601	movl	100(%esp),%edi
4602	movl	%ecx,24(%esp)
4603	movl	%esi,28(%esp)
4604	vmovdqa	256(%ebp),%xmm7
4605	jmp	.L015grand_avx
4606.align	32
4607.L015grand_avx:
4608	vmovdqu	(%edi),%xmm0
4609	vmovdqu	16(%edi),%xmm1
4610	vmovdqu	32(%edi),%xmm2
4611	vmovdqu	48(%edi),%xmm3
4612	addl	$64,%edi
4613	vpshufb	%xmm7,%xmm0,%xmm0
4614	movl	%edi,100(%esp)
4615	vpshufb	%xmm7,%xmm1,%xmm1
4616	vpshufb	%xmm7,%xmm2,%xmm2
4617	vpaddd	(%ebp),%xmm0,%xmm4
4618	vpshufb	%xmm7,%xmm3,%xmm3
4619	vpaddd	16(%ebp),%xmm1,%xmm5
4620	vpaddd	32(%ebp),%xmm2,%xmm6
4621	vpaddd	48(%ebp),%xmm3,%xmm7
4622	vmovdqa	%xmm4,32(%esp)
4623	vmovdqa	%xmm5,48(%esp)
4624	vmovdqa	%xmm6,64(%esp)
4625	vmovdqa	%xmm7,80(%esp)
4626	jmp	.L016avx_00_47
4627.align	16
4628.L016avx_00_47:
4629	addl	$64,%ebp
4630	vpalignr	$4,%xmm0,%xmm1,%xmm4
4631	movl	%edx,%ecx
4632	shrdl	$14,%edx,%edx
4633	movl	20(%esp),%esi
4634	vpalignr	$4,%xmm2,%xmm3,%xmm7
4635	xorl	%ecx,%edx
4636	movl	24(%esp),%edi
4637	xorl	%edi,%esi
4638	vpsrld	$7,%xmm4,%xmm6
4639	shrdl	$5,%edx,%edx
4640	andl	%ecx,%esi
4641	movl	%ecx,16(%esp)
4642	vpaddd	%xmm7,%xmm0,%xmm0
4643	xorl	%ecx,%edx
4644	xorl	%esi,%edi
4645	shrdl	$6,%edx,%edx
4646	vpsrld	$3,%xmm4,%xmm7
4647	movl	%eax,%ecx
4648	addl	%edi,%edx
4649	movl	4(%esp),%edi
4650	vpslld	$14,%xmm4,%xmm5
4651	movl	%eax,%esi
4652	shrdl	$9,%ecx,%ecx
4653	movl	%eax,(%esp)
4654	vpxor	%xmm6,%xmm7,%xmm4
4655	xorl	%eax,%ecx
4656	xorl	%edi,%eax
4657	addl	28(%esp),%edx
4658	vpshufd	$250,%xmm3,%xmm7
4659	shrdl	$11,%ecx,%ecx
4660	andl	%eax,%ebx
4661	xorl	%esi,%ecx
4662	vpsrld	$11,%xmm6,%xmm6
4663	addl	32(%esp),%edx
4664	xorl	%edi,%ebx
4665	shrdl	$2,%ecx,%ecx
4666	vpxor	%xmm5,%xmm4,%xmm4
4667	addl	%edx,%ebx
4668	addl	12(%esp),%edx
4669	addl	%ecx,%ebx
4670	vpslld	$11,%xmm5,%xmm5
4671	movl	%edx,%ecx
4672	shrdl	$14,%edx,%edx
4673	movl	16(%esp),%esi
4674	vpxor	%xmm6,%xmm4,%xmm4
4675	xorl	%ecx,%edx
4676	movl	20(%esp),%edi
4677	xorl	%edi,%esi
4678	vpsrld	$10,%xmm7,%xmm6
4679	shrdl	$5,%edx,%edx
4680	andl	%ecx,%esi
4681	movl	%ecx,12(%esp)
4682	vpxor	%xmm5,%xmm4,%xmm4
4683	xorl	%ecx,%edx
4684	xorl	%esi,%edi
4685	shrdl	$6,%edx,%edx
4686	vpsrlq	$17,%xmm7,%xmm5
4687	movl	%ebx,%ecx
4688	addl	%edi,%edx
4689	movl	(%esp),%edi
4690	vpaddd	%xmm4,%xmm0,%xmm0
4691	movl	%ebx,%esi
4692	shrdl	$9,%ecx,%ecx
4693	movl	%ebx,28(%esp)
4694	vpxor	%xmm5,%xmm6,%xmm6
4695	xorl	%ebx,%ecx
4696	xorl	%edi,%ebx
4697	addl	24(%esp),%edx
4698	vpsrlq	$19,%xmm7,%xmm7
4699	shrdl	$11,%ecx,%ecx
4700	andl	%ebx,%eax
4701	xorl	%esi,%ecx
4702	vpxor	%xmm7,%xmm6,%xmm6
4703	addl	36(%esp),%edx
4704	xorl	%edi,%eax
4705	shrdl	$2,%ecx,%ecx
4706	vpshufd	$132,%xmm6,%xmm7
4707	addl	%edx,%eax
4708	addl	8(%esp),%edx
4709	addl	%ecx,%eax
4710	vpsrldq	$8,%xmm7,%xmm7
4711	movl	%edx,%ecx
4712	shrdl	$14,%edx,%edx
4713	movl	12(%esp),%esi
4714	vpaddd	%xmm7,%xmm0,%xmm0
4715	xorl	%ecx,%edx
4716	movl	16(%esp),%edi
4717	xorl	%edi,%esi
4718	vpshufd	$80,%xmm0,%xmm7
4719	shrdl	$5,%edx,%edx
4720	andl	%ecx,%esi
4721	movl	%ecx,8(%esp)
4722	vpsrld	$10,%xmm7,%xmm6
4723	xorl	%ecx,%edx
4724	xorl	%esi,%edi
4725	shrdl	$6,%edx,%edx
4726	vpsrlq	$17,%xmm7,%xmm5
4727	movl	%eax,%ecx
4728	addl	%edi,%edx
4729	movl	28(%esp),%edi
4730	vpxor	%xmm5,%xmm6,%xmm6
4731	movl	%eax,%esi
4732	shrdl	$9,%ecx,%ecx
4733	movl	%eax,24(%esp)
4734	vpsrlq	$19,%xmm7,%xmm7
4735	xorl	%eax,%ecx
4736	xorl	%edi,%eax
4737	addl	20(%esp),%edx
4738	vpxor	%xmm7,%xmm6,%xmm6
4739	shrdl	$11,%ecx,%ecx
4740	andl	%eax,%ebx
4741	xorl	%esi,%ecx
4742	vpshufd	$232,%xmm6,%xmm7
4743	addl	40(%esp),%edx
4744	xorl	%edi,%ebx
4745	shrdl	$2,%ecx,%ecx
4746	vpslldq	$8,%xmm7,%xmm7
4747	addl	%edx,%ebx
4748	addl	4(%esp),%edx
4749	addl	%ecx,%ebx
4750	vpaddd	%xmm7,%xmm0,%xmm0
4751	movl	%edx,%ecx
4752	shrdl	$14,%edx,%edx
4753	movl	8(%esp),%esi
4754	vpaddd	(%ebp),%xmm0,%xmm6
4755	xorl	%ecx,%edx
4756	movl	12(%esp),%edi
4757	xorl	%edi,%esi
4758	shrdl	$5,%edx,%edx
4759	andl	%ecx,%esi
4760	movl	%ecx,4(%esp)
4761	xorl	%ecx,%edx
4762	xorl	%esi,%edi
4763	shrdl	$6,%edx,%edx
4764	movl	%ebx,%ecx
4765	addl	%edi,%edx
4766	movl	24(%esp),%edi
4767	movl	%ebx,%esi
4768	shrdl	$9,%ecx,%ecx
4769	movl	%ebx,20(%esp)
4770	xorl	%ebx,%ecx
4771	xorl	%edi,%ebx
4772	addl	16(%esp),%edx
4773	shrdl	$11,%ecx,%ecx
4774	andl	%ebx,%eax
4775	xorl	%esi,%ecx
4776	addl	44(%esp),%edx
4777	xorl	%edi,%eax
4778	shrdl	$2,%ecx,%ecx
4779	addl	%edx,%eax
4780	addl	(%esp),%edx
4781	addl	%ecx,%eax
4782	vmovdqa	%xmm6,32(%esp)
4783	vpalignr	$4,%xmm1,%xmm2,%xmm4
4784	movl	%edx,%ecx
4785	shrdl	$14,%edx,%edx
4786	movl	4(%esp),%esi
4787	vpalignr	$4,%xmm3,%xmm0,%xmm7
4788	xorl	%ecx,%edx
4789	movl	8(%esp),%edi
4790	xorl	%edi,%esi
4791	vpsrld	$7,%xmm4,%xmm6
4792	shrdl	$5,%edx,%edx
4793	andl	%ecx,%esi
4794	movl	%ecx,(%esp)
4795	vpaddd	%xmm7,%xmm1,%xmm1
4796	xorl	%ecx,%edx
4797	xorl	%esi,%edi
4798	shrdl	$6,%edx,%edx
4799	vpsrld	$3,%xmm4,%xmm7
4800	movl	%eax,%ecx
4801	addl	%edi,%edx
4802	movl	20(%esp),%edi
4803	vpslld	$14,%xmm4,%xmm5
4804	movl	%eax,%esi
4805	shrdl	$9,%ecx,%ecx
4806	movl	%eax,16(%esp)
4807	vpxor	%xmm6,%xmm7,%xmm4
4808	xorl	%eax,%ecx
4809	xorl	%edi,%eax
4810	addl	12(%esp),%edx
4811	vpshufd	$250,%xmm0,%xmm7
4812	shrdl	$11,%ecx,%ecx
4813	andl	%eax,%ebx
4814	xorl	%esi,%ecx
4815	vpsrld	$11,%xmm6,%xmm6
4816	addl	48(%esp),%edx
4817	xorl	%edi,%ebx
4818	shrdl	$2,%ecx,%ecx
4819	vpxor	%xmm5,%xmm4,%xmm4
4820	addl	%edx,%ebx
4821	addl	28(%esp),%edx
4822	addl	%ecx,%ebx
4823	vpslld	$11,%xmm5,%xmm5
4824	movl	%edx,%ecx
4825	shrdl	$14,%edx,%edx
4826	movl	(%esp),%esi
4827	vpxor	%xmm6,%xmm4,%xmm4
4828	xorl	%ecx,%edx
4829	movl	4(%esp),%edi
4830	xorl	%edi,%esi
4831	vpsrld	$10,%xmm7,%xmm6
4832	shrdl	$5,%edx,%edx
4833	andl	%ecx,%esi
4834	movl	%ecx,28(%esp)
4835	vpxor	%xmm5,%xmm4,%xmm4
4836	xorl	%ecx,%edx
4837	xorl	%esi,%edi
4838	shrdl	$6,%edx,%edx
4839	vpsrlq	$17,%xmm7,%xmm5
4840	movl	%ebx,%ecx
4841	addl	%edi,%edx
4842	movl	16(%esp),%edi
4843	vpaddd	%xmm4,%xmm1,%xmm1
4844	movl	%ebx,%esi
4845	shrdl	$9,%ecx,%ecx
4846	movl	%ebx,12(%esp)
4847	vpxor	%xmm5,%xmm6,%xmm6
4848	xorl	%ebx,%ecx
4849	xorl	%edi,%ebx
4850	addl	8(%esp),%edx
4851	vpsrlq	$19,%xmm7,%xmm7
4852	shrdl	$11,%ecx,%ecx
4853	andl	%ebx,%eax
4854	xorl	%esi,%ecx
4855	vpxor	%xmm7,%xmm6,%xmm6
4856	addl	52(%esp),%edx
4857	xorl	%edi,%eax
4858	shrdl	$2,%ecx,%ecx
4859	vpshufd	$132,%xmm6,%xmm7
4860	addl	%edx,%eax
4861	addl	24(%esp),%edx
4862	addl	%ecx,%eax
4863	vpsrldq	$8,%xmm7,%xmm7
4864	movl	%edx,%ecx
4865	shrdl	$14,%edx,%edx
4866	movl	28(%esp),%esi
4867	vpaddd	%xmm7,%xmm1,%xmm1
4868	xorl	%ecx,%edx
4869	movl	(%esp),%edi
4870	xorl	%edi,%esi
4871	vpshufd	$80,%xmm1,%xmm7
4872	shrdl	$5,%edx,%edx
4873	andl	%ecx,%esi
4874	movl	%ecx,24(%esp)
4875	vpsrld	$10,%xmm7,%xmm6
4876	xorl	%ecx,%edx
4877	xorl	%esi,%edi
4878	shrdl	$6,%edx,%edx
4879	vpsrlq	$17,%xmm7,%xmm5
4880	movl	%eax,%ecx
4881	addl	%edi,%edx
4882	movl	12(%esp),%edi
4883	vpxor	%xmm5,%xmm6,%xmm6
4884	movl	%eax,%esi
4885	shrdl	$9,%ecx,%ecx
4886	movl	%eax,8(%esp)
4887	vpsrlq	$19,%xmm7,%xmm7
4888	xorl	%eax,%ecx
4889	xorl	%edi,%eax
4890	addl	4(%esp),%edx
4891	vpxor	%xmm7,%xmm6,%xmm6
4892	shrdl	$11,%ecx,%ecx
4893	andl	%eax,%ebx
4894	xorl	%esi,%ecx
4895	vpshufd	$232,%xmm6,%xmm7
4896	addl	56(%esp),%edx
4897	xorl	%edi,%ebx
4898	shrdl	$2,%ecx,%ecx
4899	vpslldq	$8,%xmm7,%xmm7
4900	addl	%edx,%ebx
4901	addl	20(%esp),%edx
4902	addl	%ecx,%ebx
4903	vpaddd	%xmm7,%xmm1,%xmm1
4904	movl	%edx,%ecx
4905	shrdl	$14,%edx,%edx
4906	movl	24(%esp),%esi
4907	vpaddd	16(%ebp),%xmm1,%xmm6
4908	xorl	%ecx,%edx
4909	movl	28(%esp),%edi
4910	xorl	%edi,%esi
4911	shrdl	$5,%edx,%edx
4912	andl	%ecx,%esi
4913	movl	%ecx,20(%esp)
4914	xorl	%ecx,%edx
4915	xorl	%esi,%edi
4916	shrdl	$6,%edx,%edx
4917	movl	%ebx,%ecx
4918	addl	%edi,%edx
4919	movl	8(%esp),%edi
4920	movl	%ebx,%esi
4921	shrdl	$9,%ecx,%ecx
4922	movl	%ebx,4(%esp)
4923	xorl	%ebx,%ecx
4924	xorl	%edi,%ebx
4925	addl	(%esp),%edx
4926	shrdl	$11,%ecx,%ecx
4927	andl	%ebx,%eax
4928	xorl	%esi,%ecx
4929	addl	60(%esp),%edx
4930	xorl	%edi,%eax
4931	shrdl	$2,%ecx,%ecx
4932	addl	%edx,%eax
4933	addl	16(%esp),%edx
4934	addl	%ecx,%eax
4935	vmovdqa	%xmm6,48(%esp)
4936	vpalignr	$4,%xmm2,%xmm3,%xmm4
4937	movl	%edx,%ecx
4938	shrdl	$14,%edx,%edx
4939	movl	20(%esp),%esi
4940	vpalignr	$4,%xmm0,%xmm1,%xmm7
4941	xorl	%ecx,%edx
4942	movl	24(%esp),%edi
4943	xorl	%edi,%esi
4944	vpsrld	$7,%xmm4,%xmm6
4945	shrdl	$5,%edx,%edx
4946	andl	%ecx,%esi
4947	movl	%ecx,16(%esp)
4948	vpaddd	%xmm7,%xmm2,%xmm2
4949	xorl	%ecx,%edx
4950	xorl	%esi,%edi
4951	shrdl	$6,%edx,%edx
4952	vpsrld	$3,%xmm4,%xmm7
4953	movl	%eax,%ecx
4954	addl	%edi,%edx
4955	movl	4(%esp),%edi
4956	vpslld	$14,%xmm4,%xmm5
4957	movl	%eax,%esi
4958	shrdl	$9,%ecx,%ecx
4959	movl	%eax,(%esp)
4960	vpxor	%xmm6,%xmm7,%xmm4
4961	xorl	%eax,%ecx
4962	xorl	%edi,%eax
4963	addl	28(%esp),%edx
4964	vpshufd	$250,%xmm1,%xmm7
4965	shrdl	$11,%ecx,%ecx
4966	andl	%eax,%ebx
4967	xorl	%esi,%ecx
4968	vpsrld	$11,%xmm6,%xmm6
4969	addl	64(%esp),%edx
4970	xorl	%edi,%ebx
4971	shrdl	$2,%ecx,%ecx
4972	vpxor	%xmm5,%xmm4,%xmm4
4973	addl	%edx,%ebx
4974	addl	12(%esp),%edx
4975	addl	%ecx,%ebx
4976	vpslld	$11,%xmm5,%xmm5
4977	movl	%edx,%ecx
4978	shrdl	$14,%edx,%edx
4979	movl	16(%esp),%esi
4980	vpxor	%xmm6,%xmm4,%xmm4
4981	xorl	%ecx,%edx
4982	movl	20(%esp),%edi
4983	xorl	%edi,%esi
4984	vpsrld	$10,%xmm7,%xmm6
4985	shrdl	$5,%edx,%edx
4986	andl	%ecx,%esi
4987	movl	%ecx,12(%esp)
4988	vpxor	%xmm5,%xmm4,%xmm4
4989	xorl	%ecx,%edx
4990	xorl	%esi,%edi
4991	shrdl	$6,%edx,%edx
4992	vpsrlq	$17,%xmm7,%xmm5
4993	movl	%ebx,%ecx
4994	addl	%edi,%edx
4995	movl	(%esp),%edi
4996	vpaddd	%xmm4,%xmm2,%xmm2
4997	movl	%ebx,%esi
4998	shrdl	$9,%ecx,%ecx
4999	movl	%ebx,28(%esp)
5000	vpxor	%xmm5,%xmm6,%xmm6
5001	xorl	%ebx,%ecx
5002	xorl	%edi,%ebx
5003	addl	24(%esp),%edx
5004	vpsrlq	$19,%xmm7,%xmm7
5005	shrdl	$11,%ecx,%ecx
5006	andl	%ebx,%eax
5007	xorl	%esi,%ecx
5008	vpxor	%xmm7,%xmm6,%xmm6
5009	addl	68(%esp),%edx
5010	xorl	%edi,%eax
5011	shrdl	$2,%ecx,%ecx
5012	vpshufd	$132,%xmm6,%xmm7
5013	addl	%edx,%eax
5014	addl	8(%esp),%edx
5015	addl	%ecx,%eax
5016	vpsrldq	$8,%xmm7,%xmm7
5017	movl	%edx,%ecx
5018	shrdl	$14,%edx,%edx
5019	movl	12(%esp),%esi
5020	vpaddd	%xmm7,%xmm2,%xmm2
5021	xorl	%ecx,%edx
5022	movl	16(%esp),%edi
5023	xorl	%edi,%esi
5024	vpshufd	$80,%xmm2,%xmm7
5025	shrdl	$5,%edx,%edx
5026	andl	%ecx,%esi
5027	movl	%ecx,8(%esp)
5028	vpsrld	$10,%xmm7,%xmm6
5029	xorl	%ecx,%edx
5030	xorl	%esi,%edi
5031	shrdl	$6,%edx,%edx
5032	vpsrlq	$17,%xmm7,%xmm5
5033	movl	%eax,%ecx
5034	addl	%edi,%edx
5035	movl	28(%esp),%edi
5036	vpxor	%xmm5,%xmm6,%xmm6
5037	movl	%eax,%esi
5038	shrdl	$9,%ecx,%ecx
5039	movl	%eax,24(%esp)
5040	vpsrlq	$19,%xmm7,%xmm7
5041	xorl	%eax,%ecx
5042	xorl	%edi,%eax
5043	addl	20(%esp),%edx
5044	vpxor	%xmm7,%xmm6,%xmm6
5045	shrdl	$11,%ecx,%ecx
5046	andl	%eax,%ebx
5047	xorl	%esi,%ecx
5048	vpshufd	$232,%xmm6,%xmm7
5049	addl	72(%esp),%edx
5050	xorl	%edi,%ebx
5051	shrdl	$2,%ecx,%ecx
5052	vpslldq	$8,%xmm7,%xmm7
5053	addl	%edx,%ebx
5054	addl	4(%esp),%edx
5055	addl	%ecx,%ebx
5056	vpaddd	%xmm7,%xmm2,%xmm2
5057	movl	%edx,%ecx
5058	shrdl	$14,%edx,%edx
5059	movl	8(%esp),%esi
5060	vpaddd	32(%ebp),%xmm2,%xmm6
5061	xorl	%ecx,%edx
5062	movl	12(%esp),%edi
5063	xorl	%edi,%esi
5064	shrdl	$5,%edx,%edx
5065	andl	%ecx,%esi
5066	movl	%ecx,4(%esp)
5067	xorl	%ecx,%edx
5068	xorl	%esi,%edi
5069	shrdl	$6,%edx,%edx
5070	movl	%ebx,%ecx
5071	addl	%edi,%edx
5072	movl	24(%esp),%edi
5073	movl	%ebx,%esi
5074	shrdl	$9,%ecx,%ecx
5075	movl	%ebx,20(%esp)
5076	xorl	%ebx,%ecx
5077	xorl	%edi,%ebx
5078	addl	16(%esp),%edx
5079	shrdl	$11,%ecx,%ecx
5080	andl	%ebx,%eax
5081	xorl	%esi,%ecx
5082	addl	76(%esp),%edx
5083	xorl	%edi,%eax
5084	shrdl	$2,%ecx,%ecx
5085	addl	%edx,%eax
5086	addl	(%esp),%edx
5087	addl	%ecx,%eax
5088	vmovdqa	%xmm6,64(%esp)
5089	vpalignr	$4,%xmm3,%xmm0,%xmm4
5090	movl	%edx,%ecx
5091	shrdl	$14,%edx,%edx
5092	movl	4(%esp),%esi
5093	vpalignr	$4,%xmm1,%xmm2,%xmm7
5094	xorl	%ecx,%edx
5095	movl	8(%esp),%edi
5096	xorl	%edi,%esi
5097	vpsrld	$7,%xmm4,%xmm6
5098	shrdl	$5,%edx,%edx
5099	andl	%ecx,%esi
5100	movl	%ecx,(%esp)
5101	vpaddd	%xmm7,%xmm3,%xmm3
5102	xorl	%ecx,%edx
5103	xorl	%esi,%edi
5104	shrdl	$6,%edx,%edx
5105	vpsrld	$3,%xmm4,%xmm7
5106	movl	%eax,%ecx
5107	addl	%edi,%edx
5108	movl	20(%esp),%edi
5109	vpslld	$14,%xmm4,%xmm5
5110	movl	%eax,%esi
5111	shrdl	$9,%ecx,%ecx
5112	movl	%eax,16(%esp)
5113	vpxor	%xmm6,%xmm7,%xmm4
5114	xorl	%eax,%ecx
5115	xorl	%edi,%eax
5116	addl	12(%esp),%edx
5117	vpshufd	$250,%xmm2,%xmm7
5118	shrdl	$11,%ecx,%ecx
5119	andl	%eax,%ebx
5120	xorl	%esi,%ecx
5121	vpsrld	$11,%xmm6,%xmm6
5122	addl	80(%esp),%edx
5123	xorl	%edi,%ebx
5124	shrdl	$2,%ecx,%ecx
5125	vpxor	%xmm5,%xmm4,%xmm4
5126	addl	%edx,%ebx
5127	addl	28(%esp),%edx
5128	addl	%ecx,%ebx
5129	vpslld	$11,%xmm5,%xmm5
5130	movl	%edx,%ecx
5131	shrdl	$14,%edx,%edx
5132	movl	(%esp),%esi
5133	vpxor	%xmm6,%xmm4,%xmm4
5134	xorl	%ecx,%edx
5135	movl	4(%esp),%edi
5136	xorl	%edi,%esi
5137	vpsrld	$10,%xmm7,%xmm6
5138	shrdl	$5,%edx,%edx
5139	andl	%ecx,%esi
5140	movl	%ecx,28(%esp)
5141	vpxor	%xmm5,%xmm4,%xmm4
5142	xorl	%ecx,%edx
5143	xorl	%esi,%edi
5144	shrdl	$6,%edx,%edx
5145	vpsrlq	$17,%xmm7,%xmm5
5146	movl	%ebx,%ecx
5147	addl	%edi,%edx
5148	movl	16(%esp),%edi
5149	vpaddd	%xmm4,%xmm3,%xmm3
5150	movl	%ebx,%esi
5151	shrdl	$9,%ecx,%ecx
5152	movl	%ebx,12(%esp)
5153	vpxor	%xmm5,%xmm6,%xmm6
5154	xorl	%ebx,%ecx
5155	xorl	%edi,%ebx
5156	addl	8(%esp),%edx
5157	vpsrlq	$19,%xmm7,%xmm7
5158	shrdl	$11,%ecx,%ecx
5159	andl	%ebx,%eax
5160	xorl	%esi,%ecx
5161	vpxor	%xmm7,%xmm6,%xmm6
5162	addl	84(%esp),%edx
5163	xorl	%edi,%eax
5164	shrdl	$2,%ecx,%ecx
5165	vpshufd	$132,%xmm6,%xmm7
5166	addl	%edx,%eax
5167	addl	24(%esp),%edx
5168	addl	%ecx,%eax
5169	vpsrldq	$8,%xmm7,%xmm7
5170	movl	%edx,%ecx
5171	shrdl	$14,%edx,%edx
5172	movl	28(%esp),%esi
5173	vpaddd	%xmm7,%xmm3,%xmm3
5174	xorl	%ecx,%edx
5175	movl	(%esp),%edi
5176	xorl	%edi,%esi
5177	vpshufd	$80,%xmm3,%xmm7
5178	shrdl	$5,%edx,%edx
5179	andl	%ecx,%esi
5180	movl	%ecx,24(%esp)
5181	vpsrld	$10,%xmm7,%xmm6
5182	xorl	%ecx,%edx
5183	xorl	%esi,%edi
5184	shrdl	$6,%edx,%edx
5185	vpsrlq	$17,%xmm7,%xmm5
5186	movl	%eax,%ecx
5187	addl	%edi,%edx
5188	movl	12(%esp),%edi
5189	vpxor	%xmm5,%xmm6,%xmm6
5190	movl	%eax,%esi
5191	shrdl	$9,%ecx,%ecx
5192	movl	%eax,8(%esp)
5193	vpsrlq	$19,%xmm7,%xmm7
5194	xorl	%eax,%ecx
5195	xorl	%edi,%eax
5196	addl	4(%esp),%edx
5197	vpxor	%xmm7,%xmm6,%xmm6
5198	shrdl	$11,%ecx,%ecx
5199	andl	%eax,%ebx
5200	xorl	%esi,%ecx
5201	vpshufd	$232,%xmm6,%xmm7
5202	addl	88(%esp),%edx
5203	xorl	%edi,%ebx
5204	shrdl	$2,%ecx,%ecx
5205	vpslldq	$8,%xmm7,%xmm7
5206	addl	%edx,%ebx
5207	addl	20(%esp),%edx
5208	addl	%ecx,%ebx
5209	vpaddd	%xmm7,%xmm3,%xmm3
5210	movl	%edx,%ecx
5211	shrdl	$14,%edx,%edx
5212	movl	24(%esp),%esi
5213	vpaddd	48(%ebp),%xmm3,%xmm6
5214	xorl	%ecx,%edx
5215	movl	28(%esp),%edi
5216	xorl	%edi,%esi
5217	shrdl	$5,%edx,%edx
5218	andl	%ecx,%esi
5219	movl	%ecx,20(%esp)
5220	xorl	%ecx,%edx
5221	xorl	%esi,%edi
5222	shrdl	$6,%edx,%edx
5223	movl	%ebx,%ecx
5224	addl	%edi,%edx
5225	movl	8(%esp),%edi
5226	movl	%ebx,%esi
5227	shrdl	$9,%ecx,%ecx
5228	movl	%ebx,4(%esp)
5229	xorl	%ebx,%ecx
5230	xorl	%edi,%ebx
5231	addl	(%esp),%edx
5232	shrdl	$11,%ecx,%ecx
5233	andl	%ebx,%eax
5234	xorl	%esi,%ecx
5235	addl	92(%esp),%edx
5236	xorl	%edi,%eax
5237	shrdl	$2,%ecx,%ecx
5238	addl	%edx,%eax
5239	addl	16(%esp),%edx
5240	addl	%ecx,%eax
5241	vmovdqa	%xmm6,80(%esp)
5242	cmpl	$66051,64(%ebp)
5243	jne	.L016avx_00_47
5244	movl	%edx,%ecx
5245	shrdl	$14,%edx,%edx
5246	movl	20(%esp),%esi
5247	xorl	%ecx,%edx
5248	movl	24(%esp),%edi
5249	xorl	%edi,%esi
5250	shrdl	$5,%edx,%edx
5251	andl	%ecx,%esi
5252	movl	%ecx,16(%esp)
5253	xorl	%ecx,%edx
5254	xorl	%esi,%edi
5255	shrdl	$6,%edx,%edx
5256	movl	%eax,%ecx
5257	addl	%edi,%edx
5258	movl	4(%esp),%edi
5259	movl	%eax,%esi
5260	shrdl	$9,%ecx,%ecx
5261	movl	%eax,(%esp)
5262	xorl	%eax,%ecx
5263	xorl	%edi,%eax
5264	addl	28(%esp),%edx
5265	shrdl	$11,%ecx,%ecx
5266	andl	%eax,%ebx
5267	xorl	%esi,%ecx
5268	addl	32(%esp),%edx
5269	xorl	%edi,%ebx
5270	shrdl	$2,%ecx,%ecx
5271	addl	%edx,%ebx
5272	addl	12(%esp),%edx
5273	addl	%ecx,%ebx
5274	movl	%edx,%ecx
5275	shrdl	$14,%edx,%edx
5276	movl	16(%esp),%esi
5277	xorl	%ecx,%edx
5278	movl	20(%esp),%edi
5279	xorl	%edi,%esi
5280	shrdl	$5,%edx,%edx
5281	andl	%ecx,%esi
5282	movl	%ecx,12(%esp)
5283	xorl	%ecx,%edx
5284	xorl	%esi,%edi
5285	shrdl	$6,%edx,%edx
5286	movl	%ebx,%ecx
5287	addl	%edi,%edx
5288	movl	(%esp),%edi
5289	movl	%ebx,%esi
5290	shrdl	$9,%ecx,%ecx
5291	movl	%ebx,28(%esp)
5292	xorl	%ebx,%ecx
5293	xorl	%edi,%ebx
5294	addl	24(%esp),%edx
5295	shrdl	$11,%ecx,%ecx
5296	andl	%ebx,%eax
5297	xorl	%esi,%ecx
5298	addl	36(%esp),%edx
5299	xorl	%edi,%eax
5300	shrdl	$2,%ecx,%ecx
5301	addl	%edx,%eax
5302	addl	8(%esp),%edx
5303	addl	%ecx,%eax
5304	movl	%edx,%ecx
5305	shrdl	$14,%edx,%edx
5306	movl	12(%esp),%esi
5307	xorl	%ecx,%edx
5308	movl	16(%esp),%edi
5309	xorl	%edi,%esi
5310	shrdl	$5,%edx,%edx
5311	andl	%ecx,%esi
5312	movl	%ecx,8(%esp)
5313	xorl	%ecx,%edx
5314	xorl	%esi,%edi
5315	shrdl	$6,%edx,%edx
5316	movl	%eax,%ecx
5317	addl	%edi,%edx
5318	movl	28(%esp),%edi
5319	movl	%eax,%esi
5320	shrdl	$9,%ecx,%ecx
5321	movl	%eax,24(%esp)
5322	xorl	%eax,%ecx
5323	xorl	%edi,%eax
5324	addl	20(%esp),%edx
5325	shrdl	$11,%ecx,%ecx
5326	andl	%eax,%ebx
5327	xorl	%esi,%ecx
5328	addl	40(%esp),%edx
5329	xorl	%edi,%ebx
5330	shrdl	$2,%ecx,%ecx
5331	addl	%edx,%ebx
5332	addl	4(%esp),%edx
5333	addl	%ecx,%ebx
5334	movl	%edx,%ecx
5335	shrdl	$14,%edx,%edx
5336	movl	8(%esp),%esi
5337	xorl	%ecx,%edx
5338	movl	12(%esp),%edi
5339	xorl	%edi,%esi
5340	shrdl	$5,%edx,%edx
5341	andl	%ecx,%esi
5342	movl	%ecx,4(%esp)
5343	xorl	%ecx,%edx
5344	xorl	%esi,%edi
5345	shrdl	$6,%edx,%edx
5346	movl	%ebx,%ecx
5347	addl	%edi,%edx
5348	movl	24(%esp),%edi
5349	movl	%ebx,%esi
5350	shrdl	$9,%ecx,%ecx
5351	movl	%ebx,20(%esp)
5352	xorl	%ebx,%ecx
5353	xorl	%edi,%ebx
5354	addl	16(%esp),%edx
5355	shrdl	$11,%ecx,%ecx
5356	andl	%ebx,%eax
5357	xorl	%esi,%ecx
5358	addl	44(%esp),%edx
5359	xorl	%edi,%eax
5360	shrdl	$2,%ecx,%ecx
5361	addl	%edx,%eax
5362	addl	(%esp),%edx
5363	addl	%ecx,%eax
5364	movl	%edx,%ecx
5365	shrdl	$14,%edx,%edx
5366	movl	4(%esp),%esi
5367	xorl	%ecx,%edx
5368	movl	8(%esp),%edi
5369	xorl	%edi,%esi
5370	shrdl	$5,%edx,%edx
5371	andl	%ecx,%esi
5372	movl	%ecx,(%esp)
5373	xorl	%ecx,%edx
5374	xorl	%esi,%edi
5375	shrdl	$6,%edx,%edx
5376	movl	%eax,%ecx
5377	addl	%edi,%edx
5378	movl	20(%esp),%edi
5379	movl	%eax,%esi
5380	shrdl	$9,%ecx,%ecx
5381	movl	%eax,16(%esp)
5382	xorl	%eax,%ecx
5383	xorl	%edi,%eax
5384	addl	12(%esp),%edx
5385	shrdl	$11,%ecx,%ecx
5386	andl	%eax,%ebx
5387	xorl	%esi,%ecx
5388	addl	48(%esp),%edx
5389	xorl	%edi,%ebx
5390	shrdl	$2,%ecx,%ecx
5391	addl	%edx,%ebx
5392	addl	28(%esp),%edx
5393	addl	%ecx,%ebx
5394	movl	%edx,%ecx
5395	shrdl	$14,%edx,%edx
5396	movl	(%esp),%esi
5397	xorl	%ecx,%edx
5398	movl	4(%esp),%edi
5399	xorl	%edi,%esi
5400	shrdl	$5,%edx,%edx
5401	andl	%ecx,%esi
5402	movl	%ecx,28(%esp)
5403	xorl	%ecx,%edx
5404	xorl	%esi,%edi
5405	shrdl	$6,%edx,%edx
5406	movl	%ebx,%ecx
5407	addl	%edi,%edx
5408	movl	16(%esp),%edi
5409	movl	%ebx,%esi
5410	shrdl	$9,%ecx,%ecx
5411	movl	%ebx,12(%esp)
5412	xorl	%ebx,%ecx
5413	xorl	%edi,%ebx
5414	addl	8(%esp),%edx
5415	shrdl	$11,%ecx,%ecx
5416	andl	%ebx,%eax
5417	xorl	%esi,%ecx
5418	addl	52(%esp),%edx
5419	xorl	%edi,%eax
5420	shrdl	$2,%ecx,%ecx
5421	addl	%edx,%eax
5422	addl	24(%esp),%edx
5423	addl	%ecx,%eax
5424	movl	%edx,%ecx
5425	shrdl	$14,%edx,%edx
5426	movl	28(%esp),%esi
5427	xorl	%ecx,%edx
5428	movl	(%esp),%edi
5429	xorl	%edi,%esi
5430	shrdl	$5,%edx,%edx
5431	andl	%ecx,%esi
5432	movl	%ecx,24(%esp)
5433	xorl	%ecx,%edx
5434	xorl	%esi,%edi
5435	shrdl	$6,%edx,%edx
5436	movl	%eax,%ecx
5437	addl	%edi,%edx
5438	movl	12(%esp),%edi
5439	movl	%eax,%esi
5440	shrdl	$9,%ecx,%ecx
5441	movl	%eax,8(%esp)
5442	xorl	%eax,%ecx
5443	xorl	%edi,%eax
5444	addl	4(%esp),%edx
5445	shrdl	$11,%ecx,%ecx
5446	andl	%eax,%ebx
5447	xorl	%esi,%ecx
5448	addl	56(%esp),%edx
5449	xorl	%edi,%ebx
5450	shrdl	$2,%ecx,%ecx
5451	addl	%edx,%ebx
5452	addl	20(%esp),%edx
5453	addl	%ecx,%ebx
5454	movl	%edx,%ecx
5455	shrdl	$14,%edx,%edx
5456	movl	24(%esp),%esi
5457	xorl	%ecx,%edx
5458	movl	28(%esp),%edi
5459	xorl	%edi,%esi
5460	shrdl	$5,%edx,%edx
5461	andl	%ecx,%esi
5462	movl	%ecx,20(%esp)
5463	xorl	%ecx,%edx
5464	xorl	%esi,%edi
5465	shrdl	$6,%edx,%edx
5466	movl	%ebx,%ecx
5467	addl	%edi,%edx
5468	movl	8(%esp),%edi
5469	movl	%ebx,%esi
5470	shrdl	$9,%ecx,%ecx
5471	movl	%ebx,4(%esp)
5472	xorl	%ebx,%ecx
5473	xorl	%edi,%ebx
5474	addl	(%esp),%edx
5475	shrdl	$11,%ecx,%ecx
5476	andl	%ebx,%eax
5477	xorl	%esi,%ecx
5478	addl	60(%esp),%edx
5479	xorl	%edi,%eax
5480	shrdl	$2,%ecx,%ecx
5481	addl	%edx,%eax
5482	addl	16(%esp),%edx
5483	addl	%ecx,%eax
5484	movl	%edx,%ecx
5485	shrdl	$14,%edx,%edx
5486	movl	20(%esp),%esi
5487	xorl	%ecx,%edx
5488	movl	24(%esp),%edi
5489	xorl	%edi,%esi
5490	shrdl	$5,%edx,%edx
5491	andl	%ecx,%esi
5492	movl	%ecx,16(%esp)
5493	xorl	%ecx,%edx
5494	xorl	%esi,%edi
5495	shrdl	$6,%edx,%edx
5496	movl	%eax,%ecx
5497	addl	%edi,%edx
5498	movl	4(%esp),%edi
5499	movl	%eax,%esi
5500	shrdl	$9,%ecx,%ecx
5501	movl	%eax,(%esp)
5502	xorl	%eax,%ecx
5503	xorl	%edi,%eax
5504	addl	28(%esp),%edx
5505	shrdl	$11,%ecx,%ecx
5506	andl	%eax,%ebx
5507	xorl	%esi,%ecx
5508	addl	64(%esp),%edx
5509	xorl	%edi,%ebx
5510	shrdl	$2,%ecx,%ecx
5511	addl	%edx,%ebx
5512	addl	12(%esp),%edx
5513	addl	%ecx,%ebx
5514	movl	%edx,%ecx
5515	shrdl	$14,%edx,%edx
5516	movl	16(%esp),%esi
5517	xorl	%ecx,%edx
5518	movl	20(%esp),%edi
5519	xorl	%edi,%esi
5520	shrdl	$5,%edx,%edx
5521	andl	%ecx,%esi
5522	movl	%ecx,12(%esp)
5523	xorl	%ecx,%edx
5524	xorl	%esi,%edi
5525	shrdl	$6,%edx,%edx
5526	movl	%ebx,%ecx
5527	addl	%edi,%edx
5528	movl	(%esp),%edi
5529	movl	%ebx,%esi
5530	shrdl	$9,%ecx,%ecx
5531	movl	%ebx,28(%esp)
5532	xorl	%ebx,%ecx
5533	xorl	%edi,%ebx
5534	addl	24(%esp),%edx
5535	shrdl	$11,%ecx,%ecx
5536	andl	%ebx,%eax
5537	xorl	%esi,%ecx
5538	addl	68(%esp),%edx
5539	xorl	%edi,%eax
5540	shrdl	$2,%ecx,%ecx
5541	addl	%edx,%eax
5542	addl	8(%esp),%edx
5543	addl	%ecx,%eax
5544	movl	%edx,%ecx
5545	shrdl	$14,%edx,%edx
5546	movl	12(%esp),%esi
5547	xorl	%ecx,%edx
5548	movl	16(%esp),%edi
5549	xorl	%edi,%esi
5550	shrdl	$5,%edx,%edx
5551	andl	%ecx,%esi
5552	movl	%ecx,8(%esp)
5553	xorl	%ecx,%edx
5554	xorl	%esi,%edi
5555	shrdl	$6,%edx,%edx
5556	movl	%eax,%ecx
5557	addl	%edi,%edx
5558	movl	28(%esp),%edi
5559	movl	%eax,%esi
5560	shrdl	$9,%ecx,%ecx
5561	movl	%eax,24(%esp)
5562	xorl	%eax,%ecx
5563	xorl	%edi,%eax
5564	addl	20(%esp),%edx
5565	shrdl	$11,%ecx,%ecx
5566	andl	%eax,%ebx
5567	xorl	%esi,%ecx
5568	addl	72(%esp),%edx
5569	xorl	%edi,%ebx
5570	shrdl	$2,%ecx,%ecx
5571	addl	%edx,%ebx
5572	addl	4(%esp),%edx
5573	addl	%ecx,%ebx
5574	movl	%edx,%ecx
5575	shrdl	$14,%edx,%edx
5576	movl	8(%esp),%esi
5577	xorl	%ecx,%edx
5578	movl	12(%esp),%edi
5579	xorl	%edi,%esi
5580	shrdl	$5,%edx,%edx
5581	andl	%ecx,%esi
5582	movl	%ecx,4(%esp)
5583	xorl	%ecx,%edx
5584	xorl	%esi,%edi
5585	shrdl	$6,%edx,%edx
5586	movl	%ebx,%ecx
5587	addl	%edi,%edx
5588	movl	24(%esp),%edi
5589	movl	%ebx,%esi
5590	shrdl	$9,%ecx,%ecx
5591	movl	%ebx,20(%esp)
5592	xorl	%ebx,%ecx
5593	xorl	%edi,%ebx
5594	addl	16(%esp),%edx
5595	shrdl	$11,%ecx,%ecx
5596	andl	%ebx,%eax
5597	xorl	%esi,%ecx
5598	addl	76(%esp),%edx
5599	xorl	%edi,%eax
5600	shrdl	$2,%ecx,%ecx
5601	addl	%edx,%eax
5602	addl	(%esp),%edx
5603	addl	%ecx,%eax
5604	movl	%edx,%ecx
5605	shrdl	$14,%edx,%edx
5606	movl	4(%esp),%esi
5607	xorl	%ecx,%edx
5608	movl	8(%esp),%edi
5609	xorl	%edi,%esi
5610	shrdl	$5,%edx,%edx
5611	andl	%ecx,%esi
5612	movl	%ecx,(%esp)
5613	xorl	%ecx,%edx
5614	xorl	%esi,%edi
5615	shrdl	$6,%edx,%edx
5616	movl	%eax,%ecx
5617	addl	%edi,%edx
5618	movl	20(%esp),%edi
5619	movl	%eax,%esi
5620	shrdl	$9,%ecx,%ecx
5621	movl	%eax,16(%esp)
5622	xorl	%eax,%ecx
5623	xorl	%edi,%eax
5624	addl	12(%esp),%edx
5625	shrdl	$11,%ecx,%ecx
5626	andl	%eax,%ebx
5627	xorl	%esi,%ecx
5628	addl	80(%esp),%edx
5629	xorl	%edi,%ebx
5630	shrdl	$2,%ecx,%ecx
5631	addl	%edx,%ebx
5632	addl	28(%esp),%edx
5633	addl	%ecx,%ebx
5634	movl	%edx,%ecx
5635	shrdl	$14,%edx,%edx
5636	movl	(%esp),%esi
5637	xorl	%ecx,%edx
5638	movl	4(%esp),%edi
5639	xorl	%edi,%esi
5640	shrdl	$5,%edx,%edx
5641	andl	%ecx,%esi
5642	movl	%ecx,28(%esp)
5643	xorl	%ecx,%edx
5644	xorl	%esi,%edi
5645	shrdl	$6,%edx,%edx
5646	movl	%ebx,%ecx
5647	addl	%edi,%edx
5648	movl	16(%esp),%edi
5649	movl	%ebx,%esi
5650	shrdl	$9,%ecx,%ecx
5651	movl	%ebx,12(%esp)
5652	xorl	%ebx,%ecx
5653	xorl	%edi,%ebx
5654	addl	8(%esp),%edx
5655	shrdl	$11,%ecx,%ecx
5656	andl	%ebx,%eax
5657	xorl	%esi,%ecx
5658	addl	84(%esp),%edx
5659	xorl	%edi,%eax
5660	shrdl	$2,%ecx,%ecx
5661	addl	%edx,%eax
5662	addl	24(%esp),%edx
5663	addl	%ecx,%eax
5664	movl	%edx,%ecx
5665	shrdl	$14,%edx,%edx
5666	movl	28(%esp),%esi
5667	xorl	%ecx,%edx
5668	movl	(%esp),%edi
5669	xorl	%edi,%esi
5670	shrdl	$5,%edx,%edx
5671	andl	%ecx,%esi
5672	movl	%ecx,24(%esp)
5673	xorl	%ecx,%edx
5674	xorl	%esi,%edi
5675	shrdl	$6,%edx,%edx
5676	movl	%eax,%ecx
5677	addl	%edi,%edx
5678	movl	12(%esp),%edi
5679	movl	%eax,%esi
5680	shrdl	$9,%ecx,%ecx
5681	movl	%eax,8(%esp)
5682	xorl	%eax,%ecx
5683	xorl	%edi,%eax
5684	addl	4(%esp),%edx
5685	shrdl	$11,%ecx,%ecx
5686	andl	%eax,%ebx
5687	xorl	%esi,%ecx
5688	addl	88(%esp),%edx
5689	xorl	%edi,%ebx
5690	shrdl	$2,%ecx,%ecx
5691	addl	%edx,%ebx
5692	addl	20(%esp),%edx
5693	addl	%ecx,%ebx
5694	movl	%edx,%ecx
5695	shrdl	$14,%edx,%edx
5696	movl	24(%esp),%esi
5697	xorl	%ecx,%edx
5698	movl	28(%esp),%edi
5699	xorl	%edi,%esi
5700	shrdl	$5,%edx,%edx
5701	andl	%ecx,%esi
5702	movl	%ecx,20(%esp)
5703	xorl	%ecx,%edx
5704	xorl	%esi,%edi
5705	shrdl	$6,%edx,%edx
5706	movl	%ebx,%ecx
5707	addl	%edi,%edx
5708	movl	8(%esp),%edi
5709	movl	%ebx,%esi
5710	shrdl	$9,%ecx,%ecx
5711	movl	%ebx,4(%esp)
5712	xorl	%ebx,%ecx
5713	xorl	%edi,%ebx
5714	addl	(%esp),%edx
5715	shrdl	$11,%ecx,%ecx
5716	andl	%ebx,%eax
5717	xorl	%esi,%ecx
5718	addl	92(%esp),%edx
5719	xorl	%edi,%eax
5720	shrdl	$2,%ecx,%ecx
5721	addl	%edx,%eax
5722	addl	16(%esp),%edx
5723	addl	%ecx,%eax
5724	movl	96(%esp),%esi
5725	xorl	%edi,%ebx
5726	movl	12(%esp),%ecx
5727	addl	(%esi),%eax
5728	addl	4(%esi),%ebx
5729	addl	8(%esi),%edi
5730	addl	12(%esi),%ecx
5731	movl	%eax,(%esi)
5732	movl	%ebx,4(%esi)
5733	movl	%edi,8(%esi)
5734	movl	%ecx,12(%esi)
5735	movl	%ebx,4(%esp)
5736	xorl	%edi,%ebx
5737	movl	%edi,8(%esp)
5738	movl	%ecx,12(%esp)
5739	movl	20(%esp),%edi
5740	movl	24(%esp),%ecx
5741	addl	16(%esi),%edx
5742	addl	20(%esi),%edi
5743	addl	24(%esi),%ecx
5744	movl	%edx,16(%esi)
5745	movl	%edi,20(%esi)
5746	movl	%edi,20(%esp)
5747	movl	28(%esp),%edi
5748	movl	%ecx,24(%esi)
5749	addl	28(%esi),%edi
5750	movl	%ecx,24(%esp)
5751	movl	%edi,28(%esi)
5752	movl	%edi,28(%esp)
5753	movl	100(%esp),%edi
5754	vmovdqa	64(%ebp),%xmm7
5755	subl	$192,%ebp
5756	cmpl	104(%esp),%edi
5757	jb	.L015grand_avx
5758	movl	108(%esp),%esp
5759	vzeroall
5760	popl	%edi
5761	popl	%esi
5762	popl	%ebx
5763	popl	%ebp
5764	ret
5765.align	32
5766.L014AVX_BMI:
5767	leal	-96(%esp),%esp
5768	vzeroall
5769	movl	(%esi),%eax
5770	movl	4(%esi),%ebx
5771	movl	8(%esi),%ecx
5772	movl	12(%esi),%edi
5773	movl	%ebx,4(%esp)
5774	xorl	%ecx,%ebx
5775	movl	%ecx,8(%esp)
5776	movl	%edi,12(%esp)
5777	movl	16(%esi),%edx
5778	movl	20(%esi),%edi
5779	movl	24(%esi),%ecx
5780	movl	28(%esi),%esi
5781	movl	%edi,20(%esp)
5782	movl	100(%esp),%edi
5783	movl	%ecx,24(%esp)
5784	movl	%esi,28(%esp)
5785	vmovdqa	256(%ebp),%xmm7
5786	jmp	.L017grand_avx_bmi
5787.align	32
5788.L017grand_avx_bmi:
5789	vmovdqu	(%edi),%xmm0
5790	vmovdqu	16(%edi),%xmm1
5791	vmovdqu	32(%edi),%xmm2
5792	vmovdqu	48(%edi),%xmm3
5793	addl	$64,%edi
5794	vpshufb	%xmm7,%xmm0,%xmm0
5795	movl	%edi,100(%esp)
5796	vpshufb	%xmm7,%xmm1,%xmm1
5797	vpshufb	%xmm7,%xmm2,%xmm2
5798	vpaddd	(%ebp),%xmm0,%xmm4
5799	vpshufb	%xmm7,%xmm3,%xmm3
5800	vpaddd	16(%ebp),%xmm1,%xmm5
5801	vpaddd	32(%ebp),%xmm2,%xmm6
5802	vpaddd	48(%ebp),%xmm3,%xmm7
5803	vmovdqa	%xmm4,32(%esp)
5804	vmovdqa	%xmm5,48(%esp)
5805	vmovdqa	%xmm6,64(%esp)
5806	vmovdqa	%xmm7,80(%esp)
5807	jmp	.L018avx_bmi_00_47
5808.align	16
5809.L018avx_bmi_00_47:
5810	addl	$64,%ebp
5811	vpalignr	$4,%xmm0,%xmm1,%xmm4
5812	rorxl	$6,%edx,%ecx
5813	rorxl	$11,%edx,%esi
5814	movl	%edx,16(%esp)
5815	vpalignr	$4,%xmm2,%xmm3,%xmm7
5816	rorxl	$25,%edx,%edi
5817	xorl	%esi,%ecx
5818	andnl	24(%esp),%edx,%esi
5819	vpsrld	$7,%xmm4,%xmm6
5820	xorl	%edi,%ecx
5821	andl	20(%esp),%edx
5822	movl	%eax,(%esp)
5823	vpaddd	%xmm7,%xmm0,%xmm0
5824	orl	%esi,%edx
5825	rorxl	$2,%eax,%edi
5826	rorxl	$13,%eax,%esi
5827	vpsrld	$3,%xmm4,%xmm7
5828	leal	(%edx,%ecx,1),%edx
5829	rorxl	$22,%eax,%ecx
5830	xorl	%edi,%esi
5831	vpslld	$14,%xmm4,%xmm5
5832	movl	4(%esp),%edi
5833	xorl	%esi,%ecx
5834	xorl	%edi,%eax
5835	vpxor	%xmm6,%xmm7,%xmm4
5836	addl	28(%esp),%edx
5837	andl	%eax,%ebx
5838	addl	32(%esp),%edx
5839	vpshufd	$250,%xmm3,%xmm7
5840	xorl	%edi,%ebx
5841	addl	%edx,%ecx
5842	addl	12(%esp),%edx
5843	vpsrld	$11,%xmm6,%xmm6
5844	leal	(%ebx,%ecx,1),%ebx
5845	rorxl	$6,%edx,%ecx
5846	rorxl	$11,%edx,%esi
5847	vpxor	%xmm5,%xmm4,%xmm4
5848	movl	%edx,12(%esp)
5849	rorxl	$25,%edx,%edi
5850	xorl	%esi,%ecx
5851	vpslld	$11,%xmm5,%xmm5
5852	andnl	20(%esp),%edx,%esi
5853	xorl	%edi,%ecx
5854	andl	16(%esp),%edx
5855	vpxor	%xmm6,%xmm4,%xmm4
5856	movl	%ebx,28(%esp)
5857	orl	%esi,%edx
5858	rorxl	$2,%ebx,%edi
5859	rorxl	$13,%ebx,%esi
5860	vpsrld	$10,%xmm7,%xmm6
5861	leal	(%edx,%ecx,1),%edx
5862	rorxl	$22,%ebx,%ecx
5863	xorl	%edi,%esi
5864	vpxor	%xmm5,%xmm4,%xmm4
5865	movl	(%esp),%edi
5866	xorl	%esi,%ecx
5867	xorl	%edi,%ebx
5868	vpsrlq	$17,%xmm7,%xmm5
5869	addl	24(%esp),%edx
5870	andl	%ebx,%eax
5871	addl	36(%esp),%edx
5872	vpaddd	%xmm4,%xmm0,%xmm0
5873	xorl	%edi,%eax
5874	addl	%edx,%ecx
5875	addl	8(%esp),%edx
5876	vpxor	%xmm5,%xmm6,%xmm6
5877	leal	(%eax,%ecx,1),%eax
5878	rorxl	$6,%edx,%ecx
5879	rorxl	$11,%edx,%esi
5880	vpsrlq	$19,%xmm7,%xmm7
5881	movl	%edx,8(%esp)
5882	rorxl	$25,%edx,%edi
5883	xorl	%esi,%ecx
5884	vpxor	%xmm7,%xmm6,%xmm6
5885	andnl	16(%esp),%edx,%esi
5886	xorl	%edi,%ecx
5887	andl	12(%esp),%edx
5888	vpshufd	$132,%xmm6,%xmm7
5889	movl	%eax,24(%esp)
5890	orl	%esi,%edx
5891	rorxl	$2,%eax,%edi
5892	rorxl	$13,%eax,%esi
5893	vpsrldq	$8,%xmm7,%xmm7
5894	leal	(%edx,%ecx,1),%edx
5895	rorxl	$22,%eax,%ecx
5896	xorl	%edi,%esi
5897	vpaddd	%xmm7,%xmm0,%xmm0
5898	movl	28(%esp),%edi
5899	xorl	%esi,%ecx
5900	xorl	%edi,%eax
5901	vpshufd	$80,%xmm0,%xmm7
5902	addl	20(%esp),%edx
5903	andl	%eax,%ebx
5904	addl	40(%esp),%edx
5905	vpsrld	$10,%xmm7,%xmm6
5906	xorl	%edi,%ebx
5907	addl	%edx,%ecx
5908	addl	4(%esp),%edx
5909	vpsrlq	$17,%xmm7,%xmm5
5910	leal	(%ebx,%ecx,1),%ebx
5911	rorxl	$6,%edx,%ecx
5912	rorxl	$11,%edx,%esi
5913	vpxor	%xmm5,%xmm6,%xmm6
5914	movl	%edx,4(%esp)
5915	rorxl	$25,%edx,%edi
5916	xorl	%esi,%ecx
5917	vpsrlq	$19,%xmm7,%xmm7
5918	andnl	12(%esp),%edx,%esi
5919	xorl	%edi,%ecx
5920	andl	8(%esp),%edx
5921	vpxor	%xmm7,%xmm6,%xmm6
5922	movl	%ebx,20(%esp)
5923	orl	%esi,%edx
5924	rorxl	$2,%ebx,%edi
5925	rorxl	$13,%ebx,%esi
5926	vpshufd	$232,%xmm6,%xmm7
5927	leal	(%edx,%ecx,1),%edx
5928	rorxl	$22,%ebx,%ecx
5929	xorl	%edi,%esi
5930	vpslldq	$8,%xmm7,%xmm7
5931	movl	24(%esp),%edi
5932	xorl	%esi,%ecx
5933	xorl	%edi,%ebx
5934	vpaddd	%xmm7,%xmm0,%xmm0
5935	addl	16(%esp),%edx
5936	andl	%ebx,%eax
5937	addl	44(%esp),%edx
5938	vpaddd	(%ebp),%xmm0,%xmm6
5939	xorl	%edi,%eax
5940	addl	%edx,%ecx
5941	addl	(%esp),%edx
5942	leal	(%eax,%ecx,1),%eax
5943	vmovdqa	%xmm6,32(%esp)
5944	vpalignr	$4,%xmm1,%xmm2,%xmm4
5945	rorxl	$6,%edx,%ecx
5946	rorxl	$11,%edx,%esi
5947	movl	%edx,(%esp)
5948	vpalignr	$4,%xmm3,%xmm0,%xmm7
5949	rorxl	$25,%edx,%edi
5950	xorl	%esi,%ecx
5951	andnl	8(%esp),%edx,%esi
5952	vpsrld	$7,%xmm4,%xmm6
5953	xorl	%edi,%ecx
5954	andl	4(%esp),%edx
5955	movl	%eax,16(%esp)
5956	vpaddd	%xmm7,%xmm1,%xmm1
5957	orl	%esi,%edx
5958	rorxl	$2,%eax,%edi
5959	rorxl	$13,%eax,%esi
5960	vpsrld	$3,%xmm4,%xmm7
5961	leal	(%edx,%ecx,1),%edx
5962	rorxl	$22,%eax,%ecx
5963	xorl	%edi,%esi
5964	vpslld	$14,%xmm4,%xmm5
5965	movl	20(%esp),%edi
5966	xorl	%esi,%ecx
5967	xorl	%edi,%eax
5968	vpxor	%xmm6,%xmm7,%xmm4
5969	addl	12(%esp),%edx
5970	andl	%eax,%ebx
5971	addl	48(%esp),%edx
5972	vpshufd	$250,%xmm0,%xmm7
5973	xorl	%edi,%ebx
5974	addl	%edx,%ecx
5975	addl	28(%esp),%edx
5976	vpsrld	$11,%xmm6,%xmm6
5977	leal	(%ebx,%ecx,1),%ebx
5978	rorxl	$6,%edx,%ecx
5979	rorxl	$11,%edx,%esi
5980	vpxor	%xmm5,%xmm4,%xmm4
5981	movl	%edx,28(%esp)
5982	rorxl	$25,%edx,%edi
5983	xorl	%esi,%ecx
5984	vpslld	$11,%xmm5,%xmm5
5985	andnl	4(%esp),%edx,%esi
5986	xorl	%edi,%ecx
5987	andl	(%esp),%edx
5988	vpxor	%xmm6,%xmm4,%xmm4
5989	movl	%ebx,12(%esp)
5990	orl	%esi,%edx
5991	rorxl	$2,%ebx,%edi
5992	rorxl	$13,%ebx,%esi
5993	vpsrld	$10,%xmm7,%xmm6
5994	leal	(%edx,%ecx,1),%edx
5995	rorxl	$22,%ebx,%ecx
5996	xorl	%edi,%esi
5997	vpxor	%xmm5,%xmm4,%xmm4
5998	movl	16(%esp),%edi
5999	xorl	%esi,%ecx
6000	xorl	%edi,%ebx
6001	vpsrlq	$17,%xmm7,%xmm5
6002	addl	8(%esp),%edx
6003	andl	%ebx,%eax
6004	addl	52(%esp),%edx
6005	vpaddd	%xmm4,%xmm1,%xmm1
6006	xorl	%edi,%eax
6007	addl	%edx,%ecx
6008	addl	24(%esp),%edx
6009	vpxor	%xmm5,%xmm6,%xmm6
6010	leal	(%eax,%ecx,1),%eax
6011	rorxl	$6,%edx,%ecx
6012	rorxl	$11,%edx,%esi
6013	vpsrlq	$19,%xmm7,%xmm7
6014	movl	%edx,24(%esp)
6015	rorxl	$25,%edx,%edi
6016	xorl	%esi,%ecx
6017	vpxor	%xmm7,%xmm6,%xmm6
6018	andnl	(%esp),%edx,%esi
6019	xorl	%edi,%ecx
6020	andl	28(%esp),%edx
6021	vpshufd	$132,%xmm6,%xmm7
6022	movl	%eax,8(%esp)
6023	orl	%esi,%edx
6024	rorxl	$2,%eax,%edi
6025	rorxl	$13,%eax,%esi
6026	vpsrldq	$8,%xmm7,%xmm7
6027	leal	(%edx,%ecx,1),%edx
6028	rorxl	$22,%eax,%ecx
6029	xorl	%edi,%esi
6030	vpaddd	%xmm7,%xmm1,%xmm1
6031	movl	12(%esp),%edi
6032	xorl	%esi,%ecx
6033	xorl	%edi,%eax
6034	vpshufd	$80,%xmm1,%xmm7
6035	addl	4(%esp),%edx
6036	andl	%eax,%ebx
6037	addl	56(%esp),%edx
6038	vpsrld	$10,%xmm7,%xmm6
6039	xorl	%edi,%ebx
6040	addl	%edx,%ecx
6041	addl	20(%esp),%edx
6042	vpsrlq	$17,%xmm7,%xmm5
6043	leal	(%ebx,%ecx,1),%ebx
6044	rorxl	$6,%edx,%ecx
6045	rorxl	$11,%edx,%esi
6046	vpxor	%xmm5,%xmm6,%xmm6
6047	movl	%edx,20(%esp)
6048	rorxl	$25,%edx,%edi
6049	xorl	%esi,%ecx
6050	vpsrlq	$19,%xmm7,%xmm7
6051	andnl	28(%esp),%edx,%esi
6052	xorl	%edi,%ecx
6053	andl	24(%esp),%edx
6054	vpxor	%xmm7,%xmm6,%xmm6
6055	movl	%ebx,4(%esp)
6056	orl	%esi,%edx
6057	rorxl	$2,%ebx,%edi
6058	rorxl	$13,%ebx,%esi
6059	vpshufd	$232,%xmm6,%xmm7
6060	leal	(%edx,%ecx,1),%edx
6061	rorxl	$22,%ebx,%ecx
6062	xorl	%edi,%esi
6063	vpslldq	$8,%xmm7,%xmm7
6064	movl	8(%esp),%edi
6065	xorl	%esi,%ecx
6066	xorl	%edi,%ebx
6067	vpaddd	%xmm7,%xmm1,%xmm1
6068	addl	(%esp),%edx
6069	andl	%ebx,%eax
6070	addl	60(%esp),%edx
6071	vpaddd	16(%ebp),%xmm1,%xmm6
6072	xorl	%edi,%eax
6073	addl	%edx,%ecx
6074	addl	16(%esp),%edx
6075	leal	(%eax,%ecx,1),%eax
6076	vmovdqa	%xmm6,48(%esp)
6077	vpalignr	$4,%xmm2,%xmm3,%xmm4
6078	rorxl	$6,%edx,%ecx
6079	rorxl	$11,%edx,%esi
6080	movl	%edx,16(%esp)
6081	vpalignr	$4,%xmm0,%xmm1,%xmm7
6082	rorxl	$25,%edx,%edi
6083	xorl	%esi,%ecx
6084	andnl	24(%esp),%edx,%esi
6085	vpsrld	$7,%xmm4,%xmm6
6086	xorl	%edi,%ecx
6087	andl	20(%esp),%edx
6088	movl	%eax,(%esp)
6089	vpaddd	%xmm7,%xmm2,%xmm2
6090	orl	%esi,%edx
6091	rorxl	$2,%eax,%edi
6092	rorxl	$13,%eax,%esi
6093	vpsrld	$3,%xmm4,%xmm7
6094	leal	(%edx,%ecx,1),%edx
6095	rorxl	$22,%eax,%ecx
6096	xorl	%edi,%esi
6097	vpslld	$14,%xmm4,%xmm5
6098	movl	4(%esp),%edi
6099	xorl	%esi,%ecx
6100	xorl	%edi,%eax
6101	vpxor	%xmm6,%xmm7,%xmm4
6102	addl	28(%esp),%edx
6103	andl	%eax,%ebx
6104	addl	64(%esp),%edx
6105	vpshufd	$250,%xmm1,%xmm7
6106	xorl	%edi,%ebx
6107	addl	%edx,%ecx
6108	addl	12(%esp),%edx
6109	vpsrld	$11,%xmm6,%xmm6
6110	leal	(%ebx,%ecx,1),%ebx
6111	rorxl	$6,%edx,%ecx
6112	rorxl	$11,%edx,%esi
6113	vpxor	%xmm5,%xmm4,%xmm4
6114	movl	%edx,12(%esp)
6115	rorxl	$25,%edx,%edi
6116	xorl	%esi,%ecx
6117	vpslld	$11,%xmm5,%xmm5
6118	andnl	20(%esp),%edx,%esi
6119	xorl	%edi,%ecx
6120	andl	16(%esp),%edx
6121	vpxor	%xmm6,%xmm4,%xmm4
6122	movl	%ebx,28(%esp)
6123	orl	%esi,%edx
6124	rorxl	$2,%ebx,%edi
6125	rorxl	$13,%ebx,%esi
6126	vpsrld	$10,%xmm7,%xmm6
6127	leal	(%edx,%ecx,1),%edx
6128	rorxl	$22,%ebx,%ecx
6129	xorl	%edi,%esi
6130	vpxor	%xmm5,%xmm4,%xmm4
6131	movl	(%esp),%edi
6132	xorl	%esi,%ecx
6133	xorl	%edi,%ebx
6134	vpsrlq	$17,%xmm7,%xmm5
6135	addl	24(%esp),%edx
6136	andl	%ebx,%eax
6137	addl	68(%esp),%edx
6138	vpaddd	%xmm4,%xmm2,%xmm2
6139	xorl	%edi,%eax
6140	addl	%edx,%ecx
6141	addl	8(%esp),%edx
6142	vpxor	%xmm5,%xmm6,%xmm6
6143	leal	(%eax,%ecx,1),%eax
6144	rorxl	$6,%edx,%ecx
6145	rorxl	$11,%edx,%esi
6146	vpsrlq	$19,%xmm7,%xmm7
6147	movl	%edx,8(%esp)
6148	rorxl	$25,%edx,%edi
6149	xorl	%esi,%ecx
6150	vpxor	%xmm7,%xmm6,%xmm6
6151	andnl	16(%esp),%edx,%esi
6152	xorl	%edi,%ecx
6153	andl	12(%esp),%edx
6154	vpshufd	$132,%xmm6,%xmm7
6155	movl	%eax,24(%esp)
6156	orl	%esi,%edx
6157	rorxl	$2,%eax,%edi
6158	rorxl	$13,%eax,%esi
6159	vpsrldq	$8,%xmm7,%xmm7
6160	leal	(%edx,%ecx,1),%edx
6161	rorxl	$22,%eax,%ecx
6162	xorl	%edi,%esi
6163	vpaddd	%xmm7,%xmm2,%xmm2
6164	movl	28(%esp),%edi
6165	xorl	%esi,%ecx
6166	xorl	%edi,%eax
6167	vpshufd	$80,%xmm2,%xmm7
6168	addl	20(%esp),%edx
6169	andl	%eax,%ebx
6170	addl	72(%esp),%edx
6171	vpsrld	$10,%xmm7,%xmm6
6172	xorl	%edi,%ebx
6173	addl	%edx,%ecx
6174	addl	4(%esp),%edx
6175	vpsrlq	$17,%xmm7,%xmm5
6176	leal	(%ebx,%ecx,1),%ebx
6177	rorxl	$6,%edx,%ecx
6178	rorxl	$11,%edx,%esi
6179	vpxor	%xmm5,%xmm6,%xmm6
6180	movl	%edx,4(%esp)
6181	rorxl	$25,%edx,%edi
6182	xorl	%esi,%ecx
6183	vpsrlq	$19,%xmm7,%xmm7
6184	andnl	12(%esp),%edx,%esi
6185	xorl	%edi,%ecx
6186	andl	8(%esp),%edx
6187	vpxor	%xmm7,%xmm6,%xmm6
6188	movl	%ebx,20(%esp)
6189	orl	%esi,%edx
6190	rorxl	$2,%ebx,%edi
6191	rorxl	$13,%ebx,%esi
6192	vpshufd	$232,%xmm6,%xmm7
6193	leal	(%edx,%ecx,1),%edx
6194	rorxl	$22,%ebx,%ecx
6195	xorl	%edi,%esi
6196	vpslldq	$8,%xmm7,%xmm7
6197	movl	24(%esp),%edi
6198	xorl	%esi,%ecx
6199	xorl	%edi,%ebx
6200	vpaddd	%xmm7,%xmm2,%xmm2
6201	addl	16(%esp),%edx
6202	andl	%ebx,%eax
6203	addl	76(%esp),%edx
6204	vpaddd	32(%ebp),%xmm2,%xmm6
6205	xorl	%edi,%eax
6206	addl	%edx,%ecx
6207	addl	(%esp),%edx
6208	leal	(%eax,%ecx,1),%eax
6209	vmovdqa	%xmm6,64(%esp)
6210	vpalignr	$4,%xmm3,%xmm0,%xmm4
6211	rorxl	$6,%edx,%ecx
6212	rorxl	$11,%edx,%esi
6213	movl	%edx,(%esp)
6214	vpalignr	$4,%xmm1,%xmm2,%xmm7
6215	rorxl	$25,%edx,%edi
6216	xorl	%esi,%ecx
6217	andnl	8(%esp),%edx,%esi
6218	vpsrld	$7,%xmm4,%xmm6
6219	xorl	%edi,%ecx
6220	andl	4(%esp),%edx
6221	movl	%eax,16(%esp)
6222	vpaddd	%xmm7,%xmm3,%xmm3
6223	orl	%esi,%edx
6224	rorxl	$2,%eax,%edi
6225	rorxl	$13,%eax,%esi
6226	vpsrld	$3,%xmm4,%xmm7
6227	leal	(%edx,%ecx,1),%edx
6228	rorxl	$22,%eax,%ecx
6229	xorl	%edi,%esi
6230	vpslld	$14,%xmm4,%xmm5
6231	movl	20(%esp),%edi
6232	xorl	%esi,%ecx
6233	xorl	%edi,%eax
6234	vpxor	%xmm6,%xmm7,%xmm4
6235	addl	12(%esp),%edx
6236	andl	%eax,%ebx
6237	addl	80(%esp),%edx
6238	vpshufd	$250,%xmm2,%xmm7
6239	xorl	%edi,%ebx
6240	addl	%edx,%ecx
6241	addl	28(%esp),%edx
6242	vpsrld	$11,%xmm6,%xmm6
6243	leal	(%ebx,%ecx,1),%ebx
6244	rorxl	$6,%edx,%ecx
6245	rorxl	$11,%edx,%esi
6246	vpxor	%xmm5,%xmm4,%xmm4
6247	movl	%edx,28(%esp)
6248	rorxl	$25,%edx,%edi
6249	xorl	%esi,%ecx
6250	vpslld	$11,%xmm5,%xmm5
6251	andnl	4(%esp),%edx,%esi
6252	xorl	%edi,%ecx
6253	andl	(%esp),%edx
6254	vpxor	%xmm6,%xmm4,%xmm4
6255	movl	%ebx,12(%esp)
6256	orl	%esi,%edx
6257	rorxl	$2,%ebx,%edi
6258	rorxl	$13,%ebx,%esi
6259	vpsrld	$10,%xmm7,%xmm6
6260	leal	(%edx,%ecx,1),%edx
6261	rorxl	$22,%ebx,%ecx
6262	xorl	%edi,%esi
6263	vpxor	%xmm5,%xmm4,%xmm4
6264	movl	16(%esp),%edi
6265	xorl	%esi,%ecx
6266	xorl	%edi,%ebx
6267	vpsrlq	$17,%xmm7,%xmm5
6268	addl	8(%esp),%edx
6269	andl	%ebx,%eax
6270	addl	84(%esp),%edx
6271	vpaddd	%xmm4,%xmm3,%xmm3
6272	xorl	%edi,%eax
6273	addl	%edx,%ecx
6274	addl	24(%esp),%edx
6275	vpxor	%xmm5,%xmm6,%xmm6
6276	leal	(%eax,%ecx,1),%eax
6277	rorxl	$6,%edx,%ecx
6278	rorxl	$11,%edx,%esi
6279	vpsrlq	$19,%xmm7,%xmm7
6280	movl	%edx,24(%esp)
6281	rorxl	$25,%edx,%edi
6282	xorl	%esi,%ecx
6283	vpxor	%xmm7,%xmm6,%xmm6
6284	andnl	(%esp),%edx,%esi
6285	xorl	%edi,%ecx
6286	andl	28(%esp),%edx
6287	vpshufd	$132,%xmm6,%xmm7
6288	movl	%eax,8(%esp)
6289	orl	%esi,%edx
6290	rorxl	$2,%eax,%edi
6291	rorxl	$13,%eax,%esi
6292	vpsrldq	$8,%xmm7,%xmm7
6293	leal	(%edx,%ecx,1),%edx
6294	rorxl	$22,%eax,%ecx
6295	xorl	%edi,%esi
6296	vpaddd	%xmm7,%xmm3,%xmm3
6297	movl	12(%esp),%edi
6298	xorl	%esi,%ecx
6299	xorl	%edi,%eax
6300	vpshufd	$80,%xmm3,%xmm7
6301	addl	4(%esp),%edx
6302	andl	%eax,%ebx
6303	addl	88(%esp),%edx
6304	vpsrld	$10,%xmm7,%xmm6
6305	xorl	%edi,%ebx
6306	addl	%edx,%ecx
6307	addl	20(%esp),%edx
6308	vpsrlq	$17,%xmm7,%xmm5
6309	leal	(%ebx,%ecx,1),%ebx
6310	rorxl	$6,%edx,%ecx
6311	rorxl	$11,%edx,%esi
6312	vpxor	%xmm5,%xmm6,%xmm6
6313	movl	%edx,20(%esp)
6314	rorxl	$25,%edx,%edi
6315	xorl	%esi,%ecx
6316	vpsrlq	$19,%xmm7,%xmm7
6317	andnl	28(%esp),%edx,%esi
6318	xorl	%edi,%ecx
6319	andl	24(%esp),%edx
6320	vpxor	%xmm7,%xmm6,%xmm6
6321	movl	%ebx,4(%esp)
6322	orl	%esi,%edx
6323	rorxl	$2,%ebx,%edi
6324	rorxl	$13,%ebx,%esi
6325	vpshufd	$232,%xmm6,%xmm7
6326	leal	(%edx,%ecx,1),%edx
6327	rorxl	$22,%ebx,%ecx
6328	xorl	%edi,%esi
6329	vpslldq	$8,%xmm7,%xmm7
6330	movl	8(%esp),%edi
6331	xorl	%esi,%ecx
6332	xorl	%edi,%ebx
6333	vpaddd	%xmm7,%xmm3,%xmm3
6334	addl	(%esp),%edx
6335	andl	%ebx,%eax
6336	addl	92(%esp),%edx
6337	vpaddd	48(%ebp),%xmm3,%xmm6
6338	xorl	%edi,%eax
6339	addl	%edx,%ecx
6340	addl	16(%esp),%edx
6341	leal	(%eax,%ecx,1),%eax
6342	vmovdqa	%xmm6,80(%esp)
6343	cmpl	$66051,64(%ebp)
6344	jne	.L018avx_bmi_00_47
6345	rorxl	$6,%edx,%ecx
6346	rorxl	$11,%edx,%esi
6347	movl	%edx,16(%esp)
6348	rorxl	$25,%edx,%edi
6349	xorl	%esi,%ecx
6350	andnl	24(%esp),%edx,%esi
6351	xorl	%edi,%ecx
6352	andl	20(%esp),%edx
6353	movl	%eax,(%esp)
6354	orl	%esi,%edx
6355	rorxl	$2,%eax,%edi
6356	rorxl	$13,%eax,%esi
6357	leal	(%edx,%ecx,1),%edx
6358	rorxl	$22,%eax,%ecx
6359	xorl	%edi,%esi
6360	movl	4(%esp),%edi
6361	xorl	%esi,%ecx
6362	xorl	%edi,%eax
6363	addl	28(%esp),%edx
6364	andl	%eax,%ebx
6365	addl	32(%esp),%edx
6366	xorl	%edi,%ebx
6367	addl	%edx,%ecx
6368	addl	12(%esp),%edx
6369	leal	(%ebx,%ecx,1),%ebx
6370	rorxl	$6,%edx,%ecx
6371	rorxl	$11,%edx,%esi
6372	movl	%edx,12(%esp)
6373	rorxl	$25,%edx,%edi
6374	xorl	%esi,%ecx
6375	andnl	20(%esp),%edx,%esi
6376	xorl	%edi,%ecx
6377	andl	16(%esp),%edx
6378	movl	%ebx,28(%esp)
6379	orl	%esi,%edx
6380	rorxl	$2,%ebx,%edi
6381	rorxl	$13,%ebx,%esi
6382	leal	(%edx,%ecx,1),%edx
6383	rorxl	$22,%ebx,%ecx
6384	xorl	%edi,%esi
6385	movl	(%esp),%edi
6386	xorl	%esi,%ecx
6387	xorl	%edi,%ebx
6388	addl	24(%esp),%edx
6389	andl	%ebx,%eax
6390	addl	36(%esp),%edx
6391	xorl	%edi,%eax
6392	addl	%edx,%ecx
6393	addl	8(%esp),%edx
6394	leal	(%eax,%ecx,1),%eax
6395	rorxl	$6,%edx,%ecx
6396	rorxl	$11,%edx,%esi
6397	movl	%edx,8(%esp)
6398	rorxl	$25,%edx,%edi
6399	xorl	%esi,%ecx
6400	andnl	16(%esp),%edx,%esi
6401	xorl	%edi,%ecx
6402	andl	12(%esp),%edx
6403	movl	%eax,24(%esp)
6404	orl	%esi,%edx
6405	rorxl	$2,%eax,%edi
6406	rorxl	$13,%eax,%esi
6407	leal	(%edx,%ecx,1),%edx
6408	rorxl	$22,%eax,%ecx
6409	xorl	%edi,%esi
6410	movl	28(%esp),%edi
6411	xorl	%esi,%ecx
6412	xorl	%edi,%eax
6413	addl	20(%esp),%edx
6414	andl	%eax,%ebx
6415	addl	40(%esp),%edx
6416	xorl	%edi,%ebx
6417	addl	%edx,%ecx
6418	addl	4(%esp),%edx
6419	leal	(%ebx,%ecx,1),%ebx
6420	rorxl	$6,%edx,%ecx
6421	rorxl	$11,%edx,%esi
6422	movl	%edx,4(%esp)
6423	rorxl	$25,%edx,%edi
6424	xorl	%esi,%ecx
6425	andnl	12(%esp),%edx,%esi
6426	xorl	%edi,%ecx
6427	andl	8(%esp),%edx
6428	movl	%ebx,20(%esp)
6429	orl	%esi,%edx
6430	rorxl	$2,%ebx,%edi
6431	rorxl	$13,%ebx,%esi
6432	leal	(%edx,%ecx,1),%edx
6433	rorxl	$22,%ebx,%ecx
6434	xorl	%edi,%esi
6435	movl	24(%esp),%edi
6436	xorl	%esi,%ecx
6437	xorl	%edi,%ebx
6438	addl	16(%esp),%edx
6439	andl	%ebx,%eax
6440	addl	44(%esp),%edx
6441	xorl	%edi,%eax
6442	addl	%edx,%ecx
6443	addl	(%esp),%edx
6444	leal	(%eax,%ecx,1),%eax
6445	rorxl	$6,%edx,%ecx
6446	rorxl	$11,%edx,%esi
6447	movl	%edx,(%esp)
6448	rorxl	$25,%edx,%edi
6449	xorl	%esi,%ecx
6450	andnl	8(%esp),%edx,%esi
6451	xorl	%edi,%ecx
6452	andl	4(%esp),%edx
6453	movl	%eax,16(%esp)
6454	orl	%esi,%edx
6455	rorxl	$2,%eax,%edi
6456	rorxl	$13,%eax,%esi
6457	leal	(%edx,%ecx,1),%edx
6458	rorxl	$22,%eax,%ecx
6459	xorl	%edi,%esi
6460	movl	20(%esp),%edi
6461	xorl	%esi,%ecx
6462	xorl	%edi,%eax
6463	addl	12(%esp),%edx
6464	andl	%eax,%ebx
6465	addl	48(%esp),%edx
6466	xorl	%edi,%ebx
6467	addl	%edx,%ecx
6468	addl	28(%esp),%edx
6469	leal	(%ebx,%ecx,1),%ebx
6470	rorxl	$6,%edx,%ecx
6471	rorxl	$11,%edx,%esi
6472	movl	%edx,28(%esp)
6473	rorxl	$25,%edx,%edi
6474	xorl	%esi,%ecx
6475	andnl	4(%esp),%edx,%esi
6476	xorl	%edi,%ecx
6477	andl	(%esp),%edx
6478	movl	%ebx,12(%esp)
6479	orl	%esi,%edx
6480	rorxl	$2,%ebx,%edi
6481	rorxl	$13,%ebx,%esi
6482	leal	(%edx,%ecx,1),%edx
6483	rorxl	$22,%ebx,%ecx
6484	xorl	%edi,%esi
6485	movl	16(%esp),%edi
6486	xorl	%esi,%ecx
6487	xorl	%edi,%ebx
6488	addl	8(%esp),%edx
6489	andl	%ebx,%eax
6490	addl	52(%esp),%edx
6491	xorl	%edi,%eax
6492	addl	%edx,%ecx
6493	addl	24(%esp),%edx
6494	leal	(%eax,%ecx,1),%eax
6495	rorxl	$6,%edx,%ecx
6496	rorxl	$11,%edx,%esi
6497	movl	%edx,24(%esp)
6498	rorxl	$25,%edx,%edi
6499	xorl	%esi,%ecx
6500	andnl	(%esp),%edx,%esi
6501	xorl	%edi,%ecx
6502	andl	28(%esp),%edx
6503	movl	%eax,8(%esp)
6504	orl	%esi,%edx
6505	rorxl	$2,%eax,%edi
6506	rorxl	$13,%eax,%esi
6507	leal	(%edx,%ecx,1),%edx
6508	rorxl	$22,%eax,%ecx
6509	xorl	%edi,%esi
6510	movl	12(%esp),%edi
6511	xorl	%esi,%ecx
6512	xorl	%edi,%eax
6513	addl	4(%esp),%edx
6514	andl	%eax,%ebx
6515	addl	56(%esp),%edx
6516	xorl	%edi,%ebx
6517	addl	%edx,%ecx
6518	addl	20(%esp),%edx
6519	leal	(%ebx,%ecx,1),%ebx
6520	rorxl	$6,%edx,%ecx
6521	rorxl	$11,%edx,%esi
6522	movl	%edx,20(%esp)
6523	rorxl	$25,%edx,%edi
6524	xorl	%esi,%ecx
6525	andnl	28(%esp),%edx,%esi
6526	xorl	%edi,%ecx
6527	andl	24(%esp),%edx
6528	movl	%ebx,4(%esp)
6529	orl	%esi,%edx
6530	rorxl	$2,%ebx,%edi
6531	rorxl	$13,%ebx,%esi
6532	leal	(%edx,%ecx,1),%edx
6533	rorxl	$22,%ebx,%ecx
6534	xorl	%edi,%esi
6535	movl	8(%esp),%edi
6536	xorl	%esi,%ecx
6537	xorl	%edi,%ebx
6538	addl	(%esp),%edx
6539	andl	%ebx,%eax
6540	addl	60(%esp),%edx
6541	xorl	%edi,%eax
6542	addl	%edx,%ecx
6543	addl	16(%esp),%edx
6544	leal	(%eax,%ecx,1),%eax
6545	rorxl	$6,%edx,%ecx
6546	rorxl	$11,%edx,%esi
6547	movl	%edx,16(%esp)
6548	rorxl	$25,%edx,%edi
6549	xorl	%esi,%ecx
6550	andnl	24(%esp),%edx,%esi
6551	xorl	%edi,%ecx
6552	andl	20(%esp),%edx
6553	movl	%eax,(%esp)
6554	orl	%esi,%edx
6555	rorxl	$2,%eax,%edi
6556	rorxl	$13,%eax,%esi
6557	leal	(%edx,%ecx,1),%edx
6558	rorxl	$22,%eax,%ecx
6559	xorl	%edi,%esi
6560	movl	4(%esp),%edi
6561	xorl	%esi,%ecx
6562	xorl	%edi,%eax
6563	addl	28(%esp),%edx
6564	andl	%eax,%ebx
6565	addl	64(%esp),%edx
6566	xorl	%edi,%ebx
6567	addl	%edx,%ecx
6568	addl	12(%esp),%edx
6569	leal	(%ebx,%ecx,1),%ebx
6570	rorxl	$6,%edx,%ecx
6571	rorxl	$11,%edx,%esi
6572	movl	%edx,12(%esp)
6573	rorxl	$25,%edx,%edi
6574	xorl	%esi,%ecx
6575	andnl	20(%esp),%edx,%esi
6576	xorl	%edi,%ecx
6577	andl	16(%esp),%edx
6578	movl	%ebx,28(%esp)
6579	orl	%esi,%edx
6580	rorxl	$2,%ebx,%edi
6581	rorxl	$13,%ebx,%esi
6582	leal	(%edx,%ecx,1),%edx
6583	rorxl	$22,%ebx,%ecx
6584	xorl	%edi,%esi
6585	movl	(%esp),%edi
6586	xorl	%esi,%ecx
6587	xorl	%edi,%ebx
6588	addl	24(%esp),%edx
6589	andl	%ebx,%eax
6590	addl	68(%esp),%edx
6591	xorl	%edi,%eax
6592	addl	%edx,%ecx
6593	addl	8(%esp),%edx
6594	leal	(%eax,%ecx,1),%eax
6595	rorxl	$6,%edx,%ecx
6596	rorxl	$11,%edx,%esi
6597	movl	%edx,8(%esp)
6598	rorxl	$25,%edx,%edi
6599	xorl	%esi,%ecx
6600	andnl	16(%esp),%edx,%esi
6601	xorl	%edi,%ecx
6602	andl	12(%esp),%edx
6603	movl	%eax,24(%esp)
6604	orl	%esi,%edx
6605	rorxl	$2,%eax,%edi
6606	rorxl	$13,%eax,%esi
6607	leal	(%edx,%ecx,1),%edx
6608	rorxl	$22,%eax,%ecx
6609	xorl	%edi,%esi
6610	movl	28(%esp),%edi
6611	xorl	%esi,%ecx
6612	xorl	%edi,%eax
6613	addl	20(%esp),%edx
6614	andl	%eax,%ebx
6615	addl	72(%esp),%edx
6616	xorl	%edi,%ebx
6617	addl	%edx,%ecx
6618	addl	4(%esp),%edx
6619	leal	(%ebx,%ecx,1),%ebx
6620	rorxl	$6,%edx,%ecx
6621	rorxl	$11,%edx,%esi
6622	movl	%edx,4(%esp)
6623	rorxl	$25,%edx,%edi
6624	xorl	%esi,%ecx
6625	andnl	12(%esp),%edx,%esi
6626	xorl	%edi,%ecx
6627	andl	8(%esp),%edx
6628	movl	%ebx,20(%esp)
6629	orl	%esi,%edx
6630	rorxl	$2,%ebx,%edi
6631	rorxl	$13,%ebx,%esi
6632	leal	(%edx,%ecx,1),%edx
6633	rorxl	$22,%ebx,%ecx
6634	xorl	%edi,%esi
6635	movl	24(%esp),%edi
6636	xorl	%esi,%ecx
6637	xorl	%edi,%ebx
6638	addl	16(%esp),%edx
6639	andl	%ebx,%eax
6640	addl	76(%esp),%edx
6641	xorl	%edi,%eax
6642	addl	%edx,%ecx
6643	addl	(%esp),%edx
6644	leal	(%eax,%ecx,1),%eax
6645	rorxl	$6,%edx,%ecx
6646	rorxl	$11,%edx,%esi
6647	movl	%edx,(%esp)
6648	rorxl	$25,%edx,%edi
6649	xorl	%esi,%ecx
6650	andnl	8(%esp),%edx,%esi
6651	xorl	%edi,%ecx
6652	andl	4(%esp),%edx
6653	movl	%eax,16(%esp)
6654	orl	%esi,%edx
6655	rorxl	$2,%eax,%edi
6656	rorxl	$13,%eax,%esi
6657	leal	(%edx,%ecx,1),%edx
6658	rorxl	$22,%eax,%ecx
6659	xorl	%edi,%esi
6660	movl	20(%esp),%edi
6661	xorl	%esi,%ecx
6662	xorl	%edi,%eax
6663	addl	12(%esp),%edx
6664	andl	%eax,%ebx
6665	addl	80(%esp),%edx
6666	xorl	%edi,%ebx
6667	addl	%edx,%ecx
6668	addl	28(%esp),%edx
6669	leal	(%ebx,%ecx,1),%ebx
6670	rorxl	$6,%edx,%ecx
6671	rorxl	$11,%edx,%esi
6672	movl	%edx,28(%esp)
6673	rorxl	$25,%edx,%edi
6674	xorl	%esi,%ecx
6675	andnl	4(%esp),%edx,%esi
6676	xorl	%edi,%ecx
6677	andl	(%esp),%edx
6678	movl	%ebx,12(%esp)
6679	orl	%esi,%edx
6680	rorxl	$2,%ebx,%edi
6681	rorxl	$13,%ebx,%esi
6682	leal	(%edx,%ecx,1),%edx
6683	rorxl	$22,%ebx,%ecx
6684	xorl	%edi,%esi
6685	movl	16(%esp),%edi
6686	xorl	%esi,%ecx
6687	xorl	%edi,%ebx
6688	addl	8(%esp),%edx
6689	andl	%ebx,%eax
6690	addl	84(%esp),%edx
6691	xorl	%edi,%eax
6692	addl	%edx,%ecx
6693	addl	24(%esp),%edx
6694	leal	(%eax,%ecx,1),%eax
6695	rorxl	$6,%edx,%ecx
6696	rorxl	$11,%edx,%esi
6697	movl	%edx,24(%esp)
6698	rorxl	$25,%edx,%edi
6699	xorl	%esi,%ecx
6700	andnl	(%esp),%edx,%esi
6701	xorl	%edi,%ecx
6702	andl	28(%esp),%edx
6703	movl	%eax,8(%esp)
6704	orl	%esi,%edx
6705	rorxl	$2,%eax,%edi
6706	rorxl	$13,%eax,%esi
6707	leal	(%edx,%ecx,1),%edx
6708	rorxl	$22,%eax,%ecx
6709	xorl	%edi,%esi
6710	movl	12(%esp),%edi
6711	xorl	%esi,%ecx
6712	xorl	%edi,%eax
6713	addl	4(%esp),%edx
6714	andl	%eax,%ebx
6715	addl	88(%esp),%edx
6716	xorl	%edi,%ebx
6717	addl	%edx,%ecx
6718	addl	20(%esp),%edx
6719	leal	(%ebx,%ecx,1),%ebx
6720	rorxl	$6,%edx,%ecx
6721	rorxl	$11,%edx,%esi
6722	movl	%edx,20(%esp)
6723	rorxl	$25,%edx,%edi
6724	xorl	%esi,%ecx
6725	andnl	28(%esp),%edx,%esi
6726	xorl	%edi,%ecx
6727	andl	24(%esp),%edx
6728	movl	%ebx,4(%esp)
6729	orl	%esi,%edx
6730	rorxl	$2,%ebx,%edi
6731	rorxl	$13,%ebx,%esi
6732	leal	(%edx,%ecx,1),%edx
6733	rorxl	$22,%ebx,%ecx
6734	xorl	%edi,%esi
6735	movl	8(%esp),%edi
6736	xorl	%esi,%ecx
6737	xorl	%edi,%ebx
6738	addl	(%esp),%edx
6739	andl	%ebx,%eax
6740	addl	92(%esp),%edx
6741	xorl	%edi,%eax
6742	addl	%edx,%ecx
6743	addl	16(%esp),%edx
6744	leal	(%eax,%ecx,1),%eax
6745	movl	96(%esp),%esi
6746	xorl	%edi,%ebx
6747	movl	12(%esp),%ecx
6748	addl	(%esi),%eax
6749	addl	4(%esi),%ebx
6750	addl	8(%esi),%edi
6751	addl	12(%esi),%ecx
6752	movl	%eax,(%esi)
6753	movl	%ebx,4(%esi)
6754	movl	%edi,8(%esi)
6755	movl	%ecx,12(%esi)
6756	movl	%ebx,4(%esp)
6757	xorl	%edi,%ebx
6758	movl	%edi,8(%esp)
6759	movl	%ecx,12(%esp)
6760	movl	20(%esp),%edi
6761	movl	24(%esp),%ecx
6762	addl	16(%esi),%edx
6763	addl	20(%esi),%edi
6764	addl	24(%esi),%ecx
6765	movl	%edx,16(%esi)
6766	movl	%edi,20(%esi)
6767	movl	%edi,20(%esp)
6768	movl	28(%esp),%edi
6769	movl	%ecx,24(%esi)
6770	addl	28(%esi),%edi
6771	movl	%ecx,24(%esp)
6772	movl	%edi,28(%esi)
6773	movl	%edi,28(%esp)
6774	movl	100(%esp),%edi
6775	vmovdqa	64(%ebp),%xmm7
6776	subl	$192,%ebp
6777	cmpl	104(%esp),%edi
6778	jb	.L017grand_avx_bmi
6779	movl	108(%esp),%esp
6780	vzeroall
6781	popl	%edi
6782	popl	%esi
6783	popl	%ebx
6784	popl	%ebp
6785	ret
6786.size	sha256_block_data_order,.-.L_sha256_block_data_order_begin
6787.comm	OPENSSL_ia32cap_P,16,4
6788
6789	.section ".note.gnu.property", "a"
6790	.p2align 2
6791	.long 1f - 0f
6792	.long 4f - 1f
6793	.long 5
67940:
6795	.asciz "GNU"
67961:
6797	.p2align 2
6798	.long 0xc0000002
6799	.long 3f - 2f
68002:
6801	.long 3
68023:
6803	.p2align 2
68044:
6805