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

Disassembly:
mov rax, rsp
push rbx
push rsi
sub rsp, 0xe8
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x68], xmm9
mov rax, qword [0x180074b88]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rcx, qword [0x18007b530]
mov qword [rsp + 0x48], rcx
mov rax, qword [rcx + 0x1a90]
mov byte [rax + 0x88], 1
mov rsi, qword [rcx + 0x1a90]
mov rbx, qword [rsi + 0x1a8]
call fcn.1800275a0
cmp dword [rbx + 0x10], 1
jle 0x18004586c
call fcn.180027480
mov rdx, qword [rsi + 0x2d0]
lea rcx, [rbx + 0x70]
call fcn.180033a90
movss xmm7, dword [rbx + 0x20]
mov ecx, dword [rbx + 4]
mov dword [rsp + 0x34], ecx
maxss xmm7, dword [rsi + 0xdc]
movss dword [rbx + 0x20], xmm7
movss dword [rsi + 0xdc], xmm7
test cl, 0x10
jne 0x18004589b
mov eax, dword [rbx + 0x28]
mov dword [rsi + 0xf0], eax
xor al, al
xorps xmm9, xmm9
test cl, 1
jne 0x180045c3a
cmp byte [rsi + 0x8b], al
jne 0x180045c3a
minss xmm7, dword [rsi + 0x27c]
mov qword [rsp + 0x100], rbp
mov ebp, 0xffffffff
mov qword [rsp + 0x108], rdi
mov edi, 1
movaps xmmword [rsp + 0xa0], xmm8
movss xmm8, dword [rbx + 0x24]
maxss xmm8, dword [rsi + 0x274]
cmp dword [rbx + 0x10], edi
jle 0x180045c21
mov qword [rsp + 0x110], r12
mov qword [rsp + 0xe0], r13
mov qword [rsp + 0xd8], r14
mov qword [rsp + 0xd0], r15
lea r15d, [rbp + 0x1d]
movaps xmmword [rsp + 0xc0], xmm6
movaps xmmword [rsp + 0x80], xmm10
movss xmm10, dword [0x18006224c]
movaps xmmword [rsp + 0x70], xmm11
movss xmm11, dword [0x1800640a8]
nop word [rax + rax]
mov rax, qword [0x18007b530]
mov r13d, ebp
mov r12, qword [rbx + 0x68]
mov r8d, edi
mov rcx, qword [rax + 0x1a90]
mov rdx, qword [rcx + 0x1a8]
test rdx, rdx
jne 0x18004597a
movaps xmm6, xmm9
jmp 0x1800459a1
test edi, edi
jns 0x180045982
mov r8d, dword [rdx + 0xc]
movss xmm6, dword [rdx + 0x18]
subss xmm6, dword [rdx + 0x14]
movsxd rax, r8d
imul rcx, rax, 0x1c
mov rax, qword [rdx + 0x68]
mulss xmm6, dword [rcx + rax]
addss xmm6, dword [rdx + 0x14]
addss xmm6, dword [rsi + 0x10]
mov r14d, dword [rbx]
add r14d, edi
movss dword [rsp + 0x54], xmm8
mov ecx, r14d
movss dword [rsp + 0x5c], xmm7
movaps xmm1, xmm6
movaps xmm0, xmm6
addss xmm1, xmm11
subss xmm0, xmm11
movss dword [rsp + 0x58], xmm1
movss dword [rsp + 0x50], xmm0
call fcn.180022af0
xor r8d, r8d
lea rcx, [rsp + 0x50]
mov edx, r14d
call fcn.180022230
test al, al
jne 0x180045aba
test byte [rsp + 0x34], 2
mov byte [rsp + 0x30], al
mov byte [rsp + 0x31], al
jne 0x180045a5b
lea r9, [rsp + 0x31]
mov dword [rsp + 0x20], 0
lea r8, [rsp + 0x30]
mov edx, r14d
lea rcx, [rsp + 0x50]
call fcn.180043ba0
movzx eax, byte [rsp + 0x30]
movzx ecx, byte [rsp + 0x31]
test al, al
jne 0x180045a35
test cl, cl
je 0x180045a5b
mov rdx, qword [rsp + 0x48]
mov dword [rdx + 0x1fb0], 4
test cl, cl
je 0x180045a5b
test byte [r15 + r12 + 8], 2
mov ebp, edi
mov ecx, 0x1d
cmovne ebp, r13d
jmp 0x180045a65
xor ecx, ecx
test al, al
setne cl
add ecx, 0x1b
movaps xmm1, xmm10
call fcn.180020960
cvttss2si ecx, xmm6
mov r9d, eax
lea r8, [rsp + 0x38]
lea rdx, [rsp + 0x40]
movss dword [rsp + 0x3c], xmm7
movss dword [rsp + 0x20], xmm10
movd xmm0, ecx
mov rcx, qword [rsi + 0x2d0]
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x38], xmm0
movss dword [rsp + 0x40], xmm0
movaps xmm0, xmm8
addss xmm0, xmm10
movss dword [rsp + 0x44], xmm0
call fcn.18002fdd0
mov eax, dword [rbx + 0x10]
inc edi
add r15, 0x1c
cmp edi, eax
jl 0x180045950
movaps xmm10, xmmword [rsp + 0x80]
movaps xmm6, xmmword [rsp + 0xc0]
mov r15, qword [rsp + 0xd0]
mov r14, qword [rsp + 0xd8]
mov r13, qword [rsp + 0xe0]
mov r12, qword [rsp + 0x110]
cmp ebp, 0xffffffff
je 0x180045c19
cmp byte [rbx + 9], 0
jne 0x180045b3d
xor r8d, r8d
inc eax
test eax, eax
jle 0x180045b3d
xor edx, edx
nop word [rax + rax]
mov rcx, qword [rbx + 0x68]
lea rdx, [rdx + 0x1c]
inc r8d
mov eax, dword [rdx + rcx - 0x1c]
mov dword [rdx + rcx - 0x18], eax
mov eax, dword [rbx + 0x10]
inc eax
cmp r8d, eax
jl 0x180045b20
mov byte [rbx + 9], 1
lea ecx, [rbp - 1]
mov r8, qword [0x18007b530]
mov byte [rsp + 0x30], 1
mov rax, qword [r8 + 0x1a90]
movss xmm2, dword [r8 + 0x130]
subss xmm2, dword [r8 + 0x1b08]
mov rdx, qword [rax + 0x1a8]
addss xmm2, xmm11
subss xmm2, dword [rax + 0x10]
test rdx, rdx
jne 0x180045b85
movaps xmm1, xmm9
jmp 0x180045bab
test ecx, ecx
jns 0x180045b8c
mov ecx, dword [rdx + 0xc]
movss xmm1, dword [rdx + 0x18]
subss xmm1, dword [rdx + 0x14]
movsxd rax, ecx
imul rcx, rax, 0x1c
mov rax, qword [rdx + 0x68]
mulss xmm1, dword [rcx + rax]
addss xmm1, dword [rdx + 0x14]
movss xmm3, dword [r8 + 0x15cc]
movaps xmm0, xmm3
addss xmm0, xmm1
comiss xmm2, xmm0
jae 0x180045bc3
movaps xmm2, xmm0
test byte [rbx + 4], 4
je 0x180045c08
lea eax, [rbp + 1]
test rdx, rdx
jne 0x180045bd7
movaps xmm1, xmm9
jmp 0x180045bfc
test eax, eax
jns 0x180045bde
mov eax, dword [rdx + 0xc]
movss xmm1, dword [rdx + 0x18]
subss xmm1, dword [rdx + 0x14]
cdqe
imul rcx, rax, 0x1c
mov rax, qword [rdx + 0x68]
mulss xmm1, dword [rcx + rax]
addss xmm1, dword [rdx + 0x14]
subss xmm1, xmm3
comiss xmm1, xmm2
ja 0x180045c08
movaps xmm2, xmm1
movaps xmm1, xmm2
mov ecx, ebp
call fcn.18004ae90
movzx eax, byte [rsp + 0x30]
jmp 0x180045c1b
xor al, al
movaps xmm11, xmmword [rsp + 0x70]
mov rdi, qword [rsp + 0x108]
mov rbp, qword [rsp + 0x100]
movaps xmm8, xmmword [rsp + 0xa0]
mov byte [rbx + 9], al
movups xmm0, xmmword [rsi + 0x260]
movups xmmword [rsi + 0x250], xmm0
movups xmm0, xmmword [rbx + 0x4c]
mov qword [rsi + 0x1a8], 0
mov dword [rsi + 0x114], 0
movups xmmword [rsi + 0x260], xmm0
movss xmm0, dword [rsi + 0x110]
addss xmm0, dword [rsi + 0x10]
addss xmm0, xmm9
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsi + 0xd8], xmm0
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.18005bc70
movaps xmm7, xmmword [rsp + 0xb0]
movaps xmm9, xmmword [rsp + 0x90]
add rsp, 0xe8
pop rsi
pop rbx
ret