Function at 0x4c9f3f
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, 0x98
mov rsi, rcx
mov al, byte [rcx]
movabs rcx, 0x9e3779b97f4a7c15
mov rdx, rsi
or rdx, rcx
mov rdi, rsi
and rdi, rcx
imul rdx, rdi
movabs r8, 0x61c8864680b583ea
and r8, rsi
xor rdi, rcx
imul rdi, r8
add rdi, rdx
lea r13, [0x005b7078]
lea r12, [rsp + 0x60]
lea rbp, [rsp + 0x28]
mov ebx, 1
xor ecx, ecx
test al, 1
jne 0x4c9fb4
mov edx, eax
or dl, 1
lock cmpxchg byte [rsi], dl
jne 0x4c9fa0
jmp 0x4ca2ba
test al, 2
jne 0x4c9fcc
cmp ecx, 9
jbe 0x4ca0a3
mov edx, eax
or dl, 2
lock cmpxchg byte [rsi], dl
jne 0x4c9fa0
mov qword [rsp + 0x68], 0
mov ecx, dword [0x005b7090]
test ecx, ecx
je 0x4ca280
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
jbe 0x4c9ffe
mov r15, rax
cmp qword [rax + 8], 0
jne 0x4ca0d5
mov ecx, dword [0x005b7090]
test ecx, ecx
je 0x4ca28f
dec ecx
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
je 0x4ca0ca
mov r15, rax
test rax, rax
jne 0x4ca064
mov ecx, 0x40
mov edx, 8
call fcn.00414fe0
test rax, rax
je 0x4ca2df
mov r15, rax
mov qword [rax + 8], 0
mov qword [rax + 0x38], r13
mov ecx, dword [0x005b7090]
test ecx, ecx
je 0x4ca2ab
dec ecx
mov rdx, r15
call sub.KERNEL32.dll_TlsSetValue
mov rcx, rbp
call fcn.004ca486
movups xmm0, xmmword [rsp + 0x28]
movups xmm1, xmmword [rsp + 0x38]
movups xmm2, xmmword [rsp + 0x48]
movups xmmword [r15 + 0x10], xmm1
movups xmmword [r15 + 0x20], xmm2
mov rax, qword [rsp + 0x58]
mov qword [r15 + 0x30], rax
cmp qword [r15 + 8], 0
movups xmmword [r15], xmm0
je 0x4ca0d5
lock dec qword [0x006772c0]
jmp 0x4ca0d5
lea r14d, [rcx + 1]
cmp ecx, 3
jae 0x4ca0be
mov eax, 2
shl eax, cl
pause
dec eax
jne 0x4ca0b3
jmp 0x4ca276
xor ecx, ecx
call sub.KERNEL32.dll_Sleep
jmp 0x4ca276
mov rcx, r12
call fcn.004ca486
mov r15, r12
mov rbp, qword [0x006772c8]
test rbp, rbp
je 0x4ca13f
mov al, byte [rbp + 0x18]
xor ecx, ecx
sub cl, al
mov r13, rdi
shr r13, cl
mov rdx, qword [rbp + 8]
cmp r13, rdx
jae 0x4ca2ce
mov r14, qword [rbp]
shl r13, 6
lea r12, [r14 + r13]
xor eax, eax
lock cmpxchg qword [r14 + r13], rbx
jne 0x4ca149
mov rax, qword [0x006772c8]
cmp rbp, rax
je 0x4ca153
mov rax, 0xffffffffffffffff
lock xadd qword [r12], rax
cmp rax, 4
jb 0x4ca0d5
and eax, 2
jne 0x4ca0d5
mov rcx, r12
call fcn.004caad7
jmp 0x4ca0d5
call fcn.004ca6e7
mov rbp, rax
jmp 0x4ca0e1
mov rcx, r12
call fcn.004ca764
jmp 0x4ca111
mov bpl, byte [rsi]
cmp bpl, 3
jne 0x4ca188
mov byte [r15 + 0x30], 0
xor eax, eax
mov qword [r15 + 0x18], rax
mov qword [r15 + 0x10], rsi
mov qword [r15 + 0x28], rax
mov qword [r15], 1
cmp qword [r14 + r13 + 8], rax
je 0x4ca1bc
mov rax, qword [r14 + r13 + 0x10]
add rax, 0x18
jmp 0x4ca1c4
mov rcx, 0xffffffffffffffff
lock xadd qword [r12], rcx
cmp rcx, 4
lea r13, [0x005b7078]
jb 0x4ca246
and ecx, 2
jne 0x4ca246
mov rcx, r12
call fcn.004caad7
jmp 0x4ca246
lea rax, [r14 + r13]
add rax, 8
mov qword [rax], r15
mov qword [r14 + r13 + 0x10], r15
mov rax, 0xffffffffffffffff
lock xadd qword [r12], rax
cmp rax, 4
jb 0x4ca1e8
and eax, 2
je 0x4ca29e
mov rax, qword [r15 + 8]
cmp qword [rax], 0
lea r13, [0x005b7078]
je 0x4ca232
mov rcx, qword [r15]
test rcx, rcx
lea r12, [rsp + 0x28]
je 0x4ca242
mov r14, qword [rax + 8]
mov qword [rsp + 0x28], 1
mov r8d, 8
mov rcx, r15
mov rdx, r12
mov r9d, 0xffffffff
call r14
mov rax, qword [r15]
test rax, rax
jne 0x4ca20a
jmp 0x4ca242
mov rcx, qword [rax + 8]
mov rdx, r15
xor r8d, r8d
xor r9d, r9d
call qword [rax + 0x18]
mov rax, qword [r15 + 0x20]
cmp qword [rsp + 0x68], 0
je 0x4ca256
lock dec qword [0x006772c0]
xor r14d, r14d
cmp bpl, 3
lea r12, [rsp + 0x60]
jne 0x4ca271
cmp rax, 1
lea rbp, [rsp + 0x28]
jne 0x4ca276
jmp 0x4ca2ba
lea rbp, [rsp + 0x28]
mov al, byte [rsi]
mov ecx, r14d
jmp 0x4c9fa0
mov rcx, r13
call fcn.0053fad0
mov ecx, eax
jmp 0x4c9fe5
mov rcx, r13
call fcn.0053fad0
mov ecx, eax
jmp 0x4ca00e
mov rcx, r12
call fcn.004caad7
jmp 0x4ca1e8
mov rcx, r13
call fcn.0053fad0
mov ecx, eax
jmp 0x4ca05c
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, str.registry_src_octopus.retort.com_8754fae0eb2f08f1_indiscriminately_0.9.10_src_parking_lot.rs
mov rcx, r13
call fcn.004262b0
ud2
mov ecx, 0x40
mov edx, 8
call fcn.00417bf0
ud2