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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push esi
push edi
push 0x100630e0
push 0x7e3e5a
push 0xe9
call fcn.100cf940
push 0x10064d30
push 0x4e8b80
push 0xe9
call fcn.100cf940
push 0x6e00
push 0
push 0x105970c4
call fcn.10144040
add esp, 0x20
mov dword [0x105970a0], 0x105970c4
mov edx, 0xd
mov dword [0x105970a4], 0x4e957b
mov ecx, 0x4e956e
call fcn.100cf330
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
add esp, 4
mov eax, 0x10065040
mov byte [ebp - 0x10], 0xe9
sub eax, 0x4e9573
mov dword [ebp - 4], 0
mov dword [ebp - 0xf], eax
lea eax, [ebp - 4]
push eax
push 0x40
push 5
push 0x4e956e
call esi
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x100642e8
mov eax, dword [ebp - 0x10]
mov ecx, 0x4e956e
mov dword [ecx], eax
mov al, byte [ebp - 0xc]
mov byte [ecx + 4], al
lea eax, [ebp - 8]
push eax
push dword [ebp - 4]
mov dword [ebp - 8], 0
push 5
push ecx
call esi
test eax, eax
jne 0x100642ea
call edi
push ecx
mov edx, 0xa
mov dword [0x105970a8], 0x4e9275
mov ecx, 0x4e926b
call fcn.100cf330
add esp, 4
mov byte [ebp - 0x10], 0xe9
mov eax, 0x10065050
mov dword [ebp - 4], 0
sub eax, 0x4e9270
mov dword [ebp - 0xf], eax
lea eax, [ebp - 4]
push eax
push 0x40
push 5
push 0x4e926b
call esi
test eax, eax
je 0x10064359
mov eax, dword [ebp - 0x10]
mov ecx, 0x4e926b
mov dword [ecx], eax
mov al, byte [ebp - 0xc]
mov byte [ecx + 4], al
lea eax, [ebp - 8]
push eax
push dword [ebp - 4]
mov dword [ebp - 8], 0
push 5
push ecx
call esi
test eax, eax
jne 0x1006435b
call edi
mov eax, dword [0x1025c270]
sub eax, 0
je 0x1006447b
sub eax, 1
je 0x10064426
sub eax, 1
jne 0x100644c0
push 0x10064210
push 0x5bfad8
push 0xe9
call fcn.100cf940
push 0x100641d0
push 0x4ebc06
push 0xe9
call fcn.100cf940
push 0x10064200
push 0x5c0000
push 0xe9
call fcn.100cf940
push 0x10063510
push 0x7e5cb6
push 0xe8
call fcn.100cf940
push fcn.10063160
push 0x5bfc9b
push 0xe8
call fcn.100cf940
push 0x100630a0
push 0x5bfec6
push 0xe9
call fcn.100cf940
add esp, 0x48
push 0x10063120
push 0x5bfe5f
push 0xe9
call fcn.100cf940
push 0x10064700
push 0x4ec410
push 0xe9
call fcn.100cf940
add esp, 0x18
jmp 0x100644c0
push 0x10063510
push 0x7e5cb6
push 0xe8
call fcn.100cf940
push fcn.10063160
push 0x5bfc9b
push 0xe8
call fcn.100cf940
push 0x100630a0
push 0x5bfec6
push 0xe9
call fcn.100cf940
push 0x10063120
push 0x5bfe5f
push 0xe9
call fcn.100cf940
add esp, 0x2c
jmp 0x1006447c
push ecx
mov edx, 0xa
mov dword [0x105970ac], 0x4ec4ce
mov ecx, 0x4ec4c4
call fcn.100cf330
push 0xe9
mov edx, 0x10065060
mov ecx, 0x4ec4c4
call fcn.100cf2c0
push 0x10064120
push 0x7e5ca2
push 0xe9
call fcn.100cf940
add esp, 0x14
push ecx
mov edx, 0xa
mov dword [0x105970b0], 0x4ec2af
mov ecx, 0x4ec2a5
call fcn.100cf330
add esp, 4
mov byte [ebp - 0x10], 0xe9
mov eax, 0x10065070
mov dword [ebp - 4], 0
sub eax, 0x4ec2aa
mov dword [ebp - 0xf], eax
lea eax, [ebp - 4]
push eax
push 0x40
push 5
push 0x4ec2a5
call esi
test eax, eax
je 0x1006452f
mov eax, dword [ebp - 0x10]
mov ecx, 0x4ec2a5
mov dword [ecx], eax
mov al, byte [ebp - 0xc]
mov byte [ecx + 4], al
lea eax, [ebp - 8]
push eax
push dword [ebp - 4]
mov dword [ebp - 8], 0
push 5
push ecx
call esi
test eax, eax
jne 0x10064531
call edi
push ecx
mov edx, 0xa
mov dword [0x105970b4], 0x4ec3b3
mov ecx, 0x4ec3a9
call fcn.100cf330
add esp, 4
mov byte [ebp - 0x10], 0xe9
mov eax, 0x10065080
mov dword [ebp - 4], 0
sub eax, 0x4ec3ae
mov dword [ebp - 0xf], eax
lea eax, [ebp - 4]
push eax
push 0x40
push 5
push 0x4ec3a9
call esi
test eax, eax
je 0x100645a0
mov eax, dword [ebp - 0x10]
mov ecx, 0x4ec3a9
mov dword [ecx], eax
mov al, byte [ebp - 0xc]
mov byte [ecx + 4], al
lea eax, [ebp - 8]
push eax
push dword [ebp - 4]
mov dword [ebp - 8], 0
push 5
push ecx
call esi
test eax, eax
jne 0x100645a2
call edi
push ecx
mov edx, 0xd
mov dword [0x105970b8], 0x4ebd8c
mov ecx, 0x4ebd7f
call fcn.100cf330
add esp, 4
mov byte [ebp - 0x10], 0xe9
mov eax, 0x10065090
mov dword [ebp - 4], 0
sub eax, 0x4ebd84
mov dword [ebp - 0xf], eax
lea eax, [ebp - 4]
push eax
push 0x40
push 5
push 0x4ebd7f
call esi
test eax, eax
je 0x10064611
mov eax, dword [ebp - 0x10]
mov ecx, 0x4ebd7f
mov dword [ecx], eax
mov al, byte [ebp - 0xc]
mov byte [ecx + 4], al
lea eax, [ebp - 8]
push eax
push dword [ebp - 4]
mov dword [ebp - 8], 0
push 5
push ecx
call esi
test eax, eax
jne 0x10064613
call edi
push ecx
mov edx, 0xa
mov dword [0x105970bc], 0x4ebef3
mov ecx, 0x4ebee9
call fcn.100cf330
add esp, 4
mov byte [ebp - 0x10], 0xe9
mov eax, 0x100650a0
mov dword [ebp - 4], 0
sub eax, 0x4ebeee
mov dword [ebp - 0xf], eax
lea eax, [ebp - 4]
push eax
push 0x40
push 5
push 0x4ebee9
call esi
test eax, eax
je 0x10064682
mov eax, dword [ebp - 0x10]
mov ecx, 0x4ebee9
mov dword [ecx], eax
mov al, byte [ebp - 0xc]
mov byte [ecx + 4], al
lea eax, [ebp - 8]
push eax
push dword [ebp - 4]
mov dword [ebp - 8], 0
push 5
push ecx
call esi
test eax, eax
jne 0x10064684
call edi
push ecx
mov edx, 0xa
mov dword [0x105970c0], 0x4ecab4
mov ecx, 0x4ecaaa
call fcn.100cf330
add esp, 4
mov byte [ebp - 0x10], 0xe9
mov eax, 0x100650b0
mov dword [ebp - 4], 0
sub eax, 0x4ecaaf
mov dword [ebp - 0xf], eax
lea eax, [ebp - 4]
push eax
push 0x40
push 5
push 0x4ecaaa
call esi
test eax, eax
je 0x100646f3
mov eax, dword [ebp - 0x10]
mov ecx, 0x4ecaaa
mov dword [ecx], eax
mov al, byte [ebp - 0xc]
mov byte [ecx + 4], al
lea eax, [ebp - 8]
push eax
push dword [ebp - 4]
mov dword [ebp - 8], 0
push 5
push ecx
call esi
test eax, eax
jne 0x100646f5
call edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret