Function at 0x140122f60
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
sub rsp, 0x50
mov rax, qword [rcx]
cmp byte [rax], 0
mov byte [rax], 0
je 0x140123208
mov byte [rsp + 0x2f], 0
mov rax, qword [0x140361080]
cmp rax, 3
jne 0x140122f93
cmp byte [rsp + 0x2f], 0
je 0x140122fa4
add rsp, 0x50
pop rsi
ret
lea rcx, [rsp + 0x2f]
call sym.std::sync::once_lock::OnceLock_T_::initialize::hb48b2a4c2a855c36
cmp byte [rsp + 0x2f], 0
jne 0x140122f8d
mov ecx, dword [0x1402b7108]
test ecx, ecx
je 0x140122ffe
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jb 0x140123017
mov rsi, rax
cmp byte [rax + 8], 0
je 0x140123017
add rsi, 9
mov rax, qword [0x140361048]
cmp rax, rsi
jne 0x1401230ff
mov eax, dword [0x140361078]
inc eax
jne 0x14012311f
lea rcx, str.lock_count_overflow_in_reentrant_mutexlibrary_std_src_sync_remutex.rs
lea r8, [0x14032ecc8]
mov edx, 0x26
call sym.core::option::expect_failed::h59fcd8cb38e67766
lea rcx, sym.std::sys::common::thread_local::os_local::destroy_value::h09bb1f25f6aed612
call sym.std::sys::windows::thread_local_key::StaticKey::init::h6a94beccf240c3a3
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jae 0x140122fbb
mov ecx, dword [0x1402b7108]
test ecx, ecx
je 0x140123063
dec ecx
call sub.KERNEL32.dll_TlsGetValue
test rax, rax
je 0x14012307b
mov rsi, rax
cmp rax, 1
jne 0x1401230e5
lea rax, [0x14032e908]
mov qword [rsp + 0x20], rax
lea rcx, str.cannot_access_a_Thread_Local_Storage_value_during_or_after_destructionlibrary_std_src_threadlocal.rs
lea r9, sym.core::ptr::drop_in_place____::h04f741bfc59763a9
lea r8, [rsp + 0x30]
mov edx, 0x46
call sym.core::result::unwrap_failed::he510860cc1c360dc
lea rcx, sym.std::sys::common::thread_local::os_local::destroy_value::h09bb1f25f6aed612
call sym.std::sys::windows::thread_local_key::StaticKey::init::h6a94beccf240c3a3
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
test rax, rax
jne 0x14012302d
movzx eax, byte [0x140361100]
mov rcx, qword [0x1403610c8]
test rcx, rcx
jne 0x1401230a6
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x14012322e
mov rcx, rax
mov qword [0x1403610c8], rax
mov r8d, 0x10
xor edx, edx
call fcn.14014aadc
test rax, rax
je 0x14012322e
mov rsi, rax
lea rax, sym.std::sys::common::thread_local::os_local::destroy_value::h09bb1f25f6aed612
mov qword [rsi], rax
mov byte [rsi + 8], 0
mov ecx, dword [0x1402b7108]
test ecx, ecx
je 0x1401231f5
dec ecx
mov rdx, rsi
call fcn.14014a9a4
mov word [rsi + 8], 1
add rsi, 9
mov rax, qword [0x140361048]
cmp rax, rsi
je 0x140122fd8
lea rcx, [0x140361040]
call sub.KERNEL32.dll_TryAcquireSRWLockExclusive
test al, al
je 0x140122f8d
mov qword [0x140361048], rsi
mov eax, 1
mov dword [0x140361078], eax
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], 1
mov qword [rsp + 0x40], 0
mov byte [rsp + 0x48], 0
mov byte [rsp + 0x4d], 0
mov dword [rsp + 0x49], 0
cmp qword [0x140361050], 0
jne 0x140123220
mov qword [0x140361050], 0xffffffffffffffff
cmp byte [0x140361070], 0
jne 0x14012318d
lea rcx, [0x140361058]
call sym.std::io::buffered::bufwriter::BufWriter_W_::flush_buf::h8eb87a3e418db93d
test rax, rax
je 0x14012318d
mov rcx, rax
call sym.core::ptr::drop_in_place_std::io::error::Error_::he1a1f231b7e07eb9
cmp qword [0x140361058], 0
je 0x1401231ac
mov r8, qword [0x140361060]
mov rcx, qword [0x1403610c8]
xor edx, edx
call fcn.14014aabc
movups xmm0, xmmword [rsp + 0x30]
movups xmm1, xmmword [rsp + 0x40]
movups xmmword [0x140361068], xmm1
movups xmmword [0x140361058], xmm0
inc qword [0x140361050]
dec dword [0x140361078]
jne 0x140122f8d
mov qword [0x140361048], 0
lea rcx, [0x140361040]
call fcn.14014aa24
nop
add rsp, 0x50
pop rsi
ret
lea rcx, sym.std::sys::common::thread_local::os_local::destroy_value::h09bb1f25f6aed612
call sym.std::sys::windows::thread_local_key::StaticKey::init::h6a94beccf240c3a3
mov ecx, eax
jmp 0x1401230dd
lea rcx, str.called__Option::unwrap____on_a__None__value_rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrarycore_srcio_borrowed_buf.rs_rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrary_alloc_srccollections_btree_navigate.rsIndex_out_of_bounds
lea r8, str.library_std_src_synconce.rs
mov edx, 0x2b
call sym.core::panicking::panic::haa5ab648900af052
lea rcx, str.library_std_srcio_stdio.rs
call sym.core::cell::panic_already_borrowed::hd41cbf2261710bb6
ud2
mov ecx, 8
mov edx, 0x10
call sym.alloc::alloc::handle_alloc_error::hc580476980f9927e
mov rsi, rax
cmp qword [0x140361058], 0
je 0x14012325f
mov r8, qword [0x140361060]
mov rcx, qword [0x1403610c8]
xor edx, edx
call fcn.14014aabc
movups xmm0, xmmword [rsp + 0x30]
movups xmm1, xmmword [rsp + 0x40]
movups xmmword [0x140361068], xmm1
movups xmmword [0x140361058], xmm0
inc qword [0x140361050]
jmp 0x1401232b5
dec dword [0x140361078]
jne 0x1401232d4
mov qword [0x140361048], 0
lea rcx, [0x140361040]
call fcn.14014aa24
mov rcx, rsi
call sym._Unwind_Resume
cmp qword [rsp + 0x30], 0
je 0x1401232f7
mov r8, qword [rsp + 0x38]
mov rcx, qword [0x1403610c8]
xor edx, edx
call fcn.14014aabc
call sym.core::panicking::panic_in_cleanup::h11b1fa1e223e7d8a
int3