Function at 0x140006bc0
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r14
push r15
mov eax, 0x1410
call fcn.14000c500
sub rsp, rax
mov rax, qword [0x140014040]
xor rax, rsp
mov qword [rsp + 0x1400], rax
mov r14, rcx
cmp byte [rcx + 0x70], 0
je 0x140006e4d
mov r15d, dword [rcx + 8]
mov r12d, dword [rcx + 0xc]
lea eax, [r12 - 0x46]
movzx ebx, ax
shl rbx, 0x10
lea eax, [r15 + 0x74]
movzx ecx, ax
or rbx, rcx
mov r9, rbx
mov edx, 0x201
mov r8d, 1
mov rcx, qword [r14 + 0x20]
call qword [sym.imp.USER32.dll_SendMessageW]
mov r9, rbx
xor r8d, r8d
mov edx, 0x202
mov rcx, qword [r14 + 0x20]
call qword [sym.imp.USER32.dll_SendMessageW]
movdqa xmm1, xmmword [0x140010040]
movdqu xmmword [rsp + 0x20], xmm1
movdqa xmm0, xmmword [0x140010050]
movdqu xmmword [rsp + 0x30], xmm0
movdqa xmm1, xmmword [0x14000ffc0]
movdqu xmmword [rsp + 0x40], xmm1
mov dword [rsp + 0x50], 0x27
mov dword [rsp + 0x54], 5
lea rbx, [rsp + 0x20]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x58], xmm0
mov ecx, 0x38
call fcn.14000b4e0
mov rsi, rax
mov qword [rsp + 0x58], rax
lea rdi, [rax + 0x38]
mov qword [rsp + 0x68], rdi
mov r8d, 0x38
mov rdx, rbx
mov rcx, rax
call sub.VCRUNTIME140.dll_memmove
lea rbx, [rsi + 0x38]
mov qword [rsp + 0x60], rbx
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rsp + 0x13f4], 0xffffffff
mov dword [rsp + 0x74], eax
mov edx, 1
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rsp + rdx*4 + 0x74], eax
inc rdx
cmp rdx, 0x270
jb 0x140006ce0
mov dword [rsp + 0x70], 0x270
sub rbx, rsi
sar rbx, 3
dec ebx
btc ebx, 0x1f
lea rcx, [rsp + 0x70]
cmp ebx, 0x7fffffff
jne 0x140006d2a
call fcn.14000b1a0
mov ecx, eax
jmp 0x140006d68
add ebx, 0x80000001
call fcn.14000b1a0
mov ebp, ebx
mov ecx, eax
imul rcx, rbp
cmp ecx, ebx
jae 0x140006d64
mov eax, ebx
neg eax
xor edx, edx
div ebx
mov ebx, edx
cmp ecx, edx
jae 0x140006d64
nop
lea rcx, [rsp + 0x70]
call fcn.14000b1a0
mov ecx, eax
imul rcx, rbp
cmp ecx, ebx
jb 0x140006d50
shr rcx, 0x20
lea eax, [rcx - 0x80000000]
cdqe
xor rax, 0xffffffff80000000
mov rcx, qword [rsi + rax*8]
mov rax, rcx
shr rax, 0x20
add ax, r12w
movzx ebx, ax
shl rbx, 0x10
lea eax, [rcx + r15]
movzx ecx, ax
or rbx, rcx
mov r9, rbx
mov edx, 0x201
mov r8d, 1
mov rcx, qword [r14 + 0x20]
call qword [sym.imp.USER32.dll_SendMessageW]
mov r9, rbx
xor r8d, r8d
mov edx, 0x202
mov rcx, qword [r14 + 0x20]
call qword [sym.imp.USER32.dll_SendMessageW]
sub r12w, 0x62
movzx ebx, r12w
shl rbx, 0x10
mov eax, 0x9a
add r15w, ax
movzx eax, r15w
or rbx, rax
mov r9, rbx
mov edx, 0x201
mov r8d, 1
mov rcx, qword [r14 + 0x20]
call qword [sym.imp.USER32.dll_SendMessageW]
mov r9, rbx
xor r8d, r8d
mov edx, 0x202
mov rcx, qword [r14 + 0x20]
call qword [sym.imp.USER32.dll_SendMessageW]
nop
test rsi, rsi
je 0x140006e4d
sub rdi, rsi
and rdi, 0xfffffffffffffff8
mov rax, rsi
cmp rdi, 0x1000
jb 0x140006e42
add rdi, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140006e42
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rdx, rdi
mov rcx, rsi
call fcn.14000b82c
mov rcx, qword [rsp + 0x1400]
xor rcx, rsp
call fcn.14000b3a0
lea r11, [rsp + 0x1410]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret