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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov rsi, rdx
mov r14, rcx
xor ebp, ebp
mov rax, qword gs:[0x58]
mov rdi, qword [rax]
mov eax, reloc.WS2_32.dll_recv
mov eax, dword [rax + rdi]
cmp dword [0x140139e94], eax
jle 0x14004b087
lea rcx, [0x140139e94]
call fcn.1400a4cd4
cmp dword [0x140139e94], 0xffffffff
jne 0x14004b087
xorps xmm0, xmm0
movups xmmword [0x140139eb0], xmm0
mov qword [0x140139ec0], rbp
mov qword [0x140139ec8], 0xf
lea ecx, [rbp + 0x30]
call fcn.1400a50e4
mov qword [0x140139eb0], rax
mov qword [0x140139ec0], 0x22
mov qword [0x140139ec8], 0x2f
movups xmm0, xmmword [str.0123456789abcdefghjklmnoprstuvqyzA]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x140127730]
movups xmmword [rax + 0x10], xmm1
movzx edx, word [0x140127740]
mov word [rax + 0x20], dx
mov byte [rax + 0x22], bpl
lea rcx, [0x1400a71a0]
call fcn.1400a5054
nop
lea rcx, [0x140139e94]
call fcn.1400a4c68
mov r15d, 0x13a8
mov eax, dword [r15 + rdi]
mov ecx, reloc.WLDAP32.dll_Ordinal_32
test al, 1
jne 0x14004b0f8
or eax, 1
mov dword [r15 + rdi], eax
mov ebx, ecx
add rbx, rdi
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rbx + 0x1384], 0xffffffff
mov dword [rbx + 4], eax
mov edx, 1
lea r8, [rbx + 8]
nop dword [rax]
nop word [rax + rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [r8], eax
inc rdx
lea r8, [r8 + 4]
cmp rdx, 0x270
jb 0x14004b0d0
mov dword [rbx], 0x270
mov eax, dword [r15 + rdi]
mov ebx, Ordinal_27
test al, 2
jne 0x14004b11b
or eax, 2
mov dword [r15 + rdi], eax
mov dword [rdi + rbx], ebp
mov eax, dword [0x140139ec0]
dec eax
mov dword [rdi + rbx + 4], eax
mov edx, reloc.WLDAP32.dll_Ordinal_32
test rsi, rsi
cmovne rdx, rsi
mov rcx, r14
call fcn.1400583f0
mov rcx, r14
cmp qword [r14 + 0x18], 0x10
jb 0x14004b141
mov rcx, qword [r14]
mov rdx, rcx
jmp 0x14004b144
mov rdx, r14
mov rbp, rcx
mov r13, qword [r14 + 0x10]
add r13, rdx
cmp rcx, r13
je 0x14004b231
lea r12, [rdi + rbx]
mov ebx, reloc.WLDAP32.dll_Ordinal_32
add rbx, rdi
mov r9d, 0x80000000
nop dword [rax]
mov edx, dword [r12 + 4]
mov ecx, dword [r12]
lea eax, [rcx - 0x80000000]
lea r15d, [rcx + r9]
cmp ecx, r9d
cmovae r15d, eax
lea eax, [rdx - 0x80000000]
lea ecx, [rdx + r9]
cmp edx, r9d
cmovae ecx, eax
sub ecx, r15d
cmp ecx, 0xffffffff
jne 0x14004b1ae
mov rcx, rbx
call fcn.14005b230
mov ecx, eax
jmp 0x14004b1e9
lea edi, [rcx + 1]
mov rcx, rbx
call fcn.14005b230
mov esi, edi
mov ecx, eax
imul rcx, rsi
cmp ecx, edi
jae 0x14004b1e5
mov eax, edi
neg eax
xor edx, edx
div edi
mov edi, edx
cmp ecx, edx
jae 0x14004b1e5
mov rcx, rbx
call fcn.14005b230
mov ecx, eax
imul rcx, rsi
cmp ecx, edi
jb 0x14004b1d3
shr rcx, 0x20
lea edx, [r15 + rcx]
lea eax, [rdx - 0x80000000]
mov r9d, 0x80000000
lea r8d, [rdx + r9]
cmp edx, r9d
cmovae r8d, eax
lea rcx, [0x140139eb0]
cmp qword [0x140139ec8], 0x10
cmovae rcx, qword [0x140139eb0]
movsxd rax, r8d
movzx ecx, byte [rax + rcx]
mov byte [rbp], cl
inc rbp
cmp rbp, r13
jne 0x14004b170
mov rax, r14
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret