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

Disassembly:
push rbp
push rdi
push r14
lea rbp, [rsp - 0x380]
sub rsp, 0x480
cmp byte [0x140098b00], 0
mov rdi, rcx
mov r14, qword [rcx + 0x40]
je 0x140010517
mov eax, dword [rcx + 0x38]
xorps xmm0, xmm0
mov dword [rsp + 0x30], eax
lea rcx, [rbp + 0x3a0]
lea rax, str.FirstLock
mov dword [rsp + 0x58], 0x32
mov qword [rsp + 0x38], rax
movdqu xmmword [rsp + 0x40], xmm0
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x14001080b
mov rax, qword [rbp + 0x3a0]
xor edx, edx
sub rax, qword [0x140098f18]
imul rax, rax, 0xf4240
div qword [0x140098f10]
add rax, qword [0x140098f20]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x478], rsi
mov rcx, r14
mov qword [rsp + 0x470], r12
mov qword [rsp + 0x468], r13
mov qword [rsp + 0x460], r15
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea rcx, [rsp + 0x30]
call fcn.140001250
xor r12d, r12d
mov qword [rsp + 0x4b0], rbx
lea r15, str.WaitingForWork
lea r13, str.thread_state_sleeping
lea rsi, str.CheckDagSignatures
nop word [rax + rax]
cmp qword [0x1400ce080], r12
jne 0x1400105da
mov rbx, qword [rdi + 0x40]
cmp dword [rbx + 0xa0], 1
je 0x140010694
mov ecx, dword [rbx + 0xa0]
cmp ecx, 4
je 0x1400105da
cmp dword [rbx + 0x220], 3
jne 0x1400105ab
mov rax, qword [rbx + 0x100]
cmp byte [rax + 9], r12b
je 0x1400105da
mov rax, qword [rbx + 0x100]
cmp byte [rax + 0xc], r12b
jne 0x1400105bd
cmp ecx, 3
jne 0x1400105ce
mov rcx, rbx
call fcn.14000fe80
test rax, rax
jne 0x14001067e
mov rcx, rdi
call fcn.140010040
test al, al
jne 0x140010570
mov rcx, r14
call fcn.140010440
test al, al
je 0x140010799
cmp byte [0x140098b00], r12b
mov rbx, qword [rdi + 0x40]
je 0x140010654
mov eax, dword [rdi + 0x38]
lea rcx, [rbp + 0x3a8]
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], r13
mov dword [rsp + 0x58], 0x32
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x140010825
mov rax, qword [rbp + 0x3a8]
xor edx, edx
sub rax, qword [0x140098f18]
imul rax, rax, 0xf4240
div qword [0x140098f10]
add rax, qword [0x140098f20]
mov qword [rsp + 0x50], rax
lea rcx, [rbx + 0x28]
mov r8d, 0xffffffff
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_SleepConditionVariableCS]
test eax, eax
je 0x1400107fe
lea rcx, [rsp + 0x30]
call fcn.140001250
jmp 0x140010570
mov r9, rbx
mov r8, rax
mov rdx, rdi
mov rcx, rbx
call fcn.14000fac0
jmp 0x140010570
mov rcx, rbx
mov dword [rbx + 0xa0], 2
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp byte [0x140098b00], r12b
mov byte [rsp + 0x60], r12b
je 0x140010711
mov eax, dword [rdi + 0x38]
lea rcx, [rbp + 0x3a0]
xorps xmm0, xmm0
mov dword [rsp + 0x30], eax
movdqu xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x58], 0x32
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x140010818
mov rax, qword [rbp + 0x3a0]
xor edx, edx
sub rax, qword [0x140098f18]
imul rax, rax, 0xf4240
div qword [0x140098f10]
add rax, qword [0x140098f20]
mov qword [rsp + 0x50], rax
mov rdx, qword [rbx + 0x110]
lea r8, [rdi + 8]
mov rcx, qword [rbx + 0x120]
lea r9, [rsp + 0x60]
call fcn.140015c00
mov rcx, rbx
movzx esi, al
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
movzx ecx, sil
neg cl
lea rcx, [rbx + 0x28]
sbb edx, edx
add edx, 4
cmp dword [rbx + 0xb0], 1
mov dword [rbx + 0xa0], edx
jle 0x14001075f
call qword [sym.imp.KERNEL32.dll_WakeAllConditionVariable]
jmp 0x140010765
call qword [sym.imp.KERNEL32.dll_WakeConditionVariable]
test sil, sil
jne 0x14001078a
lea r8, [rsp + 0x60]
mov dword [rbx + 0x220], 4
lea rdx, str.Rebuilding_DAG_because__s
mov ecx, 3
call fcn.14003c3d0
lea rcx, [rsp + 0x30]
call fcn.140001250
jmp 0x140010563
lea rcx, [r14 + 0x28]
call qword [sym.imp.KERNEL32.dll_WakeAllConditionVariable]
lea rcx, [r14 + 0x38]
call qword [sym.imp.KERNEL32.dll_WakeAllConditionVariable]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov r8d, dword [rdi + 0x38]
lea rdx, str.build_thread__d_exiting_n
mov ecx, 0x10
mov rbx, qword [rsp + 0x4b0]
mov r12, qword [rsp + 0x470]
mov rsi, qword [rsp + 0x478]
mov r13, qword [rsp + 0x468]
mov r15, qword [rsp + 0x460]
add rsp, 0x480
pop r14
pop rdi
pop rbp
jmp fcn.140013c50
lea rcx, str.SleepConditionVariableCS___failed
call fcn.140013bd0
int3
lea rcx, str.QueryPerformanceCounter_failed
call fcn.140013bd0
int3
lea rcx, str.QueryPerformanceCounter_failed
call fcn.140013bd0
int3
lea rcx, str.QueryPerformanceCounter_failed
call fcn.140013bd0
int3