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