Function at 0x14016e6c0
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 [0x14029c028]
xor rax, rsp
mov qword [rsp + 0xb8], rax
movabs r13, 0xfffffffc00000000
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xb0], rax
movapd xmm0, xmmword [0x14026dc70]
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.1400ee990
mov eax, dword [0x1402ac5e0]
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 [0x14029ce48]
je 0x14016ebde
mov qword [rsp + 0x70], r14
mov eax, dword [0x1402ac5e0]
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 [0x14029ce48]
je 0x14016f151
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 0x14016ebeb
xor ecx, ecx
mov byte [rsp + 0x90], cl
mov byte [rsp + 0x98], 0
mov edx, dword [0x1402ac5e0]
mov r8, qword gs:[0x58]
mov rdx, qword [r8 + rdx*8]
cmp byte [rdx + 0x200], 0
je 0x14016eba7
test cl, cl
jne 0x14016ec72
test rax, rax
jne 0x14016e942
lea r14, [rsp + 0xa0]
cmp byte [r14 - 8], 0
jne 0x14016f166
mov rax, qword [fcn.14014f070]
lea rcx, [0x140183600]
cmp rax, rcx
jne 0x14016f10f
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 0x14016f1a1
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402b7458]
mov r14, rax
mov qword [rsp + 0xa0], r14
mov eax, dword [0x1402b77b0]
mov ecx, dword [0x1402ac5e0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14016ed09
lea rcx, [0x1402b77a8]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14016f0fd
mov eax, dword [0x1402b77d0]
mov ecx, dword [0x1402ac5e0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14016ed3e
cmp qword [0x1402b77c8], 0
jne 0x14016ebf3
mov qword [rsp + 0xa8], 0
lea rcx, [0x1402b77a8]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov r15, qword [rsp + 0xa8]
test r15, r15
je 0x14016e93a
mov rax, qword [r15 + 0x1f0]
cmp qword [rsp + 0xa0], rax
jl 0x14016f191
mov byte [rsp + 0x98], 1
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x14016e95b
cmp qword [rsp + 0x78], 0
jne 0x14016e95b
xor edx, edx
call fcn.14017f280
test esi, esi
js 0x14016f13b
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 0x14016f17b
mov esi, dword [rsp + 0x48]
test esi, esi
js 0x14016f15e
call fcn.140184e94
mov ebp, dword [rax]
call fcn.140184e94
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 0x14016ea4e
cmp qword [rsp + 0x78], 0
jne 0x14016ea4e
cmp byte [r14 + 0x18], 0
je 0x14016ea4e
mov rbx, qword [r14 + 0x28]
add rbx, 0x28
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14016ecb9
mov qword [r14 + 0x20], 0
cmp byte [r14 + 0x3b], 0
jne 0x14016ea3e
cmp byte [r14 + 0x39], 0
mov rax, qword [r14 + 0x28]
jne 0x14016ec8a
dec dword [rax + 0x140]
cmp byte [r14 + 0x18], 0
je 0x14016f14f
cmp byte [r14 + 0x19], 0
jne 0x14016ea3e
cmp byte [r14 + 0x3a], 0
mov rcx, qword [r14 + 0x28]
jne 0x14016f1cb
dec dword [rcx + 0x144]
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.140184e94
mov dword [rax], ebp
cmp byte [rsp + 0x98], 0
je 0x14016eb28
mov r14, qword [rsp + 0xa8]
test r14, r14
je 0x14016eb20
mov rax, qword [fcn.14014f070]
lea rcx, [0x140183600]
cmp rax, rcx
jne 0x14016f125
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 0x14016f1f1
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402b7458]
mov rdi, rax
mov qword [rsp + 0x28], rdi
mov r15, qword [rsp + 0xa0]
xor eax, eax
cmp rdi, r15
setns al
movabs rbp, 0x7fffffffffffffff
add rax, rbp
mov r12, rdi
sub r12, r15
cmovo r12, rax
cmp r12, 0xf4240
jge 0x14016edcd
mov rdi, qword [rsp + 0xa8]
test rdi, rdi
je 0x14016eb20
lock dec dword [rdi]
je 0x14016f1dc
mov byte [rsp + 0x98], 0
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x14016eb40
mov rcx, qword [rsp + 0x88]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
and rax, r13
cmp rax, qword [0x14029ce48]
je 0x14016f145
mov qword [rsp + 0x78], 0
mov rcx, qword [rsp + 0x70]
and r13, rcx
cmp r13, qword [0x14029ce48]
je 0x14016eba0
mov rcx, qword [rsp + 0xb8]
xor rcx, rsp
call fcn.1401879f0
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
call fcn.1400de590
jmp 0x14016eb72
mov eax, dword [0x1402b7b58]
mov ecx, dword [0x1402ac5e0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14016ed73
cmp byte [0x1402b7b54], 0
jne 0x14016e942
jmp 0x14016edbc
mov rcx, r14
call fcn.1400ddc60
jmp 0x14016e787
mov cl, byte [rax + 0x20]
jmp 0x14016e7e2
mov eax, dword [0x1402b77c0]
mov ecx, dword [0x1402ac5e0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14016ecd4
mov r12, qword [0x1402b77b8]
mov rbp, r14
test r12, r12
je 0x14016ef3d
mov eax, 0x3938700
add rax, qword [r12 + 0x1f0]
movabs rbp, 0x7fffffffffffffff
cmovno rbp, rax
cmp rbp, r14
jle 0x14016ef3d
mov qword [rsp + 0xa8], r12
mov eax, 1
lock xadd dword [r12], eax
cmp eax, 0x7fffffff
jne 0x14016e90b
jmp 0x14016f19e
test rax, rax
je 0x14016e942
cmp byte [rax + 0x28], 0
je 0x14016e942
jmp 0x14016f30b
mov rcx, qword [rax + 0x40]
mov rdx, qword [rax + 0x120]
dec rdx
mov qword [rax + 0x120], rdx
cmp rcx, qword [rax + 0x48]
je 0x14016ecae
cmp qword [rax + 0x130], rdx
jae 0x14016ecc7
mov word [rax + 0x78], 0
jmp 0x14016ea17
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14016e9f3
movzx ecx, word [rcx + 0x10]
mov word [rax + 0x78], cx
jmp 0x14016ea17
lea rcx, [0x1402b77c0]
call fcn.140184f58
cmp dword [0x1402b77c0], 0xffffffff
jne 0x14016ec18
mov qword [0x1402b77b8], 0
lea rcx, [0x1402b77c0]
call fcn.140184fc0
jmp 0x14016ec18
lea rcx, [0x1402b77b0]
call fcn.140184f58
cmp dword [0x1402b77b0], 0xffffffff
jne 0x14016e8b7
mov qword [0x1402b77a8], 0
lea rcx, [0x1402b77b0]
call fcn.140184fc0
jmp 0x14016e8b7
lea rcx, [0x1402b77d0]
call fcn.140184f58
cmp dword [0x1402b77d0], 0xffffffff
jne 0x14016e8f1
mov qword [0x1402b77c8], 0
lea rcx, [0x1402b77d0]
call fcn.140184fc0
jmp 0x14016e8f1
lea rcx, [0x1402b7b58]
call fcn.140184f58
cmp dword [0x1402b7b58], 0xffffffff
jne 0x14016ebcc
mov rcx, qword [0x1402b7668]
test rcx, rcx
je 0x14016eda4
lea rdx, str.enable_background_thread_pool
call fcn.140168700
mov byte [0x1402b7b54], 1
lea rcx, [0x1402b7b58]
call fcn.140184fc0
jmp 0x14016ebcc
mov cl, byte [rsp + 0x90]
mov rax, qword [rsp + 0x78]
jmp 0x14016e811
mov eax, 0x3938700
add rax, qword [r14 + 0x1f0]
cmovo rax, rbp
cmp rax, rdi
jle 0x14016f2ad
mov rax, qword [r14 + 0x1f0]
xor edx, edx
cmp r15, rax
setns dl
add rdx, rbp
mov rcx, r15
sub rcx, rax
movabs rbp, 0x8000000000000001
cmovo rcx, rdx
lea rdx, [rcx + rbp]
cmp rdx, 2
jb 0x14016f275
cvtsi2sd xmm0, rcx
divsd xmm0, qword [0x14027a8d8]
call fcn.1401c20b0
movsd xmm6, qword [0x140260ed0]
ucomisd xmm6, xmm0
jb 0x14016f22d
maxsd xmm0, qword [0x140260ee8]
cvttsd2si ebx, xmm0
add rbp, r12
cmp rbp, 2
jb 0x14016f28e
xorps xmm0, xmm0
cvtsi2sd xmm0, r12
divsd xmm0, qword [0x14027a8d8]
xorpd xmm1, xmm1
ucomisd xmm0, xmm1
jb 0x14016f21b
addsd xmm0, qword [0x140260a70]
call fcn.1401c20b0
ucomisd xmm6, xmm0
jb 0x14016f244
maxsd xmm0, qword [0x140260ee8]
cvttsd2si ebp, xmm0
mov r12, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
add ebp, ebx
cmp ebp, 0x3c
mov r15d, 0x3c
cmovl r15d, ebp
lea rdi, [r14 + 8]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14016eeeb
cmp ebx, r15d
jge 0x14016eed7
movsxd rax, ebx
movsxd rcx, r15d
inc qword [r14 + rax*8 + 0x10]
inc rax
cmp rcx, rax
jne 0x14016eeca
mov rcx, rdi
call r12
cmp ebp, 0x3d
jl 0x14016eb0a
jmp 0x14016f25b
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14016eebf
cmp byte [r12 + 0x200], 0
jne 0x14016efca
test r15, r15
je 0x14016ef1f
mov eax, 1
lock xadd dword [r15], eax
cmp eax, 0x7fffffff
je 0x14016f33f
mov rbp, qword [r12 + 0x1f8]
mov qword [r12 + 0x1f8], r15
test rbp, rbp
je 0x14016efca
jmp 0x14016f342
xor eax, eax
cmp r14, rbp
setns al
movabs rcx, 0x7fffffffffffffff
add rax, rcx
mov rcx, r14
sub rcx, rbp
cmovo rcx, rax
cmp rcx, 0x989680
jge 0x14016f2e7
mov ecx, 0x208
call fcn.140184dc4
mov r15, rax
mov dword [rax], 0
lea rcx, [rax + 8]
mov r8d, 0x1e8
xor edx, edx
call fcn.140189b30
mov qword [r15 + 0x1f0], rbp
mov qword [r15 + 0x1f8], 0
mov byte [r15 + 0x200], 0
test r15, r15
je 0x14016efc1
mov eax, 1
lock xadd dword [r15], eax
cmp eax, 0x7fffffff
je 0x14016f2a7
test r12, r12
jne 0x14016eef6
test r15, r15
je 0x14016efe4
mov eax, 1
lock xadd dword [r15], eax
cmp eax, 0x7fffffff
je 0x14016f2aa
mov r12, qword [0x1402b77b8]
mov qword [0x1402b77b8], r15
test r12, r12
jne 0x14016f0dd
lea rcx, [0x1402b77a8]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [r15 + 0x1f0]
xor edx, edx
cmp r14, rax
setns dl
movabs r8, 0x7fffffffffffffff
add rdx, r8
mov rcx, r14
sub rcx, rax
movabs rbp, 0x8000000000000001
cmovo rcx, rdx
lea rdx, [rcx + rbp]
cmp rdx, 2
jb 0x14016f2f8
mov ebp, 0x3938700
xor eax, eax
cmp rbp, rcx
setns al
add rax, r8
sub rbp, rcx
cmovo rbp, rax
mov ecx, 0x28
call fcn.140184dc4
mov r14, rax
mov dword [rax], 1
lea rax, [0x1401c7780]
mov qword [r14 + 8], rax
lea rax, [0x1401c79a0]
mov qword [r14 + 0x10], rax
lea rax, [0x1401fb3c0]
mov qword [r14 + 0x18], rax
lea rdx, str.MonitorNextJankWindowIfNecessary
lea r8, str....._base_threading_scoped_blocking_call_internal.cc
lea r12, [rsp + 0x48]
mov rcx, r12
mov r9d, 0xca
call fcn.1400ee990
lea r9, [rsp + 0x68]
mov qword [r9], r14
mov qword [rsp + 0x20], rbp
lea r8, [0x14027c652]
xor ecx, ecx
mov rdx, r12
call fcn.1400141f0
mov qword [rsp + 0xa8], r15
jmp 0x14016e920
lock dec dword [r12]
jne 0x14016effb
mov rcx, r12
call fcn.14000fc10
mov rcx, r12
call fcn.140184dbc
jmp 0x14016effb
lea rcx, [0x1402b77a8]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14016e8cc
mov rcx, r14
call qword [0x1402ca008]
mov r14, qword [rsp + 0xa0]
jmp 0x14016e892
lea rdi, [rsp + 0x28]
mov rcx, rdi
call qword [0x1402ca008]
mov rdi, qword [rdi]
jmp 0x14016ead6
mov esi, 0xffffffff
jmp 0x14016e99b
call fcn.1400de590
jmp 0x14016eb58
ud2
mov rcx, r14
call fcn.1400ddc60
jmp 0x14016e7bc
int3
mov rcx, r14
call fcn.1402023e0
mov byte [rsp + 0x98], 0
jmp 0x14016e835
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor esi, esi
cmp eax, 0x26
setne sil
neg esi
jmp 0x14016e99b
mov qword [rsp + 0xa0], rax
jmp 0x14016e93a
int3
mov rcx, qword [0x1402b7458]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
mov r14, rax
add r14, r8
jmp 0x14016e88a
dec qword [rcx + 0x128]
call fcn.14020bc20
jmp 0x14016ea3e
mov rcx, rdi
call fcn.14000fc10
mov rcx, rdi
call fcn.140184dbc
jmp 0x14016eb20
mov rcx, qword [0x1402b7458]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
mov rdi, rax
add rdi, r8
jmp 0x14016ead1
addsd xmm0, qword [0x140260ed8]
call fcn.1401c1cdc
jmp 0x14016ee82
xor eax, eax
ucomisd xmm0, qword [0x140260ee8]
mov ebx, 0x7fffffff
cmovb ebx, eax
jmp 0x14016ee4a
xor eax, eax
ucomisd xmm0, qword [0x140260ee8]
mov ebp, 0x7fffffff
cmovb ebp, eax
jmp 0x14016ee98
mov r14, qword [r14 + 0x1f8]
sub ebp, r15d
xor ebx, ebx
test r14, r14
jne 0x14016ee9f
jmp 0x14016eb0a
xor ecx, ecx
cmp rax, r15
setg cl
lea rax, [0x14027a8c0]
movsd xmm0, qword [rax + rcx*8]
jmp 0x14016ee1f
xor eax, eax
cmp rdi, r15
setl al
lea rcx, [0x14027a8c0]
movsd xmm0, qword [rcx + rax*8]
jmp 0x14016ee5f
int3
int3
lea rbx, [rsp + 0x48]
mov rcx, rbx
mov rdx, rdi
call fcn.14006aa40
mov rbx, qword [rbx]
test rbx, rbx
je 0x14016ede6
lock dec dword [rbx]
jne 0x14016ede6
mov rcx, rbx
call fcn.14000fc10
mov rcx, rbx
call fcn.140184dbc
jmp 0x14016ede6
mov byte [r12 + 0x200], 1
mov rbp, r14
jmp 0x14016ef69
xor ecx, ecx
cmp rax, r14
setg cl
not rcx
add rbp, rcx
jmp 0x14016f05d
mov r14, qword [rax + 0x38]
mov qword [rax + 0x38], 0
test r14, r14
je 0x14016e942
lock dec dword [r14]
jne 0x14016e942
mov rcx, r14
call fcn.14000fc10
mov rcx, r14
call fcn.140184dbc
jmp 0x14016e942
int3
lock dec dword [rbp]
jne 0x14016efca
mov rcx, rbp
call fcn.14000fc10
mov rcx, rbp
call fcn.140184dbc
jmp 0x14016efca