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

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov eax, dword [0x1005d040]
xor eax, ebp
mov dword [ebp - 4], eax
cmp byte [0x1005eb42], 0
lea eax, [ebp - 8]
push esi
mov esi, dword [0x1005eafc]
push edi
mov edi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
push eax
push 0x40
push 1
push esi
je 0x10038977
call edi
mov byte [esi], 0xeb
jmp 0x1003897c
call edi
mov byte [esi], 0x7a
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 1
push esi
call edi
cmp byte [0x1005eb5e], 0
lea eax, [ebp - 8]
mov esi, dword [0x1005ead8]
push eax
push 0x40
push 1
push esi
je 0x10038a2e
call edi
lea eax, [ebp - 8]
mov byte [esi], 0xeb
push eax
push dword [ebp - 8]
push 1
push esi
call edi
mov esi, dword [0x1005ead4]
lea eax, [ebp - 8]
push eax
push 0x40
push 1
push esi
call edi
lea eax, [ebp - 8]
mov byte [esi], 0xeb
push eax
push dword [ebp - 8]
push 1
push esi
call edi
mov esi, dword [0x1005eac4]
lea eax, [ebp - 8]
push eax
push 0x40
push 1
push esi
call edi
lea eax, [ebp - 8]
mov byte [esi], 0xeb
push eax
push dword [ebp - 8]
push 1
push esi
call edi
mov esi, dword [0x1005eac0]
lea eax, [ebp - 8]
push eax
push 0x40
push 1
push esi
call edi
lea eax, [ebp - 8]
mov byte [esi], 0xeb
push eax
push dword [ebp - 8]
push 1
push esi
call edi
mov esi, dword [0x1005eacc]
lea eax, [ebp - 8]
push eax
push 0x40
push 1
push esi
call edi
mov byte [esi], 0xeb
jmp 0x10038ab3
call edi
lea eax, [ebp - 8]
mov byte [esi], 0x74
push eax
push dword [ebp - 8]
push 1
push esi
call edi
mov esi, dword [0x1005ead4]
lea eax, [ebp - 8]
push eax
push 0x40
push 1
push esi
call edi
lea eax, [ebp - 8]
mov byte [esi], 0x74
push eax
push dword [ebp - 8]
push 1
push esi
call edi
mov esi, dword [0x1005eac4]
lea eax, [ebp - 8]
push eax
push 0x40
push 1
push esi
call edi
lea eax, [ebp - 8]
mov byte [esi], 0x74
push eax
push dword [ebp - 8]
push 1
push esi
call edi
mov esi, dword [0x1005eac0]
lea eax, [ebp - 8]
push eax
push 0x40
push 1
push esi
call edi
lea eax, [ebp - 8]
mov byte [esi], 0x74
push eax
push dword [ebp - 8]
push 1
push esi
call edi
mov esi, dword [0x1005eacc]
lea eax, [ebp - 8]
push eax
push 0x40
push 1
push esi
call edi
mov byte [esi], 0x74
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 1
push esi
call edi
cmp byte [0x1005eb7c], 0
lea eax, [ebp - 8]
mov esi, dword [0x1005eae4]
push eax
push 0x40
push 1
push esi
je 0x10038ade
call edi
mov byte [esi], 0xeb
jmp 0x10038ae3
call edi
mov byte [esi], 0x74
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 1
push esi
call edi
cmp byte [0x1005eb5f], 0
lea eax, [ebp - 8]
mov esi, dword [0x1005eaec]
push eax
push 0x40
push 4
push esi
je 0x10038b11
call edi
mov dword [esi], 0x43960000
jmp 0x10038b19
call edi
mov dword [esi], 0x42a00000
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 4
push esi
call edi
cmp byte [0x1005eb5c], 0
lea eax, [ebp - 8]
mov esi, dword [0x1005eaf4]
push eax
push 0x40
push 4
push esi
je 0x10038b47
call edi
mov dword [esi], 0x49742400
jmp 0x10038b4f
call edi
mov dword [esi], 0x442f0000
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 4
push esi
call edi
cmp byte [0x1005eb41], 0
lea eax, [ebp - 8]
mov esi, dword [0x1005ead0]
push eax
push 0x40
push 1
push esi
je 0x10038b7a
call edi
mov byte [esi], 0
jmp 0x10038b7f
call edi
mov byte [esi], 2
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 1
push esi
call edi
cmp byte [0x1005eadc], 0
lea eax, [ebp - 8]
mov esi, dword [0x1005eb04]
push eax
push 0x40
push 4
push esi
je 0x10038bad
call edi
mov dword [esi], 0
jmp 0x10038bb5
call edi
mov dword [esi], 0x41200000
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 4
push esi
call edi
cmp byte [0x1005eb5d], 0
lea eax, [ebp - 8]
mov esi, dword [0x1005eb08]
push eax
push 0x40
push 6
push esi
je 0x10038be9
call edi
mov dword [esi], 0x90909090
mov word [esi + 4], 0x9090
jmp 0x10038bf7
call edi
mov dword [esi], 0x1bc9ed9
mov word [esi + 4], 0
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 6
push esi
call edi
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.10049dfd
mov esp, ebp
pop ebp
ret