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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push esi
push edi
push 0x100a84c0
push 0x55a35f
push 0xe8
call fcn.100d5c50
push 0x100a7e40
push 0x61fe3f
push 0xff
call fcn.100d5c50
push 0x100a7eb0
push 0x61b410
push 0xff
call fcn.100d5c50
push 0x100a7eb0
push 0x61feea
push 0xff
call fcn.100d5c50
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [ebp - 4]
add esp, 0x30
mov dword [ebp - 4], 0
push eax
push 0x40
push 1
push 0x559b85
call esi
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x100a8a53
lea eax, [ebp - 8]
mov byte [0x559b85], 0xff
push eax
push dword [ebp - 4]
mov dword [ebp - 8], 0
push 1
push 0x559b85
call esi
test eax, eax
jne 0x100a8a55
call edi
lea eax, [ebp - 4]
mov dword [ebp - 4], 0
push eax
push 0x40
push 1
push 0x559b86
call esi
test eax, eax
je 0x100a8a91
lea eax, [ebp - 8]
mov byte [0x559b86], 0xff
push eax
push dword [ebp - 4]
mov dword [ebp - 8], 0
push 1
push 0x559b86
call esi
test eax, eax
jne 0x100a8a93
call edi
push ebx
push 0x100a8460
push 0x55e4c5
push 0xe9
call fcn.100d5c50
mov ebx, 0x100a7f20
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 0x100a8afe
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 0x100a8b00
call edi
mov eax, 0x100a7f20
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 0x100a8b55
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 0x100a8b57
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 0x100a8ba2
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 0x100a8ba4
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 0x100a8bf2
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 0x100a8bf4
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 0x100a8c42
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 0x100a8c44
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 0x100a8c92
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 0x100a8c94
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 0x100a8ce2
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 0x100a8ce4
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 0x100a8d32
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 0x100a8d34
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 0x100a8d82
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 0x100a8d84
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 0x100a8dd2
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 0x100a8dd4
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 0x100a8e22
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 0x100a8e24
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 0x100a8e72
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 0x100a8e74
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 0x100a8ec2
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 0x100a8ec4
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
pop ebx
test eax, eax
je 0x100a8f13
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 0x100a8f15
call edi
push 0x100a8410
push 0x58101a
push 0xff
call fcn.100d5c50
push 0x100a8410
push 0x58105b
push 0xff
call fcn.100d5c50
push 0x100a8410
push 0x58109c
push 0xff
call fcn.100d5c50
push 0x100a8410
push 0x5810dd
push 0xff
call fcn.100d5c50
push 0x100a8410
push 0x58111e
push 0xff
call fcn.100d5c50
push 0x100a8410
push 0x58115f
push 0xff
call fcn.100d5c50
add esp, 0x48
push 0x100a8410
push 0x5811a0
push 0xff
call fcn.100d5c50
push 0x100a8410
push 0x5811e1
push 0xff
call fcn.100d5c50
push 0x100a8410
push 0x581222
push 0xff
call fcn.100d5c50
push 0x100a8410
push 0x581263
push 0xff
call fcn.100d5c50
push 0x100a8410
push 0x5812a8
push 0xff
call fcn.100d5c50
push 0x100a8410
push 0x5812ed
push 0xff
call fcn.100d5c50
add esp, 0x48
push 0x100a8410
push 0x58132e
push 0xff
call fcn.100d5c50
push 0x100a8410
push 0x58136f
push 0xff
call fcn.100d5c50
push 0x100a8410
push 0x5813b4
push 0xff
call fcn.100d5c50
push 0x100a8410
push 0x5813f9
push 0xff
call fcn.100d5c50
push 0x100a8410
push 0x586859
push 0xff
call fcn.100d5c50
add esp, 0x3c
pop edi
pop esi
mov esp, ebp
pop ebp
ret