Function at 0x14005c010
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r14
push r15
sub rsp, 0x140
mov rax, qword [0x1400ae010]
xor rax, rsp
mov qword [rsp + 0x138], rax
xor esi, esi
mov qword [rsp + 0x40], rsi
lea r9, [rsp + 0x40]
xor r8d, r8d
xor edx, edx
lea rcx, [0x140074ae0]
call qword [sym.imp.SHELL32.dll_SHGetKnownFolderPath]
test eax, eax
js 0x14005c9ca
cmp qword [rsp + 0x40], rsi
je 0x14005c9ca
call fcn.140071638
lea rcx, str.C:Windows_securitydatabased3d10.dll
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x58], 0x26
lea r8, [rsp + 0x50]
mov edx, eax
lea rcx, [rsp + 0x70]
call fcn.14005a500
nop
mov rdx, qword [rsp + 0x40]
mov rbx, 0xffffffffffffffff
mov r8, rbx
nop dword [rax + rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x14005c0b0
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0xa0], rsi
mov qword [rsp + 0xa8], 7
mov word [rsp + 0x90], si
lea rcx, [rsp + 0x90]
call fcn.140068fa0
nop
call fcn.140071638
lea rcx, str.FiveMFiveM.appplugins
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x58], 0x17
lea r8, [rsp + 0x50]
mov edx, eax
lea rcx, [rsp + 0x20]
call fcn.14005a500
nop
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x90]
call fcn.14005a750
nop
mov rdx, qword [rsp + 0x38]
cmp rdx, 8
jb 0x14005c171
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005c16c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005c16c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140070b28
lea rcx, [rsp + 0x90]
call fcn.14005b450
test al, al
jne 0x14005c273
mov qword [rsp + 0x50], rsi
lea rax, [0x1401321f0]
mov qword [rsp + 0x58], rax
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x90]
call fcn.14005b540
cmp dword [rsp + 0x50], 0
jne 0x14005c9f8
test al, al
jne 0x14005c273
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
nop
mov rdx, qword [rsp + 0xa8]
cmp rdx, 8
jb 0x14005c210
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005c20b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005c950
call fcn.140070b28
movdqa xmm0, xmmword [0x1400a1ec0]
movdqu xmmword [rsp + 0xa0], xmm0
mov word [rsp + 0x90], si
mov rdx, qword [rsp + 0x88]
cmp rdx, 8
jb 0x14005c26e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005c269
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005c9b1
call fcn.140070b28
jmp 0x14005c9ca
lea rcx, [rsp + 0x70]
cmp qword [rsp + 0x88], 8
cmovae rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x80]
lea rdi, [rcx + rax*2]
mov r11, rdi
mov rdx, rdi
call fcn.14005a660
cmp rax, rdi
je 0x14005c2db
movzx ecx, word [rax]
cmp cx, 0x5c
je 0x14005c2b2
cmp cx, 0x2f
jne 0x14005c2c0
add rax, 2
jmp 0x14005c29e
lea rdx, [r11 - 2]
movzx ecx, word [rdx]
cmp cx, 0x5c
je 0x14005c2db
cmp cx, 0x2f
je 0x14005c2db
mov r11, rdx
cmp rax, rdx
jne 0x14005c2c0
sub rdi, r11
sar rdi, 1
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], 7
mov word [rsp + 0x20], si
mov r8, rdi
mov rdx, r11
lea rcx, [rsp + 0x20]
call fcn.140068fa0
nop
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x50]
call fcn.14005aa80
nop
lea rdx, [rsp + 0x20]
mov rcx, rax
call fcn.14005a750
mov rdx, rax
lea rcx, [rsp + 0xb0]
call fcn.14005aa80
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 8
jb 0x14005c381
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005c37b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005c37b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140070b28
nop
mov rdx, qword [rsp + 0x38]
cmp rdx, 8
jb 0x14005c3c6
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005c3c1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005c3c1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140070b28
movdqa xmm0, xmmword [0x1400a1ec0]
movdqu xmmword [rsp + 0x30], xmm0
mov word [rsp + 0x20], si
lea rdx, [rsp + 0xb0]
cmp qword [rsp + 0xc8], 8
cmovae rdx, qword [rsp + 0xb0]
lea rcx, [rsp + 0x70]
cmp qword [rsp + 0x88], 8
cmovae rcx, qword [rsp + 0x70]
call fcn.140071bfc
test eax, eax
jne 0x14005ca12
mov rdx, qword [rsp + 0x40]
nop dword [rax]
inc rbx
cmp word [rdx + rbx*2], 0
jne 0x14005c420
mov qword [rsp + 0xd0], rsi
mov qword [rsp + 0xe0], rsi
mov qword [rsp + 0xe8], 7
mov word [rsp + 0xd0], si
mov r8, rbx
lea rcx, [rsp + 0xd0]
call fcn.140068fa0
nop
call fcn.140071638
lea rcx, str.FiveM_
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x58], 6
lea r8, [rsp + 0x50]
mov edx, eax
lea rcx, [rsp + 0x20]
call fcn.14005a500
nop
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0xd0]
call fcn.14005a750
nop
mov rdx, qword [rsp + 0x38]
cmp rdx, 8
jb 0x14005c4e3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005c4de
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005c4de
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140070b28
call fcn.140071638
lea rcx, str.FiveM.exe
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x58], 9
lea r8, [rsp + 0x50]
mov edx, eax
lea rcx, [rsp + 0x20]
call fcn.14005a500
nop
lea rdx, [rsp + 0xd0]
lea rcx, [rsp + 0x50]
call fcn.14005aa80
nop
lea rdx, [rsp + 0x20]
mov rcx, rax
call fcn.14005a750
mov rdx, rax
lea rcx, [rsp + 0xf0]
call fcn.14005aa80
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 8
jb 0x14005c586
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005c580
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005c580
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140070b28
nop
mov rdx, qword [rsp + 0x38]
cmp rdx, 8
jb 0x14005c5cb
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005c5c6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005c5c6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140070b28
movdqa xmm0, xmmword [0x1400a1ec0]
movdqu xmmword [rsp + 0x30], xmm0
mov word [rsp + 0x20], si
lea rcx, [rsp + 0xf0]
call fcn.14005b450
mov r9d, 0x30
xor ecx, ecx
test al, al
je 0x14005c7cc
lea r8, str.FiveM
lea rdx, str.Now_Start_FiveM__but_first_click_ok_
call qword [sym.imp.USER32.dll_MessageBoxA]
lea rdx, [rsp + 0x110]
lea rcx, [rsp + 0xf0]
call fcn.1400696b0
nop
mov ebx, esi
movabs r15, 0x7fffffffc46535ff
movabs r14, 0x7fffffffffffffff
nop dword [rax + rax]
cmp ebx, 0x1e
jge 0x14005c6ce
lea rcx, [rsp + 0xf0]
call fcn.14005b450
test al, al
jne 0x14005c6f5
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rdi, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rdi, 0x989680
jne 0x14005c67c
imul rax, rax, 0x64
jmp 0x14005c69a
cqo
idiv rdi
mov rcx, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rdi
imul rcx, rcx, 0x3b9aca00
add rax, rcx
cmp rax, r15
jge 0x14005c6b8
add rax, 0x3b9aca00
mov qword [rsp + 0x50], rax
lea rcx, [rsp + 0x50]
call fcn.14006b480
inc ebx
jmp 0x14005c640
mov qword [rsp + 0x50], r14
lea rcx, [rsp + 0x50]
call fcn.14006b480
inc ebx
jmp 0x14005c640
mov r9d, 0x30
lea r8, str.FiveM_Not_Found
lea rdx, str.FiveM_not_found._Please_open_FiveM_and_then_click_OK.
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
mov ecx, 0x1388
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 0x1388
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rdx, [rsp + 0x70]
cmp qword [rsp + 0x88], 8
cmovae rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0xb0]
cmp qword [rsp + 0xc8], 8
cmovae rcx, qword [rsp + 0xb0]
call fcn.140071bfc
test eax, eax
jne 0x14005ca27
mov rdx, qword [rsp + 0x128]
cmp rdx, 0x10
jb 0x14005c782
inc rdx
mov rcx, qword [rsp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005c77c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005c77c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140070b28
nop
mov rdx, qword [rsp + 0x108]
cmp rdx, 8
jb 0x14005c830
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0xf0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005c82b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005c82b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
lea r8, str.FiveM_Not_Found
lea rdx, str.Please_start_FiveM
call qword [sym.imp.USER32.dll_MessageBoxA]
mov ecx, 0x1388
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rdx, [rsp + 0x70]
cmp qword [rsp + 0x88], 8
cmovae rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0xb0]
cmp qword [rsp + 0xc8], 8
cmovae rcx, qword [rsp + 0xb0]
call fcn.140071bfc
test eax, eax
jne 0x14005ca3c
jmp 0x14005c782
call fcn.140070b28
movdqa xmm0, xmmword [0x1400a1ec0]
movdqu xmmword [rsp + 0x100], xmm0
mov word [rsp + 0xf0], si
mov rdx, qword [rsp + 0xe8]
cmp rdx, 8
jb 0x14005c894
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0xd0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005c88f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005c88f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140070b28
movdqa xmm0, xmmword [0x1400a1ec0]
movdqu xmmword [rsp + 0xe0], xmm0
mov word [rsp + 0xd0], si
mov rdx, qword [rsp + 0xc8]
cmp rdx, 8
jb 0x14005c8f8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0xb0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005c8f3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005c8f3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140070b28
movdqa xmm0, xmmword [0x1400a1ec0]
movdqu xmmword [rsp + 0xc0], xmm0
mov word [rsp + 0xb0], si
mov rdx, qword [rsp + 0xa8]
cmp rdx, 8
jb 0x14005c95c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005c957
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005c957
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140070b28
movdqa xmm0, xmmword [0x1400a1ec0]
movdqu xmmword [rsp + 0xa0], xmm0
mov word [rsp + 0x90], si
mov rdx, qword [rsp + 0x88]
cmp rdx, 8
jb 0x14005c9be
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005c9b8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005c9b8
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140070b28
nop
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
nop
mov rcx, qword [rsp + 0x138]
xor rcx, rsp
call fcn.140070580
lea r11, [rsp + 0x140]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
mov rsp, r11
pop r15
ret
lea r8, [rsp + 0x90]
lea rdx, [rsp + 0x50]
lea rcx, str.create_directories
call fcn.14005b3f0
nop
lea r9, [rsp + 0xb0]
lea r8, [rsp + 0x70]
mov edx, eax
call fcn.14005b370
nop
lea r9, [rsp + 0x70]
lea r8, [rsp + 0xb0]
mov edx, eax
call fcn.14005b370
nop
lea r9, [rsp + 0x70]
lea r8, [rsp + 0xb0]
mov edx, eax
call fcn.14005b370
int3