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

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x80
mov rdi, rdx
mov esi, dword [rcx + 0x18]
test esi, esi
je 0x14001c32f
dec esi
mov ecx, esi
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
ja 0x14001c324
je 0x14001c322
test rdi, rdi
je 0x14001c10b
mov rbx, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
jne 0x14001c2c7
movabs rax, 0x736f6d6570736575
mov qword [rsp + 0x38], rax
movabs rax, 0x6c7967656e657261
mov qword [rsp + 0x40], rax
movabs rax, 0x646f72616e646f6d
mov qword [rsp + 0x48], rax
movabs rax, 0x7465646279746573
mov qword [rsp + 0x50], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], 0
call sym.std::time::Instant::now::hb71b62803ac17da1
mov ebx, edx
mov qword [rsp + 0x28], rax
lea rdi, [rsp + 0x38]
lea rdx, [rsp + 0x28]
mov r8d, 8
mov rcx, rdi
call sym.__core::hash::sip::Hasher_S__as_core::hash::Hasher_::write::h246a6b86b419f658
mov dword [rsp + 0x28], ebx
lea rdx, [rsp + 0x28]
mov r8d, 4
mov rcx, rdi
call sym.__core::hash::sip::Hasher_S__as_core::hash::Hasher_::write::h246a6b86b419f658
call sym.std::thread::current::h64ce1004ddb533b7
mov rbx, rax
mov qword [rsp + 0x30], rax
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x28]
mov r8d, 8
mov rcx, rdi
call sym.__core::hash::sip::Hasher_S__as_core::hash::Hasher_::write::h246a6b86b419f658
lock dec qword [rbx]
jne 0x14001c1d1
lea rcx, [rsp + 0x30]
call sym.alloc::sync::Arc_T_A_::drop_slow::heec52191faa72ae2
mov r9, qword [rsp + 0x68]
shl r9, 0x38
or r9, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x50]
xor rax, r9
mov r8, qword [rsp + 0x38]
add r8, rcx
mov rdx, qword [rsp + 0x40]
rol rcx, 0xd
add rdx, rax
xor rcx, r8
rol rax, 0x10
xor rax, rdx
rol r8, 0x20
add rdx, rcx
add r8, rax
rol rcx, 0x11
xor rcx, rdx
rol rax, 0x15
rol rdx, 0x20
xor rax, r8
xor r8, r9
xor rdx, 0xff
add r8, rcx
add rdx, rax
rol rcx, 0xd
xor rcx, r8
rol rax, 0x10
rol r8, 0x20
xor rax, rdx
add rdx, rcx
rol rcx, 0x11
add r8, rax
xor rcx, rdx
rol rax, 0x15
xor rax, r8
rol rdx, 0x20
add r8, rcx
add rdx, rax
rol rcx, 0xd
xor rcx, r8
rol rax, 0x10
rol r8, 0x20
xor rax, rdx
add rdx, rcx
rol rcx, 0x11
add r8, rax
xor rcx, rdx
rol rax, 0x15
xor rax, r8
rol rdx, 0x20
add r8, rcx
add rdx, rax
rol rcx, 0xd
xor rcx, r8
rol rax, 0x10
xor rax, rdx
add rdx, rcx
rol rcx, 0x11
rol rax, 0x15
mov r8, rdx
rol r8, 0x20
xor r8, rcx
xor r8, rax
xor r8, rdx
lea rbx, [r8*2 + 1]
mov rax, qword [str.1_F_]
movzx eax, byte [rax]
mov ecx, 0x10
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x14001c349
mov qword [rax], rbx
mov dword [rax + 8], esi
mov ecx, esi
mov rbx, rax
call sub.kernel32.dll_TlsGetValue
mov rdi, rax
mov ecx, esi
mov rsi, rbx
mov rdx, rbx
call fcn.1402fb86c
test rdi, rdi
je 0x14001c31d
mov edx, 0x10
mov r8d, 8
mov rcx, rdi
call sym.__rust_dealloc
mov rax, rsi
jmp 0x14001c324
xor eax, eax
add rsp, 0x80
pop rbx
pop rdi
pop rsi
ret
call sym.std::sys::thread_local::key::windows::LazyKey::init::h597144e332ffcf99
mov esi, eax
mov ecx, esi
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
jbe 0x14001c0eb
jmp 0x14001c324
mov ecx, 8
mov edx, 0x10
call sym.alloc::alloc::handle_alloc_error::h526f0ddc898dc940
int3