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