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

Disassembly:
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xc8
mov qword [rsp + 0x90], 0xfffffffffffffffe
mov rsi, rcx
xor r13d, r13d
mov qword [rsp + 0x20], r13
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x2c], r13d
mov edx, dword [rcx + 0x30]
lea rcx, [rsp + 0x20]
call fcn.100cb7e8
mov rbx, r13
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x38], r13
mov r12d, r13d
mov rdx, r13
lea edi, [r13 + 1]
movabs r8, 0x100000000
cmp dword [rsi + 0x30], r13d
jbe 0x100ce18b
mov rbp, rdx
shl rbp, 6
mov qword [rsp + 0x48], rbp
mov rax, qword [rsi + 0x28]
test byte [rax + rbp + 0x18], 0x10
jne 0x100cdc65
mov ecx, dword [rsp + 0x28]
mov rax, rcx
add ecx, edi
mov dword [rsp + 0x28], ecx
mov rcx, qword [rsp + 0x20]
mov dword [rcx + rax*4], r12d
add r12d, edi
add rdx, rdi
jmp 0x100ce077
mov qword [rsp + 0x128], r13
mov r9d, dword [rsi + 0x50]
mov dword [rsp + 0x120], r9d
mov ecx, r12d
mov dword [rsp + 0x110], r12d
mov qword [rsp + 0x40], rdx
cmp r12d, dword [rsi + 0x30]
jae 0x100cdf7e
mov r14, rbp
mov r15, qword [rsi + 0x28]
mov al, byte [r14 + r15 + 0x18]
test al, 0x10
je 0x100cdf71
cmp byte [r14 + r15 + 0x19], r13b
jne 0x100cdcb7
cmp ecx, r12d
jne 0x100cdf62
cmp al, 0x10
jne 0x100ce086
cmp qword [r14 + r15 + 0x10], r8
jne 0x100cdf35
mov ecx, r13d
lea rax, [r14 + r15 + 0x2c]
cmp byte [rax], r13b
jne 0x100ce094
add ecx, edi
add rax, rdi
cmp ecx, 0x14
jb 0x100cdcd2
cmp dword [r14 + r15 + 0x24], edi
jne 0x100ce0a2
mov eax, dword [rsi + 0x50]
mov dword [r14 + r15 + 0x1c], eax
lea rcx, [rsi + 0x48]
call fcn.100034ac
mov ecx, 0x30
call fcn.10003f74
mov rbp, rax
test rax, rax
je 0x100cdd28
mov eax, 0xffffffff
mov dword [rbp + 4], eax
mov dword [rbp + 0x18], eax
mov qword [rbp + 0x28], 0
jmp 0x100cdd2a
xor ebp, ebp
mov ecx, dword [rsi + 0x50]
lea eax, [rcx + 1]
mov dword [rsi + 0x50], eax
mov rax, qword [rsi + 0x48]
mov qword [rax + rcx*8], rbp
mov eax, dword [rsp + 0x110]
mov dword [rbp], eax
mov rax, qword [rsp + 0x128]
mov qword [rbp + 8], rax
movzx eax, word [r14 + r15 + 0x20]
mov rdx, qword [rsp + 0x118]
cmp eax, dword [rdx + 8]
jae 0x100ce0b0
mov rcx, rax
mov rax, qword [rdx]
mov rcx, qword [rax + rcx*8]
mov rcx, qword [rcx + 0xb0]
mov qword [rsp + 0x50], rcx
mov rax, qword [rcx]
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [r14 + r15 + 8]
call qword [rax + 0x20]
mov r13d, eax
test eax, eax
jne 0x100ce0be
lea r8d, [rax + 0x10]
lea rdx, [rsp + 0x80]
mov rcx, qword [rsp + 0x50]
call fcn.1000c5a4
mov r13d, eax
test eax, eax
jne 0x100ce0cf
mov rdx, qword [rsp + 0x80]
mov qword [rbp + 0x10], rdx
movabs rax, 0x8000000000000000
cmp rdx, rax
ja 0x100ce0e0
mov rax, qword [rsp + 0x128]
add rax, rdx
mov qword [rsp + 0x128], rax
cmp rax, rdx
jb 0x100ce0ee
xor ecx, ecx
mov eax, edi
shl eax, cl
cmp eax, dword [rsp + 0x88]
je 0x100cde11
add ecx, edi
cmp ecx, 0x20
jl 0x100cddf8
mov ecx, 0xffffffff
cmp ecx, 8
jl 0x100ce137
cmp ecx, 0x1f
jg 0x100ce137
mov dword [rbp + 0x1c], ecx
mov eax, dword [rsp + 0x8c]
mov dword [rbp + 0x18], eax
mov eax, edi
shl eax, cl
sub eax, edi
add rax, rdx
shr rax, cl
mov qword [rsp + 0x58], rax
mov r13, rax
shl r13, 2
lea rax, [r13 + 0x10]
mov qword [rbp + 0x20], rax
cmp r13, qword [rsp + 0x38]
jbe 0x100cde8b
test rbx, rbx
je 0x100cde6d
mov rcx, rbx
call sub.msvcrt.dll_free
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], 0
mov rcx, r13
call fcn.10003f74
mov rbx, rax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], r13
mov r8, r13
mov rdx, rbx
mov rcx, qword [rsp + 0x50]
call fcn.1000c5a4
mov r13d, eax
test eax, eax
jne 0x100ce0fc
mov rcx, qword [rbp + 0x28]
call sub.msvcrt.dll_free
mov qword [rbp + 0x28], 0
mov r13, qword [rsp + 0x58]
lea rcx, [r13*8 + 8]
call fcn.10003f74
mov qword [rbp + 0x28], rax
xor edx, edx
xor ecx, ecx
test r13, r13
je 0x100cdef5
mov rax, qword [rbp + 0x28]
mov qword [rax + rcx*8], rdx
mov eax, dword [rbx + rcx*4]
add rdx, rax
cmp rdx, rax
jb 0x100ce10d
add rcx, rdi
cmp rcx, r13
jb 0x100cded6
mov rax, qword [rbp + 0x28]
mov qword [rax + rcx*8], rdx
mov rax, qword [rbp + 0x28]
xor r13d, r13d
cmp qword [rax], r13
jne 0x100ce11b
mov rax, qword [rbp + 0x20]
lea rcx, [rdx + rax]
cmp rcx, qword [r14 + r15]
jne 0x100ce129
mov ecx, dword [rsp + 0x110]
mov rdx, qword [rsp + 0x40]
movabs r8, 0x100000000
add ecx, edi
mov dword [rsp + 0x110], ecx
add rdx, rdi
mov qword [rsp + 0x40], rdx
add r14, 0x40
cmp ecx, dword [rsi + 0x30]
jb 0x100cdc96
mov rbp, qword [rsp + 0x48]
mov r9d, dword [rsp + 0x120]
jmp 0x100cdf7e
mov rbp, qword [rsp + 0x48]
mov r9d, dword [rsp + 0x120]
jmp 0x100cdf7e
mov rbp, qword [rsp + 0x48]
mov r9d, dword [rsp + 0x120]
movsxd r13, r9d
cmp r12d, ecx
jae 0x100ce067
mov rdx, qword [rsi + 0x28]
test byte [rdx + rbp + 0x18], 0x10
je 0x100ce052
xor r14d, r14d
cmp qword [rdx + rbp + 0x10], r14
jne 0x100ce052
mov ecx, r14d
lea rax, [rdx + rbp + 0x2c]
cmp byte [rax], r14b
jne 0x100cdfc4
add ecx, edi
add rax, rdi
cmp ecx, 0x14
jae 0x100ce145
jmp 0x100cdfaf
mov r8, qword [rdx + rbp + 8]
mov r11, r8
mov r10d, r9d
mov r9, r13
cmp r10d, dword [rsi + 0x50]
je 0x100ce153
mov rax, qword [rsi + 0x48]
mov rcx, qword [rax + r9*8]
cmp r11, qword [rcx + 0x10]
jb 0x100cdff6
sub r11, qword [rcx + 0x10]
add r10d, edi
add r9, rdi
jmp 0x100cdfd2
cmp r8, qword [rcx + 8]
jb 0x100ce161
sub r8, qword [rcx + 8]
mov rax, qword [rcx + 0x10]
cmp r8, rax
ja 0x100ce16f
sub rax, r8
cmp qword [rdx + rbp], rax
ja 0x100ce17d
mov dword [rdx + rbp + 0x1c], r10d
cmp dword [rcx + 4], r14d
jge 0x100ce02d
mov dword [rcx + 4], r12d
mov ecx, dword [rsp + 0x28]
mov rax, rcx
add ecx, edi
mov dword [rsp + 0x28], ecx
mov rcx, qword [rsp + 0x20]
mov dword [rcx + rax*4], r12d
mov ecx, dword [rsp + 0x110]
mov r9d, dword [rsp + 0x120]
add r12d, edi
add rbp, 0x40
cmp r12d, ecx
jb 0x100cdf8a
mov rdx, qword [rsp + 0x40]
mov r12d, ecx
xor r13d, r13d
movabs r8, 0x100000000
cmp r12d, dword [rsi + 0x30]
jae 0x100ce18b
jmp 0x100cdc2d
mov rcx, rbx
call sub.msvcrt.dll_free
nop
jmp 0x100ce626
mov rcx, rbx
call sub.msvcrt.dll_free
nop
jmp 0x100ce626
mov rcx, rbx
call sub.msvcrt.dll_free
nop
jmp 0x100ce626
mov rcx, rbx
call sub.msvcrt.dll_free
nop
jmp 0x100ce626
mov rcx, rbx
call sub.msvcrt.dll_free
nop
mov edi, r13d
jmp 0x100ce626
mov rcx, rbx
call sub.msvcrt.dll_free
nop
mov edi, r13d
jmp 0x100ce626
mov rcx, rbx
call sub.msvcrt.dll_free
nop
jmp 0x100ce626
mov rcx, rbx
call sub.msvcrt.dll_free
nop
jmp 0x100ce626
mov rcx, rbx
call sub.msvcrt.dll_free
nop
mov edi, r13d
jmp 0x100ce626
mov rcx, rbx
call sub.msvcrt.dll_free
nop
jmp 0x100ce626
mov rcx, rbx
call sub.msvcrt.dll_free
nop
jmp 0x100ce626
mov rcx, rbx
call sub.msvcrt.dll_free
nop
jmp 0x100ce626
mov rcx, rbx
call sub.msvcrt.dll_free
nop
jmp 0x100ce626
mov rcx, rbx
call sub.msvcrt.dll_free
nop
jmp 0x100ce626
mov rcx, rbx
call sub.msvcrt.dll_free
nop
jmp 0x100ce626
mov rcx, rbx
call sub.msvcrt.dll_free
nop
jmp 0x100ce626
mov rcx, rbx
call sub.msvcrt.dll_free
nop
jmp 0x100ce626
mov rcx, rbx
call sub.msvcrt.dll_free
nop
jmp 0x100ce626
mov rcx, rbx
call sub.msvcrt.dll_free
cmp dword [rsi + 0x50], r13d
jne 0x100ce244
mov r8d, edi
cmp dword [rsi + 0x30], edi
jbe 0x100ce1e9
mov rax, qword [rsi + 0x28]
lea rcx, [rax + 0x60]
lea rdx, [rax + 8]
movzx eax, word [rcx]
cmp word [rdx + 0x18], ax
jb 0x100ce1d8
cmp word [rdx + 0x18], ax
ja 0x100ce1e9
mov rax, qword [rcx - 0x18]
cmp qword [rdx], rax
jb 0x100ce1d8
cmp qword [rdx], rax
ja 0x100ce1e9
mov rax, qword [rcx - 0x20]
cmp qword [rcx - 0x60], rax
ja 0x100ce1e9
add r8d, edi
add rdx, 0x40
add rcx, 0x40
cmp r8d, dword [rsi + 0x30]
jb 0x100ce1b1
cmp r8d, dword [rsi + 0x30]
jae 0x100ce202
lea rcx, [rsi + 0x28]
xor r8d, r8d
lea rdx, [0x100cb654]
call fcn.100cb8d0
mov r8d, edi
cmp dword [rsi + 0x30], edi
jbe 0x100ce244
mov rax, qword [rsi + 0x28]
lea rcx, [rax + 0x60]
lea rdx, [rax + 8]
movzx eax, word [rcx]
cmp word [rdx + 0x18], ax
jne 0x100ce22c
mov rax, qword [rcx - 0x60]
add rax, qword [rdx]
cmp rax, qword [rcx - 0x18]
ja 0x100ce23f
add r8d, edi
add rdx, 0x40
add rcx, 0x40
cmp r8d, dword [rsi + 0x30]
jb 0x100ce216
jmp 0x100ce244
jmp 0x100ce626
mov rbx, qword [rsi + 0x28]
cmp byte [rsi + 0x99], r13b
je 0x100ce2ac
mov r8, rbx
lea rdx, [0x100cb6ac]
lea rcx, [rsp + 0x20]
call fcn.10084e94
mov r11d, edi
mov r14d, dword [rsp + 0x28]
cmp r14d, edi
jbe 0x100ce340
mov r15, qword [rsp + 0x20]
lea rdx, [r15 + 4]
mov ecx, dword [rdx - 4]
shl rcx, 6
mov eax, dword [rdx]
shl rax, 6
mov eax, dword [rax + rbx + 0x28]
cmp dword [rcx + rbx + 0x28], eax
jae 0x100ce2a7
add r11d, edi
add rdx, 4
cmp r11d, r14d
jb 0x100ce27f
jmp 0x100ce353
jmp 0x100ce626
mov r8, rbx
lea rdx, [0x100cac1c]
lea rcx, [rsp + 0x20]
call fcn.10084e94
mov r14d, dword [rsp + 0x28]
cmp r14d, r13d
je 0x100ce347
mov edx, r13d
mov r11, qword [rsp + 0x20]
mov eax, dword [r11]
shl rax, 6
lea rcx, [rax + rbx + 0x2c]
cmp byte [rcx], r13b
jne 0x100ce2f4
add edx, edi
add rcx, rdi
cmp edx, 0x14
jb 0x100ce2de
mov byte [rsi + 0x9d], dil
mov r12d, edi
cmp r14d, edi
jbe 0x100ce34e
lea rbp, [r11 + 4]
mov eax, dword [rbp]
shl rax, 6
lea rdx, [rax + rbx + 0x2c]
mov eax, dword [rbp - 4]
shl rax, 6
lea rcx, [rax + rbx + 0x2c]
mov r8d, 0x14
call sub.msvcrt.dll_memcmp
cmp eax, r13d
jge 0x100ce33b
add r12d, edi
add rbp, 4
cmp r12d, r14d
jb 0x100ce300
mov r15, qword [rsp + 0x20]
jmp 0x100ce353
jmp 0x100ce626
mov r15, qword [rsp + 0x20]
jmp 0x100ce353
mov r15, qword [rsp + 0x20]
jmp 0x100ce353
mov r15, qword [rsp + 0x20]
mov r12d, r13d
mov dword [rsp + 0x110], r13d
cmp dword [rsi + 0x60], r13d
jbe 0x100ce4e1
mov r8, r13
mov r11, qword [rsi + 0x58]
mov dword [r8 + r11 + 0xc], 0xffffffff
mov ecx, dword [r8 + r11 + 0x14]
mov rax, qword [rsi + 0x88]
mov rcx, qword [rax + rcx*8]
mov r9, qword [rcx]
add r9, qword [r8 + r11]
cmp byte [rsi + 0x99], r13b
je 0x100ce408
cmp byte [r8 + r11 + 0x18], r13b
jne 0x100ce4be
mov al, byte [r8 + r11 + 0x19]
neg al
sbb rcx, rcx
and rcx, 0xfffffffffffffff8
mov ebx, dword [r9 + rcx + 0x10]
cmp ebx, r13d
je 0x100ce4be
mov rbp, qword [rsi + 0x28]
mov r9d, r13d
mov r10d, r14d
cmp r14d, r13d
je 0x100ce3f9
lea ecx, [r10 + r9]
shr ecx, 1
mov edx, dword [r15 + rcx*4]
mov rax, rdx
shl rax, 6
cmp ebx, dword [rax + rbp + 0x28]
je 0x100ce3fe
cmp ebx, dword [rax + rbp + 0x28]
jae 0x100ce3f0
mov r10d, ecx
jmp 0x100ce3f4
lea r9d, [rcx + 1]
cmp r9d, r10d
jne 0x100ce3ce
mov edx, 0xffffffff
mov dword [r8 + r11 + 0xc], edx
jmp 0x100ce4be
mov al, byte [r8 + r11 + 0x19]
neg al
sbb rcx, rcx
and rcx, 0xffffffffffffffd0
add rcx, 0x40
add r9, rcx
mov ecx, r13d
mov rax, r9
cmp byte [rax], r13b
jne 0x100ce437
add ecx, edi
add rax, rdi
cmp ecx, 0x14
jb 0x100ce423
jmp 0x100ce4be
mov rcx, qword [rsi + 0x28]
mov r12d, r13d
mov r13d, r14d
test r14d, r14d
je 0x100ce4a9
lea ebx, [r13 + r12]
shr ebx, 1
mov ebp, dword [r15 + rbx*4]
mov rax, rbp
shl rax, 6
lea r15, [rax + rcx + 0x2c]
xor r10d, r10d
xor ecx, ecx
mov rdx, r15
mov r14, r9
sub r14, r15
mov al, byte [rdx]
cmp byte [r14 + rdx], al
jne 0x100ce482
add r10d, edi
add rcx, rdi
add rdx, rdi
cmp r10d, 0x14
jb 0x100ce46b
cmp r10d, 0x14
je 0x100ce4ae
mov al, byte [r15 + rcx]
cmp byte [rcx + r9], al
jae 0x100ce497
mov r13d, ebx
jmp 0x100ce49b
lea r12d, [rbx + 1]
cmp r12d, r13d
mov rcx, qword [rsi + 0x28]
mov r15, qword [rsp + 0x20]
jne 0x100ce446
mov ebp, 0xffffffff
mov dword [r8 + r11 + 0xc], ebp
mov r12d, dword [rsp + 0x110]
xor r13d, r13d
add r12d, edi
mov dword [rsp + 0x110], r12d
add r8, 0x20
cmp r12d, dword [rsi + 0x60]
mov r14d, dword [rsp + 0x28]
mov r15, qword [rsp + 0x20]
jb 0x100ce36b
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x3c], r13d
mov ebx, dword [rsi + 0x30]
mov edx, ebx
lea rcx, [rsp + 0x30]
call fcn.1000c670
mov dword [rsp + 0x38], ebx
mov ecx, r13d
mov rbp, qword [rsp + 0x30]
cmp dword [rsi + 0x30], r13d
jbe 0x100ce522
mov rax, rbp
mov dword [rax], r13d
add ecx, edi
add rax, 4
cmp ecx, dword [rsi + 0x30]
jb 0x100ce514
mov edx, r13d
cmp dword [rsi + 0x60], r13d
jbe 0x100ce54c
mov rcx, r13
mov rax, qword [rsi + 0x58]
mov r8d, dword [rcx + rax + 0xc]
cmp r8d, r13d
jl 0x100ce541
add dword [rbp + r8*4], edi
add edx, edi
add rcx, 0x20
cmp edx, dword [rsi + 0x60]
jb 0x100ce52e
xor r14d, r14d
cmp dword [rsi + 0x30], r14d
jbe 0x100ce61a
mov rbx, r14
mov r12, rbp
movabs r15, 0x100000000
mov rcx, qword [rsi + 0x28]
mov eax, dword [r12]
cmp dword [rbx + rcx + 0x24], eax
je 0x100ce58c
test byte [rbx + rcx + 0x18], 0x10
je 0x100ce585
cmp qword [rbx + rcx + 0x10], r15
je 0x100ce58c
mov byte [rsi + 0x9c], dil
cmp dword [r12], r14d
jne 0x100ce605
test byte [rbx + rcx + 0x18], 0x10
je 0x100ce5b2
cmp qword [rbx + rcx + 0x10], r15
jne 0x100ce5b2
mov ecx, dword [rbx + rcx + 0x1c]
mov rax, qword [rsi + 0x48]
mov rcx, qword [rax + rcx*8]
cmp dword [rcx + 4], r14d
jge 0x100ce605
mov eax, 0xffffffff
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x70], eax
mov byte [rsp + 0x78], r14b
mov byte [rsp + 0x79], r14b
mov qword [rsp + 0x60], r14
mov dword [rsp + 0x6c], r13d
mov dword [rsp + 0x74], eax
lea rcx, [rsp + 0xa0]
lea rdx, [rsp + 0x60]
lea r8d, [rax + 0x21]
call sub.msvcrt.dll_memcpy
lea rcx, [rsi + 0x58]
lea rdx, [rsp + 0xa0]
call fcn.100cd00c
mov byte [rsi + 0x9a], dil
add r13d, edi
add r12, 4
add rbx, 0x40
cmp r13d, dword [rsi + 0x30]
jb 0x100ce569
mov rcx, rbp
call sub.msvcrt.dll_free
nop
mov edi, r14d
mov rcx, qword [rsp + 0x20]
call sub.msvcrt.dll_free
mov eax, edi
add rsp, 0xc8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret