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