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

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
cmp dword [0x1025e324], 3
push esi
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
jne 0x1003ef3b
lea eax, [ebp - 4]
mov dword [ebp - 4], 0
push eax
push 0x40
push 1
push 0x7d3c6c
call esi
test eax, eax
je 0x1003ef39
lea eax, [ebp - 8]
mov byte [0x7d3c6c], 0xff
push eax
push dword [ebp - 4]
mov dword [ebp - 8], 0
push 1
push 0x7d3c6c
call esi
test eax, eax
jne 0x1003ef3b
call edi
cmp dword [0x1025e248], 1
jne 0x1003f0b3
lea eax, [ebp - 4]
push eax
push 0x40
push 5
push 0x87500f
call esi
mov eax, 0x87500f
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 5
push 0x87500f
call esi
lea eax, [ebp - 4]
mov dword [ebp - 4], 0
push eax
push 0x40
push 1
push 0x8743ff
call esi
test eax, eax
je 0x1003efb2
lea eax, [ebp - 8]
mov byte [0x8743ff], 7
push eax
push dword [ebp - 4]
mov dword [ebp - 8], 0
push 1
push 0x8743ff
call esi
test eax, eax
jne 0x1003efb4
call edi
lea eax, [ebp - 4]
mov dword [ebp - 4], 0
push eax
push 0x40
push 1
push 0x874d5a
call esi
test eax, eax
je 0x1003eff0
lea eax, [ebp - 8]
mov byte [0x874d5a], 7
push eax
push dword [ebp - 4]
mov dword [ebp - 8], 0
push 1
push 0x874d5a
call esi
test eax, eax
jne 0x1003eff2
call edi
lea eax, [ebp - 4]
mov dword [ebp - 4], 0
push eax
push 0x40
push 1
push 0x877edf
call esi
test eax, eax
je 0x1003f02e
lea eax, [ebp - 8]
mov byte [0x877edf], 6
push eax
push dword [ebp - 4]
mov dword [ebp - 8], 0
push 1
push 0x877edf
call esi
test eax, eax
jne 0x1003f030
call edi
lea eax, [ebp - 4]
push eax
push 0x40
push 5
push 0x878b5f
call esi
mov eax, 0x878b5f
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 5
push 0x878b5f
call esi
push 0x7e4d16
push 0x7e4ca4
push 0xe9
call fcn.100d0420
add esp, 0xc
mov dword [ebp - 4], 0
lea eax, [ebp - 4]
push eax
push 0x40
push 1
push 0x7e4cba
call esi
test eax, eax
je 0x1003f0b1
lea eax, [ebp - 8]
mov byte [0x7e4cba], 0
push eax
push dword [ebp - 4]
mov dword [ebp - 8], 0
push 1
push 0x7e4cba
call esi
test eax, eax
jne 0x1003f0b3
call edi
cmp dword [0x1025e24c], 1
jne 0x1003f0f8
lea eax, [ebp - 4]
push eax
push 0x40
push 0x198
push 0x7a8330
call esi
push 0x198
push 0x90
push 0x7a8330
call fcn.101456e0
add esp, 0xc
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 0x198
push 0x7a8330
call esi
cmp dword [0x1025e250], 1
jne 0x1003f12f
lea eax, [ebp - 4]
push eax
push 0x40
push 5
push 0x57655b
call esi
mov eax, 0x57655b
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 5
push 0x57655b
call esi
cmp dword [0x1025e254], 1
jne 0x1003f223
push 0x832897
push 0x832862
push 0xe9
call fcn.100d0420
add esp, 0xc
lea eax, [ebp - 4]
push eax
push 0x40
push 0x25
push 0x7c5a68
call esi
mov eax, 0x7c5a68
mov dword [eax], 0x90909090
mov dword [eax + 4], 0x90909090
mov dword [eax + 8], 0x90909090
mov dword [eax + 0xc], 0x90909090
mov dword [eax + 0x10], 0x90909090
mov dword [eax + 0x14], 0x90909090
mov dword [eax + 0x18], 0x90909090
mov dword [eax + 0x1c], 0x90909090
mov dword [eax + 0x20], 0x90909090
mov byte [eax + 0x24], 0x90
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 0x25
push 0x7c5a68
call esi
lea eax, [ebp - 4]
push eax
push 0x40
push 0x159
push 0x7c4430
call esi
push 0x159
push 0x90
push 0x7c4430
call fcn.101456e0
add esp, 0xc
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 0x159
push 0x7c4430
call esi
lea eax, [ebp - 4]
push eax
push 0x40
push 5
push 0x7c5ad2
call esi
mov eax, 0x7c5ad2
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 5
push 0x7c5ad2
call esi
cmp dword [0x1025e258], 1
jne 0x1003f25f
lea eax, [ebp - 4]
push eax
push 0x40
push 0x30
push 0x62f876
call esi
push 0x30
push 0x90
push 0x62f876
call fcn.101456e0
add esp, 0xc
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 0x30
push 0x62f876
call esi
cmp dword [0x1025e25c], 1
jne 0x1003f28f
push ecx
mov edx, 5
mov ecx, 0xd46c8c
call fcn.100cfb70
push 0x1003f5d0
push 0x835234
push 0xe9
call fcn.100d0420
add esp, 0x10
cmp dword [0x1025e260], 1
jne 0x1003f2d7
push 0x836a23
push 0x8369fa
push 0xe9
call fcn.100d0420
push 0x7d36bf
push 0x7d36b8
push 0xe9
call fcn.100d0420
push 0x7d3fa3
push 0x7d3f9c
push 0xe9
call fcn.100d0420
add esp, 0x24
cmp dword [0x1025e264], 1
jne 0x1003f30b
push 0x856fd2
push 0x856faa
push 0xe9
call fcn.100d0420
push 0x7d3725
push 0x7d371e
push 0xe9
call fcn.100d0420
add esp, 0x18
cmp dword [0x1025e244], 1
jne 0x1003f359
push 0x1003f5a0
push 0x777008
push 0xe9
call fcn.100d0420
add esp, 0xc
lea eax, [ebp - 4]
push eax
push 0x40
push 5
push 0x776fe4
call esi
mov eax, 0x776fe4
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 5
push 0x776fe4
call esi
cmp dword [0x1025e224], 2
jne 0x1003f552
lea eax, [ebp - 4]
push eax
push 0x40
push 5
push 0x7d2c8a
call esi
mov eax, 0x7d2c8a
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 5
push 0x7d2c8a
call esi
lea eax, [ebp - 4]
push eax
push 0x40
push 5
push 0x7d2d18
call esi
mov eax, 0x7d2d18
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 5
push 0x7d2d18
call esi
lea eax, [ebp - 4]
push eax
push 0x40
push 5
push 0x7d2d6b
call esi
mov eax, 0x7d2d6b
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 5
push 0x7d2d6b
call esi
lea eax, [ebp - 4]
push eax
push 0x40
push 5
push 0x7d2dee
call esi
mov eax, 0x7d2dee
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 5
push 0x7d2dee
call esi
lea eax, [ebp - 4]
push eax
push 0x40
push 5
push 0x7d2e31
call esi
mov eax, 0x7d2e31
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 5
push 0x7d2e31
call esi
lea eax, [ebp - 4]
push eax
push 0x40
push 5
push 0x7d26ef
call esi
mov eax, 0x7d26ef
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 5
push 0x7d26ef
call esi
lea eax, [ebp - 4]
push eax
push 0x40
push 5
push 0x7d278e
call esi
mov eax, 0x7d278e
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 5
push 0x7d278e
call esi
lea eax, [ebp - 4]
push eax
push 0x40
push 5
push 0x7d2839
call esi
mov eax, 0x7d2839
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 5
push 0x7d2839
call esi
lea eax, [ebp - 4]
mov dword [ebp - 4], 0
push eax
push 0x40
push 1
push 0x7d4001
call esi
test eax, eax
je 0x1003f512
lea eax, [ebp - 8]
mov byte [0x7d4001], 0xff
push eax
push dword [ebp - 4]
mov dword [ebp - 8], 0
push 1
push 0x7d4001
call esi
test eax, eax
jne 0x1003f514
call edi
lea eax, [ebp - 4]
mov dword [ebp - 4], 0
push eax
push 0x40
push 1
push 0x7d4110
call esi
test eax, eax
je 0x1003f550
lea eax, [ebp - 8]
mov byte [0x7d4110], 0xff
push eax
push dword [ebp - 4]
mov dword [ebp - 8], 0
push 1
push 0x7d4110
call esi
test eax, eax
jne 0x1003f552
call edi
cmp byte [0x1025e31e], 1
jne 0x1003f599
lea eax, [ebp - 4]
mov dword [ebp - 4], 0
push eax
push 0x40
push 1
push 0x7d3d57
call esi
test eax, eax
je 0x1003f597
lea eax, [ebp - 8]
mov byte [0x7d3d57], 0xff
push eax
push dword [ebp - 4]
mov dword [ebp - 8], 0
push 1
push 0x7d3d57
call esi
test eax, eax
jne 0x1003f599
call edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret