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

Disassembly:
push ebp
mov ebp, esp
push ecx
cmp dword [ebp + 0xc], 1
jne 0x10006e64
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push 0
call esi
cmp dword [eax + 0x160], 0x37a8d8
jne 0x10006c0c
cmp dword [eax + 0x37a960], 0x7d01e4
jne 0x10006c0c
cmp dword [eax + 0x37a98b], 0x7d01e8
jne 0x10006c0c
mov edx, 0x10006190
mov ecx, 0x5f94ca
call fcn.10006fb0
mov edx, 0x100061a0
mov ecx, 0x5f9536
call fcn.10006fb0
mov edx, 0x10006240
mov ecx, 0x5f955b
call fcn.10007000
mov edx, 0x10006300
mov ecx, 0x5f8afe
call fcn.10006fb0
mov edx, 0x10006420
mov ecx, 0x5f7f87
call fcn.10007000
mov edx, 0x10006450
mov ecx, 0x5f8354
call fcn.10007000
mov edx, 0x10006420
mov ecx, 0x5f8605
call fcn.10007000
mov edx, 0xa
mov ecx, 0x5f7f8d
call fcn.10007060
mov edx, 2
mov ecx, 0x5f834d
call fcn.10007060
mov edx, 0xa
mov ecx, 0x5f835a
call fcn.10007060
mov edx, 2
mov ecx, 0x5f85fe
call fcn.10007060
mov edx, 0xa
mov ecx, 0x5f860b
call fcn.10007060
or dl, 0xff
mov ecx, 0x72ece2
call fcn.100070c0
mov dl, 0x47
mov ecx, 0x72ecea
call fcn.100070c0
mov dl, 0x57
mov ecx, 0x72ecf1
call fcn.100070c0
mov ecx, 0x72ecfc
jmp 0x10006d9e
cmp dword [eax + 0x168], 0x3d4318
jne 0x10006da8
cmp dword [eax + 0x3d43a0], 0x82e108
jne 0x10006da8
cmp dword [eax + 0x3d43cb], 0x82e10c
jne 0x10006da8
mov edx, 0x10006190
mov ecx, 0x627d4f
call fcn.10006fb0
mov edx, 0x10006480
mov ecx, 0x627dbb
call fcn.10006fb0
mov edx, 0x10006520
mov ecx, 0x627de0
call fcn.10007000
mov edx, 0x10006480
mov ecx, 0x6c5884
call fcn.10006fb0
mov edx, 0x10006520
mov ecx, 0x6c5957
call fcn.10007000
mov edx, 0x100065e0
mov ecx, 0x6271ce
call fcn.10006fb0
mov edx, 0x100065e0
mov ecx, 0x6c6b33
call fcn.10006fb0
mov edx, 0x10006700
mov ecx, 0x6265ba
call fcn.10007000
mov edx, 0x10006730
mov ecx, 0x626a24
call fcn.10007000
mov edx, 0x10006700
mov ecx, 0x626cdb
call fcn.10007000
mov edx, 0x10006760
mov ecx, 0x796c40
call fcn.10006f60
mov edx, 0x10006900
mov ecx, 0x797170
call fcn.10006f60
mov edx, 0x10006ab0
mov ecx, 0x7808fd
call fcn.10006fb0
mov edx, 0x10006ab0
mov ecx, 0x780953
call fcn.10006fb0
mov edx, 0x10006ab0
mov ecx, 0x78097d
call fcn.10006fb0
xor dl, dl
mov ecx, 0x6c5875
call fcn.100070c0
mov edx, 0xa
mov ecx, 0x6265c0
call fcn.10007060
mov edx, 2
mov ecx, 0x626a1d
call fcn.10007060
mov edx, 0xa
mov ecx, 0x626a2a
call fcn.10007060
mov edx, 2
mov ecx, 0x626cd4
call fcn.10007060
mov edx, 0xa
mov ecx, 0x626ce1
call fcn.10007060
or dl, 0xff
mov ecx, 0x663ac2
call fcn.100070c0
mov dl, 0x47
mov ecx, 0x663aca
call fcn.100070c0
mov dl, 0x57
mov ecx, 0x663ad1
call fcn.100070c0
mov ecx, 0x663adc
mov edx, 0x1e
call fcn.10007060
push edi
push 0
call esi
cmp dword [eax + 0x160], 0x37a8d8
jne 0x10006ddd
cmp dword [eax + 0x37a960], 0x7d01e4
jne 0x10006ddd
cmp dword [eax + 0x37a98b], 0x7d01e8
jne 0x10006ddd
mov edi, 0x10004a80
mov ecx, 0x23720d
jmp 0x10006e0b
cmp dword [eax + 0x168], 0x3d4318
jne 0x10006e5d
cmp dword [eax + 0x3d43a0], 0x82e108
jne 0x10006e5d
cmp dword [eax + 0x3d43cb], 0x82e10c
jne 0x10006e5d
mov edi, 0x10004a90
mov ecx, 0x2c12bc
lea esi, [eax + ecx]
test esi, esi
je 0x10006e5d
lea eax, [ebp + 0xc]
push eax
push 0x40
push 6
push esi
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
je 0x10006e62
lea eax, [ebp - 4]
mov byte [esi], 0xe8
push eax
push dword [ebp + 0xc]
sub edi, esi
push 6
sub edi, 5
push esi
mov dword [esi + 1], edi
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
push 6
push esi
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
pop edi
pop esi
mov eax, 1
mov esp, ebp
pop ebp
ret 0xc
call fcn.10003e90
pop edi
pop esi
mov eax, 1
mov esp, ebp
pop ebp
ret 0xc