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