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

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x28
xor r15d, r15d
mov rbx, r8
mov rdi, rdx
cmp byte [rdx + 0x65], r15b
mov r13, rcx
je 0x100c25b6
xor eax, eax
jmp 0x100c281a
mov esi, dword [rdx + 0x48]
mov r12d, dword [rdx + 0x58]
add esi, esi
mov eax, esi
neg eax
lea ecx, [rsi + 2]
sbb r14d, r14d
add r12d, r12d
and r14d, ecx
lea eax, [r12 + 4]
mov ecx, 2
cmp r12d, r15d
cmove eax, ecx
xor edx, edx
mov rcx, rbx
lea ebp, [rax + r14 + 0x6c]
mov eax, 0xfffffff8
and rbp, rax
mov r8, rbp
call sub.msvcrt.dll_memset
mov qword [rbx], rbp
mov eax, dword [rdi + 0x28]
mov qword [rbx + 8], rax
mov eax, dword [rdi + 0x60]
mov dword [rbx + 0xc], eax
mov eax, dword [rdi + 0x10]
mov dword [rbx + 0x28], eax
mov eax, dword [rdi + 0x14]
mov dword [rbx + 0x2c], eax
mov eax, dword [rdi + 0x18]
mov dword [rbx + 0x30], eax
mov eax, dword [rdi + 0x1c]
mov dword [rbx + 0x34], eax
mov eax, dword [rdi + 0x20]
mov dword [rbx + 0x38], eax
mov eax, dword [rdi + 0x24]
mov dword [rbx + 0x3c], eax
cmp qword [rdi + 0x88], r15
je 0x100c2644
mov rax, qword [rdi + 0x80]
mov ecx, dword [rax]
mov dword [rbx + 0x58], ecx
jmp 0x100c2651
mov rax, qword [rdi + 0x30]
cmp rax, r15
je 0x100c2651
mov qword [rbx + 0x58], rax
cmp esi, r15d
mov word [rbx + 0x62], r12w
mov word [rbx + 0x64], si
mov r10d, 2
jbe 0x100c2689
mov edx, r15d
mov r8, r15
lea r9, [rbx + 0x66]
mov rax, qword [rdi + 0x40]
add edx, r10d
movzx ecx, word [r8 + rax]
add r8, r10
mov word [r9], cx
add r9, r10
cmp edx, esi
jb 0x100c266f
cmp r12d, r15d
movsxd rax, r14d
jbe 0x100c26b7
mov edx, r15d
mov r8, r15
lea r9, [rax + rbx + 0x66]
mov rax, qword [rdi + 0x50]
add edx, r10d
movzx ecx, word [r8 + rax]
add r8, r10
mov word [r9], cx
add r9, r10
cmp edx, r12d
jb 0x100c269c
mov eax, dword [rdi + 0x78]
cmp eax, dword [rdi + 0x68]
jne 0x100c26ea
cmp dword [rdi + 4], r15d
jl 0x100c2817
movsxd rax, dword [rdi + 4]
lea rcx, [rbx + 0x40]
mov r8d, 0x14
shl rax, 6
lea rdx, [rax + r13 + 0x2c]
call sub.msvcrt.dll_memcpy
jmp 0x100c2817
cmp byte [rdi + 0x64], r15b
mov eax, r15d
mov r12d, 0x14
sete al
sub ax, word [rdi + 0x68]
add ax, word [rdi + 0x78]
mov word [rbx + 0x60], ax
add rbx, rbp
cmp byte [rdi + 0x64], r15b
jne 0x100c2749
lea esi, [r12 + 0x14]
xor edx, edx
mov rcx, rbx
mov r8, rsi
call sub.msvcrt.dll_memset
mov qword [rbx], rsi
cmp dword [rdi + 4], r15d
jl 0x100c2743
movsxd rax, dword [rdi + 4]
lea rcx, [rbx + 0x10]
mov r8, r12
shl rax, 6
lea rdx, [rax + r13 + 0x2c]
call sub.msvcrt.dll_memcpy
add rbp, rsi
add rbx, rsi
cmp dword [rdi + 0x78], r15d
mov r13d, r15d
jbe 0x100c2817
mov rax, qword [rdi + 0x70]
mov r14, qword [r15 + rax]
cmp byte [r14 + 0x20], 0
jne 0x100c2806
mov esi, dword [r14 + 0x18]
add esi, esi
mov eax, esi
neg eax
lea ecx, [rsi + 4]
mov eax, 0xfffffff8
sbb edx, edx
and edx, ecx
mov rcx, rbx
add edx, 0x2c
and edx, eax
mov eax, edx
mov r8d, edx
xor edx, edx
mov qword [rsp + 0x78], rax
call sub.msvcrt.dll_memset
mov rdx, qword [rsp + 0x78]
mov qword [rbx], rdx
cmp dword [r14 + 4], 0
jl 0x100c27ca
movsxd rax, dword [r14 + 4]
mov rcx, qword [rsp + 0x70]
mov r8, r12
shl rax, 6
lea rdx, [rax + rcx + 0x2c]
lea rcx, [rbx + 0x10]
call sub.msvcrt.dll_memcpy
mov rdx, qword [rsp + 0x78]
test esi, esi
mov word [rbx + 0x24], si
je 0x100c2800
xor r8d, r8d
lea r10, [rbx + 0x26]
xor r9d, r9d
lea edx, [r8 + 2]
mov rax, qword [r14 + 0x10]
add r8d, edx
movzx ecx, word [r9 + rax]
add r9, rdx
mov word [r10], cx
add r10, rdx
cmp r8d, esi
jb 0x100c27e0
mov rdx, qword [rsp + 0x78]
add rbp, rdx
add rbx, rdx
inc r13d
add r15, 8
cmp r13d, dword [rdi + 0x78]
jb 0x100c2756
mov rax, rbp
add rsp, 0x28
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret