Function at 0x14002cfb0
Capabilities:
Get thread local storage value

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rsi, rcx
lea rax, [0x14026db20]
mov qword [rcx], rax
lea rax, str._R__
mov qword [rcx + 0xd0], rax
lea rax, [0x14026e400]
mov qword [rcx + 0xd8], rax
lea rax, str._a_r_
mov qword [rcx + 0x138], rax
cmp byte [rcx + 0x159], 0
je 0x14002d005
mov byte [rsi + 0x159], 0
xor ecx, ecx
call fcn.140074100
cmp byte [rsi + 0x1f0], 0
je 0x14002d021
lea rcx, [rsi + 0x1f8]
call fcn.140160680
mov byte [rsi + 0x1f0], 0
mov rdi, qword [rsi + 0x1e8]
mov qword [rsi + 0x1e8], 0
test rdi, rdi
je 0x14002d080
mov rbx, qword [0x1402a5040]
cmp rbx, 1
jbe 0x14002d2b1
mov ecx, dword [0x14029bf80]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x14002d078
mov rcx, qword [rbx]
shl rcx, 4
mov qword [rax + rcx], 0
mov ecx, dword [rbx + 8]
mov rdx, qword [rbx]
shl rdx, 4
mov dword [rax + rdx + 8], ecx
mov rcx, rdi
call fcn.14017b254
mov rdi, qword [rsi + 0x1d0]
test rdi, rdi
jne 0x14002d202
mov rcx, qword [rsi + 0x1b0]
mov qword [rsi + 0x1b0], 0
test rcx, rcx
je 0x14002d0b8
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [case.0x1401e7f70.0]
lea rdi, [rsi + 0x1a0]
lea rax, fcn.1401bde70
mov qword [rsi + 0x1a0], rax
mov eax, dword [0x1402a52b0]
mov ecx, dword [0x14029dfe4]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14002d271
mov rcx, qword [0x1402a5298]
mov rdx, rdi
call fcn.140025e50
mov rcx, qword [rsi + 0x198]
test rcx, rcx
je 0x14002d116
lock dec dword [rcx]
je 0x14002d2f4
mov rdi, qword [rsi + 0x188]
test rdi, rdi
je 0x14002d17c
lock dec dword [rdi + 8]
jne 0x14002d17c
mov rcx, qword [rdi]
mov rax, qword [rcx + 8]
lea rdx, [0x1401e6bb0]
cmp qword [rcx + 0x10], rdx
jne 0x14002d25e
lea rcx, [0x140203760]
cmp rax, rcx
jne 0x14002d25e
mov rcx, qword [rdi + 0x18]
test rcx, rcx
je 0x14002d162
lock dec dword [rcx]
je 0x14002d2a7
mov rbx, qword [rdi + 0x10]
test rbx, rbx
je 0x14002d174
lock dec dword [rbx]
je 0x14002d248
mov rcx, rdi
call fcn.14017b254
lea rdi, [rsi + 0xd8]
mov rbx, qword [rsi + 0x150]
mov qword [rsi + 0x150], 0
test rbx, rbx
je 0x14002d1aa
mov rcx, rbx
call fcn.140075ea0
mov rcx, rbx
call fcn.14017b254
mov rcx, rdi
call fcn.1400c6cb0
lea rax, [0x14026dbc0]
mov qword [rsi], rax
mov rdx, qword [rsi + 0xb8]
test rdx, rdx
je 0x14002d1df
lea rdi, [rsi + 0xb8]
mov rcx, rdi
call fcn.140077730
mov rcx, qword [rdi]
call fcn.14017b254
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x14002d1f9
lock dec dword [rcx]
jne 0x14002d1f9
add rsp, 0x20
pop rbx
pop rdi
pop rsi
jmp fcn.14017b254
nop
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret
mov rax, qword [rsi + 0x1d8]
mov rcx, rdi
cmp rax, rdi
je 0x14002d237
lea rbx, [rax - 0x18]
mov rcx, qword [rax - 0x10]
test rcx, rcx
je 0x14002d228
mov rax, qword [rax - 8]
call qword [case.0x1401e7f70.0]
mov rax, rbx
cmp rbx, rdi
jne 0x14002d211
mov rcx, qword [rsi + 0x1d0]
mov qword [rsi + 0x1d8], rdi
call fcn.14017b254
jmp 0x14002d090
lea rcx, [rbx + 8]
call fcn.1400091b0
mov rcx, rbx
call fcn.14017b254
jmp 0x14002d174
mov rcx, rdi
mov edx, 1
call qword [case.0x1401e7f70.0]
jmp 0x14002d17c
lea rcx, [0x1402a52b0]
call fcn.14017b2bc
cmp dword [0x1402a52b0], 0xffffffff
jne 0x14002d0f2
lea rcx, [0x1402a5258]
call fcn.1400333b0
lea rcx, [0x1402a52b0]
call fcn.14017b25c
jmp 0x14002d0f2
call fcn.14017b254
jmp 0x14002d162
lea rcx, [0x1402a5040]
call fcn.140008ab0
test al, al
je 0x14002d2fe
mov qword [0x1402a5050], 0
lea rbx, [0x1402a5048]
mov qword [0x1402a5048], 0xffffffffffffffff
mov rcx, rbx
xor edx, edx
call fcn.140002850
mov qword [0x1402a5040], rbx
jmp 0x14002d049
call fcn.14017b254
jmp 0x14002d116
mov rbx, qword [0x1402a5040]
jmp 0x14002d049