Function at 0x1801401e0
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.1801cc6b0
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 [0x18028ab00]
xor rax, rsp
mov qword [rsp + 0x13f0], rax
movss xmm14, dword [0x180386ed4]
movss xmm12, dword [0x180386dd0]
movss xmm15, dword [0x180386de8]
movss xmm13, dword [str.fff_d]
movss xmm9, dword [0x180386eac]
xor eax, eax
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x40], xmm1
mov qword [rsp + 0x50], rax
cvttss2si ebx, xmm9
call fcn.1801caffc
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 0x1801402c0
mov dword [rsp + 0x60], 0x270
movdqa xmm0, xmmword [0x18025a210]
movups xmmword [rsp + 0x20], xmm0
mov byte [rsp + 0x30], 0
xorps xmm0, xmm0
movsd qword [rsp + 0x38], xmm0
movss xmm1, dword [0x180386e74]
movss xmm11, dword [0x1802593b0]
addss xmm1, xmm11
ucomiss xmm0, xmm1
ja 0x180140326
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x18014032e
movaps xmm0, xmm1
call fcn.180204ba8
subss xmm0, xmm11
mulss xmm0, dword [0x180259350]
xorps xmm6, xmm6
cvtss2sd xmm6, xmm0
movaps xmm8, xmm6
xorps xmm8, xmmword [0x18025a2a0]
movaps xmm1, xmm6
addsd xmm1, xmm6
addsd xmm1, qword [0x180259468]
xorps xmm0, xmm0
ucomisd xmm0, xmm1
ja 0x18014036c
sqrtpd xmm7, xmm1
jmp 0x180140377
movaps xmm0, xmm1
call fcn.1801ec668
movaps xmm7, xmm0
movaps xmm3, xmm9
addss xmm3, dword [0x180259518]
movaps xmm1, xmm9
nop
nop
nop
nop
nop
nop
nop
nop
movaps xmm2, xmm3
call fcn.18011ba40
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x20]
call fcn.18011bd30
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 [0x180386ef0]
addss xmm10, xmm9
cvttss2si edi, xmm10
cmp edi, ebx
jne 0x18014051d
cmp byte [0x180392319], 0
jne 0x18014051d
movaps xmm2, xmm11
xorps xmm1, xmm1
call fcn.18011bc00
movaps xmm1, xmm11
subss xmm1, xmm13
comiss xmm1, xmm0
ja 0x18014051d
movaps xmm2, xmm11
xorps xmm1, xmm1
call fcn.18011bc00
comiss xmm12, xmm0
jbe 0x180140482
cmp edi, ebx
jle 0x1801404d2
nop word [rax + rax]
cmp byte [0x180392319], 0
jne 0x1801404d2
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x20]
call fcn.18011bd30
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 [0x180386ef0]
addss xmm0, xmm9
cvttss2si eax, xmm0
cmp eax, ebx
jg 0x180140430
jmp 0x1801404d2
cmp edi, ebx
jle 0x1801404d2
cmp byte [0x180392319], 0
jne 0x1801404d2
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x20]
call fcn.18011bd30
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 [0x180386ef0]
addss xmm0, xmm9
cvttss2si eax, xmm0
cmp eax, ebx
jg 0x180140486
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x20]
call fcn.18011bd30
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 [0x180386ef0]
addss xmm10, xmm9
cvttss2si edi, xmm10
cmp edi, ebx
je 0x1801403e2
movaps xmm2, xmm11
xorps xmm1, xmm1
call fcn.18011bc00
comiss xmm14, xmm0
jbe 0x180140555
movss xmm2, dword [0x18025952c]
movss xmm1, dword [0x1802594dc]
call fcn.18011ba40
movss xmm1, dword [0x180259738]
divss xmm1, xmm0
movaps xmm0, xmm1
jmp 0x180140581
movaps xmm2, xmm11
xorps xmm1, xmm1
call fcn.18011bc00
comiss xmm15, xmm0
movss xmm0, dword [0x180259738]
jbe 0x18014057c
movd xmm1, ebx
cvtdq2ps xmm1, xmm1
divss xmm0, xmm1
jmp 0x180140581
divss xmm0, xmm10
mov rcx, qword [rsp + 0x13f0]
xor rcx, rsp
call fcn.1801cb9c0
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