Function at 0x1800de140
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 [0x1801d1038]
xor rax, rsp
mov qword [rsp + 0x20], rax
cmp byte [rcx + 0x55], 0
mov rdi, rcx
je 0x1800de24e
cmp byte [rcx + 0x8d], 0
je 0x1800de24e
xor r8d, r8d
movabs rbx, 0xfe99b66d079cf6bc
mov r9b, 1
mov rcx, rbx
lea edx, [r8 + 2]
call fcn.18006e590
mov edx, 2
mov r9b, 1
mov rcx, rbx
lea r8d, [rdx + 0x11]
call fcn.18006e590
mov r9b, 1
mov edx, 2
mov r8d, Ordinal_143
mov rcx, rbx
call fcn.18006e590
mov edx, 2
mov r9b, 1
mov rcx, rbx
lea r8d, [rdx + 0x12]
call fcn.18006e590
mov edx, 2
mov r9b, 1
mov rcx, rbx
lea r8d, [rdx + 0x19]
call fcn.18006e590
mov edx, 2
mov r9b, 1
mov rcx, rbx
lea r8d, [rdx + 0x4e]
call fcn.18006e590
mov r9b, 1
mov edx, 2
mov r8d, 0x151
mov rcx, rbx
call fcn.18006e590
mov edx, 2
mov r9b, 1
mov rcx, rbx
lea r8d, [rdx + 0x19]
call fcn.18006e590
mov edx, 2
mov r9b, 1
mov rcx, rbx
lea r8d, [rdx + 0x53]
call fcn.18006e590
mov edx, 2
mov r9b, 1
mov rcx, rbx
lea r8d, [rdx + 0x48]
call fcn.18006e590
mov rax, qword gs:[0x58]
mov ecx, dword [0x18022d830]
mov edx, 4
mov r14, qword [rax + rcx*8]
add r14, rdx
mov eax, dword [r14]
cmp dword [0x180264078], eax
jle 0x1800de2a1
lea rcx, [0x180264078]
call fcn.1800f63f0
cmp dword [0x180264078], 0xffffffff
jne 0x1800de2a1
call qword [sym.imp.KERNEL32.dll_GetTickCount]
lea rcx, [0x180264078]
mov dword [0x18026407c], eax
call fcn.1800f6384
cmp byte [rdi + 0xf38], 0
lea rbp, str.SELECT
movabs r15, 0xe2587f8cbbd87b1d
je 0x1800de2cf
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x18026407c]
cmp eax, dword [rdi + 0x90]
jae 0x1800de314
xor edx, edx
mov r8d, 0xe3
mov rcx, r15
call fcn.18006cf20
test eax, eax
je 0x1800de34f
xor edx, edx
mov r8d, 0xaf
mov rcx, r15
call fcn.18006cf20
test eax, eax
je 0x1800de34f
cmp byte [rdi + 0x8d], 0
je 0x1800de34f
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x18026407c]
cmp eax, dword [rdi + 0x90]
jb 0x1800de34f
call qword [sym.imp.KERNEL32.dll_GetTickCount]
xor byte [rdi + 0x55], 1
mov cl, 1
mov dword [0x18026407c], eax
call fcn.1800ddc40
cmp byte [rdi + 0x8c], 0
mov byte [rdi + 0x13b], 0
je 0x1800de34f
cmp byte [rdi + 0x55], 0
lea rdx, str.BACK
cmovne rdx, rbp
call fcn.1800e3b60
mov eax, dword [r14]
xor r12d, r12d
cmp dword [0x180264080], eax
jle 0x1800de391
lea rcx, [0x180264080]
call fcn.1800f63f0
cmp dword [0x180264080], 0xffffffff
jne 0x1800de391
lea rcx, [0x180264088]
call fcn.1800538a0
lea rcx, [0x180264080]
mov qword [0x180264090], r12
call fcn.1800f6384
movsxd rax, dword [rdi + 0x94]
imul rcx, rax, 0xf4240
mov qword [0x180264090], rcx
cmp byte [rdi + 0x55], r12b
je 0x1800deca1
cmp byte [rdi + 0xf39], r12b
je 0x1800de408
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 0x1800de3d7
imul rax, rax, 0x64
jmp 0x1800de3f5
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 [0x180264088]
cmp rcx, qword [0x180264090]
jge 0x1800de486
cmp byte [rdi + 0x55], r12b
je 0x1800deca1
xor edx, edx
mov r8d, 0xca
mov rcx, r15
call fcn.18006cf20
test eax, eax
je 0x1800de4d2
cmp byte [rdi + 0x8d], r12b
je 0x1800de4d2
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 0x1800de455
imul rax, rax, 0x64
jmp 0x1800de473
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 [0x180264088]
cmp rcx, qword [0x180264090]
jl 0x1800de4d2
mov qword [0x180264088], rax
cmp byte [rdi + 0x8c], r12b
je 0x1800de4a2
lea rdx, str.BACK
call fcn.1800e3b60
mov rax, qword [rdi + 0xf28]
sub rax, qword [rdi + 0xf20]
sar rax, 3
cmp rax, 1
ja 0x1800de4ca
xor ecx, ecx
call fcn.1800ddc40
mov byte [rdi + 0x13b], 1
jmp 0x1800de4d2
add qword [rdi + 0xf28], 0xfffffffffffffff8
cmp byte [rdi + 0x55], r12b
je 0x1800deca1
mov rax, qword [rdi + 0xf28]
cmp qword [rdi + 0xf20], rax
je 0x1800deca1
mov qword [rsp + 0x68], rsi
mov rsi, qword [rax - 8]
mov eax, dword [r14]
cmp dword [0x180264098], eax
jle 0x1800de538
lea rcx, [0x180264098]
call fcn.1800f63f0
cmp dword [0x180264098], 0xffffffff
jne 0x1800de538
lea rcx, [0x1802640a0]
call fcn.1800538a0
lea rcx, [0x180264098]
mov qword [0x1802640a8], r12
call fcn.1800f6384
movsxd rax, dword [rdi + 0x98]
imul rcx, rax, 0xf4240
mov qword [0x1802640a8], rcx
cmp byte [rdi + 0xf3a], r12b
je 0x1800de5b7
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + Ordinal_50]
test rax, rax
je 0x1800de5b7
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 0x1800de582
imul rax, rax, 0x64
jmp 0x1800de5a0
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 [0x1802640a0]
cmp rcx, qword [0x1802640a8]
jge 0x1800de63d
xor edx, edx
mov r8d, 0xc9
mov rcx, r15
call fcn.18006cf20
test eax, eax
je 0x1800de67b
cmp byte [rdi + 0x8d], r12b
je 0x1800de67b
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + Ordinal_50]
test rax, rax
je 0x1800de67b
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 0x1800de60c
imul rax, rax, 0x64
jmp 0x1800de62a
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 [0x1802640a0]
cmp rcx, qword [0x1802640a8]
jl 0x1800de67b
mov qword [0x1802640a0], rax
cmp byte [rdi + 0x8c], r12b
je 0x1800de655
mov rdx, rbp
call fcn.1800e3b60
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 0x1800de67b
mov r8, qword [rax]
mov edx, 2
mov rcx, rax
call qword [r8 + Ordinal_41]
mov eax, dword [r14]
cmp dword [0x1802640b0], eax
jle 0x1800de6ba
lea rcx, [0x1802640b0]
call fcn.1800f63f0
cmp dword [0x1802640b0], 0xffffffff
jne 0x1800de6ba
lea rcx, [0x1802640b8]
call fcn.1800538a0
lea rcx, [0x1802640b0]
mov qword [0x1802640c0], r12
call fcn.1800f6384
movsxd rax, dword [rdi + 0x9c]
imul rcx, rax, 0xf4240
mov qword [0x1802640c0], rcx
cmp byte [rdi + 0xf3b], r12b
je 0x1800de739
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + Ordinal_50]
test rax, rax
je 0x1800de739
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 0x1800de704
imul rax, rax, 0x64
jmp 0x1800de722
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 [0x1802640b8]
cmp rcx, qword [0x1802640c0]
jge 0x1800de7bf
xor edx, edx
mov r8d, 0xbc
mov rcx, r15
call fcn.18006cf20
test eax, eax
je 0x1800de801
cmp byte [rdi + 0x8d], r12b
je 0x1800de801
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + Ordinal_50]
test rax, rax
je 0x1800de801
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 0x1800de78e
imul rax, rax, 0x64
jmp 0x1800de7ac
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 [0x1802640b8]
cmp rcx, qword [0x1802640c0]
jl 0x1800de801
mov qword [0x1802640b8], rax
cmp byte [rdi + 0x8c], r12b
je 0x1800de7db
lea rdx, str.NAV_UP_DOWN
call fcn.1800e3b60
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + gethostname]
mov rbx, qword [rsi]
mov rcx, rsi
test rax, rax
je 0x1800de7f4
call qword [rbx + gethostname]
jmp 0x1800de7f7
call qword [rbx + Ordinal_50]
lea rdx, [rax - 1]
mov rcx, rsi
call qword [rbx + 0x40]
mov eax, dword [r14]
cmp dword [0x1802640c8], eax
jle 0x1800de840
lea rcx, [0x1802640c8]
call fcn.1800f63f0
cmp dword [0x1802640c8], 0xffffffff
jne 0x1800de840
lea rcx, [0x1802640d0]
call fcn.1800538a0
lea rcx, [0x1802640c8]
mov qword [0x1802640d8], r12
call fcn.1800f6384
movsxd rax, dword [rdi + 0x9c]
imul rcx, rax, 0xf4240
mov qword [0x1802640d8], rcx
cmp byte [rdi + 0xf3c], r12b
je 0x1800de8bf
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + Ordinal_50]
test rax, rax
je 0x1800de8bf
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 0x1800de88a
imul rax, rax, 0x64
jmp 0x1800de8a8
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 [0x1802640d0]
cmp rcx, qword [0x1802640d8]
jge 0x1800de945
xor edx, edx
mov r8d, 0xbb
mov rcx, r15
call fcn.18006cf20
test eax, eax
je 0x1800de993
cmp byte [rdi + 0x8d], r12b
je 0x1800de993
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + Ordinal_50]
test rax, rax
je 0x1800de993
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 0x1800de914
imul rax, rax, 0x64
jmp 0x1800de932
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 [0x1802640d0]
cmp rcx, qword [0x1802640d8]
jl 0x1800de993
mov qword [0x1802640d0], rax
cmp byte [rdi + 0x8c], r12b
je 0x1800de961
lea rdx, str.NAV_UP_DOWN
call fcn.1800e3b60
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 0x1800de98e
call qword [rbp + gethostname]
mov rcx, rsi
lea rdx, [rax + 1]
jmp 0x1800de990
xor edx, edx
call qword [rbp + 0x40]
mov eax, dword [r14]
cmp dword [0x1802640e0], eax
jle 0x1800de9d2
lea rcx, [0x1802640e0]
call fcn.1800f63f0
cmp dword [0x1802640e0], 0xffffffff
jne 0x1800de9d2
lea rcx, [0x1802640e8]
call fcn.1800538a0
lea rcx, [0x1802640e0]
mov qword [0x1802640f0], r12
call fcn.1800f6384
movsxd rax, dword [rdi + 0xa0]
imul rcx, rax, 0xf4240
mov qword [0x1802640f0], rcx
cmp byte [rdi + 0xf3d], r12b
je 0x1800dea51
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + Ordinal_50]
test rax, rax
je 0x1800dea51
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 0x1800dea1c
imul rax, rax, 0x64
jmp 0x1800dea3a
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 [0x1802640e8]
cmp rcx, qword [0x1802640f0]
jge 0x1800dead7
xor edx, edx
mov r8d, 0xae
mov rcx, r15
call fcn.18006cf20
test eax, eax
je 0x1800deb16
cmp byte [rdi + 0x8d], r12b
je 0x1800deb16
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + Ordinal_50]
test rax, rax
je 0x1800deb16
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 0x1800deaa6
imul rax, rax, 0x64
jmp 0x1800deac4
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 [0x1802640e8]
cmp rcx, qword [0x1802640f0]
jl 0x1800deb16
mov qword [0x1802640e8], rax
cmp byte [rdi + 0x8c], r12b
je 0x1800deaf3
lea rdx, str.NAV_LEFT_RIGHT
call fcn.1800e3b60
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 0x1800deb16
mov r8, qword [rax]
xor edx, edx
mov rcx, rax
call qword [r8 + Ordinal_41]
mov eax, dword [r14]
cmp dword [0x1802640f8], eax
jle 0x1800deb55
lea rcx, [0x1802640f8]
call fcn.1800f63f0
cmp dword [0x1802640f8], 0xffffffff
jne 0x1800deb55
lea rcx, [0x180264100]
call fcn.1800538a0
lea rcx, [0x1802640f8]
mov qword [0x180264108], r12
call fcn.1800f6384
movsxd rax, dword [rdi + 0xa0]
imul rcx, rax, 0xf4240
mov qword [0x180264108], rcx
cmp byte [rdi + 0xf3e], r12b
je 0x1800debd4
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + Ordinal_50]
test rax, rax
je 0x1800debd4
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 0x1800deb9f
imul rax, rax, 0x64
jmp 0x1800debbd
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 [0x180264100]
cmp rcx, qword [0x180264108]
jge 0x1800dec5a
xor edx, edx
mov r8d, 0xaf
mov rcx, r15
call fcn.18006cf20
test eax, eax
je 0x1800dec9c
cmp byte [rdi + 0x8d], r12b
je 0x1800dec9c
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + Ordinal_50]
test rax, rax
je 0x1800dec9c
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 0x1800dec29
imul rax, rax, 0x64
jmp 0x1800dec47
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 [0x180264100]
cmp rcx, qword [0x180264108]
jl 0x1800dec9c
mov qword [0x180264100], rax
cmp byte [rdi + 0x8c], r12b
je 0x1800dec76
lea rdx, str.NAV_LEFT_RIGHT
call fcn.1800e3b60
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 0x1800dec9c
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.1800f6320
mov rbx, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret