Function at 0x1400012d0
Capabilities:
Create thread
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub 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]
mov rdx, qword [0x1400056e8]
xor edi, edi
mov rax, qword [0x1400056e0]
mov rcx, rdx
sub rcx, rax
mov r8d, edi
cmp rax, rdx
cmova rcx, rdi
test rcx, rcx
je 0x14000136f
cmp rcx, 0x40
jb 0x14000136f
movdqa xmm1, xmmword [0x140003490]
and rcx, 0xffffffffffffffc0
nop dword [rax]
nop word [rax + rax]
movdqu xmm0, xmmword [rax]
add r8, 0x40
xorps xmm0, xmm1
movdqu xmmword [rax], xmm0
movdqu xmm0, xmmword [rax + 0x10]
xorps xmm0, xmm1
movdqu xmmword [rax + 0x10], xmm0
movdqu xmm0, xmmword [rax + 0x20]
xorps xmm0, xmm1
movdqu xmmword [rax + 0x20], xmm0
movdqu xmm0, xmmword [rax + 0x30]
xorps xmm0, xmm1
movdqu xmmword [rax + 0x30], xmm0
add rax, 0x40
cmp r8, rcx
jne 0x140001330
cmp rax, rdx
je 0x14000137f
xor byte [rax], 0xaa
inc rax
cmp rax, rdx
jne 0x140001374
mov rdx, qword [0x1400056e8]
mov r8, rdi
mov rax, qword [0x1400056e0]
mov rcx, rdx
sub rcx, rax
cmp rax, rdx
cmova rcx, rdi
test rcx, rcx
je 0x14000140f
cmp rcx, 0x40
jb 0x14000140f
movdqa xmm2, xmmword [str.UUUUUUUUUUUUUUUU]
and rcx, 0xffffffffffffffc0
nop dword [rax]
nop dword [rax + rax]
movdqu xmm0, xmmword [rax]
add r8, 0x40
movdqa xmm1, xmm2
xorps xmm1, xmm0
movdqu xmmword [rax], xmm1
movdqu xmm0, xmmword [rax + 0x10]
movdqa xmm1, xmm2
xorps xmm1, xmm0
movdqu xmmword [rax + 0x10], xmm1
movdqu xmm0, xmmword [rax + 0x20]
movdqa xmm1, xmm2
xorps xmm1, xmm0
movdqu xmmword [rax + 0x20], xmm1
movdqu xmm0, xmmword [rax + 0x30]
movdqa xmm1, xmm2
xorps xmm1, xmm0
movdqu xmmword [rax + 0x30], xmm1
add rax, 0x40
cmp r8, rcx
jne 0x1400013c0
cmp rax, rdx
je 0x14000141f
xor byte [rax], 0x55
inc rax
cmp rax, rdx
jne 0x140001414
mov rbx, qword [0x1400056e8]
sub rbx, qword [0x1400056e0]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov rcx, qword [0x1400056e8]
xor edx, edx
cdqe
div rbx
mov byte [rsp + 0x40], 0x90
movsxd rbx, edx
add rbx, qword [0x1400056e0]
cmp rcx, qword [0x1400056f0]
je 0x140001490
cmp rbx, rcx
jne 0x14000146a
mov byte [rcx], 0x90
inc qword [0x1400056e8]
jmp 0x14000149d
movzx eax, byte [rcx - 1]
mov r8, rcx
mov byte [rcx], al
sub r8, rbx
inc qword [0x1400056e8]
dec r8
sub rcx, r8
mov rdx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx], 0x90
jmp 0x14000149d
lea r8, [rsp + 0x40]
mov rdx, rbx
call fcn.1400017a0
mov qword [rsp + 0x28], rdi
lea r9, [0x1400056e0]
lea r8, [0x1400011b0]
mov dword [rsp + 0x20], edi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rbx, rax
test rax, rax
jne 0x1400014f7
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
lea rdx, str.Thread_creation_failed
call fcn.140001520
mov rcx, rax
lea rdx, [0x1400016f0]
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]
lea eax, [rbx + 1]
mov rbx, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
mov edx, 0xffffffff
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rbx, qword [rsp + 0x48]
xor eax, eax
add rsp, 0x30
pop rdi
ret