Function at 0x10c14060
Capabilities:
Log keystrokes via polling

Disassembly:
push ecx
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x18]
xor esi, esi
mov dword [esp + 0x10], 0
mov ebx, dword [edi + 4]
cmp ebx, 0x100
jb 0x10c14086
cmp ebx, 0x108
jbe 0x10c14096
cmp ebx, 0x200
jb 0x10c140dd
cmp ebx, 0x209
ja 0x10c140dd
mov eax, dword [edi]
push eax
call fcn.10c144d0
mov esi, eax
add esp, 4
test esi, esi
je 0x10c140dd
cmp dword [esi], 0x40a0
jne 0x10c140dd
mov eax, dword [esi + 0xb4]
test eax, eax
je 0x10c140dd
mov ecx, dword [eax]
push edi
push ecx
call sym.PBVM90.dll_PBROI_ControlInPlaceTranslateAccel
test eax, eax
je 0x10c140dd
mov edx, dword [esi + 0x18]
push edx
call fcn.10c3eb50
add esp, 4
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
cmp ebx, 0x201
ja 0x10c1438f
je 0x10c142cb
cmp ebx, 0x100
jne case.default.0x10c1439e
test esi, esi
jne 0x10c14114
mov eax, dword [edi]
push eax
call fcn.10c144d0
mov esi, eax
add esp, 4
test esi, esi
je case.default.0x10c1439e
cmp word [edi + 8], 9
mov ebx, dword [esi + 0xc8]
jne case.default.0x10c1439e
mov edi, dword [edi]
test edi, edi
jne 0x10c14135
mov ebp, dword [sym.imp.USER32.dll_SendMessageA]
xor eax, eax
jmp 0x10c14147
mov ebp, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0
push 0x87
push edi
call ebp
test al, 2
jne case.default.0x10c1439e
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jge 0x10c14161
mov edi, dword [esi + 0x20]
jmp 0x10c14164
mov edi, dword [esi + 0x1c]
test edi, edi
jne 0x10c1417e
push ebx
call fcn.10c3ce00
add esp, 4
test eax, eax
je 0x10c1417e
mov ecx, dword [eax + 0xb4]
mov edi, dword [ecx + 0x20]
push edi
call fcn.10c144d0
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x10c141e2
cmp dword [ebx], 0x40a0
jne 0x10c141e2
cmp ebx, esi
je 0x10c141e2
mov edx, dword [ebx + 0xb4]
lea eax, [esp + 0x18]
push eax
mov ebp, dword [edx]
mov dword [esp + 0x1c], 0
push ebp
call sym.PBVM90.dll_PBROI_ControlGetOKToSetFocus
mov eax, dword [esp + 0x18]
test eax, eax
je 0x10c141dc
push ebp
call fcn.10b14480
test eax, eax
jne 0x10c141dc
mov ecx, dword [ebx + 0x18]
push 0x10
push ecx
mov dword [esp + 0x18], 1
call fcn.10c3fe80
add esp, 8
mov ebp, dword [sym.imp.USER32.dll_SendMessageA]
cmp dword [esi], 0x40a0
jne 0x10c14277
cmp ebx, esi
je 0x10c1423d
mov eax, dword [esi + 0xb4]
mov ebx, dword [esi + 0xc0]
xor ecx, ecx
test eax, eax
je 0x10c14206
mov ecx, dword [eax]
push ecx
call fcn.10b14600
push 0
push ebx
call fcn.10c15ca0
mov edx, dword [esi + 0x18]
add esp, 8
push 0
push 0
push edx
call dword [sym.imp.USER32.dll_GetParent]
push eax
push ebx
call fcn.10c15990
mov eax, dword [esi + 0x18]
add esp, 0x10
push 0x11
push eax
call fcn.10c3fe80
add esp, 8
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x10c1426f
test edi, edi
je 0x10c1426f
push 0
push 0
push 0x87
push edi
call ebp
test al, 8
je 0x10c14268
push 0xfffe0000
push 0
push 0xb1
push edi
call ebp
push edi
call dword [sym.imp.USER32.dll_SetFocus]
mov dword [esp + 0x10], 1
mov eax, dword [esp + 0x10]
test eax, eax
jne case.default.0x10c1439e
cmp dword [esi], 0x40a9
jne case.default.0x10c1439e
test edi, edi
je 0x10c142b9
push 0
push 0
push 0x87
push edi
call ebp
test al, 8
je 0x10c142b2
push 0xfffe0000
push 0
push 0xb1
push edi
call ebp
push edi
call dword [sym.imp.USER32.dll_SetFocus]
mov dword [esp + 0x10], 1
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
call dword [sym.imp.USER32.dll_GetFocus]
push eax
call fcn.10c144d0
mov ecx, dword [edi]
add esp, 4
mov esi, eax
push ecx
call fcn.10c144d0
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x10c14310
cmp dword [ebx], 0x40a0
jne 0x10c14310
cmp esi, ebx
je 0x10c14310
mov edx, dword [edi]
push edx
call dword [sym.imp.USER32.dll_SetFocus]
mov eax, dword [ebx + 0x18]
push 0x10
push eax
call fcn.10c3fe80
add esp, 8
test esi, esi
je case.default.0x10c1439e
cmp esi, ebx
je 0x10c14344
cmp dword [esi], 0x40a0
jne 0x10c14344
mov eax, dword [esi + 0xb4]
test eax, eax
je 0x10c14336
mov ecx, dword [eax]
push ecx
call fcn.10b14600
mov edx, dword [esi + 0x18]
push 0x11
push edx
call fcn.10c3fe80
add esp, 8
test esi, esi
je case.default.0x10c1439e
mov eax, dword [esi + 0x18]
push eax
call fcn.10c3ce50
mov edi, eax
add esp, 4
test edi, edi
je case.default.0x10c1439e
push 0
push edi
call fcn.10c15ca0
mov ecx, dword [esi + 0x18]
add esp, 8
push 0
push 0
push ecx
call dword [sym.imp.USER32.dll_GetParent]
push eax
push edi
call fcn.10c15990
mov eax, dword [esp + 0x20]
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
add ebx, 0xfffffdfe
cmp ebx, 3
ja case.default.0x10c1439e
jmp dword [ebx*4 + 0x10c144bc]
test esi, esi
jne 0x10c143be
mov edx, dword [edi]
push edx
call fcn.10c144d0
mov esi, eax
add esp, 4
test esi, esi
je case.default.0x10c1439e
cmp dword [esi], 0x40a0
jne case.default.0x10c1439e
push 8
jmp 0x10c14490
test esi, esi
jne 0x10c143ea
mov ecx, dword [edi]
push ecx
call fcn.10c144d0
mov esi, eax
add esp, 4
test esi, esi
je case.default.0x10c1439e
cmp dword [esi], 0x40a0
jne case.default.0x10c1439e
mov edx, dword [edi + 0xc]
mov eax, dword [edi + 8]
mov ecx, dword [esi + 0x18]
push 0x1cb
push edx
push eax
push ecx
call fcn.10c402a0
mov edx, dword [esi + 0x18]
add esp, 0x10
push edx
call fcn.10c3eb50
mov eax, dword [esp + 0x14]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
test esi, esi
jne 0x10c1443a
mov eax, dword [edi]
push eax
call fcn.10c144d0
mov esi, eax
add esp, 4
test esi, esi
je case.default.0x10c1439e
cmp dword [esi], 0x40a0
jne case.default.0x10c1439e
mov ecx, dword [edi + 0xc]
mov edx, dword [edi + 8]
mov eax, dword [esi + 0x18]
push 0x1cc
push ecx
push edx
push eax
call fcn.10c402a0
mov ecx, dword [esi + 0x18]
add esp, 0x10
push ecx
call fcn.10c3eb50
mov eax, dword [esp + 0x14]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
test esi, esi
jne 0x10c14486
mov edx, dword [edi]
push edx
call fcn.10c144d0
mov esi, eax
add esp, 4
test esi, esi
je case.default.0x10c1439e
cmp dword [esi], 0x40a0
jne case.default.0x10c1439e
push 0xa
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 8]
mov edx, dword [esi + 0x18]
push eax
push ecx
push edx
call fcn.10c402a0
mov eax, dword [esi + 0x18]
add esp, 0x10
push eax
call fcn.10c3eb50
add esp, 4
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret