Function at 0x14016d730
Capabilities:
Check for time delay via queryperformancecounter
Read file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xd8
movapd xmmword [rsp + 0xc0], xmm6
mov esi, r8d
mov rdi, rdx
mov rbx, rcx
mov rax, qword [0x14029b028]
xor rax, rsp
mov qword [rsp + 0xb8], rax
movabs r13, 0xfffffffc00000000
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xb0], rax
movapd xmm0, xmmword [0x1402724c0]
movapd xmmword [rsp + 0xa0], xmm0
movapd xmmword [rsp + 0x90], xmm0
movapd xmmword [rsp + 0x80], xmm0
movapd xmmword [rsp + 0x70], xmm0
lea rdx, str.ReadAtCurrentPos
lea r8, str....._base_files_file_win.cc
lea rcx, [rsp + 0x28]
mov r9d, 0x5f
call fcn.1400ed710
mov eax, dword [0x1402ab7ac]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov r14, qword [rax + 0x1a0]
mov rax, r14
and rax, r13
cmp rax, qword [0x1402aaec8]
je 0x14016dcf2
mov qword [rsp + 0x70], r14
mov eax, dword [0x1402ab7ac]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea r15, [rax + 0x1a8]
mov r14, qword [r15]
mov rax, r14
and rax, r13
cmp rax, qword [0x1402aaec8]
je 0x14016e254
lea rax, [rsp + 0x70]
mov qword [rax + 8], r14
mov qword [rax + 0x10], r15
mov rcx, qword [r15]
mov qword [r15], rax
mov qword [rax + 0x18], rcx
mov rax, qword [rax + 8]
test rax, rax
jne 0x14016dd09
xor ecx, ecx
mov byte [rsp + 0x90], cl
mov byte [rsp + 0x98], 0
mov edx, dword [0x1402ab7ac]
mov r8, qword gs:[0x58]
mov rdx, qword [r8 + rdx*8]
cmp byte [rdx + 0x208], 0
je 0x14016dc95
test cl, cl
jne 0x14016dd11
test rax, rax
jne 0x14016d9b2
lea r14, [rsp + 0xa0]
cmp byte [r14 - 8], 0
jne 0x14016e293
mov rax, qword [fcn.140105050]
lea rcx, [0x140182e50]
cmp rax, rcx
jne 0x14016e188
lea r14, [rsp + 0x48]
mov qword [r14], 0
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [r14]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x14016e2a8
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402b0aa0]
mov rbp, rax
mov qword [rsp + 0xa0], rbp
mov eax, dword [0x1402b4358]
mov ecx, dword [0x1402ab7ac]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14016ddce
lea rcx, [0x1402b4350]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14016de81
mov eax, dword [0x1402b4378]
mov ecx, dword [0x1402ab7ac]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14016de03
cmp qword [0x1402b4370], 0
jne 0x14016db57
mov qword [rsp + 0xa8], 0
lea rcx, [0x1402b4350]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov r15, qword [rsp + 0xa8]
test r15, r15
je 0x14016d9aa
mov rax, qword [r15 + 0x1f0]
cmp qword [rsp + 0xa0], rax
jl 0x14016e2d4
mov byte [rsp + 0x98], 1
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x14016d9cb
cmp qword [rsp + 0x78], 0
jne 0x14016d9cb
xor edx, edx
call fcn.14015ab40
test esi, esi
js 0x14016e261
lea r9, [rsp + 0x48]
mov dword [r9], 0xaaaaaaaa
mov rcx, qword [rbx]
mov qword [rsp + 0x20], 0
mov rdx, rdi
mov r8d, esi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x14016e26b
mov esi, dword [rsp + 0x48]
test esi, esi
js 0x14016e281
call fcn.1401848e8
mov ebp, dword [rax]
call fcn.1401848e8
mov dword [rax], 0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r14, qword [rsp + 0x70]
test r14, r14
je 0x14016daa9
cmp qword [rsp + 0x78], 0
jne 0x14016daa9
cmp byte [r14 + 0x18], 0
je 0x14016daa9
mov rbx, qword [r14 + 0x28]
add rbx, 0x28
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14016dd8b
mov qword [r14 + 0x20], 0
cmp byte [r14 + 0x3b], 0
jne 0x14016da99
cmp byte [r14 + 0x39], 0
mov rax, qword [r14 + 0x28]
jne 0x14016dd58
dec dword [rax + 0x140]
cmp byte [r14 + 0x18], 0
je 0x14016e2d2
cmp byte [r14 + 0x19], 0
je 0x14016dcd8
mov word [r14 + 0x39], 0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_SetLastError]
call fcn.1401848e8
mov dword [rax], ebp
cmp byte [rsp + 0x98], 0
je 0x14016dadb
mov rbx, qword [rsp + 0xa8]
test rbx, rbx
jne 0x14016dbdb
mov byte [rsp + 0x98], 0
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x14016daf3
mov rcx, qword [rsp + 0x88]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
and rax, r13
cmp rax, qword [0x1402aaec8]
je 0x14016e289
mov qword [rsp + 0x78], 0
mov rcx, qword [rsp + 0x70]
and r13, rcx
cmp r13, qword [0x1402aaec8]
je 0x14016dcff
mov rcx, qword [rsp + 0xb8]
xor rcx, rsp
call fcn.1401874c0
mov eax, esi
movaps xmm6, xmmword [rsp + 0xc0]
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [0x1402b4368]
mov ecx, dword [0x1402ab7ac]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14016dd99
mov r12, qword [0x1402b4360]
mov r14, rbp
test r12, r12
je 0x14016dfea
mov rax, qword [r12 + 0x1f0]
mov r14d, 0x3938700
lea rcx, [r14 + rax]
sar rcx, 0x3f
btc rcx, 0x3f
add r14, rax
cmovo r14, rcx
cmp r14, rbp
jle 0x14016dfea
mov qword [rsp + 0xa8], r12
mov eax, 1
lock xadd dword [r12], eax
cmp eax, 0x7fffffff
jne 0x14016d97b
int3
mov rax, qword [fcn.140105050]
lea rcx, [0x140182e50]
cmp rax, rcx
jne 0x14016e230
lea rdi, [rsp + 0x48]
mov qword [rdi], 0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rdi]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x14016e2e1
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402b0aa0]
mov qword [rsp + 0x28], rax
mov r15, qword [rsp + 0xa0]
xor ecx, ecx
cmp rax, r15
setns cl
movabs r12, 0x7fffffffffffffff
add rcx, r12
mov r14, rax
sub r14, r15
cmovo r14, rcx
cmp r14, 0xf4240
jge 0x14016de93
mov rdi, qword [rsp + 0xa8]
test rdi, rdi
je 0x14016dad3
lock dec dword [rdi]
jne 0x14016dad3
mov rcx, rdi
call fcn.140011010
mov rcx, rdi
call fcn.14018482c
jmp 0x14016dad3
mov eax, dword [0x1402b6cbc]
mov ecx, dword [0x1402ab7ac]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14016de38
cmp byte [0x1402b6cb8], 0
jne 0x14016d9b2
mov cl, byte [rsp + 0x90]
mov rax, qword [rsp + 0x78]
jmp 0x14016d881
cmp byte [r14 + 0x3a], 0
mov rcx, qword [r14 + 0x28]
jne 0x14016e21f
dec dword [rcx + 0x144]
jmp 0x14016da99
mov rcx, r14
call fcn.1400da330
jmp 0x14016d7f7
call fcn.1400da480
jmp 0x14016db29
mov cl, byte [rax + 0x20]
jmp 0x14016d852
test rax, rax
je 0x14016d9b2
cmp byte [rax + 0x28], 0
je 0x14016d9b2
mov r14, qword [rax + 0x38]
mov qword [rax + 0x38], 0
test r14, r14
je 0x14016d9b2
lock dec dword [r14]
jne 0x14016d9b2
mov rcx, r14
call fcn.140011010
mov rcx, r14
call fcn.14018482c
jmp 0x14016d9b2
mov rcx, qword [rax + 0x40]
mov rdx, qword [rax + 0x120]
dec rdx
mov qword [rax + 0x120], rdx
cmp rcx, qword [rax + 0x48]
je 0x14016dd80
cmp qword [rax + 0x130], rdx
jae 0x14016df38
mov word [rax + 0x78], 0
jmp 0x14016da83
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14016da5f
lea rcx, [0x1402b4368]
call fcn.140184b80
cmp dword [0x1402b4368], 0xffffffff
jne 0x14016db7c
mov qword [0x1402b4360], 0
lea rcx, [0x1402b4368]
call fcn.140184be8
jmp 0x14016db7c
lea rcx, [0x1402b4358]
call fcn.140184b80
cmp dword [0x1402b4358], 0xffffffff
jne 0x14016d927
mov qword [0x1402b4350], 0
lea rcx, [0x1402b4358]
call fcn.140184be8
jmp 0x14016d927
lea rcx, [0x1402b4378]
call fcn.140184b80
cmp dword [0x1402b4378], 0xffffffff
jne 0x14016d961
mov qword [0x1402b4370], 0
lea rcx, [0x1402b4378]
call fcn.140184be8
jmp 0x14016d961
lea rcx, [0x1402b6cbc]
call fcn.140184b80
cmp dword [0x1402b6cbc], 0xffffffff
jne 0x14016dcba
mov rcx, qword [0x1402b0d20]
test rcx, rcx
je 0x14016de69
lea rdx, str.enable_background_thread_pool
call fcn.1400ea630
mov byte [0x1402b6cb8], 1
lea rcx, [0x1402b6cbc]
call fcn.140184be8
jmp 0x14016dcba
lea rcx, [0x1402b4350]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14016d93c
mov rcx, qword [rbx + 0x1f0]
mov edx, 0x3938700
lea r8, [rdx + rcx]
sar r8, 0x3f
btc r8, 0x3f
add rdx, rcx
cmovo rdx, r8
cmp rdx, rax
jle 0x14016e308
mov rax, qword [rbx + 0x1f0]
xor ecx, ecx
cmp r15, rax
setns cl
add rcx, r12
sub r15, rax
movabs rdi, 0x8000000000000001
cmovo r15, rcx
lea rax, [r15 + rdi]
cmp rax, 2
jb 0x14016e342
cvtsi2sd xmm0, r15
divsd xmm0, qword [0x140278820]
call fcn.1401c0de0
movsd xmm6, qword [0x14025fed0]
ucomisd xmm6, xmm0
jb 0x14016e358
maxsd xmm0, qword [0x14025fee8]
cvttsd2si ebp, xmm0
add rdi, r14
cmp rdi, 2
jb 0x14016df45
xorps xmm0, xmm0
cvtsi2sd xmm0, r14
divsd xmm0, qword [0x140278820]
jmp 0x14016df4d
movzx ecx, word [rcx + 0x10]
mov word [rax + 0x78], cx
jmp 0x14016da83
movsd xmm0, qword [0x14027a280]
xorpd xmm1, xmm1
ucomisd xmm0, xmm1
jb 0x14016e36f
addsd xmm0, qword [0x14025fa70]
call fcn.1401c0de0
ucomisd xmm6, xmm0
jb 0x14016e381
maxsd xmm0, qword [0x14025fee8]
cvttsd2si r14d, xmm0
mov r12, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
add r14d, ebp
cmp r14d, 0x3c
mov r15d, 0x3c
cmovl r15d, r14d
lea rdi, [rbx + 8]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14016e246
cmp ebp, r15d
jge 0x14016dfc4
movsxd rax, ebp
movsxd rcx, r15d
inc qword [rbx + rax*8 + 0x10]
inc rax
cmp rcx, rax
jne 0x14016dfb7
mov rcx, rdi
call r12
cmp r14d, 0x3d
jl 0x14016dc66
mov rbx, qword [rbx + 0x1f8]
sub r14d, r15d
xor ebp, ebp
test rbx, rbx
jne 0x14016df86
jmp 0x14016dc66
xor eax, eax
cmp rbp, r14
setns al
movabs rcx, 0x7fffffffffffffff
add rax, rcx
mov rcx, rbp
sub rcx, r14
cmovo rcx, rax
cmp rcx, 0x989680
jge 0x14016e39a
mov ecx, 0x208
call fcn.140184834
mov r15, rax
mov dword [rax], 0
lea rcx, [rax + 8]
mov r8d, 0x1e8
xor edx, edx
call fcn.140189600
mov qword [r15 + 0x1f0], r14
mov qword [r15 + 0x1f8], 0
mov byte [r15 + 0x200], 0
test r15, r15
je 0x14016e06e
mov eax, 1
lock xadd dword [r15], eax
cmp eax, 0x7fffffff
je 0x14016e3ab
test r12, r12
jne 0x14016e19e
test r15, r15
je 0x14016e091
mov eax, 1
lock xadd dword [r15], eax
cmp eax, 0x7fffffff
je 0x14016e3ae
mov r12, qword [0x1402b4360]
mov qword [0x1402b4360], r15
test r12, r12
jne 0x14016e1ff
lea rcx, [0x1402b4350]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [r15 + 0x1f0]
xor ecx, ecx
cmp rbp, rax
setns cl
movabs rdx, 0x7fffffffffffffff
add rcx, rdx
sub rbp, rax
movabs rax, 0x8000000000000001
cmovo rbp, rcx
lea rcx, [rax + rbp]
cmp rcx, 2
jb 0x14016e3b1
mov r12d, 0x3938700
xor eax, eax
cmp r12, rbp
setns al
add rax, rdx
sub r12, rbp
cmovo r12, rax
mov ecx, 0x28
call fcn.140184834
mov r14, rax
mov dword [rax], 1
lea rax, [0x1401c6830]
mov qword [r14 + 8], rax
lea rax, [0x1401c6ab0]
mov qword [r14 + 0x10], rax
lea rax, [0x1401f2580]
mov qword [r14 + 0x18], rax
lea rdx, str.MonitorNextJankWindowIfNecessary
lea r8, str....._base_threading_scoped_blocking_call_internal.cc
lea rbp, [rsp + 0x48]
mov rcx, rbp
mov r9d, 0xca
call fcn.1400ed710
lea r9, [rsp + 0x68]
mov qword [r9], r14
mov qword [rsp + 0x20], r12
lea r8, [0x14027a5f7]
xor ecx, ecx
mov rdx, rbp
call fcn.14011ad20
mov qword [rsp + 0xa8], r15
jmp 0x14016d990
mov rcx, r14
call qword [case.0x1401eda70.0]
mov rbp, qword [rsp + 0xa0]
jmp 0x14016d902
cmp byte [r12 + 0x200], 0
jne 0x14016e077
test r15, r15
je 0x14016e1c7
mov eax, 1
lock xadd dword [r15], eax
cmp eax, 0x7fffffff
je 0x14016e3c1
mov r14, qword [r12 + 0x1f8]
mov qword [r12 + 0x1f8], r15
test r14, r14
je 0x14016e077
lock dec dword [r14]
jne 0x14016e077
mov rcx, r14
call fcn.140011010
mov rcx, r14
call fcn.14018482c
jmp 0x14016e077
lock dec dword [r12]
jne 0x14016e0a8
mov rcx, r12
call fcn.140011010
mov rcx, r12
call fcn.14018482c
jmp 0x14016e0a8
dec qword [rcx + 0x128]
call fcn.1401c3c70
jmp 0x14016da99
lea rdi, [rsp + 0x28]
mov rcx, rdi
call qword [case.0x1401eda70.0]
mov rax, qword [rdi]
jmp 0x14016dc32
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14016dfac
mov rcx, r14
call fcn.1400da330
jmp 0x14016d82c
mov esi, 0xffffffff
jmp 0x14016da0b
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor esi, esi
cmp eax, 0x26
setne sil
neg esi
jmp 0x14016da0b
int3
call fcn.1400da480
jmp 0x14016db0b
mov rcx, r14
call fcn.1401f9cf0
mov byte [rsp + 0x98], 0
jmp 0x14016d8a5
mov rcx, qword [0x1402b0aa0]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
mov rbp, rax
add rbp, r8
jmp 0x14016d8fa
ud2
mov qword [rsp + 0xa0], rax
jmp 0x14016d9aa
mov rcx, qword [0x1402b0aa0]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14016dc2d
lea rdi, [rsp + 0x48]
mov rcx, rdi
mov rdx, rax
call fcn.14006cc00
mov rdi, qword [rdi]
test rdi, rdi
je 0x14016debc
lock dec dword [rdi]
jne 0x14016debc
mov rcx, rdi
call fcn.140011010
mov rcx, rdi
call fcn.14018482c
jmp 0x14016debc
shr r15, 0x3f
lea rax, [0x14027a270]
movsd xmm0, qword [rax + r15*8]
jmp 0x14016def2
xor eax, eax
ucomisd xmm0, qword [0x14025fee8]
mov ebp, 0x7fffffff
cmovb ebp, eax
jmp 0x14016df1d
addsd xmm0, qword [0x14025fed8]
call fcn.1401c0a0c
jmp 0x14016df68
xor eax, eax
ucomisd xmm0, qword [0x14025fee8]
mov r14d, 0x7fffffff
cmovb r14d, eax
jmp 0x14016df7f
mov byte [r12 + 0x200], 1
mov r14, rbp
jmp 0x14016e016
int3
int3
sar rbp, 0x3f
lea r12, [rax + rbp]
dec r12
jmp 0x14016e108
int3