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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0x110
lea rbp, [rsp + 0x40]
and rbp, 0xffffffffffffffe0
mov rax, qword [0x1401200c0]
xor rax, rsp
mov qword [rbp + 0xc0], rax
mov rsi, rcx
mov qword [rbp + 0x60], rcx
xor r15d, r15d
mov dword [rbp + 8], r15d
lea r14d, [r15 + 5]
movabs rax, 0xe60f1854b35d3144
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x20], rax
movabs rax, 0x92e49e25024b4fa7
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x28], rax
movabs rax, 0xe48942c2328bf856
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x30], rax
movabs rax, 0x3cdacabc24f0bfb9
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x38], rax
movabs rax, 0x8ec6c4cd687b12df
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x40], rax
movabs rcx, 0x2c698784713cc102
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x48], rax
movabs rax, 0xae485e11f71e7305
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x80], rax
movabs rax, 0xc2abd0684e0005ee
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x88], rax
movabs rax, 0xbcde149766d8aa07
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x90], rax
movabs rax, 0x9eef98e15c0e5e0
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x98], rax
movabs rax, 0x8ec6c4cd514325e9
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xa0], rax
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0xa8], rax
vmovdqu ymm0, ymmword [rbp + 0x20]
vpxor ymm1, ymm0, ymmword [rbp + 0x80]
vmovdqa ymmword [rbp + 0x20], ymm1
vmovdqa xmm0, xmmword [rbp + 0x40]
vxorps xmm0, xmm0, xmmword [rbp + 0xa0]
vmovdqa xmmword [rbp + 0x40], xmm0
mov rax, qword gs:[0x58]
mov r13, qword [rax]
mov edi, reloc.WS2_32.dll_sendto
mov eax, dword [rdi + r13]
mov ebx, reloc.WLDAP32.dll_Ordinal_32
test al, 1
vzeroupper
jne 0x140003e1d
or eax, 1
mov dword [rdi + r13], eax
add rbx, r13
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov ecx, eax
mov dword [rbx + 0x1384], 0xffffffff
mov dword [rbx + 4], eax
lea edx, [r15 + 1]
lea r8, [rbx + 8]
nop word [rax + rax]
mov eax, ecx
shr eax, 0x1e
xor eax, ecx
imul ecx, eax, 0x6c078965
add ecx, edx
mov dword [r8], ecx
inc rdx
lea r8, [r8 + 4]
cmp rdx, 0x270
jb 0x140003df0
mov dword [rbx], 0x270
mov ebx, reloc.WLDAP32.dll_Ordinal_32
mov eax, dword [rdi + r13]
mov r12d, 0x13a8
test al, 2
jne 0x140003e3f
or eax, 2
mov dword [rdi + r13], eax
mov qword [r12 + r13], r15
mov qword [r12 + r13 + 8], 6
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], r15
mov qword [rsi + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rsi], 0
mov dword [rbp + 8], 1
mov rdx, r14
mov rcx, rsi
call fcn.1400218d0
add rbx, r13
nop dword [rax]
dec r14
mov qword [rbp], rbx
mov r15, qword [r12 + r13]
mov rdx, qword [r12 + r13 + 8]
sub rdx, r15
cmp rdx, 0xffffffffffffffff
jne 0x140003ea6
mov rcx, rbx
call fcn.140022d50
mov edi, eax
shl rdi, 0x20
mov rcx, rbx
call fcn.140022d50
mov eax, eax
or rdi, rax
jmp 0x140003eb5
inc rdx
lea rcx, [rbp]
call fcn.140022ba0
mov rdi, rax
lea rax, [rdi + r15]
movzx r9d, byte [rbp + rax + 0x20]
mov rcx, qword [rsi + 0x10]
mov rdx, qword [rsi + 0x18]
cmp rcx, rdx
jae 0x140003eeb
lea rax, [rcx + 1]
mov qword [rsi + 0x10], rax
mov rax, rsi
cmp rdx, 0xf
jbe 0x140003ee0
mov rax, qword [rsi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x140003efa
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rsi
call fcn.140022040
test r14, r14
jne 0x140003e70
mov rax, rsi
mov rcx, qword [rbp + 0xc0]
xor rcx, rsp
call fcn.1400cf470
lea r11, [rsp + 0x110]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret