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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x60
movaps xmmword [rsp + 0x50], xmm6
movaps xmmword [rsp + 0x40], xmm7
movaps xmmword [rsp + 0x30], xmm8
movaps xmmword [rsp + 0x20], xmm9
movzx edi, dl
movsxd rbx, ecx
mov ecx, dword [0x1400aa0f4]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
movsd xmm6, qword [0x14009b158]
test al, 1
je 0x140073800
movsd xmm1, qword [0x14009b1d0]
jmp 0x140073803
movaps xmm1, xmm6
mov r8, qword [0x1400cdd90]
mov rax, qword [r8 + 8]
mov rcx, r8
mov edx, dword [0x1400cd934]
cmp byte [rax + 0x19], 0
jne 0x140073837
nop dword [rax]
cmp dword [rax + 0x20], edx
jge 0x14007382b
mov rax, qword [rax + 0x10]
jmp 0x140073831
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x140073820
cmp byte [rcx + 0x19], 0
jne 0x140073842
cmp edx, dword [rcx + 0x20]
jge 0x140073845
mov rcx, r8
cmp rcx, r8
jne 0x140073852
xorps xmm0, xmm0
jmp 0x140073a1b
mov rax, qword [rcx + 0x68]
movsd xmm0, qword [rax]
mulsd xmm0, qword [0x14009b080]
movsd xmm2, qword [rcx + 0x60]
subsd xmm2, xmm0
mov rax, rbx
shl rax, 4
add rax, qword [rcx + 0x48]
cmp dil, 0x78
jne 0x140073882
movsd xmm0, qword [rax]
jmp 0x140073887
movsd xmm0, qword [rax + 8]
call fcn.1400732d0
movaps xmm9, xmm0
movd xmm8, dword [0x1400cd908]
cvtdq2pd xmm8, xmm8
divsd xmm8, qword [0x14009b270]
movaps xmm7, xmm0
andps xmm7, xmmword [0x14009ba80]
mulsd xmm7, qword [0x14009b138]
mov esi, 4
mov rax, qword gs:[0x58]
mov rbx, qword [rax]
mov eax, dword [rsi + rbx]
cmp dword [0x1400cfa40], eax
jle 0x140073946
lea rcx, [0x1400cfa40]
call fcn.140083908
cmp dword [0x1400cfa40], 0xffffffff
jne 0x140073946
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [0x1400cfa24], 0xffffffff
mov dword [0x1400ce6a4], eax
mov r8d, 1
lea r9, [0x1400ce6a4]
nop dword [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 0x140073910
mov dword [0x1400ce6a0], 0x270
lea rcx, [0x1400cfa40]
call fcn.14008389c
mov eax, dword [rsi + rbx]
cmp dword [0x1400cfa28], eax
jle 0x140073981
lea rcx, [0x1400cfa28]
call fcn.140083908
cmp dword [0x1400cfa28], 0xffffffff
jne 0x140073981
movdqa xmm0, xmmword [0x14009ba50]
movups xmmword [0x1400cfa30], xmm0
lea rcx, [0x1400cfa28]
call fcn.14008389c
xorps xmm1, xmm1
xorps xmm2, xmm2
mov ebx, 2
movsd xmm3, qword [0x14009b348]
call fcn.140074f40
mov eax, eax
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
subsd xmm0, xmm1
mulsd xmm0, xmm6
addsd xmm2, xmm0
mulsd xmm6, xmm3
sub rbx, 1
jne 0x140073994
lea rcx, [0x1400cdee0]
lea rax, [0x1400cdee8]
cmp dil, 0x78
cmove rax, rcx
divsd xmm2, xmm6
movsd xmm0, qword [0x1400cfa38]
movups xmm1, xmmword [0x1400cfa30]
subsd xmm0, xmm1
mulsd xmm2, xmm0
addsd xmm2, xmm1
mulsd xmm2, xmm8
mulsd xmm2, xmm7
mulsd xmm2, qword [0x14009b0d8]
movsd xmm1, qword [rax]
mulsd xmm1, qword [0x14009b150]
addsd xmm2, xmm1
movsd qword [rax], xmm2
addsd xmm2, xmm9
movaps xmm0, xmm2
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
movaps xmm6, xmmword [rsp + 0x50]
movaps xmm7, xmmword [rsp + 0x40]
movaps xmm8, xmmword [rsp + 0x30]
movaps xmm9, xmmword [rsp + 0x20]
add rsp, 0x60
pop rdi
ret