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

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [0x100c810c]
sub esp, 0x34
cmp dword [eax + 0x3b0], 1
push ebx
push esi
push edi
mov edi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
jne 0x10011669
mov esi, 5
mov ebx, 0x57fccf
call fcn.100533c0
lea edx, [ebp - 4]
push edx
push 0x40
mov ecx, 0x10011890
push 5
sub ecx, 0x57fcd4
xor esi, esi
push ebx
mov byte [ebp - 0x2c], 0xe9
mov dword [ebp - 0x2b], ecx
mov dword [ebp - 4], esi
call edi
test eax, eax
je 0x10011663
mov ecx, dword [ebp - 0x2c]
mov dl, byte [ebp - 0x28]
mov eax, ebx
mov dword [eax], ecx
mov byte [eax + 4], dl
mov ecx, dword [ebp - 4]
lea eax, [ebp - 0x18]
push eax
push ecx
push 5
push ebx
mov dword [ebp - 0x18], esi
call edi
test eax, eax
jne 0x10011669
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [0x100c810c]
cmp dword [edx + 0x3c4], 1
jne 0x100116d3
mov esi, 5
mov ebx, 0x5842b1
call fcn.100533c0
lea ecx, [ebp - 8]
push ecx
push 0x40
mov eax, 0x10011a40
push 5
sub eax, 0x5842b6
xor esi, esi
push ebx
mov byte [ebp - 0x2c], 0xe9
mov dword [ebp - 0x2b], eax
mov dword [ebp - 8], esi
call edi
test eax, eax
je 0x100116cd
mov edx, dword [ebp - 0x2c]
mov cl, byte [ebp - 0x28]
mov eax, ebx
mov dword [eax], edx
mov byte [eax + 4], cl
mov eax, dword [ebp - 8]
lea edx, [ebp - 0x1c]
push edx
push eax
push 5
push ebx
mov dword [ebp - 0x1c], esi
call edi
test eax, eax
jne 0x100116d3
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [0x100c810c]
cmp dword [ecx + 0x3d8], 1
jne 0x1001173e
mov esi, 5
mov ebx, 0x5852e4
call fcn.100533c0
lea eax, [ebp - 0xc]
push eax
push 0x40
mov edx, 0x10011c00
push 5
sub edx, 0x5852e9
xor esi, esi
push ebx
mov byte [ebp - 0x2c], 0xe9
mov dword [ebp - 0x2b], edx
mov dword [ebp - 0xc], esi
call edi
test eax, eax
je 0x10011738
mov ecx, dword [ebp - 0x2c]
mov dl, byte [ebp - 0x28]
mov eax, ebx
mov dword [eax], ecx
mov byte [eax + 4], dl
mov ecx, dword [ebp - 0xc]
lea eax, [ebp - 0x20]
push eax
push ecx
push 5
push ebx
mov dword [ebp - 0x20], esi
call edi
test eax, eax
jne 0x1001173e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [0x100c810c]
cmp dword [edx + 0x3ec], 1
jne 0x100117a8
mov esi, 5
mov ebx, 0x584a4e
call fcn.100533c0
lea ecx, [ebp - 0x10]
push ecx
push 0x40
mov eax, 0x10011dc0
push 5
sub eax, 0x584a53
xor esi, esi
push ebx
mov byte [ebp - 0x2c], 0xe9
mov dword [ebp - 0x2b], eax
mov dword [ebp - 0x10], esi
call edi
test eax, eax
je 0x100117a2
mov edx, dword [ebp - 0x2c]
mov cl, byte [ebp - 0x28]
mov eax, ebx
mov dword [eax], edx
mov byte [eax + 4], cl
mov eax, dword [ebp - 0x10]
lea edx, [ebp - 0x24]
push edx
push eax
push 5
push ebx
mov dword [ebp - 0x24], esi
call edi
test eax, eax
jne 0x100117a8
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [0x100c810c]
cmp dword [ecx + 0x400], 1
jne 0x10011813
mov esi, 5
mov ebx, 0x584b82
call fcn.100533c0
lea eax, [ebp - 0x14]
push eax
push 0x40
mov edx, 0x10011f30
push 5
sub edx, 0x584b87
xor esi, esi
push ebx
mov byte [ebp - 0x34], 0xe9
mov dword [ebp - 0x33], edx
mov dword [ebp - 0x14], esi
call edi
test eax, eax
je 0x1001180d
mov ecx, dword [ebp - 0x34]
mov dl, byte [ebp - 0x30]
mov eax, ebx
mov dword [eax], ecx
mov byte [eax + 4], dl
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x2c]
push eax
push ecx
push 5
push ebx
mov dword [ebp - 0x2c], esi
call edi
test eax, eax
jne 0x10011813
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [0x100c810c]
cmp dword [edx + 0x410], 1
jne 0x1001187d
mov esi, 5
mov ebx, 0x582fe6
call fcn.100533c0
lea ecx, [ebp - 0x14]
push ecx
push 0x40
mov eax, 0x10012070
push 5
sub eax, 0x582feb
xor esi, esi
push ebx
mov byte [ebp - 0x34], 0xe9
mov dword [ebp - 0x33], eax
mov dword [ebp - 0x14], esi
call edi
test eax, eax
je 0x10011877
mov edx, dword [ebp - 0x34]
mov cl, byte [ebp - 0x30]
mov eax, ebx
mov dword [eax], edx
mov byte [eax + 4], cl
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x2c]
push edx
push eax
push 5
push ebx
mov dword [ebp - 0x2c], esi
call edi
test eax, eax
jne 0x1001187d
call dword [sym.imp.KERNEL32.dll_GetLastError]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret