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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x1450
call fcn.1401562d0
sub rsp, rax
movaps xmmword [rsp + 0x1420], xmm8
movaps xmmword [rsp + 0x1400], xmm11
movaps xmmword [rsp + 0x13f0], xmm12
movaps xmmword [rsp + 0x13e0], xmm13
movaps xmmword [rsp + 0x13d0], xmm14
movaps xmmword [rsp + 0x13c0], xmm15
mov rax, qword [0x140292cc0]
xor rax, rsp
mov qword [rsp + 0x13b0], rax
or r13d, 0xffffffff
movaps xmmword [rsp + 0x1410], xmm9
mov edx, 1
mov dword [rsp + 0x13a4], r13d
mov r9d, edx
mov r14, rcx
mov r8d, 0x1571
nop dword [rax]
nop word [rax + rax]
mov eax, r8d
shr eax, 0x1e
xor eax, r8d
imul r8d, eax, 0x6c078965
add r8d, r9d
inc r9d
mov dword [rsp + rdx*4 + 0x24], r8d
inc rdx
cmp rdx, 0x270
jl 0x140100230
mov edx, dword [0x1402a0098]
add edx, dword [rcx + 0x10]
mov ecx, 1
mov r8d, ecx
mov dword [rsp + 0x24], edx
nop dword [rax]
mov eax, edx
shr eax, 0x1e
xor eax, edx
imul edx, eax, 0x6c078965
add edx, r8d
inc r8d
mov dword [rsp + rcx*4 + 0x24], edx
inc rcx
cmp rcx, 0x270
jl 0x140100270
mov dword [rsp + 0x20], 0x270
xor bpl, bpl
xorps xmm13, xmm13
xorps xmm8, xmm8
call fcn.14010b688
mov ecx, eax
xorps xmm0, xmm0
mov rax, qword [r14 + 0x14]
shr rax, 2
cvtsi2ss xmm0, rax
test rax, rax
jns 0x1401002ca
addss xmm0, dword [0x1401d804c]
xorps xmm1, xmm1
cvtsi2ss xmm1, rcx
divss xmm0, xmm1
call fcn.1401a08cc
movss xmm9, dword [0x1401d8048]
xor eax, eax
comiss xmm0, xmm9
movabs rbx, 0x8000000000000000
jb 0x140100304
subss xmm0, xmm9
comiss xmm0, xmm9
jae 0x140100304
mov rax, rbx
movss xmm14, dword [0x1401de880]
mov r15d, 0
movss xmm12, dword [0x1401de884]
mov r12d, 0x7fffffff
movss xmm11, dword [0x1401d7ffc]
mov edi, r15d
movss xmm15, dword [0x1401de898]
cvttss2si rsi, xmm0
movaps xmmword [rsp + 0x1440], xmm6
movaps xmmword [rsp + 0x1430], xmm7
add rsi, rax
je 0x140100492
nop word [rax + rax]
mov rax, qword [r14]
mov ebx, dword [r14 + 0x10]
imul rbx, rsi
mov rcx, qword [rax + 8]
sub rcx, qword [rax]
add rbx, rdi
sar rcx, 2
cmp rbx, rcx
jae 0x140100488
movss xmm0, dword [0x1402a0084]
ucomiss xmm0, xmm13
jp 0x140100392
je 0x1401003d3
lea rcx, [rsp + 0x20]
call fcn.140100c80
mov ecx, eax
test r15b, r15b
jne 0x140100392
cmp r13d, r12d
jb 0x140100392
movss xmm0, dword [0x1402a0084]
and ecx, r12d
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm14
comiss xmm0, xmm1
jbe 0x1401003d3
mov rax, qword [r14]
mov rcx, qword [rax]
mov dword [rcx + rbx*4], r15d
jmp 0x14010047c
test bpl, bpl
je 0x1401003e4
movaps xmm0, xmm8
xor bpl, bpl
jmp 0x140100467
lea rcx, [rsp + 0x20]
call fcn.1400fe490
movaps xmm6, xmm0
lea rcx, [rsp + 0x20]
mulss xmm6, xmm12
subss xmm6, xmm11
call fcn.1400fe490
movaps xmm7, xmm0
movaps xmm1, xmm6
mulss xmm7, xmm12
mulss xmm1, xmm6
subss xmm7, xmm11
movaps xmm8, xmm7
mulss xmm8, xmm7
addss xmm8, xmm1
comiss xmm11, xmm8
jbe 0x1401003e4
movaps xmm0, xmm8
call fcn.1401a0e90
cvtss2sd xmm0, xmm0
xorps xmm1, xmm1
mulsd xmm0, qword [0x1401de8b0]
cvtss2sd xmm1, xmm8
divsd xmm0, xmm1
call fcn.1401a1288
cvtsd2ss xmm0, xmm0
mov bpl, 1
movaps xmm8, xmm0
mulss xmm0, xmm6
mulss xmm8, xmm7
mov rax, qword [r14]
mulss xmm0, xmm15
mov rcx, qword [rax]
addss xmm0, xmm13
movss dword [rcx + rbx*4], xmm0
inc rdi
cmp rdi, rsi
jb 0x140100360
movabs rbx, 0x8000000000000000
call fcn.14010b688
mov ecx, eax
xorps xmm0, xmm0
mov rax, qword [r14 + 0x1c]
shr rax, 2
cvtsi2ss xmm0, rax
test rax, rax
jns 0x1401004b6
addss xmm0, dword [0x1401d804c]
xorps xmm1, xmm1
cvtsi2ss xmm1, rcx
divss xmm0, xmm1
call fcn.1401a08cc
xor eax, eax
comiss xmm0, xmm9
jb 0x1401004dd
subss xmm0, xmm9
comiss xmm0, xmm9
jae 0x1401004dd
mov rax, rbx
movaps xmm9, xmmword [rsp + 0x1410]
mov rdi, r15
cvttss2si rsi, xmm0
add rsi, rax
je 0x14010062a
nop word [rax + rax]
mov rax, qword [r14 + 8]
mov ebx, dword [r14 + 0x10]
imul rbx, rsi
mov rcx, qword [rax + 8]
sub rcx, qword [rax]
add rbx, rdi
sar rcx, 2
cmp rbx, rcx
jae 0x14010062a
movss xmm0, dword [0x1402a0084]
ucomiss xmm0, xmm13
jp 0x140100533
je 0x140100574
lea rcx, [rsp + 0x20]
call fcn.140100c80
mov ecx, eax
test r15b, r15b
jne 0x140100533
cmp r13d, r12d
jb 0x140100533
movss xmm0, dword [0x1402a0084]
and ecx, r12d
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm14
comiss xmm0, xmm1
jbe 0x140100574
mov rax, qword [r14]
mov rcx, qword [rax]
mov dword [rcx + rbx*4], r15d
jmp 0x14010061e
test bpl, bpl
je 0x140100585
movaps xmm0, xmm8
xor bpl, bpl
jmp 0x140100608
lea rcx, [rsp + 0x20]
call fcn.1400fe490
movaps xmm6, xmm0
lea rcx, [rsp + 0x20]
mulss xmm6, xmm12
subss xmm6, xmm11
call fcn.1400fe490
movaps xmm7, xmm0
movaps xmm1, xmm6
mulss xmm7, xmm12
mulss xmm1, xmm6
subss xmm7, xmm11
movaps xmm8, xmm7
mulss xmm8, xmm7
addss xmm8, xmm1
comiss xmm11, xmm8
jbe 0x140100585
movaps xmm0, xmm8
call fcn.1401a0e90
cvtss2sd xmm0, xmm0
xorps xmm1, xmm1
mulsd xmm0, qword [0x1401de8b0]
cvtss2sd xmm1, xmm8
divsd xmm0, xmm1
call fcn.1401a1288
cvtsd2ss xmm0, xmm0
mov bpl, 1
movaps xmm8, xmm0
mulss xmm0, xmm6
mulss xmm8, xmm7
mov rcx, qword [r14 + 8]
mulss xmm0, xmm15
mov rdx, qword [rcx]
addss xmm0, xmm13
movss dword [rdx + rbx*4], xmm0
inc rdi
cmp rdi, rsi
jb 0x140100500
movaps xmm7, xmmword [rsp + 0x1430]
mov eax, 1
movaps xmm6, xmmword [rsp + 0x1440]
mov rcx, qword [rsp + 0x13b0]
xor rcx, rsp
call fcn.1401557c0
lea r11, [rsp + 0x1450]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm11, xmmword [r11 - 0x50]
movaps xmm12, xmmword [r11 - 0x60]
movaps xmm13, xmmword [r11 - 0x70]
movaps xmm14, xmmword [r11 - 0x80]
movaps xmm15, xmmword [r11 - 0x90]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
add rcx, 8
jmp 0x140100190