Function at 0x4436d6
Capabilities:
Check for time delay via gettickcount
Check for unmoving mouse cursor

Disassembly:
push ebp
sub esp, 0x104
lea ebp, [esp - 4]
mov eax, dword [0x56f8f4]
xor eax, ebp
mov dword [ebp + 0x104], eax
push 0x98
mov eax, 0x50d7a6
call fcn.004c3211
mov eax, dword [ebp + 0x118]
mov esi, dword [ebp + 0x114]
mov ebx, ecx
cmp dword [ebx + 0xb4], 0
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x11c]
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x24], eax
je 0x4454ee
and dword [ebp - 0x20], 0
lea ecx, [ebx + 0x2b0]
call sym.tpop4.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
mov edi, dword [ebp + 0x110]
test eax, eax
jle 0x44377e
push dword [ebp - 0x20]
lea ecx, [ebx + 0x2b0]
mov byte [ebp - 0x19], 0
call sym.tpop4.exe_public:_void____thiscall_DuiLib::CStdPtrArray::operator___int_const
mov edx, dword [eax]
lea ecx, [ebp - 0x19]
push ecx
push dword [ebp - 0x10]
mov ecx, eax
push esi
push edi
call dword [edx]
cmp byte [ebp - 0x19], 0
jne 0x44382e
inc dword [ebp - 0x20]
lea ecx, [ebx + 0x2b0]
call sym.tpop4.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
cmp dword [ebp - 0x20], eax
jl 0x443740
mov eax, 0x133
cmp edi, eax
ja 0x444637
je 0x444e0a
cmp edi, 0x4e
ja 0x444289
je 0x444268
sub edi, 5
je 0x444206
dec edi
dec edi
je 0x4441af
sub edi, 8
je 0x4439f3
dec edi
je 0x443912
sub edi, 4
je 0x443904
sub edi, 0xc
je 0x44383a
sub edi, 4
jne 0x4454ee
mov eax, dword [ebx + 0x20c]
mov edx, dword [ebp - 0x10]
test eax, eax
jle 0x4437e8
mov dword [edx + 0x18], eax
mov eax, dword [ebx + 0x210]
test eax, eax
jle 0x4437f5
mov dword [edx + 0x1c], eax
lea eax, [ebx + 0x214]
mov ecx, dword [eax]
test ecx, ecx
jle 0x443804
mov dword [edx + 0x20], ecx
add ebx, 0x218
mov ecx, dword [ebx]
test ecx, ecx
jle 0x443813
mov dword [edx + 0x24], ecx
mov eax, dword [eax]
test eax, eax
jle 0x44381c
mov dword [edx + 8], eax
mov ebx, dword [ebx]
test ebx, ebx
jle 0x4454ee
mov dword [edx + 0xc], ebx
jmp 0x4454ee
mov ecx, dword [ebp - 0x24]
mov dword [ecx], eax
mov al, 1
jmp 0x4454f0
cmp word [ebp - 0x10], 1
jne 0x4454ee
cmp byte [ebx + 0x27d], 0
jne 0x443833
and dword [ebp - 0x18], 0
xor eax, eax
lea edi, [ebp - 0x14]
stosd dword es:[edi], eax
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
lea eax, [ebp - 0x18]
push eax
push dword [ebx + 0xb4]
call dword [sym.imp.USER32.dll_ScreenToClient]
push dword [ebp - 0x14]
mov ecx, ebx
push dword [ebp - 0x18]
call sym.tpop4.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_struct_tagPOINT_const
mov ebx, eax
test ebx, ebx
je 0x4454ee
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x14]
test al, 2
je 0x4454ee
xor eax, eax
push 7
pop ecx
lea edi, [ebp + 0xe8]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp + 0x100], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp + 0xf0], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp + 0xe4], 0x1a
mov dword [ebp + 0xe8], ebx
mov dword [ebp + 0xfc], esi
mov dword [ebp + 0xf4], eax
call fcn.0043e78e
mov word [ebp + 0xfa], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea ecx, [ebp + 0xe4]
mov dword [ebp + 0xec], eax
mov eax, dword [ebx]
push ecx
mov ecx, ebx
call dword [eax + 0x12c]
jmp 0x443833
mov eax, dword [ebp - 0x24]
mov dword [eax], 1
jmp 0x443833
xor eax, eax
push 7
xor esi, esi
pop ecx
mov dword [ebp + 0xe4], esi
lea edi, [ebp + 0xe8]
rep stosd dword es:[edi], eax
mov eax, dword [ebx + 0x204]
mov dword [ebp + 0xf0], eax
mov eax, dword [ebx + 0x208]
mov dword [ebp + 0xf4], eax
call fcn.0043e78e
mov word [ebp + 0xfa], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x1f8]
mov dword [ebp + 0xec], eax
cmp ecx, esi
je 0x443980
lea edx, [ebp + 0xe4]
mov dword [ebp + 0xe4], 0xa
mov dword [ebp + 0xe8], ecx
mov eax, dword [ecx]
push edx
call dword [eax + 0x12c]
mov ecx, dword [ebx + 0x1fc]
cmp ecx, esi
je 0x4439a9
lea edx, [ebp + 0xe4]
mov dword [ebp + 0xe4], 0xe
mov dword [ebp + 0xe8], ecx
mov eax, dword [ecx]
push edx
call dword [eax + 0x12c]
push esi
mov ecx, ebx
call sym.tpop4.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::SetFocus_class_DuiLib::CControlUI__
mov edi, dword [ebx + 0xb4]
call dword [sym.imp.USER32.dll_GetActiveWindow]
cmp eax, edi
jne 0x4439d5
push 4
push edi
call dword [sym.imp.USER32.dll_GetWindow]
cmp eax, esi
je 0x4439d5
push eax
call dword [sym.imp.USER32.dll_SetFocus]
add ebx, 0xe8
mov eax, dword [ebx]
cmp eax, esi
je 0x4454ee
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
mov dword [ebx], esi
jmp 0x4454ee
xor eax, eax
xor esi, esi
mov dword [ebp - 0x44], esi
lea edi, [ebp - 0x40]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push esi
lea eax, [ebp - 0x44]
push eax
push dword [ebx + 0xb4]
call dword [sym.imp.USER32.dll_GetUpdateRect]
test eax, eax
je 0x443833
cmp dword [ebx + 0x1f0], esi
jne 0x443a64
push 0x3c
lea eax, [ebp + 0x88]
push esi
push eax
mov dword [ebp + 0x84], esi
call fcn.004c3b30
add esp, 0xc
lea eax, [ebp + 0x84]
push eax
push dword [ebx + 0xb4]
call dword [sym.imp.USER32.dll_BeginPaint]
lea eax, [ebp + 0x84]
push eax
push dword [ebx + 0xb4]
call dword [sym.imp.USER32.dll_EndPaint]
jmp 0x443833
xor eax, eax
mov dword [ebp - 0x54], esi
lea edi, [ebp - 0x50]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x54]
push eax
push dword [ebx + 0xb4]
mov byte [ebp - 0x19], 0
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
sub eax, dword [ebp - 0x54]
sub esi, dword [ebp - 0x50]
push 1
mov ecx, ebx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x28], esi
call sym.tpop4.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::SetPainting_bool_
cmp byte [ebx + 0x251], 0
je 0x443c03
lea eax, [ebp - 0x54]
push eax
mov byte [ebx + 0x251], 0
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
jne 0x443c03
push dword [ebx + 0xb4]
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x443c03
mov ecx, dword [ebx + 0x1f0]
call sym.tpop4.exe_public:_bool___thiscall_DuiLib::CControlUI::IsUpdateNeeded_void_const
test al, al
je 0x443b37
mov eax, dword [ebx + 0xbc]
test eax, eax
je 0x443af8
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
lea esi, [ebx + 0xc4]
mov eax, dword [esi]
test eax, eax
je 0x443b0b
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
and dword [esi], 0
mov ecx, dword [ebx + 0x1f0]
and dword [ebx + 0xbc], 0
mov eax, dword [ecx]
push 1
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x54]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call dword [eax + 0x54]
mov byte [ebp - 0x19], 1
jmp 0x443bca
lea edi, [ebx + 0x2ec]
mov ecx, edi
call sym.tpop4.exe_public:_void___thiscall_DuiLib::CStdPtrArray::Empty_void_
mov ecx, dword [ebx + 0x1f0]
mov eax, dword [ecx]
push reloc.OLEAUT32.dll_VariantCopy
push 0
push sym.tpop4.exe_private:_static_class_DuiLib::CControlUI____stdcall_DuiLib::CPaintManagerUI::__FindControlsFromUpdate_class_DuiLib::CControlUI___void__
call dword [eax + 0x120]
and dword [ebp - 0x24], 0
mov ecx, edi
call sym.tpop4.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
test eax, eax
jle 0x443bcd
push dword [ebp - 0x24]
mov ecx, edi
call sym.tpop4.exe_public:_void____thiscall_DuiLib::CStdPtrArray::operator___int_const
mov edx, dword [eax]
mov ecx, eax
mov dword [ebp - 0x20], eax
call dword [edx + 0x118]
mov ecx, dword [ebp - 0x20]
test al, al
mov eax, dword [ecx]
mov dword [ebp - 0x2c], eax
jne 0x443b95
call dword [eax + 0x50]
jmp 0x443b9f
lea edx, [ebp - 0xa4]
push edx
call dword [eax + 0x48]
mov ecx, dword [ebp - 0x20]
push 1
sub esp, 0x10
mov esi, eax
mov eax, dword [ebp - 0x2c]
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call dword [eax + 0x54]
inc dword [ebp - 0x24]
lea edi, [ebx + 0x2ec]
mov ecx, edi
call sym.tpop4.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
cmp dword [ebp - 0x24], eax
jl 0x443b6d
mov esi, dword [ebp - 0x28]
lea eax, [ebx + 0x250]
cmp byte [eax], 0
je 0x443c03
mov byte [eax], 0
xor eax, eax
push eax
push eax
push eax
push str.windowinit
push dword [ebx + 0x1f0]
mov ecx, ebx
call sym.tpop4.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::SendNotify_class_DuiLib::CControlUI___wchar_t_const___unsigned_int__long_int__bool_
push dword [ebx + 0xb4]
lea ecx, [ebx + 0x134]
call sym.tpop4.exe_protected:_void___thiscall_DuiLib::CShadowUI::Update_struct_HWND____
cmp byte [ebx + 0x252], 0
je 0x443c15
push 1
mov ecx, ebx
call sym.tpop4.exe_public:_bool___thiscall_DuiLib::CPaintManagerUI::SetNextTabControl_bool_
cmp byte [ebx + 0x255], 0
je 0x443c83
push 0xffffffffffffffec
push dword [ebx + 0xb4]
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov ecx, eax
or ecx, 0x80000
cmp eax, ecx
je 0x443c47
push ecx
push 0xffffffffffffffec
push dword [ebx + 0xb4]
call dword [sym.imp.USER32.dll_SetWindowLongW]
lea edi, [ebx + 0x26c]
push edi
lea eax, [ebp - 0x44]
push eax
push eax
mov byte [ebx + 0x253], 1
call dword [sym.imp.USER32.dll_UnionRect]
mov eax, dword [ebp - 0x4c]
cmp dword [ebp - 0x3c], eax
jle 0x443c6b
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x48]
cmp dword [ebp - 0x38], eax
jle 0x443c76
mov dword [ebp - 0x38], eax
push 0x10
push 0
push edi
call fcn.004c3b30
add esp, 0xc
cmp byte [ebx + 0x253], 0
je 0x443cc4
cmp dword [ebx + 0xc4], 0
jne 0x443cc4
lea edi, [ebx + 0xb8]
push dword [edi]
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebx + 0xbc], eax
lea eax, [ebx + 0xc8]
push eax
push esi
push dword [ebp - 0x10]
push dword [edi]
call sym.tpop4.exe_public:_static_struct_HBITMAP______cdecl_DuiLib::CRenderEngine::CreateARGB32Bitmap_struct_HDC_____int__int__unsigned_char___
add esp, 0x10
mov dword [ebx + 0xc4], eax
and dword [ebp + 0xc4], 0
push 0x3c
lea eax, [ebp + 0xc8]
push 0
push eax
call fcn.004c3b30
add esp, 0xc
lea eax, [ebp + 0xc4]
push eax
push dword [ebx + 0xb4]
call dword [sym.imp.USER32.dll_BeginPaint]
cmp byte [ebx + 0x253], 0
je 0x4440ee
push dword [ebx + 0xc4]
push dword [ebx + 0xbc]
call dword [sym.imp.GDI32.dll_SelectObject]
push dword [ebx + 0xbc]
mov dword [ebp - 0x14], eax
call dword [sym.imp.GDI32.dll_SaveDC]
cmp byte [ebx + 0x255], 0
mov dword [ebp - 0x5c], eax
je 0x443d77
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
sub edx, dword [ebp - 0x38]
sub eax, dword [ebp - 0x40]
cmp edx, eax
jge 0x443d77
mov ecx, edx
imul ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0x3c]
mov dword [ebp - 0x2c], eax
jge 0x443d69
add eax, ecx
shl eax, 2
mov esi, dword [ebx + 0xc8]
and dword [eax + esi], 0
inc dword [ebp - 0x2c]
mov esi, dword [ebp - 0x2c]
add eax, 4
cmp esi, dword [ebp - 0x3c]
jl 0x443d51
mov eax, dword [ebp - 0x48]
sub eax, dword [ebp - 0x40]
add ecx, dword [ebp - 0x10]
inc edx
cmp edx, eax
jl 0x443d41
mov ecx, dword [ebx + 0x1f0]
mov eax, dword [ecx]
lea edx, [ebp - 0x44]
push edx
push dword [ebx + 0xbc]
call dword [eax + 0x13c]
lea eax, [ebp - 0x44]
push eax
push dword [ebx + 0xbc]
mov ecx, ebx
call sym.tpop4.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::DrawCaret_struct_HDC_____struct_tagRECT_const__
lea edi, [ebx + 0x2bc]
mov ecx, edi
xor esi, esi
call sym.tpop4.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
test eax, eax
jle 0x443ddb
push esi
mov ecx, edi
call sym.tpop4.exe_public:_void____thiscall_DuiLib::CStdPtrArray::operator___int_const
mov edx, dword [eax]
lea ecx, [ebp - 0x44]
push ecx
push dword [ebx + 0xbc]
mov ecx, eax
call dword [edx + 0x15c]
mov ecx, edi
inc esi
call sym.tpop4.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
cmp esi, eax
jl 0x443db3
cmp byte [ebx + 0x255], 0
je 0x443fee
mov esi, dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
sub esi, dword [ebp - 0x38]
sub eax, dword [ebp - 0x40]
cmp esi, eax
jge 0x443e49
mov edi, dword [ebp - 0x44]
mov edx, esi
imul edx, dword [ebp - 0x10]
cmp edi, dword [ebp - 0x3c]
jge 0x443e3b
lea ecx, [edx + edi]
shl ecx, 2
mov eax, dword [ebx + 0xc8]
add eax, ecx
cmp byte [eax + 3], 0
jne 0x443e2f
cmp byte [eax], 0
jne 0x443e2b
cmp byte [eax + 1], 0
jne 0x443e2b
cmp byte [eax + 2], 0
je 0x443e2f
mov byte [eax + 3], 0xff
inc edi
add ecx, 4
cmp edi, dword [ebp - 0x3c]
jl 0x443e0c
mov edi, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
sub eax, dword [ebp - 0x40]
add edx, dword [ebp - 0x10]
inc esi
cmp esi, eax
jl 0x443e01
and dword [ebp - 0x24], 0
lea edi, [ebx + 0x2c8]
mov ecx, edi
call sym.tpop4.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
test eax, eax
jle 0x443fee
push dword [ebp - 0x24]
mov ecx, edi
call sym.tpop4.exe_public:_void____thiscall_DuiLib::CStdPtrArray::operator___int_const
push eax
mov dword [ebp - 0x2c], eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x443e89
push dword [ebp - 0x24]
mov ecx, edi
call sym.tpop4.exe_public:_bool___thiscall_DuiLib::CStdPtrArray::Remove_int_
jmp 0x443fd8
push dword [ebp - 0x2c]
inc dword [ebp - 0x24]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x443fd8
push dword [ebp - 0x2c]
lea esi, [ebp - 0x70]
push dword [ebx + 0xb4]
call fcn.0043e735
and dword [ebp - 0x90], 0
xor eax, eax
lea edi, [ebp - 0x8c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
pop ecx
stosd dword es:[edi], eax
pop ecx
mov eax, esi
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x90]
push eax
call dword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x443fd8
push dword [ebx + 0xbc]
and dword [ebp - 0x58], 0
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov edi, eax
lea eax, [ebp - 0x58]
push eax
mov eax, dword [ebp - 0x64]
sub eax, dword [ebp - 0x6c]
push eax
mov eax, dword [ebp - 0x68]
sub eax, dword [ebp - 0x70]
push eax
push edi
call sym.tpop4.exe_public:_static_struct_HBITMAP______cdecl_DuiLib::CRenderEngine::CreateARGB32Bitmap_struct_HDC_____int__int__unsigned_char___
mov ecx, dword [ebp - 0x64]
sub ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x68]
sub eax, dword [ebp - 0x70]
imul eax, ecx
shl eax, 2
push eax
push 0
push dword [ebp - 0x58]
call fcn.004c3b30
mov esi, dword [sym.imp.GDI32.dll_SelectObject]
add esp, 0x1c
push dword [ebp - 0x30]
push edi
call esi
push 0x35
push edi
push 0x317
push dword [ebp - 0x2c]
mov dword [ebp - 0x7c], eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x64]
and dword [ebp - 0x20], 0
mov ecx, eax
sub ecx, dword [ebp - 0x6c]
test ecx, ecx
jle 0x443f9b
mov ecx, dword [ebp - 0x68]
sub ecx, dword [ebp - 0x70]
xor edx, edx
test ecx, ecx
jle 0x443f8e
imul ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x58]
add ecx, edx
lea ecx, [eax + ecx*4]
mov eax, dword [ecx]
test eax, eax
je 0x443f80
or eax, 0xff000000
mov dword [ecx], eax
mov ecx, dword [ebp - 0x68]
sub ecx, dword [ebp - 0x70]
inc edx
cmp edx, ecx
jl 0x443f67
mov eax, dword [ebp - 0x64]
inc dword [ebp - 0x20]
mov ecx, eax
sub ecx, dword [ebp - 0x6c]
cmp dword [ebp - 0x20], ecx
jl 0x443f5b
mov ecx, dword [ebp - 0x68]
sub eax, dword [ebp - 0x6c]
sub ecx, dword [ebp - 0x70]
push 0xcc0020
push 0
push 0
push edi
push eax
push ecx
push dword [ebp - 0x6c]
push dword [ebp - 0x70]
push dword [ebx + 0xbc]
call dword [sym.imp.GDI32.dll_BitBlt]
push dword [ebp - 0x7c]
push edi
call esi
push dword [ebp - 0x30]
call dword [sym.imp.GDI32.dll_DeleteObject]
push edi
call dword [sym.imp.GDI32.dll_DeleteDC]
lea edi, [ebx + 0x2c8]
mov ecx, edi
call sym.tpop4.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
cmp dword [ebp - 0x24], eax
jl 0x443e62
push dword [ebp - 0x5c]
push dword [ebx + 0xbc]
call dword [sym.imp.GDI32.dll_RestoreDC]
cmp byte [ebx + 0x255], 0
je 0x444083
xor eax, eax
xor esi, esi
mov dword [ebp - 0x70], esi
lea edi, [ebp - 0x6c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x70]
push eax
push dword [ebx + 0xb4]
call dword [sym.imp.USER32.dll_GetWindowRect]
mov al, byte [ebx + 0x254]
mov byte [ebp - 0x1e], al
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x28]
push 2
mov dword [ebp - 0x7c], eax
lea eax, [ebp - 0x20]
push eax
push esi
lea eax, [ebp - 0x60]
push eax
push dword [ebx + 0xbc]
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x34]
push eax
push dword [ebx + 0xb8]
mov byte [ebp - 0x20], 0
push dword [ebx + 0xb4]
mov byte [ebp - 0x1f], 0
mov byte [ebp - 0x1d], 1
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x5c], esi
call dword [0x572800]
jmp 0x4440b6
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x40]
push 0xcc0020
push dword [ebp - 0x40]
push dword [ebp - 0x44]
push dword [ebx + 0xbc]
push eax
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x44]
push eax
push dword [ebp - 0x40]
push dword [ebp - 0x44]
push dword [ebx + 0xb8]
call dword [sym.imp.GDI32.dll_BitBlt]
xor esi, esi
push dword [ebp - 0x14]
push dword [ebx + 0xbc]
call dword [sym.imp.GDI32.dll_SelectObject]
cmp byte [ebx + 0xd8], 0
je 0x444161
push esi
push 0xffff0000
push 1
lea eax, [ebp - 0x44]
push eax
push dword [ebx + 0xb8]
call sym.tpop4.exe_public:_static_void___cdecl_DuiLib::CRenderEngine::DrawRect_struct_HDC_____struct_tagRECT_const___int__unsigned_long_int__int_
add esp, 0x14
jmp 0x444161
push dword [ebx + 0xb8]
call dword [sym.imp.GDI32.dll_SaveDC]
mov ecx, dword [ebx + 0x1f0]
lea edx, [ebp - 0x44]
push edx
push dword [ebx + 0xb8]
mov dword [ebp - 0x14], eax
mov eax, dword [ecx]
call dword [eax + 0x13c]
lea esi, [ebx + 0x2bc]
mov ecx, esi
xor edi, edi
call sym.tpop4.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
test eax, eax
jle 0x444150
push edi
mov ecx, esi
call sym.tpop4.exe_public:_void____thiscall_DuiLib::CStdPtrArray::operator___int_const
mov edx, dword [eax]
lea ecx, [ebp - 0x44]
push ecx
push dword [ebx + 0xb8]
mov ecx, eax
call dword [edx + 0x15c]
mov ecx, esi
inc edi
call sym.tpop4.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
cmp edi, eax
jl 0x444128
push dword [ebp - 0x14]
push dword [ebx + 0xb8]
call dword [sym.imp.GDI32.dll_RestoreDC]
xor esi, esi
lea eax, [ebp + 0xc4]
push eax
push dword [ebx + 0xb4]
call dword [sym.imp.USER32.dll_EndPaint]
cmp byte [ebx + 0x251], 0
je 0x444184
mov ecx, ebx
call sym.tpop4.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::Invalidate_void_
push esi
mov ecx, ebx
call sym.tpop4.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::SetPainting_bool_
cmp byte [ebp - 0x19], 0
je 0x443833
push 1
push esi
push esi
push str.windowsize
push dword [ebx + 0x1f0]
call sym.tpop4.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::SendNotify_class_DuiLib::CControlUI___wchar_t_const___unsigned_int__long_int__bool_
jmp 0x443833
mov edx, dword [ebx + 0x1f4]
test edx, edx
je 0x4454ee
push 7
xor eax, eax
pop ecx
lea edi, [ebp + 0xa8]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp + 0xa4], 0x18
mov dword [ebp + 0xbc], esi
mov dword [ebp + 0xc0], eax
mov dword [ebp + 0xa8], edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, dword [ebx + 0x1f4]
mov dword [ebp + 0xac], eax
lea ecx, [ebp + 0xa4]
jmp 0x4454e3
mov edx, dword [ebx + 0x1f4]
test edx, edx
je 0x44424e
push 7
pop ecx
xor eax, eax
lea edi, [ebp + 0xe8]
rep stosd dword es:[edi], eax
mov dword [ebp + 0xe4], 0x19
mov dword [ebp + 0xe8], edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x1f4]
lea edx, [ebp + 0xe4]
mov dword [ebp + 0xec], eax
mov eax, dword [ecx]
push edx
call dword [eax + 0x12c]
mov ebx, dword [ebx + 0x1f0]
test ebx, ebx
je 0x443833
mov ecx, ebx
call sym.tpop4.exe_public:_void___thiscall_DuiLib::CControlUI::NeedUpdate_void_
jmp 0x443833
cmp dword [ebp - 0x10], 0
je 0x443833
mov eax, dword [ebp - 0x10]
push eax
push esi
push 0x204e
push dword [eax]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x44382e
sub edi, 0x7b
je 0x44457c
sub edi, 0x85
je 0x4444e5
dec edi
je 0x444453
dec edi
je 0x4443dd
sub edi, 0xf
je 0x4443af
dec edi
dec edi
jne 0x4454ee
mov eax, 0x1999
cmp ax, si
jne 0x4442e8
lea eax, [ebx + 0x11c]
push eax
mov ecx, ebx
call sym.tpop4.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::Invalidate_struct_tagRECT__
lea eax, [ebx + 0x12c]
cmp byte [eax], 0
sete cl
mov byte [eax], cl
jmp 0x4454ee
and dword [ebp - 0x20], 0
lea edi, [ebx + 0x28c]
mov ecx, edi
call sym.tpop4.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
test eax, eax
jle 0x4454ee
push dword [ebp - 0x20]
mov ecx, edi
call sym.tpop4.exe_public:_void____thiscall_DuiLib::CStdPtrArray::operator___int_const
mov ecx, dword [eax + 8]
mov dword [ebp - 0x14], eax
cmp ecx, dword [ebx + 0xb4]
jne 0x444327
movzx ecx, si
cmp dword [eax + 0xc], ecx
jne 0x444327
cmp byte [eax + 0x10], 0
je 0x44433b
inc dword [ebp - 0x20]
mov ecx, edi
call sym.tpop4.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
cmp dword [ebp - 0x20], eax
jl 0x444301
jmp 0x4454ee
mov esi, dword [ebp - 0x14]
push 7
xor eax, eax
pop ecx
lea edi, [ebp + 0xe8]
rep stosd dword es:[edi], eax
mov eax, dword [esi]
mov dword [ebp + 0xe4], 0x1b
mov dword [ebp + 0xe8], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0xec], eax
mov eax, dword [ebx + 0x204]
mov dword [ebp + 0xf0], eax
mov eax, dword [ebx + 0x208]
mov dword [ebp + 0xf4], eax
call fcn.0043e78e
mov ecx, dword [esi]
mov word [ebp + 0xfa], ax
mov eax, dword [esi + 4]
mov dword [ebp + 0xfc], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp + 0x100], eax
mov eax, dword [ecx]
lea edx, [ebp + 0xe4]
push edx
jmp 0x4454e8
cmp dword [ebp - 0x10], 0
je 0x4454ee
push dword [ebp - 0x10]
push esi
push 0x2111
push dword [ebp - 0x10]
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [ebp - 0x24]
mov dword [ecx], eax
test eax, eax
je 0x4454ee
jmp 0x443833
mov edx, dword [ebx + 0x1f4]
test edx, edx
je 0x4454ee
xor eax, eax
push 7
pop ecx
lea edi, [ebp + 0xe8]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp + 0x100], eax
mov eax, dword [ebx + 0x204]
mov dword [ebp + 0xf0], eax
mov eax, dword [ebx + 0x208]
mov dword [ebp + 0xe4], 5
mov dword [ebp + 0xe8], edx
mov dword [ebp + 0xfc], esi
mov word [ebp + 0xf8], si
mov dword [ebp + 0xf4], eax
call fcn.0043e78e
mov word [ebp + 0xfa], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, dword [ebx + 0x1f4]
jmp 0x4454d7
mov edx, dword [ebx + 0x200]
test edx, edx
je 0x4454ee
xor eax, eax
push 7
pop ecx
lea edi, [ebp + 0xe8]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp + 0x100], eax
mov eax, dword [ebx + 0x204]
mov dword [ebp + 0xf0], eax
mov eax, dword [ebx + 0x208]
mov dword [ebp + 0xe4], 4
mov dword [ebp + 0xe8], edx
mov dword [ebp + 0xfc], esi
mov word [ebp + 0xf8], si
mov dword [ebp + 0xf4], eax
call fcn.0043e78e
mov word [ebp + 0xfa], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x200]
lea edx, [ebp + 0xe4]
mov dword [ebp + 0xec], eax
mov eax, dword [ecx]
push edx
call dword [eax + 0x12c]
and dword [ebx + 0x200], 0
jmp 0x4454ee
mov edx, dword [ebx + 0x1f4]
test edx, edx
je 0x4454ee
xor eax, eax
push 7
pop ecx
lea edi, [ebp + 0xe8]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp + 0x100], eax
mov eax, dword [ebx + 0x204]
mov dword [ebp + 0xf0], eax
mov eax, dword [ebx + 0x208]
mov dword [ebp + 0xe4], 3
mov dword [ebp + 0xe8], edx
mov dword [ebp + 0xfc], esi
mov word [ebp + 0xf8], si
mov dword [ebp + 0xf4], eax
call fcn.0043e78e
mov word [ebp + 0xfa], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x1f4]
lea edx, [ebp + 0xe4]
mov dword [ebp + 0xec], eax
mov eax, dword [ecx]
push edx
call dword [eax + 0x12c]
mov eax, dword [ebx + 0x1f4]
mov dword [ebx + 0x200], eax
jmp 0x4454ee
mov eax, dword [ebp - 0x10]
movsx ecx, ax
shr eax, 0x10
cwde
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x18]
push eax
push dword [ebx + 0xb4]
mov dword [ebp - 0x18], ecx
call dword [sym.imp.USER32.dll_ScreenToClient]
cmp dword [ebx + 0x1fc], 0
mov eax, dword [ebp - 0x18]
mov dword [ebx + 0x204], eax
mov eax, dword [ebp - 0x14]
mov dword [ebx + 0x208], eax
je 0x4454ee
mov ecx, ebx
call sym.tpop4.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::ReleaseCapture_void_
push 7
xor eax, eax
pop ecx
lea edi, [ebp + 0xe8]
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebx + 0x1fc]
mov dword [ebp + 0xf0], ecx
mov ecx, dword [ebp - 0x14]
mov dword [ebp + 0xe4], 0x14
mov dword [ebp + 0xe8], eax
mov dword [ebp + 0xfc], esi
mov dword [ebp + 0xf4], ecx
mov word [ebp + 0xfa], si
mov dword [ebp + 0x100], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x1fc]
lea edx, [ebp + 0xe4]
mov dword [ebp + 0xec], eax
mov eax, dword [ecx]
push edx
call dword [eax + 0x12c]
and dword [ebx + 0x1fc], 0
jmp 0x4454ee
mov eax, 0x207
cmp edi, eax
ja 0x444ea3
je 0x444e27
mov eax, edi
sub eax, 0x138
je 0x444e0a
sub eax, 0xc8
je 0x444a26
dec eax
je 0x444908
dec eax
je 0x444874
dec eax
je 0x4447ac
dec eax
je 0x4446dc
dec eax
jne 0x4454ee
mov ecx, ebx
call sym.tpop4.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::ReleaseCapture_void_
mov ecx, dword [ebp - 0x10]
movsx eax, word [ebp - 0x10]
shr ecx, 0x10
movsx ecx, cx
push ecx
mov dword [ebp - 0x14], ecx
mov dword [ebx + 0x208], ecx
push eax
mov ecx, ebx
mov dword [ebp - 0x18], eax
mov dword [ebx + 0x204], eax
call sym.tpop4.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_struct_tagPOINT_const
mov edx, eax
mov dword [ebx + 0x1fc], edx
test edx, edx
je 0x4454ee
push 7
pop ecx
xor eax, eax
lea edi, [ebp + 0xe8]
rep stosd dword es:[edi], eax
mov dword [ebp + 0xe4], 0x10
jmp 0x44549d
push dword [ebx + 0xb4]
call dword [sym.imp.USER32.dll_SetFocus]
mov ecx, dword [ebp - 0x10]
movsx eax, word [ebp - 0x10]
shr ecx, 0x10
movsx ecx, cx
push ecx
mov dword [ebp - 0x14], ecx
mov dword [ebx + 0x208], ecx
push eax
mov ecx, ebx
mov dword [ebp - 0x18], eax
mov dword [ebx + 0x204], eax
call sym.tpop4.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_struct_tagPOINT_const
mov dword [ebp - 0x30], eax
test eax, eax
je 0x4454ee
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x1c]
cmp eax, ebx
jne 0x4454ee
mov ecx, dword [ebp - 0x30]
mov eax, dword [ecx]
call dword [eax + 0x114]
mov ecx, ebx
call sym.tpop4.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::SetCapture_void_
push 7
pop ecx
xor eax, eax
lea edi, [ebp + 0xe8]
rep stosd dword es:[edi], eax
mov dword [ebp + 0xe4], 0xf
mov eax, dword [ebp - 0x10]
mov edi, dword [ebp - 0x30]
mov dword [ebp + 0x100], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp + 0xf0], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp + 0xe8], edi
mov dword [ebp + 0xfc], esi
mov dword [ebp + 0xf4], eax
mov word [ebp + 0xfa], si
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea ecx, [ebp + 0xe4]
mov dword [ebp + 0xec], eax
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0x12c]
mov dword [ebx + 0x1fc], edi
jmp 0x4454ee
push dword [ebx + 0xb4]
call dword [sym.imp.USER32.dll_SetFocus]
mov ecx, ebx
call sym.tpop4.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::SetCapture_void_
mov ecx, dword [ebp - 0x10]
movsx eax, word [ebp - 0x10]
shr ecx, 0x10
movsx ecx, cx
push ecx
mov dword [ebp - 0x14], ecx
mov dword [ebx + 0x208], ecx
push eax
mov ecx, ebx
mov dword [ebp - 0x18], eax
mov dword [ebx + 0x204], eax
call sym.tpop4.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_struct_tagPOINT_const
mov dword [ebp - 0x30], eax
test eax, eax
je 0x4454ee
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x1c]
cmp eax, ebx
jne 0x4454ee
xor eax, eax
push 7
pop ecx
lea edi, [ebp + 0xe8]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp + 0xe8], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp + 0xf0], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp + 0xf4], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp + 0xe4], 0x13
mov dword [ebp + 0xfc], esi
mov dword [ebp + 0x100], eax
mov word [ebp + 0xfa], si
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, dword [ebp - 0x30]
lea ecx, [ebp + 0xe4]
mov dword [ebp + 0xec], eax
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x12c]
mov dword [ebx + 0x1fc], esi
jmp 0x4454ee
mov ecx, ebx
call sym.tpop4.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::ReleaseCapture_void_
mov eax, dword [ebp - 0x10]
movsx edx, word [ebp - 0x10]
shr eax, 0x10
cmp dword [ebx + 0x1fc], 0
cwde
mov dword [ebp - 0x14], eax
mov dword [ebx + 0x204], edx
mov dword [ebx + 0x208], eax
je 0x4454ee
xor eax, eax
push 7
pop ecx
lea edi, [ebp + 0xe8]
rep stosd dword es:[edi], eax
mov eax, dword [ebx + 0x1fc]
mov dword [ebp + 0xe8], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp + 0x100], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp + 0xe4], 0xe
mov dword [ebp + 0xfc], esi
mov dword [ebp + 0xf0], edx
mov dword [ebp + 0xf4], eax
mov word [ebp + 0xfa], si
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x1fc]
and dword [ebx + 0x1fc], 0
mov dword [ebp + 0xec], eax
jmp 0x4443a1
push dword [ebx + 0xb4]
call dword [sym.imp.USER32.dll_SetFocus]
mov ecx, dword [ebp - 0x10]
movsx eax, word [ebp - 0x10]
shr ecx, 0x10
movsx ecx, cx
push ecx
mov dword [ebp - 0x5c], ecx
mov dword [ebx + 0x208], ecx
push eax
mov ecx, ebx
mov dword [ebp - 0x60], eax
mov dword [ebx + 0x204], eax
call sym.tpop4.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_struct_tagPOINT_const
mov edi, eax
mov dword [ebp - 0x20], edi
test edi, edi
je 0x4454ee
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x1c]
cmp eax, ebx
jne 0x4454ee
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x38]
test al, al
je 0x4449aa
mov eax, dword [ebx + 0x440]
mov byte [ebx + 0x43c], 1
test eax, eax
je 0x444982
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
and dword [ebx + 0x440], 0
mov ecx, dword [ebp - 0x20]
mov eax, dword [ecx]
call dword [eax + 0x50]
sub esp, 0x10
mov edi, esp
push dword [ebp - 0x20]
mov esi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ebx
movsd dword es:[edi], dword [esi]
call sym.tpop4.exe_public:_static_struct_HBITMAP______cdecl_DuiLib::CRenderEngine::GenerateBitmap_class_DuiLib::CPaintManagerUI___class_DuiLib::CControlUI___struct_tagRECT_
mov esi, dword [ebp - 0x14]
add esp, 0x18
mov dword [ebx + 0x440], eax
mov ecx, ebx
call sym.tpop4.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::SetCapture_void_
mov ecx, dword [ebp - 0x20]
mov dword [ebx + 0x1fc], ecx
mov eax, dword [ecx]
call dword [eax + 0x114]
xor eax, eax
push 7
pop ecx
lea edi, [ebp + 0xe8]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x10]
mov edi, dword [ebp - 0x20]
mov dword [ebp + 0x100], eax
mov eax, dword [ebp - 0x60]
mov dword [ebp + 0xf0], eax
mov eax, dword [ebp - 0x5c]
mov dword [ebp + 0xe4], 0xd
mov dword [ebp + 0xe8], edi
mov dword [ebp + 0xfc], esi
mov dword [ebp + 0xf4], eax
mov word [ebp + 0xfa], si
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea ecx, [ebp + 0xe4]
mov dword [ebp + 0xec], eax
mov eax, dword [edi]
push ecx
mov ecx, edi
jmp 0x4454e8
cmp byte [ebx + 0x27c], 0
push 3
pop ecx
jne 0x444a83
xor eax, eax
lea edi, [ebp - 0x50]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [ebx + 0xb4]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebx + 0xe8]
mov dword [ebp - 0x54], 0x10
mov dword [ebp - 0x50], ecx
test eax, eax
jne 0x444a60
mov dword [ebp - 0x48], 0x190
jmp 0x444a72
push 0
push ecx
push 0x415
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x54]
push eax
call dword [sym.imp.COMCTL32.dll__TrackMouseEvent]
mov byte [ebx + 0x27c], 1
mov eax, dword [ebp - 0x10]
movsx ecx, word [ebp - 0x10]
shr eax, 0x10
movsx edx, ax
lea eax, [ebx + 0x204]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], edx
mov byte [ebp - 0x19], 1
cmp dword [eax], ecx
jne 0x444ab0
cmp dword [ebx + 0x208], edx
jne 0x444ab0
mov byte [ebp - 0x19], 0
push edx
mov dword [eax], ecx
push ecx
mov ecx, ebx
mov dword [eax + 4], edx
call sym.tpop4.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_struct_tagPOINT_const
mov dword [ebp - 0x30], eax
test eax, eax
je 0x444ad4
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x1c]
cmp eax, ebx
jne 0x4454ee
cmp byte [ebp - 0x19], 0
je 0x444cf8
cmp byte [ebx + 0x43c], 0
je 0x444cf8
xor edi, edi
inc edi
cmp esi, edi
jne 0x444cf8
call dword [sym.imp.USER32.dll_ReleaseCapture]
push 0xc
call fcn.004c364f
pop ecx
test eax, eax
je 0x444b18
and dword [eax + 4], 0
mov dword [eax], vtable.DuiLib::CIDropSource.0
mov byte [eax + 8], 0
jmp 0x444b1a
xor eax, eax
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x4454ee
mov ecx, dword [eax]
push eax
call dword [ecx + 4]
push 0x3c
call fcn.004c364f
pop ecx
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], edi
test eax, eax
je 0x444b4b
push dword [ebp - 0x2c]
mov ecx, eax
call sym.tpop4.exe_public:_void___thiscall_DuiLib::CIDataObject::constructor_class_DuiLib::CIDropSource__
mov esi, eax
jmp 0x444b4d
xor esi, esi
or dword [ebp - 4], 0xffffffff
test esi, esi
je 0x4454ee
mov eax, dword [esi]
push esi
call dword [eax + 4]
xor eax, eax
lea edi, [ebp - 0x90]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
or dword [ebp - 0x88], 0xffffffff
xor eax, eax
push 2
lea edi, [ebp - 0x3c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
pop eax
push 0x10
mov word [ebp - 0x94], ax
pop eax
xor edi, edi
push edi
push 2
push dword [ebx + 0x440]
mov dword [ebp - 0x8c], 1
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x40], eax
call dword [sym.imp.ole32.dll_OleDuplicateData]
push edi
lea ecx, [ebp - 0x40]
push ecx
lea ecx, [ebp - 0x94]
push ecx
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x3c], eax
mov eax, dword [esi]
push esi
call dword [eax + 0x1c]
lea eax, [ebp - 0x78]
push eax
push 0x18
push dword [ebp - 0x58]
call dword [sym.imp.GDI32.dll_GetObjectW]
mov eax, dword [ebp - 0x74]
push 0xe
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x48], eax
pop eax
push edi
push edi
push edi
push dword [ebx + 0xb8]
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x50], edi
mov word [ebp - 0x94], ax
mov dword [ebp - 0x84], 0x40
call dword [sym.imp.GDI32.dll_CreateEnhMetaFileW]
push dword [ebx + 0xb8]
mov dword [ebp - 0x30], eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push dword [ebp - 0x58]
mov dword [ebp - 0x28], eax
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
push 0xcc0020
push edi
push edi
push dword [ebp - 0x28]
mov dword [ebp - 0x14], eax
push dword [ebp - 0x48]
push dword [ebp - 0x4c]
push edi
push edi
push dword [ebp - 0x30]
call dword [sym.imp.GDI32.dll_BitBlt]
push dword [ebp - 0x14]
push dword [ebp - 0x28]
call dword [sym.imp.GDI32.dll_SelectObject]
push dword [ebp - 0x30]
call dword [sym.imp.GDI32.dll_CloseEnhMetaFile]
mov dword [ebp - 0x3c], eax
push dword [ebp - 0x28]
call dword [sym.imp.GDI32.dll_DeleteDC]
push 1
lea ecx, [ebp - 0x40]
push ecx
lea ecx, [ebp - 0x94]
push ecx
mov dword [ebp - 0x40], 0x40
mov eax, dword [esi]
push esi
call dword [eax + 0x1c]
lea ecx, [ebp - 0x80]
call sym.tpop4.exe_public:_void___thiscall_DuiLib::CDragSourceHelper::constructor_void_
xor eax, eax
lea edi, [ebp - 0x14]
stosd dword es:[edi], eax
mov eax, dword [ebp - 0x74]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x70]
cdq
sub eax, edx
sar eax, 1
push 5
mov dword [ebp - 4], 2
mov dword [ebp - 0x14], eax
call dword [sym.imp.USER32.dll_GetSysColor]
push eax
push esi
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x58]
lea ecx, [ebp - 0x80]
call sym.tpop4.exe_public:_long_int___thiscall_DuiLib::CDragSourceHelper::InitializeFromBitmap_struct_HBITMAP_____struct_tagPOINT___struct_tagRECT___struct_IDataObject___unsigned_long_int_
mov edi, dword [ebp - 0x2c]
lea eax, [ebp - 0x5c]
push eax
push 3
push edi
push esi
call dword [sym.imp.ole32.dll_DoDragDrop]
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov eax, dword [esi]
push esi
call dword [eax + 8]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x80]
mov byte [ebx + 0x43c], 0
call sym.tpop4.exe_public_virtual:_void___thiscall_DuiLib::CDragSourceHelper::destructor_void_
jmp 0x4454ee
and dword [ebp + 0xe4], 0
xor eax, eax
push 7
pop ecx
lea edi, [ebp + 0xe8]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp + 0xf0], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp + 0xf4], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp + 0xfc], esi
mov dword [ebp + 0x100], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x1f8]
mov dword [ebp + 0xec], eax
cmp dword [ebp - 0x30], ecx
je 0x444d8d
test ecx, ecx
je 0x444d8d
lea edx, [ebp + 0xe4]
mov dword [ebp + 0xe4], 0xa
mov dword [ebp + 0xe8], ecx
mov eax, dword [ecx]
push edx
call dword [eax + 0x12c]
mov eax, dword [ebx + 0xe8]
and dword [ebx + 0x1f8], 0
test eax, eax
je 0x444d8d
lea ecx, [ebx + 0xec]
push ecx
push 0
push 0x411
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov esi, dword [ebp - 0x30]
cmp esi, dword [ebx + 0x1f8]
je 0x444dc3
test esi, esi
je 0x444dc3
lea ecx, [ebp + 0xe4]
mov dword [ebp + 0xe4], 0xb
mov dword [ebp + 0xe8], esi
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x12c]
mov dword [ebx + 0x1f8], esi
mov ebx, dword [ebx + 0x1fc]
test ebx, ebx
je 0x444de2
mov dword [ebp + 0xe4], 9
mov dword [ebp + 0xe8], ebx
jmp 0x4454dd
test esi, esi
je 0x4454ee
lea ecx, [ebp + 0xe4]
mov dword [ebp + 0xe4], 9
mov dword [ebp + 0xe8], esi
mov eax, dword [esi]
push ecx
mov ecx, esi
jmp 0x4454e8
cmp dword [ebp - 0x10], 0
je 0x4454ee
push dword [ebp - 0x10]
add edi, 0x2000
push esi
push edi
push dword [ebp - 0x10]
jmp 0x44427e
push dword [ebx + 0xb4]
call dword [sym.imp.USER32.dll_SetFocus]
mov ecx, dword [ebp - 0x10]
movsx eax, word [ebp - 0x10]
shr ecx, 0x10
movsx ecx, cx
push ecx
mov dword [ebp - 0x14], ecx
mov dword [ebx + 0x208], ecx
push eax
mov ecx, ebx
mov dword [ebp - 0x18], eax
mov dword [ebx + 0x204], eax
call sym.tpop4.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_struct_tagPOINT_const
mov dword [ebp - 0x30], eax
test eax, eax
je 0x4454ee
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x1c]
cmp eax, ebx
jne 0x4454ee
mov ecx, dword [ebp - 0x30]
mov eax, dword [ecx]
call dword [eax + 0x114]
mov ecx, ebx
call sym.tpop4.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::SetCapture_void_
push 7
pop ecx
xor eax, eax
lea edi, [ebp + 0xe8]
rep stosd dword es:[edi], eax
mov dword [ebp + 0xe4], 0x11
jmp 0x444753
sub edi, 0x208
je 0x44544b
dec edi
dec edi
je 0x445365
sub edi, 0x97
je 0x445180
dec edi
dec edi
je 0x44508e
sub edi, 0x75
je 0x444fb3
sub edi, 0x7ce9
jne 0x4454ee
lea esi, [ebx + 0x2d4]
mov ecx, esi
call sym.tpop4.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
test eax, eax
jle 0x444f11
push edi
mov ecx, esi
call sym.tpop4.exe_public:_void____thiscall_DuiLib::CStdPtrArray::operator___int_const
test eax, eax
je 0x444f05
mov edx, dword [eax]
push 1
mov ecx, eax
call dword [edx]
mov ecx, esi
inc edi
call sym.tpop4.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
cmp edi, eax
jl 0x444ef1
mov ecx, esi
call sym.tpop4.exe_public:_void___thiscall_DuiLib::CStdPtrArray::Empty_void_
lea edi, [ebx + 0x2e0]
push 0
mov ecx, edi
call sym.tpop4.exe_public:_void____thiscall_DuiLib::CStdPtrArray::GetAt_int_const
mov esi, eax
test esi, esi
je 0x4454ee
add ebx, 0x280
mov dword [ebp - 0x28], ebx
push 0
mov ecx, edi
call sym.tpop4.exe_public:_bool___thiscall_DuiLib::CStdPtrArray::Remove_int_
lea ebx, [esi + 0x108]
mov eax, dword [ebx]
test eax, eax
je 0x444f66
lea ecx, [eax + 0x38]
call sym.tpop4.exe_public:_bool___thiscall_DuiLib::CEventSource::operator_bool_void_
test al, al
je 0x444f66
mov ecx, dword [ebx]
push esi
add ecx, 0x38
call sym.tpop4.exe_public:_bool___thiscall_DuiLib::CEventSource::operator___void__
mov ecx, dword [ebp - 0x28]
xor ebx, ebx
call sym.tpop4.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
test eax, eax
jle 0x444f91
mov ecx, dword [ebp - 0x28]
push ebx
call sym.tpop4.exe_public:_void____thiscall_DuiLib::CStdPtrArray::operator___int_const
mov edx, dword [eax]
push esi
mov ecx, eax
call dword [edx]
mov ecx, dword [ebp - 0x28]
inc ebx
call sym.tpop4.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
cmp ebx, eax
jl 0x444f74
mov ecx, esi
call fcn.0043e852
push esi
call fcn.004c2e11
pop ecx
push 0
mov ecx, edi
call sym.tpop4.exe_public:_void____thiscall_DuiLib::CStdPtrArray::GetAt_int_const
mov esi, eax
test esi, esi
jne 0x444f3a
jmp 0x4454ee
lea edi, [ebx + 0x1f0]
cmp dword [edi], 0
je 0x4454ee
lea eax, [ebp - 0x90]
push eax
push dword [ebx + 0xb4]
call dword [sym.imp.USER32.dll_GetClientRect]
push esi
call dword [sym.imp.GDI32.dll_SaveDC]
mov ecx, dword [edi]
lea edx, [ebp - 0x90]
push edx
mov dword [ebp - 0x5c], eax
mov eax, dword [ecx]
push esi
call dword [eax + 0x13c]
test byte [ebp - 0x10], 0x10
je 0x44507f
push 5
push dword [ebx + 0xb4]
call dword [sym.imp.USER32.dll_GetWindow]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x44507f
mov eax, dword [ebp - 0x10]
or eax, 2
mov dword [ebp - 0x14], eax
and dword [ebp - 0x54], 0
xor eax, eax
lea edi, [ebp - 0x50]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x54]
push eax
push dword [ebp - 0x20]
call dword [sym.imp.USER32.dll_GetWindowRect]
push 2
lea eax, [ebp - 0x54]
push eax
push dword [ebx + 0xb4]
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
mov eax, dword [ebp - 0x50]
push 0
neg eax
push eax
mov eax, dword [ebp - 0x54]
neg eax
push eax
push esi
call dword [sym.imp.GDI32.dll_SetWindowOrgEx]
push dword [ebp - 0x14]
push esi
push 0x317
push dword [ebp - 0x20]
call dword [sym.imp.USER32.dll_SendMessageW]
push 2
push dword [ebp - 0x20]
call dword [sym.imp.USER32.dll_GetWindow]
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x445019
push dword [ebp - 0x5c]
push esi
call dword [sym.imp.GDI32.dll_RestoreDC]
jmp 0x4454ee
mov eax, dword [ebx + 0xe8]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
je 0x4450af
lea ecx, [ebx + 0xec]
push ecx
push 0
push 0x411
push eax
call esi
cmp byte [ebx + 0x27c], 0
je 0x445174
and dword [ebp - 0x18], 0
xor eax, eax
and dword [ebp - 0x54], eax
lea edi, [ebp - 0x14]
stosd dword es:[edi], eax
lea edi, [ebp - 0x50]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
lea eax, [ebp - 0x54]
push eax
push dword [ebx + 0xb4]
call dword [sym.imp.USER32.dll_GetWindowRect]
push dword [ebx + 0xb4]
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x445163
call dword [sym.imp.USER32.dll_GetActiveWindow]
cmp eax, dword [ebx + 0xb4]
jne 0x445163
push dword [ebp - 0x14]
lea eax, [ebp - 0x54]
push dword [ebp - 0x18]
push eax
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x445163
movzx eax, word [ebp - 0x14]
movzx ecx, word [ebp - 0x18]
shl eax, 0x10
or eax, ecx
push eax
xor edi, edi
push edi
push 0x84
push dword [ebx + 0xb4]
call esi
cmp eax, 1
jne 0x44515f
lea eax, [ebp - 0x18]
push eax
push dword [ebx + 0xb4]
call dword [sym.imp.USER32.dll_ScreenToClient]
movzx eax, word [ebp - 0x14]
movzx ecx, word [ebp - 0x18]
shl eax, 0x10
or eax, ecx
push eax
push edi
jmp 0x445167
push 0xffffffffffffffff
jmp 0x44515c
push 0xffffffffffffffff
push 0
push 0x200
push dword [ebx + 0xb4]
call esi
mov byte [ebx + 0x27c], 0
jmp 0x4454ee
mov ecx, dword [ebp - 0x10]
movsx eax, word [ebp - 0x10]
shr ecx, 0x10
movsx ecx, cx
push ecx
mov dword [ebp - 0x14], ecx
push eax
mov ecx, ebx
mov byte [ebx + 0x27c], 0
mov dword [ebp - 0x18], eax
call sym.tpop4.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_struct_tagPOINT_const
mov dword [ebp - 0x28], eax
test eax, eax
je 0x4454ee
mov edx, dword [ebx + 0x1f8]
test edx, edx
je 0x445223
push 7
xor eax, eax
pop ecx
lea edi, [ebp + 0xe8]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp + 0xe4], 0xc
mov dword [ebp + 0xe8], edx
mov dword [ebp + 0xfc], esi
mov dword [ebp + 0x100], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0xec], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp + 0xf0], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp + 0xf4], eax
call fcn.0043e78e
mov ecx, dword [ebx + 0x1f8]
lea edx, [ebp + 0xe4]
mov word [ebp + 0xfa], ax
mov eax, dword [ecx]
push edx
call dword [eax + 0x12c]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx]
lea edx, [ebp]
push edx
call dword [eax + 0xb4]
and dword [ebp - 4], 0
lea ecx, [ebp]
call sym.tpop4.exe_public:_bool___thiscall_DuiLib::CDuiString::IsEmpty_void_const
test al, al
je 0x445253
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp]
call sym.tpop4.exe_public:_void___thiscall_DuiLib::CDuiString::destructor_void_
jmp 0x443833
push 0x30
pop edi
push edi
lea esi, [ebx + 0xec]
push 0
push esi
call fcn.004c3b30
mov eax, dword [ebx + 0xb4]
mov dword [esi], edi
mov dword [ebx + 0xf0], 1
mov dword [ebx + 0xf4], eax
mov dword [ebx + 0xf8], eax
mov eax, dword [sym.tpop4.exe_struct_HINSTANCE____DuiLib::CPaintManagerUI::m_hInstance]
add esp, 0xc
lea ecx, [ebp]
mov dword [ebx + 0x10c], eax
call sym.tpop4.exe_public:_wchar_t_const____thiscall_DuiLib::CDuiString::operator_wchar_t_const__void_const
mov ecx, dword [ebp - 0x28]
mov dword [ebx + 0x110], eax
mov eax, dword [ecx]
call dword [eax + 0x50]
cmp dword [ebx + 0xe8], 0
lea edi, [ebx + 0xfc]
mov esi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
jne 0x44531f
xor edi, edi
push edi
push dword [sym.tpop4.exe_struct_HINSTANCE____DuiLib::CPaintManagerUI::m_hInstance]
mov eax, connect
push edi
push dword [ebx + 0xb4]
push eax
push eax
push eax
push eax
push reloc.WS2_32.dll_closesocket
push edi
push str.tooltips_class32
push edi
call dword [sym.imp.USER32.dll_CreateWindowExW]
lea ecx, [ebx + 0xec]
push ecx
push edi
push 0x432
push eax
mov dword [ebx + 0xe8], eax
call esi
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx]
call dword [eax + 0xc0]
push eax
push edi
push 0x418
push dword [ebx + 0xe8]
call esi
jmp 0x445321
xor edi, edi
push dword [ebx + 0xe8]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x445242
lea eax, [ebx + 0xec]
push eax
push edi
push 0x436
push dword [ebx + 0xe8]
call esi
lea eax, [ebx + 0xec]
push eax
push 1
push 0x411
push dword [ebx + 0xe8]
call esi
jmp 0x445242
movsx eax, word [ebp - 0x10]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x10]
shr eax, 0x10
cwde
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x18]
push eax
push dword [ebx + 0xb4]
call dword [sym.imp.USER32.dll_ScreenToClient]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
push ecx
mov dword [ebx + 0x208], ecx
push eax
mov ecx, ebx
mov dword [ebx + 0x204], eax
call sym.tpop4.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_struct_tagPOINT_const
mov dword [ebp - 0x30], eax
test eax, eax
je 0x4454ee
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x1c]
cmp eax, ebx
jne 0x4454ee
xor eax, eax
push 7
pop ecx
lea edi, [ebp + 0xe8]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp + 0xe8], eax
xor eax, eax
shr esi, 0x10
test si, si
setl al
mov dword [ebp + 0xe4], 0x15
mov dword [ebp + 0xfc], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp + 0x100], eax
call fcn.0043e78e
mov word [ebp + 0xfa], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebp - 0x30]
lea edx, [ebp + 0xe4]
mov dword [ebp + 0xec], eax
mov eax, dword [ecx]
push edx
call dword [eax + 0x12c]
movzx eax, word [ebx + 0x208]
movzx ecx, word [ebx + 0x204]
shl eax, 0x10
or eax, ecx
push eax
push 0
push 0x200
push dword [ebx + 0xb4]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x4454ee
mov ecx, ebx
call sym.tpop4.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::ReleaseCapture_void_
mov ecx, dword [ebp - 0x10]
movsx eax, word [ebp - 0x10]
shr ecx, 0x10
movsx ecx, cx
push ecx
mov dword [ebp - 0x14], ecx
mov dword [ebx + 0x208], ecx
push eax
mov ecx, ebx
mov dword [ebp - 0x18], eax
mov dword [ebx + 0x204], eax
call sym.tpop4.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_struct_tagPOINT_const
mov edx, eax
mov dword [ebx + 0x1fc], edx
test edx, edx
je 0x4454ee
push 7
pop ecx
xor eax, eax
lea edi, [ebp + 0xe8]
rep stosd dword es:[edi], eax
mov dword [ebp + 0xe4], 0x12
mov eax, dword [ebp - 0x10]
mov dword [ebp + 0x100], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp + 0xf0], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp + 0xe8], edx
mov dword [ebp + 0xfc], esi
mov dword [ebp + 0xf4], eax
mov word [ebp + 0xfa], si
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, dword [ebx + 0x1fc]
mov dword [ebp + 0xec], eax
lea ecx, [ebp + 0xe4]
mov eax, dword [ebx]
push ecx
mov ecx, ebx
call dword [eax + 0x12c]
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x104]
xor ecx, ebp
call fcn.004c3202
add ebp, 0x108
leave
ret 0x10