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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xd8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x50], 0xfffffffffffffffe
mov rdi, qword [rcx + 0x10]
mov r14d, dword [rcx + 0x18]
lea rsi, [rcx + 8]
mov r13, qword [rcx]
mov r15, qword [rcx + 8]
lea rax, [r13 + 0x20]
mov qword [rbp - 0x50], rax
lea rax, [r13 + 0x10]
mov qword [rbp + 0x30], rax
lea eax, [r14 + 0x3b9aca00]
mov dword [rbp - 0x34], eax
lea rax, [r15 + 0x10]
mov qword [rbp - 8], rax
lea r12, [r15 + 0x20]
xor ebx, ebx
cmp r15, 0xffffffffffffffff
je 0x1400327ca
mov rax, qword [r15]
nop dword [rax + rax]
test rax, rax
je 0x1400327ca
js 0x140032846
lea rdx, [rax + 1]
lock cmpxchg qword [r15], rdx
jne 0x140032360
mov qword [rbp - 0x18], rcx
mov qword [rbp - 0x20], rsi
mov qword [rbp - 0x30], r15
mov byte [rbp + 0x4d], 1
mov rcx, qword [rbp - 8]
call qword [sym.imp.kernel32.dll_AcquireSRWLockExclusive]
mov rax, qword [0x1400d6378]
shl rax, 1
test rax, rax
jne 0x140032723
mov dword [rbp + 0x3c], 0
movzx eax, byte [r15 + 0x18]
test al, al
jne 0x140032965
cmp byte [r15 + 0xf8], 0
jne 0x14003278c
mov qword [rbp - 0x10], r15
mov qword [rbp + 0x40], 0
lea rcx, [rbp + 0x40]
call qword [sym.imp.kernel32.dll_QueryPerformanceCounter]
test eax, eax
je 0x1400329da
mov rcx, qword [rbp + 0x40]
mov byte [rbp + 0x4f], 1
mov byte [rbp + 0x4e], 1
call fcn.140060e60
mov r8d, edx
mov rdx, qword [rbp - 0x10]
mov rcx, qword [rdx + 0x80]
inc rcx
mov r9, 0xffffffffffffffff
cmove rcx, r9
mov qword [rdx + 0x80], rcx
mov byte [rbp + 0x4f], 1
mov byte [rbp + 0x4e], 1
mov rcx, r12
mov rdx, rax
call fcn.14002c1c0
cmp byte [rbp + 0x3c], 0
jne 0x140032447
mov rax, qword [0x1400d6378]
shl rax, 1
test rax, rax
jne 0x14003275b
mov byte [rbp + 0x4f], 1
mov byte [rbp + 0x4e], 0
mov rcx, qword [rbp - 8]
call qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
mov rax, qword [rbp - 0x10]
mov qword [rbp], rax
lock dec qword [rax]
jne 0x140032477
mov byte [rbp + 0x4f], 0
mov byte [rbp + 0x4e], 0
mov rcx, rbp
call fcn.14002fc90
mov byte [rbp + 0x4f], 0
mov byte [rbp + 0x4e], 0
mov rcx, qword [rbp + 0x30]
call qword [sym.imp.kernel32.dll_AcquireSRWLockExclusive]
mov rax, qword [0x1400d6378]
shl rax, 1
test rax, rax
jne 0x14003273f
xor ecx, ecx
movzx eax, byte [r13 + 0x18]
test al, al
jne 0x140032a15
mov dword [rbp + 0x38], ecx
mov qword [rbp - 0x48], r12
mov qword [rbp - 0x28], r13
mov qword [rbp + 0x40], 0
lea rcx, [rbp + 0x40]
call qword [sym.imp.kernel32.dll_QueryPerformanceCounter]
test eax, eax
je 0x14003299f
mov rcx, qword [rbp + 0x40]
call fcn.140060e60
mov r15, rax
mov r12d, edx
mov r13, qword [rbp - 0x28]
jmp 0x140032514
mov r8d, 0xffffffff
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp + 0x30]
xor r9d, r9d
call qword [sym.imp.kernel32.dll_SleepConditionVariableSRW]
movzx ecx, byte [r13 + 0x18]
test cl, cl
jne 0x140032896
movzx esi, byte [r13 + 0x19]
test sil, sil
jne 0x1400326d0
mov qword [rbp + 0x40], 0
lea rcx, [rbp + 0x40]
call qword [sym.imp.kernel32.dll_QueryPerformanceCounter]
test eax, eax
je 0x140032858
mov r13, qword [rbp + 0x40]
mov r8, qword [0x1400d62e8]
test r8, r8
jne 0x14003257a
mov qword [rbp + 0x40], 0
lea rcx, [rbp + 0x40]
call qword [sym.imp.kernel32.dll_QueryPerformanceFrequency]
test eax, eax
je 0x140032927
mov r8, qword [rbp + 0x40]
mov qword [0x1400d62e8], r8
test r8, r8
je 0x140032812
mov rax, r13
or rax, r8
shr rax, 0x20
je 0x1400325a0
mov rax, r13
xor edx, edx
div r8
mov rcx, rax
jmp 0x1400325aa
mov eax, r13d
xor edx, edx
div r8d
mov ecx, eax
imul rax, rdx, 0x3b9aca00
mov rdx, rax
or rdx, r8
shr rdx, 0x20
je 0x1400325d0
xor edx, edx
div r8
jmp 0x1400325d5
xor edx, edx
div r8d
imul rcx, rcx, 0x3b9aca00
add rcx, rax
mov rax, rcx
shr rax, 9
movabs rdx, 0x44b82fa09b5a53
mul rdx
shr rdx, 0xb
imul eax, edx, 0x3b9aca00
sub ecx, eax
mov qword [rbp], rdx
mov dword [rbp + 8], ecx
mov rcx, rbp
mov rdx, r15
mov r8d, r12d
call case.0x140042c55.533
mov rcx, rax
cmp edx, 0x3b9aca00
cmove edx, ebx
cmove rcx, rbx
mov rax, rdi
sub rax, rcx
mov r13, qword [rbp - 0x28]
jb 0x1400326d0
cmp edx, r14d
jbe 0x140032650
test rax, rax
je 0x1400326d0
dec rax
mov ecx, dword [rbp - 0x34]
jmp 0x140032653
mov ecx, r14d
sub ecx, edx
mov edx, ecx
shr edx, 9
imul r8, rdx, 0x44b83
shr r8, 0x27
add rax, r8
jb 0x1400328ee
mov edx, 0x3e8
mul rdx
jo 0x1400324f0
imul edx, r8d, 0x3b9aca00
sub ecx, edx
mov edx, ecx
imul rdx, rdx, 0x431bde83
shr rdx, 0x32
add rax, rdx
jb 0x1400324f0
imul edx, edx, 0xf4240
xor r9d, r9d
sub ecx, edx
setne r9b
lea r8, [rax + r9]
mov ecx, 0xffffffff
cmp r8, rcx
cmovae r8, rcx
add rax, r9
jb 0x1400324f0
jmp 0x1400324f6
cmp byte [rbp + 0x38], 0
jne 0x1400326e9
mov rax, qword [0x1400d6378]
shl rax, 1
test rax, rax
jne 0x140032775
mov byte [rbp + 0x4f], 0
mov byte [rbp + 0x4e], 0
mov rcx, qword [rbp + 0x30]
call qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
mov r12, qword [rbp - 0x48]
test sil, sil
jne 0x1400327c2
mov rsi, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x18]
mov r15, qword [rbp - 0x10]
cmp r15, 0xffffffffffffffff
jne 0x140032358
jmp 0x1400327ca
call fcn.14009bf70
xor al, 1
mov dword [rbp + 0x3c], eax
movzx eax, byte [r15 + 0x18]
test al, al
je 0x1400323bb
jmp 0x140032965
call fcn.14009bf70
mov ecx, eax
xor cl, 1
movzx eax, byte [r13 + 0x18]
test al, al
je 0x1400324ab
jmp 0x140032a15
call fcn.14009bf70
test al, al
jne 0x140032447
mov rax, qword [rbp - 0x10]
mov byte [rax + 0x18], 1
jmp 0x140032447
call fcn.14009bf70
test al, al
jne 0x1400326e9
mov byte [r13 + 0x18], 1
jmp 0x1400326e9
cmp byte [rbp + 0x3c], 0
jne 0x1400327a5
mov rax, qword [0x1400d6378]
shl rax, 1
test rax, rax
jne 0x14003282f
mov byte [rbp + 0x4d], 1
mov rcx, qword [rbp - 8]
call qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
lock dec qword [r15]
jne 0x1400327c2
lea rcx, [rbp - 0x30]
call fcn.14002fc90
mov rsi, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x18]
mov rax, qword [rcx]
lock dec qword [rax]
jne 0x1400327db
mov rcx, qword [rcx]
call fcn.140060870
mov rax, qword [rsi]
cmp rax, 0xffffffffffffffff
je 0x1400327fd
lock dec qword [rax + 8]
jne 0x1400327fd
mov r8, qword [rsi]
mov rcx, qword [0x1400d62c0]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
nop
add rsp, 0xd8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea rcx, str.attempt_to_divide_by_zero_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112librarycore_src_strpattern.rsI
lea r8, str.library_std_src_sys_commonmod.rs
mov edx, 0x19
call fcn.140099430
jmp 0x140032a47
call fcn.14009bf70
test al, al
jne 0x1400327a5
mov byte [r15 + 0x18], 1
jmp 0x1400327a5
mov qword [rbp - 0x18], rcx
mov qword [rbp - 0x20], rsi
call fcn.140099b00
jmp 0x140032a47
call qword [sym.imp.kernel32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov qword [rbp], rax
lea rax, str.library_std_src_syswindows_time.rs
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__valueNulError
lea r9, fcn.1400941e0
mov r8, rbp
mov edx, 0x2b
call fcn.1400997c0
jmp 0x140032a47
test eax, eax
mov eax, dword [rbp + 0x40]
mov ecx, dword [rbp + 0x43]
mov dword [rbp + 0xc], ecx
mov dword [rbp + 9], eax
mov eax, dword [rbp - 0x3b]
mov ecx, dword [rbp - 0x38]
mov dword [rbp + 0x11], eax
mov dword [rbp + 0x14], ecx
mov rax, qword [rbp + 0x30]
mov qword [rbp], rax
mov eax, dword [rbp + 0x38]
mov byte [rbp + 8], al
sete byte [rbp + 0x10]
lea rax, str.C:Usersloris.cargo_registry_srcindex.crates.io_6f17d22bba15001findicatif_0.17.7_srcprogress_bar.rs
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__valueNulError
lea r9, fcn.140019af0
mov r8, rbp
mov edx, 0x2b
call fcn.1400997c0
jmp 0x140032a47
lea rax, str.overflow_in_Duration::new
mov qword [rbp], rax
mov qword [rbp + 8], 1
lea rax, [0x1400b7ec8]
mov qword [rbp + 0x10], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x18], xmm0
lea rdx, str._rustc_82e1608dfa6e0b5569232559e3d385fea5a93112librarycore_src_time.rs
mov rcx, rbp
call fcn.140099270
jmp 0x140032a47
call qword [sym.imp.kernel32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov qword [rbp], rax
lea rax, str.library_std_src_syswindows_time.rs
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__valueNulError
lea r9, fcn.1400941e0
mov r8, rbp
mov edx, 0x2b
call fcn.1400997c0
jmp 0x140032a47
mov rax, qword [rbp - 8]
mov qword [rbp], rax
mov eax, dword [rbp + 0x3c]
mov byte [rbp + 8], al
lea rax, str.C:Usersloris.cargo_registry_srcindex.crates.io_6f17d22bba15001findicatif_0.17.7_srcprogress_bar.rs
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__valueNulError
lea r9, fcn.140019af0
mov r8, rbp
mov edx, 0x2b
call fcn.1400997c0
jmp 0x140032a47
call qword [sym.imp.kernel32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov qword [rbp], rax
lea rax, str.library_std_src_syswindows_time.rs
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__valueNulError
lea r9, fcn.1400941e0
mov r8, rbp
mov edx, 0x2b
call fcn.1400997c0
jmp 0x140032a47
call qword [sym.imp.kernel32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov qword [rbp], rax
lea rax, str.library_std_src_syswindows_time.rs
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__valueNulError
lea r9, fcn.1400941e0
mov r8, rbp
mov edx, 0x2b
call fcn.1400997c0
jmp 0x140032a47
mov rax, qword [rbp + 0x30]
mov qword [rbp], rax
mov byte [rbp + 8], cl
lea rax, str.C:Usersloris.cargo_registry_srcindex.crates.io_6f17d22bba15001findicatif_0.17.7_srcprogress_bar.rs
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__valueNulError
lea r9, fcn.140019af0
mov r8, rbp
mov edx, 0x2b
call fcn.1400997c0
ud2