Function at 0x140006570
Capabilities:
Hash data using fnv
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x30
mov rsi, qword [0x140066848]
mov r14, r8
mov rbp, rdx
mov r15, r9
xor edx, edx
mov rcx, rbp
mov rbx, qword [rsi + 0x3ed8]
movsxd rax, dword [rbx + 0xf0]
mov r8, qword [rbx + 0xf8]
mov r8d, dword [r8 + rax*4 - 4]
call fcn.14000a1e0
mov rcx, qword [rbx]
mov edi, eax
cmp dword [rcx + 0x3f20], eax
jne 0x1400065df
mov r8, rbp
mov edx, 0xb
mov ecx, eax
call fcn.140021d60
mov rsi, qword [0x140066848]
mov rbx, qword [rsi + 0x3ed8]
mov edx, edi
mov rcx, rbx
call fcn.14000dcc0
add rbx, 0xf0
mov esi, eax
mov ecx, dword [rbx]
mov r8d, dword [rbx + 4]
cmp ecx, r8d
jne 0x14000662c
inc ecx
test r8d, r8d
je 0x140006618
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x14000661d
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
mov edx, ecx
mov rcx, rbx
call fcn.140022f30
movsxd rcx, dword [rbx]
mov rax, qword [rbx + 8]
mov rdx, qword [0x140066848]
mov dword [rax + rcx*4], esi
inc dword [rbx]
cmp dword [rdx + 0x3f38], edi
jne 0x14000674a
mov rax, qword [rdx + 0x3ed8]
mov ecx, edi
mov byte [rax + 0xb8], 1
mov rdx, qword [rdx + 0x3ed8]
call fcn.14000df60
mov rax, qword [0x140066848]
lea rcx, [rsp + 0x20]
movups xmm0, xmmword [rax + 0x3a14]
movups xmmword [rsp + 0x20], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x37c8]
movss dword [rsp + 0x2c], xmm0
call fcn.14000a770
mov edx, eax
call fcn.14000ac80
mov rdx, r15
lea rcx, [0x140056004]
call fcn.140038d30
mov r8, qword [0x140066848]
movsxd rax, dword [r8 + 0x4830]
cmp eax, 1
jl 0x1400066e7
mov rcx, qword [r8 + 0x4838]
lea rdx, [rax + rax*4]
movsxd rax, dword [rcx + rdx*4 - 0x14]
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
add rax, rax
movups xmmword [r8 + rax*8 + 0x38a4], xmm0
dec dword [r8 + 0x4830]
mov ebx, 1
nop dword [rax]
mov ecx, ebx
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x14000671d
inc ebx
cmp ebx, 0xff
jl 0x1400066f0
mov rax, qword [0x140066848]
mov rcx, qword [rax + 0x3ed8]
dec dword [rcx + 0xf0]
jmp 0x140006731
xor eax, eax
cmp ebx, 8
cmovne eax, ebx
xor edx, edx
xor ecx, ecx
mov dword [r14], eax
call fcn.14000df60
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x30
pop r15
pop r14
pop rdi
ret
movzx edx, byte [r14]
movabs rcx, 0x100000001b3
movabs rax, 0xcbf29ce484222325
xor rdx, rax
movzx eax, byte [r14 + 1]
imul rdx, rcx
xor rdx, rax
movzx eax, byte [r14 + 2]
imul rdx, rcx
xor rdx, rax
movzx eax, byte [r14 + 3]
imul rdx, rcx
xor rdx, rax
mov rax, qword [0x140066888]
imul rdx, rcx
and rdx, qword [0x1400668a0]
add rdx, rdx
mov rcx, qword [rax + rdx*8 + 8]
cmp rcx, qword [0x140066878]
je 0x1400067fd
mov rdx, qword [rax + rdx*8]
mov eax, dword [r14]
cmp eax, dword [rcx + 0x10]
je 0x1400067c6
cmp rcx, rdx
je 0x1400067fd
mov rcx, qword [rcx + 8]
cmp eax, dword [rcx + 0x10]
jne 0x1400067b8
mov rcx, qword [rcx + 0x18]
mov rdx, r15
call fcn.140038d30
test al, al
je 0x140006707
mov rdx, qword [0x140066848]
mov ecx, edi
mov rax, qword [rdx + 0x3ed8]
mov byte [rax + 0xb8], 1
mov rdx, qword [rdx + 0x3ed8]
jmp 0x14000672c
lea rcx, str.invalid_unordered_map_K__T__key
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const____ptr64_]
int3