Function at 0x1418c9940
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
lea rbp, [rsp - 0x3f]
sub rsp, 0xc8
mov qword [rbp - 1], 0xfffffffffffffffe
mov rsi, rcx
xor ebx, ebx
mov dword [rbp - 0x19], ebx
lea rax, [0x1400367e8]
mov qword [rbp + 0x6f], rax
cmp dword [0x1419ed408], 0xfffffffe
jle 0x1418c997e
call fcn.1418c9ff0
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov qword [rbp + 0x77], rbx
lea r8, [rbp + 0x77]
mov edx, 8
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_OpenProcessToken]
or rdi, 0xffffffffffffffff
test eax, eax
je 0x1418c9a58
mov dword [rbp + 0x67], ebx
lea r8, [rbp + 0x67]
xor edx, edx
mov rcx, qword [rbp + 0x77]
call qword [sym.imp.USERENV.dll_GetUserProfileDirectoryW]
test eax, eax
jne 0x1418c9a4e
mov eax, dword [rbp + 0x67]
test eax, eax
je 0x1418c9a4e
mov ecx, eax
mov eax, 2
mul rcx
cmovo rax, rdi
mov rcx, rax
call fcn.14196a9c8
mov rbx, rax
lea r8, [rbp + 0x67]
mov rdx, rax
mov rcx, qword [rbp + 0x77]
call qword [sym.imp.USERENV.dll_GetUserProfileDirectoryW]
test eax, eax
je 0x1418c9a46
mov r8d, edi
mov rdx, rbx
lea rcx, [rbp + 0x7f]
call fcn.1418752c0
mov rdx, qword [rbp + 0x6f]
mov qword [rbp + 7], rdx
mov rcx, qword [rax]
mov qword [rbp + 0x6f], rcx
mov qword [rax], rdx
mov rcx, qword [rbp + 0x7f]
mov eax, dword [rcx]
test eax, eax
je 0x1418c9a38
cmp eax, edi
je 0x1418c9a46
mov eax, edi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1418c9a46
mov rcx, qword [rbp + 0x7f]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.1418993e0
mov rcx, rbx
call fcn.14196a130
mov rcx, qword [rbp + 0x77]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, qword [rbp + 0x6f]
cmp dword [rax + 4], 0
je 0x1418c9a73
lea rcx, [rbp + 0x6f]
call fcn.1418805f0
test al, al
jne 0x1418c9d5c
lea rdx, [0x14004be58]
lea rcx, [rbp - 0x61]
call fcn.1418ad3c0
nop
mov rdx, rax
lea rcx, [rbp - 0x69]
call fcn.14187cd40
mov rdx, qword [rbp + 0x6f]
mov qword [rbp + 0xf], rdx
mov rcx, qword [rax]
mov qword [rbp + 0x6f], rcx
mov qword [rax], rdx
mov rcx, qword [rbp - 0x69]
mov eax, dword [rcx]
test eax, eax
je 0x1418c9ac0
cmp eax, 0xffffffff
je 0x1418c9acf
mov eax, edi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1418c9acf
mov rcx, qword [rbp - 0x69]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.1418993e0
nop
mov rcx, qword [rbp - 0x61]
mov eax, dword [rcx]
test eax, eax
je 0x1418c9aed
cmp eax, 0xffffffff
je 0x1418c9afb
mov eax, edi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1418c9afb
mov rcx, qword [rbp - 0x61]
mov edx, 1
lea r8d, [rdx + 7]
call fcn.1418993e0
mov rax, qword [rbp + 0x6f]
cmp dword [rax + 4], 0
je 0x1418c9b16
lea rcx, [rbp + 0x6f]
call fcn.1418805f0
test al, al
jne 0x1418c9d5c
lea rdx, [0x14004be68]
lea rcx, [rbp - 0x39]
call fcn.1418ad3c0
nop
mov rdx, rax
lea rcx, [rbp - 0x41]
call fcn.14187cd40
mov rbx, rax
lea rdx, [0x14004be78]
lea rcx, [rbp - 0x49]
call fcn.1418ad3c0
nop
mov rdx, rax
lea rcx, [rbp - 0x51]
call fcn.14187cd40
nop
mov qword [rbp - 0x11], rax
mov qword [rbp - 9], rbx
lea rdx, [rbp - 0x59]
lea rcx, [rbp - 0x11]
call fcn.141891e50
mov rdx, qword [rbp + 0x6f]
mov qword [rbp + 0x17], rdx
mov rcx, qword [rax]
mov qword [rbp + 0x6f], rcx
mov qword [rax], rdx
mov rcx, qword [rbp - 0x59]
mov eax, dword [rcx]
test eax, eax
je 0x1418c9b99
cmp eax, 0xffffffff
je 0x1418c9ba8
mov eax, edi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1418c9ba8
mov rcx, qword [rbp - 0x59]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.1418993e0
nop
mov rcx, qword [rbp - 0x51]
mov eax, dword [rcx]
test eax, eax
je 0x1418c9bc6
cmp eax, 0xffffffff
je 0x1418c9bd5
mov eax, edi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1418c9bd5
mov rcx, qword [rbp - 0x51]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.1418993e0
nop
mov rcx, qword [rbp - 0x49]
mov eax, dword [rcx]
test eax, eax
je 0x1418c9bf3
cmp eax, 0xffffffff
je 0x1418c9c02
mov eax, edi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1418c9c02
mov rcx, qword [rbp - 0x49]
mov edx, 1
lea r8d, [rdx + 7]
call fcn.1418993e0
nop
mov rcx, qword [rbp - 0x41]
mov eax, dword [rcx]
test eax, eax
je 0x1418c9c20
cmp eax, 0xffffffff
je 0x1418c9c2f
mov eax, edi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1418c9c2f
mov rcx, qword [rbp - 0x41]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.1418993e0
nop
mov rcx, qword [rbp - 0x39]
mov eax, dword [rcx]
test eax, eax
je 0x1418c9c4d
cmp eax, 0xffffffff
je 0x1418c9c5b
mov eax, edi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1418c9c5b
mov rcx, qword [rbp - 0x39]
mov edx, 1
lea r8d, [rdx + 7]
call fcn.1418993e0
mov rax, qword [rbp + 0x6f]
cmp dword [rax + 4], 0
je 0x1418c9c76
lea rcx, [rbp + 0x6f]
call fcn.1418805f0
test al, al
jne 0x1418c9d5c
lea rdx, [0x14004be84]
lea rcx, [rbp - 0x29]
call fcn.1418ad3c0
nop
mov rdx, rax
lea rcx, [rbp - 0x31]
call fcn.14187cd40
mov rdx, qword [rbp + 0x6f]
mov qword [rbp + 0x1f], rdx
mov rcx, qword [rax]
mov qword [rbp + 0x6f], rcx
mov qword [rax], rdx
mov rcx, qword [rbp - 0x31]
mov eax, dword [rcx]
test eax, eax
je 0x1418c9cc3
cmp eax, 0xffffffff
je 0x1418c9cd2
mov eax, edi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1418c9cd2
mov rcx, qword [rbp - 0x31]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.1418993e0
nop
mov rcx, qword [rbp - 0x29]
mov eax, dword [rcx]
test eax, eax
je 0x1418c9cf0
cmp eax, 0xffffffff
je 0x1418c9cfe
mov eax, edi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1418c9cfe
mov rcx, qword [rbp - 0x29]
mov edx, 1
lea r8d, [rdx + 7]
call fcn.1418993e0
mov rax, qword [rbp + 0x6f]
cmp dword [rax + 4], 0
je 0x1418c9d15
lea rcx, [rbp + 0x6f]
call fcn.1418805f0
test al, al
jne 0x1418c9d5c
lea rcx, [rbp - 0x21]
call fcn.1418cb600
mov rdx, qword [rbp + 0x6f]
mov qword [rbp + 0x27], rdx
mov rcx, qword [rax]
mov qword [rbp + 0x6f], rcx
mov qword [rax], rdx
mov rcx, qword [rbp - 0x21]
mov eax, dword [rcx]
test eax, eax
je 0x1418c9d4e
cmp eax, 0xffffffff
je 0x1418c9d5c
mov eax, edi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1418c9d5c
mov rcx, qword [rbp - 0x21]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.1418993e0
lea rdx, [rbp + 0x6f]
mov rcx, rsi
call fcn.141893750
nop
mov rcx, qword [rbp + 0x6f]
mov eax, dword [rcx]
test eax, eax
je 0x1418c9d85
cmp eax, 0xffffffff
je 0x1418c9d93
lock xadd dword [rcx], edi
cmp edi, 1
jne 0x1418c9d93
mov rcx, qword [rbp + 0x6f]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.1418993e0
mov rax, rsi
add rsp, 0xc8
pop rdi
pop rsi
pop rbx
pop rbp
ret