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

Disassembly:
push rbx
push rsi
push r12
push r13
push r15
sub rsp, 0x40
mov rsi, qword [rcx + 0x18]
mov r12d, r9d
mov r15, r8
mov r13, rdx
mov rbx, rcx
test rsi, rsi
jne 0x1800d74d8
mov dword [rcx + 0x64], 0xf0000001
xor eax, eax
add rsp, 0x40
pop r15
pop r13
pop r12
pop rsi
pop rbx
ret
mov rcx, rsi
mov qword [rsp + 0x70], rbp
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
lea rcx, [rbx + 0x20]
call fcn.1800e4460
cmp eax, 0x24
jae 0x1800d750f
mov rbp, qword [rsp + 0x70]
mov dword [rbx + 0x64], 0xf0000005
xor eax, eax
add rsp, 0x40
pop r15
pop r13
pop r12
pop rsi
pop rbx
ret
mov rcx, qword [rbx + 0x58]
mov edx, 2
mov qword [rsp + 0x78], rdi
call fcn.1800d6de0
mov rdi, rax
test rax, rax
jne 0x1800d7536
mov dword [rbx + 0x64], 0xf0000002
jmp 0x1800d7747
xor eax, eax
mov qword [rsp + 0x80], r14
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], rax
mov rax, qword [rbx + 0x50]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rdi
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r14d, eax
mov rcx, qword [rbx + 8]
xor r8d, r8d
lea rdx, [rsp + 0x20]
mov qword [rsp + 0x30], rcx
lea ecx, [r8 + 3]
mov r9d, r12d
call qword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
cmp eax, 2
jne 0x1800d76f5
lea rdx, [rsp + 0x20]
lea ecx, [rax + 1]
mov r9d, r12d
xor r8d, r8d
mov qword [rsp + 0x30], rsi
call qword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
cmp eax, 2
jne 0x1800d76b3
lea rcx, [rbx + 0x20]
call fcn.1800e4470
cmp eax, 0x24
jae 0x1800d75fc
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1800d75c7
call qword [sym.imp.KERNEL32.dll_ResetEvent]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, r14d
cmp eax, r12d
jbe 0x1800d7561
mov rcx, rdi
mov dword [rbx + 0x64], 0xf0000003
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1800d773d
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rbx + 0x20]
mov r8d, 0x24
mov rdx, r13
call fcn.1800e4680
lea rcx, [rbx + 0x20]
mov edi, eax
call fcn.1800e4470
cmp dword [r13 + 0x20], eax
jbe 0x1800d763e
lea rcx, [rbx + 0x20]
call fcn.1800e4470
mov dword [r13 + 0x20], eax
mov ecx, dword [r13 + 0x20]
test ecx, ecx
je 0x1800d766c
test r15, r15
je 0x1800d765d
call fcn.1800a1b44
mov qword [r15], rax
test rax, rax
je 0x1800d765d
mov rdx, rax
jmp 0x1800d765f
xor edx, edx
mov r8d, dword [r13 + 0x20]
lea rcx, [rbx + 0x20]
call fcn.1800e4680
test edi, edi
jle 0x1800d767f
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x1800d767f
call qword [sym.imp.KERNEL32.dll_SetEvent]
lea rcx, [rbx + 0x20]
call fcn.1800e4470
test eax, eax
jne 0x1800d769b
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1800d769b
call qword [sym.imp.KERNEL32.dll_ResetEvent]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
xor eax, eax
test edi, edi
mov dword [rbx + 0x64], eax
setg al
jmp 0x1800d773f
cmp eax, 1
jne 0x1800d76c1
mov dword [rbx + 0x64], 0xf0000002
jmp 0x1800d76d8
cmp eax, 0x102
jne 0x1800d76d1
mov dword [rbx + 0x64], 0xf0000003
jmp 0x1800d76d8
mov dword [rbx + 0x64], 0xf0000001
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
jmp 0x1800d772c
cmp eax, 1
jne 0x1800d7703
mov dword [rbx + 0x64], 0xf0000002
jmp 0x1800d771a
cmp eax, 0x102
jne 0x1800d7713
mov dword [rbx + 0x64], 0xf0000003
jmp 0x1800d771a
mov dword [rbx + 0x64], 0xf0000001
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [rbx + 0x64], 0xf0000003
je 0x1800d773d
mov rcx, rbx
call fcn.1800d6930
xor eax, eax
mov r14, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x70]
add rsp, 0x40
pop r15
pop r13
pop r12
pop rsi
pop rbx
ret