Function at 0x1400b7ff0
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, [0x140117db0]
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 0x1400b823d
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 0x1400b8080
movabs r14, 0x7ffffffffffffffe
cmp rbx, r14
ja 0x1400b832a
mov qword [rbp - 0x10], 7
cmp rbx, 7
ja 0x1400b80cd
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 0x1400b8167
mov rax, rbx
or rax, 7
cmp rax, r14
jbe 0x1400b80df
lea rcx, [r12 + r12]
jmp 0x1400b8107
mov r14, rax
mov ecx, 0xa
cmp rax, rcx
cmovb r14, rcx
lea rcx, [r14 + 1]
cmp rcx, r12
ja 0x1400b8330
add rcx, rcx
cmp rcx, 0x1000
jb 0x1400b8133
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1400b8330
mov rcx, rax
call fcn.14010abe0
test rax, rax
je 0x1400b822f
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x1400b8145
test rcx, rcx
je 0x1400b8142
call fcn.14010abe0
mov rsi, rax
jmp 0x1400b8145
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 0x1400b81f4
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.1400bf5f0
mov rcx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x1400b81c1
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 0x1400b82ad
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400b8236
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400b8236
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14010a808
jmp 0x1400b82ad
mov qword [rbp - 0x10], reloc.WS2_32.dll_ntohs
mov ecx, 0x20
call fcn.14010abe0
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 [0x14012ea88]
movsd qword [rax + 0x10], xmm0
mov ecx, dword [0x14012ea90]
mov dword [rax + 0x18], ecx
movzx eax, word [0x14012ea94]
mov word [rdx + 0x1c], ax
movzx eax, byte [0x14012ea96]
mov byte [rdx + 0x1e], al
mov byte [rdx + 0x1f], 0
lea rdx, [rbp - 0x28]
mov ecx, recv
call fcn.1400c9370
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, qword [rdi + 0x10]
sub r12, rcx
cmp r12, 0x18
jb 0x1400b8324
mov rax, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x1400b82d1
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.1400a5860
mov dword [rbp - 0x30], 3
lea rdx, [rbp - 0x28]
mov ecx, recv
call fcn.1400c9370
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.1400668e0
int3
call fcn.1400668e0
int3
call fcn.140066840
int3