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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r14
lea rbp, [rsp - 0x13b0]
mov eax, 0x14b0
call fcn.14009daa0
sub rsp, rax
movaps xmmword [rsp + 0x14a0], xmm6
movaps xmmword [rsp + 0x1490], xmm7
movaps xmmword [rsp + 0x1480], xmm8
movaps xmmword [rsp + 0x1470], xmm9
movaps xmmword [rsp + 0x1460], xmm10
movaps xmmword [rsp + 0x1450], xmm11
mov rax, qword [0x1400ca040]
xor rax, rsp
mov qword [rbp + 0x1340], rax
movss xmm0, dword [0x1400cda90]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
mov rsi, rcx
jp 0x14000906f
jne 0x14000906f
movss xmm0, dword [0x1400cda94]
ucomiss xmm0, xmm1
jp 0x14000906f
jne 0x14000906f
movss xmm0, dword [0x1400cda98]
ucomiss xmm0, xmm1
jp 0x14000906f
jne 0x14000906f
mov rcx, qword [rcx + 8]
xor ebx, ebx
add rcx, 0x160
mov qword [rsp + 0x40], rbx
call fcn.14006e050
test rax, rax
je 0x14000905b
xor ecx, ecx
lea r8d, [rbx + 0xc]
mov qword [rsp + 0x40], rcx
lea rdx, [rsp + 0x40]
mov dword [rsp + 0x48], ecx
lea rcx, [rax + 0x140]
call fcn.14006a210
mov ebx, dword [rsp + 0x48]
movsd xmm0, qword [rsp + 0x40]
movsd qword [0x1400cda90], xmm0
mov dword [0x1400cda98], ebx
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rbp + 0x1334], 0xffffffff
mov edx, 1
mov dword [rbp - 0x4c], eax
nop word [rax + rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rbp + rdx*4 - 0x4c], eax
inc rdx
cmp rdx, 0x270
jb 0x140009090
movsd xmm8, qword [0x1400b7c78]
mov edx, 0x270
movsd xmm11, qword [0x1400b7d68]
mov edi, 2
mov dword [rbp - 0x50], edx
movaps xmm2, xmm8
mov r10d, edi
xorps xmm7, xmm7
xorps xmm1, xmm1
xor r14d, r14d
nop
cmp edx, 0x270
jne 0x140009131
lea r8, [rbp - 0x48]
mov r9d, edx
nop
mov edx, dword [r8 - 4]
xor edx, dword [r8]
lea r8, [r8 + 4]
btr edx, 0x1f
xor edx, dword [r8 - 8]
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, edx
xor ecx, dword [r8 + 0x62c]
mov dword [r8 + 0x9b8], ecx
sub r9, 1
jne 0x1400090f0
mov edx, dword [rbp - 0x50]
jmp 0x14000920c
cmp edx, 0x4e0
jb 0x14000920c
mov r8, r14
mov eax, dword [rbp + r8*4 + 0x974]
mov edx, eax
xor edx, dword [rbp + r8*4 + 0x978]
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [rbp + r8*4 + 0xfa8]
xor ecx, edx
mov dword [rbp + r8*4 - 0x4c], ecx
inc r8
cmp r8, 0xe3
jb 0x140009140
mov r8d, 0xe3
nop dword [rax]
mov eax, dword [rbp + r8*4 + 0x974]
mov edx, eax
xor edx, dword [rbp + r8*4 + 0x978]
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [rbp + r8*4 - 0x3d8]
xor ecx, edx
mov dword [rbp + r8*4 - 0x4c], ecx
inc r8
cmp r8, 0x26f
jb 0x140009190
mov edx, dword [rbp + 0x1330]
mov eax, dword [rbp - 0x4c]
and edx, 0x80000000
btr eax, 0x1f
or edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, edx
mov edx, r14d
xor ecx, dword [rbp + 0x5e4]
mov dword [rbp + 0x970], ecx
mov dword [rbp - 0x50], edx
mov eax, edx
xorps xmm0, xmm0
inc edx
mov ecx, dword [rbp + rax*4 - 0x4c]
mov eax, ecx
shr eax, 0xb
and eax, dword [rbp + 0x1334]
xor ecx, eax
mov dword [rbp - 0x50], edx
mov eax, ecx
and eax, 0xff3a58ad
shl eax, 7
xor ecx, eax
mov eax, ecx
and eax, 0xffffdf8c
shl eax, 0xf
xor ecx, eax
mov eax, ecx
shr eax, 0x12
xor eax, ecx
cvtsi2sd xmm0, rax
subsd xmm0, xmm7
mulsd xmm0, xmm2
mulsd xmm2, xmm11
addsd xmm1, xmm0
sub r10, 1
jne 0x1400090e0
movsd xmm3, qword [0x1400b7cd0]
xorps xmm10, xmm10
movss xmm5, dword [0x1400cda90]
mov rbx, rdi
movsd xmm4, qword [0x1400b7cc8]
divsd xmm1, xmm2
cvtps2pd xmm5, xmm5
mulsd xmm1, xmm3
movaps xmm2, xmm8
subsd xmm1, xmm4
addsd xmm1, xmm5
cvtsd2ss xmm10, xmm1
movaps xmm1, xmm7
lea rcx, [rbp - 0x50]
call fcn.14000a010
mov eax, eax
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
subsd xmm0, xmm7
mulsd xmm0, xmm2
mulsd xmm2, xmm11
addsd xmm1, xmm0
sub rbx, 1
jne 0x1400092a4
movss xmm6, dword [0x1400cda98]
lea rcx, [rbp - 0x50]
divsd xmm1, xmm2
cvtps2pd xmm6, xmm6
mulsd xmm1, xmm3
xorps xmm9, xmm9
subsd xmm1, xmm4
addsd xmm1, xmm6
cvtsd2ss xmm9, xmm1
call fcn.14000a010
mov ecx, eax
add rcx, rcx
shr rcx, 0x20
test ecx, ecx
jne 0x1400093a5
movaps xmm1, xmm7
movaps xmm2, xmm8
mov rbx, rdi
lea rcx, [rbp - 0x50]
call fcn.14000a010
mov eax, eax
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
subsd xmm0, xmm7
mulsd xmm0, xmm2
mulsd xmm2, xmm11
addsd xmm1, xmm0
sub rbx, 1
jne 0x140009316
divsd xmm1, xmm2
xorps xmm10, xmm10
mulsd xmm1, xmm3
subsd xmm1, xmm4
addsd xmm1, xmm5
cvtsd2ss xmm10, xmm1
movaps xmm1, xmm7
nop dword [rax]
lea rcx, [rbp - 0x50]
call fcn.14000a010
mov eax, eax
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
subsd xmm0, xmm7
mulsd xmm0, xmm8
mulsd xmm8, xmm11
addsd xmm1, xmm0
sub rdi, 1
jne 0x140009360
divsd xmm1, xmm8
xorps xmm9, xmm9
mulsd xmm1, xmm3
subsd xmm1, xmm4
addsd xmm1, xmm6
cvtsd2ss xmm9, xmm1
mov rcx, qword [rsi + 8]
movaps xmm6, xmmword [0x1400b7ef0]
add rcx, 0x160
movss xmm8, dword [0x1400cda94]
movaps xmm7, xmm6
mov dword [rbp - 0x60], 0x3f800000
call fcn.14006e050
movups xmm0, xmmword [rbp - 0x60]
movabs rdx, 0x7fffffffffbffffe
movaps xmmword [rsp + 0x50], xmm6
shufps xmm0, xmm0, 0xe1
lea rcx, [rax + 0x11c]
movss xmm0, xmm10
movaps xmmword [rsp + 0x60], xmm6
shufps xmm0, xmm0, 0xc6
lea rax, [rcx - 0x400001]
movss xmm0, xmm8
shufps xmm0, xmm0, 0x27
movss xmm0, xmm9
shufps xmm0, xmm0, 0x39
movaps xmmword [rsp + 0x70], xmm0
movups xmmword [rbp - 0x60], xmm0
cmp rax, rdx
ja 0x140009488
lea rax, [rsp + 0x50]
mov qword [rsp + 0x38], r14
mov qword [rbp - 0x70], rax
lea r8, [rbp - 0x80]
mov eax, dword [0x1400cdb58]
mov r9d, 0x28
mov qword [rbp - 0x78], rcx
mov edx, 0x2201c4
mov rcx, qword [0x1400cdb50]
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], r14d
mov dword [rbp - 0x7c], eax
mov dword [rbp - 0x5f], r14d
mov word [rbp - 0x5b], r14w
mov byte [rbp - 0x59], r14b
mov dword [rbp - 0x80], 0x85b3e12
mov qword [rbp - 0x68], 0x30
mov byte [rbp - 0x60], 1
mov qword [rsp + 0x20], r14
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov rcx, qword [rbp + 0x1340]
xor rcx, rsp
call fcn.14009c500
lea r11, [rsp + 0x14b0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret