Function at 0x4785e8
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
mov ecx, 8
push 0
push 0
dec ecx
jne 0x4785f0
push ebx
push esi
push edi
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
call fcn.00404ae0
xor eax, eax
push ebp
push 0x478889
push dword fs:[eax]
mov dword fs:[eax], esp
mov dl, 1
mov eax, dword [0x455b08]
call fcn.00455e44
mov dword [ebp - 0x10], eax
xor edx, edx
push ebp
push 0x47885a
push dword fs:[edx]
mov dword fs:[edx], esp
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
call fcn.00455e80
test al, al
jne 0x478653
mov eax, 0x4788a0
call fcn.00455878
call fcn.00404048
jmp 0x478861
lea edx, [ebp - 0x18]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov ecx, dword [ebp - 0x18]
lea eax, [ebp - 0x14]
mov edx, 0x4788c4
call fcn.0040493c
mov eax, dword [ebp - 0x14]
call fcn.00455878
lea edx, [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov edx, dword [ebp - 0x1c]
mov eax, 0x4788e0
call fcn.00404c34
mov ebx, eax
test ebx, ebx
jne 0x4786b7
lea edx, [ebp - 0x20]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov edx, dword [ebp - 0x20]
mov eax, 0x4788f0
call fcn.00404c34
mov ebx, eax
test ebx, ebx
jle 0x47874f
add ebx, 6
xor esi, esi
jmp 0x4786c7
inc ebx
lea edx, [ebp - 0x24]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x24]
call fcn.004048f0
cmp ebx, eax
jg 0x4786f9
lea edx, [ebp - 0x28]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x28]
cmp byte [eax + ebx - 1], 0x20
je 0x4786c6
mov edi, ebx
jmp 0x4786ff
inc esi
inc ebx
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x2c]
call fcn.004048f0
cmp ebx, eax
jg 0x478731
lea edx, [ebp - 0x30]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x30]
cmp byte [eax + ebx - 1], 0x20
jne 0x4786fd
lea eax, [ebp - 0xc]
push eax
lea edx, [ebp - 0x34]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x34]
mov ecx, esi
mov edx, edi
call fcn.00404b50
cmp dword [ebp - 0xc], 0
jne 0x47876e
push 0
lea eax, [ebp - 0xc]
push eax
call fcn.00459854
mov ecx, 0x478900
mov edx, 0x478914
mov ebx, dword [eax]
call dword [ebx]
cmp dword [ebp - 0xc], 0
jne 0x478788
mov eax, 0x478924
call fcn.00455878
call fcn.00404048
jmp 0x478861
lea eax, [ebp - 0x38]
mov ecx, dword [ebp - 0xc]
mov edx, 0x478948
call fcn.0040493c
mov eax, dword [ebp - 0x38]
call fcn.00455878
push 0
lea eax, [ebp - 8]
push eax
call fcn.00459854
mov ecx, 0x478968
mov edx, dword [ebp - 0xc]
mov ebx, dword [eax]
call dword [ebx]
cmp dword [ebp - 8], 0
jne 0x4787d1
mov eax, 0x478978
call fcn.00455878
call fcn.00404048
jmp 0x478861
mov eax, dword [ebp - 8]
call fcn.004091c0
test al, al
jne 0x4787ee
mov eax, 0x4789a0
call fcn.00455878
call fcn.00404048
jmp 0x478861
push 1
push dword [ebp - 8]
push 0x4789c8
lea edx, [ebp - 0x40]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
push dword [ebp - 0x40]
lea eax, [ebp - 0x3c]
mov edx, 3
call fcn.004049b0
mov eax, dword [ebp - 0x3c]
call fcn.00404af0
push eax
call sub.kernel32.dll_WinExec
cmp eax, 0x1f
jbe 0x47883a
mov eax, 0x4789d4
call fcn.00455878
call fcn.00404048
jmp 0x478861
mov eax, 0x4789f8
call fcn.00455878
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x478861
mov eax, dword [ebp - 0x10]
call fcn.00403764
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x478890
lea eax, [ebp - 0x40]
mov edx, 0xc
call fcn.00404644
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.00404644
ret