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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1390]
mov eax, 0x1490
call fcn.140042580
sub rsp, rax
mov rax, qword [0x140052040]
xor rax, rsp
mov qword [rbp + 0x1380], rax
mov ebx, r9d
mov r14d, r8d
mov dword [rsp + 0x44], r8d
mov rsi, rdx
mov rdi, rcx
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x60], rcx
xor r13d, r13d
mov dword [rsp + 0x40], r13d
xorps xmm0, xmm0
movups xmmword [rbp - 0x78], xmm0
mov qword [rbp - 0x68], r13
mov qword [rbp - 0x60], r13
lea r8d, [r13 + 0x34]
lea rdx, str.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
lea rcx, [rbp - 0x78]
call fcn.14000afc4
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x58], xmm0
mov qword [rbp - 0x48], r13
mov qword [rbp - 0x40], r13
lea r8d, [r13 + 0xa]
lea rdx, str.0123456789
lea rcx, [rbp - 0x58]
call fcn.14000afc4
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x38], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x28], xmm1
lea r8d, [r13 + 0xe]
lea rdx, str.__________
lea rcx, [rbp - 0x38]
call fcn.14000afc4
nop
movabs rax, 0x7fffffffffffffff
mov rcx, qword [rbp - 0x68]
sub rax, rcx
mov rdx, qword [rbp - 0x48]
cmp rax, rdx
jb 0x14000fac8
lea r9, [rbp - 0x78]
cmp qword [rbp - 0x60], 0xf
cmova r9, qword [rbp - 0x78]
lea rax, [rbp - 0x58]
cmp qword [rbp - 0x40], 0xf
cmova rax, qword [rbp - 0x58]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x68]
call fcn.14000b4d8
mov dword [rsp + 0x40], 2
lea r15d, [r13 + 1]
cmp byte [0x1400520c0], r13b
je 0x14000f76d
test ebx, ebx
jle 0x14000f76d
lea rcx, [rsp + 0x68]
cmp qword [rsi + 0x10], r13
mov rdx, rsi
jne 0x14000f763
lea rdx, [rbp - 0x38]
call fcn.14000a3e0
sub rbx, r15
jne 0x14000f751
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_srand]
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov edx, eax
mov r8d, 0xffffffff
mov dword [rbp + 0x1374], r8d
mov dword [rbp - 0xc], eax
mov rcx, r15
mov r9d, 0x270
mov eax, edx
shr eax, 0x1e
xor eax, edx
imul edx, eax, 0x6c078965
add edx, ecx
mov dword [rbp + rcx*4 - 0xc], edx
add rcx, r15
cmp rcx, r9
jb 0x14000f79f
mov dword [rbp - 0x10], r9d
lea rcx, [rsp + 0x68]
cmp qword [rbp - 0x80], 0xf
cmova rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x78]
add rdx, rcx
mov qword [rsp + 0x50], rdx
lea rbx, [rsp + 0x68]
cmp qword [rbp - 0x80], 0xf
cmova rbx, qword [rsp + 0x68]
mov ecx, 0x40
or r12, 0xffffffffffffffff
sub rcx, r15
shr r12, 1
cmp r12, r8
ja 0x14000f7f4
cmp rbx, rdx
je 0x14000f8cb
mov rsi, r15
lea rax, [rbx + 1]
cmp rax, rdx
je 0x14000f8cb
dec rcx
mov qword [rsp + 0x48], rcx
mov rdi, r15
sub rdi, rbx
lea r13, [rsi + rbx]
add r13, rdi
xor r14d, r14d
xor r15d, r15d
test rsi, rsi
je 0x14000f864
shl r14, cl
add r14, r14
lea rcx, [rbp - 0x10]
call fcn.14000b8f8
mov eax, eax
cmp rax, r12
ja 0x14000f83e
or r14, rax
mov rcx, qword [rsp + 0x48]
shl r15, cl
add r15, r15
or r15, r12
cmp r15, rsi
jb 0x14000f838
xor edx, edx
mov rax, r15
div r13
mov rcx, rax
xor edx, edx
mov rax, r14
div r13
cmp rax, rcx
jb 0x14000f88e
xor edx, edx
mov rax, r15
div r13
cmp rdx, rsi
mov rcx, qword [rsp + 0x48]
jne 0x14000f82d
xor edx, edx
mov rax, r14
div r13
cmp rdx, rsi
je 0x14000f8a7
mov cl, byte [rsi + rbx]
mov al, byte [rdx + rbx]
mov byte [rsi + rbx], al
mov byte [rdx + rbx], cl
inc rsi
lea rax, [rsi + rbx]
cmp rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
jne 0x14000f826
mov rdi, qword [rsp + 0x58]
mov r14d, dword [rsp + 0x44]
xor r13d, r13d
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], r13
mov r12d, 0xf
mov qword [rdi + 0x18], r12
mov byte [rdi], r13b
mov dword [rsp + 0x40], 3
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
cdqe
xor edx, edx
div qword [rbp - 0x68]
lea rax, [rbp - 0x78]
mov rsi, qword [rbp - 0x78]
mov r15, qword [rbp - 0x60]
cmp r15, r12
cmova rax, rsi
mov r9b, byte [rax + rdx]
mov rcx, qword [rdi + 0x10]
cmp rcx, qword [rdi + 0x18]
jae 0x14000f938
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp qword [rdi + 0x18], r12
jbe 0x14000f92d
mov rax, qword [rdi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], r13b
jmp 0x14000f940
mov rcx, rdi
call fcn.14000b0b4
cmp r14d, 1
jle 0x14000f9a5
dec r14d
mov rbx, qword [rsp + 0x78]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
cdqe
xor edx, edx
div rbx
lea rax, [rsp + 0x68]
cmp qword [rbp - 0x80], r12
cmova rax, qword [rsp + 0x68]
mov r9b, byte [rax + rdx]
mov rcx, qword [rdi + 0x10]
cmp rcx, qword [rdi + 0x18]
jae 0x14000f997
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp qword [rdi + 0x18], r12
jbe 0x14000f98c
mov rax, qword [rdi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], r13b
jmp 0x14000f99f
mov rcx, rdi
call fcn.14000b0b4
sub r14, 1
jne 0x14000f949
mov ebx, 0x1000
mov rdx, qword [rbp - 0x80]
cmp rdx, r12
jbe 0x14000f9e4
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, rbx
jb 0x14000f9df
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000f9df
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140040ea8
mov qword [rsp + 0x78], r13
mov qword [rbp - 0x80], r12
mov byte [rsp + 0x68], r13b
mov rdx, qword [rbp - 0x20]
cmp rdx, r12
jbe 0x14000fa2c
inc rdx
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, rbx
jb 0x14000fa26
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000fa26
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140040ea8
nop
mov rdx, qword [rbp - 0x40]
cmp rdx, r12
jbe 0x14000fa66
inc rdx
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, rbx
jb 0x14000fa60
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000fa60
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140040ea8
nop
cmp r15, r12
jbe 0x14000fa9b
lea rdx, [r15 + 1]
mov rax, rsi
cmp rdx, rbx
jb 0x14000fa93
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000fa93
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rsi
call fcn.140040ea8
mov rax, rdi
mov rcx, qword [rbp + 0x1380]
xor rcx, rsp
call fcn.140040cd0
mov rbx, qword [rsp + 0x14e0]
add rsp, 0x1490
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14000564c
int3