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

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
sub rsp, 0x80
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov r12, rdx
mov rbx, rcx
xor r13d, r13d
cmp dword [rcx + 0x58], r13d
jne 0x100042694
xor eax, eax
jmp 0x100042962
mov dil, r13b
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, eax
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, esi
mov ebp, 0x1f4
cmp eax, ebp
jae 0x10004272f
movsxd rcx, dword [rbx + 0x70]
cmp ecx, r13d
jl 0x100042719
cmp ecx, dword [rbx + 0x58]
jge 0x100042719
mov rax, rcx
mov rcx, qword [rbx + 0x50]
mov rcx, qword [rcx + rax*8]
call qword [sym.imp.SHLWAPI.dll_PathFindExtensionW]
cmp rax, r13
je 0x1000426ea
lea rcx, [rax + 2]
lea rdx, [0x1000044b8]
call qword [sym.imp.msvcrt.dll__wcsicmp]
cmp eax, r13d
je 0x10004272f
mov rcx, rbx
call fcn.100043374
cmp eax, r13d
jl 0x100042712
mov eax, dword [rbx + 0x58]
cmp dword [rbx + 0x70], eax
je 0x10004270d
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, esi
cmp eax, ebp
jb 0x1000426b0
jmp 0x10004272f
mov dil, 1
jmp 0x10004272f
xor eax, eax
jmp 0x100042962
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 1]
mov ecx, 0xc000008c
call qword [sym.imp.KERNEL32.dll_RaiseException]
mov rbp, r13
or rsi, 0xffffffffffffffff
cmp dil, r13b
jne 0x1000427d0
mov rax, qword [rbx + 0x88]
cmp byte [rax + 0x1ba8], r13b
je 0x100042771
mov dword [rsp + 0xb0], r13d
lea rdx, [rsp + 0xb0]
mov rcx, rbx
call fcn.1000429f0
movsxd rbp, dword [rsp + 0xb0]
jmp 0x1000427d0
mov byte [rbx + 0x40], 1
cmp qword [rbx + 0x28], r13
jne 0x100042799
call fcn.100016b68
mov qword [rbx + 0x28], rax
cmp rax, r13
jne 0x100042799
mov ecx, 0xe
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rbp, rsi
jmp 0x1000427d0
lea rdx, [rbx + 0x10]
mov r8, rbx
lea rcx, [0x1000a1dc0]
call fcn.10000fc98
mov qword [rsp + 0x20], r13
lea r9, [0x10001bba0]
mov r8, r12
mov edx, 0x9bb
mov rcx, qword [0x1000a1d70]
call qword [sym.imp.USER32.dll_DialogBoxParamW]
mov rbp, rax
mov rax, qword [rbx + 0x88]
cmp byte [rax + 0x478], r13b
je 0x1000428f4
cmp byte [rax + 0x3b1], r13b
jne 0x1000428f4
mov byte [rax + 0x478], r13b
lea rcx, [rsp + 0x58]
call fcn.100042078
nop
mov dword [rsp + 0x6c], 0xf7bd
mov byte [rsp + 0x70], 1
lea rdx, [0x100002dec]
lea rcx, [rsp + 0xc8]
call fcn.100017e84
nop
mov rdx, qword [rbx + 0x88]
lea rax, [rsp + 0xc8]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], 0xf7bc
mov r9d, 0xf7bb
mov r8d, 0xf692
mov rdx, qword [rdx + 8]
lea rcx, [rsp + 0x58]
call fcn.1000420cc
mov edi, eax
mov rcx, qword [rsp + 0xc8]
add rcx, 0xfffffffffffffff4
lea rax, [0x1000a1170]
cmp rcx, rax
je 0x100042899
mov edx, esi
lock xadd dword [rcx], edx
add edx, esi
cmp edx, r13d
jg 0x100042899
call fcn.10007a490
cmp edi, r13d
jge 0x1000428af
lea rcx, [rsp + 0x58]
call fcn.1000420a4
xor eax, eax
jmp 0x100042962
cmp byte [rsp + 0x70], r13b
je 0x1000428ea
mov rax, qword [rbx + 0x88]
mov byte [rax + 0x3b1], 1
mov rcx, qword [rbx + 0x88]
add rcx, 0x328
call fcn.1000656dc
cmp eax, r13d
jge 0x1000428ea
lea rcx, [rsp + 0x58]
call fcn.1000420a4
xor eax, eax
jmp 0x100042962
lea rcx, [rsp + 0x58]
call fcn.1000420a4
lea rdi, [rbx + 0x150]
mov qword [rsp + 0x48], rdi
mov sil, r13b
mov byte [rsp + 0x50], r13b
cmp rdi, r13
je 0x10004291e
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov sil, 1
mov byte [rsp + 0x50], sil
mov rcx, rbx
call fcn.100043794
cmp eax, r13d
jge 0x100042947
cmp sil, r13b
je 0x100042943
cmp rdi, r13
je 0x100042943
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov byte [rsp + 0x50], r13b
xor eax, eax
jmp 0x100042962
cmp sil, r13b
je 0x10004295f
cmp rdi, r13
je 0x10004295f
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov byte [rsp + 0x50], r13b
mov rax, rbp
mov rbx, qword [rsp + 0xb8]
add rsp, 0x80
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret