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

Disassembly:
push r14
push rsi
push rdi
push rbx
mov eax, 0x1028
call fcn.140297d70
sub rsp, rax
mov ecx, dword [0x14029b0c0]
test ecx, ecx
je 0x1400b386c
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 2
jb 0x1400b3885
mov rdi, rax
cmp qword [rax + 8], 0
je 0x1400b3885
add rdi, 0x10
jmp 0x1400b3ad1
lea rcx, str.0__v_
call fcn.140242d30
mov ecx, eax
call sub.kernel32.dll_TlsGetValue
cmp rax, 2
jae 0x1400b3859
mov ecx, dword [0x14029b0c0]
test ecx, ecx
je 0x1400b3ab2
dec ecx
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
je 0x1400b3acf
mov rsi, rax
test rax, rax
jne 0x1400b391a
movzx eax, byte [0x1403ac1f0]
mov rcx, qword [0x1403ac160]
test rcx, rcx
jne 0x1400b38d7
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400b3b1b
mov rcx, rax
mov qword [0x1403ac160], rax
mov r8d, 0x18
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400b3b1b
mov rsi, rax
lea rax, str.0__v_
mov qword [rsi], rax
mov qword [rsi + 8], 0
mov ecx, dword [0x14029b0c0]
test ecx, ecx
je 0x1400b3af9
dec ecx
mov rdx, rsi
call sub.kernel32.dll_TlsSetValue
mov rax, qword [0x1403ac068]
cmp rax, 3
jne 0x1400b3ae1
mov rdi, qword [0x1403ac070]
lock inc qword [rdi]
jle 0x1400b3af7
mov eax, 0x60
movups xmm0, xmmword [0x1402b18e0]
movups xmm1, xmmword [0x1402b18d0]
nop
movups xmmword [rsp + rax - 0x30], xmm0
movups xmmword [rsp + rax - 0x40], xmm1
movups xmmword [rsp + rax - 0x20], xmm1
movups xmmword [rsp + rax - 0x10], xmm0
movups xmmword [rsp + rax], xmm1
movups xmmword [rsp + rax + 0x10], xmm0
movups xmmword [rsp + rax + 0x20], xmm1
movups xmmword [rsp + rax + 0x30], xmm0
sub rax, 0xffffffffffffff80
cmp rax, 0x860
jne 0x1400b3950
lea rcx, [rsp + 0x820]
lea rdx, [rsp + 0x20]
mov r8d, 0x800
call sub.msvcrt.dll_memcpy
movzx eax, byte [0x1403ac1f0]
mov rcx, qword [0x1403ac160]
test rcx, rcx
jne 0x1400b39c6
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400b3b0c
mov rcx, rax
mov qword [0x1403ac160], rax
mov r8d, 0x980
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400b3b0c
mov r14, rax
and r14, 0xffffffffffffff80
lea rbx, [r14 + 0x80]
mov qword [r14 + 0x78], rax
mov qword [r14 + 0x80], 0
mov qword [r14 + 0x88], rdi
lea rcx, [r14 + 0x90]
lea rdx, [rsp + 0x820]
mov r8d, 0x800
call sub.msvcrt.dll_memcpy
xorps xmm0, xmm0
movaps xmmword [r14 + 0x890], xmm0
mov qword [r14 + 0x8a0], 1
mov qword [r14 + 0x8a8], 0
mov qword [r14 + 0x900], 0
mov rax, qword [rdi + 0x200]
mov qword [r14 + 0x80], rax
lock cmpxchg qword [rdi + 0x200], rbx
je 0x1400b3a6e
nop
mov qword [rbx], rax
lock cmpxchg qword [rdi + 0x200], rbx
jne 0x1400b3a60
lea rdi, [rsi + 0x10]
mov rcx, qword [rsi + 0x10]
cmp qword [rsi + 8], 0
mov qword [rsi + 8], 1
mov qword [rsi + 0x10], rbx
je 0x1400b3ad1
mov rax, qword [rcx + 0x820]
lea rdx, [rax - 1]
mov qword [rcx + 0x820], rdx
cmp qword [rcx + 0x818], 0
jne 0x1400b3ad1
cmp rax, 1
jne 0x1400b3ad1
call fcn.1400b30a0
jmp 0x1400b3ad1
lea rcx, str.0__v_
call fcn.140242d30
mov ecx, eax
call sub.kernel32.dll_TlsGetValue
cmp rax, 1
jne 0x1400b38a4
xor edi, edi
mov rax, rdi
add rsp, 0x1028
pop rbx
pop rdi
pop rsi
pop r14
ret
call fcn.1400b3540
mov rdi, qword [0x1403ac070]
lock inc qword [rdi]
jg 0x1400b393c
ud2
lea rcx, str.0__v_
call fcn.140242d30
mov ecx, eax
jmp 0x1400b3912
mov ecx, pe_nt_image_headers64
mov edx, 0x900
call fcn.1400a81e0
mov ecx, 8
mov edx, 0x18
call fcn.1400a81e0
int3