Function at 0x140245580
Capabilities:
Get thread local storage value

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x120
movaps xmmword [rsp + 0x110], xmm15
movaps xmmword [rsp + 0x100], xmm14
movaps xmmword [rsp + 0xf0], xmm13
movaps xmmword [rsp + 0xe0], xmm12
movaps xmmword [rsp + 0xd0], xmm11
movaps xmmword [rsp + 0xc0], xmm10
movaps xmmword [rsp + 0xb0], xmm9
movaps xmmword [rsp + 0xa0], xmm8
movaps xmmword [rsp + 0x90], xmm7
movaps xmmword [rsp + 0x80], xmm6
mov rbx, rcx
mov rax, qword [0x14033f038]
xor rax, rsp
mov qword [rsp + 0x78], rax
lea rcx, [rsp + 0x34]
mov dword [rcx], 0x26e
call fcn.14004a330
call fcn.1400412c0
mov r14, rax
movsxd rax, dword [rbx + 0x78]
mov qword [rsp + 0x38], rax
mov r15, qword [rbx + 0x20]
mov rcx, qword [0x140352ad8]
test rcx, rcx
jne 0x1402458b9
xor esi, esi
mov rax, qword [0x1403428e0]
and rax, rsi
cmp rax, qword [0x1403428c8]
je 0x1402458c6
mov edi, 0xaaaaaaaa
test rsi, rsi
jne 0x1402458d3
movabs rax, 0xc001c0ded017d00d
lea rcx, [rsp + 0x38]
mov qword [rcx], rax
movabs rax, 0xd00d1d1d178119
mov qword [rcx + 0x38], rax
mov rax, qword [rbx + 0x20]
mov qword [rcx + 8], rax
movups xmm0, xmmword [rbx + 0x48]
movups xmm1, xmmword [rbx + 0x58]
movups xmmword [rcx + 0x10], xmm0
movups xmmword [rcx + 0x20], xmm1
mov eax, dword [rbx + 0x68]
mov qword [rcx + 0x30], rax
call fcn.14004a330
mov eax, dword [0x14035c080]
mov ecx, dword [0x14034fed0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140245849
mov ecx, dword [0x1403411e0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x1402458b1
mov rcx, qword [0x14035c070]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [0x14035c078]
jne 0x1402458b1
mov r15, qword [rax + rcx]
mov ecx, dword [0x1403411e0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x14024588b
mov rcx, qword [0x14035c070]
shl rcx, 4
mov qword [rax + rcx], rbx
mov ecx, dword [0x14035c078]
mov rdx, qword [0x14035c070]
shl rdx, 4
mov dword [rax + rdx + 8], ecx
mov r14, qword [rbx]
mov qword [rbx], 0
mov rax, qword [r14 + 8]
mov rcx, r14
call qword [case.0x140211850.0]
test r14, r14
jne 0x14024582d
mov ecx, dword [0x1403411e0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x14024589e
mov rcx, qword [0x14035c070]
shl rcx, 4
mov qword [rax + rcx], r15
mov ecx, dword [0x14035c078]
mov rdx, qword [0x14035c070]
shl rdx, 4
mov dword [rax + rdx + 8], ecx
xor eax, eax
lea rcx, [rsp + 0x38]
mov qword [rcx], rax
mov qword [rcx + 0x38], rax
call fcn.14004a330
test rsi, rsi
jne 0x1402458f5
mov rax, qword [0x1403428e0]
and rax, rsi
cmp rax, qword [0x1403428c8]
je 0x140245920
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.140171860
movaps xmm6, xmmword [rsp + 0x80]
movaps xmm7, xmmword [rsp + 0x90]
movaps xmm8, xmmword [rsp + 0xa0]
movaps xmm9, xmmword [rsp + 0xb0]
movaps xmm10, xmmword [rsp + 0xc0]
movaps xmm11, xmmword [rsp + 0xd0]
movaps xmm12, xmmword [rsp + 0xe0]
movaps xmm13, xmmword [rsp + 0xf0]
movaps xmm14, xmmword [rsp + 0x100]
movaps xmm15, xmmword [rsp + 0x110]
add rsp, 0x120
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
lock dec dword [r14]
jne 0x14024574c
mov rax, qword [r14 + 0x10]
mov rcx, r14
call qword [case.0x140211850.0]
jmp 0x14024574c
lea rcx, [0x14035c080]
call fcn.14016f8b4
cmp dword [0x14035c080], 0xffffffff
jne 0x1402456bd
xorps xmm0, xmm0
movups xmmword [0x14035c070], xmm0
lea rcx, [0x14035c070]
xor edx, edx
call fcn.140041af0
lea rcx, [0x14035c080]
call fcn.14016ef8c
jmp 0x1402456bd
test rbx, rbx
je 0x14024572c
call fcn.140001120
jmp 0x140245708
test r15, r15
je 0x140245786
call fcn.140001120
jmp 0x140245762
xor r15d, r15d
jmp 0x1402456f2
call fcn.1402097d0
mov rsi, rax
jmp 0x14024562f
mov rcx, rsi
call fcn.140156f20
jmp 0x140245646
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
mov rcx, rsi
mov rdx, r14
mov r8, r15
mov r9b, 0x10
call fcn.140207de0
mov edi, eax
jmp 0x140245654
cmp dword [rsi + 0x18], edi
jbe 0x14024590b
mov rax, qword [rsi + 0x10]
mov ecx, edi
shl rcx, 7
cmp dword [rax + rcx + 0x68], 0
jne 0x14024592d
mov rax, qword [rsi + 8]
lock dec dword [rax + 0x38]
mov rax, qword [rsi + 8]
lock inc dword [rax + 0x3c]
jmp 0x1402457a2
mov rcx, rsi
call fcn.1401571d0
jmp 0x1402457b9
mov r14, qword [0x140352ad8]
lea rbx, [r14 + 0xc8]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140245964
sub r14, 0xffffffffffffff80
mov rcx, rsi
mov edx, edi
mov r8, r14
call fcn.1402081c0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x14024590b
mov rcx, rbx
call fcn.140047ff0
jmp 0x140245948