Function at 0x486c30
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, 0xb8
mov qword [rsp + 0x38], r9
mov r14, r8
mov rsi, rdx
mov r15, rcx
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x30], rax
movabs rdi, 0xe7037ed1a0b428db
movabs rbx, 0xa0761d6478bd642f
lea rcx, [0x004d0018]
call fcn.00419b22
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], r15
jbe 0x486cab
cmp qword [rax], 0
je 0x486cab
mov rcx, rax
add rcx, 8
mov r8, qword [rax + 8]
jmp 0x486ea0
lea r13, [0x004d0018]
mov rcx, r13
call fcn.00419b22
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
je 0x486eb7
mov r12, rax
test rax, rax
jne 0x486d08
mov ecx, 0x18
mov edx, 8
call fcn.0040c730
test rax, rax
je 0x4870b8
mov r12, rax
and qword [rax], 0
mov qword [rax + 0x10], r13
mov rcx, r13
call fcn.00419b22
mov ecx, eax
mov rdx, r12
call sub.KERNEL32.dll_TlsSetValue
movabs rax, 0x736f6d6570736575
lea r13, [rsp + 0x70]
mov qword [r13], rax
movabs rax, 0x6c7967656e657261
mov qword [r13 + 8], rax
movabs rax, 0x646f72616e646f6d
mov qword [r13 + 0x10], rax
movabs rax, 0x7465646279746573
mov qword [r13 + 0x18], rax
xorps xmm0, xmm0
movups xmmword [r13 + 0x20], xmm0
movups xmmword [r13 + 0x30], xmm0
and qword [r13 + 0x40], 0
call fcn.004b6eb0
mov ebp, edx
mov rcx, r13
mov rdx, rax
call fcn.0041998b
lea rdx, [rsp + 0x50]
mov dword [rdx], ebp
mov r8d, 4
mov rcx, r13
call fcn.004199fa
call fcn.0048bda0
mov rbp, rax
mov rdx, qword [rax + 0x20]
mov rcx, r13
call fcn.0041998b
lock dec qword [rbp]
jne 0x486da1
mov rcx, rbp
call fcn.0043bfb6
movups xmm0, xmmword [rsp + 0x70]
movups xmm1, xmmword [rsp + 0x80]
lea r13, [rsp + 0x50]
movaps xmmword [r13 + 0x10], xmm1
mov rsi, qword [rsp + 0xa0]
shl rsi, 0x38
or rsi, qword [rsp + 0xa8]
movaps xmmword [r13], xmm0
xor qword [r13 + 0x18], rsi
mov rcx, r13
call fcn.004199ab
mov rcx, qword [r13 + 0x10]
mov r8d, 0xff
xor r8, qword [r13 + 8]
xor rsi, qword [r13]
mov rax, qword [r13 + 0x18]
add r8, rax
add rsi, rcx
rol rcx, 0xd
xor rcx, rsi
lea rdx, [r8 + rcx]
rol rcx, 0x11
rol rax, 0x10
xor rcx, rdx
xor rax, r8
rol rsi, 0x20
add rsi, rax
lea r8, [rsi + rcx]
rol rcx, 0xd
xor rcx, r8
rol rax, 0x15
xor rax, rsi
rol rdx, 0x20
add rdx, rax
lea r9, [rdx + rcx]
rol rcx, 0x11
rol rax, 0x10
xor rcx, r9
xor rax, rdx
rol r8, 0x20
add r8, rax
lea rdx, [r8 + rcx]
rol rcx, 0xd
xor rcx, rdx
rol rax, 0x15
xor rax, r8
rol r9, 0x20
add r9, rax
lea rdx, [r9 + rcx]
rol rcx, 0x11
mov r8, rdx
rol r8, 0x20
rol rax, 0x10
xor rax, r9
rol rax, 0x15
xor rax, rcx
xor rax, r8
xor rax, rdx
lea r8, [rax + rax]
inc r8
lea rcx, [r12 + 8]
mov qword [r12], 1
mov qword [r12 + 8], r8
add r8, rbx
mov rax, r8
xor rax, rdi
mul r8
mov r15, rdx
mov qword [rcx], r8
xor r15, rax
jmp 0x486ec1
movabs r15, 0x4d595df4d0f33173
lea rcx, [rsp + 0x50]
and qword [rcx], 0
mov qword [rcx + 8], 1
and qword [rcx + 0x10], 0
mov edx, 0x2e
call fcn.00486b45
lea r13, [rsp + 0x70]
mov rcx, r13
call fcn.004a93b0
cmp byte [r13 + 0x18], 2
mov qword [rsp + 0x28], r14
jne 0x486f09
mov rcx, qword [rsp + 0x70]
call fcn.004870d7
jmp 0x486fdd
mov r13, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x80]
mov rcx, rbp
call fcn.004ace50
test rax, rax
je 0x486fd2
cmp rdx, 2
jne 0x486f43
cmp word [rax], 0x2e2e
jne 0x486f43
mov r8d, 2
xor ecx, ecx
jmp 0x486f7c
xor r9d, r9d
mov rcx, rax
cmp rdx, r9
je 0x486f7e
lea r10, [rcx - 1]
inc r9
cmp byte [rcx + rdx - 1], 0x2e
mov rcx, r10
jne 0x486f49
mov r8, rdx
sub r8, r9
lea rcx, [r8 + 1]
cmp rdx, rcx
jb 0x4870c9
cmp rdx, r9
jne 0x486f85
xor ecx, ecx
mov r8, rdx
jmp 0x486f92
mov rcx, rax
xor eax, eax
jmp 0x486f92
lea rcx, [r10 + rdx]
inc rcx
dec r9
mov rdx, r9
test rax, rax
cmovne rcx, rax
test rcx, rcx
je 0x486fd2
test rax, rax
cmove r8, rdx
mov rdx, r8
call fcn.004bab70
test rax, rax
je 0x486fd2
add rdx, rax
lea rsi, [rsp + 0x50]
mov rcx, rsi
mov r8, rax
call fcn.004869ee
mov rcx, rsi
mov edx, 0x2e
call fcn.00486b45
mov rcx, r13
mov rdx, rbp
call fcn.004ccf61
xor esi, esi
movabs rbp, 0x40ec3ac8f17ac85e
lea r14, str.abcdefghijklmnopqrstuvwxyz.__selfdelete__.exe.__relocated__.exe_cargo_registry_src_index.crates.io_6f17d22bba15001f_self_replace_1.3.5_src_windows.rs
lea r13, [rsp + 0x50]
cmp esi, 0x20
je 0x487059
lea r12, [r15 + rbx]
mov rax, r12
xor rax, rdi
mul r12
xor rdx, rax
mov eax, edx
imul rax, rax, 0x1a
shr rax, 0x20
imul ecx, edx, 0x1a
cmp ecx, 0x19
ja 0x487045
add r15, rbp
cmp ecx, 0x15
ja 0x487045
add r12, rbx
mov rax, r15
xor rax, rdi
mul r15
xor rdx, rax
mov eax, edx
imul rax, rax, 0x1a
shr rax, 0x20
imul ecx, edx, 0x1a
add r15, rbx
jmp 0x48701f
inc esi
movzx edx, byte [rax + r14]
mov rcx, r13
call fcn.00486b45
mov r15, r12
jmp 0x486ff5
mov r8, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x30]
add rdx, r8
lea rsi, [rsp + 0x50]
mov rcx, rsi
call fcn.004869ee
mov r14, qword [rsi]
mov r15, qword [rsi + 8]
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x28]
mov r9, r15
call fcn.004ad250
mov rcx, r14
mov rdx, r15
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.004ccf61
mov ecx, 0x18
mov edx, 8
call fcn.0040e250
ud2
lea r8, str._rustc_90c541806f23a127002de5b4038be731ba1458calibrarycore_src_sliceiter.rs
call fcn.00411ae0
ud2