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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
cmp byte [rcx + 0x10], 5
mov rbx, rcx
jne 0x10008f98d
mov rcx, qword [rcx]
mov r8, qword [rbx + 8]
mov r12d, 1
mov edx, dword [rcx + 0x88]
mov r9d, dword [r8 + 0x88]
mov eax, edx
shr eax, 1
cmp r9d, eax
je 0x10008f556
cmp r9d, r12d
jne 0x10008f98d
cmp edx, r12d
jne 0x10008f98d
mov r10d, dword [rcx + 0x8c]
mov r9d, dword [r8 + 0x8c]
mov eax, r10d
shr eax, 1
cmp r9d, eax
je 0x10008f580
cmp r9d, r12d
jne 0x10008f98d
cmp r10d, r12d
jne 0x10008f98d
cmp dword [r8 + 0x90], r12d
jne 0x10008f98d
cmp dword [rcx + 0x90], r12d
jne 0x10008f98d
mov r8d, 0xfffffffe
cmp edx, r12d
jbe 0x10008f5c0
test r12b, dl
je 0x10008f5c0
and dword [rcx + 0x88], r8d
mov rcx, qword [rbx]
mov eax, dword [rcx + 0x98]
sub dword [rcx + 0x94], eax
mov rax, qword [rbx]
cmp dword [rax + 0x8c], r12d
jbe 0x10008f5d3
and dword [rax + 0x8c], r8d
xor r13d, r13d
bt dword [rbx + 0x10], 0x13
jb 0x10008f766
mov rdx, qword [rbx]
mov rax, qword [rbx + 8]
mov ecx, dword [rdx + 8]
cmp ecx, dword [rax + 8]
jne 0x10008f766
mov r8d, dword [rdx + 0x88]
cmp r8d, 2
jb 0x10008f766
mov r9d, dword [rdx + 0x8c]
cmp r9d, 2
jb 0x10008f766
cmp dword [rax + 0x14], r13d
jne 0x10008f766
cmp dword [rdx + 0x14], r13d
jne 0x10008f766
cmp ecx, 0x1d
jg 0x10008f712
je 0x10008f708
sub ecx, 0x14
je 0x10008f766
sub ecx, r12d
je 0x10008f6e4
sub ecx, r12d
je 0x10008f6c0
sub ecx, r12d
je 0x10008f6b3
sub ecx, r12d
je 0x10008f6a6
sub ecx, r12d
je 0x10008f699
sub ecx, r12d
je 0x10008f68c
sub ecx, r12d
je 0x10008f67f
cmp ecx, r12d
jne 0x10008f766
mov rcx, rbx
call fcn.1000926bc
jmp 0x10008f75a
mov rcx, rbx
call fcn.100092578
jmp 0x10008f75a
mov rcx, rbx
call fcn.100092420
jmp 0x10008f75a
mov rcx, rbx
call fcn.1000922c8
jmp 0x10008f75a
mov rcx, rbx
call fcn.10009219c
jmp 0x10008f75a
mov rcx, rbx
call fcn.100092048
jmp 0x10008f75a
mov rcx, qword [rax + 0x28]
mov eax, dword [rax + 0x80]
mov dword [rsp + 0x28], eax
mov eax, dword [rdx + 0x80]
mov rdx, qword [rdx + 0x28]
mov dword [rsp + 0x20], eax
call qword [0x1000ab288]
jmp 0x10008f75a
mov rcx, qword [rax + 0x28]
mov eax, dword [rax + 0x80]
mov dword [rsp + 0x28], eax
mov eax, dword [rdx + 0x80]
mov rdx, qword [rdx + 0x28]
mov dword [rsp + 0x20], eax
call qword [0x1000aaeb8]
jmp 0x10008f75a
mov rcx, rbx
call fcn.100092774
jmp 0x10008f75a
sub ecx, 0x1e
je 0x10008f752
sub ecx, 2
je 0x10008f6e4
sub ecx, r12d
je 0x10008f6c0
sub ecx, 7
je 0x10008f766
sub ecx, r12d
je 0x10008f766
sub ecx, 9
je 0x10008f672
sub ecx, r12d
je 0x10008f748
cmp ecx, r12d
jne 0x10008f766
mov rcx, rbx
call fcn.100092b50
jmp 0x10008f75a
mov rcx, rbx
call fcn.1000929fc
jmp 0x10008f75a
mov rcx, rbx
call fcn.1000928d0
cmp eax, r13d
jl 0x10008f766
xor eax, eax
jmp 0x10008f992
mov rax, qword [rbx + 8]
mov r14d, 0x10
lea rdi, [0x100002f50]
mov ecx, dword [rax + 0x88]
mov rax, r14
lea rsi, [r14 - 0x11]
mul rcx
cmovo rax, rsi
mov rdx, rdi
mov rcx, rax
call fcn.10007ff70
mov rbp, rax
cmp rax, r13
jne 0x10008f7a8
mov eax, 0x8007000e
jmp 0x10008f992
mov rax, qword [rbx]
cmp dword [rax + 0x8c], r12d
jne 0x10008f7d7
mov ecx, dword [rax + 0x88]
mov rax, r14
mul rcx
mov rdx, rdi
cmovo rax, rsi
mov rcx, rax
call fcn.10007ff70
mov rdi, rax
mov rsi, rax
jmp 0x10008f808
mov eax, dword [rax + 0x88]
lea ecx, [rax + rax]
mov rax, r14
mul rcx
mov rdx, rdi
cmovo rax, rsi
mov rcx, rax
call fcn.10007ff70
mov rdi, rax
mov rax, qword [rbx]
mov esi, dword [rax + 0x88]
shl rsi, 4
add rsi, rdi
cmp rdi, r13
jne 0x10008f817
mov rcx, rbp
call sub.msvcrt.dll_free
jmp 0x10008f79e
mov rax, qword [rbx]
cmp dword [rax + 0x88], r12d
jne 0x10008f82b
mov r14, rdi
mov r15, rsi
jmp 0x10008f833
lea r14, [rdi + 0x10]
lea r15, [rsi + 0x10]
mov rax, qword [rbx + 8]
mov r12d, r13d
cmp dword [rax + 0x8c], r13d
jbe 0x10008f978
mov rcx, qword [rbx]
lea r13d, [r12 + r12]
mov r9, rdi
mov rax, qword [rcx]
xor r8d, r8d
mov edx, r13d
call qword [rax + 8]
cmp rsi, rdi
je 0x10008f875
mov rcx, qword [rbx]
lea edx, [r13 + 1]
mov r9, rsi
mov rax, qword [rcx]
xor r8d, r8d
call qword [rax + 8]
mov rax, qword [rbx + 8]
xor r8d, r8d
cmp dword [rax + 0x88], r8d
jbe 0x10008f951
mov rdx, rbp
lea ecx, [r8 + r8]
inc r8d
add rcx, rcx
movss xmm0, dword [rdi + rcx*8]
movss xmm1, dword [r14 + rcx*8 + 4]
movss xmm2, dword [r14 + rcx*8 + 8]
addss xmm0, dword [r14 + rcx*8]
addss xmm1, dword [rdi + rcx*8 + 4]
addss xmm2, dword [rdi + rcx*8 + 8]
addss xmm0, dword [rsi + rcx*8]
addss xmm1, dword [rsi + rcx*8 + 4]
addss xmm2, dword [rsi + rcx*8 + 8]
addss xmm0, dword [r15 + rcx*8]
movss xmm3, dword [r14 + rcx*8 + 0xc]
addss xmm1, dword [r15 + rcx*8 + 4]
mulss xmm0, dword [0x10002b8b8]
mulss xmm1, dword [0x10002b8b8]
addss xmm3, dword [rdi + rcx*8 + 0xc]
addss xmm2, dword [r15 + rcx*8 + 8]
movss dword [rsp + 0x30], xmm0
mulss xmm2, dword [0x10002b8b8]
addss xmm3, dword [rsi + rcx*8 + 0xc]
movss dword [rsp + 0x34], xmm1
movss dword [rsp + 0x38], xmm2
addss xmm3, dword [r15 + rcx*8 + 0xc]
mulss xmm3, dword [0x10002b8b8]
movss dword [rsp + 0x3c], xmm3
movdqu xmm0, xmmword [rsp + 0x30]
movdqu xmmword [rdx], xmm0
mov rax, qword [rbx + 8]
add rdx, 0x10
cmp r8d, dword [rax + 0x88]
jb 0x10008f88c
mov rcx, qword [rbx + 8]
mov r9, rbp
xor r8d, r8d
mov rax, qword [rcx]
mov edx, r12d
call qword [rax + 0x10]
mov rax, qword [rbx + 8]
inc r12d
cmp r12d, dword [rax + 0x8c]
jb 0x10008f847
mov rcx, rdi
call sub.msvcrt.dll_free
mov rcx, rbp
call sub.msvcrt.dll_free
jmp 0x10008f75f
mov eax, 0x80004005
lea r11, [rsp + 0x40]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret