Function at 0x4a58d0
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 5
push 0
push 0
dec ecx
jne 0x4a58d9
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 4], ecx
mov edi, edx
mov ebx, dword [0x4b51b0]
xor eax, eax
push ebp
push 0x4a5d03
push dword fs:[eax]
mov dword fs:[eax], esp
xor ecx, ecx
mov dl, 1
mov eax, dword [0x4af77c]
call fcn.004af880
mov dword [ebp - 0x14], eax
xor ecx, ecx
mov dl, 1
mov eax, dword [0x4af77c]
call fcn.004af880
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x18]
mov eax, dword [0x4b50fc]
mov eax, dword [eax]
mov edx, dword [0x48d5e4]
call fcn.0044e37c
mov dl, 1
mov eax, dword [0x40ffd4]
call fcn.004030bc
mov dword [ebp - 0x1c], eax
xor eax, eax
push ebp
push 0x4a5cd4
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x18]
call fcn.0044b400
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0x84]
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x2d0]
mov edx, 0xa
call fcn.00482718
mov eax, dword [ebp - 0x10]
call fcn.004af90c
test al, al
je 0x4a598d
mov eax, dword [ebp - 0x10]
call fcn.004af910
mov eax, dword [ebp - 0x14]
call fcn.004af90c
test al, al
je 0x4a59a1
mov eax, dword [ebp - 0x14]
call fcn.004af910
push 0x4a5d1c
lea eax, [ebp - 0x24]
call fcn.004ae068
mov edx, dword [ebp - 0x24]
mov ecx, 0x4a5d30
mov eax, dword [ebp - 0x10]
call fcn.004afaac
test eax, eax
je 0x4a59cc
call fcn.00403870
jmp 0x4a5cdb
push 0x4a5d1c
lea eax, [ebp - 0x24]
call fcn.004ae068
mov edx, dword [ebp - 0x24]
mov ecx, 0x4a5d44
mov eax, dword [ebp - 0x14]
call fcn.004afaac
test eax, eax
je 0x4a59f7
call fcn.00403870
jmp 0x4a5cdb
mov eax, dword [ebp - 0x14]
call fcn.004b0cf0
mov edx, eax
add edx, 0x32
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x2d0]
call fcn.00482708
lea eax, [ebp - 0x24]
call fcn.004adf3c
mov edx, dword [ebp - 0x24]
lea eax, [ebp - 0xc]
mov ecx, 0x4a5d58
call fcn.00403fa0
mov eax, dword [ebp - 0x18]
mov esi, dword [eax + 0x2d0]
mov eax, esi
call fcn.00482568
mov edx, eax
add edx, 0x14
mov eax, esi
call fcn.00482718
mov edx, 2
mov eax, dword [ebp - 0x10]
call fcn.004b0c88
jmp 0x4a5ac2
lea ecx, [ebp - 0x24]
mov edx, 0x4a5d6c
mov eax, dword [ebp - 0x10]
call fcn.004b10b4
push dword [ebp - 0x24]
push 0x4a5d80
lea ecx, [ebp - 0x28]
mov edx, 0x4a5d8c
mov eax, dword [ebp - 0x10]
call fcn.004b10b4
push dword [ebp - 0x28]
push 0x4a5d80
lea ecx, [ebp - 0x2c]
mov edx, 0x4a5da0
mov eax, dword [ebp - 0x10]
call fcn.004b10b4
push dword [ebp - 0x2c]
lea eax, [ebp - 8]
mov edx, 5
call fcn.00404014
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
call dword [ecx + 0x34]
lea eax, [ebp - 8]
mov edx, dword [ebx]
call fcn.00403d70
mov eax, dword [ebp - 0x10]
call fcn.004b0c9c
mov eax, dword [ebp - 0x10]
call fcn.004b0ccc
cmp al, 1
jne 0x4a5a55
mov edx, 1
mov eax, dword [ebp - 0x14]
call fcn.004b0c88
mov eax, dword [ebp - 0x18]
mov esi, dword [eax + 0x2d0]
mov eax, esi
call fcn.00482568
mov edx, eax
add edx, 0xa
mov eax, esi
call fcn.00482718
lea eax, [ebp - 8]
mov edx, dword [ebx]
call fcn.00403d70
lea eax, [ebp - 0x20]
mov edx, dword [ebx]
call fcn.00403d70
jmp 0x4a5bc3
lea ecx, [ebp - 8]
mov edx, 1
mov eax, dword [ebp - 0x14]
call fcn.004b0d8c
mov eax, dword [ebp - 0x14]
call fcn.004b0d80
mov ebx, eax
sub ebx, 2
jl 0x4a5b94
inc ebx
mov esi, 2
lea ecx, [ebp - 0x20]
mov edx, esi
mov eax, dword [ebp - 0x14]
call fcn.004b0d8c
mov eax, dword [ebp - 0x20]
call fcn.00403f54
cmp eax, 2
jl 0x4a5b70
mov eax, dword [ebp - 0x20]
cmp byte [eax], 0x30
jne 0x4a5b70
mov eax, dword [ebp - 0x20]
cmp byte [eax + 1], 0x2e
je 0x4a5b70
lea eax, [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
mov edx, 0x4a5db4
call fcn.00403fa0
lea eax, [ebp - 0x20]
call fcn.004a5864
push dword [ebp - 8]
push 0x4a5d80
push dword [ebp - 0x20]
lea eax, [ebp - 8]
mov edx, 3
call fcn.00404014
inc esi
dec ebx
jne 0x4a5b35
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov eax, dword [ebp - 0x14]
call fcn.004b0c9c
mov eax, dword [ebp - 0x18]
mov ebx, dword [eax + 0x2d0]
mov eax, ebx
call fcn.00482568
mov edx, eax
add edx, 2
mov eax, ebx
call fcn.00482718
mov eax, dword [ebp - 0x14]
call fcn.004b0ccc
cmp al, 1
jne 0x4a5b10
xor eax, eax
push ebp
push 0x4a5bf6
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
call dword [ecx + 0x64]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4a5c4a
mov eax, dword [ebp - 0x18]
mov ebx, dword [eax + 0x2d0]
mov eax, ebx
call fcn.00482530
mov edx, eax
mov eax, ebx
call fcn.00482718
dec edi
jne 0x4a5c83
push 1
push 0
push 0
mov eax, dword [ebp - 0xc]
call fcn.00404118
push eax
push 0x4a5e04
push 0
call sub.shell32.dll_ShellExecuteA
jmp 0x4a5c8e
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0xc]
call fcn.00403d70
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4a5cdb
mov eax, dword [ebp - 0x14]
call fcn.004af910
mov eax, dword [ebp - 0x10]
call fcn.004af910
mov eax, dword [ebp - 0x14]
call fcn.004030ec
mov eax, dword [ebp - 0x10]
call fcn.004030ec
mov eax, dword [ebp - 0x1c]
call fcn.004030ec
mov eax, dword [ebp - 0x18]
call fcn.0044b248
mov eax, dword [ebp - 0x18]
call fcn.004030ec
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4a5d0a
lea eax, [ebp - 0x2c]
mov edx, 4
call fcn.00403cfc
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.00403cfc
ret