Function at 0x1402170eb
Capabilities:
Get common file path

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x318
mov rbx, r9
mov rbp, r8
mov r13, rdx
mov rdi, rcx
mov r15, qword [rsp + 0x3b0]
mov r14, qword [rsp + 0x3a0]
mov esi, dword [rsp + 0x390]
mov rax, qword [0x14028f028]
xor rax, rsp
mov qword [rsp + 0x310], rax
call fcn.1400b4cb0
test al, al
je 0x1402171a1
call fcn.14014f9f6
lea rcx, [rax + 8]
call fcn.1402255ca
test al, al
je 0x1402171a1
mov rax, qword [rsp + 0x398]
mov ecx, dword [rsp + 0x388]
mov r9, qword [rsp + 0x380]
mov qword [rsp + 0x48], r15
mov rdx, qword [rsp + 0x3a8]
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], ecx
mov rcx, r13
mov rdx, rbp
mov r8, rbx
call rdi
mov edi, 1
test eax, eax
jne 0x14021724c
call fcn.14014f9f6
lea rcx, [rax + 8]
call fcn.140224334
xor edi, edi
test al, al
je 0x14021724c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r12d, eax
mov edx, 0x18
mov rcx, r15
mov r8d, 1
call fcn.1401e6b08
test al, al
je 0x140217241
call fcn.1401e6a17
test rax, rax
je 0x140217241
mov rdi, rax
test rbp, rbp
je 0x1402171fd
mov rcx, rbp
call fcn.1401e729c
mov rbx, rax
test rax, rax
jne 0x1402171ff
jmp 0x140217241
xor ebx, ebx
test r13, r13
je 0x140217219
mov rcx, r13
call fcn.1401e729c
mov rbp, rax
test rax, rax
jne 0x14021721b
mov rbp, rbx
jmp 0x140217237
xor ebp, ebp
test r14, r14
je 0x140217272
mov rcx, r14
call fcn.1401e729c
test rax, rax
jne 0x140217277
mov rcx, rbx
xor edx, edx
call fcn.140218654
mov rcx, rbp
xor edx, edx
call fcn.140218654
mov ecx, r12d
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor edi, edi
mov rcx, qword [rsp + 0x310]
xor rcx, rsp
call fcn.1400ccfe0
mov eax, edi
add rsp, 0x318
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor r14d, r14d
jmp 0x14021727a
mov r14, rax
test rbx, rbx
jne 0x140217283
xor eax, eax
jmp 0x140217287
mov rax, qword [rbx + 8]
mov qword [rsp + 0xa0], rax
test rbp, rbp
jne 0x140217298
xor eax, eax
jmp 0x14021729c
mov rax, qword [rbp + 8]
mov qword [rsp + 0x98], rax
test r14, r14
jne 0x1402172ad
xor eax, eax
jmp 0x1402172b1
mov rax, qword [r14 + 8]
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x88], 0
lea rsi, [rsp + 0x100]
mov r8d, 0x208
mov rcx, rsi
mov dl, 0xaa
call fcn.1400cf750
mov ecx, 0x104
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
dec eax
cmp eax, 0x102
ja 0x1402172fc
mov qword [rsp + 0x88], rsi
movaps xmm0, xmmword [0x140257270]
lea r13, [rsp + 0x70]
movaps xmmword [r13], xmm0
mov rcx, r13
mov rdx, rdi
call fcn.14022433c
lea rsi, [0x140279ba0]
lea rax, [rsp + 0xa8]
mov ecx, 0xb
mov rdi, rax
rep movsq qword [rdi], qword [rsi]
movabs rcx, 0xaaaaaaaa00000018
lea rdx, [rsp + 0x60]
mov qword [rdx], rcx
mov qword [rdx + 8], r15
mov rcx, qword [rsp + 0x3a8]
mov ecx, dword [rcx + 0x3c]
lea rdi, [rsp + 0x5c]
mov dword [rdi], ecx
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rdi
lea rax, [rsp + 0x390]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rdx
lea rax, [rsp + 0x90]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x98]
lea r8, [rsp + 0xa0]
lea r9, [rsp + 0x88]
mov rcx, r13
call fcn.1402255ce
mov esi, eax
mov rcx, rbx
xor edx, edx
call fcn.140218654
mov rcx, rbp
xor edx, edx
call fcn.140218654
mov rcx, r14
xor edx, edx
call fcn.140218654
test esi, esi
jne 0x1402173e2
mov ecx, dword [rsp + 0xb0]
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor edi, edi
cmp dword [rsp + 0xb0], 0
sete dil
test esi, esi
jne 0x140217241
jmp 0x14021724c