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

Disassembly:
mov eax, dword [0x10220a10]
sub esp, 0x10
push ebx
mov ebx, dword [0x102208dc]
push ebp
mov ebp, dword [eax]
push esi
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
push edi
mov edi, dword [ebx]
lea ecx, [esp + 0x10]
push ecx
push 4
push 4
push ebx
sub edi, 0x14
sub ebp, 2
call esi
test eax, eax
je 0x10013e52
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x18]
mov edx, ebx
push eax
mov dword [edx], edi
push ecx
jmp 0x10013e70
lea edx, [esp + 0x10]
push edx
push 0x40
push 4
push ebx
call esi
test eax, eax
je 0x10013e75
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x18]
mov eax, ebx
push ecx
mov dword [eax], edi
push edx
push 4
push ebx
call esi
mov edi, dword [0x10220a10]
lea eax, [esp + 0x14]
push eax
push 4
push 4
push edi
mov ebx, edi
call esi
test eax, eax
jne 0x10013e9d
lea eax, [esp + 0x14]
push eax
push 0x40
push 4
push edi
call esi
test eax, eax
je 0x10013eae
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x18]
push ecx
push edx
push 4
push edi
mov dword [ebx], ebp
call esi
cmp byte [0x101265cf], 0
fld dword [0x10220490]
fld dword [0x10220494]
fld dword [0x10220498]
je 0x10013f86
fld st(2)
fld qword [0x1010d060]
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x10013f09
fstp st(0)
fstp st(1)
fstp st(0)
fadd qword [0x1010d058]
fstp dword [0x10220490]
fld dword [0x10220490]
fld dword [0x10220494]
fld dword [0x10220498]
jmp 0x10013fd4
fld st(3)
fucomp st(1)
fnstsw ax
test ah, 0x44
jp 0x100140a2
fld st(2)
fucomp st(1)
fnstsw ax
test ah, 0x44
jnp 0x10013f44
fstp st(0)
fstp st(0)
fadd qword [0x1010d058]
fstp dword [0x10220494]
fld dword [0x10220494]
fld dword [0x10220498]
jmp 0x10013fd4
fld st(2)
fucomp st(1)
fnstsw ax
test ah, 0x44
jp 0x100140a2
fld st(1)
fucomp st(1)
fnstsw ax
test ah, 0x44
jnp 0x10013f74
fstp st(0)
fadd qword [0x1010d058]
fstp dword [0x10220498]
fld dword [0x10220498]
jmp 0x10013fd4
fld st(1)
fucompp
fnstsw ax
test ah, 0x44
jp 0x10013fd4
mov byte [0x101265cf], 0
fldz
fld st(0)
fucomp st(4)
fnstsw ax
test ah, 0x44
jnp 0x10013fad
fstp st(0)
fxch st(2)
fsub qword [0x1010d058]
fstp dword [0x10220490]
fld dword [0x10220490]
fxch st(2)
jmp 0x10013fd4
fld st(0)
fucomp st(3)
fnstsw ax
test ah, 0x44
jnp 0x10014076
fstp st(0)
fxch st(1)
fsub qword [0x1010d058]
fstp dword [0x10220494]
fld dword [0x10220494]
fxch st(1)
fnstcw word [esp + 0x10]
movzx eax, word [esp + 0x10]
or eax, 0xc00
fxch st(1)
mov dword [esp + 0x1c], eax
fldcw word [esp + 0x1c]
fistp dword [esp + 0x1c]
mov al, byte [esp + 0x1c]
movzx ecx, al
shl ecx, 8
fldcw word [esp + 0x10]
fnstcw word [esp + 0x10]
movzx eax, word [esp + 0x10]
or eax, 0xc00
mov dword [esp + 0x1c], eax
fldcw word [esp + 0x1c]
fistp dword [esp + 0x1c]
movzx edx, byte [esp + 0x1c]
movzx eax, dl
fldcw word [esp + 0x10]
or ecx, eax
shl ecx, 8
fnstcw word [esp + 0x10]
movzx eax, word [esp + 0x10]
or eax, 0xc00
mov dword [esp + 0x1c], eax
fldcw word [esp + 0x1c]
fistp dword [esp + 0x1c]
movzx edx, byte [esp + 0x1c]
movzx eax, dl
fldcw word [esp + 0x10]
or ecx, eax
sub ecx, 0x1000000
push ecx
call dword [0x1018271c]
mov edi, dword [esp + 0x24]
mov ecx, 0x19
mov esi, str._SIZE_16_BOLD_1_OUT_1_XNova_Server
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
fucomp st(1)
fnstsw ax
test ah, 0x44
jnp 0x10014096
fsub qword [0x1010d058]
fstp dword [0x10220498]
fld dword [0x10220498]
jmp 0x10013fd4
mov byte [0x101265cf], 1
jmp 0x10013fd4
fstp st(0)
jmp 0x10013fd4