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