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

Disassembly:
mov rax, rsp
sub rsp, 0x68
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov ebp, dword [rcx + 0x8c]
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rdi, rcx
mov ecx, dword [rcx + 0x88]
mov qword [rax - 8], r12
mov qword [rax - 0x10], r13
mov qword [rax - 0x18], r14
sub ecx, ebp
mov qword [rax - 0x20], r15
xor r15d, r15d
and ecx, 0x3fffff
mov r14d, 0x400000
cmp dword [rdi + 0x15e4], r15d
mov r12d, r15d
mov r13, r15
jle 0x100c686a
nop
nop
mov rax, qword [rdi + 0x15e8]
mov rdx, qword [rax + r13*8]
test rdx, rdx
je 0x100c6857
cmp byte [rdx + 0x48], r15b
je 0x100c6603
mov byte [rdx + 0x48], r15b
jmp 0x100c6857
mov esi, dword [rdx + 0x40]
mov ebx, dword [rdx + 0x44]
mov eax, esi
sub eax, ebp
and eax, 0x3fffff
cmp eax, ecx
jae 0x100c6857
cmp ebp, esi
je 0x100c6643
mov r8d, esi
mov edx, ebp
mov rcx, rdi
call fcn.100c5930
test eax, eax
jne 0x100c69ad
mov ecx, dword [rdi + 0x88]
mov ebp, esi
sub ecx, esi
and ecx, 0x3fffff
cmp ebx, ecx
ja 0x100c68ca
lea ebp, [rbx + rsi]
and ebp, 0x3fffff
cmp esi, ebp
jb 0x100c6695
test ebp, ebp
je 0x100c6695
mov ebx, r14d
mov r8, rsi
lea r14, [rdi + 0x1588]
add r8, qword [rdi + 0x80]
sub ebx, esi
mov rcx, r14
mov r9d, ebx
xor edx, edx
call fcn.100caf40
mov r8, qword [rdi + 0x80]
mov r9d, ebp
mov edx, ebx
mov rcx, r14
call fcn.100caf40
jmp 0x100c66b3
mov r8, rsi
lea r14, [rdi + 0x1588]
mov r9d, ebx
add r8, qword [rdi + 0x80]
xor edx, edx
mov rcx, r14
call fcn.100caf40
mov rax, qword [rdi + 0x15e8]
lea r9, [rsp + 0x38]
mov rbx, qword [rax + r13*8]
mov eax, dword [rdi + 0xa0]
mov rcx, qword [rbx + 0x30]
mov dword [rbx + 0x18], eax
mov eax, dword [rdi + 0xa0]
mov dword [rcx + 0x24], eax
mov rdx, qword [rdi + 0xa0]
mov rax, qword [rbx + 0x30]
shr rdx, 0x20
mov r8, rbx
mov rcx, r14
mov dword [rax + 0x28], edx
mov rax, qword [rdi + 0x15c8]
movsxd rdx, dword [rbx + 0x4c]
mov rdx, qword [rax + rdx*8]
lea rax, [rdx + 0x48]
mov qword [rsp + 0x20], rax
call fcn.100cb1c0
lea rcx, [rbx + 0x20]
call fcn.10001abc
mov rcx, rbx
call sub.msvcrt.dll_free
mov r11, qword [rdi + 0x15e8]
lea ebx, [r12 + 1]
mov qword [r11 + r13*8], r15
cmp ebx, dword [rdi + 0x15e4]
jge 0x100c681d
nop
nop
mov rax, qword [rdi + 0x15e8]
mov rcx, qword [rax + r13*8 + 8]
test rcx, rcx
je 0x100c681d
cmp dword [rcx + 0x40], esi
jne 0x100c681d
mov eax, dword [rsp + 0x3c]
cmp dword [rcx + 0x44], eax
jne 0x100c6821
cmp byte [rcx + 0x48], r15b
jne 0x100c6821
mov r8d, dword [rsp + 0x38]
mov r9d, eax
xor edx, edx
add r8, qword [r14]
mov rcx, r14
call fcn.100caf40
mov rax, qword [rdi + 0x15e8]
inc ebx
inc r13
mov dword [rsp + 0x30], ebx
lea r9, [rsp + 0x38]
mov rbx, qword [rax + r13*8]
mov eax, dword [rdi + 0xa0]
inc r12d
mov rcx, qword [rbx + 0x30]
mov dword [rbx + 0x18], eax
mov eax, dword [rdi + 0xa0]
mov dword [rcx + 0x24], eax
mov rdx, qword [rdi + 0xa0]
mov rax, qword [rbx + 0x30]
shr rdx, 0x20
mov r8, rbx
mov rcx, r14
mov dword [rax + 0x28], edx
mov rax, qword [rdi + 0x15c8]
movsxd rdx, dword [rbx + 0x4c]
mov rdx, qword [rax + rdx*8]
lea rax, [rdx + 0x48]
mov qword [rsp + 0x20], rax
call fcn.100cb1c0
lea rcx, [rbx + 0x20]
call fcn.10001abc
mov rcx, rbx
call sub.msvcrt.dll_free
mov r11, qword [rdi + 0x15e8]
mov ebx, dword [rsp + 0x30]
mov qword [r11 + r13*8], r15
cmp ebx, dword [rdi + 0x15e4]
jl 0x100c6740
mov eax, dword [rsp + 0x3c]
mov edx, dword [rsp + 0x38]
mov rcx, qword [rdi + 0xa8]
mov r8d, eax
add rdx, qword [r14]
call fcn.1000ac34
mov ecx, dword [rdi + 0x88]
mov r11d, dword [rsp + 0x3c]
add qword [rdi + 0xa0], r11
sub ecx, ebp
mov r14d, 0x400000
and ecx, 0x3fffff
inc r12d
inc r13
cmp r12d, dword [rdi + 0x15e4]
jl 0x100c65e0
mov ebx, dword [rdi + 0x88]
cmp ebp, ebx
mov dword [rdi + 0x8c], ebx
ja 0x100c6917
mov rax, qword [rdi + 0xa0]
mov r8, qword [rdi + 0x98]
mov edx, ebp
add rdx, qword [rdi + 0x80]
sub ebx, ebp
cmp rax, r8
jae 0x100c68bc
sub r8, rax
mov eax, ebx
mov ecx, ebx
cmp r8, rax
cmovb ecx, r8d
mov r8d, ecx
mov rcx, qword [rdi + 0xa8]
call fcn.1000ac34
mov r15d, eax
mov ecx, ebx
add qword [rdi + 0xa0], rcx
jmp 0x100c69aa
cmp r12d, dword [rdi + 0x15e4]
movsxd rdx, r12d
jge 0x100c690a
shl rdx, 3
nop
nop
mov rax, qword [rdi + 0x15e8]
mov rcx, qword [rdx + rax]
test rcx, rcx
je 0x100c68fa
cmp byte [rcx + 0x48], r15b
je 0x100c68fa
mov byte [rcx + 0x48], r15b
inc r12d
add rdx, 8
cmp r12d, dword [rdi + 0x15e4]
jl 0x100c68e0
mov dword [rdi + 0x8c], ebp
xor eax, eax
jmp 0x100c69ad
mov rcx, qword [rdi + 0xa0]
mov r8, qword [rdi + 0x98]
mov edx, ebp
add rdx, qword [rdi + 0x80]
sub r14d, ebp
cmp rcx, r8
mov eax, r15d
jae 0x100c6958
sub r8, rcx
mov eax, r14d
mov ecx, r14d
cmp r8, rax
cmovb ecx, r8d
mov r8d, ecx
mov rcx, qword [rdi + 0xa8]
call fcn.1000ac34
mov ecx, r14d
add qword [rdi + 0xa0], rcx
test eax, eax
mov rcx, qword [rdi + 0xa0]
je 0x100c6972
mov r15d, eax
jmp 0x100c69aa
mov r8, qword [rdi + 0x98]
cmp rcx, r8
jae 0x100c69a3
mov rdx, qword [rdi + 0x80]
sub r8, rcx
mov ecx, ebx
cmp r8, rbx
cmovb ecx, r8d
mov r8d, ecx
mov rcx, qword [rdi + 0xa8]
call fcn.1000ac34
mov r15d, eax
add qword [rdi + 0xa0], rbx
mov eax, r15d
mov r15, qword [rsp + 0x48]
mov r14, qword [rsp + 0x50]
mov r13, qword [rsp + 0x58]
mov r12, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x80]
mov rbp, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x70]
add rsp, 0x68
ret