Function at 0x473440
Capabilities:
Log keystrokes via polling

Disassembly:
push ecx
push ebx
push esi
mov esi, ecx
xor ebx, ebx
push edi
cmp dword [esi + 0x48], ebx
je 0x47370e
call fcn.005ef148
test ah, 8
jne 0x47370e
push 0x10
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
xor ecx, ecx
test ax, ax
mov eax, dword [esp + 0x14]
setl cl
cmp eax, 0x2e
mov edi, ecx
jne 0x47358a
mov ecx, dword [esi + 0x1c]
lea edx, [esp + 0xc]
lea eax, [esp + 0x14]
push edx
push eax
push 0xb0
push ecx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x1c], ebx
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [esp + 0x14]
mov eax, dword [esi + 0x48]
cmp ecx, eax
jge 0x473715
mov eax, dword [esp + 0xc]
cmp ecx, eax
jne 0x47352a
inc eax
push eax
push ecx
mov ecx, esi
mov dword [esp + 0x14], eax
call fcn.00472f70
test eax, eax
je 0x4734db
mov edx, dword [esp + 0x14]
mov ecx, esi
push edx
call fcn.00473290
pop edi
pop esi
pop ebx
pop ecx
ret 0xc
mov eax, dword [esp + 0xc]
mov ecx, dword [esi + 0x48]
cmp eax, ecx
je 0x473715
mov ecx, dword [esp + 0x14]
inc ecx
inc eax
push eax
mov dword [esp + 0x18], ecx
push ecx
mov ecx, esi
mov dword [esp + 0x14], eax
call fcn.00472f70
test eax, eax
jne 0x473517
mov eax, dword [esp + 0xc]
mov ecx, dword [esi + 0x48]
cmp eax, ecx
jne 0x4734ea
pop edi
pop esi
pop ebx
pop ecx
ret 0xc
mov eax, dword [esp + 0x14]
mov ecx, esi
push eax
call fcn.00473290
pop edi
pop esi
pop ebx
pop ecx
ret 0xc
push eax
push ecx
mov ecx, esi
call fcn.00472f70
test eax, eax
je 0x47354a
mov ecx, dword [esp + 0x14]
push ecx
mov ecx, esi
call fcn.00473290
pop edi
pop esi
pop ebx
pop ecx
ret 0xc
mov eax, dword [esp + 0xc]
mov ecx, dword [esi + 0x48]
cmp eax, ecx
je 0x473715
mov ecx, dword [esp + 0x14]
inc ecx
inc eax
push eax
mov dword [esp + 0x18], ecx
push ecx
mov ecx, esi
mov dword [esp + 0x14], eax
call fcn.00472f70
test eax, eax
jne 0x4734c8
mov eax, dword [esp + 0xc]
mov ecx, dword [esi + 0x48]
cmp eax, ecx
jne 0x473559
pop edi
pop esi
pop ebx
pop ecx
ret 0xc
cmp eax, 0x24
jne 0x4735d2
mov ecx, esi
call fcn.005ec472
cmp edi, ebx
jne 0x473715
mov edx, dword [esi + 0x1c]
lea eax, [esp + 0xc]
lea ecx, [esp + 0x14]
push eax
push ecx
push 0xb0
push edx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x1c], ebx
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [esp + 0x14]
mov ecx, esi
push eax
call fcn.00473330
pop edi
pop esi
pop ebx
pop ecx
ret 0xc
cmp eax, 0x25
jne 0x47361a
mov ecx, esi
call fcn.005ec472
cmp edi, ebx
jne 0x473715
mov eax, dword [esi + 0x1c]
lea ecx, [esp + 0xc]
lea edx, [esp + 0x14]
push ecx
push edx
push 0xb0
push eax
mov dword [esp + 0x24], ebx
mov dword [esp + 0x1c], ebx
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [esp + 0x14]
push ecx
mov ecx, esi
call fcn.004733c0
pop edi
pop esi
pop ebx
pop ecx
ret 0xc
cmp eax, 0x26
jne 0x473662
mov ecx, esi
call fcn.005ec472
cmp edi, ebx
jne 0x473715
mov ecx, dword [esi + 0x1c]
lea edx, [esp + 0xc]
lea eax, [esp + 0x14]
push edx
push eax
push 0xb0
push ecx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x1c], ebx
call dword [sym.imp.USER32.dll_SendMessageA]
mov edx, dword [esp + 0x14]
mov ecx, esi
push edx
call fcn.004733c0
pop edi
pop esi
pop ebx
pop ecx
ret 0xc
cmp eax, 0x27
jne 0x4736aa
mov ecx, esi
call fcn.005ec472
cmp edi, ebx
jne 0x473715
mov edx, dword [esi + 0x1c]
lea eax, [esp + 0xc]
lea ecx, [esp + 0x14]
push eax
push ecx
push 0xb0
push edx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x1c], ebx
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [esp + 0x14]
mov ecx, esi
push eax
call fcn.00473330
pop edi
pop esi
pop ebx
pop ecx
ret 0xc
cmp eax, 0x28
jne 0x4736ee
mov ecx, esi
call fcn.005ec472
cmp edi, ebx
jne 0x473715
mov eax, dword [esi + 0x1c]
lea ecx, [esp + 0xc]
lea edx, [esp + 0x14]
push ecx
push edx
push 0xb0
push eax
mov dword [esp + 0x24], ebx
mov dword [esp + 0x1c], ebx
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [esp + 0x14]
push ecx
mov ecx, esi
call fcn.00473330
pop edi
pop esi
pop ebx
pop ecx
ret 0xc
cmp eax, 0x2d
mov ecx, esi
jne 0x473710
call fcn.00472e80
neg eax
sbb eax, eax
mov ecx, esi
inc eax
push eax
call fcn.00472e90
pop edi
pop esi
pop ebx
pop ecx
ret 0xc
mov ecx, esi
call fcn.005ec472
pop edi
pop esi
pop ebx
pop ecx
ret 0xc