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

Disassembly:
mov qword [rsp + 0x20], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1360]
mov eax, 0x1460
call fcn.14000e170
sub rsp, rax
mov r14, rdx
mov r13, qword [rdx + 0x10]
mov rbx, rdx
mov r12, qword [rdx + 0x18]
cmp r12, 0xf
jbe 0x14000c4a1
mov rbx, qword [rdx]
mov rsi, 0xffffffffffffffff
test r13, r13
je 0x14000c517
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x30], xmm0
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x10], xmm0
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x10], xmm0
mov qword [rbp + 0x20], rax
mov dword [rbp + 0x28], eax
xor edx, edx
mov r8d, 0xa3
lea rcx, [rbp + 0x2d]
call sub.VCRUNTIME140.dll_memset
mov byte [rbp + 0x2c], 1
lea rax, [r13 - 1]
mov rdi, rsi
cmp rax, rsi
cmovb rdi, rax
add rdi, rbx
movzx eax, byte [rdi]
cmp byte [rbp + rax - 0x30], 0
jne 0x14000c512
nop dword [rax]
cmp rdi, rbx
je 0x14000c517
dec rdi
movzx eax, byte [rdi]
cmp byte [rbp + rax - 0x30], 0
je 0x14000c500
sub rdi, rbx
jmp 0x14000c51a
mov rdi, rsi
mov r15, r14
cmp r12, 0xf
jbe 0x14000c526
mov r15, qword [r14]
test r13, r13
je 0x14000c577
xor edx, edx
mov r8d, 0x100
lea rcx, [rbp - 0x30]
call sub.VCRUNTIME140.dll_memset
mov byte [rbp - 2], 1
lea rax, [r13 - 1]
mov rbx, rsi
cmp rax, rbx
cmovb rbx, rax
add rbx, r15
movzx eax, byte [rbx]
cmp byte [rbp + rax - 0x30], 0
jne 0x14000c572
nop dword [rax + rax]
cmp rbx, r15
je 0x14000c577
dec rbx
movzx eax, byte [rbx]
cmp byte [rbp + rax - 0x30], 0
je 0x14000c560
sub rbx, r15
jmp 0x14000c57a
mov rbx, rsi
cmp rdi, rsi
je 0x14000c9a0
cmp rbx, rsi
je 0x14000c9a0
cmp rbx, rdi
jbe 0x14000c9a0
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
xor r12d, r12d
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], r12
lea r15, [rdi + 1]
mov r8, r15
cmp r13, r15
cmovb r8, r13
mov rdx, r14
cmp qword [r14 + 0x18], 0xf
jbe 0x14000c5c2
mov rdx, qword [r14]
lea rcx, [rbp - 0x80]
call fcn.140004d60
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x50], xmm1
mov rcx, qword [r14 + 0x10]
cmp rcx, r15
jb 0x14000c9d7
mov r8, rbx
sub r8, rdi
dec r8
sub rcx, r15
cmp rcx, r8
cmovb r8, rcx
mov rax, r14
cmp qword [r14 + 0x18], 0xf
jbe 0x14000c60a
mov rax, qword [r14]
lea rdx, [rax + r15]
lea rcx, [rsp + 0x40]
call fcn.140004d60
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], r12
mov rax, qword [r14 + 0x10]
cmp rax, rbx
jb 0x14000c9dd
sub rax, rbx
mov r8, rsi
cmp rax, rsi
cmovb r8, rax
cmp qword [r14 + 0x18], 0xf
jbe 0x14000c64f
mov r14, qword [r14]
lea rdx, [r14 + rbx]
lea rcx, [rsp + 0x60]
call fcn.140004d60
nop
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov r10d, 0xffffffff
mov dword [rbp + 0x1354], r10d
mov dword [rbp - 0x2c], eax
mov edx, 1
nop dword [rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rbp + rdx*4 - 0x2c], eax
inc rdx
cmp rdx, 0x270
jb 0x14000c680
mov dword [rbp - 0x30], 0x270
lea rax, [rsp + 0x40]
mov rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x58]
cmp r8, 0xf
cmova rax, rdx
mov rcx, qword [rsp + 0x50]
add rax, rcx
mov qword [rbp + 0x13b0], rax
lea r9, [rsp + 0x40]
cmp r8, 0xf
cmova r9, rdx
mov qword [rbp + 0x13a8], r9
mov r14d, 0x40
nop word [rax + rax]
lea r14, [r14 - 1]
shr rsi, 1
cmp rsi, r10
ja 0x14000c6f0
cmp r9, rax
je 0x14000c7d4
lea r12, [r9 + 1]
cmp r12, rax
je 0x14000c7d1
mov r13d, 2
nop dword [rax + rax]
lea r15, [r13 - 1]
xor edi, edi
xor ebx, ebx
test r15, r15
je 0x14000c765
nop dword [rax]
lea rcx, [r14 - 1]
shl rdi, cl
add rdi, rdi
nop word [rax + rax]
lea rcx, [rbp - 0x30]
call fcn.14000c9f0
mov eax, eax
cmp rax, rsi
ja 0x14000c740
or rdi, rax
lea rcx, [r14 - 1]
shl rbx, cl
add rbx, rbx
or rbx, rsi
cmp rbx, r15
jb 0x14000c730
xor edx, edx
mov rax, rbx
div r13
mov r8, rdx
mov rcx, rax
xor edx, edx
mov rax, rdi
div r13
cmp rax, rcx
jb 0x14000c785
cmp r8, r15
jne 0x14000c724
xor edx, edx
mov rax, rdi
div r13
lea rax, [r13 - 1]
cmp rdx, rax
je 0x14000c7af
movzx ecx, byte [r12]
mov r9, qword [rbp + 0x13a8]
movzx eax, byte [rdx + r9]
mov byte [r12], al
mov byte [rdx + r9], cl
inc r12
inc r13
cmp r12, qword [rbp + 0x13b0]
jne 0x14000c720
mov r8, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x40]
xor r12d, r12d
movabs rax, 0x7fffffffffffffff
mov r10, qword [rbp - 0x70]
sub rax, r10
cmp rax, rcx
jb 0x14000c9d1
lea r9, [rbp - 0x80]
cmp qword [rbp - 0x68], 0xf
cmova r9, qword [rbp - 0x80]
lea rax, [rsp + 0x40]
cmp r8, 0xf
cmova rax, rdx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r10
lea rcx, [rbp - 0x58]
call fcn.1400055f0
nop
lea rdx, [rsp + 0x60]
cmp qword [rsp + 0x78], 0xf
cmova rdx, qword [rsp + 0x60]
mov r8, qword [rsp + 0x70]
lea rcx, [rbp - 0x58]
call fcn.140004210
xorps xmm0, xmm0
mov rbx, qword [rbp + 0x13a0]
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], r12
movups xmm0, xmmword [rax]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbx + 0x10], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rbp - 0x40]
cmp rdx, 0xf
jbe 0x14000c8b1
inc rdx
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000c8ac
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000c8ac
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000d17c
movdqa xmm0, xmmword [0x1400101d0]
movdqu xmmword [rbp - 0x48], xmm0
mov byte [rbp - 0x58], 0
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x14000c90a
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000c8fd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000c8fd
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000d17c
movdqa xmm0, xmmword [0x1400101d0]
mov rdx, qword [rsp + 0x58]
cmp rdx, 0xf
jbe 0x14000c952
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000c945
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000c945
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000d17c
movdqa xmm0, xmmword [0x1400101d0]
movdqu xmmword [rsp + 0x50], xmm0
mov byte [rsp + 0x40], 0
mov rdx, qword [rbp - 0x68]
cmp rdx, 0xf
jbe 0x14000c99b
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000c996
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000c996
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000d17c
mov rax, rbx
jmp 0x14000c9b6
mov rdx, r14
mov rcx, qword [rbp + 0x13a0]
call fcn.140003f20
mov rax, qword [rbp + 0x13a0]
mov rbx, qword [rsp + 0x14b8]
add rsp, 0x1460
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140001890
nop
call fcn.140004310
nop
call fcn.140004310
int3