Function at 0x140011479
Capabilities:
Allocate or change rwx memory
Create thread
Inject thread
Spawn thread to rwx shellcode

Disassembly:
jmp 0x140012220
push rbp
push rdi
sub rsp, 0x208
lea rbp, [rsp + 0x40]
lea rdi, [rsp + 0x40]
mov ecx, 0x42
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rax, qword [0x14001e018]
xor rax, rbp
mov qword [rbp + 0x1b8], rax
lea rcx, [0x1400240f4]
call fcn.140011424
mov dword [rbp + 4], 0
mov qword [rbp + 0x28], 0
lea rdx, [0x14001ace4]
lea rcx, str.ZElementClient_Window
call qword [sym.imp.USER32.dll_FindWindowW]
mov qword [rbp + 0x48], rax
lea rdx, [rbp + 0x28]
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov r8d, dword [rbp + 0x28]
xor edx, edx
mov ecx, 0x1fffff
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov qword [rbp + 0x68], rax
mov rcx, qword [section..data]
call fcn.1400111e5
add rax, 2
mov dword [rsp + 0x20], 4
mov r9d, 0x3000
mov r8, rax
xor edx, edx
mov rcx, qword [rbp + 0x68]
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov qword [rbp + 0x88], rax
mov rcx, qword [section..data]
call fcn.1400111e5
add rax, 2
mov qword [rsp + 0x20], 0
mov r9, rax
mov r8, qword [section..data]
mov rdx, qword [rbp + 0x88]
mov rcx, qword [rbp + 0x68]
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
lea rcx, str.kernel32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [rbp + 0xa8], rax
lea rdx, str.LoadLibraryA
mov rcx, qword [rbp + 0xa8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp + 0xc8], rax
cmp qword [rbp + 0xc8], 0
jne 0x140012370
lea rdx, str.GetProcAddress_failed
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14001108c
lea rdx, [0x14001103c]
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
jmp 0x140012412
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov rax, qword [rbp + 0x88]
mov qword [rsp + 0x20], rax
mov r9, qword [rbp + 0xc8]
xor r8d, r8d
xor edx, edx
mov rcx, qword [rbp + 0x68]
call qword [sym.imp.KERNEL32.dll_CreateRemoteThread]
mov qword [rbp + 0xe8], rax
cmp qword [rbp + 0xe8], 0
jne 0x1400123d9
lea rdx, str.CreateRemoteThread_failed
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14001108c
lea rdx, [0x14001103c]
mov rcx, rax
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
jmp 0x140012412
mov edx, 0xffffffff
mov rcx, qword [rbp + 0xe8]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, qword [rbp + 0xe8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r9d, 0x10000
xor r8d, r8d
mov rdx, qword [rbp + 0x88]
mov rcx, qword [rbp + 0x68]
call qword [sym.imp.KERNEL32.dll_VirtualFreeEx]
lea rcx, [rbp - 0x40]
lea rdx, [0x14001ac40]
call fcn.1400113b1
mov rcx, qword [rbp + 0x1b8]
xor rcx, rbp
call fcn.140011221
lea rsp, [rbp + 0x1c8]
pop rdi
pop rbp
ret