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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rbx
sub rsp, 0x58
mov r13, rcx
mov rcx, qword [rcx + 0x128]
test rcx, rcx
je 0x1401c5df0
mov dword [rsp + 0x40], 0
xor ebx, ebx
lea r14, [rsp + 0x40]
call fcn.1401658b0
mov rsi, qword [r13 + 0x128]
nop dword [rax]
add ebx, 1
xor r8d, r8d
mov rdx, r14
mov rcx, rsi
mov r9d, ebx
call fcn.1401c5490
mov r12d, eax
cmp eax, 0xffffffff
je 0x1401c5d10
or eax, dword [rsp + 0x40]
jne 0x1401c5d70
movabs rax, 0xff00000000ff
and rax, qword [r13 + 0x10]
jne 0x1401c5dd3
test r12d, r12d
je 0x1401c5e07
mov rcx, r13
call fcn.14016c4c0
mov eax, r12d
add rsp, 0x58
pop rbx
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [r13 + 0x70]
add dword [r13 + 0x84], 1
test rax, rax
je 0x1401c5d98
nop dword [rax]
mov dword [rax + 0x18], 1
mov rax, qword [rax + 0x40]
test rax, rax
jne 0x1401c5d88
mov rcx, qword [r13 + 0x120]
xor edx, edx
call fcn.140162830
cmp byte [r13 + 0x1b], 0
je 0x1401c5d32
mov rcx, qword [r13 + 0x48]
xor r8d, r8d
xor edx, edx
mov rax, qword [rcx]
call qword [rax + 0x90]
movabs rax, 0xff00000000ff
and rax, qword [r13 + 0x10]
je 0x1401c5d46
test r12d, r12d
jne 0x1401c5d4f
mov byte [r13 + 0x15], 1
xor r12d, r12d
mov byte [r13 + 0x1c], 1
jmp 0x1401c5d57
cmp byte [r13 + 0x15], 0
je 0x1401c5e20
movabs rax, 0xff00000000ff
and rax, qword [r13 + 0x10]
jne 0x1401c5ddc
lea rdx, [r13 + 0x20]
mov rcx, r13
call fcn.140157d00
mov r12d, eax
jmp 0x1401c5dd3
mov edx, 1
mov rcx, r13
call fcn.140162390
mov r12d, eax
test eax, eax
jne 0x1401c5d4f
cmp byte [r13 + 0x16], 1
jbe 0x1401c5ec0
cmp byte [r13 + 0x12], 0
mov r12d, 0x308
jne 0x1401c5d4f
mov edx, 4
mov rcx, r13
call fcn.14015e370
mov r12d, eax
test eax, eax
jne 0x1401c5d4f
mov rax, qword [r13 + 0x50]
cmp qword [rax], 0
je 0x1401c6068
mov rcx, r13
call fcn.140164600
mov r12d, eax
test eax, eax
je 0x1401c6144
movzx eax, r12b
cmp r12b, 0xd
je 0x1401c5ea0
cmp eax, 0xa
jne 0x1401c5d4f
lea rax, [0x140157ee0]
mov dword [r13 + 0x30], r12d
mov byte [r13 + 0x15], 6
mov qword [r13 + 0x110], rax
jmp 0x1401c5d4f
mov rax, qword [r13 + 0x50]
mov r15, qword [r13]
mov dword [rsp + 0x34], 1
mov rsi, qword [rax]
test rsi, rsi
je 0x1401c6032
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 0x1401c5d4f
mov ecx, dword [rsp + 0x38]
test ecx, ecx
je 0x1401c6160
cmp byte [r13 + 0x10], 0
jne 0x1401c601d
cmp byte [r13 + 0x1c], 0
je 0x1401c5fce
mov rcx, qword [r13 + 0x48]
lea r14, [rsp + 0x40]
mov r9d, 0x18
mov r8d, 0x10
mov rdx, r14
mov rax, qword [rcx]
call qword [rax + 0x10]
mov r12d, eax
test eax, eax
je 0x1401c5f62
cmp eax, 0x20a
jne 0x1401c5d4f
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 0x1401c5fc7
mov rax, qword [r13 + 0x70]
add dword [r13 + 0x84], 1
test rax, rax
je 0x1401c5fa0
mov dword [rax + 0x18], 1
mov rax, qword [rax + 0x40]
test rax, rax
jne 0x1401c5f90
mov rcx, qword [r13 + 0x120]
xor edx, edx
call fcn.140162830
cmp byte [r13 + 0x1b], 0
je 0x1401c5fc7
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 0x1401c601d
mov rax, qword [r13]
mov rdx, qword [r13 + 0x130]
lea r9, [rsp + 0x3c]
xor r8d, r8d
mov rcx, rax
call qword [rax + 0x38]
mov r12d, eax
test eax, eax
jne 0x1401c6008
mov r12d, dword [rsp + 0x3c]
test r12d, r12d
jne 0x1401c60f8
cmp byte [r13 + 9], 5
jne 0x1401c6008
mov byte [r13 + 9], 0
mov rcx, qword [r13 + 0x128]
test rcx, rcx
jne 0x1401c5cf1
jmp 0x1401c5d32
mov rcx, qword [r13 + 0x128]
test rcx, rcx
jne 0x1401c5cf1
jmp 0x1401c5df7
mov rdx, qword [r13 + 0xe0]
lea r9, [rsp + 0x34]
xor r8d, r8d
mov rcx, r15
call qword [r15 + 0x38]
mov r12d, eax
test eax, eax
jne 0x1401c5d4f
mov eax, dword [rsp + 0x34]
test eax, eax
je 0x1401c5f0a
jmp 0x1401c5edc
cmp byte [r13 + 9], 2
je 0x1401c60a9
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 0x1401c61ca
cmp dword [rsp + 0x3c], 0
mov r8, qword [r13 + 0x50]
jne 0x1401c61fd
cmp qword [r8], 0
jne 0x1401c5e7a
cmp byte [r13 + 8], 0
jne 0x1401c5f0a
mov rcx, qword [r13 + 0x48]
mov rax, qword [rcx]
test rax, rax
je 0x1401c60db
cmp byte [r13 + 0x11], 0
jne 0x1401c60cf
mov edx, 1
call qword [rax + 0x40]
cmp byte [r13 + 0x16], 5
je 0x1401c60db
mov byte [r13 + 0x16], 1
movzx eax, byte [r13 + 0x10]
mov byte [r13 + 0x17], al
test r12d, r12d
je 0x1401c5f0a
jmp 0x1401c5e8d
lea r14, [rsp + 0x40]
mov rcx, r13
mov rdx, r14
call fcn.140157d00
mov r12d, eax
test eax, eax
jne 0x1401c6008
mov edx, dword [rsp + 0x40]
test edx, edx
jne 0x1401c61eb
mov rcx, qword [r13]
mov rax, qword [rcx + 0x30]
test rax, rax
je 0x1401c6008
mov rdx, qword [r13 + 0x130]
xor r8d, r8d
call rax
mov r12d, eax
jmp 0x1401c6008
xor edx, edx
cmp byte [r13 + 0x10], 0
mov rcx, r13
sete dl
call fcn.1401afeb0
mov byte [r13 + 0x15], 0
mov r12d, eax
jmp 0x1401c60e4
lea rdx, [rsp + 0x3c]
mov rcx, r13
call fcn.140157d00
mov r12d, eax
test eax, eax
jne 0x1401c5d4f
cmp dword [rsp + 0x3c], 0
jne 0x1401c6244
test rsi, rsi
je 0x1401c62f1
mov rcx, qword [r13 + 0x50]
mov byte [rsp + 0x40], 0
lea r14, [rsp + 0x40]
xor r9d, r9d
mov r8d, 1
mov rdx, r14
mov rax, qword [rcx]
call qword [rax + 0x10]
mov r12d, eax
cmp eax, 0x20a
jne 0x1401c62d6
cmp byte [rsp + 0x40], 0
je 0x1401c5f0a
jmp 0x1401c5e43
mov r12d, eax
mov rax, qword [r13 + 0x50]
cmp qword [rax], 0
jne 0x1401c5e7a
cmp byte [r13 + 8], 0
jne 0x1401c5e8d
jmp 0x1401c60b4
xor edx, edx
mov rcx, r13
call fcn.14016ac20
mov r12d, eax
jmp 0x1401c6008
lea r14, [rsp + 0x40]
mov rdx, qword [r13 + 0xe0]
mov r9d, 0x802
mov rcx, rbx
mov dword [rsp + 0x40], 0
mov qword [rsp + 0x20], r14
call qword [rbx + 0x28]
test eax, eax
jne 0x1401c61ca
test byte [rsp + 0x40], 1
jne 0x1401c6378
mov rax, qword [r13 + 0x50]
cmp qword [rax], 0
jne 0x1401c5e7a
jmp 0x1401c60a9
test rsi, rsi
jne 0x1401c618c
lea r14, [rsp + 0x40]
mov dword [rsp + 0x40], 0x801
mov r8, qword [r13 + 0x50]
mov rcx, r15
mov qword [rsp + 0x20], r14
mov rdx, qword [r13 + 0xe0]
mov r9d, 0x801
call qword [r15 + 0x28]
mov ebx, eax
test eax, eax
je 0x1401c628e
mov r12d, eax
cmp eax, 0xe
jne 0x1401c5d4f
jmp 0x1401c5e43
mov rcx, qword [r13 + 0x50]
mov byte [rsp + 0x40], 0
xor r9d, r9d
mov rdx, r14
mov r8d, 1
mov rax, qword [rcx]
call qword [rax + 0x10]
mov r12d, eax
cmp eax, 0x20a
je 0x1401c63df
mov rsi, qword [r13 + 0x50]
mov ebx, r12d
mov rax, qword [rsi]
test rax, rax
je 0x1401c62d6
mov rcx, rsi
mov r12d, ebx
call qword [rax + 8]
mov qword [rsi], 0
movzx eax, byte [rsp + 0x40]
test r12d, r12d
jne 0x1401c5d4f
test al, al
je 0x1401c5f0a
jmp 0x1401c5e43
mov rax, qword [0x140438630]
test rax, rax
je 0x1401c62ff
call rax
mov edx, 2
mov rcx, r13
call fcn.14015e370
test eax, eax
jne 0x1401c632f
mov rax, qword [r15 + 0x30]
test rax, rax
je 0x1401c6328
mov rdx, qword [r13 + 0xe0]
xor r8d, r8d
mov rcx, r15
call rax
cmp byte [r13 + 8], 0
je 0x1401c6346
mov rax, qword [0x140438638]
test rax, rax
je 0x1401c5f0a
call rax
jmp 0x1401c5f0a
mov rcx, qword [r13 + 0x48]
mov rax, qword [rcx]
test rax, rax
je 0x1401c636d
cmp byte [r13 + 0x11], 0
jne 0x1401c6361
mov edx, 1
call qword [rax + 0x40]
cmp byte [r13 + 0x16], 5
je 0x1401c636d
mov byte [r13 + 0x16], 1
movzx eax, byte [r13 + 0x10]
mov byte [r13 + 0x17], al
jmp 0x1401c632f
lea rax, [0x1403be9bc]
mov r9d, 0xe748
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.140197c10
mov rbx, qword [r13 + 0x50]
mov rax, qword [rbx]
test rax, rax
je 0x1401c63c9
mov rcx, rbx
call qword [rax + 8]
mov rax, qword [r13 + 0x50]
mov qword [rbx], 0
cmp qword [rax], 0
jne 0x1401c5e7a
cmp byte [r13 + 8], 0
mov r12d, 0xe
jne 0x1401c5d4f
jmp 0x1401c60b4
mov rsi, qword [r13 + 0x50]
mov rax, qword [rsi]
test rax, rax
jne 0x1401c62c6
movzx eax, byte [rsp + 0x40]
jmp 0x1401c62e4