Function at 0x1401014e9
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 [0x1401b2160]
jle 0x140101a41
mov ebx, r9d
mov rsi, rdx
mov rdi, rcx
call fcn.1400d9ea0
test rax, rax
jne 0x140101555
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_rustc_759e07f063fb8e6306ff1bdaeb70af56a878b415library_std_src_threadlocal.rs
lea r9, [0x14017b5e8]
push 0x46
pop rdx
lea r8, [rbp - 8]
call fcn.14001cec0
cmp byte [rax + 8], 0
jne 0x140101aaa
inc qword [rax]
mov byte [rax + 8], 1
mov eax, dword [0x1401b20c0]
cmp eax, 0x3ffffffd
ja 0x1401015fa
lea ecx, [rax + 1]
lock cmpxchg dword [0x1401b20c0], ecx
jne 0x1401015fa
mov r15b, byte [rbp + 0xc0]
mov al, byte [0x1401b20c8]
cmp qword [0x1401b20d0], 0
jne 0x14010170e
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 0x14010176c
mov byte [rbp + 0x5f], 3
mov qword [rbp - 0x30], r14
mov rdx, qword [rdi + 0x18]
mov rcx, rsi
call fcn.140101070
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], rdx
mov ecx, dword [0x1401b2148]
test ecx, ecx
jne 0x1401017a1
lea rcx, [0x1401b2130]
call fcn.1400d8900
mov ecx, eax
jmp 0x1401017a3
mov eax, dword [0x1401b20c0]
cmp eax, 0x3fffffff
jne 0x140101622
push 0xffffffffffffff9d
pop rcx
pause
mov eax, dword [0x1401b20c0]
cmp eax, 0x3fffffff
jne 0x140101622
lea edx, [rcx + 1]
test ecx, ecx
mov ecx, edx
jne 0x14010160a
push 0xffffffffffffff9d
pop r12
lea rsi, [0x1401b20c0]
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 0x14010166a
lea ecx, [rax + 1]
lock cmpxchg dword [0x1401b20c0], ecx
jne 0x140101639
jmp 0x140101584
cmp ecx, 0x3ffffffe
je 0x1401016dd
bt eax, 0x1e
jb 0x14010168c
mov ecx, eax
or ecx, 0x40000000
lock cmpxchg dword [0x1401b20c0], ecx
jne 0x140101639
jmp 0x14010168e
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 0x1401016ac
call sub.kernel32.dll_GetLastError
mov eax, dword [0x1401b20c0]
cmp eax, 0x3fffffff
jne 0x140101639
mov ecx, r12d
pause
mov eax, dword [0x1401b20c0]
lea edx, [rcx + 1]
cmp eax, 0x3fffffff
jne 0x140101639
test ecx, ecx
mov ecx, edx
jne 0x1401016bc
jmp 0x140101639
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.rsh
call fcn.14001a380
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 [0x1401b20d0]
mov rax, qword [0x1401b20d8]
mov rdx, r8
call qword [rax + 0x28]
call fcn.140101cc0
call fcn.1400d9ea0
test rax, rax
je 0x14010152f
mov byte [rax + 8], 0
test bl, bl
je 0x140101b39
call fcn.1400ff4b0
call fcn.1400d9ea0
test rax, rax
jne 0x1401017d6
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_rustc_759e07f063fb8e6306ff1bdaeb70af56a878b415library_std_src_threadlocal.rs
lea r9, [0x14017b5e8]
push 0x46
pop rdx
lea r8, [rbp - 8]
call fcn.14001cec0
jmp 0x14010184b
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 3
jb 0x1401017e5
lea rcx, [0x1401b2060]
cmp rax, rcx
jne 0x140101844
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 0x140101874
cmp qword [rax], 1
jbe 0x1401017fc
mov byte [rbp + 0x5f], 1
jmp 0x1401015c1
push 9
pop rcx
mov qword [rbp + 0x40], 2
lea rdx, str._unnamed_thread__panicked_at__nq
jmp 0x140101889
mov dl, byte [0x1401b20b8]
dec dl
cmp dl, 3
jb 0x140101a39
lea rdx, [0x140179299]
lea rcx, [rbp - 8]
push 0xe
pop r8
call fcn.1400fd0e0
mov rax, qword [rbp - 8]
movabs rcx, 0x7fffffffffffffff
inc rcx
cmp rax, rcx
jne 0x1401019ac
mov dl, 2
mov cl, 3
jmp 0x140101a1b
lock inc qword [rax - 0x10]
jg 0x14010184d
ud2
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 0x14010186d
xor ecx, ecx
jmp 0x140101874
mov rax, qword [rax + 0x10]
dec rax
test rcx, rcx
lea rdx, str._unnamed_thread__panicked_at__nq
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.1400fe7d0
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 0x140101909
mov qword [rbp + 0x38], rdi
lea r14, [rdi + 0x10]
mov cl, 1
xor eax, eax
lock cmpxchg byte [rdi + 0x10], cl
je 0x1401018f5
mov rcx, r14
call fcn.1400df090
mov rax, qword [0x1401b2160]
shl rax, 1
test rax, rax
jne 0x140101950
xor r15d, r15d
jmp 0x14010195c
lea rdx, [rbp + 0x38]
and dword [rdx], 0
mov byte [rdx + 4], 0
lea r8, [fcn.1400d8ae0]
lea rcx, [rbp - 8]
call fcn.140101129
lea rcx, [rbp + 0x40]
call fcn.140101100
test rdi, rdi
sete al
or al, r14b
or r12b, al
test r12b, 1
jne 0x140101748
mov rcx, rsi
call fcn.1401012d0
jmp 0x140101748
call fcn.1400df140
mov r15d, eax
xor r15b, 1
mov al, byte [rdi + 0x11]
lea rdx, [rdi + 0x18]
lea r8, [0x1400fe860]
lea rcx, [rbp - 8]
call fcn.140101129
mov rcx, r14
mov edx, r15d
call fcn.1400df190
mov rcx, qword [rbp + 0x38]
call fcn.1400fe7d0
test rax, rax
jne 0x14010199f
test rdx, rdx
je 0x14010199f
lock dec qword [rdx]
jne 0x14010199f
mov rcx, rdx
call fcn.1400fe710
mov r14, qword [rbp - 0x28]
mov rdi, qword [rbp - 0x20]
jmp 0x140101924
mov r8, qword [rbp]
mov rcx, qword [rbp + 8]
cmp rcx, 1
je 0x1401019e2
cmp rcx, 4
jne 0x140101a04
cmp dword [r8], 0x6c6c7566
jne 0x140101a04
test rax, rax
je 0x1401019dc
mov rcx, qword [0x1401b2100]
xor edx, edx
call fcn.14011d4ec
mov dl, 1
mov cl, 2
jmp 0x140101a1b
cmp byte [r8], 0x30
jne 0x140101a04
test rax, rax
je 0x14010183b
mov rcx, qword [0x1401b2100]
xor edx, edx
call fcn.14011d4ec
jmp 0x14010183b
test rax, rax
je 0x140101a17
mov rcx, qword [0x1401b2100]
xor edx, edx
call fcn.14011d4ec
mov cl, 1
xor edx, edx
xor eax, eax
lock cmpxchg byte [0x1401b20b8], cl
je 0x140101a39
mov dl, 3
cmp al, 4
jae 0x140101a39
shl al, 3
mov edx, 0x2010003
mov ecx, eax
shr edx, cl
mov byte [rbp + 0x5f], dl
jmp 0x1401015c1
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, [0x1401012f0]
mov qword [r8 + 8], rax
lea rax, [rbp + 0x28]
mov qword [r8 + 0x10], rax
lea rax, [0x140179e00]
lea rdx, [rbp - 8]
mov qword [rdx], rax
mov qword [rdx + 8], 3
and qword [rdx + 0x20], 0
lea rax, [0x14001b420]
mov qword [r8 + 0x18], rax
mov qword [rdx + 0x10], r8
mov qword [rdx + 0x18], 2
call fcn.1400d8ae0
lea rcx, [rbp - 0x50]
jmp 0x140101b2a
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, [0x1401012f0]
mov qword [r8 + 8], rdx
mov qword [r8 + 0x10], rax
lea rax, [0x140179e68]
lea rdx, [rbp - 8]
mov qword [rdx], rax
mov qword [rdx + 8], 3
and qword [rdx + 0x20], 0
lea rax, [0x14001b400]
mov qword [r8 + 0x18], rax
mov qword [rdx + 0x10], r8
mov qword [rdx + 0x18], 2
call fcn.1400d8ae0
lea rcx, [rbp + 0x40]
mov qword [rcx], rax
call fcn.1400d8c20
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.1400d8ae0
lea rcx, [rbp - 0x28]
mov qword [rcx], rax
call fcn.1400d8c20
push 7
pop rcx
int 0x29
ud2