Function at 0x14005c3a0
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x40
movaps xmmword [rsp + 0x30], xmm6
mov rbp, r9
movaps xmm6, xmm2
mov r14, rdx
mov rsi, rcx
mov rbx, qword [0x140139660]
mov r8, qword [rbx + 0x3ea0]
movsxd rax, dword [r8 + 0xe8]
mov r8, qword [r8 + 0xf0]
mov r8d, dword [r8 + rax*4 - 4]
xor edx, edx
call fcn.140009150
mov edi, eax
cmp dword [rbx + 0x3ee8], eax
jne 0x14005c40c
mov r8, rsi
mov edx, 0xb
mov ecx, eax
call fcn.140020540
mov rcx, rsi
call fcn.140015fb0
xor edx, edx
lea r8d, [rdx + 1]
mov rcx, rsi
call fcn.1400353c0
movss xmm1, dword [0x1400a0750]
movaps xmm0, xmm6
call fcn.1400189e0
mov rdx, qword [0x140139660]
cmp dword [rdx + 0x3f00], edi
jne 0x14005c622
movups xmm0, xmmword [rdx + 0x3a18]
movups xmmword [rsp + 0x20], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rdx + 0x37e0]
movss dword [rsp + 0x2c], xmm0
lea rcx, [rsp + 0x20]
call fcn.1400096e0
mov edx, eax
call fcn.140009bf0
mov rdx, rbp
lea rcx, [0x140095948]
call fcn.1400364d0
mov r8, qword [0x140139660]
movsxd rax, dword [r8 + 0x47e8]
cmp eax, 1
jl 0x14005c4be
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x47f0]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
movups xmmword [r8 + rax*8 + 0x38a8], xmm0
dec dword [r8 + 0x47e8]
mov byte [r8 + 0x3f0d], 1
nop word [rax + rax]
mov ecx, 0x1b
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
xor ebx, ebx
test ax, ax
jne 0x14005c4fb
mov ecx, ebx
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x14005c4fb
inc ebx
cmp ebx, 0xff
jl 0x14005c4e2
jmp 0x14005c4d0
mov dword [r14], ebx
mov rcx, qword [0x140139660]
mov r8, qword [rcx + 0x3ea0]
cmp byte [rcx + 0x48c3], 0
je 0x14005c54a
cmp byte [rcx + 0x48c2], 0
jne 0x14005c54a
test byte [rcx + 0x4740], 4
jne 0x14005c612
mov eax, dword [rcx + 0x4888]
cmp eax, dword [rcx + 0x473c]
jne 0x14005c612
test eax, eax
je 0x14005c612
jmp 0x14005c666
mov eax, dword [rcx + 0x4744]
test al, 1
je 0x14005c612
cmp qword [rcx + 0x3ea8], r8
je 0x14005c569
test al, al
jns 0x14005c612
mov eax, dword [rcx + 0x3f00]
test eax, eax
je 0x14005c58e
cmp eax, dword [rcx + 0x473c]
je 0x14005c58e
cmp byte [rcx + 0x3f0d], 0
jne 0x14005c58e
cmp eax, dword [r8 + 0x74]
jne 0x14005c612
mov rdx, qword [rcx + 0x4880]
test rdx, rdx
je 0x14005c5f3
mov rdx, qword [rdx + 0x370]
test rdx, rdx
je 0x14005c5f3
cmp byte [rdx + 0xaf], 0
je 0x14005c5f3
mov rax, qword [r8 + 0x370]
cmp rdx, rax
je 0x14005c5f3
mov r9d, dword [rdx + 0xc]
bt r9d, 0x1b
jb 0x14005c5cd
bt r9d, 0x1a
jae 0x14005c5f3
cmp qword [rax + 0x370], rdx
je 0x14005c5f3
cmp rax, rdx
je 0x14005c5f3
mov rax, qword [rax + 0x368]
test rax, rax
jne 0x14005c5d6
test dword [rcx + 0x4740], 0x100
je 0x14005c612
test byte [rcx + 0x4740], 4
jne 0x14005c612
mov eax, dword [r8 + 0x74]
cmp dword [rcx + 0x473c], eax
jne 0x14005c666
cmp byte [r8 + 0xb0], 0
je 0x14005c666
cmp byte [rcx + 0x3738], 0
je 0x14005c666
call fcn.14000cef0
jmp 0x14005c65f
movsxd rax, dword [r14]
lea rcx, [0x14009ae30]
mov rdx, rbp
mov rcx, qword [rcx + rax*8]
call fcn.1400364d0
test al, al
je 0x14005c65f
mov rdx, qword [0x140139660]
mov rax, qword [rdx + 0x3ea0]
mov byte [rax + 0xb0], 1
mov rdx, qword [rdx + 0x3ea0]
mov ecx, edi
call fcn.14000cda0
mov rcx, qword [0x140139660]
mov rax, qword [rcx + 0x3ea0]
dec dword [rax + 0xe8]
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x40
pop r14
ret