Function at 0x52bb58
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffb58
xor ecx, ecx
mov dword [ebp - 0x4a8], ecx
mov dword [ebp - 0x49c], ecx
mov dword [ebp - 0x4a0], ecx
mov dword [ebp - 0x4a4], ecx
mov dword [ebp - 4], edx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 4]
call fcn.004095e0
xor eax, eax
push ebp
push 0x52beaa
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 8]
add eax, 0xfffffd20
call fcn.0040520c
mov eax, dword [ebp + 8]
add eax, 0xfffffd20
xor ecx, ecx
mov edx, 0x52bec4
call fcn.0040510c
mov eax, dword [ebp + 8]
add eax, 0xfffffd20
call fcn.00404d40
xor ecx, ecx
mov edx, 0x52beec
lea eax, [ebp - 0x2f4]
call fcn.0040510c
lea eax, [ebp - 0x2f4]
call fcn.00404d4c
lea edx, [ebp - 0x3f4]
mov eax, dword [ebp + 8]
add eax, 0xfffffd20
mov ecx, 0xff
call fcn.00405e28
mov eax, dword [ebp + 8]
add eax, 0xfffffd20
call fcn.004061ac
lea edx, [ebp - 0x3f4]
lea eax, [ebp - 0x2f4]
call fcn.004069ac
call fcn.00406ddc
lea eax, [ebp - 0x3f4]
mov edx, 0x52bf08
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.00409b50
jne 0x52bbe2
lea edx, [ebp - 0x3f4]
mov eax, dword [ebp + 8]
add eax, 0xfffffd20
mov ecx, 0xff
call fcn.00405e28
mov eax, dword [ebp + 8]
add eax, 0xfffffd20
call fcn.004061ac
mov eax, dword [ebp + 8]
mov edx, dword [eax - 0x2e4]
lea eax, [ebp - 0x2f4]
call fcn.00406b8c
call fcn.00406ddc
lea edx, [ebp - 0x3f4]
mov eax, dword [ebp + 8]
add eax, 0xfffffd20
mov ecx, 0xff
call fcn.00405e28
mov eax, dword [ebp + 8]
add eax, 0xfffffd20
call fcn.004061ac
mov eax, dword [ebp + 8]
mov edx, dword [eax - 0x2e8]
lea eax, [ebp - 0x2f4]
call fcn.004069a4
call fcn.00406ddc
lea edx, [ebp - 0x3f4]
mov eax, dword [ebp + 8]
add eax, 0xfffffd20
mov ecx, 0xff
call fcn.00405e28
mov eax, dword [ebp + 8]
add eax, 0xfffffd20
call fcn.004061ac
mov edx, dword [ebp - 4]
lea eax, [ebp - 0x2f4]
call fcn.00406b8c
call fcn.00406ddc
lea edx, [ebp - 0x3f4]
mov eax, dword [ebp + 8]
add eax, 0xfffffd20
mov ecx, 0xff
call fcn.00405e28
mov eax, dword [ebp + 8]
add eax, 0xfffffd20
call fcn.004061ac
lea edx, [ebp - 0x3f4]
lea eax, [ebp - 0x2f4]
call fcn.004069ac
call fcn.00406ddc
mov eax, dword [ebp + 8]
add eax, 0xfffffd20
call fcn.00405264
test al, al
je 0x52bce8
mov eax, dword [ebp + 8]
add eax, 0xfffffd20
call fcn.0040520c
mov eax, dword [ebp + 8]
add eax, 0xfffffd20
call fcn.00405290
lea eax, [ebp - 0x2f4]
call fcn.0040520c
mov edx, 0x52bec4
lea eax, [ebp - 0x2f4]
call fcn.00406220
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x52bd89
mov eax, dword [ebp - 0xc]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 2
jle 0x52bdd4
jmp 0x52bdc4
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x52bdb1
mov eax, dword [ebp - 0x14]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 8]
add eax, 0xfffffffc
mov ecx, 1
mov edx, dword [ebp - 0x14]
call fcn.0040a6cc
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
call fcn.004099ec
cmp eax, 2
jg 0x52bd91
push 0x52bf2c
mov eax, dword [ebp + 8]
push dword [eax - 4]
push 0x52bf54
lea edx, [ebp - 0x4a0]
mov eax, 2
call fcn.004049bc
push dword [ebp - 0x4a0]
push 0x52bf54
lea edx, [ebp - 0x4a4]
mov eax, 4
call fcn.004049bc
push dword [ebp - 0x4a4]
push 0x52bf64
lea eax, [ebp - 0x49c]
mov edx, 7
call fcn.0040a59c
mov edx, dword [ebp - 0x49c]
lea eax, [ebp - 0x3f4]
mov ecx, 0xff
call fcn.0040a3c4
call fcn.0040495c
cmp eax, 3
jle 0x52be6c
lea edx, [ebp - 0x4a8]
mov eax, 4
call fcn.004049bc
mov eax, dword [ebp - 0x4a8]
mov edx, 0x52bf74
call fcn.0040a64c
je 0x52be7a
push 1
lea eax, [ebp - 0x3f3]
push eax
call sub.kernel32.dll_WinExec
mov eax, 0x1b
call fcn.00409358
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x52beb1
lea eax, [ebp - 0x4a8]
mov edx, 4
call fcn.0040955c
lea eax, [ebp - 4]
call fcn.004094fc
ret