Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1462)

Unified Diff: third_party/boringssl/win-x86_64/crypto/bn/x86_64-mont.asm

Issue 693893006: Roll BoringSSL. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@nasm
Patch Set: roll further Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/boringssl/win-x86_64/crypto/bn/x86_64-mont.asm
diff --git a/third_party/boringssl/win-x86_64/crypto/bn/x86_64-mont.asm b/third_party/boringssl/win-x86_64/crypto/bn/x86_64-mont.asm
index a40932560740194e6745450d3c9cd9a24726ca4f..db0d1b976fcefd6370083cf0ce4456905dc3463d 100644
--- a/third_party/boringssl/win-x86_64/crypto/bn/x86_64-mont.asm
+++ b/third_party/boringssl/win-x86_64/crypto/bn/x86_64-mont.asm
@@ -1,36 +1,40 @@
-OPTION DOTNAME
-.text$ SEGMENT ALIGN(256) 'CODE'
+default rel
+%define XMMWORD
+%define YMMWORD
+%define ZMMWORD
+section .text code align=64
-EXTERN OPENSSL_ia32cap_P:NEAR
-PUBLIC bn_mul_mont
+EXTERN OPENSSL_ia32cap_P
+
+global bn_mul_mont
ALIGN 16
-bn_mul_mont PROC PUBLIC
- mov QWORD PTR[8+rsp],rdi ;WIN64 prologue
- mov QWORD PTR[16+rsp],rsi
+bn_mul_mont:
+ mov QWORD[8+rsp],rdi ;WIN64 prologue
+ mov QWORD[16+rsp],rsi
mov rax,rsp
-$L$SEH_begin_bn_mul_mont::
+$L$SEH_begin_bn_mul_mont:
mov rdi,rcx
mov rsi,rdx
mov rdx,r8
mov rcx,r9
- mov r8,QWORD PTR[40+rsp]
- mov r9,QWORD PTR[48+rsp]
+ mov r8,QWORD[40+rsp]
+ mov r9,QWORD[48+rsp]
test r9d,3
- jnz $L$mul_enter
+ jnz NEAR $L$mul_enter
cmp r9d,8
- jb $L$mul_enter
+ jb NEAR $L$mul_enter
cmp rdx,rsi
- jne $L$mul4x_enter
+ jne NEAR $L$mul4x_enter
test r9d,7
- jz $L$sqr8x_enter
- jmp $L$mul4x_enter
+ jz NEAR $L$sqr8x_enter
+ jmp NEAR $L$mul4x_enter
ALIGN 16
-$L$mul_enter::
+$L$mul_enter:
push rbx
push rbp
push r12
@@ -39,18 +43,18 @@ $L$mul_enter::
push r15
mov r9d,r9d
- lea r10,QWORD PTR[2+r9]
+ lea r10,[2+r9]
mov r11,rsp
neg r10
- lea rsp,QWORD PTR[r10*8+rsp]
+ lea rsp,[r10*8+rsp]
and rsp,-1024
- mov QWORD PTR[8+r9*8+rsp],r11
-$L$mul_body::
+ mov QWORD[8+r9*8+rsp],r11
+$L$mul_body:
mov r12,rdx
- mov r8,QWORD PTR[r8]
- mov rbx,QWORD PTR[r12]
- mov rax,QWORD PTR[rsi]
+ mov r8,QWORD[r8]
+ mov rbx,QWORD[r12]
+ mov rax,QWORD[rsi]
xor r14,r14
xor r15,r15
@@ -58,69 +62,69 @@ $L$mul_body::
mov rbp,r8
mul rbx
mov r10,rax
- mov rax,QWORD PTR[rcx]
+ mov rax,QWORD[rcx]
imul rbp,r10
mov r11,rdx
mul rbp
add r10,rax
- mov rax,QWORD PTR[8+rsi]
+ mov rax,QWORD[8+rsi]
adc rdx,0
mov r13,rdx
- lea r15,QWORD PTR[1+r15]
- jmp $L$1st_enter
+ lea r15,[1+r15]
+ jmp NEAR $L$1st_enter
ALIGN 16
-$L$1st::
+$L$1st:
add r13,rax
- mov rax,QWORD PTR[r15*8+rsi]
+ mov rax,QWORD[r15*8+rsi]
adc rdx,0
add r13,r11
mov r11,r10
adc rdx,0
- mov QWORD PTR[((-16))+r15*8+rsp],r13
+ mov QWORD[((-16))+r15*8+rsp],r13
mov r13,rdx
-$L$1st_enter::
+$L$1st_enter:
mul rbx
add r11,rax
- mov rax,QWORD PTR[r15*8+rcx]
+ mov rax,QWORD[r15*8+rcx]
adc rdx,0
- lea r15,QWORD PTR[1+r15]
+ lea r15,[1+r15]
mov r10,rdx
mul rbp
cmp r15,r9
- jne $L$1st
+ jne NEAR $L$1st
add r13,rax
- mov rax,QWORD PTR[rsi]
+ mov rax,QWORD[rsi]
adc rdx,0
add r13,r11
adc rdx,0
- mov QWORD PTR[((-16))+r15*8+rsp],r13
+ mov QWORD[((-16))+r15*8+rsp],r13
mov r13,rdx
mov r11,r10
xor rdx,rdx
add r13,r11
adc rdx,0
- mov QWORD PTR[((-8))+r9*8+rsp],r13
- mov QWORD PTR[r9*8+rsp],rdx
+ mov QWORD[((-8))+r9*8+rsp],r13
+ mov QWORD[r9*8+rsp],rdx
- lea r14,QWORD PTR[1+r14]
- jmp $L$outer
+ lea r14,[1+r14]
+ jmp NEAR $L$outer
ALIGN 16
-$L$outer::
- mov rbx,QWORD PTR[r14*8+r12]
+$L$outer:
+ mov rbx,QWORD[r14*8+r12]
xor r15,r15
mov rbp,r8
- mov r10,QWORD PTR[rsp]
+ mov r10,QWORD[rsp]
mul rbx
add r10,rax
- mov rax,QWORD PTR[rcx]
+ mov rax,QWORD[rcx]
adc rdx,0
imul rbp,r10
@@ -128,46 +132,46 @@ $L$outer::
mul rbp
add r10,rax
- mov rax,QWORD PTR[8+rsi]
+ mov rax,QWORD[8+rsi]
adc rdx,0
- mov r10,QWORD PTR[8+rsp]
+ mov r10,QWORD[8+rsp]
mov r13,rdx
- lea r15,QWORD PTR[1+r15]
- jmp $L$inner_enter
+ lea r15,[1+r15]
+ jmp NEAR $L$inner_enter
ALIGN 16
-$L$inner::
+$L$inner:
add r13,rax
- mov rax,QWORD PTR[r15*8+rsi]
+ mov rax,QWORD[r15*8+rsi]
adc rdx,0
add r13,r10
- mov r10,QWORD PTR[r15*8+rsp]
+ mov r10,QWORD[r15*8+rsp]
adc rdx,0
- mov QWORD PTR[((-16))+r15*8+rsp],r13
+ mov QWORD[((-16))+r15*8+rsp],r13
mov r13,rdx
-$L$inner_enter::
+$L$inner_enter:
mul rbx
add r11,rax
- mov rax,QWORD PTR[r15*8+rcx]
+ mov rax,QWORD[r15*8+rcx]
adc rdx,0
add r10,r11
mov r11,rdx
adc r11,0
- lea r15,QWORD PTR[1+r15]
+ lea r15,[1+r15]
mul rbp
cmp r15,r9
- jne $L$inner
+ jne NEAR $L$inner
add r13,rax
- mov rax,QWORD PTR[rsi]
+ mov rax,QWORD[rsi]
adc rdx,0
add r13,r10
- mov r10,QWORD PTR[r15*8+rsp]
+ mov r10,QWORD[r15*8+rsp]
adc rdx,0
- mov QWORD PTR[((-16))+r15*8+rsp],r13
+ mov QWORD[((-16))+r15*8+rsp],r13
mov r13,rdx
xor rdx,rdx
@@ -175,73 +179,72 @@ $L$inner_enter::
adc rdx,0
add r13,r10
adc rdx,0
- mov QWORD PTR[((-8))+r9*8+rsp],r13
- mov QWORD PTR[r9*8+rsp],rdx
+ mov QWORD[((-8))+r9*8+rsp],r13
+ mov QWORD[r9*8+rsp],rdx
- lea r14,QWORD PTR[1+r14]
+ lea r14,[1+r14]
cmp r14,r9
- jb $L$outer
+ jb NEAR $L$outer
xor r14,r14
- mov rax,QWORD PTR[rsp]
- lea rsi,QWORD PTR[rsp]
+ mov rax,QWORD[rsp]
+ lea rsi,[rsp]
mov r15,r9
- jmp $L$sub
+ jmp NEAR $L$sub
ALIGN 16
-$L$sub:: sbb rax,QWORD PTR[r14*8+rcx]
- mov QWORD PTR[r14*8+rdi],rax
- mov rax,QWORD PTR[8+r14*8+rsi]
- lea r14,QWORD PTR[1+r14]
+$L$sub: sbb rax,QWORD[r14*8+rcx]
+ mov QWORD[r14*8+rdi],rax
+ mov rax,QWORD[8+r14*8+rsi]
+ lea r14,[1+r14]
dec r15
- jnz $L$sub
+ jnz NEAR $L$sub
sbb rax,0
xor r14,r14
mov r15,r9
ALIGN 16
-$L$copy::
- mov rsi,QWORD PTR[r14*8+rsp]
- mov rcx,QWORD PTR[r14*8+rdi]
+$L$copy:
+ mov rsi,QWORD[r14*8+rsp]
+ mov rcx,QWORD[r14*8+rdi]
xor rsi,rcx
and rsi,rax
xor rsi,rcx
- mov QWORD PTR[r14*8+rsp],r14
- mov QWORD PTR[r14*8+rdi],rsi
- lea r14,QWORD PTR[1+r14]
+ mov QWORD[r14*8+rsp],r14
+ mov QWORD[r14*8+rdi],rsi
+ lea r14,[1+r14]
sub r15,1
- jnz $L$copy
+ jnz NEAR $L$copy
- mov rsi,QWORD PTR[8+r9*8+rsp]
+ mov rsi,QWORD[8+r9*8+rsp]
mov rax,1
- mov r15,QWORD PTR[rsi]
- mov r14,QWORD PTR[8+rsi]
- mov r13,QWORD PTR[16+rsi]
- mov r12,QWORD PTR[24+rsi]
- mov rbp,QWORD PTR[32+rsi]
- mov rbx,QWORD PTR[40+rsi]
- lea rsp,QWORD PTR[48+rsi]
-$L$mul_epilogue::
- mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue
- mov rsi,QWORD PTR[16+rsp]
+ mov r15,QWORD[rsi]
+ mov r14,QWORD[8+rsi]
+ mov r13,QWORD[16+rsi]
+ mov r12,QWORD[24+rsi]
+ mov rbp,QWORD[32+rsi]
+ mov rbx,QWORD[40+rsi]
+ lea rsp,[48+rsi]
+$L$mul_epilogue:
+ mov rdi,QWORD[8+rsp] ;WIN64 epilogue
+ mov rsi,QWORD[16+rsp]
DB 0F3h,0C3h ;repret
-$L$SEH_end_bn_mul_mont::
-bn_mul_mont ENDP
+$L$SEH_end_bn_mul_mont:
ALIGN 16
-bn_mul4x_mont PROC PRIVATE
- mov QWORD PTR[8+rsp],rdi ;WIN64 prologue
- mov QWORD PTR[16+rsp],rsi
+bn_mul4x_mont:
+ mov QWORD[8+rsp],rdi ;WIN64 prologue
+ mov QWORD[16+rsp],rsi
mov rax,rsp
-$L$SEH_begin_bn_mul4x_mont::
+$L$SEH_begin_bn_mul4x_mont:
mov rdi,rcx
mov rsi,rdx
mov rdx,r8
mov rcx,r9
- mov r8,QWORD PTR[40+rsp]
- mov r9,QWORD PTR[48+rsp]
+ mov r8,QWORD[40+rsp]
+ mov r9,QWORD[48+rsp]
-$L$mul4x_enter::
+$L$mul4x_enter:
push rbx
push rbp
push r12
@@ -250,19 +253,19 @@ $L$mul4x_enter::
push r15
mov r9d,r9d
- lea r10,QWORD PTR[4+r9]
+ lea r10,[4+r9]
mov r11,rsp
neg r10
- lea rsp,QWORD PTR[r10*8+rsp]
+ lea rsp,[r10*8+rsp]
and rsp,-1024
- mov QWORD PTR[8+r9*8+rsp],r11
-$L$mul4x_body::
- mov QWORD PTR[16+r9*8+rsp],rdi
+ mov QWORD[8+r9*8+rsp],r11
+$L$mul4x_body:
+ mov QWORD[16+r9*8+rsp],rdi
mov r12,rdx
- mov r8,QWORD PTR[r8]
- mov rbx,QWORD PTR[r12]
- mov rax,QWORD PTR[rsi]
+ mov r8,QWORD[r8]
+ mov rbx,QWORD[r12]
+ mov rax,QWORD[rsi]
xor r14,r14
xor r15,r15
@@ -270,144 +273,144 @@ $L$mul4x_body::
mov rbp,r8
mul rbx
mov r10,rax
- mov rax,QWORD PTR[rcx]
+ mov rax,QWORD[rcx]
imul rbp,r10
mov r11,rdx
mul rbp
add r10,rax
- mov rax,QWORD PTR[8+rsi]
+ mov rax,QWORD[8+rsi]
adc rdx,0
mov rdi,rdx
mul rbx
add r11,rax
- mov rax,QWORD PTR[8+rcx]
+ mov rax,QWORD[8+rcx]
adc rdx,0
mov r10,rdx
mul rbp
add rdi,rax
- mov rax,QWORD PTR[16+rsi]
+ mov rax,QWORD[16+rsi]
adc rdx,0
add rdi,r11
- lea r15,QWORD PTR[4+r15]
+ lea r15,[4+r15]
adc rdx,0
- mov QWORD PTR[rsp],rdi
+ mov QWORD[rsp],rdi
mov r13,rdx
- jmp $L$1st4x
+ jmp NEAR $L$1st4x
ALIGN 16
-$L$1st4x::
+$L$1st4x:
mul rbx
add r10,rax
- mov rax,QWORD PTR[((-16))+r15*8+rcx]
+ mov rax,QWORD[((-16))+r15*8+rcx]
adc rdx,0
mov r11,rdx
mul rbp
add r13,rax
- mov rax,QWORD PTR[((-8))+r15*8+rsi]
+ mov rax,QWORD[((-8))+r15*8+rsi]
adc rdx,0
add r13,r10
adc rdx,0
- mov QWORD PTR[((-24))+r15*8+rsp],r13
+ mov QWORD[((-24))+r15*8+rsp],r13
mov rdi,rdx
mul rbx
add r11,rax
- mov rax,QWORD PTR[((-8))+r15*8+rcx]
+ mov rax,QWORD[((-8))+r15*8+rcx]
adc rdx,0
mov r10,rdx
mul rbp
add rdi,rax
- mov rax,QWORD PTR[r15*8+rsi]
+ mov rax,QWORD[r15*8+rsi]
adc rdx,0
add rdi,r11
adc rdx,0
- mov QWORD PTR[((-16))+r15*8+rsp],rdi
+ mov QWORD[((-16))+r15*8+rsp],rdi
mov r13,rdx
mul rbx
add r10,rax
- mov rax,QWORD PTR[r15*8+rcx]
+ mov rax,QWORD[r15*8+rcx]
adc rdx,0
mov r11,rdx
mul rbp
add r13,rax
- mov rax,QWORD PTR[8+r15*8+rsi]
+ mov rax,QWORD[8+r15*8+rsi]
adc rdx,0
add r13,r10
adc rdx,0
- mov QWORD PTR[((-8))+r15*8+rsp],r13
+ mov QWORD[((-8))+r15*8+rsp],r13
mov rdi,rdx
mul rbx
add r11,rax
- mov rax,QWORD PTR[8+r15*8+rcx]
+ mov rax,QWORD[8+r15*8+rcx]
adc rdx,0
- lea r15,QWORD PTR[4+r15]
+ lea r15,[4+r15]
mov r10,rdx
mul rbp
add rdi,rax
- mov rax,QWORD PTR[((-16))+r15*8+rsi]
+ mov rax,QWORD[((-16))+r15*8+rsi]
adc rdx,0
add rdi,r11
adc rdx,0
- mov QWORD PTR[((-32))+r15*8+rsp],rdi
+ mov QWORD[((-32))+r15*8+rsp],rdi
mov r13,rdx
cmp r15,r9
- jb $L$1st4x
+ jb NEAR $L$1st4x
mul rbx
add r10,rax
- mov rax,QWORD PTR[((-16))+r15*8+rcx]
+ mov rax,QWORD[((-16))+r15*8+rcx]
adc rdx,0
mov r11,rdx
mul rbp
add r13,rax
- mov rax,QWORD PTR[((-8))+r15*8+rsi]
+ mov rax,QWORD[((-8))+r15*8+rsi]
adc rdx,0
add r13,r10
adc rdx,0
- mov QWORD PTR[((-24))+r15*8+rsp],r13
+ mov QWORD[((-24))+r15*8+rsp],r13
mov rdi,rdx
mul rbx
add r11,rax
- mov rax,QWORD PTR[((-8))+r15*8+rcx]
+ mov rax,QWORD[((-8))+r15*8+rcx]
adc rdx,0
mov r10,rdx
mul rbp
add rdi,rax
- mov rax,QWORD PTR[rsi]
+ mov rax,QWORD[rsi]
adc rdx,0
add rdi,r11
adc rdx,0
- mov QWORD PTR[((-16))+r15*8+rsp],rdi
+ mov QWORD[((-16))+r15*8+rsp],rdi
mov r13,rdx
xor rdi,rdi
add r13,r10
adc rdi,0
- mov QWORD PTR[((-8))+r15*8+rsp],r13
- mov QWORD PTR[r15*8+rsp],rdi
+ mov QWORD[((-8))+r15*8+rsp],r13
+ mov QWORD[r15*8+rsp],rdi
- lea r14,QWORD PTR[1+r14]
+ lea r14,[1+r14]
ALIGN 4
-$L$outer4x::
- mov rbx,QWORD PTR[r14*8+r12]
+$L$outer4x:
+ mov rbx,QWORD[r14*8+r12]
xor r15,r15
- mov r10,QWORD PTR[rsp]
+ mov r10,QWORD[rsp]
mov rbp,r8
mul rbx
add r10,rax
- mov rax,QWORD PTR[rcx]
+ mov rax,QWORD[rcx]
adc rdx,0
imul rbp,r10
@@ -415,248 +418,247 @@ $L$outer4x::
mul rbp
add r10,rax
- mov rax,QWORD PTR[8+rsi]
+ mov rax,QWORD[8+rsi]
adc rdx,0
mov rdi,rdx
mul rbx
add r11,rax
- mov rax,QWORD PTR[8+rcx]
+ mov rax,QWORD[8+rcx]
adc rdx,0
- add r11,QWORD PTR[8+rsp]
+ add r11,QWORD[8+rsp]
adc rdx,0
mov r10,rdx
mul rbp
add rdi,rax
- mov rax,QWORD PTR[16+rsi]
+ mov rax,QWORD[16+rsi]
adc rdx,0
add rdi,r11
- lea r15,QWORD PTR[4+r15]
+ lea r15,[4+r15]
adc rdx,0
- mov QWORD PTR[rsp],rdi
+ mov QWORD[rsp],rdi
mov r13,rdx
- jmp $L$inner4x
+ jmp NEAR $L$inner4x
ALIGN 16
-$L$inner4x::
+$L$inner4x:
mul rbx
add r10,rax
- mov rax,QWORD PTR[((-16))+r15*8+rcx]
+ mov rax,QWORD[((-16))+r15*8+rcx]
adc rdx,0
- add r10,QWORD PTR[((-16))+r15*8+rsp]
+ add r10,QWORD[((-16))+r15*8+rsp]
adc rdx,0
mov r11,rdx
mul rbp
add r13,rax
- mov rax,QWORD PTR[((-8))+r15*8+rsi]
+ mov rax,QWORD[((-8))+r15*8+rsi]
adc rdx,0
add r13,r10
adc rdx,0
- mov QWORD PTR[((-24))+r15*8+rsp],r13
+ mov QWORD[((-24))+r15*8+rsp],r13
mov rdi,rdx
mul rbx
add r11,rax
- mov rax,QWORD PTR[((-8))+r15*8+rcx]
+ mov rax,QWORD[((-8))+r15*8+rcx]
adc rdx,0
- add r11,QWORD PTR[((-8))+r15*8+rsp]
+ add r11,QWORD[((-8))+r15*8+rsp]
adc rdx,0
mov r10,rdx
mul rbp
add rdi,rax
- mov rax,QWORD PTR[r15*8+rsi]
+ mov rax,QWORD[r15*8+rsi]
adc rdx,0
add rdi,r11
adc rdx,0
- mov QWORD PTR[((-16))+r15*8+rsp],rdi
+ mov QWORD[((-16))+r15*8+rsp],rdi
mov r13,rdx
mul rbx
add r10,rax
- mov rax,QWORD PTR[r15*8+rcx]
+ mov rax,QWORD[r15*8+rcx]
adc rdx,0
- add r10,QWORD PTR[r15*8+rsp]
+ add r10,QWORD[r15*8+rsp]
adc rdx,0
mov r11,rdx
mul rbp
add r13,rax
- mov rax,QWORD PTR[8+r15*8+rsi]
+ mov rax,QWORD[8+r15*8+rsi]
adc rdx,0
add r13,r10
adc rdx,0
- mov QWORD PTR[((-8))+r15*8+rsp],r13
+ mov QWORD[((-8))+r15*8+rsp],r13
mov rdi,rdx
mul rbx
add r11,rax
- mov rax,QWORD PTR[8+r15*8+rcx]
+ mov rax,QWORD[8+r15*8+rcx]
adc rdx,0
- add r11,QWORD PTR[8+r15*8+rsp]
+ add r11,QWORD[8+r15*8+rsp]
adc rdx,0
- lea r15,QWORD PTR[4+r15]
+ lea r15,[4+r15]
mov r10,rdx
mul rbp
add rdi,rax
- mov rax,QWORD PTR[((-16))+r15*8+rsi]
+ mov rax,QWORD[((-16))+r15*8+rsi]
adc rdx,0
add rdi,r11
adc rdx,0
- mov QWORD PTR[((-32))+r15*8+rsp],rdi
+ mov QWORD[((-32))+r15*8+rsp],rdi
mov r13,rdx
cmp r15,r9
- jb $L$inner4x
+ jb NEAR $L$inner4x
mul rbx
add r10,rax
- mov rax,QWORD PTR[((-16))+r15*8+rcx]
+ mov rax,QWORD[((-16))+r15*8+rcx]
adc rdx,0
- add r10,QWORD PTR[((-16))+r15*8+rsp]
+ add r10,QWORD[((-16))+r15*8+rsp]
adc rdx,0
mov r11,rdx
mul rbp
add r13,rax
- mov rax,QWORD PTR[((-8))+r15*8+rsi]
+ mov rax,QWORD[((-8))+r15*8+rsi]
adc rdx,0
add r13,r10
adc rdx,0
- mov QWORD PTR[((-24))+r15*8+rsp],r13
+ mov QWORD[((-24))+r15*8+rsp],r13
mov rdi,rdx
mul rbx
add r11,rax
- mov rax,QWORD PTR[((-8))+r15*8+rcx]
+ mov rax,QWORD[((-8))+r15*8+rcx]
adc rdx,0
- add r11,QWORD PTR[((-8))+r15*8+rsp]
+ add r11,QWORD[((-8))+r15*8+rsp]
adc rdx,0
- lea r14,QWORD PTR[1+r14]
+ lea r14,[1+r14]
mov r10,rdx
mul rbp
add rdi,rax
- mov rax,QWORD PTR[rsi]
+ mov rax,QWORD[rsi]
adc rdx,0
add rdi,r11
adc rdx,0
- mov QWORD PTR[((-16))+r15*8+rsp],rdi
+ mov QWORD[((-16))+r15*8+rsp],rdi
mov r13,rdx
xor rdi,rdi
add r13,r10
adc rdi,0
- add r13,QWORD PTR[r9*8+rsp]
+ add r13,QWORD[r9*8+rsp]
adc rdi,0
- mov QWORD PTR[((-8))+r15*8+rsp],r13
- mov QWORD PTR[r15*8+rsp],rdi
+ mov QWORD[((-8))+r15*8+rsp],r13
+ mov QWORD[r15*8+rsp],rdi
cmp r14,r9
- jb $L$outer4x
- mov rdi,QWORD PTR[16+r9*8+rsp]
- mov rax,QWORD PTR[rsp]
- mov rdx,QWORD PTR[8+rsp]
+ jb NEAR $L$outer4x
+ mov rdi,QWORD[16+r9*8+rsp]
+ mov rax,QWORD[rsp]
+ mov rdx,QWORD[8+rsp]
shr r9,2
- lea rsi,QWORD PTR[rsp]
+ lea rsi,[rsp]
xor r14,r14
- sub rax,QWORD PTR[rcx]
- mov rbx,QWORD PTR[16+rsi]
- mov rbp,QWORD PTR[24+rsi]
- sbb rdx,QWORD PTR[8+rcx]
- lea r15,QWORD PTR[((-1))+r9]
- jmp $L$sub4x
+ sub rax,QWORD[rcx]
+ mov rbx,QWORD[16+rsi]
+ mov rbp,QWORD[24+rsi]
+ sbb rdx,QWORD[8+rcx]
+ lea r15,[((-1))+r9]
+ jmp NEAR $L$sub4x
ALIGN 16
-$L$sub4x::
- mov QWORD PTR[r14*8+rdi],rax
- mov QWORD PTR[8+r14*8+rdi],rdx
- sbb rbx,QWORD PTR[16+r14*8+rcx]
- mov rax,QWORD PTR[32+r14*8+rsi]
- mov rdx,QWORD PTR[40+r14*8+rsi]
- sbb rbp,QWORD PTR[24+r14*8+rcx]
- mov QWORD PTR[16+r14*8+rdi],rbx
- mov QWORD PTR[24+r14*8+rdi],rbp
- sbb rax,QWORD PTR[32+r14*8+rcx]
- mov rbx,QWORD PTR[48+r14*8+rsi]
- mov rbp,QWORD PTR[56+r14*8+rsi]
- sbb rdx,QWORD PTR[40+r14*8+rcx]
- lea r14,QWORD PTR[4+r14]
+$L$sub4x:
+ mov QWORD[r14*8+rdi],rax
+ mov QWORD[8+r14*8+rdi],rdx
+ sbb rbx,QWORD[16+r14*8+rcx]
+ mov rax,QWORD[32+r14*8+rsi]
+ mov rdx,QWORD[40+r14*8+rsi]
+ sbb rbp,QWORD[24+r14*8+rcx]
+ mov QWORD[16+r14*8+rdi],rbx
+ mov QWORD[24+r14*8+rdi],rbp
+ sbb rax,QWORD[32+r14*8+rcx]
+ mov rbx,QWORD[48+r14*8+rsi]
+ mov rbp,QWORD[56+r14*8+rsi]
+ sbb rdx,QWORD[40+r14*8+rcx]
+ lea r14,[4+r14]
dec r15
- jnz $L$sub4x
+ jnz NEAR $L$sub4x
- mov QWORD PTR[r14*8+rdi],rax
- mov rax,QWORD PTR[32+r14*8+rsi]
- sbb rbx,QWORD PTR[16+r14*8+rcx]
- mov QWORD PTR[8+r14*8+rdi],rdx
- sbb rbp,QWORD PTR[24+r14*8+rcx]
- mov QWORD PTR[16+r14*8+rdi],rbx
+ mov QWORD[r14*8+rdi],rax
+ mov rax,QWORD[32+r14*8+rsi]
+ sbb rbx,QWORD[16+r14*8+rcx]
+ mov QWORD[8+r14*8+rdi],rdx
+ sbb rbp,QWORD[24+r14*8+rcx]
+ mov QWORD[16+r14*8+rdi],rbx
sbb rax,0
DB 66h, 48h, 0fh, 6eh, 0c0h
punpcklqdq xmm0,xmm0
- mov QWORD PTR[24+r14*8+rdi],rbp
+ mov QWORD[24+r14*8+rdi],rbp
xor r14,r14
mov r15,r9
pxor xmm5,xmm5
- jmp $L$copy4x
+ jmp NEAR $L$copy4x
ALIGN 16
-$L$copy4x::
- movdqu xmm2,XMMWORD PTR[r14*1+rsp]
- movdqu xmm4,XMMWORD PTR[16+r14*1+rsp]
- movdqu xmm1,XMMWORD PTR[r14*1+rdi]
- movdqu xmm3,XMMWORD PTR[16+r14*1+rdi]
+$L$copy4x:
+ movdqu xmm2,XMMWORD[r14*1+rsp]
+ movdqu xmm4,XMMWORD[16+r14*1+rsp]
+ movdqu xmm1,XMMWORD[r14*1+rdi]
+ movdqu xmm3,XMMWORD[16+r14*1+rdi]
pxor xmm2,xmm1
pxor xmm4,xmm3
pand xmm2,xmm0
pand xmm4,xmm0
pxor xmm2,xmm1
pxor xmm4,xmm3
- movdqu XMMWORD PTR[r14*1+rdi],xmm2
- movdqu XMMWORD PTR[16+r14*1+rdi],xmm4
- movdqa XMMWORD PTR[r14*1+rsp],xmm5
- movdqa XMMWORD PTR[16+r14*1+rsp],xmm5
+ movdqu XMMWORD[r14*1+rdi],xmm2
+ movdqu XMMWORD[16+r14*1+rdi],xmm4
+ movdqa XMMWORD[r14*1+rsp],xmm5
+ movdqa XMMWORD[16+r14*1+rsp],xmm5
- lea r14,QWORD PTR[32+r14]
+ lea r14,[32+r14]
dec r15
- jnz $L$copy4x
+ jnz NEAR $L$copy4x
shl r9,2
- mov rsi,QWORD PTR[8+r9*8+rsp]
+ mov rsi,QWORD[8+r9*8+rsp]
mov rax,1
- mov r15,QWORD PTR[rsi]
- mov r14,QWORD PTR[8+rsi]
- mov r13,QWORD PTR[16+rsi]
- mov r12,QWORD PTR[24+rsi]
- mov rbp,QWORD PTR[32+rsi]
- mov rbx,QWORD PTR[40+rsi]
- lea rsp,QWORD PTR[48+rsi]
-$L$mul4x_epilogue::
- mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue
- mov rsi,QWORD PTR[16+rsp]
+ mov r15,QWORD[rsi]
+ mov r14,QWORD[8+rsi]
+ mov r13,QWORD[16+rsi]
+ mov r12,QWORD[24+rsi]
+ mov rbp,QWORD[32+rsi]
+ mov rbx,QWORD[40+rsi]
+ lea rsp,[48+rsi]
+$L$mul4x_epilogue:
+ mov rdi,QWORD[8+rsp] ;WIN64 epilogue
+ mov rsi,QWORD[16+rsp]
DB 0F3h,0C3h ;repret
-$L$SEH_end_bn_mul4x_mont::
-bn_mul4x_mont ENDP
-EXTERN bn_sqr8x_internal:NEAR
+$L$SEH_end_bn_mul4x_mont:
+EXTERN bn_sqr8x_internal
ALIGN 32
-bn_sqr8x_mont PROC PRIVATE
- mov QWORD PTR[8+rsp],rdi ;WIN64 prologue
- mov QWORD PTR[16+rsp],rsi
+bn_sqr8x_mont:
+ mov QWORD[8+rsp],rdi ;WIN64 prologue
+ mov QWORD[16+rsp],rsi
mov rax,rsp
-$L$SEH_begin_bn_sqr8x_mont::
+$L$SEH_begin_bn_sqr8x_mont:
mov rdi,rcx
mov rsi,rdx
mov rdx,r8
mov rcx,r9
- mov r8,QWORD PTR[40+rsp]
- mov r9,QWORD PTR[48+rsp]
+ mov r8,QWORD[40+rsp]
+ mov r9,QWORD[48+rsp]
-$L$sqr8x_enter::
+$L$sqr8x_enter:
mov rax,rsp
push rbx
push rbp
@@ -675,54 +677,54 @@ $L$sqr8x_enter::
- lea r11,QWORD PTR[((-64))+r9*4+rsp]
- mov r8,QWORD PTR[r8]
+ lea r11,[((-64))+r9*4+rsp]
+ mov r8,QWORD[r8]
sub r11,rsi
and r11,4095
cmp r10,r11
- jb $L$sqr8x_sp_alt
+ jb NEAR $L$sqr8x_sp_alt
sub rsp,r11
- lea rsp,QWORD PTR[((-64))+r9*4+rsp]
- jmp $L$sqr8x_sp_done
+ lea rsp,[((-64))+r9*4+rsp]
+ jmp NEAR $L$sqr8x_sp_done
ALIGN 32
-$L$sqr8x_sp_alt::
- lea r10,QWORD PTR[((4096-64))+r9*4]
- lea rsp,QWORD PTR[((-64))+r9*4+rsp]
+$L$sqr8x_sp_alt:
+ lea r10,[((4096-64))+r9*4]
+ lea rsp,[((-64))+r9*4+rsp]
sub r11,r10
mov r10,0
cmovc r11,r10
sub rsp,r11
-$L$sqr8x_sp_done::
+$L$sqr8x_sp_done:
and rsp,-64
mov r10,r9
neg r9
- lea r11,QWORD PTR[64+r9*2+rsp]
- mov QWORD PTR[32+rsp],r8
- mov QWORD PTR[40+rsp],rax
-$L$sqr8x_body::
+ lea r11,[64+r9*2+rsp]
+ mov QWORD[32+rsp],r8
+ mov QWORD[40+rsp],rax
+$L$sqr8x_body:
mov rbp,r9
DB 102,73,15,110,211
shr rbp,3+2
- mov eax,DWORD PTR[((OPENSSL_ia32cap_P+8))]
- jmp $L$sqr8x_copy_n
+ mov eax,DWORD[((OPENSSL_ia32cap_P+8))]
+ jmp NEAR $L$sqr8x_copy_n
ALIGN 32
-$L$sqr8x_copy_n::
- movq xmm0,QWORD PTR[rcx]
- movq xmm1,QWORD PTR[8+rcx]
- movq xmm3,QWORD PTR[16+rcx]
- movq xmm4,QWORD PTR[24+rcx]
- lea rcx,QWORD PTR[32+rcx]
- movdqa XMMWORD PTR[r11],xmm0
- movdqa XMMWORD PTR[16+r11],xmm1
- movdqa XMMWORD PTR[32+r11],xmm3
- movdqa XMMWORD PTR[48+r11],xmm4
- lea r11,QWORD PTR[64+r11]
+$L$sqr8x_copy_n:
+ movq xmm0,QWORD[rcx]
+ movq xmm1,QWORD[8+rcx]
+ movq xmm3,QWORD[16+rcx]
+ movq xmm4,QWORD[24+rcx]
+ lea rcx,[32+rcx]
+ movdqa XMMWORD[r11],xmm0
+ movdqa XMMWORD[16+r11],xmm1
+ movdqa XMMWORD[32+r11],xmm3
+ movdqa XMMWORD[48+r11],xmm4
+ lea r11,[64+r11]
dec rbp
- jnz $L$sqr8x_copy_n
+ jnz NEAR $L$sqr8x_copy_n
pxor xmm0,xmm0
DB 102,72,15,110,207
@@ -730,51 +732,50 @@ DB 102,73,15,110,218
call bn_sqr8x_internal
pxor xmm0,xmm0
- lea rax,QWORD PTR[48+rsp]
- lea rdx,QWORD PTR[64+r9*2+rsp]
+ lea rax,[48+rsp]
+ lea rdx,[64+r9*2+rsp]
shr r9,3+2
- mov rsi,QWORD PTR[40+rsp]
- jmp $L$sqr8x_zero
+ mov rsi,QWORD[40+rsp]
+ jmp NEAR $L$sqr8x_zero
ALIGN 32
-$L$sqr8x_zero::
- movdqa XMMWORD PTR[rax],xmm0
- movdqa XMMWORD PTR[16+rax],xmm0
- movdqa XMMWORD PTR[32+rax],xmm0
- movdqa XMMWORD PTR[48+rax],xmm0
- lea rax,QWORD PTR[64+rax]
- movdqa XMMWORD PTR[rdx],xmm0
- movdqa XMMWORD PTR[16+rdx],xmm0
- movdqa XMMWORD PTR[32+rdx],xmm0
- movdqa XMMWORD PTR[48+rdx],xmm0
- lea rdx,QWORD PTR[64+rdx]
+$L$sqr8x_zero:
+ movdqa XMMWORD[rax],xmm0
+ movdqa XMMWORD[16+rax],xmm0
+ movdqa XMMWORD[32+rax],xmm0
+ movdqa XMMWORD[48+rax],xmm0
+ lea rax,[64+rax]
+ movdqa XMMWORD[rdx],xmm0
+ movdqa XMMWORD[16+rdx],xmm0
+ movdqa XMMWORD[32+rdx],xmm0
+ movdqa XMMWORD[48+rdx],xmm0
+ lea rdx,[64+rdx]
dec r9
- jnz $L$sqr8x_zero
+ jnz NEAR $L$sqr8x_zero
mov rax,1
- mov r15,QWORD PTR[((-48))+rsi]
- mov r14,QWORD PTR[((-40))+rsi]
- mov r13,QWORD PTR[((-32))+rsi]
- mov r12,QWORD PTR[((-24))+rsi]
- mov rbp,QWORD PTR[((-16))+rsi]
- mov rbx,QWORD PTR[((-8))+rsi]
- lea rsp,QWORD PTR[rsi]
-$L$sqr8x_epilogue::
- mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue
- mov rsi,QWORD PTR[16+rsp]
+ mov r15,QWORD[((-48))+rsi]
+ mov r14,QWORD[((-40))+rsi]
+ mov r13,QWORD[((-32))+rsi]
+ mov r12,QWORD[((-24))+rsi]
+ mov rbp,QWORD[((-16))+rsi]
+ mov rbx,QWORD[((-8))+rsi]
+ lea rsp,[rsi]
+$L$sqr8x_epilogue:
+ mov rdi,QWORD[8+rsp] ;WIN64 epilogue
+ mov rsi,QWORD[16+rsp]
DB 0F3h,0C3h ;repret
-$L$SEH_end_bn_sqr8x_mont::
-bn_sqr8x_mont ENDP
+$L$SEH_end_bn_sqr8x_mont:
DB 77,111,110,116,103,111,109,101,114,121,32,77,117,108,116,105
DB 112,108,105,99,97,116,105,111,110,32,102,111,114,32,120,56
DB 54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83
DB 32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115
DB 115,108,46,111,114,103,62,0
ALIGN 16
-EXTERN __imp_RtlVirtualUnwind:NEAR
+EXTERN __imp_RtlVirtualUnwind
ALIGN 16
-mul_handler PROC PRIVATE
+mul_handler:
push rsi
push rdi
push rbx
@@ -786,47 +787,47 @@ mul_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]
- mov rsi,QWORD PTR[8+r9]
- mov r11,QWORD PTR[56+r9]
+ mov rsi,QWORD[8+r9]
+ mov r11,QWORD[56+r9]
- mov r10d,DWORD PTR[r11]
- lea r10,QWORD PTR[r10*1+rsi]
+ mov r10d,DWORD[r11]
+ lea r10,[r10*1+rsi]
cmp rbx,r10
- jb $L$common_seh_tail
+ jb NEAR $L$common_seh_tail
- mov rax,QWORD PTR[152+r8]
+ mov rax,QWORD[152+r8]
- mov r10d,DWORD PTR[4+r11]
- lea r10,QWORD PTR[r10*1+rsi]
+ mov r10d,DWORD[4+r11]
+ lea r10,[r10*1+rsi]
cmp rbx,r10
- jae $L$common_seh_tail
+ jae NEAR $L$common_seh_tail
+
+ mov r10,QWORD[192+r8]
+ mov rax,QWORD[8+r10*8+rax]
+ lea rax,[48+rax]
- mov r10,QWORD PTR[192+r8]
- mov rax,QWORD PTR[8+r10*8+rax]
- lea rax,QWORD PTR[48+rax]
+ mov rbx,QWORD[((-8))+rax]
+ mov rbp,QWORD[((-16))+rax]
+ mov r12,QWORD[((-24))+rax]
+ mov r13,QWORD[((-32))+rax]
+ mov r14,QWORD[((-40))+rax]
+ mov r15,QWORD[((-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
- mov rbx,QWORD PTR[((-8))+rax]
- mov rbp,QWORD PTR[((-16))+rax]
- mov r12,QWORD PTR[((-24))+rax]
- mov r13,QWORD PTR[((-32))+rax]
- mov r14,QWORD PTR[((-40))+rax]
- mov r15,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
+ jmp NEAR $L$common_seh_tail
- jmp $L$common_seh_tail
-mul_handler ENDP
ALIGN 16
-sqr_handler PROC PRIVATE
+sqr_handler:
push rsi
push rdi
push rbx
@@ -838,64 +839,64 @@ sqr_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]
- mov rsi,QWORD PTR[8+r9]
- mov r11,QWORD PTR[56+r9]
+ mov rsi,QWORD[8+r9]
+ mov r11,QWORD[56+r9]
- mov r10d,DWORD PTR[r11]
- lea r10,QWORD PTR[r10*1+rsi]
+ mov r10d,DWORD[r11]
+ lea r10,[r10*1+rsi]
cmp rbx,r10
- jb $L$common_seh_tail
+ jb NEAR $L$common_seh_tail
- mov rax,QWORD PTR[152+r8]
+ mov rax,QWORD[152+r8]
- mov r10d,DWORD PTR[4+r11]
- lea r10,QWORD PTR[r10*1+rsi]
+ mov r10d,DWORD[4+r11]
+ lea r10,[r10*1+rsi]
cmp rbx,r10
- jae $L$common_seh_tail
-
- mov rax,QWORD PTR[40+rax]
-
- mov rbx,QWORD PTR[((-8))+rax]
- mov rbp,QWORD PTR[((-16))+rax]
- mov r12,QWORD PTR[((-24))+rax]
- mov r13,QWORD PTR[((-32))+rax]
- mov r14,QWORD PTR[((-40))+rax]
- mov r15,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$common_seh_tail::
- 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$common_seh_tail
+
+ mov rax,QWORD[40+rax]
+
+ mov rbx,QWORD[((-8))+rax]
+ mov rbp,QWORD[((-16))+rax]
+ mov r12,QWORD[((-24))+rax]
+ mov r13,QWORD[((-32))+rax]
+ mov r14,QWORD[((-40))+rax]
+ mov r15,QWORD[((-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$common_seh_tail:
+ 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
@@ -909,37 +910,32 @@ $L$common_seh_tail::
pop rdi
pop rsi
DB 0F3h,0C3h ;repret
-sqr_handler ENDP
-.text$ ENDS
-.pdata SEGMENT READONLY ALIGN(4)
+
+section .pdata rdata align=4
ALIGN 4
- DD imagerel $L$SEH_begin_bn_mul_mont
- DD imagerel $L$SEH_end_bn_mul_mont
- DD imagerel $L$SEH_info_bn_mul_mont
-
- DD imagerel $L$SEH_begin_bn_mul4x_mont
- DD imagerel $L$SEH_end_bn_mul4x_mont
- DD imagerel $L$SEH_info_bn_mul4x_mont
-
- DD imagerel $L$SEH_begin_bn_sqr8x_mont
- DD imagerel $L$SEH_end_bn_sqr8x_mont
- DD imagerel $L$SEH_info_bn_sqr8x_mont
-.pdata ENDS
-.xdata SEGMENT READONLY ALIGN(8)
+ DD $L$SEH_begin_bn_mul_mont wrt ..imagebase
+ DD $L$SEH_end_bn_mul_mont wrt ..imagebase
+ DD $L$SEH_info_bn_mul_mont wrt ..imagebase
+
+ DD $L$SEH_begin_bn_mul4x_mont wrt ..imagebase
+ DD $L$SEH_end_bn_mul4x_mont wrt ..imagebase
+ DD $L$SEH_info_bn_mul4x_mont wrt ..imagebase
+
+ DD $L$SEH_begin_bn_sqr8x_mont wrt ..imagebase
+ DD $L$SEH_end_bn_sqr8x_mont wrt ..imagebase
+ DD $L$SEH_info_bn_sqr8x_mont wrt ..imagebase
+section .xdata rdata align=8
ALIGN 8
-$L$SEH_info_bn_mul_mont::
+$L$SEH_info_bn_mul_mont:
DB 9,0,0,0
- DD imagerel mul_handler
- DD imagerel $L$mul_body,imagerel $L$mul_epilogue
-$L$SEH_info_bn_mul4x_mont::
+ DD mul_handler wrt ..imagebase
+ DD $L$mul_body wrt ..imagebase,$L$mul_epilogue wrt ..imagebase
+$L$SEH_info_bn_mul4x_mont:
DB 9,0,0,0
- DD imagerel mul_handler
- DD imagerel $L$mul4x_body,imagerel $L$mul4x_epilogue
-$L$SEH_info_bn_sqr8x_mont::
+ DD mul_handler wrt ..imagebase
+ DD $L$mul4x_body wrt ..imagebase,$L$mul4x_epilogue wrt ..imagebase
+$L$SEH_info_bn_sqr8x_mont:
DB 9,0,0,0
- DD imagerel sqr_handler
- DD imagerel $L$sqr8x_body,imagerel $L$sqr8x_epilogue
-
-.xdata ENDS
-END
+ DD sqr_handler wrt ..imagebase
+ DD $L$sqr8x_body wrt ..imagebase,$L$sqr8x_epilogue wrt ..imagebase

Powered by Google App Engine
This is Rietveld 408576698