Function at 0x1800e02e0
Capabilities:
Check for time delay via gettickcount

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rdi
push r12
push r14
push r15
sub rsp, 0x30
mov rax, qword [0x1801ca118]
xor rax, rsp
mov qword [rsp + 0x20], rax
cmp byte [rcx + 0x51], 0
mov rdi, rcx
je 0x1800e03ee
cmp byte [rcx + 0x89], 0
je 0x1800e03ee
xor r8d, r8d
movabs rbx, 0xfe99b66d079cf6bc
mov r9b, 1
mov rcx, rbx
lea edx, [r8 + 2]
call fcn.18006acf0
mov edx, 2
mov r9b, 1
mov rcx, rbx
lea r8d, [rdx + 0x11]
call fcn.18006acf0
mov r9b, 1
mov edx, 2
mov r8d, Ordinal_143
mov rcx, rbx
call fcn.18006acf0
mov edx, 2
mov r9b, 1
mov rcx, rbx
lea r8d, [rdx + 0x12]
call fcn.18006acf0
mov edx, 2
mov r9b, 1
mov rcx, rbx
lea r8d, [rdx + 0x19]
call fcn.18006acf0
mov edx, 2
mov r9b, 1
mov rcx, rbx
lea r8d, [rdx + 0x4e]
call fcn.18006acf0
mov r9b, 1
mov edx, 2
mov r8d, 0x151
mov rcx, rbx
call fcn.18006acf0
mov edx, 2
mov r9b, 1
mov rcx, rbx
lea r8d, [rdx + 0x19]
call fcn.18006acf0
mov edx, 2
mov r9b, 1
mov rcx, rbx
lea r8d, [rdx + 0x53]
call fcn.18006acf0
mov edx, 2
mov r9b, 1
mov rcx, rbx
lea r8d, [rdx + 0x48]
call fcn.18006acf0
mov rax, qword gs:[0x58]
mov ecx, dword [0x180226f2c]
mov edx, 4
mov r14, qword [rax + rcx*8]
add r14, rdx
mov eax, dword [r14]
cmp dword [0x18025d7e0], eax
jle 0x1800e0441
lea rcx, [0x18025d7e0]
call fcn.1801384b8
cmp dword [0x18025d7e0], 0xffffffff
jne 0x1800e0441
call qword [sym.imp.KERNEL32.dll_GetTickCount]
lea rcx, [0x18025d7e0]
mov dword [0x18025d7e4], eax
call fcn.180138458
cmp byte [rdi + 0x2ac], 0
lea rbp, str.SELECT
movabs r15, 0xe2587f8cbbd87b1d
je 0x1800e046f
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x18025d7e4]
cmp eax, dword [rdi + 0x8a]
jae 0x1800e04b4
xor edx, edx
mov r8d, 0xe3
mov rcx, r15
call fcn.180069d00
test eax, eax
je 0x1800e04e4
xor edx, edx
mov r8d, 0xaf
mov rcx, r15
call fcn.180069d00
test eax, eax
je 0x1800e04e4
cmp byte [rdi + 0x89], 0
je 0x1800e04e4
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x18025d7e4]
cmp eax, dword [rdi + 0x8a]
jb 0x1800e04e4
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x18025d7e4], eax
movzx eax, byte [rdi + 0x51]
xor al, 1
cmp byte [rdi + 0x88], 0
mov byte [rdi + 0x51], al
je 0x1800e04e4
test al, al
lea rdx, str.BACK
cmovne rdx, rbp
call fcn.1800e5920
mov eax, dword [r14]
xor r12d, r12d
cmp dword [0x18025d7e8], eax
jle 0x1800e055d
lea rcx, [0x18025d7e8]
call fcn.1801384b8
cmp dword [0x18025d7e8], 0xffffffff
jne 0x1800e055d
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x1800e0525
imul rax, rax, 0x64
jmp 0x1800e0543
cqo
idiv rbx
mov r8, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
imul rdx, r8, 0x3b9aca00
add rax, rdx
lea rcx, [0x18025d7e8]
mov qword [0x18025d7f0], rax
mov qword [0x18025d7f8], r12
call fcn.180138458
movsxd rax, dword [rdi + 0x8e]
imul rcx, rax, 0xf4240
mov qword [0x18025d7f8], rcx
cmp byte [rdi + 0x51], r12b
je 0x1800e0f76
cmp byte [rdi + 0x2ad], r12b
je 0x1800e05d4
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x1800e05a3
imul rax, rax, 0x64
jmp 0x1800e05c1
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
mov rcx, rax
sub rcx, qword [0x18025d7f0]
cmp rcx, qword [0x18025d7f8]
jge 0x1800e0652
cmp byte [rdi + 0x51], r12b
je 0x1800e0f76
xor edx, edx
mov r8d, 0xca
mov rcx, r15
call fcn.180069d00
test eax, eax
je 0x1800e0694
cmp byte [rdi + 0x89], r12b
je 0x1800e0694
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x1800e0621
imul rax, rax, 0x64
jmp 0x1800e063f
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
mov rcx, rax
sub rcx, qword [0x18025d7f0]
cmp rcx, qword [0x18025d7f8]
jl 0x1800e0694
mov qword [0x18025d7f0], rax
cmp byte [rdi + 0x88], r12b
je 0x1800e066e
lea rdx, str.BACK
call fcn.1800e5920
mov rax, qword [rdi + 0x29c]
sub rax, qword [rdi + 0x294]
sar rax, 3
cmp rax, 1
ja 0x1800e068c
mov byte [rdi + 0x51], r12b
jmp 0x1800e0694
add qword [rdi + 0x29c], 0xfffffffffffffff8
cmp byte [rdi + 0x51], r12b
je 0x1800e0f76
mov rax, qword [rdi + 0x29c]
cmp qword [rdi + 0x294], rax
je 0x1800e0f76
mov qword [rsp + 0x68], rsi
mov rsi, qword [rax - 8]
mov eax, dword [r14]
cmp dword [0x18025d800], eax
jle 0x1800e0731
lea rcx, [0x18025d800]
call fcn.1801384b8
cmp dword [0x18025d800], 0xffffffff
jne 0x1800e0731
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x1800e06f9
imul rax, rax, 0x64
jmp 0x1800e0717
cqo
idiv rbx
mov r8, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
imul rdx, r8, 0x3b9aca00
add rax, rdx
lea rcx, [0x18025d800]
mov qword [0x18025d808], rax
mov qword [0x18025d810], r12
call fcn.180138458
movsxd rax, dword [rdi + 0x92]
imul rcx, rax, 0xf4240
mov qword [0x18025d810], rcx
cmp byte [rdi + 0x2ae], r12b
je 0x1800e07b0
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + Ordinal_50]
test rax, rax
je 0x1800e07b0
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x1800e077b
imul rax, rax, 0x64
jmp 0x1800e0799
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
mov rcx, rax
sub rcx, qword [0x18025d808]
cmp rcx, qword [0x18025d810]
jge 0x1800e0836
xor edx, edx
mov r8d, 0xc9
mov rcx, r15
call fcn.180069d00
test eax, eax
je 0x1800e0874
cmp byte [rdi + 0x89], r12b
je 0x1800e0874
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + Ordinal_50]
test rax, rax
je 0x1800e0874
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x1800e0805
imul rax, rax, 0x64
jmp 0x1800e0823
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
mov rcx, rax
sub rcx, qword [0x18025d808]
cmp rcx, qword [0x18025d810]
jl 0x1800e0874
mov qword [0x18025d808], rax
cmp byte [rdi + 0x88], r12b
je 0x1800e084e
mov rdx, rbp
call fcn.1800e5920
mov rbx, qword [rsi]
mov rcx, rsi
call qword [rbx + gethostname]
mov rdx, rax
mov rcx, rsi
call qword [rbx + Ordinal_41]
test rax, rax
je 0x1800e0874
mov r8, qword [rax]
mov edx, 2
mov rcx, rax
call qword [r8 + Ordinal_41]
mov eax, dword [r14]
cmp dword [0x18025d818], eax
jle 0x1800e08ea
lea rcx, [0x18025d818]
call fcn.1801384b8
cmp dword [0x18025d818], 0xffffffff
jne 0x1800e08ea
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x1800e08b2
imul rax, rax, 0x64
jmp 0x1800e08d0
cqo
idiv rbx
mov r8, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
imul rdx, r8, 0x3b9aca00
add rax, rdx
lea rcx, [0x18025d818]
mov qword [0x18025d820], rax
mov qword [0x18025d828], r12
call fcn.180138458
movsxd rax, dword [rdi + 0x96]
imul rcx, rax, 0xf4240
mov qword [0x18025d828], rcx
cmp byte [rdi + 0x2af], r12b
je 0x1800e0969
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + Ordinal_50]
test rax, rax
je 0x1800e0969
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x1800e0934
imul rax, rax, 0x64
jmp 0x1800e0952
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
mov rcx, rax
sub rcx, qword [0x18025d820]
cmp rcx, qword [0x18025d828]
jge 0x1800e09ef
xor edx, edx
mov r8d, 0xbc
mov rcx, r15
call fcn.180069d00
test eax, eax
je 0x1800e0a31
cmp byte [rdi + 0x89], r12b
je 0x1800e0a31
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + Ordinal_50]
test rax, rax
je 0x1800e0a31
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x1800e09be
imul rax, rax, 0x64
jmp 0x1800e09dc
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
mov rcx, rax
sub rcx, qword [0x18025d820]
cmp rcx, qword [0x18025d828]
jl 0x1800e0a31
mov qword [0x18025d820], rax
cmp byte [rdi + 0x88], r12b
je 0x1800e0a0b
lea rdx, str.NAV_UP_DOWN
call fcn.1800e5920
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + gethostname]
mov rbx, qword [rsi]
mov rcx, rsi
test rax, rax
je 0x1800e0a24
call qword [rbx + gethostname]
jmp 0x1800e0a27
call qword [rbx + Ordinal_50]
lea rdx, [rax - 1]
mov rcx, rsi
call qword [rbx + 0x40]
mov eax, dword [r14]
cmp dword [0x18025d830], eax
jle 0x1800e0aa7
lea rcx, [0x18025d830]
call fcn.1801384b8
cmp dword [0x18025d830], 0xffffffff
jne 0x1800e0aa7
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x1800e0a6f
imul rax, rax, 0x64
jmp 0x1800e0a8d
cqo
idiv rbx
mov r8, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
imul rdx, r8, 0x3b9aca00
add rax, rdx
lea rcx, [0x18025d830]
mov qword [0x18025d838], rax
mov qword [0x18025d840], r12
call fcn.180138458
movsxd rax, dword [rdi + 0x96]
imul rcx, rax, 0xf4240
mov qword [0x18025d840], rcx
cmp byte [rdi + 0x2b0], r12b
je 0x1800e0b26
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + Ordinal_50]
test rax, rax
je 0x1800e0b26
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x1800e0af1
imul rax, rax, 0x64
jmp 0x1800e0b0f
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
mov rcx, rax
sub rcx, qword [0x18025d838]
cmp rcx, qword [0x18025d840]
jge 0x1800e0bac
xor edx, edx
mov r8d, 0xbb
mov rcx, r15
call fcn.180069d00
test eax, eax
je 0x1800e0bfa
cmp byte [rdi + 0x89], r12b
je 0x1800e0bfa
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + Ordinal_50]
test rax, rax
je 0x1800e0bfa
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x1800e0b7b
imul rax, rax, 0x64
jmp 0x1800e0b99
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
mov rcx, rax
sub rcx, qword [0x18025d838]
cmp rcx, qword [0x18025d840]
jl 0x1800e0bfa
mov qword [0x18025d838], rax
cmp byte [rdi + 0x88], r12b
je 0x1800e0bc8
lea rdx, str.NAV_UP_DOWN
call fcn.1800e5920
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + Ordinal_50]
mov rdx, qword [rsi]
mov rcx, rsi
lea rbx, [rax - 1]
call qword [rdx + gethostname]
mov rbp, qword [rsi]
mov rcx, rsi
cmp rax, rbx
jae 0x1800e0bf5
call qword [rbp + gethostname]
mov rcx, rsi
lea rdx, [rax + 1]
jmp 0x1800e0bf7
xor edx, edx
call qword [rbp + 0x40]
mov eax, dword [r14]
cmp dword [0x18025d848], eax
jle 0x1800e0c70
lea rcx, [0x18025d848]
call fcn.1801384b8
cmp dword [0x18025d848], 0xffffffff
jne 0x1800e0c70
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x1800e0c38
imul rax, rax, 0x64
jmp 0x1800e0c56
cqo
idiv rbx
mov r8, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
imul rdx, r8, 0x3b9aca00
add rax, rdx
lea rcx, [0x18025d848]
mov qword [0x18025d850], rax
mov qword [0x18025d858], r12
call fcn.180138458
movsxd rax, dword [rdi + 0x9a]
imul rcx, rax, 0xf4240
mov qword [0x18025d858], rcx
cmp byte [rdi + 0x2b1], r12b
je 0x1800e0cef
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + Ordinal_50]
test rax, rax
je 0x1800e0cef
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x1800e0cba
imul rax, rax, 0x64
jmp 0x1800e0cd8
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
mov rcx, rax
sub rcx, qword [0x18025d850]
cmp rcx, qword [0x18025d858]
jge 0x1800e0d75
xor edx, edx
mov r8d, 0xae
mov rcx, r15
call fcn.180069d00
test eax, eax
je 0x1800e0db4
cmp byte [rdi + 0x89], r12b
je 0x1800e0db4
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + Ordinal_50]
test rax, rax
je 0x1800e0db4
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x1800e0d44
imul rax, rax, 0x64
jmp 0x1800e0d62
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
mov rcx, rax
sub rcx, qword [0x18025d850]
cmp rcx, qword [0x18025d858]
jl 0x1800e0db4
mov qword [0x18025d850], rax
cmp byte [rdi + 0x88], r12b
je 0x1800e0d91
lea rdx, str.NAV_LEFT_RIGHT
call fcn.1800e5920
mov rbx, qword [rsi]
mov rcx, rsi
call qword [rbx + gethostname]
mov rdx, rax
mov rcx, rsi
call qword [rbx + Ordinal_41]
test rax, rax
je 0x1800e0db4
mov r8, qword [rax]
xor edx, edx
mov rcx, rax
call qword [r8 + Ordinal_41]
mov eax, dword [r14]
cmp dword [0x18025d860], eax
jle 0x1800e0e2a
lea rcx, [0x18025d860]
call fcn.1801384b8
cmp dword [0x18025d860], 0xffffffff
jne 0x1800e0e2a
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x1800e0df2
imul rax, rax, 0x64
jmp 0x1800e0e10
cqo
idiv rbx
mov r8, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
imul rdx, r8, 0x3b9aca00
add rax, rdx
lea rcx, [0x18025d860]
mov qword [0x18025d868], rax
mov qword [0x18025d870], r12
call fcn.180138458
movsxd rax, dword [rdi + 0x9a]
imul rcx, rax, 0xf4240
mov qword [0x18025d870], rcx
cmp byte [rdi + 0x2b2], r12b
je 0x1800e0ea9
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + Ordinal_50]
test rax, rax
je 0x1800e0ea9
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x1800e0e74
imul rax, rax, 0x64
jmp 0x1800e0e92
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
mov rcx, rax
sub rcx, qword [0x18025d868]
cmp rcx, qword [0x18025d870]
jge 0x1800e0f2f
xor edx, edx
mov r8d, 0xaf
mov rcx, r15
call fcn.180069d00
test eax, eax
je 0x1800e0f71
cmp byte [rdi + 0x89], r12b
je 0x1800e0f71
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + Ordinal_50]
test rax, rax
je 0x1800e0f71
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x1800e0efe
imul rax, rax, 0x64
jmp 0x1800e0f1c
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
mov rcx, rax
sub rcx, qword [0x18025d868]
cmp rcx, qword [0x18025d870]
jl 0x1800e0f71
mov qword [0x18025d868], rax
cmp byte [rdi + 0x88], r12b
je 0x1800e0f4b
lea rdx, str.NAV_LEFT_RIGHT
call fcn.1800e5920
mov rbx, qword [rsi]
mov rcx, rsi
call qword [rbx + gethostname]
mov rdx, rax
mov rcx, rsi
call qword [rbx + Ordinal_41]
test rax, rax
je 0x1800e0f71
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8 + Ordinal_41]
mov rsi, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x20]
xor rcx, rsp
call fcn.180137e50
mov rbx, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret