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