Function at 0x678982d0
Capabilities:
Log keystrokes via polling

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x67987b38
push eax
mov eax, dword [esp + 0x10]
mov dword fs:[0], esp
sub esp, 0xc
mov eax, dword [eax + 4]
push ebx
push ebp
push esi
cmp eax, 0x100
push edi
mov esi, ecx
je 0x6789830b
cmp eax, 0x104
mov dword [esp + 0x10], 0
jne 0x67898313
mov dword [esp + 0x10], 1
mov edi, dword [sym.imp.USER32.dll_GetKeyState]
push 0x11
call edi
mov bx, ax
push 0x12
and ebx, 0x8000
call edi
mov bp, ax
push 0x5b
and ebp, 0x8000
call edi
test ah, 0x80
jne 0x6789834d
push 0x5c
call edi
test ah, 0x80
mov dword [esp + 0x14], 0
je 0x67898355
mov dword [esp + 0x14], 1
test ebx, ebx
jne 0x6789837c
test ebp, ebp
jne 0x6789837c
mov ecx, dword [esp + 0x2c]
cmp dword [ecx + 8], 9
jne 0x6789837c
mov eax, dword [esi + 0x48]
test eax, eax
jne 0x67898375
mov ecx, esi
call sym.MfcHlpr520.dll_public:_void___thiscall_CMHPShortcutManager::CKeyAssign::ResetKey_void_
xor eax, eax
jmp 0x678984f1
mov eax, dword [esp + 0x10]
test eax, eax
je 0x67898398
mov edx, dword [esp + 0x2c]
test dword [edx + 0xc], 0x40000000
jne 0x67898398
mov ecx, esi
call sym.MfcHlpr520.dll_public:_void___thiscall_CMHPShortcutManager::CKeyAssign::ResetKey_void_
mov eax, dword [esi + 0x40]
test eax, eax
je 0x67898408
mov eax, dword [esp + 0x10]
test eax, eax
je 0x67898494
push 0x10
call edi
xor ecx, ecx
test ax, ax
setl cl
push ecx
push 4
push 0
mov ecx, esi
call sym.MfcHlpr520.dll_protected:_void___thiscall_CMHPShortcutManager::CKeyAssign::SetAccelFlag_int__unsigned_char__int_
push 0x11
call edi
xor edx, edx
mov ecx, esi
test ax, ax
setl dl
push edx
push 8
push 0
call sym.MfcHlpr520.dll_protected:_void___thiscall_CMHPShortcutManager::CKeyAssign::SetAccelFlag_int__unsigned_char__int_
push 0x12
call edi
xor ecx, ecx
test ax, ax
setl cl
push ecx
push 0x10
push 0
mov ecx, esi
call sym.MfcHlpr520.dll_protected:_void___thiscall_CMHPShortcutManager::CKeyAssign::SetAccelFlag_int__unsigned_char__int_
mov edx, dword [esp + 0x14]
mov ecx, esi
push edx
push 0x20
push 0
call sym.MfcHlpr520.dll_protected:_void___thiscall_CMHPShortcutManager::CKeyAssign::SetAccelFlag_int__unsigned_char__int_
jmp 0x67898494
mov eax, dword [esi + 0x48]
test eax, eax
jne 0x67898494
push 0x10
call edi
and eax, 0x8000
mov ecx, esi
push eax
push 4
push 0
call sym.MfcHlpr520.dll_protected:_void___thiscall_CMHPShortcutManager::CKeyAssign::SetAccelFlag_int__unsigned_char__int_
push ebx
push 8
push 0
mov ecx, esi
call sym.MfcHlpr520.dll_protected:_void___thiscall_CMHPShortcutManager::CKeyAssign::SetAccelFlag_int__unsigned_char__int_
push ebp
push 0x10
push 0
mov ecx, esi
call sym.MfcHlpr520.dll_protected:_void___thiscall_CMHPShortcutManager::CKeyAssign::SetAccelFlag_int__unsigned_char__int_
mov eax, dword [esp + 0x14]
mov ecx, esi
push eax
push 0x20
push 0
call sym.MfcHlpr520.dll_protected:_void___thiscall_CMHPShortcutManager::CKeyAssign::SetAccelFlag_int__unsigned_char__int_
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx + 8]
cmp eax, 0x10
je 0x67898494
cmp eax, 0x11
je 0x67898494
cmp eax, 0x12
je 0x67898494
cmp eax, 0x5b
je 0x67898494
cmp eax, 0x5c
je 0x67898494
mov eax, dword [esp + 0x10]
test eax, eax
je 0x67898494
mov cx, word [ecx + 8]
push 1
mov word [esi + 0x52], cx
push 1
push 0
mov ecx, esi
call sym.MfcHlpr520.dll_protected:_void___thiscall_CMHPShortcutManager::CKeyAssign::SetAccelFlag_int__unsigned_char__int_
mov dword [esi + 0x48], 1
mov ecx, dword [esi + 0x60]
test ecx, ecx
je 0x678984b1
mov edx, dword [ecx]
lea eax, [esi + 0x4c]
push eax
call dword [edx + 0x64]
test eax, eax
jne 0x678984b1
mov ecx, esi
call sym.MfcHlpr520.dll_public:_void___thiscall_CMHPShortcutManager::CKeyAssign::ResetKey_void_
jmp 0x678984ec
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::CString_4
lea ecx, [esp + 0x18]
mov dword [esp + 0x24], 0
push ecx
lea ecx, [esi + 0x58]
call sym.MfcHlpr520.dll_public:_void___thiscall_CMHPShortcutManager::CKeyHelper::Format_class_CString__const
mov edx, dword [esp + 0x18]
mov ecx, esi
push edx
call sub.MFC42.DLL_CWnd::SetWindowTextA
lea ecx, [esp + 0x18]
mov dword [esp + 0x24], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, 1
mov ecx, dword [esp + 0x1c]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x18
ret 4