Function at 0xae89c0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x808
mov eax, dword [0xc05fa8]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov eax, dword [0xc05fb8]
cmp eax, 0xffffffff
mov dword [ebp - 0x814], eax
jne 0xae8a9d
lea edi, [ebp - 0x814]
push edi
call fcn.00b01930
add esp, 4
test al, al
jne 0xae8a20
lea esi, [ebp - 0x810]
mov ecx, esi
push str.PlatformThreadLocalStorage::AllocTLS_key_
push 0xd0
push str..._.._base_threading_thread_local_storage.cc
call fcn.00ac6e70
mov ecx, esi
call fcn.00ac6f60
mov ecx, dword [ebp - 0x814]
cmp ecx, 0xffffffff
jne 0xae8a74
push edi
call fcn.00b01930
add esp, 4
test al, al
je 0xae8a41
cmp dword [ebp - 0x814], 0xffffffff
jne 0xae8a64
lea esi, [ebp - 0x810]
mov ecx, esi
push str.PlatformThreadLocalStorage::AllocTLS_key___key___PlatformThreadLocalStorage::TLS_KEY_OUT_OF_INDEXES
push 0xda
push str..._.._base_threading_thread_local_storage.cc
call fcn.00ac6e70
mov ecx, esi
call fcn.00ac6f60
push 0xffffffffffffffff
call fcn.00b01950
add esp, 4
mov ecx, dword [ebp - 0x814]
mov eax, 0xffffffff
lock cmpxchg dword [0xc05fb8], ecx
mov eax, dword [ebp - 0x814]
je 0xae8a9d
push eax
call fcn.00b01950
add esp, 4
mov eax, dword [0xc05fb8]
mov dword [ebp - 0x814], eax
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ebx, eax
and ebx, 3
je 0xae8c18
lea edi, [ebp - 0x80c]
mov dword [ebp - 0x810], 0xbb24b0
lea ecx, [ebp - 0x7d8]
mov dword [ebp - method.std::__1::basic_ostream_char__struct_std::__1::char_traits_char__.virtual_0], vtable.std::__1::basic_ostream_char__struct_std::__1::char_traits_char__.0
push edi
call fcn.00aa7f46
mov dword [ebp - 0x790], 0
mov dword [ebp - 0x78c], 0xffffffff
mov ecx, edi
mov eax, dword [ebp - 0x810]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0x810], 0xbb24b8
call fcn.00aa6936
mov dword [ebp - 0x80c], 0xbb24c0
mov dword [ebp - 0x7e8], 0
mov dword [ebp - 0x7ec], 0
mov dword [ebp - 0x7e0], 0
mov dword [ebp - 0x7e4], 0
mov dword [ebp - 0x7dc], 0x10
lea esi, [ebp - 0x810]
push 0x40
push str.GetTlsVectorStateAndValue_key___TlsVectorState::kUninitialized
push esi
call fcn.00aa1965
add esp, 0xc
push 2
push 0xbb24a5
push eax
call fcn.00aa1965
add esp, 0xc
mov ecx, esi
push ebx
call fcn.00aa7110
push 5
push str._vs.
push esi
call fcn.00aa1965
add esp, 0xc
mov ecx, esi
push 0
call fcn.00aa7110
push 1
push 0xbb24ae
push esi
call fcn.00aa1965
add esp, 0xc
push 0xc
call fcn.00b86866
add esp, 4
mov ebx, eax
mov ecx, edi
push eax
call fcn.00aa3734
mov eax, dword [ebp - 0x810]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0x810], 0xbb24b8
mov dword [ebp - 0x80c], 0xbb24c0
cmp byte [ebp - 0x7e1], 0
jns 0xae8be0
push dword [ebp - 0x7ec]
call fcn.00b86896
add esp, 4
mov ecx, edi
call fcn.00aa6924
mov ecx, edi
call fcn.00aa6cc0
lea ecx, [ebp - 0x7d8]
call fcn.00aa691a
lea esi, [ebp - 0x810]
mov ecx, esi
push ebx
push 0xec
push str..._.._base_threading_thread_local_storage.cc
call fcn.00ac7d80
mov ecx, esi
call fcn.00ac6f60
lea edi, [ebp - 0x810]
push 0x800
push 0
push edi
call fcn.00b8ad40
add esp, 0xc
lea eax, [ebp - 0x80d]
push eax
push dword [ebp - 0x814]
call fcn.00b01960
add esp, 8
push 0x800
call fcn.00b868c3
add esp, 4
mov esi, eax
push 0x800
push edi
push eax
call fcn.00b8a240
add esp, 0xc
mov eax, esi
or eax, 3
push eax
push dword [ebp - 0x814]
call fcn.00b01960
add esp, 8
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00b868d1
mov eax, esi
add esp, 0x808
pop esi
pop edi
pop ebx
pop ebp
ret