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

Disassembly:
push 0x1ec
mov eax, 0x5b96fe
call fcn.005a73e9
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp + 0xc]
mov ebx, ecx
cmp dword [ebx + 0x84], 0
mov dword [ebp - 0x1b8], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x1c8], eax
je 0x57b880
and dword [ebp - 0x1bc], 0
lea ecx, [ebx + 0x2e4]
call sym.GameDemo_u.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
mov edi, dword [ebp + 8]
test eax, eax
jle 0x579563
push dword [ebp - 0x1bc]
lea ecx, [ebx + 0x2e4]
mov byte [ebp - 0x1d1], 0
call sym.GameDemo_u.exe_public:_void____thiscall_DuiLib::CDuiPtrArray::operator___int_const
mov edx, dword [eax]
lea ecx, [ebp - 0x1d1]
push ecx
push dword [ebp - 0x1b8]
mov ecx, eax
push esi
push edi
call dword [edx]
cmp byte [ebp - 0x1d1], 0
jne 0x5795b0
inc dword [ebp - 0x1bc]
lea ecx, [ebx + 0x2e4]
call sym.GameDemo_u.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
cmp dword [ebp - 0x1bc], eax
jl 0x579514
mov cl, byte [ebx + 0x14d]
test cl, cl
je 0x579640
mov eax, edi
sub eax, 0x83
je 0x579635
dec eax
dec eax
je 0x579635
dec eax
jne 0x579640
push dword [ebx + 0x84]
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x57a620
test esi, esi
sete al
mov ecx, dword [ebp - 0x1c8]
mov dword [ecx], eax
jmp 0x579619
mov ecx, dword [ebp - 0x1c8]
mov dword [ecx], eax
cmp edi, 0x7b
je 0x5795d5
cmp edi, 0x1ff
jbe 0x579619
cmp edi, 0x203
jbe 0x579620
cmp edi, 0x20a
jne 0x579619
mov eax, dword [ebp - 0x1b8]
movsx ecx, ax
shr eax, 0x10
cwde
mov dword [ebp - 0x1c0], eax
lea eax, [ebp - 0x1c4]
push eax
push dword [ebx + 0x84]
mov dword [ebp - 0x1c4], ecx
call dword [sym.imp.USER32.dll_ScreenToClient]
mov eax, dword [ebp - 0x1c4]
mov dword [ebx + 0xfc], eax
mov eax, dword [ebp - 0x1c0]
mov dword [ebx + 0x100], eax
mov al, 1
jmp 0x57b882
mov eax, dword [ebp - 0x1b8]
movsx ecx, ax
shr eax, 0x10
cwde
mov dword [ebx + 0xfc], ecx
jmp 0x579613
mov eax, dword [ebp - 0x1c8]
and dword [eax], 0
jmp 0x579619
mov eax, 0x111
cmp edi, eax
ja 0x57a98c
je 0x57a96b
cmp edi, 0x21
ja 0x57a620
je 0x57a602
sub edi, 5
je 0x57a569
sub edi, 3
je 0x57a4c8
sub edi, 7
je 0x5798a8
dec edi
je 0x57979e
sub edi, 4
je 0x57978d
sub edi, 0xc
jne 0x57b880
cmp dword [ebx + 0xe4], edi
je 0x57b880
cmp word [ebp - 0x1b8], 1
jne 0x57b880
cmp byte [ebx + 0x2b9], 0
jne 0x579619
and dword [ebp - 0x1e0], edi
xor eax, eax
lea edi, [ebp - 0x1dc]
stosd dword es:[edi], eax
lea eax, [ebp - 0x1e0]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
lea eax, [ebp - 0x1e0]
push eax
push dword [ebx + 0x84]
call dword [sym.imp.USER32.dll_ScreenToClient]
push dword [ebp - 0x1dc]
mov ecx, ebx
push dword [ebp - 0x1e0]
call sym.GameDemo_u.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_struct_tagPOINT_const
mov ebx, eax
test ebx, ebx
je 0x57b880
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x18]
test al, 2
je 0x57b880
xor eax, eax
push 7
pop ecx
lea edi, [ebp - 0x150]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x1b8]
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0x1dc]
mov dword [ebp - 0x154], 0x17
mov dword [ebp - 0x150], ebx
mov dword [ebp - 0x13c], esi
mov dword [ebp - 0x144], eax
call fcn.00574916
mov word [ebp - 0x13e], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea ecx, [ebp - 0x154]
mov dword [ebp - 0x14c], eax
mov eax, dword [ebx]
push ecx
mov ecx, ebx
call dword [eax + 0x11c]
jmp 0x579619
mov eax, dword [ebp - 0x1c8]
mov dword [eax], 1
jmp 0x579619
xor eax, eax
push 7
xor esi, esi
pop ecx
mov dword [ebp - 0xf4], esi
lea edi, [ebp - 0xf0]
rep stosd dword es:[edi], eax
mov eax, dword [ebx + 0xfc]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebx + 0x100]
mov dword [ebp - 0xe4], eax
call fcn.00574916
mov word [ebp - 0xde], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0xec]
mov dword [ebp - 0xec], eax
cmp ecx, esi
je 0x57980c
lea edx, [ebp - 0xf4]
mov dword [ebp - 0xf4], 0xa
mov dword [ebp - 0xf0], ecx
mov eax, dword [ecx]
push edx
call dword [eax + 0x11c]
mov ecx, dword [ebx + 0xf0]
cmp ecx, esi
je 0x579835
lea edx, [ebp - 0xf4]
mov dword [ebp - 0xf4], 0xe
mov dword [ebp - 0xf0], ecx
mov eax, dword [ecx]
push edx
call dword [eax + 0x11c]
push 1
push esi
mov ecx, ebx
call sym.GameDemo_u.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::SetFocus_class_DuiLib::CControlUI___bool_
mov edi, dword [ebx + 0x84]
call dword [sym.imp.USER32.dll_GetActiveWindow]
cmp eax, edi
jne 0x579888
push 4
push edi
call dword [sym.imp.USER32.dll_GetWindow]
push 0xfffffffffffffff0
push dword [ebx + 0x84]
mov edi, eax
call dword [sym.imp.USER32.dll_GetWindowLongW]
test eax, 0x40000000
je 0x57987d
push dword [ebx + 0x84]
call dword [sym.imp.USER32.dll_GetParent]
mov edi, eax
cmp edi, esi
je 0x579888
push edi
call dword [sym.imp.USER32.dll_SetFocus]
mov eax, dword [ebx + 0xac]
cmp eax, esi
je 0x57b880
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
mov dword [ebx + 0xac], esi
jmp 0x57b880
cmp dword [ebx + 0xe4], 0
jne 0x579910
and dword [ebp - 0x114], 0
push 0x3c
lea eax, [ebp - 0x110]
push 0
push eax
call fcn.005a7500
add esp, 0xc
lea eax, [ebp - 0x114]
push eax
push dword [ebx + 0x84]
call dword [sym.imp.USER32.dll_BeginPaint]
push 0xff000000
lea eax, [ebp - 0x10c]
push eax
push dword [ebx + 0x88]
call sym.GameDemo_u.exe_public:_static_void___cdecl_DuiLib::CRenderEngine::DrawColor_struct_HDC_____struct_tagRECT_const___unsigned_long_int_
add esp, 0xc
lea eax, [ebp - 0x114]
push eax
push dword [ebx + 0x84]
call dword [sym.imp.USER32.dll_EndPaint]
jmp 0x579619
xor eax, eax
xor esi, esi
mov dword [ebp - 0x124], esi
lea edi, [ebp - 0x120]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x124]
push eax
push dword [ebx + 0x84]
call dword [sym.imp.USER32.dll_GetClientRect]
xor eax, eax
cmp byte [ebx + 0x14d], 0
mov dword [ebp - 0x30], esi
lea edi, [ebp - 0x2c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
je 0x5799d8
lea eax, [ebx + 0x164]
mov esi, eax
lea edi, [ebp - 0x30]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
mov byte [ebx + 0x14b], 1
movsd dword es:[edi], dword [esi]
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
je 0x5799a7
and dword [ebp - 0x174], 0
push 0x3c
lea eax, [ebp - 0x170]
push 0
push eax
call fcn.005a7500
add esp, 0xc
lea eax, [ebp - 0x174]
push eax
push dword [ebx + 0x84]
call dword [sym.imp.USER32.dll_BeginPaint]
lea eax, [ebp - 0x174]
jmp 0x5798fe
mov eax, dword [ebp - 0x11c]
cmp dword [ebp - 0x28], eax
jle 0x5799b5
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x118]
cmp dword [ebp - 0x24], eax
jle 0x5799c3
mov dword [ebp - 0x24], eax
push 0x10
lea eax, [ebx + 0x164]
push 0
push eax
call fcn.005a7500
add esp, 0xc
jmp 0x5799f1
push esi
lea eax, [ebp - 0x30]
push eax
push dword [ebx + 0x84]
call dword [sym.imp.USER32.dll_GetUpdateRect]
test eax, eax
je 0x579619
cmp byte [ebx + 0x14a], 0
je 0x579a03
push 1
mov ecx, ebx
call sym.GameDemo_u.exe_public:_bool___thiscall_DuiLib::CPaintManagerUI::SetNextTabControl_bool_
push 1
mov ecx, ebx
call sym.GameDemo_u.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::SetPainting_bool_
cmp byte [ebx + 0x149], 0
je 0x579c04
lea eax, [ebp - 0x124]
push eax
mov byte [ebx + 0x149], 0
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
jne 0x579c98
mov ecx, dword [ebx + 0xe4]
call sym.GameDemo_u.exe_public:_bool___thiscall_DuiLib::CControlUI::IsUpdateNeeded_void_const
test al, al
je 0x579afd
mov eax, dword [ebx + 0x8c]
lea esi, [ebp - 0x124]
lea edi, [ebp - 0x20]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
test eax, eax
je 0x579a66
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
mov eax, dword [ebx + 0x90]
test eax, eax
je 0x579a77
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
mov eax, dword [ebx + 0x94]
test eax, eax
je 0x579a88
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [ebx + 0x9c]
test eax, eax
je 0x579a99
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
xor eax, eax
mov dword [ebx + 0x8c], eax
mov dword [ebx + 0x90], eax
mov dword [ebx + 0x94], eax
mov dword [ebx + 0x9c], eax
cmp byte [ebx + 0x14d], al
je 0x579adf
mov eax, dword [ebx + 0x150]
add dword [ebp - 0x20], eax
mov eax, dword [ebx + 0x154]
add dword [ebp - 0x1c], eax
mov eax, dword [ebx + 0x158]
sub dword [ebp - 0x18], eax
mov eax, dword [ebx + 0x15c]
sub dword [ebp - 0x14], eax
mov ecx, dword [ebx + 0xe4]
mov eax, dword [ecx]
push 1
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x20]
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 + 0x4c]
jmp 0x579ba8
lea esi, [ebx + 0x32c]
mov ecx, esi
call sym.GameDemo_u.exe_public:_void___thiscall_DuiLib::CDuiPtrArray::Empty_void_
mov ecx, dword [ebx + 0xe4]
mov eax, dword [ecx]
push reloc.OLEAUT32.dll_VariantCopy
push 0
push sym.GameDemo_u.exe_private:_static_class_DuiLib::CControlUI____stdcall_DuiLib::CPaintManagerUI::__FindControlsFromUpdate_class_DuiLib::CControlUI___void__
call dword [eax + 0x110]
and dword [ebp - 0x1c8], 0
mov ecx, esi
call sym.GameDemo_u.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
test eax, eax
jle 0x579ba8
push dword [ebp - 0x1c8]
mov ecx, esi
call sym.GameDemo_u.exe_public:_void____thiscall_DuiLib::CDuiPtrArray::operator___int_const
mov edx, dword [eax]
mov ecx, eax
mov dword [ebp - 0x1bc], eax
call dword [edx + 0x108]
mov ecx, dword [ebp - 0x1bc]
test al, al
mov eax, dword [ecx]
mov dword [ebp - 0x1b8], eax
jne 0x579b6a
call dword [eax + 0x40]
jmp 0x579b71
lea edx, [ebp - 0x50]
push edx
call dword [eax + 0x44]
mov ecx, dword [ebp - 0x1bc]
push 1
sub esp, 0x10
mov esi, eax
mov eax, dword [ebp - 0x1b8]
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 + 0x4c]
inc dword [ebp - 0x1c8]
lea esi, [ebx + 0x32c]
mov ecx, esi
call sym.GameDemo_u.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
cmp dword [ebp - 0x1c8], eax
jl 0x579b36
cmp byte [ebx + 0x148], 0
je 0x579c98
push 1
xor eax, eax
push eax
push eax
push eax
push str.windowinit
push dword [ebx + 0xe4]
mov ecx, ebx
mov byte [ebx + 0x148], 0
call sym.GameDemo_u.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::SendNotify_class_DuiLib::CControlUI___wchar_t_const___unsigned_int__long_int__bool__bool_
cmp byte [ebx + 0x14d], 0
je 0x579c98
cmp byte [ebx + 0x160], 0
je 0x579c98
mov ecx, ebx
call sym.GameDemo_u.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::Invalidate_void_
push 0
mov ecx, ebx
call sym.GameDemo_u.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::SetPainting_bool_
jmp 0x579619
cmp byte [ebx + 0x14d], 0
je 0x579c98
cmp byte [ebx + 0x160], 0
je 0x579c98
mov eax, dword [ebx + 0x98]
lea esi, [ebp - 0x124]
lea edi, [ebp - 0x20]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
test eax, eax
je 0x579c5b
mov ecx, dword [ebp - 0x118]
mov edx, dword [ebp - 0x11c]
sub ecx, dword [ebp - 0x120]
sub edx, dword [ebp - 0x124]
imul ecx, edx
shl ecx, 2
push ecx
push 0
push eax
call fcn.005a7500
add esp, 0xc
mov eax, dword [ebx + 0x150]
add dword [ebp - 0x20], eax
mov eax, dword [ebx + 0x154]
add dword [ebp - 0x1c], eax
mov eax, dword [ebx + 0x158]
sub dword [ebp - 0x18], eax
mov eax, dword [ebx + 0x15c]
sub dword [ebp - 0x14], eax
mov ecx, dword [ebx + 0xe4]
mov eax, dword [ecx]
push 1
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x20]
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 + 0x4c]
cmp byte [ebx + 0x14b], 0
je 0x579d26
cmp dword [ebx + 0x94], 0
jne 0x579d26
push dword [ebx + 0x88]
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
cmp byte [ebx + 0x14d], 0
mov dword [ebx + 0x8c], eax
je 0x579cfa
lea eax, [ebx + 0x98]
push eax
mov eax, dword [ebp - 0x118]
sub eax, dword [ebp - 0x120]
push eax
mov eax, dword [ebp - 0x11c]
sub eax, dword [ebp - 0x124]
push eax
push dword [ebx + 0x88]
call sym.GameDemo_u.exe_public:_static_struct_HBITMAP______cdecl_DuiLib::CRenderEngine::CreateARGB32Bitmap_struct_HDC_____int__int__unsigned_long_int___
add esp, 0x10
jmp 0x579d20
mov eax, dword [ebp - 0x118]
sub eax, dword [ebp - 0x120]
push eax
mov eax, dword [ebp - 0x11c]
sub eax, dword [ebp - 0x124]
push eax
push dword [ebx + 0x88]
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov dword [ebx + 0x94], eax
xor edi, edi
push 0x3c
lea eax, [ebp - 0x1b0]
push edi
push eax
mov dword [ebp - 0x1b4], edi
call fcn.005a7500
add esp, 0xc
lea eax, [ebp - 0x1b4]
push eax
push dword [ebx + 0x84]
call dword [sym.imp.USER32.dll_BeginPaint]
cmp byte [ebx + 0x14b], 0
je 0x57a458
push dword [ebx + 0x94]
mov esi, dword [sym.imp.GDI32.dll_SelectObject]
push dword [ebx + 0x8c]
call esi
push dword [ebx + 0x8c]
mov dword [ebp - 0x1c0], eax
call dword [sym.imp.GDI32.dll_SaveDC]
cmp byte [ebx + 0x14d], 0
mov dword [ebp - 0x1dc], eax
je 0x579dde
cmp dword [ebx + 0x280], edi
jne 0x579dde
mov ecx, dword [ebp - 0x118]
sub ecx, dword [ebp - 0x24]
jmp 0x579dd1
mov edx, dword [ebp - 0x30]
jmp 0x579dcb
mov eax, dword [ebp - 0x11c]
sub eax, dword [ebp - 0x124]
mov edi, dword [ebx + 0x98]
imul eax, ecx
add eax, edx
lea eax, [edi + eax*4]
and dword [eax], 0
inc edx
cmp edx, dword [ebp - 0x28]
jl 0x579dad
inc ecx
mov eax, dword [ebp - 0x118]
sub eax, dword [ebp - 0x2c]
cmp ecx, eax
jl 0x579da8
mov ecx, dword [ebx + 0xe4]
mov eax, dword [ecx]
push 0
lea edx, [ebp - 0x30]
push edx
push dword [ebx + 0x8c]
call dword [eax + 0x138]
cmp byte [ebx + 0x14d], 0
je 0x57a033
and dword [ebp - 0x1c8], 0
lea edi, [ebx + 0x2fc]
mov ecx, edi
call sym.GameDemo_u.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
test eax, eax
jle 0x57a033
push dword [ebp - 0x1c8]
mov ecx, edi
call sym.GameDemo_u.exe_public:_void____thiscall_DuiLib::CDuiPtrArray::operator___int_const
push eax
mov dword [ebp - 0x1bc], eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x579e66
push 1
push dword [ebp - 0x1c8]
mov ecx, edi
call sym.GameDemo_u.exe_public:_bool___thiscall_DuiLib::CDuiPtrArray::Remove_int__int_
push 1
push dword [ebp - 0x1c8]
lea ecx, [ebx + 0x308]
call sym.GameDemo_u.exe_public:_bool___thiscall_DuiLib::CDuiPtrArray::Remove_int__int_
jmp 0x57a01a
push dword [ebp - 0x1bc]
inc dword [ebp - 0x1c8]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x57a01a
push dword [ebp - 0x1bc]
lea eax, [ebp - 0x134]
push eax
mov ecx, ebx
call sym.GameDemo_u.exe_public:_struct_tagRECT___thiscall_DuiLib::CPaintManagerUI::GetNativeWindowRect_struct_HWND____
and dword [ebp - 0x40], 0
xor eax, eax
lea edi, [ebp - 0x3c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x134]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x40]
push eax
call dword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x57a01a
push dword [ebx + 0x8c]
and dword [ebp - 0x1b8], 0
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov edi, eax
lea eax, [ebp - 0x1b8]
push eax
mov eax, dword [ebp - 0x128]
sub eax, dword [ebp - 0x130]
push eax
mov eax, dword [ebp - 0x12c]
sub eax, dword [ebp - 0x134]
push eax
push edi
call sym.GameDemo_u.exe_public:_static_struct_HBITMAP______cdecl_DuiLib::CRenderEngine::CreateARGB32Bitmap_struct_HDC_____int__int__unsigned_long_int___
mov ecx, dword [ebp - 0x128]
sub ecx, dword [ebp - 0x130]
mov dword [ebp - 0x1d8], eax
mov eax, dword [ebp - 0x12c]
sub eax, dword [ebp - 0x134]
imul eax, ecx
shl eax, 2
push eax
push 0
push dword [ebp - 0x1b8]
call fcn.005a7500
add esp, 0x1c
push dword [ebp - 0x1d8]
push edi
call esi
push 0x35
push edi
push 0x317
push dword [ebp - 0x1bc]
mov dword [ebp - 0x1cc], eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x128]
and dword [ebp - 0x1bc], 0
mov ecx, eax
sub ecx, dword [ebp - 0x130]
test ecx, ecx
jle 0x579fc8
mov ecx, dword [ebp - 0x12c]
sub ecx, dword [ebp - 0x134]
xor edx, edx
test ecx, ecx
jle 0x579fb2
imul ecx, dword [ebp - 0x1bc]
mov eax, dword [ebp - 0x1b8]
add ecx, edx
lea ecx, [eax + ecx*4]
mov eax, dword [ecx]
test eax, eax
je 0x579f9b
or eax, 0xff000000
mov dword [ecx], eax
mov ecx, dword [ebp - 0x12c]
sub ecx, dword [ebp - 0x134]
inc edx
cmp edx, ecx
jl 0x579f7c
mov eax, dword [ebp - 0x128]
inc dword [ebp - 0x1bc]
mov ecx, eax
sub ecx, dword [ebp - 0x130]
cmp dword [ebp - 0x1bc], ecx
jl 0x579f6a
mov ecx, dword [ebp - 0x12c]
sub eax, dword [ebp - 0x130]
sub ecx, dword [ebp - 0x134]
push 0xcc0020
push 0
push 0
push edi
push eax
push ecx
push dword [ebp - 0x130]
push dword [ebp - 0x134]
push dword [ebx + 0x8c]
call dword [sym.imp.GDI32.dll_BitBlt]
push dword [ebp - 0x1cc]
push edi
call esi
push dword [ebp - 0x1d8]
call dword [sym.imp.GDI32.dll_DeleteObject]
push edi
call dword [sym.imp.GDI32.dll_DeleteDC]
lea edi, [ebx + 0x2fc]
mov ecx, edi
call sym.GameDemo_u.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
cmp dword [ebp - 0x1c8], eax
jl 0x579e21
lea ecx, [ebx + 0x2f0]
xor edi, edi
call sym.GameDemo_u.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
test eax, eax
jle 0x57a074
push edi
lea ecx, [ebx + 0x2f0]
call sym.GameDemo_u.exe_public:_void____thiscall_DuiLib::CDuiPtrArray::operator___int_const
mov edx, dword [eax]
lea ecx, [ebp - 0x30]
push ecx
push dword [ebx + 0x8c]
mov ecx, eax
call dword [edx + 0x154]
lea ecx, [ebx + 0x2f0]
inc edi
call sym.GameDemo_u.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
cmp edi, eax
jl 0x57a044
push dword [ebp - 0x1dc]
push dword [ebx + 0x8c]
call dword [sym.imp.GDI32.dll_RestoreDC]
cmp byte [ebx + 0x14d], 0
je 0x57a3b9
and dword [ebp - 0x40], 0
xor eax, eax
lea edi, [ebp - 0x3c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x40]
push eax
push dword [ebx + 0x84]
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebp - 0x11c]
sub eax, dword [ebp - 0x124]
lea esi, [ebp - 0x124]
mov dword [ebp - 0x1c8], eax
mov eax, dword [ebp - 0x118]
sub eax, dword [ebp - 0x120]
lea edi, [ebp - 0x20]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x1bc], eax
mov eax, dword [ebx + 0x150]
add eax, dword [ebp - 0x124]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x20], eax
mov eax, dword [ebx + 0x154]
add dword [ebp - 0x1c], eax
mov eax, dword [ebx + 0x158]
sub dword [ebp - 0x18], eax
mov eax, dword [ebx + 0x15c]
sub dword [ebp - 0x14], eax
cmp dword [ebx + 0x280], 0
je 0x57a32c
cmp dword [ebx + 0x9c], 0
jne 0x57a18b
push dword [ebx + 0x88]
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
lea edi, [ebx + 0xa0]
push edi
push dword [ebp - 0x1bc]
mov dword [ebx + 0x90], eax
push dword [ebp - 0x1c8]
push dword [ebx + 0x88]
call sym.GameDemo_u.exe_public:_static_struct_HBITMAP______cdecl_DuiLib::CRenderEngine::CreateARGB32Bitmap_struct_HDC_____int__int__unsigned_long_int___
mov dword [ebx + 0x9c], eax
mov eax, dword [ebp - 0x1bc]
imul eax, dword [ebp - 0x1c8]
shl eax, 2
push eax
push 0
push dword [edi]
call fcn.005a7500
add esp, 0x1c
push dword [ebx + 0x9c]
push dword [ebx + 0x90]
call dword [sym.imp.GDI32.dll_SelectObject]
and dword [ebp - 4], 0
jmp 0x57a1bc
cmp byte [ebx + 0x160], 0
je 0x57a204
mov eax, dword [ebp - 0x1bc]
imul eax, dword [ebp - 0x1c8]
shl eax, 2
push eax
push 0
push dword [ebx + 0xa0]
call fcn.005a7500
add esp, 0xc
mov dword [ebp - 4], 1
lea eax, [ebp - 0xf0]
push eax
sub esp, 0x10
mov edi, esp
push dword [ebx + 0x90]
lea esi, [ebp - 0x20]
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 sym.GameDemo_u.exe_public:_static_void___cdecl_DuiLib::CRenderClip::GenerateClip_struct_HDC_____struct_tagRECT__class_DuiLib::CRenderClip__
lea eax, [ebx + 0x174]
push eax
lea eax, [ebp - 0x20]
push eax
push eax
push ebx
push dword [ebx + 0x90]
call sym.GameDemo_u.exe_public:_static_bool___cdecl_DuiLib::CRenderEngine::DrawImage_struct_HDC_____class_DuiLib::CPaintManagerUI___struct_tagRECT_const___struct_tagRECT_const___struct_DuiLib::tagTDrawInfo__
or dword [ebp - 4], 0xffffffff
add esp, 0x2c
lea ecx, [ebp - 0xf0]
call sym.GameDemo_u.exe_public:_void___thiscall_DuiLib::CRenderClip::destructor_void_
mov eax, dword [ebx + 0x280]
cmp byte [eax + 0x14], 0
je 0x57a32c
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x118]
sub eax, dword [ebp - 0x24]
sub ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x1dc], eax
cmp eax, ecx
jge 0x57a32c
mov edx, dword [ebp - 0x30]
mov ecx, eax
imul ecx, dword [ebp - 0x1c8]
mov dword [ebp - 0x1cc], ecx
mov dword [ebp - 0x1d8], edx
cmp edx, dword [ebp - 0x28]
jge 0x57a308
lea esi, [ecx + edx]
shl esi, 2
mov dword [ebp - 0x1e8], esi
mov ecx, dword [ebx + 0x98]
mov eax, dword [ebx + 0xa0]
mov al, byte [esi + eax + 3]
movzx edi, al
add ecx, esi
mov esi, dword [ecx]
mov eax, esi
shr eax, 0x10
movzx eax, al
imul eax, edi
cdq
mov dword [ebp - 0x1e4], edi
mov edi, 0xff
idiv edi
movzx edi, al
mov eax, esi
shr eax, 8
movzx eax, al
imul eax, dword [ebp - 0x1e4]
cdq
mov esi, 0xff
idiv esi
shl edi, 8
movzx eax, al
or edi, eax
movzx eax, byte [ecx]
imul eax, dword [ebp - 0x1e4]
cdq
idiv esi
mov esi, dword [ebp - 0x1e8]
shl edi, 8
add esi, 4
mov dword [ebp - 0x1e8], esi
movzx eax, al
or edi, eax
mov eax, dword [ebp - 0x1e4]
shl eax, 0x18
add edi, eax
inc dword [ebp - 0x1d8]
mov eax, dword [ebp - 0x1d8]
mov dword [ecx], edi
cmp eax, dword [ebp - 0x28]
jl 0x57a261
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1cc]
mov esi, dword [ebp - 0x118]
add ecx, dword [ebp - 0x1c8]
sub esi, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x1dc], eax
mov dword [ebp - 0x1cc], ecx
cmp eax, esi
jl 0x57a246
mov al, byte [ebx + 0x14c]
mov byte [ebp - 0x1b6], al
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0x1c8]
push 2
mov dword [ebp - 0x1f8], eax
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x1f4], eax
xor eax, eax
lea ecx, [ebp - 0x1b8]
push ecx
push eax
mov dword [ebp - 0x1f0], eax
mov dword [ebp - 0x1ec], eax
lea eax, [ebp - 0x1f0]
push eax
push dword [ebx + 0x8c]
lea eax, [ebp - 0x1f8]
push eax
lea eax, [ebp - 0x12c]
push eax
push dword [ebx + 0x88]
mov word [ebp - 0x1b8], 0
push dword [ebx + 0x84]
mov byte [ebp - 0x1b5], 1
call dword [0x5ef1c8]
jmp 0x57a3ea
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x2c]
push 0xcc0020
push dword [ebp - 0x2c]
push dword [ebp - 0x30]
push dword [ebx + 0x8c]
push eax
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x30]
push eax
push dword [ebp - 0x2c]
push dword [ebp - 0x30]
push dword [ebx + 0x88]
call dword [sym.imp.GDI32.dll_BitBlt]
push dword [ebp - 0x1c0]
mov esi, dword [sym.imp.GDI32.dll_SelectObject]
push dword [ebx + 0x8c]
call esi
cmp byte [ebx + 0xe1], 0
je 0x57a48c
cmp byte [ebx + 0x14d], 0
jne 0x57a48c
push dword [0x5ef1cc]
push dword [ebx + 0x88]
call esi
push 5
mov edi, eax
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
push dword [ebx + 0x88]
call esi
push dword [ebp - 0x24]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x30]
push dword [ebx + 0x88]
call dword [sym.imp.GDI32.dll_Rectangle]
push edi
push dword [ebx + 0x88]
call esi
jmp 0x57a48c
push dword [ebx + 0x88]
call dword [sym.imp.GDI32.dll_SaveDC]
mov ecx, dword [ebx + 0xe4]
push edi
lea edx, [ebp - 0x30]
push edx
push dword [ebx + 0x88]
mov esi, eax
mov eax, dword [ecx]
call dword [eax + 0x138]
push esi
push dword [ebx + 0x88]
call dword [sym.imp.GDI32.dll_RestoreDC]
lea eax, [ebp - 0x1b4]
push eax
push dword [ebx + 0x84]
call dword [sym.imp.USER32.dll_EndPaint]
push 0
mov ecx, ebx
call sym.GameDemo_u.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::SetPainting_bool_
cmp byte [ebx + 0x149], 0
mov byte [ebx + 0x160], 0
je 0x579619
mov ecx, ebx
call sym.GameDemo_u.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::Invalidate_void_
jmp 0x579619
test esi, esi
je 0x57b880
call dword [sym.imp.USER32.dll_GetFocus]
mov esi, dword [sym.imp.USER32.dll_GetParent]
jmp 0x57a4e6
cmp dword [ebx + 0x84], eax
je 0x57a4f8
push eax
mov dword [ebp - 0x1cc], eax
call esi
test eax, eax
jne 0x57a4de
jmp 0x57b880
lea ecx, [ebx + 0x2fc]
xor edi, edi
call sym.GameDemo_u.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
test eax, eax
jle 0x57b880
push edi
lea ecx, [ebx + 0x2fc]
call sym.GameDemo_u.exe_public:_void____thiscall_DuiLib::CDuiPtrArray::operator___int_const
cmp eax, dword [ebp - 0x1cc]
je 0x57a536
lea ecx, [ebx + 0x2fc]
inc edi
call sym.GameDemo_u.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
cmp edi, eax
jl 0x57a50d
jmp 0x57b880
push edi
lea ecx, [ebx + 0x308]
call sym.GameDemo_u.exe_public:_void____thiscall_DuiLib::CDuiPtrArray::operator___int_const
cmp eax, dword [ebx + 0xe8]
je 0x57b880
push 0
push edi
lea ecx, [ebx + 0x308]
call sym.GameDemo_u.exe_public:_void____thiscall_DuiLib::CDuiPtrArray::operator___int_const
push eax
mov ecx, ebx
call sym.GameDemo_u.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::SetFocus_class_DuiLib::CControlUI___bool_
jmp 0x57b880
mov edx, dword [ebx + 0xe8]
test edx, edx
je 0x57a5e7
push 7
xor eax, eax
pop ecx
lea edi, [ebp - 0xf0]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x1b8]
mov dword [ebp - 0xf4], 0x16
mov dword [ebp - 0xf0], edx
mov dword [ebp - 0xdc], esi
mov dword [ebp - 0xd8], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xec], eax
mov eax, dword [ebx + 0xfc]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebx + 0x100]
mov dword [ebp - 0xe4], eax
call fcn.00574916
mov ecx, dword [ebx + 0xe8]
lea edx, [ebp - 0xf4]
mov word [ebp - 0xde], ax
mov eax, dword [ecx]
push edx
call dword [eax + 0x11c]
mov ecx, dword [ebx + 0xe4]
test ecx, ecx
je 0x57a5f6
call sym.GameDemo_u.exe_public:_void___thiscall_DuiLib::CControlUI::NeedUpdate_void_
cmp byte [ebx + 0x14d], 0
jmp 0x57a4b6
cmp byte [ebx + 0xe0], 0
je 0x57b880
mov eax, dword [ebp - 0x1c8]
mov dword [eax], 3
jmp 0x579619
sub edi, 0x24
je 0x57a928
sub edi, 0x2a
je 0x57a906
sub edi, 0x2d
je 0x57a829
sub edi, 0x85
je 0x57a782
dec edi
je 0x57a6e0
dec edi
jne 0x57b880
cmp dword [ebx + 0xe4], edi
je 0x57b880
mov edx, dword [ebx + 0xe8]
test edx, edx
je 0x57b880
xor eax, eax
push 7
pop ecx
lea edi, [ebp - 0xf0]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x1b8]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebx + 0xfc]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebx + 0x100]
mov dword [ebp - 0xf4], 5
mov dword [ebp - 0xf0], edx
mov dword [ebp - 0xdc], esi
mov word [ebp - 0xe0], si
mov dword [ebp - 0xe4], eax
call fcn.00574916
mov word [ebp - 0xde], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0xe8]
mov dword [ebp - 0xec], eax
jmp 0x57afa3
cmp dword [ebx + 0xe4], 0
je 0x57b880
mov edx, dword [ebx + 0xf4]
test edx, edx
je 0x57b880
xor eax, eax
push 7
pop ecx
lea edi, [ebp - 0xf0]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x1b8]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebx + 0xfc]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebx + 0x100]
mov dword [ebp - 0xf4], 4
mov dword [ebp - 0xf0], edx
mov dword [ebp - 0xdc], esi
mov word [ebp - 0xe0], si
mov dword [ebp - 0xe4], eax
call fcn.00574916
mov word [ebp - 0xde], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0xf4]
lea edx, [ebp - 0xf4]
mov dword [ebp - 0xec], eax
mov eax, dword [ecx]
push edx
call dword [eax + 0x11c]
and dword [ebx + 0xf4], 0
jmp 0x57b880
cmp dword [ebx + 0xe4], 0
je 0x57b880
mov edx, dword [ebx + 0xe8]
test edx, edx
je 0x57b880
xor eax, eax
push 7
pop ecx
lea edi, [ebp - 0xf0]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x1b8]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebx + 0xfc]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebx + 0x100]
mov dword [ebp - 0xf4], 3
mov dword [ebp - 0xf0], edx
mov dword [ebp - 0xdc], esi
mov word [ebp - 0xe0], si
mov dword [ebp - 0xe4], eax
call fcn.00574916
mov word [ebp - 0xde], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0xe8]
lea edx, [ebp - 0xf4]
mov dword [ebp - 0xec], eax
mov eax, dword [ecx]
push edx
call dword [eax + 0x11c]
mov eax, dword [ebx + 0xe8]
mov dword [ebx + 0xf4], eax
jmp 0x57b880
cmp dword [ebx + 0xe4], 0
je 0x57b880
mov ecx, ebx
call sym.GameDemo_u.exe_public:_bool___thiscall_DuiLib::CPaintManagerUI::IsCaptured_void_
test al, al
jne 0x57b880
mov eax, dword [ebp - 0x1b8]
movsx ecx, ax
shr eax, 0x10
cwde
mov dword [ebp - 0x1c0], eax
lea eax, [ebp - 0x1c4]
push eax
push dword [ebx + 0x84]
mov dword [ebp - 0x1c4], ecx
call dword [sym.imp.USER32.dll_ScreenToClient]
mov eax, dword [ebp - 0x1c4]
mov edx, dword [ebx + 0xf0]
mov dword [ebx + 0xfc], eax
mov eax, dword [ebp - 0x1c0]
mov dword [ebx + 0x100], eax
test edx, edx
je 0x57b880
push 7
xor eax, eax
pop ecx
lea edi, [ebp - 0xf0]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x1c4]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0x1c0]
mov dword [ebp - 0xf4], 0x11
mov dword [ebp - 0xf0], edx
mov dword [ebp - 0xe4], eax
mov word [ebp - 0xde], si
mov dword [ebp - 0xd8], edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0xf0]
lea edx, [ebp - 0xf4]
mov dword [ebp - 0xec], eax
mov eax, dword [ecx]
push edx
call dword [eax + 0x11c]
and dword [ebx + 0xf0], 0
jmp 0x57b880
mov eax, dword [ebp - 0x1b8]
test eax, eax
je 0x579619
push eax
push esi
push 0x204e
push dword [eax]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x5795a6
mov eax, dword [ebx + 0x104]
mov ecx, dword [ebp - 0x1b8]
test eax, eax
jle 0x57a93b
mov dword [ecx + 0x18], eax
mov eax, dword [ebx + 0x108]
test eax, eax
jle 0x57a948
mov dword [ecx + 0x1c], eax
mov eax, dword [ebx + 0x10c]
test eax, eax
jle 0x57a955
mov dword [ecx + 0x20], eax
mov ebx, dword [ebx + 0x110]
test ebx, ebx
jle 0x57b880
mov dword [ecx + 0x24], ebx
jmp 0x57b880
cmp dword [ebp - 0x1b8], 0
je 0x57b880
push dword [ebp - 0x1b8]
push esi
push 0x2111
push dword [ebp - 0x1b8]
jmp 0x57a91d
mov eax, 0x203
cmp edi, eax
ja 0x57b052
je 0x57afb7
mov eax, edi
sub eax, 0x113
je 0x57ae7d
sub eax, 0x20
je 0x57ae5d
sub eax, 5
je 0x57ae5d
sub eax, 0xc8
je 0x57ab7b
dec eax
je 0x57aa88
dec eax
jne 0x57b880
mov ecx, dword [ebp - 0x1b8]
movsx eax, word [ebp - 0x1b8]
shr ecx, 0x10
cmp dword [ebx + 0xf0], 0
movsx ecx, cx
mov dword [ebp - 0x1c4], eax
mov dword [ebp - 0x1c0], ecx
mov dword [ebx + 0xfc], eax
mov dword [ebx + 0x100], ecx
je 0x57b880
mov ecx, ebx
call sym.GameDemo_u.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::ReleaseCapture_void_
xor eax, eax
push 7
pop ecx
lea edi, [ebp - 0xf0]
rep stosd dword es:[edi], eax
mov eax, dword [ebx + 0xf0]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0x1b8]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x1c4]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0x1c0]
mov dword [ebp - 0xf4], 0xe
mov dword [ebp - 0xdc], esi
mov dword [ebp - 0xe4], eax
mov word [ebp - 0xde], si
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0xf0]
and dword [ebx + 0xf0], 0
mov dword [ebp - 0xec], eax
jmp 0x57afa3
cmp byte [ebx + 0xe0], 0
jne 0x57aa9d
push dword [ebx + 0x84]
call dword [sym.imp.USER32.dll_SetFocus]
cmp dword [ebx + 0xe4], 0
je 0x57b880
mov ecx, dword [ebp - 0x1b8]
movsx eax, word [ebp - 0x1b8]
shr ecx, 0x10
movsx ecx, cx
push ecx
mov dword [ebp - 0x1c0], ecx
mov dword [ebx + 0x100], ecx
push eax
mov ecx, ebx
mov dword [ebp - 0x1c4], eax
mov dword [ebx + 0xfc], eax
call sym.GameDemo_u.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_struct_tagPOINT_const
mov dword [ebp - 0x1cc], eax
test eax, eax
je 0x57b880
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x24]
cmp eax, ebx
jne 0x57b880
mov ecx, dword [ebp - 0x1cc]
mov dword [ebx + 0xf0], ecx
mov eax, dword [ecx]
call dword [eax + 0x104]
mov ecx, ebx
call sym.GameDemo_u.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::SetCapture_void_
xor eax, eax
push 7
pop ecx
lea edi, [ebp - 0xf0]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x1b8]
mov edi, dword [ebp - 0x1cc]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x1c4]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0x1c0]
mov dword [ebp - 0xf4], 0xd
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xdc], esi
mov dword [ebp - 0xe4], eax
mov word [ebp - 0xde], si
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xec], eax
jmp 0x57ae4d
cmp dword [ebx + 0xe4], 0
je 0x57b880
cmp byte [ebx + 0x2b8], 0
jne 0x57abe6
xor eax, eax
lea edi, [ebp - 0x1c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [ebx + 0x84]
mov dword [ebp - 0x18], eax
mov eax, dword [ebx + 0xac]
mov dword [ebp - 0x20], 0x10
mov dword [ebp - 0x1c], 3
test eax, eax
jne 0x57abc2
mov eax, dword [ebx + 0xdc]
jmp 0x57abd2
push 0
push 3
push 0x415
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.COMCTL32.dll__TrackMouseEvent]
mov byte [ebx + 0x2b8], 1
mov ecx, dword [ebp - 0x1b8]
movsx eax, word [ebp - 0x1b8]
shr ecx, 0x10
movsx ecx, cx
push ecx
mov dword [ebp - 0x1cc], ecx
mov dword [ebx + 0x100], ecx
push eax
mov ecx, ebx
mov dword [ebp - 0x1d0], eax
mov dword [ebx + 0xfc], eax
call sym.GameDemo_u.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_struct_tagPOINT_const
mov dword [ebp - 0x1c0], eax
test eax, eax
je 0x57ac33
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x24]
cmp eax, ebx
jne 0x57b880
and dword [ebp - 0xf4], 0
xor eax, eax
push 7
pop ecx
lea edi, [ebp - 0xf0]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x1d0]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0x1cc]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0x1b8]
mov dword [ebp - 0xdc], esi
mov dword [ebp - 0xd8], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xec], eax
call fcn.00574916
mov ecx, ebx
mov word [ebp - 0xde], ax
call sym.GameDemo_u.exe_public:_bool___thiscall_DuiLib::CPaintManagerUI::IsCaptured_void_
test al, al
jne 0x57ae05
push dword [ebp - 0x1cc]
push dword [ebp - 0x1d0]
call sym.GameDemo_u.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_struct_tagPOINT_const
mov edi, eax
test edi, edi
je 0x57acbe
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x24]
cmp eax, ebx
jne 0x57b880
mov eax, dword [ebx + 0xec]
cmp edi, eax
je 0x57add0
test eax, eax
je 0x57add0
lea ecx, [ebx + 0x338]
mov dword [ebp - 0xf4], 0xa
mov dword [ebp - 0xf0], eax
call sym.GameDemo_u.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
push eax
lea ecx, [ebp - 0x130]
call sym.GameDemo_u.exe_public:_void___thiscall_DuiLib::CDuiPtrArray::constructor_int_
lea ecx, [ebx + 0x338]
mov dword [ebp - 4], 3
call sym.GameDemo_u.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
push eax
lea ecx, [ebp - 0x130]
call sym.GameDemo_u.exe_public:_void___thiscall_DuiLib::CDuiPtrArray::Resize_int_
lea ecx, [ebx + 0x338]
call sym.GameDemo_u.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
shl eax, 2
push eax
lea ecx, [ebx + 0x338]
call sym.GameDemo_u.exe_public:_wchar_t_const____thiscall_DuiLib::CDuiString::operator_wchar_t_const__void_const
push eax
lea ecx, [ebp - 0x130]
call sym.GameDemo_u.exe_public:_wchar_t_const____thiscall_DuiLib::CDuiString::operator_wchar_t_const__void_const
push eax
call fcn.005a8620
add esp, 0xc
lea ecx, [ebp - 0x130]
xor esi, esi
call sym.GameDemo_u.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
test eax, eax
jle 0x57ad86
push esi
lea ecx, [ebp - 0x130]
call sym.GameDemo_u.exe_public:_void____thiscall_DuiLib::CDuiPtrArray::operator___int_const
mov edx, dword [eax]
lea ecx, [ebp - 0xf4]
push ecx
mov ecx, eax
call dword [edx + 0x11c]
lea ecx, [ebp - 0x130]
inc esi
call sym.GameDemo_u.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
cmp esi, eax
jl 0x57ad59
mov ecx, dword [ebx + 0xec]
mov eax, dword [ecx]
lea edx, [ebp - 0xf4]
push edx
call dword [eax + 0x11c]
mov eax, dword [ebx + 0xac]
and dword [ebx + 0xec], 0
test eax, eax
je 0x57adc1
lea ecx, [ebx + 0xb0]
push ecx
push 0
push 0x411
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x130]
call sym.GameDemo_u.exe_public:_void___thiscall_DuiLib::CDuiPtrArray::destructor_void_
cmp edi, dword [ebx + 0xec]
je 0x57ae0b
test edi, edi
je 0x57ae0b
lea ecx, [ebp - 0xf4]
mov dword [ebp - 0xf4], 0xb
mov dword [ebp - 0xf0], edi
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0x11c]
mov dword [ebx + 0xec], edi
jmp 0x57ae0b
mov edi, dword [ebp - 0x1c0]
mov ebx, dword [ebx + 0xf0]
test ebx, ebx
je 0x57ae35
lea ecx, [ebp - 0xf4]
mov dword [ebp - 0xf4], 9
mov dword [ebp - 0xf0], ebx
mov eax, dword [ebx]
push ecx
mov ecx, ebx
jmp 0x57afac
test edi, edi
je 0x57b880
mov dword [ebp - 0xf4], 9
mov dword [ebp - 0xf0], edi
mov eax, dword [edi]
lea ecx, [ebp - 0xf4]
push ecx
mov ecx, edi
jmp 0x57afac
cmp dword [ebp - 0x1b8], 0
je 0x57b880
push dword [ebp - 0x1b8]
add edi, 0x2000
push esi
push edi
jmp 0x57a984
mov eax, 0x2000
cmp si, ax
jne 0x57aecf
test cl, cl
je 0x57aecf
lea eax, [ebx + 0x164]
push eax
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
jne 0x57aecf
push dword [ebx + 0x84]
xor esi, esi
mov dword [ebp - 0x1c0], esi
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x57b880
lea eax, [ebp - 0x1c0]
push eax
push esi
push esi
push 0xf
mov ecx, ebx
call sym.GameDemo_u.exe_public:_bool___thiscall_DuiLib::CPaintManagerUI::MessageHandler_unsigned_int__unsigned_int__long_int__long_int__
jmp 0x57b880
and dword [ebp - 0x1bc], 0
lea ecx, [ebx + 0x2cc]
call sym.GameDemo_u.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
test eax, eax
jle 0x57b880
push dword [ebp - 0x1bc]
lea ecx, [ebx + 0x2cc]
call sym.GameDemo_u.exe_public:_void____thiscall_DuiLib::CDuiPtrArray::operator___int_const
mov ecx, dword [eax + 8]
mov dword [ebp - 0x1c0], eax
cmp ecx, dword [ebx + 0x84]
jne 0x57af19
movzx ecx, si
cmp dword [eax + 0xc], ecx
jne 0x57af19
cmp byte [eax + 0x10], 0
je 0x57af37
inc dword [ebp - 0x1bc]
lea ecx, [ebx + 0x2cc]
call sym.GameDemo_u.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
cmp dword [ebp - 0x1bc], eax
jl 0x57aee9
jmp 0x57b880
mov esi, dword [ebp - 0x1c0]
push 7
xor eax, eax
pop ecx
lea edi, [ebp - 0xf0]
rep stosd dword es:[edi], eax
mov eax, dword [esi]
mov dword [ebp - 0xf4], 0x18
mov dword [ebp - 0xf0], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xec], eax
mov eax, dword [ebx + 0xfc]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebx + 0x100]
mov dword [ebp - 0xe4], eax
call fcn.00574916
mov ecx, dword [esi]
mov word [ebp - 0xde], ax
mov eax, dword [esi + 4]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0x1b8]
mov dword [ebp - 0xd8], eax
mov eax, dword [ecx]
lea edx, [ebp - 0xf4]
push edx
call dword [eax + 0x11c]
jmp 0x57b880
cmp byte [ebx + 0xe0], 0
jne 0x57afcc
push dword [ebx + 0x84]
call dword [sym.imp.USER32.dll_SetFocus]
mov eax, dword [ebp - 0x1b8]
movsx ecx, ax
shr eax, 0x10
cwde
push eax
mov dword [ebp - 0x1d0], ecx
mov dword [ebx + 0xfc], ecx
push ecx
mov ecx, ebx
mov dword [ebp - 0x1cc], eax
mov dword [ebx + 0x100], eax
call sym.GameDemo_u.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_struct_tagPOINT_const
mov dword [ebp - 0x1c0], eax
test eax, eax
je 0x57b880
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x24]
cmp eax, ebx
jne 0x57b880
mov ecx, ebx
call sym.GameDemo_u.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::SetCapture_void_
push 7
xor eax, eax
pop ecx
lea edi, [ebp - 0xf0]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x1d0]
mov edi, dword [ebp - 0x1c0]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0x1cc]
mov dword [ebp - 0xf4], 0x10
jmp 0x57b84a
sub edi, 0x204
je 0x57b795
sub edi, 6
je 0x57b669
sub edi, 0x97
je 0x57b390
dec edi
dec edi
je 0x57b273
sub edi, 0x75
je 0x57b175
sub edi, 0x7ce9
jne 0x57b880
mov byte [ebx + 0x2bc], 0
jmp 0x57b125
push 1
push 0
lea ecx, [ebx + 0x320]
call sym.GameDemo_u.exe_public:_bool___thiscall_DuiLib::CDuiPtrArray::Remove_int__int_
mov eax, dword [edi + 0x108]
test eax, eax
je 0x57b0d0
lea ecx, [eax + 0x38]
call sym.GameDemo_u.exe_public:_bool___thiscall_DuiLib::CEventSource::operator_bool_void_
test al, al
je 0x57b0d0
mov ecx, dword [edi + 0x108]
push edi
add ecx, 0x38
call sym.GameDemo_u.exe_public:_bool___thiscall_DuiLib::CEventSource::operator___void__
and dword [ebp - 0x1bc], 0
lea ecx, [ebx + 0x2c0]
call sym.GameDemo_u.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
test eax, eax
jle 0x57b117
push dword [ebp - 0x1bc]
lea ecx, [ebx + 0x2c0]
call sym.GameDemo_u.exe_public:_void____thiscall_DuiLib::CDuiPtrArray::operator___int_const
mov edx, dword [eax]
push edi
mov ecx, eax
call dword [edx]
inc dword [ebp - 0x1bc]
lea ecx, [ebx + 0x2c0]
call sym.GameDemo_u.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
cmp dword [ebp - 0x1bc], eax
jl 0x57b0e6
mov ecx, edi
call sym.GameDemo_u.exe_public:_void___thiscall_DuiLib::tagTDrawInfo::destructor_void_
push edi
call fcn.005a6f91
pop ecx
push 0
lea ecx, [ebx + 0x320]
call sym.GameDemo_u.exe_public:_void____thiscall_DuiLib::CDuiPtrArray::GetAt_int_const
mov edi, eax
test edi, edi
jne 0x57b09c
add ebx, 0x314
mov ecx, ebx
xor esi, esi
call sym.GameDemo_u.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
test eax, eax
jle 0x57b169
push esi
mov ecx, ebx
call sym.GameDemo_u.exe_public:_void____thiscall_DuiLib::CDuiPtrArray::operator___int_const
mov edx, dword [eax]
mov ecx, eax
call dword [edx]
mov ecx, ebx
inc esi
call sym.GameDemo_u.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
cmp esi, eax
jl 0x57b14f
mov ecx, ebx
call sym.GameDemo_u.exe_public:_void___thiscall_DuiLib::CDuiPtrArray::Empty_void_
jmp 0x57b880
cmp dword [ebx + 0xe4], 0
je 0x57b880
lea eax, [ebp - 0x40]
push eax
push dword [ebx + 0x84]
call dword [sym.imp.USER32.dll_GetClientRect]
push esi
call dword [sym.imp.GDI32.dll_SaveDC]
mov ecx, dword [ebx + 0xe4]
push 0
lea edx, [ebp - 0x40]
push edx
mov dword [ebp - 0x1cc], eax
mov eax, dword [ecx]
push esi
call dword [eax + 0x138]
test byte [ebp - 0x1b8], 0x10
je 0x57b261
push 5
push dword [ebx + 0x84]
call dword [sym.imp.USER32.dll_GetWindow]
mov dword [ebp - 0x1bc], eax
test eax, eax
je 0x57b261
mov eax, dword [ebp - 0x1b8]
or eax, 2
mov dword [ebp - 0x1c0], eax
and dword [ebp - 0x20], 0
xor eax, eax
lea edi, [ebp - 0x1c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1bc]
call dword [sym.imp.USER32.dll_GetWindowRect]
push 2
lea eax, [ebp - 0x20]
push eax
push dword [ebx + 0x84]
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
mov eax, dword [ebp - 0x1c]
push 0
neg eax
push eax
mov eax, dword [ebp - 0x20]
neg eax
push eax
push esi
call dword [sym.imp.GDI32.dll_SetWindowOrgEx]
push dword [ebp - 0x1c0]
push esi
push 0x317
push dword [ebp - 0x1bc]
call dword [sym.imp.USER32.dll_SendMessageW]
push 2
push dword [ebp - 0x1bc]
call dword [sym.imp.USER32.dll_GetWindow]
mov dword [ebp - 0x1bc], eax
test eax, eax
jne 0x57b1ec
push dword [ebp - 0x1cc]
push esi
call dword [sym.imp.GDI32.dll_RestoreDC]
jmp 0x57b880
cmp dword [ebx + 0xe4], 0
je 0x57b880
mov eax, dword [ebx + 0xac]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
je 0x57b2a1
lea ecx, [ebx + 0xb0]
push ecx
push 0
push 0x411
push eax
call esi
cmp byte [ebx + 0x2b8], 0
je 0x57b384
and dword [ebp - 0x1c4], 0
xor eax, eax
and dword [ebp - 0x40], eax
lea edi, [ebp - 0x1c0]
stosd dword es:[edi], eax
lea edi, [ebp - 0x3c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x1c4]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
lea eax, [ebp - 0x40]
push eax
push dword [ebx + 0x84]
call dword [sym.imp.USER32.dll_GetWindowRect]
push dword [ebx + 0x84]
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x57b373
call dword [sym.imp.USER32.dll_GetActiveWindow]
cmp eax, dword [ebx + 0x84]
jne 0x57b373
push dword [ebp - 0x1c0]
lea eax, [ebp - 0x40]
push dword [ebp - 0x1c4]
push eax
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x57b373
movzx eax, word [ebp - 0x1c0]
movzx ecx, word [ebp - 0x1c4]
shl eax, 0x10
or eax, ecx
push eax
xor edi, edi
push edi
push 0x84
push dword [ebx + 0x84]
call esi
cmp eax, 1
jne 0x57b36f
lea eax, [ebp - 0x1c4]
push eax
push dword [ebx + 0x84]
call dword [sym.imp.USER32.dll_ScreenToClient]
movzx eax, word [ebp - 0x1c0]
movzx ecx, word [ebp - 0x1c4]
shl eax, 0x10
or eax, ecx
push eax
push edi
jmp 0x57b377
push 0xffffffffffffffff
jmp 0x57b36c
push 0xffffffffffffffff
push 0
push 0x200
push dword [ebx + 0x84]
call esi
mov byte [ebx + 0x2b8], 0
jmp 0x57b880
cmp dword [ebx + 0xe4], 0
je 0x57b880
mov ecx, dword [ebp - 0x1b8]
movsx eax, word [ebp - 0x1b8]
shr ecx, 0x10
movsx ecx, cx
push ecx
mov dword [ebp - 0x1c0], ecx
push eax
mov ecx, ebx
mov byte [ebx + 0x2b8], 0
mov dword [ebp - 0x1c4], eax
call sym.GameDemo_u.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_struct_tagPOINT_const
mov dword [ebp - 0x1bc], eax
test eax, eax
je 0x57b880
mov edx, dword [ebx + 0xec]
test edx, edx
je 0x57b458
push 7
xor eax, eax
pop ecx
lea edi, [ebp - 0xf0]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x1b8]
mov dword [ebp - 0xf4], 0xc
mov dword [ebp - 0xf0], edx
mov dword [ebp - 0xdc], esi
mov dword [ebp - 0xd8], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x1c4]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0x1c0]
mov dword [ebp - 0xe4], eax
call fcn.00574916
mov ecx, dword [ebx + 0xec]
lea edx, [ebp - 0xf4]
mov word [ebp - 0xde], ax
mov eax, dword [ecx]
push edx
call dword [eax + 0x11c]
mov ecx, dword [ebp - 0x1bc]
mov eax, dword [ecx]
lea edx, [ebp - 0xd4]
push edx
call dword [eax + 0xac]
lea ecx, [ebp - 0xd4]
mov dword [ebp - 4], 2
call sym.GameDemo_u.exe_public:_bool___thiscall_DuiLib::CDuiString::IsEmpty_void_const
test al, al
je 0x57b497
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xd4]
call sym.GameDemo_u.exe_public:_void___thiscall_DuiLib::CDuiString::destructor_void_
jmp 0x579619
lea eax, [ebp - 0xd4]
push eax
call sym.GameDemo_u.exe_public:_static_void___cdecl_DuiLib::CPaintManagerUI::ProcessMultiLanguageTokens_class_DuiLib::CDuiString__
push 0x2c
pop edi
push edi
lea esi, [ebx + 0xb0]
push 0
push esi
call fcn.005a7500
mov eax, dword [ebx + 0x84]
mov dword [esi], edi
mov dword [ebx + 0xb4], 1
mov dword [ebx + 0xb8], eax
mov dword [ebx + 0xbc], eax
mov eax, dword [sym.GameDemo_u.exe_struct_HINSTANCE____DuiLib::CPaintManagerUI::m_hInstance]
add esp, 0x10
lea ecx, [ebp - 0xd4]
mov dword [ebx + 0xd0], eax
call sym.GameDemo_u.exe_public:_wchar_t_const____thiscall_DuiLib::CDuiString::operator_wchar_t_const__void_const
mov ecx, dword [ebp - 0x1bc]
mov dword [ebx + 0xd4], eax
mov eax, dword [ecx]
call dword [eax + 0x40]
cmp dword [ebx + 0xac], 0
lea edi, [ebx + 0xc0]
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 0x57b5ab
xor edi, edi
push edi
push dword [sym.GameDemo_u.exe_struct_HINSTANCE____DuiLib::CPaintManagerUI::m_hInstance]
mov eax, SysReAllocString
push edi
push dword [ebx + 0x84]
push eax
push eax
push eax
push eax
push SysStringLen
push edi
push str.tooltips_class32
push edi
call dword [sym.imp.USER32.dll_CreateWindowExW]
lea ecx, [ebx + 0xb0]
push ecx
push edi
push 0x432
push eax
mov dword [ebx + 0xac], eax
call esi
mov edi, dword [ebp - 0x1bc]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0xb8]
push eax
push 0
push 0x418
push dword [ebx + 0xac]
call esi
lea eax, [ebx + 0xb0]
push eax
push 0
push 0x436
push dword [ebx + 0xac]
call esi
lea eax, [ebx + 0xb0]
push eax
push 1
push 0x411
push dword [ebx + 0xac]
call esi
jmp 0x57b5b1
mov edi, dword [ebp - 0x1bc]
mov ecx, dword [ebx + 0xf8]
test ecx, ecx
jne 0x57b5c3
mov dword [ebx + 0xf8], edi
jmp 0x57b641
mov eax, dword [edi]
cmp ecx, edi
mov ecx, edi
jne 0x57b605
call dword [eax + 0xb8]
cmp dword [ebx + 0xa8], eax
je 0x57b61b
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0xb8]
push eax
push 0
push 0x418
push dword [ebx + 0xac]
call esi
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0xb8]
mov dword [ebx + 0xa8], eax
jmp 0x57b61b
call dword [eax + 0xb8]
push eax
push 0
push 0x418
push dword [ebx + 0xac]
call esi
lea edi, [ebx + 0xb0]
push edi
push 0
push 0x436
push dword [ebx + 0xac]
call esi
push edi
push 1
push 0x411
push dword [ebx + 0xac]
call esi
movzx eax, word [ebp - 0x1c0]
movzx ecx, word [ebp - 0x1c4]
shl eax, 0x10
or eax, ecx
push eax
push 0
push 0x412
push dword [ebx + 0xac]
call esi
jmp 0x57b483
cmp dword [ebx + 0xe4], 0
je 0x57b880
movsx eax, word [ebp - 0x1b8]
mov dword [ebp - 0x1c4], eax
mov eax, dword [ebp - 0x1b8]
shr eax, 0x10
cwde
mov dword [ebp - 0x1c0], eax
lea eax, [ebp - 0x1c4]
push eax
push dword [ebx + 0x84]
call dword [sym.imp.USER32.dll_ScreenToClient]
mov ecx, dword [ebp - 0x1c0]
mov eax, dword [ebp - 0x1c4]
push ecx
mov dword [ebx + 0x100], ecx
push eax
mov ecx, ebx
mov dword [ebx + 0xfc], eax
call sym.GameDemo_u.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_struct_tagPOINT_const
mov dword [ebp - 0x1cc], eax
test eax, eax
je 0x57b880
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x24]
cmp eax, ebx
jne 0x57b880
xor eax, eax
push 7
pop ecx
lea edi, [ebp - 0xf0]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x1cc]
mov dword [ebp - 0xf0], eax
xor eax, eax
shr esi, 0x10
test si, si
sets al
mov dword [ebp - 0xf4], 0x12
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0x1b8]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebx + 0xfc]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebx + 0x100]
mov dword [ebp - 0xe4], eax
call fcn.00574916
mov word [ebp - 0xde], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebp - 0x1cc]
lea edx, [ebp - 0xf4]
mov dword [ebp - 0xec], eax
mov eax, dword [ecx]
push edx
call dword [eax + 0x11c]
movzx eax, word [ebx + 0x100]
movzx ecx, word [ebx + 0xfc]
shl eax, 0x10
or eax, ecx
push eax
push 0
push 0x200
push dword [ebx + 0x84]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x57b880
cmp byte [ebx + 0xe0], 0
jne 0x57b7aa
push dword [ebx + 0x84]
call dword [sym.imp.USER32.dll_SetFocus]
mov ecx, dword [ebp - 0x1b8]
movsx eax, word [ebp - 0x1b8]
shr ecx, 0x10
movsx ecx, cx
push ecx
mov dword [ebp - 0x1c0], ecx
mov dword [ebx + 0x100], ecx
push eax
mov ecx, ebx
mov dword [ebp - 0x1c4], eax
mov dword [ebx + 0xfc], eax
call sym.GameDemo_u.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_struct_tagPOINT_const
mov dword [ebp - 0x1cc], eax
test eax, eax
je 0x57b880
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x24]
cmp eax, ebx
jne 0x57b880
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [ecx]
call dword [eax + 0x104]
xor eax, eax
push 7
pop ecx
lea edi, [ebp - 0xf0]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x1b8]
mov edi, dword [ebp - 0x1cc]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x1c4]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0x1c0]
mov dword [ebp - 0xf4], 0xf
mov dword [ebp - 0xdc], esi
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xe4], eax
mov word [ebp - 0xde], si
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea ecx, [ebp - 0xf4]
mov dword [ebp - 0xec], eax
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0x11c]
mov dword [ebx + 0xf0], edi
xor al, al
call fcn.005a7433
ret 0x10