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