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

Disassembly:
mov eax, dword [esp + 4]
sub esp, 0x20
push ebx
xor ebx, ebx
push ebp
push esi
cmp eax, ebx
push edi
je 0x1113e236
mov edi, dword [esp + 0x38]
cmp edi, ebx
je 0x1113e236
mov eax, dword [esp + 0x3c]
cmp eax, ebx
je 0x1113e236
push ebx
push ebx
push eax
call fcn.1113d230
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov ebp, eax
lea eax, [esp + 0x18]
mov dword [esp + 0x10], ebp
push eax
push 0x40
push 0x14
push ebp
mov dword [esp + 0x24], 0x14
mov dword [esp + 0x28], ebx
call esi
test eax, eax
jne 0x1113e163
mov dword [esp + 0x18], eax
jmp 0x1113e167
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
cmp edx, ebx
je 0x1113e236
mov ecx, dword [esp + 0x14]
cmp ecx, ebx
je 0x1113e236
cmp eax, ebx
jne 0x1113e1ab
cmp ecx, ebx
je 0x1113e236
cmp eax, ebx
je 0x1113e236
lea edi, [esp + 0x34]
mov dword [esp + 0x34], ebx
push edi
push eax
push ecx
push edx
call esi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
xor edx, edx
mov byte [esp + 0x1c], bl
mov dword [esp + 0x1d], edx
mov dword [esp + 0x21], edx
mov dword [esp + 0x25], edx
mov dword [esp + 0x29], edx
mov word [esp + 0x2d], dx
mov byte [esp + 0x2f], dl
mov dl, byte [ebp]
cmp dl, 0xe9
je 0x1113e26f
cmp dl, 0xe8
je 0x1113e26f
cmp dl, 0xff
jne 0x1113e2ff
cmp byte [ebp + 1], 0x25
jne 0x1113e2ff
mov ecx, dword [esp + 0x34]
lea eax, [esp + 0x1c]
push 0x14
push eax
push edi
push ecx
push ebx
call fcn.11150890
add esp, 0x14
test eax, eax
jne 0x1113e240
mov edx, dword [esp + 0x10]
cmp edx, ebx
je 0x1113e236
mov ecx, dword [esp + 0x14]
cmp ecx, ebx
je 0x1113e236
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x1113e236
lea esi, [esp + 0x34]
mov dword [esp + 0x34], ebx
push esi
push eax
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov ecx, 3
mov edi, ebp
lea esi, [esp + 0x1c]
xor edx, edx
repe cmpsw word [esi], word es:[edi]
je 0x1113e2f7
lea eax, [esp + 0x1c]
push 6
push eax
call fcn.1113e330
add esp, 8
cmp eax, ebx
je 0x1113e2f7
jmp 0x1113e2e1
mov ecx, dword [esp + 0x34]
lea eax, [esp + 0x1c]
push 0x14
push eax
push edi
push ecx
push ebx
call fcn.11150890
add esp, 0x14
test eax, eax
jne 0x1113e2bd
mov edx, dword [esp + 0x10]
cmp edx, ebx
je 0x1113e236
mov ecx, dword [esp + 0x14]
cmp ecx, ebx
je 0x1113e236
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x1113e236
lea esi, [esp + 0x34]
mov dword [esp + 0x34], ebx
push esi
push eax
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov ecx, 5
mov edi, ebp
lea esi, [esp + 0x1c]
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x1113e2f7
lea eax, [esp + 0x1c]
push 5
push eax
call fcn.1113e330
add esp, 8
cmp eax, ebx
je 0x1113e2f7
mov ecx, eax
lea esi, [esp + 0x1c]
mov edx, ecx
mov edi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
cmp edx, ebx
je 0x1113e321
cmp ecx, ebx
je 0x1113e321
cmp eax, ebx
je 0x1113e321
lea esi, [esp + 0x34]
mov dword [esp + 0x34], ebx
push esi
push eax
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x20
ret