Function at 0x101b4ad
Capabilities:
Log keystrokes via polling

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
mov esi, dword [0x103ed08]
push edi
add esi, 4
lea edi, [ebp - 0x10]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x10]
push eax
mov ebx, ecx
movsd dword es:[edi], dword [esi]
call fcn.010194c6
mov eax, dword [ebp + 8]
sub eax, 0x200
je 0x101b5f2
dec eax
dec eax
je 0x101b4fa
sub eax, 0x1fe
jne 0x101b74a
call fcn.01018cf8
jmp 0x101b74a
mov eax, dword [ebx + 0x40]
cmp eax, dword [0x103e804]
je 0x101b519
mov eax, dword [ebx + 0x70]
test eax, eax
je 0x101b519
push 1
push 0
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_InvalidateRect]
mov ecx, ebx
call fcn.01018cf8
cmp dword [0x103e804], 0
jne 0x101b5c3
call fcn.0100c004
mov ecx, eax
call sub.MFC42u.DLL_CFrameWnd::GetActiveView
test eax, eax
jne 0x101b541
xor esi, esi
jmp 0x101b544
mov esi, dword [eax + 0x40]
test esi, esi
je 0x101b74a
push 1
mov ebx, 0x103f3a0
push 0x100392c
mov ecx, ebx
call fcn.0102fa64
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
mov edi, 0x20d
jge 0x101b57f
mov ecx, dword [esi + 0xec]
push 1
push edi
call fcn.0100bbf9
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
sub ecx, dword [ebp - 0xc]
sub eax, dword [ebp - 0x10]
push 0x103f004
mov dword [0x103f004], eax
mov dword [0x103f008], ecx
add esi, 0xec
mov ecx, dword [esi]
push 0x15e
call fcn.0100b766
mov ecx, dword [esi]
push 0
push edi
call fcn.0100bbf9
mov ecx, ebx
call fcn.0102fe8a
jmp 0x101b74a
call fcn.010129fb
mov ecx, dword [ebp - 4]
sub ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0x10]
push 1
push ecx
push eax
mov ecx, 0x103e778
call fcn.0100ea54
lea eax, [ebp - 0x10]
push eax
mov ecx, ebx
call fcn.0101ac0b
jmp 0x101b74a
mov eax, dword [0x103ed0c]
add eax, 0xfffffffd
cmp eax, 7
ja case.0x101b603.3
jmp dword [eax*4 + 0x101b751]
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x10], ecx
jmp 0x101b639
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 8], ecx
jmp 0x101b65d
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 4], ecx
jmp 0x101b69a
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp - 4]
cmp edx, eax
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], edx
jl 0x101b639
dec eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 8]
cmp ecx, eax
jl 0x101b6b8
dec eax
mov dword [ebp - 0x10], eax
jmp 0x101b6b8
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp - 4]
cmp edx, eax
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
jl 0x101b65d
dec eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x10]
cmp ecx, eax
jg 0x101b6b8
inc eax
mov dword [ebp - 8], eax
jmp 0x101b6b8
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 8]
cmp edx, eax
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x10], edx
mov dword [ebp - 4], ecx
jl 0x101b69a
dec eax
mov dword [ebp - 0x10], eax
jmp 0x101b69a
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x10]
cmp edx, eax
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 8], edx
mov dword [ebp - 4], ecx
jg 0x101b69a
inc eax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xc]
cmp ecx, eax
jg 0x101b6b8
inc eax
mov dword [ebp - 4], eax
jmp 0x101b6b8
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp - 4]
cmp ecx, eax
mov dword [ebp - 0xc], ecx
jl 0x101b6b8
dec eax
mov dword [ebp - 0xc], eax
cmp dword [0x103e804], 0
jne 0x101b713
mov ecx, dword [ebx + 0x40]
cmp dword [ecx + 0x4c], 0
je 0x101b713
mov esi, dword [ecx + 0x50]
cmp esi, 1
je 0x101b6ee
cmp esi, dword [ecx + 0x2c]
jg 0x101b6ee
mov eax, esi
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 8]
cdq
idiv esi
imul eax, esi
mov edi, eax
mov dword [ebp - 8], edi
jmp 0x101b6f1
mov edi, dword [ebp - 8]
mov esi, dword [ecx + 0x54]
cmp esi, 1
je 0x101b716
cmp esi, dword [ecx + 0x30]
jg 0x101b716
mov eax, esi
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 4]
cdq
idiv esi
imul eax, esi
mov dword [ebp - 4], eax
jmp 0x101b719
mov edi, dword [ebp - 8]
mov eax, dword [ebp - 4]
sub eax, dword [ebp - 0xc]
sub edi, dword [ebp - 0x10]
mov dword [ebp + 0x10], eax
lea eax, [ebp + 0xc]
push eax
mov dword [ebp + 0xc], edi
call fcn.01009d9b
lea eax, [ebp - 0x10]
push eax
mov ecx, ebx
call fcn.010194e8
mov ecx, dword [0x103ed08]
mov eax, dword [ecx]
push 1
lea edx, [ebp - 0x10]
push edx
call dword [eax + 0x2c]
pop edi
pop esi
pop ebx
leave
ret 0xc