1 .text
2 .globl	_sha256_block_data_order
3 .align	4
4 _sha256_block_data_order:
5 L_sha256_block_data_order_begin:
6 	%ifdef __CET__
7 
8 .byte	243,15,30,251
9 	%endif
10 
11 	pushl	%ebp
12 	pushl	%ebx
13 	pushl	%esi
14 	pushl	%edi
15 	movl	20(%esp),%esi
16 	movl	24(%esp),%edi
17 	movl	28(%esp),%eax
18 	movl	%esp,%ebx
19 	call	L000pic_point
20 L000pic_point:
21 	popl	%ebp
22 	leal	L001K256-L000pic_point(%ebp),%ebp
23 	subl	$16,%esp
24 	andl	$-64,%esp
25 	shll	$6,%eax
26 	addl	%edi,%eax
27 	movl	%esi,(%esp)
28 	movl	%edi,4(%esp)
29 	movl	%eax,8(%esp)
30 	movl	%ebx,12(%esp)
31 	movl	L_OPENSSL_ia32cap_P$non_lazy_ptr-L001K256(%ebp),%edx
32 	movl	(%edx),%ecx
33 	movl	4(%edx),%ebx
34 	testl	$1048576,%ecx
35 	jnz	L002loop
36 	movl	8(%edx),%edx
37 	testl	$16777216,%ecx
38 	jz	L003no_xmm
39 	andl	$1073741824,%ecx
40 	andl	$268435968,%ebx
41 	testl	$536870912,%edx
42 	jnz	L004shaext
43 	orl	%ebx,%ecx
44 	andl	$1342177280,%ecx
45 	cmpl	$1342177280,%ecx
46 	je	L005AVX
47 	testl	$512,%ebx
48 	jnz	L006SSSE3
49 L003no_xmm:
50 	subl	%edi,%eax
51 	cmpl	$256,%eax
52 	jae	L007unrolled
53 	jmp	L002loop
54 .align	4,0x90
55 L002loop:
56 	movl	(%edi),%eax
57 	movl	4(%edi),%ebx
58 	movl	8(%edi),%ecx
59 	bswap	%eax
60 	movl	12(%edi),%edx
61 	bswap	%ebx
62 	pushl	%eax
63 	bswap	%ecx
64 	pushl	%ebx
65 	bswap	%edx
66 	pushl	%ecx
67 	pushl	%edx
68 	movl	16(%edi),%eax
69 	movl	20(%edi),%ebx
70 	movl	24(%edi),%ecx
71 	bswap	%eax
72 	movl	28(%edi),%edx
73 	bswap	%ebx
74 	pushl	%eax
75 	bswap	%ecx
76 	pushl	%ebx
77 	bswap	%edx
78 	pushl	%ecx
79 	pushl	%edx
80 	movl	32(%edi),%eax
81 	movl	36(%edi),%ebx
82 	movl	40(%edi),%ecx
83 	bswap	%eax
84 	movl	44(%edi),%edx
85 	bswap	%ebx
86 	pushl	%eax
87 	bswap	%ecx
88 	pushl	%ebx
89 	bswap	%edx
90 	pushl	%ecx
91 	pushl	%edx
92 	movl	48(%edi),%eax
93 	movl	52(%edi),%ebx
94 	movl	56(%edi),%ecx
95 	bswap	%eax
96 	movl	60(%edi),%edx
97 	bswap	%ebx
98 	pushl	%eax
99 	bswap	%ecx
100 	pushl	%ebx
101 	bswap	%edx
102 	pushl	%ecx
103 	pushl	%edx
104 	addl	$64,%edi
105 	leal	-36(%esp),%esp
106 	movl	%edi,104(%esp)
107 	movl	(%esi),%eax
108 	movl	4(%esi),%ebx
109 	movl	8(%esi),%ecx
110 	movl	12(%esi),%edi
111 	movl	%ebx,8(%esp)
112 	xorl	%ecx,%ebx
113 	movl	%ecx,12(%esp)
114 	movl	%edi,16(%esp)
115 	movl	%ebx,(%esp)
116 	movl	16(%esi),%edx
117 	movl	20(%esi),%ebx
118 	movl	24(%esi),%ecx
119 	movl	28(%esi),%edi
120 	movl	%ebx,24(%esp)
121 	movl	%ecx,28(%esp)
122 	movl	%edi,32(%esp)
123 .align	4,0x90
124 L00800_15:
125 	movl	%edx,%ecx
126 	movl	24(%esp),%esi
127 	rorl	$14,%ecx
128 	movl	28(%esp),%edi
129 	xorl	%edx,%ecx
130 	xorl	%edi,%esi
131 	movl	96(%esp),%ebx
132 	rorl	$5,%ecx
133 	andl	%edx,%esi
134 	movl	%edx,20(%esp)
135 	xorl	%ecx,%edx
136 	addl	32(%esp),%ebx
137 	xorl	%edi,%esi
138 	rorl	$6,%edx
139 	movl	%eax,%ecx
140 	addl	%esi,%ebx
141 	rorl	$9,%ecx
142 	addl	%edx,%ebx
143 	movl	8(%esp),%edi
144 	xorl	%eax,%ecx
145 	movl	%eax,4(%esp)
146 	leal	-4(%esp),%esp
147 	rorl	$11,%ecx
148 	movl	(%ebp),%esi
149 	xorl	%eax,%ecx
150 	movl	20(%esp),%edx
151 	xorl	%edi,%eax
152 	rorl	$2,%ecx
153 	addl	%esi,%ebx
154 	movl	%eax,(%esp)
155 	addl	%ebx,%edx
156 	andl	4(%esp),%eax
157 	addl	%ecx,%ebx
158 	xorl	%edi,%eax
159 	addl	$4,%ebp
160 	addl	%ebx,%eax
161 	cmpl	$3248222580,%esi
162 	jne	L00800_15
163 	movl	156(%esp),%ecx
164 	jmp	L00916_63
165 .align	4,0x90
166 L00916_63:
167 	movl	%ecx,%ebx
168 	movl	104(%esp),%esi
169 	rorl	$11,%ecx
170 	movl	%esi,%edi
171 	rorl	$2,%esi
172 	xorl	%ebx,%ecx
173 	shrl	$3,%ebx
174 	rorl	$7,%ecx
175 	xorl	%edi,%esi
176 	xorl	%ecx,%ebx
177 	rorl	$17,%esi
178 	addl	160(%esp),%ebx
179 	shrl	$10,%edi
180 	addl	124(%esp),%ebx
181 	movl	%edx,%ecx
182 	xorl	%esi,%edi
183 	movl	24(%esp),%esi
184 	rorl	$14,%ecx
185 	addl	%edi,%ebx
186 	movl	28(%esp),%edi
187 	xorl	%edx,%ecx
188 	xorl	%edi,%esi
189 	movl	%ebx,96(%esp)
190 	rorl	$5,%ecx
191 	andl	%edx,%esi
192 	movl	%edx,20(%esp)
193 	xorl	%ecx,%edx
194 	addl	32(%esp),%ebx
195 	xorl	%edi,%esi
196 	rorl	$6,%edx
197 	movl	%eax,%ecx
198 	addl	%esi,%ebx
199 	rorl	$9,%ecx
200 	addl	%edx,%ebx
201 	movl	8(%esp),%edi
202 	xorl	%eax,%ecx
203 	movl	%eax,4(%esp)
204 	leal	-4(%esp),%esp
205 	rorl	$11,%ecx
206 	movl	(%ebp),%esi
207 	xorl	%eax,%ecx
208 	movl	20(%esp),%edx
209 	xorl	%edi,%eax
210 	rorl	$2,%ecx
211 	addl	%esi,%ebx
212 	movl	%eax,(%esp)
213 	addl	%ebx,%edx
214 	andl	4(%esp),%eax
215 	addl	%ecx,%ebx
216 	xorl	%edi,%eax
217 	movl	156(%esp),%ecx
218 	addl	$4,%ebp
219 	addl	%ebx,%eax
220 	cmpl	$3329325298,%esi
221 	jne	L00916_63
222 	movl	356(%esp),%esi
223 	movl	8(%esp),%ebx
224 	movl	16(%esp),%ecx
225 	addl	(%esi),%eax
226 	addl	4(%esi),%ebx
227 	addl	8(%esi),%edi
228 	addl	12(%esi),%ecx
229 	movl	%eax,(%esi)
230 	movl	%ebx,4(%esi)
231 	movl	%edi,8(%esi)
232 	movl	%ecx,12(%esi)
233 	movl	24(%esp),%eax
234 	movl	28(%esp),%ebx
235 	movl	32(%esp),%ecx
236 	movl	360(%esp),%edi
237 	addl	16(%esi),%edx
238 	addl	20(%esi),%eax
239 	addl	24(%esi),%ebx
240 	addl	28(%esi),%ecx
241 	movl	%edx,16(%esi)
242 	movl	%eax,20(%esi)
243 	movl	%ebx,24(%esi)
244 	movl	%ecx,28(%esi)
245 	leal	356(%esp),%esp
246 	subl	$256,%ebp
247 	cmpl	8(%esp),%edi
248 	jb	L002loop
249 	movl	12(%esp),%esp
250 	popl	%edi
251 	popl	%esi
252 	popl	%ebx
253 	popl	%ebp
254 	ret
255 .align	6,0x90
256 L001K256:
257 .long	1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298
258 .long	66051,67438087,134810123,202182159
259 .byte	83,72,65,50,53,54,32,98,108,111,99,107,32,116,114,97
260 .byte	110,115,102,111,114,109,32,102,111,114,32,120,56,54,44,32
261 .byte	67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97
262 .byte	112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103
263 .byte	62,0
264 .align	4,0x90
265 L007unrolled:
266 	leal	-96(%esp),%esp
267 	movl	(%esi),%eax
268 	movl	4(%esi),%ebp
269 	movl	8(%esi),%ecx
270 	movl	12(%esi),%ebx
271 	movl	%ebp,4(%esp)
272 	xorl	%ecx,%ebp
273 	movl	%ecx,8(%esp)
274 	movl	%ebx,12(%esp)
275 	movl	16(%esi),%edx
276 	movl	20(%esi),%ebx
277 	movl	24(%esi),%ecx
278 	movl	28(%esi),%esi
279 	movl	%ebx,20(%esp)
280 	movl	%ecx,24(%esp)
281 	movl	%esi,28(%esp)
282 	jmp	L010grand_loop
283 .align	4,0x90
284 L010grand_loop:
285 	movl	(%edi),%ebx
286 	movl	4(%edi),%ecx
287 	bswap	%ebx
288 	movl	8(%edi),%esi
289 	bswap	%ecx
290 	movl	%ebx,32(%esp)
291 	bswap	%esi
292 	movl	%ecx,36(%esp)
293 	movl	%esi,40(%esp)
294 	movl	12(%edi),%ebx
295 	movl	16(%edi),%ecx
296 	bswap	%ebx
297 	movl	20(%edi),%esi
298 	bswap	%ecx
299 	movl	%ebx,44(%esp)
300 	bswap	%esi
301 	movl	%ecx,48(%esp)
302 	movl	%esi,52(%esp)
303 	movl	24(%edi),%ebx
304 	movl	28(%edi),%ecx
305 	bswap	%ebx
306 	movl	32(%edi),%esi
307 	bswap	%ecx
308 	movl	%ebx,56(%esp)
309 	bswap	%esi
310 	movl	%ecx,60(%esp)
311 	movl	%esi,64(%esp)
312 	movl	36(%edi),%ebx
313 	movl	40(%edi),%ecx
314 	bswap	%ebx
315 	movl	44(%edi),%esi
316 	bswap	%ecx
317 	movl	%ebx,68(%esp)
318 	bswap	%esi
319 	movl	%ecx,72(%esp)
320 	movl	%esi,76(%esp)
321 	movl	48(%edi),%ebx
322 	movl	52(%edi),%ecx
323 	bswap	%ebx
324 	movl	56(%edi),%esi
325 	bswap	%ecx
326 	movl	%ebx,80(%esp)
327 	bswap	%esi
328 	movl	%ecx,84(%esp)
329 	movl	%esi,88(%esp)
330 	movl	60(%edi),%ebx
331 	addl	$64,%edi
332 	bswap	%ebx
333 	movl	%edi,100(%esp)
334 	movl	%ebx,92(%esp)
335 	movl	%edx,%ecx
336 	movl	20(%esp),%esi
337 	rorl	$14,%edx
338 	movl	24(%esp),%edi
339 	xorl	%ecx,%edx
340 	movl	32(%esp),%ebx
341 	xorl	%edi,%esi
342 	rorl	$5,%edx
343 	andl	%ecx,%esi
344 	movl	%ecx,16(%esp)
345 	xorl	%ecx,%edx
346 	addl	28(%esp),%ebx
347 	xorl	%esi,%edi
348 	rorl	$6,%edx
349 	movl	%eax,%ecx
350 	addl	%edi,%ebx
351 	rorl	$9,%ecx
352 	movl	%eax,%esi
353 	movl	4(%esp),%edi
354 	xorl	%eax,%ecx
355 	movl	%eax,(%esp)
356 	xorl	%edi,%eax
357 	rorl	$11,%ecx
358 	andl	%eax,%ebp
359 	leal	1116352408(%ebx,%edx,1),%edx
360 	xorl	%esi,%ecx
361 	xorl	%edi,%ebp
362 	rorl	$2,%ecx
363 	addl	%edx,%ebp
364 	addl	12(%esp),%edx
365 	addl	%ecx,%ebp
366 	movl	%edx,%esi
367 	movl	16(%esp),%ecx
368 	rorl	$14,%edx
369 	movl	20(%esp),%edi
370 	xorl	%esi,%edx
371 	movl	36(%esp),%ebx
372 	xorl	%edi,%ecx
373 	rorl	$5,%edx
374 	andl	%esi,%ecx
375 	movl	%esi,12(%esp)
376 	xorl	%esi,%edx
377 	addl	24(%esp),%ebx
378 	xorl	%ecx,%edi
379 	rorl	$6,%edx
380 	movl	%ebp,%esi
381 	addl	%edi,%ebx
382 	rorl	$9,%esi
383 	movl	%ebp,%ecx
384 	movl	(%esp),%edi
385 	xorl	%ebp,%esi
386 	movl	%ebp,28(%esp)
387 	xorl	%edi,%ebp
388 	rorl	$11,%esi
389 	andl	%ebp,%eax
390 	leal	1899447441(%ebx,%edx,1),%edx
391 	xorl	%ecx,%esi
392 	xorl	%edi,%eax
393 	rorl	$2,%esi
394 	addl	%edx,%eax
395 	addl	8(%esp),%edx
396 	addl	%esi,%eax
397 	movl	%edx,%ecx
398 	movl	12(%esp),%esi
399 	rorl	$14,%edx
400 	movl	16(%esp),%edi
401 	xorl	%ecx,%edx
402 	movl	40(%esp),%ebx
403 	xorl	%edi,%esi
404 	rorl	$5,%edx
405 	andl	%ecx,%esi
406 	movl	%ecx,8(%esp)
407 	xorl	%ecx,%edx
408 	addl	20(%esp),%ebx
409 	xorl	%esi,%edi
410 	rorl	$6,%edx
411 	movl	%eax,%ecx
412 	addl	%edi,%ebx
413 	rorl	$9,%ecx
414 	movl	%eax,%esi
415 	movl	28(%esp),%edi
416 	xorl	%eax,%ecx
417 	movl	%eax,24(%esp)
418 	xorl	%edi,%eax
419 	rorl	$11,%ecx
420 	andl	%eax,%ebp
421 	leal	3049323471(%ebx,%edx,1),%edx
422 	xorl	%esi,%ecx
423 	xorl	%edi,%ebp
424 	rorl	$2,%ecx
425 	addl	%edx,%ebp
426 	addl	4(%esp),%edx
427 	addl	%ecx,%ebp
428 	movl	%edx,%esi
429 	movl	8(%esp),%ecx
430 	rorl	$14,%edx
431 	movl	12(%esp),%edi
432 	xorl	%esi,%edx
433 	movl	44(%esp),%ebx
434 	xorl	%edi,%ecx
435 	rorl	$5,%edx
436 	andl	%esi,%ecx
437 	movl	%esi,4(%esp)
438 	xorl	%esi,%edx
439 	addl	16(%esp),%ebx
440 	xorl	%ecx,%edi
441 	rorl	$6,%edx
442 	movl	%ebp,%esi
443 	addl	%edi,%ebx
444 	rorl	$9,%esi
445 	movl	%ebp,%ecx
446 	movl	24(%esp),%edi
447 	xorl	%ebp,%esi
448 	movl	%ebp,20(%esp)
449 	xorl	%edi,%ebp
450 	rorl	$11,%esi
451 	andl	%ebp,%eax
452 	leal	3921009573(%ebx,%edx,1),%edx
453 	xorl	%ecx,%esi
454 	xorl	%edi,%eax
455 	rorl	$2,%esi
456 	addl	%edx,%eax
457 	addl	(%esp),%edx
458 	addl	%esi,%eax
459 	movl	%edx,%ecx
460 	movl	4(%esp),%esi
461 	rorl	$14,%edx
462 	movl	8(%esp),%edi
463 	xorl	%ecx,%edx
464 	movl	48(%esp),%ebx
465 	xorl	%edi,%esi
466 	rorl	$5,%edx
467 	andl	%ecx,%esi
468 	movl	%ecx,(%esp)
469 	xorl	%ecx,%edx
470 	addl	12(%esp),%ebx
471 	xorl	%esi,%edi
472 	rorl	$6,%edx
473 	movl	%eax,%ecx
474 	addl	%edi,%ebx
475 	rorl	$9,%ecx
476 	movl	%eax,%esi
477 	movl	20(%esp),%edi
478 	xorl	%eax,%ecx
479 	movl	%eax,16(%esp)
480 	xorl	%edi,%eax
481 	rorl	$11,%ecx
482 	andl	%eax,%ebp
483 	leal	961987163(%ebx,%edx,1),%edx
484 	xorl	%esi,%ecx
485 	xorl	%edi,%ebp
486 	rorl	$2,%ecx
487 	addl	%edx,%ebp
488 	addl	28(%esp),%edx
489 	addl	%ecx,%ebp
490 	movl	%edx,%esi
491 	movl	(%esp),%ecx
492 	rorl	$14,%edx
493 	movl	4(%esp),%edi
494 	xorl	%esi,%edx
495 	movl	52(%esp),%ebx
496 	xorl	%edi,%ecx
497 	rorl	$5,%edx
498 	andl	%esi,%ecx
499 	movl	%esi,28(%esp)
500 	xorl	%esi,%edx
501 	addl	8(%esp),%ebx
502 	xorl	%ecx,%edi
503 	rorl	$6,%edx
504 	movl	%ebp,%esi
505 	addl	%edi,%ebx
506 	rorl	$9,%esi
507 	movl	%ebp,%ecx
508 	movl	16(%esp),%edi
509 	xorl	%ebp,%esi
510 	movl	%ebp,12(%esp)
511 	xorl	%edi,%ebp
512 	rorl	$11,%esi
513 	andl	%ebp,%eax
514 	leal	1508970993(%ebx,%edx,1),%edx
515 	xorl	%ecx,%esi
516 	xorl	%edi,%eax
517 	rorl	$2,%esi
518 	addl	%edx,%eax
519 	addl	24(%esp),%edx
520 	addl	%esi,%eax
521 	movl	%edx,%ecx
522 	movl	28(%esp),%esi
523 	rorl	$14,%edx
524 	movl	(%esp),%edi
525 	xorl	%ecx,%edx
526 	movl	56(%esp),%ebx
527 	xorl	%edi,%esi
528 	rorl	$5,%edx
529 	andl	%ecx,%esi
530 	movl	%ecx,24(%esp)
531 	xorl	%ecx,%edx
532 	addl	4(%esp),%ebx
533 	xorl	%esi,%edi
534 	rorl	$6,%edx
535 	movl	%eax,%ecx
536 	addl	%edi,%ebx
537 	rorl	$9,%ecx
538 	movl	%eax,%esi
539 	movl	12(%esp),%edi
540 	xorl	%eax,%ecx
541 	movl	%eax,8(%esp)
542 	xorl	%edi,%eax
543 	rorl	$11,%ecx
544 	andl	%eax,%ebp
545 	leal	2453635748(%ebx,%edx,1),%edx
546 	xorl	%esi,%ecx
547 	xorl	%edi,%ebp
548 	rorl	$2,%ecx
549 	addl	%edx,%ebp
550 	addl	20(%esp),%edx
551 	addl	%ecx,%ebp
552 	movl	%edx,%esi
553 	movl	24(%esp),%ecx
554 	rorl	$14,%edx
555 	movl	28(%esp),%edi
556 	xorl	%esi,%edx
557 	movl	60(%esp),%ebx
558 	xorl	%edi,%ecx
559 	rorl	$5,%edx
560 	andl	%esi,%ecx
561 	movl	%esi,20(%esp)
562 	xorl	%esi,%edx
563 	addl	(%esp),%ebx
564 	xorl	%ecx,%edi
565 	rorl	$6,%edx
566 	movl	%ebp,%esi
567 	addl	%edi,%ebx
568 	rorl	$9,%esi
569 	movl	%ebp,%ecx
570 	movl	8(%esp),%edi
571 	xorl	%ebp,%esi
572 	movl	%ebp,4(%esp)
573 	xorl	%edi,%ebp
574 	rorl	$11,%esi
575 	andl	%ebp,%eax
576 	leal	2870763221(%ebx,%edx,1),%edx
577 	xorl	%ecx,%esi
578 	xorl	%edi,%eax
579 	rorl	$2,%esi
580 	addl	%edx,%eax
581 	addl	16(%esp),%edx
582 	addl	%esi,%eax
583 	movl	%edx,%ecx
584 	movl	20(%esp),%esi
585 	rorl	$14,%edx
586 	movl	24(%esp),%edi
587 	xorl	%ecx,%edx
588 	movl	64(%esp),%ebx
589 	xorl	%edi,%esi
590 	rorl	$5,%edx
591 	andl	%ecx,%esi
592 	movl	%ecx,16(%esp)
593 	xorl	%ecx,%edx
594 	addl	28(%esp),%ebx
595 	xorl	%esi,%edi
596 	rorl	$6,%edx
597 	movl	%eax,%ecx
598 	addl	%edi,%ebx
599 	rorl	$9,%ecx
600 	movl	%eax,%esi
601 	movl	4(%esp),%edi
602 	xorl	%eax,%ecx
603 	movl	%eax,(%esp)
604 	xorl	%edi,%eax
605 	rorl	$11,%ecx
606 	andl	%eax,%ebp
607 	leal	3624381080(%ebx,%edx,1),%edx
608 	xorl	%esi,%ecx
609 	xorl	%edi,%ebp
610 	rorl	$2,%ecx
611 	addl	%edx,%ebp
612 	addl	12(%esp),%edx
613 	addl	%ecx,%ebp
614 	movl	%edx,%esi
615 	movl	16(%esp),%ecx
616 	rorl	$14,%edx
617 	movl	20(%esp),%edi
618 	xorl	%esi,%edx
619 	movl	68(%esp),%ebx
620 	xorl	%edi,%ecx
621 	rorl	$5,%edx
622 	andl	%esi,%ecx
623 	movl	%esi,12(%esp)
624 	xorl	%esi,%edx
625 	addl	24(%esp),%ebx
626 	xorl	%ecx,%edi
627 	rorl	$6,%edx
628 	movl	%ebp,%esi
629 	addl	%edi,%ebx
630 	rorl	$9,%esi
631 	movl	%ebp,%ecx
632 	movl	(%esp),%edi
633 	xorl	%ebp,%esi
634 	movl	%ebp,28(%esp)
635 	xorl	%edi,%ebp
636 	rorl	$11,%esi
637 	andl	%ebp,%eax
638 	leal	310598401(%ebx,%edx,1),%edx
639 	xorl	%ecx,%esi
640 	xorl	%edi,%eax
641 	rorl	$2,%esi
642 	addl	%edx,%eax
643 	addl	8(%esp),%edx
644 	addl	%esi,%eax
645 	movl	%edx,%ecx
646 	movl	12(%esp),%esi
647 	rorl	$14,%edx
648 	movl	16(%esp),%edi
649 	xorl	%ecx,%edx
650 	movl	72(%esp),%ebx
651 	xorl	%edi,%esi
652 	rorl	$5,%edx
653 	andl	%ecx,%esi
654 	movl	%ecx,8(%esp)
655 	xorl	%ecx,%edx
656 	addl	20(%esp),%ebx
657 	xorl	%esi,%edi
658 	rorl	$6,%edx
659 	movl	%eax,%ecx
660 	addl	%edi,%ebx
661 	rorl	$9,%ecx
662 	movl	%eax,%esi
663 	movl	28(%esp),%edi
664 	xorl	%eax,%ecx
665 	movl	%eax,24(%esp)
666 	xorl	%edi,%eax
667 	rorl	$11,%ecx
668 	andl	%eax,%ebp
669 	leal	607225278(%ebx,%edx,1),%edx
670 	xorl	%esi,%ecx
671 	xorl	%edi,%ebp
672 	rorl	$2,%ecx
673 	addl	%edx,%ebp
674 	addl	4(%esp),%edx
675 	addl	%ecx,%ebp
676 	movl	%edx,%esi
677 	movl	8(%esp),%ecx
678 	rorl	$14,%edx
679 	movl	12(%esp),%edi
680 	xorl	%esi,%edx
681 	movl	76(%esp),%ebx
682 	xorl	%edi,%ecx
683 	rorl	$5,%edx
684 	andl	%esi,%ecx
685 	movl	%esi,4(%esp)
686 	xorl	%esi,%edx
687 	addl	16(%esp),%ebx
688 	xorl	%ecx,%edi
689 	rorl	$6,%edx
690 	movl	%ebp,%esi
691 	addl	%edi,%ebx
692 	rorl	$9,%esi
693 	movl	%ebp,%ecx
694 	movl	24(%esp),%edi
695 	xorl	%ebp,%esi
696 	movl	%ebp,20(%esp)
697 	xorl	%edi,%ebp
698 	rorl	$11,%esi
699 	andl	%ebp,%eax
700 	leal	1426881987(%ebx,%edx,1),%edx
701 	xorl	%ecx,%esi
702 	xorl	%edi,%eax
703 	rorl	$2,%esi
704 	addl	%edx,%eax
705 	addl	(%esp),%edx
706 	addl	%esi,%eax
707 	movl	%edx,%ecx
708 	movl	4(%esp),%esi
709 	rorl	$14,%edx
710 	movl	8(%esp),%edi
711 	xorl	%ecx,%edx
712 	movl	80(%esp),%ebx
713 	xorl	%edi,%esi
714 	rorl	$5,%edx
715 	andl	%ecx,%esi
716 	movl	%ecx,(%esp)
717 	xorl	%ecx,%edx
718 	addl	12(%esp),%ebx
719 	xorl	%esi,%edi
720 	rorl	$6,%edx
721 	movl	%eax,%ecx
722 	addl	%edi,%ebx
723 	rorl	$9,%ecx
724 	movl	%eax,%esi
725 	movl	20(%esp),%edi
726 	xorl	%eax,%ecx
727 	movl	%eax,16(%esp)
728 	xorl	%edi,%eax
729 	rorl	$11,%ecx
730 	andl	%eax,%ebp
731 	leal	1925078388(%ebx,%edx,1),%edx
732 	xorl	%esi,%ecx
733 	xorl	%edi,%ebp
734 	rorl	$2,%ecx
735 	addl	%edx,%ebp
736 	addl	28(%esp),%edx
737 	addl	%ecx,%ebp
738 	movl	%edx,%esi
739 	movl	(%esp),%ecx
740 	rorl	$14,%edx
741 	movl	4(%esp),%edi
742 	xorl	%esi,%edx
743 	movl	84(%esp),%ebx
744 	xorl	%edi,%ecx
745 	rorl	$5,%edx
746 	andl	%esi,%ecx
747 	movl	%esi,28(%esp)
748 	xorl	%esi,%edx
749 	addl	8(%esp),%ebx
750 	xorl	%ecx,%edi
751 	rorl	$6,%edx
752 	movl	%ebp,%esi
753 	addl	%edi,%ebx
754 	rorl	$9,%esi
755 	movl	%ebp,%ecx
756 	movl	16(%esp),%edi
757 	xorl	%ebp,%esi
758 	movl	%ebp,12(%esp)
759 	xorl	%edi,%ebp
760 	rorl	$11,%esi
761 	andl	%ebp,%eax
762 	leal	2162078206(%ebx,%edx,1),%edx
763 	xorl	%ecx,%esi
764 	xorl	%edi,%eax
765 	rorl	$2,%esi
766 	addl	%edx,%eax
767 	addl	24(%esp),%edx
768 	addl	%esi,%eax
769 	movl	%edx,%ecx
770 	movl	28(%esp),%esi
771 	rorl	$14,%edx
772 	movl	(%esp),%edi
773 	xorl	%ecx,%edx
774 	movl	88(%esp),%ebx
775 	xorl	%edi,%esi
776 	rorl	$5,%edx
777 	andl	%ecx,%esi
778 	movl	%ecx,24(%esp)
779 	xorl	%ecx,%edx
780 	addl	4(%esp),%ebx
781 	xorl	%esi,%edi
782 	rorl	$6,%edx
783 	movl	%eax,%ecx
784 	addl	%edi,%ebx
785 	rorl	$9,%ecx
786 	movl	%eax,%esi
787 	movl	12(%esp),%edi
788 	xorl	%eax,%ecx
789 	movl	%eax,8(%esp)
790 	xorl	%edi,%eax
791 	rorl	$11,%ecx
792 	andl	%eax,%ebp
793 	leal	2614888103(%ebx,%edx,1),%edx
794 	xorl	%esi,%ecx
795 	xorl	%edi,%ebp
796 	rorl	$2,%ecx
797 	addl	%edx,%ebp
798 	addl	20(%esp),%edx
799 	addl	%ecx,%ebp
800 	movl	%edx,%esi
801 	movl	24(%esp),%ecx
802 	rorl	$14,%edx
803 	movl	28(%esp),%edi
804 	xorl	%esi,%edx
805 	movl	92(%esp),%ebx
806 	xorl	%edi,%ecx
807 	rorl	$5,%edx
808 	andl	%esi,%ecx
809 	movl	%esi,20(%esp)
810 	xorl	%esi,%edx
811 	addl	(%esp),%ebx
812 	xorl	%ecx,%edi
813 	rorl	$6,%edx
814 	movl	%ebp,%esi
815 	addl	%edi,%ebx
816 	rorl	$9,%esi
817 	movl	%ebp,%ecx
818 	movl	8(%esp),%edi
819 	xorl	%ebp,%esi
820 	movl	%ebp,4(%esp)
821 	xorl	%edi,%ebp
822 	rorl	$11,%esi
823 	andl	%ebp,%eax
824 	leal	3248222580(%ebx,%edx,1),%edx
825 	xorl	%ecx,%esi
826 	xorl	%edi,%eax
827 	movl	36(%esp),%ecx
828 	rorl	$2,%esi
829 	addl	%edx,%eax
830 	addl	16(%esp),%edx
831 	addl	%esi,%eax
832 	movl	88(%esp),%esi
833 	movl	%ecx,%ebx
834 	rorl	$11,%ecx
835 	movl	%esi,%edi
836 	rorl	$2,%esi
837 	xorl	%ebx,%ecx
838 	shrl	$3,%ebx
839 	rorl	$7,%ecx
840 	xorl	%edi,%esi
841 	xorl	%ecx,%ebx
842 	rorl	$17,%esi
843 	addl	32(%esp),%ebx
844 	shrl	$10,%edi
845 	addl	68(%esp),%ebx
846 	movl	%edx,%ecx
847 	xorl	%esi,%edi
848 	movl	20(%esp),%esi
849 	rorl	$14,%edx
850 	addl	%edi,%ebx
851 	movl	24(%esp),%edi
852 	xorl	%ecx,%edx
853 	movl	%ebx,32(%esp)
854 	xorl	%edi,%esi
855 	rorl	$5,%edx
856 	andl	%ecx,%esi
857 	movl	%ecx,16(%esp)
858 	xorl	%ecx,%edx
859 	addl	28(%esp),%ebx
860 	xorl	%esi,%edi
861 	rorl	$6,%edx
862 	movl	%eax,%ecx
863 	addl	%edi,%ebx
864 	rorl	$9,%ecx
865 	movl	%eax,%esi
866 	movl	4(%esp),%edi
867 	xorl	%eax,%ecx
868 	movl	%eax,(%esp)
869 	xorl	%edi,%eax
870 	rorl	$11,%ecx
871 	andl	%eax,%ebp
872 	leal	3835390401(%ebx,%edx,1),%edx
873 	xorl	%esi,%ecx
874 	xorl	%edi,%ebp
875 	movl	40(%esp),%esi
876 	rorl	$2,%ecx
877 	addl	%edx,%ebp
878 	addl	12(%esp),%edx
879 	addl	%ecx,%ebp
880 	movl	92(%esp),%ecx
881 	movl	%esi,%ebx
882 	rorl	$11,%esi
883 	movl	%ecx,%edi
884 	rorl	$2,%ecx
885 	xorl	%ebx,%esi
886 	shrl	$3,%ebx
887 	rorl	$7,%esi
888 	xorl	%edi,%ecx
889 	xorl	%esi,%ebx
890 	rorl	$17,%ecx
891 	addl	36(%esp),%ebx
892 	shrl	$10,%edi
893 	addl	72(%esp),%ebx
894 	movl	%edx,%esi
895 	xorl	%ecx,%edi
896 	movl	16(%esp),%ecx
897 	rorl	$14,%edx
898 	addl	%edi,%ebx
899 	movl	20(%esp),%edi
900 	xorl	%esi,%edx
901 	movl	%ebx,36(%esp)
902 	xorl	%edi,%ecx
903 	rorl	$5,%edx
904 	andl	%esi,%ecx
905 	movl	%esi,12(%esp)
906 	xorl	%esi,%edx
907 	addl	24(%esp),%ebx
908 	xorl	%ecx,%edi
909 	rorl	$6,%edx
910 	movl	%ebp,%esi
911 	addl	%edi,%ebx
912 	rorl	$9,%esi
913 	movl	%ebp,%ecx
914 	movl	(%esp),%edi
915 	xorl	%ebp,%esi
916 	movl	%ebp,28(%esp)
917 	xorl	%edi,%ebp
918 	rorl	$11,%esi
919 	andl	%ebp,%eax
920 	leal	4022224774(%ebx,%edx,1),%edx
921 	xorl	%ecx,%esi
922 	xorl	%edi,%eax
923 	movl	44(%esp),%ecx
924 	rorl	$2,%esi
925 	addl	%edx,%eax
926 	addl	8(%esp),%edx
927 	addl	%esi,%eax
928 	movl	32(%esp),%esi
929 	movl	%ecx,%ebx
930 	rorl	$11,%ecx
931 	movl	%esi,%edi
932 	rorl	$2,%esi
933 	xorl	%ebx,%ecx
934 	shrl	$3,%ebx
935 	rorl	$7,%ecx
936 	xorl	%edi,%esi
937 	xorl	%ecx,%ebx
938 	rorl	$17,%esi
939 	addl	40(%esp),%ebx
940 	shrl	$10,%edi
941 	addl	76(%esp),%ebx
942 	movl	%edx,%ecx
943 	xorl	%esi,%edi
944 	movl	12(%esp),%esi
945 	rorl	$14,%edx
946 	addl	%edi,%ebx
947 	movl	16(%esp),%edi
948 	xorl	%ecx,%edx
949 	movl	%ebx,40(%esp)
950 	xorl	%edi,%esi
951 	rorl	$5,%edx
952 	andl	%ecx,%esi
953 	movl	%ecx,8(%esp)
954 	xorl	%ecx,%edx
955 	addl	20(%esp),%ebx
956 	xorl	%esi,%edi
957 	rorl	$6,%edx
958 	movl	%eax,%ecx
959 	addl	%edi,%ebx
960 	rorl	$9,%ecx
961 	movl	%eax,%esi
962 	movl	28(%esp),%edi
963 	xorl	%eax,%ecx
964 	movl	%eax,24(%esp)
965 	xorl	%edi,%eax
966 	rorl	$11,%ecx
967 	andl	%eax,%ebp
968 	leal	264347078(%ebx,%edx,1),%edx
969 	xorl	%esi,%ecx
970 	xorl	%edi,%ebp
971 	movl	48(%esp),%esi
972 	rorl	$2,%ecx
973 	addl	%edx,%ebp
974 	addl	4(%esp),%edx
975 	addl	%ecx,%ebp
976 	movl	36(%esp),%ecx
977 	movl	%esi,%ebx
978 	rorl	$11,%esi
979 	movl	%ecx,%edi
980 	rorl	$2,%ecx
981 	xorl	%ebx,%esi
982 	shrl	$3,%ebx
983 	rorl	$7,%esi
984 	xorl	%edi,%ecx
985 	xorl	%esi,%ebx
986 	rorl	$17,%ecx
987 	addl	44(%esp),%ebx
988 	shrl	$10,%edi
989 	addl	80(%esp),%ebx
990 	movl	%edx,%esi
991 	xorl	%ecx,%edi
992 	movl	8(%esp),%ecx
993 	rorl	$14,%edx
994 	addl	%edi,%ebx
995 	movl	12(%esp),%edi
996 	xorl	%esi,%edx
997 	movl	%ebx,44(%esp)
998 	xorl	%edi,%ecx
999 	rorl	$5,%edx
1000 	andl	%esi,%ecx
1001 	movl	%esi,4(%esp)
1002 	xorl	%esi,%edx
1003 	addl	16(%esp),%ebx
1004 	xorl	%ecx,%edi
1005 	rorl	$6,%edx
1006 	movl	%ebp,%esi
1007 	addl	%edi,%ebx
1008 	rorl	$9,%esi
1009 	movl	%ebp,%ecx
1010 	movl	24(%esp),%edi
1011 	xorl	%ebp,%esi
1012 	movl	%ebp,20(%esp)
1013 	xorl	%edi,%ebp
1014 	rorl	$11,%esi
1015 	andl	%ebp,%eax
1016 	leal	604807628(%ebx,%edx,1),%edx
1017 	xorl	%ecx,%esi
1018 	xorl	%edi,%eax
1019 	movl	52(%esp),%ecx
1020 	rorl	$2,%esi
1021 	addl	%edx,%eax
1022 	addl	(%esp),%edx
1023 	addl	%esi,%eax
1024 	movl	40(%esp),%esi
1025 	movl	%ecx,%ebx
1026 	rorl	$11,%ecx
1027 	movl	%esi,%edi
1028 	rorl	$2,%esi
1029 	xorl	%ebx,%ecx
1030 	shrl	$3,%ebx
1031 	rorl	$7,%ecx
1032 	xorl	%edi,%esi
1033 	xorl	%ecx,%ebx
1034 	rorl	$17,%esi
1035 	addl	48(%esp),%ebx
1036 	shrl	$10,%edi
1037 	addl	84(%esp),%ebx
1038 	movl	%edx,%ecx
1039 	xorl	%esi,%edi
1040 	movl	4(%esp),%esi
1041 	rorl	$14,%edx
1042 	addl	%edi,%ebx
1043 	movl	8(%esp),%edi
1044 	xorl	%ecx,%edx
1045 	movl	%ebx,48(%esp)
1046 	xorl	%edi,%esi
1047 	rorl	$5,%edx
1048 	andl	%ecx,%esi
1049 	movl	%ecx,(%esp)
1050 	xorl	%ecx,%edx
1051 	addl	12(%esp),%ebx
1052 	xorl	%esi,%edi
1053 	rorl	$6,%edx
1054 	movl	%eax,%ecx
1055 	addl	%edi,%ebx
1056 	rorl	$9,%ecx
1057 	movl	%eax,%esi
1058 	movl	20(%esp),%edi
1059 	xorl	%eax,%ecx
1060 	movl	%eax,16(%esp)
1061 	xorl	%edi,%eax
1062 	rorl	$11,%ecx
1063 	andl	%eax,%ebp
1064 	leal	770255983(%ebx,%edx,1),%edx
1065 	xorl	%esi,%ecx
1066 	xorl	%edi,%ebp
1067 	movl	56(%esp),%esi
1068 	rorl	$2,%ecx
1069 	addl	%edx,%ebp
1070 	addl	28(%esp),%edx
1071 	addl	%ecx,%ebp
1072 	movl	44(%esp),%ecx
1073 	movl	%esi,%ebx
1074 	rorl	$11,%esi
1075 	movl	%ecx,%edi
1076 	rorl	$2,%ecx
1077 	xorl	%ebx,%esi
1078 	shrl	$3,%ebx
1079 	rorl	$7,%esi
1080 	xorl	%edi,%ecx
1081 	xorl	%esi,%ebx
1082 	rorl	$17,%ecx
1083 	addl	52(%esp),%ebx
1084 	shrl	$10,%edi
1085 	addl	88(%esp),%ebx
1086 	movl	%edx,%esi
1087 	xorl	%ecx,%edi
1088 	movl	(%esp),%ecx
1089 	rorl	$14,%edx
1090 	addl	%edi,%ebx
1091 	movl	4(%esp),%edi
1092 	xorl	%esi,%edx
1093 	movl	%ebx,52(%esp)
1094 	xorl	%edi,%ecx
1095 	rorl	$5,%edx
1096 	andl	%esi,%ecx
1097 	movl	%esi,28(%esp)
1098 	xorl	%esi,%edx
1099 	addl	8(%esp),%ebx
1100 	xorl	%ecx,%edi
1101 	rorl	$6,%edx
1102 	movl	%ebp,%esi
1103 	addl	%edi,%ebx
1104 	rorl	$9,%esi
1105 	movl	%ebp,%ecx
1106 	movl	16(%esp),%edi
1107 	xorl	%ebp,%esi
1108 	movl	%ebp,12(%esp)
1109 	xorl	%edi,%ebp
1110 	rorl	$11,%esi
1111 	andl	%ebp,%eax
1112 	leal	1249150122(%ebx,%edx,1),%edx
1113 	xorl	%ecx,%esi
1114 	xorl	%edi,%eax
1115 	movl	60(%esp),%ecx
1116 	rorl	$2,%esi
1117 	addl	%edx,%eax
1118 	addl	24(%esp),%edx
1119 	addl	%esi,%eax
1120 	movl	48(%esp),%esi
1121 	movl	%ecx,%ebx
1122 	rorl	$11,%ecx
1123 	movl	%esi,%edi
1124 	rorl	$2,%esi
1125 	xorl	%ebx,%ecx
1126 	shrl	$3,%ebx
1127 	rorl	$7,%ecx
1128 	xorl	%edi,%esi
1129 	xorl	%ecx,%ebx
1130 	rorl	$17,%esi
1131 	addl	56(%esp),%ebx
1132 	shrl	$10,%edi
1133 	addl	92(%esp),%ebx
1134 	movl	%edx,%ecx
1135 	xorl	%esi,%edi
1136 	movl	28(%esp),%esi
1137 	rorl	$14,%edx
1138 	addl	%edi,%ebx
1139 	movl	(%esp),%edi
1140 	xorl	%ecx,%edx
1141 	movl	%ebx,56(%esp)
1142 	xorl	%edi,%esi
1143 	rorl	$5,%edx
1144 	andl	%ecx,%esi
1145 	movl	%ecx,24(%esp)
1146 	xorl	%ecx,%edx
1147 	addl	4(%esp),%ebx
1148 	xorl	%esi,%edi
1149 	rorl	$6,%edx
1150 	movl	%eax,%ecx
1151 	addl	%edi,%ebx
1152 	rorl	$9,%ecx
1153 	movl	%eax,%esi
1154 	movl	12(%esp),%edi
1155 	xorl	%eax,%ecx
1156 	movl	%eax,8(%esp)
1157 	xorl	%edi,%eax
1158 	rorl	$11,%ecx
1159 	andl	%eax,%ebp
1160 	leal	1555081692(%ebx,%edx,1),%edx
1161 	xorl	%esi,%ecx
1162 	xorl	%edi,%ebp
1163 	movl	64(%esp),%esi
1164 	rorl	$2,%ecx
1165 	addl	%edx,%ebp
1166 	addl	20(%esp),%edx
1167 	addl	%ecx,%ebp
1168 	movl	52(%esp),%ecx
1169 	movl	%esi,%ebx
1170 	rorl	$11,%esi
1171 	movl	%ecx,%edi
1172 	rorl	$2,%ecx
1173 	xorl	%ebx,%esi
1174 	shrl	$3,%ebx
1175 	rorl	$7,%esi
1176 	xorl	%edi,%ecx
1177 	xorl	%esi,%ebx
1178 	rorl	$17,%ecx
1179 	addl	60(%esp),%ebx
1180 	shrl	$10,%edi
1181 	addl	32(%esp),%ebx
1182 	movl	%edx,%esi
1183 	xorl	%ecx,%edi
1184 	movl	24(%esp),%ecx
1185 	rorl	$14,%edx
1186 	addl	%edi,%ebx
1187 	movl	28(%esp),%edi
1188 	xorl	%esi,%edx
1189 	movl	%ebx,60(%esp)
1190 	xorl	%edi,%ecx
1191 	rorl	$5,%edx
1192 	andl	%esi,%ecx
1193 	movl	%esi,20(%esp)
1194 	xorl	%esi,%edx
1195 	addl	(%esp),%ebx
1196 	xorl	%ecx,%edi
1197 	rorl	$6,%edx
1198 	movl	%ebp,%esi
1199 	addl	%edi,%ebx
1200 	rorl	$9,%esi
1201 	movl	%ebp,%ecx
1202 	movl	8(%esp),%edi
1203 	xorl	%ebp,%esi
1204 	movl	%ebp,4(%esp)
1205 	xorl	%edi,%ebp
1206 	rorl	$11,%esi
1207 	andl	%ebp,%eax
1208 	leal	1996064986(%ebx,%edx,1),%edx
1209 	xorl	%ecx,%esi
1210 	xorl	%edi,%eax
1211 	movl	68(%esp),%ecx
1212 	rorl	$2,%esi
1213 	addl	%edx,%eax
1214 	addl	16(%esp),%edx
1215 	addl	%esi,%eax
1216 	movl	56(%esp),%esi
1217 	movl	%ecx,%ebx
1218 	rorl	$11,%ecx
1219 	movl	%esi,%edi
1220 	rorl	$2,%esi
1221 	xorl	%ebx,%ecx
1222 	shrl	$3,%ebx
1223 	rorl	$7,%ecx
1224 	xorl	%edi,%esi
1225 	xorl	%ecx,%ebx
1226 	rorl	$17,%esi
1227 	addl	64(%esp),%ebx
1228 	shrl	$10,%edi
1229 	addl	36(%esp),%ebx
1230 	movl	%edx,%ecx
1231 	xorl	%esi,%edi
1232 	movl	20(%esp),%esi
1233 	rorl	$14,%edx
1234 	addl	%edi,%ebx
1235 	movl	24(%esp),%edi
1236 	xorl	%ecx,%edx
1237 	movl	%ebx,64(%esp)
1238 	xorl	%edi,%esi
1239 	rorl	$5,%edx
1240 	andl	%ecx,%esi
1241 	movl	%ecx,16(%esp)
1242 	xorl	%ecx,%edx
1243 	addl	28(%esp),%ebx
1244 	xorl	%esi,%edi
1245 	rorl	$6,%edx
1246 	movl	%eax,%ecx
1247 	addl	%edi,%ebx
1248 	rorl	$9,%ecx
1249 	movl	%eax,%esi
1250 	movl	4(%esp),%edi
1251 	xorl	%eax,%ecx
1252 	movl	%eax,(%esp)
1253 	xorl	%edi,%eax
1254 	rorl	$11,%ecx
1255 	andl	%eax,%ebp
1256 	leal	2554220882(%ebx,%edx,1),%edx
1257 	xorl	%esi,%ecx
1258 	xorl	%edi,%ebp
1259 	movl	72(%esp),%esi
1260 	rorl	$2,%ecx
1261 	addl	%edx,%ebp
1262 	addl	12(%esp),%edx
1263 	addl	%ecx,%ebp
1264 	movl	60(%esp),%ecx
1265 	movl	%esi,%ebx
1266 	rorl	$11,%esi
1267 	movl	%ecx,%edi
1268 	rorl	$2,%ecx
1269 	xorl	%ebx,%esi
1270 	shrl	$3,%ebx
1271 	rorl	$7,%esi
1272 	xorl	%edi,%ecx
1273 	xorl	%esi,%ebx
1274 	rorl	$17,%ecx
1275 	addl	68(%esp),%ebx
1276 	shrl	$10,%edi
1277 	addl	40(%esp),%ebx
1278 	movl	%edx,%esi
1279 	xorl	%ecx,%edi
1280 	movl	16(%esp),%ecx
1281 	rorl	$14,%edx
1282 	addl	%edi,%ebx
1283 	movl	20(%esp),%edi
1284 	xorl	%esi,%edx
1285 	movl	%ebx,68(%esp)
1286 	xorl	%edi,%ecx
1287 	rorl	$5,%edx
1288 	andl	%esi,%ecx
1289 	movl	%esi,12(%esp)
1290 	xorl	%esi,%edx
1291 	addl	24(%esp),%ebx
1292 	xorl	%ecx,%edi
1293 	rorl	$6,%edx
1294 	movl	%ebp,%esi
1295 	addl	%edi,%ebx
1296 	rorl	$9,%esi
1297 	movl	%ebp,%ecx
1298 	movl	(%esp),%edi
1299 	xorl	%ebp,%esi
1300 	movl	%ebp,28(%esp)
1301 	xorl	%edi,%ebp
1302 	rorl	$11,%esi
1303 	andl	%ebp,%eax
1304 	leal	2821834349(%ebx,%edx,1),%edx
1305 	xorl	%ecx,%esi
1306 	xorl	%edi,%eax
1307 	movl	76(%esp),%ecx
1308 	rorl	$2,%esi
1309 	addl	%edx,%eax
1310 	addl	8(%esp),%edx
1311 	addl	%esi,%eax
1312 	movl	64(%esp),%esi
1313 	movl	%ecx,%ebx
1314 	rorl	$11,%ecx
1315 	movl	%esi,%edi
1316 	rorl	$2,%esi
1317 	xorl	%ebx,%ecx
1318 	shrl	$3,%ebx
1319 	rorl	$7,%ecx
1320 	xorl	%edi,%esi
1321 	xorl	%ecx,%ebx
1322 	rorl	$17,%esi
1323 	addl	72(%esp),%ebx
1324 	shrl	$10,%edi
1325 	addl	44(%esp),%ebx
1326 	movl	%edx,%ecx
1327 	xorl	%esi,%edi
1328 	movl	12(%esp),%esi
1329 	rorl	$14,%edx
1330 	addl	%edi,%ebx
1331 	movl	16(%esp),%edi
1332 	xorl	%ecx,%edx
1333 	movl	%ebx,72(%esp)
1334 	xorl	%edi,%esi
1335 	rorl	$5,%edx
1336 	andl	%ecx,%esi
1337 	movl	%ecx,8(%esp)
1338 	xorl	%ecx,%edx
1339 	addl	20(%esp),%ebx
1340 	xorl	%esi,%edi
1341 	rorl	$6,%edx
1342 	movl	%eax,%ecx
1343 	addl	%edi,%ebx
1344 	rorl	$9,%ecx
1345 	movl	%eax,%esi
1346 	movl	28(%esp),%edi
1347 	xorl	%eax,%ecx
1348 	movl	%eax,24(%esp)
1349 	xorl	%edi,%eax
1350 	rorl	$11,%ecx
1351 	andl	%eax,%ebp
1352 	leal	2952996808(%ebx,%edx,1),%edx
1353 	xorl	%esi,%ecx
1354 	xorl	%edi,%ebp
1355 	movl	80(%esp),%esi
1356 	rorl	$2,%ecx
1357 	addl	%edx,%ebp
1358 	addl	4(%esp),%edx
1359 	addl	%ecx,%ebp
1360 	movl	68(%esp),%ecx
1361 	movl	%esi,%ebx
1362 	rorl	$11,%esi
1363 	movl	%ecx,%edi
1364 	rorl	$2,%ecx
1365 	xorl	%ebx,%esi
1366 	shrl	$3,%ebx
1367 	rorl	$7,%esi
1368 	xorl	%edi,%ecx
1369 	xorl	%esi,%ebx
1370 	rorl	$17,%ecx
1371 	addl	76(%esp),%ebx
1372 	shrl	$10,%edi
1373 	addl	48(%esp),%ebx
1374 	movl	%edx,%esi
1375 	xorl	%ecx,%edi
1376 	movl	8(%esp),%ecx
1377 	rorl	$14,%edx
1378 	addl	%edi,%ebx
1379 	movl	12(%esp),%edi
1380 	xorl	%esi,%edx
1381 	movl	%ebx,76(%esp)
1382 	xorl	%edi,%ecx
1383 	rorl	$5,%edx
1384 	andl	%esi,%ecx
1385 	movl	%esi,4(%esp)
1386 	xorl	%esi,%edx
1387 	addl	16(%esp),%ebx
1388 	xorl	%ecx,%edi
1389 	rorl	$6,%edx
1390 	movl	%ebp,%esi
1391 	addl	%edi,%ebx
1392 	rorl	$9,%esi
1393 	movl	%ebp,%ecx
1394 	movl	24(%esp),%edi
1395 	xorl	%ebp,%esi
1396 	movl	%ebp,20(%esp)
1397 	xorl	%edi,%ebp
1398 	rorl	$11,%esi
1399 	andl	%ebp,%eax
1400 	leal	3210313671(%ebx,%edx,1),%edx
1401 	xorl	%ecx,%esi
1402 	xorl	%edi,%eax
1403 	movl	84(%esp),%ecx
1404 	rorl	$2,%esi
1405 	addl	%edx,%eax
1406 	addl	(%esp),%edx
1407 	addl	%esi,%eax
1408 	movl	72(%esp),%esi
1409 	movl	%ecx,%ebx
1410 	rorl	$11,%ecx
1411 	movl	%esi,%edi
1412 	rorl	$2,%esi
1413 	xorl	%ebx,%ecx
1414 	shrl	$3,%ebx
1415 	rorl	$7,%ecx
1416 	xorl	%edi,%esi
1417 	xorl	%ecx,%ebx
1418 	rorl	$17,%esi
1419 	addl	80(%esp),%ebx
1420 	shrl	$10,%edi
1421 	addl	52(%esp),%ebx
1422 	movl	%edx,%ecx
1423 	xorl	%esi,%edi
1424 	movl	4(%esp),%esi
1425 	rorl	$14,%edx
1426 	addl	%edi,%ebx
1427 	movl	8(%esp),%edi
1428 	xorl	%ecx,%edx
1429 	movl	%ebx,80(%esp)
1430 	xorl	%edi,%esi
1431 	rorl	$5,%edx
1432 	andl	%ecx,%esi
1433 	movl	%ecx,(%esp)
1434 	xorl	%ecx,%edx
1435 	addl	12(%esp),%ebx
1436 	xorl	%esi,%edi
1437 	rorl	$6,%edx
1438 	movl	%eax,%ecx
1439 	addl	%edi,%ebx
1440 	rorl	$9,%ecx
1441 	movl	%eax,%esi
1442 	movl	20(%esp),%edi
1443 	xorl	%eax,%ecx
1444 	movl	%eax,16(%esp)
1445 	xorl	%edi,%eax
1446 	rorl	$11,%ecx
1447 	andl	%eax,%ebp
1448 	leal	3336571891(%ebx,%edx,1),%edx
1449 	xorl	%esi,%ecx
1450 	xorl	%edi,%ebp
1451 	movl	88(%esp),%esi
1452 	rorl	$2,%ecx
1453 	addl	%edx,%ebp
1454 	addl	28(%esp),%edx
1455 	addl	%ecx,%ebp
1456 	movl	76(%esp),%ecx
1457 	movl	%esi,%ebx
1458 	rorl	$11,%esi
1459 	movl	%ecx,%edi
1460 	rorl	$2,%ecx
1461 	xorl	%ebx,%esi
1462 	shrl	$3,%ebx
1463 	rorl	$7,%esi
1464 	xorl	%edi,%ecx
1465 	xorl	%esi,%ebx
1466 	rorl	$17,%ecx
1467 	addl	84(%esp),%ebx
1468 	shrl	$10,%edi
1469 	addl	56(%esp),%ebx
1470 	movl	%edx,%esi
1471 	xorl	%ecx,%edi
1472 	movl	(%esp),%ecx
1473 	rorl	$14,%edx
1474 	addl	%edi,%ebx
1475 	movl	4(%esp),%edi
1476 	xorl	%esi,%edx
1477 	movl	%ebx,84(%esp)
1478 	xorl	%edi,%ecx
1479 	rorl	$5,%edx
1480 	andl	%esi,%ecx
1481 	movl	%esi,28(%esp)
1482 	xorl	%esi,%edx
1483 	addl	8(%esp),%ebx
1484 	xorl	%ecx,%edi
1485 	rorl	$6,%edx
1486 	movl	%ebp,%esi
1487 	addl	%edi,%ebx
1488 	rorl	$9,%esi
1489 	movl	%ebp,%ecx
1490 	movl	16(%esp),%edi
1491 	xorl	%ebp,%esi
1492 	movl	%ebp,12(%esp)
1493 	xorl	%edi,%ebp
1494 	rorl	$11,%esi
1495 	andl	%ebp,%eax
1496 	leal	3584528711(%ebx,%edx,1),%edx
1497 	xorl	%ecx,%esi
1498 	xorl	%edi,%eax
1499 	movl	92(%esp),%ecx
1500 	rorl	$2,%esi
1501 	addl	%edx,%eax
1502 	addl	24(%esp),%edx
1503 	addl	%esi,%eax
1504 	movl	80(%esp),%esi
1505 	movl	%ecx,%ebx
1506 	rorl	$11,%ecx
1507 	movl	%esi,%edi
1508 	rorl	$2,%esi
1509 	xorl	%ebx,%ecx
1510 	shrl	$3,%ebx
1511 	rorl	$7,%ecx
1512 	xorl	%edi,%esi
1513 	xorl	%ecx,%ebx
1514 	rorl	$17,%esi
1515 	addl	88(%esp),%ebx
1516 	shrl	$10,%edi
1517 	addl	60(%esp),%ebx
1518 	movl	%edx,%ecx
1519 	xorl	%esi,%edi
1520 	movl	28(%esp),%esi
1521 	rorl	$14,%edx
1522 	addl	%edi,%ebx
1523 	movl	(%esp),%edi
1524 	xorl	%ecx,%edx
1525 	movl	%ebx,88(%esp)
1526 	xorl	%edi,%esi
1527 	rorl	$5,%edx
1528 	andl	%ecx,%esi
1529 	movl	%ecx,24(%esp)
1530 	xorl	%ecx,%edx
1531 	addl	4(%esp),%ebx
1532 	xorl	%esi,%edi
1533 	rorl	$6,%edx
1534 	movl	%eax,%ecx
1535 	addl	%edi,%ebx
1536 	rorl	$9,%ecx
1537 	movl	%eax,%esi
1538 	movl	12(%esp),%edi
1539 	xorl	%eax,%ecx
1540 	movl	%eax,8(%esp)
1541 	xorl	%edi,%eax
1542 	rorl	$11,%ecx
1543 	andl	%eax,%ebp
1544 	leal	113926993(%ebx,%edx,1),%edx
1545 	xorl	%esi,%ecx
1546 	xorl	%edi,%ebp
1547 	movl	32(%esp),%esi
1548 	rorl	$2,%ecx
1549 	addl	%edx,%ebp
1550 	addl	20(%esp),%edx
1551 	addl	%ecx,%ebp
1552 	movl	84(%esp),%ecx
1553 	movl	%esi,%ebx
1554 	rorl	$11,%esi
1555 	movl	%ecx,%edi
1556 	rorl	$2,%ecx
1557 	xorl	%ebx,%esi
1558 	shrl	$3,%ebx
1559 	rorl	$7,%esi
1560 	xorl	%edi,%ecx
1561 	xorl	%esi,%ebx
1562 	rorl	$17,%ecx
1563 	addl	92(%esp),%ebx
1564 	shrl	$10,%edi
1565 	addl	64(%esp),%ebx
1566 	movl	%edx,%esi
1567 	xorl	%ecx,%edi
1568 	movl	24(%esp),%ecx
1569 	rorl	$14,%edx
1570 	addl	%edi,%ebx
1571 	movl	28(%esp),%edi
1572 	xorl	%esi,%edx
1573 	movl	%ebx,92(%esp)
1574 	xorl	%edi,%ecx
1575 	rorl	$5,%edx
1576 	andl	%esi,%ecx
1577 	movl	%esi,20(%esp)
1578 	xorl	%esi,%edx
1579 	addl	(%esp),%ebx
1580 	xorl	%ecx,%edi
1581 	rorl	$6,%edx
1582 	movl	%ebp,%esi
1583 	addl	%edi,%ebx
1584 	rorl	$9,%esi
1585 	movl	%ebp,%ecx
1586 	movl	8(%esp),%edi
1587 	xorl	%ebp,%esi
1588 	movl	%ebp,4(%esp)
1589 	xorl	%edi,%ebp
1590 	rorl	$11,%esi
1591 	andl	%ebp,%eax
1592 	leal	338241895(%ebx,%edx,1),%edx
1593 	xorl	%ecx,%esi
1594 	xorl	%edi,%eax
1595 	movl	36(%esp),%ecx
1596 	rorl	$2,%esi
1597 	addl	%edx,%eax
1598 	addl	16(%esp),%edx
1599 	addl	%esi,%eax
1600 	movl	88(%esp),%esi
1601 	movl	%ecx,%ebx
1602 	rorl	$11,%ecx
1603 	movl	%esi,%edi
1604 	rorl	$2,%esi
1605 	xorl	%ebx,%ecx
1606 	shrl	$3,%ebx
1607 	rorl	$7,%ecx
1608 	xorl	%edi,%esi
1609 	xorl	%ecx,%ebx
1610 	rorl	$17,%esi
1611 	addl	32(%esp),%ebx
1612 	shrl	$10,%edi
1613 	addl	68(%esp),%ebx
1614 	movl	%edx,%ecx
1615 	xorl	%esi,%edi
1616 	movl	20(%esp),%esi
1617 	rorl	$14,%edx
1618 	addl	%edi,%ebx
1619 	movl	24(%esp),%edi
1620 	xorl	%ecx,%edx
1621 	movl	%ebx,32(%esp)
1622 	xorl	%edi,%esi
1623 	rorl	$5,%edx
1624 	andl	%ecx,%esi
1625 	movl	%ecx,16(%esp)
1626 	xorl	%ecx,%edx
1627 	addl	28(%esp),%ebx
1628 	xorl	%esi,%edi
1629 	rorl	$6,%edx
1630 	movl	%eax,%ecx
1631 	addl	%edi,%ebx
1632 	rorl	$9,%ecx
1633 	movl	%eax,%esi
1634 	movl	4(%esp),%edi
1635 	xorl	%eax,%ecx
1636 	movl	%eax,(%esp)
1637 	xorl	%edi,%eax
1638 	rorl	$11,%ecx
1639 	andl	%eax,%ebp
1640 	leal	666307205(%ebx,%edx,1),%edx
1641 	xorl	%esi,%ecx
1642 	xorl	%edi,%ebp
1643 	movl	40(%esp),%esi
1644 	rorl	$2,%ecx
1645 	addl	%edx,%ebp
1646 	addl	12(%esp),%edx
1647 	addl	%ecx,%ebp
1648 	movl	92(%esp),%ecx
1649 	movl	%esi,%ebx
1650 	rorl	$11,%esi
1651 	movl	%ecx,%edi
1652 	rorl	$2,%ecx
1653 	xorl	%ebx,%esi
1654 	shrl	$3,%ebx
1655 	rorl	$7,%esi
1656 	xorl	%edi,%ecx
1657 	xorl	%esi,%ebx
1658 	rorl	$17,%ecx
1659 	addl	36(%esp),%ebx
1660 	shrl	$10,%edi
1661 	addl	72(%esp),%ebx
1662 	movl	%edx,%esi
1663 	xorl	%ecx,%edi
1664 	movl	16(%esp),%ecx
1665 	rorl	$14,%edx
1666 	addl	%edi,%ebx
1667 	movl	20(%esp),%edi
1668 	xorl	%esi,%edx
1669 	movl	%ebx,36(%esp)
1670 	xorl	%edi,%ecx
1671 	rorl	$5,%edx
1672 	andl	%esi,%ecx
1673 	movl	%esi,12(%esp)
1674 	xorl	%esi,%edx
1675 	addl	24(%esp),%ebx
1676 	xorl	%ecx,%edi
1677 	rorl	$6,%edx
1678 	movl	%ebp,%esi
1679 	addl	%edi,%ebx
1680 	rorl	$9,%esi
1681 	movl	%ebp,%ecx
1682 	movl	(%esp),%edi
1683 	xorl	%ebp,%esi
1684 	movl	%ebp,28(%esp)
1685 	xorl	%edi,%ebp
1686 	rorl	$11,%esi
1687 	andl	%ebp,%eax
1688 	leal	773529912(%ebx,%edx,1),%edx
1689 	xorl	%ecx,%esi
1690 	xorl	%edi,%eax
1691 	movl	44(%esp),%ecx
1692 	rorl	$2,%esi
1693 	addl	%edx,%eax
1694 	addl	8(%esp),%edx
1695 	addl	%esi,%eax
1696 	movl	32(%esp),%esi
1697 	movl	%ecx,%ebx
1698 	rorl	$11,%ecx
1699 	movl	%esi,%edi
1700 	rorl	$2,%esi
1701 	xorl	%ebx,%ecx
1702 	shrl	$3,%ebx
1703 	rorl	$7,%ecx
1704 	xorl	%edi,%esi
1705 	xorl	%ecx,%ebx
1706 	rorl	$17,%esi
1707 	addl	40(%esp),%ebx
1708 	shrl	$10,%edi
1709 	addl	76(%esp),%ebx
1710 	movl	%edx,%ecx
1711 	xorl	%esi,%edi
1712 	movl	12(%esp),%esi
1713 	rorl	$14,%edx
1714 	addl	%edi,%ebx
1715 	movl	16(%esp),%edi
1716 	xorl	%ecx,%edx
1717 	movl	%ebx,40(%esp)
1718 	xorl	%edi,%esi
1719 	rorl	$5,%edx
1720 	andl	%ecx,%esi
1721 	movl	%ecx,8(%esp)
1722 	xorl	%ecx,%edx
1723 	addl	20(%esp),%ebx
1724 	xorl	%esi,%edi
1725 	rorl	$6,%edx
1726 	movl	%eax,%ecx
1727 	addl	%edi,%ebx
1728 	rorl	$9,%ecx
1729 	movl	%eax,%esi
1730 	movl	28(%esp),%edi
1731 	xorl	%eax,%ecx
1732 	movl	%eax,24(%esp)
1733 	xorl	%edi,%eax
1734 	rorl	$11,%ecx
1735 	andl	%eax,%ebp
1736 	leal	1294757372(%ebx,%edx,1),%edx
1737 	xorl	%esi,%ecx
1738 	xorl	%edi,%ebp
1739 	movl	48(%esp),%esi
1740 	rorl	$2,%ecx
1741 	addl	%edx,%ebp
1742 	addl	4(%esp),%edx
1743 	addl	%ecx,%ebp
1744 	movl	36(%esp),%ecx
1745 	movl	%esi,%ebx
1746 	rorl	$11,%esi
1747 	movl	%ecx,%edi
1748 	rorl	$2,%ecx
1749 	xorl	%ebx,%esi
1750 	shrl	$3,%ebx
1751 	rorl	$7,%esi
1752 	xorl	%edi,%ecx
1753 	xorl	%esi,%ebx
1754 	rorl	$17,%ecx
1755 	addl	44(%esp),%ebx
1756 	shrl	$10,%edi
1757 	addl	80(%esp),%ebx
1758 	movl	%edx,%esi
1759 	xorl	%ecx,%edi
1760 	movl	8(%esp),%ecx
1761 	rorl	$14,%edx
1762 	addl	%edi,%ebx
1763 	movl	12(%esp),%edi
1764 	xorl	%esi,%edx
1765 	movl	%ebx,44(%esp)
1766 	xorl	%edi,%ecx
1767 	rorl	$5,%edx
1768 	andl	%esi,%ecx
1769 	movl	%esi,4(%esp)
1770 	xorl	%esi,%edx
1771 	addl	16(%esp),%ebx
1772 	xorl	%ecx,%edi
1773 	rorl	$6,%edx
1774 	movl	%ebp,%esi
1775 	addl	%edi,%ebx
1776 	rorl	$9,%esi
1777 	movl	%ebp,%ecx
1778 	movl	24(%esp),%edi
1779 	xorl	%ebp,%esi
1780 	movl	%ebp,20(%esp)
1781 	xorl	%edi,%ebp
1782 	rorl	$11,%esi
1783 	andl	%ebp,%eax
1784 	leal	1396182291(%ebx,%edx,1),%edx
1785 	xorl	%ecx,%esi
1786 	xorl	%edi,%eax
1787 	movl	52(%esp),%ecx
1788 	rorl	$2,%esi
1789 	addl	%edx,%eax
1790 	addl	(%esp),%edx
1791 	addl	%esi,%eax
1792 	movl	40(%esp),%esi
1793 	movl	%ecx,%ebx
1794 	rorl	$11,%ecx
1795 	movl	%esi,%edi
1796 	rorl	$2,%esi
1797 	xorl	%ebx,%ecx
1798 	shrl	$3,%ebx
1799 	rorl	$7,%ecx
1800 	xorl	%edi,%esi
1801 	xorl	%ecx,%ebx
1802 	rorl	$17,%esi
1803 	addl	48(%esp),%ebx
1804 	shrl	$10,%edi
1805 	addl	84(%esp),%ebx
1806 	movl	%edx,%ecx
1807 	xorl	%esi,%edi
1808 	movl	4(%esp),%esi
1809 	rorl	$14,%edx
1810 	addl	%edi,%ebx
1811 	movl	8(%esp),%edi
1812 	xorl	%ecx,%edx
1813 	movl	%ebx,48(%esp)
1814 	xorl	%edi,%esi
1815 	rorl	$5,%edx
1816 	andl	%ecx,%esi
1817 	movl	%ecx,(%esp)
1818 	xorl	%ecx,%edx
1819 	addl	12(%esp),%ebx
1820 	xorl	%esi,%edi
1821 	rorl	$6,%edx
1822 	movl	%eax,%ecx
1823 	addl	%edi,%ebx
1824 	rorl	$9,%ecx
1825 	movl	%eax,%esi
1826 	movl	20(%esp),%edi
1827 	xorl	%eax,%ecx
1828 	movl	%eax,16(%esp)
1829 	xorl	%edi,%eax
1830 	rorl	$11,%ecx
1831 	andl	%eax,%ebp
1832 	leal	1695183700(%ebx,%edx,1),%edx
1833 	xorl	%esi,%ecx
1834 	xorl	%edi,%ebp
1835 	movl	56(%esp),%esi
1836 	rorl	$2,%ecx
1837 	addl	%edx,%ebp
1838 	addl	28(%esp),%edx
1839 	addl	%ecx,%ebp
1840 	movl	44(%esp),%ecx
1841 	movl	%esi,%ebx
1842 	rorl	$11,%esi
1843 	movl	%ecx,%edi
1844 	rorl	$2,%ecx
1845 	xorl	%ebx,%esi
1846 	shrl	$3,%ebx
1847 	rorl	$7,%esi
1848 	xorl	%edi,%ecx
1849 	xorl	%esi,%ebx
1850 	rorl	$17,%ecx
1851 	addl	52(%esp),%ebx
1852 	shrl	$10,%edi
1853 	addl	88(%esp),%ebx
1854 	movl	%edx,%esi
1855 	xorl	%ecx,%edi
1856 	movl	(%esp),%ecx
1857 	rorl	$14,%edx
1858 	addl	%edi,%ebx
1859 	movl	4(%esp),%edi
1860 	xorl	%esi,%edx
1861 	movl	%ebx,52(%esp)
1862 	xorl	%edi,%ecx
1863 	rorl	$5,%edx
1864 	andl	%esi,%ecx
1865 	movl	%esi,28(%esp)
1866 	xorl	%esi,%edx
1867 	addl	8(%esp),%ebx
1868 	xorl	%ecx,%edi
1869 	rorl	$6,%edx
1870 	movl	%ebp,%esi
1871 	addl	%edi,%ebx
1872 	rorl	$9,%esi
1873 	movl	%ebp,%ecx
1874 	movl	16(%esp),%edi
1875 	xorl	%ebp,%esi
1876 	movl	%ebp,12(%esp)
1877 	xorl	%edi,%ebp
1878 	rorl	$11,%esi
1879 	andl	%ebp,%eax
1880 	leal	1986661051(%ebx,%edx,1),%edx
1881 	xorl	%ecx,%esi
1882 	xorl	%edi,%eax
1883 	movl	60(%esp),%ecx
1884 	rorl	$2,%esi
1885 	addl	%edx,%eax
1886 	addl	24(%esp),%edx
1887 	addl	%esi,%eax
1888 	movl	48(%esp),%esi
1889 	movl	%ecx,%ebx
1890 	rorl	$11,%ecx
1891 	movl	%esi,%edi
1892 	rorl	$2,%esi
1893 	xorl	%ebx,%ecx
1894 	shrl	$3,%ebx
1895 	rorl	$7,%ecx
1896 	xorl	%edi,%esi
1897 	xorl	%ecx,%ebx
1898 	rorl	$17,%esi
1899 	addl	56(%esp),%ebx
1900 	shrl	$10,%edi
1901 	addl	92(%esp),%ebx
1902 	movl	%edx,%ecx
1903 	xorl	%esi,%edi
1904 	movl	28(%esp),%esi
1905 	rorl	$14,%edx
1906 	addl	%edi,%ebx
1907 	movl	(%esp),%edi
1908 	xorl	%ecx,%edx
1909 	movl	%ebx,56(%esp)
1910 	xorl	%edi,%esi
1911 	rorl	$5,%edx
1912 	andl	%ecx,%esi
1913 	movl	%ecx,24(%esp)
1914 	xorl	%ecx,%edx
1915 	addl	4(%esp),%ebx
1916 	xorl	%esi,%edi
1917 	rorl	$6,%edx
1918 	movl	%eax,%ecx
1919 	addl	%edi,%ebx
1920 	rorl	$9,%ecx
1921 	movl	%eax,%esi
1922 	movl	12(%esp),%edi
1923 	xorl	%eax,%ecx
1924 	movl	%eax,8(%esp)
1925 	xorl	%edi,%eax
1926 	rorl	$11,%ecx
1927 	andl	%eax,%ebp
1928 	leal	2177026350(%ebx,%edx,1),%edx
1929 	xorl	%esi,%ecx
1930 	xorl	%edi,%ebp
1931 	movl	64(%esp),%esi
1932 	rorl	$2,%ecx
1933 	addl	%edx,%ebp
1934 	addl	20(%esp),%edx
1935 	addl	%ecx,%ebp
1936 	movl	52(%esp),%ecx
1937 	movl	%esi,%ebx
1938 	rorl	$11,%esi
1939 	movl	%ecx,%edi
1940 	rorl	$2,%ecx
1941 	xorl	%ebx,%esi
1942 	shrl	$3,%ebx
1943 	rorl	$7,%esi
1944 	xorl	%edi,%ecx
1945 	xorl	%esi,%ebx
1946 	rorl	$17,%ecx
1947 	addl	60(%esp),%ebx
1948 	shrl	$10,%edi
1949 	addl	32(%esp),%ebx
1950 	movl	%edx,%esi
1951 	xorl	%ecx,%edi
1952 	movl	24(%esp),%ecx
1953 	rorl	$14,%edx
1954 	addl	%edi,%ebx
1955 	movl	28(%esp),%edi
1956 	xorl	%esi,%edx
1957 	movl	%ebx,60(%esp)
1958 	xorl	%edi,%ecx
1959 	rorl	$5,%edx
1960 	andl	%esi,%ecx
1961 	movl	%esi,20(%esp)
1962 	xorl	%esi,%edx
1963 	addl	(%esp),%ebx
1964 	xorl	%ecx,%edi
1965 	rorl	$6,%edx
1966 	movl	%ebp,%esi
1967 	addl	%edi,%ebx
1968 	rorl	$9,%esi
1969 	movl	%ebp,%ecx
1970 	movl	8(%esp),%edi
1971 	xorl	%ebp,%esi
1972 	movl	%ebp,4(%esp)
1973 	xorl	%edi,%ebp
1974 	rorl	$11,%esi
1975 	andl	%ebp,%eax
1976 	leal	2456956037(%ebx,%edx,1),%edx
1977 	xorl	%ecx,%esi
1978 	xorl	%edi,%eax
1979 	movl	68(%esp),%ecx
1980 	rorl	$2,%esi
1981 	addl	%edx,%eax
1982 	addl	16(%esp),%edx
1983 	addl	%esi,%eax
1984 	movl	56(%esp),%esi
1985 	movl	%ecx,%ebx
1986 	rorl	$11,%ecx
1987 	movl	%esi,%edi
1988 	rorl	$2,%esi
1989 	xorl	%ebx,%ecx
1990 	shrl	$3,%ebx
1991 	rorl	$7,%ecx
1992 	xorl	%edi,%esi
1993 	xorl	%ecx,%ebx
1994 	rorl	$17,%esi
1995 	addl	64(%esp),%ebx
1996 	shrl	$10,%edi
1997 	addl	36(%esp),%ebx
1998 	movl	%edx,%ecx
1999 	xorl	%esi,%edi
2000 	movl	20(%esp),%esi
2001 	rorl	$14,%edx
2002 	addl	%edi,%ebx
2003 	movl	24(%esp),%edi
2004 	xorl	%ecx,%edx
2005 	movl	%ebx,64(%esp)
2006 	xorl	%edi,%esi
2007 	rorl	$5,%edx
2008 	andl	%ecx,%esi
2009 	movl	%ecx,16(%esp)
2010 	xorl	%ecx,%edx
2011 	addl	28(%esp),%ebx
2012 	xorl	%esi,%edi
2013 	rorl	$6,%edx
2014 	movl	%eax,%ecx
2015 	addl	%edi,%ebx
2016 	rorl	$9,%ecx
2017 	movl	%eax,%esi
2018 	movl	4(%esp),%edi
2019 	xorl	%eax,%ecx
2020 	movl	%eax,(%esp)
2021 	xorl	%edi,%eax
2022 	rorl	$11,%ecx
2023 	andl	%eax,%ebp
2024 	leal	2730485921(%ebx,%edx,1),%edx
2025 	xorl	%esi,%ecx
2026 	xorl	%edi,%ebp
2027 	movl	72(%esp),%esi
2028 	rorl	$2,%ecx
2029 	addl	%edx,%ebp
2030 	addl	12(%esp),%edx
2031 	addl	%ecx,%ebp
2032 	movl	60(%esp),%ecx
2033 	movl	%esi,%ebx
2034 	rorl	$11,%esi
2035 	movl	%ecx,%edi
2036 	rorl	$2,%ecx
2037 	xorl	%ebx,%esi
2038 	shrl	$3,%ebx
2039 	rorl	$7,%esi
2040 	xorl	%edi,%ecx
2041 	xorl	%esi,%ebx
2042 	rorl	$17,%ecx
2043 	addl	68(%esp),%ebx
2044 	shrl	$10,%edi
2045 	addl	40(%esp),%ebx
2046 	movl	%edx,%esi
2047 	xorl	%ecx,%edi
2048 	movl	16(%esp),%ecx
2049 	rorl	$14,%edx
2050 	addl	%edi,%ebx
2051 	movl	20(%esp),%edi
2052 	xorl	%esi,%edx
2053 	movl	%ebx,68(%esp)
2054 	xorl	%edi,%ecx
2055 	rorl	$5,%edx
2056 	andl	%esi,%ecx
2057 	movl	%esi,12(%esp)
2058 	xorl	%esi,%edx
2059 	addl	24(%esp),%ebx
2060 	xorl	%ecx,%edi
2061 	rorl	$6,%edx
2062 	movl	%ebp,%esi
2063 	addl	%edi,%ebx
2064 	rorl	$9,%esi
2065 	movl	%ebp,%ecx
2066 	movl	(%esp),%edi
2067 	xorl	%ebp,%esi
2068 	movl	%ebp,28(%esp)
2069 	xorl	%edi,%ebp
2070 	rorl	$11,%esi
2071 	andl	%ebp,%eax
2072 	leal	2820302411(%ebx,%edx,1),%edx
2073 	xorl	%ecx,%esi
2074 	xorl	%edi,%eax
2075 	movl	76(%esp),%ecx
2076 	rorl	$2,%esi
2077 	addl	%edx,%eax
2078 	addl	8(%esp),%edx
2079 	addl	%esi,%eax
2080 	movl	64(%esp),%esi
2081 	movl	%ecx,%ebx
2082 	rorl	$11,%ecx
2083 	movl	%esi,%edi
2084 	rorl	$2,%esi
2085 	xorl	%ebx,%ecx
2086 	shrl	$3,%ebx
2087 	rorl	$7,%ecx
2088 	xorl	%edi,%esi
2089 	xorl	%ecx,%ebx
2090 	rorl	$17,%esi
2091 	addl	72(%esp),%ebx
2092 	shrl	$10,%edi
2093 	addl	44(%esp),%ebx
2094 	movl	%edx,%ecx
2095 	xorl	%esi,%edi
2096 	movl	12(%esp),%esi
2097 	rorl	$14,%edx
2098 	addl	%edi,%ebx
2099 	movl	16(%esp),%edi
2100 	xorl	%ecx,%edx
2101 	movl	%ebx,72(%esp)
2102 	xorl	%edi,%esi
2103 	rorl	$5,%edx
2104 	andl	%ecx,%esi
2105 	movl	%ecx,8(%esp)
2106 	xorl	%ecx,%edx
2107 	addl	20(%esp),%ebx
2108 	xorl	%esi,%edi
2109 	rorl	$6,%edx
2110 	movl	%eax,%ecx
2111 	addl	%edi,%ebx
2112 	rorl	$9,%ecx
2113 	movl	%eax,%esi
2114 	movl	28(%esp),%edi
2115 	xorl	%eax,%ecx
2116 	movl	%eax,24(%esp)
2117 	xorl	%edi,%eax
2118 	rorl	$11,%ecx
2119 	andl	%eax,%ebp
2120 	leal	3259730800(%ebx,%edx,1),%edx
2121 	xorl	%esi,%ecx
2122 	xorl	%edi,%ebp
2123 	movl	80(%esp),%esi
2124 	rorl	$2,%ecx
2125 	addl	%edx,%ebp
2126 	addl	4(%esp),%edx
2127 	addl	%ecx,%ebp
2128 	movl	68(%esp),%ecx
2129 	movl	%esi,%ebx
2130 	rorl	$11,%esi
2131 	movl	%ecx,%edi
2132 	rorl	$2,%ecx
2133 	xorl	%ebx,%esi
2134 	shrl	$3,%ebx
2135 	rorl	$7,%esi
2136 	xorl	%edi,%ecx
2137 	xorl	%esi,%ebx
2138 	rorl	$17,%ecx
2139 	addl	76(%esp),%ebx
2140 	shrl	$10,%edi
2141 	addl	48(%esp),%ebx
2142 	movl	%edx,%esi
2143 	xorl	%ecx,%edi
2144 	movl	8(%esp),%ecx
2145 	rorl	$14,%edx
2146 	addl	%edi,%ebx
2147 	movl	12(%esp),%edi
2148 	xorl	%esi,%edx
2149 	movl	%ebx,76(%esp)
2150 	xorl	%edi,%ecx
2151 	rorl	$5,%edx
2152 	andl	%esi,%ecx
2153 	movl	%esi,4(%esp)
2154 	xorl	%esi,%edx
2155 	addl	16(%esp),%ebx
2156 	xorl	%ecx,%edi
2157 	rorl	$6,%edx
2158 	movl	%ebp,%esi
2159 	addl	%edi,%ebx
2160 	rorl	$9,%esi
2161 	movl	%ebp,%ecx
2162 	movl	24(%esp),%edi
2163 	xorl	%ebp,%esi
2164 	movl	%ebp,20(%esp)
2165 	xorl	%edi,%ebp
2166 	rorl	$11,%esi
2167 	andl	%ebp,%eax
2168 	leal	3345764771(%ebx,%edx,1),%edx
2169 	xorl	%ecx,%esi
2170 	xorl	%edi,%eax
2171 	movl	84(%esp),%ecx
2172 	rorl	$2,%esi
2173 	addl	%edx,%eax
2174 	addl	(%esp),%edx
2175 	addl	%esi,%eax
2176 	movl	72(%esp),%esi
2177 	movl	%ecx,%ebx
2178 	rorl	$11,%ecx
2179 	movl	%esi,%edi
2180 	rorl	$2,%esi
2181 	xorl	%ebx,%ecx
2182 	shrl	$3,%ebx
2183 	rorl	$7,%ecx
2184 	xorl	%edi,%esi
2185 	xorl	%ecx,%ebx
2186 	rorl	$17,%esi
2187 	addl	80(%esp),%ebx
2188 	shrl	$10,%edi
2189 	addl	52(%esp),%ebx
2190 	movl	%edx,%ecx
2191 	xorl	%esi,%edi
2192 	movl	4(%esp),%esi
2193 	rorl	$14,%edx
2194 	addl	%edi,%ebx
2195 	movl	8(%esp),%edi
2196 	xorl	%ecx,%edx
2197 	movl	%ebx,80(%esp)
2198 	xorl	%edi,%esi
2199 	rorl	$5,%edx
2200 	andl	%ecx,%esi
2201 	movl	%ecx,(%esp)
2202 	xorl	%ecx,%edx
2203 	addl	12(%esp),%ebx
2204 	xorl	%esi,%edi
2205 	rorl	$6,%edx
2206 	movl	%eax,%ecx
2207 	addl	%edi,%ebx
2208 	rorl	$9,%ecx
2209 	movl	%eax,%esi
2210 	movl	20(%esp),%edi
2211 	xorl	%eax,%ecx
2212 	movl	%eax,16(%esp)
2213 	xorl	%edi,%eax
2214 	rorl	$11,%ecx
2215 	andl	%eax,%ebp
2216 	leal	3516065817(%ebx,%edx,1),%edx
2217 	xorl	%esi,%ecx
2218 	xorl	%edi,%ebp
2219 	movl	88(%esp),%esi
2220 	rorl	$2,%ecx
2221 	addl	%edx,%ebp
2222 	addl	28(%esp),%edx
2223 	addl	%ecx,%ebp
2224 	movl	76(%esp),%ecx
2225 	movl	%esi,%ebx
2226 	rorl	$11,%esi
2227 	movl	%ecx,%edi
2228 	rorl	$2,%ecx
2229 	xorl	%ebx,%esi
2230 	shrl	$3,%ebx
2231 	rorl	$7,%esi
2232 	xorl	%edi,%ecx
2233 	xorl	%esi,%ebx
2234 	rorl	$17,%ecx
2235 	addl	84(%esp),%ebx
2236 	shrl	$10,%edi
2237 	addl	56(%esp),%ebx
2238 	movl	%edx,%esi
2239 	xorl	%ecx,%edi
2240 	movl	(%esp),%ecx
2241 	rorl	$14,%edx
2242 	addl	%edi,%ebx
2243 	movl	4(%esp),%edi
2244 	xorl	%esi,%edx
2245 	movl	%ebx,84(%esp)
2246 	xorl	%edi,%ecx
2247 	rorl	$5,%edx
2248 	andl	%esi,%ecx
2249 	movl	%esi,28(%esp)
2250 	xorl	%esi,%edx
2251 	addl	8(%esp),%ebx
2252 	xorl	%ecx,%edi
2253 	rorl	$6,%edx
2254 	movl	%ebp,%esi
2255 	addl	%edi,%ebx
2256 	rorl	$9,%esi
2257 	movl	%ebp,%ecx
2258 	movl	16(%esp),%edi
2259 	xorl	%ebp,%esi
2260 	movl	%ebp,12(%esp)
2261 	xorl	%edi,%ebp
2262 	rorl	$11,%esi
2263 	andl	%ebp,%eax
2264 	leal	3600352804(%ebx,%edx,1),%edx
2265 	xorl	%ecx,%esi
2266 	xorl	%edi,%eax
2267 	movl	92(%esp),%ecx
2268 	rorl	$2,%esi
2269 	addl	%edx,%eax
2270 	addl	24(%esp),%edx
2271 	addl	%esi,%eax
2272 	movl	80(%esp),%esi
2273 	movl	%ecx,%ebx
2274 	rorl	$11,%ecx
2275 	movl	%esi,%edi
2276 	rorl	$2,%esi
2277 	xorl	%ebx,%ecx
2278 	shrl	$3,%ebx
2279 	rorl	$7,%ecx
2280 	xorl	%edi,%esi
2281 	xorl	%ecx,%ebx
2282 	rorl	$17,%esi
2283 	addl	88(%esp),%ebx
2284 	shrl	$10,%edi
2285 	addl	60(%esp),%ebx
2286 	movl	%edx,%ecx
2287 	xorl	%esi,%edi
2288 	movl	28(%esp),%esi
2289 	rorl	$14,%edx
2290 	addl	%edi,%ebx
2291 	movl	(%esp),%edi
2292 	xorl	%ecx,%edx
2293 	movl	%ebx,88(%esp)
2294 	xorl	%edi,%esi
2295 	rorl	$5,%edx
2296 	andl	%ecx,%esi
2297 	movl	%ecx,24(%esp)
2298 	xorl	%ecx,%edx
2299 	addl	4(%esp),%ebx
2300 	xorl	%esi,%edi
2301 	rorl	$6,%edx
2302 	movl	%eax,%ecx
2303 	addl	%edi,%ebx
2304 	rorl	$9,%ecx
2305 	movl	%eax,%esi
2306 	movl	12(%esp),%edi
2307 	xorl	%eax,%ecx
2308 	movl	%eax,8(%esp)
2309 	xorl	%edi,%eax
2310 	rorl	$11,%ecx
2311 	andl	%eax,%ebp
2312 	leal	4094571909(%ebx,%edx,1),%edx
2313 	xorl	%esi,%ecx
2314 	xorl	%edi,%ebp
2315 	movl	32(%esp),%esi
2316 	rorl	$2,%ecx
2317 	addl	%edx,%ebp
2318 	addl	20(%esp),%edx
2319 	addl	%ecx,%ebp
2320 	movl	84(%esp),%ecx
2321 	movl	%esi,%ebx
2322 	rorl	$11,%esi
2323 	movl	%ecx,%edi
2324 	rorl	$2,%ecx
2325 	xorl	%ebx,%esi
2326 	shrl	$3,%ebx
2327 	rorl	$7,%esi
2328 	xorl	%edi,%ecx
2329 	xorl	%esi,%ebx
2330 	rorl	$17,%ecx
2331 	addl	92(%esp),%ebx
2332 	shrl	$10,%edi
2333 	addl	64(%esp),%ebx
2334 	movl	%edx,%esi
2335 	xorl	%ecx,%edi
2336 	movl	24(%esp),%ecx
2337 	rorl	$14,%edx
2338 	addl	%edi,%ebx
2339 	movl	28(%esp),%edi
2340 	xorl	%esi,%edx
2341 	movl	%ebx,92(%esp)
2342 	xorl	%edi,%ecx
2343 	rorl	$5,%edx
2344 	andl	%esi,%ecx
2345 	movl	%esi,20(%esp)
2346 	xorl	%esi,%edx
2347 	addl	(%esp),%ebx
2348 	xorl	%ecx,%edi
2349 	rorl	$6,%edx
2350 	movl	%ebp,%esi
2351 	addl	%edi,%ebx
2352 	rorl	$9,%esi
2353 	movl	%ebp,%ecx
2354 	movl	8(%esp),%edi
2355 	xorl	%ebp,%esi
2356 	movl	%ebp,4(%esp)
2357 	xorl	%edi,%ebp
2358 	rorl	$11,%esi
2359 	andl	%ebp,%eax
2360 	leal	275423344(%ebx,%edx,1),%edx
2361 	xorl	%ecx,%esi
2362 	xorl	%edi,%eax
2363 	movl	36(%esp),%ecx
2364 	rorl	$2,%esi
2365 	addl	%edx,%eax
2366 	addl	16(%esp),%edx
2367 	addl	%esi,%eax
2368 	movl	88(%esp),%esi
2369 	movl	%ecx,%ebx
2370 	rorl	$11,%ecx
2371 	movl	%esi,%edi
2372 	rorl	$2,%esi
2373 	xorl	%ebx,%ecx
2374 	shrl	$3,%ebx
2375 	rorl	$7,%ecx
2376 	xorl	%edi,%esi
2377 	xorl	%ecx,%ebx
2378 	rorl	$17,%esi
2379 	addl	32(%esp),%ebx
2380 	shrl	$10,%edi
2381 	addl	68(%esp),%ebx
2382 	movl	%edx,%ecx
2383 	xorl	%esi,%edi
2384 	movl	20(%esp),%esi
2385 	rorl	$14,%edx
2386 	addl	%edi,%ebx
2387 	movl	24(%esp),%edi
2388 	xorl	%ecx,%edx
2389 	movl	%ebx,32(%esp)
2390 	xorl	%edi,%esi
2391 	rorl	$5,%edx
2392 	andl	%ecx,%esi
2393 	movl	%ecx,16(%esp)
2394 	xorl	%ecx,%edx
2395 	addl	28(%esp),%ebx
2396 	xorl	%esi,%edi
2397 	rorl	$6,%edx
2398 	movl	%eax,%ecx
2399 	addl	%edi,%ebx
2400 	rorl	$9,%ecx
2401 	movl	%eax,%esi
2402 	movl	4(%esp),%edi
2403 	xorl	%eax,%ecx
2404 	movl	%eax,(%esp)
2405 	xorl	%edi,%eax
2406 	rorl	$11,%ecx
2407 	andl	%eax,%ebp
2408 	leal	430227734(%ebx,%edx,1),%edx
2409 	xorl	%esi,%ecx
2410 	xorl	%edi,%ebp
2411 	movl	40(%esp),%esi
2412 	rorl	$2,%ecx
2413 	addl	%edx,%ebp
2414 	addl	12(%esp),%edx
2415 	addl	%ecx,%ebp
2416 	movl	92(%esp),%ecx
2417 	movl	%esi,%ebx
2418 	rorl	$11,%esi
2419 	movl	%ecx,%edi
2420 	rorl	$2,%ecx
2421 	xorl	%ebx,%esi
2422 	shrl	$3,%ebx
2423 	rorl	$7,%esi
2424 	xorl	%edi,%ecx
2425 	xorl	%esi,%ebx
2426 	rorl	$17,%ecx
2427 	addl	36(%esp),%ebx
2428 	shrl	$10,%edi
2429 	addl	72(%esp),%ebx
2430 	movl	%edx,%esi
2431 	xorl	%ecx,%edi
2432 	movl	16(%esp),%ecx
2433 	rorl	$14,%edx
2434 	addl	%edi,%ebx
2435 	movl	20(%esp),%edi
2436 	xorl	%esi,%edx
2437 	movl	%ebx,36(%esp)
2438 	xorl	%edi,%ecx
2439 	rorl	$5,%edx
2440 	andl	%esi,%ecx
2441 	movl	%esi,12(%esp)
2442 	xorl	%esi,%edx
2443 	addl	24(%esp),%ebx
2444 	xorl	%ecx,%edi
2445 	rorl	$6,%edx
2446 	movl	%ebp,%esi
2447 	addl	%edi,%ebx
2448 	rorl	$9,%esi
2449 	movl	%ebp,%ecx
2450 	movl	(%esp),%edi
2451 	xorl	%ebp,%esi
2452 	movl	%ebp,28(%esp)
2453 	xorl	%edi,%ebp
2454 	rorl	$11,%esi
2455 	andl	%ebp,%eax
2456 	leal	506948616(%ebx,%edx,1),%edx
2457 	xorl	%ecx,%esi
2458 	xorl	%edi,%eax
2459 	movl	44(%esp),%ecx
2460 	rorl	$2,%esi
2461 	addl	%edx,%eax
2462 	addl	8(%esp),%edx
2463 	addl	%esi,%eax
2464 	movl	32(%esp),%esi
2465 	movl	%ecx,%ebx
2466 	rorl	$11,%ecx
2467 	movl	%esi,%edi
2468 	rorl	$2,%esi
2469 	xorl	%ebx,%ecx
2470 	shrl	$3,%ebx
2471 	rorl	$7,%ecx
2472 	xorl	%edi,%esi
2473 	xorl	%ecx,%ebx
2474 	rorl	$17,%esi
2475 	addl	40(%esp),%ebx
2476 	shrl	$10,%edi
2477 	addl	76(%esp),%ebx
2478 	movl	%edx,%ecx
2479 	xorl	%esi,%edi
2480 	movl	12(%esp),%esi
2481 	rorl	$14,%edx
2482 	addl	%edi,%ebx
2483 	movl	16(%esp),%edi
2484 	xorl	%ecx,%edx
2485 	movl	%ebx,40(%esp)
2486 	xorl	%edi,%esi
2487 	rorl	$5,%edx
2488 	andl	%ecx,%esi
2489 	movl	%ecx,8(%esp)
2490 	xorl	%ecx,%edx
2491 	addl	20(%esp),%ebx
2492 	xorl	%esi,%edi
2493 	rorl	$6,%edx
2494 	movl	%eax,%ecx
2495 	addl	%edi,%ebx
2496 	rorl	$9,%ecx
2497 	movl	%eax,%esi
2498 	movl	28(%esp),%edi
2499 	xorl	%eax,%ecx
2500 	movl	%eax,24(%esp)
2501 	xorl	%edi,%eax
2502 	rorl	$11,%ecx
2503 	andl	%eax,%ebp
2504 	leal	659060556(%ebx,%edx,1),%edx
2505 	xorl	%esi,%ecx
2506 	xorl	%edi,%ebp
2507 	movl	48(%esp),%esi
2508 	rorl	$2,%ecx
2509 	addl	%edx,%ebp
2510 	addl	4(%esp),%edx
2511 	addl	%ecx,%ebp
2512 	movl	36(%esp),%ecx
2513 	movl	%esi,%ebx
2514 	rorl	$11,%esi
2515 	movl	%ecx,%edi
2516 	rorl	$2,%ecx
2517 	xorl	%ebx,%esi
2518 	shrl	$3,%ebx
2519 	rorl	$7,%esi
2520 	xorl	%edi,%ecx
2521 	xorl	%esi,%ebx
2522 	rorl	$17,%ecx
2523 	addl	44(%esp),%ebx
2524 	shrl	$10,%edi
2525 	addl	80(%esp),%ebx
2526 	movl	%edx,%esi
2527 	xorl	%ecx,%edi
2528 	movl	8(%esp),%ecx
2529 	rorl	$14,%edx
2530 	addl	%edi,%ebx
2531 	movl	12(%esp),%edi
2532 	xorl	%esi,%edx
2533 	movl	%ebx,44(%esp)
2534 	xorl	%edi,%ecx
2535 	rorl	$5,%edx
2536 	andl	%esi,%ecx
2537 	movl	%esi,4(%esp)
2538 	xorl	%esi,%edx
2539 	addl	16(%esp),%ebx
2540 	xorl	%ecx,%edi
2541 	rorl	$6,%edx
2542 	movl	%ebp,%esi
2543 	addl	%edi,%ebx
2544 	rorl	$9,%esi
2545 	movl	%ebp,%ecx
2546 	movl	24(%esp),%edi
2547 	xorl	%ebp,%esi
2548 	movl	%ebp,20(%esp)
2549 	xorl	%edi,%ebp
2550 	rorl	$11,%esi
2551 	andl	%ebp,%eax
2552 	leal	883997877(%ebx,%edx,1),%edx
2553 	xorl	%ecx,%esi
2554 	xorl	%edi,%eax
2555 	movl	52(%esp),%ecx
2556 	rorl	$2,%esi
2557 	addl	%edx,%eax
2558 	addl	(%esp),%edx
2559 	addl	%esi,%eax
2560 	movl	40(%esp),%esi
2561 	movl	%ecx,%ebx
2562 	rorl	$11,%ecx
2563 	movl	%esi,%edi
2564 	rorl	$2,%esi
2565 	xorl	%ebx,%ecx
2566 	shrl	$3,%ebx
2567 	rorl	$7,%ecx
2568 	xorl	%edi,%esi
2569 	xorl	%ecx,%ebx
2570 	rorl	$17,%esi
2571 	addl	48(%esp),%ebx
2572 	shrl	$10,%edi
2573 	addl	84(%esp),%ebx
2574 	movl	%edx,%ecx
2575 	xorl	%esi,%edi
2576 	movl	4(%esp),%esi
2577 	rorl	$14,%edx
2578 	addl	%edi,%ebx
2579 	movl	8(%esp),%edi
2580 	xorl	%ecx,%edx
2581 	movl	%ebx,48(%esp)
2582 	xorl	%edi,%esi
2583 	rorl	$5,%edx
2584 	andl	%ecx,%esi
2585 	movl	%ecx,(%esp)
2586 	xorl	%ecx,%edx
2587 	addl	12(%esp),%ebx
2588 	xorl	%esi,%edi
2589 	rorl	$6,%edx
2590 	movl	%eax,%ecx
2591 	addl	%edi,%ebx
2592 	rorl	$9,%ecx
2593 	movl	%eax,%esi
2594 	movl	20(%esp),%edi
2595 	xorl	%eax,%ecx
2596 	movl	%eax,16(%esp)
2597 	xorl	%edi,%eax
2598 	rorl	$11,%ecx
2599 	andl	%eax,%ebp
2600 	leal	958139571(%ebx,%edx,1),%edx
2601 	xorl	%esi,%ecx
2602 	xorl	%edi,%ebp
2603 	movl	56(%esp),%esi
2604 	rorl	$2,%ecx
2605 	addl	%edx,%ebp
2606 	addl	28(%esp),%edx
2607 	addl	%ecx,%ebp
2608 	movl	44(%esp),%ecx
2609 	movl	%esi,%ebx
2610 	rorl	$11,%esi
2611 	movl	%ecx,%edi
2612 	rorl	$2,%ecx
2613 	xorl	%ebx,%esi
2614 	shrl	$3,%ebx
2615 	rorl	$7,%esi
2616 	xorl	%edi,%ecx
2617 	xorl	%esi,%ebx
2618 	rorl	$17,%ecx
2619 	addl	52(%esp),%ebx
2620 	shrl	$10,%edi
2621 	addl	88(%esp),%ebx
2622 	movl	%edx,%esi
2623 	xorl	%ecx,%edi
2624 	movl	(%esp),%ecx
2625 	rorl	$14,%edx
2626 	addl	%edi,%ebx
2627 	movl	4(%esp),%edi
2628 	xorl	%esi,%edx
2629 	movl	%ebx,52(%esp)
2630 	xorl	%edi,%ecx
2631 	rorl	$5,%edx
2632 	andl	%esi,%ecx
2633 	movl	%esi,28(%esp)
2634 	xorl	%esi,%edx
2635 	addl	8(%esp),%ebx
2636 	xorl	%ecx,%edi
2637 	rorl	$6,%edx
2638 	movl	%ebp,%esi
2639 	addl	%edi,%ebx
2640 	rorl	$9,%esi
2641 	movl	%ebp,%ecx
2642 	movl	16(%esp),%edi
2643 	xorl	%ebp,%esi
2644 	movl	%ebp,12(%esp)
2645 	xorl	%edi,%ebp
2646 	rorl	$11,%esi
2647 	andl	%ebp,%eax
2648 	leal	1322822218(%ebx,%edx,1),%edx
2649 	xorl	%ecx,%esi
2650 	xorl	%edi,%eax
2651 	movl	60(%esp),%ecx
2652 	rorl	$2,%esi
2653 	addl	%edx,%eax
2654 	addl	24(%esp),%edx
2655 	addl	%esi,%eax
2656 	movl	48(%esp),%esi
2657 	movl	%ecx,%ebx
2658 	rorl	$11,%ecx
2659 	movl	%esi,%edi
2660 	rorl	$2,%esi
2661 	xorl	%ebx,%ecx
2662 	shrl	$3,%ebx
2663 	rorl	$7,%ecx
2664 	xorl	%edi,%esi
2665 	xorl	%ecx,%ebx
2666 	rorl	$17,%esi
2667 	addl	56(%esp),%ebx
2668 	shrl	$10,%edi
2669 	addl	92(%esp),%ebx
2670 	movl	%edx,%ecx
2671 	xorl	%esi,%edi
2672 	movl	28(%esp),%esi
2673 	rorl	$14,%edx
2674 	addl	%edi,%ebx
2675 	movl	(%esp),%edi
2676 	xorl	%ecx,%edx
2677 	movl	%ebx,56(%esp)
2678 	xorl	%edi,%esi
2679 	rorl	$5,%edx
2680 	andl	%ecx,%esi
2681 	movl	%ecx,24(%esp)
2682 	xorl	%ecx,%edx
2683 	addl	4(%esp),%ebx
2684 	xorl	%esi,%edi
2685 	rorl	$6,%edx
2686 	movl	%eax,%ecx
2687 	addl	%edi,%ebx
2688 	rorl	$9,%ecx
2689 	movl	%eax,%esi
2690 	movl	12(%esp),%edi
2691 	xorl	%eax,%ecx
2692 	movl	%eax,8(%esp)
2693 	xorl	%edi,%eax
2694 	rorl	$11,%ecx
2695 	andl	%eax,%ebp
2696 	leal	1537002063(%ebx,%edx,1),%edx
2697 	xorl	%esi,%ecx
2698 	xorl	%edi,%ebp
2699 	movl	64(%esp),%esi
2700 	rorl	$2,%ecx
2701 	addl	%edx,%ebp
2702 	addl	20(%esp),%edx
2703 	addl	%ecx,%ebp
2704 	movl	52(%esp),%ecx
2705 	movl	%esi,%ebx
2706 	rorl	$11,%esi
2707 	movl	%ecx,%edi
2708 	rorl	$2,%ecx
2709 	xorl	%ebx,%esi
2710 	shrl	$3,%ebx
2711 	rorl	$7,%esi
2712 	xorl	%edi,%ecx
2713 	xorl	%esi,%ebx
2714 	rorl	$17,%ecx
2715 	addl	60(%esp),%ebx
2716 	shrl	$10,%edi
2717 	addl	32(%esp),%ebx
2718 	movl	%edx,%esi
2719 	xorl	%ecx,%edi
2720 	movl	24(%esp),%ecx
2721 	rorl	$14,%edx
2722 	addl	%edi,%ebx
2723 	movl	28(%esp),%edi
2724 	xorl	%esi,%edx
2725 	movl	%ebx,60(%esp)
2726 	xorl	%edi,%ecx
2727 	rorl	$5,%edx
2728 	andl	%esi,%ecx
2729 	movl	%esi,20(%esp)
2730 	xorl	%esi,%edx
2731 	addl	(%esp),%ebx
2732 	xorl	%ecx,%edi
2733 	rorl	$6,%edx
2734 	movl	%ebp,%esi
2735 	addl	%edi,%ebx
2736 	rorl	$9,%esi
2737 	movl	%ebp,%ecx
2738 	movl	8(%esp),%edi
2739 	xorl	%ebp,%esi
2740 	movl	%ebp,4(%esp)
2741 	xorl	%edi,%ebp
2742 	rorl	$11,%esi
2743 	andl	%ebp,%eax
2744 	leal	1747873779(%ebx,%edx,1),%edx
2745 	xorl	%ecx,%esi
2746 	xorl	%edi,%eax
2747 	movl	68(%esp),%ecx
2748 	rorl	$2,%esi
2749 	addl	%edx,%eax
2750 	addl	16(%esp),%edx
2751 	addl	%esi,%eax
2752 	movl	56(%esp),%esi
2753 	movl	%ecx,%ebx
2754 	rorl	$11,%ecx
2755 	movl	%esi,%edi
2756 	rorl	$2,%esi
2757 	xorl	%ebx,%ecx
2758 	shrl	$3,%ebx
2759 	rorl	$7,%ecx
2760 	xorl	%edi,%esi
2761 	xorl	%ecx,%ebx
2762 	rorl	$17,%esi
2763 	addl	64(%esp),%ebx
2764 	shrl	$10,%edi
2765 	addl	36(%esp),%ebx
2766 	movl	%edx,%ecx
2767 	xorl	%esi,%edi
2768 	movl	20(%esp),%esi
2769 	rorl	$14,%edx
2770 	addl	%edi,%ebx
2771 	movl	24(%esp),%edi
2772 	xorl	%ecx,%edx
2773 	movl	%ebx,64(%esp)
2774 	xorl	%edi,%esi
2775 	rorl	$5,%edx
2776 	andl	%ecx,%esi
2777 	movl	%ecx,16(%esp)
2778 	xorl	%ecx,%edx
2779 	addl	28(%esp),%ebx
2780 	xorl	%esi,%edi
2781 	rorl	$6,%edx
2782 	movl	%eax,%ecx
2783 	addl	%edi,%ebx
2784 	rorl	$9,%ecx
2785 	movl	%eax,%esi
2786 	movl	4(%esp),%edi
2787 	xorl	%eax,%ecx
2788 	movl	%eax,(%esp)
2789 	xorl	%edi,%eax
2790 	rorl	$11,%ecx
2791 	andl	%eax,%ebp
2792 	leal	1955562222(%ebx,%edx,1),%edx
2793 	xorl	%esi,%ecx
2794 	xorl	%edi,%ebp
2795 	movl	72(%esp),%esi
2796 	rorl	$2,%ecx
2797 	addl	%edx,%ebp
2798 	addl	12(%esp),%edx
2799 	addl	%ecx,%ebp
2800 	movl	60(%esp),%ecx
2801 	movl	%esi,%ebx
2802 	rorl	$11,%esi
2803 	movl	%ecx,%edi
2804 	rorl	$2,%ecx
2805 	xorl	%ebx,%esi
2806 	shrl	$3,%ebx
2807 	rorl	$7,%esi
2808 	xorl	%edi,%ecx
2809 	xorl	%esi,%ebx
2810 	rorl	$17,%ecx
2811 	addl	68(%esp),%ebx
2812 	shrl	$10,%edi
2813 	addl	40(%esp),%ebx
2814 	movl	%edx,%esi
2815 	xorl	%ecx,%edi
2816 	movl	16(%esp),%ecx
2817 	rorl	$14,%edx
2818 	addl	%edi,%ebx
2819 	movl	20(%esp),%edi
2820 	xorl	%esi,%edx
2821 	movl	%ebx,68(%esp)
2822 	xorl	%edi,%ecx
2823 	rorl	$5,%edx
2824 	andl	%esi,%ecx
2825 	movl	%esi,12(%esp)
2826 	xorl	%esi,%edx
2827 	addl	24(%esp),%ebx
2828 	xorl	%ecx,%edi
2829 	rorl	$6,%edx
2830 	movl	%ebp,%esi
2831 	addl	%edi,%ebx
2832 	rorl	$9,%esi
2833 	movl	%ebp,%ecx
2834 	movl	(%esp),%edi
2835 	xorl	%ebp,%esi
2836 	movl	%ebp,28(%esp)
2837 	xorl	%edi,%ebp
2838 	rorl	$11,%esi
2839 	andl	%ebp,%eax
2840 	leal	2024104815(%ebx,%edx,1),%edx
2841 	xorl	%ecx,%esi
2842 	xorl	%edi,%eax
2843 	movl	76(%esp),%ecx
2844 	rorl	$2,%esi
2845 	addl	%edx,%eax
2846 	addl	8(%esp),%edx
2847 	addl	%esi,%eax
2848 	movl	64(%esp),%esi
2849 	movl	%ecx,%ebx
2850 	rorl	$11,%ecx
2851 	movl	%esi,%edi
2852 	rorl	$2,%esi
2853 	xorl	%ebx,%ecx
2854 	shrl	$3,%ebx
2855 	rorl	$7,%ecx
2856 	xorl	%edi,%esi
2857 	xorl	%ecx,%ebx
2858 	rorl	$17,%esi
2859 	addl	72(%esp),%ebx
2860 	shrl	$10,%edi
2861 	addl	44(%esp),%ebx
2862 	movl	%edx,%ecx
2863 	xorl	%esi,%edi
2864 	movl	12(%esp),%esi
2865 	rorl	$14,%edx
2866 	addl	%edi,%ebx
2867 	movl	16(%esp),%edi
2868 	xorl	%ecx,%edx
2869 	movl	%ebx,72(%esp)
2870 	xorl	%edi,%esi
2871 	rorl	$5,%edx
2872 	andl	%ecx,%esi
2873 	movl	%ecx,8(%esp)
2874 	xorl	%ecx,%edx
2875 	addl	20(%esp),%ebx
2876 	xorl	%esi,%edi
2877 	rorl	$6,%edx
2878 	movl	%eax,%ecx
2879 	addl	%edi,%ebx
2880 	rorl	$9,%ecx
2881 	movl	%eax,%esi
2882 	movl	28(%esp),%edi
2883 	xorl	%eax,%ecx
2884 	movl	%eax,24(%esp)
2885 	xorl	%edi,%eax
2886 	rorl	$11,%ecx
2887 	andl	%eax,%ebp
2888 	leal	2227730452(%ebx,%edx,1),%edx
2889 	xorl	%esi,%ecx
2890 	xorl	%edi,%ebp
2891 	movl	80(%esp),%esi
2892 	rorl	$2,%ecx
2893 	addl	%edx,%ebp
2894 	addl	4(%esp),%edx
2895 	addl	%ecx,%ebp
2896 	movl	68(%esp),%ecx
2897 	movl	%esi,%ebx
2898 	rorl	$11,%esi
2899 	movl	%ecx,%edi
2900 	rorl	$2,%ecx
2901 	xorl	%ebx,%esi
2902 	shrl	$3,%ebx
2903 	rorl	$7,%esi
2904 	xorl	%edi,%ecx
2905 	xorl	%esi,%ebx
2906 	rorl	$17,%ecx
2907 	addl	76(%esp),%ebx
2908 	shrl	$10,%edi
2909 	addl	48(%esp),%ebx
2910 	movl	%edx,%esi
2911 	xorl	%ecx,%edi
2912 	movl	8(%esp),%ecx
2913 	rorl	$14,%edx
2914 	addl	%edi,%ebx
2915 	movl	12(%esp),%edi
2916 	xorl	%esi,%edx
2917 	movl	%ebx,76(%esp)
2918 	xorl	%edi,%ecx
2919 	rorl	$5,%edx
2920 	andl	%esi,%ecx
2921 	movl	%esi,4(%esp)
2922 	xorl	%esi,%edx
2923 	addl	16(%esp),%ebx
2924 	xorl	%ecx,%edi
2925 	rorl	$6,%edx
2926 	movl	%ebp,%esi
2927 	addl	%edi,%ebx
2928 	rorl	$9,%esi
2929 	movl	%ebp,%ecx
2930 	movl	24(%esp),%edi
2931 	xorl	%ebp,%esi
2932 	movl	%ebp,20(%esp)
2933 	xorl	%edi,%ebp
2934 	rorl	$11,%esi
2935 	andl	%ebp,%eax
2936 	leal	2361852424(%ebx,%edx,1),%edx
2937 	xorl	%ecx,%esi
2938 	xorl	%edi,%eax
2939 	movl	84(%esp),%ecx
2940 	rorl	$2,%esi
2941 	addl	%edx,%eax
2942 	addl	(%esp),%edx
2943 	addl	%esi,%eax
2944 	movl	72(%esp),%esi
2945 	movl	%ecx,%ebx
2946 	rorl	$11,%ecx
2947 	movl	%esi,%edi
2948 	rorl	$2,%esi
2949 	xorl	%ebx,%ecx
2950 	shrl	$3,%ebx
2951 	rorl	$7,%ecx
2952 	xorl	%edi,%esi
2953 	xorl	%ecx,%ebx
2954 	rorl	$17,%esi
2955 	addl	80(%esp),%ebx
2956 	shrl	$10,%edi
2957 	addl	52(%esp),%ebx
2958 	movl	%edx,%ecx
2959 	xorl	%esi,%edi
2960 	movl	4(%esp),%esi
2961 	rorl	$14,%edx
2962 	addl	%edi,%ebx
2963 	movl	8(%esp),%edi
2964 	xorl	%ecx,%edx
2965 	movl	%ebx,80(%esp)
2966 	xorl	%edi,%esi
2967 	rorl	$5,%edx
2968 	andl	%ecx,%esi
2969 	movl	%ecx,(%esp)
2970 	xorl	%ecx,%edx
2971 	addl	12(%esp),%ebx
2972 	xorl	%esi,%edi
2973 	rorl	$6,%edx
2974 	movl	%eax,%ecx
2975 	addl	%edi,%ebx
2976 	rorl	$9,%ecx
2977 	movl	%eax,%esi
2978 	movl	20(%esp),%edi
2979 	xorl	%eax,%ecx
2980 	movl	%eax,16(%esp)
2981 	xorl	%edi,%eax
2982 	rorl	$11,%ecx
2983 	andl	%eax,%ebp
2984 	leal	2428436474(%ebx,%edx,1),%edx
2985 	xorl	%esi,%ecx
2986 	xorl	%edi,%ebp
2987 	movl	88(%esp),%esi
2988 	rorl	$2,%ecx
2989 	addl	%edx,%ebp
2990 	addl	28(%esp),%edx
2991 	addl	%ecx,%ebp
2992 	movl	76(%esp),%ecx
2993 	movl	%esi,%ebx
2994 	rorl	$11,%esi
2995 	movl	%ecx,%edi
2996 	rorl	$2,%ecx
2997 	xorl	%ebx,%esi
2998 	shrl	$3,%ebx
2999 	rorl	$7,%esi
3000 	xorl	%edi,%ecx
3001 	xorl	%esi,%ebx
3002 	rorl	$17,%ecx
3003 	addl	84(%esp),%ebx
3004 	shrl	$10,%edi
3005 	addl	56(%esp),%ebx
3006 	movl	%edx,%esi
3007 	xorl	%ecx,%edi
3008 	movl	(%esp),%ecx
3009 	rorl	$14,%edx
3010 	addl	%edi,%ebx
3011 	movl	4(%esp),%edi
3012 	xorl	%esi,%edx
3013 	movl	%ebx,84(%esp)
3014 	xorl	%edi,%ecx
3015 	rorl	$5,%edx
3016 	andl	%esi,%ecx
3017 	movl	%esi,28(%esp)
3018 	xorl	%esi,%edx
3019 	addl	8(%esp),%ebx
3020 	xorl	%ecx,%edi
3021 	rorl	$6,%edx
3022 	movl	%ebp,%esi
3023 	addl	%edi,%ebx
3024 	rorl	$9,%esi
3025 	movl	%ebp,%ecx
3026 	movl	16(%esp),%edi
3027 	xorl	%ebp,%esi
3028 	movl	%ebp,12(%esp)
3029 	xorl	%edi,%ebp
3030 	rorl	$11,%esi
3031 	andl	%ebp,%eax
3032 	leal	2756734187(%ebx,%edx,1),%edx
3033 	xorl	%ecx,%esi
3034 	xorl	%edi,%eax
3035 	movl	92(%esp),%ecx
3036 	rorl	$2,%esi
3037 	addl	%edx,%eax
3038 	addl	24(%esp),%edx
3039 	addl	%esi,%eax
3040 	movl	80(%esp),%esi
3041 	movl	%ecx,%ebx
3042 	rorl	$11,%ecx
3043 	movl	%esi,%edi
3044 	rorl	$2,%esi
3045 	xorl	%ebx,%ecx
3046 	shrl	$3,%ebx
3047 	rorl	$7,%ecx
3048 	xorl	%edi,%esi
3049 	xorl	%ecx,%ebx
3050 	rorl	$17,%esi
3051 	addl	88(%esp),%ebx
3052 	shrl	$10,%edi
3053 	addl	60(%esp),%ebx
3054 	movl	%edx,%ecx
3055 	xorl	%esi,%edi
3056 	movl	28(%esp),%esi
3057 	rorl	$14,%edx
3058 	addl	%edi,%ebx
3059 	movl	(%esp),%edi
3060 	xorl	%ecx,%edx
3061 	xorl	%edi,%esi
3062 	rorl	$5,%edx
3063 	andl	%ecx,%esi
3064 	movl	%ecx,24(%esp)
3065 	xorl	%ecx,%edx
3066 	addl	4(%esp),%ebx
3067 	xorl	%esi,%edi
3068 	rorl	$6,%edx
3069 	movl	%eax,%ecx
3070 	addl	%edi,%ebx
3071 	rorl	$9,%ecx
3072 	movl	%eax,%esi
3073 	movl	12(%esp),%edi
3074 	xorl	%eax,%ecx
3075 	movl	%eax,8(%esp)
3076 	xorl	%edi,%eax
3077 	rorl	$11,%ecx
3078 	andl	%eax,%ebp
3079 	leal	3204031479(%ebx,%edx,1),%edx
3080 	xorl	%esi,%ecx
3081 	xorl	%edi,%ebp
3082 	movl	32(%esp),%esi
3083 	rorl	$2,%ecx
3084 	addl	%edx,%ebp
3085 	addl	20(%esp),%edx
3086 	addl	%ecx,%ebp
3087 	movl	84(%esp),%ecx
3088 	movl	%esi,%ebx
3089 	rorl	$11,%esi
3090 	movl	%ecx,%edi
3091 	rorl	$2,%ecx
3092 	xorl	%ebx,%esi
3093 	shrl	$3,%ebx
3094 	rorl	$7,%esi
3095 	xorl	%edi,%ecx
3096 	xorl	%esi,%ebx
3097 	rorl	$17,%ecx
3098 	addl	92(%esp),%ebx
3099 	shrl	$10,%edi
3100 	addl	64(%esp),%ebx
3101 	movl	%edx,%esi
3102 	xorl	%ecx,%edi
3103 	movl	24(%esp),%ecx
3104 	rorl	$14,%edx
3105 	addl	%edi,%ebx
3106 	movl	28(%esp),%edi
3107 	xorl	%esi,%edx
3108 	xorl	%edi,%ecx
3109 	rorl	$5,%edx
3110 	andl	%esi,%ecx
3111 	movl	%esi,20(%esp)
3112 	xorl	%esi,%edx
3113 	addl	(%esp),%ebx
3114 	xorl	%ecx,%edi
3115 	rorl	$6,%edx
3116 	movl	%ebp,%esi
3117 	addl	%edi,%ebx
3118 	rorl	$9,%esi
3119 	movl	%ebp,%ecx
3120 	movl	8(%esp),%edi
3121 	xorl	%ebp,%esi
3122 	movl	%ebp,4(%esp)
3123 	xorl	%edi,%ebp
3124 	rorl	$11,%esi
3125 	andl	%ebp,%eax
3126 	leal	3329325298(%ebx,%edx,1),%edx
3127 	xorl	%ecx,%esi
3128 	xorl	%edi,%eax
3129 	rorl	$2,%esi
3130 	addl	%edx,%eax
3131 	addl	16(%esp),%edx
3132 	addl	%esi,%eax
3133 	movl	96(%esp),%esi
3134 	xorl	%edi,%ebp
3135 	movl	12(%esp),%ecx
3136 	addl	(%esi),%eax
3137 	addl	4(%esi),%ebp
3138 	addl	8(%esi),%edi
3139 	addl	12(%esi),%ecx
3140 	movl	%eax,(%esi)
3141 	movl	%ebp,4(%esi)
3142 	movl	%edi,8(%esi)
3143 	movl	%ecx,12(%esi)
3144 	movl	%ebp,4(%esp)
3145 	xorl	%edi,%ebp
3146 	movl	%edi,8(%esp)
3147 	movl	%ecx,12(%esp)
3148 	movl	20(%esp),%edi
3149 	movl	24(%esp),%ebx
3150 	movl	28(%esp),%ecx
3151 	addl	16(%esi),%edx
3152 	addl	20(%esi),%edi
3153 	addl	24(%esi),%ebx
3154 	addl	28(%esi),%ecx
3155 	movl	%edx,16(%esi)
3156 	movl	%edi,20(%esi)
3157 	movl	%ebx,24(%esi)
3158 	movl	%ecx,28(%esi)
3159 	movl	%edi,20(%esp)
3160 	movl	100(%esp),%edi
3161 	movl	%ebx,24(%esp)
3162 	movl	%ecx,28(%esp)
3163 	cmpl	104(%esp),%edi
3164 	jb	L010grand_loop
3165 	movl	108(%esp),%esp
3166 	popl	%edi
3167 	popl	%esi
3168 	popl	%ebx
3169 	popl	%ebp
3170 	ret
3171 .align	5,0x90
3172 L004shaext:
3173 	subl	$32,%esp
3174 	movdqu	(%esi),%xmm1
3175 	leal	128(%ebp),%ebp
3176 	movdqu	16(%esi),%xmm2
3177 	movdqa	128(%ebp),%xmm7
3178 	pshufd	$27,%xmm1,%xmm0
3179 	pshufd	$177,%xmm1,%xmm1
3180 	pshufd	$27,%xmm2,%xmm2
3181 .byte	102,15,58,15,202,8
3182 	punpcklqdq	%xmm0,%xmm2
3183 	jmp	L011loop_shaext
3184 .align	4,0x90
3185 L011loop_shaext:
3186 	movdqu	(%edi),%xmm3
3187 	movdqu	16(%edi),%xmm4
3188 	movdqu	32(%edi),%xmm5
3189 .byte	102,15,56,0,223
3190 	movdqu	48(%edi),%xmm6
3191 	movdqa	%xmm2,16(%esp)
3192 	movdqa	-128(%ebp),%xmm0
3193 	paddd	%xmm3,%xmm0
3194 .byte	102,15,56,0,231
3195 .byte	15,56,203,209
3196 	pshufd	$14,%xmm0,%xmm0
3197 	nop
3198 	movdqa	%xmm1,(%esp)
3199 .byte	15,56,203,202
3200 	movdqa	-112(%ebp),%xmm0
3201 	paddd	%xmm4,%xmm0
3202 .byte	102,15,56,0,239
3203 .byte	15,56,203,209
3204 	pshufd	$14,%xmm0,%xmm0
3205 	leal	64(%edi),%edi
3206 .byte	15,56,204,220
3207 .byte	15,56,203,202
3208 	movdqa	-96(%ebp),%xmm0
3209 	paddd	%xmm5,%xmm0
3210 .byte	102,15,56,0,247
3211 .byte	15,56,203,209
3212 	pshufd	$14,%xmm0,%xmm0
3213 	movdqa	%xmm6,%xmm7
3214 .byte	102,15,58,15,253,4
3215 	nop
3216 	paddd	%xmm7,%xmm3
3217 .byte	15,56,204,229
3218 .byte	15,56,203,202
3219 	movdqa	-80(%ebp),%xmm0
3220 	paddd	%xmm6,%xmm0
3221 .byte	15,56,205,222
3222 .byte	15,56,203,209
3223 	pshufd	$14,%xmm0,%xmm0
3224 	movdqa	%xmm3,%xmm7
3225 .byte	102,15,58,15,254,4
3226 	nop
3227 	paddd	%xmm7,%xmm4
3228 .byte	15,56,204,238
3229 .byte	15,56,203,202
3230 	movdqa	-64(%ebp),%xmm0
3231 	paddd	%xmm3,%xmm0
3232 .byte	15,56,205,227
3233 .byte	15,56,203,209
3234 	pshufd	$14,%xmm0,%xmm0
3235 	movdqa	%xmm4,%xmm7
3236 .byte	102,15,58,15,251,4
3237 	nop
3238 	paddd	%xmm7,%xmm5
3239 .byte	15,56,204,243
3240 .byte	15,56,203,202
3241 	movdqa	-48(%ebp),%xmm0
3242 	paddd	%xmm4,%xmm0
3243 .byte	15,56,205,236
3244 .byte	15,56,203,209
3245 	pshufd	$14,%xmm0,%xmm0
3246 	movdqa	%xmm5,%xmm7
3247 .byte	102,15,58,15,252,4
3248 	nop
3249 	paddd	%xmm7,%xmm6
3250 .byte	15,56,204,220
3251 .byte	15,56,203,202
3252 	movdqa	-32(%ebp),%xmm0
3253 	paddd	%xmm5,%xmm0
3254 .byte	15,56,205,245
3255 .byte	15,56,203,209
3256 	pshufd	$14,%xmm0,%xmm0
3257 	movdqa	%xmm6,%xmm7
3258 .byte	102,15,58,15,253,4
3259 	nop
3260 	paddd	%xmm7,%xmm3
3261 .byte	15,56,204,229
3262 .byte	15,56,203,202
3263 	movdqa	-16(%ebp),%xmm0
3264 	paddd	%xmm6,%xmm0
3265 .byte	15,56,205,222
3266 .byte	15,56,203,209
3267 	pshufd	$14,%xmm0,%xmm0
3268 	movdqa	%xmm3,%xmm7
3269 .byte	102,15,58,15,254,4
3270 	nop
3271 	paddd	%xmm7,%xmm4
3272 .byte	15,56,204,238
3273 .byte	15,56,203,202
3274 	movdqa	(%ebp),%xmm0
3275 	paddd	%xmm3,%xmm0
3276 .byte	15,56,205,227
3277 .byte	15,56,203,209
3278 	pshufd	$14,%xmm0,%xmm0
3279 	movdqa	%xmm4,%xmm7
3280 .byte	102,15,58,15,251,4
3281 	nop
3282 	paddd	%xmm7,%xmm5
3283 .byte	15,56,204,243
3284 .byte	15,56,203,202
3285 	movdqa	16(%ebp),%xmm0
3286 	paddd	%xmm4,%xmm0
3287 .byte	15,56,205,236
3288 .byte	15,56,203,209
3289 	pshufd	$14,%xmm0,%xmm0
3290 	movdqa	%xmm5,%xmm7
3291 .byte	102,15,58,15,252,4
3292 	nop
3293 	paddd	%xmm7,%xmm6
3294 .byte	15,56,204,220
3295 .byte	15,56,203,202
3296 	movdqa	32(%ebp),%xmm0
3297 	paddd	%xmm5,%xmm0
3298 .byte	15,56,205,245
3299 .byte	15,56,203,209
3300 	pshufd	$14,%xmm0,%xmm0
3301 	movdqa	%xmm6,%xmm7
3302 .byte	102,15,58,15,253,4
3303 	nop
3304 	paddd	%xmm7,%xmm3
3305 .byte	15,56,204,229
3306 .byte	15,56,203,202
3307 	movdqa	48(%ebp),%xmm0
3308 	paddd	%xmm6,%xmm0
3309 .byte	15,56,205,222
3310 .byte	15,56,203,209
3311 	pshufd	$14,%xmm0,%xmm0
3312 	movdqa	%xmm3,%xmm7
3313 .byte	102,15,58,15,254,4
3314 	nop
3315 	paddd	%xmm7,%xmm4
3316 .byte	15,56,204,238
3317 .byte	15,56,203,202
3318 	movdqa	64(%ebp),%xmm0
3319 	paddd	%xmm3,%xmm0
3320 .byte	15,56,205,227
3321 .byte	15,56,203,209
3322 	pshufd	$14,%xmm0,%xmm0
3323 	movdqa	%xmm4,%xmm7
3324 .byte	102,15,58,15,251,4
3325 	nop
3326 	paddd	%xmm7,%xmm5
3327 .byte	15,56,204,243
3328 .byte	15,56,203,202
3329 	movdqa	80(%ebp),%xmm0
3330 	paddd	%xmm4,%xmm0
3331 .byte	15,56,205,236
3332 .byte	15,56,203,209
3333 	pshufd	$14,%xmm0,%xmm0
3334 	movdqa	%xmm5,%xmm7
3335 .byte	102,15,58,15,252,4
3336 .byte	15,56,203,202
3337 	paddd	%xmm7,%xmm6
3338 	movdqa	96(%ebp),%xmm0
3339 	paddd	%xmm5,%xmm0
3340 .byte	15,56,203,209
3341 	pshufd	$14,%xmm0,%xmm0
3342 .byte	15,56,205,245
3343 	movdqa	128(%ebp),%xmm7
3344 .byte	15,56,203,202
3345 	movdqa	112(%ebp),%xmm0
3346 	paddd	%xmm6,%xmm0
3347 	nop
3348 .byte	15,56,203,209
3349 	pshufd	$14,%xmm0,%xmm0
3350 	cmpl	%edi,%eax
3351 	nop
3352 .byte	15,56,203,202
3353 	paddd	16(%esp),%xmm2
3354 	paddd	(%esp),%xmm1
3355 	jnz	L011loop_shaext
3356 	pshufd	$177,%xmm2,%xmm2
3357 	pshufd	$27,%xmm1,%xmm7
3358 	pshufd	$177,%xmm1,%xmm1
3359 	punpckhqdq	%xmm2,%xmm1
3360 .byte	102,15,58,15,215,8
3361 	movl	44(%esp),%esp
3362 	movdqu	%xmm1,(%esi)
3363 	movdqu	%xmm2,16(%esi)
3364 	popl	%edi
3365 	popl	%esi
3366 	popl	%ebx
3367 	popl	%ebp
3368 	ret
3369 .align	5,0x90
3370 L006SSSE3:
3371 	leal	-96(%esp),%esp
3372 	movl	(%esi),%eax
3373 	movl	4(%esi),%ebx
3374 	movl	8(%esi),%ecx
3375 	movl	12(%esi),%edi
3376 	movl	%ebx,4(%esp)
3377 	xorl	%ecx,%ebx
3378 	movl	%ecx,8(%esp)
3379 	movl	%edi,12(%esp)
3380 	movl	16(%esi),%edx
3381 	movl	20(%esi),%edi
3382 	movl	24(%esi),%ecx
3383 	movl	28(%esi),%esi
3384 	movl	%edi,20(%esp)
3385 	movl	100(%esp),%edi
3386 	movl	%ecx,24(%esp)
3387 	movl	%esi,28(%esp)
3388 	movdqa	256(%ebp),%xmm7
3389 	jmp	L012grand_ssse3
3390 .align	4,0x90
3391 L012grand_ssse3:
3392 	movdqu	(%edi),%xmm0
3393 	movdqu	16(%edi),%xmm1
3394 	movdqu	32(%edi),%xmm2
3395 	movdqu	48(%edi),%xmm3
3396 	addl	$64,%edi
3397 .byte	102,15,56,0,199
3398 	movl	%edi,100(%esp)
3399 .byte	102,15,56,0,207
3400 	movdqa	(%ebp),%xmm4
3401 .byte	102,15,56,0,215
3402 	movdqa	16(%ebp),%xmm5
3403 	paddd	%xmm0,%xmm4
3404 .byte	102,15,56,0,223
3405 	movdqa	32(%ebp),%xmm6
3406 	paddd	%xmm1,%xmm5
3407 	movdqa	48(%ebp),%xmm7
3408 	movdqa	%xmm4,32(%esp)
3409 	paddd	%xmm2,%xmm6
3410 	movdqa	%xmm5,48(%esp)
3411 	paddd	%xmm3,%xmm7
3412 	movdqa	%xmm6,64(%esp)
3413 	movdqa	%xmm7,80(%esp)
3414 	jmp	L013ssse3_00_47
3415 .align	4,0x90
3416 L013ssse3_00_47:
3417 	addl	$64,%ebp
3418 	movl	%edx,%ecx
3419 	movdqa	%xmm1,%xmm4
3420 	rorl	$14,%edx
3421 	movl	20(%esp),%esi
3422 	movdqa	%xmm3,%xmm7
3423 	xorl	%ecx,%edx
3424 	movl	24(%esp),%edi
3425 .byte	102,15,58,15,224,4
3426 	xorl	%edi,%esi
3427 	rorl	$5,%edx
3428 	andl	%ecx,%esi
3429 .byte	102,15,58,15,250,4
3430 	movl	%ecx,16(%esp)
3431 	xorl	%ecx,%edx
3432 	xorl	%esi,%edi
3433 	movdqa	%xmm4,%xmm5
3434 	rorl	$6,%edx
3435 	movl	%eax,%ecx
3436 	movdqa	%xmm4,%xmm6
3437 	addl	%edi,%edx
3438 	movl	4(%esp),%edi
3439 	psrld	$3,%xmm4
3440 	movl	%eax,%esi
3441 	rorl	$9,%ecx
3442 	paddd	%xmm7,%xmm0
3443 	movl	%eax,(%esp)
3444 	xorl	%eax,%ecx
3445 	psrld	$7,%xmm6
3446 	xorl	%edi,%eax
3447 	addl	28(%esp),%edx
3448 	rorl	$11,%ecx
3449 	andl	%eax,%ebx
3450 	pshufd	$250,%xmm3,%xmm7
3451 	xorl	%esi,%ecx
3452 	addl	32(%esp),%edx
3453 	pslld	$14,%xmm5
3454 	xorl	%edi,%ebx
3455 	rorl	$2,%ecx
3456 	pxor	%xmm6,%xmm4
3457 	addl	%edx,%ebx
3458 	addl	12(%esp),%edx
3459 	psrld	$11,%xmm6
3460 	addl	%ecx,%ebx
3461 	movl	%edx,%ecx
3462 	rorl	$14,%edx
3463 	pxor	%xmm5,%xmm4
3464 	movl	16(%esp),%esi
3465 	xorl	%ecx,%edx
3466 	pslld	$11,%xmm5
3467 	movl	20(%esp),%edi
3468 	xorl	%edi,%esi
3469 	rorl	$5,%edx
3470 	pxor	%xmm6,%xmm4
3471 	andl	%ecx,%esi
3472 	movl	%ecx,12(%esp)
3473 	movdqa	%xmm7,%xmm6
3474 	xorl	%ecx,%edx
3475 	xorl	%esi,%edi
3476 	rorl	$6,%edx
3477 	pxor	%xmm5,%xmm4
3478 	movl	%ebx,%ecx
3479 	addl	%edi,%edx
3480 	psrld	$10,%xmm7
3481 	movl	(%esp),%edi
3482 	movl	%ebx,%esi
3483 	rorl	$9,%ecx
3484 	paddd	%xmm4,%xmm0
3485 	movl	%ebx,28(%esp)
3486 	xorl	%ebx,%ecx
3487 	psrlq	$17,%xmm6
3488 	xorl	%edi,%ebx
3489 	addl	24(%esp),%edx
3490 	rorl	$11,%ecx
3491 	pxor	%xmm6,%xmm7
3492 	andl	%ebx,%eax
3493 	xorl	%esi,%ecx
3494 	psrlq	$2,%xmm6
3495 	addl	36(%esp),%edx
3496 	xorl	%edi,%eax
3497 	rorl	$2,%ecx
3498 	pxor	%xmm6,%xmm7
3499 	addl	%edx,%eax
3500 	addl	8(%esp),%edx
3501 	pshufd	$128,%xmm7,%xmm7
3502 	addl	%ecx,%eax
3503 	movl	%edx,%ecx
3504 	rorl	$14,%edx
3505 	movl	12(%esp),%esi
3506 	xorl	%ecx,%edx
3507 	movl	16(%esp),%edi
3508 	xorl	%edi,%esi
3509 	rorl	$5,%edx
3510 	andl	%ecx,%esi
3511 	psrldq	$8,%xmm7
3512 	movl	%ecx,8(%esp)
3513 	xorl	%ecx,%edx
3514 	xorl	%esi,%edi
3515 	paddd	%xmm7,%xmm0
3516 	rorl	$6,%edx
3517 	movl	%eax,%ecx
3518 	addl	%edi,%edx
3519 	movl	28(%esp),%edi
3520 	movl	%eax,%esi
3521 	rorl	$9,%ecx
3522 	movl	%eax,24(%esp)
3523 	pshufd	$80,%xmm0,%xmm7
3524 	xorl	%eax,%ecx
3525 	xorl	%edi,%eax
3526 	addl	20(%esp),%edx
3527 	movdqa	%xmm7,%xmm6
3528 	rorl	$11,%ecx
3529 	psrld	$10,%xmm7
3530 	andl	%eax,%ebx
3531 	psrlq	$17,%xmm6
3532 	xorl	%esi,%ecx
3533 	addl	40(%esp),%edx
3534 	xorl	%edi,%ebx
3535 	rorl	$2,%ecx
3536 	pxor	%xmm6,%xmm7
3537 	addl	%edx,%ebx
3538 	addl	4(%esp),%edx
3539 	psrlq	$2,%xmm6
3540 	addl	%ecx,%ebx
3541 	movl	%edx,%ecx
3542 	rorl	$14,%edx
3543 	pxor	%xmm6,%xmm7
3544 	movl	8(%esp),%esi
3545 	xorl	%ecx,%edx
3546 	movl	12(%esp),%edi
3547 	pshufd	$8,%xmm7,%xmm7
3548 	xorl	%edi,%esi
3549 	rorl	$5,%edx
3550 	movdqa	(%ebp),%xmm6
3551 	andl	%ecx,%esi
3552 	movl	%ecx,4(%esp)
3553 	pslldq	$8,%xmm7
3554 	xorl	%ecx,%edx
3555 	xorl	%esi,%edi
3556 	rorl	$6,%edx
3557 	movl	%ebx,%ecx
3558 	addl	%edi,%edx
3559 	movl	24(%esp),%edi
3560 	movl	%ebx,%esi
3561 	rorl	$9,%ecx
3562 	paddd	%xmm7,%xmm0
3563 	movl	%ebx,20(%esp)
3564 	xorl	%ebx,%ecx
3565 	xorl	%edi,%ebx
3566 	addl	16(%esp),%edx
3567 	paddd	%xmm0,%xmm6
3568 	rorl	$11,%ecx
3569 	andl	%ebx,%eax
3570 	xorl	%esi,%ecx
3571 	addl	44(%esp),%edx
3572 	xorl	%edi,%eax
3573 	rorl	$2,%ecx
3574 	addl	%edx,%eax
3575 	addl	(%esp),%edx
3576 	addl	%ecx,%eax
3577 	movdqa	%xmm6,32(%esp)
3578 	movl	%edx,%ecx
3579 	movdqa	%xmm2,%xmm4
3580 	rorl	$14,%edx
3581 	movl	4(%esp),%esi
3582 	movdqa	%xmm0,%xmm7
3583 	xorl	%ecx,%edx
3584 	movl	8(%esp),%edi
3585 .byte	102,15,58,15,225,4
3586 	xorl	%edi,%esi
3587 	rorl	$5,%edx
3588 	andl	%ecx,%esi
3589 .byte	102,15,58,15,251,4
3590 	movl	%ecx,(%esp)
3591 	xorl	%ecx,%edx
3592 	xorl	%esi,%edi
3593 	movdqa	%xmm4,%xmm5
3594 	rorl	$6,%edx
3595 	movl	%eax,%ecx
3596 	movdqa	%xmm4,%xmm6
3597 	addl	%edi,%edx
3598 	movl	20(%esp),%edi
3599 	psrld	$3,%xmm4
3600 	movl	%eax,%esi
3601 	rorl	$9,%ecx
3602 	paddd	%xmm7,%xmm1
3603 	movl	%eax,16(%esp)
3604 	xorl	%eax,%ecx
3605 	psrld	$7,%xmm6
3606 	xorl	%edi,%eax
3607 	addl	12(%esp),%edx
3608 	rorl	$11,%ecx
3609 	andl	%eax,%ebx
3610 	pshufd	$250,%xmm0,%xmm7
3611 	xorl	%esi,%ecx
3612 	addl	48(%esp),%edx
3613 	pslld	$14,%xmm5
3614 	xorl	%edi,%ebx
3615 	rorl	$2,%ecx
3616 	pxor	%xmm6,%xmm4
3617 	addl	%edx,%ebx
3618 	addl	28(%esp),%edx
3619 	psrld	$11,%xmm6
3620 	addl	%ecx,%ebx
3621 	movl	%edx,%ecx
3622 	rorl	$14,%edx
3623 	pxor	%xmm5,%xmm4
3624 	movl	(%esp),%esi
3625 	xorl	%ecx,%edx
3626 	pslld	$11,%xmm5
3627 	movl	4(%esp),%edi
3628 	xorl	%edi,%esi
3629 	rorl	$5,%edx
3630 	pxor	%xmm6,%xmm4
3631 	andl	%ecx,%esi
3632 	movl	%ecx,28(%esp)
3633 	movdqa	%xmm7,%xmm6
3634 	xorl	%ecx,%edx
3635 	xorl	%esi,%edi
3636 	rorl	$6,%edx
3637 	pxor	%xmm5,%xmm4
3638 	movl	%ebx,%ecx
3639 	addl	%edi,%edx
3640 	psrld	$10,%xmm7
3641 	movl	16(%esp),%edi
3642 	movl	%ebx,%esi
3643 	rorl	$9,%ecx
3644 	paddd	%xmm4,%xmm1
3645 	movl	%ebx,12(%esp)
3646 	xorl	%ebx,%ecx
3647 	psrlq	$17,%xmm6
3648 	xorl	%edi,%ebx
3649 	addl	8(%esp),%edx
3650 	rorl	$11,%ecx
3651 	pxor	%xmm6,%xmm7
3652 	andl	%ebx,%eax
3653 	xorl	%esi,%ecx
3654 	psrlq	$2,%xmm6
3655 	addl	52(%esp),%edx
3656 	xorl	%edi,%eax
3657 	rorl	$2,%ecx
3658 	pxor	%xmm6,%xmm7
3659 	addl	%edx,%eax
3660 	addl	24(%esp),%edx
3661 	pshufd	$128,%xmm7,%xmm7
3662 	addl	%ecx,%eax
3663 	movl	%edx,%ecx
3664 	rorl	$14,%edx
3665 	movl	28(%esp),%esi
3666 	xorl	%ecx,%edx
3667 	movl	(%esp),%edi
3668 	xorl	%edi,%esi
3669 	rorl	$5,%edx
3670 	andl	%ecx,%esi
3671 	psrldq	$8,%xmm7
3672 	movl	%ecx,24(%esp)
3673 	xorl	%ecx,%edx
3674 	xorl	%esi,%edi
3675 	paddd	%xmm7,%xmm1
3676 	rorl	$6,%edx
3677 	movl	%eax,%ecx
3678 	addl	%edi,%edx
3679 	movl	12(%esp),%edi
3680 	movl	%eax,%esi
3681 	rorl	$9,%ecx
3682 	movl	%eax,8(%esp)
3683 	pshufd	$80,%xmm1,%xmm7
3684 	xorl	%eax,%ecx
3685 	xorl	%edi,%eax
3686 	addl	4(%esp),%edx
3687 	movdqa	%xmm7,%xmm6
3688 	rorl	$11,%ecx
3689 	psrld	$10,%xmm7
3690 	andl	%eax,%ebx
3691 	psrlq	$17,%xmm6
3692 	xorl	%esi,%ecx
3693 	addl	56(%esp),%edx
3694 	xorl	%edi,%ebx
3695 	rorl	$2,%ecx
3696 	pxor	%xmm6,%xmm7
3697 	addl	%edx,%ebx
3698 	addl	20(%esp),%edx
3699 	psrlq	$2,%xmm6
3700 	addl	%ecx,%ebx
3701 	movl	%edx,%ecx
3702 	rorl	$14,%edx
3703 	pxor	%xmm6,%xmm7
3704 	movl	24(%esp),%esi
3705 	xorl	%ecx,%edx
3706 	movl	28(%esp),%edi
3707 	pshufd	$8,%xmm7,%xmm7
3708 	xorl	%edi,%esi
3709 	rorl	$5,%edx
3710 	movdqa	16(%ebp),%xmm6
3711 	andl	%ecx,%esi
3712 	movl	%ecx,20(%esp)
3713 	pslldq	$8,%xmm7
3714 	xorl	%ecx,%edx
3715 	xorl	%esi,%edi
3716 	rorl	$6,%edx
3717 	movl	%ebx,%ecx
3718 	addl	%edi,%edx
3719 	movl	8(%esp),%edi
3720 	movl	%ebx,%esi
3721 	rorl	$9,%ecx
3722 	paddd	%xmm7,%xmm1
3723 	movl	%ebx,4(%esp)
3724 	xorl	%ebx,%ecx
3725 	xorl	%edi,%ebx
3726 	addl	(%esp),%edx
3727 	paddd	%xmm1,%xmm6
3728 	rorl	$11,%ecx
3729 	andl	%ebx,%eax
3730 	xorl	%esi,%ecx
3731 	addl	60(%esp),%edx
3732 	xorl	%edi,%eax
3733 	rorl	$2,%ecx
3734 	addl	%edx,%eax
3735 	addl	16(%esp),%edx
3736 	addl	%ecx,%eax
3737 	movdqa	%xmm6,48(%esp)
3738 	movl	%edx,%ecx
3739 	movdqa	%xmm3,%xmm4
3740 	rorl	$14,%edx
3741 	movl	20(%esp),%esi
3742 	movdqa	%xmm1,%xmm7
3743 	xorl	%ecx,%edx
3744 	movl	24(%esp),%edi
3745 .byte	102,15,58,15,226,4
3746 	xorl	%edi,%esi
3747 	rorl	$5,%edx
3748 	andl	%ecx,%esi
3749 .byte	102,15,58,15,248,4
3750 	movl	%ecx,16(%esp)
3751 	xorl	%ecx,%edx
3752 	xorl	%esi,%edi
3753 	movdqa	%xmm4,%xmm5
3754 	rorl	$6,%edx
3755 	movl	%eax,%ecx
3756 	movdqa	%xmm4,%xmm6
3757 	addl	%edi,%edx
3758 	movl	4(%esp),%edi
3759 	psrld	$3,%xmm4
3760 	movl	%eax,%esi
3761 	rorl	$9,%ecx
3762 	paddd	%xmm7,%xmm2
3763 	movl	%eax,(%esp)
3764 	xorl	%eax,%ecx
3765 	psrld	$7,%xmm6
3766 	xorl	%edi,%eax
3767 	addl	28(%esp),%edx
3768 	rorl	$11,%ecx
3769 	andl	%eax,%ebx
3770 	pshufd	$250,%xmm1,%xmm7
3771 	xorl	%esi,%ecx
3772 	addl	64(%esp),%edx
3773 	pslld	$14,%xmm5
3774 	xorl	%edi,%ebx
3775 	rorl	$2,%ecx
3776 	pxor	%xmm6,%xmm4
3777 	addl	%edx,%ebx
3778 	addl	12(%esp),%edx
3779 	psrld	$11,%xmm6
3780 	addl	%ecx,%ebx
3781 	movl	%edx,%ecx
3782 	rorl	$14,%edx
3783 	pxor	%xmm5,%xmm4
3784 	movl	16(%esp),%esi
3785 	xorl	%ecx,%edx
3786 	pslld	$11,%xmm5
3787 	movl	20(%esp),%edi
3788 	xorl	%edi,%esi
3789 	rorl	$5,%edx
3790 	pxor	%xmm6,%xmm4
3791 	andl	%ecx,%esi
3792 	movl	%ecx,12(%esp)
3793 	movdqa	%xmm7,%xmm6
3794 	xorl	%ecx,%edx
3795 	xorl	%esi,%edi
3796 	rorl	$6,%edx
3797 	pxor	%xmm5,%xmm4
3798 	movl	%ebx,%ecx
3799 	addl	%edi,%edx
3800 	psrld	$10,%xmm7
3801 	movl	(%esp),%edi
3802 	movl	%ebx,%esi
3803 	rorl	$9,%ecx
3804 	paddd	%xmm4,%xmm2
3805 	movl	%ebx,28(%esp)
3806 	xorl	%ebx,%ecx
3807 	psrlq	$17,%xmm6
3808 	xorl	%edi,%ebx
3809 	addl	24(%esp),%edx
3810 	rorl	$11,%ecx
3811 	pxor	%xmm6,%xmm7
3812 	andl	%ebx,%eax
3813 	xorl	%esi,%ecx
3814 	psrlq	$2,%xmm6
3815 	addl	68(%esp),%edx
3816 	xorl	%edi,%eax
3817 	rorl	$2,%ecx
3818 	pxor	%xmm6,%xmm7
3819 	addl	%edx,%eax
3820 	addl	8(%esp),%edx
3821 	pshufd	$128,%xmm7,%xmm7
3822 	addl	%ecx,%eax
3823 	movl	%edx,%ecx
3824 	rorl	$14,%edx
3825 	movl	12(%esp),%esi
3826 	xorl	%ecx,%edx
3827 	movl	16(%esp),%edi
3828 	xorl	%edi,%esi
3829 	rorl	$5,%edx
3830 	andl	%ecx,%esi
3831 	psrldq	$8,%xmm7
3832 	movl	%ecx,8(%esp)
3833 	xorl	%ecx,%edx
3834 	xorl	%esi,%edi
3835 	paddd	%xmm7,%xmm2
3836 	rorl	$6,%edx
3837 	movl	%eax,%ecx
3838 	addl	%edi,%edx
3839 	movl	28(%esp),%edi
3840 	movl	%eax,%esi
3841 	rorl	$9,%ecx
3842 	movl	%eax,24(%esp)
3843 	pshufd	$80,%xmm2,%xmm7
3844 	xorl	%eax,%ecx
3845 	xorl	%edi,%eax
3846 	addl	20(%esp),%edx
3847 	movdqa	%xmm7,%xmm6
3848 	rorl	$11,%ecx
3849 	psrld	$10,%xmm7
3850 	andl	%eax,%ebx
3851 	psrlq	$17,%xmm6
3852 	xorl	%esi,%ecx
3853 	addl	72(%esp),%edx
3854 	xorl	%edi,%ebx
3855 	rorl	$2,%ecx
3856 	pxor	%xmm6,%xmm7
3857 	addl	%edx,%ebx
3858 	addl	4(%esp),%edx
3859 	psrlq	$2,%xmm6
3860 	addl	%ecx,%ebx
3861 	movl	%edx,%ecx
3862 	rorl	$14,%edx
3863 	pxor	%xmm6,%xmm7
3864 	movl	8(%esp),%esi
3865 	xorl	%ecx,%edx
3866 	movl	12(%esp),%edi
3867 	pshufd	$8,%xmm7,%xmm7
3868 	xorl	%edi,%esi
3869 	rorl	$5,%edx
3870 	movdqa	32(%ebp),%xmm6
3871 	andl	%ecx,%esi
3872 	movl	%ecx,4(%esp)
3873 	pslldq	$8,%xmm7
3874 	xorl	%ecx,%edx
3875 	xorl	%esi,%edi
3876 	rorl	$6,%edx
3877 	movl	%ebx,%ecx
3878 	addl	%edi,%edx
3879 	movl	24(%esp),%edi
3880 	movl	%ebx,%esi
3881 	rorl	$9,%ecx
3882 	paddd	%xmm7,%xmm2
3883 	movl	%ebx,20(%esp)
3884 	xorl	%ebx,%ecx
3885 	xorl	%edi,%ebx
3886 	addl	16(%esp),%edx
3887 	paddd	%xmm2,%xmm6
3888 	rorl	$11,%ecx
3889 	andl	%ebx,%eax
3890 	xorl	%esi,%ecx
3891 	addl	76(%esp),%edx
3892 	xorl	%edi,%eax
3893 	rorl	$2,%ecx
3894 	addl	%edx,%eax
3895 	addl	(%esp),%edx
3896 	addl	%ecx,%eax
3897 	movdqa	%xmm6,64(%esp)
3898 	movl	%edx,%ecx
3899 	movdqa	%xmm0,%xmm4
3900 	rorl	$14,%edx
3901 	movl	4(%esp),%esi
3902 	movdqa	%xmm2,%xmm7
3903 	xorl	%ecx,%edx
3904 	movl	8(%esp),%edi
3905 .byte	102,15,58,15,227,4
3906 	xorl	%edi,%esi
3907 	rorl	$5,%edx
3908 	andl	%ecx,%esi
3909 .byte	102,15,58,15,249,4
3910 	movl	%ecx,(%esp)
3911 	xorl	%ecx,%edx
3912 	xorl	%esi,%edi
3913 	movdqa	%xmm4,%xmm5
3914 	rorl	$6,%edx
3915 	movl	%eax,%ecx
3916 	movdqa	%xmm4,%xmm6
3917 	addl	%edi,%edx
3918 	movl	20(%esp),%edi
3919 	psrld	$3,%xmm4
3920 	movl	%eax,%esi
3921 	rorl	$9,%ecx
3922 	paddd	%xmm7,%xmm3
3923 	movl	%eax,16(%esp)
3924 	xorl	%eax,%ecx
3925 	psrld	$7,%xmm6
3926 	xorl	%edi,%eax
3927 	addl	12(%esp),%edx
3928 	rorl	$11,%ecx
3929 	andl	%eax,%ebx
3930 	pshufd	$250,%xmm2,%xmm7
3931 	xorl	%esi,%ecx
3932 	addl	80(%esp),%edx
3933 	pslld	$14,%xmm5
3934 	xorl	%edi,%ebx
3935 	rorl	$2,%ecx
3936 	pxor	%xmm6,%xmm4
3937 	addl	%edx,%ebx
3938 	addl	28(%esp),%edx
3939 	psrld	$11,%xmm6
3940 	addl	%ecx,%ebx
3941 	movl	%edx,%ecx
3942 	rorl	$14,%edx
3943 	pxor	%xmm5,%xmm4
3944 	movl	(%esp),%esi
3945 	xorl	%ecx,%edx
3946 	pslld	$11,%xmm5
3947 	movl	4(%esp),%edi
3948 	xorl	%edi,%esi
3949 	rorl	$5,%edx
3950 	pxor	%xmm6,%xmm4
3951 	andl	%ecx,%esi
3952 	movl	%ecx,28(%esp)
3953 	movdqa	%xmm7,%xmm6
3954 	xorl	%ecx,%edx
3955 	xorl	%esi,%edi
3956 	rorl	$6,%edx
3957 	pxor	%xmm5,%xmm4
3958 	movl	%ebx,%ecx
3959 	addl	%edi,%edx
3960 	psrld	$10,%xmm7
3961 	movl	16(%esp),%edi
3962 	movl	%ebx,%esi
3963 	rorl	$9,%ecx
3964 	paddd	%xmm4,%xmm3
3965 	movl	%ebx,12(%esp)
3966 	xorl	%ebx,%ecx
3967 	psrlq	$17,%xmm6
3968 	xorl	%edi,%ebx
3969 	addl	8(%esp),%edx
3970 	rorl	$11,%ecx
3971 	pxor	%xmm6,%xmm7
3972 	andl	%ebx,%eax
3973 	xorl	%esi,%ecx
3974 	psrlq	$2,%xmm6
3975 	addl	84(%esp),%edx
3976 	xorl	%edi,%eax
3977 	rorl	$2,%ecx
3978 	pxor	%xmm6,%xmm7
3979 	addl	%edx,%eax
3980 	addl	24(%esp),%edx
3981 	pshufd	$128,%xmm7,%xmm7
3982 	addl	%ecx,%eax
3983 	movl	%edx,%ecx
3984 	rorl	$14,%edx
3985 	movl	28(%esp),%esi
3986 	xorl	%ecx,%edx
3987 	movl	(%esp),%edi
3988 	xorl	%edi,%esi
3989 	rorl	$5,%edx
3990 	andl	%ecx,%esi
3991 	psrldq	$8,%xmm7
3992 	movl	%ecx,24(%esp)
3993 	xorl	%ecx,%edx
3994 	xorl	%esi,%edi
3995 	paddd	%xmm7,%xmm3
3996 	rorl	$6,%edx
3997 	movl	%eax,%ecx
3998 	addl	%edi,%edx
3999 	movl	12(%esp),%edi
4000 	movl	%eax,%esi
4001 	rorl	$9,%ecx
4002 	movl	%eax,8(%esp)
4003 	pshufd	$80,%xmm3,%xmm7
4004 	xorl	%eax,%ecx
4005 	xorl	%edi,%eax
4006 	addl	4(%esp),%edx
4007 	movdqa	%xmm7,%xmm6
4008 	rorl	$11,%ecx
4009 	psrld	$10,%xmm7
4010 	andl	%eax,%ebx
4011 	psrlq	$17,%xmm6
4012 	xorl	%esi,%ecx
4013 	addl	88(%esp),%edx
4014 	xorl	%edi,%ebx
4015 	rorl	$2,%ecx
4016 	pxor	%xmm6,%xmm7
4017 	addl	%edx,%ebx
4018 	addl	20(%esp),%edx
4019 	psrlq	$2,%xmm6
4020 	addl	%ecx,%ebx
4021 	movl	%edx,%ecx
4022 	rorl	$14,%edx
4023 	pxor	%xmm6,%xmm7
4024 	movl	24(%esp),%esi
4025 	xorl	%ecx,%edx
4026 	movl	28(%esp),%edi
4027 	pshufd	$8,%xmm7,%xmm7
4028 	xorl	%edi,%esi
4029 	rorl	$5,%edx
4030 	movdqa	48(%ebp),%xmm6
4031 	andl	%ecx,%esi
4032 	movl	%ecx,20(%esp)
4033 	pslldq	$8,%xmm7
4034 	xorl	%ecx,%edx
4035 	xorl	%esi,%edi
4036 	rorl	$6,%edx
4037 	movl	%ebx,%ecx
4038 	addl	%edi,%edx
4039 	movl	8(%esp),%edi
4040 	movl	%ebx,%esi
4041 	rorl	$9,%ecx
4042 	paddd	%xmm7,%xmm3
4043 	movl	%ebx,4(%esp)
4044 	xorl	%ebx,%ecx
4045 	xorl	%edi,%ebx
4046 	addl	(%esp),%edx
4047 	paddd	%xmm3,%xmm6
4048 	rorl	$11,%ecx
4049 	andl	%ebx,%eax
4050 	xorl	%esi,%ecx
4051 	addl	92(%esp),%edx
4052 	xorl	%edi,%eax
4053 	rorl	$2,%ecx
4054 	addl	%edx,%eax
4055 	addl	16(%esp),%edx
4056 	addl	%ecx,%eax
4057 	movdqa	%xmm6,80(%esp)
4058 	cmpl	$66051,64(%ebp)
4059 	jne	L013ssse3_00_47
4060 	movl	%edx,%ecx
4061 	rorl	$14,%edx
4062 	movl	20(%esp),%esi
4063 	xorl	%ecx,%edx
4064 	movl	24(%esp),%edi
4065 	xorl	%edi,%esi
4066 	rorl	$5,%edx
4067 	andl	%ecx,%esi
4068 	movl	%ecx,16(%esp)
4069 	xorl	%ecx,%edx
4070 	xorl	%esi,%edi
4071 	rorl	$6,%edx
4072 	movl	%eax,%ecx
4073 	addl	%edi,%edx
4074 	movl	4(%esp),%edi
4075 	movl	%eax,%esi
4076 	rorl	$9,%ecx
4077 	movl	%eax,(%esp)
4078 	xorl	%eax,%ecx
4079 	xorl	%edi,%eax
4080 	addl	28(%esp),%edx
4081 	rorl	$11,%ecx
4082 	andl	%eax,%ebx
4083 	xorl	%esi,%ecx
4084 	addl	32(%esp),%edx
4085 	xorl	%edi,%ebx
4086 	rorl	$2,%ecx
4087 	addl	%edx,%ebx
4088 	addl	12(%esp),%edx
4089 	addl	%ecx,%ebx
4090 	movl	%edx,%ecx
4091 	rorl	$14,%edx
4092 	movl	16(%esp),%esi
4093 	xorl	%ecx,%edx
4094 	movl	20(%esp),%edi
4095 	xorl	%edi,%esi
4096 	rorl	$5,%edx
4097 	andl	%ecx,%esi
4098 	movl	%ecx,12(%esp)
4099 	xorl	%ecx,%edx
4100 	xorl	%esi,%edi
4101 	rorl	$6,%edx
4102 	movl	%ebx,%ecx
4103 	addl	%edi,%edx
4104 	movl	(%esp),%edi
4105 	movl	%ebx,%esi
4106 	rorl	$9,%ecx
4107 	movl	%ebx,28(%esp)
4108 	xorl	%ebx,%ecx
4109 	xorl	%edi,%ebx
4110 	addl	24(%esp),%edx
4111 	rorl	$11,%ecx
4112 	andl	%ebx,%eax
4113 	xorl	%esi,%ecx
4114 	addl	36(%esp),%edx
4115 	xorl	%edi,%eax
4116 	rorl	$2,%ecx
4117 	addl	%edx,%eax
4118 	addl	8(%esp),%edx
4119 	addl	%ecx,%eax
4120 	movl	%edx,%ecx
4121 	rorl	$14,%edx
4122 	movl	12(%esp),%esi
4123 	xorl	%ecx,%edx
4124 	movl	16(%esp),%edi
4125 	xorl	%edi,%esi
4126 	rorl	$5,%edx
4127 	andl	%ecx,%esi
4128 	movl	%ecx,8(%esp)
4129 	xorl	%ecx,%edx
4130 	xorl	%esi,%edi
4131 	rorl	$6,%edx
4132 	movl	%eax,%ecx
4133 	addl	%edi,%edx
4134 	movl	28(%esp),%edi
4135 	movl	%eax,%esi
4136 	rorl	$9,%ecx
4137 	movl	%eax,24(%esp)
4138 	xorl	%eax,%ecx
4139 	xorl	%edi,%eax
4140 	addl	20(%esp),%edx
4141 	rorl	$11,%ecx
4142 	andl	%eax,%ebx
4143 	xorl	%esi,%ecx
4144 	addl	40(%esp),%edx
4145 	xorl	%edi,%ebx
4146 	rorl	$2,%ecx
4147 	addl	%edx,%ebx
4148 	addl	4(%esp),%edx
4149 	addl	%ecx,%ebx
4150 	movl	%edx,%ecx
4151 	rorl	$14,%edx
4152 	movl	8(%esp),%esi
4153 	xorl	%ecx,%edx
4154 	movl	12(%esp),%edi
4155 	xorl	%edi,%esi
4156 	rorl	$5,%edx
4157 	andl	%ecx,%esi
4158 	movl	%ecx,4(%esp)
4159 	xorl	%ecx,%edx
4160 	xorl	%esi,%edi
4161 	rorl	$6,%edx
4162 	movl	%ebx,%ecx
4163 	addl	%edi,%edx
4164 	movl	24(%esp),%edi
4165 	movl	%ebx,%esi
4166 	rorl	$9,%ecx
4167 	movl	%ebx,20(%esp)
4168 	xorl	%ebx,%ecx
4169 	xorl	%edi,%ebx
4170 	addl	16(%esp),%edx
4171 	rorl	$11,%ecx
4172 	andl	%ebx,%eax
4173 	xorl	%esi,%ecx
4174 	addl	44(%esp),%edx
4175 	xorl	%edi,%eax
4176 	rorl	$2,%ecx
4177 	addl	%edx,%eax
4178 	addl	(%esp),%edx
4179 	addl	%ecx,%eax
4180 	movl	%edx,%ecx
4181 	rorl	$14,%edx
4182 	movl	4(%esp),%esi
4183 	xorl	%ecx,%edx
4184 	movl	8(%esp),%edi
4185 	xorl	%edi,%esi
4186 	rorl	$5,%edx
4187 	andl	%ecx,%esi
4188 	movl	%ecx,(%esp)
4189 	xorl	%ecx,%edx
4190 	xorl	%esi,%edi
4191 	rorl	$6,%edx
4192 	movl	%eax,%ecx
4193 	addl	%edi,%edx
4194 	movl	20(%esp),%edi
4195 	movl	%eax,%esi
4196 	rorl	$9,%ecx
4197 	movl	%eax,16(%esp)
4198 	xorl	%eax,%ecx
4199 	xorl	%edi,%eax
4200 	addl	12(%esp),%edx
4201 	rorl	$11,%ecx
4202 	andl	%eax,%ebx
4203 	xorl	%esi,%ecx
4204 	addl	48(%esp),%edx
4205 	xorl	%edi,%ebx
4206 	rorl	$2,%ecx
4207 	addl	%edx,%ebx
4208 	addl	28(%esp),%edx
4209 	addl	%ecx,%ebx
4210 	movl	%edx,%ecx
4211 	rorl	$14,%edx
4212 	movl	(%esp),%esi
4213 	xorl	%ecx,%edx
4214 	movl	4(%esp),%edi
4215 	xorl	%edi,%esi
4216 	rorl	$5,%edx
4217 	andl	%ecx,%esi
4218 	movl	%ecx,28(%esp)
4219 	xorl	%ecx,%edx
4220 	xorl	%esi,%edi
4221 	rorl	$6,%edx
4222 	movl	%ebx,%ecx
4223 	addl	%edi,%edx
4224 	movl	16(%esp),%edi
4225 	movl	%ebx,%esi
4226 	rorl	$9,%ecx
4227 	movl	%ebx,12(%esp)
4228 	xorl	%ebx,%ecx
4229 	xorl	%edi,%ebx
4230 	addl	8(%esp),%edx
4231 	rorl	$11,%ecx
4232 	andl	%ebx,%eax
4233 	xorl	%esi,%ecx
4234 	addl	52(%esp),%edx
4235 	xorl	%edi,%eax
4236 	rorl	$2,%ecx
4237 	addl	%edx,%eax
4238 	addl	24(%esp),%edx
4239 	addl	%ecx,%eax
4240 	movl	%edx,%ecx
4241 	rorl	$14,%edx
4242 	movl	28(%esp),%esi
4243 	xorl	%ecx,%edx
4244 	movl	(%esp),%edi
4245 	xorl	%edi,%esi
4246 	rorl	$5,%edx
4247 	andl	%ecx,%esi
4248 	movl	%ecx,24(%esp)
4249 	xorl	%ecx,%edx
4250 	xorl	%esi,%edi
4251 	rorl	$6,%edx
4252 	movl	%eax,%ecx
4253 	addl	%edi,%edx
4254 	movl	12(%esp),%edi
4255 	movl	%eax,%esi
4256 	rorl	$9,%ecx
4257 	movl	%eax,8(%esp)
4258 	xorl	%eax,%ecx
4259 	xorl	%edi,%eax
4260 	addl	4(%esp),%edx
4261 	rorl	$11,%ecx
4262 	andl	%eax,%ebx
4263 	xorl	%esi,%ecx
4264 	addl	56(%esp),%edx
4265 	xorl	%edi,%ebx
4266 	rorl	$2,%ecx
4267 	addl	%edx,%ebx
4268 	addl	20(%esp),%edx
4269 	addl	%ecx,%ebx
4270 	movl	%edx,%ecx
4271 	rorl	$14,%edx
4272 	movl	24(%esp),%esi
4273 	xorl	%ecx,%edx
4274 	movl	28(%esp),%edi
4275 	xorl	%edi,%esi
4276 	rorl	$5,%edx
4277 	andl	%ecx,%esi
4278 	movl	%ecx,20(%esp)
4279 	xorl	%ecx,%edx
4280 	xorl	%esi,%edi
4281 	rorl	$6,%edx
4282 	movl	%ebx,%ecx
4283 	addl	%edi,%edx
4284 	movl	8(%esp),%edi
4285 	movl	%ebx,%esi
4286 	rorl	$9,%ecx
4287 	movl	%ebx,4(%esp)
4288 	xorl	%ebx,%ecx
4289 	xorl	%edi,%ebx
4290 	addl	(%esp),%edx
4291 	rorl	$11,%ecx
4292 	andl	%ebx,%eax
4293 	xorl	%esi,%ecx
4294 	addl	60(%esp),%edx
4295 	xorl	%edi,%eax
4296 	rorl	$2,%ecx
4297 	addl	%edx,%eax
4298 	addl	16(%esp),%edx
4299 	addl	%ecx,%eax
4300 	movl	%edx,%ecx
4301 	rorl	$14,%edx
4302 	movl	20(%esp),%esi
4303 	xorl	%ecx,%edx
4304 	movl	24(%esp),%edi
4305 	xorl	%edi,%esi
4306 	rorl	$5,%edx
4307 	andl	%ecx,%esi
4308 	movl	%ecx,16(%esp)
4309 	xorl	%ecx,%edx
4310 	xorl	%esi,%edi
4311 	rorl	$6,%edx
4312 	movl	%eax,%ecx
4313 	addl	%edi,%edx
4314 	movl	4(%esp),%edi
4315 	movl	%eax,%esi
4316 	rorl	$9,%ecx
4317 	movl	%eax,(%esp)
4318 	xorl	%eax,%ecx
4319 	xorl	%edi,%eax
4320 	addl	28(%esp),%edx
4321 	rorl	$11,%ecx
4322 	andl	%eax,%ebx
4323 	xorl	%esi,%ecx
4324 	addl	64(%esp),%edx
4325 	xorl	%edi,%ebx
4326 	rorl	$2,%ecx
4327 	addl	%edx,%ebx
4328 	addl	12(%esp),%edx
4329 	addl	%ecx,%ebx
4330 	movl	%edx,%ecx
4331 	rorl	$14,%edx
4332 	movl	16(%esp),%esi
4333 	xorl	%ecx,%edx
4334 	movl	20(%esp),%edi
4335 	xorl	%edi,%esi
4336 	rorl	$5,%edx
4337 	andl	%ecx,%esi
4338 	movl	%ecx,12(%esp)
4339 	xorl	%ecx,%edx
4340 	xorl	%esi,%edi
4341 	rorl	$6,%edx
4342 	movl	%ebx,%ecx
4343 	addl	%edi,%edx
4344 	movl	(%esp),%edi
4345 	movl	%ebx,%esi
4346 	rorl	$9,%ecx
4347 	movl	%ebx,28(%esp)
4348 	xorl	%ebx,%ecx
4349 	xorl	%edi,%ebx
4350 	addl	24(%esp),%edx
4351 	rorl	$11,%ecx
4352 	andl	%ebx,%eax
4353 	xorl	%esi,%ecx
4354 	addl	68(%esp),%edx
4355 	xorl	%edi,%eax
4356 	rorl	$2,%ecx
4357 	addl	%edx,%eax
4358 	addl	8(%esp),%edx
4359 	addl	%ecx,%eax
4360 	movl	%edx,%ecx
4361 	rorl	$14,%edx
4362 	movl	12(%esp),%esi
4363 	xorl	%ecx,%edx
4364 	movl	16(%esp),%edi
4365 	xorl	%edi,%esi
4366 	rorl	$5,%edx
4367 	andl	%ecx,%esi
4368 	movl	%ecx,8(%esp)
4369 	xorl	%ecx,%edx
4370 	xorl	%esi,%edi
4371 	rorl	$6,%edx
4372 	movl	%eax,%ecx
4373 	addl	%edi,%edx
4374 	movl	28(%esp),%edi
4375 	movl	%eax,%esi
4376 	rorl	$9,%ecx
4377 	movl	%eax,24(%esp)
4378 	xorl	%eax,%ecx
4379 	xorl	%edi,%eax
4380 	addl	20(%esp),%edx
4381 	rorl	$11,%ecx
4382 	andl	%eax,%ebx
4383 	xorl	%esi,%ecx
4384 	addl	72(%esp),%edx
4385 	xorl	%edi,%ebx
4386 	rorl	$2,%ecx
4387 	addl	%edx,%ebx
4388 	addl	4(%esp),%edx
4389 	addl	%ecx,%ebx
4390 	movl	%edx,%ecx
4391 	rorl	$14,%edx
4392 	movl	8(%esp),%esi
4393 	xorl	%ecx,%edx
4394 	movl	12(%esp),%edi
4395 	xorl	%edi,%esi
4396 	rorl	$5,%edx
4397 	andl	%ecx,%esi
4398 	movl	%ecx,4(%esp)
4399 	xorl	%ecx,%edx
4400 	xorl	%esi,%edi
4401 	rorl	$6,%edx
4402 	movl	%ebx,%ecx
4403 	addl	%edi,%edx
4404 	movl	24(%esp),%edi
4405 	movl	%ebx,%esi
4406 	rorl	$9,%ecx
4407 	movl	%ebx,20(%esp)
4408 	xorl	%ebx,%ecx
4409 	xorl	%edi,%ebx
4410 	addl	16(%esp),%edx
4411 	rorl	$11,%ecx
4412 	andl	%ebx,%eax
4413 	xorl	%esi,%ecx
4414 	addl	76(%esp),%edx
4415 	xorl	%edi,%eax
4416 	rorl	$2,%ecx
4417 	addl	%edx,%eax
4418 	addl	(%esp),%edx
4419 	addl	%ecx,%eax
4420 	movl	%edx,%ecx
4421 	rorl	$14,%edx
4422 	movl	4(%esp),%esi
4423 	xorl	%ecx,%edx
4424 	movl	8(%esp),%edi
4425 	xorl	%edi,%esi
4426 	rorl	$5,%edx
4427 	andl	%ecx,%esi
4428 	movl	%ecx,(%esp)
4429 	xorl	%ecx,%edx
4430 	xorl	%esi,%edi
4431 	rorl	$6,%edx
4432 	movl	%eax,%ecx
4433 	addl	%edi,%edx
4434 	movl	20(%esp),%edi
4435 	movl	%eax,%esi
4436 	rorl	$9,%ecx
4437 	movl	%eax,16(%esp)
4438 	xorl	%eax,%ecx
4439 	xorl	%edi,%eax
4440 	addl	12(%esp),%edx
4441 	rorl	$11,%ecx
4442 	andl	%eax,%ebx
4443 	xorl	%esi,%ecx
4444 	addl	80(%esp),%edx
4445 	xorl	%edi,%ebx
4446 	rorl	$2,%ecx
4447 	addl	%edx,%ebx
4448 	addl	28(%esp),%edx
4449 	addl	%ecx,%ebx
4450 	movl	%edx,%ecx
4451 	rorl	$14,%edx
4452 	movl	(%esp),%esi
4453 	xorl	%ecx,%edx
4454 	movl	4(%esp),%edi
4455 	xorl	%edi,%esi
4456 	rorl	$5,%edx
4457 	andl	%ecx,%esi
4458 	movl	%ecx,28(%esp)
4459 	xorl	%ecx,%edx
4460 	xorl	%esi,%edi
4461 	rorl	$6,%edx
4462 	movl	%ebx,%ecx
4463 	addl	%edi,%edx
4464 	movl	16(%esp),%edi
4465 	movl	%ebx,%esi
4466 	rorl	$9,%ecx
4467 	movl	%ebx,12(%esp)
4468 	xorl	%ebx,%ecx
4469 	xorl	%edi,%ebx
4470 	addl	8(%esp),%edx
4471 	rorl	$11,%ecx
4472 	andl	%ebx,%eax
4473 	xorl	%esi,%ecx
4474 	addl	84(%esp),%edx
4475 	xorl	%edi,%eax
4476 	rorl	$2,%ecx
4477 	addl	%edx,%eax
4478 	addl	24(%esp),%edx
4479 	addl	%ecx,%eax
4480 	movl	%edx,%ecx
4481 	rorl	$14,%edx
4482 	movl	28(%esp),%esi
4483 	xorl	%ecx,%edx
4484 	movl	(%esp),%edi
4485 	xorl	%edi,%esi
4486 	rorl	$5,%edx
4487 	andl	%ecx,%esi
4488 	movl	%ecx,24(%esp)
4489 	xorl	%ecx,%edx
4490 	xorl	%esi,%edi
4491 	rorl	$6,%edx
4492 	movl	%eax,%ecx
4493 	addl	%edi,%edx
4494 	movl	12(%esp),%edi
4495 	movl	%eax,%esi
4496 	rorl	$9,%ecx
4497 	movl	%eax,8(%esp)
4498 	xorl	%eax,%ecx
4499 	xorl	%edi,%eax
4500 	addl	4(%esp),%edx
4501 	rorl	$11,%ecx
4502 	andl	%eax,%ebx
4503 	xorl	%esi,%ecx
4504 	addl	88(%esp),%edx
4505 	xorl	%edi,%ebx
4506 	rorl	$2,%ecx
4507 	addl	%edx,%ebx
4508 	addl	20(%esp),%edx
4509 	addl	%ecx,%ebx
4510 	movl	%edx,%ecx
4511 	rorl	$14,%edx
4512 	movl	24(%esp),%esi
4513 	xorl	%ecx,%edx
4514 	movl	28(%esp),%edi
4515 	xorl	%edi,%esi
4516 	rorl	$5,%edx
4517 	andl	%ecx,%esi
4518 	movl	%ecx,20(%esp)
4519 	xorl	%ecx,%edx
4520 	xorl	%esi,%edi
4521 	rorl	$6,%edx
4522 	movl	%ebx,%ecx
4523 	addl	%edi,%edx
4524 	movl	8(%esp),%edi
4525 	movl	%ebx,%esi
4526 	rorl	$9,%ecx
4527 	movl	%ebx,4(%esp)
4528 	xorl	%ebx,%ecx
4529 	xorl	%edi,%ebx
4530 	addl	(%esp),%edx
4531 	rorl	$11,%ecx
4532 	andl	%ebx,%eax
4533 	xorl	%esi,%ecx
4534 	addl	92(%esp),%edx
4535 	xorl	%edi,%eax
4536 	rorl	$2,%ecx
4537 	addl	%edx,%eax
4538 	addl	16(%esp),%edx
4539 	addl	%ecx,%eax
4540 	movl	96(%esp),%esi
4541 	xorl	%edi,%ebx
4542 	movl	12(%esp),%ecx
4543 	addl	(%esi),%eax
4544 	addl	4(%esi),%ebx
4545 	addl	8(%esi),%edi
4546 	addl	12(%esi),%ecx
4547 	movl	%eax,(%esi)
4548 	movl	%ebx,4(%esi)
4549 	movl	%edi,8(%esi)
4550 	movl	%ecx,12(%esi)
4551 	movl	%ebx,4(%esp)
4552 	xorl	%edi,%ebx
4553 	movl	%edi,8(%esp)
4554 	movl	%ecx,12(%esp)
4555 	movl	20(%esp),%edi
4556 	movl	24(%esp),%ecx
4557 	addl	16(%esi),%edx
4558 	addl	20(%esi),%edi
4559 	addl	24(%esi),%ecx
4560 	movl	%edx,16(%esi)
4561 	movl	%edi,20(%esi)
4562 	movl	%edi,20(%esp)
4563 	movl	28(%esp),%edi
4564 	movl	%ecx,24(%esi)
4565 	addl	28(%esi),%edi
4566 	movl	%ecx,24(%esp)
4567 	movl	%edi,28(%esi)
4568 	movl	%edi,28(%esp)
4569 	movl	100(%esp),%edi
4570 	movdqa	64(%ebp),%xmm7
4571 	subl	$192,%ebp
4572 	cmpl	104(%esp),%edi
4573 	jb	L012grand_ssse3
4574 	movl	108(%esp),%esp
4575 	popl	%edi
4576 	popl	%esi
4577 	popl	%ebx
4578 	popl	%ebp
4579 	ret
4580 .align	5,0x90
4581 L005AVX:
4582 	andl	$264,%edx
4583 	cmpl	$264,%edx
4584 	je	L014AVX_BMI
4585 	leal	-96(%esp),%esp
4586 	vzeroall
4587 	movl	(%esi),%eax
4588 	movl	4(%esi),%ebx
4589 	movl	8(%esi),%ecx
4590 	movl	12(%esi),%edi
4591 	movl	%ebx,4(%esp)
4592 	xorl	%ecx,%ebx
4593 	movl	%ecx,8(%esp)
4594 	movl	%edi,12(%esp)
4595 	movl	16(%esi),%edx
4596 	movl	20(%esi),%edi
4597 	movl	24(%esi),%ecx
4598 	movl	28(%esi),%esi
4599 	movl	%edi,20(%esp)
4600 	movl	100(%esp),%edi
4601 	movl	%ecx,24(%esp)
4602 	movl	%esi,28(%esp)
4603 	vmovdqa	256(%ebp),%xmm7
4604 	jmp	L015grand_avx
4605 .align	5,0x90
4606 L015grand_avx:
4607 	vmovdqu	(%edi),%xmm0
4608 	vmovdqu	16(%edi),%xmm1
4609 	vmovdqu	32(%edi),%xmm2
4610 	vmovdqu	48(%edi),%xmm3
4611 	addl	$64,%edi
4612 	vpshufb	%xmm7,%xmm0,%xmm0
4613 	movl	%edi,100(%esp)
4614 	vpshufb	%xmm7,%xmm1,%xmm1
4615 	vpshufb	%xmm7,%xmm2,%xmm2
4616 	vpaddd	(%ebp),%xmm0,%xmm4
4617 	vpshufb	%xmm7,%xmm3,%xmm3
4618 	vpaddd	16(%ebp),%xmm1,%xmm5
4619 	vpaddd	32(%ebp),%xmm2,%xmm6
4620 	vpaddd	48(%ebp),%xmm3,%xmm7
4621 	vmovdqa	%xmm4,32(%esp)
4622 	vmovdqa	%xmm5,48(%esp)
4623 	vmovdqa	%xmm6,64(%esp)
4624 	vmovdqa	%xmm7,80(%esp)
4625 	jmp	L016avx_00_47
4626 .align	4,0x90
4627 L016avx_00_47:
4628 	addl	$64,%ebp
4629 	vpalignr	$4,%xmm0,%xmm1,%xmm4
4630 	movl	%edx,%ecx
4631 	shrdl	$14,%edx,%edx
4632 	movl	20(%esp),%esi
4633 	vpalignr	$4,%xmm2,%xmm3,%xmm7
4634 	xorl	%ecx,%edx
4635 	movl	24(%esp),%edi
4636 	xorl	%edi,%esi
4637 	vpsrld	$7,%xmm4,%xmm6
4638 	shrdl	$5,%edx,%edx
4639 	andl	%ecx,%esi
4640 	movl	%ecx,16(%esp)
4641 	vpaddd	%xmm7,%xmm0,%xmm0
4642 	xorl	%ecx,%edx
4643 	xorl	%esi,%edi
4644 	shrdl	$6,%edx,%edx
4645 	vpsrld	$3,%xmm4,%xmm7
4646 	movl	%eax,%ecx
4647 	addl	%edi,%edx
4648 	movl	4(%esp),%edi
4649 	vpslld	$14,%xmm4,%xmm5
4650 	movl	%eax,%esi
4651 	shrdl	$9,%ecx,%ecx
4652 	movl	%eax,(%esp)
4653 	vpxor	%xmm6,%xmm7,%xmm4
4654 	xorl	%eax,%ecx
4655 	xorl	%edi,%eax
4656 	addl	28(%esp),%edx
4657 	vpshufd	$250,%xmm3,%xmm7
4658 	shrdl	$11,%ecx,%ecx
4659 	andl	%eax,%ebx
4660 	xorl	%esi,%ecx
4661 	vpsrld	$11,%xmm6,%xmm6
4662 	addl	32(%esp),%edx
4663 	xorl	%edi,%ebx
4664 	shrdl	$2,%ecx,%ecx
4665 	vpxor	%xmm5,%xmm4,%xmm4
4666 	addl	%edx,%ebx
4667 	addl	12(%esp),%edx
4668 	addl	%ecx,%ebx
4669 	vpslld	$11,%xmm5,%xmm5
4670 	movl	%edx,%ecx
4671 	shrdl	$14,%edx,%edx
4672 	movl	16(%esp),%esi
4673 	vpxor	%xmm6,%xmm4,%xmm4
4674 	xorl	%ecx,%edx
4675 	movl	20(%esp),%edi
4676 	xorl	%edi,%esi
4677 	vpsrld	$10,%xmm7,%xmm6
4678 	shrdl	$5,%edx,%edx
4679 	andl	%ecx,%esi
4680 	movl	%ecx,12(%esp)
4681 	vpxor	%xmm5,%xmm4,%xmm4
4682 	xorl	%ecx,%edx
4683 	xorl	%esi,%edi
4684 	shrdl	$6,%edx,%edx
4685 	vpsrlq	$17,%xmm7,%xmm5
4686 	movl	%ebx,%ecx
4687 	addl	%edi,%edx
4688 	movl	(%esp),%edi
4689 	vpaddd	%xmm4,%xmm0,%xmm0
4690 	movl	%ebx,%esi
4691 	shrdl	$9,%ecx,%ecx
4692 	movl	%ebx,28(%esp)
4693 	vpxor	%xmm5,%xmm6,%xmm6
4694 	xorl	%ebx,%ecx
4695 	xorl	%edi,%ebx
4696 	addl	24(%esp),%edx
4697 	vpsrlq	$19,%xmm7,%xmm7
4698 	shrdl	$11,%ecx,%ecx
4699 	andl	%ebx,%eax
4700 	xorl	%esi,%ecx
4701 	vpxor	%xmm7,%xmm6,%xmm6
4702 	addl	36(%esp),%edx
4703 	xorl	%edi,%eax
4704 	shrdl	$2,%ecx,%ecx
4705 	vpshufd	$132,%xmm6,%xmm7
4706 	addl	%edx,%eax
4707 	addl	8(%esp),%edx
4708 	addl	%ecx,%eax
4709 	vpsrldq	$8,%xmm7,%xmm7
4710 	movl	%edx,%ecx
4711 	shrdl	$14,%edx,%edx
4712 	movl	12(%esp),%esi
4713 	vpaddd	%xmm7,%xmm0,%xmm0
4714 	xorl	%ecx,%edx
4715 	movl	16(%esp),%edi
4716 	xorl	%edi,%esi
4717 	vpshufd	$80,%xmm0,%xmm7
4718 	shrdl	$5,%edx,%edx
4719 	andl	%ecx,%esi
4720 	movl	%ecx,8(%esp)
4721 	vpsrld	$10,%xmm7,%xmm6
4722 	xorl	%ecx,%edx
4723 	xorl	%esi,%edi
4724 	shrdl	$6,%edx,%edx
4725 	vpsrlq	$17,%xmm7,%xmm5
4726 	movl	%eax,%ecx
4727 	addl	%edi,%edx
4728 	movl	28(%esp),%edi
4729 	vpxor	%xmm5,%xmm6,%xmm6
4730 	movl	%eax,%esi
4731 	shrdl	$9,%ecx,%ecx
4732 	movl	%eax,24(%esp)
4733 	vpsrlq	$19,%xmm7,%xmm7
4734 	xorl	%eax,%ecx
4735 	xorl	%edi,%eax
4736 	addl	20(%esp),%edx
4737 	vpxor	%xmm7,%xmm6,%xmm6
4738 	shrdl	$11,%ecx,%ecx
4739 	andl	%eax,%ebx
4740 	xorl	%esi,%ecx
4741 	vpshufd	$232,%xmm6,%xmm7
4742 	addl	40(%esp),%edx
4743 	xorl	%edi,%ebx
4744 	shrdl	$2,%ecx,%ecx
4745 	vpslldq	$8,%xmm7,%xmm7
4746 	addl	%edx,%ebx
4747 	addl	4(%esp),%edx
4748 	addl	%ecx,%ebx
4749 	vpaddd	%xmm7,%xmm0,%xmm0
4750 	movl	%edx,%ecx
4751 	shrdl	$14,%edx,%edx
4752 	movl	8(%esp),%esi
4753 	vpaddd	(%ebp),%xmm0,%xmm6
4754 	xorl	%ecx,%edx
4755 	movl	12(%esp),%edi
4756 	xorl	%edi,%esi
4757 	shrdl	$5,%edx,%edx
4758 	andl	%ecx,%esi
4759 	movl	%ecx,4(%esp)
4760 	xorl	%ecx,%edx
4761 	xorl	%esi,%edi
4762 	shrdl	$6,%edx,%edx
4763 	movl	%ebx,%ecx
4764 	addl	%edi,%edx
4765 	movl	24(%esp),%edi
4766 	movl	%ebx,%esi
4767 	shrdl	$9,%ecx,%ecx
4768 	movl	%ebx,20(%esp)
4769 	xorl	%ebx,%ecx
4770 	xorl	%edi,%ebx
4771 	addl	16(%esp),%edx
4772 	shrdl	$11,%ecx,%ecx
4773 	andl	%ebx,%eax
4774 	xorl	%esi,%ecx
4775 	addl	44(%esp),%edx
4776 	xorl	%edi,%eax
4777 	shrdl	$2,%ecx,%ecx
4778 	addl	%edx,%eax
4779 	addl	(%esp),%edx
4780 	addl	%ecx,%eax
4781 	vmovdqa	%xmm6,32(%esp)
4782 	vpalignr	$4,%xmm1,%xmm2,%xmm4
4783 	movl	%edx,%ecx
4784 	shrdl	$14,%edx,%edx
4785 	movl	4(%esp),%esi
4786 	vpalignr	$4,%xmm3,%xmm0,%xmm7
4787 	xorl	%ecx,%edx
4788 	movl	8(%esp),%edi
4789 	xorl	%edi,%esi
4790 	vpsrld	$7,%xmm4,%xmm6
4791 	shrdl	$5,%edx,%edx
4792 	andl	%ecx,%esi
4793 	movl	%ecx,(%esp)
4794 	vpaddd	%xmm7,%xmm1,%xmm1
4795 	xorl	%ecx,%edx
4796 	xorl	%esi,%edi
4797 	shrdl	$6,%edx,%edx
4798 	vpsrld	$3,%xmm4,%xmm7
4799 	movl	%eax,%ecx
4800 	addl	%edi,%edx
4801 	movl	20(%esp),%edi
4802 	vpslld	$14,%xmm4,%xmm5
4803 	movl	%eax,%esi
4804 	shrdl	$9,%ecx,%ecx
4805 	movl	%eax,16(%esp)
4806 	vpxor	%xmm6,%xmm7,%xmm4
4807 	xorl	%eax,%ecx
4808 	xorl	%edi,%eax
4809 	addl	12(%esp),%edx
4810 	vpshufd	$250,%xmm0,%xmm7
4811 	shrdl	$11,%ecx,%ecx
4812 	andl	%eax,%ebx
4813 	xorl	%esi,%ecx
4814 	vpsrld	$11,%xmm6,%xmm6
4815 	addl	48(%esp),%edx
4816 	xorl	%edi,%ebx
4817 	shrdl	$2,%ecx,%ecx
4818 	vpxor	%xmm5,%xmm4,%xmm4
4819 	addl	%edx,%ebx
4820 	addl	28(%esp),%edx
4821 	addl	%ecx,%ebx
4822 	vpslld	$11,%xmm5,%xmm5
4823 	movl	%edx,%ecx
4824 	shrdl	$14,%edx,%edx
4825 	movl	(%esp),%esi
4826 	vpxor	%xmm6,%xmm4,%xmm4
4827 	xorl	%ecx,%edx
4828 	movl	4(%esp),%edi
4829 	xorl	%edi,%esi
4830 	vpsrld	$10,%xmm7,%xmm6
4831 	shrdl	$5,%edx,%edx
4832 	andl	%ecx,%esi
4833 	movl	%ecx,28(%esp)
4834 	vpxor	%xmm5,%xmm4,%xmm4
4835 	xorl	%ecx,%edx
4836 	xorl	%esi,%edi
4837 	shrdl	$6,%edx,%edx
4838 	vpsrlq	$17,%xmm7,%xmm5
4839 	movl	%ebx,%ecx
4840 	addl	%edi,%edx
4841 	movl	16(%esp),%edi
4842 	vpaddd	%xmm4,%xmm1,%xmm1
4843 	movl	%ebx,%esi
4844 	shrdl	$9,%ecx,%ecx
4845 	movl	%ebx,12(%esp)
4846 	vpxor	%xmm5,%xmm6,%xmm6
4847 	xorl	%ebx,%ecx
4848 	xorl	%edi,%ebx
4849 	addl	8(%esp),%edx
4850 	vpsrlq	$19,%xmm7,%xmm7
4851 	shrdl	$11,%ecx,%ecx
4852 	andl	%ebx,%eax
4853 	xorl	%esi,%ecx
4854 	vpxor	%xmm7,%xmm6,%xmm6
4855 	addl	52(%esp),%edx
4856 	xorl	%edi,%eax
4857 	shrdl	$2,%ecx,%ecx
4858 	vpshufd	$132,%xmm6,%xmm7
4859 	addl	%edx,%eax
4860 	addl	24(%esp),%edx
4861 	addl	%ecx,%eax
4862 	vpsrldq	$8,%xmm7,%xmm7
4863 	movl	%edx,%ecx
4864 	shrdl	$14,%edx,%edx
4865 	movl	28(%esp),%esi
4866 	vpaddd	%xmm7,%xmm1,%xmm1
4867 	xorl	%ecx,%edx
4868 	movl	(%esp),%edi
4869 	xorl	%edi,%esi
4870 	vpshufd	$80,%xmm1,%xmm7
4871 	shrdl	$5,%edx,%edx
4872 	andl	%ecx,%esi
4873 	movl	%ecx,24(%esp)
4874 	vpsrld	$10,%xmm7,%xmm6
4875 	xorl	%ecx,%edx
4876 	xorl	%esi,%edi
4877 	shrdl	$6,%edx,%edx
4878 	vpsrlq	$17,%xmm7,%xmm5
4879 	movl	%eax,%ecx
4880 	addl	%edi,%edx
4881 	movl	12(%esp),%edi
4882 	vpxor	%xmm5,%xmm6,%xmm6
4883 	movl	%eax,%esi
4884 	shrdl	$9,%ecx,%ecx
4885 	movl	%eax,8(%esp)
4886 	vpsrlq	$19,%xmm7,%xmm7
4887 	xorl	%eax,%ecx
4888 	xorl	%edi,%eax
4889 	addl	4(%esp),%edx
4890 	vpxor	%xmm7,%xmm6,%xmm6
4891 	shrdl	$11,%ecx,%ecx
4892 	andl	%eax,%ebx
4893 	xorl	%esi,%ecx
4894 	vpshufd	$232,%xmm6,%xmm7
4895 	addl	56(%esp),%edx
4896 	xorl	%edi,%ebx
4897 	shrdl	$2,%ecx,%ecx
4898 	vpslldq	$8,%xmm7,%xmm7
4899 	addl	%edx,%ebx
4900 	addl	20(%esp),%edx
4901 	addl	%ecx,%ebx
4902 	vpaddd	%xmm7,%xmm1,%xmm1
4903 	movl	%edx,%ecx
4904 	shrdl	$14,%edx,%edx
4905 	movl	24(%esp),%esi
4906 	vpaddd	16(%ebp),%xmm1,%xmm6
4907 	xorl	%ecx,%edx
4908 	movl	28(%esp),%edi
4909 	xorl	%edi,%esi
4910 	shrdl	$5,%edx,%edx
4911 	andl	%ecx,%esi
4912 	movl	%ecx,20(%esp)
4913 	xorl	%ecx,%edx
4914 	xorl	%esi,%edi
4915 	shrdl	$6,%edx,%edx
4916 	movl	%ebx,%ecx
4917 	addl	%edi,%edx
4918 	movl	8(%esp),%edi
4919 	movl	%ebx,%esi
4920 	shrdl	$9,%ecx,%ecx
4921 	movl	%ebx,4(%esp)
4922 	xorl	%ebx,%ecx
4923 	xorl	%edi,%ebx
4924 	addl	(%esp),%edx
4925 	shrdl	$11,%ecx,%ecx
4926 	andl	%ebx,%eax
4927 	xorl	%esi,%ecx
4928 	addl	60(%esp),%edx
4929 	xorl	%edi,%eax
4930 	shrdl	$2,%ecx,%ecx
4931 	addl	%edx,%eax
4932 	addl	16(%esp),%edx
4933 	addl	%ecx,%eax
4934 	vmovdqa	%xmm6,48(%esp)
4935 	vpalignr	$4,%xmm2,%xmm3,%xmm4
4936 	movl	%edx,%ecx
4937 	shrdl	$14,%edx,%edx
4938 	movl	20(%esp),%esi
4939 	vpalignr	$4,%xmm0,%xmm1,%xmm7
4940 	xorl	%ecx,%edx
4941 	movl	24(%esp),%edi
4942 	xorl	%edi,%esi
4943 	vpsrld	$7,%xmm4,%xmm6
4944 	shrdl	$5,%edx,%edx
4945 	andl	%ecx,%esi
4946 	movl	%ecx,16(%esp)
4947 	vpaddd	%xmm7,%xmm2,%xmm2
4948 	xorl	%ecx,%edx
4949 	xorl	%esi,%edi
4950 	shrdl	$6,%edx,%edx
4951 	vpsrld	$3,%xmm4,%xmm7
4952 	movl	%eax,%ecx
4953 	addl	%edi,%edx
4954 	movl	4(%esp),%edi
4955 	vpslld	$14,%xmm4,%xmm5
4956 	movl	%eax,%esi
4957 	shrdl	$9,%ecx,%ecx
4958 	movl	%eax,(%esp)
4959 	vpxor	%xmm6,%xmm7,%xmm4
4960 	xorl	%eax,%ecx
4961 	xorl	%edi,%eax
4962 	addl	28(%esp),%edx
4963 	vpshufd	$250,%xmm1,%xmm7
4964 	shrdl	$11,%ecx,%ecx
4965 	andl	%eax,%ebx
4966 	xorl	%esi,%ecx
4967 	vpsrld	$11,%xmm6,%xmm6
4968 	addl	64(%esp),%edx
4969 	xorl	%edi,%ebx
4970 	shrdl	$2,%ecx,%ecx
4971 	vpxor	%xmm5,%xmm4,%xmm4
4972 	addl	%edx,%ebx
4973 	addl	12(%esp),%edx
4974 	addl	%ecx,%ebx
4975 	vpslld	$11,%xmm5,%xmm5
4976 	movl	%edx,%ecx
4977 	shrdl	$14,%edx,%edx
4978 	movl	16(%esp),%esi
4979 	vpxor	%xmm6,%xmm4,%xmm4
4980 	xorl	%ecx,%edx
4981 	movl	20(%esp),%edi
4982 	xorl	%edi,%esi
4983 	vpsrld	$10,%xmm7,%xmm6
4984 	shrdl	$5,%edx,%edx
4985 	andl	%ecx,%esi
4986 	movl	%ecx,12(%esp)
4987 	vpxor	%xmm5,%xmm4,%xmm4
4988 	xorl	%ecx,%edx
4989 	xorl	%esi,%edi
4990 	shrdl	$6,%edx,%edx
4991 	vpsrlq	$17,%xmm7,%xmm5
4992 	movl	%ebx,%ecx
4993 	addl	%edi,%edx
4994 	movl	(%esp),%edi
4995 	vpaddd	%xmm4,%xmm2,%xmm2
4996 	movl	%ebx,%esi
4997 	shrdl	$9,%ecx,%ecx
4998 	movl	%ebx,28(%esp)
4999 	vpxor	%xmm5,%xmm6,%xmm6
5000 	xorl	%ebx,%ecx
5001 	xorl	%edi,%ebx
5002 	addl	24(%esp),%edx
5003 	vpsrlq	$19,%xmm7,%xmm7
5004 	shrdl	$11,%ecx,%ecx
5005 	andl	%ebx,%eax
5006 	xorl	%esi,%ecx
5007 	vpxor	%xmm7,%xmm6,%xmm6
5008 	addl	68(%esp),%edx
5009 	xorl	%edi,%eax
5010 	shrdl	$2,%ecx,%ecx
5011 	vpshufd	$132,%xmm6,%xmm7
5012 	addl	%edx,%eax
5013 	addl	8(%esp),%edx
5014 	addl	%ecx,%eax
5015 	vpsrldq	$8,%xmm7,%xmm7
5016 	movl	%edx,%ecx
5017 	shrdl	$14,%edx,%edx
5018 	movl	12(%esp),%esi
5019 	vpaddd	%xmm7,%xmm2,%xmm2
5020 	xorl	%ecx,%edx
5021 	movl	16(%esp),%edi
5022 	xorl	%edi,%esi
5023 	vpshufd	$80,%xmm2,%xmm7
5024 	shrdl	$5,%edx,%edx
5025 	andl	%ecx,%esi
5026 	movl	%ecx,8(%esp)
5027 	vpsrld	$10,%xmm7,%xmm6
5028 	xorl	%ecx,%edx
5029 	xorl	%esi,%edi
5030 	shrdl	$6,%edx,%edx
5031 	vpsrlq	$17,%xmm7,%xmm5
5032 	movl	%eax,%ecx
5033 	addl	%edi,%edx
5034 	movl	28(%esp),%edi
5035 	vpxor	%xmm5,%xmm6,%xmm6
5036 	movl	%eax,%esi
5037 	shrdl	$9,%ecx,%ecx
5038 	movl	%eax,24(%esp)
5039 	vpsrlq	$19,%xmm7,%xmm7
5040 	xorl	%eax,%ecx
5041 	xorl	%edi,%eax
5042 	addl	20(%esp),%edx
5043 	vpxor	%xmm7,%xmm6,%xmm6
5044 	shrdl	$11,%ecx,%ecx
5045 	andl	%eax,%ebx
5046 	xorl	%esi,%ecx
5047 	vpshufd	$232,%xmm6,%xmm7
5048 	addl	72(%esp),%edx
5049 	xorl	%edi,%ebx
5050 	shrdl	$2,%ecx,%ecx
5051 	vpslldq	$8,%xmm7,%xmm7
5052 	addl	%edx,%ebx
5053 	addl	4(%esp),%edx
5054 	addl	%ecx,%ebx
5055 	vpaddd	%xmm7,%xmm2,%xmm2
5056 	movl	%edx,%ecx
5057 	shrdl	$14,%edx,%edx
5058 	movl	8(%esp),%esi
5059 	vpaddd	32(%ebp),%xmm2,%xmm6
5060 	xorl	%ecx,%edx
5061 	movl	12(%esp),%edi
5062 	xorl	%edi,%esi
5063 	shrdl	$5,%edx,%edx
5064 	andl	%ecx,%esi
5065 	movl	%ecx,4(%esp)
5066 	xorl	%ecx,%edx
5067 	xorl	%esi,%edi
5068 	shrdl	$6,%edx,%edx
5069 	movl	%ebx,%ecx
5070 	addl	%edi,%edx
5071 	movl	24(%esp),%edi
5072 	movl	%ebx,%esi
5073 	shrdl	$9,%ecx,%ecx
5074 	movl	%ebx,20(%esp)
5075 	xorl	%ebx,%ecx
5076 	xorl	%edi,%ebx
5077 	addl	16(%esp),%edx
5078 	shrdl	$11,%ecx,%ecx
5079 	andl	%ebx,%eax
5080 	xorl	%esi,%ecx
5081 	addl	76(%esp),%edx
5082 	xorl	%edi,%eax
5083 	shrdl	$2,%ecx,%ecx
5084 	addl	%edx,%eax
5085 	addl	(%esp),%edx
5086 	addl	%ecx,%eax
5087 	vmovdqa	%xmm6,64(%esp)
5088 	vpalignr	$4,%xmm3,%xmm0,%xmm4
5089 	movl	%edx,%ecx
5090 	shrdl	$14,%edx,%edx
5091 	movl	4(%esp),%esi
5092 	vpalignr	$4,%xmm1,%xmm2,%xmm7
5093 	xorl	%ecx,%edx
5094 	movl	8(%esp),%edi
5095 	xorl	%edi,%esi
5096 	vpsrld	$7,%xmm4,%xmm6
5097 	shrdl	$5,%edx,%edx
5098 	andl	%ecx,%esi
5099 	movl	%ecx,(%esp)
5100 	vpaddd	%xmm7,%xmm3,%xmm3
5101 	xorl	%ecx,%edx
5102 	xorl	%esi,%edi
5103 	shrdl	$6,%edx,%edx
5104 	vpsrld	$3,%xmm4,%xmm7
5105 	movl	%eax,%ecx
5106 	addl	%edi,%edx
5107 	movl	20(%esp),%edi
5108 	vpslld	$14,%xmm4,%xmm5
5109 	movl	%eax,%esi
5110 	shrdl	$9,%ecx,%ecx
5111 	movl	%eax,16(%esp)
5112 	vpxor	%xmm6,%xmm7,%xmm4
5113 	xorl	%eax,%ecx
5114 	xorl	%edi,%eax
5115 	addl	12(%esp),%edx
5116 	vpshufd	$250,%xmm2,%xmm7
5117 	shrdl	$11,%ecx,%ecx
5118 	andl	%eax,%ebx
5119 	xorl	%esi,%ecx
5120 	vpsrld	$11,%xmm6,%xmm6
5121 	addl	80(%esp),%edx
5122 	xorl	%edi,%ebx
5123 	shrdl	$2,%ecx,%ecx
5124 	vpxor	%xmm5,%xmm4,%xmm4
5125 	addl	%edx,%ebx
5126 	addl	28(%esp),%edx
5127 	addl	%ecx,%ebx
5128 	vpslld	$11,%xmm5,%xmm5
5129 	movl	%edx,%ecx
5130 	shrdl	$14,%edx,%edx
5131 	movl	(%esp),%esi
5132 	vpxor	%xmm6,%xmm4,%xmm4
5133 	xorl	%ecx,%edx
5134 	movl	4(%esp),%edi
5135 	xorl	%edi,%esi
5136 	vpsrld	$10,%xmm7,%xmm6
5137 	shrdl	$5,%edx,%edx
5138 	andl	%ecx,%esi
5139 	movl	%ecx,28(%esp)
5140 	vpxor	%xmm5,%xmm4,%xmm4
5141 	xorl	%ecx,%edx
5142 	xorl	%esi,%edi
5143 	shrdl	$6,%edx,%edx
5144 	vpsrlq	$17,%xmm7,%xmm5
5145 	movl	%ebx,%ecx
5146 	addl	%edi,%edx
5147 	movl	16(%esp),%edi
5148 	vpaddd	%xmm4,%xmm3,%xmm3
5149 	movl	%ebx,%esi
5150 	shrdl	$9,%ecx,%ecx
5151 	movl	%ebx,12(%esp)
5152 	vpxor	%xmm5,%xmm6,%xmm6
5153 	xorl	%ebx,%ecx
5154 	xorl	%edi,%ebx
5155 	addl	8(%esp),%edx
5156 	vpsrlq	$19,%xmm7,%xmm7
5157 	shrdl	$11,%ecx,%ecx
5158 	andl	%ebx,%eax
5159 	xorl	%esi,%ecx
5160 	vpxor	%xmm7,%xmm6,%xmm6
5161 	addl	84(%esp),%edx
5162 	xorl	%edi,%eax
5163 	shrdl	$2,%ecx,%ecx
5164 	vpshufd	$132,%xmm6,%xmm7
5165 	addl	%edx,%eax
5166 	addl	24(%esp),%edx
5167 	addl	%ecx,%eax
5168 	vpsrldq	$8,%xmm7,%xmm7
5169 	movl	%edx,%ecx
5170 	shrdl	$14,%edx,%edx
5171 	movl	28(%esp),%esi
5172 	vpaddd	%xmm7,%xmm3,%xmm3
5173 	xorl	%ecx,%edx
5174 	movl	(%esp),%edi
5175 	xorl	%edi,%esi
5176 	vpshufd	$80,%xmm3,%xmm7
5177 	shrdl	$5,%edx,%edx
5178 	andl	%ecx,%esi
5179 	movl	%ecx,24(%esp)
5180 	vpsrld	$10,%xmm7,%xmm6
5181 	xorl	%ecx,%edx
5182 	xorl	%esi,%edi
5183 	shrdl	$6,%edx,%edx
5184 	vpsrlq	$17,%xmm7,%xmm5
5185 	movl	%eax,%ecx
5186 	addl	%edi,%edx
5187 	movl	12(%esp),%edi
5188 	vpxor	%xmm5,%xmm6,%xmm6
5189 	movl	%eax,%esi
5190 	shrdl	$9,%ecx,%ecx
5191 	movl	%eax,8(%esp)
5192 	vpsrlq	$19,%xmm7,%xmm7
5193 	xorl	%eax,%ecx
5194 	xorl	%edi,%eax
5195 	addl	4(%esp),%edx
5196 	vpxor	%xmm7,%xmm6,%xmm6
5197 	shrdl	$11,%ecx,%ecx
5198 	andl	%eax,%ebx
5199 	xorl	%esi,%ecx
5200 	vpshufd	$232,%xmm6,%xmm7
5201 	addl	88(%esp),%edx
5202 	xorl	%edi,%ebx
5203 	shrdl	$2,%ecx,%ecx
5204 	vpslldq	$8,%xmm7,%xmm7
5205 	addl	%edx,%ebx
5206 	addl	20(%esp),%edx
5207 	addl	%ecx,%ebx
5208 	vpaddd	%xmm7,%xmm3,%xmm3
5209 	movl	%edx,%ecx
5210 	shrdl	$14,%edx,%edx
5211 	movl	24(%esp),%esi
5212 	vpaddd	48(%ebp),%xmm3,%xmm6
5213 	xorl	%ecx,%edx
5214 	movl	28(%esp),%edi
5215 	xorl	%edi,%esi
5216 	shrdl	$5,%edx,%edx
5217 	andl	%ecx,%esi
5218 	movl	%ecx,20(%esp)
5219 	xorl	%ecx,%edx
5220 	xorl	%esi,%edi
5221 	shrdl	$6,%edx,%edx
5222 	movl	%ebx,%ecx
5223 	addl	%edi,%edx
5224 	movl	8(%esp),%edi
5225 	movl	%ebx,%esi
5226 	shrdl	$9,%ecx,%ecx
5227 	movl	%ebx,4(%esp)
5228 	xorl	%ebx,%ecx
5229 	xorl	%edi,%ebx
5230 	addl	(%esp),%edx
5231 	shrdl	$11,%ecx,%ecx
5232 	andl	%ebx,%eax
5233 	xorl	%esi,%ecx
5234 	addl	92(%esp),%edx
5235 	xorl	%edi,%eax
5236 	shrdl	$2,%ecx,%ecx
5237 	addl	%edx,%eax
5238 	addl	16(%esp),%edx
5239 	addl	%ecx,%eax
5240 	vmovdqa	%xmm6,80(%esp)
5241 	cmpl	$66051,64(%ebp)
5242 	jne	L016avx_00_47
5243 	movl	%edx,%ecx
5244 	shrdl	$14,%edx,%edx
5245 	movl	20(%esp),%esi
5246 	xorl	%ecx,%edx
5247 	movl	24(%esp),%edi
5248 	xorl	%edi,%esi
5249 	shrdl	$5,%edx,%edx
5250 	andl	%ecx,%esi
5251 	movl	%ecx,16(%esp)
5252 	xorl	%ecx,%edx
5253 	xorl	%esi,%edi
5254 	shrdl	$6,%edx,%edx
5255 	movl	%eax,%ecx
5256 	addl	%edi,%edx
5257 	movl	4(%esp),%edi
5258 	movl	%eax,%esi
5259 	shrdl	$9,%ecx,%ecx
5260 	movl	%eax,(%esp)
5261 	xorl	%eax,%ecx
5262 	xorl	%edi,%eax
5263 	addl	28(%esp),%edx
5264 	shrdl	$11,%ecx,%ecx
5265 	andl	%eax,%ebx
5266 	xorl	%esi,%ecx
5267 	addl	32(%esp),%edx
5268 	xorl	%edi,%ebx
5269 	shrdl	$2,%ecx,%ecx
5270 	addl	%edx,%ebx
5271 	addl	12(%esp),%edx
5272 	addl	%ecx,%ebx
5273 	movl	%edx,%ecx
5274 	shrdl	$14,%edx,%edx
5275 	movl	16(%esp),%esi
5276 	xorl	%ecx,%edx
5277 	movl	20(%esp),%edi
5278 	xorl	%edi,%esi
5279 	shrdl	$5,%edx,%edx
5280 	andl	%ecx,%esi
5281 	movl	%ecx,12(%esp)
5282 	xorl	%ecx,%edx
5283 	xorl	%esi,%edi
5284 	shrdl	$6,%edx,%edx
5285 	movl	%ebx,%ecx
5286 	addl	%edi,%edx
5287 	movl	(%esp),%edi
5288 	movl	%ebx,%esi
5289 	shrdl	$9,%ecx,%ecx
5290 	movl	%ebx,28(%esp)
5291 	xorl	%ebx,%ecx
5292 	xorl	%edi,%ebx
5293 	addl	24(%esp),%edx
5294 	shrdl	$11,%ecx,%ecx
5295 	andl	%ebx,%eax
5296 	xorl	%esi,%ecx
5297 	addl	36(%esp),%edx
5298 	xorl	%edi,%eax
5299 	shrdl	$2,%ecx,%ecx
5300 	addl	%edx,%eax
5301 	addl	8(%esp),%edx
5302 	addl	%ecx,%eax
5303 	movl	%edx,%ecx
5304 	shrdl	$14,%edx,%edx
5305 	movl	12(%esp),%esi
5306 	xorl	%ecx,%edx
5307 	movl	16(%esp),%edi
5308 	xorl	%edi,%esi
5309 	shrdl	$5,%edx,%edx
5310 	andl	%ecx,%esi
5311 	movl	%ecx,8(%esp)
5312 	xorl	%ecx,%edx
5313 	xorl	%esi,%edi
5314 	shrdl	$6,%edx,%edx
5315 	movl	%eax,%ecx
5316 	addl	%edi,%edx
5317 	movl	28(%esp),%edi
5318 	movl	%eax,%esi
5319 	shrdl	$9,%ecx,%ecx
5320 	movl	%eax,24(%esp)
5321 	xorl	%eax,%ecx
5322 	xorl	%edi,%eax
5323 	addl	20(%esp),%edx
5324 	shrdl	$11,%ecx,%ecx
5325 	andl	%eax,%ebx
5326 	xorl	%esi,%ecx
5327 	addl	40(%esp),%edx
5328 	xorl	%edi,%ebx
5329 	shrdl	$2,%ecx,%ecx
5330 	addl	%edx,%ebx
5331 	addl	4(%esp),%edx
5332 	addl	%ecx,%ebx
5333 	movl	%edx,%ecx
5334 	shrdl	$14,%edx,%edx
5335 	movl	8(%esp),%esi
5336 	xorl	%ecx,%edx
5337 	movl	12(%esp),%edi
5338 	xorl	%edi,%esi
5339 	shrdl	$5,%edx,%edx
5340 	andl	%ecx,%esi
5341 	movl	%ecx,4(%esp)
5342 	xorl	%ecx,%edx
5343 	xorl	%esi,%edi
5344 	shrdl	$6,%edx,%edx
5345 	movl	%ebx,%ecx
5346 	addl	%edi,%edx
5347 	movl	24(%esp),%edi
5348 	movl	%ebx,%esi
5349 	shrdl	$9,%ecx,%ecx
5350 	movl	%ebx,20(%esp)
5351 	xorl	%ebx,%ecx
5352 	xorl	%edi,%ebx
5353 	addl	16(%esp),%edx
5354 	shrdl	$11,%ecx,%ecx
5355 	andl	%ebx,%eax
5356 	xorl	%esi,%ecx
5357 	addl	44(%esp),%edx
5358 	xorl	%edi,%eax
5359 	shrdl	$2,%ecx,%ecx
5360 	addl	%edx,%eax
5361 	addl	(%esp),%edx
5362 	addl	%ecx,%eax
5363 	movl	%edx,%ecx
5364 	shrdl	$14,%edx,%edx
5365 	movl	4(%esp),%esi
5366 	xorl	%ecx,%edx
5367 	movl	8(%esp),%edi
5368 	xorl	%edi,%esi
5369 	shrdl	$5,%edx,%edx
5370 	andl	%ecx,%esi
5371 	movl	%ecx,(%esp)
5372 	xorl	%ecx,%edx
5373 	xorl	%esi,%edi
5374 	shrdl	$6,%edx,%edx
5375 	movl	%eax,%ecx
5376 	addl	%edi,%edx
5377 	movl	20(%esp),%edi
5378 	movl	%eax,%esi
5379 	shrdl	$9,%ecx,%ecx
5380 	movl	%eax,16(%esp)
5381 	xorl	%eax,%ecx
5382 	xorl	%edi,%eax
5383 	addl	12(%esp),%edx
5384 	shrdl	$11,%ecx,%ecx
5385 	andl	%eax,%ebx
5386 	xorl	%esi,%ecx
5387 	addl	48(%esp),%edx
5388 	xorl	%edi,%ebx
5389 	shrdl	$2,%ecx,%ecx
5390 	addl	%edx,%ebx
5391 	addl	28(%esp),%edx
5392 	addl	%ecx,%ebx
5393 	movl	%edx,%ecx
5394 	shrdl	$14,%edx,%edx
5395 	movl	(%esp),%esi
5396 	xorl	%ecx,%edx
5397 	movl	4(%esp),%edi
5398 	xorl	%edi,%esi
5399 	shrdl	$5,%edx,%edx
5400 	andl	%ecx,%esi
5401 	movl	%ecx,28(%esp)
5402 	xorl	%ecx,%edx
5403 	xorl	%esi,%edi
5404 	shrdl	$6,%edx,%edx
5405 	movl	%ebx,%ecx
5406 	addl	%edi,%edx
5407 	movl	16(%esp),%edi
5408 	movl	%ebx,%esi
5409 	shrdl	$9,%ecx,%ecx
5410 	movl	%ebx,12(%esp)
5411 	xorl	%ebx,%ecx
5412 	xorl	%edi,%ebx
5413 	addl	8(%esp),%edx
5414 	shrdl	$11,%ecx,%ecx
5415 	andl	%ebx,%eax
5416 	xorl	%esi,%ecx
5417 	addl	52(%esp),%edx
5418 	xorl	%edi,%eax
5419 	shrdl	$2,%ecx,%ecx
5420 	addl	%edx,%eax
5421 	addl	24(%esp),%edx
5422 	addl	%ecx,%eax
5423 	movl	%edx,%ecx
5424 	shrdl	$14,%edx,%edx
5425 	movl	28(%esp),%esi
5426 	xorl	%ecx,%edx
5427 	movl	(%esp),%edi
5428 	xorl	%edi,%esi
5429 	shrdl	$5,%edx,%edx
5430 	andl	%ecx,%esi
5431 	movl	%ecx,24(%esp)
5432 	xorl	%ecx,%edx
5433 	xorl	%esi,%edi
5434 	shrdl	$6,%edx,%edx
5435 	movl	%eax,%ecx
5436 	addl	%edi,%edx
5437 	movl	12(%esp),%edi
5438 	movl	%eax,%esi
5439 	shrdl	$9,%ecx,%ecx
5440 	movl	%eax,8(%esp)
5441 	xorl	%eax,%ecx
5442 	xorl	%edi,%eax
5443 	addl	4(%esp),%edx
5444 	shrdl	$11,%ecx,%ecx
5445 	andl	%eax,%ebx
5446 	xorl	%esi,%ecx
5447 	addl	56(%esp),%edx
5448 	xorl	%edi,%ebx
5449 	shrdl	$2,%ecx,%ecx
5450 	addl	%edx,%ebx
5451 	addl	20(%esp),%edx
5452 	addl	%ecx,%ebx
5453 	movl	%edx,%ecx
5454 	shrdl	$14,%edx,%edx
5455 	movl	24(%esp),%esi
5456 	xorl	%ecx,%edx
5457 	movl	28(%esp),%edi
5458 	xorl	%edi,%esi
5459 	shrdl	$5,%edx,%edx
5460 	andl	%ecx,%esi
5461 	movl	%ecx,20(%esp)
5462 	xorl	%ecx,%edx
5463 	xorl	%esi,%edi
5464 	shrdl	$6,%edx,%edx
5465 	movl	%ebx,%ecx
5466 	addl	%edi,%edx
5467 	movl	8(%esp),%edi
5468 	movl	%ebx,%esi
5469 	shrdl	$9,%ecx,%ecx
5470 	movl	%ebx,4(%esp)
5471 	xorl	%ebx,%ecx
5472 	xorl	%edi,%ebx
5473 	addl	(%esp),%edx
5474 	shrdl	$11,%ecx,%ecx
5475 	andl	%ebx,%eax
5476 	xorl	%esi,%ecx
5477 	addl	60(%esp),%edx
5478 	xorl	%edi,%eax
5479 	shrdl	$2,%ecx,%ecx
5480 	addl	%edx,%eax
5481 	addl	16(%esp),%edx
5482 	addl	%ecx,%eax
5483 	movl	%edx,%ecx
5484 	shrdl	$14,%edx,%edx
5485 	movl	20(%esp),%esi
5486 	xorl	%ecx,%edx
5487 	movl	24(%esp),%edi
5488 	xorl	%edi,%esi
5489 	shrdl	$5,%edx,%edx
5490 	andl	%ecx,%esi
5491 	movl	%ecx,16(%esp)
5492 	xorl	%ecx,%edx
5493 	xorl	%esi,%edi
5494 	shrdl	$6,%edx,%edx
5495 	movl	%eax,%ecx
5496 	addl	%edi,%edx
5497 	movl	4(%esp),%edi
5498 	movl	%eax,%esi
5499 	shrdl	$9,%ecx,%ecx
5500 	movl	%eax,(%esp)
5501 	xorl	%eax,%ecx
5502 	xorl	%edi,%eax
5503 	addl	28(%esp),%edx
5504 	shrdl	$11,%ecx,%ecx
5505 	andl	%eax,%ebx
5506 	xorl	%esi,%ecx
5507 	addl	64(%esp),%edx
5508 	xorl	%edi,%ebx
5509 	shrdl	$2,%ecx,%ecx
5510 	addl	%edx,%ebx
5511 	addl	12(%esp),%edx
5512 	addl	%ecx,%ebx
5513 	movl	%edx,%ecx
5514 	shrdl	$14,%edx,%edx
5515 	movl	16(%esp),%esi
5516 	xorl	%ecx,%edx
5517 	movl	20(%esp),%edi
5518 	xorl	%edi,%esi
5519 	shrdl	$5,%edx,%edx
5520 	andl	%ecx,%esi
5521 	movl	%ecx,12(%esp)
5522 	xorl	%ecx,%edx
5523 	xorl	%esi,%edi
5524 	shrdl	$6,%edx,%edx
5525 	movl	%ebx,%ecx
5526 	addl	%edi,%edx
5527 	movl	(%esp),%edi
5528 	movl	%ebx,%esi
5529 	shrdl	$9,%ecx,%ecx
5530 	movl	%ebx,28(%esp)
5531 	xorl	%ebx,%ecx
5532 	xorl	%edi,%ebx
5533 	addl	24(%esp),%edx
5534 	shrdl	$11,%ecx,%ecx
5535 	andl	%ebx,%eax
5536 	xorl	%esi,%ecx
5537 	addl	68(%esp),%edx
5538 	xorl	%edi,%eax
5539 	shrdl	$2,%ecx,%ecx
5540 	addl	%edx,%eax
5541 	addl	8(%esp),%edx
5542 	addl	%ecx,%eax
5543 	movl	%edx,%ecx
5544 	shrdl	$14,%edx,%edx
5545 	movl	12(%esp),%esi
5546 	xorl	%ecx,%edx
5547 	movl	16(%esp),%edi
5548 	xorl	%edi,%esi
5549 	shrdl	$5,%edx,%edx
5550 	andl	%ecx,%esi
5551 	movl	%ecx,8(%esp)
5552 	xorl	%ecx,%edx
5553 	xorl	%esi,%edi
5554 	shrdl	$6,%edx,%edx
5555 	movl	%eax,%ecx
5556 	addl	%edi,%edx
5557 	movl	28(%esp),%edi
5558 	movl	%eax,%esi
5559 	shrdl	$9,%ecx,%ecx
5560 	movl	%eax,24(%esp)
5561 	xorl	%eax,%ecx
5562 	xorl	%edi,%eax
5563 	addl	20(%esp),%edx
5564 	shrdl	$11,%ecx,%ecx
5565 	andl	%eax,%ebx
5566 	xorl	%esi,%ecx
5567 	addl	72(%esp),%edx
5568 	xorl	%edi,%ebx
5569 	shrdl	$2,%ecx,%ecx
5570 	addl	%edx,%ebx
5571 	addl	4(%esp),%edx
5572 	addl	%ecx,%ebx
5573 	movl	%edx,%ecx
5574 	shrdl	$14,%edx,%edx
5575 	movl	8(%esp),%esi
5576 	xorl	%ecx,%edx
5577 	movl	12(%esp),%edi
5578 	xorl	%edi,%esi
5579 	shrdl	$5,%edx,%edx
5580 	andl	%ecx,%esi
5581 	movl	%ecx,4(%esp)
5582 	xorl	%ecx,%edx
5583 	xorl	%esi,%edi
5584 	shrdl	$6,%edx,%edx
5585 	movl	%ebx,%ecx
5586 	addl	%edi,%edx
5587 	movl	24(%esp),%edi
5588 	movl	%ebx,%esi
5589 	shrdl	$9,%ecx,%ecx
5590 	movl	%ebx,20(%esp)
5591 	xorl	%ebx,%ecx
5592 	xorl	%edi,%ebx
5593 	addl	16(%esp),%edx
5594 	shrdl	$11,%ecx,%ecx
5595 	andl	%ebx,%eax
5596 	xorl	%esi,%ecx
5597 	addl	76(%esp),%edx
5598 	xorl	%edi,%eax
5599 	shrdl	$2,%ecx,%ecx
5600 	addl	%edx,%eax
5601 	addl	(%esp),%edx
5602 	addl	%ecx,%eax
5603 	movl	%edx,%ecx
5604 	shrdl	$14,%edx,%edx
5605 	movl	4(%esp),%esi
5606 	xorl	%ecx,%edx
5607 	movl	8(%esp),%edi
5608 	xorl	%edi,%esi
5609 	shrdl	$5,%edx,%edx
5610 	andl	%ecx,%esi
5611 	movl	%ecx,(%esp)
5612 	xorl	%ecx,%edx
5613 	xorl	%esi,%edi
5614 	shrdl	$6,%edx,%edx
5615 	movl	%eax,%ecx
5616 	addl	%edi,%edx
5617 	movl	20(%esp),%edi
5618 	movl	%eax,%esi
5619 	shrdl	$9,%ecx,%ecx
5620 	movl	%eax,16(%esp)
5621 	xorl	%eax,%ecx
5622 	xorl	%edi,%eax
5623 	addl	12(%esp),%edx
5624 	shrdl	$11,%ecx,%ecx
5625 	andl	%eax,%ebx
5626 	xorl	%esi,%ecx
5627 	addl	80(%esp),%edx
5628 	xorl	%edi,%ebx
5629 	shrdl	$2,%ecx,%ecx
5630 	addl	%edx,%ebx
5631 	addl	28(%esp),%edx
5632 	addl	%ecx,%ebx
5633 	movl	%edx,%ecx
5634 	shrdl	$14,%edx,%edx
5635 	movl	(%esp),%esi
5636 	xorl	%ecx,%edx
5637 	movl	4(%esp),%edi
5638 	xorl	%edi,%esi
5639 	shrdl	$5,%edx,%edx
5640 	andl	%ecx,%esi
5641 	movl	%ecx,28(%esp)
5642 	xorl	%ecx,%edx
5643 	xorl	%esi,%edi
5644 	shrdl	$6,%edx,%edx
5645 	movl	%ebx,%ecx
5646 	addl	%edi,%edx
5647 	movl	16(%esp),%edi
5648 	movl	%ebx,%esi
5649 	shrdl	$9,%ecx,%ecx
5650 	movl	%ebx,12(%esp)
5651 	xorl	%ebx,%ecx
5652 	xorl	%edi,%ebx
5653 	addl	8(%esp),%edx
5654 	shrdl	$11,%ecx,%ecx
5655 	andl	%ebx,%eax
5656 	xorl	%esi,%ecx
5657 	addl	84(%esp),%edx
5658 	xorl	%edi,%eax
5659 	shrdl	$2,%ecx,%ecx
5660 	addl	%edx,%eax
5661 	addl	24(%esp),%edx
5662 	addl	%ecx,%eax
5663 	movl	%edx,%ecx
5664 	shrdl	$14,%edx,%edx
5665 	movl	28(%esp),%esi
5666 	xorl	%ecx,%edx
5667 	movl	(%esp),%edi
5668 	xorl	%edi,%esi
5669 	shrdl	$5,%edx,%edx
5670 	andl	%ecx,%esi
5671 	movl	%ecx,24(%esp)
5672 	xorl	%ecx,%edx
5673 	xorl	%esi,%edi
5674 	shrdl	$6,%edx,%edx
5675 	movl	%eax,%ecx
5676 	addl	%edi,%edx
5677 	movl	12(%esp),%edi
5678 	movl	%eax,%esi
5679 	shrdl	$9,%ecx,%ecx
5680 	movl	%eax,8(%esp)
5681 	xorl	%eax,%ecx
5682 	xorl	%edi,%eax
5683 	addl	4(%esp),%edx
5684 	shrdl	$11,%ecx,%ecx
5685 	andl	%eax,%ebx
5686 	xorl	%esi,%ecx
5687 	addl	88(%esp),%edx
5688 	xorl	%edi,%ebx
5689 	shrdl	$2,%ecx,%ecx
5690 	addl	%edx,%ebx
5691 	addl	20(%esp),%edx
5692 	addl	%ecx,%ebx
5693 	movl	%edx,%ecx
5694 	shrdl	$14,%edx,%edx
5695 	movl	24(%esp),%esi
5696 	xorl	%ecx,%edx
5697 	movl	28(%esp),%edi
5698 	xorl	%edi,%esi
5699 	shrdl	$5,%edx,%edx
5700 	andl	%ecx,%esi
5701 	movl	%ecx,20(%esp)
5702 	xorl	%ecx,%edx
5703 	xorl	%esi,%edi
5704 	shrdl	$6,%edx,%edx
5705 	movl	%ebx,%ecx
5706 	addl	%edi,%edx
5707 	movl	8(%esp),%edi
5708 	movl	%ebx,%esi
5709 	shrdl	$9,%ecx,%ecx
5710 	movl	%ebx,4(%esp)
5711 	xorl	%ebx,%ecx
5712 	xorl	%edi,%ebx
5713 	addl	(%esp),%edx
5714 	shrdl	$11,%ecx,%ecx
5715 	andl	%ebx,%eax
5716 	xorl	%esi,%ecx
5717 	addl	92(%esp),%edx
5718 	xorl	%edi,%eax
5719 	shrdl	$2,%ecx,%ecx
5720 	addl	%edx,%eax
5721 	addl	16(%esp),%edx
5722 	addl	%ecx,%eax
5723 	movl	96(%esp),%esi
5724 	xorl	%edi,%ebx
5725 	movl	12(%esp),%ecx
5726 	addl	(%esi),%eax
5727 	addl	4(%esi),%ebx
5728 	addl	8(%esi),%edi
5729 	addl	12(%esi),%ecx
5730 	movl	%eax,(%esi)
5731 	movl	%ebx,4(%esi)
5732 	movl	%edi,8(%esi)
5733 	movl	%ecx,12(%esi)
5734 	movl	%ebx,4(%esp)
5735 	xorl	%edi,%ebx
5736 	movl	%edi,8(%esp)
5737 	movl	%ecx,12(%esp)
5738 	movl	20(%esp),%edi
5739 	movl	24(%esp),%ecx
5740 	addl	16(%esi),%edx
5741 	addl	20(%esi),%edi
5742 	addl	24(%esi),%ecx
5743 	movl	%edx,16(%esi)
5744 	movl	%edi,20(%esi)
5745 	movl	%edi,20(%esp)
5746 	movl	28(%esp),%edi
5747 	movl	%ecx,24(%esi)
5748 	addl	28(%esi),%edi
5749 	movl	%ecx,24(%esp)
5750 	movl	%edi,28(%esi)
5751 	movl	%edi,28(%esp)
5752 	movl	100(%esp),%edi
5753 	vmovdqa	64(%ebp),%xmm7
5754 	subl	$192,%ebp
5755 	cmpl	104(%esp),%edi
5756 	jb	L015grand_avx
5757 	movl	108(%esp),%esp
5758 	vzeroall
5759 	popl	%edi
5760 	popl	%esi
5761 	popl	%ebx
5762 	popl	%ebp
5763 	ret
5764 .align	5,0x90
5765 L014AVX_BMI:
5766 	leal	-96(%esp),%esp
5767 	vzeroall
5768 	movl	(%esi),%eax
5769 	movl	4(%esi),%ebx
5770 	movl	8(%esi),%ecx
5771 	movl	12(%esi),%edi
5772 	movl	%ebx,4(%esp)
5773 	xorl	%ecx,%ebx
5774 	movl	%ecx,8(%esp)
5775 	movl	%edi,12(%esp)
5776 	movl	16(%esi),%edx
5777 	movl	20(%esi),%edi
5778 	movl	24(%esi),%ecx
5779 	movl	28(%esi),%esi
5780 	movl	%edi,20(%esp)
5781 	movl	100(%esp),%edi
5782 	movl	%ecx,24(%esp)
5783 	movl	%esi,28(%esp)
5784 	vmovdqa	256(%ebp),%xmm7
5785 	jmp	L017grand_avx_bmi
5786 .align	5,0x90
5787 L017grand_avx_bmi:
5788 	vmovdqu	(%edi),%xmm0
5789 	vmovdqu	16(%edi),%xmm1
5790 	vmovdqu	32(%edi),%xmm2
5791 	vmovdqu	48(%edi),%xmm3
5792 	addl	$64,%edi
5793 	vpshufb	%xmm7,%xmm0,%xmm0
5794 	movl	%edi,100(%esp)
5795 	vpshufb	%xmm7,%xmm1,%xmm1
5796 	vpshufb	%xmm7,%xmm2,%xmm2
5797 	vpaddd	(%ebp),%xmm0,%xmm4
5798 	vpshufb	%xmm7,%xmm3,%xmm3
5799 	vpaddd	16(%ebp),%xmm1,%xmm5
5800 	vpaddd	32(%ebp),%xmm2,%xmm6
5801 	vpaddd	48(%ebp),%xmm3,%xmm7
5802 	vmovdqa	%xmm4,32(%esp)
5803 	vmovdqa	%xmm5,48(%esp)
5804 	vmovdqa	%xmm6,64(%esp)
5805 	vmovdqa	%xmm7,80(%esp)
5806 	jmp	L018avx_bmi_00_47
5807 .align	4,0x90
5808 L018avx_bmi_00_47:
5809 	addl	$64,%ebp
5810 	vpalignr	$4,%xmm0,%xmm1,%xmm4
5811 	rorxl	$6,%edx,%ecx
5812 	rorxl	$11,%edx,%esi
5813 	movl	%edx,16(%esp)
5814 	vpalignr	$4,%xmm2,%xmm3,%xmm7
5815 	rorxl	$25,%edx,%edi
5816 	xorl	%esi,%ecx
5817 	andnl	24(%esp),%edx,%esi
5818 	vpsrld	$7,%xmm4,%xmm6
5819 	xorl	%edi,%ecx
5820 	andl	20(%esp),%edx
5821 	movl	%eax,(%esp)
5822 	vpaddd	%xmm7,%xmm0,%xmm0
5823 	orl	%esi,%edx
5824 	rorxl	$2,%eax,%edi
5825 	rorxl	$13,%eax,%esi
5826 	vpsrld	$3,%xmm4,%xmm7
5827 	leal	(%edx,%ecx,1),%edx
5828 	rorxl	$22,%eax,%ecx
5829 	xorl	%edi,%esi
5830 	vpslld	$14,%xmm4,%xmm5
5831 	movl	4(%esp),%edi
5832 	xorl	%esi,%ecx
5833 	xorl	%edi,%eax
5834 	vpxor	%xmm6,%xmm7,%xmm4
5835 	addl	28(%esp),%edx
5836 	andl	%eax,%ebx
5837 	addl	32(%esp),%edx
5838 	vpshufd	$250,%xmm3,%xmm7
5839 	xorl	%edi,%ebx
5840 	addl	%edx,%ecx
5841 	addl	12(%esp),%edx
5842 	vpsrld	$11,%xmm6,%xmm6
5843 	leal	(%ebx,%ecx,1),%ebx
5844 	rorxl	$6,%edx,%ecx
5845 	rorxl	$11,%edx,%esi
5846 	vpxor	%xmm5,%xmm4,%xmm4
5847 	movl	%edx,12(%esp)
5848 	rorxl	$25,%edx,%edi
5849 	xorl	%esi,%ecx
5850 	vpslld	$11,%xmm5,%xmm5
5851 	andnl	20(%esp),%edx,%esi
5852 	xorl	%edi,%ecx
5853 	andl	16(%esp),%edx
5854 	vpxor	%xmm6,%xmm4,%xmm4
5855 	movl	%ebx,28(%esp)
5856 	orl	%esi,%edx
5857 	rorxl	$2,%ebx,%edi
5858 	rorxl	$13,%ebx,%esi
5859 	vpsrld	$10,%xmm7,%xmm6
5860 	leal	(%edx,%ecx,1),%edx
5861 	rorxl	$22,%ebx,%ecx
5862 	xorl	%edi,%esi
5863 	vpxor	%xmm5,%xmm4,%xmm4
5864 	movl	(%esp),%edi
5865 	xorl	%esi,%ecx
5866 	xorl	%edi,%ebx
5867 	vpsrlq	$17,%xmm7,%xmm5
5868 	addl	24(%esp),%edx
5869 	andl	%ebx,%eax
5870 	addl	36(%esp),%edx
5871 	vpaddd	%xmm4,%xmm0,%xmm0
5872 	xorl	%edi,%eax
5873 	addl	%edx,%ecx
5874 	addl	8(%esp),%edx
5875 	vpxor	%xmm5,%xmm6,%xmm6
5876 	leal	(%eax,%ecx,1),%eax
5877 	rorxl	$6,%edx,%ecx
5878 	rorxl	$11,%edx,%esi
5879 	vpsrlq	$19,%xmm7,%xmm7
5880 	movl	%edx,8(%esp)
5881 	rorxl	$25,%edx,%edi
5882 	xorl	%esi,%ecx
5883 	vpxor	%xmm7,%xmm6,%xmm6
5884 	andnl	16(%esp),%edx,%esi
5885 	xorl	%edi,%ecx
5886 	andl	12(%esp),%edx
5887 	vpshufd	$132,%xmm6,%xmm7
5888 	movl	%eax,24(%esp)
5889 	orl	%esi,%edx
5890 	rorxl	$2,%eax,%edi
5891 	rorxl	$13,%eax,%esi
5892 	vpsrldq	$8,%xmm7,%xmm7
5893 	leal	(%edx,%ecx,1),%edx
5894 	rorxl	$22,%eax,%ecx
5895 	xorl	%edi,%esi
5896 	vpaddd	%xmm7,%xmm0,%xmm0
5897 	movl	28(%esp),%edi
5898 	xorl	%esi,%ecx
5899 	xorl	%edi,%eax
5900 	vpshufd	$80,%xmm0,%xmm7
5901 	addl	20(%esp),%edx
5902 	andl	%eax,%ebx
5903 	addl	40(%esp),%edx
5904 	vpsrld	$10,%xmm7,%xmm6
5905 	xorl	%edi,%ebx
5906 	addl	%edx,%ecx
5907 	addl	4(%esp),%edx
5908 	vpsrlq	$17,%xmm7,%xmm5
5909 	leal	(%ebx,%ecx,1),%ebx
5910 	rorxl	$6,%edx,%ecx
5911 	rorxl	$11,%edx,%esi
5912 	vpxor	%xmm5,%xmm6,%xmm6
5913 	movl	%edx,4(%esp)
5914 	rorxl	$25,%edx,%edi
5915 	xorl	%esi,%ecx
5916 	vpsrlq	$19,%xmm7,%xmm7
5917 	andnl	12(%esp),%edx,%esi
5918 	xorl	%edi,%ecx
5919 	andl	8(%esp),%edx
5920 	vpxor	%xmm7,%xmm6,%xmm6
5921 	movl	%ebx,20(%esp)
5922 	orl	%esi,%edx
5923 	rorxl	$2,%ebx,%edi
5924 	rorxl	$13,%ebx,%esi
5925 	vpshufd	$232,%xmm6,%xmm7
5926 	leal	(%edx,%ecx,1),%edx
5927 	rorxl	$22,%ebx,%ecx
5928 	xorl	%edi,%esi
5929 	vpslldq	$8,%xmm7,%xmm7
5930 	movl	24(%esp),%edi
5931 	xorl	%esi,%ecx
5932 	xorl	%edi,%ebx
5933 	vpaddd	%xmm7,%xmm0,%xmm0
5934 	addl	16(%esp),%edx
5935 	andl	%ebx,%eax
5936 	addl	44(%esp),%edx
5937 	vpaddd	(%ebp),%xmm0,%xmm6
5938 	xorl	%edi,%eax
5939 	addl	%edx,%ecx
5940 	addl	(%esp),%edx
5941 	leal	(%eax,%ecx,1),%eax
5942 	vmovdqa	%xmm6,32(%esp)
5943 	vpalignr	$4,%xmm1,%xmm2,%xmm4
5944 	rorxl	$6,%edx,%ecx
5945 	rorxl	$11,%edx,%esi
5946 	movl	%edx,(%esp)
5947 	vpalignr	$4,%xmm3,%xmm0,%xmm7
5948 	rorxl	$25,%edx,%edi
5949 	xorl	%esi,%ecx
5950 	andnl	8(%esp),%edx,%esi
5951 	vpsrld	$7,%xmm4,%xmm6
5952 	xorl	%edi,%ecx
5953 	andl	4(%esp),%edx
5954 	movl	%eax,16(%esp)
5955 	vpaddd	%xmm7,%xmm1,%xmm1
5956 	orl	%esi,%edx
5957 	rorxl	$2,%eax,%edi
5958 	rorxl	$13,%eax,%esi
5959 	vpsrld	$3,%xmm4,%xmm7
5960 	leal	(%edx,%ecx,1),%edx
5961 	rorxl	$22,%eax,%ecx
5962 	xorl	%edi,%esi
5963 	vpslld	$14,%xmm4,%xmm5
5964 	movl	20(%esp),%edi
5965 	xorl	%esi,%ecx
5966 	xorl	%edi,%eax
5967 	vpxor	%xmm6,%xmm7,%xmm4
5968 	addl	12(%esp),%edx
5969 	andl	%eax,%ebx
5970 	addl	48(%esp),%edx
5971 	vpshufd	$250,%xmm0,%xmm7
5972 	xorl	%edi,%ebx
5973 	addl	%edx,%ecx
5974 	addl	28(%esp),%edx
5975 	vpsrld	$11,%xmm6,%xmm6
5976 	leal	(%ebx,%ecx,1),%ebx
5977 	rorxl	$6,%edx,%ecx
5978 	rorxl	$11,%edx,%esi
5979 	vpxor	%xmm5,%xmm4,%xmm4
5980 	movl	%edx,28(%esp)
5981 	rorxl	$25,%edx,%edi
5982 	xorl	%esi,%ecx
5983 	vpslld	$11,%xmm5,%xmm5
5984 	andnl	4(%esp),%edx,%esi
5985 	xorl	%edi,%ecx
5986 	andl	(%esp),%edx
5987 	vpxor	%xmm6,%xmm4,%xmm4
5988 	movl	%ebx,12(%esp)
5989 	orl	%esi,%edx
5990 	rorxl	$2,%ebx,%edi
5991 	rorxl	$13,%ebx,%esi
5992 	vpsrld	$10,%xmm7,%xmm6
5993 	leal	(%edx,%ecx,1),%edx
5994 	rorxl	$22,%ebx,%ecx
5995 	xorl	%edi,%esi
5996 	vpxor	%xmm5,%xmm4,%xmm4
5997 	movl	16(%esp),%edi
5998 	xorl	%esi,%ecx
5999 	xorl	%edi,%ebx
6000 	vpsrlq	$17,%xmm7,%xmm5
6001 	addl	8(%esp),%edx
6002 	andl	%ebx,%eax
6003 	addl	52(%esp),%edx
6004 	vpaddd	%xmm4,%xmm1,%xmm1
6005 	xorl	%edi,%eax
6006 	addl	%edx,%ecx
6007 	addl	24(%esp),%edx
6008 	vpxor	%xmm5,%xmm6,%xmm6
6009 	leal	(%eax,%ecx,1),%eax
6010 	rorxl	$6,%edx,%ecx
6011 	rorxl	$11,%edx,%esi
6012 	vpsrlq	$19,%xmm7,%xmm7
6013 	movl	%edx,24(%esp)
6014 	rorxl	$25,%edx,%edi
6015 	xorl	%esi,%ecx
6016 	vpxor	%xmm7,%xmm6,%xmm6
6017 	andnl	(%esp),%edx,%esi
6018 	xorl	%edi,%ecx
6019 	andl	28(%esp),%edx
6020 	vpshufd	$132,%xmm6,%xmm7
6021 	movl	%eax,8(%esp)
6022 	orl	%esi,%edx
6023 	rorxl	$2,%eax,%edi
6024 	rorxl	$13,%eax,%esi
6025 	vpsrldq	$8,%xmm7,%xmm7
6026 	leal	(%edx,%ecx,1),%edx
6027 	rorxl	$22,%eax,%ecx
6028 	xorl	%edi,%esi
6029 	vpaddd	%xmm7,%xmm1,%xmm1
6030 	movl	12(%esp),%edi
6031 	xorl	%esi,%ecx
6032 	xorl	%edi,%eax
6033 	vpshufd	$80,%xmm1,%xmm7
6034 	addl	4(%esp),%edx
6035 	andl	%eax,%ebx
6036 	addl	56(%esp),%edx
6037 	vpsrld	$10,%xmm7,%xmm6
6038 	xorl	%edi,%ebx
6039 	addl	%edx,%ecx
6040 	addl	20(%esp),%edx
6041 	vpsrlq	$17,%xmm7,%xmm5
6042 	leal	(%ebx,%ecx,1),%ebx
6043 	rorxl	$6,%edx,%ecx
6044 	rorxl	$11,%edx,%esi
6045 	vpxor	%xmm5,%xmm6,%xmm6
6046 	movl	%edx,20(%esp)
6047 	rorxl	$25,%edx,%edi
6048 	xorl	%esi,%ecx
6049 	vpsrlq	$19,%xmm7,%xmm7
6050 	andnl	28(%esp),%edx,%esi
6051 	xorl	%edi,%ecx
6052 	andl	24(%esp),%edx
6053 	vpxor	%xmm7,%xmm6,%xmm6
6054 	movl	%ebx,4(%esp)
6055 	orl	%esi,%edx
6056 	rorxl	$2,%ebx,%edi
6057 	rorxl	$13,%ebx,%esi
6058 	vpshufd	$232,%xmm6,%xmm7
6059 	leal	(%edx,%ecx,1),%edx
6060 	rorxl	$22,%ebx,%ecx
6061 	xorl	%edi,%esi
6062 	vpslldq	$8,%xmm7,%xmm7
6063 	movl	8(%esp),%edi
6064 	xorl	%esi,%ecx
6065 	xorl	%edi,%ebx
6066 	vpaddd	%xmm7,%xmm1,%xmm1
6067 	addl	(%esp),%edx
6068 	andl	%ebx,%eax
6069 	addl	60(%esp),%edx
6070 	vpaddd	16(%ebp),%xmm1,%xmm6
6071 	xorl	%edi,%eax
6072 	addl	%edx,%ecx
6073 	addl	16(%esp),%edx
6074 	leal	(%eax,%ecx,1),%eax
6075 	vmovdqa	%xmm6,48(%esp)
6076 	vpalignr	$4,%xmm2,%xmm3,%xmm4
6077 	rorxl	$6,%edx,%ecx
6078 	rorxl	$11,%edx,%esi
6079 	movl	%edx,16(%esp)
6080 	vpalignr	$4,%xmm0,%xmm1,%xmm7
6081 	rorxl	$25,%edx,%edi
6082 	xorl	%esi,%ecx
6083 	andnl	24(%esp),%edx,%esi
6084 	vpsrld	$7,%xmm4,%xmm6
6085 	xorl	%edi,%ecx
6086 	andl	20(%esp),%edx
6087 	movl	%eax,(%esp)
6088 	vpaddd	%xmm7,%xmm2,%xmm2
6089 	orl	%esi,%edx
6090 	rorxl	$2,%eax,%edi
6091 	rorxl	$13,%eax,%esi
6092 	vpsrld	$3,%xmm4,%xmm7
6093 	leal	(%edx,%ecx,1),%edx
6094 	rorxl	$22,%eax,%ecx
6095 	xorl	%edi,%esi
6096 	vpslld	$14,%xmm4,%xmm5
6097 	movl	4(%esp),%edi
6098 	xorl	%esi,%ecx
6099 	xorl	%edi,%eax
6100 	vpxor	%xmm6,%xmm7,%xmm4
6101 	addl	28(%esp),%edx
6102 	andl	%eax,%ebx
6103 	addl	64(%esp),%edx
6104 	vpshufd	$250,%xmm1,%xmm7
6105 	xorl	%edi,%ebx
6106 	addl	%edx,%ecx
6107 	addl	12(%esp),%edx
6108 	vpsrld	$11,%xmm6,%xmm6
6109 	leal	(%ebx,%ecx,1),%ebx
6110 	rorxl	$6,%edx,%ecx
6111 	rorxl	$11,%edx,%esi
6112 	vpxor	%xmm5,%xmm4,%xmm4
6113 	movl	%edx,12(%esp)
6114 	rorxl	$25,%edx,%edi
6115 	xorl	%esi,%ecx
6116 	vpslld	$11,%xmm5,%xmm5
6117 	andnl	20(%esp),%edx,%esi
6118 	xorl	%edi,%ecx
6119 	andl	16(%esp),%edx
6120 	vpxor	%xmm6,%xmm4,%xmm4
6121 	movl	%ebx,28(%esp)
6122 	orl	%esi,%edx
6123 	rorxl	$2,%ebx,%edi
6124 	rorxl	$13,%ebx,%esi
6125 	vpsrld	$10,%xmm7,%xmm6
6126 	leal	(%edx,%ecx,1),%edx
6127 	rorxl	$22,%ebx,%ecx
6128 	xorl	%edi,%esi
6129 	vpxor	%xmm5,%xmm4,%xmm4
6130 	movl	(%esp),%edi
6131 	xorl	%esi,%ecx
6132 	xorl	%edi,%ebx
6133 	vpsrlq	$17,%xmm7,%xmm5
6134 	addl	24(%esp),%edx
6135 	andl	%ebx,%eax
6136 	addl	68(%esp),%edx
6137 	vpaddd	%xmm4,%xmm2,%xmm2
6138 	xorl	%edi,%eax
6139 	addl	%edx,%ecx
6140 	addl	8(%esp),%edx
6141 	vpxor	%xmm5,%xmm6,%xmm6
6142 	leal	(%eax,%ecx,1),%eax
6143 	rorxl	$6,%edx,%ecx
6144 	rorxl	$11,%edx,%esi
6145 	vpsrlq	$19,%xmm7,%xmm7
6146 	movl	%edx,8(%esp)
6147 	rorxl	$25,%edx,%edi
6148 	xorl	%esi,%ecx
6149 	vpxor	%xmm7,%xmm6,%xmm6
6150 	andnl	16(%esp),%edx,%esi
6151 	xorl	%edi,%ecx
6152 	andl	12(%esp),%edx
6153 	vpshufd	$132,%xmm6,%xmm7
6154 	movl	%eax,24(%esp)
6155 	orl	%esi,%edx
6156 	rorxl	$2,%eax,%edi
6157 	rorxl	$13,%eax,%esi
6158 	vpsrldq	$8,%xmm7,%xmm7
6159 	leal	(%edx,%ecx,1),%edx
6160 	rorxl	$22,%eax,%ecx
6161 	xorl	%edi,%esi
6162 	vpaddd	%xmm7,%xmm2,%xmm2
6163 	movl	28(%esp),%edi
6164 	xorl	%esi,%ecx
6165 	xorl	%edi,%eax
6166 	vpshufd	$80,%xmm2,%xmm7
6167 	addl	20(%esp),%edx
6168 	andl	%eax,%ebx
6169 	addl	72(%esp),%edx
6170 	vpsrld	$10,%xmm7,%xmm6
6171 	xorl	%edi,%ebx
6172 	addl	%edx,%ecx
6173 	addl	4(%esp),%edx
6174 	vpsrlq	$17,%xmm7,%xmm5
6175 	leal	(%ebx,%ecx,1),%ebx
6176 	rorxl	$6,%edx,%ecx
6177 	rorxl	$11,%edx,%esi
6178 	vpxor	%xmm5,%xmm6,%xmm6
6179 	movl	%edx,4(%esp)
6180 	rorxl	$25,%edx,%edi
6181 	xorl	%esi,%ecx
6182 	vpsrlq	$19,%xmm7,%xmm7
6183 	andnl	12(%esp),%edx,%esi
6184 	xorl	%edi,%ecx
6185 	andl	8(%esp),%edx
6186 	vpxor	%xmm7,%xmm6,%xmm6
6187 	movl	%ebx,20(%esp)
6188 	orl	%esi,%edx
6189 	rorxl	$2,%ebx,%edi
6190 	rorxl	$13,%ebx,%esi
6191 	vpshufd	$232,%xmm6,%xmm7
6192 	leal	(%edx,%ecx,1),%edx
6193 	rorxl	$22,%ebx,%ecx
6194 	xorl	%edi,%esi
6195 	vpslldq	$8,%xmm7,%xmm7
6196 	movl	24(%esp),%edi
6197 	xorl	%esi,%ecx
6198 	xorl	%edi,%ebx
6199 	vpaddd	%xmm7,%xmm2,%xmm2
6200 	addl	16(%esp),%edx
6201 	andl	%ebx,%eax
6202 	addl	76(%esp),%edx
6203 	vpaddd	32(%ebp),%xmm2,%xmm6
6204 	xorl	%edi,%eax
6205 	addl	%edx,%ecx
6206 	addl	(%esp),%edx
6207 	leal	(%eax,%ecx,1),%eax
6208 	vmovdqa	%xmm6,64(%esp)
6209 	vpalignr	$4,%xmm3,%xmm0,%xmm4
6210 	rorxl	$6,%edx,%ecx
6211 	rorxl	$11,%edx,%esi
6212 	movl	%edx,(%esp)
6213 	vpalignr	$4,%xmm1,%xmm2,%xmm7
6214 	rorxl	$25,%edx,%edi
6215 	xorl	%esi,%ecx
6216 	andnl	8(%esp),%edx,%esi
6217 	vpsrld	$7,%xmm4,%xmm6
6218 	xorl	%edi,%ecx
6219 	andl	4(%esp),%edx
6220 	movl	%eax,16(%esp)
6221 	vpaddd	%xmm7,%xmm3,%xmm3
6222 	orl	%esi,%edx
6223 	rorxl	$2,%eax,%edi
6224 	rorxl	$13,%eax,%esi
6225 	vpsrld	$3,%xmm4,%xmm7
6226 	leal	(%edx,%ecx,1),%edx
6227 	rorxl	$22,%eax,%ecx
6228 	xorl	%edi,%esi
6229 	vpslld	$14,%xmm4,%xmm5
6230 	movl	20(%esp),%edi
6231 	xorl	%esi,%ecx
6232 	xorl	%edi,%eax
6233 	vpxor	%xmm6,%xmm7,%xmm4
6234 	addl	12(%esp),%edx
6235 	andl	%eax,%ebx
6236 	addl	80(%esp),%edx
6237 	vpshufd	$250,%xmm2,%xmm7
6238 	xorl	%edi,%ebx
6239 	addl	%edx,%ecx
6240 	addl	28(%esp),%edx
6241 	vpsrld	$11,%xmm6,%xmm6
6242 	leal	(%ebx,%ecx,1),%ebx
6243 	rorxl	$6,%edx,%ecx
6244 	rorxl	$11,%edx,%esi
6245 	vpxor	%xmm5,%xmm4,%xmm4
6246 	movl	%edx,28(%esp)
6247 	rorxl	$25,%edx,%edi
6248 	xorl	%esi,%ecx
6249 	vpslld	$11,%xmm5,%xmm5
6250 	andnl	4(%esp),%edx,%esi
6251 	xorl	%edi,%ecx
6252 	andl	(%esp),%edx
6253 	vpxor	%xmm6,%xmm4,%xmm4
6254 	movl	%ebx,12(%esp)
6255 	orl	%esi,%edx
6256 	rorxl	$2,%ebx,%edi
6257 	rorxl	$13,%ebx,%esi
6258 	vpsrld	$10,%xmm7,%xmm6
6259 	leal	(%edx,%ecx,1),%edx
6260 	rorxl	$22,%ebx,%ecx
6261 	xorl	%edi,%esi
6262 	vpxor	%xmm5,%xmm4,%xmm4
6263 	movl	16(%esp),%edi
6264 	xorl	%esi,%ecx
6265 	xorl	%edi,%ebx
6266 	vpsrlq	$17,%xmm7,%xmm5
6267 	addl	8(%esp),%edx
6268 	andl	%ebx,%eax
6269 	addl	84(%esp),%edx
6270 	vpaddd	%xmm4,%xmm3,%xmm3
6271 	xorl	%edi,%eax
6272 	addl	%edx,%ecx
6273 	addl	24(%esp),%edx
6274 	vpxor	%xmm5,%xmm6,%xmm6
6275 	leal	(%eax,%ecx,1),%eax
6276 	rorxl	$6,%edx,%ecx
6277 	rorxl	$11,%edx,%esi
6278 	vpsrlq	$19,%xmm7,%xmm7
6279 	movl	%edx,24(%esp)
6280 	rorxl	$25,%edx,%edi
6281 	xorl	%esi,%ecx
6282 	vpxor	%xmm7,%xmm6,%xmm6
6283 	andnl	(%esp),%edx,%esi
6284 	xorl	%edi,%ecx
6285 	andl	28(%esp),%edx
6286 	vpshufd	$132,%xmm6,%xmm7
6287 	movl	%eax,8(%esp)
6288 	orl	%esi,%edx
6289 	rorxl	$2,%eax,%edi
6290 	rorxl	$13,%eax,%esi
6291 	vpsrldq	$8,%xmm7,%xmm7
6292 	leal	(%edx,%ecx,1),%edx
6293 	rorxl	$22,%eax,%ecx
6294 	xorl	%edi,%esi
6295 	vpaddd	%xmm7,%xmm3,%xmm3
6296 	movl	12(%esp),%edi
6297 	xorl	%esi,%ecx
6298 	xorl	%edi,%eax
6299 	vpshufd	$80,%xmm3,%xmm7
6300 	addl	4(%esp),%edx
6301 	andl	%eax,%ebx
6302 	addl	88(%esp),%edx
6303 	vpsrld	$10,%xmm7,%xmm6
6304 	xorl	%edi,%ebx
6305 	addl	%edx,%ecx
6306 	addl	20(%esp),%edx
6307 	vpsrlq	$17,%xmm7,%xmm5
6308 	leal	(%ebx,%ecx,1),%ebx
6309 	rorxl	$6,%edx,%ecx
6310 	rorxl	$11,%edx,%esi
6311 	vpxor	%xmm5,%xmm6,%xmm6
6312 	movl	%edx,20(%esp)
6313 	rorxl	$25,%edx,%edi
6314 	xorl	%esi,%ecx
6315 	vpsrlq	$19,%xmm7,%xmm7
6316 	andnl	28(%esp),%edx,%esi
6317 	xorl	%edi,%ecx
6318 	andl	24(%esp),%edx
6319 	vpxor	%xmm7,%xmm6,%xmm6
6320 	movl	%ebx,4(%esp)
6321 	orl	%esi,%edx
6322 	rorxl	$2,%ebx,%edi
6323 	rorxl	$13,%ebx,%esi
6324 	vpshufd	$232,%xmm6,%xmm7
6325 	leal	(%edx,%ecx,1),%edx
6326 	rorxl	$22,%ebx,%ecx
6327 	xorl	%edi,%esi
6328 	vpslldq	$8,%xmm7,%xmm7
6329 	movl	8(%esp),%edi
6330 	xorl	%esi,%ecx
6331 	xorl	%edi,%ebx
6332 	vpaddd	%xmm7,%xmm3,%xmm3
6333 	addl	(%esp),%edx
6334 	andl	%ebx,%eax
6335 	addl	92(%esp),%edx
6336 	vpaddd	48(%ebp),%xmm3,%xmm6
6337 	xorl	%edi,%eax
6338 	addl	%edx,%ecx
6339 	addl	16(%esp),%edx
6340 	leal	(%eax,%ecx,1),%eax
6341 	vmovdqa	%xmm6,80(%esp)
6342 	cmpl	$66051,64(%ebp)
6343 	jne	L018avx_bmi_00_47
6344 	rorxl	$6,%edx,%ecx
6345 	rorxl	$11,%edx,%esi
6346 	movl	%edx,16(%esp)
6347 	rorxl	$25,%edx,%edi
6348 	xorl	%esi,%ecx
6349 	andnl	24(%esp),%edx,%esi
6350 	xorl	%edi,%ecx
6351 	andl	20(%esp),%edx
6352 	movl	%eax,(%esp)
6353 	orl	%esi,%edx
6354 	rorxl	$2,%eax,%edi
6355 	rorxl	$13,%eax,%esi
6356 	leal	(%edx,%ecx,1),%edx
6357 	rorxl	$22,%eax,%ecx
6358 	xorl	%edi,%esi
6359 	movl	4(%esp),%edi
6360 	xorl	%esi,%ecx
6361 	xorl	%edi,%eax
6362 	addl	28(%esp),%edx
6363 	andl	%eax,%ebx
6364 	addl	32(%esp),%edx
6365 	xorl	%edi,%ebx
6366 	addl	%edx,%ecx
6367 	addl	12(%esp),%edx
6368 	leal	(%ebx,%ecx,1),%ebx
6369 	rorxl	$6,%edx,%ecx
6370 	rorxl	$11,%edx,%esi
6371 	movl	%edx,12(%esp)
6372 	rorxl	$25,%edx,%edi
6373 	xorl	%esi,%ecx
6374 	andnl	20(%esp),%edx,%esi
6375 	xorl	%edi,%ecx
6376 	andl	16(%esp),%edx
6377 	movl	%ebx,28(%esp)
6378 	orl	%esi,%edx
6379 	rorxl	$2,%ebx,%edi
6380 	rorxl	$13,%ebx,%esi
6381 	leal	(%edx,%ecx,1),%edx
6382 	rorxl	$22,%ebx,%ecx
6383 	xorl	%edi,%esi
6384 	movl	(%esp),%edi
6385 	xorl	%esi,%ecx
6386 	xorl	%edi,%ebx
6387 	addl	24(%esp),%edx
6388 	andl	%ebx,%eax
6389 	addl	36(%esp),%edx
6390 	xorl	%edi,%eax
6391 	addl	%edx,%ecx
6392 	addl	8(%esp),%edx
6393 	leal	(%eax,%ecx,1),%eax
6394 	rorxl	$6,%edx,%ecx
6395 	rorxl	$11,%edx,%esi
6396 	movl	%edx,8(%esp)
6397 	rorxl	$25,%edx,%edi
6398 	xorl	%esi,%ecx
6399 	andnl	16(%esp),%edx,%esi
6400 	xorl	%edi,%ecx
6401 	andl	12(%esp),%edx
6402 	movl	%eax,24(%esp)
6403 	orl	%esi,%edx
6404 	rorxl	$2,%eax,%edi
6405 	rorxl	$13,%eax,%esi
6406 	leal	(%edx,%ecx,1),%edx
6407 	rorxl	$22,%eax,%ecx
6408 	xorl	%edi,%esi
6409 	movl	28(%esp),%edi
6410 	xorl	%esi,%ecx
6411 	xorl	%edi,%eax
6412 	addl	20(%esp),%edx
6413 	andl	%eax,%ebx
6414 	addl	40(%esp),%edx
6415 	xorl	%edi,%ebx
6416 	addl	%edx,%ecx
6417 	addl	4(%esp),%edx
6418 	leal	(%ebx,%ecx,1),%ebx
6419 	rorxl	$6,%edx,%ecx
6420 	rorxl	$11,%edx,%esi
6421 	movl	%edx,4(%esp)
6422 	rorxl	$25,%edx,%edi
6423 	xorl	%esi,%ecx
6424 	andnl	12(%esp),%edx,%esi
6425 	xorl	%edi,%ecx
6426 	andl	8(%esp),%edx
6427 	movl	%ebx,20(%esp)
6428 	orl	%esi,%edx
6429 	rorxl	$2,%ebx,%edi
6430 	rorxl	$13,%ebx,%esi
6431 	leal	(%edx,%ecx,1),%edx
6432 	rorxl	$22,%ebx,%ecx
6433 	xorl	%edi,%esi
6434 	movl	24(%esp),%edi
6435 	xorl	%esi,%ecx
6436 	xorl	%edi,%ebx
6437 	addl	16(%esp),%edx
6438 	andl	%ebx,%eax
6439 	addl	44(%esp),%edx
6440 	xorl	%edi,%eax
6441 	addl	%edx,%ecx
6442 	addl	(%esp),%edx
6443 	leal	(%eax,%ecx,1),%eax
6444 	rorxl	$6,%edx,%ecx
6445 	rorxl	$11,%edx,%esi
6446 	movl	%edx,(%esp)
6447 	rorxl	$25,%edx,%edi
6448 	xorl	%esi,%ecx
6449 	andnl	8(%esp),%edx,%esi
6450 	xorl	%edi,%ecx
6451 	andl	4(%esp),%edx
6452 	movl	%eax,16(%esp)
6453 	orl	%esi,%edx
6454 	rorxl	$2,%eax,%edi
6455 	rorxl	$13,%eax,%esi
6456 	leal	(%edx,%ecx,1),%edx
6457 	rorxl	$22,%eax,%ecx
6458 	xorl	%edi,%esi
6459 	movl	20(%esp),%edi
6460 	xorl	%esi,%ecx
6461 	xorl	%edi,%eax
6462 	addl	12(%esp),%edx
6463 	andl	%eax,%ebx
6464 	addl	48(%esp),%edx
6465 	xorl	%edi,%ebx
6466 	addl	%edx,%ecx
6467 	addl	28(%esp),%edx
6468 	leal	(%ebx,%ecx,1),%ebx
6469 	rorxl	$6,%edx,%ecx
6470 	rorxl	$11,%edx,%esi
6471 	movl	%edx,28(%esp)
6472 	rorxl	$25,%edx,%edi
6473 	xorl	%esi,%ecx
6474 	andnl	4(%esp),%edx,%esi
6475 	xorl	%edi,%ecx
6476 	andl	(%esp),%edx
6477 	movl	%ebx,12(%esp)
6478 	orl	%esi,%edx
6479 	rorxl	$2,%ebx,%edi
6480 	rorxl	$13,%ebx,%esi
6481 	leal	(%edx,%ecx,1),%edx
6482 	rorxl	$22,%ebx,%ecx
6483 	xorl	%edi,%esi
6484 	movl	16(%esp),%edi
6485 	xorl	%esi,%ecx
6486 	xorl	%edi,%ebx
6487 	addl	8(%esp),%edx
6488 	andl	%ebx,%eax
6489 	addl	52(%esp),%edx
6490 	xorl	%edi,%eax
6491 	addl	%edx,%ecx
6492 	addl	24(%esp),%edx
6493 	leal	(%eax,%ecx,1),%eax
6494 	rorxl	$6,%edx,%ecx
6495 	rorxl	$11,%edx,%esi
6496 	movl	%edx,24(%esp)
6497 	rorxl	$25,%edx,%edi
6498 	xorl	%esi,%ecx
6499 	andnl	(%esp),%edx,%esi
6500 	xorl	%edi,%ecx
6501 	andl	28(%esp),%edx
6502 	movl	%eax,8(%esp)
6503 	orl	%esi,%edx
6504 	rorxl	$2,%eax,%edi
6505 	rorxl	$13,%eax,%esi
6506 	leal	(%edx,%ecx,1),%edx
6507 	rorxl	$22,%eax,%ecx
6508 	xorl	%edi,%esi
6509 	movl	12(%esp),%edi
6510 	xorl	%esi,%ecx
6511 	xorl	%edi,%eax
6512 	addl	4(%esp),%edx
6513 	andl	%eax,%ebx
6514 	addl	56(%esp),%edx
6515 	xorl	%edi,%ebx
6516 	addl	%edx,%ecx
6517 	addl	20(%esp),%edx
6518 	leal	(%ebx,%ecx,1),%ebx
6519 	rorxl	$6,%edx,%ecx
6520 	rorxl	$11,%edx,%esi
6521 	movl	%edx,20(%esp)
6522 	rorxl	$25,%edx,%edi
6523 	xorl	%esi,%ecx
6524 	andnl	28(%esp),%edx,%esi
6525 	xorl	%edi,%ecx
6526 	andl	24(%esp),%edx
6527 	movl	%ebx,4(%esp)
6528 	orl	%esi,%edx
6529 	rorxl	$2,%ebx,%edi
6530 	rorxl	$13,%ebx,%esi
6531 	leal	(%edx,%ecx,1),%edx
6532 	rorxl	$22,%ebx,%ecx
6533 	xorl	%edi,%esi
6534 	movl	8(%esp),%edi
6535 	xorl	%esi,%ecx
6536 	xorl	%edi,%ebx
6537 	addl	(%esp),%edx
6538 	andl	%ebx,%eax
6539 	addl	60(%esp),%edx
6540 	xorl	%edi,%eax
6541 	addl	%edx,%ecx
6542 	addl	16(%esp),%edx
6543 	leal	(%eax,%ecx,1),%eax
6544 	rorxl	$6,%edx,%ecx
6545 	rorxl	$11,%edx,%esi
6546 	movl	%edx,16(%esp)
6547 	rorxl	$25,%edx,%edi
6548 	xorl	%esi,%ecx
6549 	andnl	24(%esp),%edx,%esi
6550 	xorl	%edi,%ecx
6551 	andl	20(%esp),%edx
6552 	movl	%eax,(%esp)
6553 	orl	%esi,%edx
6554 	rorxl	$2,%eax,%edi
6555 	rorxl	$13,%eax,%esi
6556 	leal	(%edx,%ecx,1),%edx
6557 	rorxl	$22,%eax,%ecx
6558 	xorl	%edi,%esi
6559 	movl	4(%esp),%edi
6560 	xorl	%esi,%ecx
6561 	xorl	%edi,%eax
6562 	addl	28(%esp),%edx
6563 	andl	%eax,%ebx
6564 	addl	64(%esp),%edx
6565 	xorl	%edi,%ebx
6566 	addl	%edx,%ecx
6567 	addl	12(%esp),%edx
6568 	leal	(%ebx,%ecx,1),%ebx
6569 	rorxl	$6,%edx,%ecx
6570 	rorxl	$11,%edx,%esi
6571 	movl	%edx,12(%esp)
6572 	rorxl	$25,%edx,%edi
6573 	xorl	%esi,%ecx
6574 	andnl	20(%esp),%edx,%esi
6575 	xorl	%edi,%ecx
6576 	andl	16(%esp),%edx
6577 	movl	%ebx,28(%esp)
6578 	orl	%esi,%edx
6579 	rorxl	$2,%ebx,%edi
6580 	rorxl	$13,%ebx,%esi
6581 	leal	(%edx,%ecx,1),%edx
6582 	rorxl	$22,%ebx,%ecx
6583 	xorl	%edi,%esi
6584 	movl	(%esp),%edi
6585 	xorl	%esi,%ecx
6586 	xorl	%edi,%ebx
6587 	addl	24(%esp),%edx
6588 	andl	%ebx,%eax
6589 	addl	68(%esp),%edx
6590 	xorl	%edi,%eax
6591 	addl	%edx,%ecx
6592 	addl	8(%esp),%edx
6593 	leal	(%eax,%ecx,1),%eax
6594 	rorxl	$6,%edx,%ecx
6595 	rorxl	$11,%edx,%esi
6596 	movl	%edx,8(%esp)
6597 	rorxl	$25,%edx,%edi
6598 	xorl	%esi,%ecx
6599 	andnl	16(%esp),%edx,%esi
6600 	xorl	%edi,%ecx
6601 	andl	12(%esp),%edx
6602 	movl	%eax,24(%esp)
6603 	orl	%esi,%edx
6604 	rorxl	$2,%eax,%edi
6605 	rorxl	$13,%eax,%esi
6606 	leal	(%edx,%ecx,1),%edx
6607 	rorxl	$22,%eax,%ecx
6608 	xorl	%edi,%esi
6609 	movl	28(%esp),%edi
6610 	xorl	%esi,%ecx
6611 	xorl	%edi,%eax
6612 	addl	20(%esp),%edx
6613 	andl	%eax,%ebx
6614 	addl	72(%esp),%edx
6615 	xorl	%edi,%ebx
6616 	addl	%edx,%ecx
6617 	addl	4(%esp),%edx
6618 	leal	(%ebx,%ecx,1),%ebx
6619 	rorxl	$6,%edx,%ecx
6620 	rorxl	$11,%edx,%esi
6621 	movl	%edx,4(%esp)
6622 	rorxl	$25,%edx,%edi
6623 	xorl	%esi,%ecx
6624 	andnl	12(%esp),%edx,%esi
6625 	xorl	%edi,%ecx
6626 	andl	8(%esp),%edx
6627 	movl	%ebx,20(%esp)
6628 	orl	%esi,%edx
6629 	rorxl	$2,%ebx,%edi
6630 	rorxl	$13,%ebx,%esi
6631 	leal	(%edx,%ecx,1),%edx
6632 	rorxl	$22,%ebx,%ecx
6633 	xorl	%edi,%esi
6634 	movl	24(%esp),%edi
6635 	xorl	%esi,%ecx
6636 	xorl	%edi,%ebx
6637 	addl	16(%esp),%edx
6638 	andl	%ebx,%eax
6639 	addl	76(%esp),%edx
6640 	xorl	%edi,%eax
6641 	addl	%edx,%ecx
6642 	addl	(%esp),%edx
6643 	leal	(%eax,%ecx,1),%eax
6644 	rorxl	$6,%edx,%ecx
6645 	rorxl	$11,%edx,%esi
6646 	movl	%edx,(%esp)
6647 	rorxl	$25,%edx,%edi
6648 	xorl	%esi,%ecx
6649 	andnl	8(%esp),%edx,%esi
6650 	xorl	%edi,%ecx
6651 	andl	4(%esp),%edx
6652 	movl	%eax,16(%esp)
6653 	orl	%esi,%edx
6654 	rorxl	$2,%eax,%edi
6655 	rorxl	$13,%eax,%esi
6656 	leal	(%edx,%ecx,1),%edx
6657 	rorxl	$22,%eax,%ecx
6658 	xorl	%edi,%esi
6659 	movl	20(%esp),%edi
6660 	xorl	%esi,%ecx
6661 	xorl	%edi,%eax
6662 	addl	12(%esp),%edx
6663 	andl	%eax,%ebx
6664 	addl	80(%esp),%edx
6665 	xorl	%edi,%ebx
6666 	addl	%edx,%ecx
6667 	addl	28(%esp),%edx
6668 	leal	(%ebx,%ecx,1),%ebx
6669 	rorxl	$6,%edx,%ecx
6670 	rorxl	$11,%edx,%esi
6671 	movl	%edx,28(%esp)
6672 	rorxl	$25,%edx,%edi
6673 	xorl	%esi,%ecx
6674 	andnl	4(%esp),%edx,%esi
6675 	xorl	%edi,%ecx
6676 	andl	(%esp),%edx
6677 	movl	%ebx,12(%esp)
6678 	orl	%esi,%edx
6679 	rorxl	$2,%ebx,%edi
6680 	rorxl	$13,%ebx,%esi
6681 	leal	(%edx,%ecx,1),%edx
6682 	rorxl	$22,%ebx,%ecx
6683 	xorl	%edi,%esi
6684 	movl	16(%esp),%edi
6685 	xorl	%esi,%ecx
6686 	xorl	%edi,%ebx
6687 	addl	8(%esp),%edx
6688 	andl	%ebx,%eax
6689 	addl	84(%esp),%edx
6690 	xorl	%edi,%eax
6691 	addl	%edx,%ecx
6692 	addl	24(%esp),%edx
6693 	leal	(%eax,%ecx,1),%eax
6694 	rorxl	$6,%edx,%ecx
6695 	rorxl	$11,%edx,%esi
6696 	movl	%edx,24(%esp)
6697 	rorxl	$25,%edx,%edi
6698 	xorl	%esi,%ecx
6699 	andnl	(%esp),%edx,%esi
6700 	xorl	%edi,%ecx
6701 	andl	28(%esp),%edx
6702 	movl	%eax,8(%esp)
6703 	orl	%esi,%edx
6704 	rorxl	$2,%eax,%edi
6705 	rorxl	$13,%eax,%esi
6706 	leal	(%edx,%ecx,1),%edx
6707 	rorxl	$22,%eax,%ecx
6708 	xorl	%edi,%esi
6709 	movl	12(%esp),%edi
6710 	xorl	%esi,%ecx
6711 	xorl	%edi,%eax
6712 	addl	4(%esp),%edx
6713 	andl	%eax,%ebx
6714 	addl	88(%esp),%edx
6715 	xorl	%edi,%ebx
6716 	addl	%edx,%ecx
6717 	addl	20(%esp),%edx
6718 	leal	(%ebx,%ecx,1),%ebx
6719 	rorxl	$6,%edx,%ecx
6720 	rorxl	$11,%edx,%esi
6721 	movl	%edx,20(%esp)
6722 	rorxl	$25,%edx,%edi
6723 	xorl	%esi,%ecx
6724 	andnl	28(%esp),%edx,%esi
6725 	xorl	%edi,%ecx
6726 	andl	24(%esp),%edx
6727 	movl	%ebx,4(%esp)
6728 	orl	%esi,%edx
6729 	rorxl	$2,%ebx,%edi
6730 	rorxl	$13,%ebx,%esi
6731 	leal	(%edx,%ecx,1),%edx
6732 	rorxl	$22,%ebx,%ecx
6733 	xorl	%edi,%esi
6734 	movl	8(%esp),%edi
6735 	xorl	%esi,%ecx
6736 	xorl	%edi,%ebx
6737 	addl	(%esp),%edx
6738 	andl	%ebx,%eax
6739 	addl	92(%esp),%edx
6740 	xorl	%edi,%eax
6741 	addl	%edx,%ecx
6742 	addl	16(%esp),%edx
6743 	leal	(%eax,%ecx,1),%eax
6744 	movl	96(%esp),%esi
6745 	xorl	%edi,%ebx
6746 	movl	12(%esp),%ecx
6747 	addl	(%esi),%eax
6748 	addl	4(%esi),%ebx
6749 	addl	8(%esi),%edi
6750 	addl	12(%esi),%ecx
6751 	movl	%eax,(%esi)
6752 	movl	%ebx,4(%esi)
6753 	movl	%edi,8(%esi)
6754 	movl	%ecx,12(%esi)
6755 	movl	%ebx,4(%esp)
6756 	xorl	%edi,%ebx
6757 	movl	%edi,8(%esp)
6758 	movl	%ecx,12(%esp)
6759 	movl	20(%esp),%edi
6760 	movl	24(%esp),%ecx
6761 	addl	16(%esi),%edx
6762 	addl	20(%esi),%edi
6763 	addl	24(%esi),%ecx
6764 	movl	%edx,16(%esi)
6765 	movl	%edi,20(%esi)
6766 	movl	%edi,20(%esp)
6767 	movl	28(%esp),%edi
6768 	movl	%ecx,24(%esi)
6769 	addl	28(%esi),%edi
6770 	movl	%ecx,24(%esp)
6771 	movl	%edi,28(%esi)
6772 	movl	%edi,28(%esp)
6773 	movl	100(%esp),%edi
6774 	vmovdqa	64(%ebp),%xmm7
6775 	subl	$192,%ebp
6776 	cmpl	104(%esp),%edi
6777 	jb	L017grand_avx_bmi
6778 	movl	108(%esp),%esp
6779 	vzeroall
6780 	popl	%edi
6781 	popl	%esi
6782 	popl	%ebx
6783 	popl	%ebp
6784 	ret
6785 .section __IMPORT,__pointers,non_lazy_symbol_pointers
6786 L_OPENSSL_ia32cap_P$non_lazy_ptr:
6787 .indirect_symbol	_OPENSSL_ia32cap_P
6788 .long	0
6789 .comm	_OPENSSL_ia32cap_P,16,2
6790