Function at 0x41d850
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x278
push ebx
mov ebx, dword [ebp + 0x14]
push esi
push edi
test ebx, ebx
je 0x41d869
mov dword [ebx], 0
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
test edx, edx
mov byte [ebp - 0x278], 0
je 0x41d8ad
test eax, eax
mov ecx, eax
jne 0x41d885
mov ecx, 0x488824
mov esi, dword [ebp + 8]
test esi, esi
mov eax, esi
jne 0x41d893
mov eax, 0x488828
push edx
push ecx
push eax
lea eax, [ebp - 0x278]
push str.__s_s___s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
jmp 0x41d8dd
test eax, eax
mov ecx, eax
jne 0x41d8b8
mov ecx, 0x48882c
mov esi, dword [ebp + 8]
test esi, esi
mov eax, esi
jne 0x41d8c6
mov eax, 0x488830
push ecx
push eax
lea ecx, [ebp - 0x278]
push str.__s_s_
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
push 1
lea edx, [ebp - 0x278]
push 0
push edx
push str.RunProcess____
call fcn.00419330
mov ecx, 0x11
xor eax, eax
lea edi, [ebp - 0x70]
add esp, 0x10
rep stosd dword es:[edi], eax
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x10]
mov dword [ebp - 0xc], eax
lea edx, [ebp - 0x70]
push ecx
mov dword [ebp - 8], eax
push edx
push esi
push eax
push eax
push eax
push eax
mov dword [ebp - 4], eax
push eax
lea eax, [ebp - 0x278]
mov dword [ebp - 0x70], 0x44
push eax
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
jne 0x41d96b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
lea ecx, [ebp - 0x278]
push esi
push ecx
push str._..._Cant_run
call fcn.0041cc40
add esp, 0xc
test esi, esi
jle 0x41d962
and esi, 0xffff
or esi, 0x80070000
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x18]
xor edi, edi
test eax, eax
mov dword [ebp + 0xc], edi
je 0x41da3a
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x41da15
mov esi, dword [sym.imp.USER32.dll_PeekMessageA]
mov ebx, dword [sym.imp.USER32.dll_TranslateMessage]
push 0xff
push 0xffffffffffffffff
lea edx, [ebp - 0x10]
push 0
push edx
push 1
call dword [sym.imp.USER32.dll_MsgWaitForMultipleObjects]
mov edi, eax
test edi, edi
je 0x41d9bc
cmp edi, 0x80
mov dword [ebp + 8], 0
jne 0x41d9c3
mov dword [ebp + 8], 1
push 1
push 0
push 0
lea eax, [ebp - 0x2c]
push 0
push eax
call esi
test eax, eax
je 0x41d9fd
cmp dword [ebp - 0x28], 0x12
je 0x41da09
lea ecx, [ebp - 0x2c]
push ecx
call ebx
lea edx, [ebp - 0x2c]
push edx
call dword [sym.imp.USER32.dll_DispatchMessageA]
push 1
push 0
push 0
lea eax, [ebp - 0x2c]
push 0
push eax
call esi
test eax, eax
jne 0x41d9d5
mov eax, dword [ebp + 8]
test eax, eax
je 0x41d992
mov ebx, dword [ebp + 0x14]
jmp 0x41da23
mov ecx, dword [ebp - 0x24]
push ecx
call dword [sym.imp.USER32.dll_PostQuitMessage]
jmp 0x41da3a
mov edx, dword [ebp - 0x10]
push 0xffffffffffffffff
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edi, eax
mov ecx, dword [ebp - 0x10]
lea eax, [ebp + 0xc]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
test ebx, ebx
je 0x41da3a
mov edx, dword [ebp + 0xc]
mov dword [ebx], edx
mov eax, dword [ebp + 0xc]
push 1
push eax
push 0
push str._..._done
call fcn.00419330
mov eax, dword [ebp - 0xc]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
add esp, 0x10
test eax, eax
je 0x41da5f
push eax
call esi
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x41da69
push eax
call esi
test edi, edi
jne 0x41da76
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
test eax, eax
jg 0x41da8b
call esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call esi
and eax, 0xffff
pop edi
pop esi
or eax, 0x80070000
pop ebx
mov esp, ebp
pop ebp
ret