Function at 0x1400331d0
Capabilities:
Get thread local storage value

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
sub rsp, 0x20
lea rbp, [rsp + 0x20]
mov rbx, r8
mov rdi, rdx
mov rax, qword [rcx]
mov rsi, qword [rax]
mov ecx, dword [0x140125190]
test ecx, ecx
je 0x14003321f
dec ecx
call fcn.14009e504
mov r14, rax
test rax, rax
je 0x14003323a
mov rax, qword [rsi]
cmp r14, rax
jne 0x14003324a
mov eax, dword [rsi + 8]
cmp eax, 0xffffffff
je 0x1400333bb
inc eax
mov dword [rsi + 8], eax
jmp 0x140033263
lea rcx, [0x140125178]
call sym.std::sys::thread_local::key::windows::LazyKey::init::h5f4686820bf88fde
mov ecx, eax
call fcn.14009e504
mov r14, rax
test rax, rax
jne 0x140033204
call sym.std::thread::current::id::get_or_init::__u7b__u7b_closure_u7d__u7d_::hdf6afb8a3103c156
mov r14, rax
mov rax, qword [rsi]
cmp r14, rax
je 0x14003320c
mov cl, 1
xor eax, eax
lock cmpxchg byte [rsi + 0xc], cl
jne 0x14003339f
mov qword [rsi], r14
mov dword [rsi + 8], 1
cmp qword [rsi + 0x10], 0
jne 0x1400333ad
mov qword [rsi + 0x10], 0xffffffffffffffff
lea r9, [rsi + 0x18]
mov rax, rbx
shl rax, 4
xor ecx, ecx
nop word cs:[rax + rax]
cmp rax, rcx
je 0x1400332a9
mov r8d, dword [rdi + rcx]
add rcx, 0x10
test r8, r8
je 0x140033290
mov rdx, qword [rdi + rcx - 8]
jmp 0x1400332b1
mov edx, 1
xor r8d, r8d
mov ecx, 0xfffffff4
call sym.std::sys::pal::windows::stdio::write::hd031db5e95c5f668
test al, 1
je 0x140033360
movabs rcx, 0xffffffff00000003
mov r8, rdx
and r8, rcx
movabs rcx, 0x600000002
cmp r8, rcx
jne 0x140033362
test rbx, rbx
je 0x1400332fc
mov eax, ebx
and eax, 3
cmp rbx, 4
jae 0x140033300
xor edx, edx
xor ecx, ecx
jmp 0x140033338
xor edx, edx
jmp 0x140033360
and rbx, 0xfffffffffffffffc
lea r8, [rdi + 0x30]
xor edx, edx
xor ecx, ecx
nop dword [rax]
mov r9d, dword [r8 - 0x30]
mov r10d, dword [r8 - 0x20]
add r9, rdx
mov r11d, dword [r8 - 0x10]
add r11, r10
add r11, r9
mov edx, dword [r8]
add rdx, r11
add rcx, 4
add r8, 0x40
cmp rbx, rcx
jne 0x140033310
test rax, rax
je 0x140033360
shl rcx, 4
add rdi, rcx
shl eax, 4
xor ecx, ecx
nop dword [rax]
mov r8d, dword [rdi + rcx]
add rdx, r8
add rcx, 0x10
cmp rax, rcx
jne 0x140033350
xor eax, eax
inc qword [rsi + 0x10]
dec dword [rsi + 8]
jne 0x140033394
mov qword [rsi], 0
xor ecx, ecx
xchg byte [rsi + 0xc], cl
cmp cl, 2
jne 0x140033394
add rsi, 0xc
mov rcx, rsi
mov rsi, rdx
mov rdi, rax
call fcn.14005cccc
mov rax, rdi
mov rdx, rsi
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret
lea rcx, [rsi + 0xc]
call sym.std::sys::sync::mutex::futex::Mutex::lock_contended::h37c35293098c5639
jmp 0x140033259
lea rcx, [0x1400f25c0]
call sym.core::cell::panic_already_borrowed::h7f413a8aed5d8082
ud2
lea rcx, [0x1400f3328]
lea r8, [0x1400f3370]
mov edx, 0x26
call sym.core::option::expect_failed::hc2d711bcd8ec1ab3
mov rdi, rax
inc qword [rsi + 0x10]
mov rcx, rsi
call sym._ZN4core3ptr175drop_in_place_LT_std..sync..reentrant_lock..ReentrantLockGuard_LT_core..cell..RefCell_LT_std..io..buffered..lin
mov rcx, rdi
call sym._Unwind_Resume
mov rdi, rax
mov rcx, rsi
call sym._ZN4core3ptr175drop_in_place_LT_std..sync..reentrant_lock..ReentrantLockGuard_LT_core..cell..RefCell_LT_std..io..buffered..lin
mov rcx, rdi
call sym._Unwind_Resume
int3