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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
mov eax, dword [0x1007100c]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [0x10077fec], 0
push ebx
mov ebx, ecx
jne 0x10024fa1
push esi
push edi
call fcn.10024480
mov eax, dword [0x10076fa4]
mov ecx, fcn.10007900
mov edi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea esi, [eax + 0x40]
cmp esi, 0x1000
jbe 0x10024d81
cmp ecx, 0x1000
jbe 0x10024d81
lea eax, [ebp - 8]
push eax
push 0x40
push 4
push esi
call edi
lea eax, [ebp - 0x2c]
mov dword [esi], fcn.10007900
push eax
push dword [ebp - 8]
push 4
push esi
call edi
mov eax, dword [0x10076fa4]
mov ecx, fcn.10007900
lea esi, [eax + 0x44]
cmp esi, 0x1000
jbe 0x10024db6
cmp ecx, 0x1000
jbe 0x10024db6
lea eax, [ebp - 0xc]
push eax
push 0x40
push 4
push esi
call edi
lea eax, [ebp - 0x30]
mov dword [esi], fcn.10007900
push eax
push dword [ebp - 0xc]
push 4
push esi
call edi
mov eax, dword [0x10076fa4]
lea esi, [eax + 0x48]
mov ecx, fcn.10007900
cmp esi, 0x1000
jbe 0x10024df5
cmp ecx, 0x1000
jbe 0x10024df5
lea eax, [ebp - 0x10]
push eax
push 0x40
push 4
push esi
call edi
lea eax, [ebp - 0x34]
mov dword [esi], fcn.10007900
push eax
push dword [ebp - 0x10]
push 4
push esi
call edi
mov eax, dword [0x10076fa4]
mov ecx, fcn.10007900
lea esi, [eax + 0x4c]
cmp esi, 0x1000
jbe 0x10024e2a
cmp ecx, 0x1000
jbe 0x10024e2a
lea eax, [ebp - 0x14]
push eax
push 0x40
push 4
push esi
call edi
lea eax, [ebp - 0x38]
mov dword [esi], fcn.10007900
push eax
push dword [ebp - 0x14]
push 4
push esi
call edi
mov eax, dword [0x10076fa4]
lea esi, [eax + 0x50]
mov ecx, fcn.10007900
cmp esi, 0x1000
jbe 0x10024e69
cmp ecx, 0x1000
jbe 0x10024e69
lea eax, [ebp - 0x18]
push eax
push 0x40
push 4
push esi
call edi
lea eax, [ebp - 0x3c]
mov dword [esi], fcn.10007900
push eax
push dword [ebp - 0x18]
push 4
push esi
call edi
mov eax, dword [0x10076fa4]
mov ecx, fcn.10007900
lea esi, [eax + 0x54]
cmp esi, 0x1000
jbe 0x10024e9e
cmp ecx, 0x1000
jbe 0x10024e9e
lea eax, [ebp - 0x1c]
push eax
push 0x40
push 4
push esi
call edi
lea eax, [ebp - 0x40]
mov dword [esi], fcn.10007900
push eax
push dword [ebp - 0x1c]
push 4
push esi
call edi
mov eax, dword [0x10076fa4]
lea esi, [eax + 0x58]
cmp esi, 0x1000
jbe 0x10024ed8
mov ecx, fcn.10007900
cmp ecx, 0x1000
jbe 0x10024ed8
lea eax, [ebp - 0x20]
push eax
push 0x40
push 4
push esi
call edi
lea eax, [ebp - 0x44]
mov dword [esi], fcn.10007900
push eax
push dword [ebp - 0x20]
push 4
push esi
call edi
mov eax, dword [0x10076fa4]
cmp dword [0x10078b88], 0
jne 0x10024f26
lea esi, [eax + 0x38]
cmp esi, 0x1000
jbe 0x10024f1f
mov eax, 0x10024310
cmp eax, 0x1000
jbe 0x10024f1f
mov eax, dword [esi]
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x24]
push eax
push 0x40
push 4
push esi
call edi
lea eax, [ebp - 0x28]
mov dword [esi], 0x10024310
push eax
push dword [ebp - 0x24]
push 4
push esi
call edi
mov eax, dword [ebp - 0x48]
jmp 0x10024f21
xor eax, eax
mov dword [0x10078b88], eax
cmp dword [0x10076dc8], 0
jne 0x10024f95
mov ecx, dword [0x100769d4]
mov eax, dword [0x10073144]
add eax, 0x2f8
push eax
mov edx, dword [ecx]
call dword [edx + 4]
mov dword [ebp - 0x48], eax
cmp eax, 0x1000
jbe 0x10024f8e
push 0xc
call fcn.1004e86f
add esp, 4
mov esi, eax
lea eax, [ebp - 0x28]
push eax
push 0x40
push 0xc
push esi
call edi
mov edx, dword [ebp - 0x48]
mov ecx, dword [edx]
mov dword [esi], ecx
mov ax, word [edx + 4]
mov word [esi + 4], ax
mov al, byte [edx + 6]
mov byte [esi + 6], al
lea eax, [esi + 7]
sub edx, eax
mov byte [eax], 0xe9
add edx, 2
mov dword [eax + 1], edx
add eax, 0xfffffff9
jmp 0x10024f90
xor eax, eax
mov dword [0x10076dc8], eax
pop edi
mov dword [0x10077fec], 1
pop esi
call fcn.1001cdf0
mov ecx, dword [0x10076e18]
test ecx, ecx
jne 0x10024fbc
mov dword [0x10076734], 0x32
jmp 0x10024ff0
cmp ecx, 1
jne 0x10024fcd
mov dword [0x10076734], 6
jmp 0x10024ff0
cmp ecx, 2
jne 0x10024fde
mov dword [0x10076734], 5
jmp 0x10024ff0
mov eax, dword [0x10076734]
xor edx, edx
cmp ecx, 3
cmove eax, edx
mov dword [0x10076734], eax
call fcn.1001ac60
call fcn.1001ad00
mov ecx, ebx
call fcn.1001ae70
mov ecx, ebx
call fcn.1001caa0
call fcn.10022a10
mov ecx, ebx
call fcn.1001e430
mov ecx, ebx
call fcn.1001e9b0
call fcn.100215b0
call fcn.10021fb0
call fcn.100216c0
call fcn.1001fd80
call fcn.10021f00
call fcn.1001fe50
call fcn.10022860
call fcn.10022950
call fcn.10022430
call fcn.10022120
call fcn.10022b50
call fcn.10023290
call fcn.10022f30
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop ebx
call fcn.1004df39
mov esp, ebp
pop ebp
ret