Function at 0x140001290
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rbp
push rsi
push rdi
push r14
sub rsp, 0xb0
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
movaps xmmword [rax - 0x48], xmm8
mov rax, qword [0x140007040]
xor rax, rsp
mov qword [rsp + 0x78], rax
movaps xmm7, xmm3
movaps xmm8, xmm2
mov rsi, rdx
mov rbx, rcx
add rdx, 0x17c17f0
xor r14d, r14d
mov qword [rsp + 0x20], r14
mov r9d, 8
lea r8, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rbp, qword [rsp + 0x40]
lea rdx, [rbp + 0x13a8]
mov qword [rsp + 0x20], r14
mov r9d, 4
lea r8, [rsp + 0x30]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov edi, dword [rsp + 0x30]
test edi, edi
jle 0x140001592
lea rdx, [rsi + 0x1954568]
mov qword [rsp + 0x20], r14
mov r9d, 8
lea r8, [rsp + 0x38]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov eax, edi
sar eax, 9
shl eax, 3
movsxd rcx, eax
mov rdx, qword [rsp + 0x38]
add rdx, 0x10
add rdx, rcx
mov qword [rsp + 0x20], r14
mov r9d, 8
lea r8, [rsp + 0x48]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
and edi, 0x1ff
imul edx, edi, 0x78
add rdx, qword [rsp + 0x48]
mov qword [rsp + 0x20], r14
mov r9d, 8
lea r8, [rsp + 0x38]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rdx, qword [rsp + 0x38]
add rdx, 0x3c3
mov qword [rsp + 0x20], r14
mov r9d, 4
lea r8, [rsp + 0x30]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
lea rdx, [rbp + 0x3c3]
mov qword [rsp + 0x20], r14
mov r9d, 4
lea r8, [rsp + 0x38]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov ecx, dword [rsp + 0x30]
lea eax, [rcx - 2]
cmp eax, 1
setbe al
cmp ecx, dword [rsp + 0x38]
je 0x140001592
test al, al
je 0x140001592
mov ecx, 0x5a
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
test al, 1
jne 0x140001586
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
test al, 1
jne 0x140001586
mov ecx, 0x44
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
test al, 1
jne 0x140001586
mov ecx, 0x51
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
test al, 1
jne 0x140001586
mov ecx, 4
mov rax, qword gs:[0x58]
mov rax, qword [rax]
mov eax, dword [rcx + rax]
cmp dword [0x1400077a8], eax
jle 0x1400014e6
lea rcx, [0x1400077a8]
call fcn.140002868
cmp dword [0x1400077a8], 0xffffffff
jne 0x1400014e6
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [0x140008b34], 0xffffffff
mov dword [0x1400077b4], eax
mov r8d, 1
lea r9, [0x1400077b4]
nop word [rax + rax]
mov edx, eax
shr edx, 0x1e
xor edx, eax
imul eax, edx, 0x6c078965
add eax, r8d
mov dword [r9 + r8*4], eax
inc r8
cmp r8, 0x270
jb 0x1400014b0
mov dword [0x1400077b0], 0x270
lea rcx, [0x1400077a8]
call fcn.1400027fc
call fcn.1400025d0
mov eax, eax
xorps xmm6, xmm6
cvtsi2ss xmm6, rax
xorps xmm0, xmm0
subss xmm6, xmm0
addss xmm6, xmm0
movdqu xmmword [rsp + 0x54], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x68], xmm1
mov dword [rsp + 0x50], r14d
mov dword [rsp + 0x64], 8
mov r8d, 0x28
lea rdx, [rsp + 0x50]
mov ecx, 1
call qword [sym.imp.USER32.dll_SendInput]
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
mov dword [rsp + 0x64], 0x10
mov r8d, 0x28
lea rdx, [rsp + 0x50]
mov ecx, 1
call qword [sym.imp.USER32.dll_SendInput]
mulss xmm6, dword [0x140004954]
subss xmm7, xmm8
mulss xmm6, xmm7
addss xmm6, xmm8
mulss xmm6, dword [0x140004968]
cvttss2si rcx, xmm6
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x140001592
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
call fcn.140002060
mov ecx, 0x1e
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.1400027a0
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret