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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [0x10040018]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
mov ecx, 0x401000
call fcn.100093d0
mov dword [ebp - 8], eax
lea ecx, [ebp - 8]
lea eax, [ebp - 0x1c]
push eax
call fcn.10002850
mov edi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov dword [ebp - 0x14], 4
mov esi, dword [eax]
lea eax, [ebp - 0x10]
push eax
push 0x40
push 4
push esi
mov dword [ebp - 0x18], esi
call edi
test eax, eax
setne byte [ebp - 0xc]
mov esi, dword [esi]
test eax, eax
je 0x10009077
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 8]
push ecx
push eax
push dword [ebp - 0x14]
mov dword [ebp - 8], eax
push dword [ebp - 0x18]
call edi
cmp esi, 0x53ec8b55
jne 0x10009094
mov eax, 0x3e9
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1000b95d
mov esp, ebp
pop ebp
ret
mov ecx, 0x401000
call fcn.100093d0
mov dword [ebp - 8], eax
lea ecx, [ebp - 8]
lea eax, [ebp - 0x1c]
push eax
call fcn.10002850
mov dword [ebp - 0x14], 4
mov esi, dword [eax]
lea eax, [ebp - 0x10]
push eax
push 0x40
push 4
push esi
mov dword [ebp - 0x18], esi
call edi
test eax, eax
setne byte [ebp - 0xc]
mov esi, dword [esi]
test eax, eax
je 0x100090e3
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 8]
push ecx
push eax
push dword [ebp - 0x14]
mov dword [ebp - 8], eax
push dword [ebp - 0x18]
call edi
cmp esi, 0x16197be9
jne 0x10009100
mov eax, 0x3ea
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1000b95d
mov esp, ebp
pop ebp
ret
mov ecx, 0x8245bc
call fcn.100093d0
mov dword [ebp - 8], eax
lea ecx, [ebp - 8]
lea eax, [ebp - 0x1c]
push eax
call fcn.10002850
mov dword [ebp - 0x14], 4
mov esi, dword [eax]
lea eax, [ebp - 0x10]
push eax
push 0x40
push 4
push esi
mov dword [ebp - 0x18], esi
call edi
test eax, eax
setne byte [ebp - 0xc]
mov esi, dword [esi]
test eax, eax
je 0x1000914f
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 8]
push ecx
push eax
push dword [ebp - 0x14]
mov dword [ebp - 8], eax
push dword [ebp - 0x18]
call edi
cmp esi, 0x94bf
jne 0x1000916c
mov eax, 0x3f3
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1000b95d
mov esp, ebp
pop ebp
ret
mov ecx, 0x8252fc
call fcn.100093d0
mov dword [ebp - 8], eax
lea ecx, [ebp - 8]
lea eax, [ebp - 0x1c]
push eax
call fcn.10002850
mov dword [ebp - 0x14], 4
mov esi, dword [eax]
lea eax, [ebp - 0x10]
push eax
push 0x40
push 4
push esi
mov dword [ebp - 0x18], esi
call edi
test eax, eax
setne byte [ebp - 0xc]
mov esi, dword [esi]
test eax, eax
je 0x100091bb
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 8]
push ecx
push eax
push dword [ebp - 0x14]
mov dword [ebp - 8], eax
push dword [ebp - 0x18]
call edi
cmp esi, 0x94bf
jne 0x100091d8
mov eax, 0x44d
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1000b95d
mov esp, ebp
pop ebp
ret
mov ecx, 0x82533c
call fcn.100093d0
mov dword [ebp - 8], eax
lea ecx, [ebp - 8]
lea eax, [ebp - 0x1c]
push eax
call fcn.10002850
mov dword [ebp - 0x14], 4
mov esi, dword [eax]
lea eax, [ebp - 0x10]
push eax
push 0x40
push 4
push esi
mov dword [ebp - 0x18], esi
call edi
test eax, eax
setne byte [ebp - 0xc]
mov esi, dword [esi]
test eax, eax
je 0x10009227
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 8]
push ecx
push eax
push dword [ebp - 0x14]
mov dword [ebp - 8], eax
push dword [ebp - 0x18]
call edi
cmp esi, 0x94bf
jne 0x10009244
mov eax, 0x457
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1000b95d
mov esp, ebp
pop ebp
ret
mov ecx, 0x858d51
call fcn.100093d0
mov dword [ebp - 8], eax
lea ecx, [ebp - 8]
lea eax, [ebp - 0x1c]
push eax
call fcn.10002850
mov dword [ebp - 0x14], 4
mov esi, dword [eax]
lea eax, [ebp - 0x10]
push eax
push 0x40
push 4
push esi
mov dword [ebp - 0x18], esi
call edi
test eax, eax
setne byte [ebp - 0xc]
mov esi, dword [esi]
test eax, eax
je 0x10009293
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 8]
push ecx
push eax
push dword [ebp - 0x14]
mov dword [ebp - 8], eax
push dword [ebp - 0x18]
call edi
cmp esi, 0x3539f633
jne 0x100092b0
mov eax, 0xc80
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1000b95d
mov esp, ebp
pop ebp
ret
mov ecx, 0x858c61
call fcn.100093d0
mov dword [ebp - 8], eax
lea ecx, [ebp - 8]
lea eax, [ebp - 0x1c]
push eax
call fcn.10002850
mov dword [ebp - 0x14], 4
mov esi, dword [eax]
lea eax, [ebp - 0x10]
push eax
push 0x40
push 4
push esi
mov dword [ebp - 0x18], esi
call edi
test eax, eax
setne byte [ebp - 0xc]
mov esi, dword [esi]
test eax, eax
je 0x100092ff
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 8]
push ecx
push eax
push dword [ebp - 0x14]
mov dword [ebp - 8], eax
push dword [ebp - 0x18]
call edi
xor eax, eax
mov ecx, 0xc8a
cmp esi, 0x3539f633
pop edi
cmove eax, ecx
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.1000b95d
mov esp, ebp
pop ebp
ret