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

Disassembly:
mov rax, rsp
push rbp
sub rsp, 0xb0
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rsp + 0x20], xmm11
mov qword [rax + 0x18], rbx
mov qword [rax - 0x10], rsi
xor esi, esi
mov qword [rax - 0x18], rdi
mov rdi, rcx
mov qword [rax - 0x20], r12
mov ecx, edx
mov qword [rax - 0x28], r13
test rdi, rdi
mov qword [rax - 0x30], r14
mov r12d, r8d
mov r14, qword [0x1800d1670]
cmovne ecx, esi
mov qword [rax - 0x38], r15
add ecx, 0x11223347
movaps xmmword [rax - 0x78], xmm9
mov r13d, edx
movaps xmmword [rsp + 0x30], xmm10
mov rax, qword [r14 + 0x1a18]
mov byte [rax + 0x80], 1
mov rbp, qword [r14 + 0x1a18]
mov byte [rbp + 0x80], 1
mov rbx, qword [r14 + 0x1a18]
call fcn.180012b40
movsxd rax, dword [rbx + 0xc0]
lea rcx, str.columns
mov r8, qword [rbx + 0xc8]
test rdi, rdi
cmovne rcx, rdi
xor edx, edx
mov r8d, dword [r8 + rax*4 - 4]
call fcn.180007730
mov edx, eax
mov rax, qword [0x1800d1670]
cmp dword [rax + 0x1a60], edx
jne 0x18003aa38
mov dword [rax + 0x1a64], edx
cmp dword [rax + 0x1a9c], edx
jne 0x18003aa47
mov byte [rax + 0x1aa0], 1
mov rax, qword [rax + 0x1a18]
mov rcx, rbp
dec dword [rax + 0xc0]
call fcn.18003a780
movss xmm9, dword [0x1800bf3e0]
mov r15, rax
movss xmm10, dword [0x1800bf418]
xorps xmm8, xmm8
mov dword [rax + 4], r12d
mov r12, qword [rsp + 0x98]
mov dword [rax + 0xc], esi
mov dword [rax + 0x10], r13d
mov ecx, dword [rbp + 0xd4]
mov qword [rbp + 0x1e8], rax
mov dword [rax + 0x24], ecx
mov ecx, dword [rbp + 0xe8]
mov dword [rax + 0x28], ecx
movups xmm0, xmmword [rbp + 0x230]
mov ecx, dword [r15 + 0x50]
movups xmmword [rax + 0x2c], xmm0
movups xmm0, xmmword [rbp + 0x220]
movups xmmword [rax + 0x3c], xmm0
movss xmm11, dword [r14 + 0x15a0]
movss xmm4, dword [rbp + 0x38]
movaps xmm0, xmm11
movss xmm1, dword [rbp + 0x228]
subss xmm0, xmm4
movss xmm5, dword [rbp + 0x1dc]
movaps xmm2, xmm1
movss xmm3, dword [rbp + 0x44]
addss xmm2, xmm11
mulss xmm4, xmm9
subss xmm5, xmm11
maxss xmm0, xmm8
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 [rbp + 0x10]
maxss xmm2, xmm5
movss dword [r15 + 0x18], xmm2
movss xmm0, dword [rbp + 0xd4]
movss dword [r15 + 0x20], xmm0
movss dword [r15 + 0x1c], xmm0
test ecx, ecx
je 0x18003abe8
lea eax, [r13 + 1]
cmp ecx, eax
je 0x18003abe6
mov ecx, dword [r15 + 0x54]
test ecx, ecx
jns 0x18003abdb
mov eax, ecx
mov edi, esi
cdq
sub eax, edx
sar eax, 1
add eax, ecx
test eax, eax
cmovg edi, eax
cmp edi, ecx
jle 0x18003abdb
mov rax, qword [0x1800d1670]
test rax, rax
je 0x18003ab8b
inc dword [rax + 0x3bc]
movsxd rax, edi
imul rcx, rax, 0x1c
call fcn.180064410
mov rdx, qword [r15 + 0x58]
mov r14, rax
test rdx, rdx
je 0x18003abd3
movsxd rcx, dword [r15 + 0x50]
imul r8, rcx, 0x1c
mov rcx, rax
call fcn.18007e290
mov rcx, qword [r15 + 0x58]
test rcx, rcx
je 0x18003abce
mov rax, qword [0x1800d1670]
test rax, rax
je 0x18003abce
dec dword [rax + 0x3bc]
call fcn.18005eb6c
mov qword [r15 + 0x58], r14
mov dword [r15 + 0x54], edi
mov dword [r15 + 0x50], esi
mov byte [r15 + 8], 1
jmp 0x18003abf7
test ecx, ecx
sete al
mov byte [r15 + 8], al
test ecx, ecx
jne 0x18003acf2
lea r14d, [r13 + 1]
cmp r14d, dword [r15 + 0x54]
jle 0x18003ac63
mov rax, qword [0x1800d1670]
test rax, rax
je 0x18003ac13
inc dword [rax + 0x3bc]
movsxd rax, r14d
imul rcx, rax, 0x1c
call fcn.180064410
mov rdx, qword [r15 + 0x58]
mov rdi, rax
test rdx, rdx
je 0x18003ac5b
movsxd rcx, dword [r15 + 0x50]
imul r8, rcx, 0x1c
mov rcx, rax
call fcn.18007e290
mov rcx, qword [r15 + 0x58]
test rcx, rcx
je 0x18003ac56
mov rax, qword [0x1800d1670]
test rax, rax
je 0x18003ac56
dec dword [rax + 0x3bc]
call fcn.18005eb6c
mov qword [r15 + 0x58], rdi
mov dword [r15 + 0x54], r14d
mov edi, esi
test r14d, r14d
jle 0x18003acf2
movaps xmmword [rsp + 0x60], xmm7
movd xmm7, r13d
cvtdq2ps xmm7, xmm7
nop dword [rax + rax]
mov r8d, dword [r15 + 0x50]
mov ecx, dword [r15 + 0x54]
movd xmm6, edi
cvtdq2ps xmm6, xmm6
divss xmm6, xmm7
cmp r8d, ecx
jne 0x18003acc2
inc r8d
test ecx, ecx
je 0x18003acaa
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18003acaf
mov eax, 8
cmp eax, r8d
lea rcx, [r15 + 0x50]
cmovg r8d, eax
mov edx, r8d
call fcn.18003b970
movsxd rax, dword [r15 + 0x50]
inc edi
imul rcx, rax, 0x1c
mov rax, qword [r15 + 0x58]
movss dword [rcx + rax], xmm6
mov qword [rcx + rax + 4], rsi
mov qword [rcx + rax + 0xc], rsi
mov qword [rcx + rax + 0x14], rsi
inc dword [r15 + 0x50]
cmp edi, r14d
jl 0x18003ac80
movaps xmm7, xmmword [rsp + 0x60]
mov r10, qword [0x1800d1670]
mov r14, qword [rsp + 0x88]
mov rdi, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xd0]
test r13d, r13d
jle 0x18003ae74
movss xmm4, dword [0x1800bf5f4]
mov r9, rsi
nop word [rax + rax]
mov rax, qword [r10 + 0x1a18]
mov ecx, esi
mov r8, qword [r15 + 0x58]
mov rdx, qword [rax + 0x1e8]
test rdx, rdx
jne 0x18003ad6e
movss xmm2, dword [rbp + 0x10]
inc esi
movaps xmm0, xmm2
movaps xmm1, xmm8
addss xmm0, xmm8
addss xmm0, xmm9
cvttss2si eax, xmm0
movd xmm3, eax
cvtdq2ps xmm3, xmm3
jmp 0x18003adda
test esi, esi
jns 0x18003ad75
mov ecx, dword [rdx + 0xc]
movss xmm1, dword [rdx + 0x18]
subss xmm1, dword [rdx + 0x14]
movss xmm2, dword [rbp + 0x10]
movsxd rax, ecx
movaps xmm0, xmm2
imul rcx, rax, 0x1c
add esi, 1
mov rax, qword [rdx + 0x58]
mulss xmm1, dword [rcx + rax]
addss xmm1, dword [rdx + 0x14]
addss xmm0, xmm1
addss xmm0, xmm9
cvttss2si eax, xmm0
movd xmm3, eax
cvtdq2ps xmm3, xmm3
jns 0x18003adba
mov eax, dword [rdx + 0xc]
jmp 0x18003adbc
mov eax, esi
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 [r9 + r8 + 0xc], xmm3
addss xmm1, xmm2
mov dword [r9 + r8 + 0x10], 0xff7fffff
subss xmm1, xmm10
addss xmm1, xmm9
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [r9 + r8 + 0x14], xmm0
movaps xmm0, xmm4
mov dword [r9 + r8 + 0x18], 0x7f7fffff
movss xmm1, dword [r9 + r8 + 0xc]
maxss xmm1, dword [rbp + 0x230]
maxss xmm0, dword [rbp + 0x234]
movss dword [r9 + r8 + 0xc], xmm1
movss dword [r9 + r8 + 0x10], xmm0
movss xmm1, dword [r9 + r8 + 0x14]
movss xmm0, dword [r9 + r8 + 0x18]
minss xmm1, dword [rbp + 0x238]
minss xmm0, dword [rbp + 0x23c]
movss dword [r9 + r8 + 0x14], xmm1
movss dword [r9 + r8 + 0x18], xmm0
add r9, 0x1c
cmp esi, r13d
jl 0x18003ad30
mov r8d, dword [r15 + 0x10]
movaps xmm10, xmmword [rsp + 0x30]
movaps xmm9, xmmword [rsp + 0x40]
mov r13, qword [rsp + 0x90]
mov rsi, qword [rsp + 0xa8]
cmp r8d, 1
jle 0x18003af5e
mov rdx, qword [rbp + 0x2a8]
inc r8d
lea rcx, [rdx + 0x90]
call fcn.180024200
mov rdx, qword [rbp + 0x2a8]
movsxd rax, dword [rdx + 0x90]
cmp eax, 1
je 0x18003af2e
movups xmm0, xmmword [rdx]
mov rcx, rax
mov rax, qword [rdx + 0xa0]
shl rcx, 5
movups xmmword [rcx + rax], xmm0
movsxd rcx, dword [rdx + 0x90]
mov rax, qword [rdx + 0xa0]
movups xmm0, xmmword [rdx + 0x10]
shl rcx, 5
movups xmmword [rcx + rax + 0x10], xmm0
mov rax, qword [rdx + 0xa0]
mov dword [rdx + 0x90], 1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdx], xmm0
mov rax, qword [rdx + 0xa0]
movups xmm0, xmmword [rax + 0x30]
movups xmmword [rdx + 0x10], xmm0
movsxd rcx, dword [rdx + 0x10]
mov rax, qword [rdx + 0x18]
lea rcx, [rax + rcx*2]
mov qword [rdx + 0x58], rcx
mov rax, qword [0x1800d1670]
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.18000c3e0
mov r10, qword [0x1800d1670]
mov r8d, dword [r15 + 0xc]
mov ecx, r8d
mov rax, qword [r10 + 0x1a18]
mov r15, qword [rsp + 0x80]
mov rdx, qword [rax + 0x1e8]
test rdx, rdx
jne 0x18003af8a
movaps xmm1, xmm8
movaps xmm6, xmm8
jmp 0x18003afda
test ecx, ecx
jns 0x18003af91
mov ecx, dword [rdx + 0xc]
movss xmm0, dword [rdx + 0x14]
movss xmm1, dword [rdx + 0x18]
movsxd rax, ecx
subss xmm1, xmm0
imul rcx, rax, 0x1c
mov rax, qword [rdx + 0x58]
mulss xmm1, dword [rcx + rax]
lea eax, [r8 + 1]
addss xmm1, xmm0
test eax, eax
jns 0x18003afbe
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 [0x1800bf3ec]
call fcn.1800122d0
movss xmm2, dword [rbp + 0x10]
movaps xmm1, xmm11
subss xmm1, dword [rbp + 0x38]
movaps xmm0, xmm2
addss xmm2, xmm6
addss xmm0, dword [rbp + 0x1dc]
movaps xmm6, xmmword [rsp + 0x70]
maxss xmm1, xmm8
movaps xmm8, xmmword [rsp + 0x50]
subss xmm2, xmm11
movaps xmm11, xmmword [rsp + 0x20]
addss xmm0, xmm1
movss dword [rbp + 0x1e4], xmm1
movss dword [rbp + 0x228], xmm2
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0xd0], xmm0
add rsp, 0xb0
pop rbp
ret