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

Disassembly:
mov qword [rsp + 0x20], rbp
push rdi
push r14
push r15
sub rsp, 0x30
mov rax, qword [0x180187118]
xor rax, rsp
mov qword [rsp + 0x20], rax
mov rax, qword gs:[0x58]
mov rdi, rcx
mov edx, dword [0x1801d7bbc]
mov ecx, 4
mov r14, qword [rax + rdx*8]
add r14, rcx
mov eax, dword [r14]
cmp dword [0x18020e370], eax
jle 0x1800c4683
lea rcx, [0x18020e370]
call fcn.18011bf18
cmp dword [0x18020e370], 0xffffffff
jne 0x1800c4683
call qword [sym.imp.KERNEL32.dll_GetTickCount]
lea rcx, [0x18020e370]
mov dword [0x18020e374], eax
call fcn.18011beb8
cmp byte [rdi + 0x271], 0
lea rbp, str.SELECT
je 0x1800c46d7
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x18020e374]
cmp eax, dword [rdi + 0x88]
jb 0x1800c46d7
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x18020e374], eax
movzx eax, byte [rdi + 0x50]
xor al, 1
cmp byte [rdi + 0x87], 0
mov byte [rdi + 0x50], al
je 0x1800c46d7
test al, al
lea rdx, str.BACK
cmovne rdx, rbp
call fcn.1800c78f0
mov eax, dword [r14]
xor r15d, r15d
cmp dword [0x18020e378], eax
mov qword [rsp + 0x58], rbx
jle 0x1800c4755
lea rcx, [0x18020e378]
call fcn.18011bf18
cmp dword [0x18020e378], 0xffffffff
jne 0x1800c4755
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 0x1800c471d
imul rax, rax, 0x64
jmp 0x1800c473b
cqo
idiv rbx
mov r8, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
imul rdx, r8, 0x3b9aca00
add rax, rdx
lea rcx, [0x18020e378]
mov qword [0x18020e380], rax
mov qword [0x18020e388], r15
call fcn.18011beb8
movsxd rax, dword [rdi + 0x8c]
imul rcx, rax, 0xf4240
mov qword [0x18020e388], rcx
cmp byte [rdi + 0x50], r15b
je 0x1800c4e6a
cmp byte [rdi + 0x272], r15b
je 0x1800c4812
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 0x1800c479f
imul rax, rax, 0x64
jmp 0x1800c47bd
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 [0x18020e380]
cmp rcx, qword [0x18020e388]
jl 0x1800c4812
mov qword [0x18020e380], rax
cmp byte [rdi + 0x87], r15b
je 0x1800c47ec
lea rdx, str.BACK
call fcn.1800c78f0
mov rax, qword [rdi + 0x261]
sub rax, qword [rdi + 0x259]
sar rax, 3
cmp rax, 1
ja 0x1800c480a
mov byte [rdi + 0x50], r15b
jmp 0x1800c4812
add qword [rdi + 0x261], 0xfffffffffffffff8
cmp byte [rdi + 0x50], r15b
je 0x1800c4e6a
mov rax, qword [rdi + 0x261]
cmp qword [rdi + 0x259], rax
je 0x1800c4e6a
mov qword [rsp + 0x60], rsi
mov rsi, qword [rax - 8]
mov eax, dword [r14]
cmp dword [0x18020e390], eax
jle 0x1800c48af
lea rcx, [0x18020e390]
call fcn.18011bf18
cmp dword [0x18020e390], 0xffffffff
jne 0x1800c48af
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 0x1800c4877
imul rax, rax, 0x64
jmp 0x1800c4895
cqo
idiv rbx
mov r8, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
imul rdx, r8, 0x3b9aca00
add rax, rdx
lea rcx, [0x18020e390]
mov qword [0x18020e398], rax
mov qword [0x18020e3a0], r15
call fcn.18011beb8
movsxd rax, dword [rdi + 0x90]
imul rcx, rax, 0xf4240
mov qword [0x18020e3a0], rcx
cmp byte [rdi + 0x273], r15b
je 0x1800c4970
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + Ordinal_50]
test rax, rax
je 0x1800c4970
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 0x1800c4901
imul rax, rax, 0x64
jmp 0x1800c491f
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 [0x18020e398]
cmp rcx, qword [0x18020e3a0]
jl 0x1800c4970
mov qword [0x18020e398], rax
cmp byte [rdi + 0x87], r15b
je 0x1800c494a
mov rdx, rbp
call fcn.1800c78f0
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 0x1800c4970
mov r8, qword [rax]
mov edx, 2
mov rcx, rax
call qword [r8 + reloc.WLDAP32.dll_Ordinal_32]
mov eax, dword [r14]
cmp dword [0x18020e3a8], eax
jle 0x1800c49e6
lea rcx, [0x18020e3a8]
call fcn.18011bf18
cmp dword [0x18020e3a8], 0xffffffff
jne 0x1800c49e6
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 0x1800c49ae
imul rax, rax, 0x64
jmp 0x1800c49cc
cqo
idiv rbx
mov r8, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
imul rdx, r8, 0x3b9aca00
add rax, rdx
lea rcx, [0x18020e3a8]
mov qword [0x18020e3b0], rax
mov qword [0x18020e3b8], r15
call fcn.18011beb8
movsxd rax, dword [rdi + 0x94]
imul rcx, rax, 0xf4240
mov qword [0x18020e3b8], rcx
cmp byte [rdi + 0x274], r15b
je 0x1800c4aab
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + Ordinal_50]
test rax, rax
je 0x1800c4aab
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 0x1800c4a38
imul rax, rax, 0x64
jmp 0x1800c4a56
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 [0x18020e3b0]
cmp rcx, qword [0x18020e3b8]
jl 0x1800c4aab
mov qword [0x18020e3b0], rax
cmp byte [rdi + 0x87], r15b
je 0x1800c4a85
lea rdx, str.NAV_UP_DOWN
call fcn.1800c78f0
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + gethostname]
mov rbx, qword [rsi]
mov rcx, rsi
test rax, rax
je 0x1800c4a9e
call qword [rbx + gethostname]
jmp 0x1800c4aa1
call qword [rbx + Ordinal_50]
lea rdx, [rax - 1]
mov rcx, rsi
call qword [rbx + 0x40]
mov eax, dword [r14]
cmp dword [0x18020e3c0], eax
jle 0x1800c4b21
lea rcx, [0x18020e3c0]
call fcn.18011bf18
cmp dword [0x18020e3c0], 0xffffffff
jne 0x1800c4b21
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 0x1800c4ae9
imul rax, rax, 0x64
jmp 0x1800c4b07
cqo
idiv rbx
mov r8, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
imul rdx, r8, 0x3b9aca00
add rax, rdx
lea rcx, [0x18020e3c0]
mov qword [0x18020e3c8], rax
mov qword [0x18020e3d0], r15
call fcn.18011beb8
movsxd rax, dword [rdi + 0x94]
imul rcx, rax, 0xf4240
mov qword [0x18020e3d0], rcx
cmp byte [rdi + 0x275], r15b
je 0x1800c4bf2
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + Ordinal_50]
test rax, rax
je 0x1800c4bf2
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 0x1800c4b73
imul rax, rax, 0x64
jmp 0x1800c4b91
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 [0x18020e3c8]
cmp rcx, qword [0x18020e3d0]
jl 0x1800c4bf2
mov qword [0x18020e3c8], rax
cmp byte [rdi + 0x87], r15b
je 0x1800c4bc0
lea rdx, str.NAV_UP_DOWN
call fcn.1800c78f0
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 0x1800c4bed
call qword [rbp + gethostname]
mov rcx, rsi
lea rdx, [rax + 1]
jmp 0x1800c4bef
xor edx, edx
call qword [rbp + 0x40]
mov eax, dword [r14]
cmp dword [0x18020e3d8], eax
jle 0x1800c4c68
lea rcx, [0x18020e3d8]
call fcn.18011bf18
cmp dword [0x18020e3d8], 0xffffffff
jne 0x1800c4c68
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 0x1800c4c30
imul rax, rax, 0x64
jmp 0x1800c4c4e
cqo
idiv rbx
mov r8, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
imul rdx, r8, 0x3b9aca00
add rax, rdx
lea rcx, [0x18020e3d8]
mov qword [0x18020e3e0], rax
mov qword [0x18020e3e8], r15
call fcn.18011beb8
movsxd rax, dword [rdi + 0x98]
imul rcx, rax, 0xf4240
mov qword [0x18020e3e8], rcx
cmp byte [rdi + 0x276], r15b
je 0x1800c4d2a
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + Ordinal_50]
test rax, rax
je 0x1800c4d2a
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 0x1800c4cba
imul rax, rax, 0x64
jmp 0x1800c4cd8
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 [0x18020e3e0]
cmp rcx, qword [0x18020e3e8]
jl 0x1800c4d2a
mov qword [0x18020e3e0], rax
cmp byte [rdi + 0x87], r15b
je 0x1800c4d07
lea rdx, str.NAV_LEFT_RIGHT
call fcn.1800c78f0
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 0x1800c4d2a
mov r8, qword [rax]
xor edx, edx
mov rcx, rax
call qword [r8 + reloc.WLDAP32.dll_Ordinal_32]
mov eax, dword [r14]
cmp dword [0x18020e3f0], eax
jle 0x1800c4da0
lea rcx, [0x18020e3f0]
call fcn.18011bf18
cmp dword [0x18020e3f0], 0xffffffff
jne 0x1800c4da0
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 0x1800c4d68
imul rax, rax, 0x64
jmp 0x1800c4d86
cqo
idiv rbx
mov r8, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
imul rdx, r8, 0x3b9aca00
add rax, rdx
lea rcx, [0x18020e3f0]
mov qword [0x18020e3f8], rax
mov qword [0x18020e400], r15
call fcn.18011beb8
movsxd rax, dword [rdi + 0x98]
imul rcx, rax, 0xf4240
mov qword [0x18020e400], rcx
cmp byte [rdi + 0x277], r15b
je 0x1800c4e65
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + Ordinal_50]
test rax, rax
je 0x1800c4e65
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 0x1800c4df2
imul rax, rax, 0x64
jmp 0x1800c4e10
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 [0x18020e3f8]
cmp rcx, qword [0x18020e400]
jl 0x1800c4e65
mov qword [0x18020e3f8], rax
cmp byte [rdi + 0x87], r15b
je 0x1800c4e3f
lea rdx, str.NAV_LEFT_RIGHT
call fcn.1800c78f0
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 0x1800c4e65
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8 + reloc.WLDAP32.dll_Ordinal_32]
mov rsi, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x20]
xor rcx, rsp
call fcn.18011b980
mov rbp, qword [rsp + 0x68]
add rsp, 0x30
pop r15
pop r14
pop rdi
ret