Function at 0x414929
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x84
push ebx
xor ebx, ebx
cmp byte [ebp + 0xc], bl
push esi
push edi
mov esi, 0x4810c0
je 0x4149b1
mov edi, 0x4812c4
mov ecx, esi
push edi
call fcn.00418851
push edi
mov ecx, esi
call fcn.0041cf5a
push 0x7fffffff
push edi
mov ecx, esi
call fcn.0041dbff
push 1
mov edi, 0x4812c4
push ebx
push 0x42eb7c
mov ecx, edi
call fcn.0041f045
push eax
push ebx
mov ecx, edi
call fcn.0041f4ff
push eax
lea ecx, [ebp - 0xc]
call fcn.0041e703
push 1
lea ecx, [ebp - 0xc]
call fcn.0041f593
push eax
push ebx
mov ecx, edi
call fcn.0041f593
push eax
push str.open
push ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
lea ecx, [ebp - 0xc]
call fcn.0041e765
cmp byte [ebp + 8], bl
je 0x414b43
mov edi, 0x4812b8
mov ecx, esi
push edi
call fcn.00418851
push edi
mov ecx, esi
call fcn.0041cf5a
push 0x7fffffff
push edi
mov ecx, esi
call fcn.0041dbff
lea ecx, [ebp - 0x18]
call fcn.0041e62f
lea ecx, [ebp - 0x24]
call fcn.0041e62f
push ebx
mov ecx, 0x4812b8
call fcn.0041e84d
cmp al, 0x22
jne 0x414a41
mov ecx, 0x4812b8
call fcn.0041f593
inc eax
lea ecx, [ebp - 0xc]
push eax
call fcn.0041e69f
push 1
push ebx
push 0x42f070
lea ecx, [ebp - 0xc]
call fcn.0041ef3a
cmp eax, 0xffffffff
je 0x414a37
push eax
push ebx
lea ecx, [ebp - 0xc]
call fcn.0041f4ff
push eax
lea ecx, [ebp - 0x18]
call fcn.0041e7ea
lea ecx, [ebp - 0xc]
call fcn.0041e765
jmp 0x414a4a
push edi
lea ecx, [ebp - 0x18]
call fcn.0041e7ea
cmp dword [ebp - 0x18], ebx
jbe 0x414a7c
push 1
push ebx
push 0x42eb7c
lea ecx, [ebp - 0x18]
call fcn.0041f045
cmp eax, 0xffffffff
je 0x414a7c
cmp eax, 1
jle 0x414a7c
push eax
push ebx
lea ecx, [ebp - 0x18]
call fcn.0041f4ff
push eax
lea ecx, [ebp - 0x24]
call fcn.0041e7ea
push 0x10
lea eax, [ebp - 0x40]
push ebx
push eax
call fcn.004274e0
push 0x44
lea eax, [ebp - 0x84]
push ebx
push eax
call fcn.004274e0
add esp, 0x18
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x84], 0x44
push 1
pop eax
mov dword [ebp - 0x58], eax
mov word [ebp - 0x54], ax
call fcn.0041e62f
push ebx
mov ecx, 0x4812b8
call fcn.0041e84d
cmp al, 0x22
jne 0x414ad0
push edi
lea ecx, [ebp - 0x30]
call fcn.0041e7ea
jmp 0x414aec
mov ecx, 0x4812b8
call fcn.0041f593
push eax
lea eax, [ebp - 0x30]
push 0x42f068
push eax
call fcn.0041ecd1
add esp, 0xc
cmp dword [ebp - 0x24], ebx
jbe 0x414afb
lea ecx, [ebp - 0x24]
call fcn.0041f593
jmp 0x414afd
xor eax, eax
lea ecx, [ebp - 0x40]
push ecx
lea ecx, [ebp - 0x84]
push ecx
push eax
push ebx
push 0x4000000
push ebx
push ebx
push ebx
lea ecx, [ebp - 0x30]
call fcn.0041f593
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
push dword [ebp - 0x40]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x30]
call fcn.0041e765
lea ecx, [ebp - 0x24]
call fcn.0041e765
lea ecx, [ebp - 0x18]
call fcn.0041e765
cmp byte [ebp + 0x10], bl
je 0x414bf8
mov edi, 0x48139c
mov ecx, esi
push edi
call fcn.00418851
push edi
mov ecx, esi
call fcn.0041cf5a
push 0x7fffffff
push edi
mov ecx, esi
call fcn.0041dbff
push 0x10
lea eax, [ebp - 0x40]
push ebx
push eax
call fcn.004274e0
push 0x44
lea eax, [ebp - 0x84]
pop esi
push esi
push ebx
push eax
call fcn.004274e0
add esp, 0x18
lea ecx, [ebp - 0xc]
mov dword [ebp - 0x84], esi
push 1
pop eax
mov dword [ebp - 0x58], eax
mov word [ebp - 0x54], ax
call fcn.0041e62f
mov ecx, 0x48139c
call fcn.0041f593
push eax
lea eax, [ebp - 0xc]
push 0x42f068
push eax
call fcn.0041ecd1
add esp, 0xc
lea eax, [ebp - 0x40]
lea ecx, [ebp - 0xc]
push eax
lea eax, [ebp - 0x84]
push eax
push ebx
push ebx
push 0x4000000
push ebx
push ebx
push ebx
call fcn.0041f593
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
push dword [ebp - 0x40]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0xc]
call fcn.0041e765
pop edi
pop esi
pop ebx
leave
ret 0xc