Function at 0x140062190
Capabilities:
Check if file exists
Create process on windows
Get file attributes

Disassembly:
push rbp
push rdi
push r12
lea rbp, [rsp - 0x2a00]
mov eax, 0x2b00
call fcn.14024c240
sub rsp, rax
mov qword [rsp + 0x68], 0xfffffffffffffffe
mov qword [rsp + 0x2b28], rbx
mov qword [rsp + 0x2b30], rsi
mov rax, qword [0x140398250]
xor rax, rsp
mov qword [rbp + 0x29f0], rax
mov rbx, rcx
xor r8d, r8d
lea rdx, str.CBaseFuncMgr::FN_ShowReadMe
lea rcx, [rsp + 0x40]
call fcn.1400075a0
nop
xor edx, edx
mov r8d, 0x800
lea rcx, [rbp + 0x21f0]
call fcn.14024b970
lea rdx, [rsp + 0x58]
mov rcx, qword [0x1403b9760]
mov rcx, qword [rcx + 0x78]
call qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
cmp dword [rsp + 0x58], 0x103
jne 0x140062225
jmp 0x140062631
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x20]
mov r9, qword [rax]
lea r8, [rbp + 0x7e0]
xor edx, edx
mov rcx, rax
call qword [r9 + 0x290]
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x48]
mov r9, qword [rax]
lea r8, [rbp - 0x20]
lea rdx, [rbp + 0x7e0]
mov rcx, rax
call qword [r9 + 0x18]
lea r9, [rbp - 0x20]
lea r8, str._t_t_t________Readme_Folder_Name____s_
mov edx, 7
lea rcx, [rsp + 0x40]
call fcn.140007780
call fcn.140102a14
mov r11, rax
xor r12d, r12d
mov ecx, r12d
test rax, rax
setne cl
test ecx, ecx
jne 0x1400622a3
mov ecx, 0x80004005
call fcn.140005210
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x60], rbx
mov ecx, 0xab
call fcn.1401027e8
test rax, rax
je 0x1400622dc
mov r8d, 0xab
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.140005b00
mov rbx, qword [rsp + 0x60]
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0xf0]
or rdi, 0xffffffffffffffff
test eax, eax
je 0x140062364
mov word [rbp + 0x19f0], r12w
xor edx, edx
mov r8d, 0x7fe
lea rcx, [rbp + 0x19f2]
call fcn.14024b970
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x48]
mov r9, qword [rax]
lea r8, [rbp + 0x19f0]
lea rdx, str.READMEFOLDER
mov rcx, rax
call qword [r9 + 0x18]
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x19f0]
lea r8, [rbp - 0x20]
lea rdx, str._s_s_s
lea rcx, [rbp - 0x20]
call qword [sym.imp.USER32.dll_wsprintfW]
jmp 0x140062422
lea rcx, [0x1402ddbb8]
call fcn.140023e50
test eax, eax
je 0x1400623fc
mov word [rbp + 0x9f0], r12w
xor edx, edx
mov r8d, 0x7fe
lea rcx, [rbp + 0x9f2]
call fcn.14024b970
lea rcx, [0x1402e0304]
call fcn.140023f10
mov qword [rsp + 0x28], rbx
mov r8, rdi
mov edx, 0x400
lea rcx, [rbp + 0x9f0]
test eax, eax
lea rax, [rbp - 0x20]
mov qword [rsp + 0x20], rax
lea r9, str._spcl6_s
jne 0x1400623cf
lea r9, str._spcl5e_5c_s
call fcn.14024679c
lea rcx, [rbp + 0x9f0]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov edx, 0x400
lea rcx, [rbp - 0x20]
test eax, eax
je 0x140062405
lea r8, [rbp + 0x9f0]
call fcn.140246628
jmp 0x140062422
mov edx, 0x400
lea rcx, [rbp - 0x20]
mov qword [rsp + 0x28], rbx
lea rax, [rbp - 0x20]
mov qword [rsp + 0x20], rax
lea r9, [0x1402dd6b0]
mov r8, rdi
call fcn.14024679c
lea rcx, [rbp - 0x20]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x14006248c
mov word [rbp + 0x11f0], r12w
xor edx, edx
mov r8d, 0x7fe
lea rcx, [rbp + 0x11f2]
call fcn.14024b970
mov rcx, qword [0x1403b9750]
mov rax, qword [rcx]
call qword [rax + 0x48]
mov r9, qword [rax]
lea r8, [rbp + 0x11f0]
lea rdx, str.READMEFOLDER
mov rcx, rax
call qword [r9 + 0x18]
mov r9, rbx
lea r8, [rbp + 0x11f0]
lea rdx, str.__s_s
lea rcx, [rbp - 0x20]
call qword [sym.imp.USER32.dll_wsprintfW]
lea rcx, [rbp - 0x20]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x1400624fa
lea r9, [rbp - 0x20]
lea r8, str._t_t_tREADME_not_found_in__s_
mov edx, 7
lea rcx, [rsp + 0x40]
call fcn.140007780
mov dword [0x1403b95bc], 0x27
mov r9d, 0x80010027
lea r8, str.return__08x
mov edx, 2
lea rcx, [rsp + 0x40]
call fcn.140007780
nop
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], edi
dec edi
test edi, edi
jg 0x1400624f5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
jmp 0x140062631
lea r8, [rbp - 0x20]
mov edx, 0x400
lea rcx, [rbp + 0x21f0]
call fcn.140246628
lea r9, [rbp + 0x21f0]
lea r8, str._t_t_tCmd_s_
mov edx, 7
lea rcx, [rsp + 0x40]
call fcn.140007780
xor edx, edx
lea r8d, [rdx + 0x70]
lea rcx, [rsp + 0x70]
call fcn.14024b970
mov dword [rsp + WSACleanup], 0x70
mov dword [rsp + 0x74], 0x4440
lea rax, str.open
mov qword [rbp - 0x80], rax
lea rax, [rbp + 0x21f0]
mov qword [rbp - 0x78], rax
mov dword [rbp - 0x60], 5
lea rcx, [rsp + 0x70]
call qword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
je 0x140062589
mov rcx, qword [rbp - 0x28]
mov rax, qword [0x1403b9760]
mov qword [rax + 0x78], rcx
jmp 0x1400625ff
mov qword [rsp + 0x50], r12
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
mov r9d, 0x409
mov r8d, esi
xor edx, edx
mov ecx, 0x1300
call qword [sym.imp.KERNEL32.dll_FormatMessageW]
test eax, eax
je 0x1400625ef
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], esi
lea r9, str._t_t_tShellExecuteEx
lea r8, str.ApiName:__s__ErrorCode:__d_:__s
mov edx, 6
lea rcx, [rsp + 0x40]
call fcn.140007780
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x1400625ff
call qword [sym.imp.KERNEL32.dll_LocalFree]
xor r9d, r9d
lea r8, str.return__08x
lea edx, [r9 + 2]
lea rcx, [rsp + 0x40]
call fcn.140007780
nop
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], edi
dec edi
test edi, edi
jg 0x140062631
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x40]
call fcn.140007730
xor eax, eax
mov rcx, qword [rbp + 0x29f0]
xor rcx, rsp
call fcn.140245660
lea r11, [rsp + 0x2b00]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r12
pop rdi
pop rbp
ret