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

Disassembly:
push rbx
sub rsp, 0xd0
mov rax, qword [0x1800bb120]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov rax, qword [rcx]
xor r8d, r8d
mov rbx, rcx
lea edx, [r8 + 1]
call qword [rax + 8]
test eax, eax
je 0x180017621
mov qword [rsp + 0xc8], r12
mov qword [rsp + 0xb8], r14
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [rbx + 0x2478]
mov edx, 0xa
cmp ecx, edx
mov dword [rbx + 0x26c8], eax
mov r14d, eax
mov dword [rbx + 0x26f4], eax
cmovb edx, ecx
lea rcx, [rbx + 0x62f30]
mov dword [rbx + 0x2478], edx
call fcn.180067270
xor edx, edx
mov rcx, rbx
call fcn.180017f20
test eax, eax
je 0x180017611
mov qword [rsp + 0xf8], rdi
lea rdi, [rbx + 0x26d0]
mov qword [rsp + 0xc0], r13
xor r13d, r13d
movaps xmmword [rsp + 0xa0], xmm6
movsd xmm6, qword [0x1800908b8]
mov qword [rsp + 0xe8], rbp
mov qword [rsp + 0xf0], rsi
mov qword [rsp + 0xb0], r15
nop
cmp dword [rbx + 0x5d368], 7
je 0x18001727a
cmp dword [rbx + 0x26c4], r13d
je 0x18001727a
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [rbx + 0x26c8]
cmp eax, dword [rbx + 0x26c4]
ja 0x1800175b2
xor edx, edx
lea rcx, [rsp + 0x30]
lea r8d, [rdx + 0x58]
call fcn.18005f7c0
mov r8d, 0xb
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.180018310
cmp eax, 1
jbe 0x1800175be
mov r9d, 0x1f4
lea rdx, [rsp + 0x30]
xor r8d, r8d
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
mov ebp, eax
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, eax
mov r15d, eax
sub edx, r14d
cmp edx, 0x1f4
jb 0x180017414
mov ecx, dword [rbx + 0x26e8]
mov rax, qword [rdi + 8]
mov dword [rsp + 0x20], ecx
lea rcx, [rsp + 0x20]
mov dword [rsp + 0x24], edx
cmp rcx, rax
jae 0x180017335
mov rcx, qword [rdi]
lea rdx, [rsp + 0x20]
cmp rcx, rdx
ja 0x180017335
lea rsi, [rsp + 0x20]
sub rsi, rcx
sar rsi, 3
cmp rax, qword [rdi + 0x10]
jne 0x180017320
mov edx, 1
mov rcx, rdi
call fcn.18001b860
mov rdx, qword [rdi + 8]
test rdx, rdx
je 0x180017359
mov rax, qword [rdi]
mov rcx, qword [rax + rsi*8]
mov qword [rdx], rcx
jmp 0x180017359
cmp rax, qword [rdi + 0x10]
jne 0x180017348
mov edx, 1
mov rcx, rdi
call fcn.18001b860
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x180017359
mov rax, qword [rsp + 0x20]
mov qword [rcx], rax
add qword [rdi + 8], 8
mov rax, qword [rdi + 8]
sub rax, qword [rdi]
sar rax, 3
cmp rax, 6
jbe 0x180017387
mov rcx, qword [rdi]
mov r8, qword [rdi + 8]
lea rdx, [rcx + 8]
sub r8, rdx
call fcn.18005eaf0
add qword [rdi + 8], 0xfffffffffffffff8
mov rax, qword [rdi + 8]
sub rax, qword [rdi]
and rax, 0xfffffffffffffff8
cmp rax, 0x30
jne 0x18001740a
mov rax, qword [rdi + 8]
mov edx, r13d
sub rax, qword [rdi]
mov r8d, r13d
sar rax, 3
mov ecx, r13d
test rax, rax
je 0x1800173e2
mov r9, qword [rdi]
mov rax, r13
mov r10, qword [rdi + 8]
sub r10, r9
sar r10, 3
nop dword [rax]
nop word [rax + rax]
add edx, dword [r9 + rax*8 + 4]
inc ecx
add r8d, dword [r9 + rax*8]
mov eax, ecx
cmp rax, r10
jb 0x1800173d0
xorps xmm1, xmm1
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm1, rax
mov eax, edx
cvtsi2sd xmm0, rax
divsd xmm1, xmm0
mulsd xmm1, xmm6
cvttsd2si rax, xmm1
mov dword [rbx + 0x26cc], eax
mov r14d, r15d
mov dword [rbx + 0x26e8], r13d
lea rcx, [rsp + 0x28]
call fcn.180067270
mov rax, qword [rsp + 0x28]
sub rax, qword [rbx + 0x62f30]
mov ecx, dword [rbx + 0x26cc]
mov qword [rbx + 0x62f38], rax
test ecx, ecx
je 0x18001745d
mov rax, qword [rbx + 0x5d370]
cmp rax, 0xffffffffffffffff
je 0x18001745d
sub rax, qword [rbx + 0x5d380]
xor edx, edx
div rcx
mov qword [rbx + 0x62f40], rax
jmp 0x180017464
mov qword [rbx + 0x62f40], r13
cmp ebp, 0xffffffff
je case.default.0x18001751b
cmp ebp, 0x102
jne 0x1800174bf
cmp dword [rbx + 0x247c], 6
jne 0x180017250
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
sub ecx, dword [rbx + 0x26c0]
cmp ecx, 0x3e8
jbe 0x180017250
xor r8d, r8d
mov dword [rbx + 0x26c0], eax
mov rax, qword [rbx]
mov rcx, rbx
lea edx, [r8 + 6]
call qword [rax + 8]
test eax, eax
jne 0x180017250
jmp 0x1800175e1
test ebp, ebp
je 0x1800175a9
mov rax, qword [rbx + 0x2700]
dec ebp
mov rsi, qword [rax + rbp*8]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rbx + 0x26ec], eax
mov rcx, qword [rsi + 0x20]
test rcx, rcx
je 0x1800174fd
call qword [sym.imp.KERNEL32.dll_CancelWaitableTimer]
mov rcx, qword [rsi + 0x20]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rsi + 0x20], r13
movsxd rax, dword [rsi + 0x4c]
cmp eax, 0xa
ja case.default.0x18001751b
lea rsi, [0x180000000]
mov ecx, dword [rsi + rax*4 + 0x1763c]
add rcx, rsi
jmp rcx
mov edx, ebp
mov rcx, rbx
call fcn.180019950
jmp 0x18001759f
mov edx, ebp
mov rcx, rbx
call fcn.180018cf0
jmp 0x18001759f
mov edx, ebp
mov rcx, rbx
call fcn.180019a00
jmp 0x18001759f
mov edx, ebp
mov rcx, rbx
call fcn.180018de0
jmp 0x18001759f
mov edx, ebp
mov rcx, rbx
call fcn.180019dd0
jmp 0x18001759f
mov edx, ebp
mov rcx, rbx
call fcn.180019860
jmp 0x18001759f
mov edx, ebp
mov rcx, rbx
call fcn.180019b30
jmp 0x18001759f
mov edx, ebp
mov rcx, rbx
call fcn.1800194c0
jmp 0x18001759f
mov edx, ebp
mov rcx, rbx
call fcn.180019c60
jmp 0x18001759f
mov edx, ebp
mov rcx, rbx
call fcn.1800196d0
jmp 0x18001759f
mov edx, ebp
mov rcx, rbx
call fcn.180019340
test eax, eax
jne 0x180017250
jmp case.default.0x18001751b
cmp dword [rbx + 0x5d368], 7
je 0x1800175e1
mov dword [rbx + 0x5d368], 9
jmp 0x1800175e1
cmp dword [rbx + 0x2730], r13d
je 0x1800175e1
mov rax, qword [rbx + 0x5d370]
cmp qword [rbx + 0x5d380], rax
jae 0x1800175e1
mov dword [rbx + 0x5d368], 8
mov r15, qword [rsp + 0xb0]
mov rbp, qword [rsp + 0xe8]
mov rsi, qword [rsp + 0xf0]
mov r13, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0xf8]
movaps xmm6, xmmword [rsp + 0xa0]
mov r12, qword [rsp + 0xc8]
mov r14, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.18003ff90
add rsp, 0xd0
pop rbx
ret