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

Disassembly:
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov rbp, rdx
mov r14, rcx
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r8d, dword [rbp]
mov r12d, eax
mov dword [rsp + 0x80], eax
add r8d, 0x12c
cmp r8d, eax
jae 0x18002b732
lea r13, [rbp + 8]
mov rsi, qword [r13]
cmp rsi, r13
je 0x18002b5b9
mov rbx, rsi
mov rsi, qword [rsi]
xor r12d, r12d
xor r14d, r14d
cmp dword [rbx + 0x98], r12d
jbe 0x18002b59e
lea r15, [rbx + 0xa8]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea rbp, [rbx + 0xf8]
mov rdi, qword [rbp]
cmp rdi, rbp
je 0x18002b574
cmp byte [rdi + 0x14], 0
je 0x18002b473
test r12d, r12d
je 0x18002b445
mov ecx, dword [rdi + 0x10]
lea eax, [r12 + 1]
cmp eax, ecx
je 0x18002b445
sub ecx, r12d
lea r14d, [r14 + rcx - 1]
mov r12d, dword [rdi + 0x10]
movzx r15d, byte [rdi + 0x14]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, dword [rbx + 0xd8]
imul edx, r15d
add edx, dword [rdi + 0x18]
cmp edx, eax
jb 0x18002b4d0
cmp r15b, 1
ja 0x18002b473
mov rdi, qword [rdi]
cmp rdi, rbp
jne 0x18002b426
mov eax, 3
cmp r14d, eax
jb 0x18002b56d
mov r8, qword [rbp]
cmp r8, rbp
je 0x18002b56d
cmp byte [r8 + 0x14], 1
mov r14, qword [rsp + 0x70]
jne 0x18002b4c4
mov ecx, dword [rbx + 0xdc]
mov eax, dword [rbx + 0x98]
mov rdx, rbx
shr ecx, 1
cmp eax, ecx
cmova ecx, eax
mov dword [rbx + 0xdc], ecx
mov dword [rbx + 0xe4], ecx
mov rcx, r14
call fcn.180029908
lea r15, [rbx + 0xa8]
jmp 0x18002b579
mov r9d, dword [rbx + 0xdc]
mov r10d, dword [rbx + 0x98]
movzx r8d, byte [rdi + 0x14]
xor edx, edx
mov eax, r9d
mov ebp, 3
div r10d
cmp eax, ebp
cmovb eax, ebp
cmp r8d, eax
jbe 0x18002b533
lea rcx, [rbx + 0xa8]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r14, qword [rsp + 0x70]
sub eax, dword [rdi + 0x18]
cmp eax, 0x2710
jbe 0x18002b5a3
mov r8d, 0x274c
mov rdx, rbx
mov rcx, r14
call fcn.18002a620
jmp 0x18002b5a3
mov r14, qword [rsp + 0x70]
shr r9d, 1
mov r8, rdi
cmp r10d, r9d
mov rdx, rbx
mov rcx, r14
cmova r9d, r10d
mov dword [rbx + 0xdc], r10d
mov dword [rbx + 0xe4], r9d
call fcn.180029908
lea rcx, [rbx + 0xa8]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x18002b5a3
lea r15, [rbx + 0xa8]
mov r14, qword [rsp + 0x70]
cmp dword [rbx + 0xe0], 0
jne 0x18002b599
cmp dword [rbx + 0xf0], 0
je 0x18002b599
xor r8d, r8d
mov rdx, rbx
mov rcx, r14
call fcn.180029908
mov rcx, r15
jmp 0x18002b565
mov r14, qword [rsp + 0x70]
cmp rsi, r13
jne 0x18002b3e9
mov rbp, qword [rsp + 0x78]
mov r12d, dword [rsp + 0x80]
lea rdi, [rbp + 0x28]
mov r13d, 0xbb8
mov rbx, qword [rdi]
jmp 0x18002b604
lea r8, [rbx - 0x10]
mov ecx, dword [r8 + 0x134]
test ecx, ecx
je 0x18002b601
mov eax, r12d
sub eax, ecx
cmp eax, r13d
jbe 0x18002b601
mov rax, qword [r8 + 0x148]
test rax, rax
je 0x18002b601
mov rdx, qword [rax + 0x168]
test rdx, rdx
je 0x18002b601
mov rcx, r14
call fcn.18002abc0
mov rbx, qword [rbx]
cmp rbx, rdi
jne 0x18002b5c8
lea rdi, [rbp + 0x18]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x18002b72e
mov esi, 0x10
or r15d, 0xffffffff
lea r9d, [rsi + 0xc]
movzx r8d, word [rbx + 0x144]
mov edx, r12d
mov rcx, rbx
sub edx, dword [rbx + 0x140]
lea eax, [r8 + 1]
imul eax, eax, 0x2710
cmp edx, eax
jbe 0x18002b6af
add r8w, 1
cmp r8w, 1
mov word [rbx + 0x144], r8w
jbe 0x18002b66a
mov rbx, qword [rbx + 8]
call fcn.18002aafc
jmp 0x18002b71c
cmp dword [rbx + 0x13c], 2
jne 0x18002b722
lea rdx, [rbx + 0x20]
cmp word [rdx], 2
jne 0x18002b686
mov r8d, esi
jmp 0x18002b691
cmp word [rdx], 0x17
mov r8d, r15d
cmove r8d, r9d
and dword [rsp + 0x28], 0
lea r9, [rbx + 0x150]
mov rcx, r14
mov dword [rsp + 0x20], 1
call fcn.1800301cc
jmp 0x18002b71c
mov ecx, dword [rbx + 0x134]
test ecx, ecx
je 0x18002b722
mov eax, r12d
sub eax, ecx
cmp eax, r13d
jbe 0x18002b722
lea rdx, [rbx + 0x20]
cmp word [rdx], 2
jne 0x18002b6d2
mov r8d, esi
jmp 0x18002b6dd
cmp word [rdx], 0x17
mov r8d, r15d
cmove r8d, r9d
and dword [rsp + 0x28], 0
lea r9, [rbx + 0x150]
mov rcx, r14
mov dword [rsp + 0x20], 1
call fcn.1800301cc
mov rdx, qword [rbx + 0x148]
test rdx, rdx
je 0x18002b71c
mov rdx, qword [rdx + 0x168]
test rdx, rdx
je 0x18002b71c
mov r8, rbx
mov rcx, r14
call fcn.18002abc0
mov r9d, 0x1c
mov rbx, qword [rbx]
cmp rbx, rdi
jne 0x18002b626
mov dword [rbp], r12d
mov rbx, qword [rsp + 0x88]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret