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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [0x10016040]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x2e
mov edx, 0xa63ff3
mov ecx, 0x10001980
call fcn.1000d080
push 6
mov edx, 0x5f6994
mov ecx, 0x10001970
call fcn.1000d080
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [ebp - 0x10]
add esp, 8
push eax
push 0x40
push 1
push 0x5f6b89
call esi
lea eax, [ebp - 0x10]
mov byte [0x5f6b89], 8
push eax
push dword [ebp - 0x10]
push 1
push 0x5f6b89
call esi
lea eax, [ebp - 0x10]
push eax
push 0x40
push 1
push 0x5f6ba2
call esi
lea eax, [ebp - 0x10]
mov byte [0x5f6ba2], 0xa0
push eax
push dword [ebp - 0x10]
push 1
push 0x5f6ba2
call esi
mov dword [ebp - 0xc], 0x900c75ff
mov edi, 0x5f6ba4
mov word [ebp - 8], 0x9090
mov ebx, 7
mov byte [ebp - 6], 0x90
lea eax, [ebp - 0x10]
push eax
push 0x40
push 1
push edi
call esi
mov al, byte [ebp + edi - 0x5f6bb0]
mov byte [edi], al
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 0x10]
push 1
push edi
call esi
inc edi
sub ebx, 1
jne 0x10001a65
lea eax, [ebp - 0x10]
push eax
push 0x40
push 1
push 0x496634
call esi
lea eax, [ebp - 0x10]
mov byte [0x496634], 0x47
push eax
push dword [ebp - 0x10]
push 1
push 0x496634
call esi
lea eax, [ebp - 0x10]
push eax
push 0x40
push 5
push 0x9f1c04
call esi
mov eax, 0x9f1c04
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 0x10]
push 5
push 0x9f1c04
call esi
lea eax, [ebp - 0x10]
push eax
push 0x40
push 1
push 0x9f242f
call esi
lea eax, [ebp - 0x10]
mov byte [0x9f242f], 0xeb
push eax
push dword [ebp - 0x10]
push 1
push 0x9f242f
call esi
lea eax, [ebp - 0x10]
push eax
push 0x40
push 1
push 0x9f6edc
call esi
lea eax, [ebp - 0x10]
mov byte [0x9f6edc], 0xeb
push eax
push dword [ebp - 0x10]
push 1
push 0x9f6edc
call esi
lea eax, [ebp - 0x10]
push eax
push 0x40
push 1
push 0x9f74ed
call esi
lea eax, [ebp - 0x10]
mov byte [0x9f74ed], 0xf
push eax
push dword [ebp - 0x10]
push 1
push 0x9f74ed
call esi
push 7
mov edx, 0x9f753c
mov ecx, 0x10001590
call fcn.1000d080
add esp, 4
lea eax, [ebp - 0x10]
push eax
push 0x40
push 0x15
push 0xc08459
call esi
mov eax, 0xc08459
mov dword [eax], 0x20202020
mov dword [eax + 4], 0x20202020
mov dword [eax + 8], 0x20202020
mov dword [eax + 0xc], 0x20202020
mov dword [eax + 0x10], 0x20202020
mov byte [eax + 0x14], 0x20
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 0x10]
push 0x15
push 0xc08459
call esi
lea eax, [ebp - 0x10]
push eax
push 0x40
push 1
push 0xc08459
call esi
lea eax, [ebp - 0x10]
mov byte [0xc08459], 0x22
push eax
push dword [ebp - 0x10]
push 1
push 0xc08459
call esi
lea eax, [ebp - 0x10]
push eax
push 0x40
push 9
push 0xc0845a
call esi
movq xmm0, qword [str.asInvoker]
mov ecx, 0xc0845a
movq qword [ecx], xmm0
mov al, byte [0x10012584]
mov byte [ecx + 8], al
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 0x10]
push 9
push ecx
call esi
lea eax, [ebp - 0x10]
push eax
push 0x40
push 1
push 0xc08463
call esi
lea eax, [ebp - 0x10]
mov byte [0xc08463], 0x22
push eax
push dword [ebp - 0x10]
push 1
push 0xc08463
call esi
lea eax, [ebp - 0x10]
push eax
push 0x40
push 1
push 0x49c2ce
call esi
lea eax, [ebp - 0x10]
mov byte [0x49c2ce], 1
push eax
push dword [ebp - 0x10]
push 1
push 0x49c2ce
call esi
lea eax, [ebp - 0x10]
push eax
push 0x40
push 1
push 0x49cfe9
call esi
lea eax, [ebp - 0x10]
mov byte [0x49cfe9], 1
push eax
push dword [ebp - 0x10]
push 1
push 0x49cfe9
call esi
lea eax, [ebp - 0x10]
push eax
push 0x40
push 1
push 0x49d399
call esi
lea eax, [ebp - 0x10]
mov byte [0x49d399], 1
push eax
push dword [ebp - 0x10]
push 1
push 0x49d399
call esi
lea eax, [ebp - 0x10]
push eax
push 0x40
push 0x2e
push 0xafe084
call esi
push 0x2e
push ebx
push 0xafe084
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 0x10]
push 0x2e
push 0xafe084
call esi
cmp dword [0x10016f94], 0xf
mov ebx, 0x10016f80
cmova ebx, dword [0x10016f80]
mov edi, ebx
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x10001ce8
lea eax, [ebp - 0x10]
sub edi, ecx
push eax
push 0x40
push edi
push 0xafe084
call esi
push edi
push ebx
push 0xafe084
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 0x10]
push edi
push 0xafe084
call esi
mov edi, ebx
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x10001d22
lea eax, [ebp - 0x10]
sub edi, ecx
push eax
push 0x40
push edi
push 0xafe094
call esi
push edi
push ebx
push 0xafe094
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 0x10]
push edi
push 0xafe094
call esi
mov edi, ebx
lea ecx, [edi + 1]
nop dword [eax]
mov al, byte [edi]
inc edi
test al, al
jne 0x10001d60
lea eax, [ebp - 0x10]
sub edi, ecx
push eax
push 0x40
push edi
push 0xafe0a4
call esi
push edi
push ebx
push 0xafe0a4
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 0x10]
push edi
push 0xafe0a4
call esi
lea eax, [ebp - 0x10]
push eax
push 0x40
push 2
push 0x485c32
call esi
mov eax, 0x485c32
mov ecx, 0x90909090
mov word [eax], cx
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 0x10]
push 2
push 0x485c32
call esi
lea eax, [ebp - 0x10]
push eax
push 0x40
push 8
push 0xafe8a0
call esi
movsd xmm0, qword [0x10013ca8]
lea eax, [ebp - 0x10]
push eax
movsd qword [0xafe8a0], xmm0
push dword [ebp - 0x10]
push 8
push 0xafe8a0
call esi
lea eax, [ebp - 0x10]
push eax
push 0x40
push 4
push 0x8c3305
call esi
lea eax, [ebp - 0x10]
mov dword [0x8c3305], 0xf423f
push eax
push dword [ebp - 0x10]
push 4
push 0x8c3305
call esi
lea eax, [ebp - 0x10]
push eax
push 0x40
push 4
push 0x780746
call esi
lea eax, [ebp - 0x10]
mov dword [0x780746], 0xbe
push eax
push dword [ebp - 0x10]
push 4
push 0x780746
call esi
lea eax, [ebp - 0x10]
push eax
push 0x40
push 4
push 0x8c4287
call esi
mov dword [0x8c4287], 0xbe
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 0x10]
push 4
push 0x8c4287
call esi
lea eax, [ebp - 0x10]
push eax
push 0x40
push 4
push 0x94d91f
call esi
lea eax, [ebp - 0x10]
mov dword [0x94d91f], 0xbe
push eax
push dword [ebp - 0x10]
push 4
push 0x94d91f
call esi
lea eax, [ebp - 0x10]
push eax
push 0x40
push 1
push 0x40013e
call esi
lea eax, [ebp - 0x10]
mov byte [0x40013e], 0x2f
push eax
push dword [ebp - 0x10]
push 1
push 0x40013e
call esi
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10010289
mov esp, ebp
pop ebp
ret