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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
push rdi
sub rsp, 0xe0
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
movaps xmmword [rax - 0x58], xmm10
mov rax, qword [0x14013d040]
xor rax, rsp
mov qword [rsp + 0x88], rax
movaps xmm6, xmm1
mov rsi, rcx
mov ecx, 4
mov rax, qword gs:[0x58]
mov rdx, qword [rax]
mov eax, dword [rcx + rdx]
cmp dword [0x1402005f8], eax
jle 0x140005a36
lea rcx, [0x1402005f8]
call fcn.1400f40b8
cmp dword [0x1402005f8], 0xffffffff
jne 0x140005a36
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [0x140201984], 0xffffffff
mov dword [0x140200604], eax
mov r8d, 1
lea r9, [0x140200604]
nop word [rax + rax]
mov edx, eax
shr edx, 0x1e
xor edx, eax
imul eax, edx, 0x6c078965
add eax, r8d
mov dword [r9 + r8*4], eax
inc r8
cmp r8, 0x270
jb 0x140005a00
mov dword [0x140200600], 0x270
lea rcx, [0x1402005f8]
call fcn.1400f404c
movaps xmm0, xmm6
xorps xmm0, xmmword [0x140127130]
xorps xmm8, xmm8
cvtss2sd xmm8, xmm0
xorps xmm7, xmm7
cvtss2sd xmm7, xmm6
xorps xmm2, xmm2
xorps xmm1, xmm1
movsd xmm3, qword [0x1401269e8]
movaps xmm4, xmm3
mov edi, 2
mov ebx, edi
movsd xmm6, qword [0x140126ab8]
call fcn.140006bd0
mov eax, eax
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
subsd xmm0, xmm2
mulsd xmm0, xmm4
addsd xmm1, xmm0
mulsd xmm4, xmm6
sub rbx, 1
jne 0x140005a70
subsd xmm7, xmm8
divsd xmm1, xmm4
mulsd xmm1, xmm7
addsd xmm1, xmm8
xorps xmm10, xmm10
cvtsd2ss xmm10, xmm1
movaps xmm4, xmm2
movaps xmm5, xmm3
mov rbx, rdi
nop dword [rax]
call fcn.140006bd0
mov eax, eax
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
subsd xmm0, xmm2
mulsd xmm0, xmm5
addsd xmm4, xmm0
mulsd xmm5, xmm6
sub rbx, 1
jne 0x140005ac0
divsd xmm4, xmm5
mulsd xmm4, xmm7
addsd xmm4, xmm8
xorps xmm9, xmm9
cvtsd2ss xmm9, xmm4
movaps xmm1, xmm2
nop
call fcn.140006bd0
mov eax, eax
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
subsd xmm0, xmm2
mulsd xmm0, xmm3
addsd xmm1, xmm0
mulsd xmm3, xmm6
sub rdi, 1
jne 0x140005b00
divsd xmm1, xmm3
mulsd xmm1, xmm7
addsd xmm1, xmm8
xorps xmm6, xmm6
cvtsd2ss xmm6, xmm1
mov rcx, qword [rsi]
add rcx, 0x158
call fcn.140011840
test rax, rax
je 0x140005c18
xor ecx, ecx
mov qword [rsp + 0x40], rcx
mov dword [rsp + 0x48], ecx
lea rbx, [rax + 0x14c]
mov r8d, 0xc
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.14000ac80
addss xmm6, dword [rsp + 0x40]
movss dword [rsp + 0x50], xmm6
addss xmm9, dword [rsp + 0x44]
movss dword [rsp + 0x54], xmm9
addss xmm10, dword [rsp + 0x44]
movss dword [rsp + 0x58], xmm10
xor ecx, ecx
mov dword [rsp + 0x81], ecx
mov word [rsp + 0x85], cx
mov byte [rsp + 0x87], cl
mov dword [rsp + 0x60], 0x85b3e12
mov qword [rsp + 0x68], rbx
lea rax, [rsp + 0x50]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 0xc
mov eax, dword [0x1402002c8]
mov dword [rsp + 0x64], eax
mov byte [rsp + 0x80], 1
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x20], rcx
mov r9d, 0x28
lea r8, [rsp + 0x60]
mov edx, 0x2201c4
mov rcx, qword [0x1402002d0]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.1400f3f70
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
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]
mov rsp, r11
pop rdi
ret