Index: third_party/boringssl/win-x86_64/crypto/bn/modexp512-x86_64.asm |
diff --git a/third_party/boringssl/win-x86_64/crypto/bn/modexp512-x86_64.asm b/third_party/boringssl/win-x86_64/crypto/bn/modexp512-x86_64.asm |
index d3e4a618f94af8c49319bdaa73f6eba934ede1f6..f3b306ef6338ab187d33066f58db9c6fa8c33d3e 100644 |
--- a/third_party/boringssl/win-x86_64/crypto/bn/modexp512-x86_64.asm |
+++ b/third_party/boringssl/win-x86_64/crypto/bn/modexp512-x86_64.asm |
@@ -1,17 +1,21 @@ |
-OPTION DOTNAME |
-.text$ SEGMENT ALIGN(256) 'CODE' |
+default rel |
+%define XMMWORD |
+%define YMMWORD |
+%define ZMMWORD |
+section .text code align=64 |
+ |
ALIGN 16 |
-MULADD_128x512 PROC PRIVATE |
- mov rax,QWORD PTR[rsi] |
+MULADD_128x512: |
+ mov rax,QWORD[rsi] |
mul rbp |
add r8,rax |
adc rdx,0 |
- mov QWORD PTR[rcx],r8 |
+ mov QWORD[rcx],r8 |
mov rbx,rdx |
- mov rax,QWORD PTR[8+rsi] |
+ mov rax,QWORD[8+rsi] |
mul rbp |
add r9,rax |
adc rdx,0 |
@@ -19,7 +23,7 @@ MULADD_128x512 PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[16+rsi] |
+ mov rax,QWORD[16+rsi] |
mul rbp |
add r10,rax |
adc rdx,0 |
@@ -27,7 +31,7 @@ MULADD_128x512 PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[24+rsi] |
+ mov rax,QWORD[24+rsi] |
mul rbp |
add r11,rax |
adc rdx,0 |
@@ -35,7 +39,7 @@ MULADD_128x512 PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[32+rsi] |
+ mov rax,QWORD[32+rsi] |
mul rbp |
add r12,rax |
adc rdx,0 |
@@ -43,7 +47,7 @@ MULADD_128x512 PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[40+rsi] |
+ mov rax,QWORD[40+rsi] |
mul rbp |
add r13,rax |
adc rdx,0 |
@@ -51,7 +55,7 @@ MULADD_128x512 PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[48+rsi] |
+ mov rax,QWORD[48+rsi] |
mul rbp |
add r14,rax |
adc rdx,0 |
@@ -59,22 +63,22 @@ MULADD_128x512 PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[56+rsi] |
+ mov rax,QWORD[56+rsi] |
mul rbp |
add r15,rax |
adc rdx,0 |
add r15,rbx |
adc rdx,0 |
mov r8,rdx |
- mov rbp,QWORD PTR[8+rdi] |
- mov rax,QWORD PTR[rsi] |
+ mov rbp,QWORD[8+rdi] |
+ mov rax,QWORD[rsi] |
mul rbp |
add r9,rax |
adc rdx,0 |
- mov QWORD PTR[8+rcx],r9 |
+ mov QWORD[8+rcx],r9 |
mov rbx,rdx |
- mov rax,QWORD PTR[8+rsi] |
+ mov rax,QWORD[8+rsi] |
mul rbp |
add r10,rax |
adc rdx,0 |
@@ -82,7 +86,7 @@ MULADD_128x512 PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[16+rsi] |
+ mov rax,QWORD[16+rsi] |
mul rbp |
add r11,rax |
adc rdx,0 |
@@ -90,7 +94,7 @@ MULADD_128x512 PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[24+rsi] |
+ mov rax,QWORD[24+rsi] |
mul rbp |
add r12,rax |
adc rdx,0 |
@@ -98,7 +102,7 @@ MULADD_128x512 PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[32+rsi] |
+ mov rax,QWORD[32+rsi] |
mul rbp |
add r13,rax |
adc rdx,0 |
@@ -106,7 +110,7 @@ MULADD_128x512 PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[40+rsi] |
+ mov rax,QWORD[40+rsi] |
mul rbp |
add r14,rax |
adc rdx,0 |
@@ -114,7 +118,7 @@ MULADD_128x512 PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[48+rsi] |
+ mov rax,QWORD[48+rsi] |
mul rbp |
add r15,rax |
adc rdx,0 |
@@ -122,7 +126,7 @@ MULADD_128x512 PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[56+rsi] |
+ mov rax,QWORD[56+rsi] |
mul rbp |
add r8,rax |
adc rdx,0 |
@@ -130,95 +134,95 @@ MULADD_128x512 PROC PRIVATE |
adc rdx,0 |
mov r9,rdx |
DB 0F3h,0C3h ;repret |
-MULADD_128x512 ENDP |
+ |
ALIGN 16 |
-mont_reduce PROC PRIVATE |
- lea rdi,QWORD PTR[192+rsp] |
- mov rsi,QWORD PTR[32+rsp] |
+mont_reduce: |
+ lea rdi,[192+rsp] |
+ mov rsi,QWORD[32+rsp] |
add rsi,576 |
- lea rcx,QWORD PTR[520+rsp] |
+ lea rcx,[520+rsp] |
- mov rbp,QWORD PTR[96+rcx] |
- mov rax,QWORD PTR[rsi] |
+ mov rbp,QWORD[96+rcx] |
+ mov rax,QWORD[rsi] |
mul rbp |
- mov r8,QWORD PTR[rcx] |
+ mov r8,QWORD[rcx] |
add r8,rax |
adc rdx,0 |
- mov QWORD PTR[rdi],r8 |
+ mov QWORD[rdi],r8 |
mov rbx,rdx |
- mov rax,QWORD PTR[8+rsi] |
+ mov rax,QWORD[8+rsi] |
mul rbp |
- mov r9,QWORD PTR[8+rcx] |
+ mov r9,QWORD[8+rcx] |
add r9,rax |
adc rdx,0 |
add r9,rbx |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[16+rsi] |
+ mov rax,QWORD[16+rsi] |
mul rbp |
- mov r10,QWORD PTR[16+rcx] |
+ mov r10,QWORD[16+rcx] |
add r10,rax |
adc rdx,0 |
add r10,rbx |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[24+rsi] |
+ mov rax,QWORD[24+rsi] |
mul rbp |
- mov r11,QWORD PTR[24+rcx] |
+ mov r11,QWORD[24+rcx] |
add r11,rax |
adc rdx,0 |
add r11,rbx |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[32+rsi] |
+ mov rax,QWORD[32+rsi] |
mul rbp |
- mov r12,QWORD PTR[32+rcx] |
+ mov r12,QWORD[32+rcx] |
add r12,rax |
adc rdx,0 |
add r12,rbx |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[40+rsi] |
+ mov rax,QWORD[40+rsi] |
mul rbp |
- mov r13,QWORD PTR[40+rcx] |
+ mov r13,QWORD[40+rcx] |
add r13,rax |
adc rdx,0 |
add r13,rbx |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[48+rsi] |
+ mov rax,QWORD[48+rsi] |
mul rbp |
- mov r14,QWORD PTR[48+rcx] |
+ mov r14,QWORD[48+rcx] |
add r14,rax |
adc rdx,0 |
add r14,rbx |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[56+rsi] |
+ mov rax,QWORD[56+rsi] |
mul rbp |
- mov r15,QWORD PTR[56+rcx] |
+ mov r15,QWORD[56+rcx] |
add r15,rax |
adc rdx,0 |
add r15,rbx |
adc rdx,0 |
mov r8,rdx |
- mov rbp,QWORD PTR[104+rcx] |
- mov rax,QWORD PTR[rsi] |
+ mov rbp,QWORD[104+rcx] |
+ mov rax,QWORD[rsi] |
mul rbp |
add r9,rax |
adc rdx,0 |
- mov QWORD PTR[8+rdi],r9 |
+ mov QWORD[8+rdi],r9 |
mov rbx,rdx |
- mov rax,QWORD PTR[8+rsi] |
+ mov rax,QWORD[8+rsi] |
mul rbp |
add r10,rax |
adc rdx,0 |
@@ -226,7 +230,7 @@ mont_reduce PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[16+rsi] |
+ mov rax,QWORD[16+rsi] |
mul rbp |
add r11,rax |
adc rdx,0 |
@@ -234,7 +238,7 @@ mont_reduce PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[24+rsi] |
+ mov rax,QWORD[24+rsi] |
mul rbp |
add r12,rax |
adc rdx,0 |
@@ -242,7 +246,7 @@ mont_reduce PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[32+rsi] |
+ mov rax,QWORD[32+rsi] |
mul rbp |
add r13,rax |
adc rdx,0 |
@@ -250,7 +254,7 @@ mont_reduce PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[40+rsi] |
+ mov rax,QWORD[40+rsi] |
mul rbp |
add r14,rax |
adc rdx,0 |
@@ -258,7 +262,7 @@ mont_reduce PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[48+rsi] |
+ mov rax,QWORD[48+rsi] |
mul rbp |
add r15,rax |
adc rdx,0 |
@@ -266,22 +270,22 @@ mont_reduce PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[56+rsi] |
+ mov rax,QWORD[56+rsi] |
mul rbp |
add r8,rax |
adc rdx,0 |
add r8,rbx |
adc rdx,0 |
mov r9,rdx |
- mov rbp,QWORD PTR[112+rcx] |
- mov rax,QWORD PTR[rsi] |
+ mov rbp,QWORD[112+rcx] |
+ mov rax,QWORD[rsi] |
mul rbp |
add r10,rax |
adc rdx,0 |
- mov QWORD PTR[16+rdi],r10 |
+ mov QWORD[16+rdi],r10 |
mov rbx,rdx |
- mov rax,QWORD PTR[8+rsi] |
+ mov rax,QWORD[8+rsi] |
mul rbp |
add r11,rax |
adc rdx,0 |
@@ -289,7 +293,7 @@ mont_reduce PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[16+rsi] |
+ mov rax,QWORD[16+rsi] |
mul rbp |
add r12,rax |
adc rdx,0 |
@@ -297,7 +301,7 @@ mont_reduce PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[24+rsi] |
+ mov rax,QWORD[24+rsi] |
mul rbp |
add r13,rax |
adc rdx,0 |
@@ -305,7 +309,7 @@ mont_reduce PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[32+rsi] |
+ mov rax,QWORD[32+rsi] |
mul rbp |
add r14,rax |
adc rdx,0 |
@@ -313,7 +317,7 @@ mont_reduce PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[40+rsi] |
+ mov rax,QWORD[40+rsi] |
mul rbp |
add r15,rax |
adc rdx,0 |
@@ -321,7 +325,7 @@ mont_reduce PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[48+rsi] |
+ mov rax,QWORD[48+rsi] |
mul rbp |
add r8,rax |
adc rdx,0 |
@@ -329,22 +333,22 @@ mont_reduce PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[56+rsi] |
+ mov rax,QWORD[56+rsi] |
mul rbp |
add r9,rax |
adc rdx,0 |
add r9,rbx |
adc rdx,0 |
mov r10,rdx |
- mov rbp,QWORD PTR[120+rcx] |
- mov rax,QWORD PTR[rsi] |
+ mov rbp,QWORD[120+rcx] |
+ mov rax,QWORD[rsi] |
mul rbp |
add r11,rax |
adc rdx,0 |
- mov QWORD PTR[24+rdi],r11 |
+ mov QWORD[24+rdi],r11 |
mov rbx,rdx |
- mov rax,QWORD PTR[8+rsi] |
+ mov rax,QWORD[8+rsi] |
mul rbp |
add r12,rax |
adc rdx,0 |
@@ -352,7 +356,7 @@ mont_reduce PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[16+rsi] |
+ mov rax,QWORD[16+rsi] |
mul rbp |
add r13,rax |
adc rdx,0 |
@@ -360,7 +364,7 @@ mont_reduce PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[24+rsi] |
+ mov rax,QWORD[24+rsi] |
mul rbp |
add r14,rax |
adc rdx,0 |
@@ -368,7 +372,7 @@ mont_reduce PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[32+rsi] |
+ mov rax,QWORD[32+rsi] |
mul rbp |
add r15,rax |
adc rdx,0 |
@@ -376,7 +380,7 @@ mont_reduce PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[40+rsi] |
+ mov rax,QWORD[40+rsi] |
mul rbp |
add r8,rax |
adc rdx,0 |
@@ -384,7 +388,7 @@ mont_reduce PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[48+rsi] |
+ mov rax,QWORD[48+rsi] |
mul rbp |
add r9,rax |
adc rdx,0 |
@@ -392,7 +396,7 @@ mont_reduce PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[56+rsi] |
+ mov rax,QWORD[56+rsi] |
mul rbp |
add r10,rax |
adc rdx,0 |
@@ -401,26 +405,26 @@ mont_reduce PROC PRIVATE |
mov r11,rdx |
xor rax,rax |
- add r8,QWORD PTR[64+rcx] |
- adc r9,QWORD PTR[72+rcx] |
- adc r10,QWORD PTR[80+rcx] |
- adc r11,QWORD PTR[88+rcx] |
+ add r8,QWORD[64+rcx] |
+ adc r9,QWORD[72+rcx] |
+ adc r10,QWORD[80+rcx] |
+ adc r11,QWORD[88+rcx] |
adc rax,0 |
- mov QWORD PTR[64+rdi],r8 |
- mov QWORD PTR[72+rdi],r9 |
+ mov QWORD[64+rdi],r8 |
+ mov QWORD[72+rdi],r9 |
mov rbp,r10 |
- mov QWORD PTR[88+rdi],r11 |
+ mov QWORD[88+rdi],r11 |
- mov QWORD PTR[384+rsp],rax |
+ mov QWORD[384+rsp],rax |
- mov r8,QWORD PTR[rdi] |
- mov r9,QWORD PTR[8+rdi] |
- mov r10,QWORD PTR[16+rdi] |
- mov r11,QWORD PTR[24+rdi] |
+ mov r8,QWORD[rdi] |
+ mov r9,QWORD[8+rdi] |
+ mov r10,QWORD[16+rdi] |
+ mov r11,QWORD[24+rdi] |
@@ -432,67 +436,67 @@ mont_reduce PROC PRIVATE |
add rdi,8*10 |
add rsi,64 |
- lea rcx,QWORD PTR[296+rsp] |
+ lea rcx,[296+rsp] |
call MULADD_128x512 |
- mov rax,QWORD PTR[384+rsp] |
+ mov rax,QWORD[384+rsp] |
- add r8,QWORD PTR[((-16))+rdi] |
- adc r9,QWORD PTR[((-8))+rdi] |
- mov QWORD PTR[64+rcx],r8 |
- mov QWORD PTR[72+rcx],r9 |
+ add r8,QWORD[((-16))+rdi] |
+ adc r9,QWORD[((-8))+rdi] |
+ mov QWORD[64+rcx],r8 |
+ mov QWORD[72+rcx],r9 |
adc rax,rax |
- mov QWORD PTR[384+rsp],rax |
+ mov QWORD[384+rsp],rax |
- lea rdi,QWORD PTR[192+rsp] |
+ lea rdi,[192+rsp] |
add rsi,64 |
- mov r8,QWORD PTR[rsi] |
- mov rbx,QWORD PTR[8+rsi] |
+ mov r8,QWORD[rsi] |
+ mov rbx,QWORD[8+rsi] |
- mov rax,QWORD PTR[rcx] |
+ mov rax,QWORD[rcx] |
mul r8 |
mov rbp,rax |
mov r9,rdx |
- mov rax,QWORD PTR[8+rcx] |
+ mov rax,QWORD[8+rcx] |
mul r8 |
add r9,rax |
- mov rax,QWORD PTR[rcx] |
+ mov rax,QWORD[rcx] |
mul rbx |
add r9,rax |
- mov QWORD PTR[8+rdi],r9 |
+ mov QWORD[8+rdi],r9 |
sub rsi,192 |
- mov r8,QWORD PTR[rcx] |
- mov r9,QWORD PTR[8+rcx] |
+ mov r8,QWORD[rcx] |
+ mov r9,QWORD[8+rcx] |
call MULADD_128x512 |
- mov rax,QWORD PTR[rsi] |
- mov rbx,QWORD PTR[8+rsi] |
- mov rdi,QWORD PTR[16+rsi] |
- mov rdx,QWORD PTR[24+rsi] |
+ mov rax,QWORD[rsi] |
+ mov rbx,QWORD[8+rsi] |
+ mov rdi,QWORD[16+rsi] |
+ mov rdx,QWORD[24+rsi] |
- mov rbp,QWORD PTR[384+rsp] |
+ mov rbp,QWORD[384+rsp] |
- add r8,QWORD PTR[64+rcx] |
- adc r9,QWORD PTR[72+rcx] |
+ add r8,QWORD[64+rcx] |
+ adc r9,QWORD[72+rcx] |
adc rbp,rbp |
@@ -500,20 +504,20 @@ mont_reduce PROC PRIVATE |
shl rbp,3 |
- mov rcx,QWORD PTR[32+rsp] |
+ mov rcx,QWORD[32+rsp] |
add rbp,rcx |
xor rsi,rsi |
- add r10,QWORD PTR[rbp] |
- adc r11,QWORD PTR[64+rbp] |
- adc r12,QWORD PTR[128+rbp] |
- adc r13,QWORD PTR[192+rbp] |
- adc r14,QWORD PTR[256+rbp] |
- adc r15,QWORD PTR[320+rbp] |
- adc r8,QWORD PTR[384+rbp] |
- adc r9,QWORD PTR[448+rbp] |
+ add r10,QWORD[rbp] |
+ adc r11,QWORD[64+rbp] |
+ adc r12,QWORD[128+rbp] |
+ adc r13,QWORD[192+rbp] |
+ adc r14,QWORD[256+rbp] |
+ adc r15,QWORD[320+rbp] |
+ adc r8,QWORD[384+rbp] |
+ adc r9,QWORD[448+rbp] |
@@ -539,10 +543,10 @@ mont_reduce PROC PRIVATE |
add rcx,512 |
- mov rax,QWORD PTR[32+rcx] |
- mov rbx,QWORD PTR[40+rcx] |
- mov rdi,QWORD PTR[48+rcx] |
- mov rdx,QWORD PTR[56+rcx] |
+ mov rax,QWORD[32+rcx] |
+ mov rbx,QWORD[40+rcx] |
+ mov rdi,QWORD[48+rcx] |
+ mov rdx,QWORD[56+rcx] |
@@ -562,30 +566,30 @@ mont_reduce PROC PRIVATE |
- mov rsi,QWORD PTR[144+rsp] |
- mov QWORD PTR[rsi],r10 |
- mov QWORD PTR[8+rsi],r11 |
- mov QWORD PTR[16+rsi],r12 |
- mov QWORD PTR[24+rsi],r13 |
- mov QWORD PTR[32+rsi],r14 |
- mov QWORD PTR[40+rsi],r15 |
- mov QWORD PTR[48+rsi],r8 |
- mov QWORD PTR[56+rsi],r9 |
+ mov rsi,QWORD[144+rsp] |
+ mov QWORD[rsi],r10 |
+ mov QWORD[8+rsi],r11 |
+ mov QWORD[16+rsi],r12 |
+ mov QWORD[24+rsi],r13 |
+ mov QWORD[32+rsi],r14 |
+ mov QWORD[40+rsi],r15 |
+ mov QWORD[48+rsi],r8 |
+ mov QWORD[56+rsi],r9 |
DB 0F3h,0C3h ;repret |
-mont_reduce ENDP |
+ |
ALIGN 16 |
-mont_mul_a3b PROC PRIVATE |
+mont_mul_a3b: |
- mov rbp,QWORD PTR[rdi] |
+ mov rbp,QWORD[rdi] |
mov rax,r10 |
mul rbp |
- mov QWORD PTR[520+rsp],rax |
+ mov QWORD[520+rsp],rax |
mov r10,rdx |
mov rax,r11 |
mul rbp |
@@ -622,15 +626,15 @@ mont_mul_a3b PROC PRIVATE |
add r8,rax |
adc rdx,0 |
mov r9,rdx |
- mov rbp,QWORD PTR[8+rdi] |
- mov rax,QWORD PTR[rsi] |
+ mov rbp,QWORD[8+rdi] |
+ mov rax,QWORD[rsi] |
mul rbp |
add r10,rax |
adc rdx,0 |
- mov QWORD PTR[528+rsp],r10 |
+ mov QWORD[528+rsp],r10 |
mov rbx,rdx |
- mov rax,QWORD PTR[8+rsi] |
+ mov rax,QWORD[8+rsi] |
mul rbp |
add r11,rax |
adc rdx,0 |
@@ -638,7 +642,7 @@ mont_mul_a3b PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[16+rsi] |
+ mov rax,QWORD[16+rsi] |
mul rbp |
add r12,rax |
adc rdx,0 |
@@ -646,7 +650,7 @@ mont_mul_a3b PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[24+rsi] |
+ mov rax,QWORD[24+rsi] |
mul rbp |
add r13,rax |
adc rdx,0 |
@@ -654,7 +658,7 @@ mont_mul_a3b PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[32+rsi] |
+ mov rax,QWORD[32+rsi] |
mul rbp |
add r14,rax |
adc rdx,0 |
@@ -662,7 +666,7 @@ mont_mul_a3b PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[40+rsi] |
+ mov rax,QWORD[40+rsi] |
mul rbp |
add r15,rax |
adc rdx,0 |
@@ -670,7 +674,7 @@ mont_mul_a3b PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[48+rsi] |
+ mov rax,QWORD[48+rsi] |
mul rbp |
add r8,rax |
adc rdx,0 |
@@ -678,22 +682,22 @@ mont_mul_a3b PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[56+rsi] |
+ mov rax,QWORD[56+rsi] |
mul rbp |
add r9,rax |
adc rdx,0 |
add r9,rbx |
adc rdx,0 |
mov r10,rdx |
- mov rbp,QWORD PTR[16+rdi] |
- mov rax,QWORD PTR[rsi] |
+ mov rbp,QWORD[16+rdi] |
+ mov rax,QWORD[rsi] |
mul rbp |
add r11,rax |
adc rdx,0 |
- mov QWORD PTR[536+rsp],r11 |
+ mov QWORD[536+rsp],r11 |
mov rbx,rdx |
- mov rax,QWORD PTR[8+rsi] |
+ mov rax,QWORD[8+rsi] |
mul rbp |
add r12,rax |
adc rdx,0 |
@@ -701,7 +705,7 @@ mont_mul_a3b PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[16+rsi] |
+ mov rax,QWORD[16+rsi] |
mul rbp |
add r13,rax |
adc rdx,0 |
@@ -709,7 +713,7 @@ mont_mul_a3b PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[24+rsi] |
+ mov rax,QWORD[24+rsi] |
mul rbp |
add r14,rax |
adc rdx,0 |
@@ -717,7 +721,7 @@ mont_mul_a3b PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[32+rsi] |
+ mov rax,QWORD[32+rsi] |
mul rbp |
add r15,rax |
adc rdx,0 |
@@ -725,7 +729,7 @@ mont_mul_a3b PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[40+rsi] |
+ mov rax,QWORD[40+rsi] |
mul rbp |
add r8,rax |
adc rdx,0 |
@@ -733,7 +737,7 @@ mont_mul_a3b PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[48+rsi] |
+ mov rax,QWORD[48+rsi] |
mul rbp |
add r9,rax |
adc rdx,0 |
@@ -741,22 +745,22 @@ mont_mul_a3b PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[56+rsi] |
+ mov rax,QWORD[56+rsi] |
mul rbp |
add r10,rax |
adc rdx,0 |
add r10,rbx |
adc rdx,0 |
mov r11,rdx |
- mov rbp,QWORD PTR[24+rdi] |
- mov rax,QWORD PTR[rsi] |
+ mov rbp,QWORD[24+rdi] |
+ mov rax,QWORD[rsi] |
mul rbp |
add r12,rax |
adc rdx,0 |
- mov QWORD PTR[544+rsp],r12 |
+ mov QWORD[544+rsp],r12 |
mov rbx,rdx |
- mov rax,QWORD PTR[8+rsi] |
+ mov rax,QWORD[8+rsi] |
mul rbp |
add r13,rax |
adc rdx,0 |
@@ -764,7 +768,7 @@ mont_mul_a3b PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[16+rsi] |
+ mov rax,QWORD[16+rsi] |
mul rbp |
add r14,rax |
adc rdx,0 |
@@ -772,7 +776,7 @@ mont_mul_a3b PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[24+rsi] |
+ mov rax,QWORD[24+rsi] |
mul rbp |
add r15,rax |
adc rdx,0 |
@@ -780,7 +784,7 @@ mont_mul_a3b PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[32+rsi] |
+ mov rax,QWORD[32+rsi] |
mul rbp |
add r8,rax |
adc rdx,0 |
@@ -788,7 +792,7 @@ mont_mul_a3b PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[40+rsi] |
+ mov rax,QWORD[40+rsi] |
mul rbp |
add r9,rax |
adc rdx,0 |
@@ -796,7 +800,7 @@ mont_mul_a3b PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[48+rsi] |
+ mov rax,QWORD[48+rsi] |
mul rbp |
add r10,rax |
adc rdx,0 |
@@ -804,22 +808,22 @@ mont_mul_a3b PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[56+rsi] |
+ mov rax,QWORD[56+rsi] |
mul rbp |
add r11,rax |
adc rdx,0 |
add r11,rbx |
adc rdx,0 |
mov r12,rdx |
- mov rbp,QWORD PTR[32+rdi] |
- mov rax,QWORD PTR[rsi] |
+ mov rbp,QWORD[32+rdi] |
+ mov rax,QWORD[rsi] |
mul rbp |
add r13,rax |
adc rdx,0 |
- mov QWORD PTR[552+rsp],r13 |
+ mov QWORD[552+rsp],r13 |
mov rbx,rdx |
- mov rax,QWORD PTR[8+rsi] |
+ mov rax,QWORD[8+rsi] |
mul rbp |
add r14,rax |
adc rdx,0 |
@@ -827,7 +831,7 @@ mont_mul_a3b PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[16+rsi] |
+ mov rax,QWORD[16+rsi] |
mul rbp |
add r15,rax |
adc rdx,0 |
@@ -835,7 +839,7 @@ mont_mul_a3b PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[24+rsi] |
+ mov rax,QWORD[24+rsi] |
mul rbp |
add r8,rax |
adc rdx,0 |
@@ -843,7 +847,7 @@ mont_mul_a3b PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[32+rsi] |
+ mov rax,QWORD[32+rsi] |
mul rbp |
add r9,rax |
adc rdx,0 |
@@ -851,7 +855,7 @@ mont_mul_a3b PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[40+rsi] |
+ mov rax,QWORD[40+rsi] |
mul rbp |
add r10,rax |
adc rdx,0 |
@@ -859,7 +863,7 @@ mont_mul_a3b PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[48+rsi] |
+ mov rax,QWORD[48+rsi] |
mul rbp |
add r11,rax |
adc rdx,0 |
@@ -867,22 +871,22 @@ mont_mul_a3b PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[56+rsi] |
+ mov rax,QWORD[56+rsi] |
mul rbp |
add r12,rax |
adc rdx,0 |
add r12,rbx |
adc rdx,0 |
mov r13,rdx |
- mov rbp,QWORD PTR[40+rdi] |
- mov rax,QWORD PTR[rsi] |
+ mov rbp,QWORD[40+rdi] |
+ mov rax,QWORD[rsi] |
mul rbp |
add r14,rax |
adc rdx,0 |
- mov QWORD PTR[560+rsp],r14 |
+ mov QWORD[560+rsp],r14 |
mov rbx,rdx |
- mov rax,QWORD PTR[8+rsi] |
+ mov rax,QWORD[8+rsi] |
mul rbp |
add r15,rax |
adc rdx,0 |
@@ -890,7 +894,7 @@ mont_mul_a3b PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[16+rsi] |
+ mov rax,QWORD[16+rsi] |
mul rbp |
add r8,rax |
adc rdx,0 |
@@ -898,7 +902,7 @@ mont_mul_a3b PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[24+rsi] |
+ mov rax,QWORD[24+rsi] |
mul rbp |
add r9,rax |
adc rdx,0 |
@@ -906,7 +910,7 @@ mont_mul_a3b PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[32+rsi] |
+ mov rax,QWORD[32+rsi] |
mul rbp |
add r10,rax |
adc rdx,0 |
@@ -914,7 +918,7 @@ mont_mul_a3b PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[40+rsi] |
+ mov rax,QWORD[40+rsi] |
mul rbp |
add r11,rax |
adc rdx,0 |
@@ -922,7 +926,7 @@ mont_mul_a3b PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[48+rsi] |
+ mov rax,QWORD[48+rsi] |
mul rbp |
add r12,rax |
adc rdx,0 |
@@ -930,22 +934,22 @@ mont_mul_a3b PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[56+rsi] |
+ mov rax,QWORD[56+rsi] |
mul rbp |
add r13,rax |
adc rdx,0 |
add r13,rbx |
adc rdx,0 |
mov r14,rdx |
- mov rbp,QWORD PTR[48+rdi] |
- mov rax,QWORD PTR[rsi] |
+ mov rbp,QWORD[48+rdi] |
+ mov rax,QWORD[rsi] |
mul rbp |
add r15,rax |
adc rdx,0 |
- mov QWORD PTR[568+rsp],r15 |
+ mov QWORD[568+rsp],r15 |
mov rbx,rdx |
- mov rax,QWORD PTR[8+rsi] |
+ mov rax,QWORD[8+rsi] |
mul rbp |
add r8,rax |
adc rdx,0 |
@@ -953,7 +957,7 @@ mont_mul_a3b PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[16+rsi] |
+ mov rax,QWORD[16+rsi] |
mul rbp |
add r9,rax |
adc rdx,0 |
@@ -961,7 +965,7 @@ mont_mul_a3b PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[24+rsi] |
+ mov rax,QWORD[24+rsi] |
mul rbp |
add r10,rax |
adc rdx,0 |
@@ -969,7 +973,7 @@ mont_mul_a3b PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[32+rsi] |
+ mov rax,QWORD[32+rsi] |
mul rbp |
add r11,rax |
adc rdx,0 |
@@ -977,7 +981,7 @@ mont_mul_a3b PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[40+rsi] |
+ mov rax,QWORD[40+rsi] |
mul rbp |
add r12,rax |
adc rdx,0 |
@@ -985,7 +989,7 @@ mont_mul_a3b PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[48+rsi] |
+ mov rax,QWORD[48+rsi] |
mul rbp |
add r13,rax |
adc rdx,0 |
@@ -993,22 +997,22 @@ mont_mul_a3b PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[56+rsi] |
+ mov rax,QWORD[56+rsi] |
mul rbp |
add r14,rax |
adc rdx,0 |
add r14,rbx |
adc rdx,0 |
mov r15,rdx |
- mov rbp,QWORD PTR[56+rdi] |
- mov rax,QWORD PTR[rsi] |
+ mov rbp,QWORD[56+rdi] |
+ mov rax,QWORD[rsi] |
mul rbp |
add r8,rax |
adc rdx,0 |
- mov QWORD PTR[576+rsp],r8 |
+ mov QWORD[576+rsp],r8 |
mov rbx,rdx |
- mov rax,QWORD PTR[8+rsi] |
+ mov rax,QWORD[8+rsi] |
mul rbp |
add r9,rax |
adc rdx,0 |
@@ -1016,7 +1020,7 @@ mont_mul_a3b PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[16+rsi] |
+ mov rax,QWORD[16+rsi] |
mul rbp |
add r10,rax |
adc rdx,0 |
@@ -1024,7 +1028,7 @@ mont_mul_a3b PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[24+rsi] |
+ mov rax,QWORD[24+rsi] |
mul rbp |
add r11,rax |
adc rdx,0 |
@@ -1032,7 +1036,7 @@ mont_mul_a3b PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[32+rsi] |
+ mov rax,QWORD[32+rsi] |
mul rbp |
add r12,rax |
adc rdx,0 |
@@ -1040,7 +1044,7 @@ mont_mul_a3b PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[40+rsi] |
+ mov rax,QWORD[40+rsi] |
mul rbp |
add r13,rax |
adc rdx,0 |
@@ -1048,7 +1052,7 @@ mont_mul_a3b PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[48+rsi] |
+ mov rax,QWORD[48+rsi] |
mul rbp |
add r14,rax |
adc rdx,0 |
@@ -1056,34 +1060,34 @@ mont_mul_a3b PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov rax,QWORD PTR[56+rsi] |
+ mov rax,QWORD[56+rsi] |
mul rbp |
add r15,rax |
adc rdx,0 |
add r15,rbx |
adc rdx,0 |
mov r8,rdx |
- mov QWORD PTR[584+rsp],r9 |
- mov QWORD PTR[592+rsp],r10 |
- mov QWORD PTR[600+rsp],r11 |
- mov QWORD PTR[608+rsp],r12 |
- mov QWORD PTR[616+rsp],r13 |
- mov QWORD PTR[624+rsp],r14 |
- mov QWORD PTR[632+rsp],r15 |
- mov QWORD PTR[640+rsp],r8 |
+ mov QWORD[584+rsp],r9 |
+ mov QWORD[592+rsp],r10 |
+ mov QWORD[600+rsp],r11 |
+ mov QWORD[608+rsp],r12 |
+ mov QWORD[616+rsp],r13 |
+ mov QWORD[624+rsp],r14 |
+ mov QWORD[632+rsp],r15 |
+ mov QWORD[640+rsp],r8 |
+ |
+ jmp NEAR mont_reduce |
- jmp mont_reduce |
-mont_mul_a3b ENDP |
ALIGN 16 |
-sqr_reduce PROC PRIVATE |
- mov rcx,QWORD PTR[16+rsp] |
+sqr_reduce: |
+ mov rcx,QWORD[16+rsp] |
@@ -1091,7 +1095,7 @@ sqr_reduce PROC PRIVATE |
mov rax,r11 |
mul rbx |
- mov QWORD PTR[528+rsp],rax |
+ mov QWORD[528+rsp],rax |
mov r10,rdx |
mov rax,r12 |
mul rbx |
@@ -1124,31 +1128,31 @@ sqr_reduce PROC PRIVATE |
adc rdx,0 |
mov rsi,rdx |
- mov QWORD PTR[536+rsp],r10 |
+ mov QWORD[536+rsp],r10 |
- mov rbx,QWORD PTR[8+rcx] |
+ mov rbx,QWORD[8+rcx] |
- mov rax,QWORD PTR[16+rcx] |
+ mov rax,QWORD[16+rcx] |
mul rbx |
add r11,rax |
adc rdx,0 |
- mov QWORD PTR[544+rsp],r11 |
+ mov QWORD[544+rsp],r11 |
mov r10,rdx |
- mov rax,QWORD PTR[24+rcx] |
+ mov rax,QWORD[24+rcx] |
mul rbx |
add r12,rax |
adc rdx,0 |
add r12,r10 |
adc rdx,0 |
- mov QWORD PTR[552+rsp],r12 |
+ mov QWORD[552+rsp],r12 |
mov r10,rdx |
- mov rax,QWORD PTR[32+rcx] |
+ mov rax,QWORD[32+rcx] |
mul rbx |
add r13,rax |
adc rdx,0 |
@@ -1156,7 +1160,7 @@ sqr_reduce PROC PRIVATE |
adc rdx,0 |
mov r10,rdx |
- mov rax,QWORD PTR[40+rcx] |
+ mov rax,QWORD[40+rcx] |
mul rbx |
add r14,rax |
adc rdx,0 |
@@ -1184,25 +1188,25 @@ sqr_reduce PROC PRIVATE |
- mov rbx,QWORD PTR[16+rcx] |
+ mov rbx,QWORD[16+rcx] |
- mov rax,QWORD PTR[24+rcx] |
+ mov rax,QWORD[24+rcx] |
mul rbx |
add r13,rax |
adc rdx,0 |
- mov QWORD PTR[560+rsp],r13 |
+ mov QWORD[560+rsp],r13 |
mov r10,rdx |
- mov rax,QWORD PTR[32+rcx] |
+ mov rax,QWORD[32+rcx] |
mul rbx |
add r14,rax |
adc rdx,0 |
add r14,r10 |
adc rdx,0 |
- mov QWORD PTR[568+rsp],r14 |
+ mov QWORD[568+rsp],r14 |
mov r10,rdx |
- mov rax,QWORD PTR[40+rcx] |
+ mov rax,QWORD[40+rcx] |
mul rbx |
add r15,rax |
adc rdx,0 |
@@ -1231,22 +1235,22 @@ sqr_reduce PROC PRIVATE |
- mov rbx,QWORD PTR[24+rcx] |
+ mov rbx,QWORD[24+rcx] |
- mov rax,QWORD PTR[32+rcx] |
+ mov rax,QWORD[32+rcx] |
mul rbx |
add r15,rax |
adc rdx,0 |
- mov QWORD PTR[576+rsp],r15 |
+ mov QWORD[576+rsp],r15 |
mov r10,rdx |
- mov rax,QWORD PTR[40+rcx] |
+ mov rax,QWORD[40+rcx] |
mul rbx |
add rsi,rax |
adc rdx,0 |
add rsi,r10 |
adc rdx,0 |
- mov QWORD PTR[584+rsp],rsi |
+ mov QWORD[584+rsp],rsi |
mov r10,rdx |
mov rax,r8 |
@@ -1269,13 +1273,13 @@ sqr_reduce PROC PRIVATE |
- mov rbx,QWORD PTR[32+rcx] |
+ mov rbx,QWORD[32+rcx] |
- mov rax,QWORD PTR[40+rcx] |
+ mov rax,QWORD[40+rcx] |
mul rbx |
add r11,rax |
adc rdx,0 |
- mov QWORD PTR[592+rsp],r11 |
+ mov QWORD[592+rsp],r11 |
mov r10,rdx |
mov rax,r8 |
@@ -1284,7 +1288,7 @@ sqr_reduce PROC PRIVATE |
adc rdx,0 |
add r12,r10 |
adc rdx,0 |
- mov QWORD PTR[600+rsp],r12 |
+ mov QWORD[600+rsp],r12 |
mov r10,rdx |
mov rax,r9 |
@@ -1299,13 +1303,13 @@ sqr_reduce PROC PRIVATE |
- mov rbx,QWORD PTR[40+rcx] |
+ mov rbx,QWORD[40+rcx] |
mov rax,r8 |
mul rbx |
add r15,rax |
adc rdx,0 |
- mov QWORD PTR[608+rsp],r15 |
+ mov QWORD[608+rsp],r15 |
mov r10,rdx |
mov rax,r9 |
@@ -1314,7 +1318,7 @@ sqr_reduce PROC PRIVATE |
adc rdx,0 |
add r11,r10 |
adc rdx,0 |
- mov QWORD PTR[616+rsp],r11 |
+ mov QWORD[616+rsp],r11 |
mov r12,rdx |
@@ -1327,19 +1331,19 @@ sqr_reduce PROC PRIVATE |
mul rbx |
add r12,rax |
adc rdx,0 |
- mov QWORD PTR[624+rsp],r12 |
+ mov QWORD[624+rsp],r12 |
- mov QWORD PTR[632+rsp],rdx |
+ mov QWORD[632+rsp],rdx |
- mov r10,QWORD PTR[528+rsp] |
- mov r11,QWORD PTR[536+rsp] |
- mov r12,QWORD PTR[544+rsp] |
- mov r13,QWORD PTR[552+rsp] |
- mov r14,QWORD PTR[560+rsp] |
- mov r15,QWORD PTR[568+rsp] |
+ mov r10,QWORD[528+rsp] |
+ mov r11,QWORD[536+rsp] |
+ mov r12,QWORD[544+rsp] |
+ mov r13,QWORD[552+rsp] |
+ mov r14,QWORD[560+rsp] |
+ mov r15,QWORD[568+rsp] |
- mov rax,QWORD PTR[24+rcx] |
+ mov rax,QWORD[24+rcx] |
mul rax |
mov rdi,rax |
mov r8,rdx |
@@ -1352,12 +1356,12 @@ sqr_reduce PROC PRIVATE |
adc r15,r15 |
adc r8,0 |
- mov rax,QWORD PTR[rcx] |
+ mov rax,QWORD[rcx] |
mul rax |
- mov QWORD PTR[520+rsp],rax |
+ mov QWORD[520+rsp],rax |
mov rbx,rdx |
- mov rax,QWORD PTR[8+rcx] |
+ mov rax,QWORD[8+rcx] |
mul rax |
add r10,rbx |
@@ -1365,10 +1369,10 @@ sqr_reduce PROC PRIVATE |
adc rdx,0 |
mov rbx,rdx |
- mov QWORD PTR[528+rsp],r10 |
- mov QWORD PTR[536+rsp],r11 |
+ mov QWORD[528+rsp],r10 |
+ mov QWORD[536+rsp],r11 |
- mov rax,QWORD PTR[16+rcx] |
+ mov rax,QWORD[16+rcx] |
mul rax |
add r12,rbx |
@@ -1377,28 +1381,28 @@ sqr_reduce PROC PRIVATE |
mov rbx,rdx |
- mov QWORD PTR[544+rsp],r12 |
- mov QWORD PTR[552+rsp],r13 |
+ mov QWORD[544+rsp],r12 |
+ mov QWORD[552+rsp],r13 |
xor rbp,rbp |
add r14,rbx |
adc r15,rdi |
adc rbp,0 |
- mov QWORD PTR[560+rsp],r14 |
- mov QWORD PTR[568+rsp],r15 |
+ mov QWORD[560+rsp],r14 |
+ mov QWORD[568+rsp],r15 |
- mov r10,QWORD PTR[576+rsp] |
- mov r11,QWORD PTR[584+rsp] |
- mov r12,QWORD PTR[592+rsp] |
- mov r13,QWORD PTR[600+rsp] |
- mov r14,QWORD PTR[608+rsp] |
- mov r15,QWORD PTR[616+rsp] |
- mov rdi,QWORD PTR[624+rsp] |
- mov rsi,QWORD PTR[632+rsp] |
+ mov r10,QWORD[576+rsp] |
+ mov r11,QWORD[584+rsp] |
+ mov r12,QWORD[592+rsp] |
+ mov r13,QWORD[600+rsp] |
+ mov r14,QWORD[608+rsp] |
+ mov r15,QWORD[616+rsp] |
+ mov rdi,QWORD[624+rsp] |
+ mov rsi,QWORD[632+rsp] |
mov rax,r9 |
mul rax |
@@ -1417,7 +1421,7 @@ sqr_reduce PROC PRIVATE |
add r10,rbp |
- mov rax,QWORD PTR[32+rcx] |
+ mov rax,QWORD[32+rcx] |
mul rax |
add r10,r8 |
@@ -1426,10 +1430,10 @@ sqr_reduce PROC PRIVATE |
mov rbp,rdx |
- mov QWORD PTR[576+rsp],r10 |
- mov QWORD PTR[584+rsp],r11 |
+ mov QWORD[576+rsp],r10 |
+ mov QWORD[584+rsp],r11 |
- mov rax,QWORD PTR[40+rcx] |
+ mov rax,QWORD[40+rcx] |
mul rax |
add r12,rbp |
@@ -1438,38 +1442,38 @@ sqr_reduce PROC PRIVATE |
mov rbp,rdx |
- mov QWORD PTR[592+rsp],r12 |
- mov QWORD PTR[600+rsp],r13 |
+ mov QWORD[592+rsp],r12 |
+ mov QWORD[600+rsp],r13 |
- mov rax,QWORD PTR[48+rcx] |
+ mov rax,QWORD[48+rcx] |
mul rax |
add r14,rbp |
adc r15,rax |
adc rdx,0 |
- mov QWORD PTR[608+rsp],r14 |
- mov QWORD PTR[616+rsp],r15 |
+ mov QWORD[608+rsp],r14 |
+ mov QWORD[616+rsp],r15 |
add rdi,rdx |
adc rsi,r9 |
adc rbx,0 |
- mov QWORD PTR[624+rsp],rdi |
- mov QWORD PTR[632+rsp],rsi |
- mov QWORD PTR[640+rsp],rbx |
+ mov QWORD[624+rsp],rdi |
+ mov QWORD[632+rsp],rsi |
+ mov QWORD[640+rsp],rbx |
- jmp mont_reduce |
+ jmp NEAR mont_reduce |
-sqr_reduce ENDP |
-PUBLIC mod_exp_512 |
-mod_exp_512 PROC PUBLIC |
- mov QWORD PTR[8+rsp],rdi ;WIN64 prologue |
- mov QWORD PTR[16+rsp],rsi |
+global mod_exp_512 |
+ |
+mod_exp_512: |
+ mov QWORD[8+rsp],rdi ;WIN64 prologue |
+ mov QWORD[16+rsp],rsi |
mov rax,rsp |
-$L$SEH_begin_mod_exp_512:: |
+$L$SEH_begin_mod_exp_512: |
mov rdi,rcx |
mov rsi,rdx |
mov rdx,r8 |
@@ -1489,306 +1493,305 @@ $L$SEH_begin_mod_exp_512:: |
and rsp,-64 |
- mov QWORD PTR[rsp],r8 |
- mov QWORD PTR[8+rsp],rdi |
- mov QWORD PTR[16+rsp],rsi |
- mov QWORD PTR[24+rsp],rcx |
-$L$body:: |
+ mov QWORD[rsp],r8 |
+ mov QWORD[8+rsp],rdi |
+ mov QWORD[16+rsp],rsi |
+ mov QWORD[24+rsp],rcx |
+$L$body: |
pxor xmm4,xmm4 |
- movdqu xmm0,XMMWORD PTR[rsi] |
- movdqu xmm1,XMMWORD PTR[16+rsi] |
- movdqu xmm2,XMMWORD PTR[32+rsi] |
- movdqu xmm3,XMMWORD PTR[48+rsi] |
- movdqa XMMWORD PTR[512+rsp],xmm4 |
- movdqa XMMWORD PTR[528+rsp],xmm4 |
- movdqa XMMWORD PTR[608+rsp],xmm4 |
- movdqa XMMWORD PTR[624+rsp],xmm4 |
- movdqa XMMWORD PTR[544+rsp],xmm0 |
- movdqa XMMWORD PTR[560+rsp],xmm1 |
- movdqa XMMWORD PTR[576+rsp],xmm2 |
- movdqa XMMWORD PTR[592+rsp],xmm3 |
- |
- |
- movdqu xmm0,XMMWORD PTR[rdx] |
- movdqu xmm1,XMMWORD PTR[16+rdx] |
- movdqu xmm2,XMMWORD PTR[32+rdx] |
- movdqu xmm3,XMMWORD PTR[48+rdx] |
- |
- lea rbx,QWORD PTR[384+rsp] |
- mov QWORD PTR[136+rsp],rbx |
+ movdqu xmm0,XMMWORD[rsi] |
+ movdqu xmm1,XMMWORD[16+rsi] |
+ movdqu xmm2,XMMWORD[32+rsi] |
+ movdqu xmm3,XMMWORD[48+rsi] |
+ movdqa XMMWORD[512+rsp],xmm4 |
+ movdqa XMMWORD[528+rsp],xmm4 |
+ movdqa XMMWORD[608+rsp],xmm4 |
+ movdqa XMMWORD[624+rsp],xmm4 |
+ movdqa XMMWORD[544+rsp],xmm0 |
+ movdqa XMMWORD[560+rsp],xmm1 |
+ movdqa XMMWORD[576+rsp],xmm2 |
+ movdqa XMMWORD[592+rsp],xmm3 |
+ |
+ |
+ movdqu xmm0,XMMWORD[rdx] |
+ movdqu xmm1,XMMWORD[16+rdx] |
+ movdqu xmm2,XMMWORD[32+rdx] |
+ movdqu xmm3,XMMWORD[48+rdx] |
+ |
+ lea rbx,[384+rsp] |
+ mov QWORD[136+rsp],rbx |
call mont_reduce |
- lea rcx,QWORD PTR[448+rsp] |
+ lea rcx,[448+rsp] |
xor rax,rax |
- mov QWORD PTR[rcx],rax |
- mov QWORD PTR[8+rcx],rax |
- mov QWORD PTR[24+rcx],rax |
- mov QWORD PTR[32+rcx],rax |
- mov QWORD PTR[40+rcx],rax |
- mov QWORD PTR[48+rcx],rax |
- mov QWORD PTR[56+rcx],rax |
- mov QWORD PTR[128+rsp],rax |
- mov QWORD PTR[16+rcx],1 |
- |
- lea rbp,QWORD PTR[640+rsp] |
+ mov QWORD[rcx],rax |
+ mov QWORD[8+rcx],rax |
+ mov QWORD[24+rcx],rax |
+ mov QWORD[32+rcx],rax |
+ mov QWORD[40+rcx],rax |
+ mov QWORD[48+rcx],rax |
+ mov QWORD[56+rcx],rax |
+ mov QWORD[128+rsp],rax |
+ mov QWORD[16+rcx],1 |
+ |
+ lea rbp,[640+rsp] |
mov rsi,rcx |
mov rdi,rbp |
mov rax,8 |
-loop_0:: |
- mov rbx,QWORD PTR[rcx] |
- mov WORD PTR[rdi],bx |
+loop_0: |
+ mov rbx,QWORD[rcx] |
+ mov WORD[rdi],bx |
shr rbx,16 |
- mov WORD PTR[64+rdi],bx |
+ mov WORD[64+rdi],bx |
shr rbx,16 |
- mov WORD PTR[128+rdi],bx |
+ mov WORD[128+rdi],bx |
shr rbx,16 |
- mov WORD PTR[192+rdi],bx |
- lea rcx,QWORD PTR[8+rcx] |
- lea rdi,QWORD PTR[256+rdi] |
+ mov WORD[192+rdi],bx |
+ lea rcx,[8+rcx] |
+ lea rdi,[256+rdi] |
dec rax |
- jnz loop_0 |
+ jnz NEAR loop_0 |
mov rax,31 |
- mov QWORD PTR[32+rsp],rax |
- mov QWORD PTR[40+rsp],rbp |
- |
- mov QWORD PTR[136+rsp],rsi |
- mov r10,QWORD PTR[rsi] |
- mov r11,QWORD PTR[8+rsi] |
- mov r12,QWORD PTR[16+rsi] |
- mov r13,QWORD PTR[24+rsi] |
- mov r14,QWORD PTR[32+rsi] |
- mov r15,QWORD PTR[40+rsi] |
- mov r8,QWORD PTR[48+rsi] |
- mov r9,QWORD PTR[56+rsi] |
-init_loop:: |
- lea rdi,QWORD PTR[384+rsp] |
+ mov QWORD[32+rsp],rax |
+ mov QWORD[40+rsp],rbp |
+ |
+ mov QWORD[136+rsp],rsi |
+ mov r10,QWORD[rsi] |
+ mov r11,QWORD[8+rsi] |
+ mov r12,QWORD[16+rsi] |
+ mov r13,QWORD[24+rsi] |
+ mov r14,QWORD[32+rsi] |
+ mov r15,QWORD[40+rsi] |
+ mov r8,QWORD[48+rsi] |
+ mov r9,QWORD[56+rsi] |
+init_loop: |
+ lea rdi,[384+rsp] |
call mont_mul_a3b |
- lea rsi,QWORD PTR[448+rsp] |
- mov rbp,QWORD PTR[40+rsp] |
+ lea rsi,[448+rsp] |
+ mov rbp,QWORD[40+rsp] |
add rbp,2 |
- mov QWORD PTR[40+rsp],rbp |
+ mov QWORD[40+rsp],rbp |
mov rcx,rsi |
mov rax,8 |
-loop_1:: |
- mov rbx,QWORD PTR[rcx] |
- mov WORD PTR[rbp],bx |
+loop_1: |
+ mov rbx,QWORD[rcx] |
+ mov WORD[rbp],bx |
shr rbx,16 |
- mov WORD PTR[64+rbp],bx |
+ mov WORD[64+rbp],bx |
shr rbx,16 |
- mov WORD PTR[128+rbp],bx |
+ mov WORD[128+rbp],bx |
shr rbx,16 |
- mov WORD PTR[192+rbp],bx |
- lea rcx,QWORD PTR[8+rcx] |
- lea rbp,QWORD PTR[256+rbp] |
+ mov WORD[192+rbp],bx |
+ lea rcx,[8+rcx] |
+ lea rbp,[256+rbp] |
dec rax |
- jnz loop_1 |
- mov rax,QWORD PTR[32+rsp] |
+ jnz NEAR loop_1 |
+ mov rax,QWORD[32+rsp] |
sub rax,1 |
- mov QWORD PTR[32+rsp],rax |
- jne init_loop |
+ mov QWORD[32+rsp],rax |
+ jne NEAR init_loop |
- movdqa XMMWORD PTR[64+rsp],xmm0 |
- movdqa XMMWORD PTR[80+rsp],xmm1 |
- movdqa XMMWORD PTR[96+rsp],xmm2 |
- movdqa XMMWORD PTR[112+rsp],xmm3 |
+ movdqa XMMWORD[64+rsp],xmm0 |
+ movdqa XMMWORD[80+rsp],xmm1 |
+ movdqa XMMWORD[96+rsp],xmm2 |
+ movdqa XMMWORD[112+rsp],xmm3 |
- mov eax,DWORD PTR[126+rsp] |
+ mov eax,DWORD[126+rsp] |
mov rdx,rax |
shr rax,11 |
- and edx,007FFh |
- mov DWORD PTR[126+rsp],edx |
- lea rsi,QWORD PTR[640+rax*2+rsp] |
- mov rdx,QWORD PTR[8+rsp] |
+ and edx,0x07FF |
+ mov DWORD[126+rsp],edx |
+ lea rsi,[640+rax*2+rsp] |
+ mov rdx,QWORD[8+rsp] |
mov rbp,4 |
-loop_2:: |
- movzx rbx,WORD PTR[192+rsi] |
- movzx rax,WORD PTR[448+rsi] |
+loop_2: |
+ movzx rbx,WORD[192+rsi] |
+ movzx rax,WORD[448+rsi] |
shl rbx,16 |
shl rax,16 |
- mov bx,WORD PTR[128+rsi] |
- mov ax,WORD PTR[384+rsi] |
+ mov bx,WORD[128+rsi] |
+ mov ax,WORD[384+rsi] |
shl rbx,16 |
shl rax,16 |
- mov bx,WORD PTR[64+rsi] |
- mov ax,WORD PTR[320+rsi] |
+ mov bx,WORD[64+rsi] |
+ mov ax,WORD[320+rsi] |
shl rbx,16 |
shl rax,16 |
- mov bx,WORD PTR[rsi] |
- mov ax,WORD PTR[256+rsi] |
- mov QWORD PTR[rdx],rbx |
- mov QWORD PTR[8+rdx],rax |
- lea rsi,QWORD PTR[512+rsi] |
- lea rdx,QWORD PTR[16+rdx] |
+ mov bx,WORD[rsi] |
+ mov ax,WORD[256+rsi] |
+ mov QWORD[rdx],rbx |
+ mov QWORD[8+rdx],rax |
+ lea rsi,[512+rsi] |
+ lea rdx,[16+rdx] |
sub rbp,1 |
- jnz loop_2 |
- mov QWORD PTR[48+rsp],505 |
- |
- mov rcx,QWORD PTR[8+rsp] |
- mov QWORD PTR[136+rsp],rcx |
- mov r10,QWORD PTR[rcx] |
- mov r11,QWORD PTR[8+rcx] |
- mov r12,QWORD PTR[16+rcx] |
- mov r13,QWORD PTR[24+rcx] |
- mov r14,QWORD PTR[32+rcx] |
- mov r15,QWORD PTR[40+rcx] |
- mov r8,QWORD PTR[48+rcx] |
- mov r9,QWORD PTR[56+rcx] |
- jmp sqr_2 |
- |
-main_loop_a3b:: |
+ jnz NEAR loop_2 |
+ mov QWORD[48+rsp],505 |
+ |
+ mov rcx,QWORD[8+rsp] |
+ mov QWORD[136+rsp],rcx |
+ mov r10,QWORD[rcx] |
+ mov r11,QWORD[8+rcx] |
+ mov r12,QWORD[16+rcx] |
+ mov r13,QWORD[24+rcx] |
+ mov r14,QWORD[32+rcx] |
+ mov r15,QWORD[40+rcx] |
+ mov r8,QWORD[48+rcx] |
+ mov r9,QWORD[56+rcx] |
+ jmp NEAR sqr_2 |
+ |
+main_loop_a3b: |
call sqr_reduce |
call sqr_reduce |
call sqr_reduce |
-sqr_2:: |
+sqr_2: |
call sqr_reduce |
call sqr_reduce |
- mov rcx,QWORD PTR[48+rsp] |
+ mov rcx,QWORD[48+rsp] |
mov rax,rcx |
shr rax,4 |
- mov edx,DWORD PTR[64+rax*2+rsp] |
+ mov edx,DWORD[64+rax*2+rsp] |
and rcx,15 |
shr rdx,cl |
- and rdx,01Fh |
+ and rdx,0x1F |
- lea rsi,QWORD PTR[640+rdx*2+rsp] |
- lea rdx,QWORD PTR[448+rsp] |
+ lea rsi,[640+rdx*2+rsp] |
+ lea rdx,[448+rsp] |
mov rdi,rdx |
mov rbp,4 |
-loop_3:: |
- movzx rbx,WORD PTR[192+rsi] |
- movzx rax,WORD PTR[448+rsi] |
+loop_3: |
+ movzx rbx,WORD[192+rsi] |
+ movzx rax,WORD[448+rsi] |
shl rbx,16 |
shl rax,16 |
- mov bx,WORD PTR[128+rsi] |
- mov ax,WORD PTR[384+rsi] |
+ mov bx,WORD[128+rsi] |
+ mov ax,WORD[384+rsi] |
shl rbx,16 |
shl rax,16 |
- mov bx,WORD PTR[64+rsi] |
- mov ax,WORD PTR[320+rsi] |
+ mov bx,WORD[64+rsi] |
+ mov ax,WORD[320+rsi] |
shl rbx,16 |
shl rax,16 |
- mov bx,WORD PTR[rsi] |
- mov ax,WORD PTR[256+rsi] |
- mov QWORD PTR[rdx],rbx |
- mov QWORD PTR[8+rdx],rax |
- lea rsi,QWORD PTR[512+rsi] |
- lea rdx,QWORD PTR[16+rdx] |
+ mov bx,WORD[rsi] |
+ mov ax,WORD[256+rsi] |
+ mov QWORD[rdx],rbx |
+ mov QWORD[8+rdx],rax |
+ lea rsi,[512+rsi] |
+ lea rdx,[16+rdx] |
sub rbp,1 |
- jnz loop_3 |
- mov rsi,QWORD PTR[8+rsp] |
+ jnz NEAR loop_3 |
+ mov rsi,QWORD[8+rsp] |
call mont_mul_a3b |
- mov rcx,QWORD PTR[48+rsp] |
+ mov rcx,QWORD[48+rsp] |
sub rcx,5 |
- mov QWORD PTR[48+rsp],rcx |
- jge main_loop_a3b |
+ mov QWORD[48+rsp],rcx |
+ jge NEAR main_loop_a3b |
-end_main_loop_a3b:: |
+end_main_loop_a3b: |
- mov rdx,QWORD PTR[8+rsp] |
+ mov rdx,QWORD[8+rsp] |
pxor xmm4,xmm4 |
- movdqu xmm0,XMMWORD PTR[rdx] |
- movdqu xmm1,XMMWORD PTR[16+rdx] |
- movdqu xmm2,XMMWORD PTR[32+rdx] |
- movdqu xmm3,XMMWORD PTR[48+rdx] |
- movdqa XMMWORD PTR[576+rsp],xmm4 |
- movdqa XMMWORD PTR[592+rsp],xmm4 |
- movdqa XMMWORD PTR[608+rsp],xmm4 |
- movdqa XMMWORD PTR[624+rsp],xmm4 |
- movdqa XMMWORD PTR[512+rsp],xmm0 |
- movdqa XMMWORD PTR[528+rsp],xmm1 |
- movdqa XMMWORD PTR[544+rsp],xmm2 |
- movdqa XMMWORD PTR[560+rsp],xmm3 |
+ movdqu xmm0,XMMWORD[rdx] |
+ movdqu xmm1,XMMWORD[16+rdx] |
+ movdqu xmm2,XMMWORD[32+rdx] |
+ movdqu xmm3,XMMWORD[48+rdx] |
+ movdqa XMMWORD[576+rsp],xmm4 |
+ movdqa XMMWORD[592+rsp],xmm4 |
+ movdqa XMMWORD[608+rsp],xmm4 |
+ movdqa XMMWORD[624+rsp],xmm4 |
+ movdqa XMMWORD[512+rsp],xmm0 |
+ movdqa XMMWORD[528+rsp],xmm1 |
+ movdqa XMMWORD[544+rsp],xmm2 |
+ movdqa XMMWORD[560+rsp],xmm3 |
call mont_reduce |
- mov rax,QWORD PTR[8+rsp] |
- mov r8,QWORD PTR[rax] |
- mov r9,QWORD PTR[8+rax] |
- mov r10,QWORD PTR[16+rax] |
- mov r11,QWORD PTR[24+rax] |
- mov r12,QWORD PTR[32+rax] |
- mov r13,QWORD PTR[40+rax] |
- mov r14,QWORD PTR[48+rax] |
- mov r15,QWORD PTR[56+rax] |
+ mov rax,QWORD[8+rsp] |
+ mov r8,QWORD[rax] |
+ mov r9,QWORD[8+rax] |
+ mov r10,QWORD[16+rax] |
+ mov r11,QWORD[24+rax] |
+ mov r12,QWORD[32+rax] |
+ mov r13,QWORD[40+rax] |
+ mov r14,QWORD[48+rax] |
+ mov r15,QWORD[56+rax] |
- mov rbx,QWORD PTR[24+rsp] |
+ mov rbx,QWORD[24+rsp] |
add rbx,512 |
- sub r8,QWORD PTR[rbx] |
- sbb r9,QWORD PTR[8+rbx] |
- sbb r10,QWORD PTR[16+rbx] |
- sbb r11,QWORD PTR[24+rbx] |
- sbb r12,QWORD PTR[32+rbx] |
- sbb r13,QWORD PTR[40+rbx] |
- sbb r14,QWORD PTR[48+rbx] |
- sbb r15,QWORD PTR[56+rbx] |
+ sub r8,QWORD[rbx] |
+ sbb r9,QWORD[8+rbx] |
+ sbb r10,QWORD[16+rbx] |
+ sbb r11,QWORD[24+rbx] |
+ sbb r12,QWORD[32+rbx] |
+ sbb r13,QWORD[40+rbx] |
+ sbb r14,QWORD[48+rbx] |
+ sbb r15,QWORD[56+rbx] |
- mov rsi,QWORD PTR[rax] |
- mov rdi,QWORD PTR[8+rax] |
- mov rcx,QWORD PTR[16+rax] |
- mov rdx,QWORD PTR[24+rax] |
+ mov rsi,QWORD[rax] |
+ mov rdi,QWORD[8+rax] |
+ mov rcx,QWORD[16+rax] |
+ mov rdx,QWORD[24+rax] |
cmovnc rsi,r8 |
cmovnc rdi,r9 |
cmovnc rcx,r10 |
cmovnc rdx,r11 |
- mov QWORD PTR[rax],rsi |
- mov QWORD PTR[8+rax],rdi |
- mov QWORD PTR[16+rax],rcx |
- mov QWORD PTR[24+rax],rdx |
- |
- mov rsi,QWORD PTR[32+rax] |
- mov rdi,QWORD PTR[40+rax] |
- mov rcx,QWORD PTR[48+rax] |
- mov rdx,QWORD PTR[56+rax] |
+ mov QWORD[rax],rsi |
+ mov QWORD[8+rax],rdi |
+ mov QWORD[16+rax],rcx |
+ mov QWORD[24+rax],rdx |
+ |
+ mov rsi,QWORD[32+rax] |
+ mov rdi,QWORD[40+rax] |
+ mov rcx,QWORD[48+rax] |
+ mov rdx,QWORD[56+rax] |
cmovnc rsi,r12 |
cmovnc rdi,r13 |
cmovnc rcx,r14 |
cmovnc rdx,r15 |
- mov QWORD PTR[32+rax],rsi |
- mov QWORD PTR[40+rax],rdi |
- mov QWORD PTR[48+rax],rcx |
- mov QWORD PTR[56+rax],rdx |
- |
- mov rsi,QWORD PTR[rsp] |
- mov r15,QWORD PTR[rsi] |
- mov r14,QWORD PTR[8+rsi] |
- mov r13,QWORD PTR[16+rsi] |
- mov r12,QWORD PTR[24+rsi] |
- mov rbx,QWORD PTR[32+rsi] |
- mov rbp,QWORD PTR[40+rsi] |
- lea rsp,QWORD PTR[48+rsi] |
-$L$epilogue:: |
- mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue |
- mov rsi,QWORD PTR[16+rsp] |
+ mov QWORD[32+rax],rsi |
+ mov QWORD[40+rax],rdi |
+ mov QWORD[48+rax],rcx |
+ mov QWORD[56+rax],rdx |
+ |
+ mov rsi,QWORD[rsp] |
+ mov r15,QWORD[rsi] |
+ mov r14,QWORD[8+rsi] |
+ mov r13,QWORD[16+rsi] |
+ mov r12,QWORD[24+rsi] |
+ mov rbx,QWORD[32+rsi] |
+ mov rbp,QWORD[40+rsi] |
+ lea rsp,[48+rsi] |
+$L$epilogue: |
+ mov rdi,QWORD[8+rsp] ;WIN64 epilogue |
+ mov rsi,QWORD[16+rsp] |
DB 0F3h,0C3h ;repret |
-$L$SEH_end_mod_exp_512:: |
-mod_exp_512 ENDP |
-EXTERN __imp_RtlVirtualUnwind:NEAR |
+$L$SEH_end_mod_exp_512: |
+EXTERN __imp_RtlVirtualUnwind |
ALIGN 16 |
-mod_exp_512_se_handler PROC PRIVATE |
+mod_exp_512_se_handler: |
push rsi |
push rdi |
push rbx |
@@ -1800,60 +1803,60 @@ mod_exp_512_se_handler PROC PRIVATE |
pushfq |
sub rsp,64 |
- mov rax,QWORD PTR[120+r8] |
- mov rbx,QWORD PTR[248+r8] |
+ mov rax,QWORD[120+r8] |
+ mov rbx,QWORD[248+r8] |
- lea r10,QWORD PTR[$L$body] |
+ lea r10,[$L$body] |
cmp rbx,r10 |
- jb $L$in_prologue |
+ jb NEAR $L$in_prologue |
- mov rax,QWORD PTR[152+r8] |
+ mov rax,QWORD[152+r8] |
- lea r10,QWORD PTR[$L$epilogue] |
+ lea r10,[$L$epilogue] |
cmp rbx,r10 |
- jae $L$in_prologue |
- |
- mov rax,QWORD PTR[rax] |
- |
- mov rbx,QWORD PTR[32+rax] |
- mov rbp,QWORD PTR[40+rax] |
- mov r12,QWORD PTR[24+rax] |
- mov r13,QWORD PTR[16+rax] |
- mov r14,QWORD PTR[8+rax] |
- mov r15,QWORD PTR[rax] |
- lea rax,QWORD PTR[48+rax] |
- mov QWORD PTR[144+r8],rbx |
- mov QWORD PTR[160+r8],rbp |
- mov QWORD PTR[216+r8],r12 |
- mov QWORD PTR[224+r8],r13 |
- mov QWORD PTR[232+r8],r14 |
- mov QWORD PTR[240+r8],r15 |
- |
-$L$in_prologue:: |
- mov rdi,QWORD PTR[8+rax] |
- mov rsi,QWORD PTR[16+rax] |
- mov QWORD PTR[152+r8],rax |
- mov QWORD PTR[168+r8],rsi |
- mov QWORD PTR[176+r8],rdi |
- |
- mov rdi,QWORD PTR[40+r9] |
+ jae NEAR $L$in_prologue |
+ |
+ mov rax,QWORD[rax] |
+ |
+ mov rbx,QWORD[32+rax] |
+ mov rbp,QWORD[40+rax] |
+ mov r12,QWORD[24+rax] |
+ mov r13,QWORD[16+rax] |
+ mov r14,QWORD[8+rax] |
+ mov r15,QWORD[rax] |
+ lea rax,[48+rax] |
+ mov QWORD[144+r8],rbx |
+ mov QWORD[160+r8],rbp |
+ mov QWORD[216+r8],r12 |
+ mov QWORD[224+r8],r13 |
+ mov QWORD[232+r8],r14 |
+ mov QWORD[240+r8],r15 |
+ |
+$L$in_prologue: |
+ mov rdi,QWORD[8+rax] |
+ mov rsi,QWORD[16+rax] |
+ mov QWORD[152+r8],rax |
+ mov QWORD[168+r8],rsi |
+ mov QWORD[176+r8],rdi |
+ |
+ mov rdi,QWORD[40+r9] |
mov rsi,r8 |
mov ecx,154 |
- DD 0a548f3fch |
+ DD 0xa548f3fc |
mov rsi,r9 |
xor rcx,rcx |
- mov rdx,QWORD PTR[8+rsi] |
- mov r8,QWORD PTR[rsi] |
- mov r9,QWORD PTR[16+rsi] |
- mov r10,QWORD PTR[40+rsi] |
- lea r11,QWORD PTR[56+rsi] |
- lea r12,QWORD PTR[24+rsi] |
- mov QWORD PTR[32+rsp],r10 |
- mov QWORD PTR[40+rsp],r11 |
- mov QWORD PTR[48+rsp],r12 |
- mov QWORD PTR[56+rsp],rcx |
- call QWORD PTR[__imp_RtlVirtualUnwind] |
+ mov rdx,QWORD[8+rsi] |
+ mov r8,QWORD[rsi] |
+ mov r9,QWORD[16+rsi] |
+ mov r10,QWORD[40+rsi] |
+ lea r11,[56+rsi] |
+ lea r12,[24+rsi] |
+ mov QWORD[32+rsp],r10 |
+ mov QWORD[40+rsp],r11 |
+ mov QWORD[48+rsp],r12 |
+ mov QWORD[56+rsp],rcx |
+ call QWORD[__imp_RtlVirtualUnwind] |
mov eax,1 |
add rsp,64 |
@@ -1867,21 +1870,16 @@ $L$in_prologue:: |
pop rdi |
pop rsi |
DB 0F3h,0C3h ;repret |
-mod_exp_512_se_handler ENDP |
-.text$ ENDS |
-.pdata SEGMENT READONLY ALIGN(4) |
+ |
+section .pdata rdata align=4 |
ALIGN 4 |
- DD imagerel $L$SEH_begin_mod_exp_512 |
- DD imagerel $L$SEH_end_mod_exp_512 |
- DD imagerel $L$SEH_info_mod_exp_512 |
+ DD $L$SEH_begin_mod_exp_512 wrt ..imagebase |
+ DD $L$SEH_end_mod_exp_512 wrt ..imagebase |
+ DD $L$SEH_info_mod_exp_512 wrt ..imagebase |
-.pdata ENDS |
-.xdata SEGMENT READONLY ALIGN(8) |
+section .xdata rdata align=8 |
ALIGN 8 |
-$L$SEH_info_mod_exp_512:: |
+$L$SEH_info_mod_exp_512: |
DB 9,0,0,0 |
- DD imagerel mod_exp_512_se_handler |
- |
-.xdata ENDS |
-END |
+ DD mod_exp_512_se_handler wrt ..imagebase |