Function at 0x52a84c
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push ebx
push esi
mov ebx, eax
xor eax, eax
push ebp
push 0x52ab9d
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebx + 0x3804], eax
cmp byte [ebx + 0x754], 0
jne 0x52ab82
mov eax, dword [0x557de8]
cmp byte [eax + 0x63c], 0
je 0x52a8ab
mov eax, dword [0x557de8]
add eax, 0x649
call fcn.0040d464
test eax, eax
jne 0x52a8ab
xor edx, edx
mov eax, ebx
call fcn.0052a654
jmp 0x52ab82
mov eax, dword [0x557de8]
cmp dword [eax + 0x382c], 0
jne 0x52a9c8
cmp byte [ebx + 0x63c], 0
je 0x52a965
mov esi, dword [ebx + 0x400]
cmp byte [esi + 0x57], 0
je 0x52a91d
mov eax, esi
call fcn.0045d904
test eax, eax
je 0x52a91d
cmp byte [ebx + 0x754], 0
jne 0x52a91d
movzx eax, byte [0x52abac]
push eax
push 0
push 0
xor ecx, ecx
xor edx, edx
mov eax, ebx
call fcn.0052e67c
movzx eax, byte [0x52abac]
push eax
push 0
push 0
xor ecx, ecx
xor edx, edx
mov eax, ebx
call fcn.00536fc8
jmp 0x52ab82
mov esi, dword [ebx + 0x404]
cmp byte [esi + 0x57], 0
je 0x52ab82
mov eax, esi
call fcn.0045d904
test eax, eax
je 0x52ab82
cmp byte [ebx + 0x754], 0
jne 0x52ab82
movzx eax, byte [0x52abac]
push eax
push 0
push 0
xor ecx, ecx
xor edx, edx
mov eax, ebx
call fcn.00536fc8
jmp 0x52ab82
mov eax, dword [ebx + 0x400]
call fcn.0045d904
test eax, eax
jne 0x52a9ac
mov eax, dword [ebx + 0x400]
mov eax, dword [eax + 0x28c]
call fcn.004595ac
test eax, eax
jle 0x52ab82
mov eax, dword [ebx + 0x400]
mov eax, dword [eax + 0x28c]
xor edx, edx
call fcn.004595e4
mov cl, 1
mov edx, 3
call fcn.00459114
movzx eax, byte [0x52abac]
push eax
push 0
push 0
xor ecx, ecx
xor edx, edx
mov eax, ebx
call fcn.0052e67c
jmp 0x52ab82
mov eax, ebx
call fcn.0052b690
test eax, eax
je 0x52ab82
cmp dword [ebx + 0x2bf0], 0
jle 0x52aa76
call dword [ebx + 0x610]
test al, al
je 0x52aa76
xor edx, edx
mov eax, dword [ebx + 0x4b4]
call fcn.004533f4
xor edx, edx
mov eax, ebx
call fcn.0052a7e4
lea eax, [ebp - 4]
push eax
mov ecx, 0x52abbc
mov edx, 0x52abf0
mov eax, dword [0x559600]
call fcn.00528824
push 0x40
lea edx, [ebp - 8]
mov eax, dword [0x54febc]
mov eax, dword [eax]
call fcn.00499200
mov eax, dword [ebp - 8]
call fcn.00405bcc
push eax
mov eax, dword [ebp - 4]
call fcn.00405bcc
push eax
mov eax, ebx
call fcn.00480ea8
push eax
call sub.user32.dll_MessageBoxW
xor edx, edx
mov eax, dword [0x557de8]
call fcn.0052b158
xor edx, edx
mov eax, dword [ebx + 0x380]
call fcn.004533f4
xor edx, edx
mov eax, dword [ebx + 0x4c0]
call fcn.004533f4
mov eax, dword [ebx + 0x382c]
push eax
mov eax, dword [0x557de8]
call dword [eax + 0x57c]
pop ecx
test eax, eax
jne 0x52ab82
xor edx, edx
mov eax, dword [ebx + 0x3f0]
call fcn.004784cc
mov dl, 1
mov eax, dword [ebx + 0x3d4]
call fcn.004784cc
mov eax, dword [ebx + 0x3d4]
call fcn.0047882c
mov dl, 1
mov eax, dword [ebx + 0x41c]
call fcn.004784cc
mov dl, 1
mov eax, dword [ebx + 0x424]
call fcn.004784cc
mov dl, 1
mov eax, dword [ebx + 0x420]
call fcn.004784cc
mov eax, ebx
call fcn.00534588
mov dword [ebx + 0x3838], 1
mov dl, 1
mov eax, dword [ebx + 0x380]
call fcn.004533f4
mov dl, 1
mov eax, dword [ebx + 0x4b4]
call fcn.004533f4
mov eax, dword [0x54febc]
mov eax, dword [eax]
call fcn.004996d8
lea ecx, [ebp - 0xc]
lea eax, [ebx + 0x23bc]
mov edx, 0x3ff
call fcn.00408124
cmp dword [ebp - 0xc], 0
je 0x52ab5f
push 1
push 0
push 0
lea ecx, [ebp - 0x10]
mov eax, dword [0x557de8]
add eax, 0x23bc
mov edx, 0x3ff
call fcn.00408124
mov eax, dword [ebp - 0x10]
call fcn.00405bcc
push eax
push 0x52abfc
push 0
call sub.shell32.dll_ShellExecuteW
cmp dword [ebx + 0x3824], 0
jle 0x52ab82
cmp dword [ebx + 0x2bc0], 0
jle 0x52ab7a
xor edx, edx
mov eax, ebx
call fcn.0052ef5c
xor eax, eax
mov dword [ebx + 0x3824], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x52aba4
lea eax, [ebp - 0x10]
mov edx, 4
call fcn.00405b38
ret