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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push esi
push 0x1003acf0
push 0x7cac81
push 0xe8
call fcn.10085ba0
push 0x1003acf0
push 0x7cad14
push 0xe8
call fcn.10085ba0
push 0x1003acf0
push 0x7cad93
push 0xe8
call fcn.10085ba0
push 0x1003acf0
push 0x7cb02d
push 0xe8
call fcn.10085ba0
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
add esp, 0x30
cmp dword [0x1028ae08], 1
jne 0x1003cbb7
lea eax, [ebp - 4]
push eax
push 0x40
push 1
push 0x50efd6
call esi
lea eax, [ebp - 4]
mov byte [0x50efd6], 0
push eax
push dword [ebp - 4]
push 1
push 0x50efd6
call esi
lea eax, [ebp - 4]
push eax
push 0x40
push 6
push 0x553404
call esi
mov eax, 0x553404
mov ecx, 0x90909090
mov dword [eax], ecx
mov word [eax + 4], cx
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 6
push 0x553404
call esi
lea eax, [ebp - 4]
push eax
push 0x40
push 6
push 0x554434
call esi
mov eax, 0x554434
mov ecx, 0x90909090
mov dword [eax], ecx
mov word [eax + 4], cx
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 6
push 0x554434
call esi
lea eax, [ebp - 4]
push eax
push 0x40
push 1
push 0x50f8bf
call esi
lea eax, [ebp - 4]
mov byte [0x50f8bf], 0
push eax
push dword [ebp - 4]
push 1
push 0x50f8bf
call esi
lea eax, [ebp - 4]
push eax
push 0x40
push 6
push 0x5535a1
call esi
mov eax, 0x5535a1
mov ecx, 0x90909090
mov dword [eax], ecx
mov word [eax + 4], cx
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 6
push 0x5535a1
call esi
lea eax, [ebp - 4]
push eax
push 0x40
push 6
push 0x554489
call esi
mov ecx, 0x90909090
mov eax, 0x554489
mov dword [eax], ecx
mov word [eax + 4], cx
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 6
push 0x554489
call esi
lea eax, [ebp - 4]
push eax
push 0x40
push 1
push 0x510274
call esi
lea eax, [ebp - 4]
mov byte [0x510274], 0
push eax
push dword [ebp - 4]
push 1
push 0x510274
call esi
lea eax, [ebp - 4]
push eax
push 0x40
push 6
push 0x553658
call esi
mov eax, 0x553658
mov ecx, 0x90909090
mov dword [eax], ecx
mov word [eax + 4], cx
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 6
push 0x553658
call esi
lea eax, [ebp - 4]
push eax
push 0x40
push 6
push 0x5544f3
call esi
mov eax, 0x5544f3
mov ecx, 0x90909090
mov dword [eax], ecx
mov word [eax + 4], cx
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 6
push 0x5544f3
call esi
lea eax, [ebp - 4]
push eax
push 0x40
push 6
push 0x5544bc
call esi
mov eax, 0x5544bc
mov ecx, 0x90909090
mov dword [eax], ecx
mov word [eax + 4], cx
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 6
push 0x5544bc
call esi
lea eax, [ebp - 4]
push eax
push 0x40
push 6
push 0x5545bf
call esi
mov eax, 0x5545bf
mov ecx, 0x90909090
mov dword [eax], ecx
mov word [eax + 4], cx
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 6
push 0x5545bf
call esi
cmp dword [0x1028acdc], 0
je 0x1003ce17
push edi
push 0x1003a910
push 0x944eeb
push 0xe8
call fcn.10085ba0
push 0x1003a910
push 0x945205
push 0xe8
call fcn.10085ba0
mov edi, 0x1003af30
mov byte [ebp - 0x10], 0xe8
add esp, 0x18
mov dword [ebp - 4], 0
lea eax, [edi - 0x5ef908]
mov dword [ebp - 0xf], eax
lea eax, [ebp - 4]
push eax
push 0x40
push 5
push 0x5ef903
call esi
test eax, eax
je 0x1003cc43
mov eax, dword [ebp - 0x10]
mov ecx, 0x5ef903
mov dword [ecx], eax
mov al, byte [ebp - 0xc]
mov byte [ecx + 4], al
lea eax, [ebp - 8]
push eax
push dword [ebp - 4]
mov dword [ebp - 8], 0
push 5
push ecx
call esi
test eax, eax
jne 0x1003cc49
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea eax, [ebp - 4]
mov byte [ebp - 0x10], 0xe8
push eax
push 0x40
push 5
sub edi, 0x5efb1a
mov dword [ebp - 4], 0
push 0x5efb15
mov dword [ebp - 0xf], edi
call esi
pop edi
test eax, eax
je 0x1003cc98
mov eax, dword [ebp - 0x10]
mov ecx, 0x5efb15
mov dword [ecx], eax
mov al, byte [ebp - 0xc]
mov byte [ecx + 4], al
lea eax, [ebp - 8]
push eax
push dword [ebp - 4]
mov dword [ebp - 8], 0
push 5
push ecx
call esi
test eax, eax
jne 0x1003cc9e
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x1003afc0
push 0x50ea66
push 0xe9
call fcn.10085ba0
push 0x1003b300
push 0x510d45
push 0xe9
call fcn.10085ba0
push 0xe8
push 0x1003a960
push 0x664c82
push 0xe8
call fcn.10085ba0
push 0x1003b5a0
push 0x5533f6
push 0xe9
call fcn.10085ba0
push 0x1003b680
push 0x553daa
push 0xe9
call fcn.10085ba0
add esp, 0x40
push 0x1003b6e0
push 0x553fdb
push 0xe9
call fcn.10085ba0
push 0x1003b740
push 0x55442a
push 0xe9
call fcn.10085ba0
push 0x1003b820
push 0x56ad81
push 0xe9
call fcn.10085ba0
push 0x1003b8a0
push 0x510e1c
push 0xe9
call fcn.10085ba0
push 0x1003b920
push 0x4b46a1
push 0xe9
call fcn.10085ba0
push 0x1003b990
push 0x5ab059
push 0xe9
call fcn.10085ba0
add esp, 0x48
push 0x1003ba50
push 0x56adfa
push 0xe9
call fcn.10085ba0
push 0x1003c810
push 0x5d53b4
push 0xe9
call fcn.10085ba0
push 0x1003c880
push 0x5d4c49
push 0xe9
call fcn.10085ba0
push 0x1003c8f0
push 0x5d4be5
push 0xe9
call fcn.10085ba0
push 0x1003bad0
push 0x50eef1
push 0xe9
call fcn.10085ba0
push 0x1003bb60
push 0x4b420c
push 0xe8
call fcn.10085ba0
add esp, 0x48
push 0x1003bb60
push 0x510d31
push 0xe8
call fcn.10085ba0
add esp, 0xc
pop esi
mov esp, ebp
pop ebp
ret