Function at 0x40968d
Capabilities:
Create process on windows
Create thread
Get common file path
Hide graphical window
Set current directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x974
push edi
push 0x4119e8
call fcn.00409e2e
pop ecx
test eax, eax
jbe 0x409830
mov al, byte [0x410f90]
mov byte [ebp - 0x21c], al
push 0x40
pop ecx
xor eax, eax
lea edi, [ebp - 0x21b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov al, byte [0x410f90]
mov byte [ebp - 0x320], al
push 0x40
pop ecx
xor eax, eax
lea edi, [ebp - 0x31f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov al, byte [0x410f90]
mov byte [ebp - 0x118], al
push 0x40
pop ecx
xor eax, eax
lea edi, [ebp - 0x117]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0
push 0x40d79c
push 0x4119e8
call fcn.00409ddc
pop ecx
push eax
call fcn.004068aa
add esp, 0xc
push eax
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
push 1
push 0x40d79c
push 0x4119e8
call fcn.00409ddc
pop ecx
push eax
call fcn.004068aa
add esp, 0xc
push eax
lea eax, [ebp - 0x320]
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
lea eax, [ebp - 0x21c]
push eax
call fcn.00406b82
pop ecx
push eax
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
lea eax, [ebp - 0x320]
push eax
call fcn.00406b82
pop ecx
push eax
lea eax, [ebp - 0x320]
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
lea eax, [ebp - 0x21c]
push eax
call fcn.00407278
pop ecx
lea eax, [ebp - 0x320]
push eax
call fcn.00407278
pop ecx
lea eax, [ebp - 0x118]
push eax
lea eax, [ebp - 0x21c]
push eax
call fcn.00406a40
pop ecx
pop ecx
lea eax, [ebp - 0x118]
push eax
call fcn.00406a0f
pop ecx
test eax, eax
jne 0x4097d0
lea eax, [ebp - 0x118]
push eax
call fcn.004070e6
pop ecx
lea eax, [ebp - 0x118]
push eax
lea eax, [ebp - 0x320]
push eax
call fcn.00406a40
pop ecx
pop ecx
lea eax, [ebp - 0x118]
push eax
call fcn.00406a0f
pop ecx
test eax, eax
jne 0x409803
lea eax, [ebp - 0x118]
push eax
call fcn.004070e6
pop ecx
lea eax, [ebp - 0x320]
push eax
lea eax, [ebp - 0x118]
push eax
lea eax, [ebp - 0x21c]
push eax
call fcn.00409c8e
add esp, 0xc
push 0x4119e8
call fcn.00409de6
pop ecx
jmp 0x409697
push 0x40de50
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
test eax, eax
jle 0x409bd1
mov al, byte [0x410f90]
mov byte [ebp - 0x868], al
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0x867]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov al, byte [0x410f90]
mov byte [ebp - 0x468], al
push 0x40
pop ecx
xor eax, eax
lea edi, [ebp - 0x467]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
and dword [ebp - 0x364], 0
push 0x10
pop ecx
xor eax, eax
lea edi, [ebp - 0x360]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x364], 0x44
push 0x411a00
call fcn.00407278
pop ecx
push 0x411a00
call dword [sym.imp.KERNEL32.DLL_SetCurrentDirectoryA]
push 0x40de50
call fcn.00406b82
pop ecx
push eax
lea eax, [ebp - 0x468]
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
lea eax, [ebp - 0x468]
push eax
call fcn.00407278
pop ecx
push 3
lea eax, [ebp - 0x468]
push eax
call fcn.0040653f
pop ecx
pop ecx
push eax
push 0x40d798
call fcn.0040680b
pop ecx
pop ecx
test eax, eax
je 0x40993c
push 3
lea eax, [ebp - 0x468]
push eax
call fcn.0040653f
pop ecx
pop ecx
push eax
push 0x40d794
call fcn.0040680b
pop ecx
pop ecx
test eax, eax
je 0x40993c
push 3
lea eax, [ebp - 0x468]
push eax
call fcn.0040653f
pop ecx
pop ecx
push eax
push 0x40d790
call fcn.0040680b
pop ecx
pop ecx
test eax, eax
jne 0x409a0d
lea eax, [ebp - 0x468]
push eax
call fcn.00407303
pop ecx
test eax, eax
je 0x4099f2
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x364]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x468]
push eax
push 0
call dword [sym.imp.KERNEL32.DLL_CreateProcessA]
test eax, eax
je 0x4099a4
push 0
push dword [0x411b04]
call dword [sym.imp.USER32.dll_ShowWindow]
push 0xffffffffffffffff
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
push 5
push dword [0x411b04]
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x4099f0
mov al, byte [0x410f90]
mov byte [ebp - 0x968], al
push 0x3f
pop ecx
xor eax, eax
lea edi, [ebp - 0x967]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0x468]
push eax
push str._s_could_not_be_executed.
lea eax, [ebp - 0x968]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 0x10
push str.Error
lea eax, [ebp - 0x968]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x409a08
mov dword [ebp - 4], 1
push 5
lea eax, [ebp - 0x468]
push eax
call dword [sym.imp.KERNEL32.DLL_WinExec]
jmp 0x409bd1
push 3
lea eax, [ebp - 0x468]
push eax
call fcn.0040653f
pop ecx
pop ecx
push eax
push 0x40d768
call fcn.0040680b
pop ecx
pop ecx
test eax, eax
je 0x409b94
push 3
lea eax, [ebp - 0x468]
push eax
call fcn.0040653f
pop ecx
pop ecx
push eax
push 0x40d764
call fcn.0040680b
pop ecx
pop ecx
test eax, eax
je 0x409b94
push 3
lea eax, [ebp - 0x468]
push eax
call fcn.0040653f
pop ecx
pop ecx
push eax
push 0x40d760
call fcn.0040680b
pop ecx
pop ecx
test eax, eax
je 0x409b94
push 3
lea eax, [ebp - 0x468]
push eax
call fcn.0040653f
pop ecx
pop ecx
push eax
push 0x40d75c
call fcn.0040680b
pop ecx
pop ecx
test eax, eax
je 0x409b94
push 3
lea eax, [ebp - 0x468]
push eax
call fcn.0040653f
pop ecx
pop ecx
push eax
push 0x40d758
call fcn.0040680b
pop ecx
pop ecx
test eax, eax
je 0x409b94
push 3
lea eax, [ebp - 0x468]
push eax
call fcn.0040653f
pop ecx
pop ecx
push eax
push 0x40d754
call fcn.0040680b
pop ecx
pop ecx
test eax, eax
je 0x409b94
push 3
lea eax, [ebp - 0x468]
push eax
call fcn.0040653f
pop ecx
pop ecx
push eax
push 0x40d750
call fcn.0040680b
pop ecx
pop ecx
test eax, eax
je 0x409b94
push 3
lea eax, [ebp - 0x468]
push eax
call fcn.0040653f
pop ecx
pop ecx
push eax
push 0x40d74c
call fcn.0040680b
pop ecx
pop ecx
test eax, eax
je 0x409b94
push 3
lea eax, [ebp - 0x468]
push eax
call fcn.0040653f
pop ecx
pop ecx
push eax
push 0x40d748
call fcn.0040680b
pop ecx
pop ecx
test eax, eax
je 0x409b94
push 3
lea eax, [ebp - 0x468]
push eax
call fcn.0040653f
pop ecx
pop ecx
push eax
push 0x40d744
call fcn.0040680b
pop ecx
pop ecx
test eax, eax
je 0x409b94
push 3
lea eax, [ebp - 0x468]
push eax
call fcn.0040653f
pop ecx
pop ecx
push eax
push 0x40d740
call fcn.0040680b
pop ecx
pop ecx
test eax, eax
jne 0x409bd1
mov dword [ebp - 0x96c], 0x410f90
push dword [ebp - 0x96c]
push 0x104
call dword [sym.imp.KERNEL32.DLL_GetCurrentDirectoryA]
push 0xa
push dword [ebp - 0x96c]
push 0
lea eax, [ebp - 0x468]
push eax
push str.open
push dword [0x411b04]
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
xor eax, eax
cmp dword [ebp - 4], 0
sete al
mov ecx, dword [0x410f78]
and ecx, eax
test ecx, ecx
je 0x409c06
lea eax, [ebp - 0x970]
push eax
push 0
push 0
push 0x40948a
push 0
push 0
call dword [sym.imp.KERNEL32.DLL_CreateThread]
mov dword [ebp - 0x974], eax
pop edi
leave
ret