Function at 0x14000d890
Capabilities:
Check for time delay via queryperformancecounter
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x18], r8
push rbp
push rsi
push r12
push r13
push r14
lea rbp, [rsp - 0x40]
sub rsp, 0x140
mov rsi, rdx
mov r8, rdx
mov rdx, r9
mov r14, r9
mov r13, rcx
call fcn.14002f840
test al, al
jne 0x14000d9db
cmp qword [0x14008e868], 0
je 0x14000d9bc
lea rcx, [0x14008e870]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [0x14008e89c]
lea rcx, [rbp - 0x50]
add eax, 0x10
xor r12d, r12d
mov dword [rbp + 0x28], eax
mov rax, qword [rsi + 8]
mov dword [rbp + 0x2c], r12d
lea r9d, [r12 + 5]
lea r8d, [r12 + 4]
mov edx, dword [rax + 0x8c]
mov dword [rbp + 0x80], edx
lea rdx, [rbp + 0x80]
call fcn.140022e90
lea rcx, [0x14008e870]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea rcx, [rbp + 0x90]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x14000e216
mov rax, qword [rbp + 0x90]
xor edx, edx
sub rax, qword [0x14008eac8]
xorps xmm0, xmm0
imul rax, rax, 0xf4240
div qword [0x14008eac0]
mov rbx, rax
add rbx, qword [0x14008ead0]
mov rcx, rbx
sub rcx, qword [0x14008e8a0]
js 0x14000d982
cvtsi2sd xmm0, rcx
jmp 0x14000d997
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2sd xmm0, rax
addsd xmm0, xmm0
divsd xmm0, qword [0x140083220]
comisd xmm0, xmmword [0x140083200]
jbe 0x14000d9bc
mov rcx, qword [0x14008e868]
call fcn.14005342c
mov qword [0x14008e8a0], rbx
lock inc dword [0x14008cba0]
mov rdx, r14
mov rcx, rsi
call fcn.14000d650
movzx eax, al
xor eax, 1
inc eax
jmp 0x14000e1f1
movsxd rax, dword [r14 + 0x38]
lea rcx, [0x14007d7e6]
xor r12d, r12d
mov qword [rsp + 0x170], rdi
cmp byte [0x14008eab8], r12b
mov qword [rsp + 0x178], r15
mov qword [rsp + 0x48], r12
lea rbx, [r12 - 1]
mov qword [rbp + 0x90], r12
mov dword [rbp + 0x80], eax
mov qword [rsp + 0x60], rcx
je 0x14000dbcf
mov rdi, rax
shl rdi, 6
add rdi, qword [0x1400b70a0]
cmp dword [rdi + 0x38], 0x8000
mov byte [rdi + 0x3c], 1
jb 0x14000da66
lea r15, str.StoreTimestampsOfNonGeneratedInputFiles
mov r9d, eax
mov r8d, 0x8000
mov qword [rsp + 0x20], r15
lea rdx, str.profiler:_max_events___d__reached_on_thread__i___s_and_later_wont_be_recorded
lea ecx, [rbx + 3]
call fcn.140013a20
jmp 0x14000dbcf
movsxd rax, dword [rdi + 0x38]
lea rcx, [rsp + 0x58]
inc dword [rdi + 0x38]
lea r15, [rax + rax*4]
mov rax, qword [rdi + 0x30]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], r15
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x14000e223
mov rax, qword [rsp + 0x58]
xor edx, edx
sub rax, qword [0x14008eac8]
mov rcx, qword [rsp + 0x40]
imul rax, rax, 0xf4240
div qword [0x14008eac0]
mov edx, 0x20
add rax, qword [0x14008ead0]
mov qword [rcx + r15*8], rax
mov qword [rcx + r15*8 + 0x20], r12
lea r15, str.StoreTimestampsOfNonGeneratedInputFiles
mov rcx, r15
call fcn.140048fbc
mov qword [rsp + 0x58], rax
test rax, rax
je 0x14000db30
mov r8, rax
mov rdx, r15
sub r8, r15
mov rcx, rdi
call fcn.14001e6c0
mov rcx, qword [rsp + 0x40]
mov r8, rbx
mov r15, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
inc rdx
mov qword [rcx + r15*8 + 0x10], rax
nop dword [rax]
inc r8
cmp byte [rdx + r8], r12b
jne 0x14000db10
mov rcx, rdi
call fcn.14001e6c0
mov rcx, qword [rsp + 0x40]
mov qword [rcx + r15*8 + 0x18], rax
jmp 0x14000dbcf
mov rax, qword [rdi + 8]
mov rcx, rax
mov rdx, qword [rax + 0x18]
lea rax, [rdx + 0x28]
cmp rax, qword [rcx + 0x10]
jbe 0x14000db55
mov edx, 0x28
mov rcx, rdi
call fcn.140038a30
mov rdx, r12
mov rax, qword [rdi + 8]
lea rcx, [rdx + 0x28]
mov r15, qword [rsp + 0x50]
mov r8, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add r8, rdx
mov rax, qword [rdi + 8]
lea rcx, [0x14007d7e6]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov qword [rdi + 0x10], rdx
movups xmm0, xmmword [str.StoreTimestampsOfNonGeneratedInputFiles]
movups xmmword [r8], xmm0
movups xmm1, xmmword [0x14007efa8]
movups xmmword [r8 + 0x10], xmm1
mov eax, dword [0x14007efb8]
mov dword [r8 + 0x20], eax
movzx eax, word [0x14007efbc]
mov word [r8 + 0x24], ax
movzx eax, byte [0x14007efbe]
mov byte [r8 + 0x26], al
mov rax, qword [rsp + 0x40]
mov byte [r8 + 0x27], r12b
mov qword [rax + r15*8 + 0x10], r8
mov qword [rax + r15*8 + 0x18], rcx
lea rax, [rbp + 0x90]
mov r9, rsi
mov qword [rsp + 0x28], rax
lea rcx, [r14 + 0x48]
lea rax, [rsp + 0x48]
mov r8, r13
mov rdx, r14
mov qword [rsp + 0x20], rax
call fcn.14000d270
cmp byte [0x14008eab8], r12b
je 0x14000dc0b
mov ecx, dword [rbp + 0x80]
call fcn.14003df60
mov rax, qword [0x14008e8a8]
mov rdi, qword [rsp + 0x48]
cmp rdi, rax
jb 0x14000dcfa
call fcn.140028dc0
cmp rdi, rax
jne 0x14000df9a
cmp byte [0x14008eab8], r12b
movsxd rax, dword [r14 + 0x38]
mov dword [rbp + 0x80], eax
je 0x14000dc8b
mov rdi, rax
shl rdi, 6
add rdi, qword [0x1400b70a0]
cmp dword [rdi + 0x38], 0x8000
mov byte [rdi + 0x3c], 1
jb 0x14000ddf1
lea rdx, str.FileSystemWaitUntilFileModificationDateIsInThePast
mov r9d, eax
mov qword [rsp + 0x20], rdx
mov r8d, 0x8000
lea rdx, str.profiler:_max_events___d__reached_on_thread__i___s_and_later_wont_be_recorded
mov ecx, 2
call fcn.140013a20
mov rdi, qword [rsp + 0x48]
mov r15, qword [rbp + 0x90]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov r8, r15
lea rdx, str.Waiting_until_the_timestamp_of___s__is_in_the_past.
mov ecx, 3
call fcn.1400397a0
lea rcx, [r14 + 8]
mov r8, rsi
mov rdx, r15
call fcn.1400098d0
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
call fcn.140028dc0
cmp rdi, rax
jb 0x14000dce6
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
call fcn.140028dc0
cmp rdi, rax
jae 0x14000dcd1
cmp byte [0x14008eab8], r12b
je 0x14000dcfa
mov ecx, dword [rbp + 0x80]
call fcn.14003df60
xor bl, bl
lea rcx, [r14 + 8]
mov rdx, rsi
call fcn.140008a50
mov r8, rsi
mov rdx, r14
mov rcx, r13
call fcn.140042050
mov r15d, eax
cmp eax, 3
jne 0x14000dd34
mov rdx, r14
mov rcx, rsi
call fcn.14000d650
test al, al
mov edx, 5
cmove r15d, edx
test bl, bl
jne 0x14000dde8
lea rax, [rsp + 0x48]
mov qword [rbp + 0x80], r12
mov qword [rsp + 0x28], rax
lea rcx, [r14 + 0x48]
lea rax, [rsp + 0x70]
mov r8, rsi
lea r9, [rbp + 0x80]
mov qword [rsp + 0x20], rax
mov rdx, r13
call fcn.14000d470
test al, al
jne 0x14000dfe4
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rax, qword [rsi + 8]
lea rdx, str.Modification_date_of___s__changed_while_running___s_._Old_timestamp:__llu__new_timestamp:__llu
mov rdi, qword [rsp + 0x48]
add rax, 4
mov rbx, qword [rsp + 0x70]
mov ecx, 3
mov r8, qword [rbp + 0x80]
mov qword [rsp + 0x28], rdi
movsxd r9, dword [rax]
sub r12d, dword [rax]
add r9, rax
neg r12d
mov qword [rsp + 0x20], rbx
sbb rax, rax
and r9, rax
call fcn.1400397a0
mov rdx, qword [rbp + 0x90]
lea rcx, [r14 + 8]
mov r9, rbx
mov qword [rsp + 0x20], rdi
mov r8, rsi
call fcn.14000b8b0
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
or word [rsi], 0x40
jmp 0x14000e1de
movsxd rax, dword [rdi + 0x38]
lea rcx, [rsp + 0x58]
inc dword [rdi + 0x38]
lea r15, [rax + rax*4]
mov rax, qword [rdi + 0x30]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], r15
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x14000e230
mov rax, qword [rsp + 0x58]
xor edx, edx
sub rax, qword [0x14008eac8]
mov rcx, qword [rsp + 0x40]
imul rax, rax, 0xf4240
div qword [0x14008eac0]
mov edx, 0x20
add rax, qword [0x14008ead0]
mov qword [rcx + r15*8], rax
mov qword [rcx + r15*8 + 0x20], r12
lea rcx, str.FileSystemWaitUntilFileModificationDateIsInThePast
call fcn.140048fbc
mov r15, qword [rbp + 0x90]
mov qword [rsp + 0x58], rax
test rax, rax
je 0x14000dece
test r15, r15
jne 0x14000dece
mov r8, rax
lea rdx, str.FileSystemWaitUntilFileModificationDateIsInThePast
sub r8, rdx
mov rcx, rdi
call fcn.14001e6c0
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x50]
mov qword [rdx + rcx*8 + 0x10], rax
mov rdx, qword [rsp + 0x58]
inc rdx
inc rbx
cmp byte [rdx + rbx], r12b
jne 0x14000dea1
mov r8, rbx
mov rcx, rdi
call fcn.14001e6c0
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
mov qword [rdx + rcx*8 + 0x18], rax
jmp 0x14000dc92
mov rax, qword [rdi + 8]
mov rcx, rax
mov rdx, qword [rax + 0x18]
lea rax, [rdx + 0x33]
cmp rax, qword [rcx + 0x10]
jbe 0x14000def3
mov edx, 0x33
mov rcx, rdi
call fcn.140038a30
mov rdx, r12
mov rax, qword [rdi + 8]
lea rcx, [rdx + 0x33]
mov r8, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add r8, rdx
mov rax, qword [rdi + 8]
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov qword [rdi + 0x10], rdx
movups xmm0, xmmword [str.FileSystemWaitUntilFileModificationDateIsInThePast]
movups xmmword [r8], xmm0
movups xmm1, xmmword [0x14007efd0]
movups xmmword [r8 + 0x10], xmm1
movups xmm0, xmmword [0x14007efe0]
movups xmmword [r8 + 0x20], xmm0
movzx eax, word [0x14007eff0]
mov word [r8 + 0x30], ax
mov rax, qword [rsp + 0x50]
mov byte [r8 + 0x32], r12b
mov qword [rcx + rax*8 + 0x10], r8
test r15, r15
je 0x14000df86
nop dword [rax]
inc rbx
cmp byte [r15 + rbx], r12b
jne 0x14000df60
mov r8, rbx
mov rdx, r15
mov rcx, rdi
call fcn.14001e6c0
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x48]
mov qword [rcx + rax*8 + 0x18], rdx
jmp 0x14000dc92
jbe 0x14000dcfa
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov r8, qword [rbp + 0x90]
lea rdx, str.Cannot_trust_contents_of___s__because_its_timestamp_is_in_the_future.
mov ecx, 3
call fcn.1400397a0
mov rdx, qword [rbp + 0x90]
lea rcx, [r14 + 8]
mov r8, rsi
call fcn.14000a8c0
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov bl, 1
jmp 0x14000dcfc
cmp r15d, 3
jne 0x14000e1de
cmp byte [r13 + 0x1cd], r12b
je 0x14000e1de
mov rax, qword [rsi + 8]
mov ecx, dword [rax + 0x88]
shr ecx, 0xd
test cl, 1
je 0x14000e1de
mov r9, qword [rbp + 0x98]
mov r8, rsi
mov rdx, r14
mov rcx, r13
call fcn.140035680
test al, al
jne 0x14000e033
lea eax, [r15 + 1]
jmp 0x14000e1e1
lea rcx, [rbp + 0x90]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x14000e23d
mov rax, qword [rbp + 0x90]
lea rcx, [rbp - 0x78]
sub rax, qword [0x14008eac8]
xor edx, edx
imul rax, rax, 0xf4240
div qword [0x14008eac0]
mov rdx, qword [rsi + 0x38]
mov rbx, rax
add rbx, qword [0x14008ead0]
call fcn.14002c310
lea rdx, [0x14007ef20]
lea rcx, [rbp - 0x78]
call fcn.1400147a0
mov rdi, rax
test rax, rax
jne 0x14000e0a6
lea rcx, str.Failed_to_open_file_for_signature_ingredient_writing._Skipping_CacheWrite._n
call fcn.1400011a0
jmp 0x14000e1de
mov eax, dword [r14 + 0x38]
lea r9, [r14 + 8]
mov rdx, qword [rsi + 8]
mov r8, rsi
mov qword [rsp + 0x28], rdi
mov rcx, r13
mov dword [rsp + 0x20], eax
call fcn.1400344f0
mov rcx, rdi
call fcn.140052714
mov rax, qword [rsi + 0x38]
lea rcx, [rbp - 0x78]
mov rdx, qword [r13 + 0x190]
mov r9, r14
mov qword [rsp + 0x38], rcx
lea rcx, [rsp + 0x70]
movups xmm0, xmmword [rax]
mov rax, qword [rsi + 8]
mov qword [rsp + 0x30], rax
movaps xmmword [rsp + 0x70], xmm0
mov dword [rsp + 0x20], 1
lea r8, [rax + 0x2c]
call fcn.140012fa0
lea rcx, [rbp - 0x78]
mov edi, eax
call fcn.140014580
lea rcx, [rbp - 0x80]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x14000e209
mov rax, qword [rbp - 0x80]
xor edx, edx
sub rax, qword [0x14008eac8]
imul rax, rax, 0xf4240
movaps xmmword [rsp + 0x130], xmm6
xorps xmm6, xmm6
div qword [0x14008eac0]
mov rcx, rax
sub rcx, rbx
add rcx, qword [0x14008ead0]
js 0x14000e165
cvtsi2sd xmm6, rcx
jmp 0x14000e17a
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2sd xmm6, rax
addsd xmm6, xmm6
divsd xmm6, qword [0x140083220]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rcx, qword [rsi + 8]
lea r8, str._s__CacheWrite__s_
add rcx, 4
mov eax, r12d
cvttsd2si edx, xmm6
sub eax, dword [rcx]
movsxd r9, dword [rcx]
add r9, rcx
lea rcx, [rbp - 0x78]
neg eax
mov qword [rsp + 0x20], rcx
sbb rax, rax
and r9, rax
mov eax, 2
cmp edi, 3
cmove eax, r12d
mov ecx, eax
call fcn.140039710
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
movaps xmm6, xmmword [rsp + 0x130]
mov eax, r15d
mov rdi, qword [rsp + 0x170]
mov r15, qword [rsp + 0x178]
mov rbx, qword [rsp + 0x188]
add rsp, 0x140
pop r14
pop r13
pop r12
pop rsi
pop rbp
ret
lea rcx, str.QueryPerformanceCounter_failed
call fcn.1400139a0
int3
lea rcx, str.QueryPerformanceCounter_failed
call fcn.1400139a0
int3
lea rcx, str.QueryPerformanceCounter_failed
call fcn.1400139a0
int3
lea rcx, str.QueryPerformanceCounter_failed
call fcn.1400139a0
int3
lea rcx, str.QueryPerformanceCounter_failed
call fcn.1400139a0
int3