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

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], r8
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r14
sub rsp, 0xc8
mov rsi, qword [rsp + 0x110]
mov rdi, r8
movups xmm0, xmmword [r9]
mov rbp, rdx
mov r14, rcx
mov r10d, dword [rsi + 8]
mov r8d, dword [rsi]
mov r9d, dword [rsi + 0xc]
mov edx, dword [rsi + 4]
movups xmmword [rsp + 0x30], xmm0
cmp r8d, r10d
jge 0x1401f33cc
cmp edx, r9d
jge 0x1401f33cc
mov qword [rax + 0x10], rbx
mov ebx, dword [rsp + 0x30]
mov qword [rax - 0x30], r13
mov r13d, dword [rsp + 0x38]
cmp ebx, r13d
jge 0x1401f33bc
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
shr rax, 0x20
shr rcx, 0x20
cmp eax, ecx
jge 0x1401f33bc
cmp ebx, r10d
jge 0x1401f33bc
cmp r8d, r13d
jge 0x1401f33bc
cmp eax, r9d
jge 0x1401f33bc
cmp edx, ecx
jge 0x1401f33bc
mov r11d, dword [rsp + 0x34]
cmp ebx, r8d
mov eax, dword [rsp + 0x3c]
cmovl ebx, r8d
cmp r11d, edx
mov dword [rsp + 0x28], ebx
cmovl r11d, edx
cmp r13d, r10d
mov dword [rsp + 0x110], r11d
cmovg r13d, r10d
cmp eax, r9d
mov dword [rsp + 0x24], r13d
cmovg eax, r9d
mov dword [rsp + 0x2c], eax
cmp r11d, eax
jge 0x1401f33bc
mov qword [rsp + 0xc0], r12
xor edx, edx
mov qword [rsp + 0xb0], r15
movaps xmmword [rsp + 0xa0], xmm6
movaps xmmword [rsp + 0x90], xmm7
movaps xmmword [rsp + 0x80], xmm8
movaps xmmword [rsp + 0x70], xmm9
movaps xmmword [rsp + 0x60], xmm10
movaps xmmword [rsp + 0x50], xmm11
movss xmm11, dword [0x1403bc878]
movaps xmmword [rsp + 0x40], xmm12
movss xmm12, dword [0x1403bcb70]
mov r15d, r11d
mov dword [rsp + 0x108], ebx
sub r15d, dword [rsi + 4]
mov eax, ebx
sub eax, dword [rsi]
imul r15d, dword [rdi + 0x30]
shl eax, 2
cdqe
add r15, rax
mov eax, ebx
add r15, qword [rdi + 8]
mov qword [rsp + 0x30], r15
cmp ebx, r13d
jge 0x1401f3365
nop dword [rax]
nop word [rax + rax]
mov edi, dword [r14 + 0x7c]
xorps xmm2, xmm2
mov dword [rsp + 0x20], edi
xorps xmm6, xmm6
xorps xmm7, xmm7
xorps xmm8, xmm8
mov r12d, edx
test edi, edi
jle 0x1401f3235
mov r13d, dword [r14 + 0x78]
nop dword [rax]
nop dword [rax + rax]
mov r15d, edx
cmp r13d, 4
jl 0x1401f3126
mov rdi, qword [r14 + 0x80]
mov r9d, eax
sub r9d, dword [r14 + 0x90]
lea eax, [r13 - 4]
mov ebx, dword [rsi]
mov r8d, r12d
sub r8d, dword [r14 + 0x94]
add r9d, 2
add r8d, r11d
shr eax, 2
mov r11d, r13d
imul r11d, r12d
inc r11d
inc eax
mov r14d, eax
lea r15d, [rax*4]
nop
lea ecx, [r9 - 2]
cmp ecx, ebx
jl 0x1401f2ea9
cmp ecx, dword [rsi + 8]
jge 0x1401f2ea9
cmp r8d, dword [rsi + 4]
jl 0x1401f2ea9
cmp r8d, dword [rsi + 0xc]
jge 0x1401f2ea9
mov edx, dword [rbp + 0x30]
lea eax, [rcx*4]
imul edx, r8d
movsxd rcx, eax
mov rax, qword [rbp + 8]
add rdx, rcx
mov r10d, dword [rdx + rax]
xor edx, edx
jmp 0x1401f2eac
mov r10d, edx
xorps xmm0, xmm0
lea eax, [r11 - 1]
movsxd rcx, eax
mov eax, r10d
shr eax, 0x18
movss xmm1, dword [rdi + rcx*4]
lea ecx, [r9 - 1]
cvtsi2ss xmm0, rax
mov eax, r10d
shr eax, 0x10
movzx eax, al
mulss xmm0, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mov eax, r10d
shr eax, 8
movzx eax, al
mulss xmm0, xmm1
addss xmm6, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
movzx eax, r10b
mulss xmm0, xmm1
addss xmm7, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mulss xmm0, xmm1
addss xmm8, xmm0
cmp ecx, ebx
jl 0x1401f2f4d
cmp ecx, dword [rsi + 8]
jge 0x1401f2f4d
cmp r8d, dword [rsi + 4]
jl 0x1401f2f4d
cmp r8d, dword [rsi + 0xc]
jge 0x1401f2f4d
mov edx, dword [rbp + 0x30]
lea eax, [rcx*4]
movsxd rcx, eax
mov rax, qword [rbp + 8]
imul edx, r8d
add rdx, rcx
mov ecx, dword [rdx + rax]
xor edx, edx
jmp 0x1401f2f4f
mov ecx, edx
xorps xmm0, xmm0
movsxd rax, r11d
movss xmm1, dword [rdi + rax*4]
mov eax, ecx
shr eax, 0x18
cvtsi2ss xmm0, rax
mov eax, ecx
shr eax, 0x10
movzx eax, al
mulss xmm0, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mov eax, ecx
shr eax, 8
movzx eax, al
mulss xmm0, xmm1
addss xmm6, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
movzx eax, cl
mulss xmm0, xmm1
addss xmm7, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mulss xmm0, xmm1
addss xmm8, xmm0
cmp r9d, ebx
jl 0x1401f2fe8
cmp r9d, dword [rsi + 8]
jge 0x1401f2fe8
cmp r8d, dword [rsi + 4]
jl 0x1401f2fe8
cmp r8d, dword [rsi + 0xc]
jge 0x1401f2fe8
mov edx, dword [rbp + 0x30]
lea eax, [r9*4]
imul edx, r8d
movsxd rcx, eax
mov rax, qword [rbp + 8]
add rdx, rcx
mov r10d, dword [rdx + rax]
xor edx, edx
jmp 0x1401f2feb
mov r10d, edx
xorps xmm0, xmm0
lea eax, [r11 + 1]
movsxd rcx, eax
mov eax, r10d
shr eax, 0x18
movss xmm1, dword [rdi + rcx*4]
lea ecx, [r9 + 1]
cvtsi2ss xmm0, rax
mov eax, r10d
shr eax, 0x10
movzx eax, al
mulss xmm0, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mov eax, r10d
shr eax, 8
movzx eax, al
mulss xmm0, xmm1
addss xmm6, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
movzx eax, r10b
mulss xmm0, xmm1
addss xmm7, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mulss xmm0, xmm1
addss xmm8, xmm0
cmp ecx, ebx
jl 0x1401f308d
cmp ecx, dword [rsi + 8]
jge 0x1401f308d
cmp r8d, dword [rsi + 4]
jl 0x1401f308d
cmp r8d, dword [rsi + 0xc]
jge 0x1401f308d
mov edx, dword [rbp + 0x30]
lea eax, [rcx*4]
imul edx, r8d
movsxd rcx, eax
mov rax, qword [rbp + 8]
add rdx, rcx
mov r10d, dword [rdx + rax]
xor edx, edx
jmp 0x1401f3090
mov r10d, edx
xorps xmm0, xmm0
lea eax, [r11 + 2]
movsxd rcx, eax
add r11d, 4
mov eax, r10d
add r9d, 4
shr eax, 0x18
movss xmm1, dword [rdi + rcx*4]
cvtsi2ss xmm0, rax
mov eax, r10d
shr eax, 0x10
movzx eax, al
mulss xmm0, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mov eax, r10d
shr eax, 8
movzx eax, al
mulss xmm0, xmm1
addss xmm6, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
movzx eax, r10b
mulss xmm0, xmm1
addss xmm7, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mulss xmm0, xmm1
addss xmm8, xmm0
sub r14, 1
jne 0x1401f2e70
mov r14, qword [rsp + 0xf0]
mov r11d, dword [rsp + 0x110]
mov edi, dword [rsp + 0x20]
mov eax, dword [rsp + 0x108]
cmp r15d, r13d
jge 0x1401f3210
mov rcx, qword [r14 + 0x80]
mov r8d, r15d
sub r8d, dword [r14 + 0x90]
mov r9d, r12d
sub r9d, dword [r14 + 0x94]
add r8d, eax
mov ebx, dword [rsi]
mov eax, r13d
imul eax, r12d
add r9d, r11d
mov r11d, r13d
add eax, r15d
cdqe
sub r11d, r15d
lea r10, [rcx + rax*4]
cmp r8d, ebx
jl 0x1401f319f
cmp r8d, dword [rsi + 8]
jge 0x1401f319f
cmp r9d, dword [rsi + 4]
jl 0x1401f319f
cmp r9d, dword [rsi + 0xc]
jge 0x1401f319f
mov edx, dword [rbp + 0x30]
lea eax, [r8*4]
movsxd rcx, eax
mov rax, qword [rbp + 8]
imul edx, r9d
add rdx, rcx
mov ecx, dword [rdx + rax]
xor edx, edx
jmp 0x1401f31a1
mov ecx, edx
movss xmm1, dword [r10]
xorps xmm0, xmm0
mov eax, ecx
inc r8d
shr eax, 0x18
add r10, 4
cvtsi2ss xmm0, rax
mov eax, ecx
shr eax, 0x10
movzx eax, al
mulss xmm0, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mov eax, ecx
shr eax, 8
movzx eax, al
mulss xmm0, xmm1
addss xmm6, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
movzx eax, cl
mulss xmm0, xmm1
addss xmm7, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mulss xmm0, xmm1
addss xmm8, xmm0
sub r11, 1
jne 0x1401f3168
mov r11d, dword [rsp + 0x110]
inc r12d
mov eax, dword [rsp + 0x108]
cmp r12d, edi
jl 0x1401f2e20
mov r15, qword [rsp + 0x30]
mov r13d, dword [rsp + 0x24]
movss xmm9, dword [r14 + 0x88]
movss xmm10, dword [r14 + 0x8c]
movaps xmm0, xmm9
mulss xmm0, xmm2
addss xmm0, xmm10
call fcn.1402f5780
minss xmm0, xmm11
maxss xmm0, xmm12
cvttss2si r14d, xmm0
test r14d, r14d
jns 0x1401f3274
xor ebx, ebx
mov r14d, ebx
jmp 0x1401f3283
mov r12d, 0xff
cmp r14d, r12d
cmovg r14d, r12d
xor ebx, ebx
movaps xmm0, xmm9
mulss xmm0, xmm6
addss xmm0, xmm10
call fcn.1402f5780
minss xmm0, xmm11
mov edi, r14d
maxss xmm0, xmm12
cvttss2si eax, xmm0
movaps xmm0, xmm9
test eax, eax
mulss xmm0, xmm7
cmovs eax, ebx
cmp eax, r14d
addss xmm0, xmm10
cmovle edi, eax
call fcn.1402f5780
minss xmm0, xmm11
mulss xmm9, xmm8
addss xmm9, xmm10
maxss xmm0, xmm12
cvttss2si eax, xmm0
movaps xmm0, xmm9
test eax, eax
cmovs eax, ebx
mov ebx, r14d
cmp eax, r14d
cmovle ebx, eax
call fcn.1402f5780
mov r11d, dword [rsp + 0x110]
minss xmm0, xmm11
mov eax, r14d
mov edx, 0
maxss xmm0, xmm12
cvttss2si ecx, xmm0
test ecx, ecx
cmovs ecx, edx
shl eax, 8
or eax, edi
shl eax, 8
or eax, ebx
shl eax, 8
cmp ecx, r14d
cmovle r14d, ecx
or eax, r14d
mov r14, qword [rsp + 0xf0]
mov dword [r15], eax
add r15, 4
mov eax, dword [rsp + 0x108]
inc eax
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x108], eax
cmp eax, r13d
jl 0x1401f2df0
mov ebx, dword [rsp + 0x28]
mov rdi, qword [rsp + 0x100]
inc r11d
mov dword [rsp + 0x110], r11d
cmp r11d, dword [rsp + 0x2c]
jl 0x1401f2db0
movaps xmm12, xmmword [rsp + 0x40]
movaps xmm11, xmmword [rsp + 0x50]
movaps xmm10, xmmword [rsp + 0x60]
movaps xmm9, xmmword [rsp + 0x70]
movaps xmm8, xmmword [rsp + 0x80]
movaps xmm7, xmmword [rsp + 0x90]
movaps xmm6, xmmword [rsp + 0xa0]
mov r15, qword [rsp + 0xb0]
mov r12, qword [rsp + 0xc0]
mov rbx, qword [rsp + 0xf8]
mov r13, qword [rsp + 0xb8]
add rsp, 0xc8
pop r14
pop rdi
pop rsi
pop rbp
ret