Function at 0x67841140
Capabilities:
Log keystrokes via polling

Disassembly:
sub esp, 0x20
push ebx
push esi
push edi
mov edi, dword [esp + 0x30]
mov esi, ecx
cmp dword [edi + 4], 0x104
jne 0x678411fc
mov eax, dword [edi + 0xc]
shr eax, 0x10
test ah, 0x20
je 0x678411fc
call sym.MfcHlpr520.dll_public:_class_CMHPMouseManager____thiscall_CMHPCommandBars::GetMouseManager_void_const
mov ecx, dword [eax + 4]
test ecx, ecx
jg 0x678411fc
push 0
mov ecx, esi
call sym.MfcHlpr520.dll_public:_class_CMHPMouseManager____thiscall_CMHPCommandBars::GetMouseManager_void_const
mov ecx, eax
call sym.MfcHlpr520.dll_public:_int___thiscall_CMHPMouseManager::IsTrackedLock_class_CMHPCommandBar_const__
test eax, eax
jne 0x678411fc
mov ecx, esi
call sym.MfcHlpr520.dll_public:_class_CMHPMouseManager____thiscall_CMHPCommandBars::GetMouseManager_void_const
mov eax, dword [esi + 0xa0]
test eax, eax
je 0x678411a0
mov eax, dword [eax + 0x20]
push eax
call sym.MfcHlpr520.dll_public:_static_int___cdecl_CMHPMouseManager::IsTopParentActive_struct_HWND____
add esp, 4
test eax, eax
je 0x678411fc
cmp dword [edi + 8], 0x12
jne 0x678411c7
push 1
mov ecx, esi
call sym.MfcHlpr520.dll_public:_void___thiscall_CMHPCommandBars::ShowKeyboardCues_int_
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x20
ret 4
mov eax, dword [esi + 0x24]
test eax, eax
je 0x678411db
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
test ah, 0x80
jne 0x678411fc
mov eax, dword [edi + 8]
test eax, eax
je 0x678411fc
push eax
mov ecx, esi
call sym.MfcHlpr520.dll_public:_int___thiscall_CMHPCommandBars::OnFrameAccel_unsigned_int_
test eax, eax
je 0x678411fc
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x20
ret 4
mov eax, dword [edi + 4]
cmp eax, 0x105
je 0x6784120d
cmp eax, 0x101
jne 0x6784123d
mov eax, dword [esi + 0xc4]
test eax, eax
je 0x6784123d
mov eax, dword [esi + 0xb0]
test eax, eax
je 0x6784123d
push 0
mov ecx, esi
call sym.MfcHlpr520.dll_public:_class_CMHPMouseManager____thiscall_CMHPCommandBars::GetMouseManager_void_const
mov ecx, eax
call sym.MfcHlpr520.dll_public:_int___thiscall_CMHPMouseManager::IsTrackedLock_class_CMHPCommandBar_const__
test eax, eax
jne 0x6784123d
push eax
mov ecx, esi
call sym.MfcHlpr520.dll_public:_void___thiscall_CMHPCommandBars::ShowKeyboardCues_int_
mov eax, dword [edi + 4]
cmp eax, 0x7b
je 0x6784124c
cmp eax, 0x105
jne 0x6784128e
push 0
mov ecx, esi
call sym.MfcHlpr520.dll_public:_class_CMHPMouseManager____thiscall_CMHPCommandBars::GetMouseManager_void_const
mov ecx, eax
call sym.MfcHlpr520.dll_public:_int___thiscall_CMHPMouseManager::IsTrackedLock_class_CMHPCommandBar_const__
test eax, eax
je 0x6784128e
push 0x67839a30
mov ecx, sym.MfcHlpr520.dll_class_CThreadLocal_class_CMHPKeyboardManager__CMHPKeyboardManager::_mhpKeyboardThreadState
call sub.MFC42.DLL_CThreadLocalObject::GetData
mov ecx, dword [edi + 0xc]
mov edx, dword [edi + 8]
push ecx
push edx
push 0x7b
mov ecx, eax
call sym.MfcHlpr520.dll_public:_int___thiscall_CMHPKeyboardManager::ProcessKeyboardHooks_unsigned_int__unsigned_int__long_int_
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x20
ret 4
cmp dword [edi + 4], 0x20a
jne 0x6784134b
push 0x67839a30
mov ecx, sym.MfcHlpr520.dll_class_CThreadLocal_class_CMHPKeyboardManager__CMHPKeyboardManager::_mhpKeyboardThreadState
call sub.MFC42.DLL_CThreadLocalObject::GetData
mov ecx, dword [eax + 0x20]
test ecx, ecx
jle 0x678412dd
push 0x67839a30
mov ecx, sym.MfcHlpr520.dll_class_CThreadLocal_class_CMHPKeyboardManager__CMHPKeyboardManager::_mhpKeyboardThreadState
call sub.MFC42.DLL_CThreadLocalObject::GetData
mov ecx, dword [edi + 0xc]
mov edx, dword [edi + 8]
push ecx
push edx
push 0x20a
mov ecx, eax
call sym.MfcHlpr520.dll_public:_int___thiscall_CMHPKeyboardManager::ProcessKeyboardHooks_unsigned_int__unsigned_int__long_int_
pop edi
pop esi
pop ebx
add esp, 0x20
ret 4
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x58]
lea ecx, [esp + 0xc]
mov ebx, eax
push ecx
call dword [sym.imp.USER32.dll_GetCursorPos]
test ebx, ebx
je 0x6784134b
cmp dword [ebx + 0xe4], 3
jne 0x6784134b
mov edx, dword [esp + 0x10]
push ebp
mov ebp, dword [esp + 0x10]
push ebx
lea ecx, [esp + 0x24]
mov dword [esp + 0x20], edx
call sym.MfcHlpr520.dll_public:_void___thiscall_CMHPWindowRect::constructor_class_CWnd_const__
mov ecx, dword [esp + 0x1c]
push ecx
push ebp
push eax
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
pop ebp
je 0x6784134b
mov edx, dword [edi + 8]
xor eax, eax
shr edx, 0x10
test dx, dx
setle al
push eax
mov ecx, ebx
call sym.MfcHlpr520.dll_public:_void___thiscall_CMHPRibbonBar::SelectNextTab_int_
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x20
ret 4
mov eax, dword [edi + 4]
cmp eax, 0x100
jb 0x678411bc
cmp eax, 0x108
ja 0x678411bc
push edi
mov ecx, esi
call sym.MfcHlpr520.dll_public:_class_CMHPShortcutManager____thiscall_CMHPCommandBars::GetShortcutManager_void_const
mov ecx, eax
call sym.MfcHlpr520.dll_public:_int___thiscall_CMHPShortcutManager::TranslateAcceleratorA_struct_tagMSG__
test eax, eax
je 0x678411bc
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x20
ret 4