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