Function at 0x67865060
Capabilities:
Open clipboard
Write clipboard data

Disassembly:
push 0xffffffffffffffff
push 0x679856c0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x5c
mov dword [esp], ecx
mov ecx, dword [ecx + 0x98]
push esi
push edi
mov edi, dword [ecx + 0x58]
test edi, edi
je 0x678653ee
mov esi, dword [edi + 0x94]
test esi, esi
je 0x6786509d
mov eax, esi
jmp 0x678650c3
mov eax, dword [edi + 0x8c]
test eax, eax
jg 0x678650cb
mov edx, dword [edi + 0x164]
test edx, edx
je 0x678650bd
mov eax, dword [edx + 0x2c]
test eax, eax
jg 0x678650cb
mov eax, dword [edx + 0x28]
jmp 0x678650c3
mov eax, dword [edi + 0x88]
test eax, eax
je 0x678653ee
test esi, esi
jne 0x678650f5
mov esi, dword [edi + 0x8c]
test esi, esi
jg 0x678650f5
mov eax, dword [edi + 0x164]
test eax, eax
je 0x678650ef
mov esi, dword [eax + 0x2c]
test esi, esi
jg 0x678650f5
mov esi, dword [eax + 0x28]
jmp 0x678650f5
mov esi, dword [edi + 0x88]
call sym.MfcHlpr520.dll_public:_class_CMHPImageManager____thiscall_CMHPCommandBars::GetImageManager_void_const
mov edx, dword [eax]
push 0x10
push esi
mov ecx, eax
call dword [edx + 0x58]
mov esi, eax
test esi, esi
je 0x678653ee
lea ecx, [esp + 0x40]
call sym.MfcHlpr520.dll_public:_void___thiscall_CMHPImageManagerIconHandle::constructor_void_
mov ecx, esi
mov dword [esp + 0x6c], 0
call sym.MfcHlpr520.dll_public:_class_CMHPImageManagerIconHandle____thiscall_CMHPImageManagerIcon::GetIcon_void_
push eax
lea ecx, [esp + 0x44]
call sym.MfcHlpr520.dll_public:_void___thiscall_CMHPImageManagerIconHandle::CopyHandle_class_CMHPImageManagerIconHandle_const__
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x67995a04
lea ecx, [esp + 0x40]
mov byte [esp + 0x6c], 1
call sym.MfcHlpr520.dll_public:_int___thiscall_CMHPImageManagerIconHandle::IsAlpha_void_const
test eax, eax
jne 0x6786528b
lea eax, [esp + 0x14]
lea ecx, [esp + 0x40]
push eax
call sym.MfcHlpr520.dll_public:_class_CSize___thiscall_CMHPImageManagerIconHandle::GetExtent_void_
mov ecx, dword [esp + 8]
push ecx
lea ecx, [esp + 0x30]
call fcn.6797d9ac
lea ecx, [esp + 0x1c]
mov byte [esp + 0x6c], 2
call fcn.6797d946
mov esi, dword [esp + 0x30]
lea eax, [esp + 0x2c]
neg eax
sbb eax, eax
mov byte [esp + 0x6c], 3
and eax, esi
push eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push eax
lea ecx, [esp + 0x20]
call sub.MFC42.DLL_CDC::Attach
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x30]
push edx
push eax
push ecx
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
push eax
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CGdiObject::Attach
test eax, eax
jne 0x678651f5
lea ecx, [esp + 0x1c]
mov byte [esp + 0x6c], 2
call sub.MFC42.DLL_CDC::CDC
lea ecx, [esp + 0x2c]
mov byte [esp + 0x6c], 1
call sub.MFC42.DLL_CWindowDC::CWindowDC
mov dword [esp + 0xc], 0x67995a18
mov byte [esp + 0x6c], 4
jmp 0x678653cc
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
lea eax, [esp + 0xc]
neg eax
sbb eax, eax
and eax, esi
push eax
push edx
call sub.MFC42.DLL_CDC::SelectGdiObject
push 0xf
mov esi, eax
call dword [sym.imp.USER32.dll_GetSysColor]
mov ecx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x1c]
push eax
push ecx
push 0
push 0
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CDC::FillSolidRect
lea ecx, [esp + 0x40]
call sym.MfcHlpr520.dll_public:_unsigned_short_int_const____thiscall_CMHPResourceManager::CMHPA2W::operator_unsigned_short_int_const__void_const
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push 3
push edx
mov edx, dword [esp + 0x28]
push ecx
push 0
push 0
push 0
push eax
push 0
push 0
push edx
call dword [sym.imp.USER32.dll_DrawStateA]
test esi, esi
je 0x67865262
mov esi, dword [esi + 4]
mov eax, dword [esp + 0x20]
push esi
push eax
call sub.MFC42.DLL_CDC::SelectGdiObject
lea ecx, [esp + 0x1c]
mov byte [esp + 0x6c], 2
call sub.MFC42.DLL_CDC::CDC
lea ecx, [esp + 0x2c]
mov byte [esp + 0x6c], 1
call sub.MFC42.DLL_CWindowDC::CWindowDC
jmp 0x678652a9
push 0
lea ecx, [esp + 0x44]
call sym.MfcHlpr520.dll_public:_struct_HBITMAP______thiscall_CMHPImageManagerIconHandle::GetBitmap_void_const
push eax
call sym.MfcHlpr520.dll_public:_static_struct_HBITMAP______cdecl_CMHPImageManagerIcon::CopyAlphaBitmap_struct_HBITMAP_____unsigned_char___
add esp, 8
lea ecx, [esp + 0xc]
push eax
call sub.MFC42.DLL_CGdiObject::Attach
mov ecx, dword [esp + 8]
mov edx, dword [ecx + 0x20]
push edx
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
jne 0x678652cd
mov dword [esp + 0xc], 0x67995a18
mov byte [esp + 0x6c], 5
jmp 0x678653cc
call dword [sym.imp.USER32.dll_EmptyClipboard]
test eax, eax
jne 0x678652ef
call dword [sym.imp.USER32.dll_CloseClipboard]
mov dword [esp + 0xc], 0x67995a18
mov byte [esp + 0x6c], 6
jmp 0x678653cc
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CGdiObject::Detach
mov esi, dword [sym.imp.USER32.dll_SetClipboardData]
push eax
push 2
call esi
lea ecx, [esp + 0x40]
call sym.MfcHlpr520.dll_public:_int___thiscall_CMHPImageManagerIconHandle::IsAlpha_void_const
test eax, eax
je 0x6786532b
call sym.MfcHlpr520.dll_class_CMHPImageManager____cdecl_MHPImageManager_void_
push 1
push 2
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
push eax
xor eax, eax
mov ax, word [sym.MfcHlpr520.dll_unsigned_short_int_CMHPImageManager::m_nAlphaClipFormat]
push eax
call esi
mov eax, dword [edi + 0x94]
test eax, eax
jne 0x6786535b
mov eax, dword [edi + 0x8c]
test eax, eax
jg 0x6786535b
mov ecx, dword [edi + 0x164]
test ecx, ecx
je 0x67865355
mov eax, dword [ecx + 0x2c]
test eax, eax
jg 0x6786535b
mov eax, dword [ecx + 0x28]
jmp 0x6786535b
mov eax, dword [edi + 0x88]
mov esi, dword [esp + 8]
push eax
mov ecx, dword [esi + 0x98]
call sym.MfcHlpr520.dll_public:_class_CMHPImageManager____thiscall_CMHPCommandBars::GetImageManager_void_const
mov ecx, eax
call sym.MfcHlpr520.dll_public:_class_CMHPImageManagerIconSet____thiscall_CMHPImageManager::GetIconSet_unsigned_int_const
test eax, eax
je 0x678653b9
mov eax, dword [edi + 0x94]
test eax, eax
jne 0x678653a6
mov eax, dword [edi + 0x8c]
test eax, eax
jg 0x678653a6
mov ecx, dword [edi + 0x164]
test ecx, ecx
je 0x678653a0
mov eax, dword [ecx + 0x2c]
test eax, eax
jg 0x678653a6
mov eax, dword [ecx + 0x28]
jmp 0x678653a6
mov eax, dword [edi + 0x88]
mov ecx, dword [esi + 0x98]
push eax
call sym.MfcHlpr520.dll_public:_class_CMHPImageManager____thiscall_CMHPCommandBars::GetImageManager_void_const
mov ecx, eax
call sym.MfcHlpr520.dll_private:_void___thiscall_CMHPImageManager::CopyImage_unsigned_int_
call dword [sym.imp.USER32.dll_CloseClipboard]
mov dword [esp + 0xc], 0x67995a18
mov byte [esp + 0x6c], 7
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CGdiObject::DeleteObject
lea ecx, [esp + 0x40]
mov dword [esp + 0xc], 0x67995a40
mov dword [esp + 0x6c], 0xffffffff
call sym.MfcHlpr520.dll_public:_void___thiscall_CMHPImageManagerIconHandle::destructor_void_
mov ecx, dword [esp + 0x64]
pop edi
pop esi
mov dword fs:[0], ecx
add esp, 0x68
ret