Function at 0x4512e0
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c0171
mov eax, dword fs:[0]
push eax
sub esp, 0x48c
mov eax, dword [0x4fb2a0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x478], ecx
mov eax, dword [ebp - 0x478]
cmp dword [eax], 0
jne 0x451323
xor al, al
jmp 0x453a5b
mov dword [ebp - 0x24], 0
push 0
mov ecx, dword [ebp - 0x478]
add ecx, 0x1c4
call sym.Setup.exe_public:_void____thiscall_DuiLib::CStdPtrArray::GetAt_int_const
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x45146f
push 0
mov ecx, dword [ebp - 0x478]
add ecx, 0x1c4
call sym.Setup.exe_public:_bool___thiscall_DuiLib::CStdPtrArray::Remove_int_
mov ecx, dword [ebp - 0x24]
cmp dword [ecx + 0x108], 0
je 0x451396
mov edx, dword [ebp - 0x24]
mov ecx, dword [edx + 0x108]
add ecx, 0x38
call sym.Setup.exe_public:_bool___thiscall_DuiLib::CEventSource::operator_bool_void_
movzx eax, al
test eax, eax
je 0x451396
mov ecx, dword [ebp - 0x24]
push ecx
mov edx, dword [ebp - 0x24]
mov ecx, dword [edx + 0x108]
add ecx, 0x38
call sym.Setup.exe_public:_bool___thiscall_DuiLib::CEventSource::operator___void__
mov dword [ebp - 0x28], 0
jmp 0x4513a8
mov eax, dword [ebp - 0x28]
add eax, 1
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x478]
add ecx, 0x17c
call sym.Setup.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
cmp dword [ebp - 0x28], eax
jge 0x4513f1
mov ecx, dword [ebp - 0x28]
push ecx
mov ecx, dword [ebp - 0x478]
add ecx, 0x17c
call sym.Setup.exe_public:_void____thiscall_DuiLib::CStdPtrArray::operator___int_const
mov dword [ebp - 0x47c], eax
mov edx, dword [ebp - 0x24]
push edx
mov eax, dword [ebp - 0x47c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x47c]
mov eax, dword [edx]
call eax
jmp 0x45139f
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x460], ecx
mov edx, dword [ebp - 0x460]
mov dword [ebp - 0x45c], edx
cmp dword [ebp - 0x45c], 0
je 0x451460
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x45c]
add ecx, 0x84
call sym.Setup.exe_public:_void___thiscall_DuiLib::CDuiString::destructor_void_
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x45c]
call sym.Setup.exe_public:_void___thiscall_DuiLib::CDuiString::destructor_void_
mov eax, 1
and eax, 1
je 0x451452
mov ecx, dword [ebp - 0x45c]
push ecx
call fcn.0042ec00
add esp, 4
mov edx, dword [ebp - 0x45c]
mov dword [ebp - 0x480], edx
jmp 0x45146a
mov dword [ebp - 0x480], 0
jmp 0x45132a
mov dword [ebp - 0x2c], 0
jmp 0x451481
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x478]
add ecx, 0x1a0
call sym.Setup.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
cmp dword [ebp - 0x2c], eax
jge 0x4514f4
mov byte [ebp - 0x31], 0
mov ecx, dword [ebp - 0x2c]
push ecx
mov ecx, dword [ebp - 0x478]
add ecx, 0x1a0
call sym.Setup.exe_public:_void____thiscall_DuiLib::CStdPtrArray::operator___int_const
mov dword [ebp - 0x484], eax
lea edx, [ebp - 0x31]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp - 0x484]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x484]
mov eax, dword [edx]
call eax
mov dword [ebp - 0x30], eax
movzx ecx, byte [ebp - 0x31]
test ecx, ecx
je 0x4514f2
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp - 0x30]
mov dword [edx], eax
mov al, 1
jmp 0x453a5b
jmp 0x451478
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x488], ecx
cmp dword [ebp - 0x488], 0x111
ja 0x45154c
cmp dword [ebp - 0x488], 0x111
je 0x453884
mov edx, dword [ebp - 0x488]
sub edx, 5
mov dword [ebp - 0x488], edx
cmp dword [ebp - 0x488], 0xfd
ja case.default.0x4515de
mov eax, dword [ebp - 0x488]
movzx ecx, byte [eax + 0x453aac]
jmp dword [ecx*4 + 0x453a78]
cmp dword [ebp - 0x488], 0x200
ja 0x45159d
cmp dword [ebp - 0x488], 0x200
je 0x452891
cmp dword [ebp - 0x488], 0x113
je 0x4523da
cmp dword [ebp - 0x488], 0x133
je 0x4538c2
cmp dword [ebp - 0x488], 0x138
je 0x4538c2
jmp case.default.0x4515de
cmp dword [ebp - 0x488], 0x20a
ja 0x4515e5
cmp dword [ebp - 0x488], 0x20a
je 0x4532d3
mov edx, dword [ebp - 0x488]
sub edx, 0x201
mov dword [ebp - 0x488], edx
cmp dword [ebp - 0x488], 3
ja case.default.0x4515de
mov eax, dword [ebp - 0x488]
jmp dword [eax*4 + 0x453bac]
cmp dword [ebp - 0x488], 0x318
ja 0x451626
cmp dword [ebp - 0x488], 0x318
je 0x45210d
cmp dword [ebp - 0x488], 0x2a1
je 0x45250a
cmp dword [ebp - 0x488], 0x2a3
je 0x452829
jmp case.default.0x4515de
cmp dword [ebp - 0x488], 0x2415
je 0x4520e0
cmp dword [ebp - 0x488], 0x8001
je 0x451647
jmp case.default.0x4515de
mov dword [ebp - 0x38], 0
jmp 0x451659
mov ecx, dword [ebp - 0x38]
add ecx, 1
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 0x478]
add ecx, 0x1b8
call sym.Setup.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
cmp dword [ebp - 0x38], eax
jge 0x4516c7
mov edx, dword [ebp - 0x38]
push edx
mov ecx, dword [ebp - 0x478]
add ecx, 0x1b8
call sym.Setup.exe_public:_void____thiscall_DuiLib::CStdPtrArray::operator___int_const
mov dword [ebp - 0x468], eax
mov eax, dword [ebp - 0x468]
mov dword [ebp - 0x464], eax
cmp dword [ebp - 0x464], 0
je 0x4516bb
push 1
mov ecx, dword [ebp - 0x464]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x464]
mov eax, dword [edx]
call eax
mov dword [ebp - 0x48c], eax
jmp 0x4516c5
mov dword [ebp - 0x48c], 0
jmp 0x451650
mov ecx, dword [ebp - 0x478]
add ecx, 0x1b8
call sym.Setup.exe_public:_void___thiscall_DuiLib::CStdPtrArray::Empty_void_
jmp case.default.0x4515de
mov ecx, dword [ebp - 0x478]
cmp dword [ecx + 0x11c], 0
je 0x4516f3
mov al, 1
jmp 0x453a5b
jmp case.default.0x4515de
mov dword [ebp - 0x5c], 0
xor edx, edx
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x478]
mov ecx, dword [eax + 0x124]
mov edx, dword [eax + 0x128]
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x478]
cmp dword [eax + 0x110], 0
je 0x451782
mov dword [ebp - 0x5c], 0xa
mov ecx, dword [ebp - 0x478]
mov edx, dword [ecx + 0x110]
mov dword [ebp - 0x58], edx
lea eax, [ebp - 0x5c]
push eax
mov ecx, dword [ebp - 0x478]
mov edx, dword [ecx + 0x110]
mov eax, dword [ebp - 0x478]
mov ecx, dword [eax + 0x110]
mov edx, dword [edx]
mov eax, dword [edx + 0x108]
call eax
mov ecx, dword [ebp - 0x478]
cmp dword [ecx + 0x114], 0
je 0x4517cd
mov dword [ebp - 0x5c], 0xe
mov edx, dword [ebp - 0x478]
mov eax, dword [edx + 0x114]
mov dword [ebp - 0x58], eax
lea ecx, [ebp - 0x5c]
push ecx
mov edx, dword [ebp - 0x478]
mov eax, dword [edx + 0x114]
mov ecx, dword [ebp - 0x478]
mov ecx, dword [ecx + 0x114]
mov edx, dword [eax]
mov eax, dword [edx + 0x108]
call eax
push 0
mov ecx, dword [ebp - 0x478]
call sym.Setup.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::SetFocus_class_DuiLib::CControlUI__
push 4
mov ecx, dword [ebp - 0x478]
mov edx, dword [ecx]
push edx
call dword [sym.imp.USER32.dll_GetWindow]
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
je 0x4517fe
mov eax, dword [ebp - 0x3c]
push eax
call dword [sym.imp.USER32.dll_SetFocus]
jmp case.default.0x4515de
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 1
mov al, 1
jmp 0x453a5b
mov edx, dword [ebp - 0x478]
cmp dword [edx + 0x11c], 0
je 0x451834
mov ecx, dword [ebp - 0x478]
call sym.Setup.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::UpdateView_void_
mov al, 1
jmp 0x453a5b
mov dword [ebp - 0xac], 0
xor eax, eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xa0], eax
push 0
lea ecx, [ebp - 0xac]
push ecx
mov edx, dword [ebp - 0x478]
mov eax, dword [edx]
push eax
call dword [sym.imp.USER32.dll_GetUpdateRect]
test eax, eax
jne 0x451875
mov al, 1
jmp 0x453a5b
mov ecx, dword [ebp - 0x478]
cmp dword [ecx + 0x108], 0
jne 0x4518d4
mov dword [ebp - 0xec], 0
push 0x3c
push 0
lea edx, [ebp - 0xe8]
push edx
call fcn.00438200
add esp, 0xc
lea eax, [ebp - 0xec]
push eax
mov ecx, dword [ebp - 0x478]
mov edx, dword [ecx]
push edx
call dword [sym.imp.USER32.dll_BeginPaint]
lea eax, [ebp - 0xec]
push eax
mov ecx, dword [ebp - 0x478]
mov edx, dword [ecx]
push edx
call dword [sym.imp.USER32.dll_EndPaint]
mov al, 1
jmp 0x453a5b
mov eax, dword [ebp - 0x478]
movzx ecx, byte [eax + 0x171]
test ecx, ecx
je 0x451bdb
mov edx, dword [ebp - 0x478]
mov byte [edx + 0x171], 0
mov dword [ebp - 0xfc], 0
xor eax, eax
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xf0], eax
lea ecx, [ebp - 0xfc]
push ecx
mov edx, dword [ebp - 0x478]
mov eax, dword [edx]
push eax
call dword [sym.imp.USER32.dll_GetClientRect]
lea ecx, [ebp - 0xfc]
push ecx
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
jne 0x451bdb
mov edx, dword [ebp - 0x478]
mov ecx, dword [edx + 0x108]
call sym.Setup.exe_public:_bool___thiscall_DuiLib::CControlUI::IsUpdateNeeded_void_const
movzx eax, al
test eax, eax
je 0x451a4d
mov ecx, dword [ebp - 0x478]
cmp dword [ecx + 0xc], 0
je 0x451977
mov edx, dword [ebp - 0x478]
mov eax, dword [edx + 0xc]
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
mov ecx, dword [ebp - 0x478]
cmp dword [ecx + 0x10], 0
je 0x451993
mov edx, dword [ebp - 0x478]
mov eax, dword [edx + 0x10]
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
mov ecx, dword [ebp - 0x478]
cmp dword [ecx + 0x14], 0
je 0x4519af
mov edx, dword [ebp - 0x478]
mov eax, dword [edx + 0x14]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov ecx, dword [ebp - 0x478]
cmp dword [ecx + 0x18], 0
je 0x4519cb
mov edx, dword [ebp - 0x478]
mov eax, dword [edx + 0x18]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov ecx, dword [ebp - 0x478]
mov dword [ecx + 0xc], 0
mov edx, dword [ebp - 0x478]
mov dword [edx + 0x10], 0
mov eax, dword [ebp - 0x478]
mov dword [eax + 0x14], 0
mov ecx, dword [ebp - 0x478]
mov dword [ecx + 0x18], 0
push 1
sub esp, 0x10
mov edx, esp
mov eax, dword [ebp - 0xfc]
mov dword [edx], eax
mov ecx, dword [ebp - 0xf8]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0xf4]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0xf0]
mov dword [edx + 0xc], ecx
mov edx, dword [ebp - 0x478]
mov eax, dword [edx + 0x108]
mov ecx, dword [ebp - 0x478]
mov ecx, dword [ecx + 0x108]
mov edx, dword [eax]
mov eax, dword [edx + 0x38]
call eax
jmp 0x451b9a
mov dword [ebp - 0x100], 0
mov ecx, dword [ebp - 0x478]
add ecx, 0x1d0
call sym.Setup.exe_public:_void___thiscall_DuiLib::CStdPtrArray::Empty_void_
push reloc.OLEAUT32.dll_VariantCopy
push 0
push sym.Setup.exe_private:_static_class_DuiLib::CControlUI____stdcall_DuiLib::CPaintManagerUI::__FindControlsFromUpdate_class_DuiLib::CControlUI___void__
mov ecx, dword [ebp - 0x478]
mov edx, dword [ecx + 0x108]
mov eax, dword [ebp - 0x478]
mov ecx, dword [eax + 0x108]
mov edx, dword [edx]
mov eax, dword [edx + 0xfc]
call eax
mov dword [ebp - 0x104], 0
jmp 0x451ab1
mov ecx, dword [ebp - 0x104]
add ecx, 1
mov dword [ebp - 0x104], ecx
mov ecx, dword [ebp - 0x478]
add ecx, 0x1d0
call sym.Setup.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
cmp dword [ebp - 0x104], eax
jge 0x451b9a
mov edx, dword [ebp - 0x104]
push edx
mov ecx, dword [ebp - 0x478]
add ecx, 0x1d0
call sym.Setup.exe_public:_void____thiscall_DuiLib::CStdPtrArray::operator___int_const
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0x100]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x100]
mov eax, dword [edx + 0xf4]
call eax
movzx ecx, al
test ecx, ecx
jne 0x451b4e
push 1
mov edx, dword [ebp - 0x100]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x100]
mov edx, dword [eax + 0x30]
call edx
sub esp, 0x10
mov ecx, esp
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x100]
mov eax, dword [edx + 0x38]
call eax
jmp 0x451b95
push 1
lea ecx, [ebp - 0x20]
push ecx
mov edx, dword [ebp - 0x100]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x100]
mov edx, dword [eax + 0x34]
call edx
sub esp, 0x10
mov ecx, esp
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x100]
mov eax, dword [edx + 0x38]
call eax
jmp 0x451aa2
mov ecx, dword [ebp - 0x478]
movzx edx, byte [ecx + 0x170]
test edx, edx
je 0x451bdb
mov eax, dword [ebp - 0x478]
mov byte [eax + 0x170], 0
push 0
push 0
push 0
push str.windowinit
mov ecx, dword [ebp - 0x478]
mov edx, dword [ecx + 0x108]
push edx
mov ecx, dword [ebp - 0x478]
call sym.Setup.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::SendNotify_class_DuiLib::CControlUI___wchar_t_const___unsigned_int__long_int__bool_
mov eax, dword [ebp - 0x478]
movzx ecx, byte [eax + 0x172]
test ecx, ecx
je 0x451bf9
push 1
mov ecx, dword [ebp - 0x478]
call sym.Setup.exe_public:_bool___thiscall_DuiLib::CPaintManagerUI::SetNextTabControl_bool_
mov edx, dword [ebp - 0x478]
movzx eax, byte [edx + 0x173]
test eax, eax
je 0x451c9e
mov ecx, dword [ebp - 0x478]
cmp dword [ecx + 0x14], 0
jne 0x451c9e
mov dword [ebp - 0x114], 0
xor edx, edx
mov dword [ebp - 0x110], edx
mov dword [ebp - 0x10c], edx
mov dword [ebp - 0x108], edx
lea eax, [ebp - 0x114]
push eax
mov ecx, dword [ebp - 0x478]
mov edx, dword [ecx]
push edx
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebp - 0x478]
mov ecx, dword [eax + 8]
push ecx
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov edx, dword [ebp - 0x478]
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 0x108]
sub eax, dword [ebp - 0x110]
push eax
mov ecx, dword [ebp - 0x10c]
sub ecx, dword [ebp - 0x114]
push ecx
mov edx, dword [ebp - 0x478]
mov eax, dword [edx + 8]
push eax
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov ecx, dword [ebp - 0x478]
mov dword [ecx + 0x14], eax
mov dword [ebp - 0x9c], 0
push 0x3c
push 0
lea edx, [ebp - 0x98]
push edx
call fcn.00438200
add esp, 0xc
lea eax, [ebp - 0x9c]
push eax
mov ecx, dword [ebp - 0x478]
mov edx, dword [ecx]
push edx
call dword [sym.imp.USER32.dll_BeginPaint]
mov eax, dword [ebp - 0x478]
movzx ecx, byte [eax + 0x173]
test ecx, ecx
je 0x452048
mov edx, dword [ebp - 0x478]
mov eax, dword [edx + 0x14]
push eax
mov ecx, dword [ebp - 0x478]
mov edx, dword [ecx + 0xc]
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x478]
mov ecx, dword [eax + 0xc]
push ecx
call dword [sym.imp.GDI32.dll_SaveDC]
mov dword [ebp - 0x11c], eax
mov edx, dword [ebp - 0x478]
movzx eax, byte [edx + 0x174]
test eax, eax
je 0x451e9e
mov ecx, dword [ebp - 0x478]
cmp dword [ecx + 0x18], 0
jne 0x451e2f
mov dword [ebp - 0x12c], 0
xor edx, edx
mov dword [ebp - 0x128], edx
mov dword [ebp - 0x124], edx
mov dword [ebp - 0x120], edx
lea eax, [ebp - 0x12c]
push eax
mov ecx, dword [ebp - 0x478]
mov edx, dword [ecx]
push edx
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebp - 0x478]
mov ecx, dword [eax + 8]
push ecx
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov edx, dword [ebp - 0x478]
mov dword [edx + 0x10], eax
mov eax, dword [ebp - 0x120]
sub eax, dword [ebp - 0x128]
push eax
mov ecx, dword [ebp - 0x124]
sub ecx, dword [ebp - 0x12c]
push ecx
mov edx, dword [ebp - 0x478]
mov eax, dword [edx + 8]
push eax
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov ecx, dword [ebp - 0x478]
mov dword [ecx + 0x18], eax
mov edx, dword [ebp - 0x478]
mov eax, dword [edx + 0x18]
push eax
mov ecx, dword [ebp - 0x478]
mov edx, dword [ecx + 0x10]
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
push 0xcc0020
mov eax, dword [ebp - 0x90]
push eax
mov ecx, dword [ebp - 0x94]
push ecx
mov edx, dword [ebp - 0x9c]
push edx
mov eax, dword [ebp - 0x88]
sub eax, dword [ebp - 0x90]
push eax
mov ecx, dword [ebp - 0x8c]
sub ecx, dword [ebp - 0x94]
push ecx
mov edx, dword [ebp - 0x90]
push edx
mov eax, dword [ebp - 0x94]
push eax
mov ecx, dword [ebp - 0x478]
mov edx, dword [ecx + 0x10]
push edx
call dword [sym.imp.GDI32.dll_BitBlt]
jmp 0x451e49
mov eax, dword [ebp - 0x478]
mov ecx, dword [eax + 0x18]
push ecx
mov edx, dword [ebp - 0x478]
mov eax, dword [edx + 0x10]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
push 0xcc0020
mov ecx, dword [ebp - 0x90]
push ecx
mov edx, dword [ebp - 0x94]
push edx
mov eax, dword [ebp - 0x478]
mov ecx, dword [eax + 0x10]
push ecx
mov edx, dword [ebp - 0x88]
sub edx, dword [ebp - 0x90]
push edx
mov eax, dword [ebp - 0x8c]
sub eax, dword [ebp - 0x94]
push eax
mov ecx, dword [ebp - 0x90]
push ecx
mov edx, dword [ebp - 0x94]
push edx
mov eax, dword [ebp - 0x478]
mov ecx, dword [eax + 0xc]
push ecx
call dword [sym.imp.GDI32.dll_BitBlt]
lea edx, [ebp - 0x94]
push edx
mov eax, dword [ebp - 0x478]
mov ecx, dword [eax + 0xc]
push ecx
mov edx, dword [ebp - 0x478]
mov eax, dword [edx + 0x108]
mov ecx, dword [ebp - 0x478]
mov ecx, dword [ecx + 0x108]
mov edx, dword [eax]
mov eax, dword [edx + 0x118]
call eax
mov dword [ebp - 0x130], 0
jmp 0x451eec
mov ecx, dword [ebp - 0x130]
add ecx, 1
mov dword [ebp - 0x130], ecx
mov ecx, dword [ebp - 0x478]
add ecx, 0x1ac
call sym.Setup.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
cmp dword [ebp - 0x130], eax
jge 0x451f4c
mov edx, dword [ebp - 0x130]
push edx
mov ecx, dword [ebp - 0x478]
add ecx, 0x1ac
call sym.Setup.exe_public:_void____thiscall_DuiLib::CStdPtrArray::operator___int_const
mov dword [ebp - 0x134], eax
lea eax, [ebp - 0x94]
push eax
mov ecx, dword [ebp - 0x478]
mov edx, dword [ecx + 0xc]
push edx
mov eax, dword [ebp - 0x134]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x134]
mov eax, dword [edx + 0x130]
call eax
jmp 0x451edd
mov ecx, dword [ebp - 0x11c]
push ecx
mov edx, dword [ebp - 0x478]
mov eax, dword [edx + 0xc]
push eax
call dword [sym.imp.GDI32.dll_RestoreDC]
push 0xcc0020
mov ecx, dword [ebp - 0x90]
push ecx
mov edx, dword [ebp - 0x94]
push edx
mov eax, dword [ebp - 0x478]
mov ecx, dword [eax + 0xc]
push ecx
mov edx, dword [ebp - 0x88]
sub edx, dword [ebp - 0x90]
push edx
mov eax, dword [ebp - 0x8c]
sub eax, dword [ebp - 0x94]
push eax
mov ecx, dword [ebp - 0x90]
push ecx
mov edx, dword [ebp - 0x94]
push edx
mov eax, dword [ebp - 0x9c]
push eax
call dword [sym.imp.GDI32.dll_BitBlt]
mov ecx, dword [ebp - 0x118]
push ecx
mov edx, dword [ebp - 0x478]
mov eax, dword [edx + 0xc]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [ebp - 0x478]
movzx edx, byte [ecx + 0x4c]
test edx, edx
je 0x452046
mov eax, dword [0x4fef30]
push eax
mov ecx, dword [ebp - 0x9c]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0x138], eax
push 5
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
mov edx, dword [ebp - 0x9c]
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [ebp - 0xa0]
push eax
mov ecx, dword [ebp - 0xa4]
push ecx
mov edx, dword [ebp - 0xa8]
push edx
mov eax, dword [ebp - 0xac]
push eax
mov ecx, dword [ebp - 0x9c]
push ecx
call dword [sym.imp.GDI32.dll_Rectangle]
mov edx, dword [ebp - 0x138]
push edx
mov eax, dword [ebp - 0x9c]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
jmp 0x45209f
mov ecx, dword [ebp - 0x9c]
push ecx
call dword [sym.imp.GDI32.dll_SaveDC]
mov dword [ebp - 0x13c], eax
lea edx, [ebp - 0x94]
push edx
mov eax, dword [ebp - 0x9c]
push eax
mov ecx, dword [ebp - 0x478]
mov edx, dword [ecx + 0x108]
mov eax, dword [ebp - 0x478]
mov ecx, dword [eax + 0x108]
mov edx, dword [edx]
mov eax, dword [edx + 0x118]
call eax
mov ecx, dword [ebp - 0x13c]
push ecx
mov edx, dword [ebp - 0x9c]
push edx
call dword [sym.imp.GDI32.dll_RestoreDC]
lea eax, [ebp - 0x9c]
push eax
mov ecx, dword [ebp - 0x478]
mov edx, dword [ecx]
push edx
call dword [sym.imp.USER32.dll_EndPaint]
mov eax, dword [ebp - 0x478]
movzx ecx, byte [eax + 0x171]
test ecx, ecx
je 0x4520d9
push 0
push 0
mov edx, dword [ebp - 0x478]
mov eax, dword [edx]
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
mov al, 1
jmp 0x453a5b
lea ecx, [ebp - 0x14c]
push ecx
mov edx, dword [ebp - 0x478]
mov eax, dword [edx]
push eax
call dword [sym.imp.USER32.dll_GetClientRect]
lea ecx, [ebp - 0x14c]
push ecx
mov ecx, dword [ebp - 0x478]
call sym.Setup.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::UpdateView_struct_tagRECT_const__
jmp case.default.0x4515de
mov edx, dword [ebp - 0x478]
cmp dword [edx + 0x11c], 0
je 0x45212c
mov ecx, dword [ebp - 0x478]
call sym.Setup.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::UpdateView_void_
jmp case.default.0x4515de
lea eax, [ebp - 0x160]
push eax
mov ecx, dword [ebp - 0x478]
mov edx, dword [ecx]
push edx
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x150], eax
mov ecx, dword [ebp - 0x150]
push ecx
call dword [sym.imp.GDI32.dll_SaveDC]
mov dword [ebp - 0x164], eax
lea edx, [ebp - 0x160]
push edx
mov eax, dword [ebp - 0x150]
push eax
mov ecx, dword [ebp - 0x478]
mov edx, dword [ecx + 0x108]
mov eax, dword [ebp - 0x478]
mov ecx, dword [eax + 0x108]
mov edx, dword [edx]
mov eax, dword [edx + 0x118]
call eax
mov ecx, dword [ebp + 0x10]
and ecx, 0x10
je 0x452262
push 5
mov edx, dword [ebp - 0x478]
mov eax, dword [edx]
push eax
call dword [sym.imp.USER32.dll_GetWindow]
mov dword [ebp - 0x168], eax
cmp dword [ebp - 0x168], 0
je 0x452262
mov dword [ebp - 0x178], 0
xor ecx, ecx
mov dword [ebp - 0x174], ecx
mov dword [ebp - 0x170], ecx
mov dword [ebp - 0x16c], ecx
lea edx, [ebp - 0x178]
push edx
mov eax, dword [ebp - 0x168]
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
push 2
lea ecx, [ebp - 0x178]
push ecx
mov edx, dword [ebp - 0x478]
mov eax, dword [edx]
push eax
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
push 0
mov ecx, dword [ebp - 0x174]
neg ecx
push ecx
mov edx, dword [ebp - 0x178]
neg edx
push edx
mov eax, dword [ebp - 0x150]
push eax
call dword [sym.imp.GDI32.dll_SetWindowOrgEx]
mov ecx, dword [ebp + 0x10]
or ecx, 2
push ecx
mov edx, dword [ebp + 0xc]
push edx
push 0x317
mov eax, dword [ebp - 0x168]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push 2
mov ecx, dword [ebp - 0x168]
push ecx
call dword [sym.imp.USER32.dll_GetWindow]
mov dword [ebp - 0x168], eax
jmp 0x4521b1
mov edx, dword [ebp - 0x164]
push edx
mov eax, dword [ebp - 0x150]
push eax
call dword [sym.imp.GDI32.dll_RestoreDC]
jmp case.default.0x4515de
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x17c], ecx
mov edx, dword [ebp - 0x478]
cmp dword [edx + 0x12c], 0
jle 0x4522a8
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x478]
mov edx, dword [ecx + 0x12c]
mov dword [eax + 0x18], edx
mov eax, dword [ebp - 0x478]
cmp dword [eax + 0x130], 0
jle 0x4522cc
mov ecx, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x478]
mov eax, dword [edx + 0x130]
mov dword [ecx + 0x1c], eax
mov ecx, dword [ebp - 0x478]
cmp dword [ecx + 0x134], 0
jle 0x4522f0
mov edx, dword [ebp - 0x17c]
mov eax, dword [ebp - 0x478]
mov ecx, dword [eax + 0x134]
mov dword [edx + 0x20], ecx
mov edx, dword [ebp - 0x478]
cmp dword [edx + 0x138], 0
jle 0x452314
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x478]
mov edx, dword [ecx + 0x138]
mov dword [eax + 0x24], edx
jmp case.default.0x4515de
mov eax, dword [ebp - 0x478]
cmp dword [eax + 0x10c], 0
je 0x4523b3
mov dword [ebp - 0x19c], 0
xor ecx, ecx
mov dword [ebp - 0x198], ecx
mov dword [ebp - 0x194], ecx
mov dword [ebp - 0x190], ecx
mov dword [ebp - 0x18c], ecx
mov dword [ebp - 0x188], ecx
mov dword [ebp - 0x184], ecx
mov dword [ebp - 0x180], ecx
mov dword [ebp - 0x19c], 0x16
mov edx, dword [ebp - 0x478]
mov eax, dword [edx + 0x10c]
mov dword [ebp - 0x198], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x194], eax
lea ecx, [ebp - 0x19c]
push ecx
mov edx, dword [ebp - 0x478]
mov eax, dword [edx + 0x10c]
mov ecx, dword [ebp - 0x478]
mov ecx, dword [ecx + 0x10c]
mov edx, dword [eax]
mov eax, dword [edx + 0x108]
call eax
mov ecx, dword [ebp - 0x478]
cmp dword [ecx + 0x108], 0
je 0x4523d3
mov edx, dword [ebp - 0x478]
mov ecx, dword [edx + 0x108]
call sym.Setup.exe_public:_void___thiscall_DuiLib::CControlUI::NeedUpdate_void_
mov al, 1
jmp 0x453a5b
mov dword [ebp - 0x1a0], 0
jmp 0x4523f5
mov eax, dword [ebp - 0x1a0]
add eax, 1
mov dword [ebp - 0x1a0], eax
mov ecx, dword [ebp - 0x478]
add ecx, 0x188
call sym.Setup.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
cmp dword [ebp - 0x1a0], eax
jge 0x452505
mov ecx, dword [ebp - 0x1a0]
push ecx
mov ecx, dword [ebp - 0x478]
add ecx, 0x188
call sym.Setup.exe_public:_void____thiscall_DuiLib::CStdPtrArray::operator___int_const
mov dword [ebp - 0x1a4], eax
mov edx, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x478]
mov ecx, dword [edx + 8]
cmp ecx, dword [eax]
jne 0x452500
mov edx, dword [ebp + 0xc]
and edx, 0xffff
movzx eax, dx
mov ecx, dword [ebp - 0x1a4]
cmp dword [ecx + 0xc], eax
jne 0x452500
mov edx, dword [ebp - 0x1a4]
movzx eax, byte [edx + 0x10]
test eax, eax
jne 0x452500
mov dword [ebp - 0x1c4], 0
xor ecx, ecx
mov dword [ebp - 0x1c0], ecx
mov dword [ebp - 0x1bc], ecx
mov dword [ebp - 0x1b8], ecx
mov dword [ebp - 0x1b4], ecx
mov dword [ebp - 0x1b0], ecx
mov dword [ebp - 0x1ac], ecx
mov dword [ebp - 0x1a8], ecx
mov dword [ebp - 0x1c4], 0x18
mov edx, dword [ebp - 0x1a4]
mov eax, dword [edx]
mov dword [ebp - 0x1c0], eax
mov ecx, dword [ebp - 0x1a4]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x1ac], edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1bc], eax
lea eax, [ebp - 0x1c4]
push eax
mov ecx, dword [ebp - 0x1a4]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x1a4]
mov ecx, dword [eax]
mov edx, dword [edx]
mov eax, dword [edx + 0x108]
call eax
jmp 0x452505
jmp 0x4523e6
jmp case.default.0x4515de
mov ecx, dword [ebp - 0x478]
mov byte [ecx + 0x175], 0
mov edx, dword [ebp + 0x10]
and edx, 0xffff
movsx eax, dx
mov dword [ebp - 0x1cc], eax
mov ecx, dword [ebp + 0x10]
shr ecx, 0x10
and ecx, 0xffff
movsx edx, cx
mov dword [ebp - 0x1c8], edx
mov eax, dword [ebp - 0x1c8]
push eax
mov ecx, dword [ebp - 0x1cc]
push ecx
mov ecx, dword [ebp - 0x478]
call sym.Setup.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_struct_tagPOINT_const
mov dword [ebp - 0x258], eax
cmp dword [ebp - 0x258], 0
jne 0x45256b
jmp case.default.0x4515de
mov edx, dword [ebp - 0x478]
cmp dword [edx + 0x110], 0
je 0x45261f
mov dword [ebp - 0x278], 0
xor eax, eax
mov dword [ebp - 0x274], eax
mov dword [ebp - 0x270], eax
mov dword [ebp - 0x26c], eax
mov dword [ebp - 0x268], eax
mov dword [ebp - 0x264], eax
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x25c], eax
mov ecx, dword [ebp - 0x1cc]
mov dword [ebp - 0x26c], ecx
mov edx, dword [ebp - 0x1c8]
mov dword [ebp - 0x268], edx
mov dword [ebp - 0x278], 0xc
mov eax, dword [ebp - 0x478]
mov ecx, dword [eax + 0x110]
mov dword [ebp - 0x274], ecx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x270], eax
lea edx, [ebp - 0x278]
push edx
mov eax, dword [ebp - 0x478]
mov ecx, dword [eax + 0x110]
mov edx, dword [ebp - 0x478]
mov eax, dword [edx + 0x110]
mov edx, dword [ecx]
mov ecx, eax
mov eax, dword [edx + 0x108]
call eax
lea ecx, [ebp - 0x254]
push ecx
mov edx, dword [ebp - 0x258]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x258]
mov edx, dword [eax + 0x98]
call edx
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x254]
call sym.Setup.exe_public:_bool___thiscall_DuiLib::CDuiString::IsEmpty_void_const
movzx eax, al
test eax, eax
je 0x452679
mov byte [ebp - 0x469], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x254]
call sym.Setup.exe_public:_void___thiscall_DuiLib::CDuiString::destructor_void_
mov al, byte [ebp - 0x469]
jmp 0x453a5b
lea ecx, [ebp - 0x254]
push ecx
call sym.Setup.exe_public:_static_void___cdecl_DuiLib::CPaintManagerUI::ProcessMultiLanguageTokens_class_DuiLib::CDuiString__
add esp, 4
push 0x2c
push 0
mov edx, dword [ebp - 0x478]
add edx, 0x20
push edx
call fcn.00438200
add esp, 0xc
mov eax, dword [ebp - 0x478]
mov dword [eax + 0x20], 0x2c
mov ecx, dword [ebp - 0x478]
mov dword [ecx + 0x24], 1
mov edx, dword [ebp - 0x478]
mov eax, dword [ebp - 0x478]
mov ecx, dword [eax]
mov dword [edx + 0x28], ecx
mov edx, dword [ebp - 0x478]
mov eax, dword [ebp - 0x478]
mov ecx, dword [eax]
mov dword [edx + 0x2c], ecx
mov edx, dword [ebp - 0x478]
mov eax, dword [sym.Setup.exe_struct_HINSTANCE____DuiLib::CPaintManagerUI::m_hInstance]
mov dword [edx + 0x40], eax
lea ecx, [ebp - 0x254]
call sym.Setup.exe_public:_wchar_t_const____thiscall_DuiLib::CDuiString::operator_wchar_t_const__void_const
mov ecx, dword [ebp - 0x478]
mov dword [ecx + 0x44], eax
mov edx, dword [ebp - 0x258]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x258]
mov edx, dword [eax + 0x30]
call edx
mov ecx, dword [ebp - 0x478]
add ecx, 0x30
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0x478]
cmp dword [ecx + 0x1c], 0
jne 0x4527a0
push 0
mov edx, dword [sym.Setup.exe_struct_HINSTANCE____DuiLib::CPaintManagerUI::m_hInstance]
push edx
push 0
mov eax, dword [ebp - 0x478]
mov ecx, dword [eax]
push ecx
push SysReAllocString
push SysReAllocString
push SysReAllocString
push SysReAllocString
push SysStringLen
push 0
push str.tooltips_class32
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov edx, dword [ebp - 0x478]
mov dword [edx + 0x1c], eax
mov eax, dword [ebp - 0x478]
add eax, 0x20
push eax
push 0
push 0x432
mov ecx, dword [ebp - 0x478]
mov edx, dword [ecx + 0x1c]
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x258]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x258]
mov eax, dword [edx + 0xa4]
call eax
push eax
push 0
push 0x418
mov ecx, dword [ebp - 0x478]
mov edx, dword [ecx + 0x1c]
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x478]
add eax, 0x20
push eax
push 0
push 0x436
mov ecx, dword [ebp - 0x478]
mov edx, dword [ecx + 0x1c]
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x478]
add eax, 0x20
push eax
push 1
push 0x411
mov ecx, dword [ebp - 0x478]
mov edx, dword [ecx + 0x1c]
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x254]
call sym.Setup.exe_public:_void___thiscall_DuiLib::CDuiString::destructor_void_
mov al, 1
jmp 0x453a5b
mov eax, dword [ebp - 0x478]
cmp dword [eax + 0x1c], 0
je 0x452856
mov ecx, dword [ebp - 0x478]
add ecx, 0x20
push ecx
push 0
push 0x411
mov edx, dword [ebp - 0x478]
mov eax, dword [edx + 0x1c]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [ebp - 0x478]
movzx edx, byte [ecx + 0x175]
test edx, edx
je 0x45287f
push 0xffffffffffffffff
push 0
push 0x200
mov eax, dword [ebp - 0x478]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
mov edx, dword [ebp - 0x478]
mov byte [edx + 0x175], 0
jmp case.default.0x4515de
mov eax, dword [ebp - 0x478]
movzx ecx, byte [eax + 0x175]
test ecx, ecx
jne 0x452943
mov dword [ebp - 0x2b4], 0
xor edx, edx
mov dword [ebp - 0x2b0], edx
mov dword [ebp - 0x2ac], edx
mov dword [ebp - 0x2a8], edx
mov dword [ebp - 0x2b4], 0x10
mov dword [ebp - 0x2b0], 3
mov eax, dword [ebp - 0x478]
mov ecx, dword [eax]
mov dword [ebp - 0x2ac], ecx
mov edx, dword [ebp - 0x478]
cmp dword [edx + 0x1c], 0
jne 0x4528fe
mov dword [ebp - 0x490], 0x190
jmp 0x45291d
push 0
push 3
push 0x415
mov eax, dword [ebp - 0x478]
mov ecx, dword [eax + 0x1c]
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0x490], eax
mov edx, dword [ebp - 0x490]
mov dword [ebp - 0x2a8], edx
lea eax, [ebp - 0x2b4]
push eax
call dword [sym.imp.COMCTL32.dll__TrackMouseEvent]
mov ecx, dword [ebp - 0x478]
mov byte [ecx + 0x175], 1
mov edx, dword [ebp + 0x10]
and edx, 0xffff
movsx eax, dx
mov dword [ebp - 0x284], eax
mov ecx, dword [ebp + 0x10]
shr ecx, 0x10
and ecx, 0xffff
movsx edx, cx
mov dword [ebp - 0x280], edx
mov eax, dword [ebp - 0x478]
mov ecx, dword [ebp - 0x284]
mov dword [eax + 0x124], ecx
mov edx, dword [ebp - 0x280]
mov dword [eax + 0x128], edx
mov eax, dword [ebp - 0x280]
push eax
mov ecx, dword [ebp - 0x284]
push ecx
mov ecx, dword [ebp - 0x478]
call sym.Setup.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_struct_tagPOINT_const
mov dword [ebp - 0x27c], eax
cmp dword [ebp - 0x27c], 0
je 0x4529d0
mov edx, dword [ebp - 0x27c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x27c]
mov edx, dword [eax + 0x1c]
call edx
cmp eax, dword [ebp - 0x478]
je 0x4529d0
jmp case.default.0x4515de
mov dword [ebp - 0x2a4], 0
xor eax, eax
mov dword [ebp - 0x2a0], eax
mov dword [ebp - 0x29c], eax
mov dword [ebp - 0x298], eax
mov dword [ebp - 0x294], eax
mov dword [ebp - 0x290], eax
mov dword [ebp - 0x28c], eax
mov dword [ebp - 0x288], eax
mov ecx, dword [ebp - 0x284]
mov dword [ebp - 0x298], ecx
mov edx, dword [ebp - 0x280]
mov dword [ebp - 0x294], edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x29c], eax
mov eax, dword [ebp - 0x478]
mov ecx, dword [ebp - 0x27c]
cmp ecx, dword [eax + 0x110]
je 0x452ad9
mov edx, dword [ebp - 0x478]
cmp dword [edx + 0x110], 0
je 0x452ad9
mov dword [ebp - 0x2a4], 0xa
mov eax, dword [ebp - 0x478]
mov ecx, dword [eax + 0x110]
mov dword [ebp - 0x2a0], ecx
lea edx, [ebp - 0x2a4]
push edx
mov eax, dword [ebp - 0x478]
mov ecx, dword [eax + 0x110]
mov edx, dword [ebp - 0x478]
mov eax, dword [edx + 0x110]
mov edx, dword [ecx]
mov ecx, eax
mov eax, dword [edx + 0x108]
call eax
mov ecx, dword [ebp - 0x478]
mov dword [ecx + 0x110], 0
mov edx, dword [ebp - 0x478]
cmp dword [edx + 0x1c], 0
je 0x452ad9
mov eax, dword [ebp - 0x478]
add eax, 0x20
push eax
push 0
push 0x411
mov ecx, dword [ebp - 0x478]
mov edx, dword [ecx + 0x1c]
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x478]
mov ecx, dword [ebp - 0x27c]
cmp ecx, dword [eax + 0x110]
je 0x452b3b
cmp dword [ebp - 0x27c], 0
je 0x452b3b
mov dword [ebp - 0x2a4], 0xb
mov edx, dword [ebp - 0x27c]
mov dword [ebp - 0x2a0], edx
lea eax, [ebp - 0x2a4]
push eax
mov ecx, dword [ebp - 0x27c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x27c]
mov eax, dword [edx + 0x108]
call eax
mov ecx, dword [ebp - 0x478]
mov edx, dword [ebp - 0x27c]
mov dword [ecx + 0x110], edx
mov eax, dword [ebp - 0x478]
cmp dword [eax + 0x114], 0
je 0x452b91
mov dword [ebp - 0x2a4], 9
mov ecx, dword [ebp - 0x478]
mov edx, dword [ecx + 0x114]
mov dword [ebp - 0x2a0], edx
lea eax, [ebp - 0x2a4]
push eax
mov ecx, dword [ebp - 0x478]
mov edx, dword [ecx + 0x114]
mov eax, dword [ebp - 0x478]
mov ecx, dword [eax + 0x114]
mov edx, dword [edx]
mov eax, dword [edx + 0x108]
call eax
jmp 0x452bcd
cmp dword [ebp - 0x27c], 0
je 0x452bcd
mov dword [ebp - 0x2a4], 9
mov ecx, dword [ebp - 0x27c]
mov dword [ebp - 0x2a0], ecx
lea edx, [ebp - 0x2a4]
push edx
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x27c]
mov eax, dword [edx + 0x108]
call eax
jmp case.default.0x4515de
mov ecx, dword [ebp - 0x478]
cmp dword [ecx + 0x11c], 0
jne 0x452bf0
mov edx, dword [ebp - 0x478]
mov eax, dword [edx]
push eax
call dword [sym.imp.USER32.dll_SetFocus]
mov ecx, dword [ebp + 0x10]
and ecx, 0xffff
movsx edx, cx
mov dword [ebp - 0x2bc], edx
mov eax, dword [ebp + 0x10]
shr eax, 0x10
and eax, 0xffff
movsx ecx, ax
mov dword [ebp - 0x2b8], ecx
mov edx, dword [ebp - 0x478]
mov eax, dword [ebp - 0x2bc]
mov dword [edx + 0x124], eax
mov ecx, dword [ebp - 0x2b8]
mov dword [edx + 0x128], ecx
mov edx, dword [ebp - 0x2b8]
push edx
mov eax, dword [ebp - 0x2bc]
push eax
mov ecx, dword [ebp - 0x478]
call sym.Setup.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_struct_tagPOINT_const
mov dword [ebp - 0x2e0], eax
cmp dword [ebp - 0x2e0], 0
jne 0x452c61
jmp case.default.0x4515de
mov ecx, dword [ebp - 0x2e0]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x2e0]
mov eax, dword [edx + 0x1c]
call eax
cmp eax, dword [ebp - 0x478]
je 0x452c81
jmp case.default.0x4515de
mov ecx, dword [ebp - 0x478]
mov edx, dword [ebp - 0x2e0]
mov dword [ecx + 0x114], edx
mov eax, dword [ebp - 0x478]
cmp dword [eax + 0x11c], 0
jne 0x452cb8
mov ecx, dword [ebp - 0x2e0]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x2e0]
mov eax, dword [edx + 0xf0]
call eax
mov ecx, dword [ebp - 0x478]
call sym.Setup.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::SetCapture_void_
mov dword [ebp - 0x2dc], 0
xor ecx, ecx
mov dword [ebp - 0x2d8], ecx
mov dword [ebp - 0x2d4], ecx
mov dword [ebp - 0x2d0], ecx
mov dword [ebp - 0x2cc], ecx
mov dword [ebp - 0x2c8], ecx
mov dword [ebp - 0x2c4], ecx
mov dword [ebp - 0x2c0], ecx
mov dword [ebp - 0x2dc], 0xd
mov edx, dword [ebp - 0x2e0]
mov dword [ebp - 0x2d8], edx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x2c4], eax
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x2c0], ecx
mov edx, dword [ebp - 0x2bc]
mov dword [ebp - 0x2d0], edx
mov eax, dword [ebp - 0x2b8]
mov dword [ebp - 0x2cc], eax
mov cx, word [ebp + 0xc]
mov word [ebp - 0x2c6], cx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d4], eax
lea edx, [ebp - 0x2dc]
push edx
mov eax, dword [ebp - 0x2e0]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x2e0]
mov eax, dword [edx + 0x108]
call eax
jmp case.default.0x4515de
mov ecx, dword [ebp - 0x478]
mov edx, dword [ecx]
push edx
call dword [sym.imp.USER32.dll_SetFocus]
mov eax, dword [ebp + 0x10]
and eax, 0xffff
movsx ecx, ax
mov dword [ebp - 0x2e8], ecx
mov edx, dword [ebp + 0x10]
shr edx, 0x10
and edx, 0xffff
movsx eax, dx
mov dword [ebp - 0x2e4], eax
mov ecx, dword [ebp - 0x478]
mov edx, dword [ebp - 0x2e8]
mov dword [ecx + 0x124], edx
mov eax, dword [ebp - 0x2e4]
mov dword [ecx + 0x128], eax
mov ecx, dword [ebp - 0x2e4]
push ecx
mov edx, dword [ebp - 0x2e8]
push edx
mov ecx, dword [ebp - 0x478]
call sym.Setup.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_struct_tagPOINT_const
mov dword [ebp - 0x30c], eax
cmp dword [ebp - 0x30c], 0
jne 0x452df2
jmp case.default.0x4515de
mov eax, dword [ebp - 0x30c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x30c]
mov eax, dword [edx + 0x1c]
call eax
cmp eax, dword [ebp - 0x478]
je 0x452e12
jmp case.default.0x4515de
mov ecx, dword [ebp - 0x478]
call sym.Setup.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::SetCapture_void_
mov dword [ebp - 0x308], 0
xor ecx, ecx
mov dword [ebp - 0x304], ecx
mov dword [ebp - 0x300], ecx
mov dword [ebp - 0x2fc], ecx
mov dword [ebp - 0x2f8], ecx
mov dword [ebp - 0x2f4], ecx
mov dword [ebp - 0x2f0], ecx
mov dword [ebp - 0x2ec], ecx
mov dword [ebp - 0x308], 0x10
mov edx, dword [ebp - 0x30c]
mov dword [ebp - 0x304], edx
mov eax, dword [ebp - 0x2e8]
mov dword [ebp - 0x2fc], eax
mov ecx, dword [ebp - 0x2e4]
mov dword [ebp - 0x2f8], ecx
mov dx, word [ebp + 0xc]
mov word [ebp - 0x2f2], dx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x300], eax
lea eax, [ebp - 0x308]
push eax
mov ecx, dword [ebp - 0x30c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x30c]
mov eax, dword [edx + 0x108]
call eax
mov ecx, dword [ebp - 0x478]
mov edx, dword [ebp - 0x30c]
mov dword [ecx + 0x114], edx
jmp case.default.0x4515de
mov eax, dword [ebp + 0x10]
and eax, 0xffff
movsx ecx, ax
mov dword [ebp - 0x314], ecx
mov edx, dword [ebp + 0x10]
shr edx, 0x10
and edx, 0xffff
movsx eax, dx
mov dword [ebp - 0x310], eax
mov ecx, dword [ebp - 0x478]
mov edx, dword [ebp - 0x314]
mov dword [ecx + 0x124], edx
mov eax, dword [ebp - 0x310]
mov dword [ecx + 0x128], eax
mov ecx, dword [ebp - 0x478]
cmp dword [ecx + 0x114], 0
jne 0x452f24
jmp case.default.0x4515de
mov ecx, dword [ebp - 0x478]
call sym.Setup.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::ReleaseCapture_void_
mov dword [ebp - 0x334], 0
xor edx, edx
mov dword [ebp - 0x330], edx
mov dword [ebp - 0x32c], edx
mov dword [ebp - 0x328], edx
mov dword [ebp - 0x324], edx
mov dword [ebp - 0x320], edx
mov dword [ebp - 0x31c], edx
mov dword [ebp - 0x318], edx
mov dword [ebp - 0x334], 0xe
mov eax, dword [ebp - 0x478]
mov ecx, dword [eax + 0x114]
mov dword [ebp - 0x330], ecx
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x31c], edx
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x318], eax
mov ecx, dword [ebp - 0x314]
mov dword [ebp - 0x328], ecx
mov edx, dword [ebp - 0x310]
mov dword [ebp - 0x324], edx
mov ax, word [ebp + 0xc]
mov word [ebp - 0x31e], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x32c], eax
mov ecx, dword [ebp - 0x478]
mov edx, dword [ecx + 0x114]
mov dword [ebp - 0x338], edx
mov eax, dword [ebp - 0x478]
mov dword [eax + 0x114], 0
lea ecx, [ebp - 0x334]
push ecx
mov edx, dword [ebp - 0x338]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x338]
mov edx, dword [eax + 0x108]
call edx
jmp case.default.0x4515de
mov eax, dword [ebp - 0x478]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.USER32.dll_SetFocus]
mov edx, dword [ebp + 0x10]
and edx, 0xffff
movsx eax, dx
mov dword [ebp - 0x340], eax
mov ecx, dword [ebp + 0x10]
shr ecx, 0x10
and ecx, 0xffff
movsx edx, cx
mov dword [ebp - 0x33c], edx
mov eax, dword [ebp - 0x478]
mov ecx, dword [ebp - 0x340]
mov dword [eax + 0x124], ecx
mov edx, dword [ebp - 0x33c]
mov dword [eax + 0x128], edx
mov eax, dword [ebp - 0x33c]
push eax
mov ecx, dword [ebp - 0x340]
push ecx
mov ecx, dword [ebp - 0x478]
call sym.Setup.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_struct_tagPOINT_const
mov dword [ebp - 0x364], eax
cmp dword [ebp - 0x364], 0
jne 0x453087
jmp case.default.0x4515de
mov edx, dword [ebp - 0x364]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x364]
mov edx, dword [eax + 0x1c]
call edx
cmp eax, dword [ebp - 0x478]
je 0x4530a7
jmp case.default.0x4515de
mov eax, dword [ebp - 0x364]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x364]
mov eax, dword [edx + 0xf0]
call eax
mov ecx, dword [ebp - 0x478]
call sym.Setup.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::SetCapture_void_
mov dword [ebp - 0x360], 0
xor ecx, ecx
mov dword [ebp - 0x35c], ecx
mov dword [ebp - 0x358], ecx
mov dword [ebp - 0x354], ecx
mov dword [ebp - 0x350], ecx
mov dword [ebp - 0x34c], ecx
mov dword [ebp - 0x348], ecx
mov dword [ebp - 0x344], ecx
mov dword [ebp - 0x360], 0xf
mov edx, dword [ebp - 0x364]
mov dword [ebp - 0x35c], edx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x348], eax
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x344], ecx
mov edx, dword [ebp - 0x340]
mov dword [ebp - 0x354], edx
mov eax, dword [ebp - 0x33c]
mov dword [ebp - 0x350], eax
mov cx, word [ebp + 0xc]
mov word [ebp - 0x34a], cx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x358], eax
lea edx, [ebp - 0x360]
push edx
mov eax, dword [ebp - 0x364]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x364]
mov eax, dword [edx + 0x108]
call eax
mov ecx, dword [ebp - 0x478]
mov edx, dword [ebp - 0x364]
mov dword [ecx + 0x114], edx
jmp case.default.0x4515de
mov eax, dword [ebp + 0x10]
and eax, 0xffff
movsx ecx, ax
mov dword [ebp - 0x36c], ecx
mov edx, dword [ebp + 0x10]
shr edx, 0x10
and edx, 0xffff
movsx eax, dx
mov dword [ebp - 0x368], eax
lea ecx, [ebp - 0x36c]
push ecx
mov edx, dword [ebp - 0x478]
mov eax, dword [edx]
push eax
call dword [sym.imp.USER32.dll_ScreenToClient]
mov ecx, dword [ebp - 0x478]
mov edx, dword [ebp - 0x36c]
mov dword [ecx + 0x124], edx
mov eax, dword [ebp - 0x368]
mov dword [ecx + 0x128], eax
mov ecx, dword [ebp - 0x478]
cmp dword [ecx + 0x114], 0
jne 0x4531f7
jmp case.default.0x4515de
mov ecx, dword [ebp - 0x478]
call sym.Setup.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::ReleaseCapture_void_
mov dword [ebp - 0x38c], 0
xor edx, edx
mov dword [ebp - 0x388], edx
mov dword [ebp - 0x384], edx
mov dword [ebp - 0x380], edx
mov dword [ebp - 0x37c], edx
mov dword [ebp - 0x378], edx
mov dword [ebp - 0x374], edx
mov dword [ebp - 0x370], edx
mov dword [ebp - 0x38c], 0x11
mov eax, dword [ebp - 0x478]
mov ecx, dword [eax + 0x114]
mov dword [ebp - 0x388], ecx
mov edx, dword [ebp - 0x36c]
mov dword [ebp - 0x380], edx
mov eax, dword [ebp - 0x368]
mov dword [ebp - 0x37c], eax
mov cx, word [ebp + 0xc]
mov word [ebp - 0x376], cx
mov edx, dword [ebp - 0x478]
mov eax, dword [edx + 0x114]
mov dword [ebp - 0x370], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x384], eax
lea ecx, [ebp - 0x38c]
push ecx
mov edx, dword [ebp - 0x478]
mov eax, dword [edx + 0x114]
mov ecx, dword [ebp - 0x478]
mov ecx, dword [ecx + 0x114]
mov edx, dword [eax]
mov eax, dword [edx + 0x108]
call eax
mov ecx, dword [ebp - 0x478]
mov dword [ecx + 0x114], 0
jmp case.default.0x4515de
mov edx, dword [ebp + 0x10]
and edx, 0xffff
movsx eax, dx
mov dword [ebp - 0x394], eax
mov ecx, dword [ebp + 0x10]
shr ecx, 0x10
and ecx, 0xffff
movsx edx, cx
mov dword [ebp - 0x390], edx
lea eax, [ebp - 0x394]
push eax
mov ecx, dword [ebp - 0x478]
mov edx, dword [ecx]
push edx
call dword [sym.imp.USER32.dll_ScreenToClient]
mov eax, dword [ebp - 0x478]
mov ecx, dword [ebp - 0x394]
mov dword [eax + 0x124], ecx
mov edx, dword [ebp - 0x390]
mov dword [eax + 0x128], edx
mov eax, dword [ebp - 0x390]
push eax
mov ecx, dword [ebp - 0x394]
push ecx
mov ecx, dword [ebp - 0x478]
call sym.Setup.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_struct_tagPOINT_const
mov dword [ebp - 0x3bc], eax
cmp dword [ebp - 0x3bc], 0
jne 0x45335b
jmp case.default.0x4515de
mov edx, dword [ebp - 0x3bc]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x3bc]
mov edx, dword [eax + 0x1c]
call edx
cmp eax, dword [ebp - 0x478]
je 0x45337b
jmp case.default.0x4515de
mov eax, dword [ebp + 0xc]
shr eax, 0x10
and eax, 0xffff
movsx ecx, ax
mov dword [ebp - 0x398], ecx
mov dword [ebp - 0x3b8], 0
xor edx, edx
mov dword [ebp - 0x3b4], edx
mov dword [ebp - 0x3b0], edx
mov dword [ebp - 0x3ac], edx
mov dword [ebp - 0x3a8], edx
mov dword [ebp - 0x3a4], edx
mov dword [ebp - 0x3a0], edx
mov dword [ebp - 0x39c], edx
mov dword [ebp - 0x3b8], 0x12
mov eax, dword [ebp - 0x3bc]
mov dword [ebp - 0x3b4], eax
xor ecx, ecx
cmp dword [ebp - 0x398], 0
setl cl
and ecx, 0xffff
movzx edx, cx
mov dword [ebp - 0x3a0], edx
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x39c], eax
call fcn.00451250
mov word [ebp - 0x3a2], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x3b0], eax
lea ecx, [ebp - 0x3b8]
push ecx
mov edx, dword [ebp - 0x3bc]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x3bc]
mov edx, dword [eax + 0x108]
call edx
mov eax, dword [ebp - 0x478]
mov ecx, dword [eax + 0x124]
and ecx, 0xffff
movzx edx, cx
mov eax, dword [ebp - 0x478]
mov ecx, dword [eax + 0x128]
and ecx, 0xffff
movzx eax, cx
shl eax, 0x10
or edx, eax
push edx
push 0
push 0x200
mov ecx, dword [ebp - 0x478]
mov edx, dword [ecx]
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
jmp case.default.0x4515de
mov eax, dword [ebp - 0x478]
cmp dword [eax + 0x10c], 0
jne 0x453493
jmp case.default.0x4515de
mov dword [ebp - 0x3dc], 0
xor ecx, ecx
mov dword [ebp - 0x3d8], ecx
mov dword [ebp - 0x3d4], ecx
mov dword [ebp - 0x3d0], ecx
mov dword [ebp - 0x3cc], ecx
mov dword [ebp - 0x3c8], ecx
mov dword [ebp - 0x3c4], ecx
mov dword [ebp - 0x3c0], ecx
mov dword [ebp - 0x3dc], 5
mov dx, word [ebp + 0xc]
mov word [ebp - 0x3c8], dx
mov eax, dword [ebp - 0x478]
mov ecx, dword [eax + 0x124]
mov edx, dword [eax + 0x128]
mov dword [ebp - 0x3d0], ecx
mov dword [ebp - 0x3cc], edx
call fcn.00451250
mov word [ebp - 0x3c6], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x3d4], eax
lea eax, [ebp - 0x3dc]
push eax
mov ecx, dword [ebp - 0x478]
mov edx, dword [ecx + 0x10c]
mov eax, dword [ebp - 0x478]
mov ecx, dword [eax + 0x10c]
mov edx, dword [edx]
mov eax, dword [edx + 0x108]
call eax
jmp case.default.0x4515de
mov ecx, dword [ebp - 0x478]
cmp dword [ecx + 0x10c], 0
jne 0x453556
jmp case.default.0x4515de
mov dword [ebp - 0x3fc], 0
xor edx, edx
mov dword [ebp - 0x3f8], edx
mov dword [ebp - 0x3f4], edx
mov dword [ebp - 0x3f0], edx
mov dword [ebp - 0x3ec], edx
mov dword [ebp - 0x3e8], edx
mov dword [ebp - 0x3e4], edx
mov dword [ebp - 0x3e0], edx
mov dword [ebp - 0x3fc], 3
mov ax, word [ebp + 0xc]
mov word [ebp - 0x3e8], ax
mov ecx, dword [ebp - 0x478]
mov edx, dword [ecx + 0x124]
mov eax, dword [ecx + 0x128]
mov dword [ebp - 0x3f0], edx
mov dword [ebp - 0x3ec], eax
call fcn.00451250
mov word [ebp - 0x3e6], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x3f4], eax
lea ecx, [ebp - 0x3fc]
push ecx
mov edx, dword [ebp - 0x478]
mov eax, dword [edx + 0x10c]
mov ecx, dword [ebp - 0x478]
mov ecx, dword [ecx + 0x10c]
mov edx, dword [eax]
mov eax, dword [edx + 0x108]
call eax
mov ecx, dword [ebp - 0x478]
mov edx, dword [ebp - 0x478]
mov eax, dword [edx + 0x10c]
mov dword [ecx + 0x118], eax
jmp case.default.0x4515de
mov ecx, dword [ebp - 0x478]
cmp dword [ecx + 0x118], 0
jne 0x453631
jmp case.default.0x4515de
mov dword [ebp - 0x41c], 0
xor edx, edx
mov dword [ebp - 0x418], edx
mov dword [ebp - 0x414], edx
mov dword [ebp - 0x410], edx
mov dword [ebp - 0x40c], edx
mov dword [ebp - 0x408], edx
mov dword [ebp - 0x404], edx
mov dword [ebp - 0x400], edx
mov dword [ebp - 0x41c], 4
mov ax, word [ebp + 0xc]
mov word [ebp - 0x408], ax
mov ecx, dword [ebp - 0x478]
mov edx, dword [ecx + 0x124]
mov eax, dword [ecx + 0x128]
mov dword [ebp - 0x410], edx
mov dword [ebp - 0x40c], eax
call fcn.00451250
mov word [ebp - 0x406], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x414], eax
lea ecx, [ebp - 0x41c]
push ecx
mov edx, dword [ebp - 0x478]
mov eax, dword [edx + 0x118]
mov ecx, dword [ebp - 0x478]
mov ecx, dword [ecx + 0x118]
mov edx, dword [eax]
mov eax, dword [edx + 0x108]
call eax
mov ecx, dword [ebp - 0x478]
mov dword [ecx + 0x118], 0
jmp case.default.0x4515de
mov edx, dword [ebp + 0x10]
and edx, 0xffff
movzx eax, dx
cmp eax, 1
je 0x453706
jmp case.default.0x4515de
mov ecx, dword [ebp - 0x478]
movzx edx, byte [ecx + 0x176]
test edx, edx
je 0x45371e
mov al, 1
jmp 0x453a5b
mov dword [ebp - 0x424], 0
xor eax, eax
mov dword [ebp - 0x420], eax
lea ecx, [ebp - 0x424]
push ecx
call dword [sym.imp.USER32.dll_GetCursorPos]
lea edx, [ebp - 0x424]
push edx
mov eax, dword [ebp - 0x478]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.USER32.dll_ScreenToClient]
mov edx, dword [ebp - 0x420]
push edx
mov eax, dword [ebp - 0x424]
push eax
mov ecx, dword [ebp - 0x478]
call sym.Setup.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_struct_tagPOINT_const
mov dword [ebp - 0x448], eax
cmp dword [ebp - 0x448], 0
jne 0x453780
jmp case.default.0x4515de
mov ecx, dword [ebp - 0x448]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x448]
mov eax, dword [edx + 0x14]
call eax
and eax, 2
jne 0x45379d
jmp case.default.0x4515de
mov dword [ebp - 0x444], 0
xor ecx, ecx
mov dword [ebp - 0x440], ecx
mov dword [ebp - 0x43c], ecx
mov dword [ebp - 0x438], ecx
mov dword [ebp - 0x434], ecx
mov dword [ebp - 0x430], ecx
mov dword [ebp - 0x42c], ecx
mov dword [ebp - 0x428], ecx
mov dword [ebp - 0x444], 0x17
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x42c], edx
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x428], eax
mov ecx, dword [ebp - 0x424]
mov dword [ebp - 0x438], ecx
mov edx, dword [ebp - 0x420]
mov dword [ebp - 0x434], edx
call fcn.00451250
mov word [ebp - 0x42e], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x43c], eax
lea eax, [ebp - 0x444]
push eax
mov ecx, dword [ebp - 0x448]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x448]
mov eax, dword [edx + 0x108]
call eax
mov al, 1
jmp 0x453a5b
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x44c], ecx
cmp dword [ebp - 0x44c], 0
je 0x45387b
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x2000
push ecx
mov edx, dword [ebp - 0x44c]
mov eax, dword [edx]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
mov al, 1
jmp 0x453a5b
cmp dword [ebp + 0x10], 0
jne 0x45388c
jmp case.default.0x4515de
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x450], edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x2000
push edx
mov eax, dword [ebp - 0x450]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
mov al, 1
jmp 0x453a5b
cmp dword [ebp + 0x10], 0
jne 0x4538ca
jmp case.default.0x4515de
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x454], edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x2000
push edx
mov eax, dword [ebp - 0x454]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
mov al, 1
jmp 0x453a5b
mov dword [ebp - 0x24], 0
push 0
mov ecx, dword [ebp - 0x478]
add ecx, 0x1c4
call sym.Setup.exe_public:_void____thiscall_DuiLib::CStdPtrArray::GetAt_int_const
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x453a59
push 0
mov ecx, dword [ebp - 0x478]
add ecx, 0x1c4
call sym.Setup.exe_public:_bool___thiscall_DuiLib::CStdPtrArray::Remove_int_
mov edx, dword [ebp - 0x24]
cmp dword [edx + 0x108], 0
je 0x453971
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x108]
add ecx, 0x38
call sym.Setup.exe_public:_bool___thiscall_DuiLib::CEventSource::operator_bool_void_
movzx ecx, al
test ecx, ecx
je 0x453971
mov edx, dword [ebp - 0x24]
push edx
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x108]
add ecx, 0x38
call sym.Setup.exe_public:_bool___thiscall_DuiLib::CEventSource::operator___void__
mov dword [ebp - 0x458], 0
jmp 0x45398c
mov ecx, dword [ebp - 0x458]
add ecx, 1
mov dword [ebp - 0x458], ecx
mov ecx, dword [ebp - 0x478]
add ecx, 0x17c
call sym.Setup.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
cmp dword [ebp - 0x458], eax
jge 0x4539db
mov edx, dword [ebp - 0x458]
push edx
mov ecx, dword [ebp - 0x478]
add ecx, 0x17c
call sym.Setup.exe_public:_void____thiscall_DuiLib::CStdPtrArray::operator___int_const
mov dword [ebp - 0x494], eax
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0x494]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x494]
mov eax, dword [edx]
call eax
jmp 0x45397d
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x474], ecx
mov edx, dword [ebp - 0x474]
mov dword [ebp - 0x470], edx
cmp dword [ebp - 0x470], 0
je 0x453a4a
mov dword [ebp - 4], 2
mov ecx, dword [ebp - 0x470]
add ecx, 0x84
call sym.Setup.exe_public:_void___thiscall_DuiLib::CDuiString::destructor_void_
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x470]
call sym.Setup.exe_public:_void___thiscall_DuiLib::CDuiString::destructor_void_
mov eax, 1
and eax, 1
je 0x453a3c
mov ecx, dword [ebp - 0x470]
push ecx
call fcn.0042ec00
add esp, 4
mov edx, dword [ebp - 0x470]
mov dword [ebp - 0x498], edx
jmp 0x453a54
mov dword [ebp - 0x498], 0
jmp 0x453905
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0042e217
mov esp, ebp
pop ebp
ret 0x10