Function at 0x4a8154
Capabilities:
Create process on windows

Disassembly:
push ebx
mov ebx, eax
xor eax, eax
mov al, dl
cmp eax, 4
ja case.default.0x4a8164
jmp dword [eax*4 + 0x4a816b]
mov byte [ebx + 0x44c], 1
mov eax, dword [0x4aa8b8]
cmp byte [eax + 0x1c], 0
je 0x4a81bf
mov eax, dword [0x4aa8b8]
mov eax, dword [eax + 0x20]
call fcn.00408a88
test al, al
je 0x4a81bf
push 1
push 0
push 0
mov eax, dword [0x4aa8b8]
mov eax, dword [eax + 0x20]
call fcn.00404624
push eax
push 0
push 0
call sub.shell32.dll_ShellExecuteA
mov eax, dword [0x4aa8b8]
cmp byte [eax + 0x1b], 0
je case.default.0x4a8164
cmp byte [ebx + 0x428], 0
jne case.default.0x4a8164
mov eax, dword [0x4aa8b8]
cmp byte [eax + 0xc], 0
je 0x4a81f2
mov byte [ebx + 0x428], 0x3c
jmp case.default.0x4a8164
mov byte [ebx + 0x428], 0xa
pop ebx
ret
mov byte [ebx + 0x44d], 1
mov eax, dword [0x4aa8b8]
cmp byte [eax + 0x28], 0
je 0x4a823b
mov eax, dword [0x4aa8b8]
mov eax, dword [eax + 0x2c]
call fcn.00408a88
test al, al
je 0x4a823b
push 1
push 0
push 0
mov eax, dword [0x4aa8b8]
mov eax, dword [eax + 0x2c]
call fcn.00404624
push eax
push 0
push 0
call sub.shell32.dll_ShellExecuteA
mov eax, dword [0x4aa8b8]
cmp byte [eax + 0x27], 0
je case.default.0x4a8164
cmp byte [ebx + 0x428], 0
jne case.default.0x4a8164
mov eax, dword [0x4aa8b8]
cmp byte [eax + 0xc], 0
je 0x4a826e
mov byte [ebx + 0x428], 0x3c
jmp case.default.0x4a8164
mov byte [ebx + 0x428], 0xa
pop ebx
ret
mov byte [ebx + 0x44e], 1
mov eax, dword [0x4aa8b8]
cmp byte [eax + 0x34], 0
je 0x4a82b7
mov eax, dword [0x4aa8b8]
mov eax, dword [eax + 0x38]
call fcn.00408a88
test al, al
je 0x4a82b7
push 1
push 0
push 0
mov eax, dword [0x4aa8b8]
mov eax, dword [eax + 0x38]
call fcn.00404624
push eax
push 0
push 0
call sub.shell32.dll_ShellExecuteA
mov eax, dword [0x4aa8b8]
cmp byte [eax + 0x33], 0
je case.default.0x4a8164
cmp byte [ebx + 0x428], 0
jne case.default.0x4a8164
mov eax, dword [0x4aa8b8]
cmp byte [eax + 0xc], 0
je 0x4a82ea
mov byte [ebx + 0x428], 0x3c
jmp case.default.0x4a8164
mov byte [ebx + 0x428], 0xa
pop ebx
ret
mov byte [ebx + 0x44f], 1
mov eax, dword [0x4aa8b8]
cmp byte [eax + 0x40], 0
je 0x4a8333
mov eax, dword [0x4aa8b8]
mov eax, dword [eax + 0x44]
call fcn.00408a88
test al, al
je 0x4a8333
push 1
push 0
push 0
mov eax, dword [0x4aa8b8]
mov eax, dword [eax + 0x44]
call fcn.00404624
push eax
push 0
push 0
call sub.shell32.dll_ShellExecuteA
mov eax, dword [0x4aa8b8]
cmp byte [eax + 0x3f], 0
je case.default.0x4a8164
cmp byte [ebx + 0x428], 0
jne case.default.0x4a8164
mov eax, dword [0x4aa8b8]
cmp byte [eax + 0xc], 0
je 0x4a8363
mov byte [ebx + 0x428], 0x3c
jmp case.default.0x4a8164
mov byte [ebx + 0x428], 0xa
pop ebx
ret
mov byte [ebx + 0x450], 1
mov eax, dword [0x4aa8b8]
cmp byte [eax + 0x4c], 0
je 0x4a83ac
mov eax, dword [0x4aa8b8]
mov eax, dword [eax + 0x50]
call fcn.00408a88
test al, al
je 0x4a83ac
push 1
push 0
push 0
mov eax, dword [0x4aa8b8]
mov eax, dword [eax + 0x50]
call fcn.00404624
push eax
push 0
push 0
call sub.shell32.dll_ShellExecuteA
mov eax, dword [0x4aa8b8]
cmp byte [eax + 0x4b], 0
je case.default.0x4a8164
cmp byte [ebx + 0x428], 0
jne case.default.0x4a8164
mov eax, dword [0x4aa8b8]
cmp byte [eax + 0xc], 0
je 0x4a83d4
mov byte [ebx + 0x428], 0x3c
jmp case.default.0x4a8164
mov byte [ebx + 0x428], 0xa
pop ebx
ret