Function at 0x1400a6e40
Capabilities:
Get common file path
Set current directory

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x2c0
mov qword [rsp + 0x80], 0xfffffffffffffffe
mov rax, qword [0x14030bc70]
xor rax, rsp
mov qword [rsp + 0x2b0], rax
mov qword [rsp + 0x68], r9
mov qword [rsp + 0x70], r8
mov r15d, edx
mov dword [rsp + 0x54], edx
mov r14, rcx
mov qword [rsp + 0x78], rcx
mov r13, qword [rsp + 0x320]
test r13, r13
je 0x1400a6e9f
mov dword [r13], 0
mov ecx, pe_nt_image_headers64
call fcn.1400dba80
mov qword [rsp + 0x88], rax
test rax, rax
je 0x1400a6ec3
mov rcx, rax
call fcn.1400a63f0
mov r12, rax
jmp 0x1400a6ec6
xor r12d, r12d
mov qword [rsp + 0x60], r12
lea rdx, [rsp + 0x1a0]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea rcx, [r14 + 0x39]
lea rdx, [rsp + 0x90]
sub rdx, rcx
nop dword [rax]
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x1400a6ef0
lea rcx, [rsp + 0x90]
lea rdx, [rsp + 0x90]
mov rax, r12
sub rax, rdx
lea rdx, [rax + 8]
nop dword [rax + rax]
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x1400a6f20
lea rcx, [rsp + 0x90]
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
lea rcx, [rsp + 0x90]
call fcn.1400f7c20
lea rcx, [rsp + 0x90]
dec rcx
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x1400a6f54
movzx eax, word [0x14020fc90]
mov word [rcx], ax
movzx eax, byte [0x14020fc92]
mov byte [rcx + 2], al
lea rcx, [rsp + 0x90]
dec rcx
nop dword [rax]
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x1400a6f80
xor edx, edx
nop dword [rax + rax]
movzx eax, byte [r14 + rdx + 0x13d]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x1400a6f90
lea rcx, [r14 + 0x1348]
call fcn.1400f2d80
nop
lea rdx, [rsp + 0x90]
mov rcx, r14
call fcn.1400a7770
mov edi, eax
mov dword [rsp + 0x50], eax
lea rcx, [r14 + 0x1348]
call fcn.1400f3130
mov rbx, rax
test rbx, rbx
je 0x1400a700d
mov rcx, rbx
call fcn.1400494c0
test rax, rax
je 0x1400a6ff9
mov rdx, rax
mov rcx, r14
call fcn.1400a7770
add edi, eax
mov dword [rsp + 0x50], edi
mov rdx, rbx
lea rcx, [r14 + 0x1348]
call fcn.1400f3190
mov rbx, rax
jmp 0x1400a6fd6
mov dword [rsp + 0x40], edi
mov dword [rsp + 0x38], 0
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r13
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x70]
mov r8d, r15d
lea rdx, [rsp + 0x90]
mov rcx, r14
call fcn.1400a6ba0
mov r15d, eax
mov dword [rsp + 0x58], eax
lea rcx, [r14 + 0x1348]
call fcn.1400f3130
mov rbx, rax
nop dword [rax + rax]
test rbx, rbx
je 0x1400a70bf
mov rcx, rbx
call fcn.1400494c0
test rax, rax
je 0x1400a70ab
mov dword [rsp + 0x40], edi
mov dword [rsp + 0x38], r15d
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r13
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x20], rcx
mov r9, qword [rsp + 0x70]
mov r8d, dword [rsp + 0x54]
mov rdx, rax
mov rcx, r14
call fcn.1400a6ba0
mov r15d, eax
mov dword [rsp + 0x58], eax
mov rdx, rbx
lea rcx, [r14 + 0x1348]
call fcn.1400f3190
mov rbx, rax
jmp 0x1400a7060
jmp 0x1400a70cb
lea rcx, [r14 + 0x1348]
call fcn.1400f3270
lea rcx, [rsp + 0x1a0]
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
nop
mov rax, r12
jmp 0x1400a70f0
mov rcx, qword [rsp + 0x2b0]
xor rcx, rsp
call fcn.140113910
add rsp, 0x2c0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret