Function at 0x18001c330
Capabilities:
Inspect section memory permissions

Disassembly:
endbr64
push rsi
push rdi
push rbx
sub rsp, 0x60
movaps xmmword [rsp + 0x50], xmm7
movaps xmmword [rsp + 0x40], xmm6
mov rax, qword [0x18039ff58]
xor rax, rsp
mov qword [rsp + 0x38], rax
movsd qword [rsp + 0x30], xmm0
pextrw eax, xmm0, 3
and eax, 0x7fff
sub eax, 0x3fba
cmp eax, 0x10e
ja 0x18001c549
unpcklpd xmm0, xmm0
movapd xmm1, xmmword [0x1801a4b60]
mulpd xmm1, xmm0
cvtsd2si edx, xmm1
movapd xmm2, xmmword [0x1801a4b70]
addpd xmm1, xmm2
movapd xmm3, xmmword [0x1801a4b80]
subpd xmm1, xmm2
movq xmm5, qword [0x1801a4b90]
add rdx, 0x72900
movapd xmm4, xmmword [0x1801a4ba0]
mulpd xmm3, xmm1
and rdx, 0x1f
mulsd xmm5, xmm1
mov rcx, rdx
mulpd xmm4, xmm1
shl rcx, 1
subpd xmm0, xmm3
mulpd xmm1, xmmword [0x1801a4bb0]
add rdx, rcx
shl rcx, 2
add rdx, rcx
addsd xmm5, xmm0
movapd xmm2, xmm0
subpd xmm0, xmm4
movq xmm6, qword [0x1801a4bc0]
shl rdx, 4
lea rax, [0x1801a4bd0]
andpd xmm5, xmmword [0x1801a61d0]
movapd xmm3, xmm0
add rax, rdx
subpd xmm2, xmm0
unpckhpd xmm0, xmm0
divsd xmm6, xmm5
subpd xmm2, xmm4
movapd xmm7, xmmword [rax + 0x10]
subsd xmm3, xmm5
mulpd xmm7, xmm0
subpd xmm2, xmm1
movapd xmm1, xmmword [rax + 0x30]
mulpd xmm1, xmm0
movapd xmm4, xmmword [rax + 0x60]
mulpd xmm4, xmm0
addsd xmm2, xmm3
movapd xmm3, xmm0
mulpd xmm0, xmm0
addpd xmm7, xmmword [rax]
addpd xmm1, xmmword [rax + 0x20]
mulpd xmm1, xmm0
addpd xmm4, xmmword [rax + 0x50]
addpd xmm7, xmm1
movapd xmm1, xmmword [rax + 0x70]
mulpd xmm1, xmm0
mulpd xmm0, xmm0
addpd xmm4, xmm1
movapd xmm1, xmmword [rax + 0x40]
mulpd xmm1, xmm0
addpd xmm7, xmm1
movapd xmm1, xmm3
mulpd xmm3, xmm0
mulsd xmm0, xmm0
mulpd xmm1, xmmword [rax + 0x90]
mulpd xmm4, xmm3
movq xmm3, xmm1
addpd xmm7, xmm4
movq xmm4, xmm1
mulsd xmm0, xmm7
unpckhpd xmm7, xmm7
addsd xmm0, xmm7
unpckhpd xmm1, xmm1
addsd xmm3, xmm1
subsd xmm4, xmm3
addsd xmm1, xmm4
movq xmm4, xmm2
movq xmm7, qword [rax + 0x90]
unpckhpd xmm2, xmm2
addsd xmm7, qword [rax + 0x98]
mulsd xmm7, xmm2
addsd xmm7, qword [rax + 0x88]
addsd xmm7, xmm1
addsd xmm0, xmm7
movq xmm7, qword [0x1801a4bc0]
mulsd xmm4, xmm6
movq xmm2, qword [rax + 0xa8]
andpd xmm2, xmm6
mulsd xmm5, xmm2
mulsd xmm6, qword [rax + 0xa0]
subsd xmm7, xmm5
subsd xmm2, qword [rax + 0x80]
subsd xmm7, xmm4
mulsd xmm7, xmm6
movq xmm4, xmm3
subsd xmm3, xmm2
addsd xmm2, xmm3
subsd xmm4, xmm2
addsd xmm0, xmm4
subsd xmm0, xmm7
addsd xmm0, xmm3
jmp 0x18001cb2e
jg 0x18001c5ee
pextrw eax, xmm0, 3
mov edx, eax
and eax, 0x7ff0
je 0x18001c5e1
and edx, 0x7fff
cmp edx, 0x3e20
jb 0x18001c5c4
movq xmm2, xmm0
movq xmm3, xmm0
movq xmm1, qword [0x1801a61e0]
mulsd xmm2, xmm0
mulsd xmm3, xmm2
mulsd xmm1, xmm2
addsd xmm1, qword [0x1801a61f0]
mulsd xmm1, xmm2
addsd xmm1, qword [0x1801a6200]
mulsd xmm1, xmm2
addsd xmm1, qword [0x1801a6210]
mulsd xmm1, xmm2
addsd xmm1, qword [0x1801a6220]
mulsd xmm1, xmm3
addsd xmm0, xmm1
jmp 0x18001cb2e
movq xmm3, qword [0x1801a6228]
mulsd xmm3, xmm0
addsd xmm0, xmm3
mulsd xmm0, qword [0x1801a6230]
jmp 0x18001cb2e
movq xmm1, xmm0
mulsd xmm1, xmm1
jmp 0x18001cb2e
pextrw eax, xmm0, 3
and eax, 0x7ff0
cmp eax, 0x7ff0
je 0x18001cb1a
pextrw ecx, xmm0, 3
and ecx, 0x7ff0
sub ecx, 0x3f60
shr ecx, 7
and ecx, 0xfffc
lea r11, [0x1801a6240]
add rcx, r11
movq rax, xmm0
mov r10d, dword [rcx + 0x14]
mov r8d, dword [rcx + 0x18]
mov edx, eax
shr rax, 0x15
or eax, 0x80000000
shr eax, 0xb
mov r9d, r10d
imul r10, rdx
imul r9, rax
imul r8, rax
mov esi, dword [rcx + 0x10]
mov edi, dword [rcx + 0xc]
mov r11d, r10d
shr r10, 0x20
add r9, r10
add r11, r8
mov r8d, r11d
shr r11, 0x20
add r9, r11
mov r10d, esi
imul rsi, rdx
imul r10, rax
mov r11d, edi
imul rdi, rdx
mov ebx, esi
shr rsi, 0x20
add r9, rbx
mov ebx, r9d
shr r9, 0x20
add r10, rsi
add r10, r9
shl rbx, 0x20
or r8, rbx
imul r11, rax
mov r9d, dword [rcx + 8]
mov esi, dword [rcx + 4]
mov ebx, edi
shr rdi, 0x20
add r10, rbx
mov ebx, r10d
shr r10, 0x20
add r11, rdi
add r11, r10
mov rdi, r9
imul r9, rdx
imul rdi, rax
mov r10d, r9d
shr r9, 0x20
add r11, r10
mov r10d, r11d
shr r11, 0x20
add rdi, r9
add rdi, r11
mov r9, rsi
imul rsi, rdx
imul r9, rax
shl r10, 0x20
or r10, rbx
mov eax, dword [rcx]
mov r11d, esi
shr rsi, 0x20
add rdi, r11
mov r11d, edi
shr rdi, 0x20
add r9, rsi
add r9, rdi
imul rdx, rax
pextrw ebx, xmm0, 3
lea rdi, [0x1801a6240]
sub rcx, rdi
add ecx, ecx
add ecx, ecx
add ecx, ecx
add ecx, 0x13
mov esi, 0x8000
and esi, ebx
shr ebx, 4
and ebx, 0x7ff
sub ebx, 0x3ff
sub ecx, ebx
add r9, rdx
mov edx, ecx
add edx, 0x20
cmp ecx, 0
jl 0x18001ca68
neg ecx
add ecx, 0x1d
shl r9d, cl
mov edi, r9d
and r9d, 0x3fffffff
test r9d, 0x20000000
jne 0x18001ca91
shr r9d, cl
mov ebx, 0
shl r9, 0x20
or r9, r11
cmp r9, 0
je 0x18001ca13
bsr r11, r9
mov ecx, 0x1d
sub ecx, r11d
jle 0x18001ca45
shl r9, cl
mov rax, r10
shl r10, cl
add edx, ecx
neg ecx
add ecx, 0x40
shr rax, cl
shr r8, cl
or r9, rax
or r10, r8
cvtsi2sd xmm0, r9
shr r10, 1
cvtsi2sd xmm3, r10
xorpd xmm4, xmm4
shl edx, 4
neg edx
add edx, 0x3ff0
or edx, esi
xor edx, ebx
pinsrw xmm4, edx, 3
movq xmm2, qword [0x1801a62f0]
movq xmm7, qword [0x1801a62f8]
xorpd xmm5, xmm5
sub edx, 0x3f0
pinsrw xmm5, edx, 3
mulsd xmm0, xmm4
shl esi, 0x10
sar esi, 0x1f
mulsd xmm3, xmm5
movq xmm1, xmm0
mulsd xmm0, xmm2
shr edi, 0x1e
addsd xmm1, xmm3
mulsd xmm3, xmm2
add edi, esi
xor edi, esi
mulsd xmm7, xmm1
mov eax, edi
addsd xmm7, xmm3
movq xmm2, xmm0
addsd xmm0, xmm7
subsd xmm2, xmm0
addsd xmm7, xmm2
movapd xmm1, xmmword [0x1801a4b60]
unpcklpd xmm0, xmm0
mulpd xmm1, xmm0
unpcklpd xmm7, xmm7
cvtsd2si edx, xmm1
movapd xmm2, xmmword [0x1801a4b70]
addpd xmm1, xmm2
movapd xmm3, xmmword [0x1801a4b80]
subpd xmm1, xmm2
movq xmm5, qword [0x1801a4b90]
shl eax, 4
add edx, 0x72900
movapd xmm4, xmmword [0x1801a4ba0]
mulpd xmm3, xmm1
add edx, eax
and edx, 0x1f
mulsd xmm5, xmm1
mov ecx, edx
mulpd xmm4, xmm1
shl ecx, 1
subpd xmm0, xmm3
mulpd xmm1, xmmword [0x1801a4bb0]
add edx, ecx
shl ecx, 2
add edx, ecx
addsd xmm5, xmm0
movapd xmm2, xmm0
subpd xmm0, xmm4
movq xmm6, qword [0x1801a4bc0]
shl edx, 4
lea rax, [0x1801a4bd0]
andpd xmm5, xmmword [0x1801a61d0]
movapd xmm3, xmm0
add rax, rdx
subpd xmm2, xmm0
unpckhpd xmm0, xmm0
divsd xmm6, xmm5
subpd xmm2, xmm4
subsd xmm3, xmm5
subpd xmm2, xmm1
movapd xmm1, xmmword [rax + 0x30]
addpd xmm2, xmm7
movapd xmm7, xmmword [rax + 0x10]
mulpd xmm7, xmm0
movapd xmm4, xmmword [rax + 0x60]
mulpd xmm1, xmm0
mulpd xmm4, xmm0
addsd xmm2, xmm3
movapd xmm3, xmm0
mulpd xmm0, xmm0
addpd xmm7, xmmword [rax]
addpd xmm1, xmmword [rax + 0x20]
mulpd xmm1, xmm0
addpd xmm4, xmmword [rax + 0x50]
addpd xmm7, xmm1
movapd xmm1, xmmword [rax + 0x70]
mulpd xmm1, xmm0
mulpd xmm0, xmm0
addpd xmm4, xmm1
movapd xmm1, xmmword [rax + 0x40]
mulpd xmm1, xmm0
addpd xmm7, xmm1
movapd xmm1, xmm3
mulpd xmm3, xmm0
mulsd xmm0, xmm0
mulpd xmm1, xmmword [rax + 0x90]
mulpd xmm4, xmm3
movq xmm3, xmm1
addpd xmm7, xmm4
movq xmm4, xmm1
mulsd xmm0, xmm7
unpckhpd xmm7, xmm7
addsd xmm0, xmm7
unpckhpd xmm1, xmm1
addsd xmm3, xmm1
subsd xmm4, xmm3
addsd xmm1, xmm4
movq xmm4, xmm2
movq xmm7, qword [rax + 0x90]
unpckhpd xmm2, xmm2
addsd xmm7, qword [rax + 0x98]
mulsd xmm7, xmm2
addsd xmm7, qword [rax + 0x88]
addsd xmm7, xmm1
addsd xmm0, xmm7
movq xmm7, qword [0x1801a4bc0]
mulsd xmm4, xmm6
movq xmm2, qword [rax + 0xa8]
andpd xmm2, xmm6
mulsd xmm5, xmm2
mulsd xmm6, qword [rax + 0xa0]
subsd xmm7, xmm5
subsd xmm2, qword [rax + 0x80]
subsd xmm7, xmm4
mulsd xmm7, xmm6
movq xmm4, xmm3
subsd xmm3, xmm2
addsd xmm2, xmm3
subsd xmm4, xmm2
addsd xmm0, xmm4
subsd xmm0, xmm7
addsd xmm0, xmm3
jmp 0x18001cb2e
add edx, 0x40
mov r9, r10
mov r10, r8
mov r8, 0
cmp r9, 0
jne 0x18001c788
add edx, 0x40
mov r9, r10
mov r10, r8
cmp r9, 0
jne 0x18001c788
jmp 0x18001c7b6
je 0x18001c7b6
neg ecx
shr r10, cl
mov rax, r9
shr r9, cl
sub edx, ecx
neg ecx
add ecx, 0x40
shl rax, cl
or r10, rax
jmp 0x18001c7b6
not ecx
shl r9, 0x20
or r9, r11
shl r9, cl
mov rdi, r9
test r9d, 0x80000000
jne 0x18001cad6
shr r9d, cl
mov ebx, 0
shr rdi, 2
jmp 0x18001c77e
shr r9d, cl
mov ebx, 0x40000000
shr ebx, cl
shl r9, 0x20
or r9, r11
shl rbx, 0x20
add edi, 0x40000000
mov rcx, 0
mov r11, 0
sub rcx, r8
sbb r11, r10
sbb rbx, r9
mov r8, rcx
mov r10, r11
mov r9, rbx
mov ebx, 0x8000
jmp 0x18001c77e
shr r9d, cl
movabs rbx, 0x100000000
shr rbx, cl
mov rcx, 0
mov r11, 0
sub rcx, r8
sbb r11, r10
sbb rbx, r9
mov r8, rcx
mov r10, r11
mov r9, rbx
mov ebx, 0x8000
shr rdi, 2
add edi, 0x40000000
jmp 0x18001c77e
movq xmm0, qword [rsp + 0x30]
mulsd xmm0, qword [0x1801a6300]
movq qword [rsp + 0x28], xmm0
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.1801748d0
movaps xmm6, xmmword [rsp + 0x40]
movaps xmm7, xmmword [rsp + 0x50]
add rsp, 0x60
pop rbx
pop rdi
pop rsi
ret