Function at 0x42ea20
Capabilities:
Create process on windows
Create process suspended

Disassembly:
mov eax, 0x463d41
call fcn.0043c274
sub esp, 0xa0
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 4], 2
test byte [ebp + 0x80], 8
mov dword [0x47e608], ebx
jne 0x42ebb3
cmp dword [ebp + 0x14], ebx
je 0x42eacd
lea eax, [ebp - 0x84]
push 1
push eax
lea ecx, [ebp + 8]
call fcn.00430887
lea ecx, [ebp - 0x84]
call fcn.0040125c
cmp dword [ebp + 0x14], ebx
je 0x42eacd
lea eax, [ebp + 8]
push 0x476370
push eax
lea eax, [ebp - 0xac]
push eax
call fcn.00405d6b
lea ecx, [ebp + 0x30]
mov byte [ebp - 4], 3
push ecx
push eax
lea eax, [ebp - 0x84]
push eax
call fcn.0040dab8
add esp, 0x18
push eax
lea ecx, [ebp + 0x30]
mov byte [ebp - 4], 4
call fcn.00401a2d
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 3
call fcn.0040125c
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 2
call fcn.0040125c
push 0x10
xor eax, eax
pop ecx
lea edi, [ebp - 0x58]
rep stosd dword es:[edi], eax
or dword [ebp - 0x30], 1
mov ax, word [ebp + 0x88]
cmp dword [ebp + 0x64], ebx
mov dword [ebp - 0x5c], 0x44
mov word [ebp - 0x2c], ax
je 0x42eb00
mov esi, dword [ebp + 0x60]
cmp esi, ebx
jne 0x42eb02
mov esi, 0x467588
jmp 0x42eb02
xor esi, esi
lea eax, [ebp - 0x18]
push ebx
push eax
lea ecx, [ebp + 0x30]
call fcn.00401822
mov ecx, dword [eax]
mov byte [ebp - 4], 5
mov byte [eax + 4], 1
call fcn.00401e7b
lea ecx, [ebp - 0x5c]
push 0x47e610
mov eax, dword [eax]
push ecx
push esi
push ebx
push dword [ebp + 0x8c]
push ebx
push ebx
push ebx
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
lea ecx, [ebp - 0x18]
mov esi, eax
mov byte [ebp - 4], 2
call fcn.00401aab
cmp esi, ebx
jne 0x42eba2
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x47e608], eax
lea eax, [ebp - 0xac]
push eax
lea ecx, [ebp + 0x30]
call fcn.00419a2b
lea ecx, [ebp - 0xac]
call fcn.0040125c
sub esp, 0x28
lea eax, [ebp + 0x30]
mov dword [ebp + 0x8c], esp
mov ecx, esp
push ebx
push eax
mov dword [ecx], 0x467594
mov dword [ecx + 0x20], 0x46758c
call fcn.00401cec
call fcn.0042d5dd
add esp, 0x28
jmp 0x42ece3
mov esi, dword [0x47e610]
mov edi, dword [0x47e618]
jmp 0x42ed26
push 0xe
xor eax, eax
pop ecx
lea edi, [ebp - 0x50]
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 0x8c]
mov dword [ebp - 0x54], 0x3c
or al, 0x40
mov dword [ebp - 0x48], 0x467588
mov dword [ebp - 0x50], eax
mov eax, dword [ebp + 0x90]
mov eax, dword [eax + 8]
cmp eax, ebx
je 0x42ebe6
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x18]
push ebx
push eax
lea ecx, [ebp + 8]
call fcn.00401822
mov ecx, dword [eax]
mov byte [ebp - 4], 6
mov byte [eax + 4], 1
call fcn.00401e7b
mov eax, dword [eax]
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x44], eax
mov byte [ebp - 4], 2
call fcn.00401aab
lea eax, [ebp - 0x18]
push ebx
push eax
lea ecx, [ebp + 0x30]
call fcn.00401822
mov ecx, dword [eax]
mov byte [ebp - 4], 7
mov byte [eax + 4], 1
call fcn.00401e7b
mov eax, dword [eax]
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x40], eax
mov byte [ebp - 4], 2
call fcn.00401aab
mov eax, dword [ebp + 0x88]
push ebx
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp + 0x58]
call fcn.00401822
mov ecx, dword [eax]
mov byte [ebp - 4], 8
mov byte [eax + 4], 1
call fcn.00401e7b
mov eax, dword [eax]
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x3c], eax
mov byte [ebp - 4], 2
call fcn.00401aab
lea eax, [ebp - 0x54]
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
setne al
cmp al, bl
jne 0x42ed0e
mov eax, dword [ebp - 0x34]
cmp eax, 0x20
jge 0x42ed0e
mov dword [0x47e608], eax
lea eax, [ebp + 8]
push 0x476370
push eax
lea eax, [ebp - 0xac]
push eax
call fcn.00405d6b
sub esp, 0x1c
lea edx, [ebp + 0x30]
mov ecx, esp
mov dword [ebp + 0x8c], esp
push edx
push eax
push ecx
mov byte [ebp - 4], 9
call fcn.0040dab8
add esp, 0xc
call fcn.0042d5dd
add esp, 0x28
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 2
call fcn.0040125c
lea ecx, [ebp + 8]
mov byte [ebp - 4], 1
call fcn.0040125c
lea ecx, [ebp + 0x30]
mov byte [ebp - 4], bl
call fcn.0040125c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x58]
call fcn.0040125c
or eax, 0xffffffff
jmp 0x42ede1
mov esi, dword [ebp - 0x1c]
push esi
mov dword [0x47e610], esi
call fcn.0042edf0
mov edi, eax
pop ecx
mov dword [0x47e618], edi
push 0x3e8
push esi
call dword [sym.imp.USER32.dll_WaitForInputIdle]
push dword [ebp + 0x84]
push dword [ebp + 0x80]
push esi
push edi
call fcn.0042ee15
add esp, 0x10
mov edi, eax
push 0x47e60c
push esi
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
cmp edi, ebx
je 0x42edba
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x47e608], eax
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp + 0x30]
call fcn.00419a2b
lea ecx, [ebp - 0x84]
call fcn.0040125c
sub esp, 0x28
lea eax, [ebp + 0x30]
mov dword [ebp + 0x8c], esp
mov ecx, esp
push ebx
push eax
mov dword [ecx], 0x467594
mov dword [ecx + 0x20], 0x46758c
call fcn.00401cec
call fcn.0042d5dd
add esp, 0x28
cmp edi, 0x102
jne 0x42edb6
push 0xfffffffffffffffd
pop esi
jmp 0x42edbc
push 0xfffffffffffffffe
jmp 0x42edb3
xor esi, esi
lea ecx, [ebp + 8]
mov byte [ebp - 4], 1
call fcn.0040125c
lea ecx, [ebp + 0x30]
mov byte [ebp - 4], bl
call fcn.0040125c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x58]
call fcn.0040125c
mov eax, esi
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret