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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push esi
push edi
mov ecx, 0x4ea75d
call fcn.100183f0
mov dword [ebp - 4], eax
lea ecx, [ebp - 4]
lea eax, [ebp - 8]
push eax
call fcn.10008800
mov edi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov dword [ebp - 0x14], 0xd
mov esi, dword [eax]
lea eax, [ebp - 0x10]
push eax
push 0x40
push 0xd
push esi
mov dword [ebp - 0x18], esi
call edi
test eax, eax
setne byte [ebp - 0xc]
mov dword [esi], 0x90909090
mov dword [esi + 4], 0x90909090
mov dword [esi + 8], 0x90909090
mov byte [esi + 0xc], 0x90
cmp byte [ebp - 0xc], 0
je 0x10017465
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 4]
push ecx
push eax
push dword [ebp - 0x14]
mov dword [ebp - 4], eax
push dword [ebp - 0x18]
call edi
mov ecx, 0x4ea9bd
call fcn.100183f0
mov dword [ebp - 4], eax
lea ecx, [ebp - 4]
lea eax, [ebp - 8]
push eax
call fcn.10008800
mov dword [ebp - 0x14], 0xb
mov esi, dword [eax]
lea eax, [ebp - 0x10]
push eax
push 0x40
push 0xb
push esi
mov dword [ebp - 0x18], esi
call edi
test eax, eax
mov eax, 0x90909090
setne byte [ebp - 0xc]
mov dword [esi], eax
mov dword [esi + 4], eax
mov word [esi + 8], ax
mov byte [esi + 0xa], al
cmp byte [ebp - 0xc], 0
je 0x100174c5
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 4]
push ecx
push eax
push dword [ebp - 0x14]
mov dword [ebp - 4], eax
push dword [ebp - 0x18]
call edi
mov ecx, 0x4ea9cf
call fcn.100183f0
mov dword [ebp - 4], eax
lea ecx, [ebp - 4]
lea eax, [ebp - 8]
push eax
call fcn.10008800
mov dword [ebp - 0x14], 6
mov esi, dword [eax]
lea eax, [ebp - 0x10]
push eax
push 0x40
push 6
push esi
mov dword [ebp - 0x18], esi
call edi
test eax, eax
mov eax, 0x90909090
setne byte [ebp - 0xc]
mov dword [esi], eax
mov word [esi + 4], ax
cmp byte [ebp - 0xc], 0
je 0x1001751f
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 4]
push ecx
push eax
push dword [ebp - 0x14]
mov dword [ebp - 4], eax
push dword [ebp - 0x18]
call edi
mov ecx, 0x4ea9df
call fcn.100183f0
mov dword [ebp - 4], eax
lea ecx, [ebp - 4]
lea eax, [ebp - 8]
push eax
call fcn.10008800
mov dword [ebp - 0x14], 7
mov esi, dword [eax]
lea eax, [ebp - 0x10]
push eax
push 0x40
push 7
push esi
mov dword [ebp - 0x18], esi
call edi
test eax, eax
mov eax, 0x90909090
setne byte [ebp - 0xc]
mov dword [esi], eax
mov word [esi + 4], ax
mov byte [esi + 6], al
cmp byte [ebp - 0xc], 0
je 0x1001757c
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 4]
push ecx
push eax
push dword [ebp - 0x14]
mov dword [ebp - 4], eax
push dword [ebp - 0x18]
call edi
mov ecx, 0x4f1221
call fcn.100183f0
mov dword [ebp - 4], eax
lea ecx, [ebp - 4]
lea eax, [ebp - 8]
push eax
call fcn.10008800
mov dword [ebp - 0x14], 0xa
mov esi, dword [eax]
lea eax, [ebp - 0x10]
push eax
push 0x40
push 0xa
push esi
mov dword [ebp - 0x18], esi
call edi
test eax, eax
mov eax, 0x90909090
setne byte [ebp - 0xc]
mov dword [esi], eax
mov dword [esi + 4], eax
mov word [esi + 8], ax
cmp byte [ebp - 0xc], 0
je 0x100175d9
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 4]
push ecx
push eax
push dword [ebp - 0x14]
mov dword [ebp - 4], eax
push dword [ebp - 0x18]
call edi
mov ecx, 0x501368
call fcn.100183f0
mov dword [ebp - 4], eax
lea ecx, [ebp - 4]
lea eax, [ebp - 8]
push eax
call fcn.10008800
mov dword [ebp - 0x14], 6
mov esi, dword [eax]
lea eax, [ebp - 0x10]
push eax
push 0x40
push 6
push esi
mov dword [ebp - 0x18], esi
call edi
test eax, eax
mov eax, 0x90909090
setne byte [ebp - 0xc]
mov dword [esi], eax
mov word [esi + 4], ax
cmp byte [ebp - 0xc], 0
je 0x10017633
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 4]
push ecx
push eax
push dword [ebp - 0x14]
mov dword [ebp - 4], eax
push dword [ebp - 0x18]
call edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret