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