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