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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
movaps xmm0, xmmword [0x1013d6d0]
lea eax, [ebp - 4]
movaps xmmword [0x10192d10], xmm0
movaps xmm0, xmmword [0x1013d7d0]
push ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
movaps xmmword [0x10192d50], xmm0
movaps xmm0, xmmword [0x1013d7d0]
push edi
movaps xmmword [0x10192d90], xmm0
movaps xmm0, xmmword [0x1013d7d0]
push eax
movaps xmmword [0x10192dd0], xmm0
movaps xmm0, xmmword [0x1013d7d0]
push 0x40
movaps xmmword [0x10192e10], xmm0
movaps xmm0, xmmword [0x1013d7d0]
push 4
push 0x4d7530
mov dword [0x10192d28], 0
mov word [0x10192d2c], 0
mov dword [0x10192d0c], 0xc942
mov dword [0x10192d20], 0x43980000
mov dword [0x10192d24], 0x43a40000
mov byte [0x10192d2e], 0
mov dword [0x10192d68], 0
mov word [0x10192d6c], 0
mov dword [0x10192d4c], 0xc93f
mov dword [0x10192d60], 0x43150000
mov dword [0x10192d64], 0x42080000
mov byte [0x10192d6e], 0
mov dword [0x10192da8], 0
mov word [0x10192dac], 0
mov dword [0x10192d8c], 0xc93f
mov dword [0x10192da0], 0x43150000
mov dword [0x10192da4], 0x42080000
mov byte [0x10192dae], 0
mov dword [0x10192de8], 0
mov word [0x10192dec], 0
mov dword [0x10192dcc], 0xc93f
mov dword [0x10192de0], 0x43150000
mov dword [0x10192de4], 0x42080000
mov byte [0x10192dee], 0
mov dword [0x10192e28], 0
mov word [0x10192e2c], 0
mov dword [0x10192e0c], 0xc93f
mov dword [0x10192e20], 0x43150000
mov dword [0x10192e24], 0x42080000
mov byte [0x10192e2e], 0
mov dword [0x10192e68], 0
mov word [0x10192e6c], 0
mov dword [0x10192e4c], 0xc93f
movaps xmmword [0x10192e50], xmm0
mov dword [0x10192e60], 0x43150000
mov dword [0x10192e64], 0x42080000
mov byte [0x10192e6e], 0
mov dword [ebp - 4], 0
call esi
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x10040e89
mov eax, 0x4d7530
mov dword [eax], 0xc942
lea eax, [ebp - 8]
push eax
push dword [ebp - 4]
mov dword [ebp - 8], 0
push 4
push 0x4d7530
call esi
test eax, eax
jne 0x10040e8b
call edi
lea eax, [ebp - 4]
mov dword [ebp - 4], 0
push eax
push 0x40
push 4
push 0x4d7564
call esi
test eax, eax
je 0x10040ecb
mov eax, 0x4d7564
mov dword [eax], 0xc942
lea eax, [ebp - 8]
push eax
push dword [ebp - 4]
mov dword [ebp - 8], 0
push 4
push 0x4d7564
call esi
test eax, eax
jne 0x10040ecd
call edi
push 0x10040ff0
push 0x4d6c3e
push 0xe8
call fcn.100cf0b0
movsd xmm0, qword [0x1013c560]
lea eax, [ebp - 4]
add esp, 0xc
movsd qword [ebp - 0x10], xmm0
mov dword [ebp - 4], 0
push eax
push 0x40
push 8
push 0xd25508
call esi
test eax, eax
je 0x10040f32
mov eax, dword [ebp - 0x10]
mov ecx, 0xd25508
mov dword [ecx], eax
mov eax, dword [ebp - 0xc]
mov dword [ecx + 4], eax
lea eax, [ebp - 8]
push eax
push dword [ebp - 4]
mov dword [ebp - 8], 0
push 8
push ecx
call esi
test eax, eax
jne 0x10040f34
call edi
lea eax, [ebp - 4]
mov dword [ebp - 4], 0
push eax
push 0x40
push 4
push 0x4d6c73
call esi
test eax, eax
je 0x10040f74
mov eax, 0x4d6c73
mov dword [eax], 0
lea eax, [ebp - 8]
push eax
push dword [ebp - 4]
mov dword [ebp - 8], 0
push 4
push 0x4d6c73
call esi
test eax, eax
jne 0x10040f76
call edi
lea eax, [ebp - 4]
mov dword [ebp - 4], 0
push eax
push 0x40
push 1
push 0x402106
xor bl, bl
call esi
test eax, eax
je 0x10040fb4
mov eax, 0x402106
mov byte [eax], bl
lea eax, [ebp - 8]
push eax
push dword [ebp - 4]
mov dword [ebp - 8], 0
push 1
push 0x402106
call esi
test eax, eax
jne 0x10040fb6
call edi
lea eax, [ebp - 4]
push eax
push 0x40
push 4
push 0x56faed
call esi
lea eax, [ebp - 4]
mov dword [0x56faed], 0xaf
push eax
push dword [ebp - 4]
push 4
push 0x56faed
call esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret