1 # $FreeBSD$ 2.text 3.type _x86_64_AES_encrypt,@function 4.align 16 5_x86_64_AES_encrypt: 6 xorl 0(%r15),%eax 7 xorl 4(%r15),%ebx 8 xorl 8(%r15),%ecx 9 xorl 12(%r15),%edx 10 11 movl 240(%r15),%r13d 12 subl $1,%r13d 13 jmp .Lenc_loop 14.align 16 15.Lenc_loop: 16 17 movzbl %al,%esi 18 movzbl %bl,%edi 19 movzbl %cl,%ebp 20 movl 0(%r14,%rsi,8),%r10d 21 movl 0(%r14,%rdi,8),%r11d 22 movl 0(%r14,%rbp,8),%r12d 23 24 movzbl %bh,%esi 25 movzbl %ch,%edi 26 movzbl %dl,%ebp 27 xorl 3(%r14,%rsi,8),%r10d 28 xorl 3(%r14,%rdi,8),%r11d 29 movl 0(%r14,%rbp,8),%r8d 30 31 movzbl %dh,%esi 32 shrl $16,%ecx 33 movzbl %ah,%ebp 34 xorl 3(%r14,%rsi,8),%r12d 35 shrl $16,%edx 36 xorl 3(%r14,%rbp,8),%r8d 37 38 shrl $16,%ebx 39 leaq 16(%r15),%r15 40 shrl $16,%eax 41 42 movzbl %cl,%esi 43 movzbl %dl,%edi 44 movzbl %al,%ebp 45 xorl 2(%r14,%rsi,8),%r10d 46 xorl 2(%r14,%rdi,8),%r11d 47 xorl 2(%r14,%rbp,8),%r12d 48 49 movzbl %dh,%esi 50 movzbl %ah,%edi 51 movzbl %bl,%ebp 52 xorl 1(%r14,%rsi,8),%r10d 53 xorl 1(%r14,%rdi,8),%r11d 54 xorl 2(%r14,%rbp,8),%r8d 55 56 movl 12(%r15),%edx 57 movzbl %bh,%edi 58 movzbl %ch,%ebp 59 movl 0(%r15),%eax 60 xorl 1(%r14,%rdi,8),%r12d 61 xorl 1(%r14,%rbp,8),%r8d 62 63 movl 4(%r15),%ebx 64 movl 8(%r15),%ecx 65 xorl %r10d,%eax 66 xorl %r11d,%ebx 67 xorl %r12d,%ecx 68 xorl %r8d,%edx 69 subl $1,%r13d 70 jnz .Lenc_loop 71 movzbl %al,%esi 72 movzbl %bl,%edi 73 movzbl %cl,%ebp 74 movzbl 2(%r14,%rsi,8),%r10d 75 movzbl 2(%r14,%rdi,8),%r11d 76 movzbl 2(%r14,%rbp,8),%r12d 77 78 movzbl %dl,%esi 79 movzbl %bh,%edi 80 movzbl %ch,%ebp 81 movzbl 2(%r14,%rsi,8),%r8d 82 movl 0(%r14,%rdi,8),%edi 83 movl 0(%r14,%rbp,8),%ebp 84 85 andl $65280,%edi 86 andl $65280,%ebp 87 88 xorl %edi,%r10d 89 xorl %ebp,%r11d 90 shrl $16,%ecx 91 92 movzbl %dh,%esi 93 movzbl %ah,%edi 94 shrl $16,%edx 95 movl 0(%r14,%rsi,8),%esi 96 movl 0(%r14,%rdi,8),%edi 97 98 andl $65280,%esi 99 andl $65280,%edi 100 shrl $16,%ebx 101 xorl %esi,%r12d 102 xorl %edi,%r8d 103 shrl $16,%eax 104 105 movzbl %cl,%esi 106 movzbl %dl,%edi 107 movzbl %al,%ebp 108 movl 0(%r14,%rsi,8),%esi 109 movl 0(%r14,%rdi,8),%edi 110 movl 0(%r14,%rbp,8),%ebp 111 112 andl $16711680,%esi 113 andl $16711680,%edi 114 andl $16711680,%ebp 115 116 xorl %esi,%r10d 117 xorl %edi,%r11d 118 xorl %ebp,%r12d 119 120 movzbl %bl,%esi 121 movzbl %dh,%edi 122 movzbl %ah,%ebp 123 movl 0(%r14,%rsi,8),%esi 124 movl 2(%r14,%rdi,8),%edi 125 movl 2(%r14,%rbp,8),%ebp 126 127 andl $16711680,%esi 128 andl $4278190080,%edi 129 andl $4278190080,%ebp 130 131 xorl %esi,%r8d 132 xorl %edi,%r10d 133 xorl %ebp,%r11d 134 135 movzbl %bh,%esi 136 movzbl %ch,%edi 137 movl 16+12(%r15),%edx 138 movl 2(%r14,%rsi,8),%esi 139 movl 2(%r14,%rdi,8),%edi 140 movl 16+0(%r15),%eax 141 142 andl $4278190080,%esi 143 andl $4278190080,%edi 144 145 xorl %esi,%r12d 146 xorl %edi,%r8d 147 148 movl 16+4(%r15),%ebx 149 movl 16+8(%r15),%ecx 150 xorl %r10d,%eax 151 xorl %r11d,%ebx 152 xorl %r12d,%ecx 153 xorl %r8d,%edx 154.byte 0xf3,0xc3 155.size _x86_64_AES_encrypt,.-_x86_64_AES_encrypt 156.type _x86_64_AES_encrypt_compact,@function 157.align 16 158_x86_64_AES_encrypt_compact: 159 leaq 128(%r14),%r8 160 movl 0-128(%r8),%edi 161 movl 32-128(%r8),%ebp 162 movl 64-128(%r8),%r10d 163 movl 96-128(%r8),%r11d 164 movl 128-128(%r8),%edi 165 movl 160-128(%r8),%ebp 166 movl 192-128(%r8),%r10d 167 movl 224-128(%r8),%r11d 168 jmp .Lenc_loop_compact 169.align 16 170.Lenc_loop_compact: 171 xorl 0(%r15),%eax 172 xorl 4(%r15),%ebx 173 xorl 8(%r15),%ecx 174 xorl 12(%r15),%edx 175 leaq 16(%r15),%r15 176 movzbl %al,%r10d 177 movzbl %bl,%r11d 178 movzbl %cl,%r12d 179 movzbl (%r14,%r10,1),%r10d 180 movzbl (%r14,%r11,1),%r11d 181 movzbl (%r14,%r12,1),%r12d 182 183 movzbl %dl,%r8d 184 movzbl %bh,%esi 185 movzbl %ch,%edi 186 movzbl (%r14,%r8,1),%r8d 187 movzbl (%r14,%rsi,1),%r9d 188 movzbl (%r14,%rdi,1),%r13d 189 190 movzbl %dh,%ebp 191 movzbl %ah,%esi 192 shrl $16,%ecx 193 movzbl (%r14,%rbp,1),%ebp 194 movzbl (%r14,%rsi,1),%esi 195 shrl $16,%edx 196 197 movzbl %cl,%edi 198 shll $8,%r9d 199 shll $8,%r13d 200 movzbl (%r14,%rdi,1),%edi 201 xorl %r9d,%r10d 202 xorl %r13d,%r11d 203 204 movzbl %dl,%r9d 205 shrl $16,%eax 206 shrl $16,%ebx 207 movzbl %al,%r13d 208 shll $8,%ebp 209 shll $8,%esi 210 movzbl (%r14,%r9,1),%r9d 211 movzbl (%r14,%r13,1),%r13d 212 xorl %ebp,%r12d 213 xorl %esi,%r8d 214 215 movzbl %bl,%ebp 216 movzbl %dh,%esi 217 shll $16,%edi 218 movzbl (%r14,%rbp,1),%ebp 219 movzbl (%r14,%rsi,1),%esi 220 xorl %edi,%r10d 221 222 movzbl %ah,%edi 223 shrl $8,%ecx 224 shrl $8,%ebx 225 movzbl (%r14,%rdi,1),%edi 226 movzbl (%r14,%rcx,1),%edx 227 movzbl (%r14,%rbx,1),%ecx 228 shll $16,%r9d 229 shll $16,%r13d 230 shll $16,%ebp 231 xorl %r9d,%r11d 232 xorl %r13d,%r12d 233 xorl %ebp,%r8d 234 235 shll $24,%esi 236 shll $24,%edi 237 shll $24,%edx 238 xorl %esi,%r10d 239 shll $24,%ecx 240 xorl %edi,%r11d 241 movl %r10d,%eax 242 movl %r11d,%ebx 243 xorl %r12d,%ecx 244 xorl %r8d,%edx 245 cmpq 16(%rsp),%r15 246 je .Lenc_compact_done 247 movl %eax,%esi 248 movl %ebx,%edi 249 andl $2155905152,%esi 250 andl $2155905152,%edi 251 movl %esi,%r10d 252 movl %edi,%r11d 253 shrl $7,%r10d 254 leal (%rax,%rax,1),%r8d 255 shrl $7,%r11d 256 leal (%rbx,%rbx,1),%r9d 257 subl %r10d,%esi 258 subl %r11d,%edi 259 andl $4278124286,%r8d 260 andl $4278124286,%r9d 261 andl $454761243,%esi 262 andl $454761243,%edi 263 movl %eax,%r10d 264 movl %ebx,%r11d 265 xorl %esi,%r8d 266 xorl %edi,%r9d 267 268 xorl %r8d,%eax 269 xorl %r9d,%ebx 270 movl %ecx,%esi 271 movl %edx,%edi 272 roll $24,%eax 273 roll $24,%ebx 274 andl $2155905152,%esi 275 andl $2155905152,%edi 276 xorl %r8d,%eax 277 xorl %r9d,%ebx 278 movl %esi,%r12d 279 movl %edi,%ebp 280 rorl $16,%r10d 281 rorl $16,%r11d 282 shrl $7,%r12d 283 leal (%rcx,%rcx,1),%r8d 284 xorl %r10d,%eax 285 xorl %r11d,%ebx 286 shrl $7,%ebp 287 leal (%rdx,%rdx,1),%r9d 288 rorl $8,%r10d 289 rorl $8,%r11d 290 subl %r12d,%esi 291 subl %ebp,%edi 292 xorl %r10d,%eax 293 xorl %r11d,%ebx 294 295 andl $4278124286,%r8d 296 andl $4278124286,%r9d 297 andl $454761243,%esi 298 andl $454761243,%edi 299 movl %ecx,%r12d 300 movl %edx,%ebp 301 xorl %esi,%r8d 302 xorl %edi,%r9d 303 304 xorl %r8d,%ecx 305 xorl %r9d,%edx 306 roll $24,%ecx 307 roll $24,%edx 308 xorl %r8d,%ecx 309 xorl %r9d,%edx 310 movl 0(%r14),%esi 311 rorl $16,%r12d 312 rorl $16,%ebp 313 movl 64(%r14),%edi 314 xorl %r12d,%ecx 315 xorl %ebp,%edx 316 movl 128(%r14),%r8d 317 rorl $8,%r12d 318 rorl $8,%ebp 319 movl 192(%r14),%r9d 320 xorl %r12d,%ecx 321 xorl %ebp,%edx 322 jmp .Lenc_loop_compact 323.align 16 324.Lenc_compact_done: 325 xorl 0(%r15),%eax 326 xorl 4(%r15),%ebx 327 xorl 8(%r15),%ecx 328 xorl 12(%r15),%edx 329.byte 0xf3,0xc3 330.size _x86_64_AES_encrypt_compact,.-_x86_64_AES_encrypt_compact 331.globl AES_encrypt 332.type AES_encrypt,@function 333.align 16 334.globl asm_AES_encrypt 335.hidden asm_AES_encrypt 336asm_AES_encrypt: 337AES_encrypt: 338 pushq %rbx 339 pushq %rbp 340 pushq %r12 341 pushq %r13 342 pushq %r14 343 pushq %r15 344 345 346 movq %rsp,%r10 347 leaq -63(%rdx),%rcx 348 andq $-64,%rsp 349 subq %rsp,%rcx 350 negq %rcx 351 andq $960,%rcx 352 subq %rcx,%rsp 353 subq $32,%rsp 354 355 movq %rsi,16(%rsp) 356 movq %r10,24(%rsp) 357.Lenc_prologue: 358 359 movq %rdx,%r15 360 movl 240(%r15),%r13d 361 362 movl 0(%rdi),%eax 363 movl 4(%rdi),%ebx 364 movl 8(%rdi),%ecx 365 movl 12(%rdi),%edx 366 367 shll $4,%r13d 368 leaq (%r15,%r13,1),%rbp 369 movq %r15,(%rsp) 370 movq %rbp,8(%rsp) 371 372 373 leaq .LAES_Te+2048(%rip),%r14 374 leaq 768(%rsp),%rbp 375 subq %r14,%rbp 376 andq $768,%rbp 377 leaq (%r14,%rbp,1),%r14 378 379 call _x86_64_AES_encrypt_compact 380 381 movq 16(%rsp),%r9 382 movq 24(%rsp),%rsi 383 movl %eax,0(%r9) 384 movl %ebx,4(%r9) 385 movl %ecx,8(%r9) 386 movl %edx,12(%r9) 387 388 movq (%rsi),%r15 389 movq 8(%rsi),%r14 390 movq 16(%rsi),%r13 391 movq 24(%rsi),%r12 392 movq 32(%rsi),%rbp 393 movq 40(%rsi),%rbx 394 leaq 48(%rsi),%rsp 395.Lenc_epilogue: 396 .byte 0xf3,0xc3 397.size AES_encrypt,.-AES_encrypt 398.type _x86_64_AES_decrypt,@function 399.align 16 400_x86_64_AES_decrypt: 401 xorl 0(%r15),%eax 402 xorl 4(%r15),%ebx 403 xorl 8(%r15),%ecx 404 xorl 12(%r15),%edx 405 406 movl 240(%r15),%r13d 407 subl $1,%r13d 408 jmp .Ldec_loop 409.align 16 410.Ldec_loop: 411 412 movzbl %al,%esi 413 movzbl %bl,%edi 414 movzbl %cl,%ebp 415 movl 0(%r14,%rsi,8),%r10d 416 movl 0(%r14,%rdi,8),%r11d 417 movl 0(%r14,%rbp,8),%r12d 418 419 movzbl %dh,%esi 420 movzbl %ah,%edi 421 movzbl %dl,%ebp 422 xorl 3(%r14,%rsi,8),%r10d 423 xorl 3(%r14,%rdi,8),%r11d 424 movl 0(%r14,%rbp,8),%r8d 425 426 movzbl %bh,%esi 427 shrl $16,%eax 428 movzbl %ch,%ebp 429 xorl 3(%r14,%rsi,8),%r12d 430 shrl $16,%edx 431 xorl 3(%r14,%rbp,8),%r8d 432 433 shrl $16,%ebx 434 leaq 16(%r15),%r15 435 shrl $16,%ecx 436 437 movzbl %cl,%esi 438 movzbl %dl,%edi 439 movzbl %al,%ebp 440 xorl 2(%r14,%rsi,8),%r10d 441 xorl 2(%r14,%rdi,8),%r11d 442 xorl 2(%r14,%rbp,8),%r12d 443 444 movzbl %bh,%esi 445 movzbl %ch,%edi 446 movzbl %bl,%ebp 447 xorl 1(%r14,%rsi,8),%r10d 448 xorl 1(%r14,%rdi,8),%r11d 449 xorl 2(%r14,%rbp,8),%r8d 450 451 movzbl %dh,%esi 452 movl 12(%r15),%edx 453 movzbl %ah,%ebp 454 xorl 1(%r14,%rsi,8),%r12d 455 movl 0(%r15),%eax 456 xorl 1(%r14,%rbp,8),%r8d 457 458 xorl %r10d,%eax 459 movl 4(%r15),%ebx 460 movl 8(%r15),%ecx 461 xorl %r12d,%ecx 462 xorl %r11d,%ebx 463 xorl %r8d,%edx 464 subl $1,%r13d 465 jnz .Ldec_loop 466 leaq 2048(%r14),%r14 467 movzbl %al,%esi 468 movzbl %bl,%edi 469 movzbl %cl,%ebp 470 movzbl (%r14,%rsi,1),%r10d 471 movzbl (%r14,%rdi,1),%r11d 472 movzbl (%r14,%rbp,1),%r12d 473 474 movzbl %dl,%esi 475 movzbl %dh,%edi 476 movzbl %ah,%ebp 477 movzbl (%r14,%rsi,1),%r8d 478 movzbl (%r14,%rdi,1),%edi 479 movzbl (%r14,%rbp,1),%ebp 480 481 shll $8,%edi 482 shll $8,%ebp 483 484 xorl %edi,%r10d 485 xorl %ebp,%r11d 486 shrl $16,%edx 487 488 movzbl %bh,%esi 489 movzbl %ch,%edi 490 shrl $16,%eax 491 movzbl (%r14,%rsi,1),%esi 492 movzbl (%r14,%rdi,1),%edi 493 494 shll $8,%esi 495 shll $8,%edi 496 shrl $16,%ebx 497 xorl %esi,%r12d 498 xorl %edi,%r8d 499 shrl $16,%ecx 500 501 movzbl %cl,%esi 502 movzbl %dl,%edi 503 movzbl %al,%ebp 504 movzbl (%r14,%rsi,1),%esi 505 movzbl (%r14,%rdi,1),%edi 506 movzbl (%r14,%rbp,1),%ebp 507 508 shll $16,%esi 509 shll $16,%edi 510 shll $16,%ebp 511 512 xorl %esi,%r10d 513 xorl %edi,%r11d 514 xorl %ebp,%r12d 515 516 movzbl %bl,%esi 517 movzbl %bh,%edi 518 movzbl %ch,%ebp 519 movzbl (%r14,%rsi,1),%esi 520 movzbl (%r14,%rdi,1),%edi 521 movzbl (%r14,%rbp,1),%ebp 522 523 shll $16,%esi 524 shll $24,%edi 525 shll $24,%ebp 526 527 xorl %esi,%r8d 528 xorl %edi,%r10d 529 xorl %ebp,%r11d 530 531 movzbl %dh,%esi 532 movzbl %ah,%edi 533 movl 16+12(%r15),%edx 534 movzbl (%r14,%rsi,1),%esi 535 movzbl (%r14,%rdi,1),%edi 536 movl 16+0(%r15),%eax 537 538 shll $24,%esi 539 shll $24,%edi 540 541 xorl %esi,%r12d 542 xorl %edi,%r8d 543 544 movl 16+4(%r15),%ebx 545 movl 16+8(%r15),%ecx 546 leaq -2048(%r14),%r14 547 xorl %r10d,%eax 548 xorl %r11d,%ebx 549 xorl %r12d,%ecx 550 xorl %r8d,%edx 551.byte 0xf3,0xc3 552.size _x86_64_AES_decrypt,.-_x86_64_AES_decrypt 553.type _x86_64_AES_decrypt_compact,@function 554.align 16 555_x86_64_AES_decrypt_compact: 556 leaq 128(%r14),%r8 557 movl 0-128(%r8),%edi 558 movl 32-128(%r8),%ebp 559 movl 64-128(%r8),%r10d 560 movl 96-128(%r8),%r11d 561 movl 128-128(%r8),%edi 562 movl 160-128(%r8),%ebp 563 movl 192-128(%r8),%r10d 564 movl 224-128(%r8),%r11d 565 jmp .Ldec_loop_compact 566 567.align 16 568.Ldec_loop_compact: 569 xorl 0(%r15),%eax 570 xorl 4(%r15),%ebx 571 xorl 8(%r15),%ecx 572 xorl 12(%r15),%edx 573 leaq 16(%r15),%r15 574 movzbl %al,%r10d 575 movzbl %bl,%r11d 576 movzbl %cl,%r12d 577 movzbl (%r14,%r10,1),%r10d 578 movzbl (%r14,%r11,1),%r11d 579 movzbl (%r14,%r12,1),%r12d 580 581 movzbl %dl,%r8d 582 movzbl %dh,%esi 583 movzbl %ah,%edi 584 movzbl (%r14,%r8,1),%r8d 585 movzbl (%r14,%rsi,1),%r9d 586 movzbl (%r14,%rdi,1),%r13d 587 588 movzbl %bh,%ebp 589 movzbl %ch,%esi 590 shrl $16,%ecx 591 movzbl (%r14,%rbp,1),%ebp 592 movzbl (%r14,%rsi,1),%esi 593 shrl $16,%edx 594 595 movzbl %cl,%edi 596 shll $8,%r9d 597 shll $8,%r13d 598 movzbl (%r14,%rdi,1),%edi 599 xorl %r9d,%r10d 600 xorl %r13d,%r11d 601 602 movzbl %dl,%r9d 603 shrl $16,%eax 604 shrl $16,%ebx 605 movzbl %al,%r13d 606 shll $8,%ebp 607 shll $8,%esi 608 movzbl (%r14,%r9,1),%r9d 609 movzbl (%r14,%r13,1),%r13d 610 xorl %ebp,%r12d 611 xorl %esi,%r8d 612 613 movzbl %bl,%ebp 614 movzbl %bh,%esi 615 shll $16,%edi 616 movzbl (%r14,%rbp,1),%ebp 617 movzbl (%r14,%rsi,1),%esi 618 xorl %edi,%r10d 619 620 movzbl %ch,%edi 621 shll $16,%r9d 622 shll $16,%r13d 623 movzbl (%r14,%rdi,1),%ebx 624 xorl %r9d,%r11d 625 xorl %r13d,%r12d 626 627 movzbl %dh,%edi 628 shrl $8,%eax 629 shll $16,%ebp 630 movzbl (%r14,%rdi,1),%ecx 631 movzbl (%r14,%rax,1),%edx 632 xorl %ebp,%r8d 633 634 shll $24,%esi 635 shll $24,%ebx 636 shll $24,%ecx 637 xorl %esi,%r10d 638 shll $24,%edx 639 xorl %r11d,%ebx 640 movl %r10d,%eax 641 xorl %r12d,%ecx 642 xorl %r8d,%edx 643 cmpq 16(%rsp),%r15 644 je .Ldec_compact_done 645 646 movq 256+0(%r14),%rsi 647 shlq $32,%rbx 648 shlq $32,%rdx 649 movq 256+8(%r14),%rdi 650 orq %rbx,%rax 651 orq %rdx,%rcx 652 movq 256+16(%r14),%rbp 653 movq %rax,%rbx 654 movq %rcx,%rdx 655 andq %rsi,%rbx 656 andq %rsi,%rdx 657 movq %rbx,%r9 658 movq %rdx,%r12 659 shrq $7,%r9 660 leaq (%rax,%rax,1),%r8 661 shrq $7,%r12 662 leaq (%rcx,%rcx,1),%r11 663 subq %r9,%rbx 664 subq %r12,%rdx 665 andq %rdi,%r8 666 andq %rdi,%r11 667 andq %rbp,%rbx 668 andq %rbp,%rdx 669 xorq %r8,%rbx 670 xorq %r11,%rdx 671 movq %rbx,%r8 672 movq %rdx,%r11 673 674 andq %rsi,%rbx 675 andq %rsi,%rdx 676 movq %rbx,%r10 677 movq %rdx,%r13 678 shrq $7,%r10 679 leaq (%r8,%r8,1),%r9 680 shrq $7,%r13 681 leaq (%r11,%r11,1),%r12 682 subq %r10,%rbx 683 subq %r13,%rdx 684 andq %rdi,%r9 685 andq %rdi,%r12 686 andq %rbp,%rbx 687 andq %rbp,%rdx 688 xorq %r9,%rbx 689 xorq %r12,%rdx 690 movq %rbx,%r9 691 movq %rdx,%r12 692 693 andq %rsi,%rbx 694 andq %rsi,%rdx 695 movq %rbx,%r10 696 movq %rdx,%r13 697 shrq $7,%r10 698 xorq %rax,%r8 699 shrq $7,%r13 700 xorq %rcx,%r11 701 subq %r10,%rbx 702 subq %r13,%rdx 703 leaq (%r9,%r9,1),%r10 704 leaq (%r12,%r12,1),%r13 705 xorq %rax,%r9 706 xorq %rcx,%r12 707 andq %rdi,%r10 708 andq %rdi,%r13 709 andq %rbp,%rbx 710 andq %rbp,%rdx 711 xorq %rbx,%r10 712 xorq %rdx,%r13 713 714 xorq %r10,%rax 715 xorq %r13,%rcx 716 xorq %r10,%r8 717 xorq %r13,%r11 718 movq %rax,%rbx 719 movq %rcx,%rdx 720 xorq %r10,%r9 721 xorq %r13,%r12 722 shrq $32,%rbx 723 shrq $32,%rdx 724 xorq %r8,%r10 725 xorq %r11,%r13 726 roll $8,%eax 727 roll $8,%ecx 728 xorq %r9,%r10 729 xorq %r12,%r13 730 731 roll $8,%ebx 732 roll $8,%edx 733 xorl %r10d,%eax 734 xorl %r13d,%ecx 735 shrq $32,%r10 736 shrq $32,%r13 737 xorl %r10d,%ebx 738 xorl %r13d,%edx 739 740 movq %r8,%r10 741 movq %r11,%r13 742 shrq $32,%r10 743 shrq $32,%r13 744 roll $24,%r8d 745 roll $24,%r11d 746 roll $24,%r10d 747 roll $24,%r13d 748 xorl %r8d,%eax 749 xorl %r11d,%ecx 750 movq %r9,%r8 751 movq %r12,%r11 752 xorl %r10d,%ebx 753 xorl %r13d,%edx 754 755 movq 0(%r14),%rsi 756 shrq $32,%r8 757 shrq $32,%r11 758 movq 64(%r14),%rdi 759 roll $16,%r9d 760 roll $16,%r12d 761 movq 128(%r14),%rbp 762 roll $16,%r8d 763 roll $16,%r11d 764 movq 192(%r14),%r10 765 xorl %r9d,%eax 766 xorl %r12d,%ecx 767 movq 256(%r14),%r13 768 xorl %r8d,%ebx 769 xorl %r11d,%edx 770 jmp .Ldec_loop_compact 771.align 16 772.Ldec_compact_done: 773 xorl 0(%r15),%eax 774 xorl 4(%r15),%ebx 775 xorl 8(%r15),%ecx 776 xorl 12(%r15),%edx 777.byte 0xf3,0xc3 778.size _x86_64_AES_decrypt_compact,.-_x86_64_AES_decrypt_compact 779.globl AES_decrypt 780.type AES_decrypt,@function 781.align 16 782.globl asm_AES_decrypt 783.hidden asm_AES_decrypt 784asm_AES_decrypt: 785AES_decrypt: 786 pushq %rbx 787 pushq %rbp 788 pushq %r12 789 pushq %r13 790 pushq %r14 791 pushq %r15 792 793 794 movq %rsp,%r10 795 leaq -63(%rdx),%rcx 796 andq $-64,%rsp 797 subq %rsp,%rcx 798 negq %rcx 799 andq $960,%rcx 800 subq %rcx,%rsp 801 subq $32,%rsp 802 803 movq %rsi,16(%rsp) 804 movq %r10,24(%rsp) 805.Ldec_prologue: 806 807 movq %rdx,%r15 808 movl 240(%r15),%r13d 809 810 movl 0(%rdi),%eax 811 movl 4(%rdi),%ebx 812 movl 8(%rdi),%ecx 813 movl 12(%rdi),%edx 814 815 shll $4,%r13d 816 leaq (%r15,%r13,1),%rbp 817 movq %r15,(%rsp) 818 movq %rbp,8(%rsp) 819 820 821 leaq .LAES_Td+2048(%rip),%r14 822 leaq 768(%rsp),%rbp 823 subq %r14,%rbp 824 andq $768,%rbp 825 leaq (%r14,%rbp,1),%r14 826 shrq $3,%rbp 827 addq %rbp,%r14 828 829 call _x86_64_AES_decrypt_compact 830 831 movq 16(%rsp),%r9 832 movq 24(%rsp),%rsi 833 movl %eax,0(%r9) 834 movl %ebx,4(%r9) 835 movl %ecx,8(%r9) 836 movl %edx,12(%r9) 837 838 movq (%rsi),%r15 839 movq 8(%rsi),%r14 840 movq 16(%rsi),%r13 841 movq 24(%rsi),%r12 842 movq 32(%rsi),%rbp 843 movq 40(%rsi),%rbx 844 leaq 48(%rsi),%rsp 845.Ldec_epilogue: 846 .byte 0xf3,0xc3 847.size AES_decrypt,.-AES_decrypt 848.globl private_AES_set_encrypt_key 849.type private_AES_set_encrypt_key,@function 850.align 16 851private_AES_set_encrypt_key: 852 pushq %rbx 853 pushq %rbp 854 pushq %r12 855 pushq %r13 856 pushq %r14 857 pushq %r15 858 subq $8,%rsp 859.Lenc_key_prologue: 860 861 call _x86_64_AES_set_encrypt_key 862 863 movq 8(%rsp),%r15 864 movq 16(%rsp),%r14 865 movq 24(%rsp),%r13 866 movq 32(%rsp),%r12 867 movq 40(%rsp),%rbp 868 movq 48(%rsp),%rbx 869 addq $56,%rsp 870.Lenc_key_epilogue: 871 .byte 0xf3,0xc3 872.size private_AES_set_encrypt_key,.-private_AES_set_encrypt_key 873 874.type _x86_64_AES_set_encrypt_key,@function 875.align 16 876_x86_64_AES_set_encrypt_key: 877 movl %esi,%ecx 878 movq %rdi,%rsi 879 movq %rdx,%rdi 880 881 testq $-1,%rsi 882 jz .Lbadpointer 883 testq $-1,%rdi 884 jz .Lbadpointer 885 886 leaq .LAES_Te(%rip),%rbp 887 leaq 2048+128(%rbp),%rbp 888 889 890 movl 0-128(%rbp),%eax 891 movl 32-128(%rbp),%ebx 892 movl 64-128(%rbp),%r8d 893 movl 96-128(%rbp),%edx 894 movl 128-128(%rbp),%eax 895 movl 160-128(%rbp),%ebx 896 movl 192-128(%rbp),%r8d 897 movl 224-128(%rbp),%edx 898 899 cmpl $128,%ecx 900 je .L10rounds 901 cmpl $192,%ecx 902 je .L12rounds 903 cmpl $256,%ecx 904 je .L14rounds 905 movq $-2,%rax 906 jmp .Lexit 907 908.L10rounds: 909 movq 0(%rsi),%rax 910 movq 8(%rsi),%rdx 911 movq %rax,0(%rdi) 912 movq %rdx,8(%rdi) 913 914 shrq $32,%rdx 915 xorl %ecx,%ecx 916 jmp .L10shortcut 917.align 4 918.L10loop: 919 movl 0(%rdi),%eax 920 movl 12(%rdi),%edx 921.L10shortcut: 922 movzbl %dl,%esi 923 movzbl -128(%rbp,%rsi,1),%ebx 924 movzbl %dh,%esi 925 shll $24,%ebx 926 xorl %ebx,%eax 927 928 movzbl -128(%rbp,%rsi,1),%ebx 929 shrl $16,%edx 930 movzbl %dl,%esi 931 xorl %ebx,%eax 932 933 movzbl -128(%rbp,%rsi,1),%ebx 934 movzbl %dh,%esi 935 shll $8,%ebx 936 xorl %ebx,%eax 937 938 movzbl -128(%rbp,%rsi,1),%ebx 939 shll $16,%ebx 940 xorl %ebx,%eax 941 942 xorl 1024-128(%rbp,%rcx,4),%eax 943 movl %eax,16(%rdi) 944 xorl 4(%rdi),%eax 945 movl %eax,20(%rdi) 946 xorl 8(%rdi),%eax 947 movl %eax,24(%rdi) 948 xorl 12(%rdi),%eax 949 movl %eax,28(%rdi) 950 addl $1,%ecx 951 leaq 16(%rdi),%rdi 952 cmpl $10,%ecx 953 jl .L10loop 954 955 movl $10,80(%rdi) 956 xorq %rax,%rax 957 jmp .Lexit 958 959.L12rounds: 960 movq 0(%rsi),%rax 961 movq 8(%rsi),%rbx 962 movq 16(%rsi),%rdx 963 movq %rax,0(%rdi) 964 movq %rbx,8(%rdi) 965 movq %rdx,16(%rdi) 966 967 shrq $32,%rdx 968 xorl %ecx,%ecx 969 jmp .L12shortcut 970.align 4 971.L12loop: 972 movl 0(%rdi),%eax 973 movl 20(%rdi),%edx 974.L12shortcut: 975 movzbl %dl,%esi 976 movzbl -128(%rbp,%rsi,1),%ebx 977 movzbl %dh,%esi 978 shll $24,%ebx 979 xorl %ebx,%eax 980 981 movzbl -128(%rbp,%rsi,1),%ebx 982 shrl $16,%edx 983 movzbl %dl,%esi 984 xorl %ebx,%eax 985 986 movzbl -128(%rbp,%rsi,1),%ebx 987 movzbl %dh,%esi 988 shll $8,%ebx 989 xorl %ebx,%eax 990 991 movzbl -128(%rbp,%rsi,1),%ebx 992 shll $16,%ebx 993 xorl %ebx,%eax 994 995 xorl 1024-128(%rbp,%rcx,4),%eax 996 movl %eax,24(%rdi) 997 xorl 4(%rdi),%eax 998 movl %eax,28(%rdi) 999 xorl 8(%rdi),%eax 1000 movl %eax,32(%rdi) 1001 xorl 12(%rdi),%eax 1002 movl %eax,36(%rdi) 1003 1004 cmpl $7,%ecx 1005 je .L12break 1006 addl $1,%ecx 1007 1008 xorl 16(%rdi),%eax 1009 movl %eax,40(%rdi) 1010 xorl 20(%rdi),%eax 1011 movl %eax,44(%rdi) 1012 1013 leaq 24(%rdi),%rdi 1014 jmp .L12loop 1015.L12break: 1016 movl $12,72(%rdi) 1017 xorq %rax,%rax 1018 jmp .Lexit 1019 1020.L14rounds: 1021 movq 0(%rsi),%rax 1022 movq 8(%rsi),%rbx 1023 movq 16(%rsi),%rcx 1024 movq 24(%rsi),%rdx 1025 movq %rax,0(%rdi) 1026 movq %rbx,8(%rdi) 1027 movq %rcx,16(%rdi) 1028 movq %rdx,24(%rdi) 1029 1030 shrq $32,%rdx 1031 xorl %ecx,%ecx 1032 jmp .L14shortcut 1033.align 4 1034.L14loop: 1035 movl 0(%rdi),%eax 1036 movl 28(%rdi),%edx 1037.L14shortcut: 1038 movzbl %dl,%esi 1039 movzbl -128(%rbp,%rsi,1),%ebx 1040 movzbl %dh,%esi 1041 shll $24,%ebx 1042 xorl %ebx,%eax 1043 1044 movzbl -128(%rbp,%rsi,1),%ebx 1045 shrl $16,%edx 1046 movzbl %dl,%esi 1047 xorl %ebx,%eax 1048 1049 movzbl -128(%rbp,%rsi,1),%ebx 1050 movzbl %dh,%esi 1051 shll $8,%ebx 1052 xorl %ebx,%eax 1053 1054 movzbl -128(%rbp,%rsi,1),%ebx 1055 shll $16,%ebx 1056 xorl %ebx,%eax 1057 1058 xorl 1024-128(%rbp,%rcx,4),%eax 1059 movl %eax,32(%rdi) 1060 xorl 4(%rdi),%eax 1061 movl %eax,36(%rdi) 1062 xorl 8(%rdi),%eax 1063 movl %eax,40(%rdi) 1064 xorl 12(%rdi),%eax 1065 movl %eax,44(%rdi) 1066 1067 cmpl $6,%ecx 1068 je .L14break 1069 addl $1,%ecx 1070 1071 movl %eax,%edx 1072 movl 16(%rdi),%eax 1073 movzbl %dl,%esi 1074 movzbl -128(%rbp,%rsi,1),%ebx 1075 movzbl %dh,%esi 1076 xorl %ebx,%eax 1077 1078 movzbl -128(%rbp,%rsi,1),%ebx 1079 shrl $16,%edx 1080 shll $8,%ebx 1081 movzbl %dl,%esi 1082 xorl %ebx,%eax 1083 1084 movzbl -128(%rbp,%rsi,1),%ebx 1085 movzbl %dh,%esi 1086 shll $16,%ebx 1087 xorl %ebx,%eax 1088 1089 movzbl -128(%rbp,%rsi,1),%ebx 1090 shll $24,%ebx 1091 xorl %ebx,%eax 1092 1093 movl %eax,48(%rdi) 1094 xorl 20(%rdi),%eax 1095 movl %eax,52(%rdi) 1096 xorl 24(%rdi),%eax 1097 movl %eax,56(%rdi) 1098 xorl 28(%rdi),%eax 1099 movl %eax,60(%rdi) 1100 1101 leaq 32(%rdi),%rdi 1102 jmp .L14loop 1103.L14break: 1104 movl $14,48(%rdi) 1105 xorq %rax,%rax 1106 jmp .Lexit 1107 1108.Lbadpointer: 1109 movq $-1,%rax 1110.Lexit: 1111.byte 0xf3,0xc3 1112.size _x86_64_AES_set_encrypt_key,.-_x86_64_AES_set_encrypt_key 1113.globl private_AES_set_decrypt_key 1114.type private_AES_set_decrypt_key,@function 1115.align 16 1116private_AES_set_decrypt_key: 1117 pushq %rbx 1118 pushq %rbp 1119 pushq %r12 1120 pushq %r13 1121 pushq %r14 1122 pushq %r15 1123 pushq %rdx 1124.Ldec_key_prologue: 1125 1126 call _x86_64_AES_set_encrypt_key 1127 movq (%rsp),%r8 1128 cmpl $0,%eax 1129 jne .Labort 1130 1131 movl 240(%r8),%r14d 1132 xorq %rdi,%rdi 1133 leaq (%rdi,%r14,4),%rcx 1134 movq %r8,%rsi 1135 leaq (%r8,%rcx,4),%rdi 1136.align 4 1137.Linvert: 1138 movq 0(%rsi),%rax 1139 movq 8(%rsi),%rbx 1140 movq 0(%rdi),%rcx 1141 movq 8(%rdi),%rdx 1142 movq %rax,0(%rdi) 1143 movq %rbx,8(%rdi) 1144 movq %rcx,0(%rsi) 1145 movq %rdx,8(%rsi) 1146 leaq 16(%rsi),%rsi 1147 leaq -16(%rdi),%rdi 1148 cmpq %rsi,%rdi 1149 jne .Linvert 1150 1151 leaq .LAES_Te+2048+1024(%rip),%rax 1152 1153 movq 40(%rax),%rsi 1154 movq 48(%rax),%rdi 1155 movq 56(%rax),%rbp 1156 1157 movq %r8,%r15 1158 subl $1,%r14d 1159.align 4 1160.Lpermute: 1161 leaq 16(%r15),%r15 1162 movq 0(%r15),%rax 1163 movq 8(%r15),%rcx 1164 movq %rax,%rbx 1165 movq %rcx,%rdx 1166 andq %rsi,%rbx 1167 andq %rsi,%rdx 1168 movq %rbx,%r9 1169 movq %rdx,%r12 1170 shrq $7,%r9 1171 leaq (%rax,%rax,1),%r8 1172 shrq $7,%r12 1173 leaq (%rcx,%rcx,1),%r11 1174 subq %r9,%rbx 1175 subq %r12,%rdx 1176 andq %rdi,%r8 1177 andq %rdi,%r11 1178 andq %rbp,%rbx 1179 andq %rbp,%rdx 1180 xorq %r8,%rbx 1181 xorq %r11,%rdx 1182 movq %rbx,%r8 1183 movq %rdx,%r11 1184 1185 andq %rsi,%rbx 1186 andq %rsi,%rdx 1187 movq %rbx,%r10 1188 movq %rdx,%r13 1189 shrq $7,%r10 1190 leaq (%r8,%r8,1),%r9 1191 shrq $7,%r13 1192 leaq (%r11,%r11,1),%r12 1193 subq %r10,%rbx 1194 subq %r13,%rdx 1195 andq %rdi,%r9 1196 andq %rdi,%r12 1197 andq %rbp,%rbx 1198 andq %rbp,%rdx 1199 xorq %r9,%rbx 1200 xorq %r12,%rdx 1201 movq %rbx,%r9 1202 movq %rdx,%r12 1203 1204 andq %rsi,%rbx 1205 andq %rsi,%rdx 1206 movq %rbx,%r10 1207 movq %rdx,%r13 1208 shrq $7,%r10 1209 xorq %rax,%r8 1210 shrq $7,%r13 1211 xorq %rcx,%r11 1212 subq %r10,%rbx 1213 subq %r13,%rdx 1214 leaq (%r9,%r9,1),%r10 1215 leaq (%r12,%r12,1),%r13 1216 xorq %rax,%r9 1217 xorq %rcx,%r12 1218 andq %rdi,%r10 1219 andq %rdi,%r13 1220 andq %rbp,%rbx 1221 andq %rbp,%rdx 1222 xorq %rbx,%r10 1223 xorq %rdx,%r13 1224 1225 xorq %r10,%rax 1226 xorq %r13,%rcx 1227 xorq %r10,%r8 1228 xorq %r13,%r11 1229 movq %rax,%rbx 1230 movq %rcx,%rdx 1231 xorq %r10,%r9 1232 xorq %r13,%r12 1233 shrq $32,%rbx 1234 shrq $32,%rdx 1235 xorq %r8,%r10 1236 xorq %r11,%r13 1237 roll $8,%eax 1238 roll $8,%ecx 1239 xorq %r9,%r10 1240 xorq %r12,%r13 1241 1242 roll $8,%ebx 1243 roll $8,%edx 1244 xorl %r10d,%eax 1245 xorl %r13d,%ecx 1246 shrq $32,%r10 1247 shrq $32,%r13 1248 xorl %r10d,%ebx 1249 xorl %r13d,%edx 1250 1251 movq %r8,%r10 1252 movq %r11,%r13 1253 shrq $32,%r10 1254 shrq $32,%r13 1255 roll $24,%r8d 1256 roll $24,%r11d 1257 roll $24,%r10d 1258 roll $24,%r13d 1259 xorl %r8d,%eax 1260 xorl %r11d,%ecx 1261 movq %r9,%r8 1262 movq %r12,%r11 1263 xorl %r10d,%ebx 1264 xorl %r13d,%edx 1265 1266 1267 shrq $32,%r8 1268 shrq $32,%r11 1269 1270 roll $16,%r9d 1271 roll $16,%r12d 1272 1273 roll $16,%r8d 1274 roll $16,%r11d 1275 1276 xorl %r9d,%eax 1277 xorl %r12d,%ecx 1278 1279 xorl %r8d,%ebx 1280 xorl %r11d,%edx 1281 movl %eax,0(%r15) 1282 movl %ebx,4(%r15) 1283 movl %ecx,8(%r15) 1284 movl %edx,12(%r15) 1285 subl $1,%r14d 1286 jnz .Lpermute 1287 1288 xorq %rax,%rax 1289.Labort: 1290 movq 8(%rsp),%r15 1291 movq 16(%rsp),%r14 1292 movq 24(%rsp),%r13 1293 movq 32(%rsp),%r12 1294 movq 40(%rsp),%rbp 1295 movq 48(%rsp),%rbx 1296 addq $56,%rsp 1297.Ldec_key_epilogue: 1298 .byte 0xf3,0xc3 1299.size private_AES_set_decrypt_key,.-private_AES_set_decrypt_key 1300.globl AES_cbc_encrypt 1301.type AES_cbc_encrypt,@function 1302.align 16 1303 1304.globl asm_AES_cbc_encrypt 1305.hidden asm_AES_cbc_encrypt 1306asm_AES_cbc_encrypt: 1307AES_cbc_encrypt: 1308 cmpq $0,%rdx 1309 je .Lcbc_epilogue 1310 pushfq 1311 pushq %rbx 1312 pushq %rbp 1313 pushq %r12 1314 pushq %r13 1315 pushq %r14 1316 pushq %r15 1317.Lcbc_prologue: 1318 1319 cld 1320 movl %r9d,%r9d 1321 1322 leaq .LAES_Te(%rip),%r14 1323 cmpq $0,%r9 1324 jne .Lcbc_picked_te 1325 leaq .LAES_Td(%rip),%r14 1326.Lcbc_picked_te: 1327 1328 movl OPENSSL_ia32cap_P(%rip),%r10d 1329 cmpq $512,%rdx 1330 jb .Lcbc_slow_prologue 1331 testq $15,%rdx 1332 jnz .Lcbc_slow_prologue 1333 btl $28,%r10d 1334 jc .Lcbc_slow_prologue 1335 1336 1337 leaq -88-248(%rsp),%r15 1338 andq $-64,%r15 1339 1340 1341 movq %r14,%r10 1342 leaq 2304(%r14),%r11 1343 movq %r15,%r12 1344 andq $4095,%r10 1345 andq $4095,%r11 1346 andq $4095,%r12 1347 1348 cmpq %r11,%r12 1349 jb .Lcbc_te_break_out 1350 subq %r11,%r12 1351 subq %r12,%r15 1352 jmp .Lcbc_te_ok 1353.Lcbc_te_break_out: 1354 subq %r10,%r12 1355 andq $4095,%r12 1356 addq $320,%r12 1357 subq %r12,%r15 1358.align 4 1359.Lcbc_te_ok: 1360 1361 xchgq %rsp,%r15 1362 1363 movq %r15,16(%rsp) 1364.Lcbc_fast_body: 1365 movq %rdi,24(%rsp) 1366 movq %rsi,32(%rsp) 1367 movq %rdx,40(%rsp) 1368 movq %rcx,48(%rsp) 1369 movq %r8,56(%rsp) 1370 movl $0,80+240(%rsp) 1371 movq %r8,%rbp 1372 movq %r9,%rbx 1373 movq %rsi,%r9 1374 movq %rdi,%r8 1375 movq %rcx,%r15 1376 1377 movl 240(%r15),%eax 1378 1379 movq %r15,%r10 1380 subq %r14,%r10 1381 andq $4095,%r10 1382 cmpq $2304,%r10 1383 jb .Lcbc_do_ecopy 1384 cmpq $4096-248,%r10 1385 jb .Lcbc_skip_ecopy 1386.align 4 1387.Lcbc_do_ecopy: 1388 movq %r15,%rsi 1389 leaq 80(%rsp),%rdi 1390 leaq 80(%rsp),%r15 1391 movl $30,%ecx 1392.long 0x90A548F3 1393 movl %eax,(%rdi) 1394.Lcbc_skip_ecopy: 1395 movq %r15,0(%rsp) 1396 1397 movl $18,%ecx 1398.align 4 1399.Lcbc_prefetch_te: 1400 movq 0(%r14),%r10 1401 movq 32(%r14),%r11 1402 movq 64(%r14),%r12 1403 movq 96(%r14),%r13 1404 leaq 128(%r14),%r14 1405 subl $1,%ecx 1406 jnz .Lcbc_prefetch_te 1407 leaq -2304(%r14),%r14 1408 1409 cmpq $0,%rbx 1410 je .LFAST_DECRYPT 1411 1412 1413 movl 0(%rbp),%eax 1414 movl 4(%rbp),%ebx 1415 movl 8(%rbp),%ecx 1416 movl 12(%rbp),%edx 1417 1418.align 4 1419.Lcbc_fast_enc_loop: 1420 xorl 0(%r8),%eax 1421 xorl 4(%r8),%ebx 1422 xorl 8(%r8),%ecx 1423 xorl 12(%r8),%edx 1424 movq 0(%rsp),%r15 1425 movq %r8,24(%rsp) 1426 1427 call _x86_64_AES_encrypt 1428 1429 movq 24(%rsp),%r8 1430 movq 40(%rsp),%r10 1431 movl %eax,0(%r9) 1432 movl %ebx,4(%r9) 1433 movl %ecx,8(%r9) 1434 movl %edx,12(%r9) 1435 1436 leaq 16(%r8),%r8 1437 leaq 16(%r9),%r9 1438 subq $16,%r10 1439 testq $-16,%r10 1440 movq %r10,40(%rsp) 1441 jnz .Lcbc_fast_enc_loop 1442 movq 56(%rsp),%rbp 1443 movl %eax,0(%rbp) 1444 movl %ebx,4(%rbp) 1445 movl %ecx,8(%rbp) 1446 movl %edx,12(%rbp) 1447 1448 jmp .Lcbc_fast_cleanup 1449 1450 1451.align 16 1452.LFAST_DECRYPT: 1453 cmpq %r8,%r9 1454 je .Lcbc_fast_dec_in_place 1455 1456 movq %rbp,64(%rsp) 1457.align 4 1458.Lcbc_fast_dec_loop: 1459 movl 0(%r8),%eax 1460 movl 4(%r8),%ebx 1461 movl 8(%r8),%ecx 1462 movl 12(%r8),%edx 1463 movq 0(%rsp),%r15 1464 movq %r8,24(%rsp) 1465 1466 call _x86_64_AES_decrypt 1467 1468 movq 64(%rsp),%rbp 1469 movq 24(%rsp),%r8 1470 movq 40(%rsp),%r10 1471 xorl 0(%rbp),%eax 1472 xorl 4(%rbp),%ebx 1473 xorl 8(%rbp),%ecx 1474 xorl 12(%rbp),%edx 1475 movq %r8,%rbp 1476 1477 subq $16,%r10 1478 movq %r10,40(%rsp) 1479 movq %rbp,64(%rsp) 1480 1481 movl %eax,0(%r9) 1482 movl %ebx,4(%r9) 1483 movl %ecx,8(%r9) 1484 movl %edx,12(%r9) 1485 1486 leaq 16(%r8),%r8 1487 leaq 16(%r9),%r9 1488 jnz .Lcbc_fast_dec_loop 1489 movq 56(%rsp),%r12 1490 movq 0(%rbp),%r10 1491 movq 8(%rbp),%r11 1492 movq %r10,0(%r12) 1493 movq %r11,8(%r12) 1494 jmp .Lcbc_fast_cleanup 1495 1496.align 16 1497.Lcbc_fast_dec_in_place: 1498 movq 0(%rbp),%r10 1499 movq 8(%rbp),%r11 1500 movq %r10,0+64(%rsp) 1501 movq %r11,8+64(%rsp) 1502.align 4 1503.Lcbc_fast_dec_in_place_loop: 1504 movl 0(%r8),%eax 1505 movl 4(%r8),%ebx 1506 movl 8(%r8),%ecx 1507 movl 12(%r8),%edx 1508 movq 0(%rsp),%r15 1509 movq %r8,24(%rsp) 1510 1511 call _x86_64_AES_decrypt 1512 1513 movq 24(%rsp),%r8 1514 movq 40(%rsp),%r10 1515 xorl 0+64(%rsp),%eax 1516 xorl 4+64(%rsp),%ebx 1517 xorl 8+64(%rsp),%ecx 1518 xorl 12+64(%rsp),%edx 1519 1520 movq 0(%r8),%r11 1521 movq 8(%r8),%r12 1522 subq $16,%r10 1523 jz .Lcbc_fast_dec_in_place_done 1524 1525 movq %r11,0+64(%rsp) 1526 movq %r12,8+64(%rsp) 1527 1528 movl %eax,0(%r9) 1529 movl %ebx,4(%r9) 1530 movl %ecx,8(%r9) 1531 movl %edx,12(%r9) 1532 1533 leaq 16(%r8),%r8 1534 leaq 16(%r9),%r9 1535 movq %r10,40(%rsp) 1536 jmp .Lcbc_fast_dec_in_place_loop 1537.Lcbc_fast_dec_in_place_done: 1538 movq 56(%rsp),%rdi 1539 movq %r11,0(%rdi) 1540 movq %r12,8(%rdi) 1541 1542 movl %eax,0(%r9) 1543 movl %ebx,4(%r9) 1544 movl %ecx,8(%r9) 1545 movl %edx,12(%r9) 1546 1547.align 4 1548.Lcbc_fast_cleanup: 1549 cmpl $0,80+240(%rsp) 1550 leaq 80(%rsp),%rdi 1551 je .Lcbc_exit 1552 movl $30,%ecx 1553 xorq %rax,%rax 1554.long 0x90AB48F3 1555 1556 jmp .Lcbc_exit 1557 1558 1559.align 16 1560.Lcbc_slow_prologue: 1561 1562 leaq -88(%rsp),%rbp 1563 andq $-64,%rbp 1564 1565 leaq -88-63(%rcx),%r10 1566 subq %rbp,%r10 1567 negq %r10 1568 andq $960,%r10 1569 subq %r10,%rbp 1570 1571 xchgq %rsp,%rbp 1572 1573 movq %rbp,16(%rsp) 1574.Lcbc_slow_body: 1575 1576 1577 1578 1579 movq %r8,56(%rsp) 1580 movq %r8,%rbp 1581 movq %r9,%rbx 1582 movq %rsi,%r9 1583 movq %rdi,%r8 1584 movq %rcx,%r15 1585 movq %rdx,%r10 1586 1587 movl 240(%r15),%eax 1588 movq %r15,0(%rsp) 1589 shll $4,%eax 1590 leaq (%r15,%rax,1),%rax 1591 movq %rax,8(%rsp) 1592 1593 1594 leaq 2048(%r14),%r14 1595 leaq 768-8(%rsp),%rax 1596 subq %r14,%rax 1597 andq $768,%rax 1598 leaq (%r14,%rax,1),%r14 1599 1600 cmpq $0,%rbx 1601 je .LSLOW_DECRYPT 1602 1603 1604 testq $-16,%r10 1605 movl 0(%rbp),%eax 1606 movl 4(%rbp),%ebx 1607 movl 8(%rbp),%ecx 1608 movl 12(%rbp),%edx 1609 jz .Lcbc_slow_enc_tail 1610 1611.align 4 1612.Lcbc_slow_enc_loop: 1613 xorl 0(%r8),%eax 1614 xorl 4(%r8),%ebx 1615 xorl 8(%r8),%ecx 1616 xorl 12(%r8),%edx 1617 movq 0(%rsp),%r15 1618 movq %r8,24(%rsp) 1619 movq %r9,32(%rsp) 1620 movq %r10,40(%rsp) 1621 1622 call _x86_64_AES_encrypt_compact 1623 1624 movq 24(%rsp),%r8 1625 movq 32(%rsp),%r9 1626 movq 40(%rsp),%r10 1627 movl %eax,0(%r9) 1628 movl %ebx,4(%r9) 1629 movl %ecx,8(%r9) 1630 movl %edx,12(%r9) 1631 1632 leaq 16(%r8),%r8 1633 leaq 16(%r9),%r9 1634 subq $16,%r10 1635 testq $-16,%r10 1636 jnz .Lcbc_slow_enc_loop 1637 testq $15,%r10 1638 jnz .Lcbc_slow_enc_tail 1639 movq 56(%rsp),%rbp 1640 movl %eax,0(%rbp) 1641 movl %ebx,4(%rbp) 1642 movl %ecx,8(%rbp) 1643 movl %edx,12(%rbp) 1644 1645 jmp .Lcbc_exit 1646 1647.align 4 1648.Lcbc_slow_enc_tail: 1649 movq %rax,%r11 1650 movq %rcx,%r12 1651 movq %r10,%rcx 1652 movq %r8,%rsi 1653 movq %r9,%rdi 1654.long 0x9066A4F3 1655 movq $16,%rcx 1656 subq %r10,%rcx 1657 xorq %rax,%rax 1658.long 0x9066AAF3 1659 movq %r9,%r8 1660 movq $16,%r10 1661 movq %r11,%rax 1662 movq %r12,%rcx 1663 jmp .Lcbc_slow_enc_loop 1664 1665.align 16 1666.LSLOW_DECRYPT: 1667 shrq $3,%rax 1668 addq %rax,%r14 1669 1670 movq 0(%rbp),%r11 1671 movq 8(%rbp),%r12 1672 movq %r11,0+64(%rsp) 1673 movq %r12,8+64(%rsp) 1674 1675.align 4 1676.Lcbc_slow_dec_loop: 1677 movl 0(%r8),%eax 1678 movl 4(%r8),%ebx 1679 movl 8(%r8),%ecx 1680 movl 12(%r8),%edx 1681 movq 0(%rsp),%r15 1682 movq %r8,24(%rsp) 1683 movq %r9,32(%rsp) 1684 movq %r10,40(%rsp) 1685 1686 call _x86_64_AES_decrypt_compact 1687 1688 movq 24(%rsp),%r8 1689 movq 32(%rsp),%r9 1690 movq 40(%rsp),%r10 1691 xorl 0+64(%rsp),%eax 1692 xorl 4+64(%rsp),%ebx 1693 xorl 8+64(%rsp),%ecx 1694 xorl 12+64(%rsp),%edx 1695 1696 movq 0(%r8),%r11 1697 movq 8(%r8),%r12 1698 subq $16,%r10 1699 jc .Lcbc_slow_dec_partial 1700 jz .Lcbc_slow_dec_done 1701 1702 movq %r11,0+64(%rsp) 1703 movq %r12,8+64(%rsp) 1704 1705 movl %eax,0(%r9) 1706 movl %ebx,4(%r9) 1707 movl %ecx,8(%r9) 1708 movl %edx,12(%r9) 1709 1710 leaq 16(%r8),%r8 1711 leaq 16(%r9),%r9 1712 jmp .Lcbc_slow_dec_loop 1713.Lcbc_slow_dec_done: 1714 movq 56(%rsp),%rdi 1715 movq %r11,0(%rdi) 1716 movq %r12,8(%rdi) 1717 1718 movl %eax,0(%r9) 1719 movl %ebx,4(%r9) 1720 movl %ecx,8(%r9) 1721 movl %edx,12(%r9) 1722 1723 jmp .Lcbc_exit 1724 1725.align 4 1726.Lcbc_slow_dec_partial: 1727 movq 56(%rsp),%rdi 1728 movq %r11,0(%rdi) 1729 movq %r12,8(%rdi) 1730 1731 movl %eax,0+64(%rsp) 1732 movl %ebx,4+64(%rsp) 1733 movl %ecx,8+64(%rsp) 1734 movl %edx,12+64(%rsp) 1735 1736 movq %r9,%rdi 1737 leaq 64(%rsp),%rsi 1738 leaq 16(%r10),%rcx 1739.long 0x9066A4F3 1740 jmp .Lcbc_exit 1741 1742.align 16 1743.Lcbc_exit: 1744 movq 16(%rsp),%rsi 1745 movq (%rsi),%r15 1746 movq 8(%rsi),%r14 1747 movq 16(%rsi),%r13 1748 movq 24(%rsi),%r12 1749 movq 32(%rsi),%rbp 1750 movq 40(%rsi),%rbx 1751 leaq 48(%rsi),%rsp 1752.Lcbc_popfq: 1753 popfq 1754.Lcbc_epilogue: 1755 .byte 0xf3,0xc3 1756.size AES_cbc_encrypt,.-AES_cbc_encrypt 1757.align 64 1758.LAES_Te: 1759.long 0xa56363c6,0xa56363c6 1760.long 0x847c7cf8,0x847c7cf8 1761.long 0x997777ee,0x997777ee 1762.long 0x8d7b7bf6,0x8d7b7bf6 1763.long 0x0df2f2ff,0x0df2f2ff 1764.long 0xbd6b6bd6,0xbd6b6bd6 1765.long 0xb16f6fde,0xb16f6fde 1766.long 0x54c5c591,0x54c5c591 1767.long 0x50303060,0x50303060 1768.long 0x03010102,0x03010102 1769.long 0xa96767ce,0xa96767ce 1770.long 0x7d2b2b56,0x7d2b2b56 1771.long 0x19fefee7,0x19fefee7 1772.long 0x62d7d7b5,0x62d7d7b5 1773.long 0xe6abab4d,0xe6abab4d 1774.long 0x9a7676ec,0x9a7676ec 1775.long 0x45caca8f,0x45caca8f 1776.long 0x9d82821f,0x9d82821f 1777.long 0x40c9c989,0x40c9c989 1778.long 0x877d7dfa,0x877d7dfa 1779.long 0x15fafaef,0x15fafaef 1780.long 0xeb5959b2,0xeb5959b2 1781.long 0xc947478e,0xc947478e 1782.long 0x0bf0f0fb,0x0bf0f0fb 1783.long 0xecadad41,0xecadad41 1784.long 0x67d4d4b3,0x67d4d4b3 1785.long 0xfda2a25f,0xfda2a25f 1786.long 0xeaafaf45,0xeaafaf45 1787.long 0xbf9c9c23,0xbf9c9c23 1788.long 0xf7a4a453,0xf7a4a453 1789.long 0x967272e4,0x967272e4 1790.long 0x5bc0c09b,0x5bc0c09b 1791.long 0xc2b7b775,0xc2b7b775 1792.long 0x1cfdfde1,0x1cfdfde1 1793.long 0xae93933d,0xae93933d 1794.long 0x6a26264c,0x6a26264c 1795.long 0x5a36366c,0x5a36366c 1796.long 0x413f3f7e,0x413f3f7e 1797.long 0x02f7f7f5,0x02f7f7f5 1798.long 0x4fcccc83,0x4fcccc83 1799.long 0x5c343468,0x5c343468 1800.long 0xf4a5a551,0xf4a5a551 1801.long 0x34e5e5d1,0x34e5e5d1 1802.long 0x08f1f1f9,0x08f1f1f9 1803.long 0x937171e2,0x937171e2 1804.long 0x73d8d8ab,0x73d8d8ab 1805.long 0x53313162,0x53313162 1806.long 0x3f15152a,0x3f15152a 1807.long 0x0c040408,0x0c040408 1808.long 0x52c7c795,0x52c7c795 1809.long 0x65232346,0x65232346 1810.long 0x5ec3c39d,0x5ec3c39d 1811.long 0x28181830,0x28181830 1812.long 0xa1969637,0xa1969637 1813.long 0x0f05050a,0x0f05050a 1814.long 0xb59a9a2f,0xb59a9a2f 1815.long 0x0907070e,0x0907070e 1816.long 0x36121224,0x36121224 1817.long 0x9b80801b,0x9b80801b 1818.long 0x3de2e2df,0x3de2e2df 1819.long 0x26ebebcd,0x26ebebcd 1820.long 0x6927274e,0x6927274e 1821.long 0xcdb2b27f,0xcdb2b27f 1822.long 0x9f7575ea,0x9f7575ea 1823.long 0x1b090912,0x1b090912 1824.long 0x9e83831d,0x9e83831d 1825.long 0x742c2c58,0x742c2c58 1826.long 0x2e1a1a34,0x2e1a1a34 1827.long 0x2d1b1b36,0x2d1b1b36 1828.long 0xb26e6edc,0xb26e6edc 1829.long 0xee5a5ab4,0xee5a5ab4 1830.long 0xfba0a05b,0xfba0a05b 1831.long 0xf65252a4,0xf65252a4 1832.long 0x4d3b3b76,0x4d3b3b76 1833.long 0x61d6d6b7,0x61d6d6b7 1834.long 0xceb3b37d,0xceb3b37d 1835.long 0x7b292952,0x7b292952 1836.long 0x3ee3e3dd,0x3ee3e3dd 1837.long 0x712f2f5e,0x712f2f5e 1838.long 0x97848413,0x97848413 1839.long 0xf55353a6,0xf55353a6 1840.long 0x68d1d1b9,0x68d1d1b9 1841.long 0x00000000,0x00000000 1842.long 0x2cededc1,0x2cededc1 1843.long 0x60202040,0x60202040 1844.long 0x1ffcfce3,0x1ffcfce3 1845.long 0xc8b1b179,0xc8b1b179 1846.long 0xed5b5bb6,0xed5b5bb6 1847.long 0xbe6a6ad4,0xbe6a6ad4 1848.long 0x46cbcb8d,0x46cbcb8d 1849.long 0xd9bebe67,0xd9bebe67 1850.long 0x4b393972,0x4b393972 1851.long 0xde4a4a94,0xde4a4a94 1852.long 0xd44c4c98,0xd44c4c98 1853.long 0xe85858b0,0xe85858b0 1854.long 0x4acfcf85,0x4acfcf85 1855.long 0x6bd0d0bb,0x6bd0d0bb 1856.long 0x2aefefc5,0x2aefefc5 1857.long 0xe5aaaa4f,0xe5aaaa4f 1858.long 0x16fbfbed,0x16fbfbed 1859.long 0xc5434386,0xc5434386 1860.long 0xd74d4d9a,0xd74d4d9a 1861.long 0x55333366,0x55333366 1862.long 0x94858511,0x94858511 1863.long 0xcf45458a,0xcf45458a 1864.long 0x10f9f9e9,0x10f9f9e9 1865.long 0x06020204,0x06020204 1866.long 0x817f7ffe,0x817f7ffe 1867.long 0xf05050a0,0xf05050a0 1868.long 0x443c3c78,0x443c3c78 1869.long 0xba9f9f25,0xba9f9f25 1870.long 0xe3a8a84b,0xe3a8a84b 1871.long 0xf35151a2,0xf35151a2 1872.long 0xfea3a35d,0xfea3a35d 1873.long 0xc0404080,0xc0404080 1874.long 0x8a8f8f05,0x8a8f8f05 1875.long 0xad92923f,0xad92923f 1876.long 0xbc9d9d21,0xbc9d9d21 1877.long 0x48383870,0x48383870 1878.long 0x04f5f5f1,0x04f5f5f1 1879.long 0xdfbcbc63,0xdfbcbc63 1880.long 0xc1b6b677,0xc1b6b677 1881.long 0x75dadaaf,0x75dadaaf 1882.long 0x63212142,0x63212142 1883.long 0x30101020,0x30101020 1884.long 0x1affffe5,0x1affffe5 1885.long 0x0ef3f3fd,0x0ef3f3fd 1886.long 0x6dd2d2bf,0x6dd2d2bf 1887.long 0x4ccdcd81,0x4ccdcd81 1888.long 0x140c0c18,0x140c0c18 1889.long 0x35131326,0x35131326 1890.long 0x2fececc3,0x2fececc3 1891.long 0xe15f5fbe,0xe15f5fbe 1892.long 0xa2979735,0xa2979735 1893.long 0xcc444488,0xcc444488 1894.long 0x3917172e,0x3917172e 1895.long 0x57c4c493,0x57c4c493 1896.long 0xf2a7a755,0xf2a7a755 1897.long 0x827e7efc,0x827e7efc 1898.long 0x473d3d7a,0x473d3d7a 1899.long 0xac6464c8,0xac6464c8 1900.long 0xe75d5dba,0xe75d5dba 1901.long 0x2b191932,0x2b191932 1902.long 0x957373e6,0x957373e6 1903.long 0xa06060c0,0xa06060c0 1904.long 0x98818119,0x98818119 1905.long 0xd14f4f9e,0xd14f4f9e 1906.long 0x7fdcdca3,0x7fdcdca3 1907.long 0x66222244,0x66222244 1908.long 0x7e2a2a54,0x7e2a2a54 1909.long 0xab90903b,0xab90903b 1910.long 0x8388880b,0x8388880b 1911.long 0xca46468c,0xca46468c 1912.long 0x29eeeec7,0x29eeeec7 1913.long 0xd3b8b86b,0xd3b8b86b 1914.long 0x3c141428,0x3c141428 1915.long 0x79dedea7,0x79dedea7 1916.long 0xe25e5ebc,0xe25e5ebc 1917.long 0x1d0b0b16,0x1d0b0b16 1918.long 0x76dbdbad,0x76dbdbad 1919.long 0x3be0e0db,0x3be0e0db 1920.long 0x56323264,0x56323264 1921.long 0x4e3a3a74,0x4e3a3a74 1922.long 0x1e0a0a14,0x1e0a0a14 1923.long 0xdb494992,0xdb494992 1924.long 0x0a06060c,0x0a06060c 1925.long 0x6c242448,0x6c242448 1926.long 0xe45c5cb8,0xe45c5cb8 1927.long 0x5dc2c29f,0x5dc2c29f 1928.long 0x6ed3d3bd,0x6ed3d3bd 1929.long 0xefacac43,0xefacac43 1930.long 0xa66262c4,0xa66262c4 1931.long 0xa8919139,0xa8919139 1932.long 0xa4959531,0xa4959531 1933.long 0x37e4e4d3,0x37e4e4d3 1934.long 0x8b7979f2,0x8b7979f2 1935.long 0x32e7e7d5,0x32e7e7d5 1936.long 0x43c8c88b,0x43c8c88b 1937.long 0x5937376e,0x5937376e 1938.long 0xb76d6dda,0xb76d6dda 1939.long 0x8c8d8d01,0x8c8d8d01 1940.long 0x64d5d5b1,0x64d5d5b1 1941.long 0xd24e4e9c,0xd24e4e9c 1942.long 0xe0a9a949,0xe0a9a949 1943.long 0xb46c6cd8,0xb46c6cd8 1944.long 0xfa5656ac,0xfa5656ac 1945.long 0x07f4f4f3,0x07f4f4f3 1946.long 0x25eaeacf,0x25eaeacf 1947.long 0xaf6565ca,0xaf6565ca 1948.long 0x8e7a7af4,0x8e7a7af4 1949.long 0xe9aeae47,0xe9aeae47 1950.long 0x18080810,0x18080810 1951.long 0xd5baba6f,0xd5baba6f 1952.long 0x887878f0,0x887878f0 1953.long 0x6f25254a,0x6f25254a 1954.long 0x722e2e5c,0x722e2e5c 1955.long 0x241c1c38,0x241c1c38 1956.long 0xf1a6a657,0xf1a6a657 1957.long 0xc7b4b473,0xc7b4b473 1958.long 0x51c6c697,0x51c6c697 1959.long 0x23e8e8cb,0x23e8e8cb 1960.long 0x7cdddda1,0x7cdddda1 1961.long 0x9c7474e8,0x9c7474e8 1962.long 0x211f1f3e,0x211f1f3e 1963.long 0xdd4b4b96,0xdd4b4b96 1964.long 0xdcbdbd61,0xdcbdbd61 1965.long 0x868b8b0d,0x868b8b0d 1966.long 0x858a8a0f,0x858a8a0f 1967.long 0x907070e0,0x907070e0 1968.long 0x423e3e7c,0x423e3e7c 1969.long 0xc4b5b571,0xc4b5b571 1970.long 0xaa6666cc,0xaa6666cc 1971.long 0xd8484890,0xd8484890 1972.long 0x05030306,0x05030306 1973.long 0x01f6f6f7,0x01f6f6f7 1974.long 0x120e0e1c,0x120e0e1c 1975.long 0xa36161c2,0xa36161c2 1976.long 0x5f35356a,0x5f35356a 1977.long 0xf95757ae,0xf95757ae 1978.long 0xd0b9b969,0xd0b9b969 1979.long 0x91868617,0x91868617 1980.long 0x58c1c199,0x58c1c199 1981.long 0x271d1d3a,0x271d1d3a 1982.long 0xb99e9e27,0xb99e9e27 1983.long 0x38e1e1d9,0x38e1e1d9 1984.long 0x13f8f8eb,0x13f8f8eb 1985.long 0xb398982b,0xb398982b 1986.long 0x33111122,0x33111122 1987.long 0xbb6969d2,0xbb6969d2 1988.long 0x70d9d9a9,0x70d9d9a9 1989.long 0x898e8e07,0x898e8e07 1990.long 0xa7949433,0xa7949433 1991.long 0xb69b9b2d,0xb69b9b2d 1992.long 0x221e1e3c,0x221e1e3c 1993.long 0x92878715,0x92878715 1994.long 0x20e9e9c9,0x20e9e9c9 1995.long 0x49cece87,0x49cece87 1996.long 0xff5555aa,0xff5555aa 1997.long 0x78282850,0x78282850 1998.long 0x7adfdfa5,0x7adfdfa5 1999.long 0x8f8c8c03,0x8f8c8c03 2000.long 0xf8a1a159,0xf8a1a159 2001.long 0x80898909,0x80898909 2002.long 0x170d0d1a,0x170d0d1a 2003.long 0xdabfbf65,0xdabfbf65 2004.long 0x31e6e6d7,0x31e6e6d7 2005.long 0xc6424284,0xc6424284 2006.long 0xb86868d0,0xb86868d0 2007.long 0xc3414182,0xc3414182 2008.long 0xb0999929,0xb0999929 2009.long 0x772d2d5a,0x772d2d5a 2010.long 0x110f0f1e,0x110f0f1e 2011.long 0xcbb0b07b,0xcbb0b07b 2012.long 0xfc5454a8,0xfc5454a8 2013.long 0xd6bbbb6d,0xd6bbbb6d 2014.long 0x3a16162c,0x3a16162c 2015.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 2016.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 2017.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 2018.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 2019.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc 2020.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 2021.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a 2022.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 2023.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 2024.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 2025.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b 2026.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf 2027.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 2028.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 2029.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 2030.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 2031.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 2032.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 2033.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 2034.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb 2035.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c 2036.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 2037.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 2038.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 2039.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 2040.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a 2041.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e 2042.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e 2043.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 2044.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf 2045.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 2046.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 2047.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 2048.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 2049.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 2050.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 2051.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc 2052.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 2053.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a 2054.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 2055.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 2056.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 2057.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b 2058.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf 2059.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 2060.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 2061.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 2062.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 2063.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 2064.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 2065.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 2066.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb 2067.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c 2068.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 2069.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 2070.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 2071.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 2072.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a 2073.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e 2074.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e 2075.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 2076.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf 2077.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 2078.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 2079.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 2080.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 2081.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 2082.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 2083.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc 2084.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 2085.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a 2086.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 2087.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 2088.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 2089.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b 2090.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf 2091.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 2092.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 2093.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 2094.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 2095.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 2096.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 2097.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 2098.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb 2099.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c 2100.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 2101.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 2102.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 2103.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 2104.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a 2105.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e 2106.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e 2107.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 2108.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf 2109.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 2110.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 2111.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 2112.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 2113.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 2114.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 2115.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc 2116.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 2117.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a 2118.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 2119.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 2120.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 2121.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b 2122.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf 2123.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 2124.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 2125.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 2126.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 2127.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 2128.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 2129.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 2130.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb 2131.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c 2132.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 2133.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 2134.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 2135.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 2136.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a 2137.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e 2138.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e 2139.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 2140.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf 2141.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 2142.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 2143.long 0x00000001, 0x00000002, 0x00000004, 0x00000008 2144.long 0x00000010, 0x00000020, 0x00000040, 0x00000080 2145.long 0x0000001b, 0x00000036, 0x80808080, 0x80808080 2146.long 0xfefefefe, 0xfefefefe, 0x1b1b1b1b, 0x1b1b1b1b 2147.align 64 2148.LAES_Td: 2149.long 0x50a7f451,0x50a7f451 2150.long 0x5365417e,0x5365417e 2151.long 0xc3a4171a,0xc3a4171a 2152.long 0x965e273a,0x965e273a 2153.long 0xcb6bab3b,0xcb6bab3b 2154.long 0xf1459d1f,0xf1459d1f 2155.long 0xab58faac,0xab58faac 2156.long 0x9303e34b,0x9303e34b 2157.long 0x55fa3020,0x55fa3020 2158.long 0xf66d76ad,0xf66d76ad 2159.long 0x9176cc88,0x9176cc88 2160.long 0x254c02f5,0x254c02f5 2161.long 0xfcd7e54f,0xfcd7e54f 2162.long 0xd7cb2ac5,0xd7cb2ac5 2163.long 0x80443526,0x80443526 2164.long 0x8fa362b5,0x8fa362b5 2165.long 0x495ab1de,0x495ab1de 2166.long 0x671bba25,0x671bba25 2167.long 0x980eea45,0x980eea45 2168.long 0xe1c0fe5d,0xe1c0fe5d 2169.long 0x02752fc3,0x02752fc3 2170.long 0x12f04c81,0x12f04c81 2171.long 0xa397468d,0xa397468d 2172.long 0xc6f9d36b,0xc6f9d36b 2173.long 0xe75f8f03,0xe75f8f03 2174.long 0x959c9215,0x959c9215 2175.long 0xeb7a6dbf,0xeb7a6dbf 2176.long 0xda595295,0xda595295 2177.long 0x2d83bed4,0x2d83bed4 2178.long 0xd3217458,0xd3217458 2179.long 0x2969e049,0x2969e049 2180.long 0x44c8c98e,0x44c8c98e 2181.long 0x6a89c275,0x6a89c275 2182.long 0x78798ef4,0x78798ef4 2183.long 0x6b3e5899,0x6b3e5899 2184.long 0xdd71b927,0xdd71b927 2185.long 0xb64fe1be,0xb64fe1be 2186.long 0x17ad88f0,0x17ad88f0 2187.long 0x66ac20c9,0x66ac20c9 2188.long 0xb43ace7d,0xb43ace7d 2189.long 0x184adf63,0x184adf63 2190.long 0x82311ae5,0x82311ae5 2191.long 0x60335197,0x60335197 2192.long 0x457f5362,0x457f5362 2193.long 0xe07764b1,0xe07764b1 2194.long 0x84ae6bbb,0x84ae6bbb 2195.long 0x1ca081fe,0x1ca081fe 2196.long 0x942b08f9,0x942b08f9 2197.long 0x58684870,0x58684870 2198.long 0x19fd458f,0x19fd458f 2199.long 0x876cde94,0x876cde94 2200.long 0xb7f87b52,0xb7f87b52 2201.long 0x23d373ab,0x23d373ab 2202.long 0xe2024b72,0xe2024b72 2203.long 0x578f1fe3,0x578f1fe3 2204.long 0x2aab5566,0x2aab5566 2205.long 0x0728ebb2,0x0728ebb2 2206.long 0x03c2b52f,0x03c2b52f 2207.long 0x9a7bc586,0x9a7bc586 2208.long 0xa50837d3,0xa50837d3 2209.long 0xf2872830,0xf2872830 2210.long 0xb2a5bf23,0xb2a5bf23 2211.long 0xba6a0302,0xba6a0302 2212.long 0x5c8216ed,0x5c8216ed 2213.long 0x2b1ccf8a,0x2b1ccf8a 2214.long 0x92b479a7,0x92b479a7 2215.long 0xf0f207f3,0xf0f207f3 2216.long 0xa1e2694e,0xa1e2694e 2217.long 0xcdf4da65,0xcdf4da65 2218.long 0xd5be0506,0xd5be0506 2219.long 0x1f6234d1,0x1f6234d1 2220.long 0x8afea6c4,0x8afea6c4 2221.long 0x9d532e34,0x9d532e34 2222.long 0xa055f3a2,0xa055f3a2 2223.long 0x32e18a05,0x32e18a05 2224.long 0x75ebf6a4,0x75ebf6a4 2225.long 0x39ec830b,0x39ec830b 2226.long 0xaaef6040,0xaaef6040 2227.long 0x069f715e,0x069f715e 2228.long 0x51106ebd,0x51106ebd 2229.long 0xf98a213e,0xf98a213e 2230.long 0x3d06dd96,0x3d06dd96 2231.long 0xae053edd,0xae053edd 2232.long 0x46bde64d,0x46bde64d 2233.long 0xb58d5491,0xb58d5491 2234.long 0x055dc471,0x055dc471 2235.long 0x6fd40604,0x6fd40604 2236.long 0xff155060,0xff155060 2237.long 0x24fb9819,0x24fb9819 2238.long 0x97e9bdd6,0x97e9bdd6 2239.long 0xcc434089,0xcc434089 2240.long 0x779ed967,0x779ed967 2241.long 0xbd42e8b0,0xbd42e8b0 2242.long 0x888b8907,0x888b8907 2243.long 0x385b19e7,0x385b19e7 2244.long 0xdbeec879,0xdbeec879 2245.long 0x470a7ca1,0x470a7ca1 2246.long 0xe90f427c,0xe90f427c 2247.long 0xc91e84f8,0xc91e84f8 2248.long 0x00000000,0x00000000 2249.long 0x83868009,0x83868009 2250.long 0x48ed2b32,0x48ed2b32 2251.long 0xac70111e,0xac70111e 2252.long 0x4e725a6c,0x4e725a6c 2253.long 0xfbff0efd,0xfbff0efd 2254.long 0x5638850f,0x5638850f 2255.long 0x1ed5ae3d,0x1ed5ae3d 2256.long 0x27392d36,0x27392d36 2257.long 0x64d90f0a,0x64d90f0a 2258.long 0x21a65c68,0x21a65c68 2259.long 0xd1545b9b,0xd1545b9b 2260.long 0x3a2e3624,0x3a2e3624 2261.long 0xb1670a0c,0xb1670a0c 2262.long 0x0fe75793,0x0fe75793 2263.long 0xd296eeb4,0xd296eeb4 2264.long 0x9e919b1b,0x9e919b1b 2265.long 0x4fc5c080,0x4fc5c080 2266.long 0xa220dc61,0xa220dc61 2267.long 0x694b775a,0x694b775a 2268.long 0x161a121c,0x161a121c 2269.long 0x0aba93e2,0x0aba93e2 2270.long 0xe52aa0c0,0xe52aa0c0 2271.long 0x43e0223c,0x43e0223c 2272.long 0x1d171b12,0x1d171b12 2273.long 0x0b0d090e,0x0b0d090e 2274.long 0xadc78bf2,0xadc78bf2 2275.long 0xb9a8b62d,0xb9a8b62d 2276.long 0xc8a91e14,0xc8a91e14 2277.long 0x8519f157,0x8519f157 2278.long 0x4c0775af,0x4c0775af 2279.long 0xbbdd99ee,0xbbdd99ee 2280.long 0xfd607fa3,0xfd607fa3 2281.long 0x9f2601f7,0x9f2601f7 2282.long 0xbcf5725c,0xbcf5725c 2283.long 0xc53b6644,0xc53b6644 2284.long 0x347efb5b,0x347efb5b 2285.long 0x7629438b,0x7629438b 2286.long 0xdcc623cb,0xdcc623cb 2287.long 0x68fcedb6,0x68fcedb6 2288.long 0x63f1e4b8,0x63f1e4b8 2289.long 0xcadc31d7,0xcadc31d7 2290.long 0x10856342,0x10856342 2291.long 0x40229713,0x40229713 2292.long 0x2011c684,0x2011c684 2293.long 0x7d244a85,0x7d244a85 2294.long 0xf83dbbd2,0xf83dbbd2 2295.long 0x1132f9ae,0x1132f9ae 2296.long 0x6da129c7,0x6da129c7 2297.long 0x4b2f9e1d,0x4b2f9e1d 2298.long 0xf330b2dc,0xf330b2dc 2299.long 0xec52860d,0xec52860d 2300.long 0xd0e3c177,0xd0e3c177 2301.long 0x6c16b32b,0x6c16b32b 2302.long 0x99b970a9,0x99b970a9 2303.long 0xfa489411,0xfa489411 2304.long 0x2264e947,0x2264e947 2305.long 0xc48cfca8,0xc48cfca8 2306.long 0x1a3ff0a0,0x1a3ff0a0 2307.long 0xd82c7d56,0xd82c7d56 2308.long 0xef903322,0xef903322 2309.long 0xc74e4987,0xc74e4987 2310.long 0xc1d138d9,0xc1d138d9 2311.long 0xfea2ca8c,0xfea2ca8c 2312.long 0x360bd498,0x360bd498 2313.long 0xcf81f5a6,0xcf81f5a6 2314.long 0x28de7aa5,0x28de7aa5 2315.long 0x268eb7da,0x268eb7da 2316.long 0xa4bfad3f,0xa4bfad3f 2317.long 0xe49d3a2c,0xe49d3a2c 2318.long 0x0d927850,0x0d927850 2319.long 0x9bcc5f6a,0x9bcc5f6a 2320.long 0x62467e54,0x62467e54 2321.long 0xc2138df6,0xc2138df6 2322.long 0xe8b8d890,0xe8b8d890 2323.long 0x5ef7392e,0x5ef7392e 2324.long 0xf5afc382,0xf5afc382 2325.long 0xbe805d9f,0xbe805d9f 2326.long 0x7c93d069,0x7c93d069 2327.long 0xa92dd56f,0xa92dd56f 2328.long 0xb31225cf,0xb31225cf 2329.long 0x3b99acc8,0x3b99acc8 2330.long 0xa77d1810,0xa77d1810 2331.long 0x6e639ce8,0x6e639ce8 2332.long 0x7bbb3bdb,0x7bbb3bdb 2333.long 0x097826cd,0x097826cd 2334.long 0xf418596e,0xf418596e 2335.long 0x01b79aec,0x01b79aec 2336.long 0xa89a4f83,0xa89a4f83 2337.long 0x656e95e6,0x656e95e6 2338.long 0x7ee6ffaa,0x7ee6ffaa 2339.long 0x08cfbc21,0x08cfbc21 2340.long 0xe6e815ef,0xe6e815ef 2341.long 0xd99be7ba,0xd99be7ba 2342.long 0xce366f4a,0xce366f4a 2343.long 0xd4099fea,0xd4099fea 2344.long 0xd67cb029,0xd67cb029 2345.long 0xafb2a431,0xafb2a431 2346.long 0x31233f2a,0x31233f2a 2347.long 0x3094a5c6,0x3094a5c6 2348.long 0xc066a235,0xc066a235 2349.long 0x37bc4e74,0x37bc4e74 2350.long 0xa6ca82fc,0xa6ca82fc 2351.long 0xb0d090e0,0xb0d090e0 2352.long 0x15d8a733,0x15d8a733 2353.long 0x4a9804f1,0x4a9804f1 2354.long 0xf7daec41,0xf7daec41 2355.long 0x0e50cd7f,0x0e50cd7f 2356.long 0x2ff69117,0x2ff69117 2357.long 0x8dd64d76,0x8dd64d76 2358.long 0x4db0ef43,0x4db0ef43 2359.long 0x544daacc,0x544daacc 2360.long 0xdf0496e4,0xdf0496e4 2361.long 0xe3b5d19e,0xe3b5d19e 2362.long 0x1b886a4c,0x1b886a4c 2363.long 0xb81f2cc1,0xb81f2cc1 2364.long 0x7f516546,0x7f516546 2365.long 0x04ea5e9d,0x04ea5e9d 2366.long 0x5d358c01,0x5d358c01 2367.long 0x737487fa,0x737487fa 2368.long 0x2e410bfb,0x2e410bfb 2369.long 0x5a1d67b3,0x5a1d67b3 2370.long 0x52d2db92,0x52d2db92 2371.long 0x335610e9,0x335610e9 2372.long 0x1347d66d,0x1347d66d 2373.long 0x8c61d79a,0x8c61d79a 2374.long 0x7a0ca137,0x7a0ca137 2375.long 0x8e14f859,0x8e14f859 2376.long 0x893c13eb,0x893c13eb 2377.long 0xee27a9ce,0xee27a9ce 2378.long 0x35c961b7,0x35c961b7 2379.long 0xede51ce1,0xede51ce1 2380.long 0x3cb1477a,0x3cb1477a 2381.long 0x59dfd29c,0x59dfd29c 2382.long 0x3f73f255,0x3f73f255 2383.long 0x79ce1418,0x79ce1418 2384.long 0xbf37c773,0xbf37c773 2385.long 0xeacdf753,0xeacdf753 2386.long 0x5baafd5f,0x5baafd5f 2387.long 0x146f3ddf,0x146f3ddf 2388.long 0x86db4478,0x86db4478 2389.long 0x81f3afca,0x81f3afca 2390.long 0x3ec468b9,0x3ec468b9 2391.long 0x2c342438,0x2c342438 2392.long 0x5f40a3c2,0x5f40a3c2 2393.long 0x72c31d16,0x72c31d16 2394.long 0x0c25e2bc,0x0c25e2bc 2395.long 0x8b493c28,0x8b493c28 2396.long 0x41950dff,0x41950dff 2397.long 0x7101a839,0x7101a839 2398.long 0xdeb30c08,0xdeb30c08 2399.long 0x9ce4b4d8,0x9ce4b4d8 2400.long 0x90c15664,0x90c15664 2401.long 0x6184cb7b,0x6184cb7b 2402.long 0x70b632d5,0x70b632d5 2403.long 0x745c6c48,0x745c6c48 2404.long 0x4257b8d0,0x4257b8d0 2405.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 2406.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb 2407.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 2408.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb 2409.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d 2410.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e 2411.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 2412.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 2413.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 2414.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 2415.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda 2416.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 2417.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a 2418.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 2419.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 2420.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b 2421.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea 2422.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 2423.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 2424.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e 2425.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 2426.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b 2427.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 2428.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 2429.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 2430.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f 2431.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d 2432.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef 2433.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 2434.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 2435.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 2436.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d 2437.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe 2438.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 2439.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 2440.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb 2441.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 2442.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb 2443.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d 2444.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e 2445.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 2446.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 2447.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 2448.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 2449.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda 2450.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 2451.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a 2452.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 2453.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 2454.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b 2455.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea 2456.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 2457.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 2458.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e 2459.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 2460.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b 2461.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 2462.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 2463.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 2464.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f 2465.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d 2466.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef 2467.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 2468.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 2469.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 2470.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d 2471.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe 2472.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 2473.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 2474.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb 2475.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 2476.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb 2477.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d 2478.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e 2479.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 2480.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 2481.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 2482.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 2483.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda 2484.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 2485.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a 2486.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 2487.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 2488.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b 2489.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea 2490.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 2491.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 2492.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e 2493.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 2494.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b 2495.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 2496.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 2497.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 2498.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f 2499.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d 2500.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef 2501.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 2502.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 2503.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 2504.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d 2505.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe 2506.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 2507.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 2508.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb 2509.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 2510.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb 2511.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d 2512.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e 2513.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 2514.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 2515.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 2516.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 2517.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda 2518.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 2519.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a 2520.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 2521.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 2522.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b 2523.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea 2524.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 2525.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 2526.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e 2527.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 2528.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b 2529.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 2530.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 2531.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 2532.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f 2533.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d 2534.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef 2535.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 2536.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 2537.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 2538.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d 2539.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe 2540.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 2541.byte 65,69,83,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 2542.align 64 2543