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

Disassembly:
mov qword [rsp + 8], rbx
push rbp
lea rbp, [rsp - 0x1360]
mov eax, 0x1460
call fcn.1400099c0
sub rsp, rax
movaps xmmword [rsp + 0x1450], xmm6
movaps xmmword [rsp + 0x1440], xmm7
mov rax, qword [0x140010040]
xor rax, rsp
mov qword [rbp + 0x1330], rax
movaps xmm6, xmm2
movaps xmm7, xmm1
movzx ebx, cl
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rbp + 0x12d4], 0xffffffff
mov edx, 1
mov dword [rsp + 0x54], eax
nop
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rsp + rdx*4 + 0x54], eax
inc rdx
cmp rdx, 0x270
jb 0x140003cb0
movss xmm1, dword [0x14000be08]
lea r8, [rsp + 0x58]
mov dword [rsp + 0x50], 0x270
xorps xmm2, xmm2
mov r9d, 0x270
nop dword [rax]
mov edx, dword [r8 - 4]
xor edx, dword [r8]
lea r8, [r8 + 4]
btr edx, 0x1f
xor edx, dword [r8 - 8]
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r8 + 0x62c]
xor ecx, edx
mov dword [r8 + 0x9b8], ecx
sub r9, 1
jne 0x140003cf0
mov eax, dword [rsp + 0x50]
subss xmm6, xmm7
xorps xmm0, xmm0
mov ecx, dword [rsp + rax*4 + 0x54]
mov eax, ecx
shr eax, 0xb
and eax, dword [rbp + 0x12d4]
xor ecx, eax
mov eax, ecx
and eax, 0xff3a58ad
shl eax, 7
xor ecx, eax
mov eax, ecx
and eax, 0xffffdf8c
shl eax, 0xf
xor ecx, eax
mov eax, ecx
shr eax, 0x12
xor eax, ecx
cvtsi2ss xmm0, rax
subss xmm0, xmm2
mulss xmm0, xmm1
mulss xmm1, dword [0x14000be0c]
addss xmm0, xmm2
divss xmm0, xmm1
mulss xmm0, xmm6
addss xmm0, xmm7
cvttss2si eax, xmm0
movsxd rcx, eax
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x20]
call fcn.140004000
xorps xmm0, xmm0
lea rdx, [rbp + 0x12e0]
xor eax, eax
mov r8d, 0x28
movups xmmword [rbp + 0x12e8], xmm0
mov ecx, 1
mov dword [rbp + 0x12f4], 2
movups xmmword [rbp + 0x1308], xmm0
mov dword [rbp + 0x1308], eax
movups xmmword [rbp + 0x1318], xmm0
mov dword [rbp + 0x131c], 4
movups xmmword [rbp + 0x12f8], xmm0
mov qword [rbp + 0x1328], rax
mov dword [rbp + 0x12e0], eax
call qword [sym.imp.USER32.dll_SendInput]
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rbp + 0x12d4], 0xffffffff
mov edx, 1
mov dword [rsp + 0x54], eax
nop dword [rax + rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rsp + rdx*4 + 0x54], eax
inc rdx
cmp rdx, 0x270
jb 0x140003e20
lea rcx, [rsp + 0x50]
mov dword [rsp + 0x50], 0x270
call fcn.140004170
mov ecx, eax
imul rax, rcx, 0x15
cmp eax, 3
ja 0x140003e75
nop dword [rax]
lea rcx, [rsp + 0x50]
call fcn.140004170
mov ecx, eax
imul rax, rcx, 0x15
cmp eax, 4
jb 0x140003e60
shr rax, 0x20
lea rcx, [rsp + 0x20]
sub rax, 0x7fffffe2
xor rax, 0xffffffff80000000
mov qword [rsp + 0x20], rax
call fcn.140004000
mov r8d, 0x28
lea rdx, [rbp + 0x1308]
mov ecx, 1
call qword [sym.imp.USER32.dll_SendInput]
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x20], 0x32
call fcn.140004000
test bl, bl
je 0x140003efb
xorps xmm0, xmm0
mov dword [rsp + 0x28], 0
xorps xmm1, xmm1
mov dword [rsp + 0x3c], 0x10
mov r8d, 0x28
lea rdx, [rsp + 0x28]
mov ecx, 1
movdqu xmmword [rsp + 0x2c], xmm0
movdqu xmmword [rsp + 0x40], xmm1
call qword [sym.imp.USER32.dll_SendInput]
mov rcx, qword [rbp + 0x1330]
xor rcx, rsp
call fcn.1400085b0
lea r11, [rsp + 0x1460]
mov rbx, qword [r11 + 0x10]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop rbp
ret