Function at 0x18010eb00
Capabilities:
Log keystrokes via polling

Disassembly:
push rbx
sub rsp, 0x20
mov byte [0x180386837], 0
mov byte [0x180386835], 0
mov byte [0x180386836], 0
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
movsxd rcx, dword [0x1803a9d44]
xor ebx, ebx
sub rax, rcx
cmp rax, 0xc8
jbe 0x18010efcf
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
movsxd rcx, dword [0x1803aaf50]
sub rax, rcx
movsxd rcx, dword [str.d_]
cmp rax, rcx
jbe 0x18010efcf
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
movsxd rcx, dword [0x1803aaf54]
sub rax, rcx
movsxd rcx, dword [0x18034be04]
cmp rax, rcx
jbe 0x18010efcf
mov ecx, dword [0x18034bdac]
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], rdi
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jb 0x18010ef55
mov qword [rsp + 0x30], rbx
movabs rdi, 0xe2587f8cbbd87b1d
mov dword [rsp + 0x30], 0xe3
mov rax, qword [rsp + 0x30]
mov qword [0x18035ebc0], rax
mov dword [0x18035eaf0], ebx
mov qword [0x1803afcd8], rdi
mov qword [0x18035ebb8], rbx
mov dword [0x18035eae0], 2
call fcn.180110360
cmp dword [rax], ebx
je 0x18010ec28
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x30], 0xaf
mov rax, qword [rsp + 0x30]
mov qword [0x18035ebc0], rax
mov dword [0x18035eaf0], ebx
mov qword [0x1803afcd8], rdi
mov qword [0x18035ebb8], rbx
mov dword [0x18035eae0], 2
call fcn.180110360
cmp dword [rax], ebx
jne 0x18010ef55
mov ecx, dword [str._bdefhjI]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jb 0x18010eef4
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x30], 0xca
mov rax, qword [rsp + 0x30]
mov qword [0x18035ebc0], rax
mov dword [0x18035eaf0], ebx
mov qword [0x1803afcd8], rdi
mov qword [0x18035ebb8], rbx
mov dword [0x18035eae0], 2
call fcn.180110360
cmp dword [rax], ebx
jne 0x18010eef4
mov ecx, dword [0x18034bda8]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jb 0x18010eeb4
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x30], 0xbc
mov rax, qword [rsp + 0x30]
mov qword [0x18035ebc0], rax
mov dword [0x18035eaf0], ebx
mov qword [0x1803afcd8], rdi
mov qword [0x18035ebb8], rbx
mov dword [0x18035eae0], 2
call fcn.180110360
cmp dword [rax], ebx
jne 0x18010eeb4
mov ecx, dword [0x18034bd98]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jb 0x18010ee9b
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x30], 0xbb
mov rax, qword [rsp + 0x30]
mov qword [0x18035ebc0], rax
mov dword [0x18035eaf0], ebx
mov qword [0x1803afcd8], rdi
mov qword [0x18035ebb8], rbx
mov dword [0x18035eae0], 2
call fcn.180110360
cmp dword [rax], ebx
jne 0x18010ee9b
mov ecx, dword [0x18034bda4]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jb 0x18010ee6f
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x30], 0xaf
mov rax, qword [rsp + 0x30]
mov qword [0x18035ebc0], rax
mov dword [0x18035eaf0], ebx
mov qword [0x1803afcd8], rdi
mov qword [0x18035ebb8], rbx
mov dword [0x18035eae0], 2
call fcn.180110360
cmp dword [rax], ebx
jne 0x18010ee6f
mov ecx, dword [0x18034bd9c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jb 0x18010ee66
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x30], 0xae
mov rax, qword [rsp + 0x30]
mov qword [0x18035ebc0], rax
mov dword [0x18035eaf0], ebx
mov qword [0x1803afcd8], rdi
mov qword [0x18035ebb8], rbx
mov dword [0x18035eae0], 2
call fcn.180110360
cmp dword [rax], ebx
jne 0x18010ee66
mov ecx, dword [0x18034bda0]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jb 0x18010ee42
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x30], 0xc9
mov rax, qword [rsp + 0x30]
mov qword [0x18035ebc0], rax
mov dword [0x18035eaf0], ebx
mov qword [0x1803afcd8], rdi
mov qword [0x18035ebb8], rbx
mov dword [0x18035eae0], 2
call fcn.180110360
cmp dword [rax], ebx
je 0x18010efc5
cmp dword [0x180386958], ebx
mov byte [0x180386837], 1
jle 0x18010efb9
lea rdx, str.SELECT
call fcn.18010fc20
jmp 0x18010efb9
mov byte [0x180386836], 1
jmp 0x18010ee76
mov byte [0x180386835], 1
cmp dword [0x180386958], ebx
jle 0x18010ee8a
lea rdx, str.NAV_UP_DOWN
call fcn.18010fc20
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [0x1803aaf54], eax
jmp 0x18010efc5
mov eax, dword [0x18038695c]
cmp eax, dword [0x1803888a0]
jge 0x18010eead
inc eax
jmp 0x18010eec9
mov eax, 1
jmp 0x18010eec9
mov eax, dword [0x18038695c]
cmp eax, 1
jle 0x18010eec3
dec eax
jmp 0x18010eec9
mov eax, dword [0x1803888a0]
cmp dword [0x180386958], ebx
mov dword [0x18038695c], eax
jle 0x18010eee3
lea rdx, str.NAV_UP_DOWN
call fcn.18010fc20
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [0x1803aaf50], eax
jmp 0x18010efc5
mov ecx, dword [0x180386958]
test ecx, ecx
jle 0x18010efb9
sub ecx, 1
lea rdx, [0x180000000]
movsxd rax, ecx
mov dword [0x180386958], ecx
mov eax, dword [rdx + rax*4 + 0x387900]
mov dword [0x180386944], eax
movsxd rax, ecx
mov eax, dword [rdx + rax*4 + 0x386960]
mov dword [0x18038695c], eax
jne 0x18010ef3c
mov byte [0x180385734], bl
jmp 0x18010efb9
mov byte [0x180385734], 1
test ecx, ecx
jle 0x18010efb9
lea rdx, str.BACK
call fcn.18010fc20
jmp 0x18010efb9
mov eax, dword [0x180386958]
test eax, eax
jne 0x18010ef90
mov eax, dword [0x180386944]
mov dword [0x180387900], eax
mov eax, dword [0x18038695c]
mov dword [0x180386960], eax
mov eax, 1
mov dword [0x180386958], eax
mov dword [0x180386944], eax
mov byte [0x180385734], al
jmp 0x18010efb3
cmp eax, 1
jne 0x18010efb9
mov eax, dword [0x180387900]
mov dword [0x180386944], eax
mov eax, dword [0x180386960]
mov dword [0x180386958], ebx
mov byte [0x180385734], bl
mov dword [0x18038695c], eax
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [0x1803a9d44], eax
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
mov dword [0x1803888a0], ebx
add rsp, 0x20
pop rbx
ret