| OLD | NEW |
| 1 default rel | 1 default rel |
| 2 %define XMMWORD | 2 %define XMMWORD |
| 3 %define YMMWORD | 3 %define YMMWORD |
| 4 %define ZMMWORD | 4 %define ZMMWORD |
| 5 section .text code align=64 | 5 section .text code align=64 |
| 6 | 6 |
| 7 | 7 |
| 8 EXTERN OPENSSL_ia32cap_P | 8 EXTERN OPENSSL_ia32cap_P |
| 9 | 9 |
| 10 global bn_mul_mont | 10 global bn_mul_mont |
| 11 | 11 |
| 12 ALIGN 16 | 12 ALIGN 16 |
| 13 bn_mul_mont: | 13 bn_mul_mont: |
| 14 mov QWORD[8+rsp],rdi ;WIN64 prologue | 14 mov QWORD[8+rsp],rdi ;WIN64 prologue |
| 15 mov QWORD[16+rsp],rsi | 15 mov QWORD[16+rsp],rsi |
| 16 mov rax,rsp | 16 mov rax,rsp |
| 17 $L$SEH_begin_bn_mul_mont: | 17 $L$SEH_begin_bn_mul_mont: |
| 18 mov rdi,rcx | 18 mov rdi,rcx |
| 19 mov rsi,rdx | 19 mov rsi,rdx |
| 20 mov rdx,r8 | 20 mov rdx,r8 |
| 21 mov rcx,r9 | 21 mov rcx,r9 |
| 22 mov r8,QWORD[40+rsp] | 22 mov r8,QWORD[40+rsp] |
| 23 mov r9,QWORD[48+rsp] | 23 mov r9,QWORD[48+rsp] |
| 24 | 24 |
| 25 | 25 |
| 26 mov r9d,r9d |
| 27 mov rax,rsp |
| 26 test r9d,3 | 28 test r9d,3 |
| 27 jnz NEAR $L$mul_enter | 29 jnz NEAR $L$mul_enter |
| 28 cmp r9d,8 | 30 cmp r9d,8 |
| 29 jb NEAR $L$mul_enter | 31 jb NEAR $L$mul_enter |
| 30 cmp rdx,rsi | 32 cmp rdx,rsi |
| 31 jne NEAR $L$mul4x_enter | 33 jne NEAR $L$mul4x_enter |
| 32 test r9d,7 | 34 test r9d,7 |
| 33 jz NEAR $L$sqr8x_enter | 35 jz NEAR $L$sqr8x_enter |
| 34 jmp NEAR $L$mul4x_enter | 36 jmp NEAR $L$mul4x_enter |
| 35 | 37 |
| 36 ALIGN 16 | 38 ALIGN 16 |
| 37 $L$mul_enter: | 39 $L$mul_enter: |
| 38 push rbx | 40 push rbx |
| 39 push rbp | 41 push rbp |
| 40 push r12 | 42 push r12 |
| 41 push r13 | 43 push r13 |
| 42 push r14 | 44 push r14 |
| 43 push r15 | 45 push r15 |
| 44 | 46 |
| 45 » mov» r9d,r9d | 47 » neg» r9 |
| 46 » lea» r10,[2+r9] | |
| 47 mov r11,rsp | 48 mov r11,rsp |
| 48 » neg» r10 | 49 » lea» r10,[((-16))+r9*8+rsp] |
| 49 » lea» rsp,[r10*8+rsp] | 50 » neg» r9 |
| 50 » and» rsp,-1024 | 51 » and» r10,-1024 |
| 51 | 52 |
| 52 » mov» QWORD[8+r9*8+rsp],r11 | 53 |
| 54 |
| 55 |
| 56 |
| 57 |
| 58 |
| 59 |
| 60 |
| 61 » sub» r11,r10 |
| 62 » and» r11,-4096 |
| 63 » lea» rsp,[r11*1+r10] |
| 64 » mov» r11,QWORD[rsp] |
| 65 » cmp» rsp,r10 |
| 66 » ja» NEAR $L$mul_page_walk |
| 67 » jmp» NEAR $L$mul_page_walk_done |
| 68 |
| 69 ALIGN» 16 |
| 70 $L$mul_page_walk: |
| 71 » lea» rsp,[((-4096))+rsp] |
| 72 » mov» r11,QWORD[rsp] |
| 73 » cmp» rsp,r10 |
| 74 » ja» NEAR $L$mul_page_walk |
| 75 $L$mul_page_walk_done: |
| 76 |
| 77 » mov» QWORD[8+r9*8+rsp],rax |
| 53 $L$mul_body: | 78 $L$mul_body: |
| 54 mov r12,rdx | 79 mov r12,rdx |
| 55 mov r8,QWORD[r8] | 80 mov r8,QWORD[r8] |
| 56 mov rbx,QWORD[r12] | 81 mov rbx,QWORD[r12] |
| 57 mov rax,QWORD[rsi] | 82 mov rax,QWORD[rsi] |
| 58 | 83 |
| 59 xor r14,r14 | 84 xor r14,r14 |
| 60 xor r15,r15 | 85 xor r15,r15 |
| 61 | 86 |
| 62 mov rbp,r8 | 87 mov rbp,r8 |
| (...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 194 ALIGN 16 | 219 ALIGN 16 |
| 195 $L$sub: sbb rax,QWORD[r14*8+rcx] | 220 $L$sub: sbb rax,QWORD[r14*8+rcx] |
| 196 mov QWORD[r14*8+rdi],rax | 221 mov QWORD[r14*8+rdi],rax |
| 197 mov rax,QWORD[8+r14*8+rsi] | 222 mov rax,QWORD[8+r14*8+rsi] |
| 198 lea r14,[1+r14] | 223 lea r14,[1+r14] |
| 199 dec r15 | 224 dec r15 |
| 200 jnz NEAR $L$sub | 225 jnz NEAR $L$sub |
| 201 | 226 |
| 202 sbb rax,0 | 227 sbb rax,0 |
| 203 xor r14,r14 | 228 xor r14,r14 |
| 229 and rsi,rax |
| 230 not rax |
| 231 mov rcx,rdi |
| 232 and rcx,rax |
| 204 mov r15,r9 | 233 mov r15,r9 |
| 234 or rsi,rcx |
| 205 ALIGN 16 | 235 ALIGN 16 |
| 206 $L$copy: | 236 $L$copy: |
| 207 » mov» rsi,QWORD[r14*8+rsp] | 237 » mov» rax,QWORD[r14*8+rsi] |
| 208 » mov» rcx,QWORD[r14*8+rdi] | |
| 209 » xor» rsi,rcx | |
| 210 » and» rsi,rax | |
| 211 » xor» rsi,rcx | |
| 212 mov QWORD[r14*8+rsp],r14 | 238 mov QWORD[r14*8+rsp],r14 |
| 213 » mov» QWORD[r14*8+rdi],rsi | 239 » mov» QWORD[r14*8+rdi],rax |
| 214 lea r14,[1+r14] | 240 lea r14,[1+r14] |
| 215 sub r15,1 | 241 sub r15,1 |
| 216 jnz NEAR $L$copy | 242 jnz NEAR $L$copy |
| 217 | 243 |
| 218 mov rsi,QWORD[8+r9*8+rsp] | 244 mov rsi,QWORD[8+r9*8+rsp] |
| 219 mov rax,1 | 245 mov rax,1 |
| 220 » mov» r15,QWORD[rsi] | 246 » mov» r15,QWORD[((-48))+rsi] |
| 221 » mov» r14,QWORD[8+rsi] | 247 » mov» r14,QWORD[((-40))+rsi] |
| 222 » mov» r13,QWORD[16+rsi] | 248 » mov» r13,QWORD[((-32))+rsi] |
| 223 » mov» r12,QWORD[24+rsi] | 249 » mov» r12,QWORD[((-24))+rsi] |
| 224 » mov» rbp,QWORD[32+rsi] | 250 » mov» rbp,QWORD[((-16))+rsi] |
| 225 » mov» rbx,QWORD[40+rsi] | 251 » mov» rbx,QWORD[((-8))+rsi] |
| 226 » lea» rsp,[48+rsi] | 252 » lea» rsp,[rsi] |
| 227 $L$mul_epilogue: | 253 $L$mul_epilogue: |
| 228 mov rdi,QWORD[8+rsp] ;WIN64 epilogue | 254 mov rdi,QWORD[8+rsp] ;WIN64 epilogue |
| 229 mov rsi,QWORD[16+rsp] | 255 mov rsi,QWORD[16+rsp] |
| 230 DB 0F3h,0C3h ;repret | 256 DB 0F3h,0C3h ;repret |
| 231 $L$SEH_end_bn_mul_mont: | 257 $L$SEH_end_bn_mul_mont: |
| 232 | 258 |
| 233 ALIGN 16 | 259 ALIGN 16 |
| 234 bn_mul4x_mont: | 260 bn_mul4x_mont: |
| 235 mov QWORD[8+rsp],rdi ;WIN64 prologue | 261 mov QWORD[8+rsp],rdi ;WIN64 prologue |
| 236 mov QWORD[16+rsp],rsi | 262 mov QWORD[16+rsp],rsi |
| 237 mov rax,rsp | 263 mov rax,rsp |
| 238 $L$SEH_begin_bn_mul4x_mont: | 264 $L$SEH_begin_bn_mul4x_mont: |
| 239 mov rdi,rcx | 265 mov rdi,rcx |
| 240 mov rsi,rdx | 266 mov rsi,rdx |
| 241 mov rdx,r8 | 267 mov rdx,r8 |
| 242 mov rcx,r9 | 268 mov rcx,r9 |
| 243 mov r8,QWORD[40+rsp] | 269 mov r8,QWORD[40+rsp] |
| 244 mov r9,QWORD[48+rsp] | 270 mov r9,QWORD[48+rsp] |
| 245 | 271 |
| 246 | 272 |
| 273 mov r9d,r9d |
| 274 mov rax,rsp |
| 247 $L$mul4x_enter: | 275 $L$mul4x_enter: |
| 248 push rbx | 276 push rbx |
| 249 push rbp | 277 push rbp |
| 250 push r12 | 278 push r12 |
| 251 push r13 | 279 push r13 |
| 252 push r14 | 280 push r14 |
| 253 push r15 | 281 push r15 |
| 254 | 282 |
| 255 » mov» r9d,r9d | 283 » neg» r9 |
| 256 » lea» r10,[4+r9] | |
| 257 mov r11,rsp | 284 mov r11,rsp |
| 258 » neg» r10 | 285 » lea» r10,[((-32))+r9*8+rsp] |
| 259 » lea» rsp,[r10*8+rsp] | 286 » neg» r9 |
| 260 » and» rsp,-1024 | 287 » and» r10,-1024 |
| 261 | 288 |
| 262 » mov» QWORD[8+r9*8+rsp],r11 | 289 » sub» r11,r10 |
| 290 » and» r11,-4096 |
| 291 » lea» rsp,[r11*1+r10] |
| 292 » mov» r11,QWORD[rsp] |
| 293 » cmp» rsp,r10 |
| 294 » ja» NEAR $L$mul4x_page_walk |
| 295 » jmp» NEAR $L$mul4x_page_walk_done |
| 296 |
| 297 $L$mul4x_page_walk: |
| 298 » lea» rsp,[((-4096))+rsp] |
| 299 » mov» r11,QWORD[rsp] |
| 300 » cmp» rsp,r10 |
| 301 » ja» NEAR $L$mul4x_page_walk |
| 302 $L$mul4x_page_walk_done: |
| 303 |
| 304 » mov» QWORD[8+r9*8+rsp],rax |
| 263 $L$mul4x_body: | 305 $L$mul4x_body: |
| 264 mov QWORD[16+r9*8+rsp],rdi | 306 mov QWORD[16+r9*8+rsp],rdi |
| 265 mov r12,rdx | 307 mov r12,rdx |
| 266 mov r8,QWORD[r8] | 308 mov r8,QWORD[r8] |
| 267 mov rbx,QWORD[r12] | 309 mov rbx,QWORD[r12] |
| 268 mov rax,QWORD[rsi] | 310 mov rax,QWORD[rsi] |
| 269 | 311 |
| 270 xor r14,r14 | 312 xor r14,r14 |
| 271 xor r15,r15 | 313 xor r15,r15 |
| 272 | 314 |
| (...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 553 adc rdi,0 | 595 adc rdi,0 |
| 554 add r13,QWORD[r9*8+rsp] | 596 add r13,QWORD[r9*8+rsp] |
| 555 adc rdi,0 | 597 adc rdi,0 |
| 556 mov QWORD[((-8))+r15*8+rsp],r13 | 598 mov QWORD[((-8))+r15*8+rsp],r13 |
| 557 mov QWORD[r15*8+rsp],rdi | 599 mov QWORD[r15*8+rsp],rdi |
| 558 | 600 |
| 559 cmp r14,r9 | 601 cmp r14,r9 |
| 560 jb NEAR $L$outer4x | 602 jb NEAR $L$outer4x |
| 561 mov rdi,QWORD[16+r9*8+rsp] | 603 mov rdi,QWORD[16+r9*8+rsp] |
| 562 mov rax,QWORD[rsp] | 604 mov rax,QWORD[rsp] |
| 605 pxor xmm0,xmm0 |
| 563 mov rdx,QWORD[8+rsp] | 606 mov rdx,QWORD[8+rsp] |
| 564 shr r9,2 | 607 shr r9,2 |
| 565 lea rsi,[rsp] | 608 lea rsi,[rsp] |
| 566 xor r14,r14 | 609 xor r14,r14 |
| 567 | 610 |
| 568 sub rax,QWORD[rcx] | 611 sub rax,QWORD[rcx] |
| 569 mov rbx,QWORD[16+rsi] | 612 mov rbx,QWORD[16+rsi] |
| 570 mov rbp,QWORD[24+rsi] | 613 mov rbp,QWORD[24+rsi] |
| 571 sbb rdx,QWORD[8+rcx] | 614 sbb rdx,QWORD[8+rcx] |
| 572 lea r15,[((-1))+r9] | 615 lea r15,[((-1))+r9] |
| (...skipping 17 matching lines...) Expand all Loading... |
| 590 jnz NEAR $L$sub4x | 633 jnz NEAR $L$sub4x |
| 591 | 634 |
| 592 mov QWORD[r14*8+rdi],rax | 635 mov QWORD[r14*8+rdi],rax |
| 593 mov rax,QWORD[32+r14*8+rsi] | 636 mov rax,QWORD[32+r14*8+rsi] |
| 594 sbb rbx,QWORD[16+r14*8+rcx] | 637 sbb rbx,QWORD[16+r14*8+rcx] |
| 595 mov QWORD[8+r14*8+rdi],rdx | 638 mov QWORD[8+r14*8+rdi],rdx |
| 596 sbb rbp,QWORD[24+r14*8+rcx] | 639 sbb rbp,QWORD[24+r14*8+rcx] |
| 597 mov QWORD[16+r14*8+rdi],rbx | 640 mov QWORD[16+r14*8+rdi],rbx |
| 598 | 641 |
| 599 sbb rax,0 | 642 sbb rax,0 |
| 600 DB 66h, 48h, 0fh, 6eh, 0c0h | |
| 601 punpcklqdq xmm0,xmm0 | |
| 602 mov QWORD[24+r14*8+rdi],rbp | 643 mov QWORD[24+r14*8+rdi],rbp |
| 603 xor r14,r14 | 644 xor r14,r14 |
| 645 and rsi,rax |
| 646 not rax |
| 647 mov rcx,rdi |
| 648 and rcx,rax |
| 649 lea r15,[((-1))+r9] |
| 650 or rsi,rcx |
| 604 | 651 |
| 605 » mov» r15,r9 | 652 » movdqu» xmm1,XMMWORD[rsi] |
| 606 » pxor» xmm5,xmm5 | 653 » movdqa» XMMWORD[rsp],xmm0 |
| 654 » movdqu» XMMWORD[rdi],xmm1 |
| 607 jmp NEAR $L$copy4x | 655 jmp NEAR $L$copy4x |
| 608 ALIGN 16 | 656 ALIGN 16 |
| 609 $L$copy4x: | 657 $L$copy4x: |
| 610 » movdqu» xmm2,XMMWORD[r14*1+rsp] | 658 » movdqu» xmm2,XMMWORD[16+r14*1+rsi] |
| 611 » movdqu» xmm4,XMMWORD[16+r14*1+rsp] | 659 » movdqu» xmm1,XMMWORD[32+r14*1+rsi] |
| 612 » movdqu» xmm1,XMMWORD[r14*1+rdi] | 660 » movdqa» XMMWORD[16+r14*1+rsp],xmm0 |
| 613 » movdqu» xmm3,XMMWORD[16+r14*1+rdi] | 661 » movdqu» XMMWORD[16+r14*1+rdi],xmm2 |
| 614 » pxor» xmm2,xmm1 | 662 » movdqa» XMMWORD[32+r14*1+rsp],xmm0 |
| 615 » pxor» xmm4,xmm3 | 663 » movdqu» XMMWORD[32+r14*1+rdi],xmm1 |
| 616 » pand» xmm2,xmm0 | |
| 617 » pand» xmm4,xmm0 | |
| 618 » pxor» xmm2,xmm1 | |
| 619 » pxor» xmm4,xmm3 | |
| 620 » movdqu» XMMWORD[r14*1+rdi],xmm2 | |
| 621 » movdqu» XMMWORD[16+r14*1+rdi],xmm4 | |
| 622 » movdqa» XMMWORD[r14*1+rsp],xmm5 | |
| 623 » movdqa» XMMWORD[16+r14*1+rsp],xmm5 | |
| 624 | |
| 625 lea r14,[32+r14] | 664 lea r14,[32+r14] |
| 626 dec r15 | 665 dec r15 |
| 627 jnz NEAR $L$copy4x | 666 jnz NEAR $L$copy4x |
| 628 | 667 |
| 629 shl r9,2 | 668 shl r9,2 |
| 669 movdqu xmm2,XMMWORD[16+r14*1+rsi] |
| 670 movdqa XMMWORD[16+r14*1+rsp],xmm0 |
| 671 movdqu XMMWORD[16+r14*1+rdi],xmm2 |
| 630 mov rsi,QWORD[8+r9*8+rsp] | 672 mov rsi,QWORD[8+r9*8+rsp] |
| 631 mov rax,1 | 673 mov rax,1 |
| 632 » mov» r15,QWORD[rsi] | 674 » mov» r15,QWORD[((-48))+rsi] |
| 633 » mov» r14,QWORD[8+rsi] | 675 » mov» r14,QWORD[((-40))+rsi] |
| 634 » mov» r13,QWORD[16+rsi] | 676 » mov» r13,QWORD[((-32))+rsi] |
| 635 » mov» r12,QWORD[24+rsi] | 677 » mov» r12,QWORD[((-24))+rsi] |
| 636 » mov» rbp,QWORD[32+rsi] | 678 » mov» rbp,QWORD[((-16))+rsi] |
| 637 » mov» rbx,QWORD[40+rsi] | 679 » mov» rbx,QWORD[((-8))+rsi] |
| 638 » lea» rsp,[48+rsi] | 680 » lea» rsp,[rsi] |
| 639 $L$mul4x_epilogue: | 681 $L$mul4x_epilogue: |
| 640 mov rdi,QWORD[8+rsp] ;WIN64 epilogue | 682 mov rdi,QWORD[8+rsp] ;WIN64 epilogue |
| 641 mov rsi,QWORD[16+rsp] | 683 mov rsi,QWORD[16+rsp] |
| 642 DB 0F3h,0C3h ;repret | 684 DB 0F3h,0C3h ;repret |
| 643 $L$SEH_end_bn_mul4x_mont: | 685 $L$SEH_end_bn_mul4x_mont: |
| 644 EXTERN bn_sqr8x_internal | 686 EXTERN bn_sqr8x_internal |
| 645 | 687 |
| 646 | 688 |
| 647 ALIGN 32 | 689 ALIGN 32 |
| 648 bn_sqr8x_mont: | 690 bn_sqr8x_mont: |
| 649 mov QWORD[8+rsp],rdi ;WIN64 prologue | 691 mov QWORD[8+rsp],rdi ;WIN64 prologue |
| 650 mov QWORD[16+rsp],rsi | 692 mov QWORD[16+rsp],rsi |
| 651 mov rax,rsp | 693 mov rax,rsp |
| 652 $L$SEH_begin_bn_sqr8x_mont: | 694 $L$SEH_begin_bn_sqr8x_mont: |
| 653 mov rdi,rcx | 695 mov rdi,rcx |
| 654 mov rsi,rdx | 696 mov rsi,rdx |
| 655 mov rdx,r8 | 697 mov rdx,r8 |
| 656 mov rcx,r9 | 698 mov rcx,r9 |
| 657 mov r8,QWORD[40+rsp] | 699 mov r8,QWORD[40+rsp] |
| 658 mov r9,QWORD[48+rsp] | 700 mov r9,QWORD[48+rsp] |
| 659 | 701 |
| 660 | 702 |
| 703 mov rax,rsp |
| 661 $L$sqr8x_enter: | 704 $L$sqr8x_enter: |
| 662 mov rax,rsp | |
| 663 push rbx | 705 push rbx |
| 664 push rbp | 706 push rbp |
| 665 push r12 | 707 push r12 |
| 666 push r13 | 708 push r13 |
| 667 push r14 | 709 push r14 |
| 668 push r15 | 710 push r15 |
| 711 $L$sqr8x_prologue: |
| 669 | 712 |
| 670 mov r10d,r9d | 713 mov r10d,r9d |
| 671 shl r9d,3 | 714 shl r9d,3 |
| 672 shl r10,3+2 | 715 shl r10,3+2 |
| 673 neg r9 | 716 neg r9 |
| 674 | 717 |
| 675 | 718 |
| 676 | 719 |
| 677 | 720 |
| 678 | 721 |
| 679 | 722 |
| 680 lea r11,[((-64))+r9*2+rsp] | 723 lea r11,[((-64))+r9*2+rsp] |
| 724 mov rbp,rsp |
| 681 mov r8,QWORD[r8] | 725 mov r8,QWORD[r8] |
| 682 sub r11,rsi | 726 sub r11,rsi |
| 683 and r11,4095 | 727 and r11,4095 |
| 684 cmp r10,r11 | 728 cmp r10,r11 |
| 685 jb NEAR $L$sqr8x_sp_alt | 729 jb NEAR $L$sqr8x_sp_alt |
| 686 » sub» rsp,r11 | 730 » sub» rbp,r11 |
| 687 » lea» rsp,[((-64))+r9*2+rsp] | 731 » lea» rbp,[((-64))+r9*2+rbp] |
| 688 jmp NEAR $L$sqr8x_sp_done | 732 jmp NEAR $L$sqr8x_sp_done |
| 689 | 733 |
| 690 ALIGN 32 | 734 ALIGN 32 |
| 691 $L$sqr8x_sp_alt: | 735 $L$sqr8x_sp_alt: |
| 692 lea r10,[((4096-64))+r9*2] | 736 lea r10,[((4096-64))+r9*2] |
| 693 » lea» rsp,[((-64))+r9*2+rsp] | 737 » lea» rbp,[((-64))+r9*2+rbp] |
| 694 sub r11,r10 | 738 sub r11,r10 |
| 695 mov r10,0 | 739 mov r10,0 |
| 696 cmovc r11,r10 | 740 cmovc r11,r10 |
| 697 » sub» rsp,r11 | 741 » sub» rbp,r11 |
| 698 $L$sqr8x_sp_done: | 742 $L$sqr8x_sp_done: |
| 699 » and» rsp,-64 | 743 » and» rbp,-64 |
| 744 » mov» r11,rsp |
| 745 » sub» r11,rbp |
| 746 » and» r11,-4096 |
| 747 » lea» rsp,[rbp*1+r11] |
| 748 » mov» r10,QWORD[rsp] |
| 749 » cmp» rsp,rbp |
| 750 » ja» NEAR $L$sqr8x_page_walk |
| 751 » jmp» NEAR $L$sqr8x_page_walk_done |
| 752 |
| 753 ALIGN» 16 |
| 754 $L$sqr8x_page_walk: |
| 755 » lea» rsp,[((-4096))+rsp] |
| 756 » mov» r10,QWORD[rsp] |
| 757 » cmp» rsp,rbp |
| 758 » ja» NEAR $L$sqr8x_page_walk |
| 759 $L$sqr8x_page_walk_done: |
| 760 |
| 700 mov r10,r9 | 761 mov r10,r9 |
| 701 neg r9 | 762 neg r9 |
| 702 | 763 |
| 703 mov QWORD[32+rsp],r8 | 764 mov QWORD[32+rsp],r8 |
| 704 mov QWORD[40+rsp],rax | 765 mov QWORD[40+rsp],rax |
| 705 $L$sqr8x_body: | 766 $L$sqr8x_body: |
| 706 | 767 |
| 707 DB 102,72,15,110,209 | 768 DB 102,72,15,110,209 |
| 708 pxor xmm0,xmm0 | 769 pxor xmm0,xmm0 |
| 709 DB 102,72,15,110,207 | 770 DB 102,72,15,110,207 |
| (...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 822 | 883 |
| 823 mov rax,QWORD[152+r8] | 884 mov rax,QWORD[152+r8] |
| 824 | 885 |
| 825 mov r10d,DWORD[4+r11] | 886 mov r10d,DWORD[4+r11] |
| 826 lea r10,[r10*1+rsi] | 887 lea r10,[r10*1+rsi] |
| 827 cmp rbx,r10 | 888 cmp rbx,r10 |
| 828 jae NEAR $L$common_seh_tail | 889 jae NEAR $L$common_seh_tail |
| 829 | 890 |
| 830 mov r10,QWORD[192+r8] | 891 mov r10,QWORD[192+r8] |
| 831 mov rax,QWORD[8+r10*8+rax] | 892 mov rax,QWORD[8+r10*8+rax] |
| 832 lea rax,[48+rax] | |
| 833 | 893 |
| 834 » mov» rbx,QWORD[((-8))+rax] | 894 » jmp» NEAR $L$common_pop_regs |
| 835 » mov» rbp,QWORD[((-16))+rax] | |
| 836 » mov» r12,QWORD[((-24))+rax] | |
| 837 » mov» r13,QWORD[((-32))+rax] | |
| 838 » mov» r14,QWORD[((-40))+rax] | |
| 839 » mov» r15,QWORD[((-48))+rax] | |
| 840 » mov» QWORD[144+r8],rbx | |
| 841 » mov» QWORD[160+r8],rbp | |
| 842 » mov» QWORD[216+r8],r12 | |
| 843 » mov» QWORD[224+r8],r13 | |
| 844 » mov» QWORD[232+r8],r14 | |
| 845 » mov» QWORD[240+r8],r15 | |
| 846 | |
| 847 » jmp» NEAR $L$common_seh_tail | |
| 848 | 895 |
| 849 | 896 |
| 850 | 897 |
| 851 ALIGN 16 | 898 ALIGN 16 |
| 852 sqr_handler: | 899 sqr_handler: |
| 853 push rsi | 900 push rsi |
| 854 push rdi | 901 push rdi |
| 855 push rbx | 902 push rbx |
| 856 push rbp | 903 push rbp |
| 857 push r12 | 904 push r12 |
| 858 push r13 | 905 push r13 |
| 859 push r14 | 906 push r14 |
| 860 push r15 | 907 push r15 |
| 861 pushfq | 908 pushfq |
| 862 sub rsp,64 | 909 sub rsp,64 |
| 863 | 910 |
| 864 mov rax,QWORD[120+r8] | 911 mov rax,QWORD[120+r8] |
| 865 mov rbx,QWORD[248+r8] | 912 mov rbx,QWORD[248+r8] |
| 866 | 913 |
| 867 mov rsi,QWORD[8+r9] | 914 mov rsi,QWORD[8+r9] |
| 868 mov r11,QWORD[56+r9] | 915 mov r11,QWORD[56+r9] |
| 869 | 916 |
| 870 mov r10d,DWORD[r11] | 917 mov r10d,DWORD[r11] |
| 871 lea r10,[r10*1+rsi] | 918 lea r10,[r10*1+rsi] |
| 872 cmp rbx,r10 | 919 cmp rbx,r10 |
| 873 jb NEAR $L$common_seh_tail | 920 jb NEAR $L$common_seh_tail |
| 874 | 921 |
| 922 mov r10d,DWORD[4+r11] |
| 923 lea r10,[r10*1+rsi] |
| 924 cmp rbx,r10 |
| 925 jb NEAR $L$common_pop_regs |
| 926 |
| 875 mov rax,QWORD[152+r8] | 927 mov rax,QWORD[152+r8] |
| 876 | 928 |
| 877 » mov» r10d,DWORD[4+r11] | 929 » mov» r10d,DWORD[8+r11] |
| 878 lea r10,[r10*1+rsi] | 930 lea r10,[r10*1+rsi] |
| 879 cmp rbx,r10 | 931 cmp rbx,r10 |
| 880 jae NEAR $L$common_seh_tail | 932 jae NEAR $L$common_seh_tail |
| 881 | 933 |
| 882 mov rax,QWORD[40+rax] | 934 mov rax,QWORD[40+rax] |
| 883 | 935 |
| 936 $L$common_pop_regs: |
| 884 mov rbx,QWORD[((-8))+rax] | 937 mov rbx,QWORD[((-8))+rax] |
| 885 mov rbp,QWORD[((-16))+rax] | 938 mov rbp,QWORD[((-16))+rax] |
| 886 mov r12,QWORD[((-24))+rax] | 939 mov r12,QWORD[((-24))+rax] |
| 887 mov r13,QWORD[((-32))+rax] | 940 mov r13,QWORD[((-32))+rax] |
| 888 mov r14,QWORD[((-40))+rax] | 941 mov r14,QWORD[((-40))+rax] |
| 889 mov r15,QWORD[((-48))+rax] | 942 mov r15,QWORD[((-48))+rax] |
| 890 mov QWORD[144+r8],rbx | 943 mov QWORD[144+r8],rbx |
| 891 mov QWORD[160+r8],rbp | 944 mov QWORD[160+r8],rbp |
| 892 mov QWORD[216+r8],r12 | 945 mov QWORD[216+r8],r12 |
| 893 mov QWORD[224+r8],r13 | 946 mov QWORD[224+r8],r13 |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 953 DB 9,0,0,0 | 1006 DB 9,0,0,0 |
| 954 DD mul_handler wrt ..imagebase | 1007 DD mul_handler wrt ..imagebase |
| 955 DD $L$mul_body wrt ..imagebase,$L$mul_epilogue wrt ..imagebase | 1008 DD $L$mul_body wrt ..imagebase,$L$mul_epilogue wrt ..imagebase |
| 956 $L$SEH_info_bn_mul4x_mont: | 1009 $L$SEH_info_bn_mul4x_mont: |
| 957 DB 9,0,0,0 | 1010 DB 9,0,0,0 |
| 958 DD mul_handler wrt ..imagebase | 1011 DD mul_handler wrt ..imagebase |
| 959 DD $L$mul4x_body wrt ..imagebase,$L$mul4x_epilogue wrt ..imagebase | 1012 DD $L$mul4x_body wrt ..imagebase,$L$mul4x_epilogue wrt ..imagebase |
| 960 $L$SEH_info_bn_sqr8x_mont: | 1013 $L$SEH_info_bn_sqr8x_mont: |
| 961 DB 9,0,0,0 | 1014 DB 9,0,0,0 |
| 962 DD sqr_handler wrt ..imagebase | 1015 DD sqr_handler wrt ..imagebase |
| 963 » DD» $L$sqr8x_body wrt ..imagebase,$L$sqr8x_epilogue wrt ..imagebase | 1016 » DD» $L$sqr8x_prologue wrt ..imagebase,$L$sqr8x_body wrt ..imagebase,
$L$sqr8x_epilogue wrt ..imagebase |
| 1017 ALIGN» 8 |
| OLD | NEW |