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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r14
push rbp
lea rbp, [rax - 0x108]
sub rsp, 0x200
mov rax, qword [0x1402338a8]
xor rax, rsp
mov qword [rbp + 0xf0], rax
mov rdi, qword [rbp + 0x108]
lea rcx, [0x1402cc640]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov rbx, qword [0x1402ccae8]
xor r14d, r14d
test rbx, rbx
je 0x14004ffc7
cmp qword [rbx], rdi
je 0x14004ffc2
cmp dword [rbx + 8], r14d
jne 0x14004ffc2
mov rbx, qword [rbx + 0x18]
test rbx, rbx
jne 0x14004ffae
test rbx, rbx
jne 0x140050013
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
xor edx, edx
mov rcx, rax
lea r8d, [rdx + 0x20]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rbx, rax
test rax, rax
je 0x140050205
mov qword [rax], rdi
mov dword [rax + 8], r14d
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov rcx, qword [0x1402ccae8]
sub eax, 0xea61
mov dword [rbx + 0xc], eax
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], rcx
mov qword [0x1402ccae8], rbx
inc dword [rbx + 0x10]
inc dword [rbx + 0x14]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [rbx + 0xc]
cmp eax, 0xea60
jbe 0x140050205
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rbx + 0xc], eax
lea r9, [rsp + 0x34]
lea rax, [rsp + 0x30]
lea rdx, [rbp - 0x20]
mov qword [rsp + 0x20], rax
call fcn.140050240
mov esi, eax
test eax, eax
je 0x140050075
lea rax, [0x140000000]
cmp rdi, rax
jb 0x140050075
mov edx, dword [rsp + 0x30]
add rdx, rax
cmp rdx, rax
jbe 0x140050075
cmp rdi, rdx
ja 0x140050075
sub edi, eax
jmp 0x140050078
mov edi, r14d
lea rcx, [0x14022f0c0]
mov dword [rsp + 0x44], edi
call fcn.140001088
cmp dword [0x14022f0c0], 5
jbe 0x1400501a5
movabs rdx, 0x400000000000
test qword [0x14022f0d0], rdx
je 0x1400501a5
mov rax, qword [0x14022f0d8]
and rax, rdx
cmp rax, qword [0x14022f0d8]
jne 0x1400501a5
lea rax, [rsp + 0x38]
mov dword [rsp + 0x38], 6
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x44]
mov qword [rbp - 0x80], rax
mov eax, esi
neg eax
mov qword [rsp + 0x78], 4
lea rax, [rsp + 0x34]
mov qword [rbp - 0x78], 4
sbb ecx, ecx
mov qword [rbp - 0x70], rax
and dword [rsp + 0x34], ecx
mov eax, esi
neg eax
mov qword [rbp - 0x68], 4
lea rax, [rsp + 0x30]
mov qword [rbp - 0x58], 4
sbb ecx, ecx
mov qword [rbp - 0x60], rax
and dword [rsp + 0x30], ecx
lea rax, str._unknown_
test esi, esi
lea rcx, [rbp - 0x20]
cmove rcx, rax
or rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], r14b
jne 0x14005013a
inc eax
mov qword [rbp - 0x50], rcx
mov dword [rbp - 0x48], eax
mov eax, dword [rbx + 0x10]
mov dword [rsp + 0x3c], eax
lea rax, [rsp + 0x3c]
mov qword [rbp - 0x40], rax
mov eax, dword [rbx + 0x14]
mov dword [rsp + 0x40], eax
lea rax, [rsp + 0x40]
mov qword [rbp - 0x30], rax
mov dword [rbp - 0x44], r14d
mov qword [rbp - 0x38], 4
mov qword [rbp - 0x28], 4
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea rdx, [0x1401ead76]
lea rcx, [0x14022f0c0]
mov dword [rsp + 0x20], 9
call fcn.140001128
mov rcx, qword [0x14022f0e0]
call qword [sym.imp.ADVAPI32.dll_EventUnregister]
mov qword [0x14022f0e0], r14
mov dword [0x14022f0c0], r14d
cmp dword [rbx + 0x14], 1
mov dword [rbx + 0x10], r14d
jne 0x140050205
lea rcx, [0x14022f088]
call fcn.140001088
cmp dword [0x14022f088], r14d
jbe 0x1400501ea
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [0x14022f0a8]
call qword [sym.imp.ADVAPI32.dll_EventUnregister]
mov qword [0x14022f0a8], r14
mov dword [0x14022f088], r14d
lea rcx, [0x1402cc640]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rcx, qword [rbp + 0xf0]
xor rcx, rsp
call fcn.140154030
lea r11, [rsp + 0x200]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret