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