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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [0x100d3080]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x100d5f84]
lea ecx, [ebp - 8]
add eax, 0x946704
push esi
mov dword [ebp - 8], eax
lea eax, [ebp - 0x1c]
push edi
push eax
call fcn.10007f20
mov edi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov dword [ebp - 0x14], 1
mov esi, dword [eax]
lea eax, [ebp - 0x10]
push eax
push 0x40
push 1
push esi
mov dword [ebp - 0x18], esi
call edi
test eax, eax
setne byte [ebp - 0xc]
mov byte [esi], 0xeb
cmp byte [ebp - 0xc], 0
je 0x1000541a
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 8]
push ecx
push eax
push dword [ebp - 0x14]
mov dword [ebp - 8], eax
push dword [ebp - 0x18]
call edi
mov eax, dword [0x100d5f84]
lea ecx, [ebp - 8]
add eax, 0x1ca3e6
mov dword [ebp - 8], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10007f20
mov dword [ebp - 0x14], 1
mov esi, dword [eax]
lea eax, [ebp - 0x10]
push eax
push 0x40
push 1
push esi
mov dword [ebp - 0x18], esi
call edi
test eax, eax
setne byte [ebp - 0xc]
mov byte [esi], 0xeb
cmp byte [ebp - 0xc], 0
je 0x1000546c
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 8]
push ecx
push eax
push dword [ebp - 0x14]
mov dword [ebp - 8], eax
push dword [ebp - 0x18]
call edi
mov eax, dword [0x100d5f84]
lea ecx, [ebp - 8]
add eax, 0x69467a
mov dword [ebp - 8], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10007f20
mov dword [ebp - 0x14], 1
mov esi, dword [eax]
lea eax, [ebp - 0x10]
push eax
push 0x40
push 1
push esi
mov dword [ebp - 0x18], esi
call edi
test eax, eax
setne byte [ebp - 0xc]
mov byte [esi], 0xeb
cmp byte [ebp - 0xc], 0
je 0x100054be
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 8]
push ecx
push eax
push dword [ebp - 0x14]
mov dword [ebp - 8], eax
push dword [ebp - 0x18]
call edi
mov eax, dword [0x100d5f84]
lea ecx, [ebp - 8]
add eax, 0x82c670
mov dword [ebp - 8], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10007f20
mov dword [ebp - 0x14], 1
mov esi, dword [eax]
lea eax, [ebp - 0x10]
push eax
push 0x40
push 1
push esi
mov dword [ebp - 0x18], esi
call edi
test eax, eax
setne byte [ebp - 0xc]
mov byte [esi], 0xeb
cmp byte [ebp - 0xc], 0
je 0x10005510
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 8]
push ecx
push eax
push dword [ebp - 0x14]
mov dword [ebp - 8], eax
push dword [ebp - 0x18]
call edi
mov eax, dword [0x100d5f84]
lea ecx, [ebp - 8]
add eax, 0x82c62c
mov dword [ebp - 8], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10007f20
mov dword [ebp - 0x14], 1
mov esi, dword [eax]
lea eax, [ebp - 0x10]
push eax
push 0x40
push 1
push esi
mov dword [ebp - 0x18], esi
call edi
test eax, eax
setne byte [ebp - 0xc]
mov byte [esi], 0xeb
cmp byte [ebp - 0xc], 0
je 0x10005562
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 8]
push ecx
push eax
push dword [ebp - 0x14]
mov dword [ebp - 8], eax
push dword [ebp - 0x18]
call edi
mov eax, dword [0x100d5f84]
lea ecx, [ebp - 8]
add eax, 0x9467b3
mov dword [ebp - 8], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10007f20
mov dword [ebp - 0x14], 1
mov esi, dword [eax]
lea eax, [ebp - 0x10]
push eax
push 0x40
push 1
push esi
mov dword [ebp - 0x18], esi
call edi
test eax, eax
setne byte [ebp - 0xc]
mov byte [esi], 0xc0
cmp byte [ebp - 0xc], 0
je 0x100055b4
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 8]
push ecx
push eax
push dword [ebp - 0x14]
mov dword [ebp - 8], eax
push dword [ebp - 0x18]
call edi
mov eax, dword [0x100d5f84]
add eax, 0x9c6be0
push ecx
mov dword [ebp - 8], eax
lea ecx, [ebp - 8]
lea eax, [ebp - 0x1c]
mov esi, esp
push eax
call fcn.10007f20
mov ecx, 2
mov eax, dword [eax]
mov dword [esi], eax
call fcn.10003c00
mov ecx, dword [ebp - 4]
add esp, 4
xor ecx, ebp
pop edi
pop esi
call fcn.1005ff0b
mov esp, ebp
pop ebp
ret