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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
xor r15d, r15d
mov rdi, rcx
cmp byte [rcx + 0x50], r15b
je 0x18001deae
cmp byte [rcx + 0x69], r15b
je 0x18001deae
mov qword [rsp + 0x50], r15
movabs rbx, 0xfe99b66d079cf6bc
mov dword [rsp + 0x50], 2
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x50], r15
mov qword [0x1800d6020], rax
mov dword [rsp + 0x50], 1
mov rax, qword [rsp + 0x50]
mov qword [0x1800d6030], rax
mov dword [0x1800d5f58], r15d
mov qword [0x18012ae70], rbx
mov qword [0x1800d6028], r15
mov dword [0x1800d5f48], 3
call fcn.180020590
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x50], 2
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x50], r15
mov qword [0x1800d6020], rax
mov dword [rsp + 0x50], 0x13
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x50], r15
mov qword [0x1800d6028], rax
mov dword [rsp + 0x50], 1
mov rax, qword [rsp + 0x50]
mov qword [0x1800d6030], rax
mov dword [0x1800d5f58], r15d
mov qword [0x18012ae70], rbx
mov dword [0x1800d5f48], 3
call fcn.180020590
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x50], 2
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x50], r15
mov qword [0x1800d6020], rax
mov dword [rsp + 0x50], 0x8c
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x50], r15
mov qword [0x1800d6028], rax
mov dword [rsp + 0x50], 1
mov rax, qword [rsp + 0x50]
mov qword [0x1800d6030], rax
mov dword [0x1800d5f58], r15d
mov qword [0x18012ae70], rbx
mov dword [0x1800d5f48], 3
call fcn.180020590
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x50], 2
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x50], r15
mov qword [0x1800d6020], rax
mov dword [rsp + 0x50], 0x14
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x50], r15
mov qword [0x1800d6028], rax
mov dword [rsp + 0x50], 1
mov rax, qword [rsp + 0x50]
mov qword [0x1800d6030], rax
mov dword [0x1800d5f58], r15d
mov qword [0x18012ae70], rbx
mov dword [0x1800d5f48], 3
call fcn.180020590
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x50], 2
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x50], r15
mov qword [0x1800d6020], rax
mov dword [rsp + 0x50], 0x1b
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x50], r15
mov qword [0x1800d6028], rax
mov dword [rsp + 0x50], 1
mov rax, qword [rsp + 0x50]
mov qword [0x1800d6030], rax
mov dword [0x1800d5f58], r15d
mov qword [0x18012ae70], rbx
mov dword [0x1800d5f48], 3
call fcn.180020590
mov dword [0x1800d5f58], r15d
mov qword [0x18012ae70], rbx
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x50], 2
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x50], r15
mov qword [0x1800d6020], rax
mov dword [rsp + 0x50], 0x50
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x50], r15
mov qword [0x1800d6028], rax
mov dword [rsp + 0x50], 1
mov rax, qword [rsp + 0x50]
mov qword [0x1800d6030], rax
mov dword [0x1800d5f48], 3
call fcn.180020590
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x50], 2
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x50], r15
mov qword [0x1800d6020], rax
mov dword [rsp + 0x50], 0x151
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x50], r15
mov qword [0x1800d6028], rax
mov dword [rsp + 0x50], 1
mov rax, qword [rsp + 0x50]
mov qword [0x1800d6030], rax
mov dword [0x1800d5f58], r15d
mov qword [0x18012ae70], rbx
mov dword [0x1800d5f48], 3
call fcn.180020590
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x50], 2
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x50], r15
mov qword [0x1800d6020], rax
mov dword [rsp + 0x50], 0x1b
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x50], r15
mov qword [0x1800d6028], rax
mov dword [rsp + 0x50], 1
mov rax, qword [rsp + 0x50]
mov qword [0x1800d6030], rax
mov dword [0x1800d5f58], r15d
mov qword [0x18012ae70], rbx
mov dword [0x1800d5f48], 3
call fcn.180020590
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x50], 2
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x50], r15
mov qword [0x1800d6020], rax
mov dword [rsp + 0x50], 0x55
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x50], r15
mov qword [0x1800d6028], rax
mov dword [rsp + 0x50], 1
mov rax, qword [rsp + 0x50]
mov qword [0x1800d6030], rax
mov dword [0x1800d5f58], r15d
mov qword [0x18012ae70], rbx
mov dword [0x1800d5f48], 3
call fcn.180020590
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x50], 2
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x50], r15
mov qword [0x1800d6020], rax
mov dword [rsp + 0x50], 0x4a
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x50], r15
mov qword [0x1800d6028], rax
mov dword [rsp + 0x50], 1
mov rax, qword [rsp + 0x50]
mov qword [0x1800d6030], rax
mov dword [0x1800d5f58], r15d
mov qword [0x18012ae70], rbx
mov dword [0x1800d5f48], 3
call fcn.180020590
mov rax, qword gs:[0x58]
mov ecx, dword [0x18012868c]
mov edx, 4
mov r14, qword [rax + rcx*8]
add r14, rdx
mov eax, dword [r14]
cmp dword [0x18012b160], eax
jle 0x18001df01
lea rcx, [0x18012b160]
call fcn.180073dd0
cmp dword [0x18012b160], 0xffffffff
jne 0x18001df01
call qword [sym.imp.KERNEL32.dll_GetTickCount]
lea rcx, [0x18012b160]
mov dword [0x18012b164], eax
call fcn.180073d70
lea rbp, str.SELECT
movabs r13, 0x67c540aa08e4a6f5
lea rsi, str.BACK
movabs r12, 0xe2587f8cbbd87b1d
lea rbx, str.HUD_FRONTEND_DEFAULT_SOUNDSET
cmp byte [rdi + 0x16c], r15b
je 0x18001df48
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x18012b164]
cmp eax, dword [rdi + 0x6c]
jae 0x18001dfef
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x50], 0xe3
mov rax, qword [rsp + 0x50]
mov qword [0x1800d6028], rax
mov dword [0x1800d5f58], r15d
mov qword [0x18012ae70], r12
mov qword [0x1800d6020], r15
mov dword [0x1800d5f48], 2
call fcn.180020590
cmp dword [rax], r15d
je 0x18001e05f
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x50], 0xaf
mov rax, qword [rsp + 0x50]
mov qword [0x1800d6028], rax
mov dword [0x1800d5f58], r15d
mov qword [0x18012ae70], r12
mov qword [0x1800d6020], r15
mov dword [0x1800d5f48], 2
call fcn.180020590
cmp dword [rax], r15d
je 0x18001e05f
cmp byte [rdi + 0x69], r15b
je 0x18001e05f
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x18012b164]
cmp eax, dword [rdi + 0x6c]
jb 0x18001e05f
call qword [sym.imp.KERNEL32.dll_GetTickCount]
movzx ecx, byte [rdi + 0x50]
xor cl, 1
mov dword [0x18012b164], eax
mov byte [rdi + 0x50], cl
cmp byte [rdi + 0x68], r15b
je 0x18001e05f
mov qword [rsp + 0x50], r15
test cl, cl
mov dword [rsp + 0x50], 0xffffffff
mov rax, qword [rsp + 0x50]
mov qword [0x1800d6020], rax
mov rax, rsi
cmovne rax, rbp
mov dword [0x1800d5f58], r15d
mov qword [0x1800d6028], rax
mov qword [0x18012ae70], r13
mov qword [0x1800d6030], rbx
mov qword [0x1800d6038], r15
mov dword [0x1800d5f48], 4
call fcn.180020590
mov eax, dword [r14]
cmp dword [0x18012b168], eax
jle 0x18001e0d5
lea rcx, [0x18012b168]
call fcn.180073dd0
cmp dword [0x18012b168], 0xffffffff
jne 0x18001e0d5
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 0x18001e09d
imul rax, rax, 0x64
jmp 0x18001e0bb
cqo
idiv rbx
mov r8, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
imul rdx, r8, 0x3b9aca00
add rax, rdx
lea rcx, [0x18012b168]
mov qword [0x18012b170], rax
mov qword [0x18012b178], r15
call fcn.180073d70
movsxd rax, dword [rdi + 0x70]
imul rcx, rax, 0xf4240
mov qword [0x18012b178], rcx
movzx eax, byte [rdi + 0x50]
test al, al
je 0x18001e283
cmp byte [rdi + 0x16d], r15b
je 0x18001e15b
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 0x18001e11a
imul rax, rax, 0x64
jmp 0x18001e138
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 [0x18012b170]
cmp rcx, qword [0x18012b178]
jge 0x18001e1fe
movzx eax, byte [rdi + 0x50]
test al, al
je 0x18001e283
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x50], 0xca
mov rax, qword [rsp + 0x50]
mov qword [0x1800d6028], rax
mov dword [0x1800d5f58], r15d
mov qword [0x18012ae70], r12
mov qword [0x1800d6020], r15
mov dword [0x1800d5f48], 2
call fcn.180020590
cmp dword [rax], r15d
je 0x18001e283
cmp byte [rdi + 0x69], r15b
je 0x18001e283
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 0x18001e1c9
imul rax, rax, 0x64
jmp 0x18001e1e7
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 [0x18012b170]
cmp rcx, qword [0x18012b178]
jl 0x18001e283
mov qword [0x18012b170], rax
cmp byte [rdi + 0x68], r15b
je 0x18001e25d
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x50], 0xffffffff
mov rax, qword [rsp + 0x50]
mov qword [0x1800d6020], rax
lea rax, str.HUD_FRONTEND_DEFAULT_SOUNDSET
mov qword [0x1800d6030], rax
mov dword [0x1800d5f58], r15d
mov qword [0x18012ae70], r13
mov qword [0x1800d6028], rsi
mov qword [0x1800d6038], r15
mov dword [0x1800d5f48], 4
call fcn.180020590
mov rax, qword [rdi + 0x198]
sub rax, qword [rdi + 0x190]
sar rax, 3
cmp rax, 1
ja 0x18001e27b
mov byte [rdi + 0x50], r15b
jmp 0x18001e283
add qword [rdi + 0x198], 0xfffffffffffffff8
cmp byte [rdi + 0x50], r15b
je 0x18001ed98
mov rax, qword [rdi + 0x198]
cmp qword [rdi + 0x190], rax
je 0x18001ed98
mov rsi, qword [rax - 8]
mov eax, dword [r14]
cmp dword [0x18012b180], eax
jle 0x18001e31b
lea rcx, [0x18012b180]
call fcn.180073dd0
cmp dword [0x18012b180], 0xffffffff
jne 0x18001e31b
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 0x18001e2e3
imul rax, rax, 0x64
jmp 0x18001e301
cqo
idiv rbx
mov r8, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
imul rdx, r8, 0x3b9aca00
add rax, rdx
lea rcx, [0x18012b180]
mov qword [0x18012b188], rax
mov qword [0x18012b190], r15
call fcn.180073d70
movsxd rax, dword [rdi + 0x74]
imul rcx, rax, 0xf4240
mov qword [0x18012b190], rcx
cmp byte [rdi + 0x16e], r15b
je 0x18001e397
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x30]
test rax, rax
je 0x18001e397
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 0x18001e362
imul rax, rax, 0x64
jmp 0x18001e380
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 [0x18012b188]
cmp rcx, qword [0x18012b190]
jge 0x18001e44c
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x50], 0xc9
mov rax, qword [rsp + 0x50]
mov qword [0x1800d6028], rax
mov dword [0x1800d5f58], r15d
mov qword [0x18012ae70], r12
mov qword [0x1800d6020], r15
mov dword [0x1800d5f48], 2
call fcn.180020590
cmp dword [rax], r15d
je 0x18001e4d1
cmp byte [rdi + 0x69], r15b
je 0x18001e4d1
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x30]
test rax, rax
je 0x18001e4d1
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 0x18001e417
imul rax, rax, 0x64
jmp 0x18001e435
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 [0x18012b188]
cmp rcx, qword [0x18012b190]
jl 0x18001e4d1
mov qword [0x18012b188], rax
cmp byte [rdi + 0x68], r15b
je 0x18001e4ab
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x50], 0xffffffff
mov rax, qword [rsp + 0x50]
mov qword [0x1800d6020], rax
lea rax, str.HUD_FRONTEND_DEFAULT_SOUNDSET
mov qword [0x1800d6030], rax
mov dword [0x1800d5f58], r15d
mov qword [0x18012ae70], r13
mov qword [0x1800d6028], rbp
mov qword [0x1800d6038], r15
mov dword [0x1800d5f48], 4
call fcn.180020590
mov rbx, qword [rsi]
mov rcx, rsi
call qword [rbx + 0x38]
mov rdx, rax
mov rcx, rsi
call qword [rbx + 0x28]
test rax, rax
je 0x18001e4d1
mov r8, qword [rax]
mov edx, 2
mov rcx, rax
call qword [r8 + 0x20]
mov eax, dword [r14]
cmp dword [0x18012b198], eax
jle 0x18001e547
lea rcx, [0x18012b198]
call fcn.180073dd0
cmp dword [0x18012b198], 0xffffffff
jne 0x18001e547
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 0x18001e50f
imul rax, rax, 0x64
jmp 0x18001e52d
cqo
idiv rbx
mov r8, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
imul rdx, r8, 0x3b9aca00
add rax, rdx
lea rcx, [0x18012b198]
mov qword [0x18012b1a0], rax
mov qword [0x18012b1a8], r15
call fcn.180073d70
movsxd rax, dword [rdi + 0x78]
lea rbp, str.NAV_UP_DOWN
imul rcx, rax, 0xf4240
mov qword [0x18012b1a8], rcx
cmp byte [rdi + 0x16f], r15b
je 0x18001e5ca
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x30]
test rax, rax
je 0x18001e5ca
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 0x18001e595
imul rax, rax, 0x64
jmp 0x18001e5b3
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 [0x18012b1a0]
cmp rcx, qword [0x18012b1a8]
jge 0x18001e67f
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x50], 0xbc
mov rax, qword [rsp + 0x50]
mov qword [0x1800d6028], rax
mov dword [0x1800d5f58], r15d
mov qword [0x18012ae70], r12
mov qword [0x1800d6020], r15
mov dword [0x1800d5f48], 2
call fcn.180020590
cmp dword [rax], r15d
je 0x18001e704
cmp byte [rdi + 0x69], r15b
je 0x18001e704
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x30]
test rax, rax
je 0x18001e704
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 0x18001e64a
imul rax, rax, 0x64
jmp 0x18001e668
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 [0x18012b1a0]
cmp rcx, qword [0x18012b1a8]
jl 0x18001e704
mov qword [0x18012b1a0], rax
cmp byte [rdi + 0x68], r15b
je 0x18001e6de
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x50], 0xffffffff
mov rax, qword [rsp + 0x50]
mov qword [0x1800d6020], rax
lea rax, str.HUD_FRONTEND_DEFAULT_SOUNDSET
mov qword [0x1800d6030], rax
mov dword [0x1800d5f58], r15d
mov qword [0x18012ae70], r13
mov qword [0x1800d6028], rbp
mov qword [0x1800d6038], r15
mov dword [0x1800d5f48], 4
call fcn.180020590
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x38]
mov rbx, qword [rsi]
mov rcx, rsi
test rax, rax
je 0x18001e6f7
call qword [rbx + 0x38]
jmp 0x18001e6fa
call qword [rbx + 0x30]
lea rdx, [rax - 1]
mov rcx, rsi
call qword [rbx + 0x40]
mov eax, dword [r14]
cmp dword [0x18012b1b0], eax
jle 0x18001e77a
lea rcx, [0x18012b1b0]
call fcn.180073dd0
cmp dword [0x18012b1b0], 0xffffffff
jne 0x18001e77a
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 0x18001e742
imul rax, rax, 0x64
jmp 0x18001e760
cqo
idiv rbx
mov r8, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
imul rdx, r8, 0x3b9aca00
add rax, rdx
lea rcx, [0x18012b1b0]
mov qword [0x18012b1b8], rax
mov qword [0x18012b1c0], r15
call fcn.180073d70
movsxd rax, dword [rdi + 0x78]
imul rcx, rax, 0xf4240
mov qword [0x18012b1c0], rcx
cmp byte [rdi + 0x170], r15b
je 0x18001e7f6
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x30]
test rax, rax
je 0x18001e7f6
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 0x18001e7c1
imul rax, rax, 0x64
jmp 0x18001e7df
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 [0x18012b1b8]
cmp rcx, qword [0x18012b1c0]
jge 0x18001e8ab
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x50], 0xbb
mov rax, qword [rsp + 0x50]
mov qword [0x1800d6028], rax
mov dword [0x1800d5f58], r15d
mov qword [0x18012ae70], r12
mov qword [0x1800d6020], r15
mov dword [0x1800d5f48], 2
call fcn.180020590
cmp dword [rax], r15d
je 0x18001e93c
cmp byte [rdi + 0x69], r15b
je 0x18001e93c
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x30]
test rax, rax
je 0x18001e93c
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 0x18001e876
imul rax, rax, 0x64
jmp 0x18001e894
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 [0x18012b1b8]
cmp rcx, qword [0x18012b1c0]
jl 0x18001e93c
mov qword [0x18012b1b8], rax
cmp byte [rdi + 0x68], r15b
je 0x18001e90a
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x50], 0xffffffff
mov rax, qword [rsp + 0x50]
mov qword [0x1800d6020], rax
lea rax, str.HUD_FRONTEND_DEFAULT_SOUNDSET
mov qword [0x1800d6030], rax
mov dword [0x1800d5f58], r15d
mov qword [0x18012ae70], r13
mov qword [0x1800d6028], rbp
mov qword [0x1800d6038], r15
mov dword [0x1800d5f48], 4
call fcn.180020590
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x30]
mov rcx, rsi
lea rbx, [rax - 1]
mov rax, qword [rsi]
call qword [rax + 0x38]
mov rbp, qword [rsi]
mov rcx, rsi
cmp rax, rbx
jae 0x18001e937
call qword [rbp + 0x38]
mov rcx, rsi
lea rdx, [rax + 1]
jmp 0x18001e939
xor edx, edx
call qword [rbp + 0x40]
mov eax, dword [r14]
cmp dword [0x18012b1c8], eax
jle 0x18001e9b2
lea rcx, [0x18012b1c8]
call fcn.180073dd0
cmp dword [0x18012b1c8], 0xffffffff
jne 0x18001e9b2
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 0x18001e97a
imul rax, rax, 0x64
jmp 0x18001e998
cqo
idiv rbx
mov r8, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
imul rdx, r8, 0x3b9aca00
add rax, rdx
lea rcx, [0x18012b1c8]
mov qword [0x18012b1d0], rax
mov qword [0x18012b1d8], r15
call fcn.180073d70
movsxd rax, dword [rdi + 0x7c]
lea rbp, str.NAV_LEFT_RIGHT
imul rcx, rax, 0xf4240
mov qword [0x18012b1d8], rcx
cmp byte [rdi + 0x171], r15b
je 0x18001ea35
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x30]
test rax, rax
je 0x18001ea35
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 0x18001ea00
imul rax, rax, 0x64
jmp 0x18001ea1e
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 [0x18012b1d0]
cmp rcx, qword [0x18012b1d8]
jge 0x18001eaea
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x50], 0xae
mov rax, qword [rsp + 0x50]
mov qword [0x1800d6028], rax
mov dword [0x1800d5f58], r15d
mov qword [0x18012ae70], r12
mov qword [0x1800d6020], r15
mov dword [0x1800d5f48], 2
call fcn.180020590
cmp dword [rax], r15d
je 0x18001eb6c
cmp byte [rdi + 0x69], r15b
je 0x18001eb6c
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x30]
test rax, rax
je 0x18001eb6c
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 0x18001eab5
imul rax, rax, 0x64
jmp 0x18001ead3
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 [0x18012b1d0]
cmp rcx, qword [0x18012b1d8]
jl 0x18001eb6c
mov qword [0x18012b1d0], rax
cmp byte [rdi + 0x68], r15b
je 0x18001eb49
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x50], 0xffffffff
mov rax, qword [rsp + 0x50]
mov qword [0x1800d6020], rax
lea rax, str.HUD_FRONTEND_DEFAULT_SOUNDSET
mov qword [0x1800d6030], rax
mov dword [0x1800d5f58], r15d
mov qword [0x18012ae70], r13
mov qword [0x1800d6028], rbp
mov qword [0x1800d6038], r15
mov dword [0x1800d5f48], 4
call fcn.180020590
mov rbx, qword [rsi]
mov rcx, rsi
call qword [rbx + 0x38]
mov rdx, rax
mov rcx, rsi
call qword [rbx + 0x28]
test rax, rax
je 0x18001eb6c
mov r8, qword [rax]
xor edx, edx
mov rcx, rax
call qword [r8 + 0x20]
mov eax, dword [r14]
cmp dword [0x18012b1e0], eax
jle 0x18001ebe2
lea rcx, [0x18012b1e0]
call fcn.180073dd0
cmp dword [0x18012b1e0], 0xffffffff
jne 0x18001ebe2
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 0x18001ebaa
imul rax, rax, 0x64
jmp 0x18001ebc8
cqo
idiv rbx
mov r8, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
imul rdx, r8, 0x3b9aca00
add rax, rdx
lea rcx, [0x18012b1e0]
mov qword [0x18012b1e8], rax
mov qword [0x18012b1f0], r15
call fcn.180073d70
movsxd rax, dword [rdi + 0x7c]
imul rcx, rax, 0xf4240
mov qword [0x18012b1f0], rcx
cmp byte [rdi + 0x172], r15b
je 0x18001ec5e
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x30]
test rax, rax
je 0x18001ec5e
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 0x18001ec29
imul rax, rax, 0x64
jmp 0x18001ec47
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 [0x18012b1e8]
cmp rcx, qword [0x18012b1f0]
jge 0x18001ed13
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x50], 0xaf
mov rax, qword [rsp + 0x50]
mov qword [0x1800d6028], rax
mov dword [0x1800d5f58], r15d
mov qword [0x18012ae70], r12
mov qword [0x1800d6020], r15
mov dword [0x1800d5f48], 2
call fcn.180020590
cmp dword [rax], r15d
je 0x18001ed98
cmp byte [rdi + 0x69], r15b
je 0x18001ed98
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x30]
test rax, rax
je 0x18001ed98
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 0x18001ecde
imul rax, rax, 0x64
jmp 0x18001ecfc
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 [0x18012b1e8]
cmp rcx, qword [0x18012b1f0]
jl 0x18001ed98
mov qword [0x18012b1e8], rax
cmp byte [rdi + 0x68], r15b
je 0x18001ed72
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x50], 0xffffffff
mov rax, qword [rsp + 0x50]
mov qword [0x1800d6020], rax
lea rax, str.HUD_FRONTEND_DEFAULT_SOUNDSET
mov qword [0x1800d6030], rax
mov dword [0x1800d5f58], r15d
mov qword [0x18012ae70], r13
mov qword [0x1800d6028], rbp
mov qword [0x1800d6038], r15
mov dword [0x1800d5f48], 4
call fcn.180020590
mov rbx, qword [rsi]
mov rcx, rsi
call qword [rbx + 0x38]
mov rdx, rax
mov rcx, rsi
call qword [rbx + 0x28]
test rax, rax
je 0x18001ed98
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8 + 0x20]
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret