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

Disassembly:
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x13c8
call fcn.1400ba480
sub rsp, rax
mov r15, rcx
mov dword [rsp + 0x20], 0
mov ebx, 4
mov rax, qword gs:[0x58]
add rbx, qword [rax]
lea r14, [0x1400efa40]
mov qword [rsp + 0x1428], r14
mov eax, dword [rbx]
cmp dword [0x1400efa70], eax
jle 0x14004f665
lea rcx, [0x1400efa70]
call fcn.1400b9c6c
cmp dword [0x1400efa70], 0xffffffff
jne 0x14004f665
mov qword [0x1400efa40], 0
movdqa xmm0, xmmword [0x1400d78f0]
movdqu xmmword [0x1400efa50], xmm0
mov r8d, 0x3e
lea rdx, str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
mov rcx, r14
call fcn.14003cf10
lea rcx, [0x1400bd620]
call fcn.1400b9ff0
nop
lea rcx, [0x1400efa70]
call fcn.1400b9c0c
mov edi, 0xffffffff
mov eax, dword [rbx]
cmp dword [0x1400efa88], eax
jle 0x14004f6e8
lea rcx, [0x1400efa88]
call fcn.1400b9c6c
cmp dword [0x1400efa88], 0xffffffff
jne 0x14004f6e8
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
mov dword [0x1400efa34], edi
mov dword [0x1400ee6b4], eax
mov r8d, 1
lea r9, [0x1400ee6b4]
nop word [rax + rax]
mov edx, eax
shr edx, 0x1e
xor edx, eax
imul edx, edx, 0x6c078965
add edx, r8d
mov dword [r9 + r8*4], edx
mov eax, edx
inc r8
cmp r8, 0x270
jb 0x14004f6b0
mov dword [0x1400ee6b0], 0x270
lea rcx, [0x1400efa88]
call fcn.1400b9c0c
mov qword [r15], 0
mov qword [r15 + 0x10], 0
mov qword [r15 + 0x18], reloc.WS2_32.dll_ntohs
mov byte [r15], 0
mov dword [rsp + 0x20], 1
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rsp + 0x13b4], edi
mov dword [rsp + 0x34], eax
mov edx, 1
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rsp + rdx*4 + 0x34], eax
inc rdx
cmp rdx, 0x270
jb 0x14004f721
mov dword [rsp + 0x30], 0x270
mov r13, qword [0x1400efa50]
cmp qword [0x1400efa58], 0x10
jb 0x14004f768
mov r14, qword [0x1400efa40]
mov qword [rsp + 0x1428], r14
add r13, r14
mov eax, 0x40
mov rbp, 0xffffffffffffffff
nop word [rax + rax]
dec rax
shr rbp, 1
cmp rbp, rdi
ja 0x14004f780
mov qword [rsp + 0x28], rax
sub r13, r14
cmp r13, 0xf
mov r9d, reloc.WS2_32.dll_ntohs
cmovl r9d, r13d
mov qword [rsp + 0x1420], r9
test r13, r13
jle 0x14004f8b2
movzx ebx, byte [rsp + 0x1418]
nop word [rax + rax]
xor edi, edi
xor esi, esi
lea r12, [r13 - 1]
test r12, r12
je 0x14004f815
lea r14, [rax - 1]
mov rcx, r14
shl rdi, cl
add rdi, rdi
nop word [rax + rax]
lea rcx, [rsp + 0x30]
call fcn.1400560c0
mov eax, eax
cmp rax, rbp
ja 0x14004f7e0
or rdi, rax
mov rcx, r14
shl rsi, cl
add rsi, rsi
or rsi, rbp
cmp rsi, r12
jb 0x14004f7d1
mov r14, qword [rsp + 0x1428]
mov r9, qword [rsp + 0x1420]
xor edx, edx
mov rax, rsi
div r13
mov r8, rdx
mov rcx, rax
xor edx, edx
mov rax, rdi
div r13
cmp rax, rcx
jb 0x14004f83a
cmp r8, r12
mov rax, qword [rsp + 0x28]
jne 0x14004f7c0
movsxd rax, r9d
cmp rdx, rax
jge 0x14004f896
dec r9d
mov qword [rsp + 0x1420], r9
movzx r9d, byte [r14]
mov rcx, qword [r15 + 0x10]
mov rdx, qword [r15 + 0x18]
cmp rcx, rdx
jae 0x14004f87d
lea rax, [rcx + 1]
mov qword [r15 + 0x10], rax
mov rax, r15
cmp rdx, 0x10
jb 0x14004f872
mov rax, qword [r15]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x14004f88e
movzx r8d, bl
mov edx, 1
mov rcx, r15
call fcn.140055390
mov r9, qword [rsp + 0x1420]
inc r14
mov qword [rsp + 0x1428], r14
mov r13, r12
test r12, r12
mov rax, qword [rsp + 0x28]
jg 0x14004f7c0
mov rax, r15
add rsp, 0x13c8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret