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

Disassembly:
mov r11, rsp
push rsi
sub rsp, 0xb0
mov rsi, rcx
xor cl, cl
mov byte [rsp + 0xc0], cl
mov eax, dword [rsi + 0x54]
test eax, eax
je 0x180143afd
mov qword [r11 + 0x18], rbx
mov qword [r11 - 0x10], rbp
mov qword [r11 - 0x18], rdi
mov qword [r11 - 0x20], r12
xor r12d, r12d
mov qword [r11 - 0x28], r13
mov r13d, eax
mov qword [r11 - 0x30], r14
mov qword [r11 - 0x38], r15
movaps xmmword [rsp + 0x70], xmm6
movaps xmmword [rsp + 0x60], xmm7
movaps xmmword [r11 - 0x68], xmm8
movss xmm8, dword [0x18016be10]
movaps xmmword [r11 - 0x78], xmm9
movss xmm9, dword [0x18016ffb0]
nop word [rax + rax]
mov rax, qword [rsi + 0x48]
mov r15, qword [r12 + rax]
mov eax, dword [r15 + 0x54]
mov dword [rsi + 0x74], 0
test eax, eax
je 0x1801439bd
xor ebp, ebp
mov r14d, eax
mov rax, qword [r15 + 0x48]
movaps xmm1, xmm8
mov r8d, dword [rax + rbp]
mov rax, qword [rsi]
mov dword [rsp + 0xcc], r8d
lea rdx, [r8 + r8*2]
mov r8d, dword [rsi + 0x74]
mov rcx, qword [rax + 0x98]
movss xmm0, dword [rcx + rdx*4 + 4]
mulss xmm0, dword [r15 + 0x20]
movsd xmm2, qword [rcx + rdx*4]
mulss xmm2, dword [r15 + 0x1c]
addss xmm2, xmm0
movss xmm0, dword [rcx + rdx*4 + 8]
mulss xmm0, dword [r15 + 0x24]
addss xmm2, xmm0
subss xmm1, xmm2
minss xmm1, xmm8
movss dword [rsp + 0xc8], xmm1
test r8d, r8d
je 0x180143964
mov rdx, qword [rsi + 0x68]
lea eax, [r8 - 1]
movss xmm0, dword [rdx + rax*8]
comiss xmm0, xmm1
ja 0x180143964
xor ebx, ebx
test r8d, r8d
je 0x1801438ad
nop dword [rax]
comiss xmm1, dword [rdx + rbx*8]
ja 0x1801438ad
inc ebx
cmp ebx, r8d
jb 0x1801438a0
mov ecx, dword [rsi + 0x78]
lea edx, [r8 + 1]
mov dword [rsi + 0x74], edx
cmp edx, ecx
jbe 0x1801438d0
mov eax, edx
shr eax, 2
add eax, edx
test ecx, ecx
lea rcx, [rsi + 0x68]
cmovne edx, eax
call fcn.180150470
mov r9, qword [rsi + 0x68]
test r9, r9
je 0x180143906
mov edx, dword [rsi + 0x74]
lea eax, [rdx - 1]
cmp ebx, eax
jae 0x180143906
mov ecx, dword [rsi + 0x70]
lea eax, [rbx + 1]
sub edx, ebx
lea r8d, [rdx - 1]
mov edx, ecx
imul r8d, ecx
imul edx, ebx
imul ecx, eax
add rdx, r9
add rcx, r9
call sub.VCRUNTIME140.dll_memmove
mov r9, qword [rsi + 0x68]
test r9, r9
je 0x18014392e
mov eax, dword [rsi + 0x70]
lea rdx, [rsp + 0xc8]
mov r8d, eax
imul eax, ebx
mov ecx, eax
add rcx, r9
call sub.VCRUNTIME140.dll_memcpy
mov r9, qword [rsi + 0x68]
mov eax, dword [rsi + 0x74]
cmp eax, dword [rsi + 0x60]
jbe 0x1801439af
test r9, r9
je 0x1801439af
cmp eax, 1
jbe 0x180143956
mov edx, dword [rsi + 0x70]
lea r8d, [rax - 1]
imul r8d, edx
mov rcx, r9
add rdx, r9
call sub.VCRUNTIME140.dll_memmove
mov eax, dword [rsi + 0x74]
test eax, eax
je 0x1801439af
dec eax
mov dword [rsi + 0x74], eax
jmp 0x1801439af
mov ecx, dword [rsi + 0x78]
lea edx, [r8 + 1]
mov dword [rsi + 0x74], edx
cmp edx, ecx
jbe 0x18014398a
mov eax, edx
shr eax, 2
add eax, edx
test ecx, ecx
lea rcx, [rsi + 0x68]
cmovne edx, eax
call fcn.180150470
mov edx, dword [rsi + 0x74]
mov r9, qword [rsi + 0x68]
test r9, r9
je 0x1801439af
mov ecx, dword [rsi + 0x70]
lea eax, [rdx - 1]
mov r8d, ecx
lea rdx, [rsp + 0xc8]
imul ecx, eax
add rcx, r9
call sub.VCRUNTIME140.dll_memcpy
add rbp, 4
sub r14, 1
jne 0x180143810
xor ebp, ebp
movaps xmm6, xmm9
cmp dword [rsi + 0x74], ebp
je 0x180143a7e
nop dword [rax]
mov edx, dword [rsi + 0x74]
movaps xmm7, xmm6
mov rax, qword [rsi + 0x68]
dec edx
mov edi, dword [rax + rdx*8 + 4]
mov dword [rsi + 0x74], edx
mov ecx, dword [rsi + 0x78]
cmp edx, ecx
jbe 0x1801439ff
mov eax, edx
shr eax, 2
add eax, edx
test ecx, ecx
lea rcx, [rsi + 0x68]
cmovne edx, eax
call fcn.180150470
mov rcx, qword [rsi]
lea rdx, [rsp + 0x20]
mov r8d, edi
mov rcx, qword [rcx + 0x30]
call fcn.180114ce0
movss xmm0, dword [r15 + 0x44]
subss xmm0, dword [rsp + 0x28]
movss xmm1, dword [r15 + 0x3c]
movss xmm2, dword [r15 + 0x40]
subss xmm2, dword [rsp + 0x24]
subss xmm1, dword [rsp + 0x20]
mulss xmm0, xmm0
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x180143a5c
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x180143a64
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
comiss xmm6, xmm0
jbe 0x180143a6c
movaps xmm6, xmm0
comiss xmm7, xmm0
cmovbe edi, ebp
cmp dword [rsi + 0x74], 0
mov ebp, edi
jne 0x1801439d0
cmp ebp, dword [r15 + 0x98]
je 0x180143a99
mov cl, 1
mov dword [r15 + 0x98], ebp
mov byte [rsp + 0xc0], cl
jmp 0x180143aa1
movzx ecx, byte [rsp + 0xc0]
add r12, 8
sub r13, 1
jne 0x1801437f0
movaps xmm9, xmmword [rsp + 0x40]
movaps xmm8, xmmword [rsp + 0x50]
movaps xmm7, xmmword [rsp + 0x60]
movaps xmm6, xmmword [rsp + 0x70]
mov r15, qword [rsp + 0x80]
mov r14, qword [rsp + 0x88]
mov r13, qword [rsp + 0x90]
mov r12, qword [rsp + 0x98]
mov rdi, qword [rsp + 0xa0]
mov rbp, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0xd0]
movzx eax, cl
add rsp, 0xb0
pop rsi
ret