Function at 0x140035360
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
sub rsp, 0x60
mov rax, qword [0x14004e028]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov rbp, rdx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x20], rcx
xor r13d, r13d
mov rax, qword gs:[0x58]
mov r12, qword [rax]
mov ebx, 0x14
mov eax, dword [rbx + r12]
mov r15d, 0x20
test al, 1
jne 0x14003540a
or eax, 1
mov dword [rbx + r12], eax
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov edx, eax
mov dword [r15 + r12 + 0x1384], 0xffffffff
mov dword [r15 + r12 + 4], eax
lea ecx, [r13 + 1]
lea r8, [r15 + 8]
add r8, r12
nop dword [rax]
mov eax, edx
shr eax, 0x1e
xor eax, edx
imul edx, eax, 0x6c078965
add edx, ecx
mov dword [r8], edx
inc rcx
lea r8, [r8 + 4]
cmp rcx, 0x270
jb 0x1400353e0
mov dword [r15 + r12], 0x270
mov eax, dword [rbx + r12]
mov edi, 0x13a8
test al, 2
jne 0x14003542b
or eax, 2
mov dword [rbx + r12], eax
mov qword [r12 + rdi], r13
mov qword [r12 + rdi + 8], 0x46
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov rbx, r13
mov qword [rsp + 0x48], rbx
mov r14d, 0xf
mov esi, r14d
mov qword [rsp + 0x50], r14
mov byte [rsp + 0x38], bl
cmp rbp, r14
jbe 0x140035469
mov rdx, rbp
lea rcx, [rsp + 0x38]
call fcn.14003ccd0
mov qword [rsp + 0x48], rbx
mov rsi, qword [rsp + 0x50]
lea r13, [r12 + rdi]
add r12, r15
lea r14, str.0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_____
nop word [rax + rax]
dec rbp
mov rdx, qword [r13 + 8]
mov r15, qword [r13]
mov qword [rsp + 0x20], r12
sub rdx, r15
cmp rdx, 0xffffffffffffffff
jne 0x1400354b6
mov rcx, r12
call fcn.14003d4f0
mov edi, eax
shl rdi, 0x20
mov rcx, r12
call fcn.14003d4f0
mov eax, eax
or rdi, rax
jmp 0x1400354c6
inc rdx
lea rcx, [rsp + 0x20]
call fcn.14003d340
mov rdi, rax
lea rax, [rdi + r15]
movzx r9d, byte [rax + r14]
cmp rbx, rsi
jae 0x1400354f7
lea rax, [rbx + 1]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x38]
cmp rsi, 0x10
cmovae rax, qword [rsp + 0x38]
mov byte [rax + rbx], r9b
mov byte [rax + rbx + 1], 0
jmp 0x140035501
lea rcx, [rsp + 0x38]
call fcn.14003ce20
test rbp, rbp
je 0x140035515
mov rsi, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x48]
jmp 0x140035480
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
mov rsi, qword [rsp + 0x48]
sub rax, rsi
cmp rax, 4
mov r14d, 0xf
jb 0x140035676
lea r12, [rsp + 0x38]
mov rdi, qword [rsp + 0x38]
mov r15, qword [rsp + 0x50]
cmp r15, 0x10
cmovae r12, rdi
xorps xmm0, xmm0
mov r13, qword [rsp + 0x30]
movups xmmword [r13], xmm0
xor edx, edx
mov qword [r13 + 0x10], rdx
mov qword [r13 + 0x18], rdx
lea rbp, [rsi + 4]
mov rbx, r13
cmp rbp, r14
jbe 0x1400355f1
mov r14, rbp
or r14, 0xf
cmp r14, rcx
jbe 0x1400355ac
mov r14, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.14003dce8
test rax, rax
je 0x1400355d4
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x1400355ed
mov eax, 0x16
cmp r14, rax
cmovb r14, rax
lea rcx, [r14 + 1]
cmp rcx, 0x1000
jb 0x1400355db
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14003567c
jmp 0x140035591
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
test rcx, rcx
je 0x1400355ea
call fcn.14003dce8
mov rbx, rax
jmp 0x1400355ed
mov rbx, rdx
mov qword [r13], rbx
mov qword [r13 + 0x10], rbp
mov qword [r13 + 0x18], r14
mov r8, rsi
mov rdx, r12
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [str..exe]
mov dword [rsi + rbx], eax
mov byte [rbx + rbp], 0
cmp r15, 0x10
jb 0x14003564e
lea rdx, [r15 + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x140035646
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140035646
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rdi
call fcn.14003daf4
mov rax, r13
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.14003d6d0
mov rbx, qword [rsp + 0xb0]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140030dd0
nop
call fcn.140030d30
int3