Function at 0x1400b9970
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], reloc.WS2_32.dll_ntohs
mov byte [rcx], r13b
mov dword [rbp - 0x30], 1
lea r9, [rbp + 0x48]
xor r8d, r8d
xor edx, edx
lea rcx, [0x140118df0]
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 0x1400b9bbd
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 0x1400b9a00
movabs r14, 0x7ffffffffffffffe
cmp rbx, r14
ja 0x1400b9caa
mov qword [rbp - 0x10], 7
cmp rbx, 7
ja 0x1400b9a4d
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 0x1400b9ae7
mov rax, rbx
or rax, 7
cmp rax, r14
jbe 0x1400b9a5f
lea rcx, [r12 + r12]
jmp 0x1400b9a87
mov r14, rax
mov ecx, 0xa
cmp rax, rcx
cmovb r14, rcx
lea rcx, [r14 + 1]
cmp rcx, r12
ja 0x1400b9cb0
add rcx, rcx
cmp rcx, 0x1000
jb 0x1400b9ab3
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1400b9cb0
mov rcx, rax
call fcn.14010bac0
test rax, rax
je 0x1400b9baf
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x1400b9ac5
test rcx, rcx
je 0x1400b9ac2
call fcn.14010bac0
mov rsi, rax
jmp 0x1400b9ac5
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 0x1400b9b74
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.1400c0890
mov rcx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x1400b9b41
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 0x1400b9c2d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400b9bb6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400b9bb6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14010b6e8
jmp 0x1400b9c2d
mov qword [rbp - 0x10], reloc.WS2_32.dll_ntohs
mov ecx, 0x20
call fcn.14010bac0
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 [0x14012fc38]
movsd qword [rax + 0x10], xmm0
mov ecx, dword [0x14012fc40]
mov dword [rax + 0x18], ecx
movzx eax, word [0x14012fc44]
mov word [rdx + 0x1c], ax
movzx eax, byte [0x14012fc46]
mov byte [rdx + 0x1e], al
mov byte [rdx + 0x1f], 0
lea rdx, [rbp - 0x28]
mov ecx, recv
call fcn.1400c9fe0
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, qword [rdi + 0x10]
sub r12, rcx
cmp r12, 0x18
jb 0x1400b9ca4
mov rax, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x1400b9c51
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.1400a72c0
mov dword [rbp - 0x30], 3
lea rdx, [rbp - 0x28]
mov ecx, recv
call fcn.1400c9fe0
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.1400668f0
int3
call fcn.1400668f0
int3
call fcn.140066850
int3