Function at 0x1004a2b0
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [0x10155018]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
push 0x1004a220
push 0x7864b3
push 0xe8
call fcn.10087110
push 0x1004a220
push 0x78641e
push 0xe8
call fcn.10087110
push 0x1004a220
push 0x7863a8
push 0xe8
call fcn.10087110
push 0x1004a220
push 0x786347
push 0xe8
call fcn.10087110
push 0x1004a220
push 0x7862e2
push 0xe8
call fcn.10087110
push 0x1004a220
push 0x78628e
push 0xe8
call fcn.10087110
add esp, 0x48
push 0x1004a1e0
push 0x789084
push 0xe9
call fcn.10087110
push 0x1004a150
push 0x7890c6
push 0xe9
call fcn.10087110
push 0x1004a280
push 0x787847
push 0xe8
call fcn.10087110
push 0x1004a240
push 0x787748
push 0xe8
call fcn.10087110
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [ebp - 8]
add esp, 0x30
push eax
push 0x40
push 5
push 0x785b44
call esi
mov eax, 0x785b44
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 5
push 0x785b44
call esi
lea eax, [ebp - 8]
push eax
push 0x40
push 5
push 0x787628
call esi
mov eax, 0x787628
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 5
push 0x787628
call esi
lea eax, [ebp - 8]
push eax
push 0x40
push 5
push 0x787630
call esi
mov eax, 0x787630
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 5
push 0x787630
call esi
lea eax, [ebp - 8]
push eax
push 0x40
push 5
push 0x787c7d
call esi
mov eax, 0x787c7d
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 5
push 0x787c7d
call esi
push 0x7867b3
push 0x7867a5
push 0xe9
call fcn.10087110
push 0x10048d00
push 0x78b09a
push 0xe8
call fcn.10087110
push 0x10048f60
push 0x78b0cf
push 0xe8
call fcn.10087110
add esp, 0x24
mov byte [ebp - 0x14], 0xe9
mov eax, 0x10048c60
mov dword [ebp - 8], 0
sub eax, 0x85a42a
mov dword [ebp - 0x13], eax
lea eax, [ebp - 8]
push eax
push 0x40
push 5
push 0x85a425
call esi
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x1004a4e5
mov eax, dword [ebp - 0x14]
mov ecx, 0x85a425
mov dword [ecx], eax
mov al, byte [ebp - 0x10]
mov byte [ecx + 4], al
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 8]
mov dword [ebp - 0xc], 0
push 5
push ecx
call esi
test eax, eax
jne 0x1004a4e7
call edi
mov eax, 0x10048cd0
mov byte [ebp - 0x14], 0xe9
sub eax, 0x78595e
mov dword [ebp - 8], 0
mov dword [ebp - 0x13], eax
lea eax, [ebp - 8]
push eax
push 0x40
push 5
push 0x785959
call esi
test eax, eax
je 0x1004a539
mov eax, dword [ebp - 0x14]
mov ecx, 0x785959
mov dword [ecx], eax
mov al, byte [ebp - 0x10]
mov byte [ecx + 4], al
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 8]
mov dword [ebp - 0xc], 0
push 5
push ecx
call esi
test eax, eax
jne 0x1004a53b
call edi
push 0x1004a100
push 0x78770e
push 0xe9
call fcn.10087110
add esp, 0xc
mov byte [ebp - 0x14], 0xe9
mov eax, 0x10048ca0
mov dword [ebp - 8], 0
sub eax, 0x785a59
mov dword [ebp - 0x13], eax
lea eax, [ebp - 8]
push eax
push 0x40
push 5
push 0x785a54
call esi
test eax, eax
je 0x1004a5a4
mov eax, dword [ebp - 0x14]
mov ecx, 0x785a54
mov dword [ecx], eax
mov al, byte [ebp - 0x10]
mov byte [ecx + 4], al
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 8]
mov dword [ebp - 0xc], 0
push 5
push ecx
call esi
test eax, eax
jne 0x1004a5a6
call edi
push 0x100489b0
push 0x787620
push 0xe8
call fcn.10087110
mov ecx, dword [ebp - 4]
add esp, 0xc
xor ecx, ebp
pop edi
pop esi
call fcn.100a3a28
mov esp, ebp
pop ebp
ret