Function at 0x513748
Capabilities:
Create process on windows
Enumerate gui resources
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffcd8
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x324], ebx
mov dword [ebp - 0x328], ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 8], ecx
mov dword [ebp - 4], edx
mov ebx, eax
mov eax, dword [ebp - 4]
call fcn.00404014
mov eax, dword [ebp - 8]
call fcn.00404014
xor eax, eax
push ebp
push 0x513e80
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, ebx
call fcn.0051ecd0
mov eax, dword [0x537270]
mov edx, 0x513e98
call fcn.00403f70
jne 0x5137bf
lea eax, [ebp - 8]
mov edx, 0x513ea8
call fcn.00403c7c
cmp dword [0x537248], 0
jne 0x5137d5
mov edx, dword [ebx + 0x2d4]
mov eax, ebx
call fcn.00514f64
lea eax, [ebp - 0x10]
push eax
mov ecx, 2
mov edx, 2
mov eax, dword [0x537244]
call fcn.00404064
mov eax, dword [ebx + 0x33c]
cmp byte [eax + 0x2c], 0
je 0x5138ae
mov edx, dword [0x537284]
mov eax, dword [ebx + 0x324]
call fcn.00460d50
push 0
lea eax, [ebp - 0x324]
push eax
lea eax, [ebp - 0x328]
mov ecx, 0x513ec8
mov edx, dword [ebp - 0x10]
call fcn.00403eac
mov ecx, dword [ebp - 0x328]
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.00508188
cmp dword [ebp - 0x324], 0
je 0x513894
push 0
lea eax, [ebp - 0x324]
push eax
lea eax, [ebp - 0x328]
mov ecx, 0x513ec8
mov edx, dword [ebp - 0x10]
call fcn.00403eac
mov ecx, dword [ebp - 0x328]
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.00508188
push dword [ebp - 0x324]
push 0x513ed4
push dword [ebp - 4]
push 0x513ee0
push dword [ebp - 0x10]
mov eax, 0x537284
mov edx, 5
call fcn.00403f20
cmp dword [0x53732c], 0
jne 0x5138ae
mov edx, dword [0x537284]
mov eax, dword [ebx + 0x324]
call fcn.00460cd4
push 0
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x324]
mov ecx, 0x513eec
mov edx, dword [ebp - 0x10]
call fcn.00403eac
mov ecx, dword [ebp - 0x324]
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.00508188
mov eax, dword [ebp - 0x20]
mov edx, 0x513ef8
call fcn.00403f70
je 0x513919
mov eax, dword [ebp - 0x20]
mov edx, 0x513f04
call fcn.00403f70
je 0x513919
mov eax, dword [0x53729c]
mov edx, 0x513ef8
call fcn.00403f70
je 0x513919
mov eax, dword [ebp - 0x20]
mov edx, 0x513f10
call fcn.00403f70
jne 0x513a68
mov eax, dword [ebp - 0x20]
mov edx, 0x513f10
call fcn.00403f70
jne 0x513938
lea eax, [ebp - 8]
mov ecx, dword [ebp - 8]
mov edx, 0x513f20
call fcn.00403eac
lea eax, [ebp - 0x14]
mov edx, dword [ebp - 8]
call fcn.00403c7c
lea eax, [ebp - 0x18]
call fcn.00403be4
mov edx, dword [ebp - 8]
mov eax, 0x513f30
call fcn.00404148
test eax, eax
jle 0x51397c
lea eax, [ebp - 0x14]
push eax
mov edx, dword [ebp - 8]
mov eax, 0x513f30
call fcn.00404148
mov ecx, eax
mov edx, 1
mov eax, dword [ebp - 8]
call fcn.00404064
mov edx, dword [ebp - 8]
mov eax, 0x513f30
call fcn.00404148
test eax, eax
jle 0x5139b0
lea eax, [ebp - 0x18]
push eax
mov edx, dword [ebp - 8]
mov eax, 0x513f30
call fcn.00404148
mov edx, eax
add edx, 2
mov ecx, 0xff
mov eax, dword [ebp - 8]
call fcn.00404064
lea eax, [ebp - 0x120]
mov edx, dword [ebp - 0x14]
call fcn.004083ec
lea eax, [ebp - 0x320]
mov edx, dword [ebp - 0x18]
call fcn.004083ec
lea edx, [ebp - 0x324]
mov eax, dword [ebp - 0x14]
call fcn.004080c8
mov edx, dword [ebp - 0x324]
lea eax, [ebp - 0x220]
call fcn.004083ec
push 0
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x324]
mov ecx, 0x513f3c
mov edx, dword [ebp - 0x10]
call fcn.00403eac
mov ecx, dword [ebp - 0x324]
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.00508188
cmp dword [ebp - 0x1c], 0
je 0x513a3a
mov edx, dword [ebp - 0x1c]
mov eax, 0x513f48
call fcn.00404148
cmp eax, 2
jne 0x513a3a
lea eax, [ebp - 0x220]
mov edx, dword [ebp - 0x1c]
call fcn.004083ec
push 1
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x320]
push eax
lea eax, [ebp - 0x120]
push eax
push 0
mov eax, dword [0x534f4c]
mov eax, dword [eax]
mov eax, dword [eax + 0x24]
push eax
call sub.shell32.dll_ShellExecuteA
jmp 0x513bd7
mov eax, dword [ebx + 0x2c4]
add eax, 0xb0
mov edx, dword [0x537248]
call fcn.00403c38
mov edx, dword [ebp - 8]
mov eax, 0x513f54
call fcn.00404148
mov esi, eax
mov byte [0x537387], 0
push edi
push 0x5022b0
call sub.user32.dll_EnumWindows
mov eax, dword [ebx + 0x2dc]
cmp byte [eax + 0xc0], 0
je 0x513ace
test esi, esi
jne 0x513ace
cmp byte [0x537387], 0
je 0x513ace
mov edx, dword [ebp - 8]
mov eax, dword [ebx + 0x2c4]
call fcn.0044d8e8
jmp 0x513bd7
test esi, esi
je 0x513b71
inc dword [0x53733c]
lea eax, [ebp - 0xc]
push eax
mov ecx, esi
dec ecx
mov edx, 1
mov eax, dword [ebp - 8]
call fcn.00404064
lea eax, [ebp - 8]
push eax
mov eax, dword [ebp - 8]
call fcn.00403e60
mov ecx, eax
lea edx, [esi + 2]
mov eax, dword [ebp - 8]
call fcn.00404064
lea edx, [ebp - 0x324]
mov eax, dword [0x53733c]
call fcn.00407ba8
mov edx, dword [ebp - 0x324]
mov eax, dword [ebx + 0x384]
add eax, 0x40
call fcn.00403c38
mov edx, dword [0x537248]
mov eax, dword [ebx + 0x384]
call fcn.00463b20
mov eax, dword [ebx + 0x384]
add eax, 0x3c
mov edx, dword [ebp - 0xc]
call fcn.00403c38
mov eax, dword [ebx + 0x384]
call fcn.00463bc8
mov edx, dword [ebp - 8]
mov eax, 0x513f54
call fcn.00404148
mov esi, eax
test esi, esi
jne 0x513ad6
inc dword [0x53733c]
lea edx, [ebp - 0x324]
mov eax, dword [0x53733c]
call fcn.00407ba8
mov edx, dword [ebp - 0x324]
mov eax, dword [ebx + 0x384]
add eax, 0x40
call fcn.00403c38
mov edx, dword [0x537248]
mov eax, dword [ebx + 0x384]
call fcn.00463b20
mov eax, dword [ebx + 0x384]
add eax, 0x3c
mov edx, dword [ebp - 8]
call fcn.00403c38
mov eax, dword [ebx + 0x384]
call fcn.00463bc8
mov eax, 0x53726c
mov edx, 0x513f60
call fcn.00403c38
mov al, byte [0x537375]
xor al, 1
cmp al, 1
jne 0x513d04
mov eax, dword [ebx + 0x3f4]
cmp byte [eax + 0x2c], 0
je 0x513c10
xor edx, edx
mov eax, dword [0x537218]
call fcn.0042fbc8
push 0
mov eax, dword [0x534f4c]
mov eax, dword [eax]
mov eax, dword [eax + 0x24]
push eax
call sub.user32.dll_ShowWindow
mov eax, dword [ebx + 0x210]
cmp byte [eax + 0x2c], 0
je 0x513c87
mov eax, dword [0x534f4c]
mov eax, dword [eax]
call fcn.00433bc4
push 0
mov eax, dword [0x534f4c]
mov eax, dword [eax]
mov eax, dword [eax + 0x24]
push eax
call sub.user32.dll_ShowWindow
mov dl, 1
mov eax, dword [ebx + 0x310]
call fcn.0044fa60
push 0x513f70
lea eax, [ebp - 0x324]
push eax
lea eax, [ebp - 0x328]
mov ecx, 0x513f80
mov edx, dword [ebp - 0x10]
call fcn.00403eac
mov ecx, dword [ebp - 0x328]
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.00508188
mov edx, dword [ebp - 0x324]
mov eax, dword [ebx + 0x310]
call fcn.0044fa84
mov eax, dword [ebx + 0x5dc]
cmp byte [eax + 0x2c], 0
je 0x513cec
mov eax, dword [0x534f4c]
mov eax, dword [eax]
call fcn.00433bc4
mov dl, 1
mov eax, dword [ebx + 0x310]
call fcn.0044fa60
push 0x513f70
lea eax, [ebp - 0x324]
push eax
lea eax, [ebp - 0x328]
mov ecx, 0x513f80
mov edx, dword [ebp - 0x10]
call fcn.00403eac
mov ecx, dword [ebp - 0x328]
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.00508188
mov edx, dword [ebp - 0x324]
mov eax, dword [ebx + 0x310]
call fcn.0044fa84
mov eax, dword [ebx + 0x30c]
cmp byte [eax + 0x2c], 0
je 0x513d04
mov eax, dword [0x534f4c]
mov eax, dword [eax]
call fcn.00433bc4
mov eax, dword [ebx + 0x430]
cmp byte [eax + 0x2c], 0
je 0x513d2c
mov edx, 0x5b
mov eax, dword [0x537218]
call fcn.004235f0
mov dl, 1
mov eax, dword [ebx + 0x434]
call fcn.00495a10
push 0
lea eax, [ebp - 0x324]
push eax
lea eax, [ebp - 0x328]
mov ecx, 0x513f8c
mov edx, dword [ebp - 0x10]
call fcn.00403eac
mov ecx, dword [ebp - 0x328]
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.00508188
cmp dword [ebp - 0x324], 0
jne 0x513d6e
cmp byte [0x537386], 0
je 0x513e4b
cmp byte [0x537381], 0
jne 0x513d8f
mov ecx, dword [0x534fdc]
mov eax, dword [0x534f4c]
mov eax, dword [eax]
mov edx, dword [0x4eb8a4]
call fcn.00434018
cmp byte [0x537386], 0
je 0x513dbc
mov eax, ebx
call fcn.00527c80
mov eax, 0x5372f8
call fcn.00403be4
mov eax, 0x5372fc
call fcn.00403be4
mov byte [0x537386], 0
jmp 0x513dea
lea eax, [ebp - 0x324]
push eax
mov ecx, 2
mov edx, 2
mov eax, dword [0x537244]
call fcn.00404064
mov ecx, dword [ebp - 0x324]
mov edx, dword [0x53723c]
mov eax, ebx
call fcn.00528180
mov eax, dword [0x534fdc]
mov eax, dword [eax]
call fcn.004321b4
mov eax, dword [0x534fdc]
mov eax, dword [eax]
mov eax, dword [eax + 0x34]
push eax
mov ecx, 0x513f98
mov edx, 0x513fa8
mov eax, ebx
call fcn.00507e04
mov eax, dword [0x534fdc]
mov eax, dword [eax]
mov eax, dword [eax + 0x30]
push eax
mov ecx, 0x513fbc
mov edx, 0x513fa8
mov eax, ebx
call fcn.00507e04
mov eax, dword [0x534fdc]
mov eax, dword [eax]
call fcn.0040301c
mov byte [0x537381], 0
call fcn.0044a4c8
call fcn.00449f90
mov eax, 0x537274
call fcn.00403be4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x513e87
lea eax, [ebp - 0x328]
mov edx, 2
call fcn.00403c08
lea eax, [ebp - 0x20]
mov edx, 8
call fcn.00403c08
ret