Function at 0x140001d60
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
push rbp
push r12
push r13
push r15
sub rsp, 0x38
mov rbp, rcx
mov rcx, qword [rcx + 0x90]
call fcn.140001400
mov r13, qword [rbp + 0x90]
xor edx, edx
sub r13, qword [rbp + 0x98]
mov r15, qword [rbp + 0x20]
mov rax, r15
mov qword [rsp + 0x70], rbx
imul rax, r13
mov qword [rsp + 0x30], rsi
div qword [rbp + 0x28]
mov qword [rsp + 0x28], rdi
mov r12, rax
mov qword [rsp + 0x20], r14
cmp byte [0x140032d40], 0
jne 0x140001dd6
lea rcx, [0x140032d38]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
je 0x140001fee
mov byte [0x140032d40], 1
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x140001fdc
imul rax, qword [rsp + 0x60], 0xf4240
cqo
idiv qword [0x140032d38]
xor esi, esi
mov r14, rax
call fcn.14000fd44
test eax, eax
je 0x140001e5d
call fcn.14000cc18
mov ecx, eax
cmp eax, 0x1b
jne 0x140001e3c
call fcn.14000cc18
mov ecx, eax
cmp eax, 0x4f
jne 0x140001e3c
call fcn.14000cc18
mov ecx, eax
sub eax, 0x41
je 0x140001e58
sub eax, 1
je 0x140001e51
sub eax, 1
je 0x140001e4a
cmp eax, 1
je 0x140001e43
cmp ecx, 0xffffffff
jne 0x140001e00
jmp 0x140001e5d
mov esi, 4
jmp 0x140001e5d
mov esi, 3
jmp 0x140001e5d
mov esi, 2
jmp 0x140001e5d
mov esi, 1
mov rcx, qword [0x140032d30]
mov rcx, qword [rcx + 0xa0]
call qword [sym.imp.KERNEL32.dll_FlushConsoleInputBuffer]
mov edi, dword [rbp + 0x88]
test esi, esi
mov edx, edi
mov rcx, rbp
cmovne edx, esi
call fcn.140002120
test al, al
jne 0x140001f31
cmp qword [rbp + 0x30], 0
je 0x140001f31
mov rcx, qword [rbp + 0x20]
cmp rcx, r15
je 0x140001eb5
mov rax, rcx
xor edx, edx
imul rax, r13
mov r15, rcx
div qword [rbp + 0x28]
mov r12, rax
mov rax, qword [rbp + 0x90]
sub rax, r12
mov rbx, rax
shr rbx, 1
cmp esi, edi
cmovne rbx, rax
cmp byte [0x140032d40], 0
jne 0x140001ef0
lea rcx, [0x140032d38]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
je 0x140002000
mov byte [0x140032d40], 1
lea rcx, [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x140002012
imul rax, qword [rsp + 0x68], 0xf4240
cqo
idiv qword [0x140032d38]
sub rax, r14
cmp rax, rbx
jae 0x140001db1
sub rbx, rax
mov rcx, rbx
call fcn.140001400
jmp 0x140001db1
mov r9, qword [rbp + 0x20]
lea rcx, str.e__zu__dHe_37mSize:_e_97m_zu
mov rdx, qword [rbp + 0x38]
mov r8d, 2
call fcn.140001100
cmp qword [rbp + 0x30], 0
lea rax, str.e_91m__GAME_OVER_
lea rcx, str.e_93m__CONGRATULATIONS_
cmovne rcx, rax
call fcn.140001100
lea rcx, str.e_96m__Press_any_key_to_exit..._a
call fcn.140001100
mov ecx, 1
call fcn.140007104
mov rcx, rax
call fcn.14000757c
mov ecx, 0xb71b0
call fcn.140001400
mov rcx, qword [0x140032d30]
mov rcx, qword [rcx + 0xa0]
call qword [sym.imp.KERNEL32.dll_FlushConsoleInputBuffer]
call fcn.14000cc18
mov rcx, qword [0x140032d30]
mov rcx, qword [rcx + 0xa0]
mov r14, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x70]
add rsp, 0x38
pop r15
pop r13
pop r12
pop rbp
jmp qword [sym.imp.KERNEL32.dll_FlushConsoleInputBuffer]
mov edx, 0x119
lea rcx, str.C:Users_tpaolDocumentsproj_snake_srchelper_functions.c
call fcn.1400012f0
int3
mov edx, 0x113
lea rcx, str.C:Users_tpaolDocumentsproj_snake_srchelper_functions.c
call fcn.1400012f0
int3
mov edx, 0x113
lea rcx, str.C:Users_tpaolDocumentsproj_snake_srchelper_functions.c
call fcn.1400012f0
int3
mov edx, 0x119
lea rcx, str.C:Users_tpaolDocumentsproj_snake_srchelper_functions.c
call fcn.1400012f0
int3