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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
mov qword [rsp + 0x18], r14
push rbp
lea rbp, [rsp - 0x1360]
mov eax, 0x1460
call fcn.180067a80
sub rsp, rax
movaps xmmword [rsp + 0x1450], xmm6
movaps xmmword [rsp + 0x1440], xmm7
movaps xmmword [rsp + 0x1430], xmm8
movaps xmmword [rsp + 0x1420], xmm9
movaps xmmword [rsp + 0x1410], xmm10
movaps xmmword [rsp + 0x1400], xmm11
movaps xmmword [rsp + 0x13f0], xmm12
movaps xmmword [rsp + 0x13e0], xmm13
mov rax, qword [0x1800a93c0]
xor rax, rsp
mov qword [rbp + 0x12d0], rax
movaps xmm7, xmm3
movaps xmm9, xmm2
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0
lea r14, [0x1800ab170]
mov qword [rsp + 0x28], r14
xorps xmm0, xmm0
movdqu xmmword [0x1800ab170], xmm0
mov qword [0x1800ab180], 0
mov ebx, 1
mov dword [rsp + 0x20], ebx
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov ecx, eax
mov dword [rbp + 0x12c4], 0xffffffff
mov dword [rsp + 0x44], eax
nop word [rax + rax]
mov eax, ecx
shr eax, 0x1e
xor eax, ecx
imul ecx, eax, 0x6c078965
add ecx, ebx
mov dword [rsp + rbx*4 + 0x44], ecx
inc rbx
cmp rbx, 0x270
jb 0x1800108b0
mov edx, 0x270
mov dword [rsp + 0x40], edx
subss xmm7, xmm9
movss xmm8, dword [rbp + 0x1398]
movss xmm10, dword [rbp + 0x1390]
subss xmm8, xmm10
mov edi, 0x32
xorps xmm6, xmm6
movss xmm11, dword [0x18009b81c]
movss xmm12, dword [0x18009b918]
movss xmm13, dword [0x18009b90c]
mov rbx, qword [0x1800ab178]
nop
cmp edx, 0x270
jne 0x180010982
lea r8, [rsp + 0x48]
mov r9d, 0x270
nop dword [rax]
nop word [rax + rax]
mov edx, dword [r8 - 4]
xor edx, dword [r8]
btr edx, 0x1f
xor edx, dword [r8 - 4]
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
and ecx, 0x9908b0df
xor ecx, dword [r8 + 0x630]
shr edx, 1
xor ecx, edx
mov dword [r8 + 0x9bc], ecx
lea r8, [r8 + 4]
sub r9, 1
jne 0x180010940
mov edx, dword [rsp + 0x40]
jmp 0x180010a5d
cmp edx, 0x4e0
jb 0x180010a5d
xor r8d, r8d
mov eax, dword [rbp + r8*4 + 0x904]
mov edx, eax
xor edx, dword [rbp + r8*4 + 0x908]
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
and ecx, 0x9908b0df
xor ecx, dword [rbp + r8*4 + 0xf38]
shr edx, 1
xor ecx, edx
mov dword [rsp + r8*4 + 0x44], ecx
inc r8
cmp r8, 0xe3
jb 0x180010991
mov r8d, 0xe3
nop word [rax + rax]
mov eax, dword [rbp + r8*4 + 0x904]
mov edx, eax
xor edx, dword [rbp + r8*4 + 0x908]
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
and ecx, 0x9908b0df
xor ecx, dword [rbp + r8*4 - 0x448]
shr edx, 1
xor ecx, edx
mov dword [rsp + r8*4 + 0x44], ecx
inc r8
cmp r8, 0x26f
jb 0x1800109e0
mov edx, dword [rbp + 0x12c0]
and edx, 0x80000000
mov eax, dword [rsp + 0x44]
btr eax, 0x1f
or edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
and ecx, 0x9908b0df
shr edx, 1
xor ecx, edx
xor ecx, dword [rbp + 0x574]
mov dword [rbp + 0x900], ecx
xor edx, edx
mov dword [rsp + 0x40], edx
mov eax, edx
mov ecx, dword [rsp + rax*4 + 0x44]
inc edx
mov dword [rsp + 0x40], edx
mov eax, ecx
shr eax, 0xb
and eax, dword [rbp + 0x12c4]
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 eax, ecx
shr eax, 0x12
xor eax, ecx
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
subss xmm0, xmm6
addss xmm0, xmm6
mulss xmm0, xmm11
mulss xmm0, xmm7
addss xmm0, xmm9
lea rcx, [rsp + 0x40]
call fcn.180020430
mov eax, eax
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
subss xmm1, xmm6
addss xmm1, xmm6
mulss xmm1, xmm11
mulss xmm1, xmm8
addss xmm1, xmm10
lea rcx, [rsp + 0x40]
call fcn.180020430
mov eax, eax
xorps xmm2, xmm2
cvtsi2ss xmm2, rax
subss xmm2, xmm6
addss xmm2, xmm6
mulss xmm2, xmm11
mulss xmm2, xmm12
subss xmm2, xmm13
movss dword [rsp + 0x30], xmm0
movss dword [rsp + 0x34], xmm1
movss dword [rsp + 0x38], xmm2
lea rcx, [rsp + 0x40]
call fcn.180020430
mov eax, eax
xorps xmm3, xmm3
cvtsi2ss xmm3, rax
subss xmm3, xmm6
addss xmm3, xmm6
mulss xmm3, xmm11
mulss xmm3, xmm12
subss xmm3, xmm13
movss dword [rsp + 0x3c], xmm3
cmp rbx, qword [0x1800ab180]
je 0x180010b7c
movss dword [rbx], xmm0
movss dword [rbx + 4], xmm1
movss dword [rbx + 8], xmm2
movss dword [rbx + 0xc], xmm3
mov rbx, qword [0x1800ab178]
add rbx, 0x10
mov qword [0x1800ab178], rbx
jmp 0x180010b90
lea r8, [rsp + 0x30]
mov rdx, rbx
call fcn.180018800
mov rbx, qword [0x1800ab178]
sub rdi, 1
je 0x180010b9f
mov edx, dword [rsp + 0x40]
jmp 0x180010920
mov rax, r14
mov rcx, qword [rbp + 0x12d0]
xor rcx, rsp
call fcn.180065c80
lea r11, [rsp + 0x1460]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x18]
mov r14, 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]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
mov rsp, r11
pop rbp
ret