Function at 0x51f56c
Capabilities:
Create process on windows
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff8c
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
call fcn.00404de4
xor eax, eax
push ebp
push 0x51f8af
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, dword [ebp - 4]
mov eax, 0x51f8c8
call fcn.00404f38
mov ebx, eax
test ebx, ebx
jne 0x51f5cd
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 4]
call fcn.004049dc
lea eax, [ebp - 0x10]
call fcn.00404944
jmp 0x51f680
lea eax, [ebp - 0xc]
push eax
mov ecx, ebx
dec ecx
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00404e54
lea eax, [ebp - 0x10]
push eax
mov eax, dword [ebp - 4]
call fcn.00404bfc
mov ecx, eax
lea edx, [ebx + 3]
mov eax, dword [ebp - 4]
call fcn.00404e54
lea eax, [ebp - 0x68]
push eax
mov ecx, 1
mov edx, 1
mov eax, dword [ebp - 0x10]
call fcn.00404e54
mov eax, dword [ebp - 0x68]
mov edx, 0x51f8d4
call fcn.00404d40
jne 0x51f63a
lea eax, [ebp - 0x10]
push eax
mov eax, dword [ebp - 0x10]
call fcn.00404bfc
mov ecx, eax
mov edx, 2
mov eax, dword [ebp - 0x10]
call fcn.00404e54
lea eax, [ebp - 0x6c]
push eax
mov eax, dword [ebp - 0x10]
call fcn.00404bfc
mov edx, eax
mov ecx, 1
mov eax, dword [ebp - 0x10]
call fcn.00404e54
mov eax, dword [ebp - 0x6c]
mov edx, 0x51f8d4
call fcn.00404d40
jne 0x51f680
lea eax, [ebp - 0x10]
push eax
mov eax, dword [ebp - 0x10]
call fcn.00404bfc
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x10]
call fcn.00404e54
push 0
push 0x51f8d8
call sub.user32.dll_FindWindowA
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x51f723
lea eax, [ebp - 0x54]
xor ecx, ecx
mov edx, 0x44
call fcn.00403168
mov dword [ebp - 0x54], 0x44
mov dword [ebp - 0x28], 0x41
mov word [ebp - 0x24], 1
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x54]
push eax
push 0
push 0
push 0x20
push 0
push 0
push 0
push 0x51f8e8
push 0
call sub.kernel32.dll_CreateProcessA
test eax, eax
je 0x51f6eb
push 0xffffffffffffffff
mov eax, dword [ebp - 0x64]
push eax
call sub.user32.dll_WaitForInputIdle
push 0
push 0x51f8d8
call sub.user32.dll_FindWindowA
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x51f723
push 0
lea eax, [ebp - 0x70]
mov edx, 0x51f8f4
call fcn.00404b34
mov eax, dword [ebp - 0x70]
xor ecx, ecx
mov edx, 0x51f928
call fcn.004b4dd8
jmp 0x51f87f
push 5
mov eax, dword [ebp - 8]
push eax
call sub.user32.dll_ShowWindow
mov eax, dword [ebp - 8]
push eax
call sub.user32.dll_SetForegroundWindow
push 0
push 0x51f938
push 0
mov eax, dword [ebp - 8]
push eax
call sub.user32.dll_FindWindowExA
mov esi, eax
push esi
call sub.user32.dll_SetForegroundWindow
push esi
call sub.user32.dll_SetFocus
mov ebx, 0x1f
push 0
push 0x25
push pe_nt_image_headers32
push esi
call sub.user32.dll_SendMessageA
mov eax, dword [0x530968]
mov eax, dword [eax]
call fcn.0046705c
dec ebx
jne 0x51f75c
mov eax, dword [0x530968]
mov eax, dword [eax]
call fcn.0046705c
push 0
push 0x27
push pe_nt_image_headers32
push esi
call sub.user32.dll_SendMessageA
mov eax, dword [ebp - 0xc]
call fcn.00404bfc
mov edi, eax
test edi, edi
jle 0x51f801
mov ebx, 1
lea eax, [ebp - 0x74]
push eax
mov ecx, 1
mov edx, ebx
mov eax, dword [ebp - 0xc]
call fcn.00404e54
mov eax, dword [ebp - 0x74]
mov edx, 0x51f950
call fcn.00404d40
jne 0x51f7e7
push 0
push 0x27
push pe_nt_image_headers32
push esi
call sub.user32.dll_SendMessageA
mov eax, dword [0x530968]
mov eax, dword [eax]
call fcn.0046705c
jmp 0x51f7fd
push 0x1e
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax + ebx - 1]
push eax
push 0x102
push esi
call sub.user32.dll_SendMessageA
inc ebx
dec edi
jne 0x51f7a8
cmp dword [ebp - 0x10], 0
je 0x51f86d
push 0
push 0x51f954
push 0
mov eax, dword [ebp - 8]
push eax
call sub.user32.dll_FindWindowExA
mov esi, eax
push esi
call sub.user32.dll_SetForegroundWindow
push esi
call sub.user32.dll_SetFocus
push 0x3e8
call sub.kernel32.dll_Sleep_1
push 0
push 0x24
push pe_nt_image_headers32
push esi
call sub.user32.dll_SendMessageA
mov eax, dword [ebp - 0x10]
call fcn.00404bfc
mov edi, eax
test edi, edi
jle 0x51f86d
mov ebx, 1
push 0x1e
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + ebx - 1]
push eax
push 0x102
push esi
call sub.user32.dll_SendMessageA
inc ebx
dec edi
jne 0x51f853
mov eax, dword [ebp - 8]
push eax
call sub.user32.dll_SetForegroundWindow
mov eax, dword [ebp - 8]
push eax
call sub.user32.dll_SetFocus
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x51f8b6
lea eax, [ebp - 0x74]
mov edx, 4
call fcn.00404968
lea eax, [ebp - 0x10]
mov edx, 2
call fcn.00404968
lea eax, [ebp - 4]
call fcn.00404944
ret