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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
push edi
push 0x10009410
push 0x789084
mov bl, 0xe9
call fcn.10098b80
push 0x10009380
push 0x7890c6
call fcn.10098b80
push 0x10008ff0
push 0x78b0cf
mov bl, 0xe8
call fcn.10098b80
push 0x10009450
push 0x78770e
mov bl, 0xe9
call fcn.10098b80
push 0x10008d30
push 0x78b09a
mov bl, 0xe8
call fcn.10098b80
fld dword [0x100b70f8]
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
fst dword [0x10123db8]
add esp, 0x28
fstp dword [0x10123dbc]
fld dword [0x100b6fd0]
lea eax, [ebp - 4]
push eax
fst dword [0x10123dc0]
push 0x40
fstp dword [0x10123dc4]
fld dword [0x100b735c]
xor ebx, ebx
push 4
fst dword [0x10123dc8]
push 0x85a426
fstp dword [0x10123dcc]
mov dword [0x10123dd0], ebx
mov word [0x10123dd4], bx
mov dword [0x10123db4], 0xc942
mov byte [0x10123dd6], bl
mov edi, 0x172
mov dword [ebp - 4], ebx
call esi
test eax, eax
jne 0x1000957f
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
jmp 0x100095a6
mov ecx, 0x85a426
mov dword [ecx], edi
mov eax, dword [ebp - 4]
lea edx, [ebp - 8]
push edx
push eax
push 4
push ecx
mov dword [ebp - 8], ebx
call esi
test eax, eax
jne 0x100095a0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [ebp - 4]
push ecx
push 0x40
push 1
push 0x85a42b
mov dword [ebp - 4], ebx
call esi
test eax, eax
je 0x100095d9
mov edx, 0x85a42b
mov al, 0xf
mov byte [edx], al
mov ecx, dword [ebp - 4]
lea eax, [ebp - 8]
push eax
push ecx
push 1
push edx
mov dword [ebp - 8], ebx
call esi
test eax, eax
jne 0x100095db
call edi
lea edx, [ebp - 4]
push edx
push 0x40
push 1
push 0x785965
mov dword [ebp - 4], ebx
call esi
test eax, eax
je 0x1000960e
mov ecx, 0x785965
mov al, 0x34
mov byte [ecx], al
mov eax, dword [ebp - 4]
lea edx, [ebp - 8]
push edx
push eax
push 1
push ecx
mov dword [ebp - 8], ebx
call esi
test eax, eax
jne 0x10009610
call edi
push 0x10008750
push 0x785b32
mov bl, 0xe8
call fcn.10098b80
push 0x10008760
push 0x787620
call fcn.10098b80
push 0x10008820
push 0x7877fe
call fcn.10098b80
push 0x10008960
push 0x787847
call fcn.10098b80
push 0x10008a00
push 0x787893
call fcn.10098b80
push 0x10008aa0
push 0x7878de
call fcn.10098b80
push 0x10008b60
push 0x787931
call fcn.10098b80
add esp, 0x38
lea ecx, [ebp - 4]
push ecx
push 0x40
push 1
xor edi, edi
push 0x78649e
mov bl, 0x10
mov dword [ebp - 4], edi
call esi
test eax, eax
je 0x100096b3
mov edx, 0x78649e
mov byte [edx], bl
mov ecx, dword [ebp - 4]
lea eax, [ebp - 8]
push eax
push ecx
push 1
push edx
mov dword [ebp - 8], edi
call esi
test eax, eax
jne 0x100096b9
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea eax, [ebp - 4]
push eax
push 0x40
mov edx, 0x10008be0
push 5
sub edx, 0x785c55
push 0x785c50
mov byte [ebp - 0x10], 0xe9
mov dword [ebp - 0xf], edx
mov dword [ebp - 4], edi
call esi
test eax, eax
je 0x10009709
mov ecx, dword [ebp - 0x10]
mov dl, byte [ebp - 0xc]
mov eax, 0x785c50
mov dword [eax], ecx
mov byte [eax + 4], dl
mov ecx, dword [ebp - 4]
lea eax, [ebp - 8]
push eax
push ecx
push 5
push 0x785c50
mov dword [ebp - 8], edi
call esi
test eax, eax
jne 0x1000970f
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea edx, [ebp - 4]
push edx
push 0x40
push 5
push 0x787630
call esi
mov eax, 0x90909090
mov ecx, 0x787630
mov dword [ecx], eax
mov byte [ecx + 4], al
mov ecx, dword [ebp - 4]
lea eax, [ebp - 4]
push eax
push ecx
push 5
push 0x787630
call esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret