xref: /netbsd-src/crypto/external/bsd/openssl/lib/libcrypto/arch/i386/sha1-586.S (revision 1b3d6f93806f8821fe459e13ad13e605b37c6d43)
1#include <machine/asm.h>
2.text
3.globl	sha1_block_data_order
4.type	sha1_block_data_order,@function
5.align	16
6sha1_block_data_order:
7.L_sha1_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	call	.L000pic_point
18.L000pic_point:
19	popl	%ebp
20	leal	OPENSSL_ia32cap_P-.L000pic_point(%ebp),%esi
21	leal	.LK_XX_XX-.L000pic_point(%ebp),%ebp
22	movl	(%esi),%eax
23	movl	4(%esi),%edx
24	testl	$512,%edx
25	jz	.L001x86
26	movl	8(%esi),%ecx
27	testl	$16777216,%eax
28	jz	.L001x86
29	testl	$536870912,%ecx
30	jnz	.Lshaext_shortcut
31	jmp	.Lssse3_shortcut
32.align	16
33.L001x86:
34	movl	20(%esp),%ebp
35	movl	24(%esp),%esi
36	movl	28(%esp),%eax
37	subl	$76,%esp
38	shll	$6,%eax
39	addl	%esi,%eax
40	movl	%eax,104(%esp)
41	movl	16(%ebp),%edi
42	jmp	.L002loop
43.align	16
44.L002loop:
45	movl	(%esi),%eax
46	movl	4(%esi),%ebx
47	movl	8(%esi),%ecx
48	movl	12(%esi),%edx
49	bswap	%eax
50	bswap	%ebx
51	bswap	%ecx
52	bswap	%edx
53	movl	%eax,(%esp)
54	movl	%ebx,4(%esp)
55	movl	%ecx,8(%esp)
56	movl	%edx,12(%esp)
57	movl	16(%esi),%eax
58	movl	20(%esi),%ebx
59	movl	24(%esi),%ecx
60	movl	28(%esi),%edx
61	bswap	%eax
62	bswap	%ebx
63	bswap	%ecx
64	bswap	%edx
65	movl	%eax,16(%esp)
66	movl	%ebx,20(%esp)
67	movl	%ecx,24(%esp)
68	movl	%edx,28(%esp)
69	movl	32(%esi),%eax
70	movl	36(%esi),%ebx
71	movl	40(%esi),%ecx
72	movl	44(%esi),%edx
73	bswap	%eax
74	bswap	%ebx
75	bswap	%ecx
76	bswap	%edx
77	movl	%eax,32(%esp)
78	movl	%ebx,36(%esp)
79	movl	%ecx,40(%esp)
80	movl	%edx,44(%esp)
81	movl	48(%esi),%eax
82	movl	52(%esi),%ebx
83	movl	56(%esi),%ecx
84	movl	60(%esi),%edx
85	bswap	%eax
86	bswap	%ebx
87	bswap	%ecx
88	bswap	%edx
89	movl	%eax,48(%esp)
90	movl	%ebx,52(%esp)
91	movl	%ecx,56(%esp)
92	movl	%edx,60(%esp)
93	movl	%esi,100(%esp)
94	movl	(%ebp),%eax
95	movl	4(%ebp),%ebx
96	movl	8(%ebp),%ecx
97	movl	12(%ebp),%edx
98
99	movl	%ecx,%esi
100	movl	%eax,%ebp
101	roll	$5,%ebp
102	xorl	%edx,%esi
103	addl	%edi,%ebp
104	movl	(%esp),%edi
105	andl	%ebx,%esi
106	rorl	$2,%ebx
107	xorl	%edx,%esi
108	leal	1518500249(%ebp,%edi,1),%ebp
109	addl	%esi,%ebp
110
111	movl	%ebx,%edi
112	movl	%ebp,%esi
113	roll	$5,%ebp
114	xorl	%ecx,%edi
115	addl	%edx,%ebp
116	movl	4(%esp),%edx
117	andl	%eax,%edi
118	rorl	$2,%eax
119	xorl	%ecx,%edi
120	leal	1518500249(%ebp,%edx,1),%ebp
121	addl	%edi,%ebp
122
123	movl	%eax,%edx
124	movl	%ebp,%edi
125	roll	$5,%ebp
126	xorl	%ebx,%edx
127	addl	%ecx,%ebp
128	movl	8(%esp),%ecx
129	andl	%esi,%edx
130	rorl	$2,%esi
131	xorl	%ebx,%edx
132	leal	1518500249(%ebp,%ecx,1),%ebp
133	addl	%edx,%ebp
134
135	movl	%esi,%ecx
136	movl	%ebp,%edx
137	roll	$5,%ebp
138	xorl	%eax,%ecx
139	addl	%ebx,%ebp
140	movl	12(%esp),%ebx
141	andl	%edi,%ecx
142	rorl	$2,%edi
143	xorl	%eax,%ecx
144	leal	1518500249(%ebp,%ebx,1),%ebp
145	addl	%ecx,%ebp
146
147	movl	%edi,%ebx
148	movl	%ebp,%ecx
149	roll	$5,%ebp
150	xorl	%esi,%ebx
151	addl	%eax,%ebp
152	movl	16(%esp),%eax
153	andl	%edx,%ebx
154	rorl	$2,%edx
155	xorl	%esi,%ebx
156	leal	1518500249(%ebp,%eax,1),%ebp
157	addl	%ebx,%ebp
158
159	movl	%edx,%eax
160	movl	%ebp,%ebx
161	roll	$5,%ebp
162	xorl	%edi,%eax
163	addl	%esi,%ebp
164	movl	20(%esp),%esi
165	andl	%ecx,%eax
166	rorl	$2,%ecx
167	xorl	%edi,%eax
168	leal	1518500249(%ebp,%esi,1),%ebp
169	addl	%eax,%ebp
170
171	movl	%ecx,%esi
172	movl	%ebp,%eax
173	roll	$5,%ebp
174	xorl	%edx,%esi
175	addl	%edi,%ebp
176	movl	24(%esp),%edi
177	andl	%ebx,%esi
178	rorl	$2,%ebx
179	xorl	%edx,%esi
180	leal	1518500249(%ebp,%edi,1),%ebp
181	addl	%esi,%ebp
182
183	movl	%ebx,%edi
184	movl	%ebp,%esi
185	roll	$5,%ebp
186	xorl	%ecx,%edi
187	addl	%edx,%ebp
188	movl	28(%esp),%edx
189	andl	%eax,%edi
190	rorl	$2,%eax
191	xorl	%ecx,%edi
192	leal	1518500249(%ebp,%edx,1),%ebp
193	addl	%edi,%ebp
194
195	movl	%eax,%edx
196	movl	%ebp,%edi
197	roll	$5,%ebp
198	xorl	%ebx,%edx
199	addl	%ecx,%ebp
200	movl	32(%esp),%ecx
201	andl	%esi,%edx
202	rorl	$2,%esi
203	xorl	%ebx,%edx
204	leal	1518500249(%ebp,%ecx,1),%ebp
205	addl	%edx,%ebp
206
207	movl	%esi,%ecx
208	movl	%ebp,%edx
209	roll	$5,%ebp
210	xorl	%eax,%ecx
211	addl	%ebx,%ebp
212	movl	36(%esp),%ebx
213	andl	%edi,%ecx
214	rorl	$2,%edi
215	xorl	%eax,%ecx
216	leal	1518500249(%ebp,%ebx,1),%ebp
217	addl	%ecx,%ebp
218
219	movl	%edi,%ebx
220	movl	%ebp,%ecx
221	roll	$5,%ebp
222	xorl	%esi,%ebx
223	addl	%eax,%ebp
224	movl	40(%esp),%eax
225	andl	%edx,%ebx
226	rorl	$2,%edx
227	xorl	%esi,%ebx
228	leal	1518500249(%ebp,%eax,1),%ebp
229	addl	%ebx,%ebp
230
231	movl	%edx,%eax
232	movl	%ebp,%ebx
233	roll	$5,%ebp
234	xorl	%edi,%eax
235	addl	%esi,%ebp
236	movl	44(%esp),%esi
237	andl	%ecx,%eax
238	rorl	$2,%ecx
239	xorl	%edi,%eax
240	leal	1518500249(%ebp,%esi,1),%ebp
241	addl	%eax,%ebp
242
243	movl	%ecx,%esi
244	movl	%ebp,%eax
245	roll	$5,%ebp
246	xorl	%edx,%esi
247	addl	%edi,%ebp
248	movl	48(%esp),%edi
249	andl	%ebx,%esi
250	rorl	$2,%ebx
251	xorl	%edx,%esi
252	leal	1518500249(%ebp,%edi,1),%ebp
253	addl	%esi,%ebp
254
255	movl	%ebx,%edi
256	movl	%ebp,%esi
257	roll	$5,%ebp
258	xorl	%ecx,%edi
259	addl	%edx,%ebp
260	movl	52(%esp),%edx
261	andl	%eax,%edi
262	rorl	$2,%eax
263	xorl	%ecx,%edi
264	leal	1518500249(%ebp,%edx,1),%ebp
265	addl	%edi,%ebp
266
267	movl	%eax,%edx
268	movl	%ebp,%edi
269	roll	$5,%ebp
270	xorl	%ebx,%edx
271	addl	%ecx,%ebp
272	movl	56(%esp),%ecx
273	andl	%esi,%edx
274	rorl	$2,%esi
275	xorl	%ebx,%edx
276	leal	1518500249(%ebp,%ecx,1),%ebp
277	addl	%edx,%ebp
278
279	movl	%esi,%ecx
280	movl	%ebp,%edx
281	roll	$5,%ebp
282	xorl	%eax,%ecx
283	addl	%ebx,%ebp
284	movl	60(%esp),%ebx
285	andl	%edi,%ecx
286	rorl	$2,%edi
287	xorl	%eax,%ecx
288	leal	1518500249(%ebp,%ebx,1),%ebp
289	movl	(%esp),%ebx
290	addl	%ebp,%ecx
291
292	movl	%edi,%ebp
293	xorl	8(%esp),%ebx
294	xorl	%esi,%ebp
295	xorl	32(%esp),%ebx
296	andl	%edx,%ebp
297	xorl	52(%esp),%ebx
298	roll	$1,%ebx
299	xorl	%esi,%ebp
300	addl	%ebp,%eax
301	movl	%ecx,%ebp
302	rorl	$2,%edx
303	movl	%ebx,(%esp)
304	roll	$5,%ebp
305	leal	1518500249(%ebx,%eax,1),%ebx
306	movl	4(%esp),%eax
307	addl	%ebp,%ebx
308
309	movl	%edx,%ebp
310	xorl	12(%esp),%eax
311	xorl	%edi,%ebp
312	xorl	36(%esp),%eax
313	andl	%ecx,%ebp
314	xorl	56(%esp),%eax
315	roll	$1,%eax
316	xorl	%edi,%ebp
317	addl	%ebp,%esi
318	movl	%ebx,%ebp
319	rorl	$2,%ecx
320	movl	%eax,4(%esp)
321	roll	$5,%ebp
322	leal	1518500249(%eax,%esi,1),%eax
323	movl	8(%esp),%esi
324	addl	%ebp,%eax
325
326	movl	%ecx,%ebp
327	xorl	16(%esp),%esi
328	xorl	%edx,%ebp
329	xorl	40(%esp),%esi
330	andl	%ebx,%ebp
331	xorl	60(%esp),%esi
332	roll	$1,%esi
333	xorl	%edx,%ebp
334	addl	%ebp,%edi
335	movl	%eax,%ebp
336	rorl	$2,%ebx
337	movl	%esi,8(%esp)
338	roll	$5,%ebp
339	leal	1518500249(%esi,%edi,1),%esi
340	movl	12(%esp),%edi
341	addl	%ebp,%esi
342
343	movl	%ebx,%ebp
344	xorl	20(%esp),%edi
345	xorl	%ecx,%ebp
346	xorl	44(%esp),%edi
347	andl	%eax,%ebp
348	xorl	(%esp),%edi
349	roll	$1,%edi
350	xorl	%ecx,%ebp
351	addl	%ebp,%edx
352	movl	%esi,%ebp
353	rorl	$2,%eax
354	movl	%edi,12(%esp)
355	roll	$5,%ebp
356	leal	1518500249(%edi,%edx,1),%edi
357	movl	16(%esp),%edx
358	addl	%ebp,%edi
359
360	movl	%esi,%ebp
361	xorl	24(%esp),%edx
362	xorl	%eax,%ebp
363	xorl	48(%esp),%edx
364	xorl	%ebx,%ebp
365	xorl	4(%esp),%edx
366	roll	$1,%edx
367	addl	%ebp,%ecx
368	rorl	$2,%esi
369	movl	%edi,%ebp
370	roll	$5,%ebp
371	movl	%edx,16(%esp)
372	leal	1859775393(%edx,%ecx,1),%edx
373	movl	20(%esp),%ecx
374	addl	%ebp,%edx
375
376	movl	%edi,%ebp
377	xorl	28(%esp),%ecx
378	xorl	%esi,%ebp
379	xorl	52(%esp),%ecx
380	xorl	%eax,%ebp
381	xorl	8(%esp),%ecx
382	roll	$1,%ecx
383	addl	%ebp,%ebx
384	rorl	$2,%edi
385	movl	%edx,%ebp
386	roll	$5,%ebp
387	movl	%ecx,20(%esp)
388	leal	1859775393(%ecx,%ebx,1),%ecx
389	movl	24(%esp),%ebx
390	addl	%ebp,%ecx
391
392	movl	%edx,%ebp
393	xorl	32(%esp),%ebx
394	xorl	%edi,%ebp
395	xorl	56(%esp),%ebx
396	xorl	%esi,%ebp
397	xorl	12(%esp),%ebx
398	roll	$1,%ebx
399	addl	%ebp,%eax
400	rorl	$2,%edx
401	movl	%ecx,%ebp
402	roll	$5,%ebp
403	movl	%ebx,24(%esp)
404	leal	1859775393(%ebx,%eax,1),%ebx
405	movl	28(%esp),%eax
406	addl	%ebp,%ebx
407
408	movl	%ecx,%ebp
409	xorl	36(%esp),%eax
410	xorl	%edx,%ebp
411	xorl	60(%esp),%eax
412	xorl	%edi,%ebp
413	xorl	16(%esp),%eax
414	roll	$1,%eax
415	addl	%ebp,%esi
416	rorl	$2,%ecx
417	movl	%ebx,%ebp
418	roll	$5,%ebp
419	movl	%eax,28(%esp)
420	leal	1859775393(%eax,%esi,1),%eax
421	movl	32(%esp),%esi
422	addl	%ebp,%eax
423
424	movl	%ebx,%ebp
425	xorl	40(%esp),%esi
426	xorl	%ecx,%ebp
427	xorl	(%esp),%esi
428	xorl	%edx,%ebp
429	xorl	20(%esp),%esi
430	roll	$1,%esi
431	addl	%ebp,%edi
432	rorl	$2,%ebx
433	movl	%eax,%ebp
434	roll	$5,%ebp
435	movl	%esi,32(%esp)
436	leal	1859775393(%esi,%edi,1),%esi
437	movl	36(%esp),%edi
438	addl	%ebp,%esi
439
440	movl	%eax,%ebp
441	xorl	44(%esp),%edi
442	xorl	%ebx,%ebp
443	xorl	4(%esp),%edi
444	xorl	%ecx,%ebp
445	xorl	24(%esp),%edi
446	roll	$1,%edi
447	addl	%ebp,%edx
448	rorl	$2,%eax
449	movl	%esi,%ebp
450	roll	$5,%ebp
451	movl	%edi,36(%esp)
452	leal	1859775393(%edi,%edx,1),%edi
453	movl	40(%esp),%edx
454	addl	%ebp,%edi
455
456	movl	%esi,%ebp
457	xorl	48(%esp),%edx
458	xorl	%eax,%ebp
459	xorl	8(%esp),%edx
460	xorl	%ebx,%ebp
461	xorl	28(%esp),%edx
462	roll	$1,%edx
463	addl	%ebp,%ecx
464	rorl	$2,%esi
465	movl	%edi,%ebp
466	roll	$5,%ebp
467	movl	%edx,40(%esp)
468	leal	1859775393(%edx,%ecx,1),%edx
469	movl	44(%esp),%ecx
470	addl	%ebp,%edx
471
472	movl	%edi,%ebp
473	xorl	52(%esp),%ecx
474	xorl	%esi,%ebp
475	xorl	12(%esp),%ecx
476	xorl	%eax,%ebp
477	xorl	32(%esp),%ecx
478	roll	$1,%ecx
479	addl	%ebp,%ebx
480	rorl	$2,%edi
481	movl	%edx,%ebp
482	roll	$5,%ebp
483	movl	%ecx,44(%esp)
484	leal	1859775393(%ecx,%ebx,1),%ecx
485	movl	48(%esp),%ebx
486	addl	%ebp,%ecx
487
488	movl	%edx,%ebp
489	xorl	56(%esp),%ebx
490	xorl	%edi,%ebp
491	xorl	16(%esp),%ebx
492	xorl	%esi,%ebp
493	xorl	36(%esp),%ebx
494	roll	$1,%ebx
495	addl	%ebp,%eax
496	rorl	$2,%edx
497	movl	%ecx,%ebp
498	roll	$5,%ebp
499	movl	%ebx,48(%esp)
500	leal	1859775393(%ebx,%eax,1),%ebx
501	movl	52(%esp),%eax
502	addl	%ebp,%ebx
503
504	movl	%ecx,%ebp
505	xorl	60(%esp),%eax
506	xorl	%edx,%ebp
507	xorl	20(%esp),%eax
508	xorl	%edi,%ebp
509	xorl	40(%esp),%eax
510	roll	$1,%eax
511	addl	%ebp,%esi
512	rorl	$2,%ecx
513	movl	%ebx,%ebp
514	roll	$5,%ebp
515	movl	%eax,52(%esp)
516	leal	1859775393(%eax,%esi,1),%eax
517	movl	56(%esp),%esi
518	addl	%ebp,%eax
519
520	movl	%ebx,%ebp
521	xorl	(%esp),%esi
522	xorl	%ecx,%ebp
523	xorl	24(%esp),%esi
524	xorl	%edx,%ebp
525	xorl	44(%esp),%esi
526	roll	$1,%esi
527	addl	%ebp,%edi
528	rorl	$2,%ebx
529	movl	%eax,%ebp
530	roll	$5,%ebp
531	movl	%esi,56(%esp)
532	leal	1859775393(%esi,%edi,1),%esi
533	movl	60(%esp),%edi
534	addl	%ebp,%esi
535
536	movl	%eax,%ebp
537	xorl	4(%esp),%edi
538	xorl	%ebx,%ebp
539	xorl	28(%esp),%edi
540	xorl	%ecx,%ebp
541	xorl	48(%esp),%edi
542	roll	$1,%edi
543	addl	%ebp,%edx
544	rorl	$2,%eax
545	movl	%esi,%ebp
546	roll	$5,%ebp
547	movl	%edi,60(%esp)
548	leal	1859775393(%edi,%edx,1),%edi
549	movl	(%esp),%edx
550	addl	%ebp,%edi
551
552	movl	%esi,%ebp
553	xorl	8(%esp),%edx
554	xorl	%eax,%ebp
555	xorl	32(%esp),%edx
556	xorl	%ebx,%ebp
557	xorl	52(%esp),%edx
558	roll	$1,%edx
559	addl	%ebp,%ecx
560	rorl	$2,%esi
561	movl	%edi,%ebp
562	roll	$5,%ebp
563	movl	%edx,(%esp)
564	leal	1859775393(%edx,%ecx,1),%edx
565	movl	4(%esp),%ecx
566	addl	%ebp,%edx
567
568	movl	%edi,%ebp
569	xorl	12(%esp),%ecx
570	xorl	%esi,%ebp
571	xorl	36(%esp),%ecx
572	xorl	%eax,%ebp
573	xorl	56(%esp),%ecx
574	roll	$1,%ecx
575	addl	%ebp,%ebx
576	rorl	$2,%edi
577	movl	%edx,%ebp
578	roll	$5,%ebp
579	movl	%ecx,4(%esp)
580	leal	1859775393(%ecx,%ebx,1),%ecx
581	movl	8(%esp),%ebx
582	addl	%ebp,%ecx
583
584	movl	%edx,%ebp
585	xorl	16(%esp),%ebx
586	xorl	%edi,%ebp
587	xorl	40(%esp),%ebx
588	xorl	%esi,%ebp
589	xorl	60(%esp),%ebx
590	roll	$1,%ebx
591	addl	%ebp,%eax
592	rorl	$2,%edx
593	movl	%ecx,%ebp
594	roll	$5,%ebp
595	movl	%ebx,8(%esp)
596	leal	1859775393(%ebx,%eax,1),%ebx
597	movl	12(%esp),%eax
598	addl	%ebp,%ebx
599
600	movl	%ecx,%ebp
601	xorl	20(%esp),%eax
602	xorl	%edx,%ebp
603	xorl	44(%esp),%eax
604	xorl	%edi,%ebp
605	xorl	(%esp),%eax
606	roll	$1,%eax
607	addl	%ebp,%esi
608	rorl	$2,%ecx
609	movl	%ebx,%ebp
610	roll	$5,%ebp
611	movl	%eax,12(%esp)
612	leal	1859775393(%eax,%esi,1),%eax
613	movl	16(%esp),%esi
614	addl	%ebp,%eax
615
616	movl	%ebx,%ebp
617	xorl	24(%esp),%esi
618	xorl	%ecx,%ebp
619	xorl	48(%esp),%esi
620	xorl	%edx,%ebp
621	xorl	4(%esp),%esi
622	roll	$1,%esi
623	addl	%ebp,%edi
624	rorl	$2,%ebx
625	movl	%eax,%ebp
626	roll	$5,%ebp
627	movl	%esi,16(%esp)
628	leal	1859775393(%esi,%edi,1),%esi
629	movl	20(%esp),%edi
630	addl	%ebp,%esi
631
632	movl	%eax,%ebp
633	xorl	28(%esp),%edi
634	xorl	%ebx,%ebp
635	xorl	52(%esp),%edi
636	xorl	%ecx,%ebp
637	xorl	8(%esp),%edi
638	roll	$1,%edi
639	addl	%ebp,%edx
640	rorl	$2,%eax
641	movl	%esi,%ebp
642	roll	$5,%ebp
643	movl	%edi,20(%esp)
644	leal	1859775393(%edi,%edx,1),%edi
645	movl	24(%esp),%edx
646	addl	%ebp,%edi
647
648	movl	%esi,%ebp
649	xorl	32(%esp),%edx
650	xorl	%eax,%ebp
651	xorl	56(%esp),%edx
652	xorl	%ebx,%ebp
653	xorl	12(%esp),%edx
654	roll	$1,%edx
655	addl	%ebp,%ecx
656	rorl	$2,%esi
657	movl	%edi,%ebp
658	roll	$5,%ebp
659	movl	%edx,24(%esp)
660	leal	1859775393(%edx,%ecx,1),%edx
661	movl	28(%esp),%ecx
662	addl	%ebp,%edx
663
664	movl	%edi,%ebp
665	xorl	36(%esp),%ecx
666	xorl	%esi,%ebp
667	xorl	60(%esp),%ecx
668	xorl	%eax,%ebp
669	xorl	16(%esp),%ecx
670	roll	$1,%ecx
671	addl	%ebp,%ebx
672	rorl	$2,%edi
673	movl	%edx,%ebp
674	roll	$5,%ebp
675	movl	%ecx,28(%esp)
676	leal	1859775393(%ecx,%ebx,1),%ecx
677	movl	32(%esp),%ebx
678	addl	%ebp,%ecx
679
680	movl	%edi,%ebp
681	xorl	40(%esp),%ebx
682	xorl	%esi,%ebp
683	xorl	(%esp),%ebx
684	andl	%edx,%ebp
685	xorl	20(%esp),%ebx
686	roll	$1,%ebx
687	addl	%eax,%ebp
688	rorl	$2,%edx
689	movl	%ecx,%eax
690	roll	$5,%eax
691	movl	%ebx,32(%esp)
692	leal	2400959708(%ebx,%ebp,1),%ebx
693	movl	%edi,%ebp
694	addl	%eax,%ebx
695	andl	%esi,%ebp
696	movl	36(%esp),%eax
697	addl	%ebp,%ebx
698
699	movl	%edx,%ebp
700	xorl	44(%esp),%eax
701	xorl	%edi,%ebp
702	xorl	4(%esp),%eax
703	andl	%ecx,%ebp
704	xorl	24(%esp),%eax
705	roll	$1,%eax
706	addl	%esi,%ebp
707	rorl	$2,%ecx
708	movl	%ebx,%esi
709	roll	$5,%esi
710	movl	%eax,36(%esp)
711	leal	2400959708(%eax,%ebp,1),%eax
712	movl	%edx,%ebp
713	addl	%esi,%eax
714	andl	%edi,%ebp
715	movl	40(%esp),%esi
716	addl	%ebp,%eax
717
718	movl	%ecx,%ebp
719	xorl	48(%esp),%esi
720	xorl	%edx,%ebp
721	xorl	8(%esp),%esi
722	andl	%ebx,%ebp
723	xorl	28(%esp),%esi
724	roll	$1,%esi
725	addl	%edi,%ebp
726	rorl	$2,%ebx
727	movl	%eax,%edi
728	roll	$5,%edi
729	movl	%esi,40(%esp)
730	leal	2400959708(%esi,%ebp,1),%esi
731	movl	%ecx,%ebp
732	addl	%edi,%esi
733	andl	%edx,%ebp
734	movl	44(%esp),%edi
735	addl	%ebp,%esi
736
737	movl	%ebx,%ebp
738	xorl	52(%esp),%edi
739	xorl	%ecx,%ebp
740	xorl	12(%esp),%edi
741	andl	%eax,%ebp
742	xorl	32(%esp),%edi
743	roll	$1,%edi
744	addl	%edx,%ebp
745	rorl	$2,%eax
746	movl	%esi,%edx
747	roll	$5,%edx
748	movl	%edi,44(%esp)
749	leal	2400959708(%edi,%ebp,1),%edi
750	movl	%ebx,%ebp
751	addl	%edx,%edi
752	andl	%ecx,%ebp
753	movl	48(%esp),%edx
754	addl	%ebp,%edi
755
756	movl	%eax,%ebp
757	xorl	56(%esp),%edx
758	xorl	%ebx,%ebp
759	xorl	16(%esp),%edx
760	andl	%esi,%ebp
761	xorl	36(%esp),%edx
762	roll	$1,%edx
763	addl	%ecx,%ebp
764	rorl	$2,%esi
765	movl	%edi,%ecx
766	roll	$5,%ecx
767	movl	%edx,48(%esp)
768	leal	2400959708(%edx,%ebp,1),%edx
769	movl	%eax,%ebp
770	addl	%ecx,%edx
771	andl	%ebx,%ebp
772	movl	52(%esp),%ecx
773	addl	%ebp,%edx
774
775	movl	%esi,%ebp
776	xorl	60(%esp),%ecx
777	xorl	%eax,%ebp
778	xorl	20(%esp),%ecx
779	andl	%edi,%ebp
780	xorl	40(%esp),%ecx
781	roll	$1,%ecx
782	addl	%ebx,%ebp
783	rorl	$2,%edi
784	movl	%edx,%ebx
785	roll	$5,%ebx
786	movl	%ecx,52(%esp)
787	leal	2400959708(%ecx,%ebp,1),%ecx
788	movl	%esi,%ebp
789	addl	%ebx,%ecx
790	andl	%eax,%ebp
791	movl	56(%esp),%ebx
792	addl	%ebp,%ecx
793
794	movl	%edi,%ebp
795	xorl	(%esp),%ebx
796	xorl	%esi,%ebp
797	xorl	24(%esp),%ebx
798	andl	%edx,%ebp
799	xorl	44(%esp),%ebx
800	roll	$1,%ebx
801	addl	%eax,%ebp
802	rorl	$2,%edx
803	movl	%ecx,%eax
804	roll	$5,%eax
805	movl	%ebx,56(%esp)
806	leal	2400959708(%ebx,%ebp,1),%ebx
807	movl	%edi,%ebp
808	addl	%eax,%ebx
809	andl	%esi,%ebp
810	movl	60(%esp),%eax
811	addl	%ebp,%ebx
812
813	movl	%edx,%ebp
814	xorl	4(%esp),%eax
815	xorl	%edi,%ebp
816	xorl	28(%esp),%eax
817	andl	%ecx,%ebp
818	xorl	48(%esp),%eax
819	roll	$1,%eax
820	addl	%esi,%ebp
821	rorl	$2,%ecx
822	movl	%ebx,%esi
823	roll	$5,%esi
824	movl	%eax,60(%esp)
825	leal	2400959708(%eax,%ebp,1),%eax
826	movl	%edx,%ebp
827	addl	%esi,%eax
828	andl	%edi,%ebp
829	movl	(%esp),%esi
830	addl	%ebp,%eax
831
832	movl	%ecx,%ebp
833	xorl	8(%esp),%esi
834	xorl	%edx,%ebp
835	xorl	32(%esp),%esi
836	andl	%ebx,%ebp
837	xorl	52(%esp),%esi
838	roll	$1,%esi
839	addl	%edi,%ebp
840	rorl	$2,%ebx
841	movl	%eax,%edi
842	roll	$5,%edi
843	movl	%esi,(%esp)
844	leal	2400959708(%esi,%ebp,1),%esi
845	movl	%ecx,%ebp
846	addl	%edi,%esi
847	andl	%edx,%ebp
848	movl	4(%esp),%edi
849	addl	%ebp,%esi
850
851	movl	%ebx,%ebp
852	xorl	12(%esp),%edi
853	xorl	%ecx,%ebp
854	xorl	36(%esp),%edi
855	andl	%eax,%ebp
856	xorl	56(%esp),%edi
857	roll	$1,%edi
858	addl	%edx,%ebp
859	rorl	$2,%eax
860	movl	%esi,%edx
861	roll	$5,%edx
862	movl	%edi,4(%esp)
863	leal	2400959708(%edi,%ebp,1),%edi
864	movl	%ebx,%ebp
865	addl	%edx,%edi
866	andl	%ecx,%ebp
867	movl	8(%esp),%edx
868	addl	%ebp,%edi
869
870	movl	%eax,%ebp
871	xorl	16(%esp),%edx
872	xorl	%ebx,%ebp
873	xorl	40(%esp),%edx
874	andl	%esi,%ebp
875	xorl	60(%esp),%edx
876	roll	$1,%edx
877	addl	%ecx,%ebp
878	rorl	$2,%esi
879	movl	%edi,%ecx
880	roll	$5,%ecx
881	movl	%edx,8(%esp)
882	leal	2400959708(%edx,%ebp,1),%edx
883	movl	%eax,%ebp
884	addl	%ecx,%edx
885	andl	%ebx,%ebp
886	movl	12(%esp),%ecx
887	addl	%ebp,%edx
888
889	movl	%esi,%ebp
890	xorl	20(%esp),%ecx
891	xorl	%eax,%ebp
892	xorl	44(%esp),%ecx
893	andl	%edi,%ebp
894	xorl	(%esp),%ecx
895	roll	$1,%ecx
896	addl	%ebx,%ebp
897	rorl	$2,%edi
898	movl	%edx,%ebx
899	roll	$5,%ebx
900	movl	%ecx,12(%esp)
901	leal	2400959708(%ecx,%ebp,1),%ecx
902	movl	%esi,%ebp
903	addl	%ebx,%ecx
904	andl	%eax,%ebp
905	movl	16(%esp),%ebx
906	addl	%ebp,%ecx
907
908	movl	%edi,%ebp
909	xorl	24(%esp),%ebx
910	xorl	%esi,%ebp
911	xorl	48(%esp),%ebx
912	andl	%edx,%ebp
913	xorl	4(%esp),%ebx
914	roll	$1,%ebx
915	addl	%eax,%ebp
916	rorl	$2,%edx
917	movl	%ecx,%eax
918	roll	$5,%eax
919	movl	%ebx,16(%esp)
920	leal	2400959708(%ebx,%ebp,1),%ebx
921	movl	%edi,%ebp
922	addl	%eax,%ebx
923	andl	%esi,%ebp
924	movl	20(%esp),%eax
925	addl	%ebp,%ebx
926
927	movl	%edx,%ebp
928	xorl	28(%esp),%eax
929	xorl	%edi,%ebp
930	xorl	52(%esp),%eax
931	andl	%ecx,%ebp
932	xorl	8(%esp),%eax
933	roll	$1,%eax
934	addl	%esi,%ebp
935	rorl	$2,%ecx
936	movl	%ebx,%esi
937	roll	$5,%esi
938	movl	%eax,20(%esp)
939	leal	2400959708(%eax,%ebp,1),%eax
940	movl	%edx,%ebp
941	addl	%esi,%eax
942	andl	%edi,%ebp
943	movl	24(%esp),%esi
944	addl	%ebp,%eax
945
946	movl	%ecx,%ebp
947	xorl	32(%esp),%esi
948	xorl	%edx,%ebp
949	xorl	56(%esp),%esi
950	andl	%ebx,%ebp
951	xorl	12(%esp),%esi
952	roll	$1,%esi
953	addl	%edi,%ebp
954	rorl	$2,%ebx
955	movl	%eax,%edi
956	roll	$5,%edi
957	movl	%esi,24(%esp)
958	leal	2400959708(%esi,%ebp,1),%esi
959	movl	%ecx,%ebp
960	addl	%edi,%esi
961	andl	%edx,%ebp
962	movl	28(%esp),%edi
963	addl	%ebp,%esi
964
965	movl	%ebx,%ebp
966	xorl	36(%esp),%edi
967	xorl	%ecx,%ebp
968	xorl	60(%esp),%edi
969	andl	%eax,%ebp
970	xorl	16(%esp),%edi
971	roll	$1,%edi
972	addl	%edx,%ebp
973	rorl	$2,%eax
974	movl	%esi,%edx
975	roll	$5,%edx
976	movl	%edi,28(%esp)
977	leal	2400959708(%edi,%ebp,1),%edi
978	movl	%ebx,%ebp
979	addl	%edx,%edi
980	andl	%ecx,%ebp
981	movl	32(%esp),%edx
982	addl	%ebp,%edi
983
984	movl	%eax,%ebp
985	xorl	40(%esp),%edx
986	xorl	%ebx,%ebp
987	xorl	(%esp),%edx
988	andl	%esi,%ebp
989	xorl	20(%esp),%edx
990	roll	$1,%edx
991	addl	%ecx,%ebp
992	rorl	$2,%esi
993	movl	%edi,%ecx
994	roll	$5,%ecx
995	movl	%edx,32(%esp)
996	leal	2400959708(%edx,%ebp,1),%edx
997	movl	%eax,%ebp
998	addl	%ecx,%edx
999	andl	%ebx,%ebp
1000	movl	36(%esp),%ecx
1001	addl	%ebp,%edx
1002
1003	movl	%esi,%ebp
1004	xorl	44(%esp),%ecx
1005	xorl	%eax,%ebp
1006	xorl	4(%esp),%ecx
1007	andl	%edi,%ebp
1008	xorl	24(%esp),%ecx
1009	roll	$1,%ecx
1010	addl	%ebx,%ebp
1011	rorl	$2,%edi
1012	movl	%edx,%ebx
1013	roll	$5,%ebx
1014	movl	%ecx,36(%esp)
1015	leal	2400959708(%ecx,%ebp,1),%ecx
1016	movl	%esi,%ebp
1017	addl	%ebx,%ecx
1018	andl	%eax,%ebp
1019	movl	40(%esp),%ebx
1020	addl	%ebp,%ecx
1021
1022	movl	%edi,%ebp
1023	xorl	48(%esp),%ebx
1024	xorl	%esi,%ebp
1025	xorl	8(%esp),%ebx
1026	andl	%edx,%ebp
1027	xorl	28(%esp),%ebx
1028	roll	$1,%ebx
1029	addl	%eax,%ebp
1030	rorl	$2,%edx
1031	movl	%ecx,%eax
1032	roll	$5,%eax
1033	movl	%ebx,40(%esp)
1034	leal	2400959708(%ebx,%ebp,1),%ebx
1035	movl	%edi,%ebp
1036	addl	%eax,%ebx
1037	andl	%esi,%ebp
1038	movl	44(%esp),%eax
1039	addl	%ebp,%ebx
1040
1041	movl	%edx,%ebp
1042	xorl	52(%esp),%eax
1043	xorl	%edi,%ebp
1044	xorl	12(%esp),%eax
1045	andl	%ecx,%ebp
1046	xorl	32(%esp),%eax
1047	roll	$1,%eax
1048	addl	%esi,%ebp
1049	rorl	$2,%ecx
1050	movl	%ebx,%esi
1051	roll	$5,%esi
1052	movl	%eax,44(%esp)
1053	leal	2400959708(%eax,%ebp,1),%eax
1054	movl	%edx,%ebp
1055	addl	%esi,%eax
1056	andl	%edi,%ebp
1057	movl	48(%esp),%esi
1058	addl	%ebp,%eax
1059
1060	movl	%ebx,%ebp
1061	xorl	56(%esp),%esi
1062	xorl	%ecx,%ebp
1063	xorl	16(%esp),%esi
1064	xorl	%edx,%ebp
1065	xorl	36(%esp),%esi
1066	roll	$1,%esi
1067	addl	%ebp,%edi
1068	rorl	$2,%ebx
1069	movl	%eax,%ebp
1070	roll	$5,%ebp
1071	movl	%esi,48(%esp)
1072	leal	3395469782(%esi,%edi,1),%esi
1073	movl	52(%esp),%edi
1074	addl	%ebp,%esi
1075
1076	movl	%eax,%ebp
1077	xorl	60(%esp),%edi
1078	xorl	%ebx,%ebp
1079	xorl	20(%esp),%edi
1080	xorl	%ecx,%ebp
1081	xorl	40(%esp),%edi
1082	roll	$1,%edi
1083	addl	%ebp,%edx
1084	rorl	$2,%eax
1085	movl	%esi,%ebp
1086	roll	$5,%ebp
1087	movl	%edi,52(%esp)
1088	leal	3395469782(%edi,%edx,1),%edi
1089	movl	56(%esp),%edx
1090	addl	%ebp,%edi
1091
1092	movl	%esi,%ebp
1093	xorl	(%esp),%edx
1094	xorl	%eax,%ebp
1095	xorl	24(%esp),%edx
1096	xorl	%ebx,%ebp
1097	xorl	44(%esp),%edx
1098	roll	$1,%edx
1099	addl	%ebp,%ecx
1100	rorl	$2,%esi
1101	movl	%edi,%ebp
1102	roll	$5,%ebp
1103	movl	%edx,56(%esp)
1104	leal	3395469782(%edx,%ecx,1),%edx
1105	movl	60(%esp),%ecx
1106	addl	%ebp,%edx
1107
1108	movl	%edi,%ebp
1109	xorl	4(%esp),%ecx
1110	xorl	%esi,%ebp
1111	xorl	28(%esp),%ecx
1112	xorl	%eax,%ebp
1113	xorl	48(%esp),%ecx
1114	roll	$1,%ecx
1115	addl	%ebp,%ebx
1116	rorl	$2,%edi
1117	movl	%edx,%ebp
1118	roll	$5,%ebp
1119	movl	%ecx,60(%esp)
1120	leal	3395469782(%ecx,%ebx,1),%ecx
1121	movl	(%esp),%ebx
1122	addl	%ebp,%ecx
1123
1124	movl	%edx,%ebp
1125	xorl	8(%esp),%ebx
1126	xorl	%edi,%ebp
1127	xorl	32(%esp),%ebx
1128	xorl	%esi,%ebp
1129	xorl	52(%esp),%ebx
1130	roll	$1,%ebx
1131	addl	%ebp,%eax
1132	rorl	$2,%edx
1133	movl	%ecx,%ebp
1134	roll	$5,%ebp
1135	movl	%ebx,(%esp)
1136	leal	3395469782(%ebx,%eax,1),%ebx
1137	movl	4(%esp),%eax
1138	addl	%ebp,%ebx
1139
1140	movl	%ecx,%ebp
1141	xorl	12(%esp),%eax
1142	xorl	%edx,%ebp
1143	xorl	36(%esp),%eax
1144	xorl	%edi,%ebp
1145	xorl	56(%esp),%eax
1146	roll	$1,%eax
1147	addl	%ebp,%esi
1148	rorl	$2,%ecx
1149	movl	%ebx,%ebp
1150	roll	$5,%ebp
1151	movl	%eax,4(%esp)
1152	leal	3395469782(%eax,%esi,1),%eax
1153	movl	8(%esp),%esi
1154	addl	%ebp,%eax
1155
1156	movl	%ebx,%ebp
1157	xorl	16(%esp),%esi
1158	xorl	%ecx,%ebp
1159	xorl	40(%esp),%esi
1160	xorl	%edx,%ebp
1161	xorl	60(%esp),%esi
1162	roll	$1,%esi
1163	addl	%ebp,%edi
1164	rorl	$2,%ebx
1165	movl	%eax,%ebp
1166	roll	$5,%ebp
1167	movl	%esi,8(%esp)
1168	leal	3395469782(%esi,%edi,1),%esi
1169	movl	12(%esp),%edi
1170	addl	%ebp,%esi
1171
1172	movl	%eax,%ebp
1173	xorl	20(%esp),%edi
1174	xorl	%ebx,%ebp
1175	xorl	44(%esp),%edi
1176	xorl	%ecx,%ebp
1177	xorl	(%esp),%edi
1178	roll	$1,%edi
1179	addl	%ebp,%edx
1180	rorl	$2,%eax
1181	movl	%esi,%ebp
1182	roll	$5,%ebp
1183	movl	%edi,12(%esp)
1184	leal	3395469782(%edi,%edx,1),%edi
1185	movl	16(%esp),%edx
1186	addl	%ebp,%edi
1187
1188	movl	%esi,%ebp
1189	xorl	24(%esp),%edx
1190	xorl	%eax,%ebp
1191	xorl	48(%esp),%edx
1192	xorl	%ebx,%ebp
1193	xorl	4(%esp),%edx
1194	roll	$1,%edx
1195	addl	%ebp,%ecx
1196	rorl	$2,%esi
1197	movl	%edi,%ebp
1198	roll	$5,%ebp
1199	movl	%edx,16(%esp)
1200	leal	3395469782(%edx,%ecx,1),%edx
1201	movl	20(%esp),%ecx
1202	addl	%ebp,%edx
1203
1204	movl	%edi,%ebp
1205	xorl	28(%esp),%ecx
1206	xorl	%esi,%ebp
1207	xorl	52(%esp),%ecx
1208	xorl	%eax,%ebp
1209	xorl	8(%esp),%ecx
1210	roll	$1,%ecx
1211	addl	%ebp,%ebx
1212	rorl	$2,%edi
1213	movl	%edx,%ebp
1214	roll	$5,%ebp
1215	movl	%ecx,20(%esp)
1216	leal	3395469782(%ecx,%ebx,1),%ecx
1217	movl	24(%esp),%ebx
1218	addl	%ebp,%ecx
1219
1220	movl	%edx,%ebp
1221	xorl	32(%esp),%ebx
1222	xorl	%edi,%ebp
1223	xorl	56(%esp),%ebx
1224	xorl	%esi,%ebp
1225	xorl	12(%esp),%ebx
1226	roll	$1,%ebx
1227	addl	%ebp,%eax
1228	rorl	$2,%edx
1229	movl	%ecx,%ebp
1230	roll	$5,%ebp
1231	movl	%ebx,24(%esp)
1232	leal	3395469782(%ebx,%eax,1),%ebx
1233	movl	28(%esp),%eax
1234	addl	%ebp,%ebx
1235
1236	movl	%ecx,%ebp
1237	xorl	36(%esp),%eax
1238	xorl	%edx,%ebp
1239	xorl	60(%esp),%eax
1240	xorl	%edi,%ebp
1241	xorl	16(%esp),%eax
1242	roll	$1,%eax
1243	addl	%ebp,%esi
1244	rorl	$2,%ecx
1245	movl	%ebx,%ebp
1246	roll	$5,%ebp
1247	movl	%eax,28(%esp)
1248	leal	3395469782(%eax,%esi,1),%eax
1249	movl	32(%esp),%esi
1250	addl	%ebp,%eax
1251
1252	movl	%ebx,%ebp
1253	xorl	40(%esp),%esi
1254	xorl	%ecx,%ebp
1255	xorl	(%esp),%esi
1256	xorl	%edx,%ebp
1257	xorl	20(%esp),%esi
1258	roll	$1,%esi
1259	addl	%ebp,%edi
1260	rorl	$2,%ebx
1261	movl	%eax,%ebp
1262	roll	$5,%ebp
1263	movl	%esi,32(%esp)
1264	leal	3395469782(%esi,%edi,1),%esi
1265	movl	36(%esp),%edi
1266	addl	%ebp,%esi
1267
1268	movl	%eax,%ebp
1269	xorl	44(%esp),%edi
1270	xorl	%ebx,%ebp
1271	xorl	4(%esp),%edi
1272	xorl	%ecx,%ebp
1273	xorl	24(%esp),%edi
1274	roll	$1,%edi
1275	addl	%ebp,%edx
1276	rorl	$2,%eax
1277	movl	%esi,%ebp
1278	roll	$5,%ebp
1279	movl	%edi,36(%esp)
1280	leal	3395469782(%edi,%edx,1),%edi
1281	movl	40(%esp),%edx
1282	addl	%ebp,%edi
1283
1284	movl	%esi,%ebp
1285	xorl	48(%esp),%edx
1286	xorl	%eax,%ebp
1287	xorl	8(%esp),%edx
1288	xorl	%ebx,%ebp
1289	xorl	28(%esp),%edx
1290	roll	$1,%edx
1291	addl	%ebp,%ecx
1292	rorl	$2,%esi
1293	movl	%edi,%ebp
1294	roll	$5,%ebp
1295	movl	%edx,40(%esp)
1296	leal	3395469782(%edx,%ecx,1),%edx
1297	movl	44(%esp),%ecx
1298	addl	%ebp,%edx
1299
1300	movl	%edi,%ebp
1301	xorl	52(%esp),%ecx
1302	xorl	%esi,%ebp
1303	xorl	12(%esp),%ecx
1304	xorl	%eax,%ebp
1305	xorl	32(%esp),%ecx
1306	roll	$1,%ecx
1307	addl	%ebp,%ebx
1308	rorl	$2,%edi
1309	movl	%edx,%ebp
1310	roll	$5,%ebp
1311	movl	%ecx,44(%esp)
1312	leal	3395469782(%ecx,%ebx,1),%ecx
1313	movl	48(%esp),%ebx
1314	addl	%ebp,%ecx
1315
1316	movl	%edx,%ebp
1317	xorl	56(%esp),%ebx
1318	xorl	%edi,%ebp
1319	xorl	16(%esp),%ebx
1320	xorl	%esi,%ebp
1321	xorl	36(%esp),%ebx
1322	roll	$1,%ebx
1323	addl	%ebp,%eax
1324	rorl	$2,%edx
1325	movl	%ecx,%ebp
1326	roll	$5,%ebp
1327	movl	%ebx,48(%esp)
1328	leal	3395469782(%ebx,%eax,1),%ebx
1329	movl	52(%esp),%eax
1330	addl	%ebp,%ebx
1331
1332	movl	%ecx,%ebp
1333	xorl	60(%esp),%eax
1334	xorl	%edx,%ebp
1335	xorl	20(%esp),%eax
1336	xorl	%edi,%ebp
1337	xorl	40(%esp),%eax
1338	roll	$1,%eax
1339	addl	%ebp,%esi
1340	rorl	$2,%ecx
1341	movl	%ebx,%ebp
1342	roll	$5,%ebp
1343	leal	3395469782(%eax,%esi,1),%eax
1344	movl	56(%esp),%esi
1345	addl	%ebp,%eax
1346
1347	movl	%ebx,%ebp
1348	xorl	(%esp),%esi
1349	xorl	%ecx,%ebp
1350	xorl	24(%esp),%esi
1351	xorl	%edx,%ebp
1352	xorl	44(%esp),%esi
1353	roll	$1,%esi
1354	addl	%ebp,%edi
1355	rorl	$2,%ebx
1356	movl	%eax,%ebp
1357	roll	$5,%ebp
1358	leal	3395469782(%esi,%edi,1),%esi
1359	movl	60(%esp),%edi
1360	addl	%ebp,%esi
1361
1362	movl	%eax,%ebp
1363	xorl	4(%esp),%edi
1364	xorl	%ebx,%ebp
1365	xorl	28(%esp),%edi
1366	xorl	%ecx,%ebp
1367	xorl	48(%esp),%edi
1368	roll	$1,%edi
1369	addl	%ebp,%edx
1370	rorl	$2,%eax
1371	movl	%esi,%ebp
1372	roll	$5,%ebp
1373	leal	3395469782(%edi,%edx,1),%edi
1374	addl	%ebp,%edi
1375	movl	96(%esp),%ebp
1376	movl	100(%esp),%edx
1377	addl	(%ebp),%edi
1378	addl	4(%ebp),%esi
1379	addl	8(%ebp),%eax
1380	addl	12(%ebp),%ebx
1381	addl	16(%ebp),%ecx
1382	movl	%edi,(%ebp)
1383	addl	$64,%edx
1384	movl	%esi,4(%ebp)
1385	cmpl	104(%esp),%edx
1386	movl	%eax,8(%ebp)
1387	movl	%ecx,%edi
1388	movl	%ebx,12(%ebp)
1389	movl	%edx,%esi
1390	movl	%ecx,16(%ebp)
1391	jb	.L002loop
1392	addl	$76,%esp
1393	popl	%edi
1394	popl	%esi
1395	popl	%ebx
1396	popl	%ebp
1397	ret
1398.size	sha1_block_data_order,.-.L_sha1_block_data_order_begin
1399.type	_sha1_block_data_order_shaext,@function
1400.align	16
1401_sha1_block_data_order_shaext:
1402	#ifdef __CET__
1403
1404.byte	243,15,30,251
1405	#endif
1406
1407	pushl	%ebp
1408	pushl	%ebx
1409	pushl	%esi
1410	pushl	%edi
1411	call	.L003pic_point
1412.L003pic_point:
1413	popl	%ebp
1414	leal	.LK_XX_XX-.L003pic_point(%ebp),%ebp
1415.Lshaext_shortcut:
1416	movl	20(%esp),%edi
1417	movl	%esp,%ebx
1418	movl	24(%esp),%esi
1419	movl	28(%esp),%ecx
1420	subl	$32,%esp
1421	movdqu	(%edi),%xmm0
1422	movd	16(%edi),%xmm1
1423	andl	$-32,%esp
1424	movdqa	80(%ebp),%xmm3
1425	movdqu	(%esi),%xmm4
1426	pshufd	$27,%xmm0,%xmm0
1427	movdqu	16(%esi),%xmm5
1428	pshufd	$27,%xmm1,%xmm1
1429	movdqu	32(%esi),%xmm6
1430.byte	102,15,56,0,227
1431	movdqu	48(%esi),%xmm7
1432.byte	102,15,56,0,235
1433.byte	102,15,56,0,243
1434.byte	102,15,56,0,251
1435	jmp	.L004loop_shaext
1436.align	16
1437.L004loop_shaext:
1438	decl	%ecx
1439	leal	64(%esi),%eax
1440	movdqa	%xmm1,(%esp)
1441	paddd	%xmm4,%xmm1
1442	cmovnel	%eax,%esi
1443	movdqa	%xmm0,16(%esp)
1444.byte	15,56,201,229
1445	movdqa	%xmm0,%xmm2
1446.byte	15,58,204,193,0
1447.byte	15,56,200,213
1448	pxor	%xmm6,%xmm4
1449.byte	15,56,201,238
1450.byte	15,56,202,231
1451	movdqa	%xmm0,%xmm1
1452.byte	15,58,204,194,0
1453.byte	15,56,200,206
1454	pxor	%xmm7,%xmm5
1455.byte	15,56,202,236
1456.byte	15,56,201,247
1457	movdqa	%xmm0,%xmm2
1458.byte	15,58,204,193,0
1459.byte	15,56,200,215
1460	pxor	%xmm4,%xmm6
1461.byte	15,56,201,252
1462.byte	15,56,202,245
1463	movdqa	%xmm0,%xmm1
1464.byte	15,58,204,194,0
1465.byte	15,56,200,204
1466	pxor	%xmm5,%xmm7
1467.byte	15,56,202,254
1468.byte	15,56,201,229
1469	movdqa	%xmm0,%xmm2
1470.byte	15,58,204,193,0
1471.byte	15,56,200,213
1472	pxor	%xmm6,%xmm4
1473.byte	15,56,201,238
1474.byte	15,56,202,231
1475	movdqa	%xmm0,%xmm1
1476.byte	15,58,204,194,1
1477.byte	15,56,200,206
1478	pxor	%xmm7,%xmm5
1479.byte	15,56,202,236
1480.byte	15,56,201,247
1481	movdqa	%xmm0,%xmm2
1482.byte	15,58,204,193,1
1483.byte	15,56,200,215
1484	pxor	%xmm4,%xmm6
1485.byte	15,56,201,252
1486.byte	15,56,202,245
1487	movdqa	%xmm0,%xmm1
1488.byte	15,58,204,194,1
1489.byte	15,56,200,204
1490	pxor	%xmm5,%xmm7
1491.byte	15,56,202,254
1492.byte	15,56,201,229
1493	movdqa	%xmm0,%xmm2
1494.byte	15,58,204,193,1
1495.byte	15,56,200,213
1496	pxor	%xmm6,%xmm4
1497.byte	15,56,201,238
1498.byte	15,56,202,231
1499	movdqa	%xmm0,%xmm1
1500.byte	15,58,204,194,1
1501.byte	15,56,200,206
1502	pxor	%xmm7,%xmm5
1503.byte	15,56,202,236
1504.byte	15,56,201,247
1505	movdqa	%xmm0,%xmm2
1506.byte	15,58,204,193,2
1507.byte	15,56,200,215
1508	pxor	%xmm4,%xmm6
1509.byte	15,56,201,252
1510.byte	15,56,202,245
1511	movdqa	%xmm0,%xmm1
1512.byte	15,58,204,194,2
1513.byte	15,56,200,204
1514	pxor	%xmm5,%xmm7
1515.byte	15,56,202,254
1516.byte	15,56,201,229
1517	movdqa	%xmm0,%xmm2
1518.byte	15,58,204,193,2
1519.byte	15,56,200,213
1520	pxor	%xmm6,%xmm4
1521.byte	15,56,201,238
1522.byte	15,56,202,231
1523	movdqa	%xmm0,%xmm1
1524.byte	15,58,204,194,2
1525.byte	15,56,200,206
1526	pxor	%xmm7,%xmm5
1527.byte	15,56,202,236
1528.byte	15,56,201,247
1529	movdqa	%xmm0,%xmm2
1530.byte	15,58,204,193,2
1531.byte	15,56,200,215
1532	pxor	%xmm4,%xmm6
1533.byte	15,56,201,252
1534.byte	15,56,202,245
1535	movdqa	%xmm0,%xmm1
1536.byte	15,58,204,194,3
1537.byte	15,56,200,204
1538	pxor	%xmm5,%xmm7
1539.byte	15,56,202,254
1540	movdqu	(%esi),%xmm4
1541	movdqa	%xmm0,%xmm2
1542.byte	15,58,204,193,3
1543.byte	15,56,200,213
1544	movdqu	16(%esi),%xmm5
1545.byte	102,15,56,0,227
1546	movdqa	%xmm0,%xmm1
1547.byte	15,58,204,194,3
1548.byte	15,56,200,206
1549	movdqu	32(%esi),%xmm6
1550.byte	102,15,56,0,235
1551	movdqa	%xmm0,%xmm2
1552.byte	15,58,204,193,3
1553.byte	15,56,200,215
1554	movdqu	48(%esi),%xmm7
1555.byte	102,15,56,0,243
1556	movdqa	%xmm0,%xmm1
1557.byte	15,58,204,194,3
1558	movdqa	(%esp),%xmm2
1559.byte	102,15,56,0,251
1560.byte	15,56,200,202
1561	paddd	16(%esp),%xmm0
1562	jnz	.L004loop_shaext
1563	pshufd	$27,%xmm0,%xmm0
1564	pshufd	$27,%xmm1,%xmm1
1565	movdqu	%xmm0,(%edi)
1566	movd	%xmm1,16(%edi)
1567	movl	%ebx,%esp
1568	popl	%edi
1569	popl	%esi
1570	popl	%ebx
1571	popl	%ebp
1572	ret
1573.size	_sha1_block_data_order_shaext,.-_sha1_block_data_order_shaext
1574.type	_sha1_block_data_order_ssse3,@function
1575.align	16
1576_sha1_block_data_order_ssse3:
1577	#ifdef __CET__
1578
1579.byte	243,15,30,251
1580	#endif
1581
1582	pushl	%ebp
1583	pushl	%ebx
1584	pushl	%esi
1585	pushl	%edi
1586	call	.L005pic_point
1587.L005pic_point:
1588	popl	%ebp
1589	leal	.LK_XX_XX-.L005pic_point(%ebp),%ebp
1590.Lssse3_shortcut:
1591	movdqa	(%ebp),%xmm7
1592	movdqa	16(%ebp),%xmm0
1593	movdqa	32(%ebp),%xmm1
1594	movdqa	48(%ebp),%xmm2
1595	movdqa	64(%ebp),%xmm6
1596	movl	20(%esp),%edi
1597	movl	24(%esp),%ebp
1598	movl	28(%esp),%edx
1599	movl	%esp,%esi
1600	subl	$208,%esp
1601	andl	$-64,%esp
1602	movdqa	%xmm0,112(%esp)
1603	movdqa	%xmm1,128(%esp)
1604	movdqa	%xmm2,144(%esp)
1605	shll	$6,%edx
1606	movdqa	%xmm7,160(%esp)
1607	addl	%ebp,%edx
1608	movdqa	%xmm6,176(%esp)
1609	addl	$64,%ebp
1610	movl	%edi,192(%esp)
1611	movl	%ebp,196(%esp)
1612	movl	%edx,200(%esp)
1613	movl	%esi,204(%esp)
1614	movl	(%edi),%eax
1615	movl	4(%edi),%ebx
1616	movl	8(%edi),%ecx
1617	movl	12(%edi),%edx
1618	movl	16(%edi),%edi
1619	movl	%ebx,%esi
1620	movdqu	-64(%ebp),%xmm0
1621	movdqu	-48(%ebp),%xmm1
1622	movdqu	-32(%ebp),%xmm2
1623	movdqu	-16(%ebp),%xmm3
1624.byte	102,15,56,0,198
1625.byte	102,15,56,0,206
1626.byte	102,15,56,0,214
1627	movdqa	%xmm7,96(%esp)
1628.byte	102,15,56,0,222
1629	paddd	%xmm7,%xmm0
1630	paddd	%xmm7,%xmm1
1631	paddd	%xmm7,%xmm2
1632	movdqa	%xmm0,(%esp)
1633	psubd	%xmm7,%xmm0
1634	movdqa	%xmm1,16(%esp)
1635	psubd	%xmm7,%xmm1
1636	movdqa	%xmm2,32(%esp)
1637	movl	%ecx,%ebp
1638	psubd	%xmm7,%xmm2
1639	xorl	%edx,%ebp
1640	pshufd	$238,%xmm0,%xmm4
1641	andl	%ebp,%esi
1642	jmp	.L006loop
1643.align	16
1644.L006loop:
1645	rorl	$2,%ebx
1646	xorl	%edx,%esi
1647	movl	%eax,%ebp
1648	punpcklqdq	%xmm1,%xmm4
1649	movdqa	%xmm3,%xmm6
1650	addl	(%esp),%edi
1651	xorl	%ecx,%ebx
1652	paddd	%xmm3,%xmm7
1653	movdqa	%xmm0,64(%esp)
1654	roll	$5,%eax
1655	addl	%esi,%edi
1656	psrldq	$4,%xmm6
1657	andl	%ebx,%ebp
1658	xorl	%ecx,%ebx
1659	pxor	%xmm0,%xmm4
1660	addl	%eax,%edi
1661	rorl	$7,%eax
1662	pxor	%xmm2,%xmm6
1663	xorl	%ecx,%ebp
1664	movl	%edi,%esi
1665	addl	4(%esp),%edx
1666	pxor	%xmm6,%xmm4
1667	xorl	%ebx,%eax
1668	roll	$5,%edi
1669	movdqa	%xmm7,48(%esp)
1670	addl	%ebp,%edx
1671	andl	%eax,%esi
1672	movdqa	%xmm4,%xmm0
1673	xorl	%ebx,%eax
1674	addl	%edi,%edx
1675	rorl	$7,%edi
1676	movdqa	%xmm4,%xmm6
1677	xorl	%ebx,%esi
1678	pslldq	$12,%xmm0
1679	paddd	%xmm4,%xmm4
1680	movl	%edx,%ebp
1681	addl	8(%esp),%ecx
1682	psrld	$31,%xmm6
1683	xorl	%eax,%edi
1684	roll	$5,%edx
1685	movdqa	%xmm0,%xmm7
1686	addl	%esi,%ecx
1687	andl	%edi,%ebp
1688	xorl	%eax,%edi
1689	psrld	$30,%xmm0
1690	addl	%edx,%ecx
1691	rorl	$7,%edx
1692	por	%xmm6,%xmm4
1693	xorl	%eax,%ebp
1694	movl	%ecx,%esi
1695	addl	12(%esp),%ebx
1696	pslld	$2,%xmm7
1697	xorl	%edi,%edx
1698	roll	$5,%ecx
1699	pxor	%xmm0,%xmm4
1700	movdqa	96(%esp),%xmm0
1701	addl	%ebp,%ebx
1702	andl	%edx,%esi
1703	pxor	%xmm7,%xmm4
1704	pshufd	$238,%xmm1,%xmm5
1705	xorl	%edi,%edx
1706	addl	%ecx,%ebx
1707	rorl	$7,%ecx
1708	xorl	%edi,%esi
1709	movl	%ebx,%ebp
1710	punpcklqdq	%xmm2,%xmm5
1711	movdqa	%xmm4,%xmm7
1712	addl	16(%esp),%eax
1713	xorl	%edx,%ecx
1714	paddd	%xmm4,%xmm0
1715	movdqa	%xmm1,80(%esp)
1716	roll	$5,%ebx
1717	addl	%esi,%eax
1718	psrldq	$4,%xmm7
1719	andl	%ecx,%ebp
1720	xorl	%edx,%ecx
1721	pxor	%xmm1,%xmm5
1722	addl	%ebx,%eax
1723	rorl	$7,%ebx
1724	pxor	%xmm3,%xmm7
1725	xorl	%edx,%ebp
1726	movl	%eax,%esi
1727	addl	20(%esp),%edi
1728	pxor	%xmm7,%xmm5
1729	xorl	%ecx,%ebx
1730	roll	$5,%eax
1731	movdqa	%xmm0,(%esp)
1732	addl	%ebp,%edi
1733	andl	%ebx,%esi
1734	movdqa	%xmm5,%xmm1
1735	xorl	%ecx,%ebx
1736	addl	%eax,%edi
1737	rorl	$7,%eax
1738	movdqa	%xmm5,%xmm7
1739	xorl	%ecx,%esi
1740	pslldq	$12,%xmm1
1741	paddd	%xmm5,%xmm5
1742	movl	%edi,%ebp
1743	addl	24(%esp),%edx
1744	psrld	$31,%xmm7
1745	xorl	%ebx,%eax
1746	roll	$5,%edi
1747	movdqa	%xmm1,%xmm0
1748	addl	%esi,%edx
1749	andl	%eax,%ebp
1750	xorl	%ebx,%eax
1751	psrld	$30,%xmm1
1752	addl	%edi,%edx
1753	rorl	$7,%edi
1754	por	%xmm7,%xmm5
1755	xorl	%ebx,%ebp
1756	movl	%edx,%esi
1757	addl	28(%esp),%ecx
1758	pslld	$2,%xmm0
1759	xorl	%eax,%edi
1760	roll	$5,%edx
1761	pxor	%xmm1,%xmm5
1762	movdqa	112(%esp),%xmm1
1763	addl	%ebp,%ecx
1764	andl	%edi,%esi
1765	pxor	%xmm0,%xmm5
1766	pshufd	$238,%xmm2,%xmm6
1767	xorl	%eax,%edi
1768	addl	%edx,%ecx
1769	rorl	$7,%edx
1770	xorl	%eax,%esi
1771	movl	%ecx,%ebp
1772	punpcklqdq	%xmm3,%xmm6
1773	movdqa	%xmm5,%xmm0
1774	addl	32(%esp),%ebx
1775	xorl	%edi,%edx
1776	paddd	%xmm5,%xmm1
1777	movdqa	%xmm2,96(%esp)
1778	roll	$5,%ecx
1779	addl	%esi,%ebx
1780	psrldq	$4,%xmm0
1781	andl	%edx,%ebp
1782	xorl	%edi,%edx
1783	pxor	%xmm2,%xmm6
1784	addl	%ecx,%ebx
1785	rorl	$7,%ecx
1786	pxor	%xmm4,%xmm0
1787	xorl	%edi,%ebp
1788	movl	%ebx,%esi
1789	addl	36(%esp),%eax
1790	pxor	%xmm0,%xmm6
1791	xorl	%edx,%ecx
1792	roll	$5,%ebx
1793	movdqa	%xmm1,16(%esp)
1794	addl	%ebp,%eax
1795	andl	%ecx,%esi
1796	movdqa	%xmm6,%xmm2
1797	xorl	%edx,%ecx
1798	addl	%ebx,%eax
1799	rorl	$7,%ebx
1800	movdqa	%xmm6,%xmm0
1801	xorl	%edx,%esi
1802	pslldq	$12,%xmm2
1803	paddd	%xmm6,%xmm6
1804	movl	%eax,%ebp
1805	addl	40(%esp),%edi
1806	psrld	$31,%xmm0
1807	xorl	%ecx,%ebx
1808	roll	$5,%eax
1809	movdqa	%xmm2,%xmm1
1810	addl	%esi,%edi
1811	andl	%ebx,%ebp
1812	xorl	%ecx,%ebx
1813	psrld	$30,%xmm2
1814	addl	%eax,%edi
1815	rorl	$7,%eax
1816	por	%xmm0,%xmm6
1817	xorl	%ecx,%ebp
1818	movdqa	64(%esp),%xmm0
1819	movl	%edi,%esi
1820	addl	44(%esp),%edx
1821	pslld	$2,%xmm1
1822	xorl	%ebx,%eax
1823	roll	$5,%edi
1824	pxor	%xmm2,%xmm6
1825	movdqa	112(%esp),%xmm2
1826	addl	%ebp,%edx
1827	andl	%eax,%esi
1828	pxor	%xmm1,%xmm6
1829	pshufd	$238,%xmm3,%xmm7
1830	xorl	%ebx,%eax
1831	addl	%edi,%edx
1832	rorl	$7,%edi
1833	xorl	%ebx,%esi
1834	movl	%edx,%ebp
1835	punpcklqdq	%xmm4,%xmm7
1836	movdqa	%xmm6,%xmm1
1837	addl	48(%esp),%ecx
1838	xorl	%eax,%edi
1839	paddd	%xmm6,%xmm2
1840	movdqa	%xmm3,64(%esp)
1841	roll	$5,%edx
1842	addl	%esi,%ecx
1843	psrldq	$4,%xmm1
1844	andl	%edi,%ebp
1845	xorl	%eax,%edi
1846	pxor	%xmm3,%xmm7
1847	addl	%edx,%ecx
1848	rorl	$7,%edx
1849	pxor	%xmm5,%xmm1
1850	xorl	%eax,%ebp
1851	movl	%ecx,%esi
1852	addl	52(%esp),%ebx
1853	pxor	%xmm1,%xmm7
1854	xorl	%edi,%edx
1855	roll	$5,%ecx
1856	movdqa	%xmm2,32(%esp)
1857	addl	%ebp,%ebx
1858	andl	%edx,%esi
1859	movdqa	%xmm7,%xmm3
1860	xorl	%edi,%edx
1861	addl	%ecx,%ebx
1862	rorl	$7,%ecx
1863	movdqa	%xmm7,%xmm1
1864	xorl	%edi,%esi
1865	pslldq	$12,%xmm3
1866	paddd	%xmm7,%xmm7
1867	movl	%ebx,%ebp
1868	addl	56(%esp),%eax
1869	psrld	$31,%xmm1
1870	xorl	%edx,%ecx
1871	roll	$5,%ebx
1872	movdqa	%xmm3,%xmm2
1873	addl	%esi,%eax
1874	andl	%ecx,%ebp
1875	xorl	%edx,%ecx
1876	psrld	$30,%xmm3
1877	addl	%ebx,%eax
1878	rorl	$7,%ebx
1879	por	%xmm1,%xmm7
1880	xorl	%edx,%ebp
1881	movdqa	80(%esp),%xmm1
1882	movl	%eax,%esi
1883	addl	60(%esp),%edi
1884	pslld	$2,%xmm2
1885	xorl	%ecx,%ebx
1886	roll	$5,%eax
1887	pxor	%xmm3,%xmm7
1888	movdqa	112(%esp),%xmm3
1889	addl	%ebp,%edi
1890	andl	%ebx,%esi
1891	pxor	%xmm2,%xmm7
1892	pshufd	$238,%xmm6,%xmm2
1893	xorl	%ecx,%ebx
1894	addl	%eax,%edi
1895	rorl	$7,%eax
1896	pxor	%xmm4,%xmm0
1897	punpcklqdq	%xmm7,%xmm2
1898	xorl	%ecx,%esi
1899	movl	%edi,%ebp
1900	addl	(%esp),%edx
1901	pxor	%xmm1,%xmm0
1902	movdqa	%xmm4,80(%esp)
1903	xorl	%ebx,%eax
1904	roll	$5,%edi
1905	movdqa	%xmm3,%xmm4
1906	addl	%esi,%edx
1907	paddd	%xmm7,%xmm3
1908	andl	%eax,%ebp
1909	pxor	%xmm2,%xmm0
1910	xorl	%ebx,%eax
1911	addl	%edi,%edx
1912	rorl	$7,%edi
1913	xorl	%ebx,%ebp
1914	movdqa	%xmm0,%xmm2
1915	movdqa	%xmm3,48(%esp)
1916	movl	%edx,%esi
1917	addl	4(%esp),%ecx
1918	xorl	%eax,%edi
1919	roll	$5,%edx
1920	pslld	$2,%xmm0
1921	addl	%ebp,%ecx
1922	andl	%edi,%esi
1923	psrld	$30,%xmm2
1924	xorl	%eax,%edi
1925	addl	%edx,%ecx
1926	rorl	$7,%edx
1927	xorl	%eax,%esi
1928	movl	%ecx,%ebp
1929	addl	8(%esp),%ebx
1930	xorl	%edi,%edx
1931	roll	$5,%ecx
1932	por	%xmm2,%xmm0
1933	addl	%esi,%ebx
1934	andl	%edx,%ebp
1935	movdqa	96(%esp),%xmm2
1936	xorl	%edi,%edx
1937	addl	%ecx,%ebx
1938	addl	12(%esp),%eax
1939	xorl	%edi,%ebp
1940	movl	%ebx,%esi
1941	pshufd	$238,%xmm7,%xmm3
1942	roll	$5,%ebx
1943	addl	%ebp,%eax
1944	xorl	%edx,%esi
1945	rorl	$7,%ecx
1946	addl	%ebx,%eax
1947	addl	16(%esp),%edi
1948	pxor	%xmm5,%xmm1
1949	punpcklqdq	%xmm0,%xmm3
1950	xorl	%ecx,%esi
1951	movl	%eax,%ebp
1952	roll	$5,%eax
1953	pxor	%xmm2,%xmm1
1954	movdqa	%xmm5,96(%esp)
1955	addl	%esi,%edi
1956	xorl	%ecx,%ebp
1957	movdqa	%xmm4,%xmm5
1958	rorl	$7,%ebx
1959	paddd	%xmm0,%xmm4
1960	addl	%eax,%edi
1961	pxor	%xmm3,%xmm1
1962	addl	20(%esp),%edx
1963	xorl	%ebx,%ebp
1964	movl	%edi,%esi
1965	roll	$5,%edi
1966	movdqa	%xmm1,%xmm3
1967	movdqa	%xmm4,(%esp)
1968	addl	%ebp,%edx
1969	xorl	%ebx,%esi
1970	rorl	$7,%eax
1971	addl	%edi,%edx
1972	pslld	$2,%xmm1
1973	addl	24(%esp),%ecx
1974	xorl	%eax,%esi
1975	psrld	$30,%xmm3
1976	movl	%edx,%ebp
1977	roll	$5,%edx
1978	addl	%esi,%ecx
1979	xorl	%eax,%ebp
1980	rorl	$7,%edi
1981	addl	%edx,%ecx
1982	por	%xmm3,%xmm1
1983	addl	28(%esp),%ebx
1984	xorl	%edi,%ebp
1985	movdqa	64(%esp),%xmm3
1986	movl	%ecx,%esi
1987	roll	$5,%ecx
1988	addl	%ebp,%ebx
1989	xorl	%edi,%esi
1990	rorl	$7,%edx
1991	pshufd	$238,%xmm0,%xmm4
1992	addl	%ecx,%ebx
1993	addl	32(%esp),%eax
1994	pxor	%xmm6,%xmm2
1995	punpcklqdq	%xmm1,%xmm4
1996	xorl	%edx,%esi
1997	movl	%ebx,%ebp
1998	roll	$5,%ebx
1999	pxor	%xmm3,%xmm2
2000	movdqa	%xmm6,64(%esp)
2001	addl	%esi,%eax
2002	xorl	%edx,%ebp
2003	movdqa	128(%esp),%xmm6
2004	rorl	$7,%ecx
2005	paddd	%xmm1,%xmm5
2006	addl	%ebx,%eax
2007	pxor	%xmm4,%xmm2
2008	addl	36(%esp),%edi
2009	xorl	%ecx,%ebp
2010	movl	%eax,%esi
2011	roll	$5,%eax
2012	movdqa	%xmm2,%xmm4
2013	movdqa	%xmm5,16(%esp)
2014	addl	%ebp,%edi
2015	xorl	%ecx,%esi
2016	rorl	$7,%ebx
2017	addl	%eax,%edi
2018	pslld	$2,%xmm2
2019	addl	40(%esp),%edx
2020	xorl	%ebx,%esi
2021	psrld	$30,%xmm4
2022	movl	%edi,%ebp
2023	roll	$5,%edi
2024	addl	%esi,%edx
2025	xorl	%ebx,%ebp
2026	rorl	$7,%eax
2027	addl	%edi,%edx
2028	por	%xmm4,%xmm2
2029	addl	44(%esp),%ecx
2030	xorl	%eax,%ebp
2031	movdqa	80(%esp),%xmm4
2032	movl	%edx,%esi
2033	roll	$5,%edx
2034	addl	%ebp,%ecx
2035	xorl	%eax,%esi
2036	rorl	$7,%edi
2037	pshufd	$238,%xmm1,%xmm5
2038	addl	%edx,%ecx
2039	addl	48(%esp),%ebx
2040	pxor	%xmm7,%xmm3
2041	punpcklqdq	%xmm2,%xmm5
2042	xorl	%edi,%esi
2043	movl	%ecx,%ebp
2044	roll	$5,%ecx
2045	pxor	%xmm4,%xmm3
2046	movdqa	%xmm7,80(%esp)
2047	addl	%esi,%ebx
2048	xorl	%edi,%ebp
2049	movdqa	%xmm6,%xmm7
2050	rorl	$7,%edx
2051	paddd	%xmm2,%xmm6
2052	addl	%ecx,%ebx
2053	pxor	%xmm5,%xmm3
2054	addl	52(%esp),%eax
2055	xorl	%edx,%ebp
2056	movl	%ebx,%esi
2057	roll	$5,%ebx
2058	movdqa	%xmm3,%xmm5
2059	movdqa	%xmm6,32(%esp)
2060	addl	%ebp,%eax
2061	xorl	%edx,%esi
2062	rorl	$7,%ecx
2063	addl	%ebx,%eax
2064	pslld	$2,%xmm3
2065	addl	56(%esp),%edi
2066	xorl	%ecx,%esi
2067	psrld	$30,%xmm5
2068	movl	%eax,%ebp
2069	roll	$5,%eax
2070	addl	%esi,%edi
2071	xorl	%ecx,%ebp
2072	rorl	$7,%ebx
2073	addl	%eax,%edi
2074	por	%xmm5,%xmm3
2075	addl	60(%esp),%edx
2076	xorl	%ebx,%ebp
2077	movdqa	96(%esp),%xmm5
2078	movl	%edi,%esi
2079	roll	$5,%edi
2080	addl	%ebp,%edx
2081	xorl	%ebx,%esi
2082	rorl	$7,%eax
2083	pshufd	$238,%xmm2,%xmm6
2084	addl	%edi,%edx
2085	addl	(%esp),%ecx
2086	pxor	%xmm0,%xmm4
2087	punpcklqdq	%xmm3,%xmm6
2088	xorl	%eax,%esi
2089	movl	%edx,%ebp
2090	roll	$5,%edx
2091	pxor	%xmm5,%xmm4
2092	movdqa	%xmm0,96(%esp)
2093	addl	%esi,%ecx
2094	xorl	%eax,%ebp
2095	movdqa	%xmm7,%xmm0
2096	rorl	$7,%edi
2097	paddd	%xmm3,%xmm7
2098	addl	%edx,%ecx
2099	pxor	%xmm6,%xmm4
2100	addl	4(%esp),%ebx
2101	xorl	%edi,%ebp
2102	movl	%ecx,%esi
2103	roll	$5,%ecx
2104	movdqa	%xmm4,%xmm6
2105	movdqa	%xmm7,48(%esp)
2106	addl	%ebp,%ebx
2107	xorl	%edi,%esi
2108	rorl	$7,%edx
2109	addl	%ecx,%ebx
2110	pslld	$2,%xmm4
2111	addl	8(%esp),%eax
2112	xorl	%edx,%esi
2113	psrld	$30,%xmm6
2114	movl	%ebx,%ebp
2115	roll	$5,%ebx
2116	addl	%esi,%eax
2117	xorl	%edx,%ebp
2118	rorl	$7,%ecx
2119	addl	%ebx,%eax
2120	por	%xmm6,%xmm4
2121	addl	12(%esp),%edi
2122	xorl	%ecx,%ebp
2123	movdqa	64(%esp),%xmm6
2124	movl	%eax,%esi
2125	roll	$5,%eax
2126	addl	%ebp,%edi
2127	xorl	%ecx,%esi
2128	rorl	$7,%ebx
2129	pshufd	$238,%xmm3,%xmm7
2130	addl	%eax,%edi
2131	addl	16(%esp),%edx
2132	pxor	%xmm1,%xmm5
2133	punpcklqdq	%xmm4,%xmm7
2134	xorl	%ebx,%esi
2135	movl	%edi,%ebp
2136	roll	$5,%edi
2137	pxor	%xmm6,%xmm5
2138	movdqa	%xmm1,64(%esp)
2139	addl	%esi,%edx
2140	xorl	%ebx,%ebp
2141	movdqa	%xmm0,%xmm1
2142	rorl	$7,%eax
2143	paddd	%xmm4,%xmm0
2144	addl	%edi,%edx
2145	pxor	%xmm7,%xmm5
2146	addl	20(%esp),%ecx
2147	xorl	%eax,%ebp
2148	movl	%edx,%esi
2149	roll	$5,%edx
2150	movdqa	%xmm5,%xmm7
2151	movdqa	%xmm0,(%esp)
2152	addl	%ebp,%ecx
2153	xorl	%eax,%esi
2154	rorl	$7,%edi
2155	addl	%edx,%ecx
2156	pslld	$2,%xmm5
2157	addl	24(%esp),%ebx
2158	xorl	%edi,%esi
2159	psrld	$30,%xmm7
2160	movl	%ecx,%ebp
2161	roll	$5,%ecx
2162	addl	%esi,%ebx
2163	xorl	%edi,%ebp
2164	rorl	$7,%edx
2165	addl	%ecx,%ebx
2166	por	%xmm7,%xmm5
2167	addl	28(%esp),%eax
2168	movdqa	80(%esp),%xmm7
2169	rorl	$7,%ecx
2170	movl	%ebx,%esi
2171	xorl	%edx,%ebp
2172	roll	$5,%ebx
2173	pshufd	$238,%xmm4,%xmm0
2174	addl	%ebp,%eax
2175	xorl	%ecx,%esi
2176	xorl	%edx,%ecx
2177	addl	%ebx,%eax
2178	addl	32(%esp),%edi
2179	pxor	%xmm2,%xmm6
2180	punpcklqdq	%xmm5,%xmm0
2181	andl	%ecx,%esi
2182	xorl	%edx,%ecx
2183	rorl	$7,%ebx
2184	pxor	%xmm7,%xmm6
2185	movdqa	%xmm2,80(%esp)
2186	movl	%eax,%ebp
2187	xorl	%ecx,%esi
2188	roll	$5,%eax
2189	movdqa	%xmm1,%xmm2
2190	addl	%esi,%edi
2191	paddd	%xmm5,%xmm1
2192	xorl	%ebx,%ebp
2193	pxor	%xmm0,%xmm6
2194	xorl	%ecx,%ebx
2195	addl	%eax,%edi
2196	addl	36(%esp),%edx
2197	andl	%ebx,%ebp
2198	movdqa	%xmm6,%xmm0
2199	movdqa	%xmm1,16(%esp)
2200	xorl	%ecx,%ebx
2201	rorl	$7,%eax
2202	movl	%edi,%esi
2203	xorl	%ebx,%ebp
2204	roll	$5,%edi
2205	pslld	$2,%xmm6
2206	addl	%ebp,%edx
2207	xorl	%eax,%esi
2208	psrld	$30,%xmm0
2209	xorl	%ebx,%eax
2210	addl	%edi,%edx
2211	addl	40(%esp),%ecx
2212	andl	%eax,%esi
2213	xorl	%ebx,%eax
2214	rorl	$7,%edi
2215	por	%xmm0,%xmm6
2216	movl	%edx,%ebp
2217	xorl	%eax,%esi
2218	movdqa	96(%esp),%xmm0
2219	roll	$5,%edx
2220	addl	%esi,%ecx
2221	xorl	%edi,%ebp
2222	xorl	%eax,%edi
2223	addl	%edx,%ecx
2224	pshufd	$238,%xmm5,%xmm1
2225	addl	44(%esp),%ebx
2226	andl	%edi,%ebp
2227	xorl	%eax,%edi
2228	rorl	$7,%edx
2229	movl	%ecx,%esi
2230	xorl	%edi,%ebp
2231	roll	$5,%ecx
2232	addl	%ebp,%ebx
2233	xorl	%edx,%esi
2234	xorl	%edi,%edx
2235	addl	%ecx,%ebx
2236	addl	48(%esp),%eax
2237	pxor	%xmm3,%xmm7
2238	punpcklqdq	%xmm6,%xmm1
2239	andl	%edx,%esi
2240	xorl	%edi,%edx
2241	rorl	$7,%ecx
2242	pxor	%xmm0,%xmm7
2243	movdqa	%xmm3,96(%esp)
2244	movl	%ebx,%ebp
2245	xorl	%edx,%esi
2246	roll	$5,%ebx
2247	movdqa	144(%esp),%xmm3
2248	addl	%esi,%eax
2249	paddd	%xmm6,%xmm2
2250	xorl	%ecx,%ebp
2251	pxor	%xmm1,%xmm7
2252	xorl	%edx,%ecx
2253	addl	%ebx,%eax
2254	addl	52(%esp),%edi
2255	andl	%ecx,%ebp
2256	movdqa	%xmm7,%xmm1
2257	movdqa	%xmm2,32(%esp)
2258	xorl	%edx,%ecx
2259	rorl	$7,%ebx
2260	movl	%eax,%esi
2261	xorl	%ecx,%ebp
2262	roll	$5,%eax
2263	pslld	$2,%xmm7
2264	addl	%ebp,%edi
2265	xorl	%ebx,%esi
2266	psrld	$30,%xmm1
2267	xorl	%ecx,%ebx
2268	addl	%eax,%edi
2269	addl	56(%esp),%edx
2270	andl	%ebx,%esi
2271	xorl	%ecx,%ebx
2272	rorl	$7,%eax
2273	por	%xmm1,%xmm7
2274	movl	%edi,%ebp
2275	xorl	%ebx,%esi
2276	movdqa	64(%esp),%xmm1
2277	roll	$5,%edi
2278	addl	%esi,%edx
2279	xorl	%eax,%ebp
2280	xorl	%ebx,%eax
2281	addl	%edi,%edx
2282	pshufd	$238,%xmm6,%xmm2
2283	addl	60(%esp),%ecx
2284	andl	%eax,%ebp
2285	xorl	%ebx,%eax
2286	rorl	$7,%edi
2287	movl	%edx,%esi
2288	xorl	%eax,%ebp
2289	roll	$5,%edx
2290	addl	%ebp,%ecx
2291	xorl	%edi,%esi
2292	xorl	%eax,%edi
2293	addl	%edx,%ecx
2294	addl	(%esp),%ebx
2295	pxor	%xmm4,%xmm0
2296	punpcklqdq	%xmm7,%xmm2
2297	andl	%edi,%esi
2298	xorl	%eax,%edi
2299	rorl	$7,%edx
2300	pxor	%xmm1,%xmm0
2301	movdqa	%xmm4,64(%esp)
2302	movl	%ecx,%ebp
2303	xorl	%edi,%esi
2304	roll	$5,%ecx
2305	movdqa	%xmm3,%xmm4
2306	addl	%esi,%ebx
2307	paddd	%xmm7,%xmm3
2308	xorl	%edx,%ebp
2309	pxor	%xmm2,%xmm0
2310	xorl	%edi,%edx
2311	addl	%ecx,%ebx
2312	addl	4(%esp),%eax
2313	andl	%edx,%ebp
2314	movdqa	%xmm0,%xmm2
2315	movdqa	%xmm3,48(%esp)
2316	xorl	%edi,%edx
2317	rorl	$7,%ecx
2318	movl	%ebx,%esi
2319	xorl	%edx,%ebp
2320	roll	$5,%ebx
2321	pslld	$2,%xmm0
2322	addl	%ebp,%eax
2323	xorl	%ecx,%esi
2324	psrld	$30,%xmm2
2325	xorl	%edx,%ecx
2326	addl	%ebx,%eax
2327	addl	8(%esp),%edi
2328	andl	%ecx,%esi
2329	xorl	%edx,%ecx
2330	rorl	$7,%ebx
2331	por	%xmm2,%xmm0
2332	movl	%eax,%ebp
2333	xorl	%ecx,%esi
2334	movdqa	80(%esp),%xmm2
2335	roll	$5,%eax
2336	addl	%esi,%edi
2337	xorl	%ebx,%ebp
2338	xorl	%ecx,%ebx
2339	addl	%eax,%edi
2340	pshufd	$238,%xmm7,%xmm3
2341	addl	12(%esp),%edx
2342	andl	%ebx,%ebp
2343	xorl	%ecx,%ebx
2344	rorl	$7,%eax
2345	movl	%edi,%esi
2346	xorl	%ebx,%ebp
2347	roll	$5,%edi
2348	addl	%ebp,%edx
2349	xorl	%eax,%esi
2350	xorl	%ebx,%eax
2351	addl	%edi,%edx
2352	addl	16(%esp),%ecx
2353	pxor	%xmm5,%xmm1
2354	punpcklqdq	%xmm0,%xmm3
2355	andl	%eax,%esi
2356	xorl	%ebx,%eax
2357	rorl	$7,%edi
2358	pxor	%xmm2,%xmm1
2359	movdqa	%xmm5,80(%esp)
2360	movl	%edx,%ebp
2361	xorl	%eax,%esi
2362	roll	$5,%edx
2363	movdqa	%xmm4,%xmm5
2364	addl	%esi,%ecx
2365	paddd	%xmm0,%xmm4
2366	xorl	%edi,%ebp
2367	pxor	%xmm3,%xmm1
2368	xorl	%eax,%edi
2369	addl	%edx,%ecx
2370	addl	20(%esp),%ebx
2371	andl	%edi,%ebp
2372	movdqa	%xmm1,%xmm3
2373	movdqa	%xmm4,(%esp)
2374	xorl	%eax,%edi
2375	rorl	$7,%edx
2376	movl	%ecx,%esi
2377	xorl	%edi,%ebp
2378	roll	$5,%ecx
2379	pslld	$2,%xmm1
2380	addl	%ebp,%ebx
2381	xorl	%edx,%esi
2382	psrld	$30,%xmm3
2383	xorl	%edi,%edx
2384	addl	%ecx,%ebx
2385	addl	24(%esp),%eax
2386	andl	%edx,%esi
2387	xorl	%edi,%edx
2388	rorl	$7,%ecx
2389	por	%xmm3,%xmm1
2390	movl	%ebx,%ebp
2391	xorl	%edx,%esi
2392	movdqa	96(%esp),%xmm3
2393	roll	$5,%ebx
2394	addl	%esi,%eax
2395	xorl	%ecx,%ebp
2396	xorl	%edx,%ecx
2397	addl	%ebx,%eax
2398	pshufd	$238,%xmm0,%xmm4
2399	addl	28(%esp),%edi
2400	andl	%ecx,%ebp
2401	xorl	%edx,%ecx
2402	rorl	$7,%ebx
2403	movl	%eax,%esi
2404	xorl	%ecx,%ebp
2405	roll	$5,%eax
2406	addl	%ebp,%edi
2407	xorl	%ebx,%esi
2408	xorl	%ecx,%ebx
2409	addl	%eax,%edi
2410	addl	32(%esp),%edx
2411	pxor	%xmm6,%xmm2
2412	punpcklqdq	%xmm1,%xmm4
2413	andl	%ebx,%esi
2414	xorl	%ecx,%ebx
2415	rorl	$7,%eax
2416	pxor	%xmm3,%xmm2
2417	movdqa	%xmm6,96(%esp)
2418	movl	%edi,%ebp
2419	xorl	%ebx,%esi
2420	roll	$5,%edi
2421	movdqa	%xmm5,%xmm6
2422	addl	%esi,%edx
2423	paddd	%xmm1,%xmm5
2424	xorl	%eax,%ebp
2425	pxor	%xmm4,%xmm2
2426	xorl	%ebx,%eax
2427	addl	%edi,%edx
2428	addl	36(%esp),%ecx
2429	andl	%eax,%ebp
2430	movdqa	%xmm2,%xmm4
2431	movdqa	%xmm5,16(%esp)
2432	xorl	%ebx,%eax
2433	rorl	$7,%edi
2434	movl	%edx,%esi
2435	xorl	%eax,%ebp
2436	roll	$5,%edx
2437	pslld	$2,%xmm2
2438	addl	%ebp,%ecx
2439	xorl	%edi,%esi
2440	psrld	$30,%xmm4
2441	xorl	%eax,%edi
2442	addl	%edx,%ecx
2443	addl	40(%esp),%ebx
2444	andl	%edi,%esi
2445	xorl	%eax,%edi
2446	rorl	$7,%edx
2447	por	%xmm4,%xmm2
2448	movl	%ecx,%ebp
2449	xorl	%edi,%esi
2450	movdqa	64(%esp),%xmm4
2451	roll	$5,%ecx
2452	addl	%esi,%ebx
2453	xorl	%edx,%ebp
2454	xorl	%edi,%edx
2455	addl	%ecx,%ebx
2456	pshufd	$238,%xmm1,%xmm5
2457	addl	44(%esp),%eax
2458	andl	%edx,%ebp
2459	xorl	%edi,%edx
2460	rorl	$7,%ecx
2461	movl	%ebx,%esi
2462	xorl	%edx,%ebp
2463	roll	$5,%ebx
2464	addl	%ebp,%eax
2465	xorl	%edx,%esi
2466	addl	%ebx,%eax
2467	addl	48(%esp),%edi
2468	pxor	%xmm7,%xmm3
2469	punpcklqdq	%xmm2,%xmm5
2470	xorl	%ecx,%esi
2471	movl	%eax,%ebp
2472	roll	$5,%eax
2473	pxor	%xmm4,%xmm3
2474	movdqa	%xmm7,64(%esp)
2475	addl	%esi,%edi
2476	xorl	%ecx,%ebp
2477	movdqa	%xmm6,%xmm7
2478	rorl	$7,%ebx
2479	paddd	%xmm2,%xmm6
2480	addl	%eax,%edi
2481	pxor	%xmm5,%xmm3
2482	addl	52(%esp),%edx
2483	xorl	%ebx,%ebp
2484	movl	%edi,%esi
2485	roll	$5,%edi
2486	movdqa	%xmm3,%xmm5
2487	movdqa	%xmm6,32(%esp)
2488	addl	%ebp,%edx
2489	xorl	%ebx,%esi
2490	rorl	$7,%eax
2491	addl	%edi,%edx
2492	pslld	$2,%xmm3
2493	addl	56(%esp),%ecx
2494	xorl	%eax,%esi
2495	psrld	$30,%xmm5
2496	movl	%edx,%ebp
2497	roll	$5,%edx
2498	addl	%esi,%ecx
2499	xorl	%eax,%ebp
2500	rorl	$7,%edi
2501	addl	%edx,%ecx
2502	por	%xmm5,%xmm3
2503	addl	60(%esp),%ebx
2504	xorl	%edi,%ebp
2505	movl	%ecx,%esi
2506	roll	$5,%ecx
2507	addl	%ebp,%ebx
2508	xorl	%edi,%esi
2509	rorl	$7,%edx
2510	addl	%ecx,%ebx
2511	addl	(%esp),%eax
2512	xorl	%edx,%esi
2513	movl	%ebx,%ebp
2514	roll	$5,%ebx
2515	addl	%esi,%eax
2516	xorl	%edx,%ebp
2517	rorl	$7,%ecx
2518	paddd	%xmm3,%xmm7
2519	addl	%ebx,%eax
2520	addl	4(%esp),%edi
2521	xorl	%ecx,%ebp
2522	movl	%eax,%esi
2523	movdqa	%xmm7,48(%esp)
2524	roll	$5,%eax
2525	addl	%ebp,%edi
2526	xorl	%ecx,%esi
2527	rorl	$7,%ebx
2528	addl	%eax,%edi
2529	addl	8(%esp),%edx
2530	xorl	%ebx,%esi
2531	movl	%edi,%ebp
2532	roll	$5,%edi
2533	addl	%esi,%edx
2534	xorl	%ebx,%ebp
2535	rorl	$7,%eax
2536	addl	%edi,%edx
2537	addl	12(%esp),%ecx
2538	xorl	%eax,%ebp
2539	movl	%edx,%esi
2540	roll	$5,%edx
2541	addl	%ebp,%ecx
2542	xorl	%eax,%esi
2543	rorl	$7,%edi
2544	addl	%edx,%ecx
2545	movl	196(%esp),%ebp
2546	cmpl	200(%esp),%ebp
2547	je	.L007done
2548	movdqa	160(%esp),%xmm7
2549	movdqa	176(%esp),%xmm6
2550	movdqu	(%ebp),%xmm0
2551	movdqu	16(%ebp),%xmm1
2552	movdqu	32(%ebp),%xmm2
2553	movdqu	48(%ebp),%xmm3
2554	addl	$64,%ebp
2555.byte	102,15,56,0,198
2556	movl	%ebp,196(%esp)
2557	movdqa	%xmm7,96(%esp)
2558	addl	16(%esp),%ebx
2559	xorl	%edi,%esi
2560	movl	%ecx,%ebp
2561	roll	$5,%ecx
2562	addl	%esi,%ebx
2563	xorl	%edi,%ebp
2564	rorl	$7,%edx
2565.byte	102,15,56,0,206
2566	addl	%ecx,%ebx
2567	addl	20(%esp),%eax
2568	xorl	%edx,%ebp
2569	movl	%ebx,%esi
2570	paddd	%xmm7,%xmm0
2571	roll	$5,%ebx
2572	addl	%ebp,%eax
2573	xorl	%edx,%esi
2574	rorl	$7,%ecx
2575	movdqa	%xmm0,(%esp)
2576	addl	%ebx,%eax
2577	addl	24(%esp),%edi
2578	xorl	%ecx,%esi
2579	movl	%eax,%ebp
2580	psubd	%xmm7,%xmm0
2581	roll	$5,%eax
2582	addl	%esi,%edi
2583	xorl	%ecx,%ebp
2584	rorl	$7,%ebx
2585	addl	%eax,%edi
2586	addl	28(%esp),%edx
2587	xorl	%ebx,%ebp
2588	movl	%edi,%esi
2589	roll	$5,%edi
2590	addl	%ebp,%edx
2591	xorl	%ebx,%esi
2592	rorl	$7,%eax
2593	addl	%edi,%edx
2594	addl	32(%esp),%ecx
2595	xorl	%eax,%esi
2596	movl	%edx,%ebp
2597	roll	$5,%edx
2598	addl	%esi,%ecx
2599	xorl	%eax,%ebp
2600	rorl	$7,%edi
2601.byte	102,15,56,0,214
2602	addl	%edx,%ecx
2603	addl	36(%esp),%ebx
2604	xorl	%edi,%ebp
2605	movl	%ecx,%esi
2606	paddd	%xmm7,%xmm1
2607	roll	$5,%ecx
2608	addl	%ebp,%ebx
2609	xorl	%edi,%esi
2610	rorl	$7,%edx
2611	movdqa	%xmm1,16(%esp)
2612	addl	%ecx,%ebx
2613	addl	40(%esp),%eax
2614	xorl	%edx,%esi
2615	movl	%ebx,%ebp
2616	psubd	%xmm7,%xmm1
2617	roll	$5,%ebx
2618	addl	%esi,%eax
2619	xorl	%edx,%ebp
2620	rorl	$7,%ecx
2621	addl	%ebx,%eax
2622	addl	44(%esp),%edi
2623	xorl	%ecx,%ebp
2624	movl	%eax,%esi
2625	roll	$5,%eax
2626	addl	%ebp,%edi
2627	xorl	%ecx,%esi
2628	rorl	$7,%ebx
2629	addl	%eax,%edi
2630	addl	48(%esp),%edx
2631	xorl	%ebx,%esi
2632	movl	%edi,%ebp
2633	roll	$5,%edi
2634	addl	%esi,%edx
2635	xorl	%ebx,%ebp
2636	rorl	$7,%eax
2637.byte	102,15,56,0,222
2638	addl	%edi,%edx
2639	addl	52(%esp),%ecx
2640	xorl	%eax,%ebp
2641	movl	%edx,%esi
2642	paddd	%xmm7,%xmm2
2643	roll	$5,%edx
2644	addl	%ebp,%ecx
2645	xorl	%eax,%esi
2646	rorl	$7,%edi
2647	movdqa	%xmm2,32(%esp)
2648	addl	%edx,%ecx
2649	addl	56(%esp),%ebx
2650	xorl	%edi,%esi
2651	movl	%ecx,%ebp
2652	psubd	%xmm7,%xmm2
2653	roll	$5,%ecx
2654	addl	%esi,%ebx
2655	xorl	%edi,%ebp
2656	rorl	$7,%edx
2657	addl	%ecx,%ebx
2658	addl	60(%esp),%eax
2659	xorl	%edx,%ebp
2660	movl	%ebx,%esi
2661	roll	$5,%ebx
2662	addl	%ebp,%eax
2663	rorl	$7,%ecx
2664	addl	%ebx,%eax
2665	movl	192(%esp),%ebp
2666	addl	(%ebp),%eax
2667	addl	4(%ebp),%esi
2668	addl	8(%ebp),%ecx
2669	movl	%eax,(%ebp)
2670	addl	12(%ebp),%edx
2671	movl	%esi,4(%ebp)
2672	addl	16(%ebp),%edi
2673	movl	%ecx,8(%ebp)
2674	movl	%ecx,%ebx
2675	movl	%edx,12(%ebp)
2676	xorl	%edx,%ebx
2677	movl	%edi,16(%ebp)
2678	movl	%esi,%ebp
2679	pshufd	$238,%xmm0,%xmm4
2680	andl	%ebx,%esi
2681	movl	%ebp,%ebx
2682	jmp	.L006loop
2683.align	16
2684.L007done:
2685	addl	16(%esp),%ebx
2686	xorl	%edi,%esi
2687	movl	%ecx,%ebp
2688	roll	$5,%ecx
2689	addl	%esi,%ebx
2690	xorl	%edi,%ebp
2691	rorl	$7,%edx
2692	addl	%ecx,%ebx
2693	addl	20(%esp),%eax
2694	xorl	%edx,%ebp
2695	movl	%ebx,%esi
2696	roll	$5,%ebx
2697	addl	%ebp,%eax
2698	xorl	%edx,%esi
2699	rorl	$7,%ecx
2700	addl	%ebx,%eax
2701	addl	24(%esp),%edi
2702	xorl	%ecx,%esi
2703	movl	%eax,%ebp
2704	roll	$5,%eax
2705	addl	%esi,%edi
2706	xorl	%ecx,%ebp
2707	rorl	$7,%ebx
2708	addl	%eax,%edi
2709	addl	28(%esp),%edx
2710	xorl	%ebx,%ebp
2711	movl	%edi,%esi
2712	roll	$5,%edi
2713	addl	%ebp,%edx
2714	xorl	%ebx,%esi
2715	rorl	$7,%eax
2716	addl	%edi,%edx
2717	addl	32(%esp),%ecx
2718	xorl	%eax,%esi
2719	movl	%edx,%ebp
2720	roll	$5,%edx
2721	addl	%esi,%ecx
2722	xorl	%eax,%ebp
2723	rorl	$7,%edi
2724	addl	%edx,%ecx
2725	addl	36(%esp),%ebx
2726	xorl	%edi,%ebp
2727	movl	%ecx,%esi
2728	roll	$5,%ecx
2729	addl	%ebp,%ebx
2730	xorl	%edi,%esi
2731	rorl	$7,%edx
2732	addl	%ecx,%ebx
2733	addl	40(%esp),%eax
2734	xorl	%edx,%esi
2735	movl	%ebx,%ebp
2736	roll	$5,%ebx
2737	addl	%esi,%eax
2738	xorl	%edx,%ebp
2739	rorl	$7,%ecx
2740	addl	%ebx,%eax
2741	addl	44(%esp),%edi
2742	xorl	%ecx,%ebp
2743	movl	%eax,%esi
2744	roll	$5,%eax
2745	addl	%ebp,%edi
2746	xorl	%ecx,%esi
2747	rorl	$7,%ebx
2748	addl	%eax,%edi
2749	addl	48(%esp),%edx
2750	xorl	%ebx,%esi
2751	movl	%edi,%ebp
2752	roll	$5,%edi
2753	addl	%esi,%edx
2754	xorl	%ebx,%ebp
2755	rorl	$7,%eax
2756	addl	%edi,%edx
2757	addl	52(%esp),%ecx
2758	xorl	%eax,%ebp
2759	movl	%edx,%esi
2760	roll	$5,%edx
2761	addl	%ebp,%ecx
2762	xorl	%eax,%esi
2763	rorl	$7,%edi
2764	addl	%edx,%ecx
2765	addl	56(%esp),%ebx
2766	xorl	%edi,%esi
2767	movl	%ecx,%ebp
2768	roll	$5,%ecx
2769	addl	%esi,%ebx
2770	xorl	%edi,%ebp
2771	rorl	$7,%edx
2772	addl	%ecx,%ebx
2773	addl	60(%esp),%eax
2774	xorl	%edx,%ebp
2775	movl	%ebx,%esi
2776	roll	$5,%ebx
2777	addl	%ebp,%eax
2778	rorl	$7,%ecx
2779	addl	%ebx,%eax
2780	movl	192(%esp),%ebp
2781	addl	(%ebp),%eax
2782	movl	204(%esp),%esp
2783	addl	4(%ebp),%esi
2784	addl	8(%ebp),%ecx
2785	movl	%eax,(%ebp)
2786	addl	12(%ebp),%edx
2787	movl	%esi,4(%ebp)
2788	addl	16(%ebp),%edi
2789	movl	%ecx,8(%ebp)
2790	movl	%edx,12(%ebp)
2791	movl	%edi,16(%ebp)
2792	popl	%edi
2793	popl	%esi
2794	popl	%ebx
2795	popl	%ebp
2796	ret
2797.size	_sha1_block_data_order_ssse3,.-_sha1_block_data_order_ssse3
2798.align	64
2799.LK_XX_XX:
2800.long	1518500249,1518500249,1518500249,1518500249
2801.long	1859775393,1859775393,1859775393,1859775393
2802.long	2400959708,2400959708,2400959708,2400959708
2803.long	3395469782,3395469782,3395469782,3395469782
2804.long	66051,67438087,134810123,202182159
2805.byte	15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0
2806.byte	83,72,65,49,32,98,108,111,99,107,32,116,114,97,110,115
2807.byte	102,111,114,109,32,102,111,114,32,120,56,54,44,32,67,82
2808.byte	89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112
2809.byte	114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
2810.comm	OPENSSL_ia32cap_P,16,4
2811
2812	.section ".note.gnu.property", "a"
2813	.p2align 2
2814	.long 1f - 0f
2815	.long 4f - 1f
2816	.long 5
28170:
2818	.asciz "GNU"
28191:
2820	.p2align 2
2821	.long 0xc0000002
2822	.long 3f - 2f
28232:
2824	.long 3
28253:
2826	.p2align 2
28274:
2828