Function at 0x14006efe0
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x20], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
mov rdi, rcx
xor r13d, r13d
mov dword [rbp - 0x30], r13d
mov qword [rbp + 0x48], r13
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
mov qword [rcx + 0x10], r13
mov qword [rcx + 0x18], send
mov byte [rcx], r13b
mov dword [rbp - 0x30], 1
lea r9, [rbp + 0x48]
xor r8d, r8d
xor edx, edx
lea rcx, [0x1400d08e0]
call qword [sym.imp.SHELL32.dll_SHGetKnownFolderPath]
movabs r12, 0x7fffffffffffffff
xorps xmm0, xmm0
mov qword [rbp - 0x18], r13
movups xmmword [rbp - 0x28], xmm0
test eax, eax
js 0x14006f22d
mov r15, qword [rbp + 0x48]
mov qword [rbp - 0x10], r13
mov rbx, 0xffffffffffffffff
nop dword [rax + rax]
inc rbx
cmp word [r15 + rbx*2], 0
jne 0x14006f070
movabs r14, 0x7ffffffffffffffe
cmp rbx, r14
ja 0x14006f320
mov qword [rbp - 0x10], 7
cmp rbx, 7
ja 0x14006f0bd
mov qword [rbp - 0x18], rbx
add rbx, rbx
mov r8, rbx
mov rdx, r15
lea rcx, [rbp - 0x28]
call sub.VCRUNTIME140.dll_memcpy
mov word [rbp + rbx - 0x28], r13w
jmp 0x14006f157
mov rax, rbx
or rax, 7
cmp rax, r14
jbe 0x14006f0cf
lea rcx, [r12 + r12]
jmp 0x14006f0f7
mov r14, rax
mov ecx, 0xa
cmp rax, rcx
cmovb r14, rcx
lea rcx, [r14 + 1]
cmp rcx, r12
ja 0x14006f326
add rcx, rcx
cmp rcx, 0x1000
jb 0x14006f123
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14006f326
mov rcx, rax
call fcn.1400c6364
test rax, rax
je 0x14006f21f
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x14006f135
test rcx, rcx
je 0x14006f132
call fcn.1400c6364
mov rsi, rax
jmp 0x14006f135
mov rsi, r13
mov qword [rbp - 0x28], rsi
mov qword [rbp - 0x18], rbx
mov qword [rbp - 0x10], r14
add rbx, rbx
mov r8, rbx
mov rdx, r15
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov word [rbx + rsi], r13w
mov r9, qword [rbp - 0x18]
test r9, r9
je 0x14006f1e4
lea r8, [rbp - 0x28]
cmp qword [rbp - 0x10], 7
cmova r8, qword [rbp - 0x28]
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r13
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
movsxd rbx, eax
mov rdx, rbx
xor r8d, r8d
mov rcx, rdi
call fcn.140075270
mov rcx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x14006f1b1
mov rcx, qword [rdi]
lea r8, [rbp - 0x28]
cmp qword [rbp - 0x10], 7
cmova r8, qword [rbp - 0x28]
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rcx
mov r9d, dword [rbp - 0x18]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
nop
mov rdx, qword [rbp - 0x10]
cmp rdx, 7
jbe 0x14006f2a0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14006f226
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14006f226
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400c62ec
jmp 0x14006f2a0
mov qword [rbp - 0x10], send
mov ecx, 0x20
call fcn.1400c6364
mov rdx, rax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x18], 0x1f
mov qword [rbp - 0x10], 0x1f
movups xmm0, xmmword [str.Could_not_find_saved_games_path]
movups xmmword [rax], xmm0
movsd xmm0, qword [0x1400decf8]
movsd qword [rax + 0x10], xmm0
mov ecx, dword [0x1400ded00]
mov dword [rax + 0x18], ecx
movzx eax, word [0x1400ded04]
mov word [rdx + 0x1c], ax
movzx eax, byte [0x1400ded06]
mov byte [rdx + 0x1e], al
mov byte [rdx + 0x1f], 0
mov r8b, 1
lea rdx, [rbp - 0x28]
mov ecx, recv
call fcn.14007e0c0
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, qword [rdi + 0x10]
sub r12, rcx
cmp r12, 0x18
jb 0x14006f31a
mov rax, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x14006f2c4
mov rax, qword [rdi]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0x18
lea r9, str.Found_saved_games_path:
lea rcx, [rbp - 0x28]
call fcn.14004cca0
mov dword [rbp - 0x30], 3
mov r8b, 1
lea rdx, [rbp - 0x28]
mov ecx, recv
call fcn.14007e0c0
mov rax, rdi
mov rbx, qword [rsp + 0xc8]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14004adb0
int3
call fcn.14004adb0
int3
call fcn.14004ad10
int3