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

Disassembly:
sub rsp, 0x3c8
mov rax, qword [0x140112200]
xor rax, rsp
mov qword [rsp + 0x3b8], rax
lea rcx, [rsp + 0x158]
call fcn.14002e470
mov qword [rsp + 0x40], rax
mov rdx, qword [rsp + 0x40]
lea rcx, [0x1401d53f0]
call fcn.14001da70
lea rcx, [rsp + 0x158]
call fcn.1400098b0
call fcn.14002dee0
movzx eax, al
test eax, eax
je 0x14002e5cc
lea rcx, [0x1401d5480]
call fcn.14002d6e0
call fcn.14002e430
mov dword [0x1401122b0], eax
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov qword [rsp + 0x30], rax
mov dx, 3
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
mov dx, 7
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
lea rax, [rsp + 0x178]
mov qword [rsp + 0x48], rax
lea rdx, str.cs2.exe
mov rcx, qword [rsp + 0x48]
call fcn.1400098e0
mov qword [rsp + 0x50], rax
mov rdx, qword [rsp + 0x50]
lea rcx, [0x1401d5190]
call fcn.14002ce70
mov dword [rsp + 0x3c], eax
lea rax, [rsp + 0x2a0]
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
je 0x14002e685
lea rdx, str._Info__Error:_Failed_to_get_the_Documents_folder_path.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.14001fcf0
mov qword [rsp + 0x58], rax
lea rdx, [0x140020190]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
call fcn.14002e540
lea rdx, [rsp + 0x2a0]
lea rcx, [0x1401d5460]
call fcn.14001d9a0
lea rdx, str.CRAFT
lea rcx, [0x1401d5460]
call fcn.140030570
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x38], eax
cmp dword [rsp + 0x38], 1
je 0x14002e6d2
cmp dword [rsp + 0x38], 2
je 0x14002e710
cmp dword [rsp + 0x38], 3
je 0x14002e74e
jmp 0x14002e78c
mov dx, 4
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
lea rdx, str._ERROR__Please_launch_the_game_first_
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14001fcf0
mov qword [rsp + 0x60], rax
lea rdx, [0x140020190]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
call fcn.14002e540
mov dx, 4
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
lea rdx, str._ERROR__Failed_to_hook_process__please_run_the_cheat_as_Administrator__Right_click_CRAFT___Run_as_Adminstrator_.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14001fcf0
mov qword [rsp + 0x68], rax
lea rdx, [0x140020190]
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
call fcn.14002e540
mov dx, 4
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
lea rdx, str._ERROR__Failed_to_get_module_address.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14001fcf0
mov qword [rsp + 0x70], rax
lea rdx, [0x140020190]
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
call fcn.14002e540
call fcn.140032f20
movzx eax, al
test eax, eax
jne 0x14002e7d6
mov dx, 4
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
lea rdx, str._ERROR__Failed_to_update_offsets.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14001fcf0
mov qword [rsp + 0x78], rax
lea rdx, [0x140020190]
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
call fcn.14002e540
lea rcx, [0x1401d51d0]
call fcn.14002c730
movzx eax, al
test eax, eax
jne 0x14002e82d
mov dx, 4
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
lea rdx, str._ERROR__Failed_to_call_InitAddress__.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14001fcf0
mov qword [rsp + 0x80], rax
lea rdx, [0x140020190]
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
call fcn.14002e540
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_ShowWindow]
lea rdx, [0x140020190]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov dx, 7
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
nop
lea rax, [rsp + 0x218]
mov qword [rsp + 0x88], rax
lea rdx, [0x14001ab40]
mov rcx, qword [rsp + 0x88]
call fcn.1400316d0
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0xc8], rax
lea rax, [rsp + 0x198]
mov qword [rsp + 0xa0], rax
lea rdx, [0x1400e3620]
mov rcx, qword [rsp + 0xa0]
call fcn.1400098e0
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0xd0], rax
lea rax, [rsp + 0x1b8]
mov qword [rsp + 0xb8], rax
lea rdx, [0x1400e3658]
mov rcx, qword [rsp + 0xb8]
call fcn.1400098e0
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0xd8], rax
mov r9, qword [rsp + 0xc8]
mov r8, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0xd8]
mov rcx, qword [0x1401d5288]
call fcn.1400d0be0
nop
jmp 0x14002e95d
mov rcx, qword [rsp + 0x3b8]
xor rcx, rsp
call fcn.1400d6c40
add rsp, 0x3c8
ret