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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov eax, dword [0x1013e00c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [ebp - 8]
push edi
push eax
push 0x40
push 5
push 0x5b993a
call esi
mov eax, 0x5b993a
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 5
push 0x5b993a
call esi
push 0x1003ced0
push 0x5edda9
push 0xe8
call fcn.100c88d0
push 0x1003de00
push 0x4d7eb1
push 0xe8
call fcn.100c88d0
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
add esp, 0x18
cmp dword [0x101eb0d8], 4
jne 0x1003e6c7
mov ebx, dword [0x101eb0dc]
lea eax, [ebp - 8]
push eax
push 0x40
push 4
push 0x4d75f0
dec ebx
mov dword [ebp - 8], 0
call esi
test eax, eax
je 0x1003e618
mov eax, 0x4d75f0
mov dword [eax], ebx
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 8]
mov dword [ebp - 0xc], 0
push 4
push 0x4d75f0
call esi
test eax, eax
jne 0x1003e61a
call edi
push 0x1003cba0
push 0x4d76fb
push 0xe8
call fcn.100c88d0
push 0x1003cba0
push 0x4d79c3
push 0xe8
call fcn.100c88d0
add esp, 0x18
mov dword [ebp - 8], 0
lea eax, [ebp - 8]
push eax
push 0x40
push 4
push 0x4d7a0e
call esi
test eax, eax
je 0x1003e685
mov eax, 0x4d7a0e
mov dword [eax], 0x1e0
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 8]
mov dword [ebp - 0xc], 0
push 4
push 0x4d7a0e
call esi
test eax, eax
jne 0x1003e687
call edi
lea eax, [ebp - 8]
mov dword [ebp - 8], 0
push eax
push 0x40
push 1
push 0x4d7a18
xor bl, bl
call esi
test eax, eax
je 0x1003e6c5
mov eax, 0x4d7a18
mov byte [eax], bl
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 8]
mov dword [ebp - 0xc], 0
push 1
push 0x4d7a18
call esi
test eax, eax
jne 0x1003e6c7
call edi
cmp dword [0x101eb0e0], 4
jne 0x1003e905
mov ebx, dword [0x101eb0e4]
lea eax, [ebp - 8]
push eax
push 0x40
push 4
push 0x4d6c2c
dec ebx
mov dword [ebp - 8], 0
call esi
test eax, eax
je 0x1003e717
mov eax, 0x4d6c2c
mov dword [eax], ebx
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 8]
mov dword [ebp - 0xc], 0
push 4
push 0x4d6c2c
call esi
test eax, eax
jne 0x1003e719
call edi
push 0x1003cba0
push 0x4d712a
push 0xe8
call fcn.100c88d0
push 0x1003dff0
push 0x57f020
push 0xe9
call fcn.100c88d0
push 0x1003e2c0
push 0x48e504
push 0xe8
call fcn.100c88d0
push 0x1003e2c0
push 0x503986
push 0xe8
call fcn.100c88d0
add esp, 0x30
mov dword [ebp - 8], 0
lea eax, [ebp - 8]
push eax
push 0x40
push 4
push 0x4d7179
call esi
test eax, eax
je 0x1003e7ac
mov eax, 0x4d7179
mov dword [eax], 0x1e0
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 8]
mov dword [ebp - 0xc], 0
push 4
push 0x4d7179
call esi
test eax, eax
jne 0x1003e7ae
call edi
lea eax, [ebp - 8]
mov dword [ebp - 8], 0
push eax
push 0x40
push 1
push 0x4d7183
xor bl, bl
call esi
test eax, eax
je 0x1003e7ec
mov eax, 0x4d7183
mov byte [eax], bl
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 8]
mov dword [ebp - 0xc], 0
push 1
push 0x4d7183
call esi
test eax, eax
jne 0x1003e7ee
call edi
push 0xe9
mov edx, 0x1003dd40
mov ecx, 0x4d87c8
call fcn.100c7ff0
push 0xe9
mov edx, 0x1003dd60
mov ecx, 0x4d87fc
call fcn.100c7ff0
push 0xe9
mov edx, 0x1003dd80
mov ecx, 0x5db52b
call fcn.100c7ff0
push 5
call fcn.100d7d9e
add esp, 0x10
mov dword [ebp - 8], 0
mov ebx, eax
lea eax, [ebp - 8]
push eax
push 0x40
push 5
mov dword [ebx], 0x90909090
push 0x63d1ce
mov byte [ebx + 4], 0x90
call esi
test eax, eax
je 0x1003e880
mov eax, dword [ebx]
mov ecx, 0x63d1ce
mov dword [ecx], eax
mov al, byte [ebx + 4]
mov byte [ecx + 4], al
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 8]
mov dword [ebp - 0xc], 0
push 5
push ecx
call esi
test eax, eax
jne 0x1003e882
call edi
push 0xe9
mov edx, 0x1003dda0
mov ecx, 0x63d1ce
call fcn.100c7ff0
push 5
call fcn.100d7d9e
add esp, 8
mov dword [ebp - 8], 0
mov ebx, eax
lea eax, [ebp - 8]
push eax
push 0x40
push 5
mov dword [ebx], 0x90909090
push 0x63d40f
mov byte [ebx + 4], 0x90
call esi
test eax, eax
je 0x1003e8ec
mov eax, dword [ebx]
mov ecx, 0x63d40f
mov dword [ecx], eax
mov al, byte [ebx + 4]
mov byte [ecx + 4], al
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 8]
mov dword [ebp - 0xc], 0
push 5
push ecx
call esi
test eax, eax
jne 0x1003e8ee
call edi
push 0xe9
mov edx, 0x1003ddd0
mov ecx, 0x63d40f
call fcn.100c7ff0
add esp, 4
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100d7712
mov esp, ebp
pop ebp
ret