Function at 0x10186700
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push ecx
cmp dword [ebp + 8], 0
push edi
mov edi, ecx
je 0x101868e7
push ebx
call sym.HncOfficeFramework.dll_public:_int___thiscall_CHDCComboSpinCtrl::IsDontcare_void_
mov ecx, dword [edi + 4]
lea ebx, [eax - 1]
mov eax, dword [ecx + 4]
neg ebx
sbb ebx, ebx
add ebx, 3
test eax, eax
je 0x1018672e
mov eax, dword [eax + 8]
and al, 0xf
push esi
cmp al, 2
jne 0x1018687d
mov esi, dword [edi + 0x58]
test esi, esi
je 0x101867e2
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax]
call eax
test al, al
je 0x10186766
mov ecx, edi
call sym.HncOfficeFramework.dll_public:_int___thiscall_CHDCComboSpinCtrl::IsDontcare_void_
cmp eax, 1
je 0x10186766
mov eax, dword [esi]
mov ecx, esi
push edi
call dword [eax + 0xc]
jmp 0x101867e2
push 0x10
mov byte [edi + 0x54], 0
call dword [sym.imp.USER32.dll_GetKeyState]
mov ecx, dword [edi + 0x64]
and eax, 0x1000
push eax
mov eax, dword [edi + 0x50]
imul eax, dword [ebp + 8]
push eax
call sym.HncOfficeFramework.dll_public:_void___thiscall_CHDCUnitChanger::CalPlus_int__int_
push 4
call fcn.100854b0
mov esi, eax
push 4
mov dword [ebp - 4], esi
mov dword [esi], 0x101ddcb4
push dword [edi + 0x58]
call fcn.1008549d
mov ecx, dword [edi + 0x60]
add esp, 0xc
mov dword [edi + 0x58], esi
mov ecx, dword [ecx + 4]
push 0
call fcn.10154920
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x60]
test eax, eax
je 0x101867e2
mov ecx, dword [eax + 4]
cmp dword [ecx + 4], 0
je 0x101867e2
push 1
mov ecx, eax
call sym.HncOfficeFramework.dll_public:_void___thiscall_CHDCEditBase::SetModify_int_
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x6c]
mov ecx, edi
call sym.HncOfficeFramework.dll_private:_void___thiscall_CHDCComboSpinCtrl::_RefreshText_void_
mov eax, dword [edi]
mov edx, dword [eax + 0x60]
cmp eax, sym.HncOfficeFramework.dll_const_CHDCComboSpinCtrl::vftablefor__CHDlgItem
jne 0x101868ee
mov eax, dword [edi + 4]
mov eax, dword [eax + 4]
test eax, eax
je 0x1018680a
mov eax, dword [eax + 0x5c]
test eax, eax
je 0x1018680a
add eax, 0x124
jmp 0x1018680c
xor eax, eax
test eax, eax
je 0x101868e5
mov eax, dword [eax + 4]
cmp dword [eax + 4], 0
je 0x101868e5
mov eax, dword [edi + 4]
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x1018682f
xor edx, edx
jmp 0x10186833
movzx edx, word [ecx + 0x24]
mov eax, dword [ebp + 8]
movzx eax, ax
shl eax, 0x10
or eax, ebx
push eax
movzx eax, dx
or eax, 0x1000000
push eax
push 0x111
push ecx
call sym.HncOfficeFramework.dll_public:_static_long_int___cdecl_CHDlgItem::SendCommand_void___unsigned_int__unsigned_int__long_int_
mov eax, dword [edi + 4]
add esp, 0x10
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x1018686d
xor eax, eax
push eax
movzx eax, ax
or eax, 0x1030000
jmp 0x101868d6
movzx eax, word [ecx + 0x24]
movzx eax, ax
push 0
or eax, 0x1030000
jmp 0x101868d6
mov ecx, edi
mov byte [edi + 0x54], 0
call sym.HncOfficeFramework.dll_public:_int___thiscall_CHDCComboBox::GetCurSel_void_const
mov esi, eax
sub esi, dword [ebp + 8]
jns 0x10186893
xor esi, esi
jmp 0x101868a8
mov ecx, edi
call sym.HncOfficeFramework.dll_public:_int___thiscall_CHDCComboBox::GetCount_void_const
cmp esi, eax
jl 0x101868a8
mov ecx, edi
call sym.HncOfficeFramework.dll_public:_int___thiscall_CHDCComboBox::GetCount_void_const
lea esi, [eax - 1]
push esi
mov ecx, edi
call sym.HncOfficeFramework.dll_public:_int___thiscall_CHDCComboBox::SetCurSel_int_
mov eax, dword [edi + 4]
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x101868be
xor edx, edx
jmp 0x101868c2
movzx edx, word [ecx + 0x24]
mov eax, dword [ebp + 8]
movzx eax, ax
shl eax, 0x10
or eax, ebx
push eax
movzx eax, dx
or eax, 0x1000000
push eax
push 0x111
push ecx
call sym.HncOfficeFramework.dll_public:_static_long_int___cdecl_CHDlgItem::SendCommand_void___unsigned_int__unsigned_int__long_int_
add esp, 0x10
pop esi
pop ebx
pop edi
mov esp, ebp
pop ebp
ret 4
mov ecx, edi
call edx
jmp 0x1018680c