Function at 0x1402dd120
Capabilities:
Get common file path

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x228]
sub rsp, 0x328
mov rax, qword [0x14045d5f0]
xor rax, rsp
mov qword [rbp + 0x210], rax
mov rax, qword [rbp + 0x290]
mov r15, r9
mov rsi, qword [rbp + 0x2c0]
mov rbx, r8
mov r13, qword [rbp + 0x2b0]
mov r12, rdx
mov qword [rsp + 0x50], rax
mov r14, rcx
mov rax, qword [rbp + 0x2a8]
mov qword [rsp + 0x58], rax
mov rax, qword [rbp + 0x2b8]
mov qword [rsp + 0x60], rax
mov qword [rbp - 0x80], rsi
call fcn.1402c0d20
mov rcx, rax
mov rdx, qword [rax]
call qword [rdx + 0x10]
mov rcx, rax
call fcn.1402c32b0
xor edi, edi
test al, al
je 0x1402dd1fa
mov rax, qword [rsp + 0x60]
mov r8, r15
mov r9, qword [rsp + 0x50]
mov rdx, rbx
mov qword [rsp + 0x48], rsi
mov rcx, r12
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], rax
mov eax, dword [rbp + 0x2a0]
mov dword [rsp + 0x28], eax
mov eax, dword [rbp + 0x298]
mov dword [rsp + 0x20], eax
call r14
test eax, eax
je 0x1402dd1fa
lea eax, [rdi + 1]
jmp 0x1402dd28b
call fcn.1402c0d20
mov rcx, rax
mov rdx, qword [rax]
call qword [rdx + 0x10]
mov rcx, rax
call fcn.1402c32a0
test al, al
je 0x1402dd289
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, 0x18
mov rcx, rsi
mov dword [rsp + 0x68], eax
lea r8d, [rdx - 0x17]
call fcn.1402c9550
test al, al
je 0x1402dd27f
call fcn.1402c9100
mov qword [rsp + 0x70], rax
test rax, rax
je 0x1402dd27f
mov rsi, rdi
mov r14, rdi
mov r15, rdi
test rbx, rbx
je 0x1402dd260
mov rcx, rbx
call fcn.1402c8e50
mov rsi, rax
test rax, rax
je 0x1402dd27f
test r12, r12
je 0x1402dd2ae
mov rcx, r12
call fcn.1402c8e50
mov r14, rax
test rax, rax
jne 0x1402dd2ae
mov rcx, rsi
xor edx, edx
call fcn.1402c89c0
mov ecx, dword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
mov rcx, qword [rbp + 0x210]
xor rcx, rsp
call fcn.1402e0100
add rsp, 0x328
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
test r13, r13
je 0x1402dd2d2
mov rcx, r13
call fcn.1402c8e50
mov r15, rax
test rax, rax
jne 0x1402dd2d2
xor edx, edx
mov rcx, rsi
call fcn.1402c89c0
mov rcx, r14
jmp 0x1402dd278
test rsi, rsi
je 0x1402dd2e2
mov rax, qword [rsi + 8]
mov qword [rsp + 0x58], rax
jmp 0x1402dd2e7
mov qword [rsp + 0x58], rdi
test r14, r14
je 0x1402dd2f7
mov rax, qword [r14 + 8]
mov qword [rsp + 0x60], rax
jmp 0x1402dd2fc
mov qword [rsp + 0x60], rdi
test r15, r15
je 0x1402dd30c
mov rax, qword [r15 + 8]
mov qword [rsp + 0x50], rax
jmp 0x1402dd311
mov qword [rsp + 0x50], rdi
lea rdx, [rbp]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov rdx, qword [rsp + 0x70]
lea rcx, [rbp]
dec eax
cmp eax, 0x102
cmova rcx, rdi
mov qword [rbp - 0x78], rcx
lea rcx, [rbp - 0x70]
call fcn.1402c9570
xor edx, edx
lea rcx, [rbp - 0x60]
lea r8d, [rdx + 0x58]
call fcn.1402e2e70
mov rax, qword [rbp - 0x80]
lea r9, [rsp + 0x58]
mov qword [rsp + 0x78], rax
lea r8, [rsp + 0x60]
lea rax, [rbp - 0x60]
mov dword [rsp + 0x70], 0x18
mov qword [rsp + 0x38], rax
lea rcx, [rbp - 0x70]
lea rax, [rsp + 0x70]
mov edx, 0xd
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x78]
mov qword [rsp + 0x20], rax
call fcn.1402dcf50
xor edx, edx
mov rcx, rsi
mov ebx, eax
call fcn.1402c89c0
xor edx, edx
mov rcx, r14
call fcn.1402c89c0
xor edx, edx
mov rcx, r15
call fcn.1402c89c0
test ebx, ebx
jne 0x1402dd27f
mov ecx, dword [rbp - 0x58]
call qword [sym.imp.KERNEL32.dll_SetLastError]
cmp dword [rbp - 0x58], edi
sete dil
mov eax, edi
jmp 0x1402dd28b