Function at 0x140012fa0
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push r12
push r14
lea rbp, [rsp - 0x1ad8]
mov eax, 0x1bd8
call fcn.1400488d0
sub rsp, rax
cmp dword [0x14008e768], 5
mov r12, r8
mov rbx, rdx
mov r14, rcx
jbe 0x140012ff1
xor eax, eax
add rsp, 0x1bd8
pop r14
pop r12
pop rbx
pop rbp
ret
movsxd rdx, dword [r8 + 4]
lea rcx, [r8 + 4]
mov qword [rsp + 0x1bd0], rsi
add rdx, rcx
xor esi, esi
mov qword [rsp + 0x1bc8], rdi
mov eax, esi
mov qword [rsp + 0x1bc0], r13
sub eax, dword [rcx]
movsxd r13, dword [r9 + 0x38]
neg eax
mov qword [rsp + 0x1bb8], r15
sbb rax, rax
mov dword [rbp + 0x1b28], r13d
and rdx, rax
mov eax, esi
sub eax, dword [rdx]
movsxd rdi, dword [rdx]
add rdi, rdx
neg eax
sbb rax, rax
and rdi, rax
cmp byte [0x14008eab8], sil
je 0x1400131fa
mov rbx, r13
shl rbx, 6
add rbx, qword [0x1400b70a0]
cmp dword [rbx + 0x38], 0x8000
mov byte [rbx + 0x3c], 1
jb 0x140013098
lea r14, str.InvokeCacheMe
mov r9d, r13d
mov r8d, 0x8000
mov qword [rsp + 0x20], r14
lea rdx, str.profiler:_max_events___d__reached_on_thread__i___s_and_later_wont_be_recorded
lea ecx, [rsi + 2]
call fcn.140013a20
jmp 0x1400131ec
movsxd rax, dword [rbx + 0x38]
inc dword [rbx + 0x38]
lea rcx, [rax + rax*4]
mov rax, qword [rbx + 0x30]
lea r15, [rax + rcx*8]
lea rcx, [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x1400136b9
mov rax, qword [rsp + 0x48]
lea r14, str.InvokeCacheMe
sub rax, qword [0x14008eac8]
xor edx, edx
imul rax, rax, 0xf4240
mov rcx, r14
div qword [0x14008eac0]
mov edx, 0x20
add rax, qword [0x14008ead0]
mov qword [r15], rax
mov qword [r15 + 0x20], rsi
call fcn.140048fbc
mov r13, rax
test rax, rax
je 0x140013146
test rdi, rdi
jne 0x140013146
mov r8, rax
mov rdx, r14
sub r8, r14
mov rcx, rbx
call fcn.14001e6c0
mov qword [r15 + 0x10], rax
lea rdx, [r13 + 1]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rdx + r8], sil
jne 0x140013130
mov rcx, rbx
call fcn.14001e6c0
jmp 0x1400131e1
mov rax, qword [rbx + 8]
mov rcx, rax
mov rdx, qword [rax + 0x18]
lea rax, [rdx + 0xe]
cmp rax, qword [rcx + 0x10]
jbe 0x14001316b
mov edx, 0xe
mov rcx, rbx
call fcn.140038a30
mov rdx, rsi
mov rax, qword [rbx + 8]
lea rcx, [rdx + 0xe]
mov r8, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add r8, rdx
mov rax, qword [rbx + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov qword [rbx + 0x10], rdx
movsd xmm0, qword [str.InvokeCacheMe]
movsd qword [r8], xmm0
mov eax, dword [0x14007f4b0]
mov dword [r8 + 8], eax
movzx eax, byte [0x14007f4b4]
mov byte [r8 + 0xc], al
mov byte [r8 + 0xd], sil
mov qword [r15 + 0x10], r8
test rdi, rdi
je 0x1400131da
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdi + r8], sil
jne 0x1400131c4
mov rdx, rdi
mov rcx, rbx
call fcn.14001e6c0
jmp 0x1400131e1
lea rax, [0x14007d7e6]
mov r13d, dword [rbp + 0x1b28]
mov qword [r15 + 0x18], rax
mov rbx, qword [rbp + 0x1b08]
mov r14, qword [rbp + 0x1b00]
lea rcx, str.REAPI_CACHE_CLIENT
call fcn.140052680
test rax, rax
je 0x1400136c6
mov rdx, rax
lea rcx, [rbp + 0x200]
call fcn.14003d630
lea rdx, [rbp + 0x200]
lea rcx, [rbp]
call fcn.14003d9a0
mov rdx, r14
lea rcx, [rbp - 0x58]
call fcn.14002c310
cmp dword [rbp + 0x1b20], esi
lea rcx, str.down
lea rax, [0x14007f4d0]
mov r15d, 0x1388
cmove rax, rcx
lea r9, [rbp]
lea rcx, [rbp - 0x58]
mov edx, r15d
mov qword [rsp + 0x28], rcx
lea r8, str._s__v__s__s00000000000000000000000000000002
lea rcx, [rbp + 0x720]
mov qword [rsp + 0x20], rax
call fcn.1400031a0
movsxd rdi, dword [r12 + 4]
lea rdx, [r12 + 4]
add rdi, rdx
mov r14d, eax
mov ecx, esi
mov eax, esi
sub ecx, dword [rdx]
movsxd rdx, dword [r12 + 4]
neg ecx
sbb rcx, rcx
sub eax, dword [r12 + 4]
and rdi, rcx
lea rcx, [r12 + 4]
add rdx, rcx
neg eax
sbb rax, rax
and rdx, rax
movsxd rax, dword [r12]
lea r12, [rdx + rax*8]
cmp rdi, r12
je 0x140013360
nop dword [rax]
movsxd rdx, dword [rdi]
lea rcx, [rbp + 0x490]
add rdx, rdi
mov eax, esi
sub eax, dword [rdi]
neg eax
sbb rax, rax
and rdx, rax
call fcn.14003d630
lea rdx, [rbp + 0x490]
mov rcx, rbx
call fcn.140038970
movsxd r9, dword [rdi]
lea rcx, [rbp + 0x720]
add r9, rdi
movsxd rax, r14d
mov ebx, r15d
lea r8, str.___s_
sub ebx, r14d
cmp dword [rdi], esi
movsxd rdx, ebx
cmove r9, rsi
add rcx, rax
call fcn.1400031a0
cmp eax, ebx
jge 0x140013346
add r14d, eax
je 0x140013357
add rdi, 8
cmp rdi, r12
je 0x140013360
mov rbx, qword [rbp + 0x1b08]
jmp 0x1400132d0
lea rdx, str.Building_CacheClient_string_exceeded_buffer_length
mov ecx, 1
call fcn.140013a20
lea r9, str.Not_enough_space_in_commandline_buffer_for_all_output_files
jmp 0x1400133b6
mov ebx, dword [rbp + 0x1b20]
cmp ebx, 1
jne 0x140013425
mov r9, qword [rbp + 0x1b38]
lea rcx, [rbp + 0x720]
movsxd rax, r14d
lea r8, str.___s_
sub r15d, r14d
add rcx, rax
movsxd rdx, r15d
call fcn.1400031a0
cmp eax, r15d
jl 0x1400133aa
lea rdx, str.Building_CacheClient_string_exceeded_buffer_length
mov ecx, ebx
call fcn.140013a20
jmp 0x1400133af
add r14d, eax
jne 0x140013425
lea r9, str.Not_enough_space_in_commandline_buffer_for_ingredients_file
mov rax, qword [rbp + 0x1b30]
lea rdx, str.Failure_while_invoking_caching_client:__s_n_s_n
add rax, 4
mov ecx, 2
movsxd r8, dword [rax]
sub esi, dword [rax]
add r8, rax
neg esi
sbb rax, rax
and r8, rax
call fcn.1400392a0
mov r8d, dword [0x14008e768]
inc r8d
mov dword [0x14008e768], r8d
cmp r8d, 5
jbe 0x14001340a
lea rdx, str.We_encountered__d_cache_client_failures._The_rest_of_the_build_will_not_attempt_any_more_cache_client_operations_n
mov ecx, 2
call fcn.1400392a0
cmp byte [0x14008eab8], 0
je 0x14001341b
mov ecx, r13d
call fcn.14003df60
mov eax, 1
jmp 0x14001367e
mov r15, qword [rbp + 0x1b30]
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x60], r15
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x1400136ac
mov rax, qword [rsp + 0x50]
lea r8, [rbp + 0x720]
sub rax, qword [0x14008eac8]
xor edx, edx
mov rdi, qword [rbp + 0x1b18]
mov ecx, 8
imul rax, rax, 0xf4240
div qword [0x14008eac0]
lea rdx, [0x14007f584]
add rax, qword [0x14008ead0]
mov qword [rsp + 0x68], rax
mov rax, qword [rdi + 0x40]
mov qword [rsp + 0x70], rax
call fcn.140013a20
mov ecx, dword [rdi + 0x38]
lea rdx, [0x140012ec0]
dec ecx
lea rax, [0x140012f30]
test ebx, ebx
cmove rax, rdx
lea rdx, [rsp + 0x60]
mov qword [rsp + 0x38], rdx
xor r9d, r9d
mov qword [rsp + 0x30], rax
lea rdx, [rbp + 0x720]
mov dword [rsp + 0x28], ecx
xor r8d, r8d
lea rcx, [rbp - 0x30]
mov qword [rsp + 0x20], rdi
call fcn.140024250
movups xmm1, xmmword [rax + 0x10]
movups xmm2, xmmword [rax]
movq rdi, xmm1
mov qword [rsp + 0x58], rdi
movups xmm0, xmmword [rax + 0x20]
movd eax, xmm2
movups xmmword [rsp + 0x78], xmm2
mov dword [rsp + 0x40], eax
movups xmmword [rbp - 0x78], xmm1
movups xmmword [rbp - 0x68], xmm0
test ebx, ebx
jne 0x1400135db
mov r9, qword [rbp + 0x1b10]
mov eax, esi
sub eax, dword [r9 + 4]
lea rcx, [r9 + 4]
movsxd rdx, dword [rcx]
lea r8, [r9 + 4]
movsxd r14, dword [r8]
add rdx, rcx
neg eax
sbb rax, rax
add r14, r8
and rdx, rax
movsxd rax, dword [r9]
lea r12, [rdx + rax*8]
mov eax, esi
sub eax, dword [r8]
neg eax
sbb rax, rax
and r14, rax
cmp r14, r12
je 0x1400135d7
mov r15, qword [rbp + 0x1b08]
nop word [rax + rax]
movsxd rbx, dword [r14]
lea rcx, [r15 + 0x10]
mov edi, dword [r14 + 4]
mov eax, esi
sub eax, dword [r14]
add rbx, r14
neg eax
sbb rax, rax
and rbx, rax
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov r8, rbx
lea rcx, [r15 + 0x18]
mov edx, edi
call fcn.140015f50
cmp eax, 0xffffffff
je 0x1400135ad
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r15 + 0x40]
lea rdx, [rax + rcx*8]
test rdx, rdx
je 0x1400135ad
mov dword [rdx], 0x40000000
lea rcx, [r15 + 0x10]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
add r14, 8
cmp r14, r12
jne 0x140013560
mov rdi, qword [rsp + 0x58]
mov ebx, 3
mov r15, qword [rbp + 0x1b30]
mov eax, dword [rsp + 0x40]
jmp 0x1400135e8
mov eax, dword [rsp + 0x40]
mov ebx, 3
cmp dword [rbp + 0x1b20], esi
jne 0x1400135f1
cmp eax, 2
jne 0x1400135f1
mov ebx, eax
jmp 0x14001364b
test eax, eax
je 0x14001364b
movsxd r8, dword [r15 + 4]
lea rax, [r15 + 4]
sub esi, dword [rax]
lea rdx, str.Failure_while_invoking_caching_client:__s_n_s_n
add r8, rax
mov r9, rdi
neg esi
mov ecx, 2
sbb rax, rax
and r8, rax
call fcn.1400392a0
mov r8d, dword [0x14008e768]
inc r8d
mov dword [0x14008e768], r8d
cmp r8d, 5
jbe 0x140013646
lea rdx, str.We_encountered__d_cache_client_failures._The_rest_of_the_build_will_not_attempt_any_more_cache_client_operations_n
mov ecx, 2
call fcn.1400392a0
mov ebx, 1
test rdi, rdi
je 0x140013668
mov r8, qword [rdi - 8]
lea rcx, [rdi - 8]
mov rdx, qword [rbp - 0x60]
neg r8
lock add qword [rdx], r8
call fcn.140053948
cmp byte [0x14008eab8], 0
je 0x14001367c
mov ecx, dword [rbp + 0x1b28]
call fcn.14003df60
mov eax, ebx
mov r13, qword [rsp + 0x1bc0]
mov rdi, qword [rsp + 0x1bc8]
mov rsi, qword [rsp + 0x1bd0]
mov r15, qword [rsp + 0x1bb8]
add rsp, 0x1bd8
pop r14
pop r12
pop rbx
pop rbp
ret
lea rcx, str.QueryPerformanceCounter_failed
call fcn.1400139a0
int3
lea rcx, str.QueryPerformanceCounter_failed
call fcn.1400139a0
int3
lea rdx, str.REAPI_CACHE_CLIENT
lea rcx, str._s_not_setup
call fcn.140013920
int3