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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r14
push r15
lea rbp, [rax - 0x57]
sub rsp, 0xc0
movaps xmmword [rax - 0x28], xmm6
mov r15, r8
movaps xmmword [rax - 0x38], xmm7
mov rdi, rdx
movaps xmmword [rax - 0x48], xmm8
mov rbx, rcx
movaps xmmword [rax - 0x58], xmm9
movaps xmmword [rax - 0x68], xmm10
mov rax, qword [rdx]
mov qword [rcx + 0x10], rax
cmp byte [0x18010bbec], 0
je 0x1800165e6
cmp byte [0x18020a7e4], 0
jne 0x1800165e6
cmp byte [0x18020a7e5], 0
jne 0x1800165e6
mov r8b, 1
jmp 0x1800165e9
xor r8d, r8d
call fcn.1800172b0
movss xmm0, dword [0x1800f998c]
comiss xmm0, dword [rbx + 0x50]
movzx edx, al
mov byte [rbx + 0x40], dl
jb 0x18001660f
cmp byte [0x18010bbed], 0
je 0x18001660f
xor ecx, ecx
jmp 0x180016614
mov ecx, 1
mov dword [rbx + 8], ecx
xorps xmm10, xmm10
mov rax, qword [rdi + 0x38]
lea rcx, [rdx + rdx*2]
mov qword [rbp - 0x29], 0
mov dword [rbp - 0x21], 0
movsd xmm0, qword [rax + 0x24]
movsd qword [rbx + 0x18], xmm0
mov eax, dword [rax + 0x2c]
mov dword [rbx + 0x20], eax
mov rax, qword [rdi + 0x50]
movsd xmm0, qword [rax + 0x18]
movsd qword [rbx + 0x24], xmm0
mov rax, qword [rdi + 0x38]
movsd xmm0, qword [rax + rcx*4]
movsd qword [rbx + 0x2c], xmm0
mov eax, dword [rax + rcx*4 + 8]
mov dword [rbx + 0x34], eax
movsd xmm2, qword [rbx + 0x2c]
mov rax, qword [rdi + 0x50]
movss dword [rbp - 0x35], xmm2
movsd qword [rbp - 0x51], xmm2
movsd xmm0, qword [rax + rdx*8]
movsd qword [rbx + 0x38], xmm0
movss xmm0, dword [0x1802091c0]
movss xmm1, dword [0x1802091c4]
movss dword [rbp - 0x41], xmm0
movss xmm0, dword [0x1802091c8]
movss dword [rbp - 0x39], xmm0
movaps xmm0, xmm2
shufps xmm0, xmm0, 0x55
movss dword [rbp - 0x31], xmm0
movss xmm0, dword [rbx + 0x34]
movss dword [rbp - 0x2d], xmm0
movss dword [rbp - 0x3d], xmm1
call fcn.18002a640
mov r14, qword [0x18020a928]
mov rcx, rax
mov rsi, rax
call fcn.18004c7a0
test al, al
je 0x18001672e
mov rcx, r14
call fcn.18004c7a0
test al, al
je 0x18001672e
lea rcx, [rbp - 0x41]
call fcn.18004c7a0
test al, al
je 0x18001672e
mov rcx, qword [rsi]
call fcn.18004c7a0
test al, al
je 0x18001672e
mov rax, qword [rsi]
mov rcx, qword [0x18020ab48]
mov rcx, qword [rax + rcx*8]
call fcn.18004c7a0
test al, al
je 0x18001672e
mov r9, qword [rsi]
lea r8, [rbp - 0x41]
mov rax, qword [0x18020ab48]
mov rdx, r14
mov rcx, rsi
call qword [r9 + rax*8]
movsd xmm0, qword [r15 + 0xc]
lea rdx, [rbp - 0x61]
mov eax, dword [r15 + 0x14]
lea rcx, [rbp - 0x51]
movsd xmm9, qword [rbp - 0x29]
mov esi, dword [rbp - 0x21]
movsd qword [rbp - 0x61], xmm9
movsd qword [rbp - 0x51], xmm0
mov dword [rbp - 0x59], esi
mov dword [rbp - 0x49], eax
call fcn.1800642a0
movsd xmm1, qword [0x1800f9920]
movaps xmm7, xmm0
movss xmm0, dword [0x18020a7e8]
subss xmm0, dword [rbx + 0x3c]
movss dword [rbx + 0x4c], xmm7
cvtps2pd xmm0, xmm0
call fcn.1800d6ce0
movsd xmm1, qword [0x1800f9920]
movaps xmm8, xmm0
movss xmm0, dword [0x18020a7ec]
subss xmm0, dword [rbx + 0x38]
cvtps2pd xmm0, xmm0
call fcn.1800d6ce0
addsd xmm8, xmm0
xorps xmm1, xmm1
ucomisd xmm1, xmm8
ja 0x1800167be
xorps xmm0, xmm0
sqrtsd xmm0, xmm8
jmp 0x1800167c7
movaps xmm0, xmm8
call fcn.1800d9948
mulss xmm7, dword [0x1800f9998]
movss xmm3, dword [rbp + 0x7f]
ucomiss xmm3, xmm10
cvtsd2ss xmm0, xmm0
movss dword [rbx + 0x48], xmm0
movss xmm1, dword [rdi + 0x30]
addss xmm7, xmm1
movss dword [rbx + 0x50], xmm1
movss dword [rbx + 0x54], xmm7
movzx eax, byte [rdi + 0x35]
mov byte [rbx + 0x59], al
jp 0x180016803
je 0x180016b2b
mov rcx, rbx
call fcn.180016190
movss xmm7, dword [rbx + 0x94]
movss xmm2, dword [0x1800f98e0]
comiss xmm2, xmm7
jae 0x180016824
mulss xmm7, xmm3
movsd qword [rbx + 0x5c], xmm9
mov dword [rbx + 0x64], esi
movss xmm0, dword [rbx + 0x5c]
movss xmm1, dword [0x1802091d0]
movss xmm2, dword [rbx + 0x60]
subss xmm0, dword [0x1802091cc]
subss xmm2, xmm1
movss dword [rbx + 0x74], xmm0
movss dword [rbx + 0x78], xmm2
mov dword [rbx + 0x7c], 0
movsd xmm0, qword [rbx + 0x74]
movss xmm4, dword [0x1800f99d0]
movaps xmm1, xmm0
mov eax, dword [rbx + 0x7c]
movss xmm5, dword [0x1800f9a60]
shufps xmm1, xmm1, 0x55
comiss xmm1, xmm4
movsd qword [rbp - 0x61], xmm0
jbe 0x18001689e
nop word [rax + rax]
addss xmm1, xmm5
comiss xmm1, xmm4
movss dword [rbp - 0x5d], xmm1
ja 0x180016890
movss xmm3, dword [0x1800f9a5c]
comiss xmm3, xmm1
movss xmm6, dword [0x1800f99e0]
jbe 0x1800168ce
nop dword [rax]
nop word [rax + rax]
addss xmm1, xmm6
comiss xmm3, xmm1
movss dword [rbp - 0x5d], xmm1
ja 0x1800168c0
movd xmm0, eax
comiss xmm0, xmm4
jbe 0x1800168e4
addss xmm0, xmm5
comiss xmm0, xmm4
ja 0x1800168d7
movd eax, xmm0
comiss xmm3, xmm0
jbe 0x180016901
nop dword [rax]
addss xmm0, xmm6
comiss xmm3, xmm0
ja 0x1800168f0
movss dword [rbp - 0x59], xmm0
mov eax, dword [rbp - 0x59]
movss xmm0, dword [rbp - 0x61]
comiss xmm0, xmm4
jbe 0x18001691e
nop dword [rax + rax]
addss xmm0, xmm5
comiss xmm0, xmm4
ja 0x180016910
movss dword [rbp - 0x61], xmm0
comiss xmm3, xmm0
jbe 0x180016931
addss xmm0, xmm6
comiss xmm3, xmm0
ja 0x180016923
movss dword [rbp - 0x61], xmm0
movsd xmm0, qword [rbp - 0x61]
movsd qword [rbx + 0x74], xmm0
mov dword [rbx + 0x7c], eax
movss xmm0, dword [rbx + 0x74]
movss xmm1, dword [rbx + 0x78]
movss xmm2, dword [rbx + 0x7c]
divss xmm1, xmm7
divss xmm0, xmm7
divss xmm2, xmm7
movss dword [rbx + 0x80], xmm0
movss dword [rbx + 0x84], xmm1
movss dword [rbx + 0x88], xmm2
movsd xmm0, qword [rbx + 0x80]
mov eax, dword [rbx + 0x88]
movaps xmm1, xmm0
shufps xmm1, xmm1, 0x55
comiss xmm1, xmm4
movsd qword [rbp - 0x61], xmm0
jbe 0x18001699e
addss xmm1, xmm5
comiss xmm1, xmm4
movss dword [rbp - 0x5d], xmm1
ja 0x180016990
comiss xmm3, xmm1
jbe 0x1800169be
nop dword [rax]
nop word [rax + rax]
addss xmm1, xmm6
comiss xmm3, xmm1
movss dword [rbp - 0x5d], xmm1
ja 0x1800169b0
movd xmm0, eax
comiss xmm0, xmm4
jbe 0x1800169d4
addss xmm0, xmm5
comiss xmm0, xmm4
ja 0x1800169c7
movd eax, xmm0
comiss xmm3, xmm0
jbe 0x1800169f1
nop dword [rax]
addss xmm0, xmm6
comiss xmm3, xmm0
ja 0x1800169e0
movss dword [rbp - 0x59], xmm0
mov eax, dword [rbp - 0x59]
movss xmm0, dword [rbp - 0x61]
comiss xmm0, xmm4
jbe 0x180016a0e
nop dword [rax + rax]
addss xmm0, xmm5
comiss xmm0, xmm4
ja 0x180016a00
movss dword [rbp - 0x61], xmm0
comiss xmm3, xmm0
jbe 0x180016a21
addss xmm0, xmm6
comiss xmm3, xmm0
ja 0x180016a13
movss dword [rbp - 0x61], xmm0
movsd xmm0, qword [rbp - 0x61]
movsd qword [rbx + 0x80], xmm0
mov dword [rbx + 0x88], eax
movss xmm0, dword [0x1802091cc]
movss xmm1, dword [0x1802091d0]
movss xmm2, dword [rbx + 0x84]
addss xmm0, dword [rbx + 0x80]
addss xmm2, xmm1
movss dword [rbx + 0x68], xmm0
movss dword [rbx + 0x6c], xmm2
mov dword [rbx + 0x70], 0
movsd xmm0, qword [rbx + 0x68]
mov eax, dword [rbx + 0x70]
movaps xmm1, xmm0
shufps xmm1, xmm1, 0x55
comiss xmm1, xmm4
movsd qword [rbp - 0x61], xmm0
jbe 0x180016a90
addss xmm1, xmm5
comiss xmm1, xmm4
movss dword [rbp - 0x5d], xmm1
ja 0x180016a82
comiss xmm3, xmm1
jbe 0x180016aae
nop word [rax + rax]
addss xmm1, xmm6
comiss xmm3, xmm1
movss dword [rbp - 0x5d], xmm1
ja 0x180016aa0
movd xmm0, eax
comiss xmm0, xmm4
jbe 0x180016ac4
addss xmm0, xmm5
comiss xmm0, xmm4
ja 0x180016ab7
movd eax, xmm0
comiss xmm3, xmm0
jbe 0x180016ae1
nop dword [rax]
addss xmm0, xmm6
comiss xmm3, xmm0
ja 0x180016ad0
movss dword [rbp - 0x59], xmm0
mov eax, dword [rbp - 0x59]
movss xmm0, dword [rbp - 0x61]
comiss xmm0, xmm4
jbe 0x180016afe
nop dword [rax + rax]
addss xmm0, xmm5
comiss xmm0, xmm4
ja 0x180016af0
movss dword [rbp - 0x61], xmm0
comiss xmm3, xmm0
jbe 0x180016b11
addss xmm0, xmm6
comiss xmm3, xmm0
ja 0x180016b03
movss dword [rbp - 0x61], xmm0
movsd xmm0, qword [rbp - 0x61]
movsd qword [rbx + 0x68], xmm0
mov dword [rbx + 0x70], eax
mov eax, dword [rbx + 0x6c]
mov dword [rbx + 0x6c], eax
mov dword [rbx + 0x70], 0
lea r11, [rsp + 0xc0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
mov rsp, r11
pop r15
pop r14
pop rbp
ret