Function at 0x1801a95c0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x50
mov rbx, rcx
mov rdi, rdx
mov rcx, rdx
call fcn.1801710c0
test eax, eax
je 0x1801a966d
xor eax, eax
movabs rcx, 0x3ff0000000000000
mov dword [rbx + 0x30], eax
mov qword [rbx], rax
mov qword [rbx + 8], rax
mov qword [rbx + 0x18], rax
mov dword [rbx + 0x10], 0x18
mov dword [rbx + 0x3c], eax
mov dword [rbx + 0x38], 3
mov dword [rbx + 0x34], 1
mov qword [rbx + 0x70], rcx
mov qword [rbx + 0x48], rax
mov qword [rbx + 0x50], rax
mov qword [rbx + 0x60], rax
mov qword [rbx + 0x68], rax
lea rax, [rbx + 0x20]
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbx + 0x40], rcx
mov qword [rbx + 0x58], rcx
movups xmm0, xmmword [0x1805897e8]
movups xmmword [rbx + 0x78], xmm0
movups xmm1, xmmword [0x1805897f8]
movups xmmword [rbx + 0x88], xmm1
movsd xmm0, qword [0x180589808]
movsd qword [rbx + 0x98], xmm0
mov rbx, qword [rsp + 0x60]
add rsp, 0x50
pop rdi
ret
cmp dword [rdi + 0x30], 2
jne 0x1801a987a
movsd xmm0, qword [rdi + 0xe8]
subsd xmm0, qword [rdi + 0xf8]
movsd xmm1, qword [0x1805bf490]
movsd xmm2, qword [0x1805beb70]
andps xmm0, xmm1
comisd xmm2, xmm0
jbe 0x1801a96cb
movsd xmm0, qword [rdi + 0xf0]
subsd xmm0, qword [rdi + 0x100]
andps xmm0, xmm1
comisd xmm2, xmm0
jbe 0x1801a96cb
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.1801708d0
jmp 0x1801a97f3
cmp dword [rdi + 0x38], 0
je 0x1801a987a
mov r10d, dword [rdi + 0x78]
mov r9d, 1
cmp r10d, r9d
jbe 0x1801a974b
mov r11, qword [rdi + 0x80]
lea r8, [r11 + 8]
nop
mov eax, r9d
lea rdx, [r11 + 8]
lea rcx, [rax + rax*2]
shl rcx, 4
add rdx, rcx
cmp r8, rdx
je 0x1801a9743
movzx eax, word [rdx + 0x26]
cmp word [r8 + 0x26], ax
jne 0x1801a987a
movzx eax, word [rdx + 0x20]
cmp word [r8 + 0x20], ax
jne 0x1801a987a
movzx eax, word [rdx + 0x22]
cmp word [r8 + 0x22], ax
jne 0x1801a987a
movzx eax, word [rdx + 0x24]
cmp word [r8 + 0x24], ax
jne 0x1801a987a
inc r9d
cmp r9d, r10d
jb 0x1801a96f0
mov rax, qword [rdi + 0x80]
movsd xmm4, qword [0x1805bee70]
movsd xmm5, qword [rax + 0x20]
movsd xmm1, qword [rax + 8]
movaps xmm0, xmm5
movsd xmm2, qword [rax + 0x10]
movsd xmm3, qword [rax + 0x18]
mulsd xmm0, xmm1
movsd qword [rsp + 0x38], xmm5
movsd qword [rsp + 0x20], xmm1
movsd qword [rsp + 0x28], xmm2
mulsd xmm0, xmm4
movsd qword [rsp + 0x30], xmm3
cvttsd2si rcx, xmm0
movaps xmm0, xmm5
mov eax, ecx
mulsd xmm0, xmm2
shr eax, 0x10
sub cx, ax
mov word [rsp + 0x40], cx
mulsd xmm0, xmm4
cvttsd2si rcx, xmm0
movaps xmm0, xmm5
mulsd xmm5, xmm4
mov eax, ecx
mulsd xmm0, xmm3
shr eax, 0x10
sub cx, ax
mov word [rsp + 0x42], cx
mulsd xmm0, xmm4
cvttsd2si rcx, xmm0
mov eax, ecx
shr eax, 0x10
sub cx, ax
mov word [rsp + 0x44], cx
cvttsd2si rcx, xmm5
mov eax, ecx
shr eax, 0x10
sub cx, ax
mov word [rsp + 0x46], cx
movups xmm0, xmmword [rsp + 0x20]
xor eax, eax
movabs rcx, 0x3ff0000000000000
movups xmm1, xmmword [rsp + 0x30]
mov dword [rbx + 0x30], eax
mov qword [rbx], rax
mov qword [rbx + 8], rax
mov qword [rbx + 0x18], rax
mov dword [rbx + 0x10], 0x18
mov dword [rbx + 0x3c], eax
mov dword [rbx + 0x38], 3
mov dword [rbx + 0x34], 1
mov qword [rbx + 0x70], rcx
mov qword [rbx + 0x48], rax
mov qword [rbx + 0x50], rax
mov qword [rbx + 0x60], rax
mov qword [rbx + 0x68], rax
lea rax, [rbx + 0x20]
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbx + 0x40], rcx
mov qword [rbx + 0x58], rcx
movups xmmword [rbx + 0x78], xmm0
movsd xmm0, qword [rsp + 0x40]
movups xmmword [rbx + 0x88], xmm1
movsd qword [rbx + 0x98], xmm0
mov rbx, qword [rsp + 0x60]
add rsp, 0x50
pop rdi
ret
mov rdx, rdi
mov rcx, rbx
mov rbx, qword [rsp + 0x60]
add rsp, 0x50
pop rdi
jmp fcn.18016f960