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

Disassembly:
push rsi
sub rsp, 0x60
mov rax, qword [rcx]
cmp byte [rax], 0
mov byte [rax], 0
je 0x1400b0792
mov byte [rsp + 0x37], 0
mov rax, qword [0x14019e0a8]
cmp rax, 3
jne 0x1400b072a
cmp byte [rsp + 0x37], 0
jne 0x1400b073f
mov ecx, dword [0x140101318]
test ecx, ecx
je 0x1400b0759
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 2
jb 0x1400b056d
mov rsi, rax
cmp byte [rax + 8], 0
jne 0x1400b0604
mov ecx, dword [0x140101318]
test ecx, ecx
je 0x1400b076c
dec ecx
call sub.kernel32.dll_TlsGetValue
test rax, rax
je 0x1400b05b9
mov rsi, rax
cmp rax, 1
jne 0x1400b05fe
lea rax, str.library_std_src_threadlocal.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x1401667b9]
lea r9, [0x140160050]
lea r8, [rsp + 0x38]
mov edx, 0x46
call fcn.14001cff0
movzx eax, byte [0x14019e160]
mov edx, 0x10
xor ecx, ecx
call fcn.1400ddfb0
test rax, rax
je 0x1400b07ac
mov rsi, rax
lea rax, [0x140101300]
mov qword [rsi], rax
mov byte [rsi + 8], 0
mov ecx, dword [0x140101318]
test ecx, ecx
je 0x1400b077f
dec ecx
mov rdx, rsi
call sub.kernel32.dll_TlsSetValue
mov word [rsi + 8], 1
add rsi, 9
mov rax, qword [0x14019e070]
cmp rax, rsi
jne 0x1400b0636
mov eax, dword [0x14019e0a0]
inc eax
jne 0x1400b0656
lea rcx, str.lock_count_overflow_in_reentrant_mutexlibrary_std_src_sync_remutex.rs
lea r8, [0x1401617f8]
mov edx, 0x26
call fcn.14001e680
lea rcx, [0x14019e068]
call sub.kernel32.dll_TryAcquireSRWLockExclusive
test al, al
je 0x1400b073f
mov qword [0x14019e070], rsi
mov eax, 1
mov dword [0x14019e0a0], eax
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x40], 1
mov qword [rsp + 0x48], 0
mov byte [rsp + 0x50], 0
mov byte [rsp + 0x55], 0
mov dword [rsp + 0x51], 0
cmp qword [0x14019e078], 0
jne 0x1400b079e
mov qword [0x14019e078], 0xffffffffffffffff
cmp byte [0x14019e098], 0
jne 0x1400b06cb
lea rcx, [0x14019e080]
call fcn.1400b0900
mov qword [rsp + 0x58], rax
test rax, rax
je 0x1400b06cb
lea rcx, [rsp + 0x58]
call fcn.1400af350
cmp qword [0x14019e080], 0
je 0x1400b06ea
mov r8, qword [0x14019e088]
mov rcx, qword [0x14019e0f8]
xor edx, edx
call fcn.1400fdef8
movups xmm0, xmmword [rsp + 0x38]
movups xmm1, xmmword [rsp + 0x48]
movups xmmword [0x14019e090], xmm1
movups xmmword [0x14019e080], xmm0
inc qword [0x14019e078]
dec dword [0x14019e0a0]
jne 0x1400b073f
mov qword [0x14019e070], 0
lea rcx, [0x14019e068]
call fcn.1400fdf70
jmp 0x1400b073f
lea rcx, [rsp + 0x37]
call fcn.1400b0890
cmp byte [rsp + 0x37], 0
je 0x1400b0545
mov rax, qword [0x14019e100]
cmp rax, 3
jne 0x1400b0752
call qword [0x14019e108]
nop
add rsp, 0x60
pop rsi
ret
lea rcx, [0x140101300]
call fcn.1400afb50
mov ecx, eax
jmp 0x1400b0555
lea rcx, [0x140101300]
call fcn.1400afb50
mov ecx, eax
jmp 0x1400b057d
lea rcx, [0x140101300]
call fcn.1400afb50
mov ecx, eax
jmp 0x1400b05f6
lea rcx, str.library_std_src_synconce.rs
call fcn.14001e660
lea rcx, str.library_std_srcio_stdio.rs
call fcn.14001bbd0
ud2
mov ecx, 8
mov edx, 0x10
call fcn.140011cc0
mov rsi, rax
cmp qword [0x14019e080], 0
je 0x1400b07dd
mov r8, qword [0x14019e088]
mov rcx, qword [0x14019e0f8]
xor edx, edx
call fcn.1400fdef8
movups xmm0, xmmword [rsp + 0x38]
movups xmm1, xmmword [rsp + 0x48]
movups xmmword [0x14019e090], xmm1
movups xmmword [0x14019e080], xmm0
inc qword [0x14019e078]
jmp 0x1400b083a
dec dword [0x14019e0a0]
jne 0x1400b0859
mov qword [0x14019e070], 0
lea rcx, [0x14019e068]
call fcn.1400fdf70
mov rcx, rsi
call fcn.1400fe490
cmp qword [rsp + 0x38], 0
je 0x1400b087c
mov r8, qword [rsp + 0x40]
mov rcx, qword [0x14019e0f8]
xor edx, edx
call fcn.1400fdef8
call fcn.14001ead0
int3