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

Disassembly:
mov dword [rsp + 0x20], r9d
push rbx
push r12
push r13
sub rsp, 0x50
movd xmm1, dword [rcx + 0x68]
mov r13, rcx
mov r10d, dword [rcx + 0x44]
mov r11d, r9d
movaps xmmword [rsp + 0x20], xmm6
mov r12, rdx
movss xmm6, dword [rcx]
movaps xmm0, xmm6
movaps xmmword [rsp + 0x10], xmm7
movss xmm7, dword [rcx + 0xc]
movaps xmmword [rsp], xmm8
movaps xmm8, xmm7
cvtdq2ps xmm1, xmm1
movd xmm2, r8d
addss xmm1, dword [rcx + 0x40]
movd xmm5, r9d
cvtdq2ps xmm2, xmm2
movaps xmm4, xmm1
mulss xmm1, dword [rcx + 0x10]
addss xmm2, dword [rcx + 0x40]
mulss xmm4, dword [rcx + 4]
cvtdq2ps xmm5, xmm5
mulss xmm0, xmm2
addss xmm5, xmm2
mulss xmm8, xmm2
addss xmm0, xmm4
addss xmm8, xmm1
mulss xmm6, xmm5
addss xmm0, dword [rcx + 8]
mulss xmm7, xmm5
addss xmm8, dword [rcx + 0x14]
addss xmm6, xmm4
addss xmm7, xmm1
movss xmm1, dword [0x1402c2d58]
mulss xmm0, xmm1
addss xmm7, dword [rcx + 0x14]
mov dword [rcx + 0x1c], r11d
addss xmm6, dword [rcx + 8]
cvttss2si r9d, xmm0
movss xmm0, dword [0x1402c2e24]
mulss xmm6, xmm0
mov r8d, r9d
neg r8d
cvttss2si ecx, xmm6
movaps xmm6, xmmword [rsp + 0x20]
sub r8d, ecx
lea ecx, [r10 + r9]
mov eax, r8d
mov dword [r13 + 0x18], ecx
cdq
idiv r11d
mov ebx, eax
mov dword [r13 + 0x20], eax
mov eax, r8d
cdq
idiv r11d
mov dword [r13 + 0x28], edx
test edx, edx
jg 0x14019f1d9
add edx, r11d
lea eax, [rbx - 1]
mov dword [r13 + 0x28], edx
mov dword [r13 + 0x20], eax
sub edx, r11d
mulss xmm8, xmm1
mov dword [r13 + 0x24], edx
mulss xmm7, xmm0
mov dword [r13 + 0x30], r11d
cvttss2si r8d, xmm8
movaps xmm8, xmmword [rsp]
cvttss2si ecx, xmm7
mov eax, r8d
neg eax
movaps xmm7, xmmword [rsp + 0x10]
sub eax, ecx
lea ecx, [r8 + r10]
cdq
mov dword [r13 + 0x2c], ecx
idiv r11d
mov dword [r13 + 0x34], eax
mov dword [r13 + 0x3c], edx
test edx, edx
jg 0x14019f22c
add edx, r11d
dec eax
mov dword [r13 + 0x3c], edx
mov dword [r13 + 0x34], eax
mov qword [rsp + 0x70], rbp
sub edx, r11d
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r15
mov dword [r13 + 0x38], edx
nop dword [rax]
mov r10d, dword [r13 + 0x18]
mov eax, dword [r13 + 0x28]
add dword [r13 + 0x24], eax
mov eax, dword [r13 + 0x20]
mov edx, dword [r13 + 0x24]
add eax, r10d
mov dword [r13 + 0x18], eax
test edx, edx
jle 0x14019f27d
sub edx, dword [r13 + 0x1c]
inc eax
mov dword [r13 + 0x24], edx
mov dword [r13 + 0x18], eax
mov r8d, dword [r13 + 0x2c]
mov eax, dword [r13 + 0x3c]
add dword [r13 + 0x38], eax
mov eax, r8d
add eax, dword [r13 + 0x34]
mov edx, dword [r13 + 0x38]
mov dword [r13 + 0x2c], eax
test edx, edx
jle 0x14019f2aa
sub edx, dword [r13 + 0x30]
inc eax
mov dword [r13 + 0x38], edx
mov dword [r13 + 0x2c], eax
mov ebx, r10d
mov r11d, r8d
sar ebx, 8
sar r11d, 8
cmp dword [r13 + 0x5c], 0
je 0x14019f59a
mov edx, dword [r13 + 0x60]
mov ecx, dword [r13 + 0x64]
cmp ebx, edx
jae 0x14019f4b2
mov rbp, qword [r13 + 0x50]
mov edi, 0x100
movzx esi, r10b
sub edi, esi
mov dword [rsp + 0x80], edi
cmp r11d, ecx
jae 0x14019f3e6
movsxd rcx, dword [rbp + 0x10]
mov edx, 0x100
movsxd r9, dword [rbp + 0xc]
mov eax, ecx
imul eax, ebx
movzx r15d, r8b
mov r8, rcx
sub edx, r15d
movsxd r14, eax
mov eax, r9d
imul eax, r11d
cdqe
add r14, rax
mov eax, edx
add r14, qword [rbp]
imul eax, edi
movzx edi, byte [r14]
movzx esi, byte [r14 + 1]
movzx ebp, byte [r14 + 2]
add r14, rcx
imul edi, eax
imul esi, eax
imul ebp, eax
mov eax, r15d
movzx r11d, byte [r14 + 1]
movzx ebx, byte [r14 + 2]
imul r15d, dword [rsp + 0x80]
movzx ecx, r10b
movzx r10d, byte [r14]
add r14, r9
imul eax, ecx
imul edx, ecx
movzx ecx, byte [r14]
movzx r9d, byte [r14 + 2]
imul ecx, eax
imul r9d, eax
imul r10d, edx
imul r11d, edx
imul ebx, edx
movzx edx, byte [r14 + 1]
add ecx, 0x8000
imul edx, eax
sub r14, r8
movzx r8d, byte [r14]
movzx eax, byte [r14 + 2]
imul eax, r15d
imul r8d, r15d
add eax, 0x8000
add eax, ebx
add r8d, r10d
add r8d, ecx
add eax, ebp
movzx ecx, byte [r14 + 1]
add eax, r9d
imul ecx, r15d
add r8d, edi
shr eax, 0x10
add ecx, 0x8000
add ecx, edx
add ecx, r11d
add ecx, esi
shr ecx, 0x10
shr r8d, 0x10
mov byte [r12], r8b
mov byte [r12 + 1], cl
jmp 0x14019f5ee
test r11d, r11d
jns 0x14019f432
movsxd rdx, dword [rbp + 0x10]
mov eax, edx
imul eax, ebx
movsxd r10, eax
mov rax, rdx
add r10, qword [rbp]
movzx r11d, byte [r10 + rdx]
movzx ecx, byte [r10]
imul ecx, edi
imul r11d, esi
sub ecx, 0xffffff80
add r11d, ecx
movzx ecx, byte [r10 + rdx + 1]
movzx edx, byte [r10 + 1]
imul ecx, esi
imul edx, edi
sub ecx, 0xffffff80
add edx, ecx
movzx ecx, byte [r10 + rax + 2]
jmp 0x14019f481
movsxd r8, dword [rbp + 0x10]
mov eax, dword [rbp + 0xc]
imul eax, ecx
movsxd r10, eax
mov eax, r8d
imul eax, ebx
cdqe
add r10, rax
add r10, qword [rbp]
movzx r11d, byte [r10]
movzx eax, byte [r10 + r8]
movzx ecx, byte [r10 + r8 + 1]
movzx edx, byte [r10 + 1]
imul r11d, edi
imul ecx, esi
imul eax, esi
imul edx, edi
sub r11d, 0xffffff80
sub ecx, 0xffffff80
add r11d, eax
add edx, ecx
movzx ecx, byte [r10 + r8 + 2]
movzx r8d, byte [r10 + 2]
imul r8d, edi
imul ecx, esi
shr r11d, 8
shr edx, 8
sub r8d, 0xffffff80
add r8d, ecx
shr r8d, 8
mov byte [r12 + 2], r8b
mov byte [r12 + 1], dl
mov byte [r12], r11b
jmp 0x14019f5f3
cmp r11d, ecx
jae 0x14019f59a
mov rcx, qword [r13 + 0x50]
mov edi, 0x100
movzx esi, r8b
sub edi, esi
test ebx, ebx
jns 0x14019f51e
movsxd rdx, dword [rcx + 0xc]
mov eax, edx
imul eax, r11d
movsxd r10, eax
add r10, qword [rcx]
lea r8, [r10 + 1]
lea r9, [r10 + 2]
movzx r11d, byte [r10]
add r10, rdx
movzx edx, byte [r8]
movzx r8d, byte [r9]
imul r11d, edi
movzx eax, byte [r10]
movzx ecx, byte [r10 + 1]
imul ecx, esi
imul eax, esi
sub r11d, 0xffffff80
imul edx, edi
sub ecx, 0xffffff80
add r11d, eax
add edx, ecx
movzx ecx, byte [r10 + 2]
jmp 0x14019f571
movsxd r8, dword [rcx + 0xc]
mov eax, dword [rcx + 0x10]
imul eax, edx
movsxd r10, eax
mov eax, r8d
imul eax, r11d
cdqe
add r10, rax
add r10, qword [rcx]
movzx r11d, byte [r10 + r8]
movzx ecx, byte [r10]
movzx edx, byte [r10 + 1]
imul ecx, edi
imul r11d, esi
imul edx, edi
sub ecx, 0xffffff80
add r11d, ecx
movzx ecx, byte [r10 + r8 + 1]
imul ecx, esi
sub ecx, 0xffffff80
add edx, ecx
movzx ecx, byte [r10 + r8 + 2]
movzx r8d, byte [r10 + 2]
imul r8d, edi
imul ecx, esi
shr r11d, 8
shr edx, 8
sub r8d, 0xffffff80
add r8d, ecx
shr r8d, 8
mov byte [r12 + 2], r8b
mov byte [r12 + 1], dl
mov byte [r12], r11b
jmp 0x14019f5f3
mov eax, dword [r13 + 0x64]
xor r9d, r9d
mov r8, qword [r13 + 0x50]
test ebx, ebx
mov edx, dword [r13 + 0x60]
cmovns r9d, ebx
xor ecx, ecx
test r11d, r11d
cmovns ecx, r11d
cmp ecx, eax
cmovle eax, ecx
imul eax, dword [r8 + 0xc]
cmp r9d, edx
cmovle edx, r9d
imul edx, dword [r8 + 0x10]
movsxd rcx, eax
movsxd rax, edx
add rcx, rax
add rcx, qword [r8]
movzx eax, byte [rcx]
mov byte [r12], al
movzx eax, byte [rcx + 1]
mov byte [r12 + 1], al
movzx eax, byte [rcx + 2]
mov byte [r12 + 2], al
mov r11d, dword [rsp + 0x88]
add r12, 3
dec r11d
mov dword [rsp + 0x88], r11d
test r11d, r11d
jg 0x14019f250
mov r15, qword [rsp + 0x30]
mov r14, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x70]
add rsp, 0x50
pop r13
pop r12
pop rbx
ret