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

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
sub rsp, 0x70
lea rbp, [rsp + 0x70]
cmp edx, 3
je 0x14005bd1c
test edx, edx
jne 0x14005bf54
mov rdi, qword [0x1400e1160]
xor ebx, ebx
nop word cs:[rax + rax]
test rdi, rdi
je 0x14005bd70
mov esi, dword [rdi + 0x18]
mov r14, qword [rdi]
test r14, r14
je 0x14005bf60
mov rdi, qword [rdi + 8]
test esi, esi
je 0x14005bd30
dec esi
mov ecx, esi
call fcn.1400a4524
test rax, rax
je 0x14005bd30
mov ecx, esi
xor edx, edx
mov rsi, rax
call sub.KERNEL32.dll_TlsSetValue
mov rcx, rsi
call r14
mov bl, 1
jmp 0x14005bd30
test bl, 1
je 0x14005bede
mov rdi, qword [0x1400e1160]
xor ebx, ebx
nop word cs:[rax + rax]
test rdi, rdi
je 0x14005bdd0
mov esi, dword [rdi + 0x18]
mov r14, qword [rdi]
test r14, r14
je 0x14005bf60
mov rdi, qword [rdi + 8]
test esi, esi
je 0x14005bd90
dec esi
mov ecx, esi
call fcn.1400a4524
test rax, rax
je 0x14005bd90
mov ecx, esi
xor edx, edx
mov rsi, rax
call sub.KERNEL32.dll_TlsSetValue
mov rcx, rsi
call r14
mov bl, 1
jmp 0x14005bd90
test bl, 1
je 0x14005bede
mov rdi, qword [0x1400e1160]
xor ebx, ebx
nop word cs:[rax + rax]
test rdi, rdi
je 0x14005be30
mov esi, dword [rdi + 0x18]
mov r14, qword [rdi]
test r14, r14
je 0x14005bf60
mov rdi, qword [rdi + 8]
test esi, esi
je 0x14005bdf0
dec esi
mov ecx, esi
call fcn.1400a4524
test rax, rax
je 0x14005bdf0
mov ecx, esi
xor edx, edx
mov rsi, rax
call sub.KERNEL32.dll_TlsSetValue
mov rcx, rsi
call r14
mov bl, 1
jmp 0x14005bdf0
test bl, 1
je 0x14005bede
mov rdi, qword [0x1400e1160]
xor ebx, ebx
nop word cs:[rax + rax]
test rdi, rdi
je 0x14005be90
mov esi, dword [rdi + 0x18]
mov r14, qword [rdi]
test r14, r14
je 0x14005bf60
mov rdi, qword [rdi + 8]
test esi, esi
je 0x14005be50
dec esi
mov ecx, esi
call fcn.1400a4524
test rax, rax
je 0x14005be50
mov ecx, esi
xor edx, edx
mov rsi, rax
call sub.KERNEL32.dll_TlsSetValue
mov rcx, rsi
call r14
mov bl, 1
jmp 0x14005be50
test bl, 1
je 0x14005bede
mov rbx, qword [0x1400e1160]
nop dword [rax]
test rbx, rbx
je 0x14005bede
mov esi, dword [rbx + 0x18]
mov r14, qword [rbx]
test r14, r14
je 0x14005bf60
mov rbx, qword [rbx + 8]
test esi, esi
je 0x14005bea0
dec esi
mov ecx, esi
call fcn.1400a4524
test rax, rax
je 0x14005bea0
mov rdi, rax
mov ecx, esi
xor edx, edx
call sub.KERNEL32.dll_TlsSetValue
mov rcx, rdi
call r14
jmp 0x14005bea0
mov ecx, dword [0x1400e11a0]
test ecx, ecx
je 0x14005bef7
dec ecx
call fcn.1400a4524
cmp rax, 3
jae 0x14005bf10
jmp 0x14005bf54
lea rcx, [0x1400e1188]
call sym.std::sys::thread_local::key::windows::LazyKey::init::h3b25bd09068d2560
mov ecx, eax
call fcn.1400a4524
cmp rax, 3
jb 0x14005bf54
mov rsi, rax
mov ecx, dword [0x1400e11a0]
test ecx, ecx
je 0x14005bf21
dec ecx
jmp 0x14005bf2f
lea rcx, [0x1400e1188]
call sym.std::sys::thread_local::key::windows::LazyKey::init::h3b25bd09068d2560
mov ecx, eax
mov edx, 2
call sub.KERNEL32.dll_TlsSetValue
mov rax, rsi
add rax, 0xfffffffffffffff0
mov qword [rbp - 0x48], rax
lock dec qword [rsi - 0x10]
jne 0x14005bf54
lea rcx, [rbp - 0x48]
call sym.alloc::sync::Arc_T_A_::drop_slow::hfbd468a8117a8eec
nop
add rsp, 0x70
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret
lea rcx, str.std_src_sys_thread_localkeywindows.rs
call sym.core::option::unwrap_failed::h9508d322d744588d
ud2