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

Disassembly:
xchg rbx, r13
mov qword [rsp + 8], r13
xchg r13, rbx
xchg rbp, r12
mov qword [rsp + 0x10], r12
xchg r12, rbp
xchg rsi, rdi
mov qword [rsp + 0x18], rdi
xchg rsi, rdi
mov qword [rsp + 0x20], rdi
push r12
nop
mov qword [rsp - 8], r14
sub rsp, 8
nop
push 0x50b191d3
mov qword [rsp], r15
mov r15d, edx
lea r14d, [rdx - 1]
xchg rcx, r15
mov rdi, r15
xchg rcx, r15
xor r12d, r12d
nop word [rax + rax]
mov esi, r12d
mov ebp, r12d
test r14d, r14d
je 0x1400c6a33
xchg rcx, r8
mov rcx, qword [rdi + 8]
xchg r8, rcx
nop dword [rax]
nop word [rax + rax]
lea ecx, [r8 + 0xff]
shl esi, cl
add esi, esi
nop dword [rax + rax]
xchg r10, r14
mov r14, qword [rdi]
xchg r10, r14
mov ecx, dword [r10]
cmp ecx, 0x270
jne 0x1400c68b0
lea rax, [r10 + 8]
mov r9d, ecx
nop word [rax + rax]
mov r8d, dword [rax - 4]
xor r8d, dword [rax]
lea rax, [rax + 4]
btr r8d, 0x1f
xor r8d, dword [rax - 8]
mov ecx, r8d
and cl, 1
neg cl
sbb edx, edx
shr r8d, 1
and edx, 0x9908b0df
xor edx, dword [rax + 0x62c]
xor edx, r8d
mov dword [rax + 0x9b8], edx
sub r9, 1
jne 0x1400c6868
mov ecx, dword [r10]
jmp 0x1400c69a7
cmp ecx, 0x4e0
jb 0x1400c69a7
lea r11, [r10 + 0x9c4]
mov ebx, 0x3c3158e5
sub ebx, 0x3c315802
mov eax, dword [r11]
nop
mov edx, dword [r11 + 4]
lea r8, [r11 + 4]
xor edx, eax
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
mov eax, dword [r8]
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r11 + 0x634]
xor ecx, edx
mov dword [r11 - 0x9c0], ecx
lea r11, [r8]
sub rbx, 1
jne 0x1400c68d2
lea r11, [r10 + 0xd50]
mov ebx, 0x17da91aa
sub ebx, 0x17da901e
mov eax, dword [r11]
nop dword [rax + rax]
mov edx, eax
lea r8, [r11 + 4]
xor edx, dword [r8]
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
mov eax, dword [r8]
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r11 - 0xd4c]
xor ecx, edx
mov dword [r11 - 0x9c0], ecx
lea r11, [r8]
sub rbx, 1
jne 0x1400c692c
mov edx, dword [r10 + 0x1380]
xor edx, dword [r10 + 4]
btr edx, 0x1f
xor edx, dword [r10 + 0x1380]
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r10 + 0x634]
xor ecx, edx
mov dword [r10 + 0x9c0], ecx
mov ecx, r12d
mov dword [r10], r12d
mov eax, ecx
mov edx, dword [r10 + rax*4 + 4]
lea eax, [rcx + 1]
mov dword [r10], eax
mov ecx, edx
mov eax, dword [r10 + 0x1384]
shr ecx, 1
shr ecx, 5
shr ecx, 2
shr ecx, 1
shr ecx, 1
shr ecx, 1
and eax, ecx
xor edx, eax
mov eax, edx
and eax, 0xff3a58ad
shl eax, 4
shl eax, 1
shl eax, 1
shl eax, 1
xor edx, eax
mov eax, edx
and eax, 0xffffdf8c
shl eax, 6
shl eax, 6
shl eax, 1
shl eax, 1
shl eax, 1
xor edx, eax
mov eax, edx
shr eax, 7
shr eax, 5
shr eax, 1
shr eax, 1
shr eax, 1
shr eax, 1
shr eax, 1
shr eax, 1
xor eax, edx
mov edx, dword [rdi + 0x10]
cmp eax, edx
ja 0x1400c683e
mov r8, qword [rdi + 8]
or esi, eax
lea ecx, [r8 + 0xff]
shl ebp, cl
add ebp, ebp
or ebp, edx
cmp ebp, r14d
jb 0x1400c682e
xor edx, edx
mov eax, ebp
div r15d
mov ecx, eax
mov r8d, edx
xor edx, edx
mov eax, esi
div r15d
cmp eax, ecx
jb 0x1400c6a57
cmp r8d, r14d
jne 0x1400c6808
xchg rbx, r15
mov r15, qword [rsp + 0x20]
xchg rbx, r15
mov eax, esi
mov rbp, qword [rsp + 0x28]
xor edx, edx
mov rsi, qword [rsp + 0x30]
xchg rdi, rbp
mov rbp, qword [rsp + 0x38]
xchg rdi, rbp
div r15d
mov eax, edx
nop
add rsp, 8
xchg qword [rsp - 8], r15
nop
add rsp, 8
xchg qword [rsp - 8], r14
push rcx
push rdx
xchg qword [rsp + 0x10], r12
add rsp, 0x18
nop
add rsp, 8
jmp qword [rsp - 8]