Function at 0x14036c350
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 + 0x120]
test rcx, rcx
je 0x14036c470
mov dword [rsp + 0x40], 0
xor ebx, ebx
lea r14, [rsp + 0x40]
call fcn.140314c50
mov rsi, qword [r13 + 0x120]
nop dword [rax]
add ebx, 1
xor r8d, r8d
mov rdx, r14
mov rcx, rsi
mov r9d, ebx
call fcn.14036bb10
mov r12d, eax
cmp eax, 0xffffffff
je 0x14036c390
or eax, dword [rsp + 0x40]
jne 0x14036c3f0
movabs rax, 0xff000000ff
and rax, qword [r13 + 0x10]
jne 0x14036c453
test r12d, r12d
je 0x14036c487
mov rcx, r13
call fcn.14031cf20
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 0x14036c418
nop dword [rax]
mov dword [rax + 0x18], 1
mov rax, qword [rax + 0x40]
test rax, rax
jne 0x14036c408
mov rcx, qword [r13 + 0x118]
xor edx, edx
call fcn.1403116a0
cmp byte [r13 + 0x1a], 0
je 0x14036c3b2
mov rcx, qword [r13 + 0x48]
xor r8d, r8d
xor edx, edx
mov rax, qword [rcx]
call qword [rax + 0x90]
movabs rax, 0xff000000ff
and rax, qword [r13 + 0x10]
je 0x14036c3c6
test r12d, r12d
jne 0x14036c3cf
mov byte [r13 + 0x14], 1
xor r12d, r12d
mov byte [r13 + 0x1b], 1
jmp 0x14036c3d7
cmp byte [r13 + 0x14], 0
je 0x14036c4a0
movabs rax, 0xff000000ff
and rax, qword [r13 + 0x10]
jne 0x14036c45c
lea rdx, [r13 + 0x1c]
mov rcx, r13
call fcn.140306f40
mov r12d, eax
jmp 0x14036c453
mov edx, 1
mov rcx, r13
call fcn.140311240
mov r12d, eax
test eax, eax
jne 0x14036c3cf
cmp byte [r13 + 0x15], 1
jbe 0x14036c540
cmp byte [r13 + 0x12], 0
mov r12d, 0x308
jne 0x14036c3cf
mov edx, 4
mov rcx, r13
call fcn.14030cfa0
mov r12d, eax
test eax, eax
jne 0x14036c3cf
mov rax, qword [r13 + 0x50]
cmp qword [rax], 0
je 0x14036c6f0
mov rcx, r13
call fcn.140313630
mov r12d, eax
test eax, eax
je 0x14036c857
movzx eax, r12b
cmp r12b, 0xd
je 0x14036c520
cmp eax, 0xa
jne 0x14036c3cf
lea rax, [0x140307120]
mov dword [r13 + 0x2c], r12d
mov byte [r13 + 0x14], 6
mov qword [r13 + 0x108], rax
jmp 0x14036c3cf
mov rax, qword [r13 + 0x50]
mov r15, qword [r13]
mov dword [rsp + 0x34], 1
mov rsi, qword [rax]
test rsi, rsi
je 0x14036c6b4
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 0x14036c3cf
mov r8d, dword [rsp + 0x38]
test r8d, r8d
je 0x14036c7cc
cmp byte [r13 + 0x10], 0
jne 0x14036c69f
cmp byte [r13 + 0x1b], 0
je 0x14036c650
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 0x14036c5e4
cmp eax, 0x20a
jne 0x14036c3cf
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 0x14036c649
mov rax, qword [r13 + 0x70]
add dword [r13 + 0x84], 1
test rax, rax
je 0x14036c622
mov dword [rax + 0x18], 1
mov rax, qword [rax + 0x40]
test rax, rax
jne 0x14036c612
mov rcx, qword [r13 + 0x118]
xor edx, edx
call fcn.1403116a0
cmp byte [r13 + 0x1a], 0
je 0x14036c649
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 0x14036c69f
mov rax, qword [r13]
mov rdx, qword [r13 + 0x128]
lea r9, [rsp + 0x3c]
xor r8d, r8d
mov rcx, rax
call qword [rax + 0x38]
mov r12d, eax
test eax, eax
jne 0x14036c68a
mov r12d, dword [rsp + 0x3c]
test r12d, r12d
jne 0x14036c780
cmp byte [r13 + 9], 5
jne 0x14036c68a
mov byte [r13 + 9], 0
mov rcx, qword [r13 + 0x120]
test rcx, rcx
jne 0x14036c371
jmp 0x14036c3b2
mov rcx, qword [r13 + 0x120]
test rcx, rcx
jne 0x14036c371
jmp 0x14036c477
mov rdx, qword [r13 + 0xd8]
lea r9, [rsp + 0x34]
xor r8d, r8d
mov rcx, r15
call qword [r15 + 0x38]
mov r12d, eax
test eax, eax
jne 0x14036c3cf
mov eax, dword [rsp + 0x34]
test eax, eax
je 0x14036c58c
jmp 0x14036c55c
mov rbx, qword [r13]
mov rdx, qword [r13 + 0xd8]
lea r9, [rsp + 0x3c]
xor r8d, r8d
mov rcx, rbx
call qword [rbx + 0x38]
mov r12d, eax
test eax, eax
jne 0x14036c839
mov ecx, dword [rsp + 0x3c]
mov r8, qword [r13 + 0x50]
test ecx, ecx
jne 0x14036c876
cmp qword [r8], 0
jne 0x14036c4fa
cmp byte [r13 + 8], 0
jne 0x14036c58c
mov rcx, qword [r13 + 0x48]
mov rax, qword [rcx]
test rax, rax
je 0x14036c760
cmp byte [r13 + 0x11], 0
jne 0x14036c754
mov edx, 1
call qword [rax + 0x40]
cmp byte [r13 + 0x15], 5
je 0x14036c760
mov byte [r13 + 0x15], 1
movzx eax, byte [r13 + 0x10]
mov byte [r13 + 0x16], al
test r12d, r12d
je 0x14036c58c
jmp 0x14036c50d
lea r14, [rsp + 0x40]
mov rcx, r13
mov rdx, r14
call fcn.140306f40
mov r12d, eax
test eax, eax
jne 0x14036c68a
mov edx, dword [rsp + 0x40]
test edx, edx
jne 0x14036c8bd
mov rcx, qword [r13]
mov rax, qword [rcx + 0x30]
test rax, rax
je 0x14036c68a
mov rdx, qword [r13 + 0x128]
xor r8d, r8d
call rax
mov r12d, eax
jmp 0x14036c68a
lea rdx, [rsp + 0x3c]
mov rcx, r13
call fcn.140306f40
mov r12d, eax
test eax, eax
jne 0x14036c3cf
cmp dword [rsp + 0x3c], 0
jne 0x14036c8cf
test rsi, rsi
je 0x14036c97c
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 0x14036c961
cmp byte [rsp + 0x40], 0
je 0x14036c58c
jmp 0x14036c4c3
mov r12d, eax
mov rax, qword [r13 + 0x50]
cmp qword [rax], 0
jne 0x14036c4fa
cmp byte [r13 + 8], 0
jne 0x14036c50d
jmp 0x14036c739
xor edx, edx
cmp byte [r13 + 0x10], 0
mov rcx, r13
sete dl
call fcn.140359830
mov byte [r13 + 0x14], 0
mov r12d, eax
jmp 0x14036c769
lea r14, [rsp + 0x40]
mov rdx, qword [r13 + 0xd8]
mov r9d, 0x802
mov rcx, rbx
mov dword [rsp + 0x40], 0
mov qword [rsp + 0x20], r14
call qword [rbx + 0x28]
test eax, eax
jne 0x14036c836
test byte [rsp + 0x40], 1
jne 0x14036ca03
mov rax, qword [r13 + 0x50]
cmp qword [rax], 0
jne 0x14036c4fa
jmp 0x14036c72e
xor edx, edx
mov rcx, r13
call fcn.14031bff0
mov r12d, eax
jmp 0x14036c68a
test rsi, rsi
jne 0x14036c7f8
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 + 0xd8]
mov r9d, 0x801
call qword [r15 + 0x28]
mov ebx, eax
test eax, eax
je 0x14036c919
mov r12d, eax
cmp eax, 0xe
jne 0x14036c3cf
jmp 0x14036c4c3
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 0x14036ca6a
mov rsi, qword [r13 + 0x50]
mov ebx, r12d
mov rax, qword [rsi]
test rax, rax
je 0x14036c961
mov rcx, rsi
mov r12d, ebx
call qword [rax + 8]
mov qword [rsi], 0
movzx eax, byte [rsp + 0x40]
test r12d, r12d
jne 0x14036c3cf
test al, al
je 0x14036c58c
jmp 0x14036c4c3
mov rax, qword [0x1407db150]
test rax, rax
je 0x14036c98a
call rax
mov edx, 2
mov rcx, r13
call fcn.14030cfa0
test eax, eax
jne 0x14036c9ba
mov rax, qword [r15 + 0x30]
test rax, rax
je 0x14036c9b3
mov rdx, qword [r13 + 0xd8]
xor r8d, r8d
mov rcx, r15
call rax
cmp byte [r13 + 8], 0
je 0x14036c9d1
mov rax, qword [0x1407db158]
test rax, rax
je 0x14036c58c
call rax
jmp 0x14036c58c
mov rcx, qword [r13 + 0x48]
mov rax, qword [rcx]
test rax, rax
je 0x14036c9f8
cmp byte [r13 + 0x11], 0
jne 0x14036c9ec
mov edx, 1
call qword [rax + 0x40]
cmp byte [r13 + 0x15], 5
je 0x14036c9f8
mov byte [r13 + 0x15], 1
movzx eax, byte [r13 + 0x10]
mov byte [r13 + 0x16], al
jmp 0x14036c9ba
lea rax, [0x14075b75c]
mov r9d, 0xe23a
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.140334750
mov rbx, qword [r13 + 0x50]
mov rax, qword [rbx]
test rax, rax
je 0x14036ca54
mov rcx, rbx
call qword [rax + 8]
mov rax, qword [r13 + 0x50]
mov qword [rbx], 0
cmp qword [rax], 0
jne 0x14036c4fa
cmp byte [r13 + 8], 0
mov r12d, 0xe
jne 0x14036c3cf
jmp 0x14036c739
mov rsi, qword [r13 + 0x50]
mov rax, qword [rsi]
test rax, rax
jne 0x14036c951
movzx eax, byte [rsp + 0x40]
jmp 0x14036c96f