Function at 0x18004fb20
Capabilities:
Log keystrokes via polling

Disassembly:
sub rsp, 0x28
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
movsxd rcx, dword [0x18014e926]
sub rax, rcx
movsxd rcx, dword [0x18014e922]
cmp rax, rcx
jbe 0x18004feed
mov ecx, 0x74
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x18004fe46
mov edx, 0x15
call fcn.180048740
test eax, eax
je 0x18004fb78
mov edx, 0x14
call fcn.180048740
test eax, eax
jne 0x18004fe46
mov edx, 0xc2
call fcn.180048740
test eax, eax
je 0x18004fc20
cmp byte [0x180149920], 0
je 0x18004fee1
cmp dword [0x180149adf], 0
je 0x18004fee1
lea rdx, str.BACK
call fcn.18004ef70
movsxd rcx, dword [0x180149adf]
cmp ecx, 1
jne 0x18004fbd4
mov byte [0x180149920], 0
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [0x18014e926], eax
add rsp, 0x28
ret
lea rdx, [0x180149920]
lea eax, [rcx - 1]
mov dword [0x180149adf], eax
mov rax, qword [rdx + rcx*8 + 0x1163]
mov qword [0x18014aa83], rax
mov rax, qword [rdx + rcx*8 + 0x30ac]
mov qword [0x18014c9cc], rax
mov eax, dword [rdx + rcx*4 + 0x1bf]
mov dword [0x180149ad7], eax
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [0x18014e926], eax
add rsp, 0x28
ret
mov edx, 0xc2
call fcn.180048740
test eax, eax
jne 0x18004fb8a
mov edx, 0xac
call fcn.180048740
test eax, eax
je 0x18004fcad
cmp byte [0x180149920], 0
je 0x18004fc95
cmp dword [0x180149adf], 0
je 0x18004fc95
lea rdx, str.NAV_UP_DOWN
call fcn.18004ef70
mov eax, dword [0x180149ad7]
cmp eax, 1
jle 0x18004fc89
dec eax
mov byte [0x18014e91e], 1
mov dword [0x180149ad7], eax
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [0x18014e926], eax
add rsp, 0x28
ret
mov eax, dword [0x180149ad3]
mov dword [0x180149ad7], eax
mov byte [0x18014e91e], 1
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [0x18014e926], eax
add rsp, 0x28
ret
mov edx, 0xad
call fcn.180048740
test eax, eax
je 0x18004fd29
cmp byte [0x180149920], 0
je 0x18004fd11
cmp dword [0x180149adf], 0
je 0x18004fd11
lea rdx, str.NAV_UP_DOWN
call fcn.18004ef70
mov eax, dword [0x180149ad7]
cmp eax, dword [0x180149ad3]
jge 0x18004fd07
inc eax
mov byte [0x18014e91f], 1
mov dword [0x180149ad7], eax
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [0x18014e926], eax
add rsp, 0x28
ret
mov dword [0x180149ad7], 1
mov byte [0x18014e91f], 1
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [0x18014e926], eax
add rsp, 0x28
ret
mov edx, 0xae
call fcn.180048740
test eax, eax
je 0x18004fd75
cmp byte [0x180149920], 0
je 0x18004fee1
cmp dword [0x180149adf], 0
je 0x18004fee1
lea rdx, str.NAV_LEFT_RIGHT
call fcn.18004ef70
mov byte [0x18014e920], 1
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [0x18014e926], eax
add rsp, 0x28
ret
mov edx, 0xaf
call fcn.180048740
test eax, eax
je 0x18004fdc1
cmp byte [0x180149920], 0
je 0x18004fee1
cmp dword [0x180149adf], 0
je 0x18004fee1
lea rdx, str.NAV_LEFT_RIGHT
call fcn.18004ef70
mov byte [0x18014e921], 1
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [0x18014e926], eax
add rsp, 0x28
ret
mov edx, 0xbf
call fcn.180048740
test eax, eax
je 0x18004fe0d
cmp byte [0x180149920], 0
je 0x18004fee1
cmp dword [0x180149adf], 0
je 0x18004fee1
lea rdx, str.SELECT
call fcn.18004ef70
mov byte [0x18014e91d], 1
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [0x18014e926], eax
add rsp, 0x28
ret
mov ecx, 0x48
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18004feed
cmp byte [0x180149920], 0
je 0x18004fee1
mov byte [0x18014e91c], 1
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [0x18014e926], eax
add rsp, 0x28
ret
movsxd rcx, dword [0x180149adf]
test ecx, ecx
jne 0x18004feb5
mov rax, qword [0x18014aa83]
lea rdx, [0x180149920]
mov qword [0x18014aa8b], rax
mov rax, qword [0x18014c9cc]
mov qword [rdx + rcx*8 + 0x30b4], rax
mov eax, dword [0x180149ad7]
movsxd rcx, dword [0x180149adf]
mov dword [rdx + rcx*4 + 0x1c3], eax
lea rax, [0x180028360]
inc dword [0x180149adf]
mov qword [0x18014aa83], rax
lea rax, str.Home
mov qword [0x18014c9cc], rax
mov dword [0x180149ad7], 1
cmp byte [0x180149920], 0
lea rax, str.SELECT
lea rdx, str.BACK
cmovne rdx, rax
call fcn.18004ef70
cmp byte [0x180149920], 0
sete byte [0x180149920]
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [0x18014e926], eax
add rsp, 0x28
ret