Function at 0x140048990
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 [0x1400fc060]
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, [0x1400c5c28]
call qword [sym.imp.SHELL32.dll_SHGetKnownFolderPath]
test eax, eax
js 0x140049343
cmp qword [rsp + 0x40], rsi
je 0x140049343
call fcn.1400b4e98
lea rcx, str.C:Windows_securitydatabased3d10.dll
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x58], Ordinal_41
lea r8, [rsp + 0x50]
mov edx, eax
lea rcx, [rsp + 0x70]
call fcn.140047770
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 0x140048a30
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.140052080
nop
call fcn.1400b4e98
lea rcx, str.FiveMFiveM.appplugins
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x58], reloc.WS2_32.dll_socket
lea r8, [rsp + 0x50]
mov edx, eax
lea rcx, [rsp + 0x20]
call fcn.140047770
nop
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x90]
call fcn.1400479c0
nop
mov rdx, qword [rsp + 0x38]
cmp rdx, 8
jb 0x140048af1
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140048aec
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140048aec
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400b4188
lea rcx, [rsp + 0x90]
call fcn.140048640
test al, al
jne 0x140048bf3
mov qword [rsp + 0x50], rsi
lea rax, [0x140180198]
mov qword [rsp + 0x58], rax
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x90]
call fcn.140048730
cmp dword [rsp + 0x50], 0
jne 0x140049371
test al, al
jne 0x140048bf3
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
nop
mov rdx, qword [rsp + 0xa8]
cmp rdx, 8
jb 0x140048b90
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140048b8b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400492c9
call fcn.1400b4188
movdqa xmm0, xmmword [0x1400eafc0]
movdqu xmmword [rsp + 0xa0], xmm0
mov word [rsp + 0x90], si
mov rdx, qword [rsp + 0x88]
cmp rdx, 8
jb 0x140048bee
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140048be9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004932a
call fcn.1400b4188
jmp 0x140049343
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.1400478d0
cmp rax, rdi
je 0x140048c5b
movzx ecx, word [rax]
cmp cx, 0x5c
je 0x140048c32
cmp cx, 0x2f
jne 0x140048c40
add rax, 2
jmp 0x140048c1e
lea rdx, [r11 - 2]
movzx ecx, word [rdx]
cmp cx, 0x5c
je 0x140048c5b
cmp cx, 0x2f
je 0x140048c5b
mov r11, rdx
cmp rax, rdx
jne 0x140048c40
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.140052080
nop
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x50]
call fcn.140047cf0
nop
lea rdx, [rsp + 0x20]
mov rcx, rax
call fcn.1400479c0
mov rdx, rax
lea rcx, [rsp + 0xb0]
call fcn.140047cf0
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 8
jb 0x140048d01
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140048cfb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140048cfb
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400b4188
nop
mov rdx, qword [rsp + 0x38]
cmp rdx, 8
jb 0x140048d46
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140048d41
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140048d41
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400b4188
movdqa xmm0, xmmword [0x1400eafc0]
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.1400b545c
test eax, eax
jne 0x14004938b
mov rdx, qword [rsp + 0x40]
nop dword [rax]
inc rbx
cmp word [rdx + rbx*2], 0
jne 0x140048da0
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.140052080
nop
call fcn.1400b4e98
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.140047770
nop
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0xd0]
call fcn.1400479c0
nop
mov rdx, qword [rsp + 0x38]
cmp rdx, 8
jb 0x140048e63
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140048e5e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140048e5e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400b4188
call fcn.1400b4e98
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.140047770
nop
lea rdx, [rsp + 0xd0]
lea rcx, [rsp + 0x50]
call fcn.140047cf0
nop
lea rdx, [rsp + 0x20]
mov rcx, rax
call fcn.1400479c0
mov rdx, rax
lea rcx, [rsp + 0xf0]
call fcn.140047cf0
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 8
jb 0x140048f06
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140048f00
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140048f00
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400b4188
nop
mov rdx, qword [rsp + 0x38]
cmp rdx, 8
jb 0x140048f4b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140048f46
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140048f46
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400b4188
movdqa xmm0, xmmword [0x1400eafc0]
movdqu xmmword [rsp + 0x30], xmm0
mov word [rsp + 0x20], si
lea rcx, [rsp + 0xf0]
call fcn.140048640
mov r9d, Ordinal_50
lea rdx, str.Please_start_FiveM
xor ecx, ecx
test al, al
je 0x14004914c
lea r8, str.FiveM
call qword [sym.imp.USER32.dll_MessageBoxA]
lea rdx, [rsp + 0x110]
lea rcx, [rsp + 0xf0]
call fcn.140052430
nop
mov ebx, esi
movabs r15, 0x7fffffffc46535ff
movabs r14, 0x7fffffffffffffff
nop dword [rax + rax]
cmp ebx, 0x1e
jge 0x14004904e
lea rcx, [rsp + 0xf0]
call fcn.140048640
test al, al
jne 0x140049075
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 0x140048ffc
imul rax, rax, 0x64
jmp 0x14004901a
cqo
idiv rdi
mov rcx, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rdi
imul rcx, rcx, 0x3b9aca00
add rax, rcx
cmp rax, r15
jge 0x140049038
add rax, 0x3b9aca00
mov qword [rsp + 0x50], rax
lea rcx, [rsp + 0x50]
call fcn.140053a20
inc ebx
jmp 0x140048fc0
mov qword [rsp + 0x50], r14
lea rcx, [rsp + 0x50]
call fcn.140053a20
inc ebx
jmp 0x140048fc0
mov r9d, Ordinal_50
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.1400b545c
test eax, eax
jne 0x1400493a0
mov rdx, qword [rsp + 0x128]
cmp rdx, 0x10
jb 0x140049102
inc rdx
mov rcx, qword [rsp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400490fc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400490fc
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400b4188
nop
mov rdx, qword [rsp + 0x108]
cmp rdx, 8
jb 0x1400491a9
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0xf0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400491a4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400491a4
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
lea r8, str.FiveM_Not_Found
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.1400b545c
test eax, eax
jne 0x1400493b5
jmp 0x140049102
call fcn.1400b4188
movdqa xmm0, xmmword [0x1400eafc0]
movdqu xmmword [rsp + 0x100], xmm0
mov word [rsp + 0xf0], si
mov rdx, qword [rsp + 0xe8]
cmp rdx, 8
jb 0x14004920d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0xd0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140049208
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140049208
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400b4188
movdqa xmm0, xmmword [0x1400eafc0]
movdqu xmmword [rsp + 0xe0], xmm0
mov word [rsp + 0xd0], si
mov rdx, qword [rsp + 0xc8]
cmp rdx, 8
jb 0x140049271
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0xb0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004926c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004926c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400b4188
movdqa xmm0, xmmword [0x1400eafc0]
movdqu xmmword [rsp + 0xc0], xmm0
mov word [rsp + 0xb0], si
mov rdx, qword [rsp + 0xa8]
cmp rdx, 8
jb 0x1400492d5
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400492d0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400492d0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400b4188
movdqa xmm0, xmmword [0x1400eafc0]
movdqu xmmword [rsp + 0xa0], xmm0
mov word [rsp + 0x90], si
mov rdx, qword [rsp + 0x88]
cmp rdx, 8
jb 0x140049337
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140049331
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140049331
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400b4188
nop
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
nop
mov rcx, qword [rsp + 0x138]
xor rcx, rsp
call fcn.1400b3be0
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.1400485e0
nop
lea r9, [rsp + 0xb0]
lea r8, [rsp + 0x70]
mov edx, eax
call fcn.140048560
nop
lea r9, [rsp + 0x70]
lea r8, [rsp + 0xb0]
mov edx, eax
call fcn.140048560
nop
lea r9, [rsp + 0x70]
lea r8, [rsp + 0xb0]
mov edx, eax
call fcn.140048560
int3