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

Disassembly:
mov qword [rsp + 8], rbx
push rdi
mov eax, 0x14a0
call fcn.1800c1020
sub rsp, rax
movaps xmmword [rsp + 0x1490], xmm6
movaps xmmword [rsp + 0x1480], xmm7
movaps xmmword [rsp + 0x1470], xmm8
movaps xmmword [rsp + 0x1460], xmm9
movaps xmmword [rsp + 0x1450], xmm10
movaps xmmword [rsp + 0x1440], xmm11
movaps xmmword [rsp + 0x1430], xmm12
movaps xmmword [rsp + 0x1420], xmm13
movaps xmmword [rsp + 0x1410], xmm14
movaps xmmword [rsp + 0x1400], xmm15
mov rax, qword [0x1801300c0]
xor rax, rsp
mov qword [rsp + 0x13f0], rax
movss xmm14, dword [0x180227cf8]
movss xmm12, dword [0x180227bf0]
movss xmm15, dword [0x180227c08]
movss xmm13, dword [str.fff_d]
movss xmm9, dword [0x180227cd0]
xor eax, eax
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x40], xmm1
mov qword [rsp + 0x50], rax
cvttss2si ebx, xmm9
call fcn.1800bf9e0
mov dword [rsp + 0x13e4], 0xffffffff
mov dword [rsp + 0x64], eax
mov edx, 1
nop dword [rax + rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rsp + rdx*4 + 0x64], eax
inc rdx
cmp rdx, 0x270
jb 0x18009e9a0
mov dword [rsp + 0x60], 0x270
movdqa xmm0, xmmword [0x180114c20]
movups xmmword [rsp + 0x20], xmm0
mov byte [rsp + 0x30], 0
xorps xmm0, xmm0
movsd qword [rsp + 0x38], xmm0
movss xmm1, dword [0x180227c90]
movss xmm11, dword [0x180114250]
addss xmm1, xmm11
ucomiss xmm0, xmm1
ja 0x18009ea06
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x18009ea0e
movaps xmm0, xmm1
call fcn.1800f0ac8
subss xmm0, xmm11
mulss xmm0, dword [0x1801141fc]
xorps xmm6, xmm6
cvtss2sd xmm6, xmm0
movaps xmm8, xmm6
xorps xmm8, xmmword [0x180114c60]
movaps xmm1, xmm6
addsd xmm1, xmm6
addsd xmm1, qword [0x1801142e0]
xorps xmm0, xmm0
ucomisd xmm0, xmm1
ja 0x18009ea4c
sqrtpd xmm7, xmm1
jmp 0x18009ea57
movaps xmm0, xmm1
call fcn.1800d61c8
movaps xmm7, xmm0
movaps xmm3, xmm9
addss xmm3, dword [0x180114390]
movaps xmm1, xmm9
subss xmm1, dword [0x180114390]
movaps xmm2, xmm3
call fcn.1800777d0
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x20]
call fcn.180077ab0
movaps xmm1, xmm0
mulsd xmm1, xmm7
mulsd xmm1, xmm0
mulsd xmm0, xmm6
addsd xmm0, xmm8
addsd xmm1, xmm0
xorps xmm10, xmm10
cvtsd2ss xmm10, xmm1
mulss xmm10, dword [0x180227d14]
addss xmm10, xmm9
cvttss2si edi, xmm10
cmp edi, ebx
jne 0x18009ebfd
cmp byte [0x18022bd53], 0
jne 0x18009ebfd
movaps xmm2, xmm11
xorps xmm1, xmm1
call fcn.180077980
movaps xmm1, xmm11
subss xmm1, xmm13
comiss xmm1, xmm0
ja 0x18009ebfd
movaps xmm2, xmm11
xorps xmm1, xmm1
call fcn.180077980
comiss xmm12, xmm0
jbe 0x18009eb62
cmp edi, ebx
jle 0x18009ebb2
nop word [rax + rax]
cmp byte [0x18022bd53], 0
jne 0x18009ebb2
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x20]
call fcn.180077ab0
movaps xmm1, xmm0
mulsd xmm1, xmm7
mulsd xmm1, xmm0
mulsd xmm0, xmm6
addsd xmm0, xmm8
addsd xmm1, xmm0
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm1
mulss xmm0, dword [0x180227d14]
addss xmm0, xmm9
cvttss2si eax, xmm0
cmp eax, ebx
jg 0x18009eb10
jmp 0x18009ebb2
cmp edi, ebx
jle 0x18009ebb2
cmp byte [0x18022bd53], 0
jne 0x18009ebb2
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x20]
call fcn.180077ab0
movaps xmm1, xmm0
mulsd xmm1, xmm7
mulsd xmm1, xmm0
mulsd xmm0, xmm6
addsd xmm0, xmm8
addsd xmm1, xmm0
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm1
mulss xmm0, dword [0x180227d14]
addss xmm0, xmm9
cvttss2si eax, xmm0
cmp eax, ebx
jg 0x18009eb66
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x20]
call fcn.180077ab0
movaps xmm1, xmm0
mulsd xmm1, xmm7
mulsd xmm1, xmm0
mulsd xmm0, xmm6
addsd xmm0, xmm8
addsd xmm1, xmm0
xorps xmm10, xmm10
cvtsd2ss xmm10, xmm1
mulss xmm10, dword [0x180227d14]
addss xmm10, xmm9
cvttss2si edi, xmm10
cmp edi, ebx
je 0x18009eac2
movaps xmm2, xmm11
xorps xmm1, xmm1
call fcn.180077980
comiss xmm14, xmm0
jbe 0x18009ec35
movss xmm2, dword [0x1801143a4]
movss xmm1, dword [0x180114354]
call fcn.1800777d0
movss xmm1, dword [0x180114558]
divss xmm1, xmm0
movaps xmm0, xmm1
jmp 0x18009ec61
movaps xmm2, xmm11
xorps xmm1, xmm1
call fcn.180077980
comiss xmm15, xmm0
movss xmm0, dword [0x180114558]
jbe 0x18009ec5c
movd xmm1, ebx
cvtdq2ps xmm1, xmm1
divss xmm0, xmm1
jmp 0x18009ec61
divss xmm0, xmm10
mov rcx, qword [rsp + 0x13f0]
xor rcx, rsp
call fcn.1800c0060
lea r11, [rsp + 0x14a0]
mov rbx, qword [r11 + 0x10]
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]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop rdi
ret