Function at 0x14000a870
Capabilities:
Log keystrokes via polling

Disassembly:
sub rsp, 0x78
mov rax, qword [0x1400d8040]
xor rax, rsp
mov qword [rsp + 0x68], rax
xorps xmm0, xmm0
lea rcx, [rsp + 0x38]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
movups xmmword [rsp + 0x38], xmm0
movups xmmword [rsp + 0x48], xmm0
movups xmmword [rsp + 0x58], xmm0
call qword [sym.imp.USER32.dll_GetMessageW]
test eax, eax
je 0x14000a8c2
lea rcx, [rsp + 0x38]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rsp + 0x38]
call qword [sym.imp.USER32.dll_DispatchMessageW]
lea rcx, [0x1400d8fc8]
mov qword [rsp + 0x80], rbx
call qword [sym.imp.USER32.dll_GetCursorPos]
mov rcx, qword [0x1400d8fa8]
lea rdx, [0x1400d8fd0]
call qword [sym.imp.USER32.dll_GetWindowRect]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
cmp rax, qword [0x1400d8fa8]
jne 0x14000ab52
cmp dword [0x1400d8fe4], 0
jne 0x14000a964
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14000a964
cmp dword [0x1400d9acc], 0
jne 0x14000a971
cmp dword [0x1400d9b48], 0
je 0x14000a955
mov eax, dword [0x1400d8fcc]
sub eax, dword [0x1400d8fd4]
mov ecx, dword [0x1400d8fc8]
sub ecx, dword [0x1400d8fd0]
mov dword [0x1400d922c], eax
xor eax, eax
mov dword [0x1400d9b48], eax
mov dword [0x1400d9228], ecx
mov dword [0x1400d9acc], 1
jmp 0x14000ab5d
cmp dword [0x1400d9acc], 0
je 0x14000aa4a
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14000aa4a
mov eax, dword [0x1400d8fdc]
mov r9d, dword [0x1400d8fd8]
mov r8d, dword [0x1400d8fcc]
mov edx, dword [0x1400d8fc8]
sub eax, dword [0x1400d8fd4]
sub r9d, dword [0x1400d8fd0]
sub r8d, dword [0x1400d922c]
sub edx, dword [0x1400d9228]
mov rcx, qword [0x1400d8fa8]
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], eax
mov dword [0x1400d8fe4], 1
call qword [sym.imp.USER32.dll_MoveWindow]
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov rcx, qword gs:[0x58]
mov rbx, rax
mov eax, 4
mov rdx, qword [rcx]
mov ecx, dword [rax + rdx]
cmp dword [0x1400d9b4c], ecx
jle 0x14000aa28
lea rcx, [0x1400d9b4c]
call fcn.1400cc3e4
cmp dword [0x1400d9b4c], 0xffffffff
jne 0x14000aa28
lea rcx, [0x1400d9b4c]
mov dword [0x1400d9b34], ebx
call fcn.1400cc378
mov eax, ebx
sub eax, dword [0x1400d9b34]
cmp eax, 0x64
jl 0x14000aa40
mov dword [0x1400d9b34], ebx
jmp 0x14000ab5d
mov eax, 1
jmp 0x14000ab5f
xor eax, eax
mov dword [0x1400d9b48], 1
cmp dword [0x1400d8fe8], eax
mov dword [0x1400d9acc], eax
mov dword [0x1400d8fe4], eax
jne 0x14000aa8c
lea ecx, [rax + 1]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14000aa82
mov ecx, 1
jmp 0x14000ab57
mov ecx, 3
jmp 0x14000ab57
lea rcx, [rsp + 0x30]
call fcn.140003a60
mov rbx, qword [rsp + 0x30]
movabs rax, 0x7fffffffffffffaf
cmp rbx, rax
jge 0x14000aab0
add rbx, 0x50
jmp 0x14000aaba
movabs rbx, 0x7fffffffffffffff
lea rcx, [rsp + 0x30]
call fcn.140003a60
mov rax, qword [rsp + 0x30]
cmp rax, rbx
jge 0x14000ab5d
mov qword [rsp + 0x88], rsi
movabs rsi, 0x431bde82d7b634db
mov qword [rsp + 0x70], rdi
movabs rdi, 0x4e94914f0000
mov rcx, rbx
sub rcx, rax
cmp rcx, rdi
jl 0x14000ab05
mov ecx, 0x5265c00
jmp 0x14000ab2a
mov rax, rsi
imul rcx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rax, rdx, 0xf4240
cmp rax, rcx
jge 0x14000ab28
inc rdx
mov ecx, edx
call sub.KERNEL32.dll_Sleep
lea rcx, [rsp + 0x30]
call fcn.140003a60
mov rax, qword [rsp + 0x30]
cmp rax, rbx
jl 0x14000aaf3
mov rdi, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x88]
jmp 0x14000ab5d
mov ecx, 0x14
call qword [sym.imp.KERNEL32.dll_Sleep]
xor eax, eax
mov rbx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.1400cc350
add rsp, 0x78
ret