Function at 0x467d10
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd8
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
xor eax, eax
push ebp
push 0x467f7c
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.0040aa5c
mov esi, eax
call fcn.0040aa0c
add esp, 0xfffffff8
fstp qword [esp]
wait
call fcn.0045e038
mov ebx, eax
mov byte [0x46f5f8], 1
mov edx, ebx
mov eax, esi
call fcn.00467a58
test al, al
jne 0x467d70
mov edx, ebx
mov eax, esi
call fcn.00467cbc
test al, al
je 0x467d8e
push 0
push 2
movzx ecx, word [0x467f8c]
mov dl, 1
mov eax, 0x467f98
call fcn.00430130
push 0
call sub.kernel32.dll_ExitProcess_1
lea edx, [ebp - 0x24]
xor eax, eax
call fcn.0040327c
mov eax, dword [ebp - 0x24]
lea edx, [ebp - 0x20]
call fcn.00409490
push dword [ebp - 0x20]
push 0x467fb4
lea edx, [ebp - 0x28]
mov eax, 1
call fcn.0040327c
push dword [ebp - 0x28]
lea eax, [ebp - 0x1c]
mov edx, 3
call fcn.00405274
mov eax, dword [ebp - 0x1c]
call fcn.0046750c
mov ebx, eax
test ebx, ebx
je 0x467f61
mov edx, 0x467fcc
mov eax, ebx
call fcn.004675ac
mov edi, eax
mov edx, 0x467fe0
mov eax, ebx
call fcn.004675ac
mov dword [ebp - 0xc], eax
test edi, edi
je 0x467f17
cmp dword [ebp - 0xc], 0
je 0x467f17
cmp dword [0x46f5fc], 0
je 0x467f17
lea esi, [edi + 0x1344a1]
mov ebx, 0xc
lea eax, [ebp - 0x10]
push eax
push 0x40
push ebx
push esi
mov eax, dword [0x46f5fc]
push eax
call sub.kernel32.dll_VirtualProtectEx
push 4
push 0x3000
push ebx
push 0
call sub.kernel32.dll_VirtualAlloc_1
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x467f61
lea eax, [ebp - 0x14]
push eax
push ebx
mov eax, dword [ebp - 4]
push eax
push esi
mov eax, dword [0x46f5fc]
push eax
call sub.kernel32.dll_ReadProcessMemory
lea eax, [ebp - 0x18]
push eax
push ebx
push 0x46f604
push esi
mov eax, dword [0x46f5fc]
push eax
call sub.kernel32.dll_WriteProcessMemory
lea esi, [edi + 0x2c7192]
mov ebx, 7
push 4
push 0x3000
push ebx
push 0
call sub.kernel32.dll_VirtualAlloc_1
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x467f61
lea eax, [ebp - 0x14]
push eax
push ebx
mov eax, dword [ebp - 8]
push eax
push esi
mov eax, dword [0x46f5fc]
push eax
call sub.kernel32.dll_ReadProcessMemory
lea eax, [ebp - 0x10]
push eax
push 0x40
push ebx
push esi
mov eax, dword [0x46f5fc]
push eax
call sub.kernel32.dll_VirtualProtectEx
lea eax, [ebp - 0x18]
push eax
push ebx
push 0x46f610
push esi
mov eax, dword [0x46f5fc]
push eax
call sub.kernel32.dll_WriteProcessMemory
mov esi, dword [ebp - 0xc]
add esi, 0x1000
mov ebx, 2
lea eax, [ebp - 0x10]
push eax
push 0x40
push ebx
push esi
mov eax, dword [0x46f5fc]
push eax
call sub.kernel32.dll_VirtualProtectEx
lea eax, [ebp - 0x18]
push eax
push ebx
push 0x46f600
push esi
mov eax, dword [0x46f5fc]
push eax
call sub.kernel32.dll_WriteProcessMemory
push 0x1388
call sub.kernel32.dll_Sleep_1
lea esi, [edi + 0x1344a1]
mov ebx, 0xc
lea eax, [ebp - 0x18]
push eax
push ebx
mov eax, dword [ebp - 4]
push eax
push esi
mov eax, dword [0x46f5fc]
push eax
call sub.kernel32.dll_WriteProcessMemory
lea esi, [edi + 0x2c7192]
mov ebx, 7
lea eax, [ebp - 0x18]
push eax
push ebx
mov eax, dword [ebp - 8]
push eax
push esi
mov eax, dword [0x46f5fc]
push eax
call sub.kernel32.dll_WriteProcessMemory
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x467f83
lea eax, [ebp - 0x28]
mov edx, 4
call fcn.00404f04
ret