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