Function at 0x678721c0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 8
push ebx
push ebp
mov ebp, dword [esp + 0x14]
push esi
mov ebx, ecx
xor esi, esi
mov ecx, ebp
mov dword [esp + 0xc], esi
call sym.MfcHlpr520.dll_public:_int___thiscall_CMHPCommandBarList::GetCount_void_const
test eax, eax
jle 0x6787236b
push edi
push esi
mov ecx, ebp
call sym.MfcHlpr520.dll_public:_class_CMHPCommandBar____thiscall_CMHPCommandBarList::GetAt_int_const
mov esi, eax
push esi
push sym.MfcHlpr520.dll_struct_CRuntimeClass_CMHPToolBar::classCMHPToolBar
call sub.MFC42.DLL_AfxDynamicDownCast
mov edi, eax
add esp, 8
test edi, edi
je 0x67872291
mov eax, dword [edi + 0xc4]
mov ecx, ebx
push eax
call sym.MfcHlpr520.dll_public:_class_CMHPToolBar____thiscall_CMHPCommandBars::GetToolBar_unsigned_int_const
mov ecx, dword [esp + 0x1c]
mov ebp, eax
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x168]
test ebp, ebp
je 0x6787223d
mov eax, dword [esp + 0x20]
mov edx, dword [ebp]
push eax
push esi
mov ecx, ebp
call dword [edx + 0x194]
jmp 0x6787234e
mov ebp, dword [ebx + 0x84]
lea esi, [ebx + 0x7c]
push 0xffffffffffffffff
lea ecx, [ebp + 1]
push ecx
mov ecx, esi
call fcn.678d8eb0
mov edx, dword [esi + 4]
lea eax, [edi + 4]
push eax
mov dword [edx + ebp*4], edi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov eax, dword [ebx + 0xa0]
mov edx, dword [edi]
push 0
push eax
mov ecx, edi
call dword [edx + 0x188]
mov ecx, dword [edi + 0xd8]
push ecx
mov ecx, edi
call sym.MfcHlpr520.dll_public:_void___thiscall_CMHPToolBar::EnableDocking_unsigned_long_int_
mov edx, dword [ebx]
push edi
mov ecx, ebx
call dword [edx + 0x7c]
jmp 0x6787234e
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x11c]
test eax, eax
je 0x6787234e
mov eax, dword [esi + 0x208]
test eax, eax
je 0x6787234e
mov eax, dword [esi + 0xc4]
mov ecx, dword [ebx + 0x78]
push eax
call sym.MfcHlpr520.dll_public:_class_CMHPCommandBar____thiscall_CMHPCommandBarList::FindCommandBar_unsigned_int_const
mov edx, dword [esi]
push ebp
mov ecx, esi
mov edi, eax
call dword [edx + 0x168]
test edi, edi
je 0x67872327
mov eax, dword [esi + 0xe8]
test eax, eax
mov dword [esp + 0x14], eax
je 0x678722e9
add eax, 4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov eax, dword [edi + 0xe8]
mov ebp, dword [eax + 0x3c]
test ebp, ebp
je 0x67872300
lea ecx, [ebp + 4]
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov edx, dword [esp + 0x14]
mov ecx, edi
push edx
call sym.MfcHlpr520.dll_public:_void___thiscall_CMHPCommandBar::SetControls_class_CMHPControls__
push 0
mov ecx, esi
call sym.MfcHlpr520.dll_public:_void___thiscall_CMHPCommandBar::SetControls_class_CMHPControls__
test ebp, ebp
je 0x6787234e
mov ecx, dword [edi + 0xe8]
push ebp
call sym.MfcHlpr520.dll_public:_void___thiscall_CMHPControls::SetOriginalControls_class_CMHPOriginalControls__
jmp 0x6787234e
mov ecx, dword [ebx + 0x78]
push esi
mov eax, dword [ecx]
call dword [eax + 0x58]
lea ecx, [esi + 4]
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov esi, dword [esi + 0xe8]
mov eax, dword [esi + 0x3c]
test eax, eax
jne 0x6787234e
mov ecx, esi
call sym.MfcHlpr520.dll_public:_void___thiscall_CMHPControls::CreateOriginalControls_void_
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0x1c]
inc esi
mov ecx, ebp
mov dword [esp + 0x10], esi
call sym.MfcHlpr520.dll_public:_int___thiscall_CMHPCommandBarList::GetCount_void_const
cmp esi, eax
jl 0x678721e2
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 8