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

Disassembly:
push rbx
push rsi
push r14
sub rsp, 0x70
mov rax, qword [0x14006e040]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov rsi, rdx
mov r14, rcx
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rdx + rbx], 0
jne 0x140001e25
lea rcx, [0x1400656e0]
mov qword [rsp + 0x68], rdi
inc rbx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test rax, rax
jne 0x140001ea9
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor edi, edi
lea rbx, [0x1400f70f0]
mov qword [rsp + 0x30], rdi
mov r9d, 0x400
mov dword [rsp + 0x28], 0x104
mov r8d, eax
xor edx, edx
mov qword [rsp + 0x20], rbx
mov ecx, 0x1200
mov esi, eax
call qword [sym.imp.KERNEL32.dll_FormatMessageA]
test eax, eax
jne 0x140001e93
mov edx, esi
lea rcx, str.Error_at_getting_the_last_error_format_of_code_0x_lx_n
call fcn.140001d30
mov rdx, rbx
lea rcx, str.Error_at_GetModuleHandleA__code_msg___s
call fcn.140001d30
xor eax, eax
jmp 0x140002206
lea rdx, [0x140065720]
mov qword [rsp + 0x60], r15
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r15, rax
test rax, rax
jne 0x140001f27
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor edi, edi
lea rbx, [0x1400f70f0]
mov qword [rsp + 0x30], rdi
mov r9d, 0x400
mov dword [rsp + 0x28], 0x104
mov r8d, eax
xor edx, edx
mov qword [rsp + 0x20], rbx
mov ecx, 0x1200
mov esi, eax
call qword [sym.imp.KERNEL32.dll_FormatMessageA]
test eax, eax
jne 0x140001f11
mov edx, esi
lea rcx, str.Error_at_getting_the_last_error_format_of_code_0x_lx_n
call fcn.140001d30
mov rdx, rbx
lea rcx, str.Error_at_GetProcAddress__code_msg___s
call fcn.140001d30
xor eax, eax
jmp 0x140002201
mov r9d, 0x3000
mov qword [rsp + 0xa0], rbp
mov r8, rbx
mov dword [rsp + 0x20], 0x40
xor edx, edx
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov rbp, rax
test rax, rax
jne 0x140001faa
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor edi, edi
lea rbx, [0x1400f70f0]
mov qword [rsp + 0x30], rdi
mov r9d, 0x400
mov dword [rsp + 0x28], 0x104
mov r8d, eax
xor edx, edx
mov qword [rsp + 0x20], rbx
mov ecx, 0x1200
mov esi, eax
call qword [sym.imp.KERNEL32.dll_FormatMessageA]
test eax, eax
jne 0x140001f9e
mov edx, esi
lea rcx, str.Error_at_getting_the_last_error_format_of_code_0x_lx_n
call fcn.140001d30
lea rcx, str.Error_at_VirtualAllocEx__code_msg___s
jmp 0x1400021ef
lea rax, [rsp + 0x48]
xor edi, edi
mov r9, rbx
mov qword [rsp + 0x48], rdi
mov r8, rsi
mov qword [rsp + 0x20], rax
mov rdx, rbp
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x14000219f
cmp qword [rsp + 0x48], rbx
jne 0x14000219f
mov qword [rsp + 0x30], rdi
mov r9, r15
mov dword [rsp + 0x28], edi
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], rbp
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CreateRemoteThread]
mov rbx, rax
test rax, rax
jne 0x14000205c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov qword [rsp + 0x30], rdi
lea rbx, [0x1400f70f0]
mov r8d, eax
mov dword [rsp + 0x28], 0x104
mov r9d, 0x400
mov qword [rsp + 0x20], rbx
xor edx, edx
mov ecx, 0x1200
mov esi, eax
call qword [sym.imp.KERNEL32.dll_FormatMessageA]
test eax, eax
jne 0x140002050
mov edx, esi
lea rcx, str.Error_at_getting_the_last_error_format_of_code_0x_lx_n
call fcn.140001d30
lea rcx, str.Error_at_CreateRemoteThread__code_msg___s
jmp 0x1400021ef
mov edx, 0xffffffff
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x1400020c3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov qword [rsp + 0x30], rdi
lea rbx, [0x1400f70f0]
mov r8d, eax
mov dword [rsp + 0x28], 0x104
mov r9d, 0x400
mov qword [rsp + 0x20], rbx
xor edx, edx
mov ecx, 0x1200
mov esi, eax
call qword [sym.imp.KERNEL32.dll_FormatMessageA]
test eax, eax
jne 0x1400020b7
mov edx, esi
lea rcx, str.Error_at_getting_the_last_error_format_of_code_0x_lx_n
call fcn.140001d30
lea rcx, str.Error_at_WaitForSingleObject__code_msg___s
jmp 0x1400021ef
lea rdx, [rsp + 0x40]
mov dword [rsp + 0x40], edi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetExitCodeThread]
test eax, eax
jne 0x14000212e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov qword [rsp + 0x30], rdi
lea rbx, [0x1400f70f0]
mov r8d, eax
mov dword [rsp + 0x28], 0x104
mov r9d, 0x400
mov qword [rsp + 0x20], rbx
xor edx, edx
mov ecx, 0x1200
mov esi, eax
call qword [sym.imp.KERNEL32.dll_FormatMessageA]
test eax, eax
jne 0x140002122
mov edx, esi
lea rcx, str.Error_at_getting_the_last_error_format_of_code_0x_lx_n
call fcn.140001d30
lea rcx, str.Error_at_GetExitCodeThread__code_msg___s
jmp 0x1400021ef
mov r9d, 0x8000
xor r8d, r8d
mov rdx, rbp
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_VirtualFreeEx]
test eax, eax
jne 0x140002199
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov qword [rsp + 0x30], rdi
lea rbx, [0x1400f70f0]
mov r8d, eax
mov dword [rsp + 0x28], 0x104
mov r9d, 0x400
mov qword [rsp + 0x20], rbx
xor edx, edx
mov ecx, 0x1200
mov esi, eax
call qword [sym.imp.KERNEL32.dll_FormatMessageA]
test eax, eax
jne 0x140002190
mov edx, esi
lea rcx, str.Error_at_getting_the_last_error_format_of_code_0x_lx_n
call fcn.140001d30
lea rcx, str.Error_at_VirtualFreeEx__code_msg___s
jmp 0x1400021ef
mov eax, dword [rsp + 0x40]
jmp 0x1400021f9
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov qword [rsp + 0x30], rdi
lea rbx, [0x1400f70f0]
mov r8d, eax
mov dword [rsp + 0x28], 0x104
mov r9d, 0x400
mov qword [rsp + 0x20], rbx
xor edx, edx
mov ecx, 0x1200
mov esi, eax
call qword [sym.imp.KERNEL32.dll_FormatMessageA]
test eax, eax
jne 0x1400021e8
mov edx, esi
lea rcx, str.Error_at_getting_the_last_error_format_of_code_0x_lx_n
call fcn.140001d30
lea rcx, str.Error_at_WriteProcessMemory__code_msg___s
mov rdx, rbx
call fcn.140001d30
xor eax, eax
mov rbp, qword [rsp + 0xa0]
mov r15, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.1400083e0
add rsp, 0x70
pop r14
pop rsi
pop rbx
ret