Function at 0x4069a3
Capabilities:
Check if file exists
Create process on windows
Create process suspended
Get common file path
Set current directory
Terminate process

Disassembly:
push 0x98
mov eax, 0x4240f5
call fcn.0041514d
push dword [ebp + 0x10]
lea eax, [ebp - 0x30]
push eax
call fcn.00402644
xor esi, esi
mov dword [ebp - 4], esi
mov eax, dword [0x43b30c]
mov edi, 0x43b30c
mov ecx, edi
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x20], eax
mov byte [ebp - 4], 1
mov eax, dword [0x43b30c]
mov ecx, edi
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x18], eax
push str.Wow64DisableWow64FsRedirection
mov byte [ebp - 4], 2
push str.kernel32.dll
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x34], esi
call dword [sym.imp.KERNEL32.DLL_LoadLibraryW]
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
cmp eax, esi
je 0x406a17
lea ecx, [ebp - 0x34]
push ecx
call eax
mov eax, 0x104
push eax
push eax
lea esi, [ebp - 0x18]
call fcn.004012ff
push eax
call dword [sym.imp.KERNEL32.DLL_GetSystemDirectoryW]
call fcn.00402923
lea eax, [ebp - 0x5c]
push eax
call fcn.0040472c
mov eax, esi
push eax
lea ebx, [ebp - 0x5c]
mov byte [ebp - 4], 3
call fcn.0040671c
pop ecx
test eax, eax
jne 0x406a5f
push str._esys
call fcn.00401820
pop ecx
jmp 0x406c54
and dword [ebp - 0x24], 0
jmp 0x406a6a
mov edi, 0x43b30c
lea esi, [ebp - 0x20]
call fcn.00401415
lea eax, [ebp - 0x5c]
push eax
mov eax, esi
push eax
call fcn.0040680a
pop ecx
pop ecx
test eax, eax
jne 0x406a94
push str._ename
call fcn.00401820
pop ecx
jmp 0x406c2f
mov eax, dword [0x43b30c]
mov ecx, edi
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 4
push dword [ebp - 0x20]
lea eax, [ebp - 0x1c]
push dword [ebp - 0x18]
push 0x430f40
call fcn.00401552
add esp, 0xc
lea esi, [ebp - 0x1c]
call fcn.00402923
mov esi, dword [ebp - 0x1c]
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x406c23
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.DLL_SetCurrentDirectoryW]
xor eax, eax
lea edi, [ebp - 0x44]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 0x44
pop ebx
stosd dword es:[edi], eax
push ebx
xor edi, edi
lea eax, [ebp - 0xa4]
push edi
push eax
call fcn.00414a20
add esp, 0xc
lea eax, [ebp - 0x28]
push eax
mov dword [ebp - 0xa4], ebx
mov dword [ebp - 0x28], edi
call dword [sym.imp.KERNEL32.DLL_GetCurrentProcessId]
push eax
call dword [sym.imp.KERNEL32.DLL_ProcessIdToSessionId]
test eax, eax
jne 0x406b21
mov dword [ebp - 0x28], edi
cmp dword [ebp - 0x28], edi
jne 0x406b99
push str._in0
call fcn.00401820
pop ecx
mov dword [ebp - 0x14], edi
jmp 0x406b41
push 0x1f4
call dword [sym.imp.KERNEL32.DLL_Sleep]
lea ebx, [ebp - 0x14]
call fcn.004068de
test eax, eax
je 0x406b36
cmp dword [ebp - 0x14], edi
je 0x406c18
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0xa4]
push eax
push edi
push edi
push 0x8000004
push edi
push edi
push edi
push 0x42728c
push esi
push dword [ebp - 0x14]
mov dword [ebp - 0x9c], str.WinSta0Default
call dword [sym.imp.ADVAPI32.dll_CreateProcessAsUserW]
mov ebx, eax
cmp dword [ebp - 0x14], edi
je 0x406bc7
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov dword [ebp - 0x14], edi
jmp 0x406bc7
push str._in1
call fcn.00401820
pop ecx
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0xa4]
push eax
push edi
push edi
push 0x8000004
push edi
push edi
push edi
push 0x42728c
push esi
call dword [sym.imp.KERNEL32.DLL_CreateProcessW]
mov ebx, eax
cmp ebx, edi
je 0x406c18
cmp dword [ebp - 0x3c], edi
je 0x406c18
lea esi, [ebp - 0x30]
call fcn.0040290c
push eax
push 0x430ff4
push edi
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [ebp - 0x3c]
call fcn.0040a860
add esp, 0x18
mov dword [ebp - 0x2c], eax
cmp eax, edi
jne 0x406c3e
push 0x43107c
call fcn.00401820
pop ecx
push edi
push dword [ebp - 0x44]
call dword [sym.imp.KERNEL32.DLL_TerminateProcess]
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff0
jmp 0x406c2a
push 0x431078
call fcn.00401820
pop ecx
mov byte [ebp - 4], 3
lea eax, [esi - 0x10]
call fcn.0040159d
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jl 0x406a65
jmp 0x406c54
push 0x431080
call fcn.00401820
mov eax, dword [ebp - 0x1c]
pop ecx
add eax, 0xfffffff0
call fcn.0040159d
lea esi, [ebp - 0x5c]
mov byte [ebp - 4], 2
call fcn.00409393
push str.Wow64RevertWow64FsRedirection
push str.kernel32.dll
call dword [sym.imp.KERNEL32.DLL_LoadLibraryW]
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
test eax, eax
je 0x406c80
push dword [ebp - 0x34]
call eax
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
call fcn.0040159d
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff0
call fcn.0040159d
mov eax, dword [ebp - 0x30]
add eax, 0xfffffff0
call fcn.0040159d
mov eax, dword [ebp - 0x2c]
call fcn.00415225
ret