Function at 0x10004890
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10013c99
mov eax, dword fs:[0]
push eax
sub esp, 0x238
mov eax, dword [0x10024018]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x23c], eax
lea ecx, [ebp - 0x234]
xor edi, edi
push ecx
mov dword [ebp - 4], edi
push ebx
mov dword [ebp - 0x238], edi
mov dword [ebp - 0x234], edi
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
cmp eax, edi
je 0x10004b03
mov eax, dword [ebp - 0x234]
cmp eax, edi
je 0x10004b03
push eax
push edi
push 0x18
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov esi, eax
cmp esi, edi
mov dword [ebp - 0x22c], esi
je 0x10004b03
mov edx, dword [ebp + 8]
mov eax, dword [edx - 0xc]
lea ecx, [ebp - 0x21c]
mov dword [ebp - 0x240], eax
call dword [sym.imp.MFC80U.DLL_Ordinal_293]
lea ecx, [ebp - 0x220]
call dword [sym.imp.MFC80U.DLL_Ordinal_293]
push edi
push edi
push 0x418
push ebx
mov byte [ebp - 4], 2
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x40
push 0x1000
push 0x104
push edi
push esi
mov dword [ebp - 0x230], eax
call dword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov edi, eax
test edi, edi
je 0x10004ad3
cmp dword [ebp - 0x230], 0
mov dword [ebp - 0x224], 0
jle 0x10004ac1
mov ecx, dword [ebp - 0x224]
push edi
push ecx
push 0x44b
push ebx
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
je 0x10004a5a
lea edx, [ebp - 0x244]
push edx
push 0x104
lea eax, [ebp - 0x218]
push eax
push edi
push esi
call dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x10004a5a
lea ecx, [ebp - 0x218]
push ecx
lea ecx, [ebp - 0x21c]
call dword [sym.imp.MFC80U.DLL_Ordinal_776]
mov edx, dword [ebp - 0x240]
push edx
lea eax, [ebp - 0x228]
push eax
lea ecx, [ebp - 0x21c]
call dword [sym.imp.MFC80U.DLL_Ordinal_3990]
push eax
lea ecx, [ebp - 0x220]
mov byte [ebp - 4], 3
call dword [sym.imp.MFC80U.DLL_Ordinal_774]
lea ecx, [ebp - 0x228]
mov byte [ebp - 4], 2
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
mov ecx, dword [ebp - 0x220]
push ecx
lea ecx, [ebp + 8]
call dword [sym.imp.MFC80U.DLL_Ordinal_1476]
test eax, eax
jne 0x10004a5a
push 0x28
lea ecx, [ebp - 0x21c]
call dword [sym.imp.MFC80U.DLL_Ordinal_5524]
mov esi, eax
test esi, esi
jl 0x10004a54
lea edx, [esi + 1]
push edx
push 0x10016b3c
lea ecx, [ebp - 0x21c]
call dword [sym.imp.MFC80U.DLL_Ordinal_2261]
test eax, eax
jge 0x10004a77
mov esi, dword [ebp - 0x22c]
mov eax, dword [ebp - 0x224]
add eax, 1
cmp eax, dword [ebp - 0x230]
mov dword [ebp - 0x224], eax
jl 0x10004986
jmp 0x10004ac1
sub eax, esi
sub eax, 1
push eax
add esi, 1
push esi
lea eax, [ebp - 0x228]
push eax
lea ecx, [ebp - 0x21c]
call dword [sym.imp.MFC80U.DLL_Ordinal_4101]
mov ecx, dword [ebp - 0x23c]
push eax
mov byte [ebp - 4], 4
call dword [sym.imp.MFC80U.DLL_Ordinal_774]
lea ecx, [ebp - 0x228]
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
mov esi, dword [ebp - 0x22c]
mov dword [ebp - 0x238], 1
push 0x1000
push 0x104
push edi
push esi
call dword [sym.imp.KERNEL32.dll_VirtualFreeEx]
lea ecx, [ebp - 0x220]
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
lea ecx, [ebp - 0x21c]
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp + 8]
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
mov eax, dword [ebp - 0x238]
jmp 0x10004b0e
lea ecx, [ebp + 8]
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10012a8e
mov esp, ebp
pop ebp
ret