Function at 0x1400493c9
Capabilities:
Get thread local storage value

Disassembly:
push rbp
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0xe0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x28], rcx
mov qword [rbp + 0x30], rdx
mov qword [rbp + 0x50], r8
lock inc qword [0x1400610e0]
jle 0x140049989
mov ebx, r9d
mov rsi, rdx
mov rdi, rcx
call fcn.140021fb0
test rax, rax
jne 0x140049435
lea rax, str.std_src_threadlocal.rs
mov qword [rsp + 0x20], rax
lea rcx, str.cannot_access_a_Thread_Local_Storage_value_during_or_after_destruction
lea r9, [0x140057320]
push 0x46
pop rdx
lea r8, [rbp - 8]
call fcn.140007fc0
cmp byte [rax + 8], 0
jne 0x1400499f2
inc qword [rax]
mov byte [rax + 8], 1
mov eax, dword [0x1400610c0]
cmp eax, 0x3ffffffd
ja 0x1400494dc
lea ecx, [rax + 1]
lock cmpxchg dword [0x1400610c0], ecx
jne 0x1400494dc
mov r15b, byte [rbp + 0xc0]
mov al, byte [0x1400610c8]
cmp qword [0x1400610d0], 0
jne 0x1400495f0
mov r14, qword [rbp + 0x50]
mov rcx, qword [rbp + 0x28]
mov rax, qword [rbp + 0x30]
call qword [rax + 0x28]
mov rsi, rax
mov rdi, rdx
test r15b, r15b
je 0x14004964e
mov byte [rbp + 0x5f], 3
mov qword [rbp - 0x30], r14
mov rdi, qword [rdi + 0x18]
mov rcx, rsi
call rdi
movabs rcx, 0xb98b1b7157a64178
xor rax, rcx
movabs rcx, 0x63eb502cd6cb5d6d
xor rdx, rcx
or rdx, rax
jne 0x140049687
push 8
pop rcx
mov rax, rsi
jmp 0x1400496b9
mov eax, dword [0x1400610c0]
cmp eax, 0x3fffffff
jne 0x140049504
push 0xffffffffffffff9d
pop rcx
pause
mov eax, dword [0x1400610c0]
cmp eax, 0x3fffffff
jne 0x140049504
lea edx, [rcx + 1]
test ecx, ecx
mov ecx, edx
jne 0x1400494ec
push 0xffffffffffffff9d
pop r12
lea rsi, [0x1400610c0]
lea rdi, [rbp - 8]
push 4
pop r14
push 0xffffffffffffffff
pop r15
mov ecx, eax
and ecx, 0x3fffffff
cmp ecx, 0x3ffffffe
setb dl
cmp eax, 0x40000000
setb r8b
test r8b, dl
je 0x14004954c
lea ecx, [rax + 1]
lock cmpxchg dword [0x1400610c0], ecx
jne 0x14004951b
jmp 0x140049464
cmp ecx, 0x3ffffffe
je 0x1400495bf
bt eax, 0x1e
jb 0x14004956e
mov ecx, eax
or ecx, 0x40000000
lock cmpxchg dword [0x1400610c0], ecx
jne 0x14004951b
jmp 0x140049570
mov ecx, eax
mov dword [rbp - 8], ecx
mov rcx, rsi
mov rdx, rdi
mov r8, r14
mov r9d, r15d
call sub.api_ms_win_core_synch_l1_2_0.dll_WaitOnAddress
cmp eax, 1
je 0x14004958e
call sub.KERNEL32.dll_GetLastError
mov eax, dword [0x1400610c0]
cmp eax, 0x3fffffff
jne 0x14004951b
mov ecx, r12d
pause
mov eax, dword [0x1400610c0]
lea edx, [rcx + 1]
cmp eax, 0x3fffffff
jne 0x14004951b
test ecx, ecx
mov ecx, edx
jne 0x14004959e
jmp 0x14004951b
lea rax, str.too_many_active_read_locks_on_RwLock
lea rcx, [rbp - 8]
mov qword [rcx], rax
mov qword [rcx + 8], 1
mov qword [rcx + 0x10], 8
xorps xmm0, xmm0
movups xmmword [rcx + 0x18], xmm0
lea rdx, str.std_src_sys_sync_rwlock_futex.rs
call fcn.140006190
mov rsi, qword [rbp + 0x50]
mov rcx, qword [rbp + 0x28]
mov rax, qword [rbp + 0x30]
call qword [rax + 0x28]
lea r8, [rbp - 8]
mov qword [r8], rax
mov qword [r8 + 8], rdx
mov qword [r8 + 0x10], rsi
mov byte [r8 + 0x18], bl
mov byte [r8 + 0x19], r15b
mov rcx, qword [0x1400610d0]
mov rax, qword [0x1400610d8]
mov rdx, r8
call qword [rax + 0x28]
call fcn.140049bf0
call fcn.140021fb0
test rax, rax
je 0x14004940f
mov byte [rax + 8], 0
test bl, bl
je 0x140049a81
call fcn.1400471f0
call fcn.140021fb0
test rax, rax
jne 0x1400496e2
lea rax, str.std_src_threadlocal.rs
mov qword [rsp + 0x20], rax
lea rcx, str.cannot_access_a_Thread_Local_Storage_value_during_or_after_destruction
lea r9, [0x140057320]
push 0x46
pop rdx
lea r8, [rbp - 8]
call fcn.140007fc0
jmp 0x140049784
mov rcx, rsi
call rdi
movabs rcx, 0xcee807e85024dd57
xor rax, rcx
movabs rcx, 0xd74a1ed3b40d6abe
xor rdx, rcx
or rdx, rax
jne 0x140049786
mov rax, rsi
add rax, 8
push 0x10
pop rcx
mov rax, qword [rax]
mov rcx, qword [rsi + rcx]
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], rcx
mov ecx, dword [0x140061150]
test ecx, ecx
jne 0x1400496f1
lea rcx, [0x140061138]
call fcn.140020a10
mov ecx, eax
jmp 0x1400496f3
cmp qword [rax], 1
jbe 0x140049739
mov byte [rbp + 0x5f], 1
jmp 0x1400494a1
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 3
jb 0x140049722
lea rcx, [0x140061040]
cmp rax, rcx
jne 0x14004977d
and qword [rbp + 0x40], 0
push 4
pop rax
mov qword [rbp + 0x48], rcx
lea rcx, str.mainRUST_BACKTRACEstd_src_sys_commonwtf8.rsfailed_to_write_the_buffered_data
jmp 0x1400497bc
push 9
pop rcx
mov qword [rbp + 0x40], 2
lea rdx, str._unnamed_thread__panicked_at__n
jmp 0x1400497d1
mov dl, byte [0x1400610b8]
dec dl
cmp dl, 3
jb 0x140049981
lea rdx, [0x140058061]
lea rcx, [rbp - 8]
call fcn.140045270
mov rax, qword [rbp - 8]
movabs rcx, 0x7fffffffffffffff
inc rcx
cmp rax, rcx
jne 0x1400498f4
mov dl, 2
mov cl, 3
jmp 0x140049963
lock inc qword [rax - 0x10]
jg 0x140049795
ud2
lea rax, str.Box_dyn_Any_aborting_due_to_panic_at
push 0xc
pop rcx
jmp 0x1400496c0
mov rcx, rax
add rcx, 0xfffffffffffffff0
mov qword [rbp + 0x40], 1
mov qword [rbp + 0x48], rcx
mov rcx, qword [rax + 8]
test rcx, rcx
jne 0x1400497b5
xor ecx, ecx
jmp 0x1400497bc
mov rax, qword [rax + 0x10]
dec rax
test rcx, rcx
lea rdx, str._unnamed_thread__panicked_at__n
cmovne rdx, rcx
push 9
pop rcx
cmovne rcx, rax
lea rax, [rbp - 0x50]
mov qword [rax], rdx
mov qword [rax + 8], rcx
mov qword [rbp - 8], rax
lea rax, [rbp - 0x30]
mov qword [rbp], rax
lea rax, [rbp - 0x40]
mov qword [rbp + 8], rax
lea rax, [rbp + 0x5f]
mov qword [rbp + 0x10], rax
xor ecx, ecx
call fcn.1400464d0
mov r14, rax
mov rdi, rdx
lea rsi, [rbp - 0x20]
mov qword [rsi - 8], rax
mov qword [rsi], rdx
test rax, rax
sete al
test rdx, rdx
setne r12b
and r12b, al
je 0x140049851
mov qword [rbp + 0x38], rdi
lea r14, [rdi + 0x10]
mov cl, 1
xor eax, eax
lock cmpxchg byte [rdi + 0x10], cl
je 0x14004983d
mov rcx, r14
call fcn.140027240
mov rax, qword [0x1400610e0]
shl rax, 1
test rax, rax
jne 0x140049898
xor r15d, r15d
jmp 0x1400498a4
lea rdx, [rbp + 0x38]
and dword [rdx], 0
mov byte [rdx + 4], 0
lea r8, [fcn.140020bf0]
lea rcx, [rbp - 8]
call fcn.140049009
lea rcx, [rbp + 0x40]
call fcn.140048fe0
test rdi, rdi
sete al
or al, r14b
or r12b, al
test r12b, 1
jne 0x14004962a
mov rcx, rsi
call fcn.1400491b0
jmp 0x14004962a
call fcn.1400272f0
mov r15d, eax
xor r15b, 1
mov al, byte [rdi + 0x11]
lea rdx, [rdi + 0x18]
lea r8, [fcn.140046a10]
lea rcx, [rbp - 8]
call fcn.140049009
mov rcx, r14
mov edx, r15d
call fcn.140027340
mov rcx, qword [rbp + 0x38]
call fcn.1400464d0
test rax, rax
jne 0x1400498e7
test rdx, rdx
je 0x1400498e7
lock dec qword [rdx]
jne 0x1400498e7
mov rcx, rdx
call fcn.140046410
mov r14, qword [rbp - 0x28]
mov rdi, qword [rbp - 0x20]
jmp 0x14004986c
mov r8, qword [rbp]
mov rcx, qword [rbp + 8]
cmp rcx, 1
je 0x14004992a
cmp rcx, 4
jne 0x14004994c
cmp dword [r8], 0x6c6c7566
jne 0x14004994c
test rax, rax
je 0x140049924
mov rcx, qword [0x140061108]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov dl, 1
mov cl, 2
jmp 0x140049963
cmp byte [r8], 0x30
jne 0x14004994c
test rax, rax
je 0x140049774
mov rcx, qword [0x140061108]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
jmp 0x140049774
test rax, rax
je 0x14004995f
mov rcx, qword [0x140061108]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov cl, 1
xor edx, edx
xor eax, eax
lock cmpxchg byte [0x1400610b8], cl
je 0x140049981
mov dl, 3
cmp al, 4
jae 0x140049981
shl al, 3
mov edx, 0x2010003
mov ecx, eax
shr edx, cl
mov byte [rbp + 0x5f], dl
jmp 0x1400494a1
lea rcx, [rbp + 0x40]
and dword [rcx], 0
mov byte [rcx + 4], 0
lea rax, [rbp + 0x50]
lea r8, [rbp - 0x28]
mov qword [r8], rax
lea rax, [0x1400491d0]
mov qword [r8 + 8], rax
lea rax, [rbp + 0x28]
mov qword [r8 + 0x10], rax
lea rax, [0x140058d20]
lea rdx, [rbp - 8]
mov qword [rdx], rax
mov qword [rdx + 8], 3
and qword [rdx + 0x20], 0
lea rax, [0x140007230]
mov qword [r8 + 0x18], rax
mov qword [rdx + 0x10], r8
mov qword [rdx + 0x18], 2
call fcn.140020bf0
lea rcx, [rbp - 0x50]
jmp 0x140049a72
mov rcx, rdi
call qword [rsi + 0x30]
test rax, rax
push 1
pop r8
cmovne r8, rax
cmove rdx, rax
lea rax, [rbp - 0x50]
lea rcx, [rbp - 0x40]
and dword [rcx], 0
mov qword [rax], r8
mov qword [rax + 8], rdx
mov byte [rcx + 4], 0
lea rdx, [rbp + 0x50]
lea r8, [rbp - 0x28]
mov qword [r8], rdx
lea rdx, [0x1400491d0]
mov qword [r8 + 8], rdx
mov qword [r8 + 0x10], rax
lea rax, str.panicked_at_:_nfullstd_srcpath.rs
lea rdx, [rbp - 8]
mov qword [rdx], rax
mov qword [rdx + 8], 3
and qword [rdx + 0x20], 0
lea rax, [0x140007210]
mov qword [r8 + 0x18], rax
mov qword [rdx + 0x10], r8
mov qword [rdx + 0x18], 2
call fcn.140020bf0
lea rcx, [rbp + 0x40]
mov qword [rcx], rax
call fcn.140020d30
push 7
pop rcx
int 0x29
ud2
lea rcx, [rbp - 0x50]
and dword [rcx], 0
mov byte [rcx + 4], 0
lea rax, str.thread_caused_non_unwinding_panic._aborting._n
lea rdx, [rbp - 8]
mov qword [rdx], rax
mov qword [rdx + 8], 1
mov qword [rdx + 0x10], 8
xorps xmm0, xmm0
movups xmmword [rdx + 0x18], xmm0
call fcn.140020bf0
lea rcx, [rbp - 0x28]
mov qword [rcx], rax
call fcn.140020d30
push 7
pop rcx
int 0x29
ud2