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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, dword [0x10143a68]
sub esp, 0x10
push esi
push edi
test eax, eax
js 0x1007cd99
cmp eax, 3
jle 0x1007cda3
mov dword [0x10143a68], 1
mov eax, dword [0x10143a6c]
mov edi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 0x280
jle 0x1007d09a
mov ecx, dword [0x1013cf04]
cmp ecx, 0x280
jle 0x1007d09a
cmp eax, ecx
push 0x6400
cmovg eax, ecx
mov dword [0x10143a6c], eax
add eax, 0xfffffe27
mov dword [0x10175040], eax
call fcn.100ea11b
add esp, 4
mov dword [0x1013cf08], eax
lea eax, [esp + 0x10]
mov dword [esp + 8], 0x460883
lea ecx, [esp + 8]
mov dword [esp + 0xc], 0x4609e3
push eax
push ecx
mov ecx, 0x1007caa0
call fcn.100122c0
lea eax, [esp + 0x18]
mov dword [esp + 8], 0x45fa2a
lea ecx, [esp + 8]
mov dword [esp + 0xc], 0x45fa7b
push eax
push ecx
mov ecx, 0x1007ca60
mov dword [esp + 0x18], 0x45fb87
mov dword [esp + 0x1c], 0x45fbd1
call fcn.100122c0
lea eax, [esp + 0x10]
mov dword [esp + 8], 0x45fc72
lea ecx, [esp + 8]
mov dword [esp + 0xc], 0x45fd06
push eax
push ecx
mov ecx, 0x1007ca80
call fcn.100122c0
lea eax, [esp + 8]
push eax
push 0x40
push 5
push 0x43166f
call edi
mov eax, 0x1007cab0
mov byte [0x43166f], 0xe8
sub eax, 0x431674
mov dword [0x431670], eax
lea eax, [esp + 8]
push eax
push dword [esp + 0xc]
push 5
push 0x43166f
call edi
lea eax, [esp + 8]
push eax
push 0x40
push 4
push 0x431705
call edi
mov eax, 0x1007cac0
sub eax, 0x431709
mov dword [0x431705], eax
lea eax, [esp + 8]
push eax
push dword [esp + 0xc]
push 4
push 0x431705
call edi
mov esi, dword [0x10175040]
lea eax, [esp + 8]
push eax
push 0x40
push 4
push 0x43172a
call edi
lea eax, [esp + 8]
mov dword [0x43172a], esi
push eax
push dword [esp + 0xc]
push 4
push 0x43172a
call edi
mov esi, dword [0x10175040]
lea eax, [esp + 8]
push eax
push 0x40
push 4
push 0x431770
call edi
lea eax, [esp + 8]
mov dword [0x431770], esi
push eax
push dword [esp + 0xc]
push 4
push 0x431770
call edi
lea eax, [esp + 0x10]
mov dword [esp + 8], 0x4317ee
lea ecx, [esp + 8]
mov dword [esp + 0xc], 0x431841
push eax
push ecx
mov ecx, 0x1007cb40
call fcn.100122c0
lea eax, [esp + 8]
push eax
push 0x40
push 1
push 0x4317c1
call edi
lea eax, [esp + 8]
mov byte [0x4317c1], 0xeb
push eax
push dword [esp + 0xc]
push 1
push 0x4317c1
call edi
lea eax, [esp + 8]
push eax
push 0x40
push 1
push 0x431814
call edi
lea eax, [esp + 8]
mov byte [0x431814], 0xeb
push eax
push dword [esp + 0xc]
push 1
push 0x431814
call edi
lea eax, [esp + 8]
push eax
push 0x40
push 5
push 0x431b19
call edi
mov eax, 0x1007cb30
mov byte [0x431b19], 0xe8
sub eax, 0x431b1e
mov dword [0x431b1a], eax
lea eax, [esp + 8]
push eax
push dword [esp + 0xc]
push 5
push 0x431b19
call edi
mov esi, dword [0x10175040]
lea eax, [esp + 8]
push eax
push 0x40
push 4
push 0x431ab9
call edi
lea eax, [esp + 8]
mov dword [0x431ab9], esi
push eax
push dword [esp + 0xc]
push 4
push 0x431ab9
call edi
mov esi, dword [0x10175040]
lea eax, [esp + 8]
push eax
push 0x40
push 4
push 0x431ac0
call edi
lea eax, [esp + 8]
mov dword [0x431ac0], esi
push eax
push dword [esp + 0xc]
push 4
push 0x431ac0
call edi
mov esi, dword [0x10175040]
lea eax, [esp + 8]
push eax
push 0x40
push 4
push 0x431b3b
call edi
lea eax, [esp + 8]
mov dword [0x431b3b], esi
push eax
push dword [esp + 0xc]
push 4
push 0x431b3b
call edi
mov esi, dword [0x1013cf08]
lea eax, [esp + 8]
push eax
push 0x40
push 4
push 0x431b36
call edi
lea eax, [esp + 8]
mov dword [0x431b36], esi
push eax
push dword [esp + 0xc]
push 4
push 0x431b36
call edi
jmp 0x1007d0a4
mov dword [0x10143a6c], 0x280
lea eax, [esp + 8]
push eax
push 0x40
push 4
push 0x4ac261
call edi
mov eax, 0x1007c850
sub eax, 0x4ac265
mov dword [0x4ac261], eax
lea eax, [esp + 8]
push eax
push dword [esp + 0xc]
push 4
push 0x4ac261
call edi
lea eax, [esp + 0x10]
mov dword [esp + 8], 0x45e3f5
lea ecx, [esp + 8]
mov dword [esp + 0xc], 0x45e8fb
push eax
push ecx
mov ecx, 0x1007c840
call fcn.100122c0
cmp dword [0x10143a5c], 0
jle 0x1007d1aa
lea eax, [esp + 8]
push eax
push 0x40
push 1
push 0x481cdf
call edi
lea eax, [esp + 8]
mov byte [0x481cdf], 1
push eax
push dword [esp + 0xc]
push 1
push 0x481cdf
call edi
lea eax, [esp + 8]
push eax
push 0x40
push 1
push 0x481e2e
call edi
lea eax, [esp + 8]
mov byte [0x481e2e], 1
push eax
push dword [esp + 0xc]
push 1
push 0x481e2e
call edi
lea eax, [esp + 8]
push eax
push 0x40
push 1
push 0x481dc3
call edi
lea eax, [esp + 8]
mov byte [0x481dc3], 0xff
push eax
push dword [esp + 0xc]
push 1
push 0x481dc3
call edi
lea eax, [esp + 8]
push eax
push 0x40
push 1
push 0x482bf5
call edi
lea eax, [esp + 8]
mov byte [0x482bf5], 0xff
push eax
push dword [esp + 0xc]
push 1
push 0x482bf5
call edi
sub esp, 0x28
mov ecx, 0x10154e0c
mov eax, esp
mov dword [eax], 0x10124f24
mov dword [eax + 0x24], eax
lea eax, [esp + 0x30]
push eax
call fcn.1001d220
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x1007d201
push dword [esp + 8]
mov edx, dword [esp + 0x10]
push ecx
call fcn.1000fa00
mov edx, dword [esp + 0x10]
mov eax, 0x66666667
mov ecx, dword [esp + 8]
sub edx, ecx
imul edx
push 0x28
mov eax, edx
sar eax, 4
mov edx, eax
shr edx, 0x1f
add edx, eax
call fcn.1000d8e0
pop edi
pop esi
mov esp, ebp
pop ebp
ret