Function at 0x1400acb70
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rdi
push rbp
mov rbp, rsp
sub rsp, 0x50
mov rax, qword [0x1402345c0]
xor rax, rsp
mov qword [rbp - 0x10], rax
xor dil, dil
mov rbx, rcx
cmp byte [0x140252d79], dil
je 0x1400ad3cb
cmp byte [0x14024c2d4], dil
je 0x1400ad3cb
movss xmm0, dword [rcx + 0xbc]
movss xmm1, dword [0x14020aad0]
ucomiss xmm0, xmm1
jp 0x1400acc12
jne 0x1400acc12
movss xmm0, dword [rcx + 0xc0]
ucomiss xmm0, xmm1
jp 0x1400acc12
jne 0x1400acc12
movss xmm0, dword [rcx + 0xc4]
ucomiss xmm0, xmm1
jp 0x1400acc12
jne 0x1400acc12
mov rcx, qword [0x14024c298]
call fcn.14006b260
lea rdx, [rbp - 0x30]
mov rcx, rax
call fcn.140069dc0
movsd xmm0, qword [rax]
movsd qword [rbx + 0xbc], xmm0
mov eax, dword [rax + 8]
mov dword [rbx + 0xc4], eax
mov ecx, dword [0x14025333c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400acd34
mov rdx, qword [0x14024c298]
movss xmm2, dword [rbx + 0xb8]
add rdx, 0x8a0
call fcn.1400f6550
mov byte [rbx + 0xa4], dil
mov ecx, dword [0x140253354]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400acc74
movss xmm0, dword [rbx + 0xa8]
subss xmm0, dword [rbx + 0xb8]
movss dword [rbx + 0xa8], xmm0
jmp 0x1400accbf
mov ecx, dword [0x140253358]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400accc2
movss xmm0, dword [0x1402533b8]
subss xmm0, dword [0x14020a81c]
movss xmm1, dword [rbx + 0xa8]
comiss xmm1, xmm0
jb 0x1400accaf
movss dword [rbx + 0xa8], xmm0
jmp 0x1400ad3cb
addss xmm1, dword [rbx + 0xb8]
movss dword [rbx + 0xa8], xmm1
mov dil, 1
mov rcx, qword [0x14024c298]
call fcn.14006b260
lea rdx, [rbp - 0x20]
mov rcx, rax
call fcn.140069dc0
movss xmm0, dword [rbp - 0x20]
ucomiss xmm0, dword [rbx + 0xbc]
jp 0x1400acd0a
jne 0x1400acd0a
movss xmm0, dword [rbp - 0x1c]
ucomiss xmm0, dword [rbx + 0xc0]
jp 0x1400acd0a
jne 0x1400acd0a
movss xmm0, dword [rbp - 0x18]
ucomiss xmm0, dword [rbx + 0xc4]
jp 0x1400acd0a
je 0x1400acd13
test dil, dil
je 0x1400ad3cb
mov rcx, qword [0x14024c298]
call fcn.14006b260
movss xmm1, dword [rbx + 0xbc]
subss xmm1, dword [0x1402533b8]
jmp 0x1400ace48
mov ecx, dword [0x140253340]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400ace6d
mov rdx, qword [0x14024c298]
movss xmm2, dword [rbx + 0xb8]
add rdx, 0x8a0
call fcn.1400f6550
mov byte [rbx + 0xa4], dil
mov ecx, dword [0x140253354]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400acd96
movss xmm0, dword [rbx + 0xb8]
addss xmm0, dword [rbx + 0xa8]
movss dword [rbx + 0xa8], xmm0
jmp 0x1400acdd8
mov ecx, dword [0x140253358]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400acddb
movss xmm0, dword [0x14020a81c]
subss xmm0, dword [0x1402533b8]
movss xmm1, dword [rbx + 0xa8]
comiss xmm0, xmm1
jae 0x1400acca2
subss xmm1, dword [rbx + 0xb8]
movss dword [rbx + 0xa8], xmm1
mov dil, 1
mov rcx, qword [0x14024c298]
call fcn.14006b260
lea rdx, [rbp - 0x20]
mov rcx, rax
call fcn.140069dc0
movss xmm0, dword [rbp - 0x20]
ucomiss xmm0, dword [rbx + 0xbc]
jp 0x1400ace23
jne 0x1400ace23
movss xmm0, dword [rbp - 0x1c]
ucomiss xmm0, dword [rbx + 0xc0]
jp 0x1400ace23
jne 0x1400ace23
movss xmm0, dword [rbp - 0x18]
ucomiss xmm0, dword [rbx + 0xc4]
jp 0x1400ace23
je 0x1400ace2c
test dil, dil
je 0x1400ad3cb
mov rcx, qword [0x14024c298]
call fcn.14006b260
movss xmm1, dword [0x1402533b8]
addss xmm1, dword [rbx + 0xbc]
addss xmm1, dword [rbx + 0xa8]
movss xmm0, dword [rbx + 0xc0]
movss xmm2, dword [rbx + 0xc4]
unpcklps xmm1, xmm0
movsd qword [rbp - 0x30], xmm1
jmp 0x1400ad32f
mov ecx, dword [0x14025334c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400acf8f
mov rdx, qword [0x14024c298]
movss xmm2, dword [rbx + 0xb8]
add rdx, 0x8a0
call fcn.1400f6550
mov byte [rbx + 0xa4], dil
mov ecx, dword [0x140253354]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400acecf
movss xmm0, dword [rbx + 0xb8]
addss xmm0, dword [rbx + 0xac]
movss dword [rbx + 0xac], xmm0
jmp 0x1400acf1a
mov ecx, dword [0x140253358]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400acf1d
movss xmm0, dword [0x14020a81c]
subss xmm0, dword [0x1402533bc]
movss xmm1, dword [rbx + 0xac]
comiss xmm0, xmm1
jb 0x1400acf0a
movss dword [rbx + 0xac], xmm0
jmp 0x1400ad3cb
subss xmm1, dword [rbx + 0xb8]
movss dword [rbx + 0xac], xmm1
mov dil, 1
mov rcx, qword [0x14024c298]
call fcn.14006b260
lea rdx, [rbp - 0x20]
mov rcx, rax
call fcn.140069dc0
movss xmm0, dword [rbp - 0x20]
ucomiss xmm0, dword [rbx + 0xbc]
jp 0x1400acf65
jne 0x1400acf65
movss xmm0, dword [rbp - 0x1c]
ucomiss xmm0, dword [rbx + 0xc0]
jp 0x1400acf65
jne 0x1400acf65
movss xmm0, dword [rbp - 0x18]
ucomiss xmm0, dword [rbx + 0xc4]
jp 0x1400acf65
je 0x1400acf6e
test dil, dil
je 0x1400ad3cb
mov rcx, qword [0x14024c298]
call fcn.14006b260
movss xmm2, dword [0x1402533bc]
addss xmm2, dword [rbx + 0xc0]
jmp 0x1400ad0a3
mov ecx, dword [0x140253350]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400ad0d9
mov rdx, qword [0x14024c298]
movss xmm2, dword [rbx + 0xb8]
add rdx, 0x8a0
call fcn.1400f6550
mov byte [rbx + 0xa4], dil
mov ecx, dword [0x140253354]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400acff1
movss xmm0, dword [rbx + 0xac]
subss xmm0, dword [rbx + 0xb8]
movss dword [rbx + 0xac], xmm0
jmp 0x1400ad033
mov ecx, dword [0x140253358]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400ad036
movss xmm0, dword [0x1402533bc]
subss xmm0, dword [0x14020a81c]
movss xmm1, dword [rbx + 0xac]
comiss xmm1, xmm0
jae 0x1400acefd
addss xmm1, dword [rbx + 0xb8]
movss dword [rbx + 0xac], xmm1
mov dil, 1
mov rcx, qword [0x14024c298]
call fcn.14006b260
lea rdx, [rbp - 0x20]
mov rcx, rax
call fcn.140069dc0
movss xmm0, dword [rbp - 0x20]
ucomiss xmm0, dword [rbx + 0xbc]
jp 0x1400ad07e
jne 0x1400ad07e
movss xmm0, dword [rbp - 0x1c]
ucomiss xmm0, dword [rbx + 0xc0]
jp 0x1400ad07e
jne 0x1400ad07e
movss xmm0, dword [rbp - 0x18]
ucomiss xmm0, dword [rbx + 0xc4]
jp 0x1400ad07e
je 0x1400ad087
test dil, dil
je 0x1400ad3cb
mov rcx, qword [0x14024c298]
call fcn.14006b260
movss xmm2, dword [rbx + 0xc0]
subss xmm2, dword [0x1402533bc]
addss xmm2, dword [rbx + 0xac]
movss xmm0, dword [rbx + 0xbc]
lea rdx, [rbp - 0x30]
movss xmm1, dword [rbx + 0xc4]
mov rcx, rax
movss dword [rbp - 0x28], xmm1
unpcklps xmm0, xmm2
movsd qword [rbp - 0x30], xmm0
call fcn.140069ec0
jmp 0x1400ad3cb
mov ecx, dword [0x140253344]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400ad1fb
mov rdx, qword [0x14024c298]
movss xmm2, dword [rbx + 0xb8]
add rdx, 0x8a0
call fcn.1400f6550
mov byte [rbx + 0xa4], dil
mov ecx, dword [0x140253354]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400ad13b
movss xmm0, dword [rbx + 0xb8]
addss xmm0, dword [rbx + 0xb0]
movss dword [rbx + 0xb0], xmm0
jmp 0x1400ad186
mov ecx, dword [0x140253358]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400ad189
movss xmm0, dword [0x14020a81c]
subss xmm0, dword [0x1402533c0]
movss xmm1, dword [rbx + 0xb0]
comiss xmm0, xmm1
jb 0x1400ad176
movss dword [rbx + 0xb0], xmm0
jmp 0x1400ad3cb
subss xmm1, dword [rbx + 0xb8]
movss dword [rbx + 0xb0], xmm1
mov dil, 1
mov rcx, qword [0x14024c298]
call fcn.14006b260
lea rdx, [rbp - 0x20]
mov rcx, rax
call fcn.140069dc0
movss xmm0, dword [rbp - 0x20]
ucomiss xmm0, dword [rbx + 0xbc]
jp 0x1400ad1d1
jne 0x1400ad1d1
movss xmm0, dword [rbp - 0x1c]
ucomiss xmm0, dword [rbx + 0xc0]
jp 0x1400ad1d1
jne 0x1400ad1d1
movss xmm0, dword [rbp - 0x18]
ucomiss xmm0, dword [rbx + 0xc4]
jp 0x1400ad1d1
je 0x1400ad1da
test dil, dil
je 0x1400ad3cb
mov rcx, qword [0x14024c298]
call fcn.14006b260
movss xmm2, dword [0x1402533c0]
addss xmm2, dword [rbx + 0xc4]
jmp 0x1400ad30f
mov ecx, dword [0x140253348]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400ad345
mov rdx, qword [0x14024c298]
movss xmm2, dword [rbx + 0xb8]
add rdx, 0x8a0
call fcn.1400f6550
mov byte [rbx + 0xa4], dil
mov ecx, dword [0x140253354]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400ad25d
movss xmm0, dword [rbx + 0xb0]
subss xmm0, dword [rbx + 0xb8]
movss dword [rbx + 0xb0], xmm0
jmp 0x1400ad29f
mov ecx, dword [0x140253358]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400ad2a2
movss xmm0, dword [0x1402533c0]
subss xmm0, dword [0x14020a81c]
movss xmm1, dword [rbx + 0xb0]
comiss xmm1, xmm0
jae 0x1400ad169
addss xmm1, dword [rbx + 0xb8]
movss dword [rbx + 0xb0], xmm1
mov dil, 1
mov rcx, qword [0x14024c298]
call fcn.14006b260
lea rdx, [rbp - 0x20]
mov rcx, rax
call fcn.140069dc0
movss xmm0, dword [rbp - 0x20]
ucomiss xmm0, dword [rbx + 0xbc]
jp 0x1400ad2ea
jne 0x1400ad2ea
movss xmm0, dword [rbp - 0x1c]
ucomiss xmm0, dword [rbx + 0xc0]
jp 0x1400ad2ea
jne 0x1400ad2ea
movss xmm0, dword [rbp - 0x18]
ucomiss xmm0, dword [rbx + 0xc4]
jp 0x1400ad2ea
je 0x1400ad2f3
test dil, dil
je 0x1400ad3cb
mov rcx, qword [0x14024c298]
call fcn.14006b260
movss xmm2, dword [rbx + 0xc4]
subss xmm2, dword [0x1402533c0]
movss xmm1, dword [rbx + 0xc0]
movss xmm0, dword [rbx + 0xbc]
addss xmm2, dword [rbx + 0xb0]
unpcklps xmm0, xmm1
movsd qword [rbp - 0x30], xmm0
lea rdx, [rbp - 0x30]
movss dword [rbp - 0x28], xmm2
mov rcx, rax
call fcn.140069ec0
jmp 0x1400ad3cb
cmp byte [rbx + 0xa4], dil
jne 0x1400ad3cb
movss xmm2, dword [0x14020a7f4]
xor eax, eax
mov qword [rbx + 0xa8], rax
mov dword [rbx + 0xb0], eax
mov rdx, qword [0x14024c298]
add rdx, 0x8a0
call fcn.1400f6550
mov rcx, qword [0x14024c298]
call fcn.14006b260
mov ecx, dword [rbx + 0xc4]
lea rdx, [rbp - 0x30]
movsd xmm0, qword [rbx + 0xbc]
mov dword [rbp - 0x28], ecx
mov rcx, rax
movsd qword [rbp - 0x30], xmm0
call fcn.140069ec0
mov dword [rbx + 0xbc], 0xbf800000
mov dword [rbx + 0xc0], 0xbf800000
mov dword [rbx + 0xc4], 0xbf800000
mov byte [rbx + 0xa4], 1
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1401b6160
mov rbx, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x70]
add rsp, 0x50
pop rbp
ret