Function at 0x18002fd20
Capabilities:
Log keystrokes via polling

Disassembly:
sub rsp, 0x28
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
movsxd rcx, dword [0x1801e46ca]
sub rax, rcx
movsxd rcx, dword [0x1801e46c6]
cmp rax, rcx
jbe 0x18003029c
cmp byte [0x1801e46aa], 0
jne 0x180030203
mov edx, 0xce
xor ecx, ecx
call fcn.18002fc50
test eax, eax
je 0x18002fd75
mov edx, 0xbe
xor ecx, ecx
call fcn.18002fc50
test eax, eax
jne 0x180030203
cmp byte [0x1801e46ab], 0
jne 0x180030181
mov edx, 0xca
xor ecx, ecx
call fcn.18002fc50
test eax, eax
jne 0x180030181
cmp byte [0x1801e46ab], al
jne 0x1800300e8
mov edx, 0xca
xor ecx, ecx
call fcn.18002fc50
test eax, eax
jne 0x1800300e8
cmp byte [0x1801e46ad], al
jne 0x18003007b
mov edx, 0xbc
xor ecx, ecx
call fcn.18002fc50
test eax, eax
jne 0x18003007b
cmp byte [0x1801e46ae], al
jne 0x18003000d
mov edx, 0xbb
xor ecx, ecx
call fcn.18002fc50
test eax, eax
jne 0x18003000d
cmp byte [0x1801e46af], al
jne 0x18002ffcf
mov edx, 0xbd
xor ecx, ecx
call fcn.18002fc50
test eax, eax
jne 0x18002ffcf
cmp byte [0x1801e46b0], al
jne 0x18002ff91
mov edx, 0xbe
xor ecx, ecx
call fcn.18002fc50
test eax, eax
jne 0x18002ff91
cmp byte [0x1801e46ac], al
jne 0x18002ff53
mov edx, 0xc9
xor ecx, ecx
call fcn.18002fc50
test eax, eax
jne 0x18002ff53
lea ecx, [rax + 0x77]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18002fe89
cmp byte [0x1801de9d0], 0
je 0x180030290
mov byte [0x1801e46a4], 1
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [0x1801e46ca], eax
add rsp, 0x28
ret
mov ecx, reloc.WLDAP32.dll_Ordinal_35
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x18002ff21
mov edx, 0xcd
xor ecx, ecx
call fcn.18002fc50
test eax, eax
jne 0x18002ff21
lea ecx, [rax + 0x2e]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x18002feef
mov edx, 0xce
xor ecx, ecx
call fcn.18002fc50
test eax, eax
jne 0x18002feef
cmp byte [0x1801e46b1], al
je 0x18003029c
mov byte [0x18019e970], 1
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [0x1801e46ca], eax
add rsp, 0x28
ret
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [0x1801e46ca], eax
mov eax, dword [0x1801de9f7]
dec eax
mov dword [0x1801de9f7], eax
cmp eax, 0xffffffff
jne 0x18003029c
mov dword [0x1801de9f7], 1
add rsp, 0x28
ret
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [0x1801e46ca], eax
mov eax, dword [0x1801de9f7]
inc eax
mov dword [0x1801de9f7], eax
cmp eax, 2
jne 0x18003029c
mov dword [0x1801de9f7], 0
add rsp, 0x28
ret
cmp byte [0x1801de9d0], 0
je 0x180030290
cmp dword [0x1801df867], 0
je 0x180030290
lea rdx, str.SELECT
call fcn.1800307e0
mov byte [0x1801e46a5], 1
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [0x1801e46ca], eax
add rsp, 0x28
ret
cmp byte [0x1801de9d0], 0
je 0x180030290
cmp dword [0x1801df867], 0
je 0x180030290
lea rdx, str.NAV_LEFT_RIGHT
call fcn.1800307e0
mov byte [0x1801e46a9], 1
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [0x1801e46ca], eax
add rsp, 0x28
ret
cmp byte [0x1801de9d0], 0
je 0x180030290
cmp dword [0x1801df867], 0
je 0x180030290
lea rdx, str.NAV_LEFT_RIGHT
call fcn.1800307e0
mov byte [0x1801e46a8], 1
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [0x1801e46ca], eax
add rsp, 0x28
ret
cmp byte [0x1801de9d0], 0
je 0x180030063
cmp dword [0x1801df867], 0
je 0x180030063
lea rdx, str.NAV_UP_DOWN
call fcn.1800307e0
mov eax, dword [0x1801df85b]
cmp eax, dword [0x1801df857]
jge 0x180030059
inc eax
mov byte [0x1801e46a7], 1
mov dword [0x1801df85b], eax
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [0x1801e46ca], eax
add rsp, 0x28
ret
mov dword [0x1801df85b], 1
mov byte [0x1801e46a7], 1
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [0x1801e46ca], eax
add rsp, 0x28
ret
cmp byte [0x1801de9d0], 0
je 0x1800300d0
cmp dword [0x1801df867], 0
je 0x1800300d0
lea rdx, str.NAV_UP_DOWN
call fcn.1800307e0
mov eax, dword [0x1801df85b]
cmp eax, 1
jle 0x1800300c4
dec eax
mov byte [0x1801e46a6], 1
mov dword [0x1801df85b], eax
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [0x1801e46ca], eax
add rsp, 0x28
ret
mov eax, dword [0x1801df857]
mov dword [0x1801df85b], eax
mov byte [0x1801e46a6], 1
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [0x1801e46ca], eax
add rsp, 0x28
ret
cmp byte [0x1801de9d0], 0
je 0x180030290
cmp dword [0x1801df867], 0
je 0x180030290
lea rdx, str.BACK
call fcn.1800307e0
mov eax, dword [0x1801df867]
cmp eax, 1
jne 0x180030131
mov byte [0x1801de9d0], 0
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [0x1801e46ca], eax
add rsp, 0x28
ret
dec eax
lea rdx, [0x1801de9d0]
mov dword [0x1801df867], eax
movsxd rcx, eax
cdqe
mov rax, qword [rdx + rax*8 + 0x1e43]
mov qword [0x1801e080b], rax
mov rax, qword [rdx + rcx*8 + 0x3d8c]
mov qword [0x1801e2754], rax
mov eax, dword [rdx + rcx*4 + 0xe9b]
mov dword [0x1801df85b], eax
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [0x1801e46ca], eax
add rsp, 0x28
ret
cmp byte [0x1801de9d0], 0
je 0x180030290
cmp dword [0x1801df867], 0
je 0x180030290
lea rdx, str.BACK
call fcn.1800307e0
movsxd rcx, dword [0x1801df867]
cmp ecx, 1
je 0x180030119
lea rdx, [0x1801de9d0]
lea eax, [rcx - 1]
mov dword [0x1801df867], eax
mov rax, qword [rdx + rcx*8 + 0x1e3b]
mov qword [0x1801e080b], rax
mov rax, qword [rdx + rcx*8 + 0x3d84]
mov qword [0x1801e2754], rax
mov eax, dword [rdx + rcx*4 + 0xe97]
mov dword [0x1801df85b], eax
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [0x1801e46ca], eax
add rsp, 0x28
ret
cmp dword [0x1801df867], 0
jne 0x180030264
mov rax, qword [0x1801e080b]
mov qword [0x1801e0813], rax
mov rax, qword [0x1801e2754]
mov qword [0x1801e275c], rax
mov eax, dword [0x1801df85b]
mov dword [0x1801df86b], eax
lea rax, [0x180059ea0]
mov qword [0x1801e080b], rax
lea rax, str.Home
mov qword [0x1801e2754], rax
mov dword [0x1801df867], 1
mov dword [0x1801df85b], 1
cmp byte [0x1801de9d0], 0
lea rax, str.SELECT
lea rdx, str.BACK
cmovne rdx, rax
call fcn.1800307e0
cmp byte [0x1801de9d0], 0
sete byte [0x1801de9d0]
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [0x1801e46ca], eax
add rsp, 0x28
ret