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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov eax, dword [0x1018b06c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push 0x10097030
push 0x55a35f
push 0xe8
call fcn.100b1680
push 0x100969b0
push 0x61fe3f
push 0xff
call fcn.100b1680
push 0x10096a00
push 0x61b410
push 0xff
call fcn.100b1680
push 0x10096a00
push 0x61feea
push 0xff
call fcn.100b1680
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [ebp - 8]
add esp, 0x30
mov dword [ebp - 8], 0
or bl, 0xff
push eax
push 0x40
push 1
push 0x559b85
call esi
test eax, eax
je 0x100975ca
mov eax, 0x559b85
mov byte [eax], bl
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 8]
mov dword [ebp - 0xc], 0
push 1
push 0x559b85
call esi
test eax, eax
jne 0x100975d0
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea eax, [ebp - 8]
mov dword [ebp - 8], 0
push eax
push 0x40
push 1
push 0x559b86
or bl, 0xff
call esi
test eax, eax
je 0x1009760f
mov eax, 0x559b86
mov byte [eax], bl
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 8]
mov dword [ebp - 0xc], 0
push 1
push 0x559b86
call esi
test eax, eax
jne 0x10097615
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x10096fd0
push 0x55e4c5
push 0xe9
call fcn.100b1680
push 0xe8
mov edx, 0x10096a50
mov ecx, 0x4e199d
call fcn.100b0f00
push 0xe8
mov edx, 0x10096a50
mov ecx, 0x587049
call fcn.100b0f00
push 0xe8
mov edx, 0x10096a50
mov ecx, 0x587049
call fcn.100b0f00
push 0xe8
mov edx, 0x10096a50
mov ecx, 0x590ccc
call fcn.100b0f00
push 0xe8
mov edx, 0x10096a50
mov ecx, 0x5bbee6
call fcn.100b0f00
push 0xe8
mov edx, 0x10096a50
mov ecx, 0x64229d
call fcn.100b0f00
push 0xe8
mov edx, 0x10096a50
mov ecx, 0x642d51
call fcn.100b0f00
push 0xe8
mov edx, 0x10096a50
mov ecx, 0x643229
call fcn.100b0f00
push 0xe8
mov edx, 0x10096a50
mov ecx, 0x65ea86
call fcn.100b0f00
push 0xe8
mov edx, 0x10096a50
mov ecx, 0x911a53
call fcn.100b0f00
push 0xe8
mov edx, 0x10096a50
mov ecx, 0x911a6d
call fcn.100b0f00
push 0xe8
mov edx, 0x10096a50
mov ecx, 0x911a87
call fcn.100b0f00
push 0xe8
mov edx, 0x10096a50
mov ecx, 0x911aa1
call fcn.100b0f00
add esp, 0x40
mov edx, 0x10096a50
mov ecx, 0x911abb
push 0xe8
call fcn.100b0f00
push 0x10096f80
push 0x58101a
push 0xff
call fcn.100b1680
push 0x10096f80
push 0x58105b
push 0xff
call fcn.100b1680
push 0x10096f80
push 0x58109c
push 0xff
call fcn.100b1680
push 0x10096f80
push 0x5810dd
push 0xff
call fcn.100b1680
push 0x10096f80
push 0x58111e
push 0xff
call fcn.100b1680
add esp, 0x40
push 0x10096f80
push 0x58115f
push 0xff
call fcn.100b1680
push 0x10096f80
push 0x5811a0
push 0xff
call fcn.100b1680
push 0x10096f80
push 0x5811e1
push 0xff
call fcn.100b1680
push 0x10096f80
push 0x581222
push 0xff
call fcn.100b1680
push 0x10096f80
push 0x581263
push 0xff
call fcn.100b1680
push 0x10096f80
push 0x5812a8
push 0xff
call fcn.100b1680
add esp, 0x48
push 0x10096f80
push 0x5812ed
push 0xff
call fcn.100b1680
push 0x10096f80
push 0x58132e
push 0xff
call fcn.100b1680
push 0x10096f80
push 0x58136f
push 0xff
call fcn.100b1680
push 0x10096f80
push 0x5813b4
push 0xff
call fcn.100b1680
push 0x10096f80
push 0x5813f9
push 0xff
call fcn.100b1680
push 0x10096f80
push 0x586859
push 0xff
call fcn.100b1680
mov ecx, dword [ebp - 4]
add esp, 0x48
xor ecx, ebp
pop esi
pop ebx
call fcn.100d52b0
mov esp, ebp
pop ebp
ret