Function at 0x180016820
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 [0x1802097cc], 0
je 0x180016886
cmp byte [0x1802097b6], 0
jne 0x180016886
cmp byte [0x1802097b7], 0
jne 0x180016886
mov r8b, 1
jmp 0x180016889
xor r8d, r8d
call fcn.180017550
movss xmm0, dword [0x1800f8adc]
comiss xmm0, dword [rbx + 0x50]
movzx edx, al
mov byte [rbx + 0x40], dl
jb 0x1800168af
cmp byte [0x1802097cd], 0
je 0x1800168af
xor ecx, ecx
jmp 0x1800168b4
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 [0x180208190]
movss xmm1, dword [0x180208194]
movss dword [rbp - 0x41], xmm0
movss xmm0, dword [0x180208198]
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.1800295a0
mov r14, qword [0x1802098f8]
mov rcx, rax
mov rsi, rax
call fcn.18004b6f0
test al, al
je 0x1800169ce
mov rcx, r14
call fcn.18004b6f0
test al, al
je 0x1800169ce
lea rcx, [rbp - 0x41]
call fcn.18004b6f0
test al, al
je 0x1800169ce
mov rcx, qword [rsi]
call fcn.18004b6f0
test al, al
je 0x1800169ce
mov rax, qword [rsi]
mov rcx, qword [0x180209b10]
mov rcx, qword [rax + rcx*8]
call fcn.18004b6f0
test al, al
je 0x1800169ce
mov r9, qword [rsi]
lea r8, [rbp - 0x41]
mov rax, qword [0x180209b10]
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.1800630f0
movsd xmm1, qword [0x1800f8a70]
movaps xmm7, xmm0
movss xmm0, dword [0x1802097bc]
subss xmm0, dword [rbx + 0x3c]
movss dword [rbx + 0x4c], xmm7
cvtps2pd xmm0, xmm0
call fcn.1800d6570
movsd xmm1, qword [0x1800f8a70]
movaps xmm8, xmm0
movss xmm0, dword [0x1802097c0]
subss xmm0, dword [rbx + 0x38]
cvtps2pd xmm0, xmm0
call fcn.1800d6570
addsd xmm8, xmm0
xorps xmm1, xmm1
ucomisd xmm1, xmm8
ja 0x180016a5e
xorps xmm0, xmm0
sqrtsd xmm0, xmm8
jmp 0x180016a67
movaps xmm0, xmm8
call fcn.1800d91d8
mulss xmm7, dword [0x1800f8ae8]
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 0x180016aa3
je 0x180016dcb
mov rcx, rbx
call fcn.180016450
movss xmm7, dword [rbx + 0x94]
movss xmm2, dword [0x1800f8a28]
comiss xmm2, xmm7
jae 0x180016ac4
mulss xmm7, xmm3
movsd qword [rbx + 0x5c], xmm9
mov dword [rbx + 0x64], esi
movss xmm0, dword [rbx + 0x5c]
movss xmm1, dword [0x1802081a0]
movss xmm2, dword [rbx + 0x60]
subss xmm0, dword [0x18020819c]
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 [0x1800f8b24]
movaps xmm1, xmm0
mov eax, dword [rbx + 0x7c]
movss xmm5, dword [0x1800f8bc0]
shufps xmm1, xmm1, 0x55
comiss xmm1, xmm4
movsd qword [rbp - 0x61], xmm0
jbe 0x180016b3e
nop word [rax + rax]
addss xmm1, xmm5
comiss xmm1, xmm4
movss dword [rbp - 0x5d], xmm1
ja 0x180016b30
movss xmm3, dword [0x1800f8bbc]
comiss xmm3, xmm1
movss xmm6, dword [0x1800f8b3c]
jbe 0x180016b6e
nop dword [rax]
nop word [rax + rax]
addss xmm1, xmm6
comiss xmm3, xmm1
movss dword [rbp - 0x5d], xmm1
ja 0x180016b60
movd xmm0, eax
comiss xmm0, xmm4
jbe 0x180016b84
addss xmm0, xmm5
comiss xmm0, xmm4
ja 0x180016b77
movd eax, xmm0
comiss xmm3, xmm0
jbe 0x180016ba1
nop dword [rax]
addss xmm0, xmm6
comiss xmm3, xmm0
ja 0x180016b90
movss dword [rbp - 0x59], xmm0
mov eax, dword [rbp - 0x59]
movss xmm0, dword [rbp - 0x61]
comiss xmm0, xmm4
jbe 0x180016bbe
nop dword [rax + rax]
addss xmm0, xmm5
comiss xmm0, xmm4
ja 0x180016bb0
movss dword [rbp - 0x61], xmm0
comiss xmm3, xmm0
jbe 0x180016bd1
addss xmm0, xmm6
comiss xmm3, xmm0
ja 0x180016bc3
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 0x180016c3e
addss xmm1, xmm5
comiss xmm1, xmm4
movss dword [rbp - 0x5d], xmm1
ja 0x180016c30
comiss xmm3, xmm1
jbe 0x180016c5e
nop dword [rax]
nop word [rax + rax]
addss xmm1, xmm6
comiss xmm3, xmm1
movss dword [rbp - 0x5d], xmm1
ja 0x180016c50
movd xmm0, eax
comiss xmm0, xmm4
jbe 0x180016c74
addss xmm0, xmm5
comiss xmm0, xmm4
ja 0x180016c67
movd eax, xmm0
comiss xmm3, xmm0
jbe 0x180016c91
nop dword [rax]
addss xmm0, xmm6
comiss xmm3, xmm0
ja 0x180016c80
movss dword [rbp - 0x59], xmm0
mov eax, dword [rbp - 0x59]
movss xmm0, dword [rbp - 0x61]
comiss xmm0, xmm4
jbe 0x180016cae
nop dword [rax + rax]
addss xmm0, xmm5
comiss xmm0, xmm4
ja 0x180016ca0
movss dword [rbp - 0x61], xmm0
comiss xmm3, xmm0
jbe 0x180016cc1
addss xmm0, xmm6
comiss xmm3, xmm0
ja 0x180016cb3
movss dword [rbp - 0x61], xmm0
movsd xmm0, qword [rbp - 0x61]
movsd qword [rbx + 0x80], xmm0
mov dword [rbx + 0x88], eax
movss xmm0, dword [0x18020819c]
movss xmm1, dword [0x1802081a0]
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 0x180016d30
addss xmm1, xmm5
comiss xmm1, xmm4
movss dword [rbp - 0x5d], xmm1
ja 0x180016d22
comiss xmm3, xmm1
jbe 0x180016d4e
nop word [rax + rax]
addss xmm1, xmm6
comiss xmm3, xmm1
movss dword [rbp - 0x5d], xmm1
ja 0x180016d40
movd xmm0, eax
comiss xmm0, xmm4
jbe 0x180016d64
addss xmm0, xmm5
comiss xmm0, xmm4
ja 0x180016d57
movd eax, xmm0
comiss xmm3, xmm0
jbe 0x180016d81
nop dword [rax]
addss xmm0, xmm6
comiss xmm3, xmm0
ja 0x180016d70
movss dword [rbp - 0x59], xmm0
mov eax, dword [rbp - 0x59]
movss xmm0, dword [rbp - 0x61]
comiss xmm0, xmm4
jbe 0x180016d9e
nop dword [rax + rax]
addss xmm0, xmm5
comiss xmm0, xmm4
ja 0x180016d90
movss dword [rbp - 0x61], xmm0
comiss xmm3, xmm0
jbe 0x180016db1
addss xmm0, xmm6
comiss xmm3, xmm0
ja 0x180016da3
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