Function at 0x7034587d
Capabilities:
Get thread local storage value

Disassembly:
push 0x60
mov eax, 0x70395268
call fcn.7038fbb5
mov esi, ecx
mov ebx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
mov eax, 0x113
cmp ebx, eax
mov edi, 0x291
mov ecx, 0x10f
ja 0x70345b3b
je 0x70345aec
cmp ebx, 0x7b
ja 0x70345aac
je 0x70345a9e
cmp ebx, 0x20
je 0x703459f5
cmp ebx, 0x3d
je 0x70345962
cmp ebx, 0x50
je 0x70345953
cmp ebx, 0x53
jne 0x70345c65
call sym.UXCore.dll_public:_static_class_DirectUI::Element____stdcall_DirectUI::HWNDElement::GetKeyFocusedElement_void_
mov edi, eax
xor ebx, ebx
cmp edi, ebx
jne 0x70345923
mov dword [ebp - 0x10], ebx
lea ecx, [ebp - 0x10]
mov dword [ebp - 4], ebx
call fcn.7033e5d6
push eax
mov ecx, esi
call fcn.7033c3d9
cmp eax, ebx
je 0x7034590e
cmp dword [eax + 8], ebx
jbe 0x7034590e
mov eax, dword [eax + 0x10]
mov esi, dword [eax]
mov ecx, dword [ebp - 0x10]
or dword [ebp - 4], 0xffffffff
cmp ecx, ebx
mov edi, esi
je 0x70345923
call fcn.70313a92
mov dword [ebp - 0x10], ebx
mov eax, dword [sym.UXCore.dll_unsigned_char__DirectUI::HWNDElement::Help]
mov dword [ebp - 0x20], eax
push 1
lea eax, [ebp - 0x24]
push eax
mov ecx, edi
call sym.UXCore.dll_public:_void___thiscall_DirectUI::Element::FireEvent_struct_DirectUI::Event___bool_
mov ebx, dword [ebp + 0xc]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ebx
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_DefWindowProcW]
call fcn.7038fc63
ret 0x10
push 8
push dword [ebp + 0x14]
call dword [sym.imp.USER32.dll_ActivateKeyboardLayout]
xor eax, eax
jmp 0x7034594b
push dword [sym.UXCore.dll_unsigned_long_int_DirectUI::g_dwElSlot]
xor ebx, ebx
mov dword [ebp + 0xc], ebx
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, eax
cmp edi, ebx
je 0x7034595e
cmp byte [edi + 0x14], bl
jne 0x7034598b
push 2
push ebx
call dword [sym.imp.ole32.dll_CoInitializeEx]
mov byte [edi + 0x14], 1
mov eax, dword [ebp + 0x14]
cmp eax, ebx
je 0x703459bf
cmp eax, 0xfffffffc
je 0x703459bf
cmp eax, ebx
jle 0x703459ed
push eax
call sym.UXCore.dll_LookupGadgetTicket
cmp eax, ebx
je 0x703459ed
push eax
call sym.UXCore.dll_class_DirectUI::Element____stdcall_DirectUI::ElementFromGadget_struct_HGADGET____
cmp eax, ebx
je 0x703459ed
mov edx, dword [eax]
lea ecx, [ebp + 8]
push ecx
mov ecx, eax
mov dword [ebp + 8], ebx
call dword [edx + 0x6c]
jmp 0x703459cd
mov eax, dword [esi]
lea ecx, [ebp + 8]
push ecx
mov ecx, esi
mov dword [ebp + 8], ebx
call dword [eax + 0x6c]
test eax, eax
jl 0x703459ed
push dword [ebp + 8]
push dword [ebp + 0x10]
push 0x703038bc
call sub.OLEACC.dll_LresultFromObject
mov dword [ebp + 0xc], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0xc]
jmp 0x7034594b
cmp word [ebp + 0x14], 1
jne 0x7034593b
lea eax, [ebp - 0x14]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
je 0x7034593b
lea eax, [ebp - 0x14]
push eax
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_ScreenToClient]
push 0x40006
lea eax, [ebp - 0x14]
push eax
mov ecx, esi
call sym.UXCore.dll_public:_class_DirectUI::Element____thiscall_DirectUI::HWNDElement::ElementFromPoint_struct_tagPOINT___unsigned_int_
mov esi, eax
test esi, esi
je 0x7034593b
mov ecx, esi
call fcn.703446c6
test al, al
jne 0x7034593b
push 2
push dword [sym.UXCore.dll_struct_DirectUI::PropertyInfo__DirectUI::Element::CursorProp]
mov ecx, esi
call sym.UXCore.dll_public:_class_DirectUI::Value____thiscall_DirectUI::Element::GetValue_struct_DirectUI::PropertyInfo_const___int_const
mov esi, eax
cmp word [esi + 4], 1
jne 0x70345a81
mov eax, dword [esi + 0xc]
test eax, eax
jl 0x70345a7d
cmp eax, 0xc
jae 0x70345a7d
movzx eax, word [eax*4 + 0x703b76e8]
push eax
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
mov edi, eax
jmp 0x70345a84
mov edi, dword [esi + 0xc]
mov ecx, esi
call fcn.70313a92
test edi, edi
je 0x70345a96
push edi
call dword [sym.imp.USER32.dll_SetCursor]
xor eax, eax
inc eax
jmp 0x7034594b
cmp edx, dword [ebp + 8]
jne 0x7034593b
jmp 0x7034595e
cmp ebx, 0x7e
je 0x70345ada
cmp ebx, 0x106
je 0x70345ad2
cmp ebx, 0x10c
jbe 0x70345c65
cmp ebx, ecx
jbe 0x70345b8a
jmp 0x70345c65
cmp edx, 0x20
jmp 0x70345c01
push 1
push 0
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_InvalidateRect]
jmp 0x7034593b
cmp edx, 1
jne 0x70345b07
push edx
push dword [esi + 0x40]
call dword [sym.imp.USER32.dll_KillTimer]
mov ecx, esi
call sym.UXCore.dll_public:_void___thiscall_DirectUI::HWNDElement::DelayActivateTooltip_void_
jmp 0x7034593b
cmp edx, 2
jne 0x7034593b
push edx
push dword [esi + 0x40]
call dword [sym.imp.USER32.dll_KillTimer]
xor edi, edi
cmp dword [esi + 0x50], edi
je 0x7034593b
push edi
mov ecx, esi
call fcn.703448dd
mov eax, dword [esi]
push edi
push edi
mov ecx, esi
call dword [eax + 0x60]
jmp 0x7034593b
mov eax, 0x30f
cmp ebx, eax
ja 0x70345c4c
je 0x70345cfa
cmp ebx, 0x128
je 0x70345c0c
cmp ebx, 0x280
jbe 0x70345c65
cmp ebx, 0x286
jbe 0x70345b8a
cmp ebx, 0x288
je 0x70345b8a
cmp ebx, 0x28f
jbe 0x70345c65
cmp ebx, edi
ja 0x70345c65
cmp ebx, ecx
mov esi, dword [ebp + 0x14]
jne 0x70345b98
mov dword [ebp + 0x14], 0xfffff7ff
call sym.UXCore.dll_public:_static_class_DirectUI::Element____stdcall_DirectUI::HWNDElement::GetKeyFocusedElement_void_
test eax, eax
je 0x70345bdb
mov ecx, dword [sym.UXCore.dll_unsigned_char__DirectUI::HWNDElement::IMEMessage]
and dword [ebp - 0x28], 0
mov dword [ebp - 0x44], ecx
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x30], ecx
push 1
lea ecx, [ebp - 0x48]
push ecx
mov ecx, eax
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x2c], esi
call sym.UXCore.dll_public:_void___thiscall_DirectUI::Element::FireEvent_struct_DirectUI::Event___bool_
cmp byte [ebp - 0x40], 0
je 0x70345bdb
mov eax, dword [ebp - 0x28]
jmp 0x7034594b
cmp ebx, 0x282
je 0x7034593b
cmp ebx, 0x281
je 0x7034593b
cmp ebx, edi
je 0x7034593b
cmp ebx, 0x290
je 0x7034593b
jmp 0x7034595e
movzx ecx, word [ebp + 0x10]
dec ecx
movzx eax, word [esi + 0x4c]
movzx edx, ax
je 0x70345c29
dec ecx
jne 0x70345c35
mov ecx, dword [ebp + 0x10]
shr ecx, 0x10
not ecx
and ecx, eax
jmp 0x70345c31
mov ecx, dword [ebp + 0x10]
shr ecx, 0x10
or ecx, eax
mov word [esi + 0x4c], cx
cmp dx, word [esi + 0x4c]
je 0x7034593b
push dword [esi + 4]
call sym.UXCore.dll_InvalidateGadget
jmp 0x7034593b
mov eax, ebx
sub eax, 0x311
je 0x70345ce7
sub eax, 9
je 0x70345cd7
sub eax, 0xe6
je 0x70345cc1
push ebx
call fcn.703447cc
test al, al
je 0x7034593b
call sym.UXCore.dll_public:_static_class_DirectUI::Element____stdcall_DirectUI::HWNDElement::GetKeyFocusedElement_void_
test eax, eax
je 0x7034595e
mov ecx, dword [sym.UXCore.dll_unsigned_char__DirectUI::HWNDElement::IMEMessage]
and dword [ebp - 0x4c], 0
mov dword [ebp - 0x68], ecx
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x5c], ecx
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x54], ecx
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 0x50], ecx
push 1
lea ecx, [ebp - 0x6c]
push ecx
mov ecx, eax
mov dword [ebp - 0x58], ebx
call sym.UXCore.dll_public:_void___thiscall_DirectUI::Element::FireEvent_struct_DirectUI::Event___bool_
cmp byte [ebp - 0x64], 0
je 0x7034595e
mov eax, dword [ebp - 0x4c]
jmp 0x7034594b
push 0xffffffffffffffff
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_SetProcessWorkingSetSize]
jmp 0x7034595e
mov ecx, esi
call fcn.70344f65
and dword [esi + 0x70], 0
jmp 0x7034593b
cmp dword [esi + 0x48], 0
je 0x7034593b
cmp edx, dword [ebp + 8]
je 0x7034593b
cmp dword [esi + 0x48], 0
je 0x7034593b
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_GetDC]
push 0
push dword [esi + 0x48]
mov esi, dword [sym.imp.GDI32.dll_SelectPalette]
mov ebx, eax
push ebx
call esi
mov edi, dword [sym.imp.GDI32.dll_RealizePalette]
push ebx
mov dword [ebp + 0x14], eax
call edi
push 1
push dword [ebp + 0x14]
mov dword [ebp + 0x10], eax
push ebx
call esi
push ebx
call edi
push ebx
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_ReleaseDC]
cmp dword [ebp + 0x10], 0
je 0x70345d54
push 1
push 0
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_InvalidateRect]
mov eax, dword [ebp + 0x10]
jmp 0x7034594b