Function at 0x3013d62d
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push esi
mov esi, ecx
test byte [esi + 0x7d], 0x40
je 0x3013d64c
push dword [ebp + 0xc]
push dword [ebp + 8]
call sym.OFFDIAG.exe_protected_virtual:_void___thiscall_NetUI::Node::OnGroupChanged_int__bool_
jmp 0x3013d8b0
push ebx
push edi
push dword [sym.OFFDIAG.exe_unsigned_long_int_NetUI::g_dwElSlot]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp byte [ebp + 0xc], 0
mov eax, dword [eax + 8]
mov dword [ebp - 0xc], eax
je 0x3013d778
test word [ebp + 8], 0x100
je 0x3013d700
test byte [esi + 0x7b], 0x10
je 0x3013d6b8
mov ecx, esi
call sym.OFFDIAG.exe_public:_int___thiscall_NetUI::Element::GetAnimation_void_
mov ebx, eax
mov edi, 0xf000
test edi, ebx
je 0x3013d6b8
call fcn.30159319
test al, al
jne 0x3013d6a3
push edi
mov ecx, esi
call sym.OFFDIAG.exe_public:_bool___thiscall_NetUI::Element::IsAnimationRunning_unsigned_int_
test al, al
je 0x3013d6b8
test byte [esi + 0x7d], 0x80
je 0x3013d6b8
push 0x100f000
push ebx
mov ecx, esi
call sym.OFFDIAG.exe_public:_void___thiscall_NetUI::Element::InvokeAnimation_int__unsigned_int_
jmp 0x3013d700
and dword [ebp - 8], 0
lea eax, [ebp - 8]
push eax
mov ecx, esi
call sym.OFFDIAG.exe_public:_struct_tagPOINT_const____thiscall_NetUI::Element::GetLocation_class_NetUI::Value___
mov cl, byte [esi + 0x81]
test cl, 2
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov ebx, dword [esi + 0x48]
mov edx, dword [esi + 0x4c]
je 0x3013d6df
inc edx
inc edx
test cl, 4
je 0x3013d6e6
dec eax
dec eax
push 0xb
push edx
push ebx
push eax
push edi
push dword [esi + 0x3c]
call fcn.30160d97
mov ecx, dword [ebp - 8]
test ecx, ecx
je 0x3013d700
call sym.OFFDIAG.exe_public:_void___thiscall_NetUI::BaseValue::Release_void_
mov edi, dword [ebp + 8]
test di, 0x200
jne 0x3013d725
test di, 0x400
je 0x3013d72d
call fcn.30114587
test eax, eax
je 0x3013d72d
mov ecx, esi
call fcn.3013d0e8
test al, al
je 0x3013d72d
push dword [esi + 0x3c]
call fcn.3015f8b1
test di, 0x800
je 0x3013d74c
mov ecx, esi
call sym.OFFDIAG.exe_public:_bool___thiscall_NetUI::Element::GetIsAccessible_void_
test al, al
je 0x3013d74c
push 0
push esi
push 0x800a
call sym.OFFDIAG.exe_void___stdcall_NetUI::NotifyAccessibilityEvent_unsigned_long_int__class_NetUI::Element___bool_
test di, 0x1000
je 0x3013d8a1
mov ecx, esi
call sym.OFFDIAG.exe_public:_bool___thiscall_NetUI::Element::GetIsAccessible_void_
test al, al
je 0x3013d8a1
push 0
push esi
push 0x8004
call sym.OFFDIAG.exe_void___stdcall_NetUI::NotifyAccessibilityEvent_unsigned_long_int__class_NetUI::Element___bool_
jmp 0x3013d8a1
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xb8]
test byte [ebp + 8], 0xf
mov dword [ebp - 8], eax
je 0x3013d8a1
test byte [ebp + 8], 1
je 0x3013d7aa
mov al, byte [esi + 0x79]
or byte [esi + 0x7c], 8
or dword [ebp + 8], 4
and al, 3
cmp al, 1
je 0x3013d7aa
or dword [ebp + 8], 2
test byte [ebp + 8], 4
je 0x3013d7cb
mov al, byte [esi + 0x7d]
and byte [esi + 0x7e], 0xe7
and al, 0xfd
or al, 1
mov byte [esi + 0x7d], al
mov al, byte [esi + 0x79]
and al, 3
cmp al, 1
je 0x3013d7cb
or dword [ebp + 8], 8
mov eax, dword [ebp + 8]
and eax, 0xa
test al, 2
mov dword [ebp - 4], eax
je 0x3013d7de
or eax, 8
mov dword [ebp - 4], eax
mov edi, dword [esi + 4]
test edi, edi
mov ebx, esi
je 0x3013d85a
test eax, eax
je 0x3013d85a
mov al, byte [esi + 0x79]
and al, 3
cmp al, 2
je 0x3013d85a
cmp dword [ebp - 8], 2
jne 0x3013d7fe
mov ecx, esi
jmp 0x3013d851
test byte [ebp - 4], 2
mov ebx, edi
je 0x3013d818
mov al, byte [edi + 0x7c]
test al, 8
je 0x3013d813
and dword [ebp - 4], 0xfffffffd
jmp 0x3013d818
or al, 8
mov byte [edi + 0x7c], al
test byte [ebp - 4], 8
je 0x3013d832
mov al, byte [edi + 0x7d]
test al, 3
je 0x3013d82b
and dword [ebp - 4], 0xfffffff7
jmp 0x3013d832
and al, 0xfd
or al, 1
mov byte [edi + 0x7d], al
and byte [edi + 0x7e], 0xe7
mov edi, dword [edi + 4]
test edi, edi
je 0x3013d85a
cmp dword [ebp - 4], 0
je 0x3013d85a
test byte [ebx + 0x79], 3
jne 0x3013d85a
cmp dword [ebp - 8], 2
jne 0x3013d7fe
mov ecx, ebx
call sym.OFFDIAG.exe_public:_bool___thiscall_NetUI::Element::GetIsAdaptable_void_
test al, al
je 0x3013d7fe
mov al, byte [ebx + 0x79]
and al, 3
cmp al, 1
je 0x3013d8a1
cmp dword [ebp - 8], 0
jne 0x3013d8a1
test byte [ebx + 0x7d], 0x80
jne 0x3013d875
cmp dword [ebx + 4], 0
je 0x3013d8a1
test byte [ebp - 4], 2
je 0x3013d88b
mov ecx, dword [ebp - 0xc]
push 1
push 1
push ebx
add ecx, 0x64
call fcn.3013a125
test byte [ebp - 4], 8
je 0x3013d8a1
mov ecx, dword [ebp - 0xc]
push 1
push 1
push ebx
add ecx, 0x58
call fcn.3013a125
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call sym.OFFDIAG.exe_protected_virtual:_void___thiscall_NetUI::Node::OnGroupChanged_int__bool_
pop edi
pop ebx
pop esi
leave
ret 8