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