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

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [0x100cb10c]
sub esp, 0x34
cmp dword [eax + 0x3b0], 1
push ebx
push esi
push edi
mov edi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
jne 0x10012449
mov esi, 5
mov ebx, 0x57fccf
call fcn.100560c0
lea edx, [ebp - 4]
push edx
push 0x40
mov ecx, 0x10012670
push 5
sub ecx, 0x57fcd4
xor esi, esi
push ebx
mov byte [ebp - 0x2c], 0xe9
mov dword [ebp - 0x2b], ecx
mov dword [ebp - 4], esi
call edi
test eax, eax
je 0x10012443
mov ecx, dword [ebp - 0x2c]
mov dl, byte [ebp - 0x28]
mov eax, ebx
mov dword [eax], ecx
mov byte [eax + 4], dl
mov ecx, dword [ebp - 4]
lea eax, [ebp - 0x18]
push eax
push ecx
push 5
push ebx
mov dword [ebp - 0x18], esi
call edi
test eax, eax
jne 0x10012449
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [0x100cb10c]
cmp dword [edx + 0x3c4], 1
jne 0x100124b3
mov esi, 5
mov ebx, 0x5842b1
call fcn.100560c0
lea ecx, [ebp - 8]
push ecx
push 0x40
mov eax, 0x10012820
push 5
sub eax, 0x5842b6
xor esi, esi
push ebx
mov byte [ebp - 0x2c], 0xe9
mov dword [ebp - 0x2b], eax
mov dword [ebp - 8], esi
call edi
test eax, eax
je 0x100124ad
mov edx, dword [ebp - 0x2c]
mov cl, byte [ebp - 0x28]
mov eax, ebx
mov dword [eax], edx
mov byte [eax + 4], cl
mov eax, dword [ebp - 8]
lea edx, [ebp - 0x1c]
push edx
push eax
push 5
push ebx
mov dword [ebp - 0x1c], esi
call edi
test eax, eax
jne 0x100124b3
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [0x100cb10c]
cmp dword [ecx + 0x3d8], 1
jne 0x1001251e
mov esi, 5
mov ebx, 0x5852e4
call fcn.100560c0
lea eax, [ebp - 0xc]
push eax
push 0x40
mov edx, 0x100129e0
push 5
sub edx, 0x5852e9
xor esi, esi
push ebx
mov byte [ebp - 0x2c], 0xe9
mov dword [ebp - 0x2b], edx
mov dword [ebp - 0xc], esi
call edi
test eax, eax
je 0x10012518
mov ecx, dword [ebp - 0x2c]
mov dl, byte [ebp - 0x28]
mov eax, ebx
mov dword [eax], ecx
mov byte [eax + 4], dl
mov ecx, dword [ebp - 0xc]
lea eax, [ebp - 0x20]
push eax
push ecx
push 5
push ebx
mov dword [ebp - 0x20], esi
call edi
test eax, eax
jne 0x1001251e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [0x100cb10c]
cmp dword [edx + 0x3ec], 1
jne 0x10012588
mov esi, 5
mov ebx, 0x584a4e
call fcn.100560c0
lea ecx, [ebp - 0x10]
push ecx
push 0x40
mov eax, 0x10012ba0
push 5
sub eax, 0x584a53
xor esi, esi
push ebx
mov byte [ebp - 0x2c], 0xe9
mov dword [ebp - 0x2b], eax
mov dword [ebp - 0x10], esi
call edi
test eax, eax
je 0x10012582
mov edx, dword [ebp - 0x2c]
mov cl, byte [ebp - 0x28]
mov eax, ebx
mov dword [eax], edx
mov byte [eax + 4], cl
mov eax, dword [ebp - 0x10]
lea edx, [ebp - 0x24]
push edx
push eax
push 5
push ebx
mov dword [ebp - 0x24], esi
call edi
test eax, eax
jne 0x10012588
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [0x100cb10c]
cmp dword [ecx + 0x400], 1
jne 0x100125f3
mov esi, 5
mov ebx, 0x584b82
call fcn.100560c0
lea eax, [ebp - 0x14]
push eax
push 0x40
mov edx, 0x10012d10
push 5
sub edx, 0x584b87
xor esi, esi
push ebx
mov byte [ebp - 0x34], 0xe9
mov dword [ebp - 0x33], edx
mov dword [ebp - 0x14], esi
call edi
test eax, eax
je 0x100125ed
mov ecx, dword [ebp - 0x34]
mov dl, byte [ebp - 0x30]
mov eax, ebx
mov dword [eax], ecx
mov byte [eax + 4], dl
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x2c]
push eax
push ecx
push 5
push ebx
mov dword [ebp - 0x2c], esi
call edi
test eax, eax
jne 0x100125f3
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [0x100cb10c]
cmp dword [edx + 0x410], 1
jne 0x1001265d
mov esi, 5
mov ebx, 0x582fe6
call fcn.100560c0
lea ecx, [ebp - 0x14]
push ecx
push 0x40
mov eax, 0x10012e50
push 5
sub eax, 0x582feb
xor esi, esi
push ebx
mov byte [ebp - 0x34], 0xe9
mov dword [ebp - 0x33], eax
mov dword [ebp - 0x14], esi
call edi
test eax, eax
je 0x10012657
mov edx, dword [ebp - 0x34]
mov cl, byte [ebp - 0x30]
mov eax, ebx
mov dword [eax], edx
mov byte [eax + 4], cl
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x2c]
push edx
push eax
push 5
push ebx
mov dword [ebp - 0x2c], esi
call edi
test eax, eax
jne 0x1001265d
call dword [sym.imp.KERNEL32.dll_GetLastError]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret