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

Disassembly:
mov r11, rsp
mov qword [r11 + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov edi, dword [rcx + 0x54]
mov eax, dword [rcx + 0x100]
xor r13d, r13d
cmp edi, r13d
mov dword [r11 + 8], r13d
xchg dword [r11 + 8], eax
mov ebp, r8d
mov r12, rdx
mov rbx, rcx
mov dword [r11 + 0x20], r13d
mov esi, r13d
lea r14d, [r13 + 1]
jle 0x1800108d8
mov eax, dword [rcx + 0x58]
cmp eax, r13d
jl 0x1800108d8
cmp edi, eax
jle 0x1800108d8
sub edi, eax
mov r15d, 0x400
cmp edi, r13d
jle 0x180010571
call fcn.1800103d0
cmp eax, r13d
je 0x180010695
mov rcx, rbx
call fcn.180004280
cmp eax, r13d
je 0x180010617
movsxd rax, dword [rbx + 0x58]
cmp eax, dword [rbx + 0x50]
jg 0x180010571
mov ecx, dword [rbx + 0x54]
sub ecx, eax
cmp ecx, r13d
jle 0x180010571
cmp qword [rbx + 0x48], r13
je 0x180010571
add rax, qword [rbx + 0x48]
cmp ecx, r15d
lea rdx, [rbx + 0xb8]
cmovg ecx, r15d
mov qword [rsp + 0x30], r13
lea r9, [rsp + 0x98]
mov dword [rdx], ecx
mov r8d, r14d
mov rcx, r12
mov qword [rsp + 0x28], r13
mov qword [rbx + 0xc0], rax
mov dword [rsp + 0x98], r13d
mov dword [rsp + 0x20], r13d
call qword [0x180099ce8]
cmp eax, 0xffffffff
je 0x1800105a9
mov eax, dword [rsp + 0x98]
cmp eax, r13d
jbe 0x180010568
add dword [rbx + 0x58], eax
sub edi, eax
add esi, eax
sub dword [rbx + 0x108], eax
lock add dword [0x18009b610], 0xffffffff
cmp edi, r13d
jne 0x1800104b7
mov eax, esi
lock xadd dword [0x18009b600], eax
mov ecx, esi
lock xadd dword [0x18009b608], ecx
lea rcx, [0x18009af78]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, esi
cmp ebp, r13d
je 0x180010722
add qword [rbx + 0x178], rax
jmp 0x180010729
call qword [0x18009ad70]
cmp eax, 0x2733
je 0x1800105d5
mov eax, 5
cmp ebp, r13d
jne 0x1800105c5
mov eax, 4
xchg dword [rbx + 0x188], eax
mov rcx, qword [rbx]
call fcn.18000938c
jmp 0x1800105df
mov edx, ebp
mov rcx, rbx
call fcn.18000c854
lea rcx, [0x18009af78]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, esi
cmp ebp, r13d
je 0x1800105fc
add qword [rbx + 0x178], rax
jmp 0x180010603
add qword [rbx + 0x180], rax
lea rcx, [0x18009af78]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor eax, eax
jmp 0x180010974
cmp dword [rsp + 0x80], r13d
jne 0x180010971
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, 0x3e8
sub eax, dword [rbx + 0x10c]
cmp eax, ecx
jae 0x180010971
sub ecx, eax
mov edx, ecx
mov rcx, rbx
call fcn.180009370
cmp eax, r13d
je 0x180010658
mov eax, r14d
xchg dword [rbx + 0x100], eax
mov ecx, dword [rbx + 0xd4]
cmp ebp, r13d
je 0x18001067e
mov eax, 4
test al, cl
jne 0x180010971
lea eax, [rcx + 4]
mov dword [rbx + 0xd4], eax
jmp 0x180010971
test cl, 8
jne 0x180010971
add ecx, 8
mov dword [rbx + 0xd4], ecx
jmp 0x180010971
cmp dword [rsp + 0x80], r13d
jne 0x180010971
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, 0x3e8
mov r11d, eax
sub r11d, dword [0x18009b61c]
cmp r11d, ecx
jbe 0x1800106d1
mov eax, 0x10624dd3
mul r11d
shr edx, 6
imul edx, edx, 0xfffffc18
add r11d, edx
mov edx, ecx
mov eax, 0xa
sub edx, r11d
cmove edx, eax
cmp edx, ecx
ja 0x180010971
mov rcx, rbx
call fcn.180009370
cmp eax, r13d
je 0x1800106fc
mov eax, r14d
xchg dword [rbx + 0x100], eax
cmp ebp, r13d
je 0x18001070c
mov ecx, dword [rbx + 0xd4]
jmp 0x180010663
mov eax, dword [rbx + 0xd4]
test al, 8
jne 0x180010971
add eax, 8
jmp 0x180010673
add qword [rbx + 0x180], rax
lea rcx, [0x18009af78]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov r11d, dword [rbx + 0x54]
cmp dword [rbx + 0x58], r11d
jne 0x180010971
cmp dword [rbx + 0x110], r13d
je 0x1800107f8
mov eax, 4
cmp dword [rbx + 0x60], eax
jne 0x1800107f8
add dword [rbx + 0x114], r14d
cmp dword [rbx + 0x114], 8
movsxd r8, dword [rbx + 0x50]
mov rcx, qword [rbx + 0x48]
mov dword [rbx + 0x58], r13d
jae 0x18001079e
lea edx, [rax + 0x3d]
call fcn.180052810
mov r11d, dword [rbx + 0x50]
mov dword [rbx + 0x54], r11d
mov r8, qword [rbx]
mov r9d, 2
mov edx, 0x401
jmp 0x180010964
xor edx, edx
call fcn.180052810
movsxd r8, dword [rbx + 0x50]
mov rcx, qword [rbx + 0x48]
lea rdx, [0x180069150]
call fcn.180052a80
lea rcx, [0x180069150]
call fcn.1800529c0
mov rdx, qword [rbx + 0x48]
mov rcx, qword [rbx]
mov r8d, eax
mov dword [rbx + 0x54], eax
call fcn.1800049b4
cmp eax, dword [rbx + 0x54]
jne 0x18001078b
movsxd r8, dword [rbx + 0x50]
mov rcx, qword [rbx + 0x48]
xor edx, edx
mov dword [rbx + 0x58], r13d
mov dword [rbx + 0x54], r13d
call fcn.180052810
jmp 0x180010971
movsxd r8, dword [rbx + 0x50]
mov rcx, qword [rbx + 0x48]
xor edx, edx
mov dword [rbx + 0x58], r13d
mov dword [rbx + 0x54], r13d
call fcn.180052810
mov ecx, dword [rbx + 0xd4]
cmp ecx, r13d
je 0x18001089f
mov eax, ecx
and eax, r14d
je 0x18001084d
test cl, 2
je 0x18001084d
mov eax, dword [rbx + 0x174]
mov r9, r14
cmp dword [rbx + 0x170], eax
jl 0x180010848
mov r8, qword [rbx]
lea eax, [rcx - 1]
mov edx, 0x401
jmp 0x18001088c
lea eax, [rcx - 2]
jmp 0x180010883
cmp eax, r13d
je 0x180010873
mov r8, qword [rbx]
lea eax, [rcx - 1]
mov r9, r14
mov dword [rbx + 0xd4], eax
mov rcx, qword [0x18009b458]
mov edx, 0x401
call qword [sym.imp.USER32.dll_PostMessageA]
mov eax, dword [rbx + 0xd4]
test al, 2
je 0x18001089f
add eax, 0xfffffffe
mov r9, r14
mov r8, qword [rbx + 8]
mov edx, 0x402
mov dword [rbx + 0xd4], eax
mov rcx, qword [0x18009b458]
call qword [sym.imp.USER32.dll_PostMessageA]
cmp dword [rbx + 0xd0], r13d
je 0x180010971
mov edx, r14d
cmp ebp, r13d
je 0x1800108d3
mov rcx, qword [rbx + 8]
call fcn.1800042e4
cmp eax, r13d
jne 0x180010971
mov rcx, qword [rbx]
call fcn.18000938c
jmp 0x180010610
mov rcx, qword [rbx]
jmp 0x1800108b8
cmp dword [rcx + 0x58], edi
jne 0x180010971
mov ecx, dword [rcx + 0xd4]
cmp ecx, r13d
je 0x180010971
mov eax, ecx
and eax, r14d
je 0x18001091f
test cl, 2
je 0x18001091f
mov eax, dword [rbx + 0x174]
mov r9, r14
cmp dword [rbx + 0x170], eax
jl 0x18001091a
mov r8, qword [rbx]
lea eax, [rcx - 1]
mov edx, 0x401
jmp 0x18001095e
lea eax, [rcx - 2]
jmp 0x180010955
cmp eax, r13d
je 0x180010945
mov r8, qword [rbx]
lea eax, [rcx - 1]
mov r9, r14
mov dword [rbx + 0xd4], eax
mov rcx, qword [0x18009b458]
mov edx, 0x401
call qword [sym.imp.USER32.dll_PostMessageA]
mov eax, dword [rbx + 0xd4]
test al, 2
je 0x180010971
add eax, 0xfffffffe
mov r9, r14
mov r8, qword [rbx + 8]
mov edx, 0x402
mov dword [rbx + 0xd4], eax
mov rcx, qword [0x18009b458]
call qword [sym.imp.USER32.dll_PostMessageA]
mov eax, r14d
mov rbx, qword [rsp + 0x88]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret