Function at 0x140019590
Capabilities:
Get common file path
Get startup folder

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x1f0
mov rax, qword [0x1400c0040]
xor rax, rsp
mov qword [rsp + 0x1e8], rax
xor esi, esi
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], rsi
mov r8d, 7
lea rdx, str.cs2.exe
lea rcx, [rsp + 0x30]
call fcn.1400035f0
lea rdx, [rsp + 0x30]
call fcn.140018530
mov edi, eax
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov edx, 5
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetFolderPathA]
test eax, eax
jne 0x1400199c2
lea rax, [rsp + 0xd0]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], sil
jne 0x140019624
lea rdx, [rsp + 0xd0]
lea rbx, [0x14020ca70]
mov rcx, rbx
call fcn.140014e00
mov r8d, 0xd
lea rdx, str._ezglobal_ext
mov rcx, rbx
call fcn.140019b50
test edi, edi
jne 0x1400199c2
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], rsi
mov r8d, 0xa
lea rdx, str.client.dll
lea rcx, [rsp + 0x30]
call fcn.1400035f0
lea rdx, [rsp + 0x30]
call fcn.140017cc0
mov rdi, rax
test rax, rax
je 0x1400199c2
lea rdx, [0x14020e650]
lea rcx, [rsp + 0x58]
call fcn.1400064d0
mov rdx, rdi
mov rcx, rax
call fcn.1400234f0
test rax, rax
je 0x1400199c2
sub eax, edi
mov dword [0x1400c00d0], eax
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], rsi
mov r8d, 0xa
lea rdx, str.client.dll
lea rcx, [rsp + 0x30]
call fcn.1400035f0
lea rdx, [rsp + 0x30]
call fcn.140017cc0
mov qword [0x14020ec80], rax
mov ecx, dword [0x1400c00d0]
add rcx, rax
mov qword [0x14020ec88], rcx
lea rcx, [rax + 0x19ca480]
mov qword [0x14020ec90], rcx
lea rcx, [rax + 0x19d98e8]
mov qword [0x14020ec98], rcx
lea rcx, [rax + 0x19b8158]
mov qword [0x14020eca8], rcx
lea rcx, [rax + 0x17d37f0]
mov qword [0x14020ecb0], rcx
lea rcx, [rax + 0x17c74f8]
mov qword [0x14020ecc0], rcx
test rax, rax
je 0x1400199c2
mov rax, rbx
cmp qword [0x14020ca88], 0xf
cmova rax, qword [0x14020ca70]
mov qword [rsp + 0xc0], rax
mov rax, qword [0x14020ca80]
mov qword [rsp + 0xc8], rax
call fcn.14007c1e8
vmovups xmm0, xmmword [rsp + 0xc0]
vmovdqa xmmword [rsp + 0xc0], xmm0
lea r8, [rsp + 0xc0]
mov edx, eax
lea rcx, [rsp + 0x30]
call fcn.1400188f0
nop
mov qword [rsp + 0xc0], rsi
lea rax, [0x1400c00e8]
mov qword [rsp + 0xc8], rax
lea rdx, [rsp + 0xc0]
lea rcx, [rsp + 0x30]
call fcn.1400192b0
movzx edi, al
cmp dword [rsp + 0xc0], 0
jne 0x1400199ee
mov rdx, qword [rsp + 0x48]
cmp rdx, 7
jbe 0x14001983f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001983a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001983a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14007cdac
test dil, dil
jne 0x14001990d
cmp qword [0x14020ca88], 0xf
cmova rbx, qword [0x14020ca70]
mov qword [rsp + 0xc0], rbx
mov rax, qword [0x14020ca80]
mov qword [rsp + 0xc8], rax
call fcn.14007c1e8
vmovups xmm0, xmmword [rsp + 0xc0]
vmovdqa xmmword [rsp + 0xc0], xmm0
lea r8, [rsp + 0xc0]
mov edx, eax
lea rcx, [rsp + 0x30]
call fcn.1400188f0
nop
lea rcx, [rsp + 0x30]
cmp qword [rsp + 0x48], 7
cmova rcx, qword [rsp + 0x30]
call fcn.14007c448
mov rbx, rax
shr rax, 0x20
test eax, eax
jne 0x140019a01
mov rdx, qword [rsp + 0x48]
cmp rdx, 7
jbe 0x140019905
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140019900
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140019900
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14007cdac
test bl, bl
je 0x1400199c2
lea rax, [rsp + 0x80]
mov qword [rsp + 0x50], rax
lea rax, vtable.std::_Func_impl_no_alloc_void____cdecl___void___void___.0
mov qword [rsp + 0x80], rax
lea rax, [0x140006820]
mov qword [rsp + 0x88], rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0xb8], rax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x78], rax
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], rsi
mov r8d, 7
lea rdx, str.SDL_app
lea rcx, [rsp + 0x30]
call fcn.1400035f0
nop
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x70], rsi
mov r8d, 0x10
lea rdx, str.Counter_Strike_2
lea rcx, [rsp + 0x58]
call fcn.1400035f0
nop
lea r9, [rsp + 0x80]
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x58]
call fcn.140063340
nop
call fcn.140019490
xor eax, eax
mov rcx, qword [rsp + 0x1e8]
xor rcx, rsp
call fcn.14007c920
lea r11, [rsp + 0x1f0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rdi
ret
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0xc0]
call fcn.140019250
nop
shr rbx, 0x20
lea r8, [rsp + 0x30]
mov edx, ebx
lea rcx, str.create_directory
call fcn.1400191e0
int3