Function at 0x140209890
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, 0x88
lea rbp, [rsp + 0x80]
mov qword [rbp], 0xfffffffffffffffe
cmp dword [rdx + 0x88], 0x3b9aca00
je 0x140209eb7
movzx eax, byte [rdx + 0x7c]
test al, al
jne 0x140209ecf
cmp dword [rdx + 0x88], 0x3b9aca00
je 0x140209ee7
mov rsi, rcx
mov qword [rbp - 0x40], r8
mov dword [rbp - 0x24], r9d
mov ecx, 8
xor eax, eax
lock cmpxchg qword [rdx + 0x60], rcx
jne 0x140209bf8
lea rax, [rdx + 0x58]
mov qword [rbp - 0x50], rax
mov rbx, qword [rdx + 0x68]
mov qword [rbp - 0x48], rdx
mov rax, qword [rdx + 0x70]
lea rax, [rax + rax*4]
lea r12, [rbx + rax*8]
xor r15d, r15d
lea r14, [rbp - 0x20]
cmp rbx, r12
je 0x1402099a2
lea rdx, [rbx + 8]
mov rcx, r14
call fcn.14020a750
add rbx, 0x28
cmp qword [rbp - 0x20], 0
je 0x140209920
mov r13, qword [rbp - 8]
mov r15d, 1
cmp rbx, r12
je 0x1402099a2
sub r12, rbx
shr r12, 3
movabs rdi, 0xcccccccccccccccd
imul rdi, r12
xor r12d, r12d
lea r14, [rbp - 0x20]
nop word [rax + rax]
lea rax, [r12 + r12*4]
lea rdx, [rbx + rax*8]
add rdx, 8
mov rcx, r14
call fcn.14020a750
mov rax, qword [rbp - 8]
cmp r13, rax
cmovb rax, r13
cmp qword [rbp - 0x20], 0
cmovne r13, rax
inc r12
cmp r12, rdi
jne 0x140209970
jmp 0x1402099a2
mov r12, qword [rbp - 0x48]
cmp dword [r12 + 0x88], 0x3b9aca00
je 0x140209eff
test r15, r15
je 0x140209ad9
test r13, r13
je 0x140209b84
mov qword [r12 + 0x58], r13
xor ecx, ecx
mov eax, 8
lock cmpxchg qword [r12 + 0x60], rcx
jne 0x140209ba1
mov r14, qword [r12 + 0x80]
mov r15d, dword [r12 + 0x88]
mov qword [rbp - 0x38], 0
lea rcx, [rbp - 0x38]
call qword [sym.imp.kernel32.dll_QueryPerformanceCounter]
test eax, eax
je 0x140209f55
mov rcx, qword [rbp - 0x38]
call case.0x1401a72f6.612
mov qword [rbp - 0x20], rax
mov dword [rbp - 0x18], edx
lea rcx, [rbp - 0x20]
mov rdx, r14
mov r8d, r15d
call case.0x14016aee4.511
mov ecx, edx
mov edx, edx
imul r8, rdx, 0x431bde83
shr r8, 0x32
mov edx, 0x3e8
mul rdx
xor r9d, r9d
cmp ecx, 0x3b9aca00
cmove rdx, r9
cmove rax, r9
cmove r8d, r9d
add r8, rax
adc rdx, 0
cmp r8, 0xfffffffffffffffd
mov rax, 0xfffffffffffffffd
cmovae r8, rax
test rdx, rdx
cmovne r8, rax
sub r13, r8
cmovb r13, r9
mov rax, r13
shr rax, 3
movabs rcx, 0x20c49ba5e353f7cf
mul rcx
mov r8, rdx
shr r8, 4
imul rcx, r8, 0x3e8
mov rax, r13
sub rax, rcx
cmp r13, 0x3e8
setb cl
test rax, rax
sete dl
test cl, dl
je 0x140209b22
xor eax, eax
cmp rax, qword [rsi]
jno 0x140209bb0
mov rcx, qword [rsi + 8]
xor edx, edx
mov eax, 2
lock cmpxchg qword [rcx + 0x10], rdx
jmp 0x140209c5c
mov qword [r12 + 0x58], 0
xor ecx, ecx
mov eax, 8
lock cmpxchg qword [r12 + 0x60], rcx
mov edi, dword [rbp - 0x24]
jne 0x140209c0c
xor eax, eax
cmp edi, 0x3b9aca00
jne 0x140209c24
cmp rax, qword [rsi]
jno 0x140209bdf
mov rcx, qword [rsi + 8]
add rcx, 0x10
call fcn.140209350
jmp 0x140209c5c
imul r9d, eax, 0xf4240
mov r10d, dword [rbp - 0x24]
cmp r10d, 0x3b9aca00
je 0x140209b65
xor eax, eax
mov r11, qword [rbp - 0x40]
cmp r8, r11
setne al
mov ecx, 0xff
cmova eax, ecx
xor edx, edx
cmp r9d, r10d
setne dl
cmova edx, ecx
test al, al
cmovne edx, eax
cmp dl, 1
cmovne r9d, r10d
cmovne r8, r11
xor eax, eax
cmp rax, qword [rsi]
jno 0x140209bcc
mov rcx, qword [rsi + 8]
add rcx, 0x10
mov rdx, r8
mov r8d, r9d
call fcn.14020a920
jmp 0x140209c5c
mov qword [r12 + 0x58], 1
xor ecx, ecx
mov eax, 8
lock cmpxchg qword [r12 + 0x60], rcx
je 0x1402099e3
lea rcx, [r12 + 0x60]
call fcn.140260e70
jmp 0x1402099e3
cmp qword [r12], 0
je 0x140209f91
mov rcx, rsi
mov rdx, r12
xor r8d, r8d
xor r9d, r9d
jmp 0x140209c57
cmp qword [r12], 0
je 0x140209f91
mov rcx, rsi
mov rdx, r12
jmp 0x140209c57
cmp qword [r12], 0
je 0x140209fa9
mov rcx, rsi
mov rdx, r12
mov r9d, 0x3b9aca00
jmp 0x140209c57
lea rcx, [rdx + 0x60]
mov rdi, rdx
call fcn.1402600f0
mov rdx, rdi
jmp 0x1402098fd
lea rcx, [r12 + 0x60]
call fcn.140260e70
xor eax, eax
cmp edi, 0x3b9aca00
je 0x140209b07
cmp rax, qword [rsi]
jno 0x140209c3f
mov rcx, qword [rsi + 8]
add rcx, 0x10
mov rdx, qword [rbp - 0x40]
mov r8d, edi
call fcn.14020a920
jmp 0x140209c5c
cmp qword [r12], 0
je 0x140209f91
mov rcx, rsi
mov rdx, r12
mov r8, qword [rbp - 0x40]
mov r9d, edi
call fcn.14020a0a0
mov rsi, qword [r12 + 0x80]
mov edi, dword [r12 + 0x88]
mov qword [rbp - 0x38], 0
lea rcx, [rbp - 0x38]
call qword [sym.imp.kernel32.dll_QueryPerformanceCounter]
test eax, eax
je 0x140209f19
mov rcx, qword [rbp - 0x38]
call case.0x1401a72f6.612
mov qword [rbp - 0x20], rax
mov dword [rbp - 0x18], edx
lea rcx, [rbp - 0x20]
mov rdx, rsi
mov r8d, edi
call case.0x14016aee4.511
mov ecx, edx
mov edx, edx
imul rdi, rdx, 0x431bde83
shr rdi, 0x32
mov edx, 0x3e8
mul rdx
xor r8d, r8d
cmp ecx, 0x3b9aca00
cmove rdx, r8
cmove rax, r8
cmove edi, r8d
add rdi, rax
adc rdx, 0
cmp rdi, 0xfffffffffffffffd
mov rax, 0xfffffffffffffffd
cmovae rdi, rax
test rdx, rdx
cmovne rdi, rax
mov ebx, dword [r12 + 0x78]
mov eax, dword [0x14034f154]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movzx eax, byte [rax + 0x120]
test eax, eax
je 0x140209d3e
cmp eax, 1
je 0x140209d6b
lea rax, [0x1402da8a8]
mov qword [rsp + 0x20], rax
lea rcx, str.cannot_access_a_Thread_Local_Storage_value_during_or_after_destruction_rustc_f6e511eec7342f59a25f7c0534f1dbea00d01b14library_std_src_threadlocal.rs
lea r9, [0x1402da558]
lea r8, [rbp - 0x20]
mov edx, 0x46
call fcn.14025bdc0
mov eax, dword [0x14034f154]
mov rcx, qword gs:[0x58]
mov rsi, qword [rcx + rax*8]
lea rcx, [rsi + 0xd8]
lea rdx, [0x1402024e0]
call case.0x14019bee2.322
mov byte [rsi + 0x120], 1
mov eax, dword [0x14034f154]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp dword [rax + 0x110], 0
je 0x140209da8
mov eax, dword [0x14034f154]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov edx, dword [rax + 0x118]
mov eax, dword [rax + 0x114]
jmp 0x140209dad
call fcn.1402022a0
mov ecx, eax
shl ecx, 0x11
xor ecx, eax
mov eax, edx
shr eax, 0x10
xor eax, edx
xor eax, ecx
shr ecx, 7
xor ecx, eax
lea esi, [rcx + rdx]
imul rsi, rbx
shr rsi, 0x20
mov eax, dword [0x14034f154]
mov r8, qword gs:[0x58]
mov rax, qword [r8 + rax*8]
mov dword [rax + 0x110], 1
mov dword [rax + 0x114], edx
mov dword [rax + 0x118], ecx
mov qword [rbp - 0x58], rdi
mov r14d, dword [r12 + 0x78]
lea r15d, [r14 + rsi]
mov dword [rbp - 0x10], esi
mov dword [rbp - 0xc], r15d
mov rax, qword [rbp - 0x50]
mov qword [rbp - 0x20], rax
lea r13, [rbp - 0x58]
mov qword [rbp - 0x18], r13
mov r12d, esi
cmp r15d, esi
cmova r12d, r15d
jbe 0x140209e4a
dec r14d
lea rbx, [rbp - 0x20]
nop dword [rax]
mov edx, esi
lea esi, [rdx + 1]
mov rcx, rbx
call fcn.14020ac70
test rax, rax
jne 0x140209e4e
dec r14d
cmp r12d, esi
jne 0x140209e30
xor edi, edi
jmp 0x140209e9c
mov rdi, rdx
mov rax, qword [rbp - 0x50]
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x30], r13
cmp esi, r15d
jae 0x140209e94
lea rbx, [rbp - 0x38]
nop word cs:[rax + rax]
lea r15d, [rsi + 1]
mov rcx, rbx
mov edx, esi
call fcn.14020ac70
cmp rdi, rdx
cmovb rdx, rdi
test rax, rax
cmovne rdi, rdx
mov esi, r15d
dec r14d
jne 0x140209e70
cmp rdi, 1
adc rdi, 0
mov rax, qword [rbp - 0x50]
mov qword [rax], rdi
add rsp, 0x88
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea rcx, [0x1402db328]
lea r8, [0x1402dc560]
mov edx, 0x73
call fcn.14025bee0
lea rcx, str.assertion_failed:__handle.is_shutdown__
lea r8, [0x1402dc5d0]
mov edx, 0x27
call fcn.14025bae0
lea rcx, [0x1402db328]
lea r8, [0x1402dc578]
mov edx, 0x73
call fcn.14025bee0
lea rcx, [0x1402db328]
lea r8, [0x1402dc590]
mov edx, 0x73
call fcn.14025bee0
jmp 0x140209f8f
call qword [sym.imp.kernel32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov qword [rbp - 0x20], rax
lea rax, str.std_src_syspalwindows_time.rs
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__valueSequenceDataDataMagicParamnumber_of_read_bytes_exceeds_limit
lea r9, fcn.1401e0310
lea r8, [rbp - 0x20]
mov edx, 0x2b
call fcn.14025bdc0
jmp 0x140209f8f
call qword [sym.imp.kernel32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov qword [rbp - 0x20], rax
lea rax, str.std_src_syspalwindows_time.rs
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__valueSequenceDataDataMagicParamnumber_of_read_bytes_exceeds_limit
lea r9, fcn.1401e0310
lea r8, [rbp - 0x20]
mov edx, 0x2b
call fcn.14025bdc0
ud2
lea rcx, str.A_Tokio_1.x_context_was_found__but_IO_is_disabled._Call__enable_io__on_the_runtime_builder_to_enable_IO.A_Tokio_1.x_context_was_found__but_timers_are_disabled._Call__enable_time__on_the_runtime_builder_to_enable_timers.Oh_no__We_never_placed_the_Core_back__this_is_a_bug_
lea r8, str.C:UsersAdmin_scooppersist_rustup.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.41.1_src_runtimeiodriver.rs
mov edx, 0x68
call fcn.14025bee0
lea rcx, str.A_Tokio_1.x_context_was_found__but_IO_is_disabled._Call__enable_io__on_the_runtime_builder_to_enable_IO.A_Tokio_1.x_context_was_found__but_timers_are_disabled._Call__enable_time__on_the_runtime_builder_to_enable_timers.Oh_no__We_never_placed_the_Core_back__this_is_a_bug_
lea r8, str.C:UsersAdmin_scooppersist_rustup.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.41.1_src_runtimeiodriver.rs
mov edx, 0x68
call fcn.14025bee0
int3