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