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