Function at 0x42d4d0
Capabilities:
Log keystrokes via polling

Disassembly:
mov eax, dword [esp + 4]
sub esp, 0x104
cmp eax, 0x186
push ebx
push ebp
push esi
push edi
jne 0x42d606
mov esi, dword [esp + 0x11c]
test esi, esi
mov ebp, dword [sym.imp.MSVCR71.dll_sprintf]
mov eax, 0x127
mov dword [esp + 0x10], eax
je 0x42d544
mov ecx, dword [0x86db58]
test ecx, ecx
je 0x42d544
push eax
push esi
lea eax, [esp + 0x1c]
push str._s__03X
push eax
call ebp
mov edi, dword [0x86db58]
add esp, 0x10
lea ecx, [esp + 0x10]
push ecx
lea ebx, [esp + 0x18]
call fcn.0051bd30
mov eax, dword [esp + 0x10]
cmp eax, 0x100
jge 0x42d544
push eax
call dword [sym.imp.USER32.dll_VkKeyScanA]
and eax, 0xff
push eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ah, ah
js 0x42d7d5
test esi, esi
mov eax, 0x125
mov dword [esp + 0x10], eax
je 0x42d5a6
mov ecx, dword [0x86db58]
test ecx, ecx
je 0x42d5a6
push eax
push esi
lea edx, [esp + 0x1c]
push str._s__03X
push edx
call ebp
mov edi, dword [0x86db58]
add esp, 0x10
lea eax, [esp + 0x10]
push eax
lea ebx, [esp + 0x18]
call fcn.0051bd30
mov eax, dword [esp + 0x10]
cmp eax, 0x100
jge 0x42d5a6
push eax
call dword [sym.imp.USER32.dll_VkKeyScanA]
and eax, 0xff
push eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ah, ah
js 0x42d6b7
mov eax, dword [0x86e348]
test eax, eax
je 0x42d5ea
mov edx, dword [0x86e358]
mov esi, dword [0x86e354]
call fcn.0042c6c0
cmp eax, 0xcb
je 0x42d6b7
cmp eax, 0xcd
je 0x42d7d5
mov eax, dword [0x8ca4dc]
pop edi
pop esi
lea ecx, [eax + eax*4]
shl ecx, 6
fld dword [ecx + 0x8cac20]
pop ebp
pop ebx
add esp, 0x104
ret
cmp eax, 0x187
jne 0x42d6ef
mov ebp, dword [esp + 0x11c]
test ebp, ebp
mov eax, 0x126
mov dword [esp + 0x10], eax
je 0x42d66a
mov ecx, dword [0x86db58]
test ecx, ecx
je 0x42d66a
push eax
push ebp
lea edx, [esp + 0x1c]
push str._s__03X
push edx
call dword [sym.imp.MSVCR71.dll_sprintf]
mov edi, dword [0x86db58]
add esp, 0x10
lea eax, [esp + 0x10]
push eax
lea ebx, [esp + 0x18]
call fcn.0051bd30
mov eax, dword [esp + 0x10]
cmp eax, 0x100
jge 0x42d66a
push eax
call dword [sym.imp.USER32.dll_VkKeyScanA]
mov esi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
and eax, 0xff
push eax
call esi
test ah, ah
js 0x42d7d5
push 0x128
mov ecx, ebp
call fcn.0042d460
add esp, 4
push eax
call esi
test ah, ah
js 0x42d6b7
mov eax, dword [0x86e348]
test eax, eax
je 0x42d6d3
mov edx, dword [0x86e358]
mov esi, dword [0x86e354]
call fcn.0042c6c0
cmp eax, 0xcf
jne 0x42d6c8
fld dword [0x715558]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x104
ret
cmp eax, 0xc9
je 0x42d7d5
mov eax, dword [0x8ca4dc]
pop edi
pop esi
lea ecx, [eax + eax*4]
shl ecx, 6
fld dword [ecx + 0x8cac30]
pop ebp
pop ebx
add esp, 0x104
ret
cmp eax, 0x126
jne 0x42d705
mov edx, dword [esp + 0x11c]
push edx
push 0x187
jmp 0x42d719
cmp eax, 0x127
jne 0x42d741
mov eax, dword [esp + 0x11c]
push eax
push 0x186
call fcn.0042d4d0
fcom dword [0x715554]
add esp, 8
fnstsw ax
test ah, 0x41
je 0x42d736
fstp st(0)
fld dword [0x715554]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x104
ret
cmp eax, 0x128
jne 0x42d757
mov ecx, dword [esp + 0x11c]
push ecx
push 0x187
jmp 0x42d76b
cmp eax, 0x125
jne 0x42d78d
mov edx, dword [esp + 0x11c]
push edx
push 0x186
call fcn.0042d4d0
fcom dword [0x715554]
add esp, 8
fnstsw ax
test ah, 5
jp 0x42d72e
pop edi
fchs
pop esi
pop ebp
pop ebx
add esp, 0x104
ret
cmp eax, 0x110
jne 0x42d7e6
push 0x10
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ah, ah
js 0x42d7d5
mov eax, dword [0x8ca4dc]
fld dword [0x715554]
lea ecx, [eax + eax*4]
shl ecx, 6
fld dword [ecx + 0x8cac00]
fucompp
fnstsw ax
test ah, 0x44
jp 0x42d7d5
fld dword [0x715554]
fld dword [ecx + 0x8cac10]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x42d81c
fld dword [0x70deb0]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x104
ret
cmp eax, 0x80
jl 0x42d81c
cmp eax, 0x100
jge 0x42d815
mov ecx, dword [0x8ca4dc]
pop edi
lea ecx, [ecx + ecx*4]
pop esi
lea edx, [eax + ecx*4 - 0x80]
shl edx, 4
fld dword [edx + 0x8cab20]
pop ebp
pop ebx
add esp, 0x104
ret
cmp eax, 0x1ff
jle 0x42d82d
fld dword [0x715554]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x104
ret
add eax, 0xffffff00
push eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ah, ah
jns 0x42d730
fld dword [0x70deb0]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x104
ret