Function at 0x100708a
Capabilities:
Create thread

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
push edi
push dword [section..data]
mov edi, ecx
mov dword [ebp - 0xc], edi
call sub.DUI70.dll_StrToID
mov ecx, dword [0x1010404]
movzx eax, ax
push eax
call dword [sym.imp.DUI70.dll_public:_class_DirectUI::Element____thiscall_DirectUI::Element::FindDescendent_unsigned_short_int_]
xor ebx, ebx
mov dword [ebp - 4], eax
cmp eax, ebx
jne 0x10070c4
mov eax, 0x80004005
jmp 0x1007107
push esi
push dword [0x1010400]
lea ecx, [ebp - 0x1c]
call dword [sym.imp.DUI70.dll_public:_void___thiscall_DirectUI::DUIFactory::constructor_struct_HWND____]
push ebx
lea esi, [edi + 4]
push esi
push ebx
push dword [ebp - 4]
lea ecx, [ebp - 0x1c]
push 0x10021f4
push 6
push dword [0x10103f8]
call dword [sym.imp.DUI70.dll_public:_long_int___thiscall_DirectUI::DUIFactory::LoadFromResource_struct_HINSTANCE_____unsigned_short_int_const___unsigned_short_int_const___class_DirectUI::Element___unsigned_long_int___class_DirectUI::Element____unsigned_short_int_const__]
cmp eax, ebx
mov dword [ebp - 8], eax
jge 0x100710b
lea ecx, [ebp - 0x1c]
call dword [sym.imp.DUI70.dll_public:_void___thiscall_DirectUI::DUIFactory::destructor_void_]
mov eax, dword [ebp - 8]
pop esi
pop edi
pop ebx
leave
ret
push dword [esi]
mov ecx, dword [ebp - 4]
call dword [sym.imp.DUI70.dll_public:_long_int___thiscall_DirectUI::Element::Add_class_DirectUI::Element__]
mov ecx, dword [esi]
push edi
call dword [sym.imp.DUI70.dll_public:_long_int___thiscall_DirectUI::Element::AddListener_struct_DirectUI::IElementListener__]
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
push ebx
push ebx
push 0x414
push dword [0x1010400]
call edi
push ebx
push ebx
push 0x415
push dword [0x1010400]
call edi
push 0x1001d14
call sub.DUI70.dll_StrToID
mov ecx, dword [esi]
movzx eax, ax
push eax
call dword [sym.imp.DUI70.dll_public:_class_DirectUI::Element____thiscall_DirectUI::Element::FindDescendent_unsigned_short_int_]
mov esi, dword [ebp - 0xc]
mov dword [esi + 8], eax
cmp eax, ebx
je 0x100719a
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xa0]
mov dword [ebp - 4], eax
cmp eax, ebx
je 0x100719a
push 0xfffffffffffffff0
push eax
call dword [sym.imp.USER32.dll_GetWindowLongW]
or eax, 8
push eax
push 0xfffffffffffffff0
push dword [ebp - 4]
call dword [sym.imp.USER32.dll_SetWindowLongW]
push 0x32
push 1
push 0x40a
push dword [ebp - 4]
call edi
push esi
push ebx
push ebx
push ebx
push ebx
push 0x1006e4f
call sub.SHLWAPI.dll_SHCreateWorkerWindowW
mov dword [esi + 0xc], eax
cmp eax, ebx
jne 0x10071d6
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, ebx
jle 0x10071c4
and eax, 0xffff
or eax, 0x80070000
lea ecx, [ebp - 0x1c]
mov esi, eax
call dword [sym.imp.DUI70.dll_public:_void___thiscall_DirectUI::DUIFactory::destructor_void_]
mov eax, esi
jmp 0x1007106
push ebx
push ebx
push eax
push 0x1006eca
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
cmp eax, ebx
jne 0x1007210
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, ebx
jle 0x10071fe
and eax, 0xffff
or eax, 0x80070000
mov ebx, eax
lea ecx, [ebp - 0x1c]
call dword [sym.imp.DUI70.dll_public:_void___thiscall_DirectUI::DUIFactory::destructor_void_]
mov eax, ebx
jmp 0x1007106
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1007200