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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [0x100beb60]
xor eax, ebp
mov dword [ebp - 4], eax
cmp byte [0x100bfd1a], 0
push esi
push edi
mov edi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
je 0x100068e1
mov eax, dword [0x100bfd04]
lea ecx, [ebp - 8]
add eax, 0x787859
push eax
call fcn.10002c20
mov esi, dword [ebp - 8]
lea eax, [ebp - 0x10]
push eax
push 0x40
push 6
push esi
mov dword [ebp - 0x14], 6
mov dword [ebp - 0x18], esi
call edi
test eax, eax
mov eax, 0x90909090
setne byte [ebp - 0xc]
mov dword [esi], eax
mov word [esi + 4], ax
cmp byte [ebp - 0xc], 0
je 0x1000688a
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 [0x100bfd04]
lea ecx, [ebp - 8]
add eax, 0x787865
push eax
call fcn.10002c20
mov esi, dword [ebp - 8]
lea eax, [ebp - 0x10]
push eax
push 0x40
push 6
push esi
mov dword [ebp - 0x14], 6
mov dword [ebp - 0x18], esi
call edi
test eax, eax
mov eax, 0x90909090
setne byte [ebp - 0xc]
mov dword [esi], eax
mov word [esi + 4], ax
cmp byte [ebp - 0xc], 0
je 0x10006941
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
jmp 0x10006941
push 1
push 6
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x8708129
push eax
mov eax, dword [0x100bfd04]
push ecx
add eax, 0x787859
mov word [ebp - 0x1c], 0
mov ecx, esp
push eax
call fcn.10002c20
call fcn.10007cc0
add esp, 0x10
mov dword [ebp - 0x20], 0x8709129
lea eax, [ebp - 0x20]
mov word [ebp - 0x1c], 0
push 1
push 6
push eax
mov eax, dword [0x100bfd04]
push ecx
add eax, 0x787865
mov ecx, esp
push eax
call fcn.10002c20
call fcn.10007cc0
add esp, 0x10
call fcn.10004e00
cmp byte [0x100bfd1d], 0
push 1
sete al
push eax
mov eax, dword [0x100bfd04]
push ecx
add eax, 0x81b482
mov ecx, esp
push eax
call fcn.10002c20
call fcn.10001940
add esp, 0xc
mov eax, 0x8b
cmp byte [0x100bfd1d], 0
mov esi, 0xc3
cmovne eax, esi
push 1
push eax
mov eax, dword [0x100bfd04]
push ecx
add eax, 0x81b5a0
mov ecx, esp
push eax
call fcn.10002c20
call fcn.10001940
add esp, 0xc
mov eax, 0x83
cmp byte [0x100bfd1d], 0
cmovne eax, esi
push 1
push eax
mov eax, dword [0x100bfd04]
push ecx
add eax, 0x81b5d0
mov ecx, esp
push eax
call fcn.10002c20
call fcn.10001940
add esp, 0xc
call fcn.100049b0
mov eax, dword [0x100bfd04]
add eax, 0x81b440
cmp byte [0x100bfd70], 0
je 0x10006a8b
push eax
lea ecx, [ebp - 8]
call fcn.10002c20
mov esi, dword [ebp - 8]
lea eax, [ebp - 0x10]
push eax
push 0x40
push 6
push esi
mov dword [ebp - 0x14], 6
mov dword [ebp - 0x18], esi
call edi
test eax, eax
mov eax, 0x90909090
setne byte [ebp - 0xc]
mov dword [esi], eax
mov word [esi + 4], ax
cmp byte [ebp - 0xc], 0
je 0x10006a34
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 [0x100bfd04]
lea ecx, [ebp - 8]
add eax, 0x81b440
push eax
call fcn.10002c20
mov esi, dword [ebp - 8]
push 1
push ecx
mov eax, esp
mov dword [eax], esi
lea eax, [ebp - 8]
push eax
call fcn.10004810
add esp, 0xc
push 1
push 0xe9
push ecx
mov eax, esp
mov dword [eax], esi
call fcn.10001940
add esp, 0xc
inc esi
push 1
push 4
push ecx
mov eax, esp
push ecx
mov dword [eax], 0x10005000
mov eax, esp
mov dword [eax], esi
call fcn.100055d0
jmp 0x10006aa2
push 1
push 6
push 0x100bfce0
push ecx
mov ecx, esp
push eax
call fcn.10002c20
call fcn.10007cc0
add esp, 0x10
call fcn.100057f0
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.1004e12b
mov esp, ebp
pop ebp
ret