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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x30
mov rdi, rcx
mov qword [rsp + 0x28], rcx
xor ebx, ebx
mov rax, qword gs:[0x58]
mov r14, qword [rax]
mov eax, reloc.WS2_32.dll_recv
mov eax, dword [rax + r14]
cmp dword [0x140298ab0], eax
jle 0x1400379a3
lea rcx, [0x140298ab0]
call fcn.1400a7fe8
cmp dword [0x140298ab0], 0xffffffff
jne 0x1400379a3
xorps xmm0, xmm0
movups xmmword [0x140298ab8], xmm0
mov qword [0x140298ac8], rbx
mov qword [0x140298ad0], 0xf
lea ecx, [rbx + 0x30]
call fcn.1400a872c
mov qword [0x140298ab8], rax
mov qword [0x140298ac8], 0x22
mov qword [0x140298ad0], 0x2f
movups xmm0, xmmword [str.0123456789AbCdEfGhJkLmNoPRsTuVqYzA]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x140124888]
movups xmmword [rax + 0x10], xmm1
movzx edx, word [0x140124898]
mov word [rax + 0x20], dx
mov byte [rax + 0x22], bl
lea rcx, [0x1400aa960]
call fcn.1400a8400
nop
lea rcx, [0x140298ab0]
call fcn.1400a7f88
mov r15d, 0x13a8
mov eax, dword [r15 + r14]
mov ebp, reloc.WLDAP32.dll_Ordinal_32
test al, 1
jne 0x140037a08
or eax, 1
mov dword [r15 + r14], eax
mov esi, ebp
add rsi, r14
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rsi + 0x1384], 0xffffffff
mov dword [rsi + 4], eax
mov edx, 1
lea r8, [rsi + 8]
nop
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 0x1400379e0
mov dword [rsi], 0x270
mov eax, dword [r15 + r14]
mov r12d, Ordinal_26
test al, 2
jne 0x140037a2e
or eax, 2
mov dword [r15 + r14], eax
mov dword [r12 + r14], ebx
mov eax, dword [0x140298ac8]
dec eax
mov dword [r12 + r14 + 4], eax
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rbx
mov qword [rdi + 0x18], reloc.WS2_32.dll_ntohs
mov rdx, qword [rdi + 0x18]
mov rcx, rdx
shr rcx, 1
movabs rsi, 0x7fffffffffffffff
mov rax, rsi
sub rax, rcx
cmp rdx, rax
jbe 0x140037a88
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.1400a872c
test rax, rax
je 0x140037ab4
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x140037ac8
lea rax, [rcx + rdx]
mov esi, 0x3f
cmp rax, rsi
cmova rsi, rax
lea rcx, [rsi + 1]
cmp rcx, 0x1000
jb 0x140037abb
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140037b6b
jmp 0x140037a6d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
test rcx, rcx
je 0x140037ac8
call fcn.1400a872c
mov rbx, rax
mov qword [rdi], rbx
mov qword [rdi + 0x10], reloc.WLDAP32.dll_Ordinal_50
mov qword [rdi + 0x18], rsi
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm0
movups xmmword [rbx + 0x20], xmm0
mov word [rbx + 0x30], ax
mov byte [rbx + 0x32], al
mov rcx, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x140037b00
mov rcx, qword [rdi]
mov rdx, rcx
jmp 0x140037b03
mov rdx, rdi
mov rbx, rcx
mov rsi, qword [rdi + 0x10]
add rsi, rdx
cmp rcx, rsi
je 0x140037b51
add rbp, r14
mov eax, r12d
add r14, rax
lea r15, [0x140298ab8]
mov rdx, rbp
mov rcx, r14
call fcn.140044e20
movsxd rdx, eax
mov rcx, r15
cmp qword [0x140298ad0], 0x10
cmovae rcx, qword [0x140298ab8]
movzx ecx, byte [rcx + rdx]
mov byte [rbx], cl
inc rbx
cmp rbx, rsi
jne 0x140037b22
mov rax, rdi
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
call fcn.140037750
int3