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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1360]
mov eax, 0x1460
call fcn.14018c250
sub rsp, rax
mov rax, qword [0x140248318]
xor rax, rsp
mov qword [rbp + 0x1350], rax
mov rsi, r9
movzx r15d, r8b
mov byte [rsp + 0x20], r8b
mov r13, rdx
mov r14, rcx
mov r12, qword [rbp + 0x13b0]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x58], xmm0
xor ebx, ebx
mov qword [rsp + 0x68], rbx
movdqu xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rbx
movdqu xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x38], rbx
movdqu xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x60], rbx
mov rcx, qword [rcx + 0xa0]
mov rax, qword [rcx]
mov r8d, 0x101
lea rdx, [rbp - 0x70]
call qword [rax + 0x28]
mov qword [rsp + 0x70], rbx
mov rcx, qword [rbp - 0x68]
mov r8, qword [rbp - 0x70]
sub rcx, r8
movabs rax, 0x8888888888888889
imul rcx
add rdx, rcx
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x1400bb388
movabs r15, 0x8888888888888889
nop dword [rax + rax]
imul rdi, rbx, 0x78
add rdi, r8
mov rdx, rdi
mov rcx, qword [r14 + 0x88]
call fcn.1400b3a60
test al, al
jne 0x1400bb34f
mov rcx, qword [rdi + 8]
call fcn.14016dd80
test al, al
je 0x1400bb329
cmp rsi, qword [rdi + 8]
jae 0x1400bb30b
mov rdx, qword [rsp + 0x60]
cmp rdx, qword [rsp + 0x68]
je 0x1400bb304
mov qword [rdx], rbx
add qword [rsp + 0x60], 8
jmp 0x1400bb34f
lea rcx, [rsp + 0x58]
jmp 0x1400bb345
mov rdx, qword [rsp + 0x48]
cmp rdx, qword [rsp + 0x50]
je 0x1400bb322
mov qword [rdx], rbx
add qword [rsp + 0x48], 8
jmp 0x1400bb34f
lea rcx, [rsp + 0x40]
jmp 0x1400bb345
mov rdx, qword [rsp + 0x30]
cmp rdx, qword [rsp + 0x38]
je 0x1400bb340
mov qword [rdx], rbx
add qword [rsp + 0x30], 8
jmp 0x1400bb34f
lea rcx, [rsp + 0x28]
lea r8, [rsp + 0x70]
call fcn.1400b0f40
inc rbx
mov qword [rsp + 0x70], rbx
mov rcx, qword [rbp - 0x68]
mov r8, qword [rbp - 0x70]
sub rcx, r8
mov rax, r15
imul rcx
add rdx, rcx
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rbx, rdx
jb 0x1400bb2c0
movzx r15d, byte [rsp + 0x20]
lea rcx, [0x140256ea0]
call sub.MSVCP140.dll__Mtx_lock
test eax, eax
jne 0x1400bb9c5
lea rdx, [rsp + 0x70]
lea ecx, [rax + 4]
call fcn.14016ec30
mov ebx, dword [rsp + 0x70]
lea rcx, [0x140256ea0]
call sub.MSVCP140.dll__Mtx_unlock
mov edi, 0xffffffff
mov dword [rbp + 0x1344], edi
mov dword [rbp - 0x3c], ebx
mov ecx, 1
nop dword [rax]
mov eax, ebx
shr eax, 0x1e
xor eax, ebx
imul ebx, eax, 0x6c078965
add ebx, ecx
mov dword [rbp + rcx*4 - 0x3c], ebx
inc rcx
cmp rcx, 0x270
jb 0x1400bb3d0
mov dword [rbp - 0x40], 0x270
mov rdx, qword [rsp + 0x30]
mov r10, qword [rsp + 0x28]
test r15b, r15b
je 0x1400bb40f
cmp r10, rdx
je 0x1400bb40f
mov r14b, 1
jmp 0x1400bb412
xor r14b, r14b
xor ebx, ebx
mov r15d, ebx
test r13, r13
je 0x1400bb803
mov r8, qword [rsp + 0x48]
mov r11, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x58]
mov r9, qword [rsp + 0x60]
cmp rcx, r9
jne 0x1400bb447
cmp r11, r8
jne 0x1400bb447
cmp r10, rdx
je 0x1400bb80d
test r14b, r14b
je 0x1400bb554
cmp r10, rdx
jne 0x1400bb460
mov rdi, rbx
xor r14b, r14b
jmp 0x1400bb743
sub rdx, r10
sar rdx, 3
lea rax, [rbp - 0x40]
mov qword [rsp + 0x78], rax
mov ecx, 0x40
mov rax, 0xffffffffffffffff
nop dword [rax]
dec rcx
shr rax, 1
cmp rax, rdi
ja 0x1400bb480
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x80], rcx
lea rcx, [rsp + 0x78]
test rdx, rdx
jne 0x1400bb4a4
call fcn.1400b7210
jmp 0x1400bb4a9
call fcn.140096b80
mov r8, qword [rsp + 0x28]
lea rdx, [r8 + rax*8]
mov rdi, qword [rdx]
mov r9, qword [rsp + 0x30]
mov rcx, r9
sub rcx, r8
sar rcx, 3
inc rax
cmp rax, rcx
je 0x1400bb4dd
mov rax, qword [r9 - 8]
mov qword [rdx], rax
mov r9, qword [rsp + 0x30]
mov r8, qword [rsp + 0x28]
mov rdx, r9
sub rdx, r8
sar rdx, 3
lea rcx, [rdx - 1]
cmp rcx, rdx
jae 0x1400bb501
lea rax, [r8 + rcx*8]
mov qword [rsp + 0x30], rax
xor r14b, r14b
jmp 0x1400bb743
jbe 0x1400bb54c
mov rax, qword [rsp + 0x38]
sub rax, r8
sar rax, 3
cmp rcx, rax
jbe 0x1400bb52e
lea r8, [rsp + 0x20]
mov rdx, rcx
lea rcx, [rsp + 0x28]
call fcn.14007e970
xor r14b, r14b
jmp 0x1400bb743
sub rcx, rdx
lea r8, [rcx*8]
lea rbx, [r9 + r8]
xor edx, edx
mov rcx, r9
call sub.VCRUNTIME140.dll_memset
mov qword [rsp + 0x30], rbx
xor r14b, r14b
jmp 0x1400bb743
cmp rcx, r9
je 0x1400bb652
sub r9, rcx
sar r9, 3
lea rax, [rbp - 0x40]
mov qword [rsp + 0x78], rax
mov ecx, 0x40
mov rax, 0xffffffffffffffff
nop dword [rax]
dec rcx
shr rax, 1
cmp rax, rdi
ja 0x1400bb580
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x80], rcx
lea rcx, [rsp + 0x78]
test r9, r9
jne 0x1400bb5a4
call fcn.1400b7210
jmp 0x1400bb5ac
mov rdx, r9
call fcn.140096b80
mov r8, qword [rsp + 0x58]
lea rdx, [r8 + rax*8]
mov rdi, qword [rdx]
mov r9, qword [rsp + 0x60]
mov rcx, r9
sub rcx, r8
sar rcx, 3
inc rax
cmp rax, rcx
je 0x1400bb5e0
mov rax, qword [r9 - 8]
mov qword [rdx], rax
mov r9, qword [rsp + 0x60]
mov r8, qword [rsp + 0x58]
mov rdx, r9
sub rdx, r8
sar rdx, 3
lea rcx, [rdx - 1]
cmp rcx, rdx
jae 0x1400bb601
lea rax, [r8 + rcx*8]
mov qword [rsp + 0x60], rax
jmp 0x1400bb743
jbe 0x1400bb743
mov rax, qword [rsp + 0x68]
sub rax, r8
sar rax, 3
cmp rcx, rax
jbe 0x1400bb62f
lea r8, [rsp + 0x20]
mov rdx, rcx
lea rcx, [rsp + 0x58]
call fcn.14007e970
jmp 0x1400bb743
sub rcx, rdx
lea r8, [rcx*8]
lea rbx, [r8 + r9]
xor edx, edx
mov rcx, r9
call sub.VCRUNTIME140.dll_memset
mov qword [rsp + 0x60], rbx
jmp 0x1400bb743
cmp r11, r8
jne 0x1400bb65f
mov rdi, rbx
jmp 0x1400bb743
sub r8, r11
sar r8, 3
lea rax, [rbp - 0x40]
mov qword [rsp + 0x78], rax
mov ecx, 0x40
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
dec rcx
shr rax, 1
cmp rax, rdi
ja 0x1400bb680
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x80], rcx
lea rcx, [rsp + 0x78]
test r8, r8
jne 0x1400bb6a4
call fcn.1400b7210
jmp 0x1400bb6ac
mov rdx, r8
call fcn.140096b80
mov r8, qword [rsp + 0x40]
lea rdx, [r8 + rax*8]
mov rdi, qword [rdx]
mov r9, qword [rsp + 0x48]
mov rcx, r9
sub rcx, r8
sar rcx, 3
inc rax
cmp rax, rcx
je 0x1400bb6e0
mov rax, qword [r9 - 8]
mov qword [rdx], rax
mov r9, qword [rsp + 0x48]
mov r8, qword [rsp + 0x40]
mov rdx, r9
sub rdx, r8
sar rdx, 3
lea rcx, [rdx - 1]
cmp rcx, rdx
jae 0x1400bb6fe
lea rax, [r8 + rcx*8]
mov qword [rsp + 0x48], rax
jmp 0x1400bb743
jbe 0x1400bb743
mov rax, qword [rsp + 0x50]
sub rax, r8
sar rax, 3
cmp rcx, rax
jbe 0x1400bb725
lea r8, [rsp + 0x20]
mov rdx, rcx
lea rcx, [rsp + 0x40]
call fcn.14007e970
jmp 0x1400bb743
sub rcx, rdx
lea r8, [rcx*8]
lea rbx, [r8 + r9]
xor edx, edx
mov rcx, r9
call sub.VCRUNTIME140.dll_memset
mov qword [rsp + 0x48], rbx
imul rdi, rdi, 0x78
mov rbx, qword [rbp - 0x70]
add rbx, rdi
mov rsi, qword [r12]
movabs rax, 0x1e1e1e1e1e1e1e1
cmp qword [r12 + 8], rax
je 0x1400bb9b8
mov qword [rbp - 0x58], r12
mov qword [rbp - 0x50], 0
mov ecx, 0x88
call fcn.14018bbb8
mov rcx, rax
movups xmm0, xmmword [rbx]
movups xmmword [rax + 0x10], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rax + 0x20], xmm1
movups xmm0, xmmword [rbx + 0x20]
movups xmmword [rax + 0x30], xmm0
movups xmm1, xmmword [rbx + 0x30]
movups xmmword [rax + 0x40], xmm1
movups xmm0, xmmword [rbx + 0x40]
movups xmmword [rax + 0x50], xmm0
movups xmm1, xmmword [rbx + 0x50]
movups xmmword [rax + 0x60], xmm1
movups xmm0, xmmword [rbx + 0x60]
movups xmmword [rax + 0x70], xmm0
movsd xmm1, qword [rbx + 0x70]
movsd qword [rax + 0x80], xmm1
inc qword [r12 + 8]
mov rax, qword [rsi + 8]
mov qword [rcx], rsi
mov qword [rcx + 8], rax
xor ebx, ebx
mov qword [rbp - 0x50], rbx
mov qword [rsi + 8], rcx
mov qword [rax], rcx
mov rax, qword [rbp - 0x70]
add r15, qword [rdi + rax + 8]
mov r10, qword [rsp + 0x28]
cmp r15, r13
jae 0x1400bb803
mov rdx, qword [rsp + 0x30]
mov edi, 0xffffffff
jmp 0x1400bb420
mov r11, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x58]
mov r8, qword [rbp - 0x70]
test r8, r8
je 0x1400bb88a
mov rcx, qword [rbp - 0x60]
sub rcx, r8
movabs rax, 0x8888888888888889
imul rcx
add rdx, rcx
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0x78
mov rax, r8
cmp rdx, 0x1000
jb 0x1400bb867
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400bb867
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r8
call fcn.14018bbf4
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x60], rbx
mov rcx, qword [rsp + 0x58]
mov r11, qword [rsp + 0x40]
mov r10, qword [rsp + 0x28]
test r10, r10
je 0x1400bb8eb
mov rax, qword [rsp + 0x38]
sub rax, r10
sar rax, 3
lea rdx, [rax*8]
mov rax, r10
cmp rdx, 0x1000
jb 0x1400bb8cb
add rdx, 0x27
mov r10, qword [r10 - 8]
sub rax, r10
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400bb8cb
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r10
call fcn.14018bbf4
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x38], rbx
mov rcx, qword [rsp + 0x58]
mov r11, qword [rsp + 0x40]
test r11, r11
je 0x1400bb947
mov rax, qword [rsp + 0x50]
sub rax, r11
sar rax, 3
lea rdx, [rax*8]
mov rax, r11
cmp rdx, 0x1000
jb 0x1400bb92c
add rdx, 0x27
mov r11, qword [r11 - 8]
sub rax, r11
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400bb92c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r11
call fcn.14018bbf4
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rbx
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x1400bb985
mov rdx, qword [rsp + 0x68]
sub rdx, rcx
and rdx, 0xfffffffffffffff8
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400bb980
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400bb980
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14018bbf4
mov rax, r15
mov rcx, qword [rbp + 0x1350]
xor rcx, rsp
call fcn.14018bc90
lea r11, [rsp + 0x1460]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
lea rcx, str.list_too_long
call sub.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_
int3
mov ecx, eax
call sub.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_
int3