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

Disassembly:
push ebp
mov ebp, esp
push ecx
mov eax, dword [0x102bc10c]
push esi
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 3
jne 0x10096b90
lea eax, [ebp - 4]
push eax
push 0x40
push 1
push 0x4030d4
call esi
lea eax, [ebp - 4]
mov byte [0x4030d4], 6
push eax
push dword [ebp - 4]
push 1
push 0x4030d4
call esi
mov eax, dword [0x102bc10c]
cmp eax, 2
jne 0x10096bc0
lea eax, [ebp - 4]
push eax
push 0x40
push 1
push 0x4030d4
call esi
lea eax, [ebp - 4]
mov byte [0x4030d4], 5
push eax
push dword [ebp - 4]
push 1
push 0x4030d4
call esi
mov eax, dword [0x102bc10c]
cmp eax, 1
jne 0x10096bf0
lea eax, [ebp - 4]
push eax
push 0x40
push 1
push 0x4030d4
call esi
lea eax, [ebp - 4]
mov byte [0x4030d4], 4
push eax
push dword [ebp - 4]
push 1
push 0x4030d4
call esi
mov eax, dword [0x102bc10c]
cmp eax, 4
jne 0x10096c1b
lea eax, [ebp - 4]
push eax
push 0x40
push 1
push 0x4030d4
call esi
lea eax, [ebp - 4]
mov byte [0x4030d4], 3
push eax
push dword [ebp - 4]
push 1
push 0x4030d4
call esi
mov eax, dword [0x102bc1c0]
test eax, eax
je 0x10096c29
cmp eax, 2
jne 0x10096c85
lea eax, [ebp - 4]
push eax
push 0x40
push 0x2f7
push 0x7d25c0
call esi
push 0x2f7
push 0x90
push 0x7d25c0
call fcn.100b99d0
add esp, 0xc
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 0x2f7
push 0x7d25c0
call esi
cmp dword [0x102bc1c0], 0
jne 0x10096c85
push 0x7d4161
push 0x7d4000
push 0xe9
call fcn.100b54d0
add esp, 0xc
cmp dword [0x102bc114], 1
jne 0x10096ce1
lea eax, [ebp - 4]
push eax
push 0x40
push 0xc8
push 0x8193f0
call esi
push 0xc8
push 0x90
push 0x8193f0
call fcn.100b99d0
add esp, 0xc
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 0xc8
push 0x8193f0
call esi
push 0x77ed20
push 0x77ec97
push 0xe9
call fcn.100b54d0
add esp, 0xc
cmp dword [0x102bc1d4], 1
jne 0x10096d1d
lea eax, [ebp - 4]
push eax
push 0x40
push 0x52
push 0x830b70
call esi
push 0x52
push 0x90
push 0x830b70
call fcn.100b99d0
add esp, 0xc
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 0x52
push 0x830b70
call esi
cmp dword [0x102bc1d8], 1
jne 0x10096d62
lea eax, [ebp - 4]
push eax
push 0x40
push 0x69d
push 0x6097b0
call esi
push 0x69d
push 0x90
push 0x6097b0
call fcn.100b99d0
add esp, 0xc
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 0x69d
push 0x6097b0
call esi
cmp dword [0x102bc1f0], 1
jne 0x10096dfe
push 0x7d3f45
push 0x7d3d63
push 0xe9
call fcn.100b54d0
add esp, 0xc
lea eax, [ebp - 4]
push eax
push 0x40
push 0x15e
push 0x944e50
call esi
push 0x15e
push 0x90
push 0x944e50
call fcn.100b99d0
add esp, 0xc
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 0x15e
push 0x944e50
call esi
lea eax, [ebp - 4]
push eax
push 0x40
push 0x145
push 0x661700
call esi
push 0x145
push 0x90
push 0x661700
call fcn.100b99d0
add esp, 0xc
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 0x145
push 0x661700
call esi
cmp dword [0x102bc1f4], 1
jne 0x10096e3a
lea eax, [ebp - 4]
push eax
push 0x40
push 0x5a
push 0x78dc20
call esi
push 0x5a
push 0x90
push 0x78dc20
call fcn.100b99d0
add esp, 0xc
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 0x5a
push 0x78dc20
call esi
cmp dword [0x102bc1f8], 1
jne 0x10096e5a
push 0x62f8a6
push 0x62f870
push 0xe9
call fcn.100b54d0
add esp, 0xc
cmp dword [0x102bc1fc], 1
jne 0x10096e8e
push 0x7d39d8
push 0x7d399f
push 0xe9
call fcn.100b54d0
push 0x77ec0e
push 0x77eb65
push 0xe9
call fcn.100b54d0
add esp, 0x18
cmp dword [0x102bc200], 1
jne 0x10096eae
push 0x77ec97
push 0x77ec0e
push 0xe9
call fcn.100b54d0
add esp, 0xc
cmp dword [0x102bc204], 1
jne 0x10096f0b
push 0x83288f
push 0x83285a
push 0xe9
call fcn.100b54d0
add esp, 0xc
lea eax, [ebp - 4]
push eax
push 0x40
push 1
push 0x830cb8
call esi
lea eax, [ebp - 4]
mov byte [0x830cb8], 0x30
push eax
push dword [ebp - 4]
push 1
push 0x830cb8
call esi
push 0x7d3f9c
push 0x7d3f45
push 0xe9
call fcn.100b54d0
add esp, 0xc
cmp dword [0x102bc208], 1
jne 0x10096f3f
push 0x7d3902
push 0x7d37a1
push 0xe9
call fcn.100b54d0
push 0x85f992
push 0x85ec8a
push 0xe9
call fcn.100b54d0
add esp, 0x18
cmp dword [0x102bc20c], 1
jne 0x10096f87
push 0x7d371e
push 0x7d36b8
push 0xe9
call fcn.100b54d0
push 0x7d4000
push 0x7d3f9c
push 0xe9
call fcn.100b54d0
push 0x836a58
push 0x8369e4
push 0xe9
call fcn.100b54d0
add esp, 0x24
cmp dword [0x102bc210], 1
jne 0x10096fcf
push 0x7d377f
push 0x7d371e
push 0xe9
call fcn.100b54d0
push 0x857007
push 0x856f94
push 0xe9
call fcn.100b54d0
push 0x8572a5
push 0x85727c
push 0xe9
call fcn.100b54d0
add esp, 0x24
cmp dword [0x102bc214], 1
jne 0x10097003
push 0x8369e4
push 0x836971
push 0xe9
call fcn.100b54d0
push 0x834fc9
push 0x834e23
push 0xe9
call fcn.100b54d0
add esp, 0x18
mov eax, dword [0x102bc1bc]
dec eax
cmp eax, 2
ja 0x1009704a
lea eax, [ebp - 4]
push eax
push 0x40
push 0x198
push 0x7a8330
call esi
push 0x198
push 0x90
push 0x7a8330
call fcn.100b99d0
add esp, 0xc
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 0x198
push 0x7a8330
call esi
cmp dword [0x102bc234], 1
jne 0x10097152
lea eax, [ebp - 4]
push eax
push 0x40
push 1
push 0x8742ee
call esi
lea eax, [ebp - 4]
mov byte [0x8742ee], 7
push eax
push dword [ebp - 4]
push 1
push 0x8742ee
call esi
lea eax, [ebp - 4]
push eax
push 0x40
push 1
push 0x8743ff
call esi
lea eax, [ebp - 4]
mov byte [0x8743ff], 7
push eax
push dword [ebp - 4]
push 1
push 0x8743ff
call esi
lea eax, [ebp - 4]
push eax
push 0x40
push 1
push 0x87454f
call esi
lea eax, [ebp - 4]
mov byte [0x87454f], 7
push eax
push dword [ebp - 4]
push 1
push 0x87454f
call esi
lea eax, [ebp - 4]
push eax
push 0x40
push 1
push 0x877dce
call esi
lea eax, [ebp - 4]
mov byte [0x877dce], 6
push eax
push dword [ebp - 4]
push 1
push 0x877dce
call esi
lea eax, [ebp - 4]
push eax
push 0x40
push 1
push 0x877edf
call esi
lea eax, [ebp - 4]
mov byte [0x877edf], 6
push eax
push dword [ebp - 4]
push 1
push 0x877edf
call esi
lea eax, [ebp - 4]
push eax
push 0x40
push 1
push 0x878032
call esi
lea eax, [ebp - 4]
mov byte [0x878032], 6
push eax
push dword [ebp - 4]
push 1
push 0x878032
call esi
push 0x7e4d16
push 0x7e4ca4
push 0xe9
call fcn.100b54d0
add esp, 0xc
cmp dword [0x102bc238], 1
jne 0x10097186
push 0x6284c4
push 0x6284ab
push 0xe9
call fcn.100b54d0
push 0x7128b5
push 0x71273b
push 0xe9
call fcn.100b54d0
add esp, 0x18
cmp dword [0x102bc244], 1
jne 0x100971ba
push 0x7aa9b1
push 0x7aa93e
push 0xe9
call fcn.100b54d0
push 0x7aa3bf
push 0x7aa354
push 0xe9
call fcn.100b54d0
add esp, 0x18
cmp dword [0x102bc23c], 1
jne 0x100971f1
lea eax, [ebp - 4]
push eax
push 0x40
push 5
push 0xd46c84
call esi
mov eax, 0xd46c84
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 5
push 0xd46c84
call esi
cmp dword [0x102bc240], 1
jne 0x10097228
lea eax, [ebp - 4]
push eax
push 0x40
push 5
push 0xd46c8c
call esi
mov eax, 0xd46c8c
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 5
push 0xd46c8c
call esi
pop esi
mov esp, ebp
pop ebp
ret