Function at 0x180003a10
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister
Get session user name

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1510]
mov eax, 0x1610
call fcn.1800e3060
sub rsp, rax
xor r13d, r13d
mov qword [rbp + 0x1558], 0x3f
lea rdx, [rbp + 0x1558]
mov qword [rsp + 0x68], r13
call fcn.180002980
movups xmm0, xmmword [str.0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov r15, qword [rbp + 0x1558]
mov rbx, rax
mov qword [rsp + 0x60], rax
movups xmmword [rax], xmm0
mov qword [rsp + 0x70], 0x3e
movups xmm1, xmmword [0x180101e68]
mov qword [rsp + 0x78], r15
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [0x180101e78]
movups xmmword [rax + 0x20], xmm0
movsd xmm0, qword [0x180101e88]
movsd qword [rax + 0x30], xmm0
mov eax, dword [0x180101e90]
mov dword [rbx + 0x38], eax
movzx eax, word [0x180101e94]
mov word [rbx + 0x3c], ax
mov byte [rbx + 0x3e], r13b
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
or dword [rbp + 0x1504], 0xffffffff
lea edx, [r13 + 1]
mov dword [rbp + 0x184], eax
mov r8d, 0x270
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rbp + rdx*4 + 0x184], eax
inc rdx
cmp rdx, r8
jb 0x180003ad8
mov r12d, 0xf
mov dword [rbp + 0x180], r8d
xorps xmm0, xmm0
mov qword [rsp + 0x50], r13
lea rax, [rbp + 0x180]
mov qword [rsp + 0x58], r12
movups xmmword [rsp + 0x40], xmm0
lea r14d, [r12 - 9]
mov byte [rsp + 0x40], r13b
mov rdi, r13
mov qword [rbp + 0x1558], rax
mov esi, r12d
lea rcx, [rbp + 0x1558]
call fcn.18000416c
mov eax, eax
imul rdx, rax, 0x3e
cmp edx, 3
ja 0x180003b61
lea rcx, [rbp + 0x1558]
call fcn.18000416c
mov eax, eax
imul rdx, rax, 0x3e
cmp edx, 4
jb 0x180003b4a
shr rdx, 0x20
lea rcx, [rsp + 0x60]
mov r8d, 0x80000000
cmp r15, r12
cmova rcx, rbx
lea rax, [rdx + r8]
xor rax, r8
mov r9b, byte [rax + rcx]
cmp rdi, rsi
jae 0x180003ba9
lea rax, [rdi + 1]
cmp rsi, r12
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x40]
cmova rax, qword [rsp + 0x40]
mov byte [rax + rdi], r9b
mov byte [rax + rdi + 1], r13b
jmp 0x180003bb3
lea rcx, [rsp + 0x40]
call fcn.180002720
sub r14, 1
je 0x180003bc8
mov rsi, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x50]
jmp 0x180003b33
lea rdx, [rbp + 0x1550]
mov dword [rbp + 0x1550], 0x101
lea rcx, [rbp + 0x70]
call qword [sym.imp.ADVAPI32.dll_GetUserNameA]
xorps xmm0, xmm0
mov qword [rsp + 0x70], r13
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x78], r13
lea rax, [rbp + 0x70]
or r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], r13b
jne 0x180003bfd
lea rdx, [rbp + 0x70]
lea rcx, [rsp + 0x60]
call fcn.180002668
movzx eax, word [0x180101ea0]
mov edi, 0xb
movsd xmm0, qword [str.UserNAME_:]
movabs rsi, 0x7ffffffffffffff4
mov rcx, qword [rsp + 0x70]
mov word [rbp - 0x58], ax
mov al, byte [0x180101ea2]
mov byte [rbp - 0x56], al
movzx eax, word [0x180101eb0]
mov word [rbp - 0x78], ax
mov al, byte [0x180101eb2]
movsd qword [rbp - 0x60], xmm0
movsd xmm0, qword [str.SOSAL_DA_:]
mov byte [rbp - 0x76], al
mov dword [rbp - 0x54], r13d
mov qword [rbp - 0x50], rdi
mov qword [rbp - 0x48], r12
mov byte [rbp - 0x55], r13b
mov dword [rbp - 0x74], r13d
mov qword [rbp - 0x70], rdi
mov qword [rbp - 0x68], r12
movsd qword [rbp - 0x80], xmm0
mov byte [rbp - 0x75], r13b
cmp rcx, rsi
ja 0x180003f1b
cmp qword [rsp + 0x78], r12
lea rax, [rsp + 0x60]
mov qword [rsp + 0x30], rcx
lea r9, [rbp - 0x60]
cmova rax, qword [rsp + 0x60]
lea rcx, [rbp - 0x20]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
call fcn.180004098
mov rcx, qword [rsp + 0x50]
cmp rcx, rsi
ja 0x180003f1b
cmp qword [rsp + 0x58], r12
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rcx
lea r9, [rbp - 0x80]
cmova rax, qword [rsp + 0x40]
lea rcx, [rbp - 0x40]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
call fcn.180004098
xor edx, edx
lea r8d, [rdi + 0x65]
lea rcx, [rbp]
call sub.VCRUNTIME140.dll_memset
cmp qword [rbp - 8], r12
lea rax, [rbp - 0x20]
cmova rax, qword [rbp - 0x20]
cmp qword [rbp - 0x28], r12
mov qword [rbp + 8], rax
lea rax, [rbp - 0x40]
cmova rax, qword [rbp - 0x40]
xor ecx, ecx
mov qword [rbp], rax
lea rax, [0x180101dd0]
mov qword [rbp + 0x28], rax
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
mov qword [rbp + 0x10], rax
lea rcx, [rbp]
lea rax, str.image_1_
mov qword [rbp + 0x20], rax
lea rax, [0x180101ec4]
mov qword [rbp + 0x30], rax
call fcn.180005aec
mov rdx, qword [rbp - 0x28]
mov edi, 0x1000
cmp rdx, r12
jbe 0x180003d9b
mov rcx, qword [rbp - 0x40]
inc rdx
mov rax, rcx
cmp rdx, rdi
jb 0x180003d96
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003f14
call fcn.180078364
mov rdx, qword [rbp - 8]
movdqa xmm0, xmmword [0x1802d1dd0]
mov byte [rbp - 0x40], r13b
movdqu xmmword [rbp - 0x30], xmm0
cmp rdx, r12
jbe 0x180003dea
mov rcx, qword [rbp - 0x20]
inc rdx
mov rax, rcx
cmp rdx, rdi
jb 0x180003ddd
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003f14
call fcn.180078364
movdqa xmm0, xmmword [0x1802d1dd0]
mov rdx, qword [rbp - 0x68]
mov byte [rbp - 0x20], r13b
movdqu xmmword [rbp - 0x10], xmm0
cmp rdx, r12
jbe 0x180003e29
mov rcx, qword [rbp - 0x80]
inc rdx
mov rax, rcx
cmp rdx, rdi
jb 0x180003e24
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003f14
call fcn.180078364
mov rdx, qword [rbp - 0x48]
cmp rdx, r12
jbe 0x180003e5f
mov rcx, qword [rbp - 0x60]
inc rdx
mov rax, rcx
cmp rdx, rdi
jb 0x180003e5a
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003f14
call fcn.180078364
mov rdx, qword [rsp + 0x78]
cmp rdx, r12
jbe 0x180003e97
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, rdi
jb 0x180003e92
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003f14
call fcn.180078364
mov rdx, qword [rsp + 0x58]
cmp rdx, r12
jbe 0x180003ecb
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, rdi
jb 0x180003ec6
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003f14
call fcn.180078364
cmp r15, r12
jbe 0x180003ef9
lea rdx, [r15 + 1]
cmp rdx, rdi
jb 0x180003ef1
mov rcx, qword [rbx - 8]
add rdx, 0x27
sub rbx, rcx
lea rax, [rbx - 8]
cmp rax, 0x1f
ja 0x180003f14
mov rbx, rcx
mov rcx, rbx
call fcn.180078364
mov rbx, qword [rsp + 0x1660]
add rsp, 0x1610
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800023d4
int3