Function at 0x14001d814
Capabilities:
Check if file exists
Get file attributes

Disassembly:
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x78
mov qword [rbp - 0x30], 0xfffffffffffffffe
mov rax, rdx
mov r12, rcx
xor r13d, r13d
mov qword [rbp - 0x20], r13
mov qword [rbp - 0x18], r13
mov ebx, r13d
mov qword [rbp - 0x38], rbx
mov qword [rbp + 0x58], r13
mov edi, r13d
mov qword [rbp + 0x60], r13
mov r14d, r13d
mov qword [rbp + 0x48], r13
mov esi, r13d
mov qword [rbp - 0x28], r13
test rcx, rcx
jne 0x14001d87c
mov ecx, 0x80070057
mov r15d, ecx
call fcn.140025d30
jmp 0x14001db8c
test rax, rax
je 0x14001d86a
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
nop dword [rax + rax]
mov r15d, eax
cmp eax, 0xffffffff
je 0x14001d8a2
shr r15d, 4
not r15d
and r15d, 1
jmp 0x14001d8a5
mov r15d, r13d
xor ecx, ecx
call fcn.140025d50
xor ecx, ecx
call fcn.140025d50
test r15d, r15d
je 0x14001d86a
mov esi, 1
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], esi
xor r9d, r9d
xor r8d, r8d
lea rdx, str.SetupConfig
mov rcx, r12
call fcn.14002d528
mov r14, rax
mov qword [rbp + 0x48], rax
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], esi
xor r9d, r9d
xor r8d, r8d
lea rdx, str.CommandLines
mov rcx, r12
call fcn.14002d528
mov rsi, rax
test r14, r14
jne 0x14001d919
test rax, rax
jne 0x14001d919
mov r15d, 0xc190012e
mov ecx, r15d
jmp 0x14001d872
lea rdx, [rbp + 0x48]
lea rcx, [0x14009ce90]
call fcn.140029fcc
mov r15d, eax
test eax, eax
jns 0x14001d939
mov ecx, eax
call fcn.140025d30
jmp 0x14001d95e
lea r8, [rbp - 0x38]
mov edx, dword [rbp + 0x48]
lea rcx, [0x14009ce90]
call fcn.140028308
mov r15d, eax
test eax, eax
jns 0x14001d95a
mov ecx, eax
call fcn.140025d30
mov rbx, qword [rbp - 0x38]
mov ecx, r15d
call fcn.140025d50
test r15d, r15d
js 0x14001d911
test r14, r14
je 0x14001daa2
mov r12, r14
cmp word [r12], r13w
je 0x14001daa2
xor edx, edx
lea rcx, [rbp - 0x20]
call fcn.140027c4c
mov edx, 0x3d
lea r8, [rbp - 0x20]
mov rcx, r12
call fcn.140024d74
mov r15d, eax
test eax, eax
js 0x14001dccc
cmp dword [rbp - 0x1c], 1
jne 0x14001d9c7
mov r9, r12
mov r8, rbx
lea rdx, str._s___s
lea rcx, [rbp + 0x58]
call fcn.140002c14
jmp 0x14001da3e
cmp dword [rbp - 0x1c], 2
jne 0x14001da86
test rdi, rdi
je 0x14001da02
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
lea r8, [rdi - 4]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor ecx, ecx
call fcn.140025d50
mov qword [rbp + 0x60], r13
mov r13, qword [rbp - 0x18]
lea rdx, [rbp + 0x60]
mov rcx, qword [r13 + 8]
call fcn.140022484
mov r15d, eax
test eax, eax
js 0x14001dcbb
mov rdi, qword [rbp + 0x60]
mov qword [rsp + 0x20], rdi
mov r9, qword [r13]
mov r8, rbx
lea rdx, str._s___s__s
lea rcx, [rbp + 0x58]
call fcn.140002c14
test eax, eax
mov r15d, eax
js 0x14001dccc
xor eax, eax
mov r13, qword [rbp + 0x58]
test rbx, rbx
mov qword [rbp + 0x58], rax
je 0x14001da80
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
lea r8, [rbx - 4]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor ecx, ecx
call fcn.140025d50
mov rbx, r13
xor r13d, r13d
or rax, 0xffffffffffffffff
inc rax
cmp word [r12 + rax*2], r13w
jne 0x14001da8a
lea r12, [r12 + rax*2]
add r12, 2
jne 0x14001d977
test rsi, rsi
je 0x14001db7f
mov r12, rsi
cmp word [r12], r13w
je 0x14001db7f
test rdi, rdi
je 0x14001daea
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
lea r8, [rdi - 4]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor ecx, ecx
call fcn.140025d50
mov qword [rbp + 0x60], r13
lea rdx, [rbp + 0x60]
mov rcx, r12
call fcn.140022484
mov r15d, eax
test eax, eax
js 0x14001dcd3
mov rdi, qword [rbp + 0x60]
mov r9, rdi
mov r8, rbx
lea rdx, str._s__s
lea rcx, [rbp + 0x58]
call fcn.140002c14
mov r15d, eax
test eax, eax
js 0x14001dccc
mov r13, qword [rbp + 0x58]
xor eax, eax
mov qword [rbp + 0x58], rax
test rbx, rbx
je 0x14001db5d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
lea r8, [rbx - 4]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor ecx, ecx
call fcn.140025d50
mov rbx, r13
or rax, 0xffffffffffffffff
xor r13d, r13d
inc rax
cmp word [r12 + rax*2], r13w
jne 0x14001db67
lea r12, [r12 + rax*2]
add r12, 2
jne 0x14001daae
mov rax, rbx
mov rbx, r13
mov rcx, qword [rbp + 0x50]
mov qword [rcx], rax
mov ecx, r15d
call fcn.140025d50
nop
test rsi, rsi
je 0x14001dbbb
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
nop
test r14, r14
je 0x14001dbe1
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
nop
test rdi, rdi
je 0x14001dc0f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
lea r8, [rdi - 4]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor ecx, ecx
call fcn.140025d50
nop
mov rax, qword [rbp + 0x58]
test rax, rax
je 0x14001dc44
lea rdi, [rax - 4]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor ecx, ecx
call fcn.140025d50
nop
test rbx, rbx
je 0x14001dc72
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
lea r8, [rbx - 4]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor ecx, ecx
call fcn.140025d50
nop
xor edx, edx
lea rcx, [rbp - 0x20]
call fcn.140027c4c
mov rbx, qword [rbp - 0x18]
test rbx, rbx
je 0x14001dca6
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov eax, r15d
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, r15d
call fcn.140025d30
mov rdi, qword [rbp + 0x60]
jmp 0x14001db8c
mov ecx, eax
jmp 0x14001d872
mov ecx, eax
jmp 0x14001dcbe