Function at 0x140244d00
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], 0x25e
call fcn.14004a330
test byte [0x140341d30], 0x19
je 0x140244db5
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 0x140245089
xor esi, esi
mov rax, qword [0x1403428e0]
and rax, rsi
cmp rax, qword [0x1403428c8]
je 0x140245096
mov edi, 0xaaaaaaaa
test rsi, rsi
jne 0x1402450a3
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 0x140245019
mov ecx, dword [0x1403411e0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x140245081
mov rcx, qword [0x14035c070]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [0x14035c078]
jne 0x140245081
mov r15, qword [rax + rcx]
mov ecx, dword [0x1403411e0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x14024505b
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 0x140244ffd
mov ecx, dword [0x1403411e0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x14024506e
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 0x1402450c5
mov rax, qword [0x1403428e0]
and rax, rsi
cmp rax, qword [0x1403428c8]
je 0x1402450f0
test byte [0x140341d30], 0x19
je 0x140244f87
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 0x140244ef9
mov rax, qword [r14 + 0x10]
mov rcx, r14
call qword [case.0x140211850.0]
jmp 0x140244ef9
lea rcx, [0x14035c080]
call fcn.14016f8b4
cmp dword [0x14035c080], 0xffffffff
jne 0x140244e6a
xorps xmm0, xmm0
movups xmmword [0x14035c070], xmm0
lea rcx, [0x14035c070]
xor edx, edx
call fcn.140041af0
lea rcx, [0x14035c080]
call fcn.14016ef8c
jmp 0x140244e6a
test rbx, rbx
je 0x140244ed9
call fcn.140001120
jmp 0x140244eb5
test r15, r15
je 0x140244f33
call fcn.140001120
jmp 0x140244f0f
xor r15d, r15d
jmp 0x140244e9f
call fcn.1402097d0
mov rsi, rax
jmp 0x140244ddc
mov rcx, rsi
call fcn.140156f20
jmp 0x140244df3
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 0x140244e01
cmp dword [rsi + 0x18], edi
jbe 0x1402450db
mov rax, qword [rsi + 0x10]
mov ecx, edi
shl rcx, 7
cmp dword [rax + rcx + 0x68], 0
jne 0x1402450fd
mov rax, qword [rsi + 8]
lock dec dword [rax + 0x38]
mov rax, qword [rsi + 8]
lock inc dword [rax + 0x3c]
jmp 0x140244f4f
mov rcx, rsi
call fcn.1401571d0
jmp 0x140244f66
mov r14, qword [0x140352ad8]
lea rbx, [r14 + 0xc8]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140245134
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 0x1402450db
mov rcx, rbx
call fcn.140047ff0
jmp 0x140245118