Function at 0x1800f90f0
Capabilities:
Get common file path
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xf0
mov rax, qword [0x1802242b8]
xor rax, rsp
mov qword [rbp + 0x27], rax
xor r12d, r12d
mov qword [rbp - 0x71], r12
lea r9, [rbp - 0x71]
xor r8d, r8d
xor edx, edx
lea rcx, [0x1801bcca8]
call sub.SHELL32.dll_SHGetKnownFolderPath
xorps xmm0, xmm0
movups xmmword [rbp - 0x39], xmm0
mov qword [rbp - 0x29], r12
mov qword [rbp - 0x21], r12
mov rdx, qword [rbp - 0x71]
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp word [rdx + r8*2], r12w
jne 0x1800f9160
lea rcx, [rbp - 0x39]
call fcn.180020760
nop
mov rcx, qword [rbp - 0x71]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov r14, qword [rbp - 0x29]
movabs rcx, 0x7ffffffffffffffe
mov rax, rcx
sub rax, r14
cmp rax, 0xb
jb 0x1800f9564
lea r15, [rbp - 0x39]
cmp qword [rbp - 0x21], 8
cmovae r15, qword [rbp - 0x39]
xorps xmm0, xmm0
movups xmmword [rbp + 7], xmm0
lea rsi, [r14 + 0xb]
mov ebx, 7
lea rdi, [rbp + 7]
lea r13d, [rbx + 3]
cmp rsi, rbx
jbe 0x1800f91f3
mov rbx, rsi
or rbx, 7
cmp rbx, rcx
jbe 0x1800f91d8
mov rbx, rcx
jmp 0x1800f91df
cmp rbx, r13
cmovb rbx, r13
lea rdx, [rbx + 1]
lea rcx, [rbp + 7]
call fcn.18000f110
mov rdi, rax
mov qword [rbp + 7], rax
mov qword [rbp + 0x17], rsi
mov qword [rbp + 0x1f], rbx
lea rbx, [r14 + r14]
mov r8, rbx
mov rdx, r15
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
movups xmm0, xmmword [str.CitizenFX_]
movups xmmword [rbx + rdi], xmm0
mov eax, dword [0x1801bab00]
mov dword [rbx + rdi + 0x10], eax
movzx eax, word [0x1801bab04]
mov word [rbx + rdi + 0x14], ax
mov word [rdi + rsi*2], r12w
lea r8, [rbp - 0x39]
cmp qword [rbp - 0x21], 8
cmovae r8, qword [rbp - 0x39]
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
xor edx, edx
mov ecx, 0xfde9
lea r9d, [rdx - 1]
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
movsxd rbx, eax
mov rdx, rbx
xor r8d, r8d
lea rcx, [rbp - 0x19]
call fcn.1800da5b0
nop
lea rdx, [rbp - 0x19]
cmp qword [rbp - 1], 0x10
cmovae rdx, qword [rbp - 0x19]
lea r8, [rbp - 0x39]
cmp qword [rbp - 0x21], 8
cmovae r8, qword [rbp - 0x39]
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rdx
xor edx, edx
mov ecx, 0xfde9
lea r9d, [rdx - 1]
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov dword [rbp - 0x41], r12d
xorps xmm0, xmm0
movups xmmword [rbp - 0x61], xmm0
mov qword [rbp - 0x51], r12
mov qword [rbp - 0x49], r12
mov rbx, qword [rbp - 9]
lea rsi, [rbp - 0x19]
cmp qword [rbp - 1], 0x10
cmovae rsi, qword [rbp - 0x19]
movabs rdi, 0x7fffffffffffffff
cmp rbx, rdi
ja 0x1800f955e
cmp rbx, 0x10
jae 0x1800f930d
mov qword [rbp - 0x51], rbx
mov ecx, reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x49], rcx
movups xmm0, xmmword [rsi]
movups xmmword [rbp - 0x61], xmm0
jmp 0x1800f9360
mov qword [rbp - 0x49], reloc.WS2_32.dll_ntohs
mov rax, rbx
or rax, 0xf
cmp rax, rdi
ja 0x1800f9330
mov rdi, rax
mov ecx, reloc.WLDAP32.dll_Ordinal_22
cmp rax, rcx
cmovb rdi, rcx
lea rdx, [rdi + 1]
lea rcx, [rbp - 0x61]
call fcn.18000eec0
mov qword [rbp - 0x61], rax
mov qword [rbp - 0x51], rbx
mov qword [rbp - 0x49], rdi
lea r8, [rbx + 1]
mov rdx, rsi
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rbp - 0x49]
mov rbx, qword [rbp - 0x51]
mov rax, rcx
sub rax, rbx
cmp rax, 0xa
jb 0x1800f939c
lea rax, [rbx + 0xa]
mov qword [rbp - 0x51], rax
lea rax, [rbp - 0x61]
cmp rcx, 0x10
cmovae rax, qword [rbp - 0x61]
add rbx, rax
mov r8, r13
lea rdx, str.ros_id.dat
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + 0xa], 0
jmp 0x1800f93b9
mov qword [rsp + 0x20], r13
lea r9, str.ros_id.dat
movzx r8d, byte [rbp - 0x79]
mov rdx, r13
lea rcx, [rbp - 0x61]
call fcn.180026760
lea rdx, [rbp - 0x61]
cmp qword [rbp - 0x49], 0x10
cmovae rdx, qword [rbp - 0x61]
lea r8, [0x1801bab14]
lea rcx, [rbp - 0x69]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen_s]
xor r8d, r8d
xor edx, edx
mov rcx, qword [rbp - 0x69]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
mov r9, qword [rbp - 0x69]
mov edx, 1
lea r8d, [rdx + 3]
lea rcx, [rbp - 0x41]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rcx, qword [rbp - 0x69]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
nop
mov rdx, qword [rbp - 0x49]
cmp rdx, 0x10
jb 0x1800f9447
inc rdx
mov rcx, qword [rbp - 0x61]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800f9442
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800f9442
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180153a5c
mov qword [rbp - 0x51], r12
mov qword [rbp - 0x49], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x61], 0
mov rdx, qword [rbp - 1]
cmp rdx, 0x10
jb 0x1800f9495
inc rdx
mov rcx, qword [rbp - 0x19]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800f9490
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800f9490
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180153a5c
mov qword [rbp - 9], r12
mov qword [rbp - 1], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x19], 0
mov rdx, qword [rbp + 0x1f]
cmp rdx, 8
jb 0x1800f94e9
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 7]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800f94e3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800f94e3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180153a5c
nop
mov rdx, qword [rbp - 0x21]
cmp rdx, 8
jb 0x1800f952c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x39]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800f9527
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800f9527
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180153a5c
mov eax, 1
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.180153af0
lea r11, [rsp + 0xf0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.180007a10
nop
call fcn.180007a10
int3