Function at 0x1401ab710
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 0x1401ab830
mov dword [rsp + 0x40], 0
xor ebx, ebx
lea r14, [rsp + 0x40]
call fcn.140153910
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.1401aaed0
mov r12d, eax
cmp eax, 0xffffffff
je 0x1401ab750
or eax, dword [rsp + 0x40]
jne 0x1401ab7b0
movabs rax, 0xff00000000ff
and rax, qword [r13 + 0x10]
jne 0x1401ab813
test r12d, r12d
je 0x1401ab847
mov rcx, r13
call fcn.14015bd20
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 0x1401ab7d8
nop dword [rax]
mov dword [rax + 0x18], 1
mov rax, qword [rax + 0x40]
test rax, rax
jne 0x1401ab7c8
mov rcx, qword [r13 + 0x118]
xor edx, edx
call fcn.140150470
cmp byte [r13 + 0x1b], 0
je 0x1401ab772
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 0x1401ab786
test r12d, r12d
jne 0x1401ab78f
mov byte [r13 + 0x15], 1
xor r12d, r12d
mov byte [r13 + 0x1c], 1
jmp 0x1401ab797
cmp byte [r13 + 0x15], 0
je 0x1401ab860
movabs rax, 0xff00000000ff
and rax, qword [r13 + 0x10]
jne 0x1401ab81c
lea rdx, [r13 + 0x20]
mov rcx, r13
call fcn.140145cc0
mov r12d, eax
jmp 0x1401ab813
mov edx, 1
mov rcx, r13
call fcn.140150010
mov r12d, eax
test eax, eax
jne 0x1401ab78f
cmp byte [r13 + 0x16], 1
jbe 0x1401ab900
cmp byte [r13 + 0x12], 0
mov r12d, 0x308
jne 0x1401ab78f
mov edx, 4
mov rcx, r13
call fcn.14014bca0
mov r12d, eax
test eax, eax
jne 0x1401ab78f
mov rax, qword [r13 + 0x50]
cmp qword [rax], 0
je 0x1401abab0
mov rcx, r13
call fcn.1401522f0
mov r12d, eax
test eax, eax
je 0x1401abc17
movzx eax, r12b
cmp r12b, 0xd
je 0x1401ab8e0
cmp eax, 0xa
jne 0x1401ab78f
lea rax, [0x140145ea0]
mov dword [r13 + 0x30], r12d
mov byte [r13 + 0x15], 6
mov qword [r13 + 0x108], rax
jmp 0x1401ab78f
mov rax, qword [r13 + 0x50]
mov r15, qword [r13]
mov dword [rsp + 0x34], 1
mov rsi, qword [rax]
test rsi, rsi
je 0x1401aba74
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 0x1401ab78f
mov r8d, dword [rsp + 0x38]
test r8d, r8d
je 0x1401abb8c
cmp byte [r13 + 0x10], 0
jne 0x1401aba5f
cmp byte [r13 + 0x1c], 0
je 0x1401aba10
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 0x1401ab9a4
cmp eax, 0x20a
jne 0x1401ab78f
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 0x1401aba09
mov rax, qword [r13 + 0x70]
add dword [r13 + 0x84], 1
test rax, rax
je 0x1401ab9e2
mov dword [rax + 0x18], 1
mov rax, qword [rax + 0x40]
test rax, rax
jne 0x1401ab9d2
mov rcx, qword [r13 + 0x118]
xor edx, edx
call fcn.140150470
cmp byte [r13 + 0x1b], 0
je 0x1401aba09
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 0x1401aba5f
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 0x1401aba4a
mov r12d, dword [rsp + 0x3c]
test r12d, r12d
jne 0x1401abb40
cmp byte [r13 + 9], 5
jne 0x1401aba4a
mov byte [r13 + 9], 0
mov rcx, qword [r13 + 0x120]
test rcx, rcx
jne 0x1401ab731
jmp 0x1401ab772
mov rcx, qword [r13 + 0x120]
test rcx, rcx
jne 0x1401ab731
jmp 0x1401ab837
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 0x1401ab78f
mov eax, dword [rsp + 0x34]
test eax, eax
je 0x1401ab94c
jmp 0x1401ab91c
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 0x1401abbf9
mov ecx, dword [rsp + 0x3c]
mov r8, qword [r13 + 0x50]
test ecx, ecx
jne 0x1401abc36
cmp qword [r8], 0
jne 0x1401ab8ba
cmp byte [r13 + 8], 0
jne 0x1401ab94c
mov rcx, qword [r13 + 0x48]
mov rax, qword [rcx]
test rax, rax
je 0x1401abb20
cmp byte [r13 + 0x11], 0
jne 0x1401abb14
mov edx, 1
call qword [rax + 0x40]
cmp byte [r13 + 0x16], 5
je 0x1401abb20
mov byte [r13 + 0x16], 1
movzx eax, byte [r13 + 0x10]
mov byte [r13 + 0x17], al
test r12d, r12d
je 0x1401ab94c
jmp 0x1401ab8cd
lea r14, [rsp + 0x40]
mov rcx, r13
mov rdx, r14
call fcn.140145cc0
mov r12d, eax
test eax, eax
jne 0x1401aba4a
mov edx, dword [rsp + 0x40]
test edx, edx
jne 0x1401abc7d
mov rcx, qword [r13]
mov rax, qword [rcx + 0x30]
test rax, rax
je 0x1401aba4a
mov rdx, qword [r13 + 0x128]
xor r8d, r8d
call rax
mov r12d, eax
jmp 0x1401aba4a
lea rdx, [rsp + 0x3c]
mov rcx, r13
call fcn.140145cc0
mov r12d, eax
test eax, eax
jne 0x1401ab78f
cmp dword [rsp + 0x3c], 0
jne 0x1401abc8f
test rsi, rsi
je 0x1401abd3c
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 0x1401abd21
cmp byte [rsp + 0x40], 0
je 0x1401ab94c
jmp 0x1401ab883
mov r12d, eax
mov rax, qword [r13 + 0x50]
cmp qword [rax], 0
jne 0x1401ab8ba
cmp byte [r13 + 8], 0
jne 0x1401ab8cd
jmp 0x1401abaf9
xor edx, edx
cmp byte [r13 + 0x10], 0
mov rcx, r13
sete dl
call fcn.140199180
mov byte [r13 + 0x15], 0
mov r12d, eax
jmp 0x1401abb29
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 0x1401abbf6
test byte [rsp + 0x40], 1
jne 0x1401abdc3
mov rax, qword [r13 + 0x50]
cmp qword [rax], 0
jne 0x1401ab8ba
jmp 0x1401abaee
xor edx, edx
mov rcx, r13
call fcn.14015afb0
mov r12d, eax
jmp 0x1401aba4a
test rsi, rsi
jne 0x1401abbb8
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 0x1401abcd9
mov r12d, eax
cmp eax, 0xe
jne 0x1401ab78f
jmp 0x1401ab883
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 0x1401abe2a
mov rsi, qword [r13 + 0x50]
mov ebx, r12d
mov rax, qword [rsi]
test rax, rax
je 0x1401abd21
mov rcx, rsi
mov r12d, ebx
call qword [rax + 8]
mov qword [rsi], 0
movzx eax, byte [rsp + 0x40]
test r12d, r12d
jne 0x1401ab78f
test al, al
je 0x1401ab94c
jmp 0x1401ab883
mov rax, qword [0x140423590]
test rax, rax
je 0x1401abd4a
call rax
mov edx, 2
mov rcx, r13
call fcn.14014bca0
test eax, eax
jne 0x1401abd7a
mov rax, qword [r15 + 0x30]
test rax, rax
je 0x1401abd73
mov rdx, qword [r13 + 0xd8]
xor r8d, r8d
mov rcx, r15
call rax
cmp byte [r13 + 8], 0
je 0x1401abd91
mov rax, qword [0x140423598]
test rax, rax
je 0x1401ab94c
call rax
jmp 0x1401ab94c
mov rcx, qword [r13 + 0x48]
mov rax, qword [rcx]
test rax, rax
je 0x1401abdb8
cmp byte [r13 + 0x11], 0
jne 0x1401abdac
mov edx, 1
call qword [rax + 0x40]
cmp byte [r13 + 0x16], 5
je 0x1401abdb8
mov byte [r13 + 0x16], 1
movzx eax, byte [r13 + 0x10]
mov byte [r13 + 0x17], al
jmp 0x1401abd7a
lea rax, [0x14036c43c]
mov r9d, 0xe24b
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.140172c50
mov rbx, qword [r13 + 0x50]
mov rax, qword [rbx]
test rax, rax
je 0x1401abe14
mov rcx, rbx
call qword [rax + 8]
mov rax, qword [r13 + 0x50]
mov qword [rbx], 0
cmp qword [rax], 0
jne 0x1401ab8ba
cmp byte [r13 + 8], 0
mov r12d, 0xe
jne 0x1401ab78f
jmp 0x1401abaf9
mov rsi, qword [r13 + 0x50]
mov rax, qword [rsi]
test rax, rax
jne 0x1401abd11
movzx eax, byte [rsp + 0x40]
jmp 0x1401abd2f