Function at 0x4847c8
Capabilities:
Create process on windows
Create thread
Inject thread
Resume thread

Disassembly:
push ebp
mov ebp, esp
mov ecx, 7
push 0
push 0
dec ecx
jne 0x4847d0
push ecx
push ebx
push esi
push edi
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.004043a8
xor eax, eax
push ebp
push 0x484b93
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 5], 0
mov edx, 0x48b128
xor eax, eax
call fcn.004028b8
lea edx, [ebp - 0x34]
mov eax, dword [0x48b120]
mov eax, dword [eax + 0x330]
call fcn.00437404
mov eax, dword [ebp - 0x34]
lea edx, [ebp - 0x2c]
call fcn.0040802c
lea edx, [ebp - 0x38]
mov eax, dword [0x48b120]
mov eax, dword [eax + 0x30c]
call fcn.00437404
mov eax, dword [ebp - 0x38]
lea edx, [ebp - 0x30]
call fcn.0040802c
lea edx, [ebp - 0x1c]
mov eax, dword [0x48b124]
call fcn.00484720
lea eax, [ebp - 0x20]
mov ecx, 0x484bac
mov edx, dword [ebp - 0x1c]
call fcn.00404204
mov word [0x48b160], 1
mov dword [0x48b15c], 1
push 0x48b174
push 0x48b130
mov eax, dword [ebp - 0x1c]
call fcn.004043b8
push eax
push 0
push 0
push 0xffffffffffffffff
push 0
push 0
push 0
mov eax, dword [ebp - 0x20]
call fcn.004043b8
push eax
call sub.kernel32.dll_CreateProcessA
mov eax, dword [0x48b17c]
push eax
push 0
push 0x1f0fff
call sub.kernel32.dll_OpenProcess
mov dword [0x48b12c], eax
cmp dword [0x48b12c], 0
jne 0x4848d0
push 0
push 0x484bb8
push 0x484bc0
push 0
call sub.user32.dll_MessageBoxA_1
mov eax, dword [ebp - 4]
call fcn.004041b8
add eax, eax
inc eax
call fcn.004026dc
mov esi, eax
mov eax, dword [ebp - 4]
call fcn.004041b8
mov ecx, eax
add ecx, ecx
inc ecx
mov edx, esi
mov eax, dword [ebp - 4]
call fcn.00404cd0
push esi
call sub.kernel32.dll_lstrlenW
inc eax
mov edi, eax
add edi, edi
push 4
push 0x1000
push 0x1000
push 0
mov eax, dword [0x48b12c]
push eax
call sub.kernel32.dll_VirtualAllocEx
mov ebx, eax
test ebx, ebx
je 0x484b52
lea eax, [ebp - 0x14]
push eax
push edi
push esi
push ebx
mov eax, dword [0x48b12c]
push eax
call sub.kernel32.dll_WriteProcessMemory
test eax, eax
je 0x484b52
xor eax, eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x14]
push eax
mov eax, dword [0x48b128]
call fcn.004041b8
push eax
mov eax, dword [0x48b128]
push eax
mov edi, ebx
mov eax, edi
add eax, 0x100
push eax
mov eax, dword [0x48b12c]
push eax
call sub.kernel32.dll_WriteProcessMemory
push 0x484bd0
push 0x484be0
call sub.kernel32.dll_LoadLibraryA
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x14]
push eax
push 4
lea eax, [ebp - 0x10]
push eax
mov eax, edi
add eax, 0x200
push eax
mov eax, dword [0x48b12c]
push eax
call sub.kernel32.dll_WriteProcessMemory
push 0x484bf0
push 0x484be0
call sub.kernel32.dll_LoadLibraryA
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x14]
push eax
push 4
lea eax, [ebp - 0x10]
push eax
mov eax, edi
add eax, 0x300
push eax
mov eax, dword [0x48b12c]
push eax
call sub.kernel32.dll_WriteProcessMemory
lea eax, [ebp - 0x28]
mov edx, 0x484c08
call fcn.00403f90
lea eax, [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x28]
call fcn.004041b8
push eax
mov eax, dword [ebp - 0x28]
push eax
mov eax, edi
add eax, 0x400
push eax
mov eax, dword [0x48b12c]
push eax
call sub.kernel32.dll_WriteProcessMemory
mov esi, 0x484c10
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x3c]
mov edx, esi
call fcn.004046e8
mov eax, dword [ebp - 0x3c]
call fcn.00404744
add eax, eax
push eax
push esi
add edi, 0x450
push edi
mov eax, dword [0x48b12c]
push eax
call sub.kernel32.dll_WriteProcessMemory
mov eax, dword [ebp - 0x24]
call fcn.004041b8
add eax, eax
inc eax
call fcn.004026dc
mov esi, eax
mov eax, dword [ebp - 0x24]
call fcn.004041b8
mov ecx, eax
add ecx, ecx
inc ecx
mov edx, esi
mov eax, dword [ebp - 0x24]
call fcn.00404cd0
push esi
call sub.kernel32.dll_lstrlenW
inc eax
mov edi, eax
add edi, edi
lea eax, [ebp - 0x14]
push eax
push edi
push esi
mov eax, ebx
add eax, 0x800
push eax
mov eax, dword [0x48b12c]
push eax
call sub.kernel32.dll_WriteProcessMemory
lea eax, [ebp - 0x14]
push eax
push 0x40
push 0x4846e8
mov eax, ebx
add eax, 0x500
push eax
mov eax, dword [0x48b12c]
push eax
call sub.kernel32.dll_WriteProcessMemory
lea eax, [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x2c]
call fcn.004041b8
push eax
mov eax, dword [ebp - 0x2c]
push eax
mov eax, ebx
add eax, 0x600
push eax
mov eax, dword [0x48b12c]
push eax
call sub.kernel32.dll_WriteProcessMemory
lea eax, [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x30]
call fcn.004041b8
push eax
mov eax, dword [ebp - 0x30]
push eax
mov eax, ebx
add eax, 0x700
push eax
mov eax, dword [0x48b12c]
push eax
call sub.kernel32.dll_WriteProcessMemory
push 0x3e8
call sub.kernel32.dll_Sleep_1
lea eax, [ebp - 0x18]
push eax
push 0
push ebx
add ebx, 0x500
push ebx
push 0
push 0
mov eax, dword [0x48b12c]
push eax
call sub.kernel32.dll_CreateRemoteThread
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x484b32
push 0
push 0x484bb8
push 0x484c2c
push 0
call sub.user32.dll_MessageBoxA_1
mov eax, dword [0x48b178]
push eax
call sub.kernel32.dll_ResumeThread
cmp dword [ebp - 0xc], 0
je 0x484b47
mov byte [ebp - 5], 1
mov eax, dword [0x48b12c]
push eax
call sub.kernel32.dll_CloseHandle
mov eax, dword [ebp - 0xc]
push eax
call sub.kernel32.dll_CloseHandle
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x484b9a
lea eax, [ebp - 0x3c]
call fcn.004045d8
lea eax, [ebp - 0x38]
mov edx, 2
call fcn.00403f1c
lea eax, [ebp - 0x30]
mov edx, 6
call fcn.00403f1c
lea eax, [ebp - 4]
call fcn.00403ef8
ret