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

Disassembly:
mov rax, rsp
push rsi
sub rsp, 0xa0
movaps xmmword [rax - 0x38], xmm6
lea ecx, [rdx + 0x11223347]
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rsp + 0x20], xmm11
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rbp
mov rbp, qword [0x140213a00]
mov qword [rax - 0x10], rdi
mov qword [rax - 0x18], r13
mov r13d, edx
mov qword [rax - 0x20], r14
mov r14d, r8d
mov qword [rax - 0x28], r15
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
mov rax, qword [rbp + 0x1a18]
mov byte [rax + 0x80], 1
mov rsi, qword [rbp + 0x1a18]
mov byte [rsi + 0x80], 1
mov rbx, qword [rbp + 0x1a18]
call fcn.140013560
movsxd rax, dword [rbx + 0xc0]
lea rcx, str.columns
mov r8, qword [rbx + 0xc8]
xor edx, edx
mov r8d, dword [r8 + rax*4 - 4]
call fcn.140007380
mov edx, eax
mov rax, qword [0x140213a00]
cmp dword [rax + 0x1a60], edx
jne 0x14004ecae
mov dword [rax + 0x1a64], edx
cmp dword [rax + 0x1a9c], edx
jne 0x14004ecbd
mov byte [rax + 0x1aa0], 1
mov rax, qword [rax + 0x1a18]
mov rcx, rsi
dec dword [rax + 0xc0]
call fcn.14004ea10
movss xmm9, dword [0x1401efbe0]
mov r15, rax
movss xmm10, dword [0x1401efc28]
xor edi, edi
xorps xmm7, xmm7
mov dword [rax + 0xc], edi
mov dword [rax + 0x10], r13d
mov dword [rax + 4], r14d
mov ecx, dword [rsi + 0xd4]
mov qword [rsi + 0x1e8], rax
mov dword [rax + 0x24], ecx
mov ecx, dword [rsi + 0xe8]
mov dword [rax + 0x28], ecx
movups xmm0, xmmword [rsi + 0x230]
mov ecx, dword [r15 + 0x50]
movups xmmword [rax + 0x2c], xmm0
movups xmm0, xmmword [rsi + 0x220]
movups xmmword [rax + 0x3c], xmm0
movss xmm11, dword [rbp + 0x15a0]
movss xmm4, dword [rsi + 0x38]
movaps xmm0, xmm11
movss xmm2, dword [rsi + 0x228]
subss xmm0, xmm4
movss xmm3, dword [rsi + 0x1dc]
movaps xmm1, xmm2
movss xmm5, dword [rsi + 0x44]
addss xmm1, xmm11
mulss xmm4, xmm9
subss xmm3, xmm11
maxss xmm0, xmm7
maxss xmm4, xmm5
subss xmm1, xmm0
addss xmm3, xmm0
movss dword [rax + 0x14], xmm3
addss xmm3, xmm10
cvttss2si eax, xmm4
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, xmm2
minss xmm1, xmm0
subss xmm1, dword [rsi + 0x10]
maxss xmm1, xmm3
movss dword [r15 + 0x18], xmm1
movss xmm0, dword [rsi + 0xd4]
movss dword [r15 + 0x20], xmm0
movss dword [r15 + 0x1c], xmm0
test ecx, ecx
je 0x14004edf1
lea eax, [r13 + 1]
cmp ecx, eax
je 0x14004edef
mov ecx, dword [r15 + 0x54]
test ecx, ecx
jns 0x14004ede4
mov eax, ecx
cdq
sub eax, edx
mov edx, edi
sar eax, 1
add eax, ecx
lea rcx, [r15 + 0x50]
test eax, eax
cmovg edx, eax
call fcn.14004fa40
mov dword [r15 + 0x50], edi
mov byte [r15 + 8], 1
jmp 0x14004ee00
test ecx, ecx
sete al
mov byte [r15 + 8], al
test ecx, ecx
jne 0x14004eebe
lea r14d, [r13 + 1]
mov edx, r14d
lea rcx, [r15 + 0x50]
call fcn.14004fa40
mov ebp, edi
test r14d, r14d
jle 0x14004eebe
movaps xmmword [rsp + 0x50], xmm8
movd xmm8, r13d
cvtdq2ps xmm8, xmm8
nop word [rax + rax]
mov r8d, dword [r15 + 0x50]
mov ecx, dword [r15 + 0x54]
movd xmm6, ebp
cvtdq2ps xmm6, xmm6
divss xmm6, xmm8
cmp r8d, ecx
jne 0x14004ee73
inc r8d
test ecx, ecx
je 0x14004ee5b
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x14004ee60
mov eax, 8
cmp eax, r8d
lea rcx, [r15 + 0x50]
cmovg r8d, eax
mov edx, r8d
call fcn.14004fa40
movsxd rax, dword [r15 + 0x50]
inc ebp
imul rcx, rax, 0x1c
mov rax, qword [r15 + 0x58]
movss dword [rcx + rax], xmm6
mov qword [rcx + rax + 4], rdi
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 [r15 + 0x50]
cmp ebp, r14d
jl 0x14004ee30
movaps xmm8, xmmword [rsp + 0x50]
mov r10, qword [0x140213a00]
mov r14, qword [rsp + 0x88]
mov rbp, qword [rsp + 0xc0]
mov rbx, qword [rsp + 0xb0]
test r13d, r13d
jle 0x14004f033
movss xmm4, dword [0x1401efe04]
mov r8, rdi
mov rax, qword [r10 + 0x1a18]
mov ecx, edi
mov r9, qword [r15 + 0x58]
mov rdx, qword [rax + 0x1e8]
test rdx, rdx
jne 0x14004ef2d
movss xmm2, dword [rsi + 0x10]
inc edi
movaps xmm0, xmm2
movaps xmm1, xmm7
addss xmm0, xmm7
addss xmm0, xmm9
cvttss2si eax, xmm0
movd xmm3, eax
cvtdq2ps xmm3, xmm3
jmp 0x14004ef99
test edi, edi
jns 0x14004ef34
mov ecx, dword [rdx + 0xc]
movss xmm1, dword [rdx + 0x18]
subss xmm1, dword [rdx + 0x14]
movss xmm2, dword [rsi + 0x10]
movsxd rax, ecx
movaps xmm0, xmm2
imul rcx, rax, 0x1c
add edi, 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 0x14004ef79
mov eax, dword [rdx + 0xc]
jmp 0x14004ef7b
mov eax, edi
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 xmm1, xmm2
mov dword [r8 + r9 + 0x10], 0xff7fffff
subss xmm1, xmm10
addss xmm1, xmm9
cvttss2si eax, xmm1
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 [rsi + 0x230]
maxss xmm0, dword [rsi + 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 [rsi + 0x238]
minss xmm0, dword [rsi + 0x23c]
movss dword [r8 + r9 + 0x14], xmm1
movss dword [r8 + r9 + 0x18], xmm0
add r8, 0x1c
cmp edi, r13d
jl 0x14004eef1
mov r8d, dword [r15 + 0x10]
movaps xmm10, xmmword [rsp + 0x30]
movaps xmm9, xmmword [rsp + 0x40]
mov r13, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x98]
cmp r8d, 1
jle 0x14004f11d
mov rdx, qword [rsi + 0x2a8]
inc r8d
lea rcx, [rdx + 0x90]
call fcn.140024d70
mov rdx, qword [rsi + 0x2a8]
movsxd rax, dword [rdx + 0x90]
cmp eax, 1
je 0x14004f0ed
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 [0x140213a00]
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.14000cde0
mov r10, qword [0x140213a00]
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 0x14004f147
movaps xmm1, xmm7
movaps xmm6, xmm7
jmp 0x14004f197
test ecx, ecx
jns 0x14004f14e
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 0x14004f17b
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 [0x1401efbf8]
call fcn.140012c00
movss xmm2, dword [rsi + 0x10]
movaps xmm1, xmm11
subss xmm1, dword [rsi + 0x38]
movaps xmm0, xmm2
addss xmm2, xmm6
addss xmm0, dword [rsi + 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 [rsi + 0x1e4], xmm1
movss dword [rsi + 0x228], xmm2
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsi + 0xd0], xmm0
add rsp, 0xa0
pop rsi
ret