Function at 0x140019560
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.140018500
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 0x140019992
lea rax, [rsp + 0xd0]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], sil
jne 0x1400195f4
lea rdx, [rsp + 0xd0]
lea rbx, [0x14020ca70]
mov rcx, rbx
call fcn.140014dd0
mov r8d, 0xd
lea rdx, str._ezglobal_ext
mov rcx, rbx
call fcn.140019b20
test edi, edi
jne 0x140019992
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.140017c90
mov rdi, rax
test rax, rax
je 0x140019992
lea rdx, [0x14020e650]
lea rcx, [rsp + 0x58]
call fcn.1400064d0
mov rdx, rdi
mov rcx, rax
call fcn.1400234c0
test rax, rax
je 0x140019992
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.140017c90
mov qword [0x14020ec80], rax
mov ecx, dword [0x1400c00d0]
add rcx, rax
mov qword [0x14020ec88], rcx
lea rcx, [rax + 0x1a20cf0]
mov qword [0x14020ec90], rcx
lea rcx, [rax + 0x1a2e268]
mov qword [0x14020ec98], rcx
lea rcx, [rax + 0x1a0e9c8]
mov qword [0x14020eca8], rcx
lea rcx, [rax + 0x1824a18]
mov qword [0x14020ecb0], rcx
lea rcx, [rax + 0x1818648]
mov qword [0x14020ecc0], rcx
test rax, rax
je 0x140019992
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.14007c178
vmovups xmm0, xmmword [rsp + 0xc0]
vmovdqa xmmword [rsp + 0xc0], xmm0
lea r8, [rsp + 0xc0]
mov edx, eax
lea rcx, [rsp + 0x30]
call fcn.1400188c0
nop
mov qword [rsp + 0xc0], rsi
lea rax, [0x1400c00e8]
mov qword [rsp + 0xc8], rax
lea rdx, [rsp + 0xc0]
lea rcx, [rsp + 0x30]
call fcn.140019280
movzx edi, al
cmp dword [rsp + 0xc0], 0
jne 0x1400199be
mov rdx, qword [rsp + 0x48]
cmp rdx, 7
jbe 0x14001980f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001980a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001980a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14007cd3c
test dil, dil
jne 0x1400198dd
cmp qword [0x14020ca88], 0xf
cmova rbx, qword [0x14020ca70]
mov qword [rsp + 0xc0], rbx
mov rax, qword [0x14020ca80]
mov qword [rsp + 0xc8], rax
call fcn.14007c178
vmovups xmm0, xmmword [rsp + 0xc0]
vmovdqa xmmword [rsp + 0xc0], xmm0
lea r8, [rsp + 0xc0]
mov edx, eax
lea rcx, [rsp + 0x30]
call fcn.1400188c0
nop
lea rcx, [rsp + 0x30]
cmp qword [rsp + 0x48], 7
cmova rcx, qword [rsp + 0x30]
call fcn.14007c3d8
mov rbx, rax
shr rax, 0x20
test eax, eax
jne 0x1400199d1
mov rdx, qword [rsp + 0x48]
cmp rdx, 7
jbe 0x1400198d5
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400198d0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400198d0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14007cd3c
test bl, bl
je 0x140019992
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.1400632d0
nop
call fcn.140019460
xor eax, eax
mov rcx, qword [rsp + 0x1e8]
xor rcx, rsp
call fcn.14007c8b0
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.140019220
nop
shr rbx, 0x20
lea r8, [rsp + 0x30]
mov edx, ebx
lea rcx, str.create_directory
call fcn.1400191b0
int3