Function at 0x14000e330
Capabilities:
Log keystrokes via polling

Disassembly:
sub rsp, 0x78
mov rax, qword [0x140096040]
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 0x14000e382
lea rcx, [rsp + 0x38]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rsp + 0x38]
call qword [sym.imp.USER32.dll_DispatchMessageW]
lea rcx, [0x140097008]
mov qword [rsp + 0x80], rbx
call qword [sym.imp.USER32.dll_GetCursorPos]
mov rcx, qword [0x140096fe8]
lea rdx, [0x140097010]
call qword [sym.imp.USER32.dll_GetWindowRect]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
cmp rax, qword [0x140096fe8]
jne 0x14000e612
cmp dword [0x140097024], 0
jne 0x14000e424
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14000e424
cmp dword [0x140097af4], 0
jne 0x14000e431
cmp dword [0x140097b74], 0
je 0x14000e415
mov eax, dword [0x14009700c]
sub eax, dword [0x140097014]
mov ecx, dword [0x140097008]
sub ecx, dword [0x140097010]
mov dword [0x140097224], eax
xor eax, eax
mov dword [0x140097b74], eax
mov dword [0x140097220], ecx
mov dword [0x140097af4], 1
jmp 0x14000e61d
cmp dword [0x140097af4], 0
je 0x14000e50a
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14000e50a
mov eax, dword [0x14009701c]
mov r9d, dword [0x140097018]
mov r8d, dword [0x14009700c]
mov edx, dword [0x140097008]
sub eax, dword [0x140097014]
sub r9d, dword [0x140097010]
sub r8d, dword [0x140097224]
sub edx, dword [0x140097220]
mov rcx, qword [0x140096fe8]
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], eax
mov dword [0x140097024], 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 [0x140097c64], ecx
jle 0x14000e4e8
lea rcx, [0x140097c64]
call fcn.14008a144
cmp dword [0x140097c64], 0xffffffff
jne 0x14000e4e8
lea rcx, [0x140097c64]
mov dword [0x140097260], ebx
call fcn.14008a0d8
mov eax, ebx
sub eax, dword [0x140097260]
cmp eax, 0x64
jl 0x14000e500
mov dword [0x140097260], ebx
jmp 0x14000e61d
mov eax, 1
jmp 0x14000e61f
xor eax, eax
mov dword [0x140097b74], 1
cmp dword [0x140097028], eax
mov dword [0x140097af4], eax
mov dword [0x140097024], eax
jne 0x14000e54c
lea ecx, [rax + 1]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14000e542
mov ecx, 1
jmp 0x14000e617
mov ecx, 3
jmp 0x14000e617
lea rcx, [rsp + 0x30]
call fcn.1400076b0
mov rbx, qword [rsp + 0x30]
movabs rax, 0x7fffffffffffffaf
cmp rbx, rax
jge 0x14000e570
add rbx, 0x50
jmp 0x14000e57a
movabs rbx, 0x7fffffffffffffff
lea rcx, [rsp + 0x30]
call fcn.1400076b0
mov rax, qword [rsp + 0x30]
cmp rax, rbx
jge 0x14000e61d
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 0x14000e5c5
mov ecx, 0x5265c00
jmp 0x14000e5ea
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 0x14000e5e8
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 0x14000e5b3
mov rdi, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x88]
jmp 0x14000e61d
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.14008a0b0
add rsp, 0x78
ret