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

Disassembly:
mov eax, 0x1418
call fcn.140128c20
sub rsp, rax
movaps xmmword [rsp + 0x13f0], xmm7
mov rax, qword [0x140171140]
xor rax, rsp
mov qword [rsp + 0x13e0], rax
lea rcx, [rsp + 0x20]
call fcn.14007cc20
mov rcx, qword [rsp + 0x20]
movsd xmm7, qword [rax + 0x28]
test rcx, rcx
je 0x1400841f9
mov rdx, qword [rsp + 0x30]
mov rax, rcx
sub rdx, rcx
and rdx, 0xfffffffffffffff0
cmp rdx, 0x1000
jb 0x1400841f4
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400841f4
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140128004
movss xmm0, dword [0x1401c7818]
movaps xmmword [rsp + 0x1400], xmm6
xorps xmm6, xmm6
ucomiss xmm0, xmm6
jp 0x140084213
je 0x14008422e
movss xmm1, dword [0x1401c7828]
ucomiss xmm1, dword [0x14014ed0c]
jp 0x14008422e
jne 0x14008422e
movaps xmm0, xmm7
jmp 0x1400843ec
mov qword [rsp + 0x1420], rbx
mov qword [rsp + 0x1428], rbp
mov qword [rsp + 0x1430], rsi
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rsp + 0x13d4], 0xffffffff
mov edx, 1
mov dword [rsp + 0x54], eax
mov r9d, 0x270
nop word [rax + rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rsp + rdx*4 + 0x54], eax
inc rdx
cmp rdx, r9
jb 0x140084270
movss xmm1, dword [0x1401c7818]
mov ebp, 0x80000000
mulss xmm1, dword [0x14014ecc8]
movaps xmm0, xmm6
mov dword [rsp + 0x50], r9d
movss xmm2, dword [0x1401c7828]
mulss xmm2, dword [0x14014ecc8]
subss xmm0, xmm1
addss xmm2, xmm6
cvttss2si ecx, xmm0
cvttss2si edx, xmm2
cmp ecx, ebp
lea eax, [rcx - 0x80000000]
lea esi, [rcx + rbp]
cmovae esi, eax
cmp edx, ebp
lea eax, [rdx - 0x80000000]
lea ebx, [rdx + rbp]
cmovae ebx, eax
sub ebx, esi
cmp ebx, 0xffffffff
jne 0x140084363
lea r8, [rsp + 0x58]
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, dword [r8 + 0x62c]
xor ecx, edx
mov dword [r8 + 0x9b8], ecx
sub r9, 1
jne 0x1400842f0
mov eax, dword [rsp + 0x50]
mov ecx, dword [rsp + rax*4 + 0x54]
mov eax, ecx
shr eax, 0xb
and eax, dword [rsp + 0x13d4]
xor ecx, eax
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 r8d, ecx
shr r8d, 0x12
xor r8d, ecx
jmp 0x1400843b6
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x1410], rdi
inc ebx
call fcn.1400a1d60
mov r8d, eax
mov edi, ebx
imul r8, rdi
cmp r8d, ebx
jae 0x1400843aa
mov eax, ebx
xor edx, edx
neg eax
div ebx
mov ebx, edx
cmp r8d, edx
jae 0x1400843aa
lea rcx, [rsp + 0x50]
call fcn.1400a1d60
mov r8d, eax
imul r8, rdi
cmp r8d, ebx
jb 0x140084394
mov rdi, qword [rsp + 0x1410]
shr r8, 0x20
mov rbx, qword [rsp + 0x1420]
lea edx, [rsi + r8]
mov rsi, qword [rsp + 0x1430]
lea eax, [rdx + rbp]
cmp edx, ebp
lea ecx, [rdx - 0x80000000]
mov rbp, qword [rsp + 0x1428]
cmovae ecx, eax
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm7
movaps xmm6, xmmword [rsp + 0x1400]
mov rcx, qword [rsp + 0x13e0]
xor rcx, rsp
call fcn.140127fa0
movaps xmm7, xmmword [rsp + 0x13f0]
add rsp, 0x1418
ret