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

Disassembly:
push rbp
push rsi
push rdi
push r15
mov eax, 0x1458
call fcn.1401562d0
sub rsp, rax
movaps xmmword [rsp + 0x1420], xmm8
movaps xmmword [rsp + 0x1410], xmm9
movaps xmmword [rsp + 0x1400], xmm10
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
mov qword [rsp + 0x1490], r12
mov edx, 1
mov qword [rsp + 0x1450], r14
mov r9d, edx
movaps xmmword [rsp + 0x13f0], xmm11
mov rsi, rcx
mov dword [rsp + 0x13a4], 0xffffffff
mov r8d, 0x1571
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 0x1401008e0
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 0x140100920
mov dword [rsp + 0x20], 0x270
xor dil, dil
xorps xmm13, xmm13
xorps xmm8, xmm8
call fcn.14010b688
mov ecx, eax
xorps xmm0, xmm0
mov rax, qword [rsi + 0x14]
shr rax, 3
cvtsi2ss xmm0, rax
test rax, rax
jns 0x14010097a
addss xmm0, dword [0x1401d804c]
xorps xmm1, xmm1
cvtsi2ss xmm1, rcx
divss xmm0, xmm1
call fcn.1401a08cc
movss xmm11, dword [0x1401d8048]
xor eax, eax
comiss xmm0, xmm11
movabs r12, 0x8000000000000000
jb 0x1401009b4
subss xmm0, xmm11
comiss xmm0, xmm11
jae 0x1401009b4
mov rax, r12
movsd xmm10, qword [0x1401de888]
mov r15d, 0
movsd xmm9, qword [0x1401d8000]
mov ebp, r15d
movsd xmm15, qword [0x1401de8b0]
movsd xmm14, qword [0x1401de890]
mov qword [rsp + 0x1488], rbx
cvttss2si r14, xmm0
movaps xmmword [rsp + 0x1440], xmm6
movaps xmmword [rsp + 0x1430], xmm7
add r14, rax
je 0x140100ad3
nop word [rax + rax]
mov rax, qword [rsi]
mov ebx, dword [rsi + 0x10]
imul rbx, r14
mov rcx, qword [rax + 8]
sub rcx, qword [rax]
add rbx, rbp
sar rcx, 3
cmp rbx, rcx
jae 0x140100ad3
test dil, dil
je 0x140100a40
movaps xmm0, xmm8
xor dil, dil
jmp 0x140100ab2
lea rcx, [rsp + 0x20]
call fcn.1400fe6b0
movaps xmm6, xmm0
lea rcx, [rsp + 0x20]
mulsd xmm6, xmm10
subsd xmm6, xmm9
call fcn.1400fe6b0
movaps xmm7, xmm0
movaps xmm1, xmm6
mulsd xmm7, xmm10
mulsd xmm1, xmm6
subsd xmm7, xmm9
movaps xmm8, xmm7
mulsd xmm8, xmm7
addsd xmm8, xmm1
comisd xmm9, xmm8
jbe 0x140100a40
movaps xmm0, xmm8
call fcn.1401a0960
mulsd xmm0, xmm15
divsd xmm0, xmm8
call fcn.1401a1288
movaps xmm8, xmm0
mov dil, 1
mulsd xmm8, xmm7
mulsd xmm0, xmm6
mov rax, qword [rsi]
inc rbp
mulsd xmm0, xmm14
mov rcx, qword [rax]
addsd xmm0, xmm13
movsd qword [rcx + rbx*8], xmm0
cmp rbp, r14
jb 0x140100a10
call fcn.14010b688
mov r14, qword [rsp + 0x1450]
xorps xmm0, xmm0
mov ecx, eax
mov rax, qword [rsi + 0x1c]
shr rax, 3
cvtsi2ss xmm0, rax
test rax, rax
jns 0x140100aff
addss xmm0, dword [0x1401d804c]
xorps xmm1, xmm1
cvtsi2ss xmm1, rcx
divss xmm0, xmm1
call fcn.1401a08cc
xor eax, eax
comiss xmm0, xmm11
jb 0x140100b26
subss xmm0, xmm11
comiss xmm0, xmm11
jae 0x140100b26
mov rax, r12
movaps xmm11, xmmword [rsp + 0x13f0]
mov r12, qword [rsp + 0x1490]
cvttss2si rbp, xmm0
add rbp, rax
je 0x140100c14
nop word [rax + rax]
mov rax, qword [rsi + 8]
mov ebx, dword [rsi + 0x10]
imul rbx, rbp
mov rcx, qword [rax + 8]
sub rcx, qword [rax]
add rbx, r15
sar rcx, 3
cmp rbx, rcx
jae 0x140100c14
test dil, dil
je 0x140100b80
movaps xmm0, xmm8
xor dil, dil
jmp 0x140100bf2
lea rcx, [rsp + 0x20]
call fcn.1400fe6b0
movaps xmm6, xmm0
lea rcx, [rsp + 0x20]
mulsd xmm6, xmm10
subsd xmm6, xmm9
call fcn.1400fe6b0
movaps xmm7, xmm0
movaps xmm1, xmm6
mulsd xmm7, xmm10
mulsd xmm1, xmm6
subsd xmm7, xmm9
movaps xmm8, xmm7
mulsd xmm8, xmm7
addsd xmm8, xmm1
comisd xmm9, xmm8
jbe 0x140100b80
movaps xmm0, xmm8
call fcn.1401a0960
mulsd xmm0, xmm15
divsd xmm0, xmm8
call fcn.1401a1288
movaps xmm8, xmm0
mov dil, 1
mulsd xmm8, xmm7
mulsd xmm0, xmm6
mov rcx, qword [rsi + 8]
inc r15
mulsd xmm0, xmm14
mov rdx, qword [rcx]
addsd xmm0, xmm13
movsd qword [rdx + rbx*8], xmm0
cmp r15, rbp
jb 0x140100b50
movaps xmm7, xmmword [rsp + 0x1430]
mov eax, 1
movaps xmm6, xmmword [rsp + 0x1440]
mov rbx, qword [rsp + 0x1488]
mov rcx, qword [rsp + 0x13b0]
xor rcx, rsp
call fcn.1401557c0
lea r11, [rsp + 0x1458]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm10, xmmword [r11 - 0x58]
movaps xmm13, xmmword [r11 - 0x78]
movaps xmm14, xmmword [r11 - 0x88]
movaps xmm15, xmmword [r11 - 0x98]
mov rsp, r11
pop r15
pop rdi
pop rsi
pop rbp
ret
add rcx, 8
jmp 0x140100850