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

Disassembly:
push r15
push r14
push r13
push r12
push rbx
sub rsp, 0x50
mov r13, rcx
mov rcx, qword [rcx + 0x128]
lea r14, [rsp + 0x3c]
test rcx, rcx
je 0x1401cbe58
mov dword [rsp + 0x3c], 0
lea r15, [rsp + 0x40]
call fcn.140163fc0
mov dword [rsp + 0x40], 0
mov rbx, qword [r13 + 0x128]
nop word cs:[rax + rax]
mov r9, r15
xor r8d, r8d
mov rdx, r14
mov rcx, rbx
call fcn.1401cb540
mov r12d, eax
cmp eax, 0xffffffff
je 0x1401cbdd0
or eax, dword [rsp + 0x3c]
je 0x1401cbe25
mov rax, qword [r13 + 0x70]
add dword [r13 + 0x84], 1
test rax, rax
je 0x1401cbe10
mov dword [rax + 0x18], 1
mov rax, qword [rax + 0x40]
test rax, rax
jne 0x1401cbe00
mov rcx, qword [r13 + 0x120]
xor edx, edx
call fcn.140160900
cmp byte [r13 + 0x1b], 0
jne 0x1401cbe98
movabs rax, 0xff00000000ff
and rax, qword [r13 + 0x10]
jne 0x1401cbe7e
test r12d, r12d
je 0x1401cbe6f
mov rcx, r13
call fcn.14016ae80
mov eax, r12d
add rsp, 0x50
pop rbx
pop r12
pop r13
pop r14
pop r15
ret
cmp byte [r13 + 0x15], 0
je 0x1401cbeb0
movabs rax, 0xff00000000ff
and rax, qword [r13 + 0x10]
jne 0x1401cbe83
lea rdx, [r13 + 0x20]
mov rcx, r13
call fcn.140154c30
mov r12d, eax
test r12d, r12d
jne 0x1401cbe3a
mov byte [r13 + 0x15], 1
xor r12d, r12d
mov byte [r13 + 0x1c], 1
jmp 0x1401cbe42
mov rcx, qword [r13 + 0x48]
xor r8d, r8d
xor edx, edx
mov rax, qword [rcx]
call qword [rax + 0x90]
jmp 0x1401cbe25
mov edx, 1
mov rcx, r13
call fcn.1401605a0
mov r12d, eax
test eax, eax
jne 0x1401cbe3a
cmp byte [r13 + 0x16], 1
jbe 0x1401cbf50
cmp byte [r13 + 0x12], 0
mov r12d, 0x308
jne 0x1401cbe3a
mov edx, 4
mov rcx, r13
call fcn.14015ce60
mov r12d, eax
test eax, eax
jne 0x1401cbe3a
mov rax, qword [r13 + 0x50]
cmp qword [rax], 0
je 0x1401cc100
mov rcx, r13
call fcn.140162c70
mov r12d, eax
test eax, eax
je 0x1401cc1dc
movzx eax, r12b
cmp r12b, 0xd
je 0x1401cbf30
cmp eax, 0xa
jne 0x1401cbe3a
lea rax, [0x140154e10]
mov dword [r13 + 0x30], r12d
mov byte [r13 + 0x15], 6
mov qword [r13 + 0x110], rax
jmp 0x1401cbe3a
mov rax, qword [r13 + 0x50]
mov rbx, qword [r13]
mov dword [rsp + 0x34], 1
mov r15, qword [rax]
test r15, r15
je 0x1401cc0ca
mov rcx, qword [r13 + 0x48]
mov dword [rsp + 0x38], 0
lea rdx, [rsp + 0x38]
mov rax, qword [rcx]
call qword [rax + 0x48]
mov r12d, eax
test eax, eax
jne 0x1401cbe3a
mov ecx, dword [rsp + 0x38]
test ecx, ecx
je 0x1401cc1f8
cmp byte [r13 + 0x10], 0
jne 0x1401cc0b0
cmp byte [r13 + 0x1c], 0
je 0x1401cc05e
mov rcx, qword [r13 + 0x48]
lea r15, [rsp + 0x40]
mov r9d, 0x18
mov r8d, 0x10
mov rdx, r15
mov rax, qword [rcx]
call qword [rax + 0x10]
mov r12d, eax
test eax, eax
je 0x1401cbff2
cmp eax, 0x20a
jne 0x1401cbe3a
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x48], 0
mov rax, qword [r13 + 0x88]
mov rdx, qword [r13 + 0x90]
xor rax, qword [rsp + 0x40]
xor rdx, qword [rsp + 0x48]
or rdx, rax
je 0x1401cc057
mov rax, qword [r13 + 0x70]
add dword [r13 + 0x84], 1
test rax, rax
je 0x1401cc030
mov dword [rax + 0x18], 1
mov rax, qword [rax + 0x40]
test rax, rax
jne 0x1401cc020
mov rcx, qword [r13 + 0x120]
xor edx, edx
call fcn.140160900
cmp byte [r13 + 0x1b], 0
je 0x1401cc057
mov rcx, qword [r13 + 0x48]
xor r8d, r8d
xor edx, edx
mov rax, qword [rcx]
call qword [rax + 0x90]
cmp byte [r13 + 0x10], 0
jne 0x1401cc0b0
mov rax, qword [r13]
lea r14, [rsp + 0x3c]
mov rdx, qword [r13 + 0x130]
xor r8d, r8d
mov r9, r14
mov rcx, rax
call qword [rax + 0x38]
mov r12d, eax
test eax, eax
jne 0x1401cc09b
mov r12d, dword [rsp + 0x3c]
test r12d, r12d
jne 0x1401cc190
cmp byte [r13 + 9], 5
jne 0x1401cc09b
mov byte [r13 + 9], 0
mov rcx, qword [r13 + 0x128]
test rcx, rcx
jne 0x1401cbda5
jmp 0x1401cbe25
mov rcx, qword [r13 + 0x128]
lea r14, [rsp + 0x3c]
test rcx, rcx
jne 0x1401cbda5
jmp 0x1401cbe5f
mov rdx, qword [r13 + 0xe0]
lea r9, [rsp + 0x34]
xor r8d, r8d
mov rcx, rbx
call qword [rbx + 0x38]
mov r12d, eax
test eax, eax
jne 0x1401cbe3a
mov eax, dword [rsp + 0x34]
test eax, eax
je 0x1401cbf9a
jmp 0x1401cbf6c
cmp byte [r13 + 9], 2
je 0x1401cc141
mov rbx, qword [r13]
xor r8d, r8d
lea r9, [rsp + 0x3c]
mov rdx, qword [r13 + 0xe0]
mov rcx, rbx
call qword [rbx + 0x38]
test eax, eax
jne 0x1401cc265
cmp dword [rsp + 0x3c], 0
mov r8, qword [r13 + 0x50]
jne 0x1401cc298
cmp qword [r8], 0
jne 0x1401cbf0a
cmp byte [r13 + 8], 0
jne 0x1401cbf9a
mov rcx, qword [r13 + 0x48]
mov rax, qword [rcx]
test rax, rax
je 0x1401cc173
cmp byte [r13 + 0x11], 0
jne 0x1401cc167
mov edx, 1
call qword [rax + 0x40]
cmp byte [r13 + 0x16], 5
je 0x1401cc173
mov byte [r13 + 0x16], 1
movzx eax, byte [r13 + 0x10]
mov byte [r13 + 0x17], al
test r12d, r12d
je 0x1401cbf9a
jmp 0x1401cbf1d
lea r15, [rsp + 0x40]
mov rcx, r13
mov rdx, r15
call fcn.140154c30
mov r12d, eax
test eax, eax
jne 0x1401cc09b
mov edx, dword [rsp + 0x40]
test edx, edx
jne 0x1401cc286
mov rcx, qword [r13]
mov rax, qword [rcx + 0x30]
test rax, rax
je 0x1401cc09b
mov rdx, qword [r13 + 0x130]
xor r8d, r8d
call rax
mov r12d, eax
jmp 0x1401cc09b
xor edx, edx
cmp byte [r13 + 0x10], 0
mov rcx, r13
sete dl
call fcn.1401b5dc0
mov byte [r13 + 0x15], 0
mov r12d, eax
jmp 0x1401cc17c
lea r14, [rsp + 0x3c]
mov rcx, r13
mov rdx, r14
call fcn.140154c30
mov r12d, eax
test eax, eax
jne 0x1401cbe3a
cmp dword [rsp + 0x3c], 0
jne 0x1401cc2df
test r15, r15
je 0x1401cc38b
mov rcx, qword [r13 + 0x50]
mov byte [rsp + 0x40], 0
lea r15, [rsp + 0x40]
xor r9d, r9d
mov r8d, 1
mov rdx, r15
mov rax, qword [rcx]
call qword [rax + 0x10]
mov r12d, eax
cmp eax, 0x20a
jne 0x1401cc370
cmp byte [rsp + 0x40], 0
je 0x1401cbf9a
jmp 0x1401cbed3
mov r12d, eax
mov rax, qword [r13 + 0x50]
cmp qword [rax], 0
jne 0x1401cbf0a
cmp byte [r13 + 8], 0
jne 0x1401cbf1d
jmp 0x1401cc14c
xor edx, edx
mov rcx, r13
call fcn.14016a9a0
mov r12d, eax
jmp 0x1401cc09b
lea r15, [rsp + 0x40]
mov rdx, qword [r13 + 0xe0]
mov r9d, 0x802
mov rcx, rbx
mov dword [rsp + 0x40], 0
mov qword [rsp + 0x20], r15
call qword [rbx + 0x28]
test eax, eax
jne 0x1401cc265
test byte [rsp + 0x40], 1
jne 0x1401cc412
mov rax, qword [r13 + 0x50]
cmp qword [rax], 0
jne 0x1401cbf0a
jmp 0x1401cc141
test r15, r15
jne 0x1401cc227
lea r15, [rsp + 0x40]
mov rcx, rbx
mov r8, qword [r13 + 0x50]
mov dword [rsp + 0x40], 0x801
mov qword [rsp + 0x20], r15
mov rdx, qword [r13 + 0xe0]
mov r9d, 0x801
call qword [rbx + 0x28]
mov ebx, eax
test eax, eax
je 0x1401cc328
mov r12d, eax
cmp eax, 0xe
jne 0x1401cbe3a
jmp 0x1401cbed3
mov rcx, qword [r13 + 0x50]
mov byte [rsp + 0x40], 0
xor r9d, r9d
mov rdx, r15
mov r8d, 1
mov rax, qword [rcx]
call qword [rax + 0x10]
mov r12d, eax
cmp eax, 0x20a
je 0x1401cc479
mov r14, qword [r13 + 0x50]
mov ebx, r12d
mov rax, qword [r14]
test rax, rax
je 0x1401cc370
mov rcx, r14
mov r12d, ebx
call qword [rax + 8]
mov qword [r14], 0
movzx eax, byte [rsp + 0x40]
test r12d, r12d
jne 0x1401cbe3a
test al, al
je 0x1401cbf9a
jmp 0x1401cbed3
mov rax, qword [0x1404f5690]
test rax, rax
je 0x1401cc399
call rax
mov edx, 2
mov rcx, r13
call fcn.14015ce60
test eax, eax
jne 0x1401cc3c9
mov rax, qword [rbx + 0x30]
test rax, rax
je 0x1401cc3c2
mov rdx, qword [r13 + 0xe0]
xor r8d, r8d
mov rcx, rbx
call rax
cmp byte [r13 + 8], 0
je 0x1401cc3e0
mov rax, qword [0x1404f5698]
test rax, rax
je 0x1401cbf9a
call rax
jmp 0x1401cbf9a
mov rcx, qword [r13 + 0x48]
mov rax, qword [rcx]
test rax, rax
je 0x1401cc407
cmp byte [r13 + 0x11], 0
jne 0x1401cc3fb
mov edx, 1
call qword [rax + 0x40]
cmp byte [r13 + 0x16], 5
je 0x1401cc407
mov byte [r13 + 0x16], 1
movzx eax, byte [r13 + 0x10]
mov byte [r13 + 0x17], al
jmp 0x1401cc3c9
lea rax, [0x14043f1ac]
mov r9d, 0xf239
lea r8, str.cannot_open_file
mov ecx, 0xe
mov qword [rsp + 0x20], rax
lea rdx, str._s_at_line__d_of___.10s_
call fcn.14019a9e0
mov rbx, qword [r13 + 0x50]
mov rax, qword [rbx]
test rax, rax
je 0x1401cc463
mov rcx, rbx
call qword [rax + 8]
mov rax, qword [r13 + 0x50]
mov qword [rbx], 0
cmp qword [rax], 0
jne 0x1401cbf0a
cmp byte [r13 + 8], 0
mov r12d, 0xe
jne 0x1401cbe3a
jmp 0x1401cc14c
mov r14, qword [r13 + 0x50]
mov rax, qword [r14]
test rax, rax
jne 0x1401cc360
movzx eax, byte [rsp + 0x40]
jmp 0x1401cc37e