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