Function at 0x100a3990
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 0x100a34b0
push 0x55a35f
push 0xe8
call fcn.100cf940
push 0x100a2e70
push 0x61fe3f
push 0xff
call fcn.100cf940
push 0x100a2ec0
push 0x61b410
push 0xff
call fcn.100cf940
push 0x100a2ec0
push 0x61feea
push 0xff
call fcn.100cf940
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 0x100a3a33
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 0x100a3a35
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 0x100a3a71
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 0x100a3a73
call edi
push ebx
push 0x100a3450
push 0x55e4c5
push 0xe9
call fcn.100cf940
mov ebx, 0x100a2f10
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 0x100a3ade
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 0x100a3ae0
call edi
mov eax, 0x100a2f10
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 0x100a3b35
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 0x100a3b37
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 0x100a3b82
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 0x100a3b84
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 0x100a3bd2
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 0x100a3bd4
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 0x100a3c22
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 0x100a3c24
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 0x100a3c72
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 0x100a3c74
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 0x100a3cc2
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 0x100a3cc4
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 0x100a3d12
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 0x100a3d14
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 0x100a3d62
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 0x100a3d64
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 0x100a3db2
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 0x100a3db4
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 0x100a3e02
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 0x100a3e04
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 0x100a3e52
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 0x100a3e54
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 0x100a3ea2
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 0x100a3ea4
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 0x100a3ef3
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 0x100a3ef5
call edi
push 0x100a3400
push 0x58101a
push 0xff
call fcn.100cf940
push 0x100a3400
push 0x58105b
push 0xff
call fcn.100cf940
push 0x100a3400
push 0x58109c
push 0xff
call fcn.100cf940
push 0x100a3400
push 0x5810dd
push 0xff
call fcn.100cf940
push 0x100a3400
push 0x58111e
push 0xff
call fcn.100cf940
push 0x100a3400
push 0x58115f
push 0xff
call fcn.100cf940
add esp, 0x48
push 0x100a3400
push 0x5811a0
push 0xff
call fcn.100cf940
push 0x100a3400
push 0x5811e1
push 0xff
call fcn.100cf940
push 0x100a3400
push 0x581222
push 0xff
call fcn.100cf940
push 0x100a3400
push 0x581263
push 0xff
call fcn.100cf940
push 0x100a3400
push 0x5812a8
push 0xff
call fcn.100cf940
push 0x100a3400
push 0x5812ed
push 0xff
call fcn.100cf940
add esp, 0x48
push 0x100a3400
push 0x58132e
push 0xff
call fcn.100cf940
push 0x100a3400
push 0x58136f
push 0xff
call fcn.100cf940
push 0x100a3400
push 0x5813b4
push 0xff
call fcn.100cf940
push 0x100a3400
push 0x5813f9
push 0xff
call fcn.100cf940
push 0x100a3400
push 0x586859
push 0xff
call fcn.100cf940
add esp, 0x3c
pop edi
pop esi
mov esp, ebp
pop ebp
ret