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