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

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x80
mov ebx, ecx
mov rax, qword [0x1402e0038]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov eax, dword [0x1402f3f38]
mov ecx, dword [0x1402f0db0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14008ab38
mov rsi, qword [0x1402f3f30]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14008ac10
movzx ebp, bl
dec ebp
or ebp, 1
cmp byte [0x1402f3ee0], 0
mov eax, 8
mov ecx, 1
cmove ecx, eax
xor r15d, r15d
add ebp, dword [0x1402f3ee4]
mov dword [0x1402f3ee4], ebp
cmovne r15d, ecx
mov eax, dword [0x1402f3ee8]
cmp r15d, eax
je 0x14008a996
movabs r14, 0xfffffffc00000000
test eax, eax
je 0x14008a8f9
mov rax, qword [0x1402e38a8]
lea rdi, [rsp + 0x50]
mov rcx, rdi
call qword [0x140318008]
mov rax, qword [rdi]
mov rcx, qword [0x1402f3f40]
xor edx, edx
cmp rax, rcx
setns dl
movabs r8, 0x7fffffffffffffff
add r8, rdx
sub rax, rcx
cmovo rax, r8
movabs rdx, 0x8000000000000001
lea r8, [rax + rdx]
mov rcx, qword [0x1402f3ef0]
cmp r8, 2
jae 0x14008a868
cmp rcx, rax
je 0x14008a87f
add rcx, rdx
cmp rcx, 1
ja 0x14008a87f
jmp 0x14008ac81
lea rdx, [rcx + rax]
sar rdx, 0x3f
btc rdx, 0x3f
add rcx, rax
cmovo rcx, rdx
mov rax, rcx
mov qword [0x1402f3ef0], rax
lea rdx, str.UpdateTimerIntervalLocked
lea r8, str....._base_time_time_win.cc
lea rdi, [rsp + 0x50]
mov rcx, rdi
mov r9d, 0x9f
call fcn.14009b140
lea r12, [0x1402f3f3c]
and r12, r14
cmp r12, qword [0x1402e3948]
je 0x14008ac4e
mov al, byte [0x1402f3f3c]
test al, 1
je 0x14008abc7
mov ecx, dword [0x1402f3ee8]
call qword [sym.imp.WINMM.dll_timeEndPeriod]
mov byte [0x1402f3f3c], 1
test byte [0x1402e21a0], 0x19
jne 0x14008aa7c
cmp r12, qword [0x1402e3948]
je 0x14008ac5f
mov dword [0x1402f3ee8], r15d
test ebp, ebp
je 0x14008a996
mov rax, qword [0x1402e38a8]
lea rdi, [rsp + 0x50]
mov rcx, rdi
call qword [0x140318008]
mov rax, qword [rdi]
mov qword [0x1402f3f40], rax
lea rdx, str.UpdateTimerIntervalLocked
lea r8, str....._base_time_time_win.cc
lea rdi, [rsp + 0x50]
mov rcx, rdi
mov r9d, 0xa8
call fcn.14009b140
lea r15, [0x1402f3f3d]
and r15, r14
cmp r15, qword [0x1402e3948]
je 0x14008ac70
mov al, byte [0x1402f3f3d]
test al, 1
je 0x14008ab7e
mov ecx, dword [0x1402f3ee8]
call qword [sym.imp.WINMM.dll_timeBeginPeriod]
mov byte [0x1402f3f3d], 1
test byte [0x1402e21a0], 0x19
jne 0x14008a9c0
cmp r15, qword [0x1402e3948]
je 0x14008ac3d
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.14010fba0
mov al, 1
add rsp, 0x80
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov rax, qword [0x1402e38a8]
lea rcx, [0x140038fc0]
cmp rax, rcx
jne 0x14008ac1d
lea rbx, [rsp + 0x50]
mov qword [rbx], 0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rbx]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jl 0x14008aa22
mov rcx, qword [0x1402f3f50]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14008aa32
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402f3f50]
mov qword [rsp + 0x50], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x30], eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
lea rdx, [0x1402e21a0]
lea r8, str.ScopedMayLoadLibraryAtBackgroundPriority
mov cl, 0x45
xor r9d, r9d
call fcn.14016b830
jmp 0x14008a989
mov rax, qword [0x1402e38a8]
lea rcx, [0x140038fc0]
cmp rax, rcx
jne 0x14008ac2d
lea rbx, [rsp + 0x50]
mov qword [rbx], 0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rbx]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jl 0x14008aade
mov rcx, qword [0x1402f3f50]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14008aaee
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402f3f50]
mov qword [rsp + 0x50], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x30], eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
lea rdx, [0x1402e21a0]
lea r8, str.ScopedMayLoadLibraryAtBackgroundPriority
mov cl, 0x45
xor r9d, r9d
call fcn.14016b830
jmp 0x14008a8ec
lea rcx, [0x1402f3f38]
call fcn.14010d4bc
cmp dword [0x1402f3f38], 0xffffffff
jne 0x14008a797
mov ecx, 8
call fcn.14010cc14
mov rsi, rax
mov rcx, rax
call fcn.140090e60
mov qword [0x1402f3f30], rsi
lea rcx, [0x1402f3f38]
call fcn.14010d064
jmp 0x14008a797
call fcn.1400f5d00
test eax, eax
jne 0x14008a96d
mov ecx, 3
call fcn.1400c77d0
test byte [0x1402e21a0], 0x19
jne 0x14008ad1e
mov ecx, dword [0x1402f3ee8]
call qword [sym.imp.WINMM.dll_timeBeginPeriod]
test byte [0x1402e21a0], 0x19
jne 0x14008ac84
xor ecx, ecx
call fcn.1400c77d0
jmp 0x14008a979
call fcn.1400f5d00
test eax, eax
jne 0x14008a8cc
mov ecx, 3
call fcn.1400c77d0
test byte [0x1402e21a0], 0x19
jne 0x14008ad70
mov ecx, dword [0x1402f3ee8]
call qword [sym.imp.WINMM.dll_timeEndPeriod]
test byte [0x1402e21a0], 0x19
jne 0x14008acd1
xor ecx, ecx
call fcn.1400c77d0
jmp 0x14008a8d8
mov rcx, rsi
call sub.KERNEL32.dll_AcquireSRWLockExclusive
jmp 0x14008a7af
lea rcx, [rsp + 0x50]
call qword [0x140318008]
jmp 0x14008aa37
lea rcx, [rsp + 0x50]
call qword [0x140318008]
jmp 0x14008aaf3
lea rcx, [0x1402f3f3d]
call fcn.140103630
jmp 0x14008a996
lea rcx, [0x1402f3f3c]
call fcn.140103420
jmp 0x14008a8be
lea rcx, [0x1402f3f3c]
call fcn.140103630
jmp 0x14008a8f9
lea rcx, [0x1402f3f3d]
call fcn.140103420
jmp 0x14008a95f
int3
mov rcx, rdi
call fcn.14009a170
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x30], eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
lea rdx, [0x1402e21a0]
lea r8, str.ScopedMayLoadLibraryAtBackgroundPriority_:_Priority_Increased
mov cl, 0x45
xor r9d, r9d
call fcn.14016b830
jmp 0x14008abbb
mov rcx, rdi
call fcn.14009a170
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x30], eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
lea rdx, [0x1402e21a0]
lea r8, str.ScopedMayLoadLibraryAtBackgroundPriority_:_Priority_Increased
mov cl, 0x45
xor r9d, r9d
call fcn.14016b830
jmp 0x14008ac04
lea rbx, [rsp + 0x70]
mov rcx, rbx
call fcn.14009a170
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x30], eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
lea rdx, [0x1402e21a0]
lea r8, str.ScopedMayLoadLibraryAtBackgroundPriority_:_Priority_Increased
mov cl, 0x42
xor r9d, r9d
call fcn.14016b830
jmp 0x14008aba2
lea rbx, [rsp + 0x70]
mov rcx, rbx
call fcn.14009a170
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x30], eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
lea rdx, [0x1402e21a0]
lea r8, str.ScopedMayLoadLibraryAtBackgroundPriority_:_Priority_Increased
mov cl, 0x42
xor r9d, r9d
call fcn.14016b830
jmp 0x14008abeb