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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xd8
mov rbx, r8
mov r14, rdx
mov rsi, rcx
mov rbp, qword [r8 + 0x18]
mov rdi, qword [r8 + 0x20]
mov r15, qword [r8 + 0x40]
mov r12, qword [r8 + 0x48]
mov r13, qword [r8 + 0x50]
mov ecx, dword [0x140130038]
test ecx, ecx
je 0x1400afbd7
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jb 0x1400afbf0
cmp qword [rax + 8], 0
je 0x1400afbf0
add rax, 0x10
jmp 0x1400afcf7
lea rcx, [0x140130020]
call fcn.14007f590
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 2
jae 0x1400afbc7
mov qword [rsp + 0x38], r15
mov ecx, dword [0x140130038]
mov r15, r14
test ecx, ecx
je 0x1400afc46
dec ecx
call sub.KERNEL32.dll_TlsGetValue
test rax, rax
je 0x1400afc5e
mov r14, rax
cmp rax, 1
jne 0x1400afccc
lea rax, [0x14017fb38]
mov qword [rsp + 0x20], rax
lea rcx, [0x14017fa9e]
lea r9, [0x14015ad98]
lea r8, [rsp + 0x40]
mov edx, 0x46
call fcn.140008040
ud2
lea rcx, [0x140130020]
call fcn.14007f590
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
test rax, rax
jne 0x1400afc0e
movzx eax, byte [0x1401d21e9]
mov rcx, qword [0x1401d2138]
test rcx, rcx
jne 0x1400afc89
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x1400afeea
mov rcx, rax
mov qword [0x1401d2138], rax
mov r8d, 0x28
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x1400afeea
mov r14, rax
lea rax, [0x140130020]
mov qword [r14], rax
mov qword [r14 + 8], 0
mov ecx, dword [0x140130038]
test ecx, ecx
je 0x1400afeb1
dec ecx
mov rdx, r14
call sub.KERNEL32.dll_TlsSetValue
mov qword [r14 + 8], 1
lea rax, [r14 + 0x10]
mov qword [r14 + 0x10], 0
mov word [r14 + 0x18], 0
mov qword [r14 + 0x20], 0
mov r14, r15
mov r15, qword [rsp + 0x38]
mov rcx, qword [rbx + 0x10]
mov qword [rsp + 0x58], rcx
movups xmm0, xmmword [rbx]
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x60], rbp
mov qword [rsp + 0x68], rdi
movups xmm0, xmmword [rbx + 0x28]
movups xmmword [rsp + 0x70], xmm0
mov rcx, qword [rbx + 0x38]
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x88], r15
mov qword [rsp + 0x90], r12
mov qword [rsp + 0x98], r13
mov qword [rsp + 0x40], rax
mov qword [rsp + 0xa0], 0
lea rdx, [0x1400b1040]
lea r8, [rsp + 0x40]
mov rcx, r14
call fcn.140027400
mov rdi, qword [rsp + 0x40]
mov rcx, rdi
call sub.KERNEL32.dll_AcquireSRWLockExclusive
mov rax, qword [0x1401d21e0]
shl rax, 1
test rax, rax
jne 0x1400afe70
xor ebx, ebx
movzx eax, byte [rdi + 8]
test al, al
jne 0x1400afe86
movabs r15, 0x7fffffffffffffff
lea r14, [rdi + 0x10]
cmp byte [rdi + 9], 0
jne 0x1400afdfb
test bl, bl
setne bl
mov rcx, r14
mov rdx, rdi
mov r8d, 0xffffffff
xor r9d, r9d
call sub.KERNEL32.dll_SleepConditionVariableSRW
movzx eax, byte [rdi + 8]
test al, al
je 0x1400afda0
mov qword [rsp + 0x28], rdi
mov byte [rsp + 0x30], bl
lea rax, str._Users_caojian_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rayon_core_1.12.1_src_latch.rs
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, [0x14014e8b8]
lea r8, [rsp + 0x28]
mov edx, 0x2b
call fcn.140008040
ud2
mov byte [rdi + 9], 0
test bl, bl
jne 0x1400afe13
mov rax, qword [0x1401d21e0]
test rax, r15
jne 0x1400afe9b
mov rcx, rdi
call fcn.14010cccc
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0xb0]
cmp rax, 1
jne 0x1400afec4
movups xmm0, xmmword [rsp + 0xb8]
movups xmm1, xmmword [rsp + 0xc8]
movups xmmword [rsi + 0x20], xmm1
movups xmmword [rsi + 0x10], xmm0
mov qword [rsi], rcx
mov qword [rsi + 8], rdx
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.140085890
mov ebx, eax
xor bl, 1
movzx eax, byte [rdi + 8]
test al, al
je 0x1400afd92
mov qword [rsp + 0x28], rdi
mov byte [rsp + 0x30], bl
lea rax, str._Users_caojian_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rayon_core_1.12.1_src_latch.rs
jmp 0x1400afdd7
call fcn.140085890
test al, al
jne 0x1400afe13
mov byte [rdi + 8], 1
jmp 0x1400afe13
lea rcx, [0x140130020]
call fcn.14007f590
mov ecx, eax
jmp 0x1400afcc4
test rax, rax
jne 0x1400afee3
lea rcx, str.internal_error:_entered_unreachable_code
lea r8, str._Users_caojian_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rayon_core_1.12.1_src_job.rsh
mov edx, 0x28
call fcn.140006a00
ud2
call fcn.140022580
ud2
mov ecx, 8
mov edx, 0x28
call fcn.1400034d0
ud2