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