Function at 0x10014e70
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push esi
push edi
mov edi, dword [ebp + 8]
mov esi, ecx
push str.Shift
push edi
call fcn.10033ebe
add esp, 8
test eax, eax
jne 0x10014e97
mov eax, dword [esi]
pop edi
pop esi
or dword [eax], 4
pop ebp
ret 4
push str.Ctrl
push edi
call fcn.10033ebe
add esp, 8
test eax, eax
jne 0x10014eb4
mov eax, dword [esi]
pop edi
pop esi
or dword [eax], 2
pop ebp
ret 4
push 0x1006cea8
push edi
call fcn.10033ebe
add esp, 8
test eax, eax
jne 0x10014ed1
mov eax, dword [esi]
pop edi
pop esi
or dword [eax], 1
pop ebp
ret 4
push 0x1006ceb0
push edi
call fcn.10033ebe
add esp, 8
test eax, eax
jne 0x10014eee
mov eax, dword [esi]
pop edi
pop esi
or dword [eax], 8
pop ebp
ret 4
push 0x1006ceb8
push edi
call fcn.10033ebe
add esp, 8
test eax, eax
jne 0x10014f0f
mov eax, dword [esi + 4]
pop edi
pop esi
mov dword [eax], 0x25
pop ebp
ret 4
push 0x1006cebc
push edi
call fcn.10033ebe
add esp, 8
test eax, eax
jne 0x10014f30
mov eax, dword [esi + 4]
pop edi
pop esi
mov dword [eax], 0x27
pop ebp
ret 4
push 0x1006cec0
push edi
call fcn.10033ebe
add esp, 8
test eax, eax
jne 0x10014f51
mov eax, dword [esi + 4]
pop edi
pop esi
mov dword [eax], 0x26
pop ebp
ret 4
push 0x1006cec4
push edi
call fcn.10033ebe
add esp, 8
test eax, eax
jne 0x10014f72
mov eax, dword [esi + 4]
pop edi
pop esi
mov dword [eax], 0x28
pop ebp
ret 4
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10014f77
movzx eax, word [edi]
sub ecx, edx
sar ecx, 1
cmp ecx, 1
jne 0x10014fc6
push eax
call fcn.1003a5ab
add esp, 4
test eax, eax
movzx eax, word [edi]
push eax
je 0x10014fb2
call fcn.10030703
mov ecx, dword [esi + 4]
add esp, 4
pop edi
mov dword [ecx], eax
pop esi
pop ebp
ret 4
call dword [sym.imp.USER32.dll_VkKeyScanW]
movzx ecx, al
mov eax, dword [esi + 4]
pop edi
pop esi
mov dword [eax], ecx
pop ebp
ret 4
push ebx
cmp eax, 0x46
je 0x10014fd1
cmp eax, 0x66
jne 0x10015009
movzx eax, word [edi + 2]
lea ebx, [edi + 2]
push eax
call fcn.1003a5da
add esp, 4
test eax, eax
je 0x10015009
push ebx
call fcn.10039d47
add esp, 4
lea ecx, [eax - 1]
cmp ecx, 0x17
ja 0x100153ac
lea ecx, [eax + 0x6f]
mov eax, dword [esi + 4]
pop ebx
pop edi
pop esi
mov dword [eax], ecx
pop ebp
ret 4
push str.Left
push edi
call fcn.10033ebe
add esp, 8
test eax, eax
jne 0x1001502b
mov eax, dword [esi + 4]
pop ebx
pop edi
pop esi
mov dword [eax], 0x25
pop ebp
ret 4
push str.Right
push edi
call fcn.10033ebe
add esp, 8
test eax, eax
jne 0x1001504d
mov eax, dword [esi + 4]
pop ebx
pop edi
pop esi
mov dword [eax], 0x27
pop ebp
ret 4
push 0x1006cee0
push edi
call fcn.10033ebe
add esp, 8
test eax, eax
jne 0x1001506f
mov eax, dword [esi + 4]
pop ebx
pop edi
pop esi
mov dword [eax], 0x26
pop ebp
ret 4
push str.Down
push edi
call fcn.10033ebe
add esp, 8
test eax, eax
jne 0x10015091
mov eax, dword [esi + 4]
pop ebx
pop edi
pop esi
mov dword [eax], 0x28
pop ebp
ret 4
push 0x1006cef4
push edi
call fcn.10033ebe
add esp, 8
test eax, eax
jne 0x100150b3
mov eax, dword [esi + 4]
pop ebx
pop edi
pop esi
mov dword [eax], 0x1b
pop ebp
ret 4
push 0x1006cefc
push edi
call fcn.10033ebe
add esp, 8
test eax, eax
jne 0x100150d5
mov eax, dword [esi + 4]
pop ebx
pop edi
pop esi
mov dword [eax], 9
pop ebp
ret 4
push str.Backspace
push edi
call fcn.10033ebe
add esp, 8
test eax, eax
jne 0x100150f7
mov eax, dword [esi + 4]
pop ebx
pop edi
pop esi
mov dword [eax], 8
pop ebp
ret 4
push str.Enter
push edi
call fcn.10033ebe
add esp, 8
test eax, eax
jne 0x10015119
mov eax, dword [esi + 4]
pop ebx
pop edi
pop esi
mov dword [eax], 0xd
pop ebp
ret 4
push str.Space
push edi
call fcn.10033ebe
add esp, 8
test eax, eax
jne 0x1001513b
mov eax, dword [esi + 4]
pop ebx
pop edi
pop esi
mov dword [eax], 0x20
pop ebp
ret 4
push str.PrtSc
push edi
call fcn.10033ebe
add esp, 8
test eax, eax
jne 0x1001515d
mov eax, dword [esi + 4]
pop ebx
pop edi
pop esi
mov dword [eax], 0x2c
pop ebp
ret 4
push str.Scroll
push edi
call fcn.10033ebe
add esp, 8
test eax, eax
jne 0x1001517f
mov eax, dword [esi + 4]
pop ebx
pop edi
pop esi
mov dword [eax], 0x91
pop ebp
ret 4
push str.Pause
push edi
call fcn.10033ebe
add esp, 8
test eax, eax
je 0x100151a3
push str.Break
push edi
call fcn.10033ebe
add esp, 8
test eax, eax
jne 0x100151b3
mov eax, dword [esi + 4]
pop ebx
pop edi
pop esi
mov dword [eax], 0x13
pop ebp
ret 4
push str.Insert
push edi
call fcn.10033ebe
add esp, 8
test eax, eax
jne 0x100151d5
mov eax, dword [esi + 4]
pop ebx
pop edi
pop esi
mov dword [eax], 0x2d
pop ebp
ret 4
push str.Delete
push edi
call fcn.10033ebe
add esp, 8
test eax, eax
jne 0x100151f7
mov eax, dword [esi + 4]
pop ebx
pop edi
pop esi
mov dword [eax], 0x2e
pop ebp
ret 4
push 0x1006cf74
push edi
call fcn.10033ebe
add esp, 8
test eax, eax
jne 0x10015219
mov eax, dword [esi + 4]
pop ebx
pop edi
pop esi
mov dword [eax], 0x23
pop ebp
ret 4
push str.Home
push edi
call fcn.10033ebe
add esp, 8
test eax, eax
jne 0x1001523b
mov eax, dword [esi + 4]
pop ebx
pop edi
pop esi
mov dword [eax], 0x24
pop ebp
ret 4
push str.PageUp
push edi
call fcn.10033ebe
add esp, 8
test eax, eax
je 0x10015271
push str.PageDown
push edi
call fcn.10033ebe
add esp, 8
test eax, eax
je 0x10015293
push str.PgUp
push edi
call fcn.10033ebe
add esp, 8
test eax, eax
jne 0x10015281
mov eax, dword [esi + 4]
pop ebx
pop edi
pop esi
mov dword [eax], 0x21
pop ebp
ret 4
push str.PgDn
push edi
call fcn.10033ebe
add esp, 8
test eax, eax
jne 0x100152a3
mov eax, dword [esi + 4]
pop ebx
pop edi
pop esi
mov dword [eax], 0x22
pop ebp
ret 4
push str.Plus
push edi
call fcn.10033ebe
add esp, 8
test eax, eax
jne 0x100152c5
mov eax, dword [esi + 4]
pop ebx
pop edi
pop esi
mov dword [eax], 0xbb
pop ebp
ret 4
push str.Minus
push edi
call fcn.10033ebe
add esp, 8
test eax, eax
jne 0x100152e7
mov eax, dword [esi + 4]
pop ebx
pop edi
pop esi
mov dword [eax], 0xbd
pop ebp
ret 4
push str.Back
push edi
call fcn.10033ebe
add esp, 8
test eax, eax
jne 0x10015309
mov eax, dword [esi + 4]
pop ebx
pop edi
pop esi
mov dword [eax], 0xa6
pop ebp
ret 4
push str.Forward
push edi
call fcn.10033ebe
add esp, 8
test eax, eax
jne 0x1001532b
mov eax, dword [esi + 4]
pop ebx
pop edi
pop esi
mov dword [eax], 0xa7
pop ebp
ret 4
push str.Refresh
push edi
call fcn.10033ebe
add esp, 8
test eax, eax
jne 0x1001534d
mov eax, dword [esi + 4]
pop ebx
pop edi
pop esi
mov dword [eax], 0xa8
pop ebp
ret 4
push str.VolumeMute
push edi
call fcn.10033ebe
add esp, 8
test eax, eax
jne 0x1001536f
mov eax, dword [esi + 4]
pop ebx
pop edi
pop esi
mov dword [eax], 0xad
pop ebp
ret 4
push str.VolumeDown
push edi
call fcn.10033ebe
add esp, 8
test eax, eax
jne 0x10015391
mov eax, dword [esi + 4]
pop ebx
pop edi
pop esi
mov dword [eax], 0xae
pop ebp
ret 4
push str.VolumeUp
push edi
call fcn.10033ebe
add esp, 8
test eax, eax
jne 0x100153ac
mov eax, dword [esi + 4]
mov dword [eax], 0xaf
pop ebx
pop edi
pop esi
pop ebp
ret 4