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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r14
push r15
sub rsp, 0x200
mov rax, qword [0x1400c1040]
xor rax, rsp
mov qword [rsp + 0x1f8], rax
xor r15d, r15d
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x50], r15
lea r8d, [r15 + 7]
lea rdx, str.cs2.exe
lea rcx, [rsp + 0x38]
call fcn.1400035d0
lea rdx, [rsp + 0x38]
call fcn.1400189d0
mov r14d, eax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea edx, [r15 + 5]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetFolderPathA]
test eax, eax
jne 0x140019e31
lea rax, [rsp + 0xe0]
mov rdi, 0xffffffffffffffff
nop
inc rdi
cmp byte [rax + rdi], r15b
jne 0x140019ab0
mov rax, qword [0x14020da88]
lea rsi, [0x14020da70]
cmp rdi, rax
ja 0x140019afb
mov rbx, rsi
cmp rax, 0xf
cmova rbx, qword [0x14020da70]
mov qword [0x14020da80], rdi
mov r8, rdi
lea rdx, [rsp + 0xe0]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + rdi], r15b
jmp 0x140019b0e
lea r9, [rsp + 0xe0]
mov rdx, rdi
mov rcx, rsi
call fcn.140015300
mov r8d, 0xd
lea rdx, str._ezglobal_ext
mov rcx, rsi
call fcn.140019fb0
test r14d, r14d
jne 0x140019e31
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x50], r15
lea r8d, [r14 + 0xa]
lea rdx, str.client.dll
lea rcx, [rsp + 0x38]
call fcn.1400035d0
lea rdx, [rsp + 0x38]
call fcn.140018160
mov rbx, rax
test rax, rax
je 0x140019e31
lea rdx, [0x14020f660]
lea rcx, [rsp + 0x70]
call fcn.140006490
mov rdx, rbx
mov rcx, rax
call fcn.140023d20
test rax, rax
je 0x140019e31
sub eax, ebx
mov dword [0x1400c10d0], eax
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x50], r15
lea r8d, [r14 + 0xa]
lea rdx, str.client.dll
lea rcx, [rsp + 0x38]
call fcn.1400035d0
lea rdx, [rsp + 0x38]
call fcn.140018160
mov qword [0x14020fc90], rax
mov ecx, dword [0x1400c10d0]
add rcx, rax
mov qword [0x14020fc98], rcx
lea rcx, [rax + 0x1a16a50]
mov qword [0x14020fca0], rcx
lea rcx, [rax + 0x1a235a8]
mov qword [0x14020fca8], rcx
lea rcx, [rax + 0x1a04748]
mov qword [0x14020fcb8], rcx
lea rcx, [rax + 0x181a998]
mov qword [0x14020fcc0], rcx
lea rcx, [rax + 0x180e4e0]
mov qword [0x14020fcd0], rcx
test rax, rax
je 0x140019e31
mov rdi, qword [0x14020da80]
mov rbx, rsi
cmp qword [0x14020da88], 0xf
cmova rbx, qword [0x14020da70]
call fcn.14007d6ac
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], rdi
lea r8, [rsp + 0x60]
mov edx, eax
lea rcx, [rsp + 0x70]
call fcn.140018d90
nop
lea rcx, [rsp + 0x70]
call fcn.140019740
movzx ebx, al
mov rdx, qword [rsp + 0x88]
cmp rdx, 7
jbe 0x140019cc1
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140019cbc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140019cbc
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14007e26c
test bl, bl
jne 0x140019d73
mov rbx, qword [0x14020da80]
cmp qword [0x14020da88], 0xf
cmova rsi, qword [0x14020da70]
call fcn.14007d6ac
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x68], rbx
lea r8, [rsp + 0x60]
mov edx, eax
lea rcx, [rsp + 0x38]
call fcn.140018d90
nop
lea rcx, [rsp + 0x38]
cmp qword [rsp + 0x50], 7
cmova rcx, qword [rsp + 0x38]
call fcn.14007d90c
mov rbx, rax
shr rax, 0x20
test eax, eax
jne 0x140019e66
mov rdx, qword [rsp + 0x50]
cmp rdx, 7
jbe 0x140019d6b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140019d66
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140019d66
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14007e26c
test bl, bl
je 0x140019e31
lea rax, [rsp + 0x98]
mov qword [rsp + 0x30], rax
lea rax, vtable.std::_Func_impl_no_alloc_void____cdecl___void___void___.0
mov qword [rsp + 0x98], rax
lea rax, [0x1400067e0]
mov qword [rsp + 0xa0], rax
lea rax, [rsp + 0x98]
mov qword [rsp + 0xd0], rax
lea rax, [rsp + 0x38]
mov qword [rsp + 0x90], rax
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x50], r15
mov r8d, 7
lea rdx, str.SDL_app
lea rcx, [rsp + 0x38]
call fcn.1400035d0
nop
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rsp + 0x70], xmm0
mov qword [rsp + 0x80], r15
mov qword [rsp + 0x88], r15
mov r8d, 0x10
lea rdx, str.Counter_Strike_2
lea rcx, [rsp + 0x70]
call fcn.1400035d0
nop
lea r9, [rsp + 0x98]
lea r8, [rsp + 0x38]
lea rdx, [rsp + 0x70]
call fcn.140064b40
nop
call fcn.140019910
xor eax, eax
mov rcx, qword [rsp + 0x1f8]
xor rcx, rsp
call fcn.14007dde0
lea r11, [rsp + 0x200]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
mov rsp, r11
pop r15
ret
shr rbx, 0x20
lea r8, [rsp + 0x38]
mov edx, ebx
lea rcx, str.create_directory
call fcn.140019670
int3