Function at 0x40557e
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3d0
mov dword [ebp - 0x264], 0x44
lea eax, [ebp - 0x264]
push eax
call dword [sym.imp.KERNEL32.dll_GetStartupInfoA]
cmp dword [0x41a850], 3
je case.default.0x4055d1
mov ecx, dword [ebp - 0x238]
or ecx, 1
mov dword [ebp - 0x238], ecx
mov edx, dword [0x41a850]
mov dword [ebp - 0x3d0], edx
cmp dword [ebp - 0x3d0], 3
ja case.default.0x4055d1
mov eax, dword [ebp - 0x3d0]
jmp dword [eax*4 + 0x4058a0]
mov word [ebp - 0x234], 5
jmp case.default.0x4055d1
mov word [ebp - 0x234], 0
jmp case.default.0x4055d1
mov word [ebp - 0x234], 6
jmp case.default.0x4055d1
mov word [ebp - 0x234], 3
cmp dword [0x41932c], 0
je 0x405612
xor eax, eax
jmp 0x40589c
cmp dword [0x41a8f8], 0
je 0x405631
mov ecx, dword [0x41a8f8]
push ecx
lea edx, [ebp - 0x368]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x405644
mov eax, dword [0x41a858]
push eax
lea ecx, [ebp - 0x368]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea edx, [ebp - 0x368]
push edx
lea eax, [ebp - 0x118]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [ebp - 0x118]
push ecx
call fcn.00401499
add esp, 4
mov edx, dword [0x41a83c]
push edx
lea eax, [ebp - 0x118]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0
lea ecx, [ebp - 0x118]
push ecx
call fcn.00401328
add esp, 8
test eax, eax
jne 0x4056a4
mov edx, dword [0x41a83c]
push edx
lea eax, [ebp - 0x118]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [ebp - 0x368]
push ecx
call fcn.00401414
add esp, 4
lea edx, [ebp - 0x118]
push edx
call fcn.004054f3
add esp, 4
test eax, eax
jne 0x405734
mov eax, dword [ebp - 0x234]
and eax, 0xffff
push eax
lea ecx, [ebp - 0x368]
push ecx
mov edx, dword [0x41a8cc]
push edx
lea eax, [ebp - 0x118]
push eax
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
mov dword [ebp - 0x220], eax
cmp dword [ebp - 0x220], 0
je 0x405725
push 0
call fcn.00401442
add esp, 4
push 0x64
mov ecx, dword [ebp - 0x220]
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
je 0x405703
jmp 0x40572f
mov eax, 0xc
jmp 0x40589c
jmp 0x40589a
lea edx, [ebp - 0x118]
push edx
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [ebp - 0x21c]
push ecx
push str.__s_
lea edx, [ebp - 0x118]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
cmp dword [0x41a85c], 0
je 0x405793
push 0x4162d8
lea eax, [ebp - 0x118]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [0x41a85c]
push ecx
lea edx, [ebp - 0x118]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
cmp dword [0x41a8cc], 0
je 0x4057c2
push 0x4162dc
lea eax, [ebp - 0x118]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ecx, dword [0x41a8cc]
push ecx
lea edx, [ebp - 0x118]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0
push 0x406ebc
push 0
push 0x7c
mov eax, dword [0x41a8ec]
push eax
call dword [sym.imp.USER32.dll_CreateDialogParamA]
mov dword [ebp - 4], eax
lea ecx, [ebp - 0x14]
push ecx
lea edx, [ebp - 0x264]
push edx
lea eax, [ebp - 0x368]
push eax
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x118]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
je 0x40583e
push 0
call fcn.00401442
add esp, 4
push 0x64
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
je 0x40580b
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x40589a
cmp dword [0x41a854], 0
je 0x40587d
push 0x64
lea edx, [ebp - 0x3cc]
push edx
push 0x31
push 0x4162e0
call fcn.00401a3d
add esp, 0x10
test eax, eax
je 0x40587d
push 0
lea eax, [ebp - 0x3cc]
push eax
lea ecx, [ebp - 0x118]
push ecx
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x405893
push 0
push str.Unable_to_Execute_
lea edx, [ebp - 0x118]
push edx
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov eax, 0xc
jmp 0x40589c
xor eax, eax
mov esp, ebp
pop ebp
ret