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

Disassembly:
push ebp
mov ebp, dword [esp + 0x14]
test ebp, ebp
push esi
mov esi, ecx
jne 0x242e911
mov ebp, 1
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x242e91e
mov ecx, 1
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x242e92b
mov eax, 1
push ebx
push edi
push 0x40
push 0x2000
lea edi, [ecx*8]
push edi
push 0
lea ebx, [eax*8]
call dword [sym.imp.kernel32.dll_VirtualAlloc]
test eax, eax
mov dword [esi + 4], eax
jne 0x242e95c
mov ecx, 0x24daf6c
call fcn.0247f7e0
mov eax, dword [esi + 4]
push 0x40
push 0x1000
push ebx
push eax
call dword [sym.imp.kernel32.dll_VirtualAlloc]
cmp dword [esi + 4], eax
je 0x242e97d
mov ecx, 0x24daf0c
call fcn.0247f7e0
mov dword [esi + 8], edi
mov edi, dword [esp + 0x14]
xor ecx, ecx
cmp edi, 0x10
mov dword [esi + 0xc], ebx
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], ebp
mov dword [esi + 0x18], ecx
ja 0x242e9a1
mov eax, 0x10
jmp 0x242ea8c
cmp edi, 0x20
ja 0x242e9b0
mov eax, 0x20
jmp 0x242ea8c
cmp edi, 0x40
ja 0x242e9bf
mov eax, 0x40
jmp 0x242ea8c
cmp edi, 0x80
ja 0x242e9d1
mov eax, 0x80
jmp 0x242ea8c
cmp edi, 0x100
ja 0x242e9e3
mov eax, 0x100
jmp 0x242ea8c
cmp edi, 0x200
ja 0x242e9f5
mov eax, 0x200
jmp 0x242ea8c
cmp edi, 0x400
ja 0x242ea07
mov eax, 0x400
jmp 0x242ea8c
cmp edi, 0x800
ja 0x242ea16
mov eax, 0x800
jmp 0x242ea8c
cmp edi, 0x1000
ja 0x242ea25
mov eax, 0x1000
jmp 0x242ea8c
cmp edi, 0x2000
ja 0x242ea34
mov eax, 0x2000
jmp 0x242ea8c
cmp edi, 0x4000
ja 0x242ea43
mov eax, 0x4000
jmp 0x242ea8c
cmp edi, 0x8000
ja 0x242ea52
mov eax, 0x8000
jmp 0x242ea8c
cmp edi, 0x10000
ja 0x242ea61
mov eax, 0x10000
jmp 0x242ea8c
cmp edi, 0x20000
ja 0x242ea70
mov eax, 0x20000
jmp 0x242ea8c
cmp edi, 0x40000
ja 0x242ea7f
mov eax, 0x40000
jmp 0x242ea8c
mov edx, 0x80000
cmp edx, edi
sbb eax, eax
and eax, edx
add eax, edx
mov ebp, dword [sym.imp.kernel32.dll_VirtualAlloc]
push 0x40
push 0x2000
lea ebx, [eax*4]
push ebx
push ecx
call ebp
test eax, eax
mov dword [esi + 0x1c], eax
jne 0x242eab5
mov ecx, 0x24daf6c
call fcn.0247f7e0
mov eax, dword [esi + 0x1c]
push 0x40
push 0x1000
push ebx
push eax
call ebp
cmp dword [esi + 0x1c], eax
je 0x242ead2
mov ecx, 0x24daf0c
call fcn.0247f7e0
xor eax, eax
cmp edi, 0x10
mov dword [esi + 0x20], ebx
mov dword [esi + 0x24], ebx
mov dword [esi + 0x28], eax
mov dword [esi + 0x2c], 0xa
mov dword [esi + 0x30], eax
ja 0x242eaf6
mov eax, 0x10
jmp 0x242ebe1
cmp edi, 0x20
ja 0x242eb05
mov eax, 0x20
jmp 0x242ebe1
cmp edi, 0x40
ja 0x242eb14
mov eax, 0x40
jmp 0x242ebe1
cmp edi, 0x80
ja 0x242eb26
mov eax, 0x80
jmp 0x242ebe1
cmp edi, 0x100
ja 0x242eb38
mov eax, 0x100
jmp 0x242ebe1
cmp edi, 0x200
ja 0x242eb4a
mov eax, 0x200
jmp 0x242ebe1
cmp edi, 0x400
ja 0x242eb5c
mov eax, 0x400
jmp 0x242ebe1
cmp edi, 0x800
ja 0x242eb6b
mov eax, 0x800
jmp 0x242ebe1
cmp edi, 0x1000
ja 0x242eb7a
mov eax, 0x1000
jmp 0x242ebe1
cmp edi, 0x2000
ja 0x242eb89
mov eax, 0x2000
jmp 0x242ebe1
cmp edi, 0x4000
ja 0x242eb98
mov eax, 0x4000
jmp 0x242ebe1
cmp edi, 0x8000
ja 0x242eba7
mov eax, 0x8000
jmp 0x242ebe1
cmp edi, 0x10000
ja 0x242ebb6
mov eax, 0x10000
jmp 0x242ebe1
cmp edi, 0x20000
ja 0x242ebc5
mov eax, 0x20000
jmp 0x242ebe1
cmp edi, 0x40000
ja 0x242ebd4
mov eax, 0x40000
jmp 0x242ebe1
mov ecx, 0x80000
cmp ecx, edi
sbb eax, eax
and eax, ecx
add eax, ecx
dec eax
lea ebp, [eax + 1]
mov dword [esi], eax
mov edi, dword [esi + 0x28]
mov eax, dword [esi + 0x20]
lea ebx, [ebp*4]
add edi, ebx
cmp edi, eax
jbe 0x242ec04
mov ecx, 0x24daf34
call fcn.0247f7e0
cmp edi, dword [esi + 0x24]
jbe 0x242ec48
mov ecx, dword [esi + 0x20]
mov edx, dword [esi + 0x2c]
imul edx, ecx
mov eax, 0x51eb851f
mul edx
shr edx, 5
add edi, edx
cmp edi, ecx
jbe 0x242ec24
mov edi, ecx
mov eax, dword [esi + 0x1c]
push 0x40
push 0x1000
push edi
push eax
call dword [sym.imp.kernel32.dll_VirtualAlloc]
cmp dword [esi + 0x1c], eax
je 0x242ec45
mov ecx, 0x24daf0c
call fcn.0247f7e0
mov dword [esi + 0x24], edi
mov edi, dword [esi + 0x28]
add edi, dword [esi + 0x1c]
mov ecx, ebx
mov edx, ecx
shr ecx, 2
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov edx, dword [esi + 0x28]
mov ecx, dword [esi + 0x30]
add edx, ebx
mov eax, edx
sub eax, ebx
shl ecx, 2
cmp eax, ecx
pop edi
mov dword [esi + 0x28], edx
pop ebx
je 0x242ec82
mov ecx, 0x24dad4c
call fcn.0247f7e0
add dword [esi + 0x30], ebp
mov eax, esi
pop esi
pop ebp
ret 0x10