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

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x2e0
mov qword [rsp + 0x78], 0xfffffffffffffffe
mov qword [rsp + 0x328], rbx
mov rax, qword [0x1801aef28]
xor rax, rsp
mov qword [rsp + 0x2d0], rax
mov qword [rsp + 0x60], r9
mov dword [rsp + 0x54], r8d
mov r12d, edx
mov r13, rcx
mov r10, qword [rsp + 0x340]
mov qword [rsp + 0x58], r10
mov r8, qword [rsp + 0x348]
mov qword [rsp + 0x70], r8
mov rdx, qword [rsp + 0x350]
mov qword [rsp + 0x68], rdx
test rcx, rcx
jne 0x18005d5e9
xor eax, eax
jmp 0x18005d948
xor r15d, r15d
xor eax, eax
or rbp, 0xffffffffffffffff
mov rcx, rbp
mov rdi, r13
repne scasw ax, word [rdi]
not rcx
lea r14, [rcx - 1]
mov dword [rsp + 0x50], r15d
test r12d, r12d
je 0x18005d634
lea rax, [rdx + 4]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r8
xor r9d, r9d
xor r8d, r8d
mov rdx, r10
mov rcx, r13
call fcn.18006adf0
mov dword [rsp + 0x50], eax
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, eax
mov r8d, 1
lea rdx, [0x1801d1aa0]
lea rcx, [rsp + 0x80]
call fcn.180087860
nop
lea rcx, [0x1801d1b70]
call fcn.18005b8c0
mov edi, eax
sub edi, 1
js 0x18005d6ac
nop word [rax + rax]
mov edx, edi
lea rcx, [0x1801d1b70]
call fcn.18005d0b0
mov ecx, dword [rax + 0x220]
cmp esi, ecx
jb 0x18005d693
mov eax, esi
sub eax, ecx
cmp eax, 0x2710
jbe 0x18005d6a7
mov r8d, 1
mov edx, edi
lea rcx, [0x1801d1b70]
call fcn.18005d0c0
sub edi, 1
jns 0x18005d670
lea rcx, [0x1801d1b70]
call fcn.18005b8c0
mov ebx, eax
sub ebx, 1
js 0x18005d75e
nop word [rax + rax]
mov edx, ebx
lea rcx, [0x1801d1b70]
call fcn.18005d0b0
mov rdx, rax
xor eax, eax
mov rcx, rbp
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
dec rcx
cmp r14, rcx
jne 0x18005d706
mov r8, r14
mov rcx, r13
call fcn.1800a256c
test eax, eax
je 0x18005d70d
sub ebx, 1
js 0x18005d75e
jmp 0x18005d6d0
mov edx, ebx
lea rcx, [0x1801d1b70]
call fcn.18005d0b0
sub esi, dword [rax + 0x220]
cmp esi, dword [rsp + 0x54]
jae 0x18005d75e
mov ebp, ebx
test r12d, r12d
je 0x18005d78d
cmp dword [0x1801df0a0], 0
je 0x18005d75e
mov eax, dword [rax + 0x21c]
mov dword [rsp + 0x20], eax
lea r9, str.CBaseFileCtrl::CheckFilterCache_2_1___d_
lea r8, str.FileCtrl
or edx, 0xffffffff
lea rcx, [0x1801de7b8]
call fcn.18008da50
test r12d, r12d
je 0x18005d78d
cmp dword [0x1801df0a0], 0
je 0x18005d78d
mov dword [rsp + 0x20], ebp
lea r9, str.CBaseFileCtrl::CheckFilterCache_2_2___d_
lea r8, str.FileCtrl
or edx, 0xffffffff
lea rcx, [0x1801de7b8]
call fcn.18008da50
test ebp, ebp
js 0x18005d938
lea rcx, [0x1801d1b70]
call fcn.18005b8c0
cmp ebp, eax
jge 0x18005d938
mov r8d, ebp
lea rdx, [rsp + 0xa0]
lea rcx, [0x1801d1b70]
call fcn.18005b8d0
test r12d, r12d
je 0x18005d823
cmp dword [0x1801df0a0], 0
je 0x18005d82e
mov rax, qword [rsp + 0x2a8]
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0x2b0]
mov dword [rsp + 0x38], eax
mov rbx, qword [rsp + 0x58]
mov eax, dword [rbx]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x2bc]
mov dword [rsp + 0x28], eax
mov edi, dword [rsp + 0x50]
mov dword [rsp + 0x20], edi
lea r9, str.CBaseFileCtrl::CheckFilterCache_2_3___d____d____08x____08x____I64u____I64u_
lea r8, str.FileCtrl
or edx, 0xffffffff
lea rcx, [0x1801de7b8]
call fcn.18008da50
jmp 0x18005d837
mov edi, dword [rsp + 0x50]
mov rbx, qword [rsp + 0x58]
jmp 0x18005d837
mov edi, dword [rsp + 0x50]
mov rbx, qword [rsp + 0x58]
test edi, edi
je 0x18005d8dd
mov eax, dword [rsp + 0x2b0]
xor eax, dword [rbx]
test al, 0x10
jne 0x18005d938
mov rax, qword [rsp + 0x2a8]
mov rdx, qword [rsp + 0x68]
cmp qword [rdx], rax
jne 0x18005d938
lea rdx, [rsp + 0x2b4]
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_CompareFileTime]
test eax, eax
jne 0x18005d938
test r12d, r12d
je 0x18005d8ab
cmp dword [0x1801df0a0], eax
je 0x18005d8ab
lea r9, str.CBaseFileCtrl::CheckFilterCache_2_4
lea r8, str.FileCtrl
or edx, 0xffffffff
lea rcx, [0x1801de7b8]
call fcn.18008da50
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, eax
mov edx, ebp
lea rcx, [0x1801d1b70]
call fcn.18005d0b0
mov dword [rax + 0x220], edi
mov eax, dword [rsp + 0x2bc]
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov r15d, 1
jmp 0x18005d938
test r12d, r12d
je 0x18005d908
cmp dword [0x1801df0a0], 0
je 0x18005d908
lea r9, str.CBaseFileCtrl::CheckFilterCache_2_5
lea r8, str.FileCtrl
or edx, 0xffffffff
lea rcx, [0x1801de7b8]
call fcn.18008da50
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, eax
mov edx, ebp
lea rcx, [0x1801d1b70]
call fcn.18005d0b0
mov dword [rax + 0x220], edi
mov eax, dword [rsp + 0x2bc]
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
mov r15d, 1
lea rcx, [rsp + 0x80]
call fcn.1800878e0
mov eax, r15d
mov rcx, qword [rsp + 0x2d0]
xor rcx, rsp
call fcn.1800a1220
mov rbx, qword [rsp + 0x328]
add rsp, 0x2e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret