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

Disassembly:
mov eax, dword [0x1019435c]
sub esp, 8
push ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
push edi
add eax, 0x3fe498
lea ebx, [eax + 1]
mov edi, 0x10007150
sub edi, eax
lea eax, [esp + 0xc]
push eax
push 0x40
push 4
push ebx
sub edi, 5
call esi
test eax, eax
je 0x10015764
mov edx, dword [esp + 0xc]
lea ecx, [esp + 0x10]
push ecx
push edx
push 4
push ebx
mov dword [ebx], edi
call esi
mov eax, dword [0xace524]
mov ecx, dword [0x1019435c]
lea edx, [esp + 0xc]
push edx
push 0x40
push 4
push 0xace524
lea edi, [eax + ecx - 0x401000]
call esi
test eax, eax
je 0x100157a0
mov eax, 0xace524
lea ecx, [esp + 0x10]
push ecx
mov dword [eax], edi
mov edx, dword [esp + 0x10]
push edx
push 4
push eax
call esi
mov eax, dword [0xa69b5c]
mov ecx, dword [0x1019435c]
lea edx, [esp + 0xc]
push edx
push 0x40
push 4
push 0xa69b5c
lea edi, [eax + ecx - 0x401000]
call esi
test eax, eax
je 0x100157dc
mov eax, 0xa69b5c
lea ecx, [esp + 0x10]
push ecx
mov dword [eax], edi
mov edx, dword [esp + 0x10]
push edx
push 4
push eax
call esi
mov ecx, dword [0x1019435c]
add ecx, 0x539f1f
mov eax, 0x10014bc0
call fcn.10007ae0
mov ecx, dword [0x1019435c]
add ecx, 0x6ad46
mov eax, 0x100156e0
call fcn.10007ae0
mov eax, dword [0xace528]
mov ecx, dword [0x1019435c]
lea edx, [esp + 0xc]
push edx
push 0x40
push 4
push 0xace528
lea edi, [eax + ecx - 0x401000]
call esi
test eax, eax
je 0x10015844
mov eax, 0xace528
lea ecx, [esp + 0x10]
push ecx
mov dword [eax], edi
mov edx, dword [esp + 0x10]
push edx
push 4
push eax
call esi
mov ecx, dword [0x1019435c]
add ecx, 0x43bd29
mov eax, 0x10014be0
call fcn.10007ae0
lea eax, [esp + 0xc]
push eax
push 0x40
push 1
mov edi, 0x100156d0
push 0x93ac7d
mov bl, 0xe8
sub edi, 0x93ac82
call esi
test eax, eax
je 0x10015891
mov ecx, 0x93ac7d
lea edx, [esp + 0x10]
push edx
mov byte [ecx], bl
mov eax, dword [esp + 0x10]
push eax
push 1
push ecx
call esi
lea ecx, [esp + 0xc]
push ecx
push 0x40
push 4
push 0x93ac7e
call esi
test eax, eax
je 0x100158bb
mov ecx, dword [esp + 0xc]
lea eax, [esp + 0x10]
push eax
push ecx
mov edx, 0x93ac7e
push 4
push edx
mov dword [edx], edi
call esi
lea edx, [esp + 0xc]
push edx
push 0x40
push 1
mov edi, 0x100156d0
push 0x93ac8b
mov bl, 0xe8
sub edi, 0x93ac90
call esi
test eax, eax
je 0x100158f2
mov eax, 0x93ac8b
lea ecx, [esp + 0x10]
push ecx
mov byte [eax], bl
mov edx, dword [esp + 0x10]
push edx
push 1
push eax
call esi
lea eax, [esp + 0xc]
push eax
push 0x40
push 4
push 0x93ac8c
call esi
test eax, eax
je 0x1001591c
mov eax, dword [esp + 0xc]
lea edx, [esp + 0x10]
push edx
push eax
mov ecx, 0x93ac8c
push 4
push ecx
mov dword [ecx], edi
call esi
mov ecx, dword [0xaca64c]
mov edx, dword [0x1019435c]
lea eax, [esp + 0xc]
push eax
push 0x40
push 4
push 0xaca64c
lea edi, [ecx + edx - 0x401000]
call esi
test eax, eax
je 0x10015959
mov ecx, 0xaca64c
lea edx, [esp + 0x10]
push edx
mov dword [ecx], edi
mov eax, dword [esp + 0x10]
push eax
push 4
push ecx
call esi
push 0x93db34
push 0x93bf36
call fcn.10014ac0
push 0x93db58
push 0x93c185
call fcn.10014ac0
mov ecx, dword [0x1019435c]
add ecx, 0x53491b
mov eax, 0x10015410
call fcn.10007ae0
mov ecx, dword [0x1019435c]
pop edi
pop esi
add ecx, 0x534b0f
mov eax, 0x10015410
pop ebx
add esp, 8
jmp fcn.10007ae0