Function at 0x1401197f0
Capabilities:
Get thread local storage value

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x88
lea rbp, [rsp + 0x80]
mov rdi, rcx
lea rax, str.stdoutstderrlibrary_std_srciomod.rs
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], 6
mov eax, dword [0x1401aa0a8]
cmp eax, 3
jne 0x140119860
mov ecx, dword [0x1401aa118]
test ecx, ecx
je 0x14011986f
dec ecx
call sub.kernel32.dll_TlsGetValue
mov rsi, rax
test rax, rax
je 0x14011988a
mov rax, qword [0x1401aa070]
cmp rsi, rax
jne 0x14011989e
mov eax, dword [0x1401aa078]
cmp eax, 0xffffffff
je 0x1401199e8
inc eax
jmp 0x1401198bc
call fcn.140119121
mov ecx, dword [0x1401aa118]
test ecx, ecx
jne 0x140119832
lea rcx, [0x1401aa100]
call fcn.1400edca0
mov ecx, eax
call sub.kernel32.dll_TlsGetValue
mov rsi, rax
test rax, rax
jne 0x140119841
call fcn.140113320
mov rsi, rax
mov rax, qword [0x1401aa070]
cmp rsi, rax
je 0x14011984d
mov cl, 1
xor eax, eax
lock cmpxchg byte [0x1401aa07c], cl
jne 0x1401199d7
mov qword [0x1401aa070], rsi
mov eax, 1
mov dword [0x1401aa078], eax
lea rax, [0x1401aa070]
mov qword [rbp], rax
mov r14, rbp
mov qword [rbp - 0x20], r14
lea rbx, [rbp - 0x18]
mov qword [rbp - 0x18], 0
lea rdx, [0x14018e100]
lea rsi, [rbp - 0x20]
mov rcx, rsi
mov r8, rdi
call fcn.14000ab50
mov r15, qword [rbp - 0x18]
test al, al
je 0x14011993e
test r15, r15
jne 0x14011999b
lea rax, str.a_formatting_trait_implementation_returned_an_error_when_the_underlying_stream_did_not
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], 1
mov qword [rbp - 0x40], 8
xorps xmm0, xmm0
movups xmmword [rbp - 0x38], xmm0
lea rdx, [0x14018ed00]
lea rcx, [rbp - 0x50]
call fcn.140009c00
jmp 0x140119a6b
mov eax, r15d
and eax, 3
cmp eax, 1
jne 0x1401199a6
lea rdi, [r15 - 1]
mov rbx, qword [r15 - 1]
mov r15, qword [r15 + 7]
mov rax, qword [r15]
test rax, rax
je 0x140119962
mov rcx, rbx
call rax
cmp qword [r15 + 8], 0
je 0x140119986
cmp qword [r15 + 0x10], 0x11
jb 0x140119974
mov rbx, qword [rbx - 8]
call sub.kernel32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, rbx
call sub.kernel32.dll_HeapFree
call sub.kernel32.dll_GetProcessHeap
xor r15d, r15d
mov rcx, rax
xor edx, edx
mov r8, rdi
call sub.kernel32.dll_HeapFree
mov rcx, qword [rbp]
dec dword [rcx + 8]
jne 0x1401199c2
jmp 0x1401199b2
xor r15d, r15d
mov rcx, qword [rbp]
dec dword [rcx + 8]
jne 0x1401199c2
mov qword [rcx], 0
xor eax, eax
xchg byte [rcx + 0xc], al
cmp al, 2
je 0x140119a00
test r15, r15
jne 0x140119a0e
add rsp, 0x88
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret
lea rcx, [0x1401aa07c]
call fcn.1400ee680
jmp 0x1401198b0
lea rcx, str.lock_count_overflow_in_reentrant_mutexlibrary_std_src_sync_reentrant_lock.rs
lea r8, [0x14018f060]
mov edx, 0x26
call fcn.14000cb80
add rcx, 0xc
call sub.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle
test r15, r15
je 0x1401199c7
mov qword [rbp], r15
lea rax, [rbp - 0x60]
mov qword [rbp - 0x20], rax
lea rax, [0x1400edb50]
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], r14
lea rax, [fcn.140116440]
mov qword [rbp - 8], rax
lea rax, str.failed_printing_to_:
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], 2
mov qword [rbp - 0x30], 0
mov qword [rbp - 0x40], rsi
mov qword [rbp - 0x38], 2
lea rdx, str.library_std_srcio_stdio.rs
lea rcx, [rbp - 0x50]
call fcn.140009c00
ud2