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