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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [0x100d3080]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x100d5f84]
lea ecx, [ebp - 8]
add eax, 0x9466fd
push esi
mov dword [ebp - 8], eax
lea eax, [ebp - 0x1c]
push edi
push eax
call fcn.10007f20
mov edi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov dword [ebp - 0x14], 1
mov esi, dword [eax]
lea eax, [ebp - 0x10]
push eax
push 0x40
push 1
push esi
mov dword [ebp - 0x18], esi
call edi
test eax, eax
setne byte [ebp - 0xc]
mov byte [esi], 0xeb
cmp byte [ebp - 0xc], 0
je 0x100051aa
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
mov eax, dword [0x100d5f84]
lea ecx, [ebp - 8]
add eax, 0x946793
mov dword [ebp - 8], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10007f20
mov dword [ebp - 0x14], 1
mov esi, dword [eax]
lea eax, [ebp - 0x10]
push eax
push 0x40
push 1
push esi
mov dword [ebp - 0x18], esi
call edi
test eax, eax
setne byte [ebp - 0xc]
mov byte [esi], 0xc0
cmp byte [ebp - 0xc], 0
je 0x100051fc
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
mov eax, dword [0x100d5f84]
lea ecx, [ebp - 8]
add eax, 0x1ca3df
mov dword [ebp - 8], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10007f20
mov dword [ebp - 0x14], 1
mov esi, dword [eax]
lea eax, [ebp - 0x10]
push eax
push 0x40
push 1
push esi
mov dword [ebp - 0x18], esi
call edi
test eax, eax
setne byte [ebp - 0xc]
mov byte [esi], 0xeb
cmp byte [ebp - 0xc], 0
je 0x1000524e
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
mov eax, dword [0x100d5f84]
lea ecx, [ebp - 8]
add eax, 0x694673
mov dword [ebp - 8], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10007f20
mov dword [ebp - 0x14], 1
mov esi, dword [eax]
lea eax, [ebp - 0x10]
push eax
push 0x40
push 1
push esi
mov dword [ebp - 0x18], esi
call edi
test eax, eax
setne byte [ebp - 0xc]
mov byte [esi], 0xeb
cmp byte [ebp - 0xc], 0
je 0x100052a0
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
mov eax, dword [0x100d5f84]
lea ecx, [ebp - 8]
add eax, 0x82c615
mov dword [ebp - 8], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10007f20
mov dword [ebp - 0x14], 1
mov esi, dword [eax]
lea eax, [ebp - 0x10]
push eax
push 0x40
push 1
push esi
mov dword [ebp - 0x18], esi
call edi
test eax, eax
setne byte [ebp - 0xc]
mov byte [esi], 0xeb
cmp byte [ebp - 0xc], 0
je 0x100052f2
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
mov eax, dword [0x100d5f84]
lea ecx, [ebp - 8]
add eax, 0x82c659
mov dword [ebp - 8], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10007f20
mov dword [ebp - 0x14], 1
mov esi, dword [eax]
lea eax, [ebp - 0x10]
push eax
push 0x40
push 1
push esi
mov dword [ebp - 0x18], esi
call edi
test eax, eax
setne byte [ebp - 0xc]
mov byte [esi], 0xeb
cmp byte [ebp - 0xc], 0
je 0x10005344
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
mov eax, dword [0x100d5f84]
add eax, 0x6e46f1
push ecx
mov dword [ebp - 8], eax
lea ecx, [ebp - 8]
lea eax, [ebp - 0x1c]
mov esi, esp
push eax
call fcn.10007f20
mov ecx, 2
mov eax, dword [eax]
mov dword [esi], eax
call fcn.10003c00
mov eax, dword [0x100d5f84]
lea ecx, [ebp - 8]
add eax, 0x9c6bd2
mov esi, esp
mov dword [ebp - 8], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10007f20
mov ecx, 2
mov eax, dword [eax]
mov dword [esi], eax
call fcn.10003c00
mov ecx, dword [ebp - 4]
add esp, 4
xor ecx, ebp
pop edi
pop esi
call fcn.1005ff0b
mov esp, ebp
pop ebp
ret