Home | History | Annotate | Download | only in sha
      1 #if defined(__x86_64__)
      2 .text
      3 
      4 
      5 .globl	sha512_block_data_order
      6 .hidden sha512_block_data_order
      7 .type	sha512_block_data_order,@function
      8 .align	16
      9 sha512_block_data_order:
     10 	pushq	%rbx
     11 	pushq	%rbp
     12 	pushq	%r12
     13 	pushq	%r13
     14 	pushq	%r14
     15 	pushq	%r15
     16 	movq	%rsp,%r11
     17 	shlq	$4,%rdx
     18 	subq	$128+32,%rsp
     19 	leaq	(%rsi,%rdx,8),%rdx
     20 	andq	$-64,%rsp
     21 	movq	%rdi,128+0(%rsp)
     22 	movq	%rsi,128+8(%rsp)
     23 	movq	%rdx,128+16(%rsp)
     24 	movq	%r11,128+24(%rsp)
     25 .Lprologue:
     26 
     27 	movq	0(%rdi),%rax
     28 	movq	8(%rdi),%rbx
     29 	movq	16(%rdi),%rcx
     30 	movq	24(%rdi),%rdx
     31 	movq	32(%rdi),%r8
     32 	movq	40(%rdi),%r9
     33 	movq	48(%rdi),%r10
     34 	movq	56(%rdi),%r11
     35 	jmp	.Lloop
     36 
     37 .align	16
     38 .Lloop:
     39 	movq	%rbx,%rdi
     40 	leaq	K512(%rip),%rbp
     41 	xorq	%rcx,%rdi
     42 	movq	0(%rsi),%r12
     43 	movq	%r8,%r13
     44 	movq	%rax,%r14
     45 	bswapq	%r12
     46 	rorq	$23,%r13
     47 	movq	%r9,%r15
     48 
     49 	xorq	%r8,%r13
     50 	rorq	$5,%r14
     51 	xorq	%r10,%r15
     52 
     53 	movq	%r12,0(%rsp)
     54 	xorq	%rax,%r14
     55 	andq	%r8,%r15
     56 
     57 	rorq	$4,%r13
     58 	addq	%r11,%r12
     59 	xorq	%r10,%r15
     60 
     61 	rorq	$6,%r14
     62 	xorq	%r8,%r13
     63 	addq	%r15,%r12
     64 
     65 	movq	%rax,%r15
     66 	addq	(%rbp),%r12
     67 	xorq	%rax,%r14
     68 
     69 	xorq	%rbx,%r15
     70 	rorq	$14,%r13
     71 	movq	%rbx,%r11
     72 
     73 	andq	%r15,%rdi
     74 	rorq	$28,%r14
     75 	addq	%r13,%r12
     76 
     77 	xorq	%rdi,%r11
     78 	addq	%r12,%rdx
     79 	addq	%r12,%r11
     80 
     81 	leaq	8(%rbp),%rbp
     82 	addq	%r14,%r11
     83 	movq	8(%rsi),%r12
     84 	movq	%rdx,%r13
     85 	movq	%r11,%r14
     86 	bswapq	%r12
     87 	rorq	$23,%r13
     88 	movq	%r8,%rdi
     89 
     90 	xorq	%rdx,%r13
     91 	rorq	$5,%r14
     92 	xorq	%r9,%rdi
     93 
     94 	movq	%r12,8(%rsp)
     95 	xorq	%r11,%r14
     96 	andq	%rdx,%rdi
     97 
     98 	rorq	$4,%r13
     99 	addq	%r10,%r12
    100 	xorq	%r9,%rdi
    101 
    102 	rorq	$6,%r14
    103 	xorq	%rdx,%r13
    104 	addq	%rdi,%r12
    105 
    106 	movq	%r11,%rdi
    107 	addq	(%rbp),%r12
    108 	xorq	%r11,%r14
    109 
    110 	xorq	%rax,%rdi
    111 	rorq	$14,%r13
    112 	movq	%rax,%r10
    113 
    114 	andq	%rdi,%r15
    115 	rorq	$28,%r14
    116 	addq	%r13,%r12
    117 
    118 	xorq	%r15,%r10
    119 	addq	%r12,%rcx
    120 	addq	%r12,%r10
    121 
    122 	leaq	24(%rbp),%rbp
    123 	addq	%r14,%r10
    124 	movq	16(%rsi),%r12
    125 	movq	%rcx,%r13
    126 	movq	%r10,%r14
    127 	bswapq	%r12
    128 	rorq	$23,%r13
    129 	movq	%rdx,%r15
    130 
    131 	xorq	%rcx,%r13
    132 	rorq	$5,%r14
    133 	xorq	%r8,%r15
    134 
    135 	movq	%r12,16(%rsp)
    136 	xorq	%r10,%r14
    137 	andq	%rcx,%r15
    138 
    139 	rorq	$4,%r13
    140 	addq	%r9,%r12
    141 	xorq	%r8,%r15
    142 
    143 	rorq	$6,%r14
    144 	xorq	%rcx,%r13
    145 	addq	%r15,%r12
    146 
    147 	movq	%r10,%r15
    148 	addq	(%rbp),%r12
    149 	xorq	%r10,%r14
    150 
    151 	xorq	%r11,%r15
    152 	rorq	$14,%r13
    153 	movq	%r11,%r9
    154 
    155 	andq	%r15,%rdi
    156 	rorq	$28,%r14
    157 	addq	%r13,%r12
    158 
    159 	xorq	%rdi,%r9
    160 	addq	%r12,%rbx
    161 	addq	%r12,%r9
    162 
    163 	leaq	8(%rbp),%rbp
    164 	addq	%r14,%r9
    165 	movq	24(%rsi),%r12
    166 	movq	%rbx,%r13
    167 	movq	%r9,%r14
    168 	bswapq	%r12
    169 	rorq	$23,%r13
    170 	movq	%rcx,%rdi
    171 
    172 	xorq	%rbx,%r13
    173 	rorq	$5,%r14
    174 	xorq	%rdx,%rdi
    175 
    176 	movq	%r12,24(%rsp)
    177 	xorq	%r9,%r14
    178 	andq	%rbx,%rdi
    179 
    180 	rorq	$4,%r13
    181 	addq	%r8,%r12
    182 	xorq	%rdx,%rdi
    183 
    184 	rorq	$6,%r14
    185 	xorq	%rbx,%r13
    186 	addq	%rdi,%r12
    187 
    188 	movq	%r9,%rdi
    189 	addq	(%rbp),%r12
    190 	xorq	%r9,%r14
    191 
    192 	xorq	%r10,%rdi
    193 	rorq	$14,%r13
    194 	movq	%r10,%r8
    195 
    196 	andq	%rdi,%r15
    197 	rorq	$28,%r14
    198 	addq	%r13,%r12
    199 
    200 	xorq	%r15,%r8
    201 	addq	%r12,%rax
    202 	addq	%r12,%r8
    203 
    204 	leaq	24(%rbp),%rbp
    205 	addq	%r14,%r8
    206 	movq	32(%rsi),%r12
    207 	movq	%rax,%r13
    208 	movq	%r8,%r14
    209 	bswapq	%r12
    210 	rorq	$23,%r13
    211 	movq	%rbx,%r15
    212 
    213 	xorq	%rax,%r13
    214 	rorq	$5,%r14
    215 	xorq	%rcx,%r15
    216 
    217 	movq	%r12,32(%rsp)
    218 	xorq	%r8,%r14
    219 	andq	%rax,%r15
    220 
    221 	rorq	$4,%r13
    222 	addq	%rdx,%r12
    223 	xorq	%rcx,%r15
    224 
    225 	rorq	$6,%r14
    226 	xorq	%rax,%r13
    227 	addq	%r15,%r12
    228 
    229 	movq	%r8,%r15
    230 	addq	(%rbp),%r12
    231 	xorq	%r8,%r14
    232 
    233 	xorq	%r9,%r15
    234 	rorq	$14,%r13
    235 	movq	%r9,%rdx
    236 
    237 	andq	%r15,%rdi
    238 	rorq	$28,%r14
    239 	addq	%r13,%r12
    240 
    241 	xorq	%rdi,%rdx
    242 	addq	%r12,%r11
    243 	addq	%r12,%rdx
    244 
    245 	leaq	8(%rbp),%rbp
    246 	addq	%r14,%rdx
    247 	movq	40(%rsi),%r12
    248 	movq	%r11,%r13
    249 	movq	%rdx,%r14
    250 	bswapq	%r12
    251 	rorq	$23,%r13
    252 	movq	%rax,%rdi
    253 
    254 	xorq	%r11,%r13
    255 	rorq	$5,%r14
    256 	xorq	%rbx,%rdi
    257 
    258 	movq	%r12,40(%rsp)
    259 	xorq	%rdx,%r14
    260 	andq	%r11,%rdi
    261 
    262 	rorq	$4,%r13
    263 	addq	%rcx,%r12
    264 	xorq	%rbx,%rdi
    265 
    266 	rorq	$6,%r14
    267 	xorq	%r11,%r13
    268 	addq	%rdi,%r12
    269 
    270 	movq	%rdx,%rdi
    271 	addq	(%rbp),%r12
    272 	xorq	%rdx,%r14
    273 
    274 	xorq	%r8,%rdi
    275 	rorq	$14,%r13
    276 	movq	%r8,%rcx
    277 
    278 	andq	%rdi,%r15
    279 	rorq	$28,%r14
    280 	addq	%r13,%r12
    281 
    282 	xorq	%r15,%rcx
    283 	addq	%r12,%r10
    284 	addq	%r12,%rcx
    285 
    286 	leaq	24(%rbp),%rbp
    287 	addq	%r14,%rcx
    288 	movq	48(%rsi),%r12
    289 	movq	%r10,%r13
    290 	movq	%rcx,%r14
    291 	bswapq	%r12
    292 	rorq	$23,%r13
    293 	movq	%r11,%r15
    294 
    295 	xorq	%r10,%r13
    296 	rorq	$5,%r14
    297 	xorq	%rax,%r15
    298 
    299 	movq	%r12,48(%rsp)
    300 	xorq	%rcx,%r14
    301 	andq	%r10,%r15
    302 
    303 	rorq	$4,%r13
    304 	addq	%rbx,%r12
    305 	xorq	%rax,%r15
    306 
    307 	rorq	$6,%r14
    308 	xorq	%r10,%r13
    309 	addq	%r15,%r12
    310 
    311 	movq	%rcx,%r15
    312 	addq	(%rbp),%r12
    313 	xorq	%rcx,%r14
    314 
    315 	xorq	%rdx,%r15
    316 	rorq	$14,%r13
    317 	movq	%rdx,%rbx
    318 
    319 	andq	%r15,%rdi
    320 	rorq	$28,%r14
    321 	addq	%r13,%r12
    322 
    323 	xorq	%rdi,%rbx
    324 	addq	%r12,%r9
    325 	addq	%r12,%rbx
    326 
    327 	leaq	8(%rbp),%rbp
    328 	addq	%r14,%rbx
    329 	movq	56(%rsi),%r12
    330 	movq	%r9,%r13
    331 	movq	%rbx,%r14
    332 	bswapq	%r12
    333 	rorq	$23,%r13
    334 	movq	%r10,%rdi
    335 
    336 	xorq	%r9,%r13
    337 	rorq	$5,%r14
    338 	xorq	%r11,%rdi
    339 
    340 	movq	%r12,56(%rsp)
    341 	xorq	%rbx,%r14
    342 	andq	%r9,%rdi
    343 
    344 	rorq	$4,%r13
    345 	addq	%rax,%r12
    346 	xorq	%r11,%rdi
    347 
    348 	rorq	$6,%r14
    349 	xorq	%r9,%r13
    350 	addq	%rdi,%r12
    351 
    352 	movq	%rbx,%rdi
    353 	addq	(%rbp),%r12
    354 	xorq	%rbx,%r14
    355 
    356 	xorq	%rcx,%rdi
    357 	rorq	$14,%r13
    358 	movq	%rcx,%rax
    359 
    360 	andq	%rdi,%r15
    361 	rorq	$28,%r14
    362 	addq	%r13,%r12
    363 
    364 	xorq	%r15,%rax
    365 	addq	%r12,%r8
    366 	addq	%r12,%rax
    367 
    368 	leaq	24(%rbp),%rbp
    369 	addq	%r14,%rax
    370 	movq	64(%rsi),%r12
    371 	movq	%r8,%r13
    372 	movq	%rax,%r14
    373 	bswapq	%r12
    374 	rorq	$23,%r13
    375 	movq	%r9,%r15
    376 
    377 	xorq	%r8,%r13
    378 	rorq	$5,%r14
    379 	xorq	%r10,%r15
    380 
    381 	movq	%r12,64(%rsp)
    382 	xorq	%rax,%r14
    383 	andq	%r8,%r15
    384 
    385 	rorq	$4,%r13
    386 	addq	%r11,%r12
    387 	xorq	%r10,%r15
    388 
    389 	rorq	$6,%r14
    390 	xorq	%r8,%r13
    391 	addq	%r15,%r12
    392 
    393 	movq	%rax,%r15
    394 	addq	(%rbp),%r12
    395 	xorq	%rax,%r14
    396 
    397 	xorq	%rbx,%r15
    398 	rorq	$14,%r13
    399 	movq	%rbx,%r11
    400 
    401 	andq	%r15,%rdi
    402 	rorq	$28,%r14
    403 	addq	%r13,%r12
    404 
    405 	xorq	%rdi,%r11
    406 	addq	%r12,%rdx
    407 	addq	%r12,%r11
    408 
    409 	leaq	8(%rbp),%rbp
    410 	addq	%r14,%r11
    411 	movq	72(%rsi),%r12
    412 	movq	%rdx,%r13
    413 	movq	%r11,%r14
    414 	bswapq	%r12
    415 	rorq	$23,%r13
    416 	movq	%r8,%rdi
    417 
    418 	xorq	%rdx,%r13
    419 	rorq	$5,%r14
    420 	xorq	%r9,%rdi
    421 
    422 	movq	%r12,72(%rsp)
    423 	xorq	%r11,%r14
    424 	andq	%rdx,%rdi
    425 
    426 	rorq	$4,%r13
    427 	addq	%r10,%r12
    428 	xorq	%r9,%rdi
    429 
    430 	rorq	$6,%r14
    431 	xorq	%rdx,%r13
    432 	addq	%rdi,%r12
    433 
    434 	movq	%r11,%rdi
    435 	addq	(%rbp),%r12
    436 	xorq	%r11,%r14
    437 
    438 	xorq	%rax,%rdi
    439 	rorq	$14,%r13
    440 	movq	%rax,%r10
    441 
    442 	andq	%rdi,%r15
    443 	rorq	$28,%r14
    444 	addq	%r13,%r12
    445 
    446 	xorq	%r15,%r10
    447 	addq	%r12,%rcx
    448 	addq	%r12,%r10
    449 
    450 	leaq	24(%rbp),%rbp
    451 	addq	%r14,%r10
    452 	movq	80(%rsi),%r12
    453 	movq	%rcx,%r13
    454 	movq	%r10,%r14
    455 	bswapq	%r12
    456 	rorq	$23,%r13
    457 	movq	%rdx,%r15
    458 
    459 	xorq	%rcx,%r13
    460 	rorq	$5,%r14
    461 	xorq	%r8,%r15
    462 
    463 	movq	%r12,80(%rsp)
    464 	xorq	%r10,%r14
    465 	andq	%rcx,%r15
    466 
    467 	rorq	$4,%r13
    468 	addq	%r9,%r12
    469 	xorq	%r8,%r15
    470 
    471 	rorq	$6,%r14
    472 	xorq	%rcx,%r13
    473 	addq	%r15,%r12
    474 
    475 	movq	%r10,%r15
    476 	addq	(%rbp),%r12
    477 	xorq	%r10,%r14
    478 
    479 	xorq	%r11,%r15
    480 	rorq	$14,%r13
    481 	movq	%r11,%r9
    482 
    483 	andq	%r15,%rdi
    484 	rorq	$28,%r14
    485 	addq	%r13,%r12
    486 
    487 	xorq	%rdi,%r9
    488 	addq	%r12,%rbx
    489 	addq	%r12,%r9
    490 
    491 	leaq	8(%rbp),%rbp
    492 	addq	%r14,%r9
    493 	movq	88(%rsi),%r12
    494 	movq	%rbx,%r13
    495 	movq	%r9,%r14
    496 	bswapq	%r12
    497 	rorq	$23,%r13
    498 	movq	%rcx,%rdi
    499 
    500 	xorq	%rbx,%r13
    501 	rorq	$5,%r14
    502 	xorq	%rdx,%rdi
    503 
    504 	movq	%r12,88(%rsp)
    505 	xorq	%r9,%r14
    506 	andq	%rbx,%rdi
    507 
    508 	rorq	$4,%r13
    509 	addq	%r8,%r12
    510 	xorq	%rdx,%rdi
    511 
    512 	rorq	$6,%r14
    513 	xorq	%rbx,%r13
    514 	addq	%rdi,%r12
    515 
    516 	movq	%r9,%rdi
    517 	addq	(%rbp),%r12
    518 	xorq	%r9,%r14
    519 
    520 	xorq	%r10,%rdi
    521 	rorq	$14,%r13
    522 	movq	%r10,%r8
    523 
    524 	andq	%rdi,%r15
    525 	rorq	$28,%r14
    526 	addq	%r13,%r12
    527 
    528 	xorq	%r15,%r8
    529 	addq	%r12,%rax
    530 	addq	%r12,%r8
    531 
    532 	leaq	24(%rbp),%rbp
    533 	addq	%r14,%r8
    534 	movq	96(%rsi),%r12
    535 	movq	%rax,%r13
    536 	movq	%r8,%r14
    537 	bswapq	%r12
    538 	rorq	$23,%r13
    539 	movq	%rbx,%r15
    540 
    541 	xorq	%rax,%r13
    542 	rorq	$5,%r14
    543 	xorq	%rcx,%r15
    544 
    545 	movq	%r12,96(%rsp)
    546 	xorq	%r8,%r14
    547 	andq	%rax,%r15
    548 
    549 	rorq	$4,%r13
    550 	addq	%rdx,%r12
    551 	xorq	%rcx,%r15
    552 
    553 	rorq	$6,%r14
    554 	xorq	%rax,%r13
    555 	addq	%r15,%r12
    556 
    557 	movq	%r8,%r15
    558 	addq	(%rbp),%r12
    559 	xorq	%r8,%r14
    560 
    561 	xorq	%r9,%r15
    562 	rorq	$14,%r13
    563 	movq	%r9,%rdx
    564 
    565 	andq	%r15,%rdi
    566 	rorq	$28,%r14
    567 	addq	%r13,%r12
    568 
    569 	xorq	%rdi,%rdx
    570 	addq	%r12,%r11
    571 	addq	%r12,%rdx
    572 
    573 	leaq	8(%rbp),%rbp
    574 	addq	%r14,%rdx
    575 	movq	104(%rsi),%r12
    576 	movq	%r11,%r13
    577 	movq	%rdx,%r14
    578 	bswapq	%r12
    579 	rorq	$23,%r13
    580 	movq	%rax,%rdi
    581 
    582 	xorq	%r11,%r13
    583 	rorq	$5,%r14
    584 	xorq	%rbx,%rdi
    585 
    586 	movq	%r12,104(%rsp)
    587 	xorq	%rdx,%r14
    588 	andq	%r11,%rdi
    589 
    590 	rorq	$4,%r13
    591 	addq	%rcx,%r12
    592 	xorq	%rbx,%rdi
    593 
    594 	rorq	$6,%r14
    595 	xorq	%r11,%r13
    596 	addq	%rdi,%r12
    597 
    598 	movq	%rdx,%rdi
    599 	addq	(%rbp),%r12
    600 	xorq	%rdx,%r14
    601 
    602 	xorq	%r8,%rdi
    603 	rorq	$14,%r13
    604 	movq	%r8,%rcx
    605 
    606 	andq	%rdi,%r15
    607 	rorq	$28,%r14
    608 	addq	%r13,%r12
    609 
    610 	xorq	%r15,%rcx
    611 	addq	%r12,%r10
    612 	addq	%r12,%rcx
    613 
    614 	leaq	24(%rbp),%rbp
    615 	addq	%r14,%rcx
    616 	movq	112(%rsi),%r12
    617 	movq	%r10,%r13
    618 	movq	%rcx,%r14
    619 	bswapq	%r12
    620 	rorq	$23,%r13
    621 	movq	%r11,%r15
    622 
    623 	xorq	%r10,%r13
    624 	rorq	$5,%r14
    625 	xorq	%rax,%r15
    626 
    627 	movq	%r12,112(%rsp)
    628 	xorq	%rcx,%r14
    629 	andq	%r10,%r15
    630 
    631 	rorq	$4,%r13
    632 	addq	%rbx,%r12
    633 	xorq	%rax,%r15
    634 
    635 	rorq	$6,%r14
    636 	xorq	%r10,%r13
    637 	addq	%r15,%r12
    638 
    639 	movq	%rcx,%r15
    640 	addq	(%rbp),%r12
    641 	xorq	%rcx,%r14
    642 
    643 	xorq	%rdx,%r15
    644 	rorq	$14,%r13
    645 	movq	%rdx,%rbx
    646 
    647 	andq	%r15,%rdi
    648 	rorq	$28,%r14
    649 	addq	%r13,%r12
    650 
    651 	xorq	%rdi,%rbx
    652 	addq	%r12,%r9
    653 	addq	%r12,%rbx
    654 
    655 	leaq	8(%rbp),%rbp
    656 	addq	%r14,%rbx
    657 	movq	120(%rsi),%r12
    658 	movq	%r9,%r13
    659 	movq	%rbx,%r14
    660 	bswapq	%r12
    661 	rorq	$23,%r13
    662 	movq	%r10,%rdi
    663 
    664 	xorq	%r9,%r13
    665 	rorq	$5,%r14
    666 	xorq	%r11,%rdi
    667 
    668 	movq	%r12,120(%rsp)
    669 	xorq	%rbx,%r14
    670 	andq	%r9,%rdi
    671 
    672 	rorq	$4,%r13
    673 	addq	%rax,%r12
    674 	xorq	%r11,%rdi
    675 
    676 	rorq	$6,%r14
    677 	xorq	%r9,%r13
    678 	addq	%rdi,%r12
    679 
    680 	movq	%rbx,%rdi
    681 	addq	(%rbp),%r12
    682 	xorq	%rbx,%r14
    683 
    684 	xorq	%rcx,%rdi
    685 	rorq	$14,%r13
    686 	movq	%rcx,%rax
    687 
    688 	andq	%rdi,%r15
    689 	rorq	$28,%r14
    690 	addq	%r13,%r12
    691 
    692 	xorq	%r15,%rax
    693 	addq	%r12,%r8
    694 	addq	%r12,%rax
    695 
    696 	leaq	24(%rbp),%rbp
    697 	jmp	.Lrounds_16_xx
    698 .align	16
    699 .Lrounds_16_xx:
    700 	movq	8(%rsp),%r13
    701 	movq	112(%rsp),%r15
    702 
    703 	movq	%r13,%r12
    704 	rorq	$7,%r13
    705 	addq	%r14,%rax
    706 	movq	%r15,%r14
    707 	rorq	$42,%r15
    708 
    709 	xorq	%r12,%r13
    710 	shrq	$7,%r12
    711 	rorq	$1,%r13
    712 	xorq	%r14,%r15
    713 	shrq	$6,%r14
    714 
    715 	rorq	$19,%r15
    716 	xorq	%r13,%r12
    717 	xorq	%r14,%r15
    718 	addq	72(%rsp),%r12
    719 
    720 	addq	0(%rsp),%r12
    721 	movq	%r8,%r13
    722 	addq	%r15,%r12
    723 	movq	%rax,%r14
    724 	rorq	$23,%r13
    725 	movq	%r9,%r15
    726 
    727 	xorq	%r8,%r13
    728 	rorq	$5,%r14
    729 	xorq	%r10,%r15
    730 
    731 	movq	%r12,0(%rsp)
    732 	xorq	%rax,%r14
    733 	andq	%r8,%r15
    734 
    735 	rorq	$4,%r13
    736 	addq	%r11,%r12
    737 	xorq	%r10,%r15
    738 
    739 	rorq	$6,%r14
    740 	xorq	%r8,%r13
    741 	addq	%r15,%r12
    742 
    743 	movq	%rax,%r15
    744 	addq	(%rbp),%r12
    745 	xorq	%rax,%r14
    746 
    747 	xorq	%rbx,%r15
    748 	rorq	$14,%r13
    749 	movq	%rbx,%r11
    750 
    751 	andq	%r15,%rdi
    752 	rorq	$28,%r14
    753 	addq	%r13,%r12
    754 
    755 	xorq	%rdi,%r11
    756 	addq	%r12,%rdx
    757 	addq	%r12,%r11
    758 
    759 	leaq	8(%rbp),%rbp
    760 	movq	16(%rsp),%r13
    761 	movq	120(%rsp),%rdi
    762 
    763 	movq	%r13,%r12
    764 	rorq	$7,%r13
    765 	addq	%r14,%r11
    766 	movq	%rdi,%r14
    767 	rorq	$42,%rdi
    768 
    769 	xorq	%r12,%r13
    770 	shrq	$7,%r12
    771 	rorq	$1,%r13
    772 	xorq	%r14,%rdi
    773 	shrq	$6,%r14
    774 
    775 	rorq	$19,%rdi
    776 	xorq	%r13,%r12
    777 	xorq	%r14,%rdi
    778 	addq	80(%rsp),%r12
    779 
    780 	addq	8(%rsp),%r12
    781 	movq	%rdx,%r13
    782 	addq	%rdi,%r12
    783 	movq	%r11,%r14
    784 	rorq	$23,%r13
    785 	movq	%r8,%rdi
    786 
    787 	xorq	%rdx,%r13
    788 	rorq	$5,%r14
    789 	xorq	%r9,%rdi
    790 
    791 	movq	%r12,8(%rsp)
    792 	xorq	%r11,%r14
    793 	andq	%rdx,%rdi
    794 
    795 	rorq	$4,%r13
    796 	addq	%r10,%r12
    797 	xorq	%r9,%rdi
    798 
    799 	rorq	$6,%r14
    800 	xorq	%rdx,%r13
    801 	addq	%rdi,%r12
    802 
    803 	movq	%r11,%rdi
    804 	addq	(%rbp),%r12
    805 	xorq	%r11,%r14
    806 
    807 	xorq	%rax,%rdi
    808 	rorq	$14,%r13
    809 	movq	%rax,%r10
    810 
    811 	andq	%rdi,%r15
    812 	rorq	$28,%r14
    813 	addq	%r13,%r12
    814 
    815 	xorq	%r15,%r10
    816 	addq	%r12,%rcx
    817 	addq	%r12,%r10
    818 
    819 	leaq	24(%rbp),%rbp
    820 	movq	24(%rsp),%r13
    821 	movq	0(%rsp),%r15
    822 
    823 	movq	%r13,%r12
    824 	rorq	$7,%r13
    825 	addq	%r14,%r10
    826 	movq	%r15,%r14
    827 	rorq	$42,%r15
    828 
    829 	xorq	%r12,%r13
    830 	shrq	$7,%r12
    831 	rorq	$1,%r13
    832 	xorq	%r14,%r15
    833 	shrq	$6,%r14
    834 
    835 	rorq	$19,%r15
    836 	xorq	%r13,%r12
    837 	xorq	%r14,%r15
    838 	addq	88(%rsp),%r12
    839 
    840 	addq	16(%rsp),%r12
    841 	movq	%rcx,%r13
    842 	addq	%r15,%r12
    843 	movq	%r10,%r14
    844 	rorq	$23,%r13
    845 	movq	%rdx,%r15
    846 
    847 	xorq	%rcx,%r13
    848 	rorq	$5,%r14
    849 	xorq	%r8,%r15
    850 
    851 	movq	%r12,16(%rsp)
    852 	xorq	%r10,%r14
    853 	andq	%rcx,%r15
    854 
    855 	rorq	$4,%r13
    856 	addq	%r9,%r12
    857 	xorq	%r8,%r15
    858 
    859 	rorq	$6,%r14
    860 	xorq	%rcx,%r13
    861 	addq	%r15,%r12
    862 
    863 	movq	%r10,%r15
    864 	addq	(%rbp),%r12
    865 	xorq	%r10,%r14
    866 
    867 	xorq	%r11,%r15
    868 	rorq	$14,%r13
    869 	movq	%r11,%r9
    870 
    871 	andq	%r15,%rdi
    872 	rorq	$28,%r14
    873 	addq	%r13,%r12
    874 
    875 	xorq	%rdi,%r9
    876 	addq	%r12,%rbx
    877 	addq	%r12,%r9
    878 
    879 	leaq	8(%rbp),%rbp
    880 	movq	32(%rsp),%r13
    881 	movq	8(%rsp),%rdi
    882 
    883 	movq	%r13,%r12
    884 	rorq	$7,%r13
    885 	addq	%r14,%r9
    886 	movq	%rdi,%r14
    887 	rorq	$42,%rdi
    888 
    889 	xorq	%r12,%r13
    890 	shrq	$7,%r12
    891 	rorq	$1,%r13
    892 	xorq	%r14,%rdi
    893 	shrq	$6,%r14
    894 
    895 	rorq	$19,%rdi
    896 	xorq	%r13,%r12
    897 	xorq	%r14,%rdi
    898 	addq	96(%rsp),%r12
    899 
    900 	addq	24(%rsp),%r12
    901 	movq	%rbx,%r13
    902 	addq	%rdi,%r12
    903 	movq	%r9,%r14
    904 	rorq	$23,%r13
    905 	movq	%rcx,%rdi
    906 
    907 	xorq	%rbx,%r13
    908 	rorq	$5,%r14
    909 	xorq	%rdx,%rdi
    910 
    911 	movq	%r12,24(%rsp)
    912 	xorq	%r9,%r14
    913 	andq	%rbx,%rdi
    914 
    915 	rorq	$4,%r13
    916 	addq	%r8,%r12
    917 	xorq	%rdx,%rdi
    918 
    919 	rorq	$6,%r14
    920 	xorq	%rbx,%r13
    921 	addq	%rdi,%r12
    922 
    923 	movq	%r9,%rdi
    924 	addq	(%rbp),%r12
    925 	xorq	%r9,%r14
    926 
    927 	xorq	%r10,%rdi
    928 	rorq	$14,%r13
    929 	movq	%r10,%r8
    930 
    931 	andq	%rdi,%r15
    932 	rorq	$28,%r14
    933 	addq	%r13,%r12
    934 
    935 	xorq	%r15,%r8
    936 	addq	%r12,%rax
    937 	addq	%r12,%r8
    938 
    939 	leaq	24(%rbp),%rbp
    940 	movq	40(%rsp),%r13
    941 	movq	16(%rsp),%r15
    942 
    943 	movq	%r13,%r12
    944 	rorq	$7,%r13
    945 	addq	%r14,%r8
    946 	movq	%r15,%r14
    947 	rorq	$42,%r15
    948 
    949 	xorq	%r12,%r13
    950 	shrq	$7,%r12
    951 	rorq	$1,%r13
    952 	xorq	%r14,%r15
    953 	shrq	$6,%r14
    954 
    955 	rorq	$19,%r15
    956 	xorq	%r13,%r12
    957 	xorq	%r14,%r15
    958 	addq	104(%rsp),%r12
    959 
    960 	addq	32(%rsp),%r12
    961 	movq	%rax,%r13
    962 	addq	%r15,%r12
    963 	movq	%r8,%r14
    964 	rorq	$23,%r13
    965 	movq	%rbx,%r15
    966 
    967 	xorq	%rax,%r13
    968 	rorq	$5,%r14
    969 	xorq	%rcx,%r15
    970 
    971 	movq	%r12,32(%rsp)
    972 	xorq	%r8,%r14
    973 	andq	%rax,%r15
    974 
    975 	rorq	$4,%r13
    976 	addq	%rdx,%r12
    977 	xorq	%rcx,%r15
    978 
    979 	rorq	$6,%r14
    980 	xorq	%rax,%r13
    981 	addq	%r15,%r12
    982 
    983 	movq	%r8,%r15
    984 	addq	(%rbp),%r12
    985 	xorq	%r8,%r14
    986 
    987 	xorq	%r9,%r15
    988 	rorq	$14,%r13
    989 	movq	%r9,%rdx
    990 
    991 	andq	%r15,%rdi
    992 	rorq	$28,%r14
    993 	addq	%r13,%r12
    994 
    995 	xorq	%rdi,%rdx
    996 	addq	%r12,%r11
    997 	addq	%r12,%rdx
    998 
    999 	leaq	8(%rbp),%rbp
   1000 	movq	48(%rsp),%r13
   1001 	movq	24(%rsp),%rdi
   1002 
   1003 	movq	%r13,%r12
   1004 	rorq	$7,%r13
   1005 	addq	%r14,%rdx
   1006 	movq	%rdi,%r14
   1007 	rorq	$42,%rdi
   1008 
   1009 	xorq	%r12,%r13
   1010 	shrq	$7,%r12
   1011 	rorq	$1,%r13
   1012 	xorq	%r14,%rdi
   1013 	shrq	$6,%r14
   1014 
   1015 	rorq	$19,%rdi
   1016 	xorq	%r13,%r12
   1017 	xorq	%r14,%rdi
   1018 	addq	112(%rsp),%r12
   1019 
   1020 	addq	40(%rsp),%r12
   1021 	movq	%r11,%r13
   1022 	addq	%rdi,%r12
   1023 	movq	%rdx,%r14
   1024 	rorq	$23,%r13
   1025 	movq	%rax,%rdi
   1026 
   1027 	xorq	%r11,%r13
   1028 	rorq	$5,%r14
   1029 	xorq	%rbx,%rdi
   1030 
   1031 	movq	%r12,40(%rsp)
   1032 	xorq	%rdx,%r14
   1033 	andq	%r11,%rdi
   1034 
   1035 	rorq	$4,%r13
   1036 	addq	%rcx,%r12
   1037 	xorq	%rbx,%rdi
   1038 
   1039 	rorq	$6,%r14
   1040 	xorq	%r11,%r13
   1041 	addq	%rdi,%r12
   1042 
   1043 	movq	%rdx,%rdi
   1044 	addq	(%rbp),%r12
   1045 	xorq	%rdx,%r14
   1046 
   1047 	xorq	%r8,%rdi
   1048 	rorq	$14,%r13
   1049 	movq	%r8,%rcx
   1050 
   1051 	andq	%rdi,%r15
   1052 	rorq	$28,%r14
   1053 	addq	%r13,%r12
   1054 
   1055 	xorq	%r15,%rcx
   1056 	addq	%r12,%r10
   1057 	addq	%r12,%rcx
   1058 
   1059 	leaq	24(%rbp),%rbp
   1060 	movq	56(%rsp),%r13
   1061 	movq	32(%rsp),%r15
   1062 
   1063 	movq	%r13,%r12
   1064 	rorq	$7,%r13
   1065 	addq	%r14,%rcx
   1066 	movq	%r15,%r14
   1067 	rorq	$42,%r15
   1068 
   1069 	xorq	%r12,%r13
   1070 	shrq	$7,%r12
   1071 	rorq	$1,%r13
   1072 	xorq	%r14,%r15
   1073 	shrq	$6,%r14
   1074 
   1075 	rorq	$19,%r15
   1076 	xorq	%r13,%r12
   1077 	xorq	%r14,%r15
   1078 	addq	120(%rsp),%r12
   1079 
   1080 	addq	48(%rsp),%r12
   1081 	movq	%r10,%r13
   1082 	addq	%r15,%r12
   1083 	movq	%rcx,%r14
   1084 	rorq	$23,%r13
   1085 	movq	%r11,%r15
   1086 
   1087 	xorq	%r10,%r13
   1088 	rorq	$5,%r14
   1089 	xorq	%rax,%r15
   1090 
   1091 	movq	%r12,48(%rsp)
   1092 	xorq	%rcx,%r14
   1093 	andq	%r10,%r15
   1094 
   1095 	rorq	$4,%r13
   1096 	addq	%rbx,%r12
   1097 	xorq	%rax,%r15
   1098 
   1099 	rorq	$6,%r14
   1100 	xorq	%r10,%r13
   1101 	addq	%r15,%r12
   1102 
   1103 	movq	%rcx,%r15
   1104 	addq	(%rbp),%r12
   1105 	xorq	%rcx,%r14
   1106 
   1107 	xorq	%rdx,%r15
   1108 	rorq	$14,%r13
   1109 	movq	%rdx,%rbx
   1110 
   1111 	andq	%r15,%rdi
   1112 	rorq	$28,%r14
   1113 	addq	%r13,%r12
   1114 
   1115 	xorq	%rdi,%rbx
   1116 	addq	%r12,%r9
   1117 	addq	%r12,%rbx
   1118 
   1119 	leaq	8(%rbp),%rbp
   1120 	movq	64(%rsp),%r13
   1121 	movq	40(%rsp),%rdi
   1122 
   1123 	movq	%r13,%r12
   1124 	rorq	$7,%r13
   1125 	addq	%r14,%rbx
   1126 	movq	%rdi,%r14
   1127 	rorq	$42,%rdi
   1128 
   1129 	xorq	%r12,%r13
   1130 	shrq	$7,%r12
   1131 	rorq	$1,%r13
   1132 	xorq	%r14,%rdi
   1133 	shrq	$6,%r14
   1134 
   1135 	rorq	$19,%rdi
   1136 	xorq	%r13,%r12
   1137 	xorq	%r14,%rdi
   1138 	addq	0(%rsp),%r12
   1139 
   1140 	addq	56(%rsp),%r12
   1141 	movq	%r9,%r13
   1142 	addq	%rdi,%r12
   1143 	movq	%rbx,%r14
   1144 	rorq	$23,%r13
   1145 	movq	%r10,%rdi
   1146 
   1147 	xorq	%r9,%r13
   1148 	rorq	$5,%r14
   1149 	xorq	%r11,%rdi
   1150 
   1151 	movq	%r12,56(%rsp)
   1152 	xorq	%rbx,%r14
   1153 	andq	%r9,%rdi
   1154 
   1155 	rorq	$4,%r13
   1156 	addq	%rax,%r12
   1157 	xorq	%r11,%rdi
   1158 
   1159 	rorq	$6,%r14
   1160 	xorq	%r9,%r13
   1161 	addq	%rdi,%r12
   1162 
   1163 	movq	%rbx,%rdi
   1164 	addq	(%rbp),%r12
   1165 	xorq	%rbx,%r14
   1166 
   1167 	xorq	%rcx,%rdi
   1168 	rorq	$14,%r13
   1169 	movq	%rcx,%rax
   1170 
   1171 	andq	%rdi,%r15
   1172 	rorq	$28,%r14
   1173 	addq	%r13,%r12
   1174 
   1175 	xorq	%r15,%rax
   1176 	addq	%r12,%r8
   1177 	addq	%r12,%rax
   1178 
   1179 	leaq	24(%rbp),%rbp
   1180 	movq	72(%rsp),%r13
   1181 	movq	48(%rsp),%r15
   1182 
   1183 	movq	%r13,%r12
   1184 	rorq	$7,%r13
   1185 	addq	%r14,%rax
   1186 	movq	%r15,%r14
   1187 	rorq	$42,%r15
   1188 
   1189 	xorq	%r12,%r13
   1190 	shrq	$7,%r12
   1191 	rorq	$1,%r13
   1192 	xorq	%r14,%r15
   1193 	shrq	$6,%r14
   1194 
   1195 	rorq	$19,%r15
   1196 	xorq	%r13,%r12
   1197 	xorq	%r14,%r15
   1198 	addq	8(%rsp),%r12
   1199 
   1200 	addq	64(%rsp),%r12
   1201 	movq	%r8,%r13
   1202 	addq	%r15,%r12
   1203 	movq	%rax,%r14
   1204 	rorq	$23,%r13
   1205 	movq	%r9,%r15
   1206 
   1207 	xorq	%r8,%r13
   1208 	rorq	$5,%r14
   1209 	xorq	%r10,%r15
   1210 
   1211 	movq	%r12,64(%rsp)
   1212 	xorq	%rax,%r14
   1213 	andq	%r8,%r15
   1214 
   1215 	rorq	$4,%r13
   1216 	addq	%r11,%r12
   1217 	xorq	%r10,%r15
   1218 
   1219 	rorq	$6,%r14
   1220 	xorq	%r8,%r13
   1221 	addq	%r15,%r12
   1222 
   1223 	movq	%rax,%r15
   1224 	addq	(%rbp),%r12
   1225 	xorq	%rax,%r14
   1226 
   1227 	xorq	%rbx,%r15
   1228 	rorq	$14,%r13
   1229 	movq	%rbx,%r11
   1230 
   1231 	andq	%r15,%rdi
   1232 	rorq	$28,%r14
   1233 	addq	%r13,%r12
   1234 
   1235 	xorq	%rdi,%r11
   1236 	addq	%r12,%rdx
   1237 	addq	%r12,%r11
   1238 
   1239 	leaq	8(%rbp),%rbp
   1240 	movq	80(%rsp),%r13
   1241 	movq	56(%rsp),%rdi
   1242 
   1243 	movq	%r13,%r12
   1244 	rorq	$7,%r13
   1245 	addq	%r14,%r11
   1246 	movq	%rdi,%r14
   1247 	rorq	$42,%rdi
   1248 
   1249 	xorq	%r12,%r13
   1250 	shrq	$7,%r12
   1251 	rorq	$1,%r13
   1252 	xorq	%r14,%rdi
   1253 	shrq	$6,%r14
   1254 
   1255 	rorq	$19,%rdi
   1256 	xorq	%r13,%r12
   1257 	xorq	%r14,%rdi
   1258 	addq	16(%rsp),%r12
   1259 
   1260 	addq	72(%rsp),%r12
   1261 	movq	%rdx,%r13
   1262 	addq	%rdi,%r12
   1263 	movq	%r11,%r14
   1264 	rorq	$23,%r13
   1265 	movq	%r8,%rdi
   1266 
   1267 	xorq	%rdx,%r13
   1268 	rorq	$5,%r14
   1269 	xorq	%r9,%rdi
   1270 
   1271 	movq	%r12,72(%rsp)
   1272 	xorq	%r11,%r14
   1273 	andq	%rdx,%rdi
   1274 
   1275 	rorq	$4,%r13
   1276 	addq	%r10,%r12
   1277 	xorq	%r9,%rdi
   1278 
   1279 	rorq	$6,%r14
   1280 	xorq	%rdx,%r13
   1281 	addq	%rdi,%r12
   1282 
   1283 	movq	%r11,%rdi
   1284 	addq	(%rbp),%r12
   1285 	xorq	%r11,%r14
   1286 
   1287 	xorq	%rax,%rdi
   1288 	rorq	$14,%r13
   1289 	movq	%rax,%r10
   1290 
   1291 	andq	%rdi,%r15
   1292 	rorq	$28,%r14
   1293 	addq	%r13,%r12
   1294 
   1295 	xorq	%r15,%r10
   1296 	addq	%r12,%rcx
   1297 	addq	%r12,%r10
   1298 
   1299 	leaq	24(%rbp),%rbp
   1300 	movq	88(%rsp),%r13
   1301 	movq	64(%rsp),%r15
   1302 
   1303 	movq	%r13,%r12
   1304 	rorq	$7,%r13
   1305 	addq	%r14,%r10
   1306 	movq	%r15,%r14
   1307 	rorq	$42,%r15
   1308 
   1309 	xorq	%r12,%r13
   1310 	shrq	$7,%r12
   1311 	rorq	$1,%r13
   1312 	xorq	%r14,%r15
   1313 	shrq	$6,%r14
   1314 
   1315 	rorq	$19,%r15
   1316 	xorq	%r13,%r12
   1317 	xorq	%r14,%r15
   1318 	addq	24(%rsp),%r12
   1319 
   1320 	addq	80(%rsp),%r12
   1321 	movq	%rcx,%r13
   1322 	addq	%r15,%r12
   1323 	movq	%r10,%r14
   1324 	rorq	$23,%r13
   1325 	movq	%rdx,%r15
   1326 
   1327 	xorq	%rcx,%r13
   1328 	rorq	$5,%r14
   1329 	xorq	%r8,%r15
   1330 
   1331 	movq	%r12,80(%rsp)
   1332 	xorq	%r10,%r14
   1333 	andq	%rcx,%r15
   1334 
   1335 	rorq	$4,%r13
   1336 	addq	%r9,%r12
   1337 	xorq	%r8,%r15
   1338 
   1339 	rorq	$6,%r14
   1340 	xorq	%rcx,%r13
   1341 	addq	%r15,%r12
   1342 
   1343 	movq	%r10,%r15
   1344 	addq	(%rbp),%r12
   1345 	xorq	%r10,%r14
   1346 
   1347 	xorq	%r11,%r15
   1348 	rorq	$14,%r13
   1349 	movq	%r11,%r9
   1350 
   1351 	andq	%r15,%rdi
   1352 	rorq	$28,%r14
   1353 	addq	%r13,%r12
   1354 
   1355 	xorq	%rdi,%r9
   1356 	addq	%r12,%rbx
   1357 	addq	%r12,%r9
   1358 
   1359 	leaq	8(%rbp),%rbp
   1360 	movq	96(%rsp),%r13
   1361 	movq	72(%rsp),%rdi
   1362 
   1363 	movq	%r13,%r12
   1364 	rorq	$7,%r13
   1365 	addq	%r14,%r9
   1366 	movq	%rdi,%r14
   1367 	rorq	$42,%rdi
   1368 
   1369 	xorq	%r12,%r13
   1370 	shrq	$7,%r12
   1371 	rorq	$1,%r13
   1372 	xorq	%r14,%rdi
   1373 	shrq	$6,%r14
   1374 
   1375 	rorq	$19,%rdi
   1376 	xorq	%r13,%r12
   1377 	xorq	%r14,%rdi
   1378 	addq	32(%rsp),%r12
   1379 
   1380 	addq	88(%rsp),%r12
   1381 	movq	%rbx,%r13
   1382 	addq	%rdi,%r12
   1383 	movq	%r9,%r14
   1384 	rorq	$23,%r13
   1385 	movq	%rcx,%rdi
   1386 
   1387 	xorq	%rbx,%r13
   1388 	rorq	$5,%r14
   1389 	xorq	%rdx,%rdi
   1390 
   1391 	movq	%r12,88(%rsp)
   1392 	xorq	%r9,%r14
   1393 	andq	%rbx,%rdi
   1394 
   1395 	rorq	$4,%r13
   1396 	addq	%r8,%r12
   1397 	xorq	%rdx,%rdi
   1398 
   1399 	rorq	$6,%r14
   1400 	xorq	%rbx,%r13
   1401 	addq	%rdi,%r12
   1402 
   1403 	movq	%r9,%rdi
   1404 	addq	(%rbp),%r12
   1405 	xorq	%r9,%r14
   1406 
   1407 	xorq	%r10,%rdi
   1408 	rorq	$14,%r13
   1409 	movq	%r10,%r8
   1410 
   1411 	andq	%rdi,%r15
   1412 	rorq	$28,%r14
   1413 	addq	%r13,%r12
   1414 
   1415 	xorq	%r15,%r8
   1416 	addq	%r12,%rax
   1417 	addq	%r12,%r8
   1418 
   1419 	leaq	24(%rbp),%rbp
   1420 	movq	104(%rsp),%r13
   1421 	movq	80(%rsp),%r15
   1422 
   1423 	movq	%r13,%r12
   1424 	rorq	$7,%r13
   1425 	addq	%r14,%r8
   1426 	movq	%r15,%r14
   1427 	rorq	$42,%r15
   1428 
   1429 	xorq	%r12,%r13
   1430 	shrq	$7,%r12
   1431 	rorq	$1,%r13
   1432 	xorq	%r14,%r15
   1433 	shrq	$6,%r14
   1434 
   1435 	rorq	$19,%r15
   1436 	xorq	%r13,%r12
   1437 	xorq	%r14,%r15
   1438 	addq	40(%rsp),%r12
   1439 
   1440 	addq	96(%rsp),%r12
   1441 	movq	%rax,%r13
   1442 	addq	%r15,%r12
   1443 	movq	%r8,%r14
   1444 	rorq	$23,%r13
   1445 	movq	%rbx,%r15
   1446 
   1447 	xorq	%rax,%r13
   1448 	rorq	$5,%r14
   1449 	xorq	%rcx,%r15
   1450 
   1451 	movq	%r12,96(%rsp)
   1452 	xorq	%r8,%r14
   1453 	andq	%rax,%r15
   1454 
   1455 	rorq	$4,%r13
   1456 	addq	%rdx,%r12
   1457 	xorq	%rcx,%r15
   1458 
   1459 	rorq	$6,%r14
   1460 	xorq	%rax,%r13
   1461 	addq	%r15,%r12
   1462 
   1463 	movq	%r8,%r15
   1464 	addq	(%rbp),%r12
   1465 	xorq	%r8,%r14
   1466 
   1467 	xorq	%r9,%r15
   1468 	rorq	$14,%r13
   1469 	movq	%r9,%rdx
   1470 
   1471 	andq	%r15,%rdi
   1472 	rorq	$28,%r14
   1473 	addq	%r13,%r12
   1474 
   1475 	xorq	%rdi,%rdx
   1476 	addq	%r12,%r11
   1477 	addq	%r12,%rdx
   1478 
   1479 	leaq	8(%rbp),%rbp
   1480 	movq	112(%rsp),%r13
   1481 	movq	88(%rsp),%rdi
   1482 
   1483 	movq	%r13,%r12
   1484 	rorq	$7,%r13
   1485 	addq	%r14,%rdx
   1486 	movq	%rdi,%r14
   1487 	rorq	$42,%rdi
   1488 
   1489 	xorq	%r12,%r13
   1490 	shrq	$7,%r12
   1491 	rorq	$1,%r13
   1492 	xorq	%r14,%rdi
   1493 	shrq	$6,%r14
   1494 
   1495 	rorq	$19,%rdi
   1496 	xorq	%r13,%r12
   1497 	xorq	%r14,%rdi
   1498 	addq	48(%rsp),%r12
   1499 
   1500 	addq	104(%rsp),%r12
   1501 	movq	%r11,%r13
   1502 	addq	%rdi,%r12
   1503 	movq	%rdx,%r14
   1504 	rorq	$23,%r13
   1505 	movq	%rax,%rdi
   1506 
   1507 	xorq	%r11,%r13
   1508 	rorq	$5,%r14
   1509 	xorq	%rbx,%rdi
   1510 
   1511 	movq	%r12,104(%rsp)
   1512 	xorq	%rdx,%r14
   1513 	andq	%r11,%rdi
   1514 
   1515 	rorq	$4,%r13
   1516 	addq	%rcx,%r12
   1517 	xorq	%rbx,%rdi
   1518 
   1519 	rorq	$6,%r14
   1520 	xorq	%r11,%r13
   1521 	addq	%rdi,%r12
   1522 
   1523 	movq	%rdx,%rdi
   1524 	addq	(%rbp),%r12
   1525 	xorq	%rdx,%r14
   1526 
   1527 	xorq	%r8,%rdi
   1528 	rorq	$14,%r13
   1529 	movq	%r8,%rcx
   1530 
   1531 	andq	%rdi,%r15
   1532 	rorq	$28,%r14
   1533 	addq	%r13,%r12
   1534 
   1535 	xorq	%r15,%rcx
   1536 	addq	%r12,%r10
   1537 	addq	%r12,%rcx
   1538 
   1539 	leaq	24(%rbp),%rbp
   1540 	movq	120(%rsp),%r13
   1541 	movq	96(%rsp),%r15
   1542 
   1543 	movq	%r13,%r12
   1544 	rorq	$7,%r13
   1545 	addq	%r14,%rcx
   1546 	movq	%r15,%r14
   1547 	rorq	$42,%r15
   1548 
   1549 	xorq	%r12,%r13
   1550 	shrq	$7,%r12
   1551 	rorq	$1,%r13
   1552 	xorq	%r14,%r15
   1553 	shrq	$6,%r14
   1554 
   1555 	rorq	$19,%r15
   1556 	xorq	%r13,%r12
   1557 	xorq	%r14,%r15
   1558 	addq	56(%rsp),%r12
   1559 
   1560 	addq	112(%rsp),%r12
   1561 	movq	%r10,%r13
   1562 	addq	%r15,%r12
   1563 	movq	%rcx,%r14
   1564 	rorq	$23,%r13
   1565 	movq	%r11,%r15
   1566 
   1567 	xorq	%r10,%r13
   1568 	rorq	$5,%r14
   1569 	xorq	%rax,%r15
   1570 
   1571 	movq	%r12,112(%rsp)
   1572 	xorq	%rcx,%r14
   1573 	andq	%r10,%r15
   1574 
   1575 	rorq	$4,%r13
   1576 	addq	%rbx,%r12
   1577 	xorq	%rax,%r15
   1578 
   1579 	rorq	$6,%r14
   1580 	xorq	%r10,%r13
   1581 	addq	%r15,%r12
   1582 
   1583 	movq	%rcx,%r15
   1584 	addq	(%rbp),%r12
   1585 	xorq	%rcx,%r14
   1586 
   1587 	xorq	%rdx,%r15
   1588 	rorq	$14,%r13
   1589 	movq	%rdx,%rbx
   1590 
   1591 	andq	%r15,%rdi
   1592 	rorq	$28,%r14
   1593 	addq	%r13,%r12
   1594 
   1595 	xorq	%rdi,%rbx
   1596 	addq	%r12,%r9
   1597 	addq	%r12,%rbx
   1598 
   1599 	leaq	8(%rbp),%rbp
   1600 	movq	0(%rsp),%r13
   1601 	movq	104(%rsp),%rdi
   1602 
   1603 	movq	%r13,%r12
   1604 	rorq	$7,%r13
   1605 	addq	%r14,%rbx
   1606 	movq	%rdi,%r14
   1607 	rorq	$42,%rdi
   1608 
   1609 	xorq	%r12,%r13
   1610 	shrq	$7,%r12
   1611 	rorq	$1,%r13
   1612 	xorq	%r14,%rdi
   1613 	shrq	$6,%r14
   1614 
   1615 	rorq	$19,%rdi
   1616 	xorq	%r13,%r12
   1617 	xorq	%r14,%rdi
   1618 	addq	64(%rsp),%r12
   1619 
   1620 	addq	120(%rsp),%r12
   1621 	movq	%r9,%r13
   1622 	addq	%rdi,%r12
   1623 	movq	%rbx,%r14
   1624 	rorq	$23,%r13
   1625 	movq	%r10,%rdi
   1626 
   1627 	xorq	%r9,%r13
   1628 	rorq	$5,%r14
   1629 	xorq	%r11,%rdi
   1630 
   1631 	movq	%r12,120(%rsp)
   1632 	xorq	%rbx,%r14
   1633 	andq	%r9,%rdi
   1634 
   1635 	rorq	$4,%r13
   1636 	addq	%rax,%r12
   1637 	xorq	%r11,%rdi
   1638 
   1639 	rorq	$6,%r14
   1640 	xorq	%r9,%r13
   1641 	addq	%rdi,%r12
   1642 
   1643 	movq	%rbx,%rdi
   1644 	addq	(%rbp),%r12
   1645 	xorq	%rbx,%r14
   1646 
   1647 	xorq	%rcx,%rdi
   1648 	rorq	$14,%r13
   1649 	movq	%rcx,%rax
   1650 
   1651 	andq	%rdi,%r15
   1652 	rorq	$28,%r14
   1653 	addq	%r13,%r12
   1654 
   1655 	xorq	%r15,%rax
   1656 	addq	%r12,%r8
   1657 	addq	%r12,%rax
   1658 
   1659 	leaq	24(%rbp),%rbp
   1660 	cmpb	$0,7(%rbp)
   1661 	jnz	.Lrounds_16_xx
   1662 
   1663 	movq	128+0(%rsp),%rdi
   1664 	addq	%r14,%rax
   1665 	leaq	128(%rsi),%rsi
   1666 
   1667 	addq	0(%rdi),%rax
   1668 	addq	8(%rdi),%rbx
   1669 	addq	16(%rdi),%rcx
   1670 	addq	24(%rdi),%rdx
   1671 	addq	32(%rdi),%r8
   1672 	addq	40(%rdi),%r9
   1673 	addq	48(%rdi),%r10
   1674 	addq	56(%rdi),%r11
   1675 
   1676 	cmpq	128+16(%rsp),%rsi
   1677 
   1678 	movq	%rax,0(%rdi)
   1679 	movq	%rbx,8(%rdi)
   1680 	movq	%rcx,16(%rdi)
   1681 	movq	%rdx,24(%rdi)
   1682 	movq	%r8,32(%rdi)
   1683 	movq	%r9,40(%rdi)
   1684 	movq	%r10,48(%rdi)
   1685 	movq	%r11,56(%rdi)
   1686 	jb	.Lloop
   1687 
   1688 	movq	128+24(%rsp),%rsi
   1689 	movq	(%rsi),%r15
   1690 	movq	8(%rsi),%r14
   1691 	movq	16(%rsi),%r13
   1692 	movq	24(%rsi),%r12
   1693 	movq	32(%rsi),%rbp
   1694 	movq	40(%rsi),%rbx
   1695 	leaq	48(%rsi),%rsp
   1696 .Lepilogue:
   1697 	.byte	0xf3,0xc3
   1698 .size	sha512_block_data_order,.-sha512_block_data_order
   1699 .align	64
   1700 .type	K512,@object
   1701 K512:
   1702 .quad	0x428a2f98d728ae22,0x7137449123ef65cd
   1703 .quad	0x428a2f98d728ae22,0x7137449123ef65cd
   1704 .quad	0xb5c0fbcfec4d3b2f,0xe9b5dba58189dbbc
   1705 .quad	0xb5c0fbcfec4d3b2f,0xe9b5dba58189dbbc
   1706 .quad	0x3956c25bf348b538,0x59f111f1b605d019
   1707 .quad	0x3956c25bf348b538,0x59f111f1b605d019
   1708 .quad	0x923f82a4af194f9b,0xab1c5ed5da6d8118
   1709 .quad	0x923f82a4af194f9b,0xab1c5ed5da6d8118
   1710 .quad	0xd807aa98a3030242,0x12835b0145706fbe
   1711 .quad	0xd807aa98a3030242,0x12835b0145706fbe
   1712 .quad	0x243185be4ee4b28c,0x550c7dc3d5ffb4e2
   1713 .quad	0x243185be4ee4b28c,0x550c7dc3d5ffb4e2
   1714 .quad	0x72be5d74f27b896f,0x80deb1fe3b1696b1
   1715 .quad	0x72be5d74f27b896f,0x80deb1fe3b1696b1
   1716 .quad	0x9bdc06a725c71235,0xc19bf174cf692694
   1717 .quad	0x9bdc06a725c71235,0xc19bf174cf692694
   1718 .quad	0xe49b69c19ef14ad2,0xefbe4786384f25e3
   1719 .quad	0xe49b69c19ef14ad2,0xefbe4786384f25e3
   1720 .quad	0x0fc19dc68b8cd5b5,0x240ca1cc77ac9c65
   1721 .quad	0x0fc19dc68b8cd5b5,0x240ca1cc77ac9c65
   1722 .quad	0x2de92c6f592b0275,0x4a7484aa6ea6e483
   1723 .quad	0x2de92c6f592b0275,0x4a7484aa6ea6e483
   1724 .quad	0x5cb0a9dcbd41fbd4,0x76f988da831153b5
   1725 .quad	0x5cb0a9dcbd41fbd4,0x76f988da831153b5
   1726 .quad	0x983e5152ee66dfab,0xa831c66d2db43210
   1727 .quad	0x983e5152ee66dfab,0xa831c66d2db43210
   1728 .quad	0xb00327c898fb213f,0xbf597fc7beef0ee4
   1729 .quad	0xb00327c898fb213f,0xbf597fc7beef0ee4
   1730 .quad	0xc6e00bf33da88fc2,0xd5a79147930aa725
   1731 .quad	0xc6e00bf33da88fc2,0xd5a79147930aa725
   1732 .quad	0x06ca6351e003826f,0x142929670a0e6e70
   1733 .quad	0x06ca6351e003826f,0x142929670a0e6e70
   1734 .quad	0x27b70a8546d22ffc,0x2e1b21385c26c926
   1735 .quad	0x27b70a8546d22ffc,0x2e1b21385c26c926
   1736 .quad	0x4d2c6dfc5ac42aed,0x53380d139d95b3df
   1737 .quad	0x4d2c6dfc5ac42aed,0x53380d139d95b3df
   1738 .quad	0x650a73548baf63de,0x766a0abb3c77b2a8
   1739 .quad	0x650a73548baf63de,0x766a0abb3c77b2a8
   1740 .quad	0x81c2c92e47edaee6,0x92722c851482353b
   1741 .quad	0x81c2c92e47edaee6,0x92722c851482353b
   1742 .quad	0xa2bfe8a14cf10364,0xa81a664bbc423001
   1743 .quad	0xa2bfe8a14cf10364,0xa81a664bbc423001
   1744 .quad	0xc24b8b70d0f89791,0xc76c51a30654be30
   1745 .quad	0xc24b8b70d0f89791,0xc76c51a30654be30
   1746 .quad	0xd192e819d6ef5218,0xd69906245565a910
   1747 .quad	0xd192e819d6ef5218,0xd69906245565a910
   1748 .quad	0xf40e35855771202a,0x106aa07032bbd1b8
   1749 .quad	0xf40e35855771202a,0x106aa07032bbd1b8
   1750 .quad	0x19a4c116b8d2d0c8,0x1e376c085141ab53
   1751 .quad	0x19a4c116b8d2d0c8,0x1e376c085141ab53
   1752 .quad	0x2748774cdf8eeb99,0x34b0bcb5e19b48a8
   1753 .quad	0x2748774cdf8eeb99,0x34b0bcb5e19b48a8
   1754 .quad	0x391c0cb3c5c95a63,0x4ed8aa4ae3418acb
   1755 .quad	0x391c0cb3c5c95a63,0x4ed8aa4ae3418acb
   1756 .quad	0x5b9cca4f7763e373,0x682e6ff3d6b2b8a3
   1757 .quad	0x5b9cca4f7763e373,0x682e6ff3d6b2b8a3
   1758 .quad	0x748f82ee5defb2fc,0x78a5636f43172f60
   1759 .quad	0x748f82ee5defb2fc,0x78a5636f43172f60
   1760 .quad	0x84c87814a1f0ab72,0x8cc702081a6439ec
   1761 .quad	0x84c87814a1f0ab72,0x8cc702081a6439ec
   1762 .quad	0x90befffa23631e28,0xa4506cebde82bde9
   1763 .quad	0x90befffa23631e28,0xa4506cebde82bde9
   1764 .quad	0xbef9a3f7b2c67915,0xc67178f2e372532b
   1765 .quad	0xbef9a3f7b2c67915,0xc67178f2e372532b
   1766 .quad	0xca273eceea26619c,0xd186b8c721c0c207
   1767 .quad	0xca273eceea26619c,0xd186b8c721c0c207
   1768 .quad	0xeada7dd6cde0eb1e,0xf57d4f7fee6ed178
   1769 .quad	0xeada7dd6cde0eb1e,0xf57d4f7fee6ed178
   1770 .quad	0x06f067aa72176fba,0x0a637dc5a2c898a6
   1771 .quad	0x06f067aa72176fba,0x0a637dc5a2c898a6
   1772 .quad	0x113f9804bef90dae,0x1b710b35131c471b
   1773 .quad	0x113f9804bef90dae,0x1b710b35131c471b
   1774 .quad	0x28db77f523047d84,0x32caab7b40c72493
   1775 .quad	0x28db77f523047d84,0x32caab7b40c72493
   1776 .quad	0x3c9ebe0a15c9bebc,0x431d67c49c100d4c
   1777 .quad	0x3c9ebe0a15c9bebc,0x431d67c49c100d4c
   1778 .quad	0x4cc5d4becb3e42b6,0x597f299cfc657e2a
   1779 .quad	0x4cc5d4becb3e42b6,0x597f299cfc657e2a
   1780 .quad	0x5fcb6fab3ad6faec,0x6c44198c4a475817
   1781 .quad	0x5fcb6fab3ad6faec,0x6c44198c4a475817
   1782 
   1783 .quad	0x0001020304050607,0x08090a0b0c0d0e0f
   1784 .quad	0x0001020304050607,0x08090a0b0c0d0e0f
   1785 .byte	83,72,65,53,49,50,32,98,108,111,99,107,32,116,114,97,110,115,102,111,114,109,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
   1786 #endif
   1787