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

Disassembly:
push ebp
sub esp, 0x104
lea ebp, [esp - 4]
mov eax, dword [0x66a8c4]
xor eax, ebp
mov dword [ebp + 0x104], eax
push 0x98
mov eax, 0x5ca828
call fcn.0059591b
mov eax, dword [ebp + 0x118]
mov esi, dword [ebp + 0x114]
mov ebx, ecx
cmp dword [ebx + 0xb4], 0
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x11c]
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x24], eax
je 0x50f05b
and dword [ebp - 0x20], 0
lea ecx, [ebx + 0x2b0]
call sym.mininews.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
mov edi, dword [ebp + 0x110]
test eax, eax
jle 0x50d2eb
push dword [ebp - 0x20]
lea ecx, [ebx + 0x2b0]
mov byte [ebp - 0x19], 0
call sym.mininews.exe_public:_void____thiscall_DuiLib::CStdPtrArray::operator___int_const
mov edx, dword [eax]
lea ecx, [ebp - 0x19]
push ecx
push dword [ebp - 0x10]
mov ecx, eax
push esi
push edi
call dword [edx]
cmp byte [ebp - 0x19], 0
jne 0x50d39b
inc dword [ebp - 0x20]
lea ecx, [ebx + 0x2b0]
call sym.mininews.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
cmp dword [ebp - 0x20], eax
jl 0x50d2ad
mov eax, 0x133
cmp edi, eax
ja 0x50e1a4
je 0x50e977
cmp edi, 0x4e
ja 0x50ddf6
je 0x50ddd5
sub edi, 5
je 0x50dd73
dec edi
dec edi
je 0x50dd1c
sub edi, 8
je 0x50d560
dec edi
je 0x50d47f
sub edi, 4
je 0x50d471
sub edi, 0xc
je 0x50d3a7
sub edi, 4
jne 0x50f05b
mov eax, dword [ebx + 0x20c]
mov edx, dword [ebp - 0x10]
test eax, eax
jle 0x50d355
mov dword [edx + 0x18], eax
mov eax, dword [ebx + 0x210]
test eax, eax
jle 0x50d362
mov dword [edx + 0x1c], eax
lea eax, [ebx + 0x214]
mov ecx, dword [eax]
test ecx, ecx
jle 0x50d371
mov dword [edx + 0x20], ecx
add ebx, 0x218
mov ecx, dword [ebx]
test ecx, ecx
jle 0x50d380
mov dword [edx + 0x24], ecx
mov eax, dword [eax]
test eax, eax
jle 0x50d389
mov dword [edx + 8], eax
mov ebx, dword [ebx]
test ebx, ebx
jle 0x50f05b
mov dword [edx + 0xc], ebx
jmp 0x50f05b
mov ecx, dword [ebp - 0x24]
mov dword [ecx], eax
mov al, 1
jmp 0x50f05d
cmp word [ebp - 0x10], 1
jne 0x50f05b
cmp byte [ebx + 0x27d], 0
jne 0x50d3a0
and dword [ebp - 0x18], 0
xor eax, eax
lea edi, [ebp - 0x14]
stosd dword es:[edi], eax
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
lea eax, [ebp - 0x18]
push eax
push dword [ebx + 0xb4]
call dword [sym.imp.USER32.dll_ScreenToClient]
push dword [ebp - 0x14]
mov ecx, ebx
push dword [ebp - 0x18]
call sym.mininews.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_struct_tagPOINT_const
mov ebx, eax
test ebx, ebx
je 0x50f05b
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x14]
test al, 2
je 0x50f05b
xor eax, eax
push 7
pop ecx
lea edi, [ebp + 0xe8]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp + 0x100], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp + 0xf0], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp + 0xe4], 0x1a
mov dword [ebp + 0xe8], ebx
mov dword [ebp + 0xfc], esi
mov dword [ebp + 0xf4], eax
call fcn.005082fb
mov word [ebp + 0xfa], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea ecx, [ebp + 0xe4]
mov dword [ebp + 0xec], eax
mov eax, dword [ebx]
push ecx
mov ecx, ebx
call dword [eax + 0x12c]
jmp 0x50d3a0
mov eax, dword [ebp - 0x24]
mov dword [eax], 1
jmp 0x50d3a0
xor eax, eax
push 7
xor esi, esi
pop ecx
mov dword [ebp + 0xe4], esi
lea edi, [ebp + 0xe8]
rep stosd dword es:[edi], eax
mov eax, dword [ebx + 0x204]
mov dword [ebp + 0xf0], eax
mov eax, dword [ebx + 0x208]
mov dword [ebp + 0xf4], eax
call fcn.005082fb
mov word [ebp + 0xfa], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x1f8]
mov dword [ebp + 0xec], eax
cmp ecx, esi
je 0x50d4ed
lea edx, [ebp + 0xe4]
mov dword [ebp + 0xe4], 0xa
mov dword [ebp + 0xe8], ecx
mov eax, dword [ecx]
push edx
call dword [eax + 0x12c]
mov ecx, dword [ebx + 0x1fc]
cmp ecx, esi
je 0x50d516
lea edx, [ebp + 0xe4]
mov dword [ebp + 0xe4], 0xe
mov dword [ebp + 0xe8], ecx
mov eax, dword [ecx]
push edx
call dword [eax + 0x12c]
push esi
mov ecx, ebx
call sym.mininews.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::SetFocus_class_DuiLib::CControlUI__
mov edi, dword [ebx + 0xb4]
call dword [sym.imp.USER32.dll_GetActiveWindow]
cmp eax, edi
jne 0x50d542
push 4
push edi
call dword [sym.imp.USER32.dll_GetWindow]
cmp eax, esi
je 0x50d542
push eax
call dword [sym.imp.USER32.dll_SetFocus]
add ebx, 0xe8
mov eax, dword [ebx]
cmp eax, esi
je 0x50f05b
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
mov dword [ebx], esi
jmp 0x50f05b
xor eax, eax
xor esi, esi
mov dword [ebp - 0x44], esi
lea edi, [ebp - 0x40]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push esi
lea eax, [ebp - 0x44]
push eax
push dword [ebx + 0xb4]
call dword [sym.imp.USER32.dll_GetUpdateRect]
test eax, eax
je 0x50d3a0
cmp dword [ebx + 0x1f0], esi
jne 0x50d5d1
push 0x3c
lea eax, [ebp + 0x88]
push esi
push eax
mov dword [ebp + 0x84], esi
call fcn.00591690
add esp, 0xc
lea eax, [ebp + 0x84]
push eax
push dword [ebx + 0xb4]
call dword [sym.imp.USER32.dll_BeginPaint]
lea eax, [ebp + 0x84]
push eax
push dword [ebx + 0xb4]
call dword [sym.imp.USER32.dll_EndPaint]
jmp 0x50d3a0
xor eax, eax
mov dword [ebp - 0x54], esi
lea edi, [ebp - 0x50]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x54]
push eax
push dword [ebx + 0xb4]
mov byte [ebp - 0x19], 0
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
sub eax, dword [ebp - 0x54]
sub esi, dword [ebp - 0x50]
push 1
mov ecx, ebx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x28], esi
call sym.mininews.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::SetPainting_bool_
cmp byte [ebx + 0x251], 0
je 0x50d770
lea eax, [ebp - 0x54]
push eax
mov byte [ebx + 0x251], 0
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
jne 0x50d770
push dword [ebx + 0xb4]
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x50d770
mov ecx, dword [ebx + 0x1f0]
call sym.mininews.exe_public:_bool___thiscall_DuiLib::CControlUI::IsUpdateNeeded_void_const
test al, al
je 0x50d6a4
mov eax, dword [ebx + 0xbc]
test eax, eax
je 0x50d665
push eax
call dword [sym.imp.GDI32.dll_DeleteDC]
lea esi, [ebx + 0xc4]
mov eax, dword [esi]
test eax, eax
je 0x50d678
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
and dword [esi], 0
mov ecx, dword [ebx + 0x1f0]
and dword [ebx + 0xbc], 0
mov eax, dword [ecx]
push 1
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x54]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call dword [eax + 0x54]
mov byte [ebp - 0x19], 1
jmp 0x50d737
lea edi, [ebx + 0x2ec]
mov ecx, edi
call sym.mininews.exe_public:_void___thiscall_DuiLib::CStdPtrArray::Empty_void_
mov ecx, dword [ebx + 0x1f0]
mov eax, dword [ecx]
push reloc.OLEAUT32.dll_VariantCopy
push 0
push sym.mininews.exe_private:_static_class_DuiLib::CControlUI____stdcall_DuiLib::CPaintManagerUI::__FindControlsFromUpdate_class_DuiLib::CControlUI___void__
call dword [eax + 0x120]
and dword [ebp - 0x24], 0
mov ecx, edi
call sym.mininews.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
test eax, eax
jle 0x50d73a
push dword [ebp - 0x24]
mov ecx, edi
call sym.mininews.exe_public:_void____thiscall_DuiLib::CStdPtrArray::operator___int_const
mov edx, dword [eax]
mov ecx, eax
mov dword [ebp - 0x20], eax
call dword [edx + pe_nt_image_headers32]
mov ecx, dword [ebp - 0x20]
test al, al
mov eax, dword [ecx]
mov dword [ebp - 0x2c], eax
jne 0x50d702
call dword [eax + 0x50]
jmp 0x50d70c
lea edx, [ebp - 0xa4]
push edx
call dword [eax + 0x48]
mov ecx, dword [ebp - 0x20]
push 1
sub esp, 0x10
mov esi, eax
mov eax, dword [ebp - 0x2c]
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call dword [eax + 0x54]
inc dword [ebp - 0x24]
lea edi, [ebx + 0x2ec]
mov ecx, edi
call sym.mininews.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
cmp dword [ebp - 0x24], eax
jl 0x50d6da
mov esi, dword [ebp - 0x28]
lea eax, [ebx + 0x250]
cmp byte [eax], 0
je 0x50d770
mov byte [eax], 0
xor eax, eax
push eax
push eax
push eax
push str.windowinit
push dword [ebx + 0x1f0]
mov ecx, ebx
call sym.mininews.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::SendNotify_class_DuiLib::CControlUI___wchar_t_const___unsigned_int__long_int__bool_
push dword [ebx + 0xb4]
lea ecx, [ebx + 0x134]
call sym.mininews.exe_protected:_void___thiscall_DuiLib::CShadowUI::Update_struct_HWND____
cmp byte [ebx + 0x252], 0
je 0x50d782
push 1
mov ecx, ebx
call sym.mininews.exe_public:_bool___thiscall_DuiLib::CPaintManagerUI::SetNextTabControl_bool_
cmp byte [ebx + 0x255], 0
je 0x50d7f0
push 0xffffffffffffffec
push dword [ebx + 0xb4]
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov ecx, eax
or ecx, 0x80000
cmp eax, ecx
je 0x50d7b4
push ecx
push 0xffffffffffffffec
push dword [ebx + 0xb4]
call dword [sym.imp.USER32.dll_SetWindowLongW]
lea edi, [ebx + 0x26c]
push edi
lea eax, [ebp - 0x44]
push eax
push eax
mov byte [ebx + 0x253], 1
call dword [sym.imp.USER32.dll_UnionRect]
mov eax, dword [ebp - 0x4c]
cmp dword [ebp - 0x3c], eax
jle 0x50d7d8
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x48]
cmp dword [ebp - 0x38], eax
jle 0x50d7e3
mov dword [ebp - 0x38], eax
push 0x10
push 0
push edi
call fcn.00591690
add esp, 0xc
cmp byte [ebx + 0x253], 0
je 0x50d831
cmp dword [ebx + 0xc4], 0
jne 0x50d831
lea edi, [ebx + 0xb8]
push dword [edi]
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebx + 0xbc], eax
lea eax, [ebx + 0xc8]
push eax
push esi
push dword [ebp - 0x10]
push dword [edi]
call sym.mininews.exe_public:_static_struct_HBITMAP______cdecl_DuiLib::CRenderEngine::CreateARGB32Bitmap_struct_HDC_____int__int__unsigned_char___
add esp, 0x10
mov dword [ebx + 0xc4], eax
and dword [ebp + 0xc4], 0
push 0x3c
lea eax, [ebp + 0xc8]
push 0
push eax
call fcn.00591690
add esp, 0xc
lea eax, [ebp + 0xc4]
push eax
push dword [ebx + 0xb4]
call dword [sym.imp.USER32.dll_BeginPaint]
cmp byte [ebx + 0x253], 0
je 0x50dc5b
push dword [ebx + 0xc4]
push dword [ebx + 0xbc]
call dword [sym.imp.GDI32.dll_SelectObject]
push dword [ebx + 0xbc]
mov dword [ebp - 0x14], eax
call dword [sym.imp.GDI32.dll_SaveDC]
cmp byte [ebx + 0x255], 0
mov dword [ebp - 0x5c], eax
je 0x50d8e4
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
sub edx, dword [ebp - 0x38]
sub eax, dword [ebp - 0x40]
cmp edx, eax
jge 0x50d8e4
mov ecx, edx
imul ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0x3c]
mov dword [ebp - 0x2c], eax
jge 0x50d8d6
add eax, ecx
shl eax, 2
mov esi, dword [ebx + 0xc8]
and dword [eax + esi], 0
inc dword [ebp - 0x2c]
mov esi, dword [ebp - 0x2c]
add eax, 4
cmp esi, dword [ebp - 0x3c]
jl 0x50d8be
mov eax, dword [ebp - 0x48]
sub eax, dword [ebp - 0x40]
add ecx, dword [ebp - 0x10]
inc edx
cmp edx, eax
jl 0x50d8ae
mov ecx, dword [ebx + 0x1f0]
mov eax, dword [ecx]
lea edx, [ebp - 0x44]
push edx
push dword [ebx + 0xbc]
call dword [eax + 0x13c]
lea eax, [ebp - 0x44]
push eax
push dword [ebx + 0xbc]
mov ecx, ebx
call sym.mininews.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::DrawCaret_struct_HDC_____struct_tagRECT_const__
lea edi, [ebx + 0x2bc]
mov ecx, edi
xor esi, esi
call sym.mininews.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
test eax, eax
jle 0x50d948
push esi
mov ecx, edi
call sym.mininews.exe_public:_void____thiscall_DuiLib::CStdPtrArray::operator___int_const
mov edx, dword [eax]
lea ecx, [ebp - 0x44]
push ecx
push dword [ebx + 0xbc]
mov ecx, eax
call dword [edx + 0x15c]
mov ecx, edi
inc esi
call sym.mininews.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
cmp esi, eax
jl 0x50d920
cmp byte [ebx + 0x255], 0
je 0x50db5b
mov esi, dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
sub esi, dword [ebp - 0x38]
sub eax, dword [ebp - 0x40]
cmp esi, eax
jge 0x50d9b6
mov edi, dword [ebp - 0x44]
mov edx, esi
imul edx, dword [ebp - 0x10]
cmp edi, dword [ebp - 0x3c]
jge 0x50d9a8
lea ecx, [edx + edi]
shl ecx, 2
mov eax, dword [ebx + 0xc8]
add eax, ecx
cmp byte [eax + 3], 0
jne 0x50d99c
cmp byte [eax], 0
jne 0x50d998
cmp byte [eax + 1], 0
jne 0x50d998
cmp byte [eax + 2], 0
je 0x50d99c
mov byte [eax + 3], 0xff
inc edi
add ecx, 4
cmp edi, dword [ebp - 0x3c]
jl 0x50d979
mov edi, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
sub eax, dword [ebp - 0x40]
add edx, dword [ebp - 0x10]
inc esi
cmp esi, eax
jl 0x50d96e
and dword [ebp - 0x24], 0
lea edi, [ebx + 0x2c8]
mov ecx, edi
call sym.mininews.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
test eax, eax
jle 0x50db5b
push dword [ebp - 0x24]
mov ecx, edi
call sym.mininews.exe_public:_void____thiscall_DuiLib::CStdPtrArray::operator___int_const
push eax
mov dword [ebp - 0x2c], eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x50d9f6
push dword [ebp - 0x24]
mov ecx, edi
call sym.mininews.exe_public:_bool___thiscall_DuiLib::CStdPtrArray::Remove_int_
jmp 0x50db45
push dword [ebp - 0x2c]
inc dword [ebp - 0x24]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x50db45
push dword [ebp - 0x2c]
lea esi, [ebp - 0x70]
push dword [ebx + 0xb4]
call fcn.005082a2
and dword [ebp - 0x90], 0
xor eax, eax
lea edi, [ebp - 0x8c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
pop ecx
stosd dword es:[edi], eax
pop ecx
mov eax, esi
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x90]
push eax
call dword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x50db45
push dword [ebx + 0xbc]
and dword [ebp - 0x58], 0
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov edi, eax
lea eax, [ebp - 0x58]
push eax
mov eax, dword [ebp - 0x64]
sub eax, dword [ebp - 0x6c]
push eax
mov eax, dword [ebp - 0x68]
sub eax, dword [ebp - 0x70]
push eax
push edi
call sym.mininews.exe_public:_static_struct_HBITMAP______cdecl_DuiLib::CRenderEngine::CreateARGB32Bitmap_struct_HDC_____int__int__unsigned_char___
mov ecx, dword [ebp - 0x64]
sub ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x68]
sub eax, dword [ebp - 0x70]
imul eax, ecx
shl eax, 2
push eax
push 0
push dword [ebp - 0x58]
call fcn.00591690
mov esi, dword [sym.imp.GDI32.dll_SelectObject]
add esp, 0x1c
push dword [ebp - 0x30]
push edi
call esi
push 0x35
push edi
push 0x317
push dword [ebp - 0x2c]
mov dword [ebp - 0x7c], eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x64]
and dword [ebp - 0x20], 0
mov ecx, eax
sub ecx, dword [ebp - 0x6c]
test ecx, ecx
jle 0x50db08
mov ecx, dword [ebp - 0x68]
sub ecx, dword [ebp - 0x70]
xor edx, edx
test ecx, ecx
jle 0x50dafb
imul ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x58]
add ecx, edx
lea ecx, [eax + ecx*4]
mov eax, dword [ecx]
test eax, eax
je 0x50daed
or eax, 0xff000000
mov dword [ecx], eax
mov ecx, dword [ebp - 0x68]
sub ecx, dword [ebp - 0x70]
inc edx
cmp edx, ecx
jl 0x50dad4
mov eax, dword [ebp - 0x64]
inc dword [ebp - 0x20]
mov ecx, eax
sub ecx, dword [ebp - 0x6c]
cmp dword [ebp - 0x20], ecx
jl 0x50dac8
mov ecx, dword [ebp - 0x68]
sub eax, dword [ebp - 0x6c]
sub ecx, dword [ebp - 0x70]
push 0xcc0020
push 0
push 0
push edi
push eax
push ecx
push dword [ebp - 0x6c]
push dword [ebp - 0x70]
push dword [ebx + 0xbc]
call dword [sym.imp.GDI32.dll_BitBlt]
push dword [ebp - 0x7c]
push edi
call esi
push dword [ebp - 0x30]
call dword [sym.imp.GDI32.dll_DeleteObject]
push edi
call dword [sym.imp.GDI32.dll_DeleteDC]
lea edi, [ebx + 0x2c8]
mov ecx, edi
call sym.mininews.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
cmp dword [ebp - 0x24], eax
jl 0x50d9cf
push dword [ebp - 0x5c]
push dword [ebx + 0xbc]
call dword [sym.imp.GDI32.dll_RestoreDC]
cmp byte [ebx + 0x255], 0
je 0x50dbf0
xor eax, eax
xor esi, esi
mov dword [ebp - 0x70], esi
lea edi, [ebp - 0x6c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x70]
push eax
push dword [ebx + 0xb4]
call dword [sym.imp.USER32.dll_GetWindowRect]
mov al, byte [ebx + 0x254]
mov byte [ebp - 0x1e], al
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x28]
push 2
mov dword [ebp - 0x7c], eax
lea eax, [ebp - 0x20]
push eax
push esi
lea eax, [ebp - 0x60]
push eax
push dword [ebx + 0xbc]
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x34]
push eax
push dword [ebx + 0xb8]
mov byte [ebp - 0x20], 0
push dword [ebx + 0xb4]
mov byte [ebp - 0x1f], 0
mov byte [ebp - 0x1d], 1
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x5c], esi
call dword [0x66ee70]
jmp 0x50dc23
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x40]
push 0xcc0020
push dword [ebp - 0x40]
push dword [ebp - 0x44]
push dword [ebx + 0xbc]
push eax
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x44]
push eax
push dword [ebp - 0x40]
push dword [ebp - 0x44]
push dword [ebx + 0xb8]
call dword [sym.imp.GDI32.dll_BitBlt]
xor esi, esi
push dword [ebp - 0x14]
push dword [ebx + 0xbc]
call dword [sym.imp.GDI32.dll_SelectObject]
cmp byte [ebx + 0xd8], 0
je 0x50dcce
push esi
push 0xffff0000
push 1
lea eax, [ebp - 0x44]
push eax
push dword [ebx + 0xb8]
call sym.mininews.exe_public:_static_void___cdecl_DuiLib::CRenderEngine::DrawRect_struct_HDC_____struct_tagRECT_const___int__unsigned_long_int__int_
add esp, 0x14
jmp 0x50dcce
push dword [ebx + 0xb8]
call dword [sym.imp.GDI32.dll_SaveDC]
mov ecx, dword [ebx + 0x1f0]
lea edx, [ebp - 0x44]
push edx
push dword [ebx + 0xb8]
mov dword [ebp - 0x14], eax
mov eax, dword [ecx]
call dword [eax + 0x13c]
lea esi, [ebx + 0x2bc]
mov ecx, esi
xor edi, edi
call sym.mininews.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
test eax, eax
jle 0x50dcbd
push edi
mov ecx, esi
call sym.mininews.exe_public:_void____thiscall_DuiLib::CStdPtrArray::operator___int_const
mov edx, dword [eax]
lea ecx, [ebp - 0x44]
push ecx
push dword [ebx + 0xb8]
mov ecx, eax
call dword [edx + 0x15c]
mov ecx, esi
inc edi
call sym.mininews.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
cmp edi, eax
jl 0x50dc95
push dword [ebp - 0x14]
push dword [ebx + 0xb8]
call dword [sym.imp.GDI32.dll_RestoreDC]
xor esi, esi
lea eax, [ebp + 0xc4]
push eax
push dword [ebx + 0xb4]
call dword [sym.imp.USER32.dll_EndPaint]
cmp byte [ebx + 0x251], 0
je 0x50dcf1
mov ecx, ebx
call sym.mininews.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::Invalidate_void_
push esi
mov ecx, ebx
call sym.mininews.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::SetPainting_bool_
cmp byte [ebp - 0x19], 0
je 0x50d3a0
push 1
push esi
push esi
push str.windowsize
push dword [ebx + 0x1f0]
call sym.mininews.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::SendNotify_class_DuiLib::CControlUI___wchar_t_const___unsigned_int__long_int__bool_
jmp 0x50d3a0
mov edx, dword [ebx + 0x1f4]
test edx, edx
je 0x50f05b
push 7
xor eax, eax
pop ecx
lea edi, [ebp + 0xa8]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp + 0xa4], 0x18
mov dword [ebp + 0xbc], esi
mov dword [ebp + 0xc0], eax
mov dword [ebp + 0xa8], edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, dword [ebx + 0x1f4]
mov dword [ebp + 0xac], eax
lea ecx, [ebp + 0xa4]
jmp 0x50f050
mov edx, dword [ebx + 0x1f4]
test edx, edx
je 0x50ddbb
push 7
pop ecx
xor eax, eax
lea edi, [ebp + 0xe8]
rep stosd dword es:[edi], eax
mov dword [ebp + 0xe4], 0x19
mov dword [ebp + 0xe8], edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x1f4]
lea edx, [ebp + 0xe4]
mov dword [ebp + 0xec], eax
mov eax, dword [ecx]
push edx
call dword [eax + 0x12c]
mov ebx, dword [ebx + 0x1f0]
test ebx, ebx
je 0x50d3a0
mov ecx, ebx
call sym.mininews.exe_public:_void___thiscall_DuiLib::CControlUI::NeedUpdate_void_
jmp 0x50d3a0
cmp dword [ebp - 0x10], 0
je 0x50d3a0
mov eax, dword [ebp - 0x10]
push eax
push esi
push 0x204e
push dword [eax]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x50d39b
sub edi, 0x7b
je 0x50e0e9
sub edi, 0x85
je 0x50e052
dec edi
je 0x50dfc0
dec edi
je 0x50df4a
sub edi, 0xf
je 0x50df1c
dec edi
dec edi
jne 0x50f05b
mov eax, 0x1999
cmp ax, si
jne 0x50de55
lea eax, [ebx + 0x11c]
push eax
mov ecx, ebx
call sym.mininews.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::Invalidate_struct_tagRECT__
lea eax, [ebx + 0x12c]
cmp byte [eax], 0
sete cl
mov byte [eax], cl
jmp 0x50f05b
and dword [ebp - 0x20], 0
lea edi, [ebx + 0x28c]
mov ecx, edi
call sym.mininews.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
test eax, eax
jle 0x50f05b
push dword [ebp - 0x20]
mov ecx, edi
call sym.mininews.exe_public:_void____thiscall_DuiLib::CStdPtrArray::operator___int_const
mov ecx, dword [eax + 8]
mov dword [ebp - 0x14], eax
cmp ecx, dword [ebx + 0xb4]
jne 0x50de94
movzx ecx, si
cmp dword [eax + 0xc], ecx
jne 0x50de94
cmp byte [eax + 0x10], 0
je 0x50dea8
inc dword [ebp - 0x20]
mov ecx, edi
call sym.mininews.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
cmp dword [ebp - 0x20], eax
jl 0x50de6e
jmp 0x50f05b
mov esi, dword [ebp - 0x14]
push 7
xor eax, eax
pop ecx
lea edi, [ebp + 0xe8]
rep stosd dword es:[edi], eax
mov eax, dword [esi]
mov dword [ebp + 0xe4], 0x1b
mov dword [ebp + 0xe8], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0xec], eax
mov eax, dword [ebx + 0x204]
mov dword [ebp + 0xf0], eax
mov eax, dword [ebx + 0x208]
mov dword [ebp + 0xf4], eax
call fcn.005082fb
mov ecx, dword [esi]
mov word [ebp + 0xfa], ax
mov eax, dword [esi + 4]
mov dword [ebp + 0xfc], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp + 0x100], eax
mov eax, dword [ecx]
lea edx, [ebp + 0xe4]
push edx
jmp 0x50f055
cmp dword [ebp - 0x10], 0
je 0x50f05b
push dword [ebp - 0x10]
push esi
push 0x2111
push dword [ebp - 0x10]
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [ebp - 0x24]
mov dword [ecx], eax
test eax, eax
je 0x50f05b
jmp 0x50d3a0
mov edx, dword [ebx + 0x1f4]
test edx, edx
je 0x50f05b
xor eax, eax
push 7
pop ecx
lea edi, [ebp + 0xe8]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp + 0x100], eax
mov eax, dword [ebx + 0x204]
mov dword [ebp + 0xf0], eax
mov eax, dword [ebx + 0x208]
mov dword [ebp + 0xe4], 5
mov dword [ebp + 0xe8], edx
mov dword [ebp + 0xfc], esi
mov word [ebp + 0xf8], si
mov dword [ebp + 0xf4], eax
call fcn.005082fb
mov word [ebp + 0xfa], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, dword [ebx + 0x1f4]
jmp 0x50f044
mov edx, dword [ebx + 0x200]
test edx, edx
je 0x50f05b
xor eax, eax
push 7
pop ecx
lea edi, [ebp + 0xe8]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp + 0x100], eax
mov eax, dword [ebx + 0x204]
mov dword [ebp + 0xf0], eax
mov eax, dword [ebx + 0x208]
mov dword [ebp + 0xe4], 4
mov dword [ebp + 0xe8], edx
mov dword [ebp + 0xfc], esi
mov word [ebp + 0xf8], si
mov dword [ebp + 0xf4], eax
call fcn.005082fb
mov word [ebp + 0xfa], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x200]
lea edx, [ebp + 0xe4]
mov dword [ebp + 0xec], eax
mov eax, dword [ecx]
push edx
call dword [eax + 0x12c]
and dword [ebx + 0x200], 0
jmp 0x50f05b
mov edx, dword [ebx + 0x1f4]
test edx, edx
je 0x50f05b
xor eax, eax
push 7
pop ecx
lea edi, [ebp + 0xe8]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp + 0x100], eax
mov eax, dword [ebx + 0x204]
mov dword [ebp + 0xf0], eax
mov eax, dword [ebx + 0x208]
mov dword [ebp + 0xe4], 3
mov dword [ebp + 0xe8], edx
mov dword [ebp + 0xfc], esi
mov word [ebp + 0xf8], si
mov dword [ebp + 0xf4], eax
call fcn.005082fb
mov word [ebp + 0xfa], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x1f4]
lea edx, [ebp + 0xe4]
mov dword [ebp + 0xec], eax
mov eax, dword [ecx]
push edx
call dword [eax + 0x12c]
mov eax, dword [ebx + 0x1f4]
mov dword [ebx + 0x200], eax
jmp 0x50f05b
mov eax, dword [ebp - 0x10]
movsx ecx, ax
shr eax, 0x10
cwde
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x18]
push eax
push dword [ebx + 0xb4]
mov dword [ebp - 0x18], ecx
call dword [sym.imp.USER32.dll_ScreenToClient]
cmp dword [ebx + 0x1fc], 0
mov eax, dword [ebp - 0x18]
mov dword [ebx + 0x204], eax
mov eax, dword [ebp - 0x14]
mov dword [ebx + 0x208], eax
je 0x50f05b
mov ecx, ebx
call sym.mininews.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::ReleaseCapture_void_
push 7
xor eax, eax
pop ecx
lea edi, [ebp + 0xe8]
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebx + 0x1fc]
mov dword [ebp + 0xf0], ecx
mov ecx, dword [ebp - 0x14]
mov dword [ebp + 0xe4], 0x14
mov dword [ebp + 0xe8], eax
mov dword [ebp + 0xfc], esi
mov dword [ebp + 0xf4], ecx
mov word [ebp + 0xfa], si
mov dword [ebp + 0x100], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x1fc]
lea edx, [ebp + 0xe4]
mov dword [ebp + 0xec], eax
mov eax, dword [ecx]
push edx
call dword [eax + 0x12c]
and dword [ebx + 0x1fc], 0
jmp 0x50f05b
mov eax, 0x207
cmp edi, eax
ja 0x50ea10
je 0x50e994
mov eax, edi
sub eax, 0x138
je 0x50e977
sub eax, 0xc8
je 0x50e593
dec eax
je 0x50e475
dec eax
je 0x50e3e1
dec eax
je 0x50e319
dec eax
je 0x50e249
dec eax
jne 0x50f05b
mov ecx, ebx
call sym.mininews.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::ReleaseCapture_void_
mov ecx, dword [ebp - 0x10]
movsx eax, word [ebp - 0x10]
shr ecx, 0x10
movsx ecx, cx
push ecx
mov dword [ebp - 0x14], ecx
mov dword [ebx + 0x208], ecx
push eax
mov ecx, ebx
mov dword [ebp - 0x18], eax
mov dword [ebx + 0x204], eax
call sym.mininews.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_struct_tagPOINT_const
mov edx, eax
mov dword [ebx + 0x1fc], edx
test edx, edx
je 0x50f05b
push 7
pop ecx
xor eax, eax
lea edi, [ebp + 0xe8]
rep stosd dword es:[edi], eax
mov dword [ebp + 0xe4], 0x10
jmp 0x50f00a
push dword [ebx + 0xb4]
call dword [sym.imp.USER32.dll_SetFocus]
mov ecx, dword [ebp - 0x10]
movsx eax, word [ebp - 0x10]
shr ecx, 0x10
movsx ecx, cx
push ecx
mov dword [ebp - 0x14], ecx
mov dword [ebx + 0x208], ecx
push eax
mov ecx, ebx
mov dword [ebp - 0x18], eax
mov dword [ebx + 0x204], eax
call sym.mininews.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_struct_tagPOINT_const
mov dword [ebp - 0x30], eax
test eax, eax
je 0x50f05b
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x1c]
cmp eax, ebx
jne 0x50f05b
mov ecx, dword [ebp - 0x30]
mov eax, dword [ecx]
call dword [eax + 0x114]
mov ecx, ebx
call sym.mininews.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::SetCapture_void_
push 7
pop ecx
xor eax, eax
lea edi, [ebp + 0xe8]
rep stosd dword es:[edi], eax
mov dword [ebp + 0xe4], 0xf
mov eax, dword [ebp - 0x10]
mov edi, dword [ebp - 0x30]
mov dword [ebp + 0x100], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp + 0xf0], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp + 0xe8], edi
mov dword [ebp + 0xfc], esi
mov dword [ebp + 0xf4], eax
mov word [ebp + 0xfa], si
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea ecx, [ebp + 0xe4]
mov dword [ebp + 0xec], eax
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0x12c]
mov dword [ebx + 0x1fc], edi
jmp 0x50f05b
push dword [ebx + 0xb4]
call dword [sym.imp.USER32.dll_SetFocus]
mov ecx, ebx
call sym.mininews.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::SetCapture_void_
mov ecx, dword [ebp - 0x10]
movsx eax, word [ebp - 0x10]
shr ecx, 0x10
movsx ecx, cx
push ecx
mov dword [ebp - 0x14], ecx
mov dword [ebx + 0x208], ecx
push eax
mov ecx, ebx
mov dword [ebp - 0x18], eax
mov dword [ebx + 0x204], eax
call sym.mininews.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_struct_tagPOINT_const
mov dword [ebp - 0x30], eax
test eax, eax
je 0x50f05b
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x1c]
cmp eax, ebx
jne 0x50f05b
xor eax, eax
push 7
pop ecx
lea edi, [ebp + 0xe8]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp + 0xe8], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp + 0xf0], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp + 0xf4], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp + 0xe4], 0x13
mov dword [ebp + 0xfc], esi
mov dword [ebp + 0x100], eax
mov word [ebp + 0xfa], si
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, dword [ebp - 0x30]
lea ecx, [ebp + 0xe4]
mov dword [ebp + 0xec], eax
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x12c]
mov dword [ebx + 0x1fc], esi
jmp 0x50f05b
mov ecx, ebx
call sym.mininews.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::ReleaseCapture_void_
mov eax, dword [ebp - 0x10]
movsx edx, word [ebp - 0x10]
shr eax, 0x10
cmp dword [ebx + 0x1fc], 0
cwde
mov dword [ebp - 0x14], eax
mov dword [ebx + 0x204], edx
mov dword [ebx + 0x208], eax
je 0x50f05b
xor eax, eax
push 7
pop ecx
lea edi, [ebp + 0xe8]
rep stosd dword es:[edi], eax
mov eax, dword [ebx + 0x1fc]
mov dword [ebp + 0xe8], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp + 0x100], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp + 0xe4], 0xe
mov dword [ebp + 0xfc], esi
mov dword [ebp + 0xf0], edx
mov dword [ebp + 0xf4], eax
mov word [ebp + 0xfa], si
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x1fc]
and dword [ebx + 0x1fc], 0
mov dword [ebp + 0xec], eax
jmp 0x50df0e
push dword [ebx + 0xb4]
call dword [sym.imp.USER32.dll_SetFocus]
mov ecx, dword [ebp - 0x10]
movsx eax, word [ebp - 0x10]
shr ecx, 0x10
movsx ecx, cx
push ecx
mov dword [ebp - 0x5c], ecx
mov dword [ebx + 0x208], ecx
push eax
mov ecx, ebx
mov dword [ebp - 0x60], eax
mov dword [ebx + 0x204], eax
call sym.mininews.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_struct_tagPOINT_const
mov edi, eax
mov dword [ebp - 0x20], edi
test edi, edi
je 0x50f05b
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x1c]
cmp eax, ebx
jne 0x50f05b
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x38]
test al, al
je 0x50e517
mov eax, dword [ebx + 0x440]
mov byte [ebx + 0x43c], 1
test eax, eax
je 0x50e4ef
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
and dword [ebx + 0x440], 0
mov ecx, dword [ebp - 0x20]
mov eax, dword [ecx]
call dword [eax + 0x50]
sub esp, 0x10
mov edi, esp
push dword [ebp - 0x20]
mov esi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ebx
movsd dword es:[edi], dword [esi]
call sym.mininews.exe_public:_static_struct_HBITMAP______cdecl_DuiLib::CRenderEngine::GenerateBitmap_class_DuiLib::CPaintManagerUI___class_DuiLib::CControlUI___struct_tagRECT_
mov esi, dword [ebp - 0x14]
add esp, 0x18
mov dword [ebx + 0x440], eax
mov ecx, ebx
call sym.mininews.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::SetCapture_void_
mov ecx, dword [ebp - 0x20]
mov dword [ebx + 0x1fc], ecx
mov eax, dword [ecx]
call dword [eax + 0x114]
xor eax, eax
push 7
pop ecx
lea edi, [ebp + 0xe8]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x10]
mov edi, dword [ebp - 0x20]
mov dword [ebp + 0x100], eax
mov eax, dword [ebp - 0x60]
mov dword [ebp + 0xf0], eax
mov eax, dword [ebp - 0x5c]
mov dword [ebp + 0xe4], 0xd
mov dword [ebp + 0xe8], edi
mov dword [ebp + 0xfc], esi
mov dword [ebp + 0xf4], eax
mov word [ebp + 0xfa], si
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea ecx, [ebp + 0xe4]
mov dword [ebp + 0xec], eax
mov eax, dword [edi]
push ecx
mov ecx, edi
jmp 0x50f055
cmp byte [ebx + 0x27c], 0
push 3
pop ecx
jne 0x50e5f0
xor eax, eax
lea edi, [ebp - 0x50]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [ebx + 0xb4]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebx + 0xe8]
mov dword [ebp - 0x54], 0x10
mov dword [ebp - 0x50], ecx
test eax, eax
jne 0x50e5cd
mov dword [ebp - 0x48], 0x190
jmp 0x50e5df
push 0
push ecx
push 0x415
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x54]
push eax
call dword [sym.imp.COMCTL32.dll__TrackMouseEvent]
mov byte [ebx + 0x27c], 1
mov eax, dword [ebp - 0x10]
movsx ecx, word [ebp - 0x10]
shr eax, 0x10
movsx edx, ax
lea eax, [ebx + 0x204]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], edx
mov byte [ebp - 0x19], 1
cmp dword [eax], ecx
jne 0x50e61d
cmp dword [ebx + 0x208], edx
jne 0x50e61d
mov byte [ebp - 0x19], 0
push edx
mov dword [eax], ecx
push ecx
mov ecx, ebx
mov dword [eax + 4], edx
call sym.mininews.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_struct_tagPOINT_const
mov dword [ebp - 0x30], eax
test eax, eax
je 0x50e641
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x1c]
cmp eax, ebx
jne 0x50f05b
cmp byte [ebp - 0x19], 0
je 0x50e865
cmp byte [ebx + 0x43c], 0
je 0x50e865
xor edi, edi
inc edi
cmp esi, edi
jne 0x50e865
call dword [sym.imp.USER32.dll_ReleaseCapture]
push 0xc
call fcn.005910d6
pop ecx
test eax, eax
je 0x50e685
and dword [eax + 4], 0
mov dword [eax], vtable.DuiLib::CIDropSource.0
mov byte [eax + 8], 0
jmp 0x50e687
xor eax, eax
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x50f05b
mov ecx, dword [eax]
push eax
call dword [ecx + 4]
push 0x3c
call fcn.005910d6
pop ecx
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], edi
test eax, eax
je 0x50e6b8
push dword [ebp - 0x2c]
mov ecx, eax
call sym.mininews.exe_public:_void___thiscall_DuiLib::CIDataObject::constructor_class_DuiLib::CIDropSource__
mov esi, eax
jmp 0x50e6ba
xor esi, esi
or dword [ebp - 4], 0xffffffff
test esi, esi
je 0x50f05b
mov eax, dword [esi]
push esi
call dword [eax + 4]
xor eax, eax
lea edi, [ebp - 0x90]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
or dword [ebp - 0x88], 0xffffffff
xor eax, eax
push 2
lea edi, [ebp - 0x3c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
pop eax
push 0x10
mov word [ebp - 0x94], ax
pop eax
xor edi, edi
push edi
push 2
push dword [ebx + 0x440]
mov dword [ebp - 0x8c], 1
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x40], eax
call dword [sym.imp.ole32.dll_OleDuplicateData]
push edi
lea ecx, [ebp - 0x40]
push ecx
lea ecx, [ebp - 0x94]
push ecx
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x3c], eax
mov eax, dword [esi]
push esi
call dword [eax + 0x1c]
lea eax, [ebp - 0x78]
push eax
push 0x18
push dword [ebp - 0x58]
call dword [sym.imp.GDI32.dll_GetObjectW]
mov eax, dword [ebp - 0x74]
push 0xe
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x48], eax
pop eax
push edi
push edi
push edi
push dword [ebx + 0xb8]
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x50], edi
mov word [ebp - 0x94], ax
mov dword [ebp - 0x84], 0x40
call dword [sym.imp.GDI32.dll_CreateEnhMetaFileW]
push dword [ebx + 0xb8]
mov dword [ebp - 0x30], eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push dword [ebp - 0x58]
mov dword [ebp - 0x28], eax
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
push 0xcc0020
push edi
push edi
push dword [ebp - 0x28]
mov dword [ebp - 0x14], eax
push dword [ebp - 0x48]
push dword [ebp - 0x4c]
push edi
push edi
push dword [ebp - 0x30]
call dword [sym.imp.GDI32.dll_BitBlt]
push dword [ebp - 0x14]
push dword [ebp - 0x28]
call dword [sym.imp.GDI32.dll_SelectObject]
push dword [ebp - 0x30]
call dword [sym.imp.GDI32.dll_CloseEnhMetaFile]
mov dword [ebp - 0x3c], eax
push dword [ebp - 0x28]
call dword [sym.imp.GDI32.dll_DeleteDC]
push 1
lea ecx, [ebp - 0x40]
push ecx
lea ecx, [ebp - 0x94]
push ecx
mov dword [ebp - 0x40], 0x40
mov eax, dword [esi]
push esi
call dword [eax + 0x1c]
lea ecx, [ebp - 0x80]
call sym.mininews.exe_public:_void___thiscall_DuiLib::CDragSourceHelper::constructor_void_
xor eax, eax
lea edi, [ebp - 0x14]
stosd dword es:[edi], eax
mov eax, dword [ebp - 0x74]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x70]
cdq
sub eax, edx
sar eax, 1
push 5
mov dword [ebp - 4], 2
mov dword [ebp - 0x14], eax
call dword [sym.imp.USER32.dll_GetSysColor]
push eax
push esi
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x58]
lea ecx, [ebp - 0x80]
call sym.mininews.exe_public:_long_int___thiscall_DuiLib::CDragSourceHelper::InitializeFromBitmap_struct_HBITMAP_____struct_tagPOINT___struct_tagRECT___struct_IDataObject___unsigned_long_int_
mov edi, dword [ebp - 0x2c]
lea eax, [ebp - 0x5c]
push eax
push 3
push edi
push esi
call dword [sym.imp.ole32.dll_DoDragDrop]
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov eax, dword [esi]
push esi
call dword [eax + 8]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x80]
mov byte [ebx + 0x43c], 0
call sym.mininews.exe_public_virtual:_void___thiscall_DuiLib::CDragSourceHelper::destructor_void_
jmp 0x50f05b
and dword [ebp + 0xe4], 0
xor eax, eax
push 7
pop ecx
lea edi, [ebp + 0xe8]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp + 0xf0], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp + 0xf4], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp + 0xfc], esi
mov dword [ebp + 0x100], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x1f8]
mov dword [ebp + 0xec], eax
cmp dword [ebp - 0x30], ecx
je 0x50e8fa
test ecx, ecx
je 0x50e8fa
lea edx, [ebp + 0xe4]
mov dword [ebp + 0xe4], 0xa
mov dword [ebp + 0xe8], ecx
mov eax, dword [ecx]
push edx
call dword [eax + 0x12c]
mov eax, dword [ebx + 0xe8]
and dword [ebx + 0x1f8], 0
test eax, eax
je 0x50e8fa
lea ecx, [ebx + 0xec]
push ecx
push 0
push 0x411
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov esi, dword [ebp - 0x30]
cmp esi, dword [ebx + 0x1f8]
je 0x50e930
test esi, esi
je 0x50e930
lea ecx, [ebp + 0xe4]
mov dword [ebp + 0xe4], 0xb
mov dword [ebp + 0xe8], esi
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x12c]
mov dword [ebx + 0x1f8], esi
mov ebx, dword [ebx + 0x1fc]
test ebx, ebx
je 0x50e94f
mov dword [ebp + 0xe4], 9
mov dword [ebp + 0xe8], ebx
jmp 0x50f04a
test esi, esi
je 0x50f05b
lea ecx, [ebp + 0xe4]
mov dword [ebp + 0xe4], 9
mov dword [ebp + 0xe8], esi
mov eax, dword [esi]
push ecx
mov ecx, esi
jmp 0x50f055
cmp dword [ebp - 0x10], 0
je 0x50f05b
push dword [ebp - 0x10]
add edi, 0x2000
push esi
push edi
push dword [ebp - 0x10]
jmp 0x50ddeb
push dword [ebx + 0xb4]
call dword [sym.imp.USER32.dll_SetFocus]
mov ecx, dword [ebp - 0x10]
movsx eax, word [ebp - 0x10]
shr ecx, 0x10
movsx ecx, cx
push ecx
mov dword [ebp - 0x14], ecx
mov dword [ebx + 0x208], ecx
push eax
mov ecx, ebx
mov dword [ebp - 0x18], eax
mov dword [ebx + 0x204], eax
call sym.mininews.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_struct_tagPOINT_const
mov dword [ebp - 0x30], eax
test eax, eax
je 0x50f05b
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x1c]
cmp eax, ebx
jne 0x50f05b
mov ecx, dword [ebp - 0x30]
mov eax, dword [ecx]
call dword [eax + 0x114]
mov ecx, ebx
call sym.mininews.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::SetCapture_void_
push 7
pop ecx
xor eax, eax
lea edi, [ebp + 0xe8]
rep stosd dword es:[edi], eax
mov dword [ebp + 0xe4], 0x11
jmp 0x50e2c0
sub edi, 0x208
je 0x50efb8
dec edi
dec edi
je 0x50eed2
sub edi, 0x97
je 0x50eced
dec edi
dec edi
je 0x50ebfb
sub edi, 0x75
je 0x50eb20
sub edi, 0x7ce9
jne 0x50f05b
lea esi, [ebx + 0x2d4]
mov ecx, esi
call sym.mininews.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
test eax, eax
jle 0x50ea7e
push edi
mov ecx, esi
call sym.mininews.exe_public:_void____thiscall_DuiLib::CStdPtrArray::operator___int_const
test eax, eax
je 0x50ea72
mov edx, dword [eax]
push 1
mov ecx, eax
call dword [edx]
mov ecx, esi
inc edi
call sym.mininews.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
cmp edi, eax
jl 0x50ea5e
mov ecx, esi
call sym.mininews.exe_public:_void___thiscall_DuiLib::CStdPtrArray::Empty_void_
lea edi, [ebx + 0x2e0]
push 0
mov ecx, edi
call sym.mininews.exe_public:_void____thiscall_DuiLib::CStdPtrArray::GetAt_int_const
mov esi, eax
test esi, esi
je 0x50f05b
add ebx, 0x280
mov dword [ebp - 0x28], ebx
push 0
mov ecx, edi
call sym.mininews.exe_public:_bool___thiscall_DuiLib::CStdPtrArray::Remove_int_
lea ebx, [esi + 0x108]
mov eax, dword [ebx]
test eax, eax
je 0x50ead3
lea ecx, [eax + 0x38]
call sym.mininews.exe_public:_bool___thiscall_DuiLib::CEventSource::operator_bool_void_
test al, al
je 0x50ead3
mov ecx, dword [ebx]
push esi
add ecx, 0x38
call sym.mininews.exe_public:_bool___thiscall_DuiLib::CEventSource::operator___void__
mov ecx, dword [ebp - 0x28]
xor ebx, ebx
call sym.mininews.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
test eax, eax
jle 0x50eafe
mov ecx, dword [ebp - 0x28]
push ebx
call sym.mininews.exe_public:_void____thiscall_DuiLib::CStdPtrArray::operator___int_const
mov edx, dword [eax]
push esi
mov ecx, eax
call dword [edx]
mov ecx, dword [ebp - 0x28]
inc ebx
call sym.mininews.exe_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::operator_struct_HWND____void_const
cmp ebx, eax
jl 0x50eae1
mov ecx, esi
call fcn.005083bf
push esi
call fcn.0059085a
pop ecx
push 0
mov ecx, edi
call sym.mininews.exe_public:_void____thiscall_DuiLib::CStdPtrArray::GetAt_int_const
mov esi, eax
test esi, esi
jne 0x50eaa7
jmp 0x50f05b
lea edi, [ebx + 0x1f0]
cmp dword [edi], 0
je 0x50f05b
lea eax, [ebp - 0x90]
push eax
push dword [ebx + 0xb4]
call dword [sym.imp.USER32.dll_GetClientRect]
push esi
call dword [sym.imp.GDI32.dll_SaveDC]
mov ecx, dword [edi]
lea edx, [ebp - 0x90]
push edx
mov dword [ebp - 0x5c], eax
mov eax, dword [ecx]
push esi
call dword [eax + 0x13c]
test byte [ebp - 0x10], 0x10
je 0x50ebec
push 5
push dword [ebx + 0xb4]
call dword [sym.imp.USER32.dll_GetWindow]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x50ebec
mov eax, dword [ebp - 0x10]
or eax, 2
mov dword [ebp - 0x14], eax
and dword [ebp - 0x54], 0
xor eax, eax
lea edi, [ebp - 0x50]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x54]
push eax
push dword [ebp - 0x20]
call dword [sym.imp.USER32.dll_GetWindowRect]
push 2
lea eax, [ebp - 0x54]
push eax
push dword [ebx + 0xb4]
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
mov eax, dword [ebp - 0x50]
push 0
neg eax
push eax
mov eax, dword [ebp - 0x54]
neg eax
push eax
push esi
call dword [sym.imp.GDI32.dll_SetWindowOrgEx]
push dword [ebp - 0x14]
push esi
push 0x317
push dword [ebp - 0x20]
call dword [sym.imp.USER32.dll_SendMessageW]
push 2
push dword [ebp - 0x20]
call dword [sym.imp.USER32.dll_GetWindow]
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x50eb86
push dword [ebp - 0x5c]
push esi
call dword [sym.imp.GDI32.dll_RestoreDC]
jmp 0x50f05b
mov eax, dword [ebx + 0xe8]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
je 0x50ec1c
lea ecx, [ebx + 0xec]
push ecx
push 0
push 0x411
push eax
call esi
cmp byte [ebx + 0x27c], 0
je 0x50ece1
and dword [ebp - 0x18], 0
xor eax, eax
and dword [ebp - 0x54], eax
lea edi, [ebp - 0x14]
stosd dword es:[edi], eax
lea edi, [ebp - 0x50]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
lea eax, [ebp - 0x54]
push eax
push dword [ebx + 0xb4]
call dword [sym.imp.USER32.dll_GetWindowRect]
push dword [ebx + 0xb4]
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x50ecd0
call dword [sym.imp.USER32.dll_GetActiveWindow]
cmp eax, dword [ebx + 0xb4]
jne 0x50ecd0
push dword [ebp - 0x14]
lea eax, [ebp - 0x54]
push dword [ebp - 0x18]
push eax
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x50ecd0
movzx eax, word [ebp - 0x14]
movzx ecx, word [ebp - 0x18]
shl eax, 0x10
or eax, ecx
push eax
xor edi, edi
push edi
push 0x84
push dword [ebx + 0xb4]
call esi
cmp eax, 1
jne 0x50eccc
lea eax, [ebp - 0x18]
push eax
push dword [ebx + 0xb4]
call dword [sym.imp.USER32.dll_ScreenToClient]
movzx eax, word [ebp - 0x14]
movzx ecx, word [ebp - 0x18]
shl eax, 0x10
or eax, ecx
push eax
push edi
jmp 0x50ecd4
push 0xffffffffffffffff
jmp 0x50ecc9
push 0xffffffffffffffff
push 0
push 0x200
push dword [ebx + 0xb4]
call esi
mov byte [ebx + 0x27c], 0
jmp 0x50f05b
mov ecx, dword [ebp - 0x10]
movsx eax, word [ebp - 0x10]
shr ecx, 0x10
movsx ecx, cx
push ecx
mov dword [ebp - 0x14], ecx
push eax
mov ecx, ebx
mov byte [ebx + 0x27c], 0
mov dword [ebp - 0x18], eax
call sym.mininews.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_struct_tagPOINT_const
mov dword [ebp - 0x28], eax
test eax, eax
je 0x50f05b
mov edx, dword [ebx + 0x1f8]
test edx, edx
je 0x50ed90
push 7
xor eax, eax
pop ecx
lea edi, [ebp + 0xe8]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp + 0xe4], 0xc
mov dword [ebp + 0xe8], edx
mov dword [ebp + 0xfc], esi
mov dword [ebp + 0x100], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0xec], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp + 0xf0], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp + 0xf4], eax
call fcn.005082fb
mov ecx, dword [ebx + 0x1f8]
lea edx, [ebp + 0xe4]
mov word [ebp + 0xfa], ax
mov eax, dword [ecx]
push edx
call dword [eax + 0x12c]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx]
lea edx, [ebp]
push edx
call dword [eax + 0xb4]
and dword [ebp - 4], 0
lea ecx, [ebp]
call sym.mininews.exe_public:_bool___thiscall_DuiLib::CDuiString::IsEmpty_void_const
test al, al
je 0x50edc0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp]
call sym.mininews.exe_public:_void___thiscall_DuiLib::CDuiString::destructor_void_
jmp 0x50d3a0
push 0x30
pop edi
push edi
lea esi, [ebx + 0xec]
push 0
push esi
call fcn.00591690
mov eax, dword [ebx + 0xb4]
mov dword [esi], edi
mov dword [ebx + 0xf0], 1
mov dword [ebx + 0xf4], eax
mov dword [ebx + 0xf8], eax
mov eax, dword [sym.mininews.exe_struct_HINSTANCE____DuiLib::CPaintManagerUI::m_hInstance]
add esp, 0xc
lea ecx, [ebp]
mov dword [ebx + 0x10c], eax
call sym.mininews.exe_public:_wchar_t_const____thiscall_DuiLib::CDuiString::operator_wchar_t_const__void_const
mov ecx, dword [ebp - 0x28]
mov dword [ebx + 0x110], eax
mov eax, dword [ecx]
call dword [eax + 0x50]
cmp dword [ebx + 0xe8], 0
lea edi, [ebx + 0xfc]
mov esi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
jne 0x50ee8c
xor edi, edi
push edi
push dword [sym.mininews.exe_struct_HINSTANCE____DuiLib::CPaintManagerUI::m_hInstance]
mov eax, SysReAllocStringLen
push edi
push dword [ebx + 0xb4]
push eax
push eax
push eax
push eax
push reloc.WS2_32.dll_closesocket
push edi
push str.tooltips_class32
push edi
call dword [sym.imp.USER32.dll_CreateWindowExW]
lea ecx, [ebx + 0xec]
push ecx
push edi
push 0x432
push eax
mov dword [ebx + 0xe8], eax
call esi
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx]
call dword [eax + 0xc0]
push eax
push edi
push 0x418
push dword [ebx + 0xe8]
call esi
jmp 0x50ee8e
xor edi, edi
push dword [ebx + 0xe8]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x50edaf
lea eax, [ebx + 0xec]
push eax
push edi
push 0x436
push dword [ebx + 0xe8]
call esi
lea eax, [ebx + 0xec]
push eax
push 1
push 0x411
push dword [ebx + 0xe8]
call esi
jmp 0x50edaf
movsx eax, word [ebp - 0x10]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x10]
shr eax, 0x10
cwde
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x18]
push eax
push dword [ebx + 0xb4]
call dword [sym.imp.USER32.dll_ScreenToClient]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
push ecx
mov dword [ebx + 0x208], ecx
push eax
mov ecx, ebx
mov dword [ebx + 0x204], eax
call sym.mininews.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_struct_tagPOINT_const
mov dword [ebp - 0x30], eax
test eax, eax
je 0x50f05b
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x1c]
cmp eax, ebx
jne 0x50f05b
xor eax, eax
push 7
pop ecx
lea edi, [ebp + 0xe8]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp + 0xe8], eax
xor eax, eax
shr esi, 0x10
test si, si
setl al
mov dword [ebp + 0xe4], 0x15
mov dword [ebp + 0xfc], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp + 0x100], eax
call fcn.005082fb
mov word [ebp + 0xfa], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebp - 0x30]
lea edx, [ebp + 0xe4]
mov dword [ebp + 0xec], eax
mov eax, dword [ecx]
push edx
call dword [eax + 0x12c]
movzx eax, word [ebx + 0x208]
movzx ecx, word [ebx + 0x204]
shl eax, 0x10
or eax, ecx
push eax
push 0
push 0x200
push dword [ebx + 0xb4]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x50f05b
mov ecx, ebx
call sym.mininews.exe_public:_void___thiscall_DuiLib::CPaintManagerUI::ReleaseCapture_void_
mov ecx, dword [ebp - 0x10]
movsx eax, word [ebp - 0x10]
shr ecx, 0x10
movsx ecx, cx
push ecx
mov dword [ebp - 0x14], ecx
mov dword [ebx + 0x208], ecx
push eax
mov ecx, ebx
mov dword [ebp - 0x18], eax
mov dword [ebx + 0x204], eax
call sym.mininews.exe_public:_class_DuiLib::CControlUI____thiscall_DuiLib::CPaintManagerUI::FindControl_struct_tagPOINT_const
mov edx, eax
mov dword [ebx + 0x1fc], edx
test edx, edx
je 0x50f05b
push 7
pop ecx
xor eax, eax
lea edi, [ebp + 0xe8]
rep stosd dword es:[edi], eax
mov dword [ebp + 0xe4], 0x12
mov eax, dword [ebp - 0x10]
mov dword [ebp + 0x100], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp + 0xf0], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp + 0xe8], edx
mov dword [ebp + 0xfc], esi
mov dword [ebp + 0xf4], eax
mov word [ebp + 0xfa], si
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, dword [ebx + 0x1fc]
mov dword [ebp + 0xec], eax
lea ecx, [ebp + 0xe4]
mov eax, dword [ebx]
push ecx
mov ecx, ebx
call dword [eax + 0x12c]
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x104]
xor ecx, ebp
call fcn.00590c4b
add ebp, 0x108
leave
ret 0x10