Files
blst/build/win64/add_mod_384-x86_64.asm

2837 lines
50 KiB
NASM

OPTION DOTNAME
.text$ SEGMENT ALIGN(256) 'CODE'
PUBLIC add_mod_384
ALIGN 32
add_mod_384 PROC PUBLIC
DB 243,15,30,250
mov QWORD PTR[8+rsp],rdi ;WIN64 prologue
mov QWORD PTR[16+rsp],rsi
mov r11,rsp
$L$SEH_begin_add_mod_384::
push rbp
mov rdi,rcx
mov rsi,rdx
mov rdx,r8
mov rcx,r9
push rbx
push r12
push r13
push r14
push r15
sub rsp,8
$L$SEH_body_add_mod_384::
call __add_mod_384
mov r15,QWORD PTR[8+rsp]
mov r14,QWORD PTR[16+rsp]
mov r13,QWORD PTR[24+rsp]
mov r12,QWORD PTR[32+rsp]
mov rbx,QWORD PTR[40+rsp]
mov rbp,QWORD PTR[48+rsp]
lea rsp,QWORD PTR[56+rsp]
$L$SEH_epilogue_add_mod_384::
mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue
mov rsi,QWORD PTR[16+rsp]
ifdef __SGX_LVI_HARDENING__
pop rdx
lfence
jmp rdx
ud2
else
DB 0F3h,0C3h
endif
$L$SEH_end_add_mod_384::
add_mod_384 ENDP
ALIGN 32
__add_mod_384 PROC PRIVATE
DB 243,15,30,250
ifdef __SGX_LVI_HARDENING__
lfence
endif
mov r8,QWORD PTR[rsi]
mov r9,QWORD PTR[8+rsi]
mov r10,QWORD PTR[16+rsi]
mov r11,QWORD PTR[24+rsi]
mov r12,QWORD PTR[32+rsi]
mov r13,QWORD PTR[40+rsi]
__add_mod_384_a_is_loaded::
add r8,QWORD PTR[rdx]
adc r9,QWORD PTR[8+rdx]
adc r10,QWORD PTR[16+rdx]
mov r14,r8
adc r11,QWORD PTR[24+rdx]
mov r15,r9
adc r12,QWORD PTR[32+rdx]
mov rax,r10
adc r13,QWORD PTR[40+rdx]
mov rbx,r11
sbb rdx,rdx
sub r8,QWORD PTR[rcx]
sbb r9,QWORD PTR[8+rcx]
mov rbp,r12
sbb r10,QWORD PTR[16+rcx]
sbb r11,QWORD PTR[24+rcx]
sbb r12,QWORD PTR[32+rcx]
mov rsi,r13
sbb r13,QWORD PTR[40+rcx]
sbb rdx,0
cmovc r8,r14
cmovc r9,r15
cmovc r10,rax
mov QWORD PTR[rdi],r8
cmovc r11,rbx
mov QWORD PTR[8+rdi],r9
cmovc r12,rbp
mov QWORD PTR[16+rdi],r10
cmovc r13,rsi
mov QWORD PTR[24+rdi],r11
mov QWORD PTR[32+rdi],r12
mov QWORD PTR[40+rdi],r13
ifdef __SGX_LVI_HARDENING__
pop rdx
lfence
jmp rdx
ud2
else
DB 0F3h,0C3h
endif
__add_mod_384 ENDP
PUBLIC add_mod_384x
ALIGN 32
add_mod_384x PROC PUBLIC
DB 243,15,30,250
mov QWORD PTR[8+rsp],rdi ;WIN64 prologue
mov QWORD PTR[16+rsp],rsi
mov r11,rsp
$L$SEH_begin_add_mod_384x::
push rbp
mov rdi,rcx
mov rsi,rdx
mov rdx,r8
mov rcx,r9
push rbx
push r12
push r13
push r14
push r15
sub rsp,24
$L$SEH_body_add_mod_384x::
mov QWORD PTR[rsp],rsi
mov QWORD PTR[8+rsp],rdx
lea rsi,QWORD PTR[48+rsi]
lea rdx,QWORD PTR[48+rdx]
lea rdi,QWORD PTR[48+rdi]
call __add_mod_384
mov rsi,QWORD PTR[rsp]
mov rdx,QWORD PTR[8+rsp]
lea rdi,QWORD PTR[((-48))+rdi]
call __add_mod_384
mov r15,QWORD PTR[((24+0))+rsp]
mov r14,QWORD PTR[((24+8))+rsp]
mov r13,QWORD PTR[((24+16))+rsp]
mov r12,QWORD PTR[((24+24))+rsp]
mov rbx,QWORD PTR[((24+32))+rsp]
mov rbp,QWORD PTR[((24+40))+rsp]
lea rsp,QWORD PTR[((24+48))+rsp]
$L$SEH_epilogue_add_mod_384x::
mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue
mov rsi,QWORD PTR[16+rsp]
ifdef __SGX_LVI_HARDENING__
pop rdx
lfence
jmp rdx
ud2
else
DB 0F3h,0C3h
endif
$L$SEH_end_add_mod_384x::
add_mod_384x ENDP
PUBLIC rshift_mod_384
ALIGN 32
rshift_mod_384 PROC PUBLIC
DB 243,15,30,250
mov QWORD PTR[8+rsp],rdi ;WIN64 prologue
mov QWORD PTR[16+rsp],rsi
mov r11,rsp
$L$SEH_begin_rshift_mod_384::
push rbp
mov rdi,rcx
mov rsi,rdx
mov rdx,r8
mov rcx,r9
push rbx
push r12
push r13
push r14
push r15
push rdi
$L$SEH_body_rshift_mod_384::
ifdef __SGX_LVI_HARDENING__
lfence
endif
mov r8,QWORD PTR[rsi]
mov r9,QWORD PTR[8+rsi]
mov r10,QWORD PTR[16+rsi]
mov r11,QWORD PTR[24+rsi]
mov r12,QWORD PTR[32+rsi]
mov r13,QWORD PTR[40+rsi]
$L$oop_rshift_mod_384::
call __rshift_mod_384
dec edx
jnz $L$oop_rshift_mod_384
mov QWORD PTR[rdi],r8
mov QWORD PTR[8+rdi],r9
mov QWORD PTR[16+rdi],r10
mov QWORD PTR[24+rdi],r11
mov QWORD PTR[32+rdi],r12
mov QWORD PTR[40+rdi],r13
mov r15,QWORD PTR[8+rsp]
mov r14,QWORD PTR[16+rsp]
mov r13,QWORD PTR[24+rsp]
mov r12,QWORD PTR[32+rsp]
mov rbx,QWORD PTR[40+rsp]
mov rbp,QWORD PTR[48+rsp]
lea rsp,QWORD PTR[56+rsp]
$L$SEH_epilogue_rshift_mod_384::
mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue
mov rsi,QWORD PTR[16+rsp]
ifdef __SGX_LVI_HARDENING__
pop rdx
lfence
jmp rdx
ud2
else
DB 0F3h,0C3h
endif
$L$SEH_end_rshift_mod_384::
rshift_mod_384 ENDP
ALIGN 32
__rshift_mod_384 PROC PRIVATE
DB 243,15,30,250
mov rsi,1
mov r14,QWORD PTR[rcx]
and rsi,r8
mov r15,QWORD PTR[8+rcx]
neg rsi
mov rax,QWORD PTR[16+rcx]
and r14,rsi
mov rbx,QWORD PTR[24+rcx]
and r15,rsi
mov rbp,QWORD PTR[32+rcx]
and rax,rsi
and rbx,rsi
and rbp,rsi
and rsi,QWORD PTR[40+rcx]
add r14,r8
adc r15,r9
adc rax,r10
adc rbx,r11
adc rbp,r12
adc rsi,r13
sbb r13,r13
shr r14,1
mov r8,r15
shr r15,1
mov r9,rax
shr rax,1
mov r10,rbx
shr rbx,1
mov r11,rbp
shr rbp,1
mov r12,rsi
shr rsi,1
shl r8,63
shl r9,63
or r8,r14
shl r10,63
or r9,r15
shl r11,63
or r10,rax
shl r12,63
or r11,rbx
shl r13,63
or r12,rbp
or r13,rsi
ifdef __SGX_LVI_HARDENING__
pop r14
lfence
jmp r14
ud2
else
DB 0F3h,0C3h
endif
__rshift_mod_384 ENDP
PUBLIC div_by_2_mod_384
ALIGN 32
div_by_2_mod_384 PROC PUBLIC
DB 243,15,30,250
mov QWORD PTR[8+rsp],rdi ;WIN64 prologue
mov QWORD PTR[16+rsp],rsi
mov r11,rsp
$L$SEH_begin_div_by_2_mod_384::
push rbp
mov rdi,rcx
mov rsi,rdx
mov rdx,r8
push rbx
push r12
push r13
push r14
push r15
push rdi
$L$SEH_body_div_by_2_mod_384::
ifdef __SGX_LVI_HARDENING__
lfence
endif
mov r8,QWORD PTR[rsi]
mov rcx,rdx
mov r9,QWORD PTR[8+rsi]
mov r10,QWORD PTR[16+rsi]
mov r11,QWORD PTR[24+rsi]
mov r12,QWORD PTR[32+rsi]
mov r13,QWORD PTR[40+rsi]
call __rshift_mod_384
mov QWORD PTR[rdi],r8
mov QWORD PTR[8+rdi],r9
mov QWORD PTR[16+rdi],r10
mov QWORD PTR[24+rdi],r11
mov QWORD PTR[32+rdi],r12
mov QWORD PTR[40+rdi],r13
mov r15,QWORD PTR[8+rsp]
mov r14,QWORD PTR[16+rsp]
mov r13,QWORD PTR[24+rsp]
mov r12,QWORD PTR[32+rsp]
mov rbx,QWORD PTR[40+rsp]
mov rbp,QWORD PTR[48+rsp]
lea rsp,QWORD PTR[56+rsp]
$L$SEH_epilogue_div_by_2_mod_384::
mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue
mov rsi,QWORD PTR[16+rsp]
ifdef __SGX_LVI_HARDENING__
pop rdx
lfence
jmp rdx
ud2
else
DB 0F3h,0C3h
endif
$L$SEH_end_div_by_2_mod_384::
div_by_2_mod_384 ENDP
PUBLIC lshift_mod_384
ALIGN 32
lshift_mod_384 PROC PUBLIC
DB 243,15,30,250
mov QWORD PTR[8+rsp],rdi ;WIN64 prologue
mov QWORD PTR[16+rsp],rsi
mov r11,rsp
$L$SEH_begin_lshift_mod_384::
push rbp
mov rdi,rcx
mov rsi,rdx
mov rdx,r8
mov rcx,r9
push rbx
push r12
push r13
push r14
push r15
push rdi
$L$SEH_body_lshift_mod_384::
ifdef __SGX_LVI_HARDENING__
lfence
endif
mov r8,QWORD PTR[rsi]
mov r9,QWORD PTR[8+rsi]
mov r10,QWORD PTR[16+rsi]
mov r11,QWORD PTR[24+rsi]
mov r12,QWORD PTR[32+rsi]
mov r13,QWORD PTR[40+rsi]
$L$oop_lshift_mod_384::
add r8,r8
adc r9,r9
adc r10,r10
mov r14,r8
adc r11,r11
mov r15,r9
adc r12,r12
mov rax,r10
adc r13,r13
mov rbx,r11
sbb rdi,rdi
sub r8,QWORD PTR[rcx]
sbb r9,QWORD PTR[8+rcx]
mov rbp,r12
sbb r10,QWORD PTR[16+rcx]
sbb r11,QWORD PTR[24+rcx]
sbb r12,QWORD PTR[32+rcx]
mov rsi,r13
sbb r13,QWORD PTR[40+rcx]
sbb rdi,0
mov rdi,QWORD PTR[rsp]
cmovc r8,r14
cmovc r9,r15
cmovc r10,rax
cmovc r11,rbx
cmovc r12,rbp
cmovc r13,rsi
dec edx
jnz $L$oop_lshift_mod_384
mov QWORD PTR[rdi],r8
mov QWORD PTR[8+rdi],r9
mov QWORD PTR[16+rdi],r10
mov QWORD PTR[24+rdi],r11
mov QWORD PTR[32+rdi],r12
mov QWORD PTR[40+rdi],r13
mov r15,QWORD PTR[8+rsp]
mov r14,QWORD PTR[16+rsp]
mov r13,QWORD PTR[24+rsp]
mov r12,QWORD PTR[32+rsp]
mov rbx,QWORD PTR[40+rsp]
mov rbp,QWORD PTR[48+rsp]
lea rsp,QWORD PTR[56+rsp]
$L$SEH_epilogue_lshift_mod_384::
mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue
mov rsi,QWORD PTR[16+rsp]
ifdef __SGX_LVI_HARDENING__
pop rdx
lfence
jmp rdx
ud2
else
DB 0F3h,0C3h
endif
$L$SEH_end_lshift_mod_384::
lshift_mod_384 ENDP
ALIGN 32
__lshift_mod_384 PROC PRIVATE
DB 243,15,30,250
add r8,r8
adc r9,r9
adc r10,r10
mov r14,r8
adc r11,r11
mov r15,r9
adc r12,r12
mov rax,r10
adc r13,r13
mov rbx,r11
sbb rdx,rdx
sub r8,QWORD PTR[rcx]
sbb r9,QWORD PTR[8+rcx]
mov rbp,r12
sbb r10,QWORD PTR[16+rcx]
sbb r11,QWORD PTR[24+rcx]
sbb r12,QWORD PTR[32+rcx]
mov rsi,r13
sbb r13,QWORD PTR[40+rcx]
sbb rdx,0
cmovc r8,r14
cmovc r9,r15
cmovc r10,rax
cmovc r11,rbx
cmovc r12,rbp
cmovc r13,rsi
ifdef __SGX_LVI_HARDENING__
pop rdx
lfence
jmp rdx
ud2
else
DB 0F3h,0C3h
endif
__lshift_mod_384 ENDP
PUBLIC mul_by_3_mod_384
ALIGN 32
mul_by_3_mod_384 PROC PUBLIC
DB 243,15,30,250
mov QWORD PTR[8+rsp],rdi ;WIN64 prologue
mov QWORD PTR[16+rsp],rsi
mov r11,rsp
$L$SEH_begin_mul_by_3_mod_384::
push rbp
mov rdi,rcx
mov rsi,rdx
mov rdx,r8
push rbx
push r12
push r13
push r14
push r15
push rsi
$L$SEH_body_mul_by_3_mod_384::
ifdef __SGX_LVI_HARDENING__
lfence
endif
mov r8,QWORD PTR[rsi]
mov r9,QWORD PTR[8+rsi]
mov r10,QWORD PTR[16+rsi]
mov r11,QWORD PTR[24+rsi]
mov r12,QWORD PTR[32+rsi]
mov r13,QWORD PTR[40+rsi]
mov rcx,rdx
call __lshift_mod_384
mov rdx,QWORD PTR[rsp]
ifdef __SGX_LVI_HARDENING__
lfence
endif
call __add_mod_384_a_is_loaded
mov r15,QWORD PTR[8+rsp]
mov r14,QWORD PTR[16+rsp]
mov r13,QWORD PTR[24+rsp]
mov r12,QWORD PTR[32+rsp]
mov rbx,QWORD PTR[40+rsp]
mov rbp,QWORD PTR[48+rsp]
lea rsp,QWORD PTR[56+rsp]
$L$SEH_epilogue_mul_by_3_mod_384::
mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue
mov rsi,QWORD PTR[16+rsp]
ifdef __SGX_LVI_HARDENING__
pop rdx
lfence
jmp rdx
ud2
else
DB 0F3h,0C3h
endif
$L$SEH_end_mul_by_3_mod_384::
mul_by_3_mod_384 ENDP
PUBLIC mul_by_8_mod_384
ALIGN 32
mul_by_8_mod_384 PROC PUBLIC
DB 243,15,30,250
mov QWORD PTR[8+rsp],rdi ;WIN64 prologue
mov QWORD PTR[16+rsp],rsi
mov r11,rsp
$L$SEH_begin_mul_by_8_mod_384::
push rbp
mov rdi,rcx
mov rsi,rdx
mov rdx,r8
push rbx
push r12
push r13
push r14
push r15
sub rsp,8
$L$SEH_body_mul_by_8_mod_384::
ifdef __SGX_LVI_HARDENING__
lfence
endif
mov r8,QWORD PTR[rsi]
mov r9,QWORD PTR[8+rsi]
mov r10,QWORD PTR[16+rsi]
mov r11,QWORD PTR[24+rsi]
mov r12,QWORD PTR[32+rsi]
mov r13,QWORD PTR[40+rsi]
mov rcx,rdx
call __lshift_mod_384
call __lshift_mod_384
call __lshift_mod_384
mov QWORD PTR[rdi],r8
mov QWORD PTR[8+rdi],r9
mov QWORD PTR[16+rdi],r10
mov QWORD PTR[24+rdi],r11
mov QWORD PTR[32+rdi],r12
mov QWORD PTR[40+rdi],r13
mov r15,QWORD PTR[8+rsp]
mov r14,QWORD PTR[16+rsp]
mov r13,QWORD PTR[24+rsp]
mov r12,QWORD PTR[32+rsp]
mov rbx,QWORD PTR[40+rsp]
mov rbp,QWORD PTR[48+rsp]
lea rsp,QWORD PTR[56+rsp]
$L$SEH_epilogue_mul_by_8_mod_384::
mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue
mov rsi,QWORD PTR[16+rsp]
ifdef __SGX_LVI_HARDENING__
pop rdx
lfence
jmp rdx
ud2
else
DB 0F3h,0C3h
endif
$L$SEH_end_mul_by_8_mod_384::
mul_by_8_mod_384 ENDP
PUBLIC mul_by_3_mod_384x
ALIGN 32
mul_by_3_mod_384x PROC PUBLIC
DB 243,15,30,250
mov QWORD PTR[8+rsp],rdi ;WIN64 prologue
mov QWORD PTR[16+rsp],rsi
mov r11,rsp
$L$SEH_begin_mul_by_3_mod_384x::
push rbp
mov rdi,rcx
mov rsi,rdx
mov rdx,r8
push rbx
push r12
push r13
push r14
push r15
push rsi
$L$SEH_body_mul_by_3_mod_384x::
ifdef __SGX_LVI_HARDENING__
lfence
endif
mov r8,QWORD PTR[rsi]
mov r9,QWORD PTR[8+rsi]
mov r10,QWORD PTR[16+rsi]
mov r11,QWORD PTR[24+rsi]
mov r12,QWORD PTR[32+rsi]
mov r13,QWORD PTR[40+rsi]
mov rcx,rdx
call __lshift_mod_384
mov rdx,QWORD PTR[rsp]
ifdef __SGX_LVI_HARDENING__
lfence
endif
call __add_mod_384_a_is_loaded
mov rsi,QWORD PTR[rsp]
lea rdi,QWORD PTR[48+rdi]
ifdef __SGX_LVI_HARDENING__
lfence
endif
mov r8,QWORD PTR[48+rsi]
mov r9,QWORD PTR[56+rsi]
mov r10,QWORD PTR[64+rsi]
mov r11,QWORD PTR[72+rsi]
mov r12,QWORD PTR[80+rsi]
mov r13,QWORD PTR[88+rsi]
call __lshift_mod_384
mov rdx,8*6
add rdx,QWORD PTR[rsp]
ifdef __SGX_LVI_HARDENING__
lfence
endif
call __add_mod_384_a_is_loaded
mov r15,QWORD PTR[8+rsp]
mov r14,QWORD PTR[16+rsp]
mov r13,QWORD PTR[24+rsp]
mov r12,QWORD PTR[32+rsp]
mov rbx,QWORD PTR[40+rsp]
mov rbp,QWORD PTR[48+rsp]
lea rsp,QWORD PTR[56+rsp]
$L$SEH_epilogue_mul_by_3_mod_384x::
mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue
mov rsi,QWORD PTR[16+rsp]
ifdef __SGX_LVI_HARDENING__
pop rdx
lfence
jmp rdx
ud2
else
DB 0F3h,0C3h
endif
$L$SEH_end_mul_by_3_mod_384x::
mul_by_3_mod_384x ENDP
PUBLIC mul_by_8_mod_384x
ALIGN 32
mul_by_8_mod_384x PROC PUBLIC
DB 243,15,30,250
mov QWORD PTR[8+rsp],rdi ;WIN64 prologue
mov QWORD PTR[16+rsp],rsi
mov r11,rsp
$L$SEH_begin_mul_by_8_mod_384x::
push rbp
mov rdi,rcx
mov rsi,rdx
mov rdx,r8
push rbx
push r12
push r13
push r14
push r15
push rsi
$L$SEH_body_mul_by_8_mod_384x::
ifdef __SGX_LVI_HARDENING__
lfence
endif
mov r8,QWORD PTR[rsi]
mov r9,QWORD PTR[8+rsi]
mov r10,QWORD PTR[16+rsi]
mov r11,QWORD PTR[24+rsi]
mov r12,QWORD PTR[32+rsi]
mov r13,QWORD PTR[40+rsi]
mov rcx,rdx
call __lshift_mod_384
call __lshift_mod_384
call __lshift_mod_384
mov rsi,QWORD PTR[rsp]
mov QWORD PTR[rdi],r8
mov QWORD PTR[8+rdi],r9
mov QWORD PTR[16+rdi],r10
mov QWORD PTR[24+rdi],r11
mov QWORD PTR[32+rdi],r12
mov QWORD PTR[40+rdi],r13
ifdef __SGX_LVI_HARDENING__
lfence
endif
mov r8,QWORD PTR[((48+0))+rsi]
mov r9,QWORD PTR[((48+8))+rsi]
mov r10,QWORD PTR[((48+16))+rsi]
mov r11,QWORD PTR[((48+24))+rsi]
mov r12,QWORD PTR[((48+32))+rsi]
mov r13,QWORD PTR[((48+40))+rsi]
call __lshift_mod_384
call __lshift_mod_384
call __lshift_mod_384
mov QWORD PTR[((48+0))+rdi],r8
mov QWORD PTR[((48+8))+rdi],r9
mov QWORD PTR[((48+16))+rdi],r10
mov QWORD PTR[((48+24))+rdi],r11
mov QWORD PTR[((48+32))+rdi],r12
mov QWORD PTR[((48+40))+rdi],r13
mov r15,QWORD PTR[8+rsp]
mov r14,QWORD PTR[16+rsp]
mov r13,QWORD PTR[24+rsp]
mov r12,QWORD PTR[32+rsp]
mov rbx,QWORD PTR[40+rsp]
mov rbp,QWORD PTR[48+rsp]
lea rsp,QWORD PTR[56+rsp]
$L$SEH_epilogue_mul_by_8_mod_384x::
mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue
mov rsi,QWORD PTR[16+rsp]
ifdef __SGX_LVI_HARDENING__
pop rdx
lfence
jmp rdx
ud2
else
DB 0F3h,0C3h
endif
$L$SEH_end_mul_by_8_mod_384x::
mul_by_8_mod_384x ENDP
PUBLIC cneg_mod_384
ALIGN 32
cneg_mod_384 PROC PUBLIC
DB 243,15,30,250
mov QWORD PTR[8+rsp],rdi ;WIN64 prologue
mov QWORD PTR[16+rsp],rsi
mov r11,rsp
$L$SEH_begin_cneg_mod_384::
push rbp
mov rdi,rcx
mov rsi,rdx
mov rdx,r8
mov rcx,r9
push rbx
push r12
push r13
push r14
push r15
push rdx
$L$SEH_body_cneg_mod_384::
ifdef __SGX_LVI_HARDENING__
lfence
endif
mov rdx,QWORD PTR[rsi]
mov r9,QWORD PTR[8+rsi]
mov r10,QWORD PTR[16+rsi]
mov r8,rdx
mov r11,QWORD PTR[24+rsi]
or rdx,r9
mov r12,QWORD PTR[32+rsi]
or rdx,r10
mov r13,QWORD PTR[40+rsi]
or rdx,r11
mov rsi,-1
or rdx,r12
or rdx,r13
mov r14,QWORD PTR[rcx]
cmovnz rdx,rsi
mov r15,QWORD PTR[8+rcx]
mov rax,QWORD PTR[16+rcx]
and r14,rdx
mov rbx,QWORD PTR[24+rcx]
and r15,rdx
mov rbp,QWORD PTR[32+rcx]
and rax,rdx
mov rsi,QWORD PTR[40+rcx]
and rbx,rdx
mov rcx,QWORD PTR[rsp]
and rbp,rdx
and rsi,rdx
sub r14,r8
sbb r15,r9
sbb rax,r10
sbb rbx,r11
sbb rbp,r12
sbb rsi,r13
or rcx,rcx
cmovz r14,r8
cmovz r15,r9
cmovz rax,r10
mov QWORD PTR[rdi],r14
cmovz rbx,r11
mov QWORD PTR[8+rdi],r15
cmovz rbp,r12
mov QWORD PTR[16+rdi],rax
cmovz rsi,r13
mov QWORD PTR[24+rdi],rbx
mov QWORD PTR[32+rdi],rbp
mov QWORD PTR[40+rdi],rsi
mov r15,QWORD PTR[8+rsp]
mov r14,QWORD PTR[16+rsp]
mov r13,QWORD PTR[24+rsp]
mov r12,QWORD PTR[32+rsp]
mov rbx,QWORD PTR[40+rsp]
mov rbp,QWORD PTR[48+rsp]
lea rsp,QWORD PTR[56+rsp]
$L$SEH_epilogue_cneg_mod_384::
mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue
mov rsi,QWORD PTR[16+rsp]
ifdef __SGX_LVI_HARDENING__
pop rdx
lfence
jmp rdx
ud2
else
DB 0F3h,0C3h
endif
$L$SEH_end_cneg_mod_384::
cneg_mod_384 ENDP
PUBLIC sub_mod_384
ALIGN 32
sub_mod_384 PROC PUBLIC
DB 243,15,30,250
mov QWORD PTR[8+rsp],rdi ;WIN64 prologue
mov QWORD PTR[16+rsp],rsi
mov r11,rsp
$L$SEH_begin_sub_mod_384::
push rbp
mov rdi,rcx
mov rsi,rdx
mov rdx,r8
mov rcx,r9
push rbx
push r12
push r13
push r14
push r15
sub rsp,8
$L$SEH_body_sub_mod_384::
call __sub_mod_384
mov r15,QWORD PTR[8+rsp]
mov r14,QWORD PTR[16+rsp]
mov r13,QWORD PTR[24+rsp]
mov r12,QWORD PTR[32+rsp]
mov rbx,QWORD PTR[40+rsp]
mov rbp,QWORD PTR[48+rsp]
lea rsp,QWORD PTR[56+rsp]
$L$SEH_epilogue_sub_mod_384::
mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue
mov rsi,QWORD PTR[16+rsp]
ifdef __SGX_LVI_HARDENING__
pop rdx
lfence
jmp rdx
ud2
else
DB 0F3h,0C3h
endif
$L$SEH_end_sub_mod_384::
sub_mod_384 ENDP
ALIGN 32
__sub_mod_384 PROC PRIVATE
DB 243,15,30,250
ifdef __SGX_LVI_HARDENING__
lfence
endif
mov r8,QWORD PTR[rsi]
mov r9,QWORD PTR[8+rsi]
mov r10,QWORD PTR[16+rsi]
mov r11,QWORD PTR[24+rsi]
mov r12,QWORD PTR[32+rsi]
mov r13,QWORD PTR[40+rsi]
sub r8,QWORD PTR[rdx]
mov r14,QWORD PTR[rcx]
sbb r9,QWORD PTR[8+rdx]
mov r15,QWORD PTR[8+rcx]
sbb r10,QWORD PTR[16+rdx]
mov rax,QWORD PTR[16+rcx]
sbb r11,QWORD PTR[24+rdx]
mov rbx,QWORD PTR[24+rcx]
sbb r12,QWORD PTR[32+rdx]
mov rbp,QWORD PTR[32+rcx]
sbb r13,QWORD PTR[40+rdx]
mov rsi,QWORD PTR[40+rcx]
sbb rdx,rdx
and r14,rdx
and r15,rdx
and rax,rdx
and rbx,rdx
and rbp,rdx
and rsi,rdx
add r8,r14
adc r9,r15
mov QWORD PTR[rdi],r8
adc r10,rax
mov QWORD PTR[8+rdi],r9
adc r11,rbx
mov QWORD PTR[16+rdi],r10
adc r12,rbp
mov QWORD PTR[24+rdi],r11
adc r13,rsi
mov QWORD PTR[32+rdi],r12
mov QWORD PTR[40+rdi],r13
ifdef __SGX_LVI_HARDENING__
pop rdx
lfence
jmp rdx
ud2
else
DB 0F3h,0C3h
endif
__sub_mod_384 ENDP
PUBLIC sub_mod_384x
ALIGN 32
sub_mod_384x PROC PUBLIC
DB 243,15,30,250
mov QWORD PTR[8+rsp],rdi ;WIN64 prologue
mov QWORD PTR[16+rsp],rsi
mov r11,rsp
$L$SEH_begin_sub_mod_384x::
push rbp
mov rdi,rcx
mov rsi,rdx
mov rdx,r8
mov rcx,r9
push rbx
push r12
push r13
push r14
push r15
sub rsp,24
$L$SEH_body_sub_mod_384x::
mov QWORD PTR[rsp],rsi
mov QWORD PTR[8+rsp],rdx
lea rsi,QWORD PTR[48+rsi]
lea rdx,QWORD PTR[48+rdx]
lea rdi,QWORD PTR[48+rdi]
call __sub_mod_384
mov rsi,QWORD PTR[rsp]
mov rdx,QWORD PTR[8+rsp]
lea rdi,QWORD PTR[((-48))+rdi]
call __sub_mod_384
mov r15,QWORD PTR[((24+0))+rsp]
mov r14,QWORD PTR[((24+8))+rsp]
mov r13,QWORD PTR[((24+16))+rsp]
mov r12,QWORD PTR[((24+24))+rsp]
mov rbx,QWORD PTR[((24+32))+rsp]
mov rbp,QWORD PTR[((24+40))+rsp]
lea rsp,QWORD PTR[((24+48))+rsp]
$L$SEH_epilogue_sub_mod_384x::
mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue
mov rsi,QWORD PTR[16+rsp]
ifdef __SGX_LVI_HARDENING__
pop rdx
lfence
jmp rdx
ud2
else
DB 0F3h,0C3h
endif
$L$SEH_end_sub_mod_384x::
sub_mod_384x ENDP
PUBLIC mul_by_1_plus_i_mod_384x
ALIGN 32
mul_by_1_plus_i_mod_384x PROC PUBLIC
DB 243,15,30,250
mov QWORD PTR[8+rsp],rdi ;WIN64 prologue
mov QWORD PTR[16+rsp],rsi
mov r11,rsp
$L$SEH_begin_mul_by_1_plus_i_mod_384x::
push rbp
mov rdi,rcx
mov rsi,rdx
mov rdx,r8
push rbx
push r12
push r13
push r14
push r15
sub rsp,56
$L$SEH_body_mul_by_1_plus_i_mod_384x::
ifdef __SGX_LVI_HARDENING__
lfence
endif
mov r8,QWORD PTR[rsi]
mov r9,QWORD PTR[8+rsi]
mov r10,QWORD PTR[16+rsi]
mov r11,QWORD PTR[24+rsi]
mov r12,QWORD PTR[32+rsi]
mov r13,QWORD PTR[40+rsi]
mov r14,r8
add r8,QWORD PTR[48+rsi]
mov r15,r9
adc r9,QWORD PTR[56+rsi]
mov rax,r10
adc r10,QWORD PTR[64+rsi]
mov rbx,r11
adc r11,QWORD PTR[72+rsi]
mov rcx,r12
adc r12,QWORD PTR[80+rsi]
mov rbp,r13
adc r13,QWORD PTR[88+rsi]
mov QWORD PTR[48+rsp],rdi
sbb rdi,rdi
sub r14,QWORD PTR[48+rsi]
sbb r15,QWORD PTR[56+rsi]
sbb rax,QWORD PTR[64+rsi]
sbb rbx,QWORD PTR[72+rsi]
sbb rcx,QWORD PTR[80+rsi]
sbb rbp,QWORD PTR[88+rsi]
sbb rsi,rsi
mov QWORD PTR[rsp],r8
mov r8,QWORD PTR[rdx]
mov QWORD PTR[8+rsp],r9
mov r9,QWORD PTR[8+rdx]
mov QWORD PTR[16+rsp],r10
mov r10,QWORD PTR[16+rdx]
mov QWORD PTR[24+rsp],r11
mov r11,QWORD PTR[24+rdx]
mov QWORD PTR[32+rsp],r12
and r8,rsi
mov r12,QWORD PTR[32+rdx]
mov QWORD PTR[40+rsp],r13
and r9,rsi
mov r13,QWORD PTR[40+rdx]
and r10,rsi
and r11,rsi
and r12,rsi
and r13,rsi
mov rsi,QWORD PTR[48+rsp]
add r14,r8
mov r8,QWORD PTR[rsp]
adc r15,r9
mov r9,QWORD PTR[8+rsp]
adc rax,r10
mov r10,QWORD PTR[16+rsp]
adc rbx,r11
mov r11,QWORD PTR[24+rsp]
adc rcx,r12
mov r12,QWORD PTR[32+rsp]
adc rbp,r13
mov r13,QWORD PTR[40+rsp]
mov QWORD PTR[rsi],r14
mov r14,r8
mov QWORD PTR[8+rsi],r15
mov QWORD PTR[16+rsi],rax
mov r15,r9
mov QWORD PTR[24+rsi],rbx
mov QWORD PTR[32+rsi],rcx
mov rax,r10
mov QWORD PTR[40+rsi],rbp
sub r8,QWORD PTR[rdx]
mov rbx,r11
sbb r9,QWORD PTR[8+rdx]
sbb r10,QWORD PTR[16+rdx]
mov rcx,r12
sbb r11,QWORD PTR[24+rdx]
sbb r12,QWORD PTR[32+rdx]
mov rbp,r13
sbb r13,QWORD PTR[40+rdx]
sbb rdi,0
cmovc r8,r14
cmovc r9,r15
cmovc r10,rax
mov QWORD PTR[48+rsi],r8
cmovc r11,rbx
mov QWORD PTR[56+rsi],r9
cmovc r12,rcx
mov QWORD PTR[64+rsi],r10
cmovc r13,rbp
mov QWORD PTR[72+rsi],r11
mov QWORD PTR[80+rsi],r12
mov QWORD PTR[88+rsi],r13
mov r15,QWORD PTR[((56+0))+rsp]
mov r14,QWORD PTR[((56+8))+rsp]
mov r13,QWORD PTR[((56+16))+rsp]
mov r12,QWORD PTR[((56+24))+rsp]
mov rbx,QWORD PTR[((56+32))+rsp]
mov rbp,QWORD PTR[((56+40))+rsp]
lea rsp,QWORD PTR[((56+48))+rsp]
$L$SEH_epilogue_mul_by_1_plus_i_mod_384x::
mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue
mov rsi,QWORD PTR[16+rsp]
ifdef __SGX_LVI_HARDENING__
pop rdx
lfence
jmp rdx
ud2
else
DB 0F3h,0C3h
endif
$L$SEH_end_mul_by_1_plus_i_mod_384x::
mul_by_1_plus_i_mod_384x ENDP
PUBLIC sgn0_pty_mod_384
ALIGN 32
sgn0_pty_mod_384 PROC PUBLIC
DB 243,15,30,250
mov QWORD PTR[8+rsp],rdi ;WIN64 prologue
mov QWORD PTR[16+rsp],rsi
mov r11,rsp
$L$SEH_begin_sgn0_pty_mod_384::
mov rdi,rcx
mov rsi,rdx
$L$SEH_body_sgn0_pty_mod_384::
ifdef __SGX_LVI_HARDENING__
lfence
endif
mov r8,QWORD PTR[rdi]
mov r9,QWORD PTR[8+rdi]
mov r10,QWORD PTR[16+rdi]
mov r11,QWORD PTR[24+rdi]
mov rcx,QWORD PTR[32+rdi]
mov rdx,QWORD PTR[40+rdi]
xor rax,rax
mov rdi,r8
add r8,r8
adc r9,r9
adc r10,r10
adc r11,r11
adc rcx,rcx
adc rdx,rdx
adc rax,0
sub r8,QWORD PTR[rsi]
sbb r9,QWORD PTR[8+rsi]
sbb r10,QWORD PTR[16+rsi]
sbb r11,QWORD PTR[24+rsi]
sbb rcx,QWORD PTR[32+rsi]
sbb rdx,QWORD PTR[40+rsi]
sbb rax,0
not rax
and rdi,1
and rax,2
or rax,rdi
$L$SEH_epilogue_sgn0_pty_mod_384::
mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue
mov rsi,QWORD PTR[16+rsp]
ifdef __SGX_LVI_HARDENING__
pop rdx
lfence
jmp rdx
ud2
else
DB 0F3h,0C3h
endif
$L$SEH_end_sgn0_pty_mod_384::
sgn0_pty_mod_384 ENDP
PUBLIC sgn0_pty_mod_384x
ALIGN 32
sgn0_pty_mod_384x PROC PUBLIC
DB 243,15,30,250
mov QWORD PTR[8+rsp],rdi ;WIN64 prologue
mov QWORD PTR[16+rsp],rsi
mov r11,rsp
$L$SEH_begin_sgn0_pty_mod_384x::
push rbp
mov rdi,rcx
mov rsi,rdx
push rbx
sub rsp,8
$L$SEH_body_sgn0_pty_mod_384x::
ifdef __SGX_LVI_HARDENING__
lfence
endif
mov r8,QWORD PTR[48+rdi]
mov r9,QWORD PTR[56+rdi]
mov r10,QWORD PTR[64+rdi]
mov r11,QWORD PTR[72+rdi]
mov rcx,QWORD PTR[80+rdi]
mov rdx,QWORD PTR[88+rdi]
mov rbx,r8
or r8,r9
or r8,r10
or r8,r11
or r8,rcx
or r8,rdx
lea rax,QWORD PTR[rdi]
xor rdi,rdi
mov rbp,rbx
add rbx,rbx
adc r9,r9
adc r10,r10
adc r11,r11
adc rcx,rcx
adc rdx,rdx
adc rdi,0
sub rbx,QWORD PTR[rsi]
sbb r9,QWORD PTR[8+rsi]
sbb r10,QWORD PTR[16+rsi]
sbb r11,QWORD PTR[24+rsi]
sbb rcx,QWORD PTR[32+rsi]
sbb rdx,QWORD PTR[40+rsi]
sbb rdi,0
mov QWORD PTR[rsp],r8
not rdi
and rbp,1
and rdi,2
or rdi,rbp
mov r8,QWORD PTR[rax]
mov r9,QWORD PTR[8+rax]
mov r10,QWORD PTR[16+rax]
mov r11,QWORD PTR[24+rax]
mov rcx,QWORD PTR[32+rax]
mov rdx,QWORD PTR[40+rax]
mov rbx,r8
or r8,r9
or r8,r10
or r8,r11
or r8,rcx
or r8,rdx
xor rax,rax
mov rbp,rbx
add rbx,rbx
adc r9,r9
adc r10,r10
adc r11,r11
adc rcx,rcx
adc rdx,rdx
adc rax,0
sub rbx,QWORD PTR[rsi]
sbb r9,QWORD PTR[8+rsi]
sbb r10,QWORD PTR[16+rsi]
sbb r11,QWORD PTR[24+rsi]
sbb rcx,QWORD PTR[32+rsi]
sbb rdx,QWORD PTR[40+rsi]
sbb rax,0
mov rbx,QWORD PTR[rsp]
not rax
test r8,r8
cmovz rbp,rdi
test rbx,rbx
cmovnz rax,rdi
and rbp,1
and rax,2
or rax,rbp
mov rbx,QWORD PTR[8+rsp]
mov rbp,QWORD PTR[16+rsp]
lea rsp,QWORD PTR[24+rsp]
$L$SEH_epilogue_sgn0_pty_mod_384x::
mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue
mov rsi,QWORD PTR[16+rsp]
ifdef __SGX_LVI_HARDENING__
pop rdx
lfence
jmp rdx
ud2
else
DB 0F3h,0C3h
endif
$L$SEH_end_sgn0_pty_mod_384x::
sgn0_pty_mod_384x ENDP
PUBLIC vec_select_32
ALIGN 32
vec_select_32 PROC PUBLIC
DB 243,15,30,250
movd xmm5,r9d
pxor xmm4,xmm4
pshufd xmm5,xmm5,0
ifdef __SGX_LVI_HARDENING__
lfence
endif
movdqu xmm0,XMMWORD PTR[rdx]
lea rdx,QWORD PTR[16+rdx]
pcmpeqd xmm5,xmm4
movdqu xmm1,XMMWORD PTR[r8]
lea r8,QWORD PTR[16+r8]
pcmpeqd xmm4,xmm5
lea rcx,QWORD PTR[16+rcx]
pand xmm0,xmm4
movdqu xmm2,XMMWORD PTR[((0+16-16))+rdx]
pand xmm1,xmm5
movdqu xmm3,XMMWORD PTR[((0+16-16))+r8]
por xmm0,xmm1
movdqu XMMWORD PTR[(0-16)+rcx],xmm0
pand xmm2,xmm4
pand xmm3,xmm5
por xmm2,xmm3
movdqu XMMWORD PTR[(16-16)+rcx],xmm2
ifdef __SGX_LVI_HARDENING__
pop rdx
lfence
jmp rdx
ud2
else
DB 0F3h,0C3h
endif
vec_select_32 ENDP
PUBLIC vec_select_48
ALIGN 32
vec_select_48 PROC PUBLIC
DB 243,15,30,250
movd xmm5,r9d
pxor xmm4,xmm4
pshufd xmm5,xmm5,0
ifdef __SGX_LVI_HARDENING__
lfence
endif
movdqu xmm0,XMMWORD PTR[rdx]
lea rdx,QWORD PTR[24+rdx]
pcmpeqd xmm5,xmm4
movdqu xmm1,XMMWORD PTR[r8]
lea r8,QWORD PTR[24+r8]
pcmpeqd xmm4,xmm5
lea rcx,QWORD PTR[24+rcx]
pand xmm0,xmm4
movdqu xmm2,XMMWORD PTR[((0+16-24))+rdx]
pand xmm1,xmm5
movdqu xmm3,XMMWORD PTR[((0+16-24))+r8]
por xmm0,xmm1
movdqu XMMWORD PTR[(0-24)+rcx],xmm0
pand xmm2,xmm4
movdqu xmm0,XMMWORD PTR[((16+16-24))+rdx]
pand xmm3,xmm5
movdqu xmm1,XMMWORD PTR[((16+16-24))+r8]
por xmm2,xmm3
movdqu XMMWORD PTR[(16-24)+rcx],xmm2
pand xmm0,xmm4
pand xmm1,xmm5
por xmm0,xmm1
movdqu XMMWORD PTR[(32-24)+rcx],xmm0
ifdef __SGX_LVI_HARDENING__
pop rdx
lfence
jmp rdx
ud2
else
DB 0F3h,0C3h
endif
vec_select_48 ENDP
PUBLIC vec_select_96
ALIGN 32
vec_select_96 PROC PUBLIC
DB 243,15,30,250
movd xmm5,r9d
pxor xmm4,xmm4
pshufd xmm5,xmm5,0
ifdef __SGX_LVI_HARDENING__
lfence
endif
movdqu xmm0,XMMWORD PTR[rdx]
lea rdx,QWORD PTR[48+rdx]
pcmpeqd xmm5,xmm4
movdqu xmm1,XMMWORD PTR[r8]
lea r8,QWORD PTR[48+r8]
pcmpeqd xmm4,xmm5
lea rcx,QWORD PTR[48+rcx]
pand xmm0,xmm4
movdqu xmm2,XMMWORD PTR[((0+16-48))+rdx]
pand xmm1,xmm5
movdqu xmm3,XMMWORD PTR[((0+16-48))+r8]
por xmm0,xmm1
movdqu XMMWORD PTR[(0-48)+rcx],xmm0
pand xmm2,xmm4
movdqu xmm0,XMMWORD PTR[((16+16-48))+rdx]
pand xmm3,xmm5
movdqu xmm1,XMMWORD PTR[((16+16-48))+r8]
por xmm2,xmm3
movdqu XMMWORD PTR[(16-48)+rcx],xmm2
pand xmm0,xmm4
movdqu xmm2,XMMWORD PTR[((32+16-48))+rdx]
pand xmm1,xmm5
movdqu xmm3,XMMWORD PTR[((32+16-48))+r8]
por xmm0,xmm1
movdqu XMMWORD PTR[(32-48)+rcx],xmm0
pand xmm2,xmm4
movdqu xmm0,XMMWORD PTR[((48+16-48))+rdx]
pand xmm3,xmm5
movdqu xmm1,XMMWORD PTR[((48+16-48))+r8]
por xmm2,xmm3
movdqu XMMWORD PTR[(48-48)+rcx],xmm2
pand xmm0,xmm4
movdqu xmm2,XMMWORD PTR[((64+16-48))+rdx]
pand xmm1,xmm5
movdqu xmm3,XMMWORD PTR[((64+16-48))+r8]
por xmm0,xmm1
movdqu XMMWORD PTR[(64-48)+rcx],xmm0
pand xmm2,xmm4
pand xmm3,xmm5
por xmm2,xmm3
movdqu XMMWORD PTR[(80-48)+rcx],xmm2
ifdef __SGX_LVI_HARDENING__
pop rdx
lfence
jmp rdx
ud2
else
DB 0F3h,0C3h
endif
vec_select_96 ENDP
PUBLIC vec_select_192
ALIGN 32
vec_select_192 PROC PUBLIC
DB 243,15,30,250
movd xmm5,r9d
pxor xmm4,xmm4
pshufd xmm5,xmm5,0
ifdef __SGX_LVI_HARDENING__
lfence
endif
movdqu xmm0,XMMWORD PTR[rdx]
lea rdx,QWORD PTR[96+rdx]
pcmpeqd xmm5,xmm4
movdqu xmm1,XMMWORD PTR[r8]
lea r8,QWORD PTR[96+r8]
pcmpeqd xmm4,xmm5
lea rcx,QWORD PTR[96+rcx]
pand xmm0,xmm4
movdqu xmm2,XMMWORD PTR[((0+16-96))+rdx]
pand xmm1,xmm5
movdqu xmm3,XMMWORD PTR[((0+16-96))+r8]
por xmm0,xmm1
movdqu XMMWORD PTR[(0-96)+rcx],xmm0
pand xmm2,xmm4
movdqu xmm0,XMMWORD PTR[((16+16-96))+rdx]
pand xmm3,xmm5
movdqu xmm1,XMMWORD PTR[((16+16-96))+r8]
por xmm2,xmm3
movdqu XMMWORD PTR[(16-96)+rcx],xmm2
pand xmm0,xmm4
movdqu xmm2,XMMWORD PTR[((32+16-96))+rdx]
pand xmm1,xmm5
movdqu xmm3,XMMWORD PTR[((32+16-96))+r8]
por xmm0,xmm1
movdqu XMMWORD PTR[(32-96)+rcx],xmm0
pand xmm2,xmm4
movdqu xmm0,XMMWORD PTR[((48+16-96))+rdx]
pand xmm3,xmm5
movdqu xmm1,XMMWORD PTR[((48+16-96))+r8]
por xmm2,xmm3
movdqu XMMWORD PTR[(48-96)+rcx],xmm2
pand xmm0,xmm4
movdqu xmm2,XMMWORD PTR[((64+16-96))+rdx]
pand xmm1,xmm5
movdqu xmm3,XMMWORD PTR[((64+16-96))+r8]
por xmm0,xmm1
movdqu XMMWORD PTR[(64-96)+rcx],xmm0
pand xmm2,xmm4
movdqu xmm0,XMMWORD PTR[((80+16-96))+rdx]
pand xmm3,xmm5
movdqu xmm1,XMMWORD PTR[((80+16-96))+r8]
por xmm2,xmm3
movdqu XMMWORD PTR[(80-96)+rcx],xmm2
pand xmm0,xmm4
movdqu xmm2,XMMWORD PTR[((96+16-96))+rdx]
pand xmm1,xmm5
movdqu xmm3,XMMWORD PTR[((96+16-96))+r8]
por xmm0,xmm1
movdqu XMMWORD PTR[(96-96)+rcx],xmm0
pand xmm2,xmm4
movdqu xmm0,XMMWORD PTR[((112+16-96))+rdx]
pand xmm3,xmm5
movdqu xmm1,XMMWORD PTR[((112+16-96))+r8]
por xmm2,xmm3
movdqu XMMWORD PTR[(112-96)+rcx],xmm2
pand xmm0,xmm4
movdqu xmm2,XMMWORD PTR[((128+16-96))+rdx]
pand xmm1,xmm5
movdqu xmm3,XMMWORD PTR[((128+16-96))+r8]
por xmm0,xmm1
movdqu XMMWORD PTR[(128-96)+rcx],xmm0
pand xmm2,xmm4
movdqu xmm0,XMMWORD PTR[((144+16-96))+rdx]
pand xmm3,xmm5
movdqu xmm1,XMMWORD PTR[((144+16-96))+r8]
por xmm2,xmm3
movdqu XMMWORD PTR[(144-96)+rcx],xmm2
pand xmm0,xmm4
movdqu xmm2,XMMWORD PTR[((160+16-96))+rdx]
pand xmm1,xmm5
movdqu xmm3,XMMWORD PTR[((160+16-96))+r8]
por xmm0,xmm1
movdqu XMMWORD PTR[(160-96)+rcx],xmm0
pand xmm2,xmm4
pand xmm3,xmm5
por xmm2,xmm3
movdqu XMMWORD PTR[(176-96)+rcx],xmm2
ifdef __SGX_LVI_HARDENING__
pop rdx
lfence
jmp rdx
ud2
else
DB 0F3h,0C3h
endif
vec_select_192 ENDP
PUBLIC vec_select_144
ALIGN 32
vec_select_144 PROC PUBLIC
DB 243,15,30,250
movd xmm5,r9d
pxor xmm4,xmm4
pshufd xmm5,xmm5,0
ifdef __SGX_LVI_HARDENING__
lfence
endif
movdqu xmm0,XMMWORD PTR[rdx]
lea rdx,QWORD PTR[72+rdx]
pcmpeqd xmm5,xmm4
movdqu xmm1,XMMWORD PTR[r8]
lea r8,QWORD PTR[72+r8]
pcmpeqd xmm4,xmm5
lea rcx,QWORD PTR[72+rcx]
pand xmm0,xmm4
movdqu xmm2,XMMWORD PTR[((0+16-72))+rdx]
pand xmm1,xmm5
movdqu xmm3,XMMWORD PTR[((0+16-72))+r8]
por xmm0,xmm1
movdqu XMMWORD PTR[(0-72)+rcx],xmm0
pand xmm2,xmm4
movdqu xmm0,XMMWORD PTR[((16+16-72))+rdx]
pand xmm3,xmm5
movdqu xmm1,XMMWORD PTR[((16+16-72))+r8]
por xmm2,xmm3
movdqu XMMWORD PTR[(16-72)+rcx],xmm2
pand xmm0,xmm4
movdqu xmm2,XMMWORD PTR[((32+16-72))+rdx]
pand xmm1,xmm5
movdqu xmm3,XMMWORD PTR[((32+16-72))+r8]
por xmm0,xmm1
movdqu XMMWORD PTR[(32-72)+rcx],xmm0
pand xmm2,xmm4
movdqu xmm0,XMMWORD PTR[((48+16-72))+rdx]
pand xmm3,xmm5
movdqu xmm1,XMMWORD PTR[((48+16-72))+r8]
por xmm2,xmm3
movdqu XMMWORD PTR[(48-72)+rcx],xmm2
pand xmm0,xmm4
movdqu xmm2,XMMWORD PTR[((64+16-72))+rdx]
pand xmm1,xmm5
movdqu xmm3,XMMWORD PTR[((64+16-72))+r8]
por xmm0,xmm1
movdqu XMMWORD PTR[(64-72)+rcx],xmm0
pand xmm2,xmm4
movdqu xmm0,XMMWORD PTR[((80+16-72))+rdx]
pand xmm3,xmm5
movdqu xmm1,XMMWORD PTR[((80+16-72))+r8]
por xmm2,xmm3
movdqu XMMWORD PTR[(80-72)+rcx],xmm2
pand xmm0,xmm4
movdqu xmm2,XMMWORD PTR[((96+16-72))+rdx]
pand xmm1,xmm5
movdqu xmm3,XMMWORD PTR[((96+16-72))+r8]
por xmm0,xmm1
movdqu XMMWORD PTR[(96-72)+rcx],xmm0
pand xmm2,xmm4
movdqu xmm0,XMMWORD PTR[((112+16-72))+rdx]
pand xmm3,xmm5
movdqu xmm1,XMMWORD PTR[((112+16-72))+r8]
por xmm2,xmm3
movdqu XMMWORD PTR[(112-72)+rcx],xmm2
pand xmm0,xmm4
pand xmm1,xmm5
por xmm0,xmm1
movdqu XMMWORD PTR[(128-72)+rcx],xmm0
ifdef __SGX_LVI_HARDENING__
pop rdx
lfence
jmp rdx
ud2
else
DB 0F3h,0C3h
endif
vec_select_144 ENDP
PUBLIC vec_select_288
ALIGN 32
vec_select_288 PROC PUBLIC
DB 243,15,30,250
movd xmm5,r9d
pxor xmm4,xmm4
pshufd xmm5,xmm5,0
ifdef __SGX_LVI_HARDENING__
lfence
endif
movdqu xmm0,XMMWORD PTR[rdx]
lea rdx,QWORD PTR[144+rdx]
pcmpeqd xmm5,xmm4
movdqu xmm1,XMMWORD PTR[r8]
lea r8,QWORD PTR[144+r8]
pcmpeqd xmm4,xmm5
lea rcx,QWORD PTR[144+rcx]
pand xmm0,xmm4
movdqu xmm2,XMMWORD PTR[((0+16-144))+rdx]
pand xmm1,xmm5
movdqu xmm3,XMMWORD PTR[((0+16-144))+r8]
por xmm0,xmm1
movdqu XMMWORD PTR[(0-144)+rcx],xmm0
pand xmm2,xmm4
movdqu xmm0,XMMWORD PTR[((16+16-144))+rdx]
pand xmm3,xmm5
movdqu xmm1,XMMWORD PTR[((16+16-144))+r8]
por xmm2,xmm3
movdqu XMMWORD PTR[(16-144)+rcx],xmm2
pand xmm0,xmm4
movdqu xmm2,XMMWORD PTR[((32+16-144))+rdx]
pand xmm1,xmm5
movdqu xmm3,XMMWORD PTR[((32+16-144))+r8]
por xmm0,xmm1
movdqu XMMWORD PTR[(32-144)+rcx],xmm0
pand xmm2,xmm4
movdqu xmm0,XMMWORD PTR[((48+16-144))+rdx]
pand xmm3,xmm5
movdqu xmm1,XMMWORD PTR[((48+16-144))+r8]
por xmm2,xmm3
movdqu XMMWORD PTR[(48-144)+rcx],xmm2
pand xmm0,xmm4
movdqu xmm2,XMMWORD PTR[((64+16-144))+rdx]
pand xmm1,xmm5
movdqu xmm3,XMMWORD PTR[((64+16-144))+r8]
por xmm0,xmm1
movdqu XMMWORD PTR[(64-144)+rcx],xmm0
pand xmm2,xmm4
movdqu xmm0,XMMWORD PTR[((80+16-144))+rdx]
pand xmm3,xmm5
movdqu xmm1,XMMWORD PTR[((80+16-144))+r8]
por xmm2,xmm3
movdqu XMMWORD PTR[(80-144)+rcx],xmm2
pand xmm0,xmm4
movdqu xmm2,XMMWORD PTR[((96+16-144))+rdx]
pand xmm1,xmm5
movdqu xmm3,XMMWORD PTR[((96+16-144))+r8]
por xmm0,xmm1
movdqu XMMWORD PTR[(96-144)+rcx],xmm0
pand xmm2,xmm4
movdqu xmm0,XMMWORD PTR[((112+16-144))+rdx]
pand xmm3,xmm5
movdqu xmm1,XMMWORD PTR[((112+16-144))+r8]
por xmm2,xmm3
movdqu XMMWORD PTR[(112-144)+rcx],xmm2
pand xmm0,xmm4
movdqu xmm2,XMMWORD PTR[((128+16-144))+rdx]
pand xmm1,xmm5
movdqu xmm3,XMMWORD PTR[((128+16-144))+r8]
por xmm0,xmm1
movdqu XMMWORD PTR[(128-144)+rcx],xmm0
pand xmm2,xmm4
movdqu xmm0,XMMWORD PTR[((144+16-144))+rdx]
pand xmm3,xmm5
movdqu xmm1,XMMWORD PTR[((144+16-144))+r8]
por xmm2,xmm3
movdqu XMMWORD PTR[(144-144)+rcx],xmm2
pand xmm0,xmm4
movdqu xmm2,XMMWORD PTR[((160+16-144))+rdx]
pand xmm1,xmm5
movdqu xmm3,XMMWORD PTR[((160+16-144))+r8]
por xmm0,xmm1
movdqu XMMWORD PTR[(160-144)+rcx],xmm0
pand xmm2,xmm4
movdqu xmm0,XMMWORD PTR[((176+16-144))+rdx]
pand xmm3,xmm5
movdqu xmm1,XMMWORD PTR[((176+16-144))+r8]
por xmm2,xmm3
movdqu XMMWORD PTR[(176-144)+rcx],xmm2
pand xmm0,xmm4
movdqu xmm2,XMMWORD PTR[((192+16-144))+rdx]
pand xmm1,xmm5
movdqu xmm3,XMMWORD PTR[((192+16-144))+r8]
por xmm0,xmm1
movdqu XMMWORD PTR[(192-144)+rcx],xmm0
pand xmm2,xmm4
movdqu xmm0,XMMWORD PTR[((208+16-144))+rdx]
pand xmm3,xmm5
movdqu xmm1,XMMWORD PTR[((208+16-144))+r8]
por xmm2,xmm3
movdqu XMMWORD PTR[(208-144)+rcx],xmm2
pand xmm0,xmm4
movdqu xmm2,XMMWORD PTR[((224+16-144))+rdx]
pand xmm1,xmm5
movdqu xmm3,XMMWORD PTR[((224+16-144))+r8]
por xmm0,xmm1
movdqu XMMWORD PTR[(224-144)+rcx],xmm0
pand xmm2,xmm4
movdqu xmm0,XMMWORD PTR[((240+16-144))+rdx]
pand xmm3,xmm5
movdqu xmm1,XMMWORD PTR[((240+16-144))+r8]
por xmm2,xmm3
movdqu XMMWORD PTR[(240-144)+rcx],xmm2
pand xmm0,xmm4
movdqu xmm2,XMMWORD PTR[((256+16-144))+rdx]
pand xmm1,xmm5
movdqu xmm3,XMMWORD PTR[((256+16-144))+r8]
por xmm0,xmm1
movdqu XMMWORD PTR[(256-144)+rcx],xmm0
pand xmm2,xmm4
pand xmm3,xmm5
por xmm2,xmm3
movdqu XMMWORD PTR[(272-144)+rcx],xmm2
ifdef __SGX_LVI_HARDENING__
pop rdx
lfence
jmp rdx
ud2
else
DB 0F3h,0C3h
endif
vec_select_288 ENDP
PUBLIC vec_prefetch
ALIGN 32
vec_prefetch PROC PUBLIC
DB 243,15,30,250
lea rdx,QWORD PTR[((-1))+rdx*1+rcx]
mov rax,64
xor r8,r8
ifdef __SGX_LVI_HARDENING__
lfence
endif
prefetchnta [rcx]
lea rcx,QWORD PTR[rax*1+rcx]
cmp rcx,rdx
cmova rcx,rdx
cmova rax,r8
prefetchnta [rcx]
lea rcx,QWORD PTR[rax*1+rcx]
cmp rcx,rdx
cmova rcx,rdx
cmova rax,r8
prefetchnta [rcx]
lea rcx,QWORD PTR[rax*1+rcx]
cmp rcx,rdx
cmova rcx,rdx
cmova rax,r8
prefetchnta [rcx]
lea rcx,QWORD PTR[rax*1+rcx]
cmp rcx,rdx
cmova rcx,rdx
cmova rax,r8
prefetchnta [rcx]
lea rcx,QWORD PTR[rax*1+rcx]
cmp rcx,rdx
cmova rcx,rdx
cmova rax,r8
prefetchnta [rcx]
lea rcx,QWORD PTR[rax*1+rcx]
cmp rcx,rdx
cmova rcx,rdx
prefetchnta [rcx]
ifdef __SGX_LVI_HARDENING__
pop rdx
lfence
jmp rdx
ud2
else
DB 0F3h,0C3h
endif
vec_prefetch ENDP
PUBLIC vec_is_zero_16x
ALIGN 32
vec_is_zero_16x PROC PUBLIC
DB 243,15,30,250
shr edx,4
ifdef __SGX_LVI_HARDENING__
lfence
endif
movdqu xmm0,XMMWORD PTR[rcx]
lea rcx,QWORD PTR[16+rcx]
$L$oop_is_zero::
dec edx
jz $L$oop_is_zero_done
movdqu xmm1,XMMWORD PTR[rcx]
lea rcx,QWORD PTR[16+rcx]
por xmm0,xmm1
jmp $L$oop_is_zero
$L$oop_is_zero_done::
pshufd xmm1,xmm0,04eh
por xmm0,xmm1
DB 102,72,15,126,192
inc edx
test rax,rax
cmovnz eax,edx
xor eax,1
ifdef __SGX_LVI_HARDENING__
pop rdx
lfence
jmp rdx
ud2
else
DB 0F3h,0C3h
endif
vec_is_zero_16x ENDP
PUBLIC vec_is_equal_16x
ALIGN 32
vec_is_equal_16x PROC PUBLIC
DB 243,15,30,250
shr r8d,4
ifdef __SGX_LVI_HARDENING__
lfence
endif
movdqu xmm0,XMMWORD PTR[rcx]
movdqu xmm1,XMMWORD PTR[rdx]
sub rdx,rcx
lea rcx,QWORD PTR[16+rcx]
pxor xmm0,xmm1
$L$oop_is_equal::
dec r8d
jz $L$oop_is_equal_done
movdqu xmm1,XMMWORD PTR[rcx]
movdqu xmm2,XMMWORD PTR[rdx*1+rcx]
lea rcx,QWORD PTR[16+rcx]
pxor xmm1,xmm2
por xmm0,xmm1
jmp $L$oop_is_equal
$L$oop_is_equal_done::
pshufd xmm1,xmm0,04eh
por xmm0,xmm1
DB 102,72,15,126,192
inc r8d
test rax,rax
cmovnz eax,r8d
xor eax,1
ifdef __SGX_LVI_HARDENING__
pop rdx
lfence
jmp rdx
ud2
else
DB 0F3h,0C3h
endif
vec_is_equal_16x ENDP
.text$ ENDS
.pdata SEGMENT READONLY ALIGN(4)
ALIGN 4
DD imagerel $L$SEH_begin_add_mod_384
DD imagerel $L$SEH_body_add_mod_384
DD imagerel $L$SEH_info_add_mod_384_prologue
DD imagerel $L$SEH_body_add_mod_384
DD imagerel $L$SEH_epilogue_add_mod_384
DD imagerel $L$SEH_info_add_mod_384_body
DD imagerel $L$SEH_epilogue_add_mod_384
DD imagerel $L$SEH_end_add_mod_384
DD imagerel $L$SEH_info_add_mod_384_epilogue
DD imagerel $L$SEH_begin_add_mod_384x
DD imagerel $L$SEH_body_add_mod_384x
DD imagerel $L$SEH_info_add_mod_384x_prologue
DD imagerel $L$SEH_body_add_mod_384x
DD imagerel $L$SEH_epilogue_add_mod_384x
DD imagerel $L$SEH_info_add_mod_384x_body
DD imagerel $L$SEH_epilogue_add_mod_384x
DD imagerel $L$SEH_end_add_mod_384x
DD imagerel $L$SEH_info_add_mod_384x_epilogue
DD imagerel $L$SEH_begin_rshift_mod_384
DD imagerel $L$SEH_body_rshift_mod_384
DD imagerel $L$SEH_info_rshift_mod_384_prologue
DD imagerel $L$SEH_body_rshift_mod_384
DD imagerel $L$SEH_epilogue_rshift_mod_384
DD imagerel $L$SEH_info_rshift_mod_384_body
DD imagerel $L$SEH_epilogue_rshift_mod_384
DD imagerel $L$SEH_end_rshift_mod_384
DD imagerel $L$SEH_info_rshift_mod_384_epilogue
DD imagerel $L$SEH_begin_div_by_2_mod_384
DD imagerel $L$SEH_body_div_by_2_mod_384
DD imagerel $L$SEH_info_div_by_2_mod_384_prologue
DD imagerel $L$SEH_body_div_by_2_mod_384
DD imagerel $L$SEH_epilogue_div_by_2_mod_384
DD imagerel $L$SEH_info_div_by_2_mod_384_body
DD imagerel $L$SEH_epilogue_div_by_2_mod_384
DD imagerel $L$SEH_end_div_by_2_mod_384
DD imagerel $L$SEH_info_div_by_2_mod_384_epilogue
DD imagerel $L$SEH_begin_lshift_mod_384
DD imagerel $L$SEH_body_lshift_mod_384
DD imagerel $L$SEH_info_lshift_mod_384_prologue
DD imagerel $L$SEH_body_lshift_mod_384
DD imagerel $L$SEH_epilogue_lshift_mod_384
DD imagerel $L$SEH_info_lshift_mod_384_body
DD imagerel $L$SEH_epilogue_lshift_mod_384
DD imagerel $L$SEH_end_lshift_mod_384
DD imagerel $L$SEH_info_lshift_mod_384_epilogue
DD imagerel $L$SEH_begin_mul_by_3_mod_384
DD imagerel $L$SEH_body_mul_by_3_mod_384
DD imagerel $L$SEH_info_mul_by_3_mod_384_prologue
DD imagerel $L$SEH_body_mul_by_3_mod_384
DD imagerel $L$SEH_epilogue_mul_by_3_mod_384
DD imagerel $L$SEH_info_mul_by_3_mod_384_body
DD imagerel $L$SEH_epilogue_mul_by_3_mod_384
DD imagerel $L$SEH_end_mul_by_3_mod_384
DD imagerel $L$SEH_info_mul_by_3_mod_384_epilogue
DD imagerel $L$SEH_begin_mul_by_8_mod_384
DD imagerel $L$SEH_body_mul_by_8_mod_384
DD imagerel $L$SEH_info_mul_by_8_mod_384_prologue
DD imagerel $L$SEH_body_mul_by_8_mod_384
DD imagerel $L$SEH_epilogue_mul_by_8_mod_384
DD imagerel $L$SEH_info_mul_by_8_mod_384_body
DD imagerel $L$SEH_epilogue_mul_by_8_mod_384
DD imagerel $L$SEH_end_mul_by_8_mod_384
DD imagerel $L$SEH_info_mul_by_8_mod_384_epilogue
DD imagerel $L$SEH_begin_mul_by_3_mod_384x
DD imagerel $L$SEH_body_mul_by_3_mod_384x
DD imagerel $L$SEH_info_mul_by_3_mod_384x_prologue
DD imagerel $L$SEH_body_mul_by_3_mod_384x
DD imagerel $L$SEH_epilogue_mul_by_3_mod_384x
DD imagerel $L$SEH_info_mul_by_3_mod_384x_body
DD imagerel $L$SEH_epilogue_mul_by_3_mod_384x
DD imagerel $L$SEH_end_mul_by_3_mod_384x
DD imagerel $L$SEH_info_mul_by_3_mod_384x_epilogue
DD imagerel $L$SEH_begin_mul_by_8_mod_384x
DD imagerel $L$SEH_body_mul_by_8_mod_384x
DD imagerel $L$SEH_info_mul_by_8_mod_384x_prologue
DD imagerel $L$SEH_body_mul_by_8_mod_384x
DD imagerel $L$SEH_epilogue_mul_by_8_mod_384x
DD imagerel $L$SEH_info_mul_by_8_mod_384x_body
DD imagerel $L$SEH_epilogue_mul_by_8_mod_384x
DD imagerel $L$SEH_end_mul_by_8_mod_384x
DD imagerel $L$SEH_info_mul_by_8_mod_384x_epilogue
DD imagerel $L$SEH_begin_cneg_mod_384
DD imagerel $L$SEH_body_cneg_mod_384
DD imagerel $L$SEH_info_cneg_mod_384_prologue
DD imagerel $L$SEH_body_cneg_mod_384
DD imagerel $L$SEH_epilogue_cneg_mod_384
DD imagerel $L$SEH_info_cneg_mod_384_body
DD imagerel $L$SEH_epilogue_cneg_mod_384
DD imagerel $L$SEH_end_cneg_mod_384
DD imagerel $L$SEH_info_cneg_mod_384_epilogue
DD imagerel $L$SEH_begin_sub_mod_384
DD imagerel $L$SEH_body_sub_mod_384
DD imagerel $L$SEH_info_sub_mod_384_prologue
DD imagerel $L$SEH_body_sub_mod_384
DD imagerel $L$SEH_epilogue_sub_mod_384
DD imagerel $L$SEH_info_sub_mod_384_body
DD imagerel $L$SEH_epilogue_sub_mod_384
DD imagerel $L$SEH_end_sub_mod_384
DD imagerel $L$SEH_info_sub_mod_384_epilogue
DD imagerel $L$SEH_begin_sub_mod_384x
DD imagerel $L$SEH_body_sub_mod_384x
DD imagerel $L$SEH_info_sub_mod_384x_prologue
DD imagerel $L$SEH_body_sub_mod_384x
DD imagerel $L$SEH_epilogue_sub_mod_384x
DD imagerel $L$SEH_info_sub_mod_384x_body
DD imagerel $L$SEH_epilogue_sub_mod_384x
DD imagerel $L$SEH_end_sub_mod_384x
DD imagerel $L$SEH_info_sub_mod_384x_epilogue
DD imagerel $L$SEH_begin_mul_by_1_plus_i_mod_384x
DD imagerel $L$SEH_body_mul_by_1_plus_i_mod_384x
DD imagerel $L$SEH_info_mul_by_1_plus_i_mod_384x_prologue
DD imagerel $L$SEH_body_mul_by_1_plus_i_mod_384x
DD imagerel $L$SEH_epilogue_mul_by_1_plus_i_mod_384x
DD imagerel $L$SEH_info_mul_by_1_plus_i_mod_384x_body
DD imagerel $L$SEH_epilogue_mul_by_1_plus_i_mod_384x
DD imagerel $L$SEH_end_mul_by_1_plus_i_mod_384x
DD imagerel $L$SEH_info_mul_by_1_plus_i_mod_384x_epilogue
DD imagerel $L$SEH_begin_sgn0_pty_mod_384
DD imagerel $L$SEH_body_sgn0_pty_mod_384
DD imagerel $L$SEH_info_sgn0_pty_mod_384_prologue
DD imagerel $L$SEH_body_sgn0_pty_mod_384
DD imagerel $L$SEH_epilogue_sgn0_pty_mod_384
DD imagerel $L$SEH_info_sgn0_pty_mod_384_body
DD imagerel $L$SEH_epilogue_sgn0_pty_mod_384
DD imagerel $L$SEH_end_sgn0_pty_mod_384
DD imagerel $L$SEH_info_sgn0_pty_mod_384_epilogue
DD imagerel $L$SEH_begin_sgn0_pty_mod_384x
DD imagerel $L$SEH_body_sgn0_pty_mod_384x
DD imagerel $L$SEH_info_sgn0_pty_mod_384x_prologue
DD imagerel $L$SEH_body_sgn0_pty_mod_384x
DD imagerel $L$SEH_epilogue_sgn0_pty_mod_384x
DD imagerel $L$SEH_info_sgn0_pty_mod_384x_body
DD imagerel $L$SEH_epilogue_sgn0_pty_mod_384x
DD imagerel $L$SEH_end_sgn0_pty_mod_384x
DD imagerel $L$SEH_info_sgn0_pty_mod_384x_epilogue
.pdata ENDS
.xdata SEGMENT READONLY ALIGN(8)
ALIGN 8
$L$SEH_info_add_mod_384_prologue::
DB 1,0,5,00bh
DB 0,074h,1,0
DB 0,064h,2,0
DB 0,0b3h
DB 0,0
DD 0,0
$L$SEH_info_add_mod_384_body::
DB 1,0,17,0
DB 000h,0f4h,001h,000h
DB 000h,0e4h,002h,000h
DB 000h,0d4h,003h,000h
DB 000h,0c4h,004h,000h
DB 000h,034h,005h,000h
DB 000h,054h,006h,000h
DB 000h,074h,008h,000h
DB 000h,064h,009h,000h
DB 000h,062h
DB 000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h
$L$SEH_info_add_mod_384_epilogue::
DB 1,0,4,0
DB 000h,074h,001h,000h
DB 000h,064h,002h,000h
DB 000h,000h,000h,000h
$L$SEH_info_add_mod_384x_prologue::
DB 1,0,5,00bh
DB 0,074h,1,0
DB 0,064h,2,0
DB 0,0b3h
DB 0,0
DD 0,0
$L$SEH_info_add_mod_384x_body::
DB 1,0,17,0
DB 000h,0f4h,003h,000h
DB 000h,0e4h,004h,000h
DB 000h,0d4h,005h,000h
DB 000h,0c4h,006h,000h
DB 000h,034h,007h,000h
DB 000h,054h,008h,000h
DB 000h,074h,00ah,000h
DB 000h,064h,00bh,000h
DB 000h,082h
DB 000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h
$L$SEH_info_add_mod_384x_epilogue::
DB 1,0,4,0
DB 000h,074h,001h,000h
DB 000h,064h,002h,000h
DB 000h,000h,000h,000h
$L$SEH_info_rshift_mod_384_prologue::
DB 1,0,5,00bh
DB 0,074h,1,0
DB 0,064h,2,0
DB 0,0b3h
DB 0,0
DD 0,0
$L$SEH_info_rshift_mod_384_body::
DB 1,0,17,0
DB 000h,0f4h,001h,000h
DB 000h,0e4h,002h,000h
DB 000h,0d4h,003h,000h
DB 000h,0c4h,004h,000h
DB 000h,034h,005h,000h
DB 000h,054h,006h,000h
DB 000h,074h,008h,000h
DB 000h,064h,009h,000h
DB 000h,062h
DB 000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h
$L$SEH_info_rshift_mod_384_epilogue::
DB 1,0,4,0
DB 000h,074h,001h,000h
DB 000h,064h,002h,000h
DB 000h,000h,000h,000h
$L$SEH_info_div_by_2_mod_384_prologue::
DB 1,0,5,00bh
DB 0,074h,1,0
DB 0,064h,2,0
DB 0,0b3h
DB 0,0
DD 0,0
$L$SEH_info_div_by_2_mod_384_body::
DB 1,0,17,0
DB 000h,0f4h,001h,000h
DB 000h,0e4h,002h,000h
DB 000h,0d4h,003h,000h
DB 000h,0c4h,004h,000h
DB 000h,034h,005h,000h
DB 000h,054h,006h,000h
DB 000h,074h,008h,000h
DB 000h,064h,009h,000h
DB 000h,062h
DB 000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h
$L$SEH_info_div_by_2_mod_384_epilogue::
DB 1,0,4,0
DB 000h,074h,001h,000h
DB 000h,064h,002h,000h
DB 000h,000h,000h,000h
$L$SEH_info_lshift_mod_384_prologue::
DB 1,0,5,00bh
DB 0,074h,1,0
DB 0,064h,2,0
DB 0,0b3h
DB 0,0
DD 0,0
$L$SEH_info_lshift_mod_384_body::
DB 1,0,17,0
DB 000h,0f4h,001h,000h
DB 000h,0e4h,002h,000h
DB 000h,0d4h,003h,000h
DB 000h,0c4h,004h,000h
DB 000h,034h,005h,000h
DB 000h,054h,006h,000h
DB 000h,074h,008h,000h
DB 000h,064h,009h,000h
DB 000h,062h
DB 000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h
$L$SEH_info_lshift_mod_384_epilogue::
DB 1,0,4,0
DB 000h,074h,001h,000h
DB 000h,064h,002h,000h
DB 000h,000h,000h,000h
$L$SEH_info_mul_by_3_mod_384_prologue::
DB 1,0,5,00bh
DB 0,074h,1,0
DB 0,064h,2,0
DB 0,0b3h
DB 0,0
DD 0,0
$L$SEH_info_mul_by_3_mod_384_body::
DB 1,0,17,0
DB 000h,0f4h,001h,000h
DB 000h,0e4h,002h,000h
DB 000h,0d4h,003h,000h
DB 000h,0c4h,004h,000h
DB 000h,034h,005h,000h
DB 000h,054h,006h,000h
DB 000h,074h,008h,000h
DB 000h,064h,009h,000h
DB 000h,062h
DB 000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h
$L$SEH_info_mul_by_3_mod_384_epilogue::
DB 1,0,4,0
DB 000h,074h,001h,000h
DB 000h,064h,002h,000h
DB 000h,000h,000h,000h
$L$SEH_info_mul_by_8_mod_384_prologue::
DB 1,0,5,00bh
DB 0,074h,1,0
DB 0,064h,2,0
DB 0,0b3h
DB 0,0
DD 0,0
$L$SEH_info_mul_by_8_mod_384_body::
DB 1,0,17,0
DB 000h,0f4h,001h,000h
DB 000h,0e4h,002h,000h
DB 000h,0d4h,003h,000h
DB 000h,0c4h,004h,000h
DB 000h,034h,005h,000h
DB 000h,054h,006h,000h
DB 000h,074h,008h,000h
DB 000h,064h,009h,000h
DB 000h,062h
DB 000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h
$L$SEH_info_mul_by_8_mod_384_epilogue::
DB 1,0,4,0
DB 000h,074h,001h,000h
DB 000h,064h,002h,000h
DB 000h,000h,000h,000h
$L$SEH_info_mul_by_3_mod_384x_prologue::
DB 1,0,5,00bh
DB 0,074h,1,0
DB 0,064h,2,0
DB 0,0b3h
DB 0,0
DD 0,0
$L$SEH_info_mul_by_3_mod_384x_body::
DB 1,0,17,0
DB 000h,0f4h,001h,000h
DB 000h,0e4h,002h,000h
DB 000h,0d4h,003h,000h
DB 000h,0c4h,004h,000h
DB 000h,034h,005h,000h
DB 000h,054h,006h,000h
DB 000h,074h,008h,000h
DB 000h,064h,009h,000h
DB 000h,062h
DB 000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h
$L$SEH_info_mul_by_3_mod_384x_epilogue::
DB 1,0,4,0
DB 000h,074h,001h,000h
DB 000h,064h,002h,000h
DB 000h,000h,000h,000h
$L$SEH_info_mul_by_8_mod_384x_prologue::
DB 1,0,5,00bh
DB 0,074h,1,0
DB 0,064h,2,0
DB 0,0b3h
DB 0,0
DD 0,0
$L$SEH_info_mul_by_8_mod_384x_body::
DB 1,0,17,0
DB 000h,0f4h,001h,000h
DB 000h,0e4h,002h,000h
DB 000h,0d4h,003h,000h
DB 000h,0c4h,004h,000h
DB 000h,034h,005h,000h
DB 000h,054h,006h,000h
DB 000h,074h,008h,000h
DB 000h,064h,009h,000h
DB 000h,062h
DB 000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h
$L$SEH_info_mul_by_8_mod_384x_epilogue::
DB 1,0,4,0
DB 000h,074h,001h,000h
DB 000h,064h,002h,000h
DB 000h,000h,000h,000h
$L$SEH_info_cneg_mod_384_prologue::
DB 1,0,5,00bh
DB 0,074h,1,0
DB 0,064h,2,0
DB 0,0b3h
DB 0,0
DD 0,0
$L$SEH_info_cneg_mod_384_body::
DB 1,0,17,0
DB 000h,0f4h,001h,000h
DB 000h,0e4h,002h,000h
DB 000h,0d4h,003h,000h
DB 000h,0c4h,004h,000h
DB 000h,034h,005h,000h
DB 000h,054h,006h,000h
DB 000h,074h,008h,000h
DB 000h,064h,009h,000h
DB 000h,062h
DB 000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h
$L$SEH_info_cneg_mod_384_epilogue::
DB 1,0,4,0
DB 000h,074h,001h,000h
DB 000h,064h,002h,000h
DB 000h,000h,000h,000h
$L$SEH_info_sub_mod_384_prologue::
DB 1,0,5,00bh
DB 0,074h,1,0
DB 0,064h,2,0
DB 0,0b3h
DB 0,0
DD 0,0
$L$SEH_info_sub_mod_384_body::
DB 1,0,17,0
DB 000h,0f4h,001h,000h
DB 000h,0e4h,002h,000h
DB 000h,0d4h,003h,000h
DB 000h,0c4h,004h,000h
DB 000h,034h,005h,000h
DB 000h,054h,006h,000h
DB 000h,074h,008h,000h
DB 000h,064h,009h,000h
DB 000h,062h
DB 000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h
$L$SEH_info_sub_mod_384_epilogue::
DB 1,0,4,0
DB 000h,074h,001h,000h
DB 000h,064h,002h,000h
DB 000h,000h,000h,000h
$L$SEH_info_sub_mod_384x_prologue::
DB 1,0,5,00bh
DB 0,074h,1,0
DB 0,064h,2,0
DB 0,0b3h
DB 0,0
DD 0,0
$L$SEH_info_sub_mod_384x_body::
DB 1,0,17,0
DB 000h,0f4h,003h,000h
DB 000h,0e4h,004h,000h
DB 000h,0d4h,005h,000h
DB 000h,0c4h,006h,000h
DB 000h,034h,007h,000h
DB 000h,054h,008h,000h
DB 000h,074h,00ah,000h
DB 000h,064h,00bh,000h
DB 000h,082h
DB 000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h
$L$SEH_info_sub_mod_384x_epilogue::
DB 1,0,4,0
DB 000h,074h,001h,000h
DB 000h,064h,002h,000h
DB 000h,000h,000h,000h
$L$SEH_info_mul_by_1_plus_i_mod_384x_prologue::
DB 1,0,5,00bh
DB 0,074h,1,0
DB 0,064h,2,0
DB 0,0b3h
DB 0,0
DD 0,0
$L$SEH_info_mul_by_1_plus_i_mod_384x_body::
DB 1,0,17,0
DB 000h,0f4h,007h,000h
DB 000h,0e4h,008h,000h
DB 000h,0d4h,009h,000h
DB 000h,0c4h,00ah,000h
DB 000h,034h,00bh,000h
DB 000h,054h,00ch,000h
DB 000h,074h,00eh,000h
DB 000h,064h,00fh,000h
DB 000h,0c2h
DB 000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h
$L$SEH_info_mul_by_1_plus_i_mod_384x_epilogue::
DB 1,0,4,0
DB 000h,074h,001h,000h
DB 000h,064h,002h,000h
DB 000h,000h,000h,000h
$L$SEH_info_sgn0_pty_mod_384_prologue::
DB 1,0,5,00bh
DB 0,074h,1,0
DB 0,064h,2,0
DB 0,0b3h
DB 0,0
DD 0,0
$L$SEH_info_sgn0_pty_mod_384_body::
DB 1,0,4,0
DB 000h,074h,001h,000h
DB 000h,064h,002h,000h
DB 000h,000h,000h,000h
$L$SEH_info_sgn0_pty_mod_384_epilogue::
DB 1,0,4,0
DB 000h,074h,001h,000h
DB 000h,064h,002h,000h
DB 000h,000h,000h,000h
$L$SEH_info_sgn0_pty_mod_384x_prologue::
DB 1,0,5,00bh
DB 0,074h,1,0
DB 0,064h,2,0
DB 0,0b3h
DB 0,0
DD 0,0
$L$SEH_info_sgn0_pty_mod_384x_body::
DB 1,0,9,0
DB 000h,034h,001h,000h
DB 000h,054h,002h,000h
DB 000h,074h,004h,000h
DB 000h,064h,005h,000h
DB 000h,022h
DB 000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h
$L$SEH_info_sgn0_pty_mod_384x_epilogue::
DB 1,0,4,0
DB 000h,074h,001h,000h
DB 000h,064h,002h,000h
DB 000h,000h,000h,000h
.xdata ENDS
END