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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10047910
mov eax, dword fs:[0]
push eax
sub esp, 0x30
mov eax, dword [0x1007c040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp byte [0x10080383], 0
je 0x10033833
mov edx, 0x10033760
mov ecx, 0x109f2561
call fcn.100044c0
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov eax, 0x10033750
sub eax, 0x1095e336
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x14]
push eax
push 0x40
push 5
push 0x1095e331
call esi
mov edi, dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov ebx, dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
test eax, eax
je 0x10033894
mov eax, dword [ebp - 0x38]
mov byte [0x1095e331], 0xe9
mov dword [0x1095e332], eax
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 0x14]
push 5
push 0x1095e331
call esi
test eax, eax
je 0x10033894
push 5
push 0x1095e331
call ebx
push eax
call edi
mov eax, 0x10033740
sub eax, 0x109ec834
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x18]
push eax
push 0x40
push 5
push 0x109ec82f
call esi
test eax, eax
je 0x100338e3
mov eax, dword [ebp - 0x38]
mov byte [0x109ec82f], 0xe9
mov dword [0x109ec830], eax
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x18]
push 5
push 0x109ec82f
call esi
test eax, eax
je 0x100338e3
push 5
push 0x109ec82f
call ebx
push eax
call edi
mov eax, 0x10033250
sub eax, 0x10908021
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x1c]
push eax
push 0x40
push 5
push 0x1090801c
call esi
test eax, eax
je 0x10033932
mov eax, dword [ebp - 0x38]
mov byte [0x1090801c], 0xe9
mov dword [0x1090801d], eax
lea eax, [ebp - 0x1c]
push eax
push dword [ebp - 0x1c]
push 5
push 0x1090801c
call esi
test eax, eax
je 0x10033932
push 5
push 0x1090801c
call ebx
push eax
call edi
mov eax, 0x10032f20
sub eax, 0x1095ca78
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x20]
push eax
push 0x40
push 5
push 0x1095ca73
call esi
test eax, eax
je 0x10033981
mov eax, dword [ebp - 0x38]
mov byte [0x1095ca73], 0xe9
mov dword [0x1095ca74], eax
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x20]
push 5
push 0x1095ca73
call esi
test eax, eax
je 0x10033981
push 5
push 0x1095ca73
call ebx
push eax
call edi
mov eax, 0x10032af0
sub eax, 0x1095ba80
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x24]
push eax
push 0x40
push 5
push 0x1095ba7b
call esi
test eax, eax
je 0x100339d0
mov eax, dword [ebp - 0x38]
mov byte [0x1095ba7b], 0xe9
mov dword [0x1095ba7c], eax
lea eax, [ebp - 0x24]
push eax
push dword [ebp - 0x24]
push 5
push 0x1095ba7b
call esi
test eax, eax
je 0x100339d0
push 5
push 0x1095ba7b
call ebx
push eax
call edi
mov eax, 0x10030ab0
sub eax, 0x1095b98b
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x28]
push eax
push 0x40
push 5
push 0x1095b986
call esi
test eax, eax
je 0x10033a1f
mov eax, dword [ebp - 0x38]
mov byte [0x1095b986], 0xe9
mov dword [0x1095b987], eax
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
push 5
push 0x1095b986
call esi
test eax, eax
je 0x10033a1f
push 5
push 0x1095b986
call ebx
push eax
call edi
mov eax, 0x10032b30
sub eax, 0x10b0f9a6
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x2c]
push eax
push 0x40
push 5
push 0x10b0f9a1
call esi
test eax, eax
je 0x10033a6e
mov eax, dword [ebp - 0x38]
mov byte [0x10b0f9a1], 0xe9
mov dword [0x10b0f9a2], eax
lea eax, [ebp - 0x2c]
push eax
push dword [ebp - 0x2c]
push 5
push 0x10b0f9a1
call esi
test eax, eax
je 0x10033a6e
push 5
push 0x10b0f9a1
call ebx
push eax
call edi
mov eax, 0x10032b70
sub eax, 0x1095c9b6
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x30]
push eax
push 0x40
push 5
push 0x1095c9b1
call esi
test eax, eax
je 0x10033abd
mov eax, dword [ebp - 0x38]
mov byte [0x1095c9b1], 0xe9
mov dword [0x1095c9b2], eax
lea eax, [ebp - 0x30]
push eax
push dword [ebp - 0x30]
push 5
push 0x1095c9b1
call esi
test eax, eax
je 0x10033abd
push 5
push 0x1095c9b1
call ebx
push eax
call edi
mov eax, 0x100331e0
sub eax, 0x1096ca0c
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x34]
push eax
push 0x40
push 5
push 0x1096ca07
call esi
test eax, eax
je 0x10033b0c
mov eax, dword [ebp - 0x38]
mov byte [0x1096ca07], 0xe9
mov dword [0x1096ca08], eax
lea eax, [ebp - 0x34]
push eax
push dword [ebp - 0x34]
push 5
push 0x1096ca07
call esi
test eax, eax
je 0x10033b0c
push 5
push 0x1096ca07
call ebx
push eax
call edi
mov edx, 0x10033200
mov ecx, 0x1097827b
call fcn.100044c0
mov edx, 0x10033220
mov ecx, 0x1096bc07
call fcn.100044c0
mov edx, 0x10033540
mov ecx, 0x109ec46b
call fcn.100044c0
mov edx, 0x100334b0
mov ecx, 0x10a0b126
call fcn.100044c0
mov edx, 0x10033510
mov ecx, 0x10af8e07
call fcn.100044c0
mov edx, 0x100334e0
mov ecx, 0x10afb10c
call fcn.100044c0
mov edx, 0x10033000
mov ecx, 0x10a0fdc0
call fcn.100044c0
mov edx, 0x10033020
mov ecx, 0x10a0fe4b
call fcn.100044c0
mov edx, 0x10033730
mov ecx, 0x1095e417
call fcn.100044c0
mov edx, 0x10033730
mov ecx, 0x1095e43c
call fcn.100044c0
mov edx, 0x100337c0
mov ecx, 0x10b0fc5e
call fcn.100044c0
cmp byte [0x10080382], 0
je 0x10033be5
cmp byte [0x1008037f], 0
je 0x10033be5
push ecx
lea edx, [ebp - 0x39]
mov byte [ebp - 0x39], 2
mov ecx, 0x1095bec8
call fcn.10004200
lea edx, [ebp - 0x39]
mov ecx, 0x1095bf40
call fcn.10004200
add esp, 4
mov edx, 0x100337e0
mov ecx, 0x109bf1bd
call fcn.100044c0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10046167
mov esp, ebp
pop ebp
ret