Function at 0x7ff6989ec3f0
Capabilities:
Log keystrokes via polling

Disassembly:
sub rsp, 0x58
mov qword [rsp + 0x50], rbx
call fcn.7ff6989f18b0
cmp byte [0x7ff698a8984b], 0
je 0x7ff6989ec499
call fcn.7ff6989a54b0
movss xmm0, dword [0x7ff698a89904]
lea rcx, [rsp + 0x30]
movss xmm1, dword [0x7ff698a89908]
mov rbx, rax
movss dword [rsp + 0x30], xmm0
movss xmm0, dword [0x7ff698a8990c]
movss dword [rsp + 0x38], xmm0
movss dword [rsp + 0x34], xmm1
mov dword [rsp + 0x3c], 0x3f333333
call fcn.7ff6989a5310
movss xmm0, dword [0x7ff698a896d0]
lea rdx, [rsp + 0x60]
movss xmm1, dword [0x7ff698a896d4]
mov r9d, eax
movss xmm2, dword [0x7ff698a89824]
mov rcx, rbx
movss dword [rsp + 0x60], xmm0
movss xmm0, dword [0x7ff698a61c34]
movss dword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], 0
movss dword [rsp + 0x64], xmm1
call fcn.7ff6989b7f40
cmp byte [0x7ff698a8985c], 0
je 0x7ff6989ec55a
call fcn.7ff6989a54b0
movaps xmm0, xmmword [0x7ff698a658b0]
lea rcx, [rsp + 0x30]
movups xmmword [rsp + 0x30], xmm0
mov rbx, rax
call fcn.7ff69899a8f0
movss xmm0, dword [0x7ff698a896d0]
lea rdx, [rsp + 0x60]
movss xmm1, dword [0x7ff698a896d4]
mov r9d, eax
movss xmm2, dword [0x7ff698a61c68]
mov rcx, rbx
movss dword [rsp + 0x60], xmm0
movss dword [rsp + 0x64], xmm1
mov dword [rsp + 0x20], 0
call fcn.7ff6989b8070
call fcn.7ff6989a54b0
movaps xmm0, xmmword [0x7ff698a67960]
lea rcx, [rsp + 0x30]
movups xmmword [rsp + 0x30], xmm0
mov rbx, rax
call fcn.7ff69899a8f0
movss xmm0, dword [0x7ff698a896d0]
lea rdx, [rsp + 0x60]
movss xmm1, dword [0x7ff698a896d4]
mov r9d, eax
movss xmm2, dword [0x7ff698a61c54]
mov rcx, rbx
movss dword [rsp + 0x60], xmm0
movss dword [rsp + 0x64], xmm1
mov dword [rsp + 0x20], 0
call fcn.7ff6989b8070
cmp byte [0x7ff698a8985d], 0
mov rbx, qword [rsp + 0x50]
je 0x7ff6989ec9cb
cmp byte [0x7ff698a898d5], 0
jne 0x7ff6989ec6a4
cmp byte [0x7ff698a898ec], 0
jne 0x7ff6989ec6a4
cmp byte [0x7ff698a898dd], 0
jne 0x7ff6989ec6a4
cmp byte [0x7ff698a898d0], 0
jne 0x7ff6989ec6a4
cmp byte [0x7ff698a898e6], 0
jne 0x7ff6989ec6a4
cmp byte [0x7ff698a89887], 0
jne 0x7ff6989ec6a4
cmp byte [0x7ff698a898e8], 0
jne 0x7ff6989ec6a4
cmp byte [0x7ff698a898eb], 0
jne 0x7ff6989ec6a4
cmp byte [0x7ff698a89886], 0
jne 0x7ff6989ec6a4
cmp byte [0x7ff698a898ea], 0
jne 0x7ff6989ec6a4
cmp byte [0x7ff698a898e9], 0
jne 0x7ff6989ec6a4
cmp byte [0x7ff698a898d8], 0
jne 0x7ff6989ec6a4
cmp byte [0x7ff698a898ce], 0
jne 0x7ff6989ec6a4
cmp byte [0x7ff698a898db], 0
jne 0x7ff6989ec6a4
cmp byte [0x7ff698a898e7], 0
jne 0x7ff6989ec6a4
cmp byte [0x7ff698a898ed], 0
jne 0x7ff6989ec6a4
cmp byte [0x7ff698a898ee], 0
jne 0x7ff6989ec6a4
cmp byte [0x7ff698a898f5], 0
jne 0x7ff6989ec6a4
cmp byte [0x7ff698a898cc], 0
jne 0x7ff6989ec6a4
cmp byte [0x7ff698a898f2], 0
jne 0x7ff6989ec6a4
cmp byte [0x7ff698a898f0], 0
jne 0x7ff6989ec6a4
cmp byte [0x7ff698a898f1], 0
jne 0x7ff6989ec6a4
cmp byte [0x7ff698a898da], 0
jne 0x7ff6989ec6a4
cmp byte [0x7ff698a898d7], 0
jne 0x7ff6989ec6a4
cmp byte [0x7ff698a898f3], 0
jne 0x7ff6989ec6a4
cmp byte [0x7ff698a898e5], 0
jne 0x7ff6989ec6a4
cmp byte [0x7ff698a898e3], 0
jne 0x7ff6989ec6a4
cmp byte [0x7ff698a898e4], 0
je 0x7ff6989ec9cb
xor edx, edx
movaps xmmword [rsp + 0x40], xmm6
lea rcx, [0x7ff698a667b8]
lea r8d, [rdx + 0x6b]
call fcn.7ff698995020
lea rcx, [rsp + 0x60]
call fcn.7ff6989a62e0
movss xmm1, dword [0x7ff698a61cb8]
lea rdx, [0x7ff698a667c8]
xor r9d, r9d
movss dword [rsp + 0x20], xmm1
xor r8d, r8d
lea rcx, [rsp + 0x60]
movss xmm6, dword [rax]
call fcn.7ff698999860
subss xmm6, dword [rax]
mulss xmm6, dword [0x7ff698a61c04]
movaps xmm0, xmm6
call fcn.7ff6989b1cf0
lea rcx, [0x7ff698a667c8]
call fcn.7ff6989e57e0
call fcn.7ff6989e1860
lea rcx, [rsp + 0x60]
call fcn.7ff6989a62e0
cmp byte [0x7ff698a898d6], 0
movaps xmm6, xmmword [rsp + 0x40]
je 0x7ff6989ec740
lea rcx, [0x7ff698a667d8]
call fcn.7ff6989e57e0
add rsp, 0x58
jmp fcn.7ff6989a2d00
cmp byte [0x7ff698a898cc], 0
je 0x7ff6989ec755
lea rcx, [0x7ff698a667e4]
call fcn.7ff6989e57e0
cmp byte [0x7ff698a898eb], 0
je 0x7ff6989ec77b
mov ecx, dword [0x7ff698a896f4]
call qword [sym.imp.user32.dll_GetAsyncKeyState]
test ax, ax
jns 0x7ff6989ec77b
lea rcx, [0x7ff698a667f0]
call fcn.7ff6989e57e0
cmp byte [0x7ff698a89886], 0
je 0x7ff6989ec7a1
mov ecx, dword [0x7ff698a896f8]
call qword [sym.imp.user32.dll_GetAsyncKeyState]
test ax, ax
jns 0x7ff6989ec7a1
lea rcx, [0x7ff698a667f8]
call fcn.7ff6989e57e0
cmp byte [0x7ff698a898d8], 0
je 0x7ff6989ec7b6
lea rcx, [0x7ff698a66808]
call fcn.7ff6989e57e0
cmp byte [0x7ff698a898d5], 0
je 0x7ff6989ec7cb
lea rcx, [0x7ff698a66818]
call fcn.7ff6989e57e0
cmp byte [0x7ff698a898db], 0
je 0x7ff6989ec7e0
lea rcx, [0x7ff698a66828]
call fcn.7ff6989e57e0
cmp byte [0x7ff698a898f5], 0
je 0x7ff6989ec7f5
lea rcx, [0x7ff698a66838]
call fcn.7ff6989e57e0
cmp byte [0x7ff698a898ed], 0
je 0x7ff6989ec80a
lea rcx, [0x7ff698a66848]
call fcn.7ff6989e57e0
cmp byte [0x7ff698a898ee], 0
je 0x7ff6989ec81f
lea rcx, [0x7ff698a66858]
call fcn.7ff6989e57e0
cmp byte [0x7ff698a898f0], 0
je 0x7ff6989ec834
lea rcx, [0x7ff698a66870]
call fcn.7ff6989e57e0
cmp byte [0x7ff698a898f2], 0
je 0x7ff6989ec849
lea rcx, [0x7ff698a66880]
call fcn.7ff6989e57e0
cmp byte [0x7ff698a898ce], 0
je 0x7ff6989ec85e
lea rcx, [0x7ff698a66890]
call fcn.7ff6989e57e0
cmp byte [0x7ff698a898f1], 0
je 0x7ff6989ec873
lea rcx, [0x7ff698a668a0]
call fcn.7ff6989e57e0
cmp byte [0x7ff698a898d7], 0
je 0x7ff6989ec888
lea rcx, [0x7ff698a668b0]
call fcn.7ff6989e57e0
cmp byte [0x7ff698a898f3], 0
je 0x7ff6989ec89d
lea rcx, [0x7ff698a668c0]
call fcn.7ff6989e57e0
cmp byte [0x7ff698a898da], 0
je 0x7ff6989ec8b2
lea rcx, [0x7ff698a668d0]
call fcn.7ff6989e57e0
cmp byte [0x7ff698a898d0], 0
je 0x7ff6989ec8c7
lea rcx, [0x7ff698a668e0]
call fcn.7ff6989e57e0
cmp byte [0x7ff698a898e7], 0
je 0x7ff6989ec8ed
mov ecx, dword [0x7ff698a896ec]
call qword [sym.imp.user32.dll_GetAsyncKeyState]
test ax, ax
jns 0x7ff6989ec8ed
lea rcx, [0x7ff698a668f0]
call fcn.7ff6989e57e0
cmp byte [0x7ff698a898dd], 0
je 0x7ff6989ec902
lea rcx, [0x7ff698a66900]
call fcn.7ff6989e57e0
cmp byte [0x7ff698a898e5], 0
je 0x7ff6989ec917
lea rcx, [0x7ff698a66910]
call fcn.7ff6989e57e0
cmp byte [0x7ff698a898e3], 0
je 0x7ff6989ec92c
lea rcx, [0x7ff698a66920]
call fcn.7ff6989e57e0
cmp byte [0x7ff698a898e4], 0
je 0x7ff6989ec941
lea rcx, [0x7ff698a66930]
call fcn.7ff6989e57e0
cmp byte [0x7ff698a898e9], 0
je 0x7ff6989ec956
lea rcx, [0x7ff698a66940]
call fcn.7ff6989e57e0
cmp byte [0x7ff698a898ea], 0
je 0x7ff6989ec96b
lea rcx, [0x7ff698a66950]
call fcn.7ff6989e57e0
cmp byte [0x7ff698a898e6], 0
je 0x7ff6989ec980
lea rcx, [0x7ff698a66960]
call fcn.7ff6989e57e0
cmp byte [0x7ff698a898e8], 0
je 0x7ff6989ec995
lea rcx, [0x7ff698a66970]
call fcn.7ff6989e57e0
cmp byte [0x7ff698a89887], 0
je 0x7ff6989ec9c2
lea rcx, [0x7ff698a66980]
call fcn.7ff6989e57e0
lea rcx, [0x7ff698a66990]
call fcn.7ff6989e57e0
lea rcx, [0x7ff698a669a0]
call fcn.7ff6989e57e0
add rsp, 0x58
jmp fcn.7ff6989a2d00
add rsp, 0x58
ret