Function at 0x10013430
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xc
cmp dword [ebp + 8], 0x100
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
mov edi, ecx
jne 0x100135e7
mov esi, dword [sym.imp.USER32.dll_GetKeyState]
push 0x11
call esi
xor ecx, ecx
test ax, ax
push 0x10
sets cl
mov dword [esp + 0x14], ecx
call esi
xor ecx, ecx
test ax, ax
sets cl
mov dword [esp + 0x14], ecx
cmp ebx, 9
jne 0x10013559
cmp dword [esp + 0x10], 0
jne 0x10013519
mov eax, dword [edi + 4]
mov ecx, edi
mov eax, dword [eax + 0x2c]
mov eax, dword [eax + 0x24]
mov eax, dword [eax + 0x4c]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x10], eax
call sym.HncOfficeFramework.dll_public:_class_CHDCTabCtrl____thiscall_THDPropertySheet_class_CHncDialogEx__class_CHncDialogEx_::GetTabControl_void_const
mov esi, dword [eax + 4]
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x100134d1
mov eax, dword [esp + 0x10]
cmp eax, dword [esi + 4]
je 0x100134e5
mov esi, dword [ebp + 8]
push dword [ebp + 0x10]
mov ecx, edi
push ebx
push esi
call sym.HncOfficeFramework.dll_public_virtual:_int___thiscall_CHncDialogEx::PreTranslateMessage_unsigned_int__unsigned_int__long_int_
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov esi, dword [esi + 4]
mov ecx, edi
push eax
mov eax, dword [esp + 0x14]
push eax
call sym.HncOfficeFramework.dll_public:_void____thiscall_CHDDialog::GetNextDlgTabItem_void___int_
cmp esi, eax
jne 0x100134b9
mov ecx, edi
call sym.HncOfficeFramework.dll_public:_class_THDPropertyPage_class_CHncDialogEx__class_CHncDialogEx_____thiscall_THDPropertySheet_class_CHncDialogEx__class_CHncDialogEx_::GetActivePage_void_const
mov esi, eax
test esi, esi
je 0x100134b9
push dword [esp + 0x14]
mov ecx, esi
push 0
call sym.HncOfficeFramework.dll_public:_void____thiscall_CHDDialog::GetNextDlgTabItem_void___int_
mov ecx, dword [esi + 4]
push eax
mov ecx, dword [ecx + 0x2c]
call fcn.1013be10
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [edi + 0x58]
mov esi, dword [eax + 4]
sub esi, dword [eax]
sar esi, 2
test esi, esi
jle 0x1001354b
mov eax, dword [edi + 0x40]
xor ecx, 1
mov edx, esi
lea ecx, [eax + ecx*2]
lea eax, [ecx - 1]
test eax, eax
cmovns edx, ecx
xor eax, eax
dec edx
mov ecx, edi
cmp edx, esi
cmovl eax, edx
push eax
call sym.HncOfficeFramework.dll_public:_int___thiscall_THDPropertySheet_class_CHncDialogEx__class_CHncDialogEx_::SetActivePage_int_
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp dword [esp + 0x10], 0
je 0x1001358c
lea eax, [ebx - 0x30]
cmp eax, 9
ja 0x1001358c
mov edx, 9
cmp ebx, 0x30
je 0x10013575
lea edx, [ebx - 0x31]
mov eax, dword [edi + 0x58]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
sar ecx, 2
cmp edx, ecx
jge 0x1001358c
push edx
mov ecx, edi
call sym.HncOfficeFramework.dll_public:_int___thiscall_THDPropertySheet_class_CHncDialogEx__class_CHncDialogEx_::SetActivePage_int_
cmp ebx, 0x72
je 0x1001359a
cmp ebx, 0x73
jne 0x100134b9
mov esi, dword [ebp + 0x10]
mov ecx, edi
push esi
push ebx
push 0x100
call sym.HncOfficeFramework.dll_public_virtual:_int___thiscall_CHncDialogEx::PreTranslateMessage_unsigned_int__unsigned_int__long_int_
mov eax, dword [edi + 0x58]
mov edx, dword [edi + 0x40]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
sar eax, 2
cmp eax, edx
jbe 0x100135c4
mov eax, dword [ecx + edx*4]
jmp 0x100135c6
xor eax, eax
mov eax, dword [eax + 4]
push esi
push ebx
push 0x100
push dword [eax + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov esi, dword [ebp + 8]
cmp esi, 7
jne 0x100134bc
mov eax, dword [edi + 0x58]
mov edx, dword [edi + 0x40]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
sar eax, 2
cmp eax, edx
jbe 0x100134bc
mov eax, dword [ecx + edx*4]
test eax, eax
je 0x100134bc
mov eax, dword [eax + 4]
mov ecx, dword [eax + 4]
cmp ecx, ebx
jne 0x1001362c
push ebx
call dword [sym.imp.USER32.dll_IsWindowVisible]
jmp 0x100134bc
mov eax, dword [eax + 0x2c]
mov eax, dword [eax + 0x24]
mov eax, dword [eax + 0x4c]
mov eax, dword [eax + 4]
cmp dword [eax + 0x10], 0
je 0x100134bc
push ecx
call dword [sym.imp.USER32.dll_SetFocus]
mov eax, dword [edi + 4]
pop edi
pop esi
pop ebx
mov eax, dword [eax + 0x2c]
mov eax, dword [eax + 0x24]
mov eax, dword [eax + 0x4c]
mov eax, dword [eax + 4]
mov dword [eax + 0x10], 0
mov eax, 1
mov esp, ebp
pop ebp
ret 0xc