Function at 0x41d003
Capabilities:
Create process on windows

Disassembly:
mov eax, 0x458428
call fcn.004385b8
sub esp, 0x84
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
xor edi, edi
mov dword [ebp - 0x10], 0x57
cmp ebx, edi
je 0x41d036
push ebx
call fcn.004386d0
test eax, eax
pop ecx
jbe 0x41d036
push 1
pop eax
jmp 0x41d038
xor eax, eax
xor ecx, ecx
cmp eax, edi
setne cl
mov eax, ecx
cmp eax, edi
jne 0x41d06b
push edi
call sym.HPZshl01.exe_char_const____cdecl_GetErrorString_long_int_
pop ecx
push eax
push str.Invalid_command_line
push str._s_failed_returning__s_n
push 0x4788a8
call fcn.0041f963
add esp, 0x10
xor eax, eax
jmp 0x41d321
push dword [ebp + 0x18]
mov esi, 0x4788a8
push dword [ebp + 0x14]
push dword [ebp + 0xc]
push ebx
push str.LaunchApp__s__d__p__p__n
push esi
call fcn.0041f7d9
add esp, 0x18
lea eax, [ebp - 0x90]
mov dword [ebp - 0x10], edi
push eax
call dword [sym.imp.KERNEL32.dll_GetStartupInfoA]
mov al, byte [ebp + 0xb]
push edi
lea ecx, [ebp - 0x30]
mov byte [ebp - 0x30], al
call fcn.00404400
push ebx
call fcn.004386d0
pop ecx
push eax
push ebx
lea ecx, [ebp - 0x30]
call fcn.00404770
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], edi
call fcn.00404190
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x90]
push eax
push edi
push edi
push 0x20
push edi
push edi
push edi
push dword [ebp - 0x2c]
push edi
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
mov ebx, eax
push 1
neg ebx
sbb bl, bl
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x30]
inc bl
call fcn.00404400
test bl, bl
je 0x41d122
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov dword [ebp - 0x10], eax
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0xc]
push dword [ebp + 8]
push str.LaunchApp__s__d__p__p__failed_with__d_n
push esi
call fcn.0041f963
add esp, 0x1c
jmp 0x41d31e
mov ebx, dword [ebp + 0x14]
cmp ebx, edi
je 0x41d152
push 0xbb8
push dword [ebp - 0x20]
call dword [sym.imp.USER32.dll_WaitForInputIdle]
push edi
push dword [ebp + 0x18]
push dword [ebp - 0x20]
call ebx
add esp, 0xc
push ebx
push str.Called__p_callback_before_waiting_n
push esi
call fcn.0041f7d9
add esp, 0xc
cmp dword [ebp + 0xc], edi
je 0x41d30e
cmp dword [ebp + 0x1c], edi
push dword [ebp + 8]
je 0x41d271
push str.Waiting_for__s__or_any_messages__n
push esi
call fcn.0041f7d9
add esp, 0xc
mov ebx, dword [sym.imp.USER32.dll_MsgWaitForMultipleObjects]
lea eax, [ebp - 0x20]
push 0xff
push dword [ebp + 0x10]
push edi
push eax
push 1
call ebx
cmp eax, 1
mov dword [ebp - 0x10], eax
jne 0x41d1f8
push 1
push edi
push edi
lea eax, [ebp - 0x4c]
push edi
push eax
call dword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x41d1e7
push dword [ebp - 0x48]
push dword [ebp + 8]
push str.Received_message_while_waiting_for__s...__0x_x
push 0x80
push esi
call fcn.0041f763
add esp, 0x14
cmp dword [ebp - 0x48], 0x12
jne 0x41d1d1
push dword [ebp - 0x44]
call dword [sym.imp.USER32.dll_PostQuitMessage]
jmp 0x41d194
lea eax, [ebp - 0x4c]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x4c]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
jmp 0x41d194
push 0xff
lea eax, [ebp - 0x20]
push dword [ebp + 0x10]
push edi
push eax
push 1
jmp 0x41d18a
cmp dword [ebp + 0x14], edi
je 0x41d21c
push 1
push dword [ebp + 0x18]
push dword [ebp - 0x20]
call dword [ebp + 0x14]
add esp, 0xc
push dword [ebp + 0x14]
push str.Called__p_callback_after_waiting_n
push esi
call fcn.0041f7d9
add esp, 0xc
cmp dword [ebp - 0x10], 0xffffffff
je 0x41d25a
cmp dword [ebp - 0x10], 0x80
je 0x41d25a
cmp dword [ebp - 0x10], 0x102
je 0x41d25a
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
push dword [ebp - 0x10]
push dword [ebp + 8]
push str._s_finished_with__d_n
push esi
call fcn.0041f7d9
add esp, 0x10
jmp 0x41d30e
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov dword [ebp - 0x10], eax
push dword [ebp + 8]
push str._s_MsgWaitForMultipleObjects_failed_with__d_n
jmp 0x41d2f5
push str.Waiting_for__s_n
push esi
call fcn.0041f7d9
add esp, 0xc
push dword [ebp + 0x10]
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp ebx, edi
mov dword [ebp - 0x10], eax
je 0x41d2ae
push 1
push dword [ebp + 0x18]
push dword [ebp - 0x20]
call ebx
add esp, 0xc
push ebx
push str.Called__p_callback_after_waiting_n
push esi
call fcn.0041f7d9
add esp, 0xc
cmp dword [ebp - 0x10], 0xffffffff
je 0x41d2e3
cmp dword [ebp - 0x10], 0x80
je 0x41d2e3
cmp dword [ebp - 0x10], 0x102
je 0x41d2e3
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
push dword [ebp - 0x10]
push dword [ebp + 8]
push str._s_finsihed_with__d_n
jmp 0x41d24c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov dword [ebp - 0x10], eax
push dword [ebp + 8]
push str._s_WaitForSingleObject_failed_with__d_n
push esi
call fcn.0041f963
mov eax, dword [ebp - 0x10]
add esp, 0x10
sub eax, 0x7e
neg eax
sbb eax, eax
and eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
push dword [ebp - 0x1c]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
push dword [ebp - 0x20]
call esi
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret