Function at 0x14050f430
Capabilities:
Generate random numbers using a mersenne twister

Disassembly:
sub rsp, 0x18
vmovups xmmword [rsp], xmm6
mov r10, 0xffffffff80000000
mov r11d, 0x7fffffff
vpxor xmm5, xmm5, xmm5
mov r8d, 1
vmovq xmm4, r10
vmovq xmm3, r11
movabs r9, 0xb5026f5aa96619e9
vmovq xmm2, r8
vmovq xmm1, r9
vpunpcklqdq xmm4, xmm4, xmm4
vpunpcklqdq xmm3, xmm3, xmm3
vpunpcklqdq xmm2, xmm2, xmm2
vpunpcklqdq xmm1, xmm1, xmm1
lea rax, [rcx + 0x4e0]
mov rdx, rcx
nop dword [rax + rax]
vpand xmm6, xmm3, xmmword [rdx + 8]
vpand xmm0, xmm4, xmmword [rdx]
add rdx, 0x60
vpor xmm0, xmm0, xmm6
vpsrlq xmm6, xmm0, 1
vpand xmm0, xmm0, xmm2
vpxor xmm6, xmm6, xmmword [rdx + 0x480]
vpsubq xmm0, xmm5, xmm0
vpand xmm0, xmm0, xmm1
vpxor xmm6, xmm6, xmm0
vpand xmm0, xmm4, xmmword [rdx - 0x50]
vmovdqu xmmword [rdx - 0x60], xmm6
vpand xmm6, xmm3, xmmword [rdx - 0x48]
vpor xmm0, xmm0, xmm6
vpsrlq xmm6, xmm0, 1
vpand xmm0, xmm0, xmm2
vpxor xmm6, xmm6, xmmword [rdx + 0x490]
vpsubq xmm0, xmm5, xmm0
vpand xmm0, xmm0, xmm1
vpxor xmm6, xmm6, xmm0
vpand xmm0, xmm4, xmmword [rdx - 0x40]
vmovdqu xmmword [rdx - 0x50], xmm6
vpand xmm6, xmm3, xmmword [rdx - 0x38]
vpor xmm0, xmm0, xmm6
vpsrlq xmm6, xmm0, 1
vpand xmm0, xmm0, xmm2
vpxor xmm6, xmm6, xmmword [rdx + 0x4a0]
vpsubq xmm0, xmm5, xmm0
vpand xmm0, xmm0, xmm1
vpxor xmm6, xmm6, xmm0
vpand xmm0, xmm4, xmmword [rdx - 0x30]
vmovdqu xmmword [rdx - 0x40], xmm6
vpand xmm6, xmm3, xmmword [rdx - 0x28]
vpor xmm0, xmm0, xmm6
vpsrlq xmm6, xmm0, 1
vpand xmm0, xmm0, xmm2
vpxor xmm6, xmm6, xmmword [rdx + 0x4b0]
vpsubq xmm0, xmm5, xmm0
vpand xmm0, xmm0, xmm1
vpxor xmm6, xmm6, xmm0
vpand xmm0, xmm4, xmmword [rdx - 0x20]
vmovdqu xmmword [rdx - 0x30], xmm6
vpand xmm6, xmm3, xmmword [rdx - 0x18]
vpor xmm0, xmm0, xmm6
vpsrlq xmm6, xmm0, 1
vpand xmm0, xmm0, xmm2
vpxor xmm6, xmm6, xmmword [rdx + 0x4c0]
vpsubq xmm0, xmm5, xmm0
vpand xmm0, xmm0, xmm1
vpxor xmm6, xmm6, xmm0
vpand xmm0, xmm4, xmmword [rdx - 0x10]
vmovdqu xmmword [rdx - 0x20], xmm6
vpand xmm6, xmm3, xmmword [rdx - 8]
vpor xmm0, xmm0, xmm6
vpsrlq xmm6, xmm0, 1
vpand xmm0, xmm0, xmm2
vpxor xmm6, xmm6, xmmword [rdx + 0x4d0]
vpsubq xmm0, xmm5, xmm0
vpand xmm0, xmm0, xmm1
vpxor xmm6, xmm6, xmm0
vmovdqu xmmword [rdx - 0x10], xmm6
cmp rax, rdx
jne 0x14050f490
mov r10, 0xffffffff80000000
lea rdx, [rcx + 0x9b0]
mov r11d, 0x7fffffff
mov r8d, 1
vmovq xmm4, r10
mov r10, rdx
vmovq xmm5, r8
movabs r9, 0xb5026f5aa96619e9
vmovq xmm2, r11
vpunpcklqdq xmm3, xmm4, xmm4
vpunpcklqdq xmm1, xmm5, xmm5
sub r10, rax
sub r10, 0x10
vmovq xmm0, r9
vpunpcklqdq xmm2, xmm2, xmm2
shr r10, 4
vpxor xmm5, xmm5, xmm5
vpunpcklqdq xmm4, xmm0, xmm0
add r10, 1
and r10d, 3
je 0x14050f6d8
cmp r10, 1
je 0x14050f696
cmp r10, 2
je 0x14050f663
vpand xmm6, xmm2, xmmword [rax + 8]
vpand xmm0, xmm3, xmmword [rax]
add rax, 0x10
vpor xmm0, xmm0, xmm6
vpsrlq xmm6, xmm0, 1
vpand xmm0, xmm0, xmm1
vpxor xmm6, xmm6, xmmword [rax - 0x4f0]
vpsubq xmm0, xmm5, xmm0
vpand xmm0, xmm0, xmm4
vpxor xmm6, xmm6, xmm0
vmovdqu xmmword [rax - 0x10], xmm6
vpand xmm6, xmm2, xmmword [rax + 8]
vpand xmm0, xmm3, xmmword [rax]
add rax, 0x10
vpor xmm0, xmm0, xmm6
vpsrlq xmm6, xmm0, 1
vpand xmm0, xmm0, xmm1
vpxor xmm6, xmm6, xmmword [rax - 0x4f0]
vpsubq xmm0, xmm5, xmm0
vpand xmm0, xmm0, xmm4
vpxor xmm6, xmm6, xmm0
vmovdqu xmmword [rax - 0x10], xmm6
vpand xmm6, xmm2, xmmword [rax + 8]
vpand xmm0, xmm3, xmmword [rax]
add rax, 0x10
vpor xmm0, xmm0, xmm6
vpsrlq xmm6, xmm0, 1
vpand xmm0, xmm0, xmm1
vpxor xmm6, xmm6, xmmword [rax - 0x4f0]
vpsubq xmm0, xmm5, xmm0
vpand xmm0, xmm0, xmm4
vpxor xmm6, xmm6, xmm0
vmovdqu xmmword [rax - 0x10], xmm6
cmp rdx, rax
je 0x14050f7a4
nop word [rax + rax]
vpand xmm6, xmm2, xmmword [rax + 8]
vpand xmm0, xmm3, xmmword [rax]
add rax, 0x40
vpor xmm0, xmm0, xmm6
vpsrlq xmm6, xmm0, 1
vpand xmm0, xmm0, xmm1
vpxor xmm6, xmm6, xmmword [rax - 0x520]
vpsubq xmm0, xmm5, xmm0
vpand xmm0, xmm0, xmm4
vpxor xmm6, xmm6, xmm0
vpand xmm0, xmm3, xmmword [rax - 0x30]
vmovdqu xmmword [rax - 0x40], xmm6
vpand xmm6, xmm2, xmmword [rax - 0x28]
vpor xmm0, xmm0, xmm6
vpsrlq xmm6, xmm0, 1
vpand xmm0, xmm0, xmm1
vpxor xmm6, xmm6, xmmword [rax - 0x510]
vpsubq xmm0, xmm5, xmm0
vpand xmm0, xmm0, xmm4
vpxor xmm6, xmm6, xmm0
vpand xmm0, xmm3, xmmword [rax - 0x20]
vmovdqu xmmword [rax - 0x30], xmm6
vpand xmm6, xmm2, xmmword [rax - 0x18]
vpor xmm0, xmm0, xmm6
vpsrlq xmm6, xmm0, 1
vpand xmm0, xmm0, xmm1
vpxor xmm6, xmm6, xmmword [rax - 0x500]
vpsubq xmm0, xmm5, xmm0
vpand xmm0, xmm0, xmm4
vpxor xmm6, xmm6, xmm0
vpand xmm0, xmm3, xmmword [rax - 0x10]
vmovdqu xmmword [rax - 0x20], xmm6
vpand xmm6, xmm2, xmmword [rax - 8]
vpor xmm0, xmm0, xmm6
vpsrlq xmm6, xmm0, 1
vpand xmm0, xmm0, xmm1
vpxor xmm6, xmm6, xmmword [rax - 0x4f0]
vpsubq xmm0, xmm5, xmm0
vpand xmm0, xmm0, xmm4
vpxor xmm6, xmm6, xmm0
vmovdqu xmmword [rax - 0x10], xmm6
cmp rdx, rax
jne 0x14050f6d8
mov rdx, qword [rcx + 0x9b8]
mov rax, qword [rcx + 0x9b0]
mov qword [rcx + 0x9c0], 0
mov r10, qword [rcx]
vmovups xmm6, xmmword [rsp]
mov r11, rdx
and rax, 0xffffffff80000000
and rdx, 0xffffffff80000000
and r11d, 0x7fffffff
and r10d, 0x7fffffff
or rax, r11
or rdx, r10
and r10d, 1
mov r8, rax
and eax, 1
neg r10
shr rdx, 1
neg rax
shr r8, 1
and r10, r9
xor r8, qword [rcx + 0x4d0]
and rax, r9
xor rdx, qword [rcx + 0x4d8]
xor rax, r8
xor r10, rdx
mov qword [rcx + 0x9b0], rax
mov qword [rcx + 0x9b8], r10
add rsp, 0x18
ret