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

Disassembly:
mov rax, rsp
push r15
sub rsp, 0xa0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rsp + 0x20], xmm11
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov rbp, qword [0x1802bd7e0]
mov qword [rax + 0x18], rsi
mov esi, r8d
mov qword [rax - 0x10], rdi
mov rdi, rcx
mov qword [rax - 0x20], r13
mov ecx, edx
mov qword [rax - 0x28], r14
mov r13d, edx
movaps xmmword [rax - 0x58], xmm8
xor r14d, r14d
movaps xmmword [rax - 0x78], xmm10
test rdi, rdi
mov rax, qword [rbp + 0x1a18]
cmovne ecx, r14d
add ecx, 0x11223347
mov byte [rax + 0x80], 1
mov r9, qword [0x1802bd7e0]
mov r15, qword [rbp + 0x1a18]
mov rax, qword [r9 + 0x1a18]
mov byte [rax + 0x80], 1
mov rbx, qword [r9 + 0x1a18]
call fcn.180029d70
test rdi, rdi
lea rdx, str.columns
mov rcx, rbx
cmovne rdx, rdi
xor r8d, r8d
call fcn.180022560
mov ebx, eax
call fcn.180029830
mov edx, ebx
mov rcx, r15
call fcn.18004cbe0
movss xmm8, dword [0x180082870]
mov rbx, rax
movss xmm10, dword [0x180082874]
xorps xmm7, xmm7
mov dword [rax + 0xc], r14d
mov dword [rax + 0x10], r13d
mov dword [rax + 4], esi
mov ecx, dword [r15 + 0xd4]
mov qword [r15 + 0x1e8], rax
mov dword [rax + 0x24], ecx
mov ecx, dword [r15 + 0xe8]
mov dword [rax + 0x28], ecx
movups xmm0, xmmword [r15 + 0x230]
movups xmmword [rax + 0x2c], xmm0
movups xmm0, xmmword [r15 + 0x220]
movups xmmword [rax + 0x3c], xmm0
movss xmm11, dword [rbp + 0x15a0]
movss xmm4, dword [r15 + 0x38]
movaps xmm0, xmm11
movss xmm1, dword [r15 + 0x228]
subss xmm0, xmm4
movss xmm5, dword [r15 + 0x1dc]
movaps xmm2, xmm1
movss xmm3, dword [r15 + 0x44]
addss xmm2, xmm11
subss xmm5, xmm11
mulss xmm4, xmm8
maxss xmm0, xmm7
maxss xmm4, xmm3
subss xmm2, xmm0
addss xmm5, xmm0
movss dword [rax + 0x14], xmm5
addss xmm5, xmm10
cvttss2si eax, xmm4
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, xmm1
minss xmm2, xmm0
subss xmm2, dword [r15 + 0x10]
maxss xmm2, xmm5
movss dword [rbx + 0x18], xmm2
movss xmm0, dword [r15 + 0xd4]
mov ecx, dword [rbx + 0x50]
movss dword [rbx + 0x20], xmm0
movss dword [rbx + 0x1c], xmm0
test ecx, ecx
je 0x180046193
lea eax, [r13 + 1]
cmp ecx, eax
je 0x180046191
mov ecx, dword [rbx + 0x54]
test ecx, ecx
jns 0x180046187
mov eax, ecx
mov edi, r14d
cdq
sub eax, edx
sar eax, 1
add eax, ecx
test eax, eax
cmovg edi, eax
cmp edi, ecx
jle 0x180046187
movsxd rax, edi
imul rcx, rax, 0x1c
call fcn.180025130
mov rdx, qword [rbx + 0x58]
mov rsi, rax
test rdx, rdx
je 0x180046180
movsxd rcx, dword [rbx + 0x50]
imul r8, rcx, 0x1c
mov rcx, rax
call fcn.18007fac0
mov rcx, qword [rbx + 0x58]
call fcn.180025150
mov qword [rbx + 0x58], rsi
mov dword [rbx + 0x54], edi
mov dword [rbx + 0x50], r14d
mov byte [rbx + 8], 1
jmp 0x1800461a1
test ecx, ecx
sete al
mov byte [rbx + 8], al
test ecx, ecx
jne 0x1800462cf
mov qword [rsp + 0x90], r12
lea r12d, [r13 + 1]
cmp r12d, dword [rbx + 0x54]
jle 0x1800461ec
movsxd rax, r12d
imul rcx, rax, 0x1c
call fcn.180025130
mov rdx, qword [rbx + 0x58]
mov rdi, rax
test rdx, rdx
je 0x1800461e4
movsxd rcx, dword [rbx + 0x50]
imul r8, rcx, 0x1c
mov rcx, rax
call fcn.18007fac0
mov rcx, qword [rbx + 0x58]
call fcn.180025150
mov qword [rbx + 0x58], rdi
mov dword [rbx + 0x54], r12d
mov esi, r14d
test r12d, r12d
jle 0x1800462c7
movaps xmmword [rsp + 0x40], xmm9
movd xmm9, r13d
cvtdq2ps xmm9, xmm9
nop word [rax + rax]
mov edi, dword [rbx + 0x50]
mov ecx, dword [rbx + 0x54]
movd xmm6, esi
cvtdq2ps xmm6, xmm6
divss xmm6, xmm9
cmp edi, ecx
jne 0x18004627d
inc edi
test ecx, ecx
je 0x180046237
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18004623c
mov eax, 8
cmp eax, edi
cmovg edi, eax
cmp edi, ecx
jle 0x18004627d
movsxd rax, edi
imul rcx, rax, 0x1c
call fcn.180025130
mov rdx, qword [rbx + 0x58]
mov rbp, rax
test rdx, rdx
je 0x180046276
movsxd rcx, dword [rbx + 0x50]
imul r8, rcx, 0x1c
mov rcx, rax
call fcn.18007fac0
mov rcx, qword [rbx + 0x58]
call fcn.180025150
mov qword [rbx + 0x58], rbp
mov dword [rbx + 0x54], edi
movsxd rax, dword [rbx + 0x50]
inc esi
imul rcx, rax, 0x1c
mov rax, qword [rbx + 0x58]
movss dword [rcx + rax], xmm6
mov qword [rcx + rax + 4], r14
mov dword [rcx + rax + 0xc], 0x7f7fffff
mov dword [rcx + rax + 0x10], 0x7f7fffff
mov dword [rcx + rax + 0x14], 0xff7fffff
mov dword [rcx + rax + 0x18], 0xff7fffff
inc dword [rbx + 0x50]
cmp esi, r12d
jl 0x180046210
movaps xmm9, xmmword [rsp + 0x40]
mov r12, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x98]
mov rsi, qword [rsp + 0xc0]
mov rbp, qword [rsp + 0xb8]
test r13d, r13d
jle 0x180046455
movss xmm4, dword [0x180103df4]
mov r8, r14
nop dword [rax + rax]
mov rax, qword [0x1802bd7e0]
mov r10d, r14d
mov r9, qword [rbx + 0x58]
mov rcx, qword [rax + 0x1a18]
mov rdx, qword [rcx + 0x1e8]
test rdx, rdx
jne 0x180046346
movss xmm2, dword [r15 + 0x10]
inc r14d
movaps xmm0, xmm2
movaps xmm1, xmm7
addss xmm0, xmm7
addss xmm0, xmm8
cvttss2si eax, xmm0
movd xmm3, eax
cvtdq2ps xmm3, xmm3
jmp 0x1800463b7
test r14d, r14d
jns 0x18004634f
mov r10d, dword [rdx + 0xc]
movss xmm1, dword [rdx + 0x18]
subss xmm1, dword [rdx + 0x14]
movss xmm2, dword [r15 + 0x10]
movsxd rax, r10d
movaps xmm0, xmm2
imul rcx, rax, 0x1c
add r14d, 1
mov rax, qword [rdx + 0x58]
mulss xmm1, dword [rcx + rax]
addss xmm1, dword [rdx + 0x14]
addss xmm0, xmm1
addss xmm0, xmm8
cvttss2si eax, xmm0
movd xmm3, eax
cvtdq2ps xmm3, xmm3
jns 0x180046396
mov eax, dword [rdx + 0xc]
jmp 0x180046399
mov eax, r14d
movss xmm1, dword [rdx + 0x18]
subss xmm1, dword [rdx + 0x14]
cdqe
imul rcx, rax, 0x1c
mov rax, qword [rdx + 0x58]
mulss xmm1, dword [rcx + rax]
addss xmm1, dword [rdx + 0x14]
movss dword [r8 + r9 + 0xc], xmm3
addss xmm2, xmm1
mov dword [r8 + r9 + 0x10], 0xff7fffff
subss xmm2, xmm10
addss xmm2, xmm8
cvttss2si eax, xmm2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [r8 + r9 + 0x14], xmm0
movaps xmm0, xmm4
mov dword [r8 + r9 + 0x18], 0x7f7fffff
movss xmm1, dword [r8 + r9 + 0xc]
maxss xmm1, dword [r15 + 0x230]
maxss xmm0, dword [r15 + 0x234]
movss dword [r8 + r9 + 0xc], xmm1
movss dword [r8 + r9 + 0x10], xmm0
movss xmm1, dword [r8 + r9 + 0x14]
movss xmm0, dword [r8 + r9 + 0x18]
minss xmm1, dword [r15 + 0x238]
minss xmm0, dword [r15 + 0x23c]
movss dword [r8 + r9 + 0x14], xmm1
movss dword [r8 + r9 + 0x18], xmm0
add r8, 0x1c
cmp r14d, r13d
jl 0x180046300
mov r8d, dword [rbx + 0x10]
movaps xmm10, xmmword [rsp + 0x30]
movaps xmm8, xmmword [rsp + 0x50]
mov r14, qword [rsp + 0x80]
mov r13, qword [rsp + 0x88]
cmp r8d, 1
jle 0x1800464d3
mov rdx, qword [r15 + 0x2a8]
inc r8d
lea rcx, [rdx + 0x90]
call fcn.180037bf0
mov rdx, qword [r15 + 0x2a8]
mov r8d, 1
lea rcx, [rdx + 0x90]
call fcn.1800376c0
mov rax, qword [0x1802bd7e0]
xor r8d, r8d
mov rcx, qword [rax + 0x1a18]
mov rax, qword [rcx + 0x1e8]
mov rcx, qword [rax + 0x58]
lea rdx, [rcx + 0x14]
add rcx, 0xc
call fcn.180029b90
mov r9d, dword [rbx + 0xc]
mov r8d, r9d
mov rax, qword [0x1802bd7e0]
mov rbx, qword [rsp + 0xb0]
mov rcx, qword [rax + 0x1a18]
mov rdx, qword [rcx + 0x1e8]
test rdx, rdx
jne 0x180046504
movaps xmm1, xmm7
movaps xmm6, xmm7
jmp 0x180046556
test r9d, r9d
jns 0x18004650d
mov r8d, dword [rdx + 0xc]
movss xmm0, dword [rdx + 0x14]
movss xmm1, dword [rdx + 0x18]
movsxd rax, r8d
subss xmm1, xmm0
imul rcx, rax, 0x1c
mov rax, qword [rdx + 0x58]
mulss xmm1, dword [rcx + rax]
lea eax, [r9 + 1]
addss xmm1, xmm0
test eax, eax
jns 0x18004653a
mov eax, dword [rdx + 0xc]
movss xmm6, dword [rdx + 0x18]
cdqe
subss xmm6, xmm0
imul rcx, rax, 0x1c
mov rax, qword [rdx + 0x58]
mulss xmm6, dword [rcx + rax]
addss xmm6, xmm0
movaps xmm0, xmm6
subss xmm0, xmm1
mulss xmm0, dword [0x180103d94]
call fcn.18002a0b0
movss xmm2, dword [r15 + 0x10]
movaps xmm1, xmm11
subss xmm1, dword [r15 + 0x38]
movaps xmm0, xmm2
addss xmm2, xmm6
addss xmm0, dword [r15 + 0x1dc]
movaps xmm6, xmmword [rsp + 0x70]
maxss xmm1, xmm7
movaps xmm7, xmmword [rsp + 0x60]
subss xmm2, xmm11
movaps xmm11, xmmword [rsp + 0x20]
addss xmm0, xmm1
movss dword [r15 + 0x1e4], xmm1
movss dword [r15 + 0x228], xmm2
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [r15 + 0xd0], xmm0
add rsp, 0xa0
pop r15
ret