Function at 0x4a98bc
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 8
push 0
push 0
dec ecx
jne 0x4a98c5
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov ebx, ecx
mov dword [ebp - 0xc], edx
mov esi, eax
xor eax, eax
push ebp
push 0x4a9b4e
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 8]
call fcn.00404e8c
lea eax, [ebp - 4]
call fcn.00404e8c
test esi, esi
je 0x4a998c
lea edx, [ebp - 0x10]
mov eax, esi
call fcn.00498784
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 4]
mov edx, dword [ebp - 0xc]
call fcn.004a93e4
cmp dword [ebp - 4], 0
je 0x4a998c
mov edi, ebx
test edi, edi
je 0x4a9929
sub edi, 4
mov edi, dword [edi]
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x28]
push eax
mov ecx, edi
sub ecx, 3
mov edx, 1
mov eax, ebx
call fcn.004053a0
mov ecx, dword [ebp - 0x28]
lea eax, [ebp - 0x24]
mov edx, 0x4a9b68
call fcn.004051c0
mov eax, dword [ebp - 0x24]
push eax
lea ecx, [ebp - 0x30]
mov edx, 0xcb
mov eax, esi
call fcn.00470cfc
mov edx, dword [ebp - 0x30]
lea eax, [ebp - 0x2c]
mov ecx, 0x4a9b74
call fcn.00406c30
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 4]
pop edx
call fcn.004a9670
lea edx, [ebp - 0x20]
lea eax, [ebp - 8]
call fcn.00414b0c
cmp dword [ebp - 8], 0
jne 0x4a999d
lea eax, [ebp - 8]
mov edx, dword [ebp - 0xc]
call fcn.00404f24
lea eax, [ebp - 0x34]
push eax
mov ecx, 7
mov edx, 1
mov eax, dword [ebp - 8]
call fcn.004053a0
mov eax, dword [ebp - 0x34]
mov edx, 0x4a9b8c
call fcn.00409594
test al, al
je 0x4a99fd
push 1
push 0
lea eax, [ebp - 0x38]
mov ecx, dword [ebp - 8]
mov edx, 0x4a9b9c
call fcn.004051c0
mov eax, dword [ebp - 0x38]
call fcn.00405338
push eax
mov eax, dword [ebp + 0xc]
call fcn.00405338
push eax
push 0x4a9ba8
mov eax, dword [ebp + 8]
push eax
call sub.shell32.dll_ShellExecuteA
jmp 0x4a9af9
mov edi, ebx
mov esi, edi
test esi, esi
je 0x4a9a0a
sub esi, 4
mov esi, dword [esi]
lea eax, [ebp - 0x3c]
push eax
lea ecx, [esi + 1]
mov edx, 1
mov eax, dword [ebp - 8]
call fcn.004053a0
mov eax, dword [ebp - 0x3c]
push eax
lea eax, [ebp - 0x40]
mov ecx, 0x4a9bb8
mov edx, ebx
call fcn.004051c0
mov edx, dword [ebp - 0x40]
pop eax
call fcn.00409594
test al, al
je 0x4a9a8a
mov eax, edi
test eax, eax
je 0x4a9a49
sub eax, 4
mov eax, dword [eax]
lea edx, [ebp - 8]
mov ecx, eax
mov eax, 1
xchg edx, eax
call fcn.004053e0
push 1
push 0
lea edx, [ebp - 0x44]
mov eax, dword [ebp - 8]
call fcn.004a28cc
mov eax, dword [ebp - 0x44]
call fcn.00405338
push eax
mov eax, dword [ebp + 0xc]
call fcn.00405338
push eax
push 0x4a9ba8
mov eax, dword [ebp + 8]
push eax
call sub.shell32.dll_ShellExecuteA
jmp 0x4a9af9
mov esi, edi
test esi, esi
je 0x4a9a95
sub esi, 4
mov esi, dword [esi]
lea eax, [ebp - 0x48]
push eax
mov ecx, esi
mov edx, 1
mov eax, dword [ebp - 8]
call fcn.004053a0
mov eax, dword [ebp - 0x48]
mov edx, ebx
call fcn.00409594
test al, al
je 0x4a9adc
push 1
push 0
mov eax, dword [ebp - 8]
call fcn.00405338
push eax
mov eax, dword [ebp + 0xc]
call fcn.00405338
push eax
push 0x4a9ba8
mov eax, dword [ebp + 8]
push eax
call sub.shell32.dll_ShellExecuteA
jmp 0x4a9af9
push 1
push 0
push 0
mov eax, dword [ebp - 8]
call fcn.00405338
push eax
push 0x4a9ba8
mov eax, dword [ebp + 8]
push eax
call sub.shell32.dll_ShellExecuteA
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4a9b55
lea eax, [ebp - 0x48]
mov edx, 6
call fcn.00404eb0
lea eax, [ebp - 0x30]
call fcn.00406bec
lea eax, [ebp - 0x2c]
call fcn.00406bec
lea eax, [ebp - 0x28]
mov edx, 2
call fcn.00404eb0
lea eax, [ebp - 0x20]
call fcn.0041170c
lea eax, [ebp - 0x10]
call fcn.00406bec
lea eax, [ebp - 8]
mov edx, 2
call fcn.00404eb0
ret