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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push ebx
push esi
push edi
push 0x100a1700
push 0x55a35f
push 0xe8
call fcn.100cf0b0
push 0x100a1090
push 0x61fe3f
push 0xff
call fcn.100cf0b0
push 0x100a10e0
push 0x61b410
push 0xff
call fcn.100cf0b0
push 0x100a10e0
push 0x61feea
push 0xff
call fcn.100cf0b0
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [ebp - 4]
add esp, 0x30
mov dword [ebp - 4], 0
or bl, 0xff
push eax
push 0x40
push 1
push 0x559b85
call esi
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x100a1c97
mov eax, 0x559b85
mov byte [eax], bl
lea eax, [ebp - 8]
push eax
push dword [ebp - 4]
mov dword [ebp - 8], 0
push 1
push 0x559b85
call esi
test eax, eax
jne 0x100a1c99
call edi
lea eax, [ebp - 4]
mov dword [ebp - 4], 0
push eax
push 0x40
push 1
push 0x559b86
or bl, 0xff
call esi
test eax, eax
je 0x100a1cd8
mov eax, 0x559b86
mov byte [eax], bl
lea eax, [ebp - 8]
push eax
push dword [ebp - 4]
mov dword [ebp - 8], 0
push 1
push 0x559b86
call esi
test eax, eax
jne 0x100a1cda
call edi
push 0x100a16a0
push 0x55e4c5
push 0xe9
call fcn.100cf0b0
mov ebx, 0x100a1130
mov byte [ebp - 0x10], 0xe8
add esp, 0xc
mov dword [ebp - 4], 0
lea eax, [ebx - 0x4e19a2]
mov dword [ebp - 0xf], eax
lea eax, [ebp - 4]
push eax
push 0x40
push 5
push 0x4e199d
call esi
test eax, eax
je 0x100a1d44
mov eax, dword [ebp - 0x10]
mov ecx, 0x4e199d
mov dword [ecx], eax
mov al, byte [ebp - 0xc]
mov byte [ecx + 4], al
lea eax, [ebp - 8]
push eax
push dword [ebp - 4]
mov dword [ebp - 8], 0
push 5
push ecx
call esi
test eax, eax
jne 0x100a1d46
call edi
mov eax, 0x100a1130
mov byte [ebp - 0x18], 0xe8
sub eax, 0x58704e
mov dword [ebp - 4], 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x17], eax
lea eax, [ebp - 4]
push eax
push 0x40
push 5
push 0x587049
call esi
test eax, eax
je 0x100a1d9b
mov eax, dword [ebp - 0x18]
mov ecx, 0x587049
mov dword [ecx], eax
mov al, byte [ebp - 0x14]
mov byte [ecx + 4], al
lea eax, [ebp - 8]
push eax
push dword [ebp - 4]
mov dword [ebp - 8], 0
push 5
push ecx
call esi
test eax, eax
jne 0x100a1d9d
call edi
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x17], eax
lea eax, [ebp - 4]
push eax
push 0x40
push 5
push 0x587049
mov byte [ebp - 0x18], 0xe8
mov dword [ebp - 4], 0
call esi
test eax, eax
je 0x100a1de8
mov eax, dword [ebp - 0x18]
mov ecx, 0x587049
mov dword [ecx], eax
mov al, byte [ebp - 0x14]
mov byte [ecx + 4], al
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 4]
mov dword [ebp - 0x10], 0
push 5
push ecx
call esi
test eax, eax
jne 0x100a1dea
call edi
lea eax, [ebx - 0x590cd1]
mov byte [ebp - 0x18], 0xe8
mov dword [ebp - 0x17], eax
lea eax, [ebp - 4]
push eax
push 0x40
push 5
push 0x590ccc
mov dword [ebp - 4], 0
call esi
test eax, eax
je 0x100a1e38
mov eax, dword [ebp - 0x18]
mov ecx, 0x590ccc
mov dword [ecx], eax
mov al, byte [ebp - 0x14]
mov byte [ecx + 4], al
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 4]
mov dword [ebp - 0x10], 0
push 5
push ecx
call esi
test eax, eax
jne 0x100a1e3a
call edi
lea eax, [ebx - 0x5bbeeb]
mov byte [ebp - 0x18], 0xe8
mov dword [ebp - 0x17], eax
lea eax, [ebp - 4]
push eax
push 0x40
push 5
push 0x5bbee6
mov dword [ebp - 4], 0
call esi
test eax, eax
je 0x100a1e88
mov eax, dword [ebp - 0x18]
mov ecx, 0x5bbee6
mov dword [ecx], eax
mov al, byte [ebp - 0x14]
mov byte [ecx + 4], al
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 4]
mov dword [ebp - 0x10], 0
push 5
push ecx
call esi
test eax, eax
jne 0x100a1e8a
call edi
lea eax, [ebx - 0x6422a2]
mov byte [ebp - 0x18], 0xe8
mov dword [ebp - 0x17], eax
lea eax, [ebp - 4]
push eax
push 0x40
push 5
push 0x64229d
mov dword [ebp - 4], 0
call esi
test eax, eax
je 0x100a1ed8
mov eax, dword [ebp - 0x18]
mov ecx, 0x64229d
mov dword [ecx], eax
mov al, byte [ebp - 0x14]
mov byte [ecx + 4], al
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 4]
mov dword [ebp - 0x10], 0
push 5
push ecx
call esi
test eax, eax
jne 0x100a1eda
call edi
lea eax, [ebx - 0x642d56]
mov byte [ebp - 0x18], 0xe8
mov dword [ebp - 0x17], eax
lea eax, [ebp - 4]
push eax
push 0x40
push 5
push 0x642d51
mov dword [ebp - 4], 0
call esi
test eax, eax
je 0x100a1f28
mov eax, dword [ebp - 0x18]
mov ecx, 0x642d51
mov dword [ecx], eax
mov al, byte [ebp - 0x14]
mov byte [ecx + 4], al
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 4]
mov dword [ebp - 0x10], 0
push 5
push ecx
call esi
test eax, eax
jne 0x100a1f2a
call edi
lea eax, [ebx - 0x64322e]
mov byte [ebp - 0x18], 0xe8
mov dword [ebp - 0x17], eax
lea eax, [ebp - 4]
push eax
push 0x40
push 5
push 0x643229
mov dword [ebp - 4], 0
call esi
test eax, eax
je 0x100a1f78
mov eax, dword [ebp - 0x18]
mov ecx, 0x643229
mov dword [ecx], eax
mov al, byte [ebp - 0x14]
mov byte [ecx + 4], al
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 4]
mov dword [ebp - 0x10], 0
push 5
push ecx
call esi
test eax, eax
jne 0x100a1f7a
call edi
lea eax, [ebx - 0x65ea8b]
mov byte [ebp - 0x18], 0xe8
mov dword [ebp - 0x17], eax
lea eax, [ebp - 4]
push eax
push 0x40
push 5
push 0x65ea86
mov dword [ebp - 4], 0
call esi
test eax, eax
je 0x100a1fc8
mov eax, dword [ebp - 0x18]
mov ecx, 0x65ea86
mov dword [ecx], eax
mov al, byte [ebp - 0x14]
mov byte [ecx + 4], al
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 4]
mov dword [ebp - 0x10], 0
push 5
push ecx
call esi
test eax, eax
jne 0x100a1fca
call edi
lea eax, [ebx - 0x911a58]
mov byte [ebp - 0x18], 0xe8
mov dword [ebp - 0x17], eax
lea eax, [ebp - 4]
push eax
push 0x40
push 5
push 0x911a53
mov dword [ebp - 4], 0
call esi
test eax, eax
je 0x100a2018
mov eax, dword [ebp - 0x18]
mov ecx, 0x911a53
mov dword [ecx], eax
mov al, byte [ebp - 0x14]
mov byte [ecx + 4], al
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 4]
mov dword [ebp - 0x10], 0
push 5
push ecx
call esi
test eax, eax
jne 0x100a201a
call edi
lea eax, [ebx - 0x911a72]
mov byte [ebp - 0x18], 0xe8
mov dword [ebp - 0x17], eax
lea eax, [ebp - 4]
push eax
push 0x40
push 5
push 0x911a6d
mov dword [ebp - 4], 0
call esi
test eax, eax
je 0x100a2068
mov eax, dword [ebp - 0x18]
mov ecx, 0x911a6d
mov dword [ecx], eax
mov al, byte [ebp - 0x14]
mov byte [ecx + 4], al
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 4]
mov dword [ebp - 0x10], 0
push 5
push ecx
call esi
test eax, eax
jne 0x100a206a
call edi
lea eax, [ebx - 0x911a8c]
mov byte [ebp - 0x18], 0xe8
mov dword [ebp - 0x17], eax
lea eax, [ebp - 4]
push eax
push 0x40
push 5
push 0x911a87
mov dword [ebp - 4], 0
call esi
test eax, eax
je 0x100a20b8
mov eax, dword [ebp - 0x18]
mov ecx, 0x911a87
mov dword [ecx], eax
mov al, byte [ebp - 0x14]
mov byte [ecx + 4], al
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 4]
mov dword [ebp - 0x10], 0
push 5
push ecx
call esi
test eax, eax
jne 0x100a20ba
call edi
lea eax, [ebx - 0x911aa6]
mov byte [ebp - 0x18], 0xe8
mov dword [ebp - 0x17], eax
lea eax, [ebp - 4]
push eax
push 0x40
push 5
push 0x911aa1
mov dword [ebp - 4], 0
call esi
test eax, eax
je 0x100a2108
mov eax, dword [ebp - 0x18]
mov ecx, 0x911aa1
mov dword [ecx], eax
mov al, byte [ebp - 0x14]
mov byte [ecx + 4], al
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 4]
mov dword [ebp - 0x10], 0
push 5
push ecx
call esi
test eax, eax
jne 0x100a210a
call edi
lea eax, [ebp - 4]
mov byte [ebp - 0x18], 0xe8
push eax
push 0x40
push 5
sub ebx, 0x911ac0
mov dword [ebp - 4], 0
push 0x911abb
mov dword [ebp - 0x17], ebx
call esi
test eax, eax
je 0x100a2158
mov eax, dword [ebp - 0x18]
mov ecx, 0x911abb
mov dword [ecx], eax
mov al, byte [ebp - 0x14]
mov byte [ecx + 4], al
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 4]
mov dword [ebp - 0x10], 0
push 5
push ecx
call esi
test eax, eax
jne 0x100a215a
call edi
push 0x100a1650
push 0x58101a
push 0xff
call fcn.100cf0b0
push 0x100a1650
push 0x58105b
push 0xff
call fcn.100cf0b0
push 0x100a1650
push 0x58109c
push 0xff
call fcn.100cf0b0
push 0x100a1650
push 0x5810dd
push 0xff
call fcn.100cf0b0
push 0x100a1650
push 0x58111e
push 0xff
call fcn.100cf0b0
push 0x100a1650
push 0x58115f
push 0xff
call fcn.100cf0b0
add esp, 0x48
push 0x100a1650
push 0x5811a0
push 0xff
call fcn.100cf0b0
push 0x100a1650
push 0x5811e1
push 0xff
call fcn.100cf0b0
push 0x100a1650
push 0x581222
push 0xff
call fcn.100cf0b0
push 0x100a1650
push 0x581263
push 0xff
call fcn.100cf0b0
push 0x100a1650
push 0x5812a8
push 0xff
call fcn.100cf0b0
push 0x100a1650
push 0x5812ed
push 0xff
call fcn.100cf0b0
add esp, 0x48
push 0x100a1650
push 0x58132e
push 0xff
call fcn.100cf0b0
push 0x100a1650
push 0x58136f
push 0xff
call fcn.100cf0b0
push 0x100a1650
push 0x5813b4
push 0xff
call fcn.100cf0b0
push 0x100a1650
push 0x5813f9
push 0xff
call fcn.100cf0b0
push 0x100a1650
push 0x586859
push 0xff
call fcn.100cf0b0
add esp, 0x3c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret