Function at 0x1800335c0
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 0x1800339fe
cmp byte [rcx + 0x69], r15b
je 0x1800339fe
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 [0x180140770], rax
mov dword [rsp + 0x50], 1
mov rax, qword [rsp + 0x50]
mov qword [0x180140780], rax
mov dword [0x1801406a8], r15d
mov qword [0x1801a4b50], rbx
mov qword [0x180140778], r15
mov dword [0x180140698], 3
call fcn.180036910
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x50], 2
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x50], r15
mov qword [0x180140770], rax
mov dword [rsp + 0x50], 0x13
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x50], r15
mov qword [0x180140778], rax
mov dword [rsp + 0x50], 1
mov rax, qword [rsp + 0x50]
mov qword [0x180140780], rax
mov dword [0x1801406a8], r15d
mov qword [0x1801a4b50], rbx
mov dword [0x180140698], 3
call fcn.180036910
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x50], 2
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x50], r15
mov qword [0x180140770], rax
mov dword [rsp + 0x50], 0x8c
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x50], r15
mov qword [0x180140778], rax
mov dword [rsp + 0x50], 1
mov rax, qword [rsp + 0x50]
mov qword [0x180140780], rax
mov dword [0x1801406a8], r15d
mov qword [0x1801a4b50], rbx
mov dword [0x180140698], 3
call fcn.180036910
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x50], 2
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x50], r15
mov qword [0x180140770], rax
mov dword [rsp + 0x50], 0x14
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x50], r15
mov qword [0x180140778], rax
mov dword [rsp + 0x50], 1
mov rax, qword [rsp + 0x50]
mov qword [0x180140780], rax
mov dword [0x1801406a8], r15d
mov qword [0x1801a4b50], rbx
mov dword [0x180140698], 3
call fcn.180036910
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x50], 2
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x50], r15
mov qword [0x180140770], rax
mov dword [rsp + 0x50], 0x1b
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x50], r15
mov qword [0x180140778], rax
mov dword [rsp + 0x50], 1
mov rax, qword [rsp + 0x50]
mov qword [0x180140780], rax
mov dword [0x1801406a8], r15d
mov qword [0x1801a4b50], rbx
mov dword [0x180140698], 3
call fcn.180036910
mov dword [0x1801406a8], r15d
mov qword [0x1801a4b50], rbx
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x50], 2
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x50], r15
mov qword [0x180140770], rax
mov dword [rsp + 0x50], 0x50
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x50], r15
mov qword [0x180140778], rax
mov dword [rsp + 0x50], 1
mov rax, qword [rsp + 0x50]
mov qword [0x180140780], rax
mov dword [0x180140698], 3
call fcn.180036910
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x50], 2
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x50], r15
mov qword [0x180140770], rax
mov dword [rsp + 0x50], 0x151
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x50], r15
mov qword [0x180140778], rax
mov dword [rsp + 0x50], 1
mov rax, qword [rsp + 0x50]
mov qword [0x180140780], rax
mov dword [0x1801406a8], r15d
mov qword [0x1801a4b50], rbx
mov dword [0x180140698], 3
call fcn.180036910
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x50], 2
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x50], r15
mov qword [0x180140770], rax
mov dword [rsp + 0x50], 0x1b
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x50], r15
mov qword [0x180140778], rax
mov dword [rsp + 0x50], 1
mov rax, qword [rsp + 0x50]
mov qword [0x180140780], rax
mov dword [0x1801406a8], r15d
mov qword [0x1801a4b50], rbx
mov dword [0x180140698], 3
call fcn.180036910
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x50], 2
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x50], r15
mov qword [0x180140770], rax
mov dword [rsp + 0x50], 0x55
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x50], r15
mov qword [0x180140778], rax
mov dword [rsp + 0x50], 1
mov rax, qword [rsp + 0x50]
mov qword [0x180140780], rax
mov dword [0x1801406a8], r15d
mov qword [0x1801a4b50], rbx
mov dword [0x180140698], 3
call fcn.180036910
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x50], 2
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x50], r15
mov qword [0x180140770], rax
mov dword [rsp + 0x50], 0x4a
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x50], r15
mov qword [0x180140778], rax
mov dword [rsp + 0x50], 1
mov rax, qword [rsp + 0x50]
mov qword [0x180140780], rax
mov dword [0x1801406a8], r15d
mov qword [0x1801a4b50], rbx
mov dword [0x180140698], 3
call fcn.180036910
mov rax, qword gs:[0x58]
mov ecx, dword [0x1801a151c]
mov edx, 4
mov r14, qword [rax + rcx*8]
add r14, rdx
mov eax, dword [r14]
cmp dword [0x1801a4ec8], eax
jle 0x180033a51
lea rcx, [0x1801a4ec8]
call fcn.1800c2848
cmp dword [0x1801a4ec8], 0xffffffff
jne 0x180033a51
call qword [sym.imp.KERNEL32.dll_GetTickCount]
lea rcx, [0x1801a4ec8]
mov dword [0x1801a4ecc], eax
call fcn.1800c27e8
lea rbp, str.SELECT
movabs r13, 0x67c540aa08e4a6f5
lea rsi, str.BACK
movabs r12, 0xe2587f8cbbd87b1d
lea rbx, str.UI_FRONTEND_DEFAULT_SOUNDSET
cmp byte [rdi + 0x134], r15b
je 0x180033a98
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x1801a4ecc]
cmp eax, dword [rdi + 0x6c]
jae 0x180033b3f
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x50], 0xe3
mov rax, qword [rsp + 0x50]
mov qword [0x180140778], rax
mov dword [0x1801406a8], r15d
mov qword [0x1801a4b50], r12
mov qword [0x180140770], r15
mov dword [0x180140698], 2
call fcn.180036910
cmp dword [rax], r15d
je 0x180033baf
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x50], 0xaf
mov rax, qword [rsp + 0x50]
mov qword [0x180140778], rax
mov dword [0x1801406a8], r15d
mov qword [0x1801a4b50], r12
mov qword [0x180140770], r15
mov dword [0x180140698], 2
call fcn.180036910
cmp dword [rax], r15d
je 0x180033baf
cmp byte [rdi + 0x69], r15b
je 0x180033baf
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x1801a4ecc]
cmp eax, dword [rdi + 0x6c]
jb 0x180033baf
call qword [sym.imp.KERNEL32.dll_GetTickCount]
movzx ecx, byte [rdi + 0x50]
xor cl, 1
mov dword [0x1801a4ecc], eax
mov byte [rdi + 0x50], cl
cmp byte [rdi + 0x68], r15b
je 0x180033baf
mov qword [rsp + 0x50], r15
test cl, cl
mov dword [rsp + 0x50], 0xffffffff
mov rax, qword [rsp + 0x50]
mov qword [0x180140770], rax
mov rax, rsi
cmovne rax, rbp
mov dword [0x1801406a8], r15d
mov qword [0x180140778], rax
mov qword [0x1801a4b50], r13
mov qword [0x180140780], rbx
mov qword [0x180140788], r15
mov dword [0x180140698], 4
call fcn.180036910
mov eax, dword [r14]
cmp dword [0x1801a4ed0], eax
jle 0x180033bee
lea rcx, [0x1801a4ed0]
call fcn.1800c2848
cmp dword [0x1801a4ed0], 0xffffffff
jne 0x180033bee
lea rcx, [0x1801a4ed8]
call fcn.180002f20
lea rcx, [0x1801a4ed0]
mov qword [0x1801a4ee0], r15
call fcn.1800c27e8
movsxd rax, dword [rdi + 0x70]
imul rcx, rax, 0xf4240
mov qword [0x1801a4ee0], rcx
cmp byte [rdi + 0x50], r15b
je 0x18003479a
cmp byte [rdi + 0x135], r15b
je 0x180033c66
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 0x180033c31
imul rax, rax, 0x64
jmp 0x180033c4f
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 [0x1801a4ed8]
cmp rcx, qword [0x1801a4ee0]
jge 0x180033d13
cmp byte [rdi + 0x50], r15b
je 0x18003479a
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x50], 0xca
mov rax, qword [rsp + 0x50]
mov qword [0x180140778], rax
mov dword [0x1801406a8], r15d
mov qword [0x1801a4b50], r12
mov qword [0x180140770], r15
mov dword [0x180140698], 2
call fcn.180036910
cmp dword [rax], r15d
je 0x180033d98
cmp byte [rdi + 0x69], r15b
je 0x180033d98
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 0x180033cde
imul rax, rax, 0x64
jmp 0x180033cfc
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 [0x1801a4ed8]
cmp rcx, qword [0x1801a4ee0]
jl 0x180033d98
mov qword [0x1801a4ed8], rax
cmp byte [rdi + 0x68], r15b
je 0x180033d72
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x50], 0xffffffff
mov rax, qword [rsp + 0x50]
mov qword [0x180140770], rax
lea rax, str.UI_FRONTEND_DEFAULT_SOUNDSET
mov qword [0x180140780], rax
mov dword [0x1801406a8], r15d
mov qword [0x1801a4b50], r13
mov qword [0x180140778], rsi
mov qword [0x180140788], r15
mov dword [0x180140698], 4
call fcn.180036910
mov rax, qword [rdi + 0x160]
sub rax, qword [rdi + 0x158]
sar rax, 3
cmp rax, 1
ja 0x180033d90
mov byte [rdi + 0x50], r15b
jmp 0x180033d98
add qword [rdi + 0x160], 0xfffffffffffffff8
cmp byte [rdi + 0x50], r15b
je 0x18003479a
mov rax, qword [rdi + 0x160]
cmp qword [rdi + 0x158], rax
je 0x18003479a
mov rsi, qword [rax - 8]
mov eax, dword [r14]
cmp dword [0x1801a4ee8], eax
jle 0x180033df9
lea rcx, [0x1801a4ee8]
call fcn.1800c2848
cmp dword [0x1801a4ee8], 0xffffffff
jne 0x180033df9
lea rcx, [0x1801a4ef0]
call fcn.180002f20
lea rcx, [0x1801a4ee8]
mov qword [0x1801a4ef8], r15
call fcn.1800c27e8
movsxd rax, dword [rdi + 0x74]
imul rcx, rax, 0xf4240
mov qword [0x1801a4ef8], rcx
cmp byte [rdi + 0x136], r15b
je 0x180033e75
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x30]
test rax, rax
je 0x180033e75
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 0x180033e40
imul rax, rax, 0x64
jmp 0x180033e5e
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 [0x1801a4ef0]
cmp rcx, qword [0x1801a4ef8]
jge 0x180033f2a
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x50], 0xc9
mov rax, qword [rsp + 0x50]
mov qword [0x180140778], rax
mov dword [0x1801406a8], r15d
mov qword [0x1801a4b50], r12
mov qword [0x180140770], r15
mov dword [0x180140698], 2
call fcn.180036910
cmp dword [rax], r15d
je 0x180033faf
cmp byte [rdi + 0x69], r15b
je 0x180033faf
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x30]
test rax, rax
je 0x180033faf
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 0x180033ef5
imul rax, rax, 0x64
jmp 0x180033f13
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 [0x1801a4ef0]
cmp rcx, qword [0x1801a4ef8]
jl 0x180033faf
mov qword [0x1801a4ef0], rax
cmp byte [rdi + 0x68], r15b
je 0x180033f89
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x50], 0xffffffff
mov rax, qword [rsp + 0x50]
mov qword [0x180140770], rax
lea rax, str.UI_FRONTEND_DEFAULT_SOUNDSET
mov qword [0x180140780], rax
mov dword [0x1801406a8], r15d
mov qword [0x1801a4b50], r13
mov qword [0x180140778], rbp
mov qword [0x180140788], r15
mov dword [0x180140698], 4
call fcn.180036910
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 0x180033faf
mov r8, qword [rax]
mov edx, 2
mov rcx, rax
call qword [r8 + 0x20]
mov eax, dword [r14]
cmp dword [0x1801a4f00], eax
jle 0x180033fee
lea rcx, [0x1801a4f00]
call fcn.1800c2848
cmp dword [0x1801a4f00], 0xffffffff
jne 0x180033fee
lea rcx, [0x1801a4f08]
call fcn.180002f20
lea rcx, [0x1801a4f00]
mov qword [0x1801a4f10], r15
call fcn.1800c27e8
movsxd rax, dword [rdi + 0x78]
lea rbp, str.NAV_UP_DOWN
imul rcx, rax, 0xf4240
mov qword [0x1801a4f10], rcx
cmp byte [rdi + 0x137], r15b
je 0x180034071
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x30]
test rax, rax
je 0x180034071
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 0x18003403c
imul rax, rax, 0x64
jmp 0x18003405a
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 [0x1801a4f08]
cmp rcx, qword [0x1801a4f10]
jge 0x180034126
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x50], 0xbc
mov rax, qword [rsp + 0x50]
mov qword [0x180140778], rax
mov dword [0x1801406a8], r15d
mov qword [0x1801a4b50], r12
mov qword [0x180140770], r15
mov dword [0x180140698], 2
call fcn.180036910
cmp dword [rax], r15d
je 0x1800341ab
cmp byte [rdi + 0x69], r15b
je 0x1800341ab
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x30]
test rax, rax
je 0x1800341ab
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 0x1800340f1
imul rax, rax, 0x64
jmp 0x18003410f
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 [0x1801a4f08]
cmp rcx, qword [0x1801a4f10]
jl 0x1800341ab
mov qword [0x1801a4f08], rax
cmp byte [rdi + 0x68], r15b
je 0x180034185
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x50], 0xffffffff
mov rax, qword [rsp + 0x50]
mov qword [0x180140770], rax
lea rax, str.UI_FRONTEND_DEFAULT_SOUNDSET
mov qword [0x180140780], rax
mov dword [0x1801406a8], r15d
mov qword [0x1801a4b50], r13
mov qword [0x180140778], rbp
mov qword [0x180140788], r15
mov dword [0x180140698], 4
call fcn.180036910
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x38]
mov rbx, qword [rsi]
mov rcx, rsi
test rax, rax
je 0x18003419e
call qword [rbx + 0x38]
jmp 0x1800341a1
call qword [rbx + 0x30]
lea rdx, [rax - 1]
mov rcx, rsi
call qword [rbx + 0x40]
mov eax, dword [r14]
cmp dword [0x1801a4f18], eax
jle 0x1800341ea
lea rcx, [0x1801a4f18]
call fcn.1800c2848
cmp dword [0x1801a4f18], 0xffffffff
jne 0x1800341ea
lea rcx, [0x1801a4f20]
call fcn.180002f20
lea rcx, [0x1801a4f18]
mov qword [0x1801a4f28], r15
call fcn.1800c27e8
movsxd rax, dword [rdi + 0x78]
imul rcx, rax, 0xf4240
mov qword [0x1801a4f28], rcx
cmp byte [rdi + 0x138], r15b
je 0x180034266
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x30]
test rax, rax
je 0x180034266
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 0x180034231
imul rax, rax, 0x64
jmp 0x18003424f
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 [0x1801a4f20]
cmp rcx, qword [0x1801a4f28]
jge 0x18003431b
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x50], 0xbb
mov rax, qword [rsp + 0x50]
mov qword [0x180140778], rax
mov dword [0x1801406a8], r15d
mov qword [0x1801a4b50], r12
mov qword [0x180140770], r15
mov dword [0x180140698], 2
call fcn.180036910
cmp dword [rax], r15d
je 0x1800343ac
cmp byte [rdi + 0x69], r15b
je 0x1800343ac
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x30]
test rax, rax
je 0x1800343ac
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 0x1800342e6
imul rax, rax, 0x64
jmp 0x180034304
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 [0x1801a4f20]
cmp rcx, qword [0x1801a4f28]
jl 0x1800343ac
mov qword [0x1801a4f20], rax
cmp byte [rdi + 0x68], r15b
je 0x18003437a
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x50], 0xffffffff
mov rax, qword [rsp + 0x50]
mov qword [0x180140770], rax
lea rax, str.UI_FRONTEND_DEFAULT_SOUNDSET
mov qword [0x180140780], rax
mov dword [0x1801406a8], r15d
mov qword [0x1801a4b50], r13
mov qword [0x180140778], rbp
mov qword [0x180140788], r15
mov dword [0x180140698], 4
call fcn.180036910
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x30]
mov rdx, qword [rsi]
mov rcx, rsi
lea rbx, [rax - 1]
call qword [rdx + 0x38]
mov rbp, qword [rsi]
mov rcx, rsi
cmp rax, rbx
jae 0x1800343a7
call qword [rbp + 0x38]
mov rcx, rsi
lea rdx, [rax + 1]
jmp 0x1800343a9
xor edx, edx
call qword [rbp + 0x40]
mov eax, dword [r14]
cmp dword [0x1801a4f30], eax
jle 0x1800343eb
lea rcx, [0x1801a4f30]
call fcn.1800c2848
cmp dword [0x1801a4f30], 0xffffffff
jne 0x1800343eb
lea rcx, [0x1801a4f38]
call fcn.180002f20
lea rcx, [0x1801a4f30]
mov qword [0x1801a4f40], r15
call fcn.1800c27e8
movsxd rax, dword [rdi + 0x7c]
lea rbp, str.NAV_LEFT_RIGHT
imul rcx, rax, 0xf4240
mov qword [0x1801a4f40], rcx
cmp byte [rdi + 0x139], r15b
je 0x18003446e
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x30]
test rax, rax
je 0x18003446e
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 0x180034439
imul rax, rax, 0x64
jmp 0x180034457
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 [0x1801a4f38]
cmp rcx, qword [0x1801a4f40]
jge 0x180034523
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x50], 0xae
mov rax, qword [rsp + 0x50]
mov qword [0x180140778], rax
mov dword [0x1801406a8], r15d
mov qword [0x1801a4b50], r12
mov qword [0x180140770], r15
mov dword [0x180140698], 2
call fcn.180036910
cmp dword [rax], r15d
je 0x1800345a5
cmp byte [rdi + 0x69], r15b
je 0x1800345a5
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x30]
test rax, rax
je 0x1800345a5
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 0x1800344ee
imul rax, rax, 0x64
jmp 0x18003450c
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 [0x1801a4f38]
cmp rcx, qword [0x1801a4f40]
jl 0x1800345a5
mov qword [0x1801a4f38], rax
cmp byte [rdi + 0x68], r15b
je 0x180034582
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x50], 0xffffffff
mov rax, qword [rsp + 0x50]
mov qword [0x180140770], rax
lea rax, str.UI_FRONTEND_DEFAULT_SOUNDSET
mov qword [0x180140780], rax
mov dword [0x1801406a8], r15d
mov qword [0x1801a4b50], r13
mov qword [0x180140778], rbp
mov qword [0x180140788], r15
mov dword [0x180140698], 4
call fcn.180036910
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 0x1800345a5
mov r8, qword [rax]
xor edx, edx
mov rcx, rax
call qword [r8 + 0x20]
mov eax, dword [r14]
cmp dword [0x1801a4f48], eax
jle 0x1800345e4
lea rcx, [0x1801a4f48]
call fcn.1800c2848
cmp dword [0x1801a4f48], 0xffffffff
jne 0x1800345e4
lea rcx, [0x1801a4f50]
call fcn.180002f20
lea rcx, [0x1801a4f48]
mov qword [0x1801a4f58], r15
call fcn.1800c27e8
movsxd rax, dword [rdi + 0x7c]
imul rcx, rax, 0xf4240
mov qword [0x1801a4f58], rcx
cmp byte [rdi + 0x13a], r15b
je 0x180034660
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x30]
test rax, rax
je 0x180034660
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 0x18003462b
imul rax, rax, 0x64
jmp 0x180034649
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 [0x1801a4f50]
cmp rcx, qword [0x1801a4f58]
jge 0x180034715
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x50], 0xaf
mov rax, qword [rsp + 0x50]
mov qword [0x180140778], rax
mov dword [0x1801406a8], r15d
mov qword [0x1801a4b50], r12
mov qword [0x180140770], r15
mov dword [0x180140698], 2
call fcn.180036910
cmp dword [rax], r15d
je 0x18003479a
cmp byte [rdi + 0x69], r15b
je 0x18003479a
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x30]
test rax, rax
je 0x18003479a
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 0x1800346e0
imul rax, rax, 0x64
jmp 0x1800346fe
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 [0x1801a4f50]
cmp rcx, qword [0x1801a4f58]
jl 0x18003479a
mov qword [0x1801a4f50], rax
cmp byte [rdi + 0x68], r15b
je 0x180034774
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x50], 0xffffffff
mov rax, qword [rsp + 0x50]
mov qword [0x180140770], rax
lea rax, str.UI_FRONTEND_DEFAULT_SOUNDSET
mov qword [0x180140780], rax
mov dword [0x1801406a8], r15d
mov qword [0x1801a4b50], r13
mov qword [0x180140778], rbp
mov qword [0x180140788], r15
mov dword [0x180140698], 4
call fcn.180036910
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 0x18003479a
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