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

Disassembly:
push rbx
push rdi
push r12
sub rsp, 0x110
mov rax, qword [0x1402bf040]
xor rax, rsp
mov qword [rsp + 0xe0], rax
xor edi, edi
mov qword [rsp + 0x48], rcx
mov rbx, rdx
mov r12, rcx
test rdx, rdx
jne 0x14018de9a
mov eax, 0xc000000d
jmp 0x14018e283
mov rax, qword gs:[0x30]
mov ecx, dword [rax + 0x48]
cmp dword [0x1402cea08], ecx
je 0x14018deb8
mov eax, 0xc0000476
jmp 0x14018e283
mov eax, dword [0x1402ce158]
nop
test eax, eax
jne 0x14018e283
test r12, r12
je 0x14018dee7
mov rcx, qword [r12]
test rcx, rcx
jne 0x14018def1
mov dword [0x1402ce158], 0xc0000008
mov qword [0x1402ceab8], r12
mov eax, 0xc0000008
jmp 0x14018e283
mov qword ss:[rsp + 0x140], rbp
mov qword [rsp + 0x108], rsi
mov rsi, rdi
mov qword [rsp + 0x100], r13
mov qword [rsp + 0xf8], r14
mov r14, rdi
mov qword [rsp + 0xf0], r15
call fcn.14018d980
mov rcx, rbx
mov r15, rax
call fcn.14018d980
mov qword [rsp + 0x38], rax
cmp rax, r15
jne 0x14018df4b
cmp dword [0x1402ca974], edi
jne 0x14018e252
jmp 0x14018e203
mov ecx, 0x30
call fcn.1401e4cec
mov rcx, r15
mov qword [rsp + 0x40], rax
mov r14, rax
call fcn.14018d780
mov rsi, rax
test rax, rax
jne 0x14018df77
mov edi, 0xc0000017
jmp 0x14018e203
xor eax, eax
lea r14, [0x1402e5170]
mov qword [rsi + 0x40], rax
mov r8, r15
mov rbp, rsi
mov r13d, edi
movabs r12, 0x8040000403
nop word [rax + rax]
lea rax, [rsp + 0x98]
mov qword [rsp + 0x70], rdi
test rbp, rbp
mov qword [rsp + 0x80], rax
lea rcx, [rsp + 0xa0]
mov dword [rsp + 0x78], edi
lea rax, [rsp + 0x30]
mov qword [rsp + 0x98], rdi
cmovne rcx, rbp
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x30], edi
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x60], xmm0
mov rbx, r8
test r8, r8
jne 0x14018e002
mov ecx, 0xd
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r8, rdi
jmp 0x14018e029
movzx eax, byte ds:[r8]
mov r9, r8
shl rax, 4
mov r8, rcx
add rax, r14
lea rcx, [rsp + 0x60]
mov rdx, rax
mov rax, qword [rax + 8]
call qword [case.0x14013d84a.0]
mov r8, rax
movsxd rax, dword ds:[rsp + 0x30]
mov edx, r8d
sub rax, rbx
sub edx, r15d
add rax, r8
add rbp, rax
movzx eax, bpl
sub al, sil
shl al, 3
movzx ecx, al
xor cl, dl
and cl, 7
xor cl, al
mov eax, r13d
inc r13d
mov byte [rax + rsi + 0x40], cl
cmp r13d, 8
jae 0x14018e0c9
movzx ecx, byte [rbx]
cmp cl, 0xeb
je 0x14018e0c9
lea eax, [rcx + 0x3e]
cmp al, 0x27
ja 0x14018e07b
bt r12, rax
jb 0x14018e0c9
nop dword [rax + rax]
cmp cl, 0xf3
jne 0x14018e13f
cmp byte [rbx + 1], 0xc3
je 0x14018e0c9
cmp cl, 0x26
je 0x14018e0af
cmp cl, 0x2e
je 0x14018e0af
cmp cl, 0x36
je 0x14018e0af
nop
cmp cl, 0x3e
je 0x14018e0af
cmp cl, 0x64
je 0x14018e0af
cmp cl, 0x65
jne 0x14018e0bb
cmp byte [rbx + 1], 0xff
jne 0x14018e0bb
cmp byte [rbx + 2], 0x25
je 0x14018e0c9
nop dword [rax + rax]
cmp edx, 5
jb 0x14018dfa0
mov r14, qword [rsp + 0x40]
mov r12, qword [rsp + 0x48]
cmp edx, 5
jae 0x14018e0fd
mov rcx, r8
call fcn.14018d140
test eax, eax
je 0x14018e1f5
cdqe
add r8, rax
mov rdx, r8
sub edx, r15d
cmp edx, 5
jb 0x14018e0d8
nop dword [rax]
cmp r13d, 8
ja 0x14018e1f5
lea r13, [rsi + 0x1e]
cmp rbp, r13
jbe 0x14018e114
int3
mov byte [rsi + 0x3e], dl
lea rcx, [rsi + 0x20]
mov ebx, edx
sub bpl, sil
mov r8d, edx
mov rdx, r15
mov byte [rsi + 0x1e], bpl
call fcn.14020af00
cmp rbx, 0x19
jbe 0x14018e152
mov edi, 0xc0000008
jmp 0x14018e203
nop
cmp cl, 0xff
jne 0x14018e08f
cmp byte [rbx + 1], 0x25
jmp 0x14018e0b9
movzx edx, byte [rsi + 0x1e]
lea rax, [rbx + r15]
mov qword [rsi + 0x48], rax
add rdx, rsi
mov rax, qword [rsp + 0x38]
mov qword [rsi + 0x50], rax
mov eax, esi
lea rcx, [rdx + 6]
mov word [rdx], 0x25ff
sub eax, ecx
lea rcx, [rdx + 6]
add eax, 0x48
mov dword [rdx + 2], eax
mov rdx, r13
call fcn.14018d0e0
lea rax, [rsp + 0x34]
mov dword [rsp + 0x34], edi
mov r9d, 0x40
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x50]
mov qword [rsp + 0x58], r15
lea rdx, [rsp + 0x58]
mov qword [rsp + 0x50], rbx
mov rcx, 0xffffffffffffffff
call qword [sym.imp.ntdll.dll_NtProtectVirtualMemory]
nop
test eax, eax
jns 0x14018e1c8
mov edi, eax
jmp 0x14018e203
mov dword [r14 + 8], edi
mov qword [r14 + 0x10], r12
mov qword [r14 + 0x20], rsi
mov qword [r14 + 0x18], r15
mov eax, dword [rsp + 0x34]
mov dword [r14 + 0x28], eax
mov rax, qword [0x1402cead0]
mov qword [r14], rax
xor eax, eax
mov qword [0x1402cead0], r14
jmp 0x14018e25b
cmp dword [0x1402ca974], 0
mov edi, 0xc0000141
jne 0x14018e20e
mov dword [0x1402ce158], edi
test rsi, rsi
je 0x14018e23e
xorps xmm0, xmm0
mov r9, rsi
movups xmmword [rsi], xmm0
and r9, 0xffffffffffff0000
movups xmmword [rsi + 0x10], xmm0
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x30], xmm0
movups xmmword [rsi + 0x40], xmm0
movups xmmword [rsi + 0x50], xmm0
mov r8, qword [r9 + 0x10]
mov qword [rsi + 0x48], r8
mov qword [r9 + 0x10], rsi
nop
test r14, r14
je 0x14018e252
mov edx, 0x30
mov rcx, r14
call fcn.1401e4d3c
mov qword [0x1402ceab8], r12
mov eax, edi
mov r14, qword [rsp + 0xf8]
mov r13, qword [rsp + 0x100]
mov rsi, qword [rsp + 0x108]
mov rbp, qword [rsp + 0x140]
mov r15, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0xe0]
xor rcx, rsp
call fcn.1401e4a20
add rsp, 0x110
pop r12
pop rdi
pop rbx
ret