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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
test r8, r8
je 0x14008ce06
mov r14, r9
mov rsi, r8
mov rbx, rdx
mov r15, rcx
movzx ebp, byte [rsp + 0xa0]
mov rax, qword [rcx + 0x4458]
mov rcx, qword [rcx + 0x4460]
cmp rax, rdx
cmovge rax, rdx
mov qword [r15 + 0x4458], rax
lea rax, [r8 + rdx]
cmp rcx, rax
cmovg rax, rcx
mov qword [r15 + 0x4460], rax
lea rcx, [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
imul rax, qword [rsp + 0x28], 0xf4240
mov rcx, qword [rsp + 0x20]
mov rdx, rax
or rdx, rcx
shr rdx, 0x20
je 0x14008cc8a
xor edx, edx
div rcx
test bpl, bpl
je 0x14008cc93
movsxd rdx, dword [r15 + 0x45a4]
mov dil, 2
test rdx, rdx
je 0x14008cc96
dec rdx
mov r9, qword [r15 + 0x4598]
movsxd rcx, dword [r15 + 0x45a0]
imul rcx, rdx
cmp byte [r9 + rcx], 2
jne 0x14008cc96
mov rdx, rax
sub rdx, qword [r9 + rcx + 0x28]
cmp rdx, 0x7a11f
ja 0x14008cc96
mov rdx, qword [r9 + rcx + 0x20]
mov r8, qword [r9 + rcx + 0x18]
add r8, rdx
cmp r8, rbx
jne 0x14008cc96
mov qword [r9 + rcx + 8], rax
mov qword [r9 + rcx + 0x28], rax
add rdx, rsi
mov qword [r9 + rcx + 0x20], rdx
jmp 0x14008ce06
xor edx, edx
div ecx
test bpl, bpl
jne 0x14008cc25
mov dil, 1
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
imul rax, qword [rsp + 0x28], 0xf4240
mov rcx, qword [rsp + 0x20]
mov rdx, rax
or rdx, rcx
shr rdx, 0x20
je 0x14008ccd5
xor edx, edx
div rcx
mov r13, rax
jmp 0x14008ccdc
xor edx, edx
div ecx
mov r13d, eax
mov r12, qword [r15 + 0x4598]
mov ecx, dword [r15 + 0x45a0]
mov eax, dword [r15 + 0x45a4]
mov edx, eax
imul edx, ecx
movsxd rdx, edx
add rdx, r12
cmp r12, rdx
jae 0x14008cd70
mov rbp, r12
jmp 0x14008cd24
add rbp, 0x48
mov edx, ecx
imul edx, eax
movsxd rdx, edx
add rdx, r12
cmp rbp, rdx
jae 0x14008cd70
mov rdx, r13
sub rdx, qword [rbp + 8]
cmp rdx, 0x23c34601
jb 0x14008cd10
imul eax, ecx
cdqe
add r12, rax
movsxd rdx, ecx
add rdx, rbp
sub r12, rdx
mov rcx, rbp
mov r8, r12
call fcn.140091e40
mov eax, dword [r15 + 0x45a4]
dec eax
mov dword [r15 + 0x45a4], eax
mov r12, qword [r15 + 0x4598]
mov ecx, dword [r15 + 0x45a0]
jmp 0x14008cd14
cmp eax, dword [r15 + 0x45a8]
jne 0x14008cd9a
lea rcx, [r15 + 0x4598]
call fcn.140001620
mov eax, dword [r15 + 0x45a4]
mov r12, qword [r15 + 0x4598]
mov ecx, dword [r15 + 0x45a0]
imul ecx, eax
movsxd r13, ecx
inc eax
mov dword [r15 + 0x45a4], eax
lea rcx, [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
imul rax, qword [rsp + 0x28], 0xf4240
mov rcx, qword [rsp + 0x20]
mov rdx, rax
or rdx, rcx
shr rdx, 0x20
je 0x14008cde0
xor edx, edx
div rcx
jmp 0x14008cde4
xor edx, edx
div ecx
mov rcx, qword [rsp + 0x30]
mov qword [r12 + r13 + 8], rax
mov byte [r12 + r13], dil
mov qword [r12 + r13 + 0x10], r14
mov qword [r12 + r13 + 0x18], rbx
mov qword [r12 + r13 + 0x20], rsi
mov qword [r12 + r13 + 0x28], rcx
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret