Function at 0x51ced0
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 4
push 0
push 0
dec ecx
jne 0x51ced9
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 4], ecx
mov esi, edx
mov ebx, eax
mov edi, dword [ebp + 0x10]
xor eax, eax
push ebp
push 0x51d1dc
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [ebp + 8], 0
je 0x51cfbc
push edi
mov eax, dword [ebp + 0xc]
push eax
lea eax, [ebp - 8]
push eax
mov ecx, dword [ebp - 4]
mov edx, esi
mov eax, ebx
call fcn.0051d684
test al, al
jne 0x51d048
cmp dword [ebp - 8], 0x483
jne 0x51d048
lea edx, [ebp - 0x14]
mov eax, ebx
call fcn.004089c8
mov eax, dword [ebp - 0x14]
mov edx, 0x51d1f8
call fcn.00404840
jne 0x51d048
lea ecx, [ebp - 0x10]
mov edx, edi
mov eax, esi
call fcn.0051ce48
cmp dword [ebp - 0x10], 0
je 0x51d048
mov eax, edi
call fcn.004048f4
mov edx, eax
lea eax, [ebp - 0x18]
call fcn.0040462c
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [ebp + 0xc]
push eax
lea eax, [ebp - 8]
push eax
mov eax, esi
call fcn.004048f4
mov edx, eax
lea eax, [ebp - 0x1c]
call fcn.0040462c
mov eax, dword [ebp - 0x1c]
push eax
mov eax, dword [ebp - 0x10]
call fcn.004048f4
mov edx, eax
lea eax, [ebp - 0x20]
call fcn.0040462c
mov edx, dword [ebp - 0x20]
mov eax, 0x51d1f8
pop ecx
call fcn.0051d684
jmp 0x51d048
mov eax, dword [ebp + 0xc]
push eax
mov eax, edi
call fcn.004048f4
push eax
mov eax, dword [ebp - 4]
call fcn.004048f4
push eax
mov eax, esi
call fcn.004048f4
push eax
mov eax, ebx
call fcn.004048f4
push eax
push 0
call sub.shell32.dll_ShellExecuteA
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x1f
jne 0x51d048
lea edx, [ebp - 0x24]
mov eax, ebx
call fcn.004089c8
mov eax, dword [ebp - 0x24]
mov edx, 0x51d1f8
call fcn.00404840
jne 0x51d048
lea ecx, [ebp - 0x10]
mov edx, edi
mov eax, esi
call fcn.0051ce48
cmp dword [ebp - 0x10], 0
je 0x51d048
mov eax, dword [ebp + 0xc]
push eax
mov eax, edi
call fcn.004048f4
push eax
mov eax, esi
call fcn.004048f4
push eax
mov eax, dword [ebp - 0x10]
call fcn.004048f4
push eax
push 0x51d200
push 0
call sub.shell32.dll_ShellExecuteA
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x20
jg 0x51d1bf
lea eax, [ebp - 0xc]
mov edx, 0x51d210
call fcn.004044cc
mov eax, dword [ebp - 8]
cmp eax, 0x20
ja case.0x51d071.0
mov al, byte [eax + 0x51d078]
jmp dword [eax*4 + 0x51d099]
lea eax, [ebp - 0xc]
mov edx, 0x51d228
call fcn.004044cc
jmp case.0x51d071.0
lea eax, [ebp - 0xc]
mov edx, 0x51d264
call fcn.004044cc
jmp case.0x51d071.0
lea eax, [ebp - 0xc]
mov edx, 0x51d290
call fcn.004044cc
jmp case.0x51d071.0
lea eax, [ebp - 0xc]
mov edx, 0x51d2bc
call fcn.004044cc
jmp case.0x51d071.0
lea eax, [ebp - 0xc]
mov edx, 0x51d308
call fcn.004044cc
jmp case.0x51d071.0
lea eax, [ebp - 0xc]
mov edx, 0x51d34c
call fcn.004044cc
jmp case.0x51d071.0
lea eax, [ebp - 0xc]
mov edx, 0x51d388
call fcn.004044cc
jmp case.0x51d071.0
lea eax, [ebp - 0xc]
mov edx, 0x51d3f0
call fcn.004044cc
jmp case.0x51d071.0
lea eax, [ebp - 0xc]
mov edx, 0x51d414
call fcn.004044cc
jmp case.0x51d071.0
lea eax, [ebp - 0xc]
mov edx, 0x51d468
call fcn.004044cc
jmp case.0x51d071.0
lea eax, [ebp - 0xc]
mov edx, 0x51d4a4
call fcn.004044cc
jmp case.0x51d071.0
lea eax, [ebp - 0xc]
mov edx, 0x51d4f4
call fcn.004044cc
jmp case.0x51d071.0
lea eax, [ebp - 0xc]
mov edx, 0x51d534
call fcn.004044cc
push 0x10
mov eax, dword [ebp - 0xc]
call fcn.004048f4
mov edx, eax
mov ecx, 0x51d554
mov eax, dword [0x5b29d8]
mov eax, dword [eax]
call fcn.004a1678
xor ebx, ebx
jmp 0x51d1c1
mov bl, 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x51d1e3
lea eax, [ebp - 0x24]
mov edx, 7
call fcn.00404458
ret