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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
fld dword [0x100b7f44]
push ebx
fstp dword [0x101257b8]
xor ebx, ebx
fld dword [0x100b7578]
push esi
fst dword [0x101257bc]
mov eax, 0xc93f
fld dword [0x100b7f40]
push edi
fstp dword [0x101257c0]
mov edi, 0xc942
fld dword [0x100b7f3c]
mov dword [0x101257d0], ebx
fstp dword [0x101257c4]
mov word [0x101257d4], bx
fld dword [0x100b7f38]
mov dword [0x101257b4], edi
fstp dword [0x101257c8]
mov byte [0x101257d6], bl
fld dword [0x100b7f34]
mov dword [0x10125810], ebx
fstp dword [0x101257cc]
mov word [0x10125814], bx
mov dword [0x101257f4], eax
fst dword [0x101257f8]
mov byte [0x10125816], bl
fld dword [0x100b7348]
mov dword [0x10125850], ebx
fst dword [0x101257fc]
mov word [0x10125854], bx
fld dword [0x100b6fd0]
mov dword [0x10125834], eax
fst dword [0x10125800]
mov byte [0x10125856], bl
fst dword [0x10125804]
mov dword [0x10125890], ebx
fld dword [0x100b7570]
mov word [0x10125894], bx
fst dword [0x10125808]
mov dword [0x10125874], eax
fld dword [0x100b7988]
mov byte [0x10125896], bl
fst dword [0x1012580c]
mov dword [0x101258d0], ebx
fxch st(4)
mov word [0x101258d4], bx
fst dword [0x10125838]
mov dword [0x101258b4], eax
fxch st(3)
mov byte [0x101258d6], bl
fst dword [0x1012583c]
fxch st(2)
fst dword [0x10125840]
fst dword [0x10125844]
fxch st(1)
fst dword [0x10125848]
fxch st(4)
fst dword [0x1012584c]
fxch st(3)
fst dword [0x10125878]
fxch st(2)
fst dword [0x1012587c]
fxch st(1)
fst dword [0x10125880]
fst dword [0x10125884]
fxch st(4)
fst dword [0x10125888]
fxch st(3)
fst dword [0x1012588c]
fxch st(2)
fst dword [0x101258b8]
fxch st(1)
fst dword [0x101258bc]
fxch st(4)
fst dword [0x101258c0]
fst dword [0x101258c4]
fxch st(3)
fst dword [0x101258c8]
fxch st(2)
fst dword [0x101258cc]
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
fxch st(1)
fstp dword [0x101258f8]
mov dword [0x101258f4], eax
fxch st(3)
lea eax, [ebp - 4]
fstp dword [0x101258fc]
push eax
fxch st(1)
push 0x40
fst dword [0x10125900]
push 4
fstp dword [0x10125904]
push 0x4d7530
mov dword [0x10125910], ebx
fstp dword [0x10125908]
mov word [0x10125914], bx
mov byte [0x10125916], bl
fstp dword [0x1012590c]
mov dword [ebp - 4], ebx
call esi
test eax, eax
je 0x10023225
mov ecx, 0x4d7530
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 0x1002322b
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [ebp - 4]
push ecx
push 0x40
push 4
push 0x4d7564
mov dword [ebp - 4], ebx
call esi
test eax, eax
je 0x1002325c
mov edx, 0x4d7564
mov dword [edx], edi
mov ecx, dword [ebp - 4]
lea eax, [ebp - 8]
push eax
push ecx
push 4
push edx
mov dword [ebp - 8], ebx
call esi
test eax, eax
jne 0x10023262
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x10023330
push 0x4d6c3e
mov bl, 0xe8
call fcn.10098b80
fld1
add esp, 8
fstp qword [ebp - 0x10]
lea edx, [ebp - 4]
push edx
push 0x40
push 8
xor ebx, ebx
push 0xd25508
mov dword [ebp - 4], ebx
call esi
test eax, eax
je 0x100232b1
fld qword [ebp - 0x10]
mov eax, 0xd25508
fstp qword [eax]
mov edx, dword [ebp - 4]
lea ecx, [ebp - 8]
push ecx
push edx
push 8
push eax
mov dword [ebp - 8], ebx
call esi
test eax, eax
jne 0x100232b7
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea eax, [ebp - 4]
push eax
push 0x40
push 4
push 0x4d6c73
mov dword [ebp - 4], ebx
call esi
test eax, eax
je 0x100232e8
mov ecx, 0x4d6c73
mov dword [ecx], ebx
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 0x100232ee
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [ebp - 4]
push ecx
push 0x40
push 1
push 0x402106
mov dword [ebp - 4], ebx
call esi
test eax, eax
je 0x1002331f
mov edx, 0x402106
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], ebx
call esi
test eax, eax
jne 0x10023325
call dword [sym.imp.KERNEL32.dll_GetLastError]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret