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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x88
mov rdi, qword [rcx]
xor ebx, ebx
mov r12, qword [r8 + 0x60]
mov r15, r8
movsxd rsi, edx
mov rbp, rcx
mov qword [rsp + 0x50], r12
mov r14, qword [rdi + 0x10]
mov rax, qword [rdi + 0x60]
mov qword [rdi + 0x60], rbx
mov qword [rsp + 0x68], rax
mov rax, qword [rdi + 0x68]
mov qword [rdi + 0x68], rbx
movsxd rdx, dword [r14 + 0x90]
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x40], edx
cmp dword [r14 + 0x94], edx
jg 0x1400cca7f
xor r9d, r9d
mov dword [rsp + 0x20], ebx
xor r8d, r8d
lea edx, [rbx + 0xf]
mov rcx, r14
call fcn.140047e40
mov dword [rsp + 0x40], eax
jmp 0x1400ccaa6
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [r14 + 0x90], eax
mov rax, qword [r14 + 0x88]
mov qword [rax + rcx*8], 0xf
mov qword [rax + rcx*8 + 8], rbx
mov qword [rax + rcx*8 + 0x10], rbx
mov qword [rsp + 0x48], rsi
nop dword [rax + rax]
mov r8, r15
mov rdx, rbp
mov rcx, rdi
call fcn.1400c0830
dec dword [rdi + 0x44]
mov r9d, dword [rdi + 0x38]
mov r13d, dword [r15 + 4]
inc r9d
mov eax, dword [rdi + 0x44]
mov dword [rsp + 0x38], eax
mov dword [rdi + 0x38], r9d
mov dword [r15 + 0x34], r9d
movzx r15d, byte [r15 + 0x40]
mov rbp, qword [rbp + 8]
imul rcx, r15, 0x68
mov dword [rsp + 0x34], r13d
mov rax, qword [rcx + rbp + 0x28]
movsx ecx, word [rax + 0x3a]
mov eax, 0x66666667
imul ecx
mov r8d, edx
sar r8d, 2
mov eax, r8d
shr eax, 0x1f
add r8d, eax
lea eax, [r8 + r8*4]
add eax, eax
sub ecx, eax
movsxd rdx, ecx
cmp rdx, 5
jb 0x1400ccb24
sub rdx, 2
jmp 0x1400ccb2d
cmp rdx, 1
jb 0x1400ccb2d
dec rdx
cmp r8w, 0x3c
jg 0x1400ccb71
add rdx, 8
movsx ecx, r8w
cmp r8w, 3
jl 0x1400ccb4b
add ecx, 0xfffffffd
shl rdx, cl
jmp 0x1400ccb58
mov eax, 3
sub eax, ecx
movzx ecx, al
shr rdx, cl
cmp rdx, 0x2710
jae 0x1400ccb68
mov edx, 0x2710
jmp 0x1400ccb76
cmp rdx, 0x989680
jbe 0x1400ccb76
mov edx, 0x989680
movsxd rcx, dword [r14 + 0x90]
cmp dword [r14 + 0x94], ecx
jg 0x1400ccb9c
mov r8d, edx
mov dword [rsp + 0x20], ebx
mov edx, 0x4d
mov rcx, r14
call fcn.140047e40
jmp 0x1400ccbca
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x4d
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], rbx
movsxd rdx, dword [r14 + 0x90]
mov dword [rsp + 0x3c], edx
cmp dword [r14 + 0x94], edx
jg 0x1400ccbfa
xor r9d, r9d
mov dword [rsp + 0x20], ebx
mov r8d, r13d
mov rcx, r14
lea edx, [r9 + 0x24]
call fcn.140047e40
mov dword [rsp + 0x3c], eax
jmp 0x1400ccc29
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [r14 + 0x90], eax
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x24
mov dword [rax + rcx*8 + 4], r13d
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rbx
mov rax, qword [rsp + 0xd0]
mov rbx, qword [rax + 0x90]
movsxd rax, dword [rax + 0x84]
imul rsi, rax, 0x38
add rsi, rbx
cmp rbx, rsi
jae 0x1400ccc8a
mov r12d, dword [rsp + 0x38]
test byte [rbx + 0x12], 2
jne 0x1400ccc7c
mov rcx, qword [rbx]
mov r8d, r15d
mov rdx, rbp
call fcn.140065590
test eax, eax
je 0x1400ccc7c
mov rdx, qword [rbx]
mov r9d, 0x10
mov r8d, r12d
mov rcx, rdi
call fcn.14006cbb0
add rbx, 0x38
cmp rbx, rsi
jb 0x1400ccc50
mov r12, qword [rsp + 0x50]
test dword [r12 + 0x38], 0x100
je 0x1400ccda1
movzx eax, byte [rdi + 0x1f]
test al, al
jne 0x1400ccca9
inc dword [rdi + 0x38]
mov ebx, dword [rdi + 0x38]
jmp 0x1400cccb8
dec al
movzx eax, al
mov byte [rdi + 0x1f], al
mov ebx, dword [rdi + rax*4 + 0xe8]
movsxd rcx, dword [r14 + 0x90]
xor esi, esi
cmp dword [r14 + 0x94], ecx
jg 0x1400ccce3
mov r9d, ebx
mov dword [rsp + 0x20], esi
mov r8d, r13d
mov edx, 0x87
mov rcx, r14
call fcn.140047e40
jmp 0x1400ccd11
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x87
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rsi
mov r15, qword [rsp + 0xe0]
movsxd rcx, dword [r14 + 0x90]
mov edx, dword [r15 + 0x34]
cmp dword [r14 + 0x94], ecx
jg 0x1400ccd4e
mov r8d, edx
mov dword [rsp + 0x28], 1
mov edx, 0xb5
mov dword [rsp + 0x20], ebx
xor r9d, r9d
mov rcx, r14
call fcn.140047ea0
jmp 0x1400ccd7e
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0xfdb5
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], ebx
mov dword [rax + rcx*8 + 0x10], 1
test ebx, ebx
je 0x1400ccf7d
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x1400ccf7d
mov dword [rdi + rax*4 + 0xe8], ebx
inc byte [rdi + 0x1f]
jmp 0x1400ccf7d
movzx esi, word [r12 + 0x18]
mov r13, qword [r12 + 0x20]
mov dword [rsp + 0x44], esi
cmp esi, 1
jne 0x1400ccde6
movzx eax, byte [rdi + 0x1f]
test al, al
jne 0x1400ccdcd
inc dword [rdi + 0x38]
lea r8, [rdi + 0x28]
mov eax, dword [rdi + 0x38]
mov dword [rsp + 0x30], eax
jmp 0x1400cce14
dec al
lea r8, [rdi + 0x28]
movzx eax, al
mov byte [rdi + 0x1f], al
mov eax, dword [rdi + rax*4 + 0xe8]
mov dword [rsp + 0x30], eax
jmp 0x1400cce14
mov ecx, dword [rdi + 0x28]
lea r8, [rdi + 0x28]
mov edx, dword [rdi + 0x2c]
mov dword [rsp + 0x30], edx
cmp esi, ecx
jg 0x1400cce05
lea eax, [rdx + rsi]
sub ecx, esi
mov dword [rdi + 0x2c], eax
mov dword [r8], ecx
jmp 0x1400cce14
mov eax, dword [rdi + 0x38]
lea ecx, [rax + 1]
add eax, esi
mov dword [rdi + 0x38], eax
mov dword [rsp + 0x30], ecx
xor r9d, r9d
mov rbx, r8
mov r15d, r9d
test esi, esi
je 0x1400ccee0
mov ebp, dword [rsp + 0x30]
mov r12d, r9d
mov r14, rsi
nop
mov rax, qword [r13 + 8]
movsx ecx, word [rax + r15*2]
cmp cx, 0xfffe
jne 0x1400cce9c
mov eax, dword [rsp + 0x34]
mov rsi, qword [rdi]
inc eax
mov dword [rdi + 0x40], eax
mov rax, qword [r13 + 0x50]
mov rdx, qword [rax + r12 + 8]
test rdx, rdx
je 0x1400cce6c
xor r9d, r9d
xor r8d, r8d
mov rcx, rsi
call fcn.140063840
mov rbx, rax
jmp 0x1400cce6f
mov rbx, r9
cmp byte [rsi + 0x67], 0
jne 0x1400cce83
mov r8d, ebp
mov rdx, rbx
mov rcx, rdi
call fcn.14006c000
test rbx, rbx
je 0x1400cce93
mov rdx, rbx
mov rcx, rsi
call fcn.140063580
xor r9d, r9d
mov dword [rdi + 0x40], r9d
jmp 0x1400cceb8
mov r8d, dword [rsp + 0x34]
mov r9d, ecx
mov rcx, qword [rdi + 0x10]
mov rdx, qword [r13 + 0x18]
mov dword [rsp + 0x20], ebp
call fcn.140068f00
xor r9d, r9d
inc ebp
inc r15
add r12, 0x20
cmp r15, r14
jl 0x1400cce30
mov r14, qword [rsp + 0x58]
lea rbx, [rdi + 0x28]
mov esi, dword [rsp + 0x44]
lea r8, [rdi + 0x28]
mov r12, qword [rsp + 0x50]
mov r15, qword [rsp + 0xe0]
movsxd rcx, dword [r14 + 0x90]
mov edx, dword [r15 + 0x34]
cmp dword [r14 + 0x94], ecx
jg 0x1400ccf21
mov eax, dword [rsp + 0x30]
mov r8d, edx
mov edx, 0xb5
mov dword [rsp + 0x28], esi
xor r9d, r9d
mov dword [rsp + 0x20], eax
mov rcx, r14
call fcn.140047ea0
mov edx, dword [rsp + 0x30]
jmp 0x1400ccf55
lea eax, [rcx + 1]
mov rbx, r8
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x30]
mov dword [rax + rcx*8 + 0xc], edx
mov dword [rax + rcx*8], 0xfdb5
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0x10], esi
cmp esi, 1
jne 0x1400ccf72
test edx, edx
je 0x1400ccf7b
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x1400ccf7b
mov dword [rdi + rax*4 + 0xe8], edx
inc byte [rdi + 0x1f]
jmp 0x1400ccf7b
cmp esi, dword [rbx]
jle 0x1400ccf7b
mov dword [rbx], esi
mov dword [rdi + 0x2c], edx
xor esi, esi
mov rcx, qword [r14 + 0x18]
mov edx, dword [rsp + 0x38]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x1400ccf9c
mov r8d, edx
mov rdx, r14
call fcn.1400485d0
jmp 0x1400ccfad
mov rcx, qword [rcx + 0x50]
mov eax, dword [r14 + 0x90]
movsxd rdx, edx
mov dword [rcx + rdx*4], eax
movsxd rbx, dword [rsp + 0x3c]
movsxd rcx, dword [r14 + 0x90]
mov r8d, dword [r15 + 4]
lea edx, [rbx + 1]
cmp dword [r14 + 0x94], ecx
jg 0x1400ccfdf
mov r9d, edx
mov dword [rsp + 0x20], esi
mov edx, 0x27
mov rcx, r14
call fcn.140047e40
jmp 0x1400cd00d
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x27
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rsi
mov rax, qword [r14]
lea r11, [0x14011c8c8]
mov edx, dword [r14 + 0x90]
cmp byte [rax + 0x67], 0
je 0x1400cd029
mov rax, r11
jmp 0x1400cd038
mov rax, qword [r14 + 0x88]
lea rcx, [rbx + rbx*2]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
and dword [r12 + 0x38], 0xffbfffff
mov rax, qword [rdi]
test dword [rax + 0x60], 0x100000
jne 0x1400cd10e
mov esi, dword [rsp + 0xd8]
mov rbx, qword [rsp + 0x48]
inc esi
mov rbp, qword [rsp + 0xd0]
inc rbx
mov dword [rsp + 0xd8], esi
mov qword [rsp + 0x48], rbx
movzx r10d, byte [rbp + 0x40]
cmp esi, r10d
jge 0x1400cd103
mov r9, qword [rbp + 8]
mov r14, qword [rsp + 0xe8]
imul rdx, rbx, 0x70
add rdx, 0x3c0
add rdx, rbp
movzx eax, byte [rdx - 0x20]
lea r15, [rdx - 0x60]
imul rcx, rax, 0x68
mov qword [rsp + 0xe0], r15
test byte [rcx + r9 + 0x44], 0x48
jne 0x1400cd0dc
mov r12, qword [rdx]
test r12, r12
je 0x1400cd0dc
test qword [r12], r14
jne 0x1400cd0dc
mov eax, dword [r12 + 0x38]
and eax, 0x400004
cmp eax, 0x400000
je 0x1400cd0ea
inc esi
inc rbx
add rdx, 0x70
cmp rbx, r10
jl 0x1400cd0a1
mov r14, qword [rsp + 0x58]
cmp esi, r10d
mov dword [rsp + 0xd8], esi
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], r12
mov ebx, 0
jl 0x1400ccab0
mov rax, qword [r14]
mov edx, dword [r14 + 0x90]
cmp byte [rax + 0x67], 0
jne 0x1400cd132
movsxd rax, dword [rsp + 0x40]
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
lea r11, [rax + rcx*8]
mov rax, qword [rsp + 0x68]
mov dword [r11 + 8], edx
mov qword [rdi + 0x60], rax
mov rax, qword [rsp + 0x70]
mov qword [rdi + 0x68], rax
add rsp, 0x88
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret