Function at 0x140001290
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 - 0x1310]
mov eax, 0x1410
call fcn.140004060
sub rsp, rax
mov rax, qword [0x140008040]
xor rax, rsp
mov qword [rbp + 0x1300], rax
mov rdi, rcx
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x28], rcx
xor r15d, r15d
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x58], xmm1
lea r8d, [r15 + 0x58]
lea rdx, str.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789___________:_.___
lea rcx, [rsp + 0x48]
call fcn.140002f20
nop
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov edx, eax
mov esi, 0xffffffff
mov dword [rbp + 0x12f4], esi
mov dword [rsp + 0x74], eax
mov r12d, 1
mov ecx, r12d
nop word [rax + rax]
mov eax, edx
shr eax, 0x1e
xor eax, edx
imul edx, eax, 0x6c078965
add edx, ecx
mov dword [rsp + rcx*4 + 0x74], edx
inc rcx
cmp rcx, 0x270
jb 0x140001330
mov r9d, 0x270
mov dword [rsp + 0x70], r9d
lea r8, [rsp + 0x48]
mov r10, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
cmp r11, 0xf
cmova r8, r10
mov rdx, qword [rsp + 0x58]
add r8, rdx
lea rbx, [rsp + 0x48]
cmp r11, 0xf
cmova rbx, r10
mov qword [rsp + 0x20], rbx
mov ecx, 0x40
mov r14, 0xffffffffffffffff
nop word [rax + rax]
lea rcx, [rcx - 1]
shr r14, 1
cmp r14, rsi
ja 0x1400013a0
cmp rbx, r8
je 0x14000162a
lea rax, [rbx + 1]
cmp rax, r8
je 0x14000162a
lea r15, [rcx - 1]
mov rcx, r12
sub rcx, rbx
mov qword [rsp + 0x28], rcx
lea rax, [r12 + rbx]
mov qword [rsp + 0x38], rax
lea r13, [rax + rcx]
nop
xor esi, esi
xor edi, edi
test r12, r12
je 0x1400015b0
nop dword [rax]
mov rcx, r15
shl rsi, cl
add rsi, rsi
nop dword [rax]
cmp r9d, 0x270
jne 0x140001466
lea rax, [rsp + 0x78]
mov r10d, r9d
nop dword [rax]
nop word [rax + rax]
mov r9d, dword [rax - 4]
xor r9d, dword [rax]
btr r9d, 0x1f
xor r9d, dword [rax - 4]
mov ecx, r9d
and cl, 1
neg cl
sbb edx, edx
and edx, 0x9908b0df
xor edx, dword [rax + 0x630]
shr r9d, 1
xor edx, r9d
mov dword [rax + 0x9bc], edx
lea rax, [rax + 4]
sub r10, 1
jne 0x140001420
mov r9d, dword [rsp + 0x70]
jmp 0x140001554
cmp r9d, 0x4e0
jb 0x140001554
lea r10, [rbp + 0x934]
mov r11d, 0xe3
mov ebx, dword [rbp + 0x934]
nop word [rax + rax]
mov eax, ebx
mov ebx, dword [r10 + 4]
mov edx, eax
xor edx, ebx
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
and ecx, 0x9908b0df
xor ecx, dword [r10 + 0x634]
shr edx, 1
xor ecx, edx
mov dword [r10 - 0x9c0], ecx
lea r10, [r10 + 4]
sub r11, 1
jne 0x140001490
lea r10, [rbp + 0xcc0]
mov r11d, 0x18c
mov ebx, dword [rbp + 0xcc0]
nop dword [rax]
mov eax, ebx
mov ebx, dword [r10 + 4]
mov edx, eax
xor edx, ebx
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
and ecx, 0x9908b0df
xor ecx, dword [r10 - 0xd4c]
shr edx, 1
xor ecx, edx
mov dword [r10 - 0x9c0], ecx
lea r10, [r10 + 4]
sub r11, 1
jne 0x1400014e0
mov edx, dword [rbp + 0x12f0]
xor edx, dword [rsp + 0x74]
btr edx, 0x1f
xor edx, dword [rbp + 0x12f0]
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
and ecx, 0x9908b0df
shr edx, 1
xor ecx, edx
xor ecx, dword [rbp + 0x5a4]
mov dword [rbp + 0x930], ecx
xor r9d, r9d
mov dword [rsp + 0x70], r9d
mov eax, r9d
mov ecx, dword [rsp + rax*4 + 0x74]
inc r9d
mov dword [rsp + 0x70], r9d
mov eax, ecx
shr eax, 0xb
and eax, dword [rbp + 0x12f4]
xor ecx, eax
mov eax, ecx
and eax, 0xff3a58ad
shl eax, 7
xor ecx, eax
mov eax, ecx
and eax, 0xffffdf8c
shl eax, 0xf
xor ecx, eax
mov eax, ecx
shr eax, 0x12
xor eax, ecx
cmp rax, r14
ja 0x140001400
or rsi, rax
mov rcx, r15
shl rdi, cl
add rdi, rdi
or rdi, r14
cmp rdi, r12
jb 0x1400013f0
xor edx, edx
mov rax, rdi
div r13
mov rcx, rax
xor edx, edx
mov rax, rsi
div r13
cmp rax, rcx
jb 0x1400015d9
xor edx, edx
mov rax, rdi
div r13
cmp rdx, r12
jne 0x1400013e0
xor edx, edx
mov rax, rsi
div r13
mov rbx, qword [rsp + 0x20]
cmp rdx, r12
je 0x1400015fe
mov r10, qword [rsp + 0x38]
movzx ecx, byte [r10]
movzx eax, byte [rdx + rbx]
mov byte [r10], al
mov byte [rdx + rbx], cl
inc r12
lea rax, [r12 + rbx]
cmp rax, r8
mov rcx, qword [rsp + 0x28]
jne 0x1400013d1
mov r11, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x58]
mov r10, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x40]
xor r15d, r15d
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], r15
mov qword [rdi + 0x18], r15
mov r8d, 0x100
cmp rdx, r8
cmovb r8, rdx
lea rdx, [rsp + 0x48]
cmp r11, 0xf
cmova rdx, r10
mov rcx, rdi
call fcn.140002f20
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 0xf
jbe 0x14000169b
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001696
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001696
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000326c
mov rax, rdi
mov rcx, qword [rbp + 0x1300]
xor rcx, rsp
call fcn.140003210
lea r11, [rsp + 0x1410]
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