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

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
lea edi, [rdx + 0x188]
xor ebx, ebx
mov dword [rsp + 0x98], edi
mov r13, r8
mov r15d, edx
mov r14, rcx
cmp edx, edi
jae 0x18001a972
mov esi, dword [rsp + 0x88]
mov r12d, dword [rsp + 0x88]
movzx ebp, byte [rsp + 0x88]
nop word [rax + rax]
cmp r15d, 0xe1
ja 0x18001aae6
je 0x18001aa47
mov eax, r15d
sub eax, 0x16
je 0x18001a9e2
sub eax, 0x31
je 0x18001a9a2
sub eax, 0x31
je 0x18001a98e
cmp eax, 0x31
jne 0x18001aba7
mov eax, dword [rsp + 0x30]
mov rbx, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rcx, qword [r14 + 0x40]
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov byte [rsp + 0x30], bpl
jmp 0x18001aba7
cmp rbx, qword [r14 + 0x20]
je 0x18001aba7
mov bpl, 1
cmp r13, rbx
je 0x18001a9cd
cmp qword [rbx + 0x18], 0x10
mov rdx, rbx
jb 0x18001a9c1
mov rdx, qword [rbx]
mov r8, qword [rbx + 0x10]
mov rcx, r13
call fcn.1800237d0
movzx eax, word [rbx + 0x20]
mov word [r13 + 0x20], ax
mov eax, dword [rbx + 0x24]
mov dword [r13 + 0x24], eax
jmp 0x18001aba7
mov rcx, qword [r14 + 0x40]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rbp, qword [r14 + 0x20]
mov rbx, qword [r14 + 0x18]
cmp rbx, rbp
je 0x18001aa3f
lea rdi, [rbx + 0x28]
cmp rdi, rbp
je 0x18001aa38
nop word [rax + rax]
mov r9d, 0x7a
mov r8, rbx
mov rdx, rdi
xor ecx, ecx
call fcn.18008ba30
test al, al
mov rcx, rdi
cmove rcx, rbx
add rdi, 0x28
mov rbx, rcx
cmp rdi, rbp
jne 0x18001aa10
mov edi, dword [rsp + 0x98]
xor bpl, bpl
jmp 0x18001aba7
mov rax, qword [0x180106c18]
xor r9d, r9d
mov qword [rsp + 0x28], 0
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 0x2c]
call fcn.180013ee0
test al, al
je 0x18001aadf
mov rcx, qword [0x180106c18]
lea r9, [rsp + 0x88]
xor r8d, r8d
mov byte [rsp + 0x88], 1
mov edx, 0x83
call fcn.180067800
xor eax, eax
mov r9, r14
mov qword [rsp + 0x28], rax
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], rax
lea ecx, [rax + 0x7a]
call fcn.18001e7b0
test al, al
jne 0x18001aba7
mov rcx, qword [0x180106c18]
xor r9d, r9d
mov qword [rsp + 0x28], 0
xor r8d, r8d
mov qword [rsp + 0x20], rcx
mov edx, 0xfc
xor ecx, ecx
call fcn.18008d6d0
xor eax, eax
jmp 0x18001a976
mov eax, r15d
sub eax, 0x112
je 0x18001ab0c
sub eax, 0x31
je 0x18001ab03
cmp eax, 0x31
je 0x18001a972
jmp 0x18001aba7
mov dword [rsp + 0x30], esi
jmp 0x18001aba7
mov rcx, qword [r14 + 0x28]
xor esi, esi
call qword [r14 + 0x20]
test al, al
je 0x18001ab80
mov edi, 0x31
nop
mov eax, edi
sub eax, 0x2e
je 0x18001ab62
sub eax, 1
je 0x18001ab55
sub eax, 1
je 0x18001ab41
cmp eax, 1
jne 0x18001ab72
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r12d, eax
jmp 0x18001ab72
mov r9, r14
xor r8d, r8d
xor edx, edx
mov ecx, 0xd4
call fcn.18001b7d0
jmp 0x18001ab72
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, eax
sub esi, r12d
jmp 0x18001ab72
mov eax, 0x10624dd3
mul esi
mov esi, edx
shr esi, 6
call qword [r14 + 0x50]
dec edi
cmp edi, 0x2d
ja 0x18001ab20
mov edi, dword [rsp + 0x98]
mov rax, qword [0x180106c18]
xor r9d, r9d
mov qword [rsp + 0x28], 0
xor r8d, r8d
mov edx, 0xfc
mov qword [rsp + 0x20], rax
xor ecx, ecx
call fcn.18008d6d0
add r15d, 0x31
cmp r15d, edi
jb 0x18001a940
jmp 0x18001a972