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