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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r14
push rbp
lea rbp, [rsp - 0x1350]
mov eax, 0x1450
call fcn.140054e60
sub rsp, rax
mov rax, qword [0x140066040]
xor rax, rsp
mov qword [rbp + 0x1340], rax
xor esi, esi
mov dword [rsp + 0x20], esi
xorps xmm0, xmm0
movups xmmword [rbp - 0x78], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x68], xmm1
lea rdx, [0x1400e9310]
mov rbx, 0xffffffffffffffff
mov r8, rbx
inc r8
cmp byte [rdx + r8], sil
jne 0x140007971
lea rcx, [rbp - 0x78]
call fcn.140005190
nop
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rbp + 0x1334], 0xffffffff
mov dword [rbp - 0x4c], eax
mov edi, 1
mov edx, edi
nop
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rbp + rdx*4 - 0x4c], eax
inc rdx
cmp rdx, 0x270
jb 0x1400079a0
mov dword [rbp - 0x50], 0x270
lea rcx, [rbp - 0x50]
call fcn.140003340
mov ecx, eax
add rcx, rcx
shr rcx, 0x20
mov r8d, esi
lea r9, [rsp + 0x20]
mov r10d, 0xb
test ecx, ecx
jne 0x140007a52
mov eax, dword [0x14005afd8]
mov dword [rsp + 0x20], eax
movzx eax, byte [0x14005afdc]
mov byte [rsp + 0x24], al
nop
movzx edx, r8b
and dl, 0x3f
movsx eax, r8b
imul ecx, eax, 0x38
add dl, 0x4a
add dl, cl
test dil, r8b
mov eax, 0xffffffd3
cmove eax, r10d
xor dl, al
xor byte [r9], dl
inc r8d
lea r9, [r9 + 1]
cmp r8d, 5
jl 0x140007a00
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x58], xmm1
lea rax, [rsp + 0x20]
inc rbx
cmp byte [rax + rbx], 0
jne 0x140007a47
jmp 0x140007ac0
mov eax, dword [0x140056a60]
mov dword [rsp + 0x20], eax
movzx eax, byte [0x140056a64]
mov byte [rsp + 0x24], al
nop word [rax + rax]
movzx edx, r8b
and dl, 0x3f
movsx eax, r8b
imul ecx, eax, 0x38
add dl, 0x4a
add dl, cl
test dil, r8b
mov eax, 0xffffffd3
cmove eax, r10d
xor dl, al
xor byte [r9], dl
inc r8d
lea r9, [r9 + 1]
cmp r8d, 5
jl 0x140007a70
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x58], xmm1
lea rax, [rsp + 0x20]
inc rbx
cmp byte [rax + rbx], 0
jne 0x140007ab7
mov r8, rbx
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x48]
call fcn.140005190
mov dword [rsp + 0x20], edi
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rbp + 0x1334], 0xffffffff
mov dword [rbp - 0x4c], eax
nop dword [rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edi
mov dword [rbp + rdi*4 - 0x4c], eax
inc rdi
cmp rdi, 0x270
jb 0x140007af0
mov dword [rbp - 0x50], 0x270
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x38], rsi
mov edi, 0xf
mov qword [rsp + 0x40], rdi
mov byte [rsp + 0x28], 0
mov dword [rsp + 0x20], 3
lea ebx, [rdi - 0xa]
lea r14, str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
lea rcx, [rbp - 0x50]
call fcn.140003340
mov ecx, eax
imul rax, rcx, 0x3e
cmp eax, 3
ja 0x140007b74
nop dword [rax + rax]
lea rcx, [rbp - 0x50]
call fcn.140003340
mov ecx, eax
imul rax, rcx, 0x3e
cmp eax, 4
jb 0x140007b60
shr rax, 0x20
cdqe
movzx r9d, byte [rax + r14]
cmp rsi, rdi
jae 0x140007ba7
lea rax, [rsi + 1]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x28]
cmp rdi, 0xf
cmova rax, qword [rsp + 0x28]
mov byte [rax + rsi], r9b
mov byte [rax + rsi + 1], 0
jmp 0x140007bb1
lea rcx, [rsp + 0x28]
call fcn.140005330
sub rbx, 1
je 0x140007bc3
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x38]
jmp 0x140007b44
lea r9, [rsp + 0x48]
lea r8, [rsp + 0x28]
lea rcx, [rsp + 0x68]
call fcn.140005780
mov dword [rsp + 0x20], 7
lea rdx, [rsp + 0x68]
lea rcx, [rbp - 0x78]
call fcn.140002e10
nop
mov rdx, qword [rbp - 0x80]
cmp rdx, 0xf
jbe 0x140007c2d
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007c28
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140007c28
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140053e2c
movdqa xmm0, xmmword [0x14005c430]
movdqu xmmword [rsp + 0x78], xmm0
mov byte [rsp + 0x68], 0
mov rdx, qword [rsp + 0x40]
cmp rdx, 0xf
jbe 0x140007c81
inc rdx
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007c7b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140007c7b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140053e2c
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 0xf
jbe 0x140007cc2
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007cbc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140007cbc
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140053e2c
nop
mov rdx, qword [rbp - 0x60]
cmp rdx, 0xf
jbe 0x140007d00
inc rdx
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007cfb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140007cfb
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140053e2c
mov byte [0x1400e9421], 0
mov rcx, qword [rbp + 0x1340]
xor rcx, rsp
call fcn.140053dd0
lea r11, [rsp + 0x1450]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret