Function at 0x180019560
Capabilities:
Log keystrokes via polling

Disassembly:
sub rsp, 0x28
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
movsxd rcx, dword [0x18006ea0c]
sub rax, rcx
movsxd rcx, dword [0x18006ea08]
cmp rax, rcx
jbe 0x18001992d
mov ecx, 0x2d
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x180019886
mov edx, 0x15
call fcn.180019490
test eax, eax
je 0x1800195b8
mov edx, 0x14
call fcn.180019490
test eax, eax
jne 0x180019886
mov edx, 0xc2
call fcn.180019490
test eax, eax
je 0x180019660
cmp byte [0x180069a30], 0
je 0x180019921
cmp dword [0x180069bc4], 0
je 0x180019921
lea rdx, str.BACK
call fcn.1800189f0
movsxd rcx, dword [0x180069bc4]
cmp ecx, 1
jne 0x180019614
mov byte [0x180069a30], 0
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [0x18006ea0c], eax
add rsp, 0x28
ret
lea rdx, [0x180069a30]
lea eax, [rcx - 1]
mov dword [0x180069bc4], eax
mov rax, qword [rdx + rcx*8 + 0x1138]
mov qword [0x18006ab68], rax
mov rax, qword [rdx + rcx*8 + 0x3080]
mov qword [0x18006cab0], rax
mov eax, dword [rdx + rcx*4 + 0x194]
mov dword [0x180069bbc], eax
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [0x18006ea0c], eax
add rsp, 0x28
ret
mov edx, 0xc2
call fcn.180019490
test eax, eax
jne 0x1800195ca
mov edx, 0xac
call fcn.180019490
test eax, eax
je 0x1800196ed
cmp byte [0x180069a30], 0
je 0x1800196d5
cmp dword [0x180069bc4], 0
je 0x1800196d5
lea rdx, str.NAV_UP_DOWN
call fcn.1800189f0
mov eax, dword [0x180069bbc]
cmp eax, 1
jle 0x1800196c9
dec eax
mov byte [0x18006ea02], 1
mov dword [0x180069bbc], eax
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [0x18006ea0c], eax
add rsp, 0x28
ret
mov eax, dword [0x180069bb8]
mov dword [0x180069bbc], eax
mov byte [0x18006ea02], 1
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [0x18006ea0c], eax
add rsp, 0x28
ret
mov edx, 0xad
call fcn.180019490
test eax, eax
je 0x180019769
cmp byte [0x180069a30], 0
je 0x180019751
cmp dword [0x180069bc4], 0
je 0x180019751
lea rdx, str.NAV_UP_DOWN
call fcn.1800189f0
mov eax, dword [0x180069bbc]
cmp eax, dword [0x180069bb8]
jge 0x180019747
inc eax
mov byte [0x18006ea03], 1
mov dword [0x180069bbc], eax
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [0x18006ea0c], eax
add rsp, 0x28
ret
mov dword [0x180069bbc], 1
mov byte [0x18006ea03], 1
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [0x18006ea0c], eax
add rsp, 0x28
ret
mov edx, 0xae
call fcn.180019490
test eax, eax
je 0x1800197b5
cmp byte [0x180069a30], 0
je 0x180019921
cmp dword [0x180069bc4], 0
je 0x180019921
lea rdx, str.NAV_LEFT_RIGHT
call fcn.1800189f0
mov byte [0x18006ea04], 1
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [0x18006ea0c], eax
add rsp, 0x28
ret
mov edx, 0xaf
call fcn.180019490
test eax, eax
je 0x180019801
cmp byte [0x180069a30], 0
je 0x180019921
cmp dword [0x180069bc4], 0
je 0x180019921
lea rdx, str.NAV_LEFT_RIGHT
call fcn.1800189f0
mov byte [0x18006ea05], 1
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [0x18006ea0c], eax
add rsp, 0x28
ret
mov edx, 0xbf
call fcn.180019490
test eax, eax
je 0x18001984d
cmp byte [0x180069a30], 0
je 0x180019921
cmp dword [0x180069bc4], 0
je 0x180019921
lea rdx, str.SELECT
call fcn.1800189f0
mov byte [0x18006ea01], 1
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [0x18006ea0c], eax
add rsp, 0x28
ret
mov ecx, 0x48
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18001992d
cmp byte [0x180069a30], 0
je 0x180019921
mov byte [0x18006ea00], 1
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [0x18006ea0c], eax
add rsp, 0x28
ret
movsxd rcx, dword [0x180069bc4]
test ecx, ecx
jne 0x1800198f5
mov rax, qword [0x18006ab68]
lea rdx, [0x180069a30]
mov qword [0x18006ab70], rax
mov rax, qword [0x18006cab0]
mov qword [rdx + rcx*8 + 0x3088], rax
mov eax, dword [0x180069bbc]
movsxd rcx, dword [0x180069bc4]
mov dword [rdx + rcx*4 + 0x198], eax
lea rax, [0x180016cc0]
inc dword [0x180069bc4]
mov qword [0x18006ab68], rax
lea rax, str.Home
mov qword [0x18006cab0], rax
mov dword [0x180069bbc], 1
cmp byte [0x180069a30], 0
lea rax, str.SELECT
lea rdx, str.BACK
cmovne rdx, rax
call fcn.1800189f0
cmp byte [0x180069a30], 0
sete byte [0x180069a30]
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [0x18006ea0c], eax
add rsp, 0x28
ret