Function at 0x140245140
Capabilities:
Get thread local storage value

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x128
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
movabs r12, 0xaaaaaaaaaaaaaaaa
lea rcx, [rsp + 0x2c]
mov dword [rcx], 0x266
call fcn.14004a330
test byte [0x140341d30], 0x19
je 0x1402451f5
lea rcx, [rsp + 0x30]
mov qword [rcx + 0x18], r12
xorps xmm0, xmm0
movaps xmmword [rcx], xmm0
movups xmmword [rcx + 9], xmm0
call fcn.1401b25f0
call fcn.1400412c0
mov r14, rax
movsxd rax, dword [rbx + 0x78]
mov qword [rsp + 0x30], rax
mov r15, qword [rbx + 0x20]
mov rcx, qword [0x140352ad8]
test rcx, rcx
jne 0x1402454c9
xor esi, esi
mov rax, qword [0x1403428e0]
and rax, rsi
cmp rax, qword [0x1403428c8]
je 0x1402454d6
mov edi, 0xaaaaaaaa
test rsi, rsi
jne 0x1402454e3
movabs rax, 0xc001c0ded017d00d
lea rcx, [rsp + 0x30]
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 0x140245459
mov ecx, dword [0x1403411e0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x1402454c1
mov rcx, qword [0x14035c070]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [0x14035c078]
jne 0x1402454c1
mov r15, qword [rax + rcx]
mov ecx, dword [0x1403411e0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x14024549b
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 0x14024543d
mov ecx, dword [0x1403411e0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x1402454ae
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 + 0x30]
mov qword [rcx], rax
mov qword [rcx + 0x38], rax
call fcn.14004a330
test rsi, rsi
jne 0x140245505
mov rax, qword [0x1403428e0]
and rax, rsi
cmp rax, qword [0x1403428c8]
je 0x140245530
test byte [0x140341d30], 0x19
je 0x1402453c7
lea rcx, [rsp + 0x30]
mov qword [rcx + 0x18], r12
xorps xmm0, xmm0
movaps xmmword [rcx], xmm0
movups xmmword [rcx + 9], xmm0
call fcn.1401b25f0
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, 0x128
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
lock dec dword [r14]
jne 0x140245339
mov rax, qword [r14 + 0x10]
mov rcx, r14
call qword [case.0x140211850.0]
jmp 0x140245339
lea rcx, [0x14035c080]
call fcn.14016f8b4
cmp dword [0x14035c080], 0xffffffff
jne 0x1402452aa
xorps xmm0, xmm0
movups xmmword [0x14035c070], xmm0
lea rcx, [0x14035c070]
xor edx, edx
call fcn.140041af0
lea rcx, [0x14035c080]
call fcn.14016ef8c
jmp 0x1402452aa
test rbx, rbx
je 0x140245319
call fcn.140001120
jmp 0x1402452f5
test r15, r15
je 0x140245373
call fcn.140001120
jmp 0x14024534f
xor r15d, r15d
jmp 0x1402452df
call fcn.1402097d0
mov rsi, rax
jmp 0x14024521c
mov rcx, rsi
call fcn.140156f20
jmp 0x140245233
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov rcx, rsi
mov rdx, r14
mov r8, r15
mov r9b, 0x10
call fcn.140207de0
mov edi, eax
jmp 0x140245241
cmp dword [rsi + 0x18], edi
jbe 0x14024551b
mov rax, qword [rsi + 0x10]
mov ecx, edi
shl rcx, 7
cmp dword [rax + rcx + 0x68], 0
jne 0x14024553d
mov rax, qword [rsi + 8]
lock dec dword [rax + 0x38]
mov rax, qword [rsi + 8]
lock inc dword [rax + 0x3c]
jmp 0x14024538f
mov rcx, rsi
call fcn.1401571d0
jmp 0x1402453a6
mov r14, qword [0x140352ad8]
lea rbx, [r14 + 0xc8]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140245574
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 0x14024551b
mov rcx, rbx
call fcn.140047ff0
jmp 0x140245558