1OPTION DOTNAME 2.text$ SEGMENT ALIGN(256) 'CODE' 3 4ALIGN 16 5_x86_64_AES_encrypt PROC PRIVATE 6 xor eax,DWORD PTR[r15] 7 xor ebx,DWORD PTR[4+r15] 8 xor ecx,DWORD PTR[8+r15] 9 xor edx,DWORD PTR[12+r15] 10 11 mov r13d,DWORD PTR[240+r15] 12 sub r13d,1 13 jmp $L$enc_loop 14ALIGN 16 15$L$enc_loop:: 16 17 movzx esi,al 18 movzx edi,bl 19 movzx ebp,cl 20 mov r10d,DWORD PTR[rsi*8+r14] 21 mov r11d,DWORD PTR[rdi*8+r14] 22 mov r12d,DWORD PTR[rbp*8+r14] 23 24 movzx esi,bh 25 movzx edi,ch 26 movzx ebp,dl 27 xor r10d,DWORD PTR[3+rsi*8+r14] 28 xor r11d,DWORD PTR[3+rdi*8+r14] 29 mov r8d,DWORD PTR[rbp*8+r14] 30 31 movzx esi,dh 32 shr ecx,16 33 movzx ebp,ah 34 xor r12d,DWORD PTR[3+rsi*8+r14] 35 shr edx,16 36 xor r8d,DWORD PTR[3+rbp*8+r14] 37 38 shr ebx,16 39 lea r15,QWORD PTR[16+r15] 40 shr eax,16 41 42 movzx esi,cl 43 movzx edi,dl 44 movzx ebp,al 45 xor r10d,DWORD PTR[2+rsi*8+r14] 46 xor r11d,DWORD PTR[2+rdi*8+r14] 47 xor r12d,DWORD PTR[2+rbp*8+r14] 48 49 movzx esi,dh 50 movzx edi,ah 51 movzx ebp,bl 52 xor r10d,DWORD PTR[1+rsi*8+r14] 53 xor r11d,DWORD PTR[1+rdi*8+r14] 54 xor r8d,DWORD PTR[2+rbp*8+r14] 55 56 mov edx,DWORD PTR[12+r15] 57 movzx edi,bh 58 movzx ebp,ch 59 mov eax,DWORD PTR[r15] 60 xor r12d,DWORD PTR[1+rdi*8+r14] 61 xor r8d,DWORD PTR[1+rbp*8+r14] 62 63 mov ebx,DWORD PTR[4+r15] 64 mov ecx,DWORD PTR[8+r15] 65 xor eax,r10d 66 xor ebx,r11d 67 xor ecx,r12d 68 xor edx,r8d 69 sub r13d,1 70 jnz $L$enc_loop 71 movzx esi,al 72 movzx edi,bl 73 movzx ebp,cl 74 movzx r10d,BYTE PTR[2+rsi*8+r14] 75 movzx r11d,BYTE PTR[2+rdi*8+r14] 76 movzx r12d,BYTE PTR[2+rbp*8+r14] 77 78 movzx esi,dl 79 movzx edi,bh 80 movzx ebp,ch 81 movzx r8d,BYTE PTR[2+rsi*8+r14] 82 mov edi,DWORD PTR[rdi*8+r14] 83 mov ebp,DWORD PTR[rbp*8+r14] 84 85 and edi,00000ff00h 86 and ebp,00000ff00h 87 88 xor r10d,edi 89 xor r11d,ebp 90 shr ecx,16 91 92 movzx esi,dh 93 movzx edi,ah 94 shr edx,16 95 mov esi,DWORD PTR[rsi*8+r14] 96 mov edi,DWORD PTR[rdi*8+r14] 97 98 and esi,00000ff00h 99 and edi,00000ff00h 100 shr ebx,16 101 xor r12d,esi 102 xor r8d,edi 103 shr eax,16 104 105 movzx esi,cl 106 movzx edi,dl 107 movzx ebp,al 108 mov esi,DWORD PTR[rsi*8+r14] 109 mov edi,DWORD PTR[rdi*8+r14] 110 mov ebp,DWORD PTR[rbp*8+r14] 111 112 and esi,000ff0000h 113 and edi,000ff0000h 114 and ebp,000ff0000h 115 116 xor r10d,esi 117 xor r11d,edi 118 xor r12d,ebp 119 120 movzx esi,bl 121 movzx edi,dh 122 movzx ebp,ah 123 mov esi,DWORD PTR[rsi*8+r14] 124 mov edi,DWORD PTR[2+rdi*8+r14] 125 mov ebp,DWORD PTR[2+rbp*8+r14] 126 127 and esi,000ff0000h 128 and edi,0ff000000h 129 and ebp,0ff000000h 130 131 xor r8d,esi 132 xor r10d,edi 133 xor r11d,ebp 134 135 movzx esi,bh 136 movzx edi,ch 137 mov edx,DWORD PTR[((16+12))+r15] 138 mov esi,DWORD PTR[2+rsi*8+r14] 139 mov edi,DWORD PTR[2+rdi*8+r14] 140 mov eax,DWORD PTR[((16+0))+r15] 141 142 and esi,0ff000000h 143 and edi,0ff000000h 144 145 xor r12d,esi 146 xor r8d,edi 147 148 mov ebx,DWORD PTR[((16+4))+r15] 149 mov ecx,DWORD PTR[((16+8))+r15] 150 xor eax,r10d 151 xor ebx,r11d 152 xor ecx,r12d 153 xor edx,r8d 154DB 0f3h,0c3h 155_x86_64_AES_encrypt ENDP 156 157ALIGN 16 158_x86_64_AES_encrypt_compact PROC PRIVATE 159 lea r8,QWORD PTR[128+r14] 160 mov edi,DWORD PTR[((0-128))+r8] 161 mov ebp,DWORD PTR[((32-128))+r8] 162 mov r10d,DWORD PTR[((64-128))+r8] 163 mov r11d,DWORD PTR[((96-128))+r8] 164 mov edi,DWORD PTR[((128-128))+r8] 165 mov ebp,DWORD PTR[((160-128))+r8] 166 mov r10d,DWORD PTR[((192-128))+r8] 167 mov r11d,DWORD PTR[((224-128))+r8] 168 jmp $L$enc_loop_compact 169ALIGN 16 170$L$enc_loop_compact:: 171 xor eax,DWORD PTR[r15] 172 xor ebx,DWORD PTR[4+r15] 173 xor ecx,DWORD PTR[8+r15] 174 xor edx,DWORD PTR[12+r15] 175 lea r15,QWORD PTR[16+r15] 176 movzx r10d,al 177 movzx r11d,bl 178 movzx r12d,cl 179 movzx r8d,dl 180 movzx esi,bh 181 movzx edi,ch 182 shr ecx,16 183 movzx ebp,dh 184 movzx r10d,BYTE PTR[r10*1+r14] 185 movzx r11d,BYTE PTR[r11*1+r14] 186 movzx r12d,BYTE PTR[r12*1+r14] 187 movzx r8d,BYTE PTR[r8*1+r14] 188 189 movzx r9d,BYTE PTR[rsi*1+r14] 190 movzx esi,ah 191 movzx r13d,BYTE PTR[rdi*1+r14] 192 movzx edi,cl 193 movzx ebp,BYTE PTR[rbp*1+r14] 194 movzx esi,BYTE PTR[rsi*1+r14] 195 196 shl r9d,8 197 shr edx,16 198 shl r13d,8 199 xor r10d,r9d 200 shr eax,16 201 movzx r9d,dl 202 shr ebx,16 203 xor r11d,r13d 204 shl ebp,8 205 movzx r13d,al 206 movzx edi,BYTE PTR[rdi*1+r14] 207 xor r12d,ebp 208 209 shl esi,8 210 movzx ebp,bl 211 shl edi,16 212 xor r8d,esi 213 movzx r9d,BYTE PTR[r9*1+r14] 214 movzx esi,dh 215 movzx r13d,BYTE PTR[r13*1+r14] 216 xor r10d,edi 217 218 shr ecx,8 219 movzx edi,ah 220 shl r9d,16 221 shr ebx,8 222 shl r13d,16 223 xor r11d,r9d 224 movzx ebp,BYTE PTR[rbp*1+r14] 225 movzx esi,BYTE PTR[rsi*1+r14] 226 movzx edi,BYTE PTR[rdi*1+r14] 227 movzx edx,BYTE PTR[rcx*1+r14] 228 movzx ecx,BYTE PTR[rbx*1+r14] 229 230 shl ebp,16 231 xor r12d,r13d 232 shl esi,24 233 xor r8d,ebp 234 shl edi,24 235 xor r10d,esi 236 shl edx,24 237 xor r11d,edi 238 shl ecx,24 239 mov eax,r10d 240 mov ebx,r11d 241 xor ecx,r12d 242 xor edx,r8d 243 cmp r15,QWORD PTR[16+rsp] 244 je $L$enc_compact_done 245 mov r10d,080808080h 246 mov r11d,080808080h 247 and r10d,eax 248 and r11d,ebx 249 mov esi,r10d 250 mov edi,r11d 251 shr r10d,7 252 lea r8d,DWORD PTR[rax*1+rax] 253 shr r11d,7 254 lea r9d,DWORD PTR[rbx*1+rbx] 255 sub esi,r10d 256 sub edi,r11d 257 and r8d,0fefefefeh 258 and r9d,0fefefefeh 259 and esi,01b1b1b1bh 260 and edi,01b1b1b1bh 261 mov r10d,eax 262 mov r11d,ebx 263 xor r8d,esi 264 xor r9d,edi 265 266 xor eax,r8d 267 xor ebx,r9d 268 mov r12d,080808080h 269 rol eax,24 270 mov ebp,080808080h 271 rol ebx,24 272 and r12d,ecx 273 and ebp,edx 274 xor eax,r8d 275 xor ebx,r9d 276 mov esi,r12d 277 ror r10d,16 278 mov edi,ebp 279 ror r11d,16 280 lea r8d,DWORD PTR[rcx*1+rcx] 281 shr r12d,7 282 xor eax,r10d 283 shr ebp,7 284 xor ebx,r11d 285 ror r10d,8 286 lea r9d,DWORD PTR[rdx*1+rdx] 287 ror r11d,8 288 sub esi,r12d 289 sub edi,ebp 290 xor eax,r10d 291 xor ebx,r11d 292 293 and r8d,0fefefefeh 294 and r9d,0fefefefeh 295 and esi,01b1b1b1bh 296 and edi,01b1b1b1bh 297 mov r12d,ecx 298 mov ebp,edx 299 xor r8d,esi 300 xor r9d,edi 301 302 ror r12d,16 303 xor ecx,r8d 304 ror ebp,16 305 xor edx,r9d 306 rol ecx,24 307 mov esi,DWORD PTR[r14] 308 rol edx,24 309 xor ecx,r8d 310 mov edi,DWORD PTR[64+r14] 311 xor edx,r9d 312 mov r8d,DWORD PTR[128+r14] 313 xor ecx,r12d 314 ror r12d,8 315 xor edx,ebp 316 ror ebp,8 317 xor ecx,r12d 318 mov r9d,DWORD PTR[192+r14] 319 xor edx,ebp 320 jmp $L$enc_loop_compact 321ALIGN 16 322$L$enc_compact_done:: 323 xor eax,DWORD PTR[r15] 324 xor ebx,DWORD PTR[4+r15] 325 xor ecx,DWORD PTR[8+r15] 326 xor edx,DWORD PTR[12+r15] 327DB 0f3h,0c3h 328_x86_64_AES_encrypt_compact ENDP 329ALIGN 16 330PUBLIC asm_AES_encrypt 331 332 333asm_AES_encrypt PROC PUBLIC 334 mov QWORD PTR[8+rsp],rdi ;WIN64 prologue 335 mov QWORD PTR[16+rsp],rsi 336 mov rax,rsp 337$L$SEH_begin_asm_AES_encrypt:: 338 mov rdi,rcx 339 mov rsi,rdx 340 mov rdx,r8 341 342 343 push rbx 344 push rbp 345 push r12 346 push r13 347 push r14 348 push r15 349 350 351 mov r10,rsp 352 lea rcx,QWORD PTR[((-63))+rdx] 353 and rsp,-64 354 sub rcx,rsp 355 neg rcx 356 and rcx,03c0h 357 sub rsp,rcx 358 sub rsp,32 359 360 mov QWORD PTR[16+rsp],rsi 361 mov QWORD PTR[24+rsp],r10 362$L$enc_prologue:: 363 364 mov r15,rdx 365 mov r13d,DWORD PTR[240+r15] 366 367 mov eax,DWORD PTR[rdi] 368 mov ebx,DWORD PTR[4+rdi] 369 mov ecx,DWORD PTR[8+rdi] 370 mov edx,DWORD PTR[12+rdi] 371 372 shl r13d,4 373 lea rbp,QWORD PTR[r13*1+r15] 374 mov QWORD PTR[rsp],r15 375 mov QWORD PTR[8+rsp],rbp 376 377 378 lea r14,QWORD PTR[(($L$AES_Te+2048))] 379 lea rbp,QWORD PTR[768+rsp] 380 sub rbp,r14 381 and rbp,0300h 382 lea r14,QWORD PTR[rbp*1+r14] 383 384 call _x86_64_AES_encrypt_compact 385 386 mov r9,QWORD PTR[16+rsp] 387 mov rsi,QWORD PTR[24+rsp] 388 mov DWORD PTR[r9],eax 389 mov DWORD PTR[4+r9],ebx 390 mov DWORD PTR[8+r9],ecx 391 mov DWORD PTR[12+r9],edx 392 393 mov r15,QWORD PTR[rsi] 394 mov r14,QWORD PTR[8+rsi] 395 mov r13,QWORD PTR[16+rsi] 396 mov r12,QWORD PTR[24+rsi] 397 mov rbp,QWORD PTR[32+rsi] 398 mov rbx,QWORD PTR[40+rsi] 399 lea rsp,QWORD PTR[48+rsi] 400$L$enc_epilogue:: 401 mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue 402 mov rsi,QWORD PTR[16+rsp] 403 DB 0F3h,0C3h ;repret 404$L$SEH_end_asm_AES_encrypt:: 405asm_AES_encrypt ENDP 406 407ALIGN 16 408_x86_64_AES_decrypt PROC PRIVATE 409 xor eax,DWORD PTR[r15] 410 xor ebx,DWORD PTR[4+r15] 411 xor ecx,DWORD PTR[8+r15] 412 xor edx,DWORD PTR[12+r15] 413 414 mov r13d,DWORD PTR[240+r15] 415 sub r13d,1 416 jmp $L$dec_loop 417ALIGN 16 418$L$dec_loop:: 419 420 movzx esi,al 421 movzx edi,bl 422 movzx ebp,cl 423 mov r10d,DWORD PTR[rsi*8+r14] 424 mov r11d,DWORD PTR[rdi*8+r14] 425 mov r12d,DWORD PTR[rbp*8+r14] 426 427 movzx esi,dh 428 movzx edi,ah 429 movzx ebp,dl 430 xor r10d,DWORD PTR[3+rsi*8+r14] 431 xor r11d,DWORD PTR[3+rdi*8+r14] 432 mov r8d,DWORD PTR[rbp*8+r14] 433 434 movzx esi,bh 435 shr eax,16 436 movzx ebp,ch 437 xor r12d,DWORD PTR[3+rsi*8+r14] 438 shr edx,16 439 xor r8d,DWORD PTR[3+rbp*8+r14] 440 441 shr ebx,16 442 lea r15,QWORD PTR[16+r15] 443 shr ecx,16 444 445 movzx esi,cl 446 movzx edi,dl 447 movzx ebp,al 448 xor r10d,DWORD PTR[2+rsi*8+r14] 449 xor r11d,DWORD PTR[2+rdi*8+r14] 450 xor r12d,DWORD PTR[2+rbp*8+r14] 451 452 movzx esi,bh 453 movzx edi,ch 454 movzx ebp,bl 455 xor r10d,DWORD PTR[1+rsi*8+r14] 456 xor r11d,DWORD PTR[1+rdi*8+r14] 457 xor r8d,DWORD PTR[2+rbp*8+r14] 458 459 movzx esi,dh 460 mov edx,DWORD PTR[12+r15] 461 movzx ebp,ah 462 xor r12d,DWORD PTR[1+rsi*8+r14] 463 mov eax,DWORD PTR[r15] 464 xor r8d,DWORD PTR[1+rbp*8+r14] 465 466 xor eax,r10d 467 mov ebx,DWORD PTR[4+r15] 468 mov ecx,DWORD PTR[8+r15] 469 xor ecx,r12d 470 xor ebx,r11d 471 xor edx,r8d 472 sub r13d,1 473 jnz $L$dec_loop 474 lea r14,QWORD PTR[2048+r14] 475 movzx esi,al 476 movzx edi,bl 477 movzx ebp,cl 478 movzx r10d,BYTE PTR[rsi*1+r14] 479 movzx r11d,BYTE PTR[rdi*1+r14] 480 movzx r12d,BYTE PTR[rbp*1+r14] 481 482 movzx esi,dl 483 movzx edi,dh 484 movzx ebp,ah 485 movzx r8d,BYTE PTR[rsi*1+r14] 486 movzx edi,BYTE PTR[rdi*1+r14] 487 movzx ebp,BYTE PTR[rbp*1+r14] 488 489 shl edi,8 490 shl ebp,8 491 492 xor r10d,edi 493 xor r11d,ebp 494 shr edx,16 495 496 movzx esi,bh 497 movzx edi,ch 498 shr eax,16 499 movzx esi,BYTE PTR[rsi*1+r14] 500 movzx edi,BYTE PTR[rdi*1+r14] 501 502 shl esi,8 503 shl edi,8 504 shr ebx,16 505 xor r12d,esi 506 xor r8d,edi 507 shr ecx,16 508 509 movzx esi,cl 510 movzx edi,dl 511 movzx ebp,al 512 movzx esi,BYTE PTR[rsi*1+r14] 513 movzx edi,BYTE PTR[rdi*1+r14] 514 movzx ebp,BYTE PTR[rbp*1+r14] 515 516 shl esi,16 517 shl edi,16 518 shl ebp,16 519 520 xor r10d,esi 521 xor r11d,edi 522 xor r12d,ebp 523 524 movzx esi,bl 525 movzx edi,bh 526 movzx ebp,ch 527 movzx esi,BYTE PTR[rsi*1+r14] 528 movzx edi,BYTE PTR[rdi*1+r14] 529 movzx ebp,BYTE PTR[rbp*1+r14] 530 531 shl esi,16 532 shl edi,24 533 shl ebp,24 534 535 xor r8d,esi 536 xor r10d,edi 537 xor r11d,ebp 538 539 movzx esi,dh 540 movzx edi,ah 541 mov edx,DWORD PTR[((16+12))+r15] 542 movzx esi,BYTE PTR[rsi*1+r14] 543 movzx edi,BYTE PTR[rdi*1+r14] 544 mov eax,DWORD PTR[((16+0))+r15] 545 546 shl esi,24 547 shl edi,24 548 549 xor r12d,esi 550 xor r8d,edi 551 552 mov ebx,DWORD PTR[((16+4))+r15] 553 mov ecx,DWORD PTR[((16+8))+r15] 554 lea r14,QWORD PTR[((-2048))+r14] 555 xor eax,r10d 556 xor ebx,r11d 557 xor ecx,r12d 558 xor edx,r8d 559DB 0f3h,0c3h 560_x86_64_AES_decrypt ENDP 561 562ALIGN 16 563_x86_64_AES_decrypt_compact PROC PRIVATE 564 lea r8,QWORD PTR[128+r14] 565 mov edi,DWORD PTR[((0-128))+r8] 566 mov ebp,DWORD PTR[((32-128))+r8] 567 mov r10d,DWORD PTR[((64-128))+r8] 568 mov r11d,DWORD PTR[((96-128))+r8] 569 mov edi,DWORD PTR[((128-128))+r8] 570 mov ebp,DWORD PTR[((160-128))+r8] 571 mov r10d,DWORD PTR[((192-128))+r8] 572 mov r11d,DWORD PTR[((224-128))+r8] 573 jmp $L$dec_loop_compact 574 575ALIGN 16 576$L$dec_loop_compact:: 577 xor eax,DWORD PTR[r15] 578 xor ebx,DWORD PTR[4+r15] 579 xor ecx,DWORD PTR[8+r15] 580 xor edx,DWORD PTR[12+r15] 581 lea r15,QWORD PTR[16+r15] 582 movzx r10d,al 583 movzx r11d,bl 584 movzx r12d,cl 585 movzx r8d,dl 586 movzx esi,dh 587 movzx edi,ah 588 shr edx,16 589 movzx ebp,bh 590 movzx r10d,BYTE PTR[r10*1+r14] 591 movzx r11d,BYTE PTR[r11*1+r14] 592 movzx r12d,BYTE PTR[r12*1+r14] 593 movzx r8d,BYTE PTR[r8*1+r14] 594 595 movzx r9d,BYTE PTR[rsi*1+r14] 596 movzx esi,ch 597 movzx r13d,BYTE PTR[rdi*1+r14] 598 movzx ebp,BYTE PTR[rbp*1+r14] 599 movzx esi,BYTE PTR[rsi*1+r14] 600 601 shr ecx,16 602 shl r13d,8 603 shl r9d,8 604 movzx edi,cl 605 shr eax,16 606 xor r10d,r9d 607 shr ebx,16 608 movzx r9d,dl 609 610 shl ebp,8 611 xor r11d,r13d 612 shl esi,8 613 movzx r13d,al 614 movzx edi,BYTE PTR[rdi*1+r14] 615 xor r12d,ebp 616 movzx ebp,bl 617 618 shl edi,16 619 xor r8d,esi 620 movzx r9d,BYTE PTR[r9*1+r14] 621 movzx esi,bh 622 movzx ebp,BYTE PTR[rbp*1+r14] 623 xor r10d,edi 624 movzx r13d,BYTE PTR[r13*1+r14] 625 movzx edi,ch 626 627 shl ebp,16 628 shl r9d,16 629 shl r13d,16 630 xor r8d,ebp 631 movzx ebp,dh 632 xor r11d,r9d 633 shr eax,8 634 xor r12d,r13d 635 636 movzx esi,BYTE PTR[rsi*1+r14] 637 movzx ebx,BYTE PTR[rdi*1+r14] 638 movzx ecx,BYTE PTR[rbp*1+r14] 639 movzx edx,BYTE PTR[rax*1+r14] 640 641 mov eax,r10d 642 shl esi,24 643 shl ebx,24 644 shl ecx,24 645 xor eax,esi 646 shl edx,24 647 xor ebx,r11d 648 xor ecx,r12d 649 xor edx,r8d 650 cmp r15,QWORD PTR[16+rsp] 651 je $L$dec_compact_done 652 653 mov rsi,QWORD PTR[((256+0))+r14] 654 shl rbx,32 655 shl rdx,32 656 mov rdi,QWORD PTR[((256+8))+r14] 657 or rax,rbx 658 or rcx,rdx 659 mov rbp,QWORD PTR[((256+16))+r14] 660 mov r9,rsi 661 mov r12,rsi 662 and r9,rax 663 and r12,rcx 664 mov rbx,r9 665 mov rdx,r12 666 shr r9,7 667 lea r8,QWORD PTR[rax*1+rax] 668 shr r12,7 669 lea r11,QWORD PTR[rcx*1+rcx] 670 sub rbx,r9 671 sub rdx,r12 672 and r8,rdi 673 and r11,rdi 674 and rbx,rbp 675 and rdx,rbp 676 xor r8,rbx 677 xor r11,rdx 678 mov r10,rsi 679 mov r13,rsi 680 681 and r10,r8 682 and r13,r11 683 mov rbx,r10 684 mov rdx,r13 685 shr r10,7 686 lea r9,QWORD PTR[r8*1+r8] 687 shr r13,7 688 lea r12,QWORD PTR[r11*1+r11] 689 sub rbx,r10 690 sub rdx,r13 691 and r9,rdi 692 and r12,rdi 693 and rbx,rbp 694 and rdx,rbp 695 xor r9,rbx 696 xor r12,rdx 697 mov r10,rsi 698 mov r13,rsi 699 700 and r10,r9 701 and r13,r12 702 mov rbx,r10 703 mov rdx,r13 704 shr r10,7 705 xor r8,rax 706 shr r13,7 707 xor r11,rcx 708 sub rbx,r10 709 sub rdx,r13 710 lea r10,QWORD PTR[r9*1+r9] 711 lea r13,QWORD PTR[r12*1+r12] 712 xor r9,rax 713 xor r12,rcx 714 and r10,rdi 715 and r13,rdi 716 and rbx,rbp 717 and rdx,rbp 718 xor r10,rbx 719 xor r13,rdx 720 721 xor rax,r10 722 xor rcx,r13 723 xor r8,r10 724 xor r11,r13 725 mov rbx,rax 726 mov rdx,rcx 727 xor r9,r10 728 shr rbx,32 729 xor r12,r13 730 shr rdx,32 731 xor r10,r8 732 rol eax,8 733 xor r13,r11 734 rol ecx,8 735 xor r10,r9 736 rol ebx,8 737 xor r13,r12 738 739 rol edx,8 740 xor eax,r10d 741 shr r10,32 742 xor ecx,r13d 743 shr r13,32 744 xor ebx,r10d 745 xor edx,r13d 746 747 mov r10,r8 748 rol r8d,24 749 mov r13,r11 750 rol r11d,24 751 shr r10,32 752 xor eax,r8d 753 shr r13,32 754 xor ecx,r11d 755 rol r10d,24 756 mov r8,r9 757 rol r13d,24 758 mov r11,r12 759 shr r8,32 760 xor ebx,r10d 761 shr r11,32 762 xor edx,r13d 763 764 mov rsi,QWORD PTR[r14] 765 rol r9d,16 766 mov rdi,QWORD PTR[64+r14] 767 rol r12d,16 768 mov rbp,QWORD PTR[128+r14] 769 rol r8d,16 770 mov r10,QWORD PTR[192+r14] 771 xor eax,r9d 772 rol r11d,16 773 xor ecx,r12d 774 mov r13,QWORD PTR[256+r14] 775 xor ebx,r8d 776 xor edx,r11d 777 jmp $L$dec_loop_compact 778ALIGN 16 779$L$dec_compact_done:: 780 xor eax,DWORD PTR[r15] 781 xor ebx,DWORD PTR[4+r15] 782 xor ecx,DWORD PTR[8+r15] 783 xor edx,DWORD PTR[12+r15] 784DB 0f3h,0c3h 785_x86_64_AES_decrypt_compact ENDP 786ALIGN 16 787PUBLIC asm_AES_decrypt 788 789 790asm_AES_decrypt PROC PUBLIC 791 mov QWORD PTR[8+rsp],rdi ;WIN64 prologue 792 mov QWORD PTR[16+rsp],rsi 793 mov rax,rsp 794$L$SEH_begin_asm_AES_decrypt:: 795 mov rdi,rcx 796 mov rsi,rdx 797 mov rdx,r8 798 799 800 push rbx 801 push rbp 802 push r12 803 push r13 804 push r14 805 push r15 806 807 808 mov r10,rsp 809 lea rcx,QWORD PTR[((-63))+rdx] 810 and rsp,-64 811 sub rcx,rsp 812 neg rcx 813 and rcx,03c0h 814 sub rsp,rcx 815 sub rsp,32 816 817 mov QWORD PTR[16+rsp],rsi 818 mov QWORD PTR[24+rsp],r10 819$L$dec_prologue:: 820 821 mov r15,rdx 822 mov r13d,DWORD PTR[240+r15] 823 824 mov eax,DWORD PTR[rdi] 825 mov ebx,DWORD PTR[4+rdi] 826 mov ecx,DWORD PTR[8+rdi] 827 mov edx,DWORD PTR[12+rdi] 828 829 shl r13d,4 830 lea rbp,QWORD PTR[r13*1+r15] 831 mov QWORD PTR[rsp],r15 832 mov QWORD PTR[8+rsp],rbp 833 834 835 lea r14,QWORD PTR[(($L$AES_Td+2048))] 836 lea rbp,QWORD PTR[768+rsp] 837 sub rbp,r14 838 and rbp,0300h 839 lea r14,QWORD PTR[rbp*1+r14] 840 shr rbp,3 841 add r14,rbp 842 843 call _x86_64_AES_decrypt_compact 844 845 mov r9,QWORD PTR[16+rsp] 846 mov rsi,QWORD PTR[24+rsp] 847 mov DWORD PTR[r9],eax 848 mov DWORD PTR[4+r9],ebx 849 mov DWORD PTR[8+r9],ecx 850 mov DWORD PTR[12+r9],edx 851 852 mov r15,QWORD PTR[rsi] 853 mov r14,QWORD PTR[8+rsi] 854 mov r13,QWORD PTR[16+rsi] 855 mov r12,QWORD PTR[24+rsi] 856 mov rbp,QWORD PTR[32+rsi] 857 mov rbx,QWORD PTR[40+rsi] 858 lea rsp,QWORD PTR[48+rsi] 859$L$dec_epilogue:: 860 mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue 861 mov rsi,QWORD PTR[16+rsp] 862 DB 0F3h,0C3h ;repret 863$L$SEH_end_asm_AES_decrypt:: 864asm_AES_decrypt ENDP 865ALIGN 16 866PUBLIC asm_AES_set_encrypt_key 867 868asm_AES_set_encrypt_key PROC PUBLIC 869 mov QWORD PTR[8+rsp],rdi ;WIN64 prologue 870 mov QWORD PTR[16+rsp],rsi 871 mov rax,rsp 872$L$SEH_begin_asm_AES_set_encrypt_key:: 873 mov rdi,rcx 874 mov rsi,rdx 875 mov rdx,r8 876 877 878 push rbx 879 push rbp 880 push r12 881 push r13 882 push r14 883 push r15 884 sub rsp,8 885$L$enc_key_prologue:: 886 887 call _x86_64_AES_set_encrypt_key 888 889 mov rbp,QWORD PTR[40+rsp] 890 mov rbx,QWORD PTR[48+rsp] 891 add rsp,56 892$L$enc_key_epilogue:: 893 mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue 894 mov rsi,QWORD PTR[16+rsp] 895 DB 0F3h,0C3h ;repret 896$L$SEH_end_asm_AES_set_encrypt_key:: 897asm_AES_set_encrypt_key ENDP 898 899 900ALIGN 16 901_x86_64_AES_set_encrypt_key PROC PRIVATE 902 mov ecx,esi 903 mov rsi,rdi 904 mov rdi,rdx 905 906 test rsi,-1 907 jz $L$badpointer 908 test rdi,-1 909 jz $L$badpointer 910 911 lea rbp,QWORD PTR[$L$AES_Te] 912 lea rbp,QWORD PTR[((2048+128))+rbp] 913 914 915 mov eax,DWORD PTR[((0-128))+rbp] 916 mov ebx,DWORD PTR[((32-128))+rbp] 917 mov r8d,DWORD PTR[((64-128))+rbp] 918 mov edx,DWORD PTR[((96-128))+rbp] 919 mov eax,DWORD PTR[((128-128))+rbp] 920 mov ebx,DWORD PTR[((160-128))+rbp] 921 mov r8d,DWORD PTR[((192-128))+rbp] 922 mov edx,DWORD PTR[((224-128))+rbp] 923 924 cmp ecx,128 925 je $L$10rounds 926 cmp ecx,192 927 je $L$12rounds 928 cmp ecx,256 929 je $L$14rounds 930 mov rax,-2 931 jmp $L$exit 932 933$L$10rounds:: 934 mov rax,QWORD PTR[rsi] 935 mov rdx,QWORD PTR[8+rsi] 936 mov QWORD PTR[rdi],rax 937 mov QWORD PTR[8+rdi],rdx 938 939 shr rdx,32 940 xor ecx,ecx 941 jmp $L$10shortcut 942ALIGN 4 943$L$10loop:: 944 mov eax,DWORD PTR[rdi] 945 mov edx,DWORD PTR[12+rdi] 946$L$10shortcut:: 947 movzx esi,dl 948 movzx ebx,BYTE PTR[((-128))+rsi*1+rbp] 949 movzx esi,dh 950 shl ebx,24 951 xor eax,ebx 952 953 movzx ebx,BYTE PTR[((-128))+rsi*1+rbp] 954 shr edx,16 955 movzx esi,dl 956 xor eax,ebx 957 958 movzx ebx,BYTE PTR[((-128))+rsi*1+rbp] 959 movzx esi,dh 960 shl ebx,8 961 xor eax,ebx 962 963 movzx ebx,BYTE PTR[((-128))+rsi*1+rbp] 964 shl ebx,16 965 xor eax,ebx 966 967 xor eax,DWORD PTR[((1024-128))+rcx*4+rbp] 968 mov DWORD PTR[16+rdi],eax 969 xor eax,DWORD PTR[4+rdi] 970 mov DWORD PTR[20+rdi],eax 971 xor eax,DWORD PTR[8+rdi] 972 mov DWORD PTR[24+rdi],eax 973 xor eax,DWORD PTR[12+rdi] 974 mov DWORD PTR[28+rdi],eax 975 add ecx,1 976 lea rdi,QWORD PTR[16+rdi] 977 cmp ecx,10 978 jl $L$10loop 979 980 mov DWORD PTR[80+rdi],10 981 xor rax,rax 982 jmp $L$exit 983 984$L$12rounds:: 985 mov rax,QWORD PTR[rsi] 986 mov rbx,QWORD PTR[8+rsi] 987 mov rdx,QWORD PTR[16+rsi] 988 mov QWORD PTR[rdi],rax 989 mov QWORD PTR[8+rdi],rbx 990 mov QWORD PTR[16+rdi],rdx 991 992 shr rdx,32 993 xor ecx,ecx 994 jmp $L$12shortcut 995ALIGN 4 996$L$12loop:: 997 mov eax,DWORD PTR[rdi] 998 mov edx,DWORD PTR[20+rdi] 999$L$12shortcut:: 1000 movzx esi,dl 1001 movzx ebx,BYTE PTR[((-128))+rsi*1+rbp] 1002 movzx esi,dh 1003 shl ebx,24 1004 xor eax,ebx 1005 1006 movzx ebx,BYTE PTR[((-128))+rsi*1+rbp] 1007 shr edx,16 1008 movzx esi,dl 1009 xor eax,ebx 1010 1011 movzx ebx,BYTE PTR[((-128))+rsi*1+rbp] 1012 movzx esi,dh 1013 shl ebx,8 1014 xor eax,ebx 1015 1016 movzx ebx,BYTE PTR[((-128))+rsi*1+rbp] 1017 shl ebx,16 1018 xor eax,ebx 1019 1020 xor eax,DWORD PTR[((1024-128))+rcx*4+rbp] 1021 mov DWORD PTR[24+rdi],eax 1022 xor eax,DWORD PTR[4+rdi] 1023 mov DWORD PTR[28+rdi],eax 1024 xor eax,DWORD PTR[8+rdi] 1025 mov DWORD PTR[32+rdi],eax 1026 xor eax,DWORD PTR[12+rdi] 1027 mov DWORD PTR[36+rdi],eax 1028 1029 cmp ecx,7 1030 je $L$12break 1031 add ecx,1 1032 1033 xor eax,DWORD PTR[16+rdi] 1034 mov DWORD PTR[40+rdi],eax 1035 xor eax,DWORD PTR[20+rdi] 1036 mov DWORD PTR[44+rdi],eax 1037 1038 lea rdi,QWORD PTR[24+rdi] 1039 jmp $L$12loop 1040$L$12break:: 1041 mov DWORD PTR[72+rdi],12 1042 xor rax,rax 1043 jmp $L$exit 1044 1045$L$14rounds:: 1046 mov rax,QWORD PTR[rsi] 1047 mov rbx,QWORD PTR[8+rsi] 1048 mov rcx,QWORD PTR[16+rsi] 1049 mov rdx,QWORD PTR[24+rsi] 1050 mov QWORD PTR[rdi],rax 1051 mov QWORD PTR[8+rdi],rbx 1052 mov QWORD PTR[16+rdi],rcx 1053 mov QWORD PTR[24+rdi],rdx 1054 1055 shr rdx,32 1056 xor ecx,ecx 1057 jmp $L$14shortcut 1058ALIGN 4 1059$L$14loop:: 1060 mov eax,DWORD PTR[rdi] 1061 mov edx,DWORD PTR[28+rdi] 1062$L$14shortcut:: 1063 movzx esi,dl 1064 movzx ebx,BYTE PTR[((-128))+rsi*1+rbp] 1065 movzx esi,dh 1066 shl ebx,24 1067 xor eax,ebx 1068 1069 movzx ebx,BYTE PTR[((-128))+rsi*1+rbp] 1070 shr edx,16 1071 movzx esi,dl 1072 xor eax,ebx 1073 1074 movzx ebx,BYTE PTR[((-128))+rsi*1+rbp] 1075 movzx esi,dh 1076 shl ebx,8 1077 xor eax,ebx 1078 1079 movzx ebx,BYTE PTR[((-128))+rsi*1+rbp] 1080 shl ebx,16 1081 xor eax,ebx 1082 1083 xor eax,DWORD PTR[((1024-128))+rcx*4+rbp] 1084 mov DWORD PTR[32+rdi],eax 1085 xor eax,DWORD PTR[4+rdi] 1086 mov DWORD PTR[36+rdi],eax 1087 xor eax,DWORD PTR[8+rdi] 1088 mov DWORD PTR[40+rdi],eax 1089 xor eax,DWORD PTR[12+rdi] 1090 mov DWORD PTR[44+rdi],eax 1091 1092 cmp ecx,6 1093 je $L$14break 1094 add ecx,1 1095 1096 mov edx,eax 1097 mov eax,DWORD PTR[16+rdi] 1098 movzx esi,dl 1099 movzx ebx,BYTE PTR[((-128))+rsi*1+rbp] 1100 movzx esi,dh 1101 xor eax,ebx 1102 1103 movzx ebx,BYTE PTR[((-128))+rsi*1+rbp] 1104 shr edx,16 1105 shl ebx,8 1106 movzx esi,dl 1107 xor eax,ebx 1108 1109 movzx ebx,BYTE PTR[((-128))+rsi*1+rbp] 1110 movzx esi,dh 1111 shl ebx,16 1112 xor eax,ebx 1113 1114 movzx ebx,BYTE PTR[((-128))+rsi*1+rbp] 1115 shl ebx,24 1116 xor eax,ebx 1117 1118 mov DWORD PTR[48+rdi],eax 1119 xor eax,DWORD PTR[20+rdi] 1120 mov DWORD PTR[52+rdi],eax 1121 xor eax,DWORD PTR[24+rdi] 1122 mov DWORD PTR[56+rdi],eax 1123 xor eax,DWORD PTR[28+rdi] 1124 mov DWORD PTR[60+rdi],eax 1125 1126 lea rdi,QWORD PTR[32+rdi] 1127 jmp $L$14loop 1128$L$14break:: 1129 mov DWORD PTR[48+rdi],14 1130 xor rax,rax 1131 jmp $L$exit 1132 1133$L$badpointer:: 1134 mov rax,-1 1135$L$exit:: 1136DB 0f3h,0c3h 1137_x86_64_AES_set_encrypt_key ENDP 1138ALIGN 16 1139PUBLIC asm_AES_set_decrypt_key 1140 1141asm_AES_set_decrypt_key PROC PUBLIC 1142 mov QWORD PTR[8+rsp],rdi ;WIN64 prologue 1143 mov QWORD PTR[16+rsp],rsi 1144 mov rax,rsp 1145$L$SEH_begin_asm_AES_set_decrypt_key:: 1146 mov rdi,rcx 1147 mov rsi,rdx 1148 mov rdx,r8 1149 1150 1151 push rbx 1152 push rbp 1153 push r12 1154 push r13 1155 push r14 1156 push r15 1157 push rdx 1158$L$dec_key_prologue:: 1159 1160 call _x86_64_AES_set_encrypt_key 1161 mov r8,QWORD PTR[rsp] 1162 cmp eax,0 1163 jne $L$abort 1164 1165 mov r14d,DWORD PTR[240+r8] 1166 xor rdi,rdi 1167 lea rcx,QWORD PTR[r14*4+rdi] 1168 mov rsi,r8 1169 lea rdi,QWORD PTR[rcx*4+r8] 1170ALIGN 4 1171$L$invert:: 1172 mov rax,QWORD PTR[rsi] 1173 mov rbx,QWORD PTR[8+rsi] 1174 mov rcx,QWORD PTR[rdi] 1175 mov rdx,QWORD PTR[8+rdi] 1176 mov QWORD PTR[rdi],rax 1177 mov QWORD PTR[8+rdi],rbx 1178 mov QWORD PTR[rsi],rcx 1179 mov QWORD PTR[8+rsi],rdx 1180 lea rsi,QWORD PTR[16+rsi] 1181 lea rdi,QWORD PTR[((-16))+rdi] 1182 cmp rdi,rsi 1183 jne $L$invert 1184 1185 lea rax,QWORD PTR[(($L$AES_Te+2048+1024))] 1186 1187 mov rsi,QWORD PTR[40+rax] 1188 mov rdi,QWORD PTR[48+rax] 1189 mov rbp,QWORD PTR[56+rax] 1190 1191 mov r15,r8 1192 sub r14d,1 1193ALIGN 4 1194$L$permute:: 1195 lea r15,QWORD PTR[16+r15] 1196 mov rax,QWORD PTR[r15] 1197 mov rcx,QWORD PTR[8+r15] 1198 mov r9,rsi 1199 mov r12,rsi 1200 and r9,rax 1201 and r12,rcx 1202 mov rbx,r9 1203 mov rdx,r12 1204 shr r9,7 1205 lea r8,QWORD PTR[rax*1+rax] 1206 shr r12,7 1207 lea r11,QWORD PTR[rcx*1+rcx] 1208 sub rbx,r9 1209 sub rdx,r12 1210 and r8,rdi 1211 and r11,rdi 1212 and rbx,rbp 1213 and rdx,rbp 1214 xor r8,rbx 1215 xor r11,rdx 1216 mov r10,rsi 1217 mov r13,rsi 1218 1219 and r10,r8 1220 and r13,r11 1221 mov rbx,r10 1222 mov rdx,r13 1223 shr r10,7 1224 lea r9,QWORD PTR[r8*1+r8] 1225 shr r13,7 1226 lea r12,QWORD PTR[r11*1+r11] 1227 sub rbx,r10 1228 sub rdx,r13 1229 and r9,rdi 1230 and r12,rdi 1231 and rbx,rbp 1232 and rdx,rbp 1233 xor r9,rbx 1234 xor r12,rdx 1235 mov r10,rsi 1236 mov r13,rsi 1237 1238 and r10,r9 1239 and r13,r12 1240 mov rbx,r10 1241 mov rdx,r13 1242 shr r10,7 1243 xor r8,rax 1244 shr r13,7 1245 xor r11,rcx 1246 sub rbx,r10 1247 sub rdx,r13 1248 lea r10,QWORD PTR[r9*1+r9] 1249 lea r13,QWORD PTR[r12*1+r12] 1250 xor r9,rax 1251 xor r12,rcx 1252 and r10,rdi 1253 and r13,rdi 1254 and rbx,rbp 1255 and rdx,rbp 1256 xor r10,rbx 1257 xor r13,rdx 1258 1259 xor rax,r10 1260 xor rcx,r13 1261 xor r8,r10 1262 xor r11,r13 1263 mov rbx,rax 1264 mov rdx,rcx 1265 xor r9,r10 1266 shr rbx,32 1267 xor r12,r13 1268 shr rdx,32 1269 xor r10,r8 1270 rol eax,8 1271 xor r13,r11 1272 rol ecx,8 1273 xor r10,r9 1274 rol ebx,8 1275 xor r13,r12 1276 1277 rol edx,8 1278 xor eax,r10d 1279 shr r10,32 1280 xor ecx,r13d 1281 shr r13,32 1282 xor ebx,r10d 1283 xor edx,r13d 1284 1285 mov r10,r8 1286 rol r8d,24 1287 mov r13,r11 1288 rol r11d,24 1289 shr r10,32 1290 xor eax,r8d 1291 shr r13,32 1292 xor ecx,r11d 1293 rol r10d,24 1294 mov r8,r9 1295 rol r13d,24 1296 mov r11,r12 1297 shr r8,32 1298 xor ebx,r10d 1299 shr r11,32 1300 xor edx,r13d 1301 1302 1303 rol r9d,16 1304 1305 rol r12d,16 1306 1307 rol r8d,16 1308 1309 xor eax,r9d 1310 rol r11d,16 1311 xor ecx,r12d 1312 1313 xor ebx,r8d 1314 xor edx,r11d 1315 mov DWORD PTR[r15],eax 1316 mov DWORD PTR[4+r15],ebx 1317 mov DWORD PTR[8+r15],ecx 1318 mov DWORD PTR[12+r15],edx 1319 sub r14d,1 1320 jnz $L$permute 1321 1322 xor rax,rax 1323$L$abort:: 1324 mov r15,QWORD PTR[8+rsp] 1325 mov r14,QWORD PTR[16+rsp] 1326 mov r13,QWORD PTR[24+rsp] 1327 mov r12,QWORD PTR[32+rsp] 1328 mov rbp,QWORD PTR[40+rsp] 1329 mov rbx,QWORD PTR[48+rsp] 1330 add rsp,56 1331$L$dec_key_epilogue:: 1332 mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue 1333 mov rsi,QWORD PTR[16+rsp] 1334 DB 0F3h,0C3h ;repret 1335$L$SEH_end_asm_AES_set_decrypt_key:: 1336asm_AES_set_decrypt_key ENDP 1337ALIGN 16 1338PUBLIC asm_AES_cbc_encrypt 1339 1340EXTERN OPENSSL_ia32cap_P:NEAR 1341 1342asm_AES_cbc_encrypt PROC PUBLIC 1343 mov QWORD PTR[8+rsp],rdi ;WIN64 prologue 1344 mov QWORD PTR[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 PTR[40+rsp] 1352 mov r9,QWORD PTR[48+rsp] 1353 1354 1355 cmp rdx,0 1356 je $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,QWORD PTR[$L$AES_Te] 1370 cmp r9,0 1371 jne $L$cbc_picked_te 1372 lea r14,QWORD PTR[$L$AES_Td] 1373$L$cbc_picked_te:: 1374 1375 mov r10d,DWORD PTR[OPENSSL_ia32cap_P] 1376 cmp rdx,512 1377 jb $L$cbc_slow_prologue 1378 test rdx,15 1379 jnz $L$cbc_slow_prologue 1380 bt r10d,28 1381 jc $L$cbc_slow_prologue 1382 1383 1384 lea r15,QWORD PTR[((-88-248))+rsp] 1385 and r15,-64 1386 1387 1388 mov r10,r14 1389 lea r11,QWORD PTR[2304+r14] 1390 mov r12,r15 1391 and r10,0FFFh 1392 and r11,0FFFh 1393 and r12,0FFFh 1394 1395 cmp r12,r11 1396 jb $L$cbc_te_break_out 1397 sub r12,r11 1398 sub r15,r12 1399 jmp $L$cbc_te_ok 1400$L$cbc_te_break_out:: 1401 sub r12,r10 1402 and r12,0FFFh 1403 add r12,320 1404 sub r15,r12 1405ALIGN 4 1406$L$cbc_te_ok:: 1407 1408 xchg r15,rsp 1409 1410 mov QWORD PTR[16+rsp],r15 1411$L$cbc_fast_body:: 1412 mov QWORD PTR[24+rsp],rdi 1413 mov QWORD PTR[32+rsp],rsi 1414 mov QWORD PTR[40+rsp],rdx 1415 mov QWORD PTR[48+rsp],rcx 1416 mov QWORD PTR[56+rsp],r8 1417 mov DWORD PTR[((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 PTR[240+r15] 1425 1426 mov r10,r15 1427 sub r10,r14 1428 and r10,0fffh 1429 cmp r10,2304 1430 jb $L$cbc_do_ecopy 1431 cmp r10,4096-248 1432 jb $L$cbc_skip_ecopy 1433ALIGN 4 1434$L$cbc_do_ecopy:: 1435 mov rsi,r15 1436 lea rdi,QWORD PTR[80+rsp] 1437 lea r15,QWORD PTR[80+rsp] 1438 mov ecx,240/8 1439 DD 090A548F3h 1440 mov DWORD PTR[rdi],eax 1441$L$cbc_skip_ecopy:: 1442 mov QWORD PTR[rsp],r15 1443 1444 mov ecx,18 1445ALIGN 4 1446$L$cbc_prefetch_te:: 1447 mov r10,QWORD PTR[r14] 1448 mov r11,QWORD PTR[32+r14] 1449 mov r12,QWORD PTR[64+r14] 1450 mov r13,QWORD PTR[96+r14] 1451 lea r14,QWORD PTR[128+r14] 1452 sub ecx,1 1453 jnz $L$cbc_prefetch_te 1454 lea r14,QWORD PTR[((-2304))+r14] 1455 1456 cmp rbx,0 1457 je $L$FAST_DECRYPT 1458 1459 1460 mov eax,DWORD PTR[rbp] 1461 mov ebx,DWORD PTR[4+rbp] 1462 mov ecx,DWORD PTR[8+rbp] 1463 mov edx,DWORD PTR[12+rbp] 1464 1465ALIGN 4 1466$L$cbc_fast_enc_loop:: 1467 xor eax,DWORD PTR[r8] 1468 xor ebx,DWORD PTR[4+r8] 1469 xor ecx,DWORD PTR[8+r8] 1470 xor edx,DWORD PTR[12+r8] 1471 mov r15,QWORD PTR[rsp] 1472 mov QWORD PTR[24+rsp],r8 1473 1474 call _x86_64_AES_encrypt 1475 1476 mov r8,QWORD PTR[24+rsp] 1477 mov r10,QWORD PTR[40+rsp] 1478 mov DWORD PTR[r9],eax 1479 mov DWORD PTR[4+r9],ebx 1480 mov DWORD PTR[8+r9],ecx 1481 mov DWORD PTR[12+r9],edx 1482 1483 lea r8,QWORD PTR[16+r8] 1484 lea r9,QWORD PTR[16+r9] 1485 sub r10,16 1486 test r10,-16 1487 mov QWORD PTR[40+rsp],r10 1488 jnz $L$cbc_fast_enc_loop 1489 mov rbp,QWORD PTR[56+rsp] 1490 mov DWORD PTR[rbp],eax 1491 mov DWORD PTR[4+rbp],ebx 1492 mov DWORD PTR[8+rbp],ecx 1493 mov DWORD PTR[12+rbp],edx 1494 1495 jmp $L$cbc_fast_cleanup 1496 1497 1498ALIGN 16 1499$L$FAST_DECRYPT:: 1500 cmp r9,r8 1501 je $L$cbc_fast_dec_in_place 1502 1503 mov QWORD PTR[64+rsp],rbp 1504ALIGN 4 1505$L$cbc_fast_dec_loop:: 1506 mov eax,DWORD PTR[r8] 1507 mov ebx,DWORD PTR[4+r8] 1508 mov ecx,DWORD PTR[8+r8] 1509 mov edx,DWORD PTR[12+r8] 1510 mov r15,QWORD PTR[rsp] 1511 mov QWORD PTR[24+rsp],r8 1512 1513 call _x86_64_AES_decrypt 1514 1515 mov rbp,QWORD PTR[64+rsp] 1516 mov r8,QWORD PTR[24+rsp] 1517 mov r10,QWORD PTR[40+rsp] 1518 xor eax,DWORD PTR[rbp] 1519 xor ebx,DWORD PTR[4+rbp] 1520 xor ecx,DWORD PTR[8+rbp] 1521 xor edx,DWORD PTR[12+rbp] 1522 mov rbp,r8 1523 1524 sub r10,16 1525 mov QWORD PTR[40+rsp],r10 1526 mov QWORD PTR[64+rsp],rbp 1527 1528 mov DWORD PTR[r9],eax 1529 mov DWORD PTR[4+r9],ebx 1530 mov DWORD PTR[8+r9],ecx 1531 mov DWORD PTR[12+r9],edx 1532 1533 lea r8,QWORD PTR[16+r8] 1534 lea r9,QWORD PTR[16+r9] 1535 jnz $L$cbc_fast_dec_loop 1536 mov r12,QWORD PTR[56+rsp] 1537 mov r10,QWORD PTR[rbp] 1538 mov r11,QWORD PTR[8+rbp] 1539 mov QWORD PTR[r12],r10 1540 mov QWORD PTR[8+r12],r11 1541 jmp $L$cbc_fast_cleanup 1542 1543ALIGN 16 1544$L$cbc_fast_dec_in_place:: 1545 mov r10,QWORD PTR[rbp] 1546 mov r11,QWORD PTR[8+rbp] 1547 mov QWORD PTR[((0+64))+rsp],r10 1548 mov QWORD PTR[((8+64))+rsp],r11 1549ALIGN 4 1550$L$cbc_fast_dec_in_place_loop:: 1551 mov eax,DWORD PTR[r8] 1552 mov ebx,DWORD PTR[4+r8] 1553 mov ecx,DWORD PTR[8+r8] 1554 mov edx,DWORD PTR[12+r8] 1555 mov r15,QWORD PTR[rsp] 1556 mov QWORD PTR[24+rsp],r8 1557 1558 call _x86_64_AES_decrypt 1559 1560 mov r8,QWORD PTR[24+rsp] 1561 mov r10,QWORD PTR[40+rsp] 1562 xor eax,DWORD PTR[((0+64))+rsp] 1563 xor ebx,DWORD PTR[((4+64))+rsp] 1564 xor ecx,DWORD PTR[((8+64))+rsp] 1565 xor edx,DWORD PTR[((12+64))+rsp] 1566 1567 mov r11,QWORD PTR[r8] 1568 mov r12,QWORD PTR[8+r8] 1569 sub r10,16 1570 jz $L$cbc_fast_dec_in_place_done 1571 1572 mov QWORD PTR[((0+64))+rsp],r11 1573 mov QWORD PTR[((8+64))+rsp],r12 1574 1575 mov DWORD PTR[r9],eax 1576 mov DWORD PTR[4+r9],ebx 1577 mov DWORD PTR[8+r9],ecx 1578 mov DWORD PTR[12+r9],edx 1579 1580 lea r8,QWORD PTR[16+r8] 1581 lea r9,QWORD PTR[16+r9] 1582 mov QWORD PTR[40+rsp],r10 1583 jmp $L$cbc_fast_dec_in_place_loop 1584$L$cbc_fast_dec_in_place_done:: 1585 mov rdi,QWORD PTR[56+rsp] 1586 mov QWORD PTR[rdi],r11 1587 mov QWORD PTR[8+rdi],r12 1588 1589 mov DWORD PTR[r9],eax 1590 mov DWORD PTR[4+r9],ebx 1591 mov DWORD PTR[8+r9],ecx 1592 mov DWORD PTR[12+r9],edx 1593 1594ALIGN 4 1595$L$cbc_fast_cleanup:: 1596 cmp DWORD PTR[((80+240))+rsp],0 1597 lea rdi,QWORD PTR[80+rsp] 1598 je $L$cbc_exit 1599 mov ecx,240/8 1600 xor rax,rax 1601 DD 090AB48F3h 1602 1603 jmp $L$cbc_exit 1604 1605 1606ALIGN 16 1607$L$cbc_slow_prologue:: 1608 1609 lea rbp,QWORD PTR[((-88))+rsp] 1610 and rbp,-64 1611 1612 lea r10,QWORD PTR[((-88-63))+rcx] 1613 sub r10,rbp 1614 neg r10 1615 and r10,03c0h 1616 sub rbp,r10 1617 1618 xchg rbp,rsp 1619 1620 mov QWORD PTR[16+rsp],rbp 1621$L$cbc_slow_body:: 1622 1623 1624 1625 1626 mov QWORD PTR[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 PTR[240+r15] 1635 mov QWORD PTR[rsp],r15 1636 shl eax,4 1637 lea rax,QWORD PTR[rax*1+r15] 1638 mov QWORD PTR[8+rsp],rax 1639 1640 1641 lea r14,QWORD PTR[2048+r14] 1642 lea rax,QWORD PTR[((768-8))+rsp] 1643 sub rax,r14 1644 and rax,0300h 1645 lea r14,QWORD PTR[rax*1+r14] 1646 1647 cmp rbx,0 1648 je $L$SLOW_DECRYPT 1649 1650 1651 test r10,-16 1652 mov eax,DWORD PTR[rbp] 1653 mov ebx,DWORD PTR[4+rbp] 1654 mov ecx,DWORD PTR[8+rbp] 1655 mov edx,DWORD PTR[12+rbp] 1656 jz $L$cbc_slow_enc_tail 1657 1658ALIGN 4 1659$L$cbc_slow_enc_loop:: 1660 xor eax,DWORD PTR[r8] 1661 xor ebx,DWORD PTR[4+r8] 1662 xor ecx,DWORD PTR[8+r8] 1663 xor edx,DWORD PTR[12+r8] 1664 mov r15,QWORD PTR[rsp] 1665 mov QWORD PTR[24+rsp],r8 1666 mov QWORD PTR[32+rsp],r9 1667 mov QWORD PTR[40+rsp],r10 1668 1669 call _x86_64_AES_encrypt_compact 1670 1671 mov r8,QWORD PTR[24+rsp] 1672 mov r9,QWORD PTR[32+rsp] 1673 mov r10,QWORD PTR[40+rsp] 1674 mov DWORD PTR[r9],eax 1675 mov DWORD PTR[4+r9],ebx 1676 mov DWORD PTR[8+r9],ecx 1677 mov DWORD PTR[12+r9],edx 1678 1679 lea r8,QWORD PTR[16+r8] 1680 lea r9,QWORD PTR[16+r9] 1681 sub r10,16 1682 test r10,-16 1683 jnz $L$cbc_slow_enc_loop 1684 test r10,15 1685 jnz $L$cbc_slow_enc_tail 1686 mov rbp,QWORD PTR[56+rsp] 1687 mov DWORD PTR[rbp],eax 1688 mov DWORD PTR[4+rbp],ebx 1689 mov DWORD PTR[8+rbp],ecx 1690 mov DWORD PTR[12+rbp],edx 1691 1692 jmp $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 09066A4F3h 1702 mov rcx,16 1703 sub rcx,r10 1704 xor rax,rax 1705 DD 09066AAF3h 1706 mov r8,r9 1707 mov r10,16 1708 mov rax,r11 1709 mov rcx,r12 1710 jmp $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 PTR[rbp] 1718 mov r12,QWORD PTR[8+rbp] 1719 mov QWORD PTR[((0+64))+rsp],r11 1720 mov QWORD PTR[((8+64))+rsp],r12 1721 1722ALIGN 4 1723$L$cbc_slow_dec_loop:: 1724 mov eax,DWORD PTR[r8] 1725 mov ebx,DWORD PTR[4+r8] 1726 mov ecx,DWORD PTR[8+r8] 1727 mov edx,DWORD PTR[12+r8] 1728 mov r15,QWORD PTR[rsp] 1729 mov QWORD PTR[24+rsp],r8 1730 mov QWORD PTR[32+rsp],r9 1731 mov QWORD PTR[40+rsp],r10 1732 1733 call _x86_64_AES_decrypt_compact 1734 1735 mov r8,QWORD PTR[24+rsp] 1736 mov r9,QWORD PTR[32+rsp] 1737 mov r10,QWORD PTR[40+rsp] 1738 xor eax,DWORD PTR[((0+64))+rsp] 1739 xor ebx,DWORD PTR[((4+64))+rsp] 1740 xor ecx,DWORD PTR[((8+64))+rsp] 1741 xor edx,DWORD PTR[((12+64))+rsp] 1742 1743 mov r11,QWORD PTR[r8] 1744 mov r12,QWORD PTR[8+r8] 1745 sub r10,16 1746 jc $L$cbc_slow_dec_partial 1747 jz $L$cbc_slow_dec_done 1748 1749 mov QWORD PTR[((0+64))+rsp],r11 1750 mov QWORD PTR[((8+64))+rsp],r12 1751 1752 mov DWORD PTR[r9],eax 1753 mov DWORD PTR[4+r9],ebx 1754 mov DWORD PTR[8+r9],ecx 1755 mov DWORD PTR[12+r9],edx 1756 1757 lea r8,QWORD PTR[16+r8] 1758 lea r9,QWORD PTR[16+r9] 1759 jmp $L$cbc_slow_dec_loop 1760$L$cbc_slow_dec_done:: 1761 mov rdi,QWORD PTR[56+rsp] 1762 mov QWORD PTR[rdi],r11 1763 mov QWORD PTR[8+rdi],r12 1764 1765 mov DWORD PTR[r9],eax 1766 mov DWORD PTR[4+r9],ebx 1767 mov DWORD PTR[8+r9],ecx 1768 mov DWORD PTR[12+r9],edx 1769 1770 jmp $L$cbc_exit 1771 1772ALIGN 4 1773$L$cbc_slow_dec_partial:: 1774 mov rdi,QWORD PTR[56+rsp] 1775 mov QWORD PTR[rdi],r11 1776 mov QWORD PTR[8+rdi],r12 1777 1778 mov DWORD PTR[((0+64))+rsp],eax 1779 mov DWORD PTR[((4+64))+rsp],ebx 1780 mov DWORD PTR[((8+64))+rsp],ecx 1781 mov DWORD PTR[((12+64))+rsp],edx 1782 1783 mov rdi,r9 1784 lea rsi,QWORD PTR[64+rsp] 1785 lea rcx,QWORD PTR[16+r10] 1786 DD 09066A4F3h 1787 jmp $L$cbc_exit 1788 1789ALIGN 16 1790$L$cbc_exit:: 1791 mov rsi,QWORD PTR[16+rsp] 1792 mov r15,QWORD PTR[rsi] 1793 mov r14,QWORD PTR[8+rsi] 1794 mov r13,QWORD PTR[16+rsi] 1795 mov r12,QWORD PTR[24+rsi] 1796 mov rbp,QWORD PTR[32+rsi] 1797 mov rbx,QWORD PTR[40+rsi] 1798 lea rsp,QWORD PTR[48+rsi] 1799$L$cbc_popfq:: 1800 popfq 1801$L$cbc_epilogue:: 1802 mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue 1803 mov rsi,QWORD PTR[16+rsp] 1804 DB 0F3h,0C3h ;repret 1805$L$SEH_end_asm_AES_cbc_encrypt:: 1806asm_AES_cbc_encrypt ENDP 1807ALIGN 64 1808$L$AES_Te:: 1809 DD 0a56363c6h,0a56363c6h 1810 DD 0847c7cf8h,0847c7cf8h 1811 DD 0997777eeh,0997777eeh 1812 DD 08d7b7bf6h,08d7b7bf6h 1813 DD 00df2f2ffh,00df2f2ffh 1814 DD 0bd6b6bd6h,0bd6b6bd6h 1815 DD 0b16f6fdeh,0b16f6fdeh 1816 DD 054c5c591h,054c5c591h 1817 DD 050303060h,050303060h 1818 DD 003010102h,003010102h 1819 DD 0a96767ceh,0a96767ceh 1820 DD 07d2b2b56h,07d2b2b56h 1821 DD 019fefee7h,019fefee7h 1822 DD 062d7d7b5h,062d7d7b5h 1823 DD 0e6abab4dh,0e6abab4dh 1824 DD 09a7676ech,09a7676ech 1825 DD 045caca8fh,045caca8fh 1826 DD 09d82821fh,09d82821fh 1827 DD 040c9c989h,040c9c989h 1828 DD 0877d7dfah,0877d7dfah 1829 DD 015fafaefh,015fafaefh 1830 DD 0eb5959b2h,0eb5959b2h 1831 DD 0c947478eh,0c947478eh 1832 DD 00bf0f0fbh,00bf0f0fbh 1833 DD 0ecadad41h,0ecadad41h 1834 DD 067d4d4b3h,067d4d4b3h 1835 DD 0fda2a25fh,0fda2a25fh 1836 DD 0eaafaf45h,0eaafaf45h 1837 DD 0bf9c9c23h,0bf9c9c23h 1838 DD 0f7a4a453h,0f7a4a453h 1839 DD 0967272e4h,0967272e4h 1840 DD 05bc0c09bh,05bc0c09bh 1841 DD 0c2b7b775h,0c2b7b775h 1842 DD 01cfdfde1h,01cfdfde1h 1843 DD 0ae93933dh,0ae93933dh 1844 DD 06a26264ch,06a26264ch 1845 DD 05a36366ch,05a36366ch 1846 DD 0413f3f7eh,0413f3f7eh 1847 DD 002f7f7f5h,002f7f7f5h 1848 DD 04fcccc83h,04fcccc83h 1849 DD 05c343468h,05c343468h 1850 DD 0f4a5a551h,0f4a5a551h 1851 DD 034e5e5d1h,034e5e5d1h 1852 DD 008f1f1f9h,008f1f1f9h 1853 DD 0937171e2h,0937171e2h 1854 DD 073d8d8abh,073d8d8abh 1855 DD 053313162h,053313162h 1856 DD 03f15152ah,03f15152ah 1857 DD 00c040408h,00c040408h 1858 DD 052c7c795h,052c7c795h 1859 DD 065232346h,065232346h 1860 DD 05ec3c39dh,05ec3c39dh 1861 DD 028181830h,028181830h 1862 DD 0a1969637h,0a1969637h 1863 DD 00f05050ah,00f05050ah 1864 DD 0b59a9a2fh,0b59a9a2fh 1865 DD 00907070eh,00907070eh 1866 DD 036121224h,036121224h 1867 DD 09b80801bh,09b80801bh 1868 DD 03de2e2dfh,03de2e2dfh 1869 DD 026ebebcdh,026ebebcdh 1870 DD 06927274eh,06927274eh 1871 DD 0cdb2b27fh,0cdb2b27fh 1872 DD 09f7575eah,09f7575eah 1873 DD 01b090912h,01b090912h 1874 DD 09e83831dh,09e83831dh 1875 DD 0742c2c58h,0742c2c58h 1876 DD 02e1a1a34h,02e1a1a34h 1877 DD 02d1b1b36h,02d1b1b36h 1878 DD 0b26e6edch,0b26e6edch 1879 DD 0ee5a5ab4h,0ee5a5ab4h 1880 DD 0fba0a05bh,0fba0a05bh 1881 DD 0f65252a4h,0f65252a4h 1882 DD 04d3b3b76h,04d3b3b76h 1883 DD 061d6d6b7h,061d6d6b7h 1884 DD 0ceb3b37dh,0ceb3b37dh 1885 DD 07b292952h,07b292952h 1886 DD 03ee3e3ddh,03ee3e3ddh 1887 DD 0712f2f5eh,0712f2f5eh 1888 DD 097848413h,097848413h 1889 DD 0f55353a6h,0f55353a6h 1890 DD 068d1d1b9h,068d1d1b9h 1891 DD 000000000h,000000000h 1892 DD 02cededc1h,02cededc1h 1893 DD 060202040h,060202040h 1894 DD 01ffcfce3h,01ffcfce3h 1895 DD 0c8b1b179h,0c8b1b179h 1896 DD 0ed5b5bb6h,0ed5b5bb6h 1897 DD 0be6a6ad4h,0be6a6ad4h 1898 DD 046cbcb8dh,046cbcb8dh 1899 DD 0d9bebe67h,0d9bebe67h 1900 DD 04b393972h,04b393972h 1901 DD 0de4a4a94h,0de4a4a94h 1902 DD 0d44c4c98h,0d44c4c98h 1903 DD 0e85858b0h,0e85858b0h 1904 DD 04acfcf85h,04acfcf85h 1905 DD 06bd0d0bbh,06bd0d0bbh 1906 DD 02aefefc5h,02aefefc5h 1907 DD 0e5aaaa4fh,0e5aaaa4fh 1908 DD 016fbfbedh,016fbfbedh 1909 DD 0c5434386h,0c5434386h 1910 DD 0d74d4d9ah,0d74d4d9ah 1911 DD 055333366h,055333366h 1912 DD 094858511h,094858511h 1913 DD 0cf45458ah,0cf45458ah 1914 DD 010f9f9e9h,010f9f9e9h 1915 DD 006020204h,006020204h 1916 DD 0817f7ffeh,0817f7ffeh 1917 DD 0f05050a0h,0f05050a0h 1918 DD 0443c3c78h,0443c3c78h 1919 DD 0ba9f9f25h,0ba9f9f25h 1920 DD 0e3a8a84bh,0e3a8a84bh 1921 DD 0f35151a2h,0f35151a2h 1922 DD 0fea3a35dh,0fea3a35dh 1923 DD 0c0404080h,0c0404080h 1924 DD 08a8f8f05h,08a8f8f05h 1925 DD 0ad92923fh,0ad92923fh 1926 DD 0bc9d9d21h,0bc9d9d21h 1927 DD 048383870h,048383870h 1928 DD 004f5f5f1h,004f5f5f1h 1929 DD 0dfbcbc63h,0dfbcbc63h 1930 DD 0c1b6b677h,0c1b6b677h 1931 DD 075dadaafh,075dadaafh 1932 DD 063212142h,063212142h 1933 DD 030101020h,030101020h 1934 DD 01affffe5h,01affffe5h 1935 DD 00ef3f3fdh,00ef3f3fdh 1936 DD 06dd2d2bfh,06dd2d2bfh 1937 DD 04ccdcd81h,04ccdcd81h 1938 DD 0140c0c18h,0140c0c18h 1939 DD 035131326h,035131326h 1940 DD 02fececc3h,02fececc3h 1941 DD 0e15f5fbeh,0e15f5fbeh 1942 DD 0a2979735h,0a2979735h 1943 DD 0cc444488h,0cc444488h 1944 DD 03917172eh,03917172eh 1945 DD 057c4c493h,057c4c493h 1946 DD 0f2a7a755h,0f2a7a755h 1947 DD 0827e7efch,0827e7efch 1948 DD 0473d3d7ah,0473d3d7ah 1949 DD 0ac6464c8h,0ac6464c8h 1950 DD 0e75d5dbah,0e75d5dbah 1951 DD 02b191932h,02b191932h 1952 DD 0957373e6h,0957373e6h 1953 DD 0a06060c0h,0a06060c0h 1954 DD 098818119h,098818119h 1955 DD 0d14f4f9eh,0d14f4f9eh 1956 DD 07fdcdca3h,07fdcdca3h 1957 DD 066222244h,066222244h 1958 DD 07e2a2a54h,07e2a2a54h 1959 DD 0ab90903bh,0ab90903bh 1960 DD 08388880bh,08388880bh 1961 DD 0ca46468ch,0ca46468ch 1962 DD 029eeeec7h,029eeeec7h 1963 DD 0d3b8b86bh,0d3b8b86bh 1964 DD 03c141428h,03c141428h 1965 DD 079dedea7h,079dedea7h 1966 DD 0e25e5ebch,0e25e5ebch 1967 DD 01d0b0b16h,01d0b0b16h 1968 DD 076dbdbadh,076dbdbadh 1969 DD 03be0e0dbh,03be0e0dbh 1970 DD 056323264h,056323264h 1971 DD 04e3a3a74h,04e3a3a74h 1972 DD 01e0a0a14h,01e0a0a14h 1973 DD 0db494992h,0db494992h 1974 DD 00a06060ch,00a06060ch 1975 DD 06c242448h,06c242448h 1976 DD 0e45c5cb8h,0e45c5cb8h 1977 DD 05dc2c29fh,05dc2c29fh 1978 DD 06ed3d3bdh,06ed3d3bdh 1979 DD 0efacac43h,0efacac43h 1980 DD 0a66262c4h,0a66262c4h 1981 DD 0a8919139h,0a8919139h 1982 DD 0a4959531h,0a4959531h 1983 DD 037e4e4d3h,037e4e4d3h 1984 DD 08b7979f2h,08b7979f2h 1985 DD 032e7e7d5h,032e7e7d5h 1986 DD 043c8c88bh,043c8c88bh 1987 DD 05937376eh,05937376eh 1988 DD 0b76d6ddah,0b76d6ddah 1989 DD 08c8d8d01h,08c8d8d01h 1990 DD 064d5d5b1h,064d5d5b1h 1991 DD 0d24e4e9ch,0d24e4e9ch 1992 DD 0e0a9a949h,0e0a9a949h 1993 DD 0b46c6cd8h,0b46c6cd8h 1994 DD 0fa5656ach,0fa5656ach 1995 DD 007f4f4f3h,007f4f4f3h 1996 DD 025eaeacfh,025eaeacfh 1997 DD 0af6565cah,0af6565cah 1998 DD 08e7a7af4h,08e7a7af4h 1999 DD 0e9aeae47h,0e9aeae47h 2000 DD 018080810h,018080810h 2001 DD 0d5baba6fh,0d5baba6fh 2002 DD 0887878f0h,0887878f0h 2003 DD 06f25254ah,06f25254ah 2004 DD 0722e2e5ch,0722e2e5ch 2005 DD 0241c1c38h,0241c1c38h 2006 DD 0f1a6a657h,0f1a6a657h 2007 DD 0c7b4b473h,0c7b4b473h 2008 DD 051c6c697h,051c6c697h 2009 DD 023e8e8cbh,023e8e8cbh 2010 DD 07cdddda1h,07cdddda1h 2011 DD 09c7474e8h,09c7474e8h 2012 DD 0211f1f3eh,0211f1f3eh 2013 DD 0dd4b4b96h,0dd4b4b96h 2014 DD 0dcbdbd61h,0dcbdbd61h 2015 DD 0868b8b0dh,0868b8b0dh 2016 DD 0858a8a0fh,0858a8a0fh 2017 DD 0907070e0h,0907070e0h 2018 DD 0423e3e7ch,0423e3e7ch 2019 DD 0c4b5b571h,0c4b5b571h 2020 DD 0aa6666cch,0aa6666cch 2021 DD 0d8484890h,0d8484890h 2022 DD 005030306h,005030306h 2023 DD 001f6f6f7h,001f6f6f7h 2024 DD 0120e0e1ch,0120e0e1ch 2025 DD 0a36161c2h,0a36161c2h 2026 DD 05f35356ah,05f35356ah 2027 DD 0f95757aeh,0f95757aeh 2028 DD 0d0b9b969h,0d0b9b969h 2029 DD 091868617h,091868617h 2030 DD 058c1c199h,058c1c199h 2031 DD 0271d1d3ah,0271d1d3ah 2032 DD 0b99e9e27h,0b99e9e27h 2033 DD 038e1e1d9h,038e1e1d9h 2034 DD 013f8f8ebh,013f8f8ebh 2035 DD 0b398982bh,0b398982bh 2036 DD 033111122h,033111122h 2037 DD 0bb6969d2h,0bb6969d2h 2038 DD 070d9d9a9h,070d9d9a9h 2039 DD 0898e8e07h,0898e8e07h 2040 DD 0a7949433h,0a7949433h 2041 DD 0b69b9b2dh,0b69b9b2dh 2042 DD 0221e1e3ch,0221e1e3ch 2043 DD 092878715h,092878715h 2044 DD 020e9e9c9h,020e9e9c9h 2045 DD 049cece87h,049cece87h 2046 DD 0ff5555aah,0ff5555aah 2047 DD 078282850h,078282850h 2048 DD 07adfdfa5h,07adfdfa5h 2049 DD 08f8c8c03h,08f8c8c03h 2050 DD 0f8a1a159h,0f8a1a159h 2051 DD 080898909h,080898909h 2052 DD 0170d0d1ah,0170d0d1ah 2053 DD 0dabfbf65h,0dabfbf65h 2054 DD 031e6e6d7h,031e6e6d7h 2055 DD 0c6424284h,0c6424284h 2056 DD 0b86868d0h,0b86868d0h 2057 DD 0c3414182h,0c3414182h 2058 DD 0b0999929h,0b0999929h 2059 DD 0772d2d5ah,0772d2d5ah 2060 DD 0110f0f1eh,0110f0f1eh 2061 DD 0cbb0b07bh,0cbb0b07bh 2062 DD 0fc5454a8h,0fc5454a8h 2063 DD 0d6bbbb6dh,0d6bbbb6dh 2064 DD 03a16162ch,03a16162ch 2065DB 063h,07ch,077h,07bh,0f2h,06bh,06fh,0c5h 2066DB 030h,001h,067h,02bh,0feh,0d7h,0abh,076h 2067DB 0cah,082h,0c9h,07dh,0fah,059h,047h,0f0h 2068DB 0adh,0d4h,0a2h,0afh,09ch,0a4h,072h,0c0h 2069DB 0b7h,0fdh,093h,026h,036h,03fh,0f7h,0cch 2070DB 034h,0a5h,0e5h,0f1h,071h,0d8h,031h,015h 2071DB 004h,0c7h,023h,0c3h,018h,096h,005h,09ah 2072DB 007h,012h,080h,0e2h,0ebh,027h,0b2h,075h 2073DB 009h,083h,02ch,01ah,01bh,06eh,05ah,0a0h 2074DB 052h,03bh,0d6h,0b3h,029h,0e3h,02fh,084h 2075DB 053h,0d1h,000h,0edh,020h,0fch,0b1h,05bh 2076DB 06ah,0cbh,0beh,039h,04ah,04ch,058h,0cfh 2077DB 0d0h,0efh,0aah,0fbh,043h,04dh,033h,085h 2078DB 045h,0f9h,002h,07fh,050h,03ch,09fh,0a8h 2079DB 051h,0a3h,040h,08fh,092h,09dh,038h,0f5h 2080DB 0bch,0b6h,0dah,021h,010h,0ffh,0f3h,0d2h 2081DB 0cdh,00ch,013h,0ech,05fh,097h,044h,017h 2082DB 0c4h,0a7h,07eh,03dh,064h,05dh,019h,073h 2083DB 060h,081h,04fh,0dch,022h,02ah,090h,088h 2084DB 046h,0eeh,0b8h,014h,0deh,05eh,00bh,0dbh 2085DB 0e0h,032h,03ah,00ah,049h,006h,024h,05ch 2086DB 0c2h,0d3h,0ach,062h,091h,095h,0e4h,079h 2087DB 0e7h,0c8h,037h,06dh,08dh,0d5h,04eh,0a9h 2088DB 06ch,056h,0f4h,0eah,065h,07ah,0aeh,008h 2089DB 0bah,078h,025h,02eh,01ch,0a6h,0b4h,0c6h 2090DB 0e8h,0ddh,074h,01fh,04bh,0bdh,08bh,08ah 2091DB 070h,03eh,0b5h,066h,048h,003h,0f6h,00eh 2092DB 061h,035h,057h,0b9h,086h,0c1h,01dh,09eh 2093DB 0e1h,0f8h,098h,011h,069h,0d9h,08eh,094h 2094DB 09bh,01eh,087h,0e9h,0ceh,055h,028h,0dfh 2095DB 08ch,0a1h,089h,00dh,0bfh,0e6h,042h,068h 2096DB 041h,099h,02dh,00fh,0b0h,054h,0bbh,016h 2097DB 063h,07ch,077h,07bh,0f2h,06bh,06fh,0c5h 2098DB 030h,001h,067h,02bh,0feh,0d7h,0abh,076h 2099DB 0cah,082h,0c9h,07dh,0fah,059h,047h,0f0h 2100DB 0adh,0d4h,0a2h,0afh,09ch,0a4h,072h,0c0h 2101DB 0b7h,0fdh,093h,026h,036h,03fh,0f7h,0cch 2102DB 034h,0a5h,0e5h,0f1h,071h,0d8h,031h,015h 2103DB 004h,0c7h,023h,0c3h,018h,096h,005h,09ah 2104DB 007h,012h,080h,0e2h,0ebh,027h,0b2h,075h 2105DB 009h,083h,02ch,01ah,01bh,06eh,05ah,0a0h 2106DB 052h,03bh,0d6h,0b3h,029h,0e3h,02fh,084h 2107DB 053h,0d1h,000h,0edh,020h,0fch,0b1h,05bh 2108DB 06ah,0cbh,0beh,039h,04ah,04ch,058h,0cfh 2109DB 0d0h,0efh,0aah,0fbh,043h,04dh,033h,085h 2110DB 045h,0f9h,002h,07fh,050h,03ch,09fh,0a8h 2111DB 051h,0a3h,040h,08fh,092h,09dh,038h,0f5h 2112DB 0bch,0b6h,0dah,021h,010h,0ffh,0f3h,0d2h 2113DB 0cdh,00ch,013h,0ech,05fh,097h,044h,017h 2114DB 0c4h,0a7h,07eh,03dh,064h,05dh,019h,073h 2115DB 060h,081h,04fh,0dch,022h,02ah,090h,088h 2116DB 046h,0eeh,0b8h,014h,0deh,05eh,00bh,0dbh 2117DB 0e0h,032h,03ah,00ah,049h,006h,024h,05ch 2118DB 0c2h,0d3h,0ach,062h,091h,095h,0e4h,079h 2119DB 0e7h,0c8h,037h,06dh,08dh,0d5h,04eh,0a9h 2120DB 06ch,056h,0f4h,0eah,065h,07ah,0aeh,008h 2121DB 0bah,078h,025h,02eh,01ch,0a6h,0b4h,0c6h 2122DB 0e8h,0ddh,074h,01fh,04bh,0bdh,08bh,08ah 2123DB 070h,03eh,0b5h,066h,048h,003h,0f6h,00eh 2124DB 061h,035h,057h,0b9h,086h,0c1h,01dh,09eh 2125DB 0e1h,0f8h,098h,011h,069h,0d9h,08eh,094h 2126DB 09bh,01eh,087h,0e9h,0ceh,055h,028h,0dfh 2127DB 08ch,0a1h,089h,00dh,0bfh,0e6h,042h,068h 2128DB 041h,099h,02dh,00fh,0b0h,054h,0bbh,016h 2129DB 063h,07ch,077h,07bh,0f2h,06bh,06fh,0c5h 2130DB 030h,001h,067h,02bh,0feh,0d7h,0abh,076h 2131DB 0cah,082h,0c9h,07dh,0fah,059h,047h,0f0h 2132DB 0adh,0d4h,0a2h,0afh,09ch,0a4h,072h,0c0h 2133DB 0b7h,0fdh,093h,026h,036h,03fh,0f7h,0cch 2134DB 034h,0a5h,0e5h,0f1h,071h,0d8h,031h,015h 2135DB 004h,0c7h,023h,0c3h,018h,096h,005h,09ah 2136DB 007h,012h,080h,0e2h,0ebh,027h,0b2h,075h 2137DB 009h,083h,02ch,01ah,01bh,06eh,05ah,0a0h 2138DB 052h,03bh,0d6h,0b3h,029h,0e3h,02fh,084h 2139DB 053h,0d1h,000h,0edh,020h,0fch,0b1h,05bh 2140DB 06ah,0cbh,0beh,039h,04ah,04ch,058h,0cfh 2141DB 0d0h,0efh,0aah,0fbh,043h,04dh,033h,085h 2142DB 045h,0f9h,002h,07fh,050h,03ch,09fh,0a8h 2143DB 051h,0a3h,040h,08fh,092h,09dh,038h,0f5h 2144DB 0bch,0b6h,0dah,021h,010h,0ffh,0f3h,0d2h 2145DB 0cdh,00ch,013h,0ech,05fh,097h,044h,017h 2146DB 0c4h,0a7h,07eh,03dh,064h,05dh,019h,073h 2147DB 060h,081h,04fh,0dch,022h,02ah,090h,088h 2148DB 046h,0eeh,0b8h,014h,0deh,05eh,00bh,0dbh 2149DB 0e0h,032h,03ah,00ah,049h,006h,024h,05ch 2150DB 0c2h,0d3h,0ach,062h,091h,095h,0e4h,079h 2151DB 0e7h,0c8h,037h,06dh,08dh,0d5h,04eh,0a9h 2152DB 06ch,056h,0f4h,0eah,065h,07ah,0aeh,008h 2153DB 0bah,078h,025h,02eh,01ch,0a6h,0b4h,0c6h 2154DB 0e8h,0ddh,074h,01fh,04bh,0bdh,08bh,08ah 2155DB 070h,03eh,0b5h,066h,048h,003h,0f6h,00eh 2156DB 061h,035h,057h,0b9h,086h,0c1h,01dh,09eh 2157DB 0e1h,0f8h,098h,011h,069h,0d9h,08eh,094h 2158DB 09bh,01eh,087h,0e9h,0ceh,055h,028h,0dfh 2159DB 08ch,0a1h,089h,00dh,0bfh,0e6h,042h,068h 2160DB 041h,099h,02dh,00fh,0b0h,054h,0bbh,016h 2161DB 063h,07ch,077h,07bh,0f2h,06bh,06fh,0c5h 2162DB 030h,001h,067h,02bh,0feh,0d7h,0abh,076h 2163DB 0cah,082h,0c9h,07dh,0fah,059h,047h,0f0h 2164DB 0adh,0d4h,0a2h,0afh,09ch,0a4h,072h,0c0h 2165DB 0b7h,0fdh,093h,026h,036h,03fh,0f7h,0cch 2166DB 034h,0a5h,0e5h,0f1h,071h,0d8h,031h,015h 2167DB 004h,0c7h,023h,0c3h,018h,096h,005h,09ah 2168DB 007h,012h,080h,0e2h,0ebh,027h,0b2h,075h 2169DB 009h,083h,02ch,01ah,01bh,06eh,05ah,0a0h 2170DB 052h,03bh,0d6h,0b3h,029h,0e3h,02fh,084h 2171DB 053h,0d1h,000h,0edh,020h,0fch,0b1h,05bh 2172DB 06ah,0cbh,0beh,039h,04ah,04ch,058h,0cfh 2173DB 0d0h,0efh,0aah,0fbh,043h,04dh,033h,085h 2174DB 045h,0f9h,002h,07fh,050h,03ch,09fh,0a8h 2175DB 051h,0a3h,040h,08fh,092h,09dh,038h,0f5h 2176DB 0bch,0b6h,0dah,021h,010h,0ffh,0f3h,0d2h 2177DB 0cdh,00ch,013h,0ech,05fh,097h,044h,017h 2178DB 0c4h,0a7h,07eh,03dh,064h,05dh,019h,073h 2179DB 060h,081h,04fh,0dch,022h,02ah,090h,088h 2180DB 046h,0eeh,0b8h,014h,0deh,05eh,00bh,0dbh 2181DB 0e0h,032h,03ah,00ah,049h,006h,024h,05ch 2182DB 0c2h,0d3h,0ach,062h,091h,095h,0e4h,079h 2183DB 0e7h,0c8h,037h,06dh,08dh,0d5h,04eh,0a9h 2184DB 06ch,056h,0f4h,0eah,065h,07ah,0aeh,008h 2185DB 0bah,078h,025h,02eh,01ch,0a6h,0b4h,0c6h 2186DB 0e8h,0ddh,074h,01fh,04bh,0bdh,08bh,08ah 2187DB 070h,03eh,0b5h,066h,048h,003h,0f6h,00eh 2188DB 061h,035h,057h,0b9h,086h,0c1h,01dh,09eh 2189DB 0e1h,0f8h,098h,011h,069h,0d9h,08eh,094h 2190DB 09bh,01eh,087h,0e9h,0ceh,055h,028h,0dfh 2191DB 08ch,0a1h,089h,00dh,0bfh,0e6h,042h,068h 2192DB 041h,099h,02dh,00fh,0b0h,054h,0bbh,016h 2193 DD 000000001h,000000002h,000000004h,000000008h 2194 DD 000000010h,000000020h,000000040h,000000080h 2195 DD 00000001bh,000000036h,080808080h,080808080h 2196 DD 0fefefefeh,0fefefefeh,01b1b1b1bh,01b1b1b1bh 2197ALIGN 64 2198$L$AES_Td:: 2199 DD 050a7f451h,050a7f451h 2200 DD 05365417eh,05365417eh 2201 DD 0c3a4171ah,0c3a4171ah 2202 DD 0965e273ah,0965e273ah 2203 DD 0cb6bab3bh,0cb6bab3bh 2204 DD 0f1459d1fh,0f1459d1fh 2205 DD 0ab58faach,0ab58faach 2206 DD 09303e34bh,09303e34bh 2207 DD 055fa3020h,055fa3020h 2208 DD 0f66d76adh,0f66d76adh 2209 DD 09176cc88h,09176cc88h 2210 DD 0254c02f5h,0254c02f5h 2211 DD 0fcd7e54fh,0fcd7e54fh 2212 DD 0d7cb2ac5h,0d7cb2ac5h 2213 DD 080443526h,080443526h 2214 DD 08fa362b5h,08fa362b5h 2215 DD 0495ab1deh,0495ab1deh 2216 DD 0671bba25h,0671bba25h 2217 DD 0980eea45h,0980eea45h 2218 DD 0e1c0fe5dh,0e1c0fe5dh 2219 DD 002752fc3h,002752fc3h 2220 DD 012f04c81h,012f04c81h 2221 DD 0a397468dh,0a397468dh 2222 DD 0c6f9d36bh,0c6f9d36bh 2223 DD 0e75f8f03h,0e75f8f03h 2224 DD 0959c9215h,0959c9215h 2225 DD 0eb7a6dbfh,0eb7a6dbfh 2226 DD 0da595295h,0da595295h 2227 DD 02d83bed4h,02d83bed4h 2228 DD 0d3217458h,0d3217458h 2229 DD 02969e049h,02969e049h 2230 DD 044c8c98eh,044c8c98eh 2231 DD 06a89c275h,06a89c275h 2232 DD 078798ef4h,078798ef4h 2233 DD 06b3e5899h,06b3e5899h 2234 DD 0dd71b927h,0dd71b927h 2235 DD 0b64fe1beh,0b64fe1beh 2236 DD 017ad88f0h,017ad88f0h 2237 DD 066ac20c9h,066ac20c9h 2238 DD 0b43ace7dh,0b43ace7dh 2239 DD 0184adf63h,0184adf63h 2240 DD 082311ae5h,082311ae5h 2241 DD 060335197h,060335197h 2242 DD 0457f5362h,0457f5362h 2243 DD 0e07764b1h,0e07764b1h 2244 DD 084ae6bbbh,084ae6bbbh 2245 DD 01ca081feh,01ca081feh 2246 DD 0942b08f9h,0942b08f9h 2247 DD 058684870h,058684870h 2248 DD 019fd458fh,019fd458fh 2249 DD 0876cde94h,0876cde94h 2250 DD 0b7f87b52h,0b7f87b52h 2251 DD 023d373abh,023d373abh 2252 DD 0e2024b72h,0e2024b72h 2253 DD 0578f1fe3h,0578f1fe3h 2254 DD 02aab5566h,02aab5566h 2255 DD 00728ebb2h,00728ebb2h 2256 DD 003c2b52fh,003c2b52fh 2257 DD 09a7bc586h,09a7bc586h 2258 DD 0a50837d3h,0a50837d3h 2259 DD 0f2872830h,0f2872830h 2260 DD 0b2a5bf23h,0b2a5bf23h 2261 DD 0ba6a0302h,0ba6a0302h 2262 DD 05c8216edh,05c8216edh 2263 DD 02b1ccf8ah,02b1ccf8ah 2264 DD 092b479a7h,092b479a7h 2265 DD 0f0f207f3h,0f0f207f3h 2266 DD 0a1e2694eh,0a1e2694eh 2267 DD 0cdf4da65h,0cdf4da65h 2268 DD 0d5be0506h,0d5be0506h 2269 DD 01f6234d1h,01f6234d1h 2270 DD 08afea6c4h,08afea6c4h 2271 DD 09d532e34h,09d532e34h 2272 DD 0a055f3a2h,0a055f3a2h 2273 DD 032e18a05h,032e18a05h 2274 DD 075ebf6a4h,075ebf6a4h 2275 DD 039ec830bh,039ec830bh 2276 DD 0aaef6040h,0aaef6040h 2277 DD 0069f715eh,0069f715eh 2278 DD 051106ebdh,051106ebdh 2279 DD 0f98a213eh,0f98a213eh 2280 DD 03d06dd96h,03d06dd96h 2281 DD 0ae053eddh,0ae053eddh 2282 DD 046bde64dh,046bde64dh 2283 DD 0b58d5491h,0b58d5491h 2284 DD 0055dc471h,0055dc471h 2285 DD 06fd40604h,06fd40604h 2286 DD 0ff155060h,0ff155060h 2287 DD 024fb9819h,024fb9819h 2288 DD 097e9bdd6h,097e9bdd6h 2289 DD 0cc434089h,0cc434089h 2290 DD 0779ed967h,0779ed967h 2291 DD 0bd42e8b0h,0bd42e8b0h 2292 DD 0888b8907h,0888b8907h 2293 DD 0385b19e7h,0385b19e7h 2294 DD 0dbeec879h,0dbeec879h 2295 DD 0470a7ca1h,0470a7ca1h 2296 DD 0e90f427ch,0e90f427ch 2297 DD 0c91e84f8h,0c91e84f8h 2298 DD 000000000h,000000000h 2299 DD 083868009h,083868009h 2300 DD 048ed2b32h,048ed2b32h 2301 DD 0ac70111eh,0ac70111eh 2302 DD 04e725a6ch,04e725a6ch 2303 DD 0fbff0efdh,0fbff0efdh 2304 DD 05638850fh,05638850fh 2305 DD 01ed5ae3dh,01ed5ae3dh 2306 DD 027392d36h,027392d36h 2307 DD 064d90f0ah,064d90f0ah 2308 DD 021a65c68h,021a65c68h 2309 DD 0d1545b9bh,0d1545b9bh 2310 DD 03a2e3624h,03a2e3624h 2311 DD 0b1670a0ch,0b1670a0ch 2312 DD 00fe75793h,00fe75793h 2313 DD 0d296eeb4h,0d296eeb4h 2314 DD 09e919b1bh,09e919b1bh 2315 DD 04fc5c080h,04fc5c080h 2316 DD 0a220dc61h,0a220dc61h 2317 DD 0694b775ah,0694b775ah 2318 DD 0161a121ch,0161a121ch 2319 DD 00aba93e2h,00aba93e2h 2320 DD 0e52aa0c0h,0e52aa0c0h 2321 DD 043e0223ch,043e0223ch 2322 DD 01d171b12h,01d171b12h 2323 DD 00b0d090eh,00b0d090eh 2324 DD 0adc78bf2h,0adc78bf2h 2325 DD 0b9a8b62dh,0b9a8b62dh 2326 DD 0c8a91e14h,0c8a91e14h 2327 DD 08519f157h,08519f157h 2328 DD 04c0775afh,04c0775afh 2329 DD 0bbdd99eeh,0bbdd99eeh 2330 DD 0fd607fa3h,0fd607fa3h 2331 DD 09f2601f7h,09f2601f7h 2332 DD 0bcf5725ch,0bcf5725ch 2333 DD 0c53b6644h,0c53b6644h 2334 DD 0347efb5bh,0347efb5bh 2335 DD 07629438bh,07629438bh 2336 DD 0dcc623cbh,0dcc623cbh 2337 DD 068fcedb6h,068fcedb6h 2338 DD 063f1e4b8h,063f1e4b8h 2339 DD 0cadc31d7h,0cadc31d7h 2340 DD 010856342h,010856342h 2341 DD 040229713h,040229713h 2342 DD 02011c684h,02011c684h 2343 DD 07d244a85h,07d244a85h 2344 DD 0f83dbbd2h,0f83dbbd2h 2345 DD 01132f9aeh,01132f9aeh 2346 DD 06da129c7h,06da129c7h 2347 DD 04b2f9e1dh,04b2f9e1dh 2348 DD 0f330b2dch,0f330b2dch 2349 DD 0ec52860dh,0ec52860dh 2350 DD 0d0e3c177h,0d0e3c177h 2351 DD 06c16b32bh,06c16b32bh 2352 DD 099b970a9h,099b970a9h 2353 DD 0fa489411h,0fa489411h 2354 DD 02264e947h,02264e947h 2355 DD 0c48cfca8h,0c48cfca8h 2356 DD 01a3ff0a0h,01a3ff0a0h 2357 DD 0d82c7d56h,0d82c7d56h 2358 DD 0ef903322h,0ef903322h 2359 DD 0c74e4987h,0c74e4987h 2360 DD 0c1d138d9h,0c1d138d9h 2361 DD 0fea2ca8ch,0fea2ca8ch 2362 DD 0360bd498h,0360bd498h 2363 DD 0cf81f5a6h,0cf81f5a6h 2364 DD 028de7aa5h,028de7aa5h 2365 DD 0268eb7dah,0268eb7dah 2366 DD 0a4bfad3fh,0a4bfad3fh 2367 DD 0e49d3a2ch,0e49d3a2ch 2368 DD 00d927850h,00d927850h 2369 DD 09bcc5f6ah,09bcc5f6ah 2370 DD 062467e54h,062467e54h 2371 DD 0c2138df6h,0c2138df6h 2372 DD 0e8b8d890h,0e8b8d890h 2373 DD 05ef7392eh,05ef7392eh 2374 DD 0f5afc382h,0f5afc382h 2375 DD 0be805d9fh,0be805d9fh 2376 DD 07c93d069h,07c93d069h 2377 DD 0a92dd56fh,0a92dd56fh 2378 DD 0b31225cfh,0b31225cfh 2379 DD 03b99acc8h,03b99acc8h 2380 DD 0a77d1810h,0a77d1810h 2381 DD 06e639ce8h,06e639ce8h 2382 DD 07bbb3bdbh,07bbb3bdbh 2383 DD 0097826cdh,0097826cdh 2384 DD 0f418596eh,0f418596eh 2385 DD 001b79aech,001b79aech 2386 DD 0a89a4f83h,0a89a4f83h 2387 DD 0656e95e6h,0656e95e6h 2388 DD 07ee6ffaah,07ee6ffaah 2389 DD 008cfbc21h,008cfbc21h 2390 DD 0e6e815efh,0e6e815efh 2391 DD 0d99be7bah,0d99be7bah 2392 DD 0ce366f4ah,0ce366f4ah 2393 DD 0d4099feah,0d4099feah 2394 DD 0d67cb029h,0d67cb029h 2395 DD 0afb2a431h,0afb2a431h 2396 DD 031233f2ah,031233f2ah 2397 DD 03094a5c6h,03094a5c6h 2398 DD 0c066a235h,0c066a235h 2399 DD 037bc4e74h,037bc4e74h 2400 DD 0a6ca82fch,0a6ca82fch 2401 DD 0b0d090e0h,0b0d090e0h 2402 DD 015d8a733h,015d8a733h 2403 DD 04a9804f1h,04a9804f1h 2404 DD 0f7daec41h,0f7daec41h 2405 DD 00e50cd7fh,00e50cd7fh 2406 DD 02ff69117h,02ff69117h 2407 DD 08dd64d76h,08dd64d76h 2408 DD 04db0ef43h,04db0ef43h 2409 DD 0544daacch,0544daacch 2410 DD 0df0496e4h,0df0496e4h 2411 DD 0e3b5d19eh,0e3b5d19eh 2412 DD 01b886a4ch,01b886a4ch 2413 DD 0b81f2cc1h,0b81f2cc1h 2414 DD 07f516546h,07f516546h 2415 DD 004ea5e9dh,004ea5e9dh 2416 DD 05d358c01h,05d358c01h 2417 DD 0737487fah,0737487fah 2418 DD 02e410bfbh,02e410bfbh 2419 DD 05a1d67b3h,05a1d67b3h 2420 DD 052d2db92h,052d2db92h 2421 DD 0335610e9h,0335610e9h 2422 DD 01347d66dh,01347d66dh 2423 DD 08c61d79ah,08c61d79ah 2424 DD 07a0ca137h,07a0ca137h 2425 DD 08e14f859h,08e14f859h 2426 DD 0893c13ebh,0893c13ebh 2427 DD 0ee27a9ceh,0ee27a9ceh 2428 DD 035c961b7h,035c961b7h 2429 DD 0ede51ce1h,0ede51ce1h 2430 DD 03cb1477ah,03cb1477ah 2431 DD 059dfd29ch,059dfd29ch 2432 DD 03f73f255h,03f73f255h 2433 DD 079ce1418h,079ce1418h 2434 DD 0bf37c773h,0bf37c773h 2435 DD 0eacdf753h,0eacdf753h 2436 DD 05baafd5fh,05baafd5fh 2437 DD 0146f3ddfh,0146f3ddfh 2438 DD 086db4478h,086db4478h 2439 DD 081f3afcah,081f3afcah 2440 DD 03ec468b9h,03ec468b9h 2441 DD 02c342438h,02c342438h 2442 DD 05f40a3c2h,05f40a3c2h 2443 DD 072c31d16h,072c31d16h 2444 DD 00c25e2bch,00c25e2bch 2445 DD 08b493c28h,08b493c28h 2446 DD 041950dffh,041950dffh 2447 DD 07101a839h,07101a839h 2448 DD 0deb30c08h,0deb30c08h 2449 DD 09ce4b4d8h,09ce4b4d8h 2450 DD 090c15664h,090c15664h 2451 DD 06184cb7bh,06184cb7bh 2452 DD 070b632d5h,070b632d5h 2453 DD 0745c6c48h,0745c6c48h 2454 DD 04257b8d0h,04257b8d0h 2455DB 052h,009h,06ah,0d5h,030h,036h,0a5h,038h 2456DB 0bfh,040h,0a3h,09eh,081h,0f3h,0d7h,0fbh 2457DB 07ch,0e3h,039h,082h,09bh,02fh,0ffh,087h 2458DB 034h,08eh,043h,044h,0c4h,0deh,0e9h,0cbh 2459DB 054h,07bh,094h,032h,0a6h,0c2h,023h,03dh 2460DB 0eeh,04ch,095h,00bh,042h,0fah,0c3h,04eh 2461DB 008h,02eh,0a1h,066h,028h,0d9h,024h,0b2h 2462DB 076h,05bh,0a2h,049h,06dh,08bh,0d1h,025h 2463DB 072h,0f8h,0f6h,064h,086h,068h,098h,016h 2464DB 0d4h,0a4h,05ch,0cch,05dh,065h,0b6h,092h 2465DB 06ch,070h,048h,050h,0fdh,0edh,0b9h,0dah 2466DB 05eh,015h,046h,057h,0a7h,08dh,09dh,084h 2467DB 090h,0d8h,0abh,000h,08ch,0bch,0d3h,00ah 2468DB 0f7h,0e4h,058h,005h,0b8h,0b3h,045h,006h 2469DB 0d0h,02ch,01eh,08fh,0cah,03fh,00fh,002h 2470DB 0c1h,0afh,0bdh,003h,001h,013h,08ah,06bh 2471DB 03ah,091h,011h,041h,04fh,067h,0dch,0eah 2472DB 097h,0f2h,0cfh,0ceh,0f0h,0b4h,0e6h,073h 2473DB 096h,0ach,074h,022h,0e7h,0adh,035h,085h 2474DB 0e2h,0f9h,037h,0e8h,01ch,075h,0dfh,06eh 2475DB 047h,0f1h,01ah,071h,01dh,029h,0c5h,089h 2476DB 06fh,0b7h,062h,00eh,0aah,018h,0beh,01bh 2477DB 0fch,056h,03eh,04bh,0c6h,0d2h,079h,020h 2478DB 09ah,0dbh,0c0h,0feh,078h,0cdh,05ah,0f4h 2479DB 01fh,0ddh,0a8h,033h,088h,007h,0c7h,031h 2480DB 0b1h,012h,010h,059h,027h,080h,0ech,05fh 2481DB 060h,051h,07fh,0a9h,019h,0b5h,04ah,00dh 2482DB 02dh,0e5h,07ah,09fh,093h,0c9h,09ch,0efh 2483DB 0a0h,0e0h,03bh,04dh,0aeh,02ah,0f5h,0b0h 2484DB 0c8h,0ebh,0bbh,03ch,083h,053h,099h,061h 2485DB 017h,02bh,004h,07eh,0bah,077h,0d6h,026h 2486DB 0e1h,069h,014h,063h,055h,021h,00ch,07dh 2487 DD 080808080h,080808080h,0fefefefeh,0fefefefeh 2488 DD 01b1b1b1bh,01b1b1b1bh,0,0 2489DB 052h,009h,06ah,0d5h,030h,036h,0a5h,038h 2490DB 0bfh,040h,0a3h,09eh,081h,0f3h,0d7h,0fbh 2491DB 07ch,0e3h,039h,082h,09bh,02fh,0ffh,087h 2492DB 034h,08eh,043h,044h,0c4h,0deh,0e9h,0cbh 2493DB 054h,07bh,094h,032h,0a6h,0c2h,023h,03dh 2494DB 0eeh,04ch,095h,00bh,042h,0fah,0c3h,04eh 2495DB 008h,02eh,0a1h,066h,028h,0d9h,024h,0b2h 2496DB 076h,05bh,0a2h,049h,06dh,08bh,0d1h,025h 2497DB 072h,0f8h,0f6h,064h,086h,068h,098h,016h 2498DB 0d4h,0a4h,05ch,0cch,05dh,065h,0b6h,092h 2499DB 06ch,070h,048h,050h,0fdh,0edh,0b9h,0dah 2500DB 05eh,015h,046h,057h,0a7h,08dh,09dh,084h 2501DB 090h,0d8h,0abh,000h,08ch,0bch,0d3h,00ah 2502DB 0f7h,0e4h,058h,005h,0b8h,0b3h,045h,006h 2503DB 0d0h,02ch,01eh,08fh,0cah,03fh,00fh,002h 2504DB 0c1h,0afh,0bdh,003h,001h,013h,08ah,06bh 2505DB 03ah,091h,011h,041h,04fh,067h,0dch,0eah 2506DB 097h,0f2h,0cfh,0ceh,0f0h,0b4h,0e6h,073h 2507DB 096h,0ach,074h,022h,0e7h,0adh,035h,085h 2508DB 0e2h,0f9h,037h,0e8h,01ch,075h,0dfh,06eh 2509DB 047h,0f1h,01ah,071h,01dh,029h,0c5h,089h 2510DB 06fh,0b7h,062h,00eh,0aah,018h,0beh,01bh 2511DB 0fch,056h,03eh,04bh,0c6h,0d2h,079h,020h 2512DB 09ah,0dbh,0c0h,0feh,078h,0cdh,05ah,0f4h 2513DB 01fh,0ddh,0a8h,033h,088h,007h,0c7h,031h 2514DB 0b1h,012h,010h,059h,027h,080h,0ech,05fh 2515DB 060h,051h,07fh,0a9h,019h,0b5h,04ah,00dh 2516DB 02dh,0e5h,07ah,09fh,093h,0c9h,09ch,0efh 2517DB 0a0h,0e0h,03bh,04dh,0aeh,02ah,0f5h,0b0h 2518DB 0c8h,0ebh,0bbh,03ch,083h,053h,099h,061h 2519DB 017h,02bh,004h,07eh,0bah,077h,0d6h,026h 2520DB 0e1h,069h,014h,063h,055h,021h,00ch,07dh 2521 DD 080808080h,080808080h,0fefefefeh,0fefefefeh 2522 DD 01b1b1b1bh,01b1b1b1bh,0,0 2523DB 052h,009h,06ah,0d5h,030h,036h,0a5h,038h 2524DB 0bfh,040h,0a3h,09eh,081h,0f3h,0d7h,0fbh 2525DB 07ch,0e3h,039h,082h,09bh,02fh,0ffh,087h 2526DB 034h,08eh,043h,044h,0c4h,0deh,0e9h,0cbh 2527DB 054h,07bh,094h,032h,0a6h,0c2h,023h,03dh 2528DB 0eeh,04ch,095h,00bh,042h,0fah,0c3h,04eh 2529DB 008h,02eh,0a1h,066h,028h,0d9h,024h,0b2h 2530DB 076h,05bh,0a2h,049h,06dh,08bh,0d1h,025h 2531DB 072h,0f8h,0f6h,064h,086h,068h,098h,016h 2532DB 0d4h,0a4h,05ch,0cch,05dh,065h,0b6h,092h 2533DB 06ch,070h,048h,050h,0fdh,0edh,0b9h,0dah 2534DB 05eh,015h,046h,057h,0a7h,08dh,09dh,084h 2535DB 090h,0d8h,0abh,000h,08ch,0bch,0d3h,00ah 2536DB 0f7h,0e4h,058h,005h,0b8h,0b3h,045h,006h 2537DB 0d0h,02ch,01eh,08fh,0cah,03fh,00fh,002h 2538DB 0c1h,0afh,0bdh,003h,001h,013h,08ah,06bh 2539DB 03ah,091h,011h,041h,04fh,067h,0dch,0eah 2540DB 097h,0f2h,0cfh,0ceh,0f0h,0b4h,0e6h,073h 2541DB 096h,0ach,074h,022h,0e7h,0adh,035h,085h 2542DB 0e2h,0f9h,037h,0e8h,01ch,075h,0dfh,06eh 2543DB 047h,0f1h,01ah,071h,01dh,029h,0c5h,089h 2544DB 06fh,0b7h,062h,00eh,0aah,018h,0beh,01bh 2545DB 0fch,056h,03eh,04bh,0c6h,0d2h,079h,020h 2546DB 09ah,0dbh,0c0h,0feh,078h,0cdh,05ah,0f4h 2547DB 01fh,0ddh,0a8h,033h,088h,007h,0c7h,031h 2548DB 0b1h,012h,010h,059h,027h,080h,0ech,05fh 2549DB 060h,051h,07fh,0a9h,019h,0b5h,04ah,00dh 2550DB 02dh,0e5h,07ah,09fh,093h,0c9h,09ch,0efh 2551DB 0a0h,0e0h,03bh,04dh,0aeh,02ah,0f5h,0b0h 2552DB 0c8h,0ebh,0bbh,03ch,083h,053h,099h,061h 2553DB 017h,02bh,004h,07eh,0bah,077h,0d6h,026h 2554DB 0e1h,069h,014h,063h,055h,021h,00ch,07dh 2555 DD 080808080h,080808080h,0fefefefeh,0fefefefeh 2556 DD 01b1b1b1bh,01b1b1b1bh,0,0 2557DB 052h,009h,06ah,0d5h,030h,036h,0a5h,038h 2558DB 0bfh,040h,0a3h,09eh,081h,0f3h,0d7h,0fbh 2559DB 07ch,0e3h,039h,082h,09bh,02fh,0ffh,087h 2560DB 034h,08eh,043h,044h,0c4h,0deh,0e9h,0cbh 2561DB 054h,07bh,094h,032h,0a6h,0c2h,023h,03dh 2562DB 0eeh,04ch,095h,00bh,042h,0fah,0c3h,04eh 2563DB 008h,02eh,0a1h,066h,028h,0d9h,024h,0b2h 2564DB 076h,05bh,0a2h,049h,06dh,08bh,0d1h,025h 2565DB 072h,0f8h,0f6h,064h,086h,068h,098h,016h 2566DB 0d4h,0a4h,05ch,0cch,05dh,065h,0b6h,092h 2567DB 06ch,070h,048h,050h,0fdh,0edh,0b9h,0dah 2568DB 05eh,015h,046h,057h,0a7h,08dh,09dh,084h 2569DB 090h,0d8h,0abh,000h,08ch,0bch,0d3h,00ah 2570DB 0f7h,0e4h,058h,005h,0b8h,0b3h,045h,006h 2571DB 0d0h,02ch,01eh,08fh,0cah,03fh,00fh,002h 2572DB 0c1h,0afh,0bdh,003h,001h,013h,08ah,06bh 2573DB 03ah,091h,011h,041h,04fh,067h,0dch,0eah 2574DB 097h,0f2h,0cfh,0ceh,0f0h,0b4h,0e6h,073h 2575DB 096h,0ach,074h,022h,0e7h,0adh,035h,085h 2576DB 0e2h,0f9h,037h,0e8h,01ch,075h,0dfh,06eh 2577DB 047h,0f1h,01ah,071h,01dh,029h,0c5h,089h 2578DB 06fh,0b7h,062h,00eh,0aah,018h,0beh,01bh 2579DB 0fch,056h,03eh,04bh,0c6h,0d2h,079h,020h 2580DB 09ah,0dbh,0c0h,0feh,078h,0cdh,05ah,0f4h 2581DB 01fh,0ddh,0a8h,033h,088h,007h,0c7h,031h 2582DB 0b1h,012h,010h,059h,027h,080h,0ech,05fh 2583DB 060h,051h,07fh,0a9h,019h,0b5h,04ah,00dh 2584DB 02dh,0e5h,07ah,09fh,093h,0c9h,09ch,0efh 2585DB 0a0h,0e0h,03bh,04dh,0aeh,02ah,0f5h,0b0h 2586DB 0c8h,0ebh,0bbh,03ch,083h,053h,099h,061h 2587DB 017h,02bh,004h,07eh,0bah,077h,0d6h,026h 2588DB 0e1h,069h,014h,063h,055h,021h,00ch,07dh 2589 DD 080808080h,080808080h,0fefefefeh,0fefefefeh 2590 DD 01b1b1b1bh,01b1b1b1bh,0,0 2591DB 65,69,83,32,102,111,114,32,120,56,54,95,54,52,44,32 2592DB 67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97 2593DB 112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103 2594DB 62,0 2595ALIGN 64 2596EXTERN __imp_RtlVirtualUnwind:NEAR 2597 2598ALIGN 16 2599block_se_handler PROC PRIVATE 2600 push rsi 2601 push rdi 2602 push rbx 2603 push rbp 2604 push r12 2605 push r13 2606 push r14 2607 push r15 2608 pushfq 2609 sub rsp,64 2610 2611 mov rax,QWORD PTR[120+r8] 2612 mov rbx,QWORD PTR[248+r8] 2613 2614 mov rsi,QWORD PTR[8+r9] 2615 mov r11,QWORD PTR[56+r9] 2616 2617 mov r10d,DWORD PTR[r11] 2618 lea r10,QWORD PTR[r10*1+rsi] 2619 cmp rbx,r10 2620 jb $L$in_block_prologue 2621 2622 mov rax,QWORD PTR[152+r8] 2623 2624 mov r10d,DWORD PTR[4+r11] 2625 lea r10,QWORD PTR[r10*1+rsi] 2626 cmp rbx,r10 2627 jae $L$in_block_prologue 2628 2629 mov rax,QWORD PTR[24+rax] 2630 lea rax,QWORD PTR[48+rax] 2631 2632 mov rbx,QWORD PTR[((-8))+rax] 2633 mov rbp,QWORD PTR[((-16))+rax] 2634 mov r12,QWORD PTR[((-24))+rax] 2635 mov r13,QWORD PTR[((-32))+rax] 2636 mov r14,QWORD PTR[((-40))+rax] 2637 mov r15,QWORD PTR[((-48))+rax] 2638 mov QWORD PTR[144+r8],rbx 2639 mov QWORD PTR[160+r8],rbp 2640 mov QWORD PTR[216+r8],r12 2641 mov QWORD PTR[224+r8],r13 2642 mov QWORD PTR[232+r8],r14 2643 mov QWORD PTR[240+r8],r15 2644 2645$L$in_block_prologue:: 2646 mov rdi,QWORD PTR[8+rax] 2647 mov rsi,QWORD PTR[16+rax] 2648 mov QWORD PTR[152+r8],rax 2649 mov QWORD PTR[168+r8],rsi 2650 mov QWORD PTR[176+r8],rdi 2651 2652 jmp $L$common_seh_exit 2653block_se_handler ENDP 2654 2655 2656ALIGN 16 2657key_se_handler PROC PRIVATE 2658 push rsi 2659 push rdi 2660 push rbx 2661 push rbp 2662 push r12 2663 push r13 2664 push r14 2665 push r15 2666 pushfq 2667 sub rsp,64 2668 2669 mov rax,QWORD PTR[120+r8] 2670 mov rbx,QWORD PTR[248+r8] 2671 2672 mov rsi,QWORD PTR[8+r9] 2673 mov r11,QWORD PTR[56+r9] 2674 2675 mov r10d,DWORD PTR[r11] 2676 lea r10,QWORD PTR[r10*1+rsi] 2677 cmp rbx,r10 2678 jb $L$in_key_prologue 2679 2680 mov rax,QWORD PTR[152+r8] 2681 2682 mov r10d,DWORD PTR[4+r11] 2683 lea r10,QWORD PTR[r10*1+rsi] 2684 cmp rbx,r10 2685 jae $L$in_key_prologue 2686 2687 lea rax,QWORD PTR[56+rax] 2688 2689 mov rbx,QWORD PTR[((-8))+rax] 2690 mov rbp,QWORD PTR[((-16))+rax] 2691 mov r12,QWORD PTR[((-24))+rax] 2692 mov r13,QWORD PTR[((-32))+rax] 2693 mov r14,QWORD PTR[((-40))+rax] 2694 mov r15,QWORD PTR[((-48))+rax] 2695 mov QWORD PTR[144+r8],rbx 2696 mov QWORD PTR[160+r8],rbp 2697 mov QWORD PTR[216+r8],r12 2698 mov QWORD PTR[224+r8],r13 2699 mov QWORD PTR[232+r8],r14 2700 mov QWORD PTR[240+r8],r15 2701 2702$L$in_key_prologue:: 2703 mov rdi,QWORD PTR[8+rax] 2704 mov rsi,QWORD PTR[16+rax] 2705 mov QWORD PTR[152+r8],rax 2706 mov QWORD PTR[168+r8],rsi 2707 mov QWORD PTR[176+r8],rdi 2708 2709 jmp $L$common_seh_exit 2710key_se_handler ENDP 2711 2712 2713ALIGN 16 2714cbc_se_handler PROC PRIVATE 2715 push rsi 2716 push rdi 2717 push rbx 2718 push rbp 2719 push r12 2720 push r13 2721 push r14 2722 push r15 2723 pushfq 2724 sub rsp,64 2725 2726 mov rax,QWORD PTR[120+r8] 2727 mov rbx,QWORD PTR[248+r8] 2728 2729 lea r10,QWORD PTR[$L$cbc_prologue] 2730 cmp rbx,r10 2731 jb $L$in_cbc_prologue 2732 2733 lea r10,QWORD PTR[$L$cbc_fast_body] 2734 cmp rbx,r10 2735 jb $L$in_cbc_frame_setup 2736 2737 lea r10,QWORD PTR[$L$cbc_slow_prologue] 2738 cmp rbx,r10 2739 jb $L$in_cbc_body 2740 2741 lea r10,QWORD PTR[$L$cbc_slow_body] 2742 cmp rbx,r10 2743 jb $L$in_cbc_frame_setup 2744 2745$L$in_cbc_body:: 2746 mov rax,QWORD PTR[152+r8] 2747 2748 lea r10,QWORD PTR[$L$cbc_epilogue] 2749 cmp rbx,r10 2750 jae $L$in_cbc_prologue 2751 2752 lea rax,QWORD PTR[8+rax] 2753 2754 lea r10,QWORD PTR[$L$cbc_popfq] 2755 cmp rbx,r10 2756 jae $L$in_cbc_prologue 2757 2758 mov rax,QWORD PTR[8+rax] 2759 lea rax,QWORD PTR[56+rax] 2760 2761$L$in_cbc_frame_setup:: 2762 mov rbx,QWORD PTR[((-16))+rax] 2763 mov rbp,QWORD PTR[((-24))+rax] 2764 mov r12,QWORD PTR[((-32))+rax] 2765 mov r13,QWORD PTR[((-40))+rax] 2766 mov r14,QWORD PTR[((-48))+rax] 2767 mov r15,QWORD PTR[((-56))+rax] 2768 mov QWORD PTR[144+r8],rbx 2769 mov QWORD PTR[160+r8],rbp 2770 mov QWORD PTR[216+r8],r12 2771 mov QWORD PTR[224+r8],r13 2772 mov QWORD PTR[232+r8],r14 2773 mov QWORD PTR[240+r8],r15 2774 2775$L$in_cbc_prologue:: 2776 mov rdi,QWORD PTR[8+rax] 2777 mov rsi,QWORD PTR[16+rax] 2778 mov QWORD PTR[152+r8],rax 2779 mov QWORD PTR[168+r8],rsi 2780 mov QWORD PTR[176+r8],rdi 2781 2782$L$common_seh_exit:: 2783 2784 mov rdi,QWORD PTR[40+r9] 2785 mov rsi,r8 2786 mov ecx,154 2787 DD 0a548f3fch 2788 2789 mov rsi,r9 2790 xor rcx,rcx 2791 mov rdx,QWORD PTR[8+rsi] 2792 mov r8,QWORD PTR[rsi] 2793 mov r9,QWORD PTR[16+rsi] 2794 mov r10,QWORD PTR[40+rsi] 2795 lea r11,QWORD PTR[56+rsi] 2796 lea r12,QWORD PTR[24+rsi] 2797 mov QWORD PTR[32+rsp],r10 2798 mov QWORD PTR[40+rsp],r11 2799 mov QWORD PTR[48+rsp],r12 2800 mov QWORD PTR[56+rsp],rcx 2801 call QWORD PTR[__imp_RtlVirtualUnwind] 2802 2803 mov eax,1 2804 add rsp,64 2805 popfq 2806 pop r15 2807 pop r14 2808 pop r13 2809 pop r12 2810 pop rbp 2811 pop rbx 2812 pop rdi 2813 pop rsi 2814 DB 0F3h,0C3h ;repret 2815cbc_se_handler ENDP 2816 2817.text$ ENDS 2818.pdata SEGMENT READONLY ALIGN(4) 2819ALIGN 4 2820 DD imagerel $L$SEH_begin_asm_AES_encrypt 2821 DD imagerel $L$SEH_end_asm_AES_encrypt 2822 DD imagerel $L$SEH_info_asm_AES_encrypt 2823 2824 DD imagerel $L$SEH_begin_asm_AES_decrypt 2825 DD imagerel $L$SEH_end_asm_AES_decrypt 2826 DD imagerel $L$SEH_info_asm_AES_decrypt 2827 2828 DD imagerel $L$SEH_begin_asm_AES_set_encrypt_key 2829 DD imagerel $L$SEH_end_asm_AES_set_encrypt_key 2830 DD imagerel $L$SEH_info_asm_AES_set_encrypt_key 2831 2832 DD imagerel $L$SEH_begin_asm_AES_set_decrypt_key 2833 DD imagerel $L$SEH_end_asm_AES_set_decrypt_key 2834 DD imagerel $L$SEH_info_asm_AES_set_decrypt_key 2835 2836 DD imagerel $L$SEH_begin_asm_AES_cbc_encrypt 2837 DD imagerel $L$SEH_end_asm_AES_cbc_encrypt 2838 DD imagerel $L$SEH_info_asm_AES_cbc_encrypt 2839 2840.pdata ENDS 2841.xdata SEGMENT READONLY ALIGN(8) 2842ALIGN 8 2843$L$SEH_info_asm_AES_encrypt:: 2844DB 9,0,0,0 2845 DD imagerel block_se_handler 2846 DD imagerel $L$enc_prologue,imagerel $L$enc_epilogue 2847$L$SEH_info_asm_AES_decrypt:: 2848DB 9,0,0,0 2849 DD imagerel block_se_handler 2850 DD imagerel $L$dec_prologue,imagerel $L$dec_epilogue 2851$L$SEH_info_asm_AES_set_encrypt_key:: 2852DB 9,0,0,0 2853 DD imagerel key_se_handler 2854 DD imagerel $L$enc_key_prologue,imagerel $L$enc_key_epilogue 2855$L$SEH_info_asm_AES_set_decrypt_key:: 2856DB 9,0,0,0 2857 DD imagerel key_se_handler 2858 DD imagerel $L$dec_key_prologue,imagerel $L$dec_key_epilogue 2859$L$SEH_info_asm_AES_cbc_encrypt:: 2860DB 9,0,0,0 2861 DD imagerel cbc_se_handler 2862 2863.xdata ENDS 2864END 2865