Function at 0x100068914
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x6f0
mov rax, qword [0x100086110]
xor rax, rsp
mov qword [rsp + 0x6e0], rax
mov rsi, qword [rcx]
xor r14d, r14d
mov rbx, rcx
mov ebp, 1
cmp rsi, r14
je 0x100068957
mov rax, rsi
jmp 0x10006895c
call fcn.100066bf8
cmp rax, r14
jne 0x10006896b
mov eax, 0x80004005
jmp 0x100068d46
cmp rsi, r14
je 0x100068975
mov rax, rsi
jmp 0x10006897d
mov rcx, rbx
call fcn.100066bf8
cmp dword [rax + 0x130], r14d
je 0x10006898d
xor eax, eax
jmp 0x100068d46
cmp rsi, r14
je 0x100068997
mov rax, rsi
jmp 0x10006899f
mov rcx, rbx
call fcn.100066bf8
cmp qword [rax + 0x50], r14
je 0x100068d44
cmp rsi, r14
jne 0x1000689b9
mov rcx, rbx
call fcn.100066bf8
mov rsi, rax
mov rsi, qword [rsi + 0x50]
lea r12, [0x1000062c0]
mov rcx, rbp
mov rdi, r12
repe cmpsw word [rsi], word [rdi]
je 0x100068d44
lea rax, [rsp + 0x2c0]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x801c
xor ecx, ecx
mov qword [rsp + 0x20], rax
call qword [sym.imp.SHELL32.dll_SHGetFolderPathW]
cmp eax, r14d
jl 0x100068d44
lea rax, [0x10002e300]
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x78], r14
mov qword [rsp + 0xa0], r14
mov dword [rsp + 0xa8], r14d
mov dword [rsp + 0xac], r14d
mov qword [rsp + 0x98], rax
call fcn.10007d40c
call qword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
xor r9d, r9d
xor r8d, r8d
mov ecx, eax
lea edx, [r9 + 0x5c]
mov esi, eax
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
lea rcx, [rsp + 0x58]
mov edx, eax
mov r13d, eax
call fcn.10007d51c
cmp eax, r14d
mov edi, eax
jl 0x100068d11
mov r9d, r13d
mov r13, qword [rsp + 0x58]
mov edx, 0x5c
mov r8, r13
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
cmp eax, r14d
jne 0x100068a98
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx edi, ax
or edi, 0x80070000
cmp eax, r14d
cmovle edi, eax
cmp edi, r14d
jl 0x100068d11
mov rcx, qword [rbx]
cmp rcx, r14
jne 0x100068ab4
mov rcx, rbx
call fcn.100066bf8
mov rcx, rax
cmp qword [rcx], r14
mov rax, r12
mov esi, 0x208
cmovne rax, qword [rcx]
lea r9, [rsp + 0x2c0]
lea r8, [0x10002e120]
lea rcx, [rsp + 0xb0]
mov rdx, rsi
mov qword [rsp + 0x20], rax
call fcn.10003a0f0
cmp eax, r14d
jl 0x100068d11
lea rcx, [rsp + 0xb0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov rdx, qword [rbx]
cmp rdx, r14
jne 0x100068b13
mov rcx, rbx
call fcn.100066bf8
mov rdx, rax
cmp qword [rdx], r14
mov rax, r12
lea r9, [rsp + 0x2c0]
cmovne rax, qword [rdx]
lea r8, [0x10002e160]
lea rcx, [rsp + 0xb0]
mov rdx, rsi
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rax
call fcn.10003a0f0
cmp eax, r14d
jl 0x100068d11
lea rcx, [rsp + 0xb0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
cmp eax, r14d
jne 0x100068bc4
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov eax, 0x57
cmp edi, r14d
cmove edi, eax
cmp edi, 0xb7
je 0x100068bc4
lea rax, [rsp + 0xb0]
cmp rax, r14
je 0x100068b9b
lea rcx, [rsp + 0xb0]
call fcn.100053354
jmp 0x100068b9e
mov eax, r14d
cmp eax, r14d
jne 0x100068bc4
lea r8, [rsp + 0xb0]
lea rdx, [0x10002e2a0]
mov r9d, edi
mov ecx, 2
call fcn.1000527f4
jmp 0x100068d11
lea r8, [0x10002e1a0]
lea rcx, [rsp + 0xb0]
mov rdx, rsi
call fcn.100039fb0
cmp eax, r14d
jl 0x100068d11
mov rax, qword [rbx]
cmp rax, r14
jne 0x100068bf4
mov rcx, rbx
call fcn.100066bf8
mov rdx, qword [rax + 0x50]
lea r8, [rsp + 0xb0]
mov rcx, rbx
call fcn.100067800
cmp eax, r14d
mov ebp, eax
jl 0x100068cfd
mov rax, qword [rbx]
cmp rax, r14
jne 0x100068c23
mov rcx, rbx
call fcn.100066bf8
cmp qword [rax], r14
lea r8, [0x10002e1d0]
lea rcx, [rsp + 0x4d0]
cmovne r12, qword [rax]
mov rdx, rsi
mov r9, r12
call fcn.10003a0f0
cmp eax, r14d
jl 0x100068ce1
mov qword [rsp + 0x40], r14
lea rax, [rsp + 0x50]
lea rdx, [rsp + 0x4d0]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r14
xor r9d, r9d
xor r8d, r8d
mov rcx, 0xffffffff80000001
mov dword [rsp + 0x28], 2
mov dword [rsp + 0x20], r14d
mov qword [rsp + 0x50], r14
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
cmp eax, r14d
jne 0x100068ce1
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0xb0]
repne scasw ax, word [rdi]
lea rdx, [0x10002e250]
mov r9d, 1
not rcx
xor r8d, r8d
lea eax, [rcx + rcx]
mov rcx, qword [rsp + 0x50]
mov dword [rsp + 0x28], eax
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rax, qword [rbx]
cmp rax, r14
jne 0x100068cf1
mov rcx, rbx
call fcn.100066bf8
mov dword [rax + 0x130], 1
jmp 0x100068d11
lea rdx, [0x10002e268]
mov r8d, eax
mov ecx, 2
call fcn.1000527f4
lea rcx, [rsp + 0x58]
call fcn.10007d970
lea rdx, [0x10002e2f8]
lea rcx, [rsp + 0x98]
mov qword [rsp + 0x70], rdx
call fcn.100068f88
mov rcx, qword [rsp + 0x78]
cmp rcx, r14
je 0x100068d44
mov rax, qword [rcx]
call qword [rax + 0x10]
mov eax, ebp
mov rcx, qword [rsp + 0x6e0]
xor rcx, rsp
call fcn.10007fa70
lea r11, [rsp + 0x6f0]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsp, r11
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret