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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100471b0
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 [0x1008035b], 0
je 0x10032053
mov edx, 0x10031f80
mov ecx, 0x109f2561
call fcn.100043e0
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov eax, 0x10031f70
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 0x100320b4
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 0x100320b4
push 5
push 0x1095e331
call ebx
push eax
call edi
mov eax, 0x10031f60
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 0x10032103
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 0x10032103
push 5
push 0x109ec82f
call ebx
push eax
call edi
mov eax, 0x10031a70
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 0x10032152
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 0x10032152
push 5
push 0x1090801c
call ebx
push eax
call edi
mov eax, 0x10031750
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 0x100321a1
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 0x100321a1
push 5
push 0x1095ca73
call ebx
push eax
call edi
mov eax, 0x10031320
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 0x100321f0
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 0x100321f0
push 5
push 0x1095ba7b
call ebx
push eax
call edi
mov eax, 0x1002f2e0
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 0x1003223f
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 0x1003223f
push 5
push 0x1095b986
call ebx
push eax
call edi
mov eax, 0x10031360
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 0x1003228e
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 0x1003228e
push 5
push 0x10b0f9a1
call ebx
push eax
call edi
mov eax, 0x100313a0
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 0x100322dd
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 0x100322dd
push 5
push 0x1095c9b1
call ebx
push eax
call edi
mov eax, 0x10031a00
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 0x1003232c
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 0x1003232c
push 5
push 0x1096ca07
call ebx
push eax
call edi
mov edx, 0x10031a20
mov ecx, 0x1097827b
call fcn.100043e0
mov edx, 0x10031a40
mov ecx, 0x1096bc07
call fcn.100043e0
mov edx, 0x10031d60
mov ecx, 0x109ec46b
call fcn.100043e0
mov edx, 0x10031cd0
mov ecx, 0x10a0b126
call fcn.100043e0
mov edx, 0x10031d30
mov ecx, 0x10af8e07
call fcn.100043e0
mov edx, 0x10031d00
mov ecx, 0x10afb10c
call fcn.100043e0
mov edx, 0x10031820
mov ecx, 0x10a0fdc0
call fcn.100043e0
mov edx, 0x10031840
mov ecx, 0x10a0fe4b
call fcn.100043e0
mov edx, 0x10031f50
mov ecx, 0x1095e417
call fcn.100043e0
mov edx, 0x10031f50
mov ecx, 0x1095e43c
call fcn.100043e0
mov edx, 0x10031fe0
mov ecx, 0x10b0fc5e
call fcn.100043e0
cmp byte [0x1008035a], 0
je 0x10032405
cmp byte [0x10080357], 0
je 0x10032405
push ecx
lea edx, [ebp - 0x39]
mov byte [ebp - 0x39], 2
mov ecx, 0x1095bec8
call fcn.10004120
lea edx, [ebp - 0x39]
mov ecx, 0x1095bf40
call fcn.10004120
add esp, 4
mov edx, 0x10032000
mov ecx, 0x109bf1bd
call fcn.100043e0
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.10045a07
mov esp, ebp
pop ebp
ret