Function at 0x14000e520
Capabilities:
Log keystrokes via polling

Disassembly:
sub rsp, 0x78
mov rax, qword [0x140097040]
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 0x14000e572
lea rcx, [rsp + 0x38]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rsp + 0x38]
call qword [sym.imp.USER32.dll_DispatchMessageW]
lea rcx, [0x140098008]
mov qword [rsp + 0x80], rbx
call qword [sym.imp.USER32.dll_GetCursorPos]
mov rcx, qword [0x140097fe8]
lea rdx, [0x140098010]
call qword [sym.imp.USER32.dll_GetWindowRect]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
cmp rax, qword [0x140097fe8]
jne 0x14000e802
cmp dword [0x140098024], 0
jne 0x14000e614
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14000e614
cmp dword [0x140098afc], 0
jne 0x14000e621
cmp dword [0x140098b60], 0
je 0x14000e605
mov eax, dword [0x14009800c]
sub eax, dword [0x140098014]
mov ecx, dword [0x140098008]
sub ecx, dword [0x140098010]
mov dword [0x140098224], eax
xor eax, eax
mov dword [0x140098b60], eax
mov dword [0x140098220], ecx
mov dword [0x140098afc], 1
jmp 0x14000e80d
cmp dword [0x140098afc], 0
je 0x14000e6fa
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14000e6fa
mov eax, dword [0x14009801c]
mov r9d, dword [0x140098018]
mov r8d, dword [0x14009800c]
mov edx, dword [0x140098008]
sub eax, dword [0x140098014]
sub r9d, dword [0x140098010]
sub r8d, dword [0x140098224]
sub edx, dword [0x140098220]
mov rcx, qword [0x140097fe8]
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], eax
mov dword [0x140098024], 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 [0x140098c60], ecx
jle 0x14000e6d8
lea rcx, [0x140098c60]
call fcn.14008aa64
cmp dword [0x140098c60], 0xffffffff
jne 0x14000e6d8
lea rcx, [0x140098c60]
mov dword [0x140098260], ebx
call fcn.14008a9f8
mov eax, ebx
sub eax, dword [0x140098260]
cmp eax, 0x64
jl 0x14000e6f0
mov dword [0x140098260], ebx
jmp 0x14000e80d
mov eax, 1
jmp 0x14000e80f
xor eax, eax
mov dword [0x140098b60], 1
cmp dword [0x140098028], eax
mov dword [0x140098afc], eax
mov dword [0x140098024], eax
jne 0x14000e73c
lea ecx, [rax + 1]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14000e732
mov ecx, 1
jmp 0x14000e807
mov ecx, 3
jmp 0x14000e807
lea rcx, [rsp + 0x30]
call fcn.1400076b0
mov rbx, qword [rsp + 0x30]
movabs rax, 0x7fffffffffffffaf
cmp rbx, rax
jge 0x14000e760
add rbx, 0x50
jmp 0x14000e76a
movabs rbx, 0x7fffffffffffffff
lea rcx, [rsp + 0x30]
call fcn.1400076b0
mov rax, qword [rsp + 0x30]
cmp rax, rbx
jge 0x14000e80d
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 0x14000e7b5
mov ecx, 0x5265c00
jmp 0x14000e7da
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 0x14000e7d8
inc rdx
mov ecx, edx
call sub.KERNEL32.dll_Sleep
lea rcx, [rsp + 0x30]
call fcn.1400076b0
mov rax, qword [rsp + 0x30]
cmp rax, rbx
jl 0x14000e7a3
mov rdi, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x88]
jmp 0x14000e80d
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.14008a9d0
add rsp, 0x78
ret