Function at 0x4196ef
Capabilities:
Log keystrokes via polling

Disassembly:
push ebx
mov edx, 0xc
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x4196f5
call fcn.0048d6d0
push dword [esp + 0x48]
call fcn.0042e610
mov edx, dword [esp + 0x40]
lea ecx, [esp]
call fcn.0042e000
mov edx, dword [esp + 0x44]
lea ecx, [esp + 4]
call fcn.0042e000
mov dword [esp + 8], 0x17a
mov dword [esp + 0xc], 0x64
push 4
mov eax, 0x5cf064
push eax
push dword [esp + 0x14]
push dword [esp + 0x14]
push dword [esp + 0x4c]
push dword [esp + 0x4c]
push 0x27
call fcn.0047ab21
push dword [esp + 0xc]
push dword [esp + 0xc]
push 0
push 0
push 0xffffffff
call fcn.00472d81
mov dword [esp + 0x10], eax
push dword [esp]
push 0x14
push 0x140
push 5
push 0x19
push 0xffffffff
call fcn.00472036
mov dword [esp + 0x14], eax
push 0x10000000
push 0x1e
push 0x145
push 0x19
push 0x19
push 0xffffffff
call fcn.004754f0
mov dword [esp + 0x18], eax
push dword [0x8f9c60]
push 0x19
push 0x3c
mov ebx, dword [esp + 0x18]
add ebx, 0xffffffdd
push ebx
push 0xd2
push 0xffffffff
call fcn.00477288
mov dword [esp + 0x1c], eax
push dword [0x8f998c]
push 0x19
push 0x3c
mov ebx, dword [esp + 0x18]
add ebx, 0xffffffdd
push ebx
push 0x122
push 0xffffffff
call fcn.00477288
mov dword [esp + 0x20], eax
call fcn.00472d9e
push 0x27
call fcn.0041f161
push dword [esp + 4]
push dword [esp + 0x1c]
call fcn.004734ac
push dword [esp + 0x18]
call fcn.004735b4
push 0xffffffff
push 0
push 0xb1
push dword [esp + 0x24]
call fcn.004735ef
push eax
call sub.USER32.dll_SendMessageW
push 0
call fcn.0046df2b
push edx
call fcn.0048d530
pop edx
push eax
mov edx, dword [0x8f9a08]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
mov edx, str._tCtrlV
push edx
call fcn.0048d570
call fcn.0048d660
push 1
call fcn.0042e5e2
add dword [esp + 4], edx
call fcn.0046e017
call fcn.0042e610
push edx
call fcn.0048d530
pop edx
push eax
mov edx, dword [0x8f9ad4]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
mov edx, str._tCtrlC
push edx
call fcn.0048d570
call fcn.0048d660
push 2
call fcn.0042e5e2
add dword [esp + 4], edx
call fcn.0046e017
call fcn.0042e610
push dword [0x8f9c54]
push 3
call fcn.0046e017
mov edx, 0x5cf064
lea ecx, [esp + 0x24]
call fcn.0042e008
call fcn.0047aa1b
mov dword [esp + 0x28], eax
cmp dword [esp + 0x28], 0
je 0x419c9f
call fcn.0047bfac
push eax
mov ebx, 0x27
cmp ebx, dword [esp]
jne 0x419a49
push dword [esp + 0x2c]
mov ebx, 0x332c
cmp ebx, dword [esp]
jne 0x419a48
call fcn.0047bf9d
push eax
mov ebx, dword [esp + 0x24]
cmp ebx, dword [esp]
jne 0x4199f2
call fcn.0047bf8e
mov ebx, eax
and ebx, ebx
jne 0x4199f0
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
call fcn.0047f281
call fcn.0042e5e2
add dword [esp], edx
call fcn.0048b760
lea eax, [esp + 0x3c]
push eax
call fcn.0048d5d0
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
mov eax, 0x5dbb02
push eax
push dword [esp + 0x44]
call fcn.0048baf0
lea eax, [esp + 0x3c]
push eax
call fcn.0048d5d0
mov eax, 0x5cf064
push eax
push dword [esp + 0x28]
call fcn.004734ac
push dword [esp + 0x38]
push dword [esp + 0x28]
call fcn.004734ac
jmp 0x419a47
mov ebx, dword [esp + 0x28]
cmp ebx, dword [esp]
jne 0x419a28
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
push dword [esp + 0x2c]
call fcn.00473529
lea eax, [esp + 0x34]
push eax
call fcn.0048d5d0
add esp, 0xc
jmp 0x419cae
mov ebx, dword [esp + 0x2c]
cmp ebx, dword [esp]
jne 0x419a47
mov edx, str.noneresult
lea ecx, [esp + 0x30]
call fcn.0042e008
add esp, 0xc
jmp 0x419cae
pop eax
pop eax
pop eax
push dword [esp + 0x28]
mov ebx, 0x204
cmp ebx, dword [esp]
jne 0x419b62
push dword [esp + 0x1c]
call fcn.0040f287
and eax, eax
je 0x419b60
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
call fcn.0047f281
call fcn.0048d660
mov edx, 0x5cf064
pop ecx
push ecx
call fcn.0042e600
mov ecx, eax
call fcn.0042e590
jne 0x419ab2
push 0
push 1
push 0
call fcn.0046e09f
jmp 0x419ac6
push 1
push 1
push 0
call fcn.0046e09f
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
push dword [esp + 0x24]
call fcn.00473529
call fcn.0048d660
mov edx, 0x5cf064
pop ecx
push ecx
call fcn.0042e600
mov ecx, eax
call fcn.0042e590
jne 0x419b23
push 0
push 2
push 0
call fcn.0046e09f
push 0
push 3
push 0
call fcn.0046e09f
jmp 0x419b4b
push 1
push 2
push 0
call fcn.0046e09f
push 1
push 3
push 0
call fcn.0046e09f
push 0x27
call fcn.0047a61d
push eax
push 0
call fcn.0046e075
jmp 0x419be0
mov ebx, 0x332d
cmp ebx, dword [esp]
jne 0x419be0
call fcn.0047bfbb
push eax
mov ebx, 1
cmp ebx, dword [esp]
jne 0x419b9c
push 0
push 0
push 0x302
push dword [esp + 0x2c]
call fcn.004735ef
push eax
call sub.USER32.dll_SendMessageW
jmp 0x419bdf
mov ebx, 2
cmp ebx, dword [esp]
jne 0x419bc6
push 0
push 0
push 0x301
push dword [esp + 0x2c]
call fcn.004735ef
push eax
call sub.USER32.dll_SendMessageW
jmp 0x419bdf
mov ebx, 3
cmp ebx, dword [esp]
jne 0x419bdf
mov eax, 0x5cf064
push eax
push dword [esp + 0x24]
call fcn.004734ac
pop eax
pop eax
push 0x1b
call sub.USER32.dll_GetKeyState
mov ebx, eax
cmp ebx, 1
jle 0x419c16
call fcn.0047af05
mov ebx, eax
cmp ebx, 0x27
jne 0x419c16
mov edx, str.noneresult
lea ecx, [esp + 0x24]
call fcn.0042e008
call fcn.0041a818
jmp 0x419cae
push 0xd
call sub.USER32.dll_GetKeyState
mov ebx, eax
cmp ebx, 1
jle 0x419c9d
call fcn.0047af05
mov ebx, eax
cmp ebx, 0x27
jne 0x419c9d
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
mov eax, 0x5dbb02
push eax
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
push dword [esp + 0x34]
call fcn.00473529
call fcn.0042e5e2
add dword [esp], edx
call fcn.0048baf0
call fcn.0042e5e2
add dword [esp], edx
call fcn.0048b760
lea eax, [esp + 0x28]
push eax
call fcn.0048d5d0
call fcn.0041a818
jmp 0x419cae
jmp 0x419ca9
push 0x27
call fcn.0047af47
jmp 0x419913
push 0x27
call fcn.0047a515
mov edx, dword [esp + 0x24]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
pop eax
push eax
call fcn.0042e5d0
pop edx
add eax, edx
jmp 0x419ce0
push dword [esp + 0x2c]
call fcn.0048d760
push dword [esp]
call fcn.0048d760
push dword [esp + 0x24]
call fcn.0048d760
push dword [esp + 4]
call fcn.0048d760
add esp, 0x30
pop ebx
ret 0x10