Function at 0x1400f3060
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x30
xor esi, esi
test r8d, r8d
mov ebx, r8d
cmovle ebx, esi
test r9d, r9d
mov edi, r9d
movaps xmmword [rsp + 0x20], xmm6
movaps xmm6, xmm1
cmovle edi, esi
cmp ebx, dword [0x1402094bc]
cmovge ebx, dword [0x1402094bc]
cmp edi, dword [0x1402094b8]
cmovge edi, dword [0x1402094b8]
dec ecx
je 0x1400f3310
dec ecx
je 0x1400f3251
dec ecx
je 0x1400f318b
dec ecx
jne 0x1400f33c2
cmp dword [rsp + 0x60], esi
je 0x1400f30e1
mov edx, 0x7f85
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadCursorW]
mov rcx, rax
call qword [sym.imp.USER32.dll_SetCursor]
mov ecx, reloc.COMCTL32.dll_InitCommonControls
mov dword [0x14020949c], edi
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
js 0x1400f310b
mov ecx, 0x12
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1400f33c2
mov eax, dword [0x14020949c]
mov r8d, dword [0x140209494]
movsd xmm2, qword [0x140183398]
sub eax, r8d
cdq
xor eax, edx
sub eax, edx
mov edx, dword [0x140209490]
movd xmm0, eax
mov eax, dword [0x1402094bc]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
cvtps2pd xmm1, xmm0
addsd xmm1, xmm2
cvttsd2si ecx, xmm1
add ecx, edx
mov dword [0x140209498], ecx
cmp ecx, eax
jle 0x1400f33c2
mov dword [0x140209498], eax
sub eax, edx
cdq
xor eax, edx
sub eax, edx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm6
cvtps2pd xmm1, xmm0
addsd xmm1, xmm2
cvttsd2si eax, xmm1
add eax, r8d
mov dword [0x14020949c], eax
jmp 0x1400f33c2
cmp dword [rsp + 0x60], esi
je 0x1400f31a7
mov edx, 0x7f84
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadCursorW]
mov rcx, rax
call qword [sym.imp.USER32.dll_SetCursor]
mov ecx, reloc.COMCTL32.dll_InitCommonControls
mov dword [0x140209498], ebx
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
js 0x1400f31d1
mov ecx, 0x12
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1400f33c2
mov eax, dword [0x140209498]
mov r8d, dword [0x140209490]
movsd xmm2, qword [0x140183398]
sub eax, r8d
cdq
xor eax, edx
sub eax, edx
mov edx, dword [0x140209494]
movd xmm0, eax
mov eax, dword [0x1402094b8]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm6
cvtps2pd xmm1, xmm0
addsd xmm1, xmm2
cvttsd2si ecx, xmm1
add ecx, edx
mov dword [0x14020949c], ecx
cmp ecx, eax
jle 0x1400f33c2
mov dword [0x14020949c], eax
sub eax, edx
cdq
xor eax, edx
sub eax, edx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
cvtps2pd xmm1, xmm0
addsd xmm1, xmm2
cvttsd2si eax, xmm1
add eax, r8d
mov dword [0x140209498], eax
jmp 0x1400f33c2
cmp dword [rsp + 0x60], esi
je 0x1400f326d
mov edx, 0x7f85
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadCursorW]
mov rcx, rax
call qword [sym.imp.USER32.dll_SetCursor]
mov ecx, reloc.COMCTL32.dll_InitCommonControls
mov dword [0x140209494], edi
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
js 0x1400f3297
mov ecx, 0x12
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1400f33c2
mov r8d, dword [0x14020949c]
movsd xmm2, qword [0x140183398]
mov eax, r8d
sub eax, dword [0x140209494]
cdq
xor eax, edx
sub eax, edx
movd xmm0, eax
mov eax, dword [0x140209498]
mov ecx, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
cvtps2pd xmm1, xmm0
addsd xmm1, xmm2
cvttsd2si edx, xmm1
sub ecx, edx
mov dword [0x140209490], ecx
jns 0x1400f33c2
cdq
mov dword [0x140209490], esi
xor eax, edx
sub eax, edx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm6
cvtps2pd xmm1, xmm0
addsd xmm1, xmm2
cvttsd2si eax, xmm1
sub r8d, eax
mov dword [0x140209494], r8d
jmp 0x1400f33c2
cmp dword [rsp + 0x60], esi
je 0x1400f332c
mov edx, 0x7f84
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadCursorW]
mov rcx, rax
call qword [sym.imp.USER32.dll_SetCursor]
mov ecx, reloc.COMCTL32.dll_InitCommonControls
mov dword [0x140209490], ebx
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
js 0x1400f3352
mov ecx, 0x12
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1400f33c2
mov r8d, dword [0x140209498]
movsd xmm2, qword [0x140183398]
mov eax, r8d
sub eax, dword [0x140209490]
cdq
xor eax, edx
sub eax, edx
movd xmm0, eax
mov eax, dword [0x14020949c]
mov ecx, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm6
cvtps2pd xmm1, xmm0
addsd xmm1, xmm2
cvttsd2si edx, xmm1
sub ecx, edx
mov dword [0x140209494], ecx
jns 0x1400f33c2
cdq
mov dword [0x140209494], esi
xor eax, edx
sub eax, edx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm6
cvtps2pd xmm1, xmm0
addsd xmm1, xmm2
cvttsd2si eax, xmm1
sub r8d, eax
mov dword [0x140209490], r8d
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
movaps xmm6, xmmword [rsp + 0x20]
add rsp, 0x30
pop rdi
ret