Function at 0x432d80
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x60
mov dword [ebp - 0x5c], ecx
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xbbd
mov ecx, dword [0x6de314]
call fcn.005389f0
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0x2a1
ja 0x432ddc
cmp dword [ebp - 0x60], 0x2a1
je case.0x432dd5.0
mov ecx, dword [ebp - 0x60]
sub ecx, 0x200
mov dword [ebp - 0x60], ecx
cmp dword [ebp - 0x60], 5
ja case.0x432dd5.3
mov edx, dword [ebp - 0x60]
jmp dword [edx*4 + 0x43315c]
cmp dword [ebp - 0x60], 0x507
je 0x4330ea
jmp case.0x432dd5.3
mov eax, dword [ebp - 0x5c]
cmp dword [eax + 0x60], 0
je 0x432ea3
cmp dword [ebp - 4], 0
jne 0x432ea3
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ecx + 4]
and edx, 0x800
jne 0x432ea3
push 0
call fcn.0043af70
add esp, 4
test eax, eax
je 0x432e31
push 0
mov ecx, dword [ebp - 0x5c]
call fcn.00433180
jmp 0x432ea3
mov eax, dword [ebp - 0x5c]
cmp dword [eax + 0x11c], 0
je 0x432ea3
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
movsx ecx, ax
and ecx, 0x8000
je 0x432e6f
mov edx, dword [ebp - 0x5c]
cmp dword [edx + 0x11c], 5
jne 0x432e6d
mov eax, dword [ebp - 0x5c]
add eax, 0x11c
push eax
mov ecx, dword [ebp - 0x5c]
call fcn.00432d40
jmp 0x432ea3
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 0
push 0
lea edx, [ebp - 0x10]
push edx
push 0x511
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax + 0x60]
mov edx, dword [ebp - 0x5c]
mov eax, dword [edx + 0x60]
mov edx, dword [ecx]
mov ecx, eax
mov eax, dword [edx + 0x10]
call eax
jmp 0x433154
mov ecx, dword [ebp - 0x5c]
cmp dword [ecx + 0x60], 0
je 0x432f7a
mov edx, dword [ebp - 0x5c]
mov eax, dword [edx + 4]
and eax, 0x800
jne 0x432ecc
cmp dword [ebp - 4], 0
je 0x432f7a
mov ecx, dword [ebp - 0x5c]
cmp dword [ecx + 0x11c], 0
je 0x432f4e
push 0x18
push 0
lea edx, [ebp - 0x28]
push edx
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0x18
mov eax, dword [ebp - 0x5c]
add eax, 0x11c
push eax
lea ecx, [ebp - 0x28]
push ecx
call sub.MSVCR80.dll_memcpy
add esp, 0xc
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
movsx edx, ax
and edx, 0x8000
je 0x432f2c
mov eax, dword [ebp - 0x5c]
cmp dword [eax + 0x11c], 5
jne 0x432f2a
lea ecx, [ebp - 0x28]
push ecx
mov ecx, dword [ebp - 0x5c]
call fcn.00432d40
jmp 0x432f4c
mov edx, dword [ebp - 0x5c]
push edx
lea eax, [ebp - 0x28]
push eax
push 0x512
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ecx + 0x60]
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax + 0x60]
mov edx, dword [edx]
mov eax, dword [edx + 0x10]
call eax
jmp 0x432f7a
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ecx + 4]
and edx, 0x8000
je 0x432f7a
mov eax, dword [ebp - 0x5c]
push eax
push 0
push 0x512
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ecx + 0x60]
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax + 0x60]
mov edx, dword [edx]
mov eax, dword [edx + 0x10]
call eax
jmp 0x433154
mov ecx, dword [ebp - 0x5c]
cmp dword [ecx + 0x60], 0
je 0x433014
mov edx, dword [ebp - 0x5c]
cmp dword [edx + 0x11c], 0
je 0x432fe8
push 0x18
push 0
lea eax, [ebp - 0x40]
push eax
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0x18
mov ecx, dword [ebp - 0x5c]
add ecx, 0x11c
push ecx
lea edx, [ebp - 0x40]
push edx
call sub.MSVCR80.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0x5c]
push eax
mov ecx, dword [ebp - 0x5c]
add ecx, 0x11c
push ecx
push 0x513
mov edx, dword [ebp - 0x5c]
mov eax, dword [edx + 0x60]
mov ecx, dword [ebp - 0x5c]
mov ecx, dword [ecx + 0x60]
mov edx, dword [eax]
mov eax, dword [edx + 0x10]
call eax
jmp 0x433014
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ecx + 4]
and edx, 0x8000
je 0x433014
mov eax, dword [ebp - 0x5c]
push eax
push 0
push 0x512
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ecx + 0x60]
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax + 0x60]
mov edx, dword [edx]
mov eax, dword [edx + 0x10]
call eax
jmp 0x433154
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ecx + 4]
or edx, 0x400
mov eax, dword [ebp - 0x5c]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x5c]
cmp dword [ecx + 0x11c], 0
je 0x43308e
push 0
mov edx, dword [ebp - 0x5c]
push edx
mov ecx, 0x68e0e8
call fcn.00422dc0
test eax, eax
jne 0x43308e
mov eax, dword [ebp + 0x10]
shr eax, 0x10
movsx ecx, ax
push ecx
mov edx, dword [ebp + 0x10]
and edx, 0xffff
movsx eax, dx
push eax
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ecx + 0x144]
push edx
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax + 0x120]
push ecx
mov edx, dword [ebp - 0x5c]
mov eax, dword [edx + 0x11c]
push eax
push 0
mov ecx, dword [ebp - 0x5c]
push ecx
call fcn.00422850
add esp, 0x1c
mov edx, dword [ebp - 0x5c]
cmp dword [edx + 0x11c], 0
je 0x4330e8
push 0x18
push 0
lea eax, [ebp - 0x58]
push eax
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0x18
mov ecx, dword [ebp - 0x5c]
add ecx, 0x11c
push ecx
lea edx, [ebp - 0x58]
push edx
call sub.MSVCR80.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0x5c]
push eax
mov ecx, dword [ebp - 0x5c]
add ecx, 0x11c
push ecx
push 0x516
mov edx, dword [ebp - 0x5c]
mov eax, dword [edx + 0x60]
mov ecx, dword [ebp - 0x5c]
mov ecx, dword [ecx + 0x60]
mov edx, dword [eax]
mov eax, dword [edx + 0x10]
call eax
jmp 0x433154
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ecx + 4]
and edx, 0xfffffbff
mov eax, dword [ebp - 0x5c]
mov dword [eax + 4], edx
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x5c]
call fcn.004428d0
mov ecx, dword [ebp - 0x5c]
cmp dword [ecx + 0x11c], 0
je 0x43313c
mov edx, dword [ebp - 0x5c]
push edx
push 0
push 0x507
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax + 0x60]
mov edx, dword [ebp - 0x5c]
mov eax, dword [edx + 0x60]
mov edx, dword [ecx]
mov ecx, eax
mov eax, dword [edx + 0x10]
call eax
jmp 0x433154
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x5c]
call fcn.004428d0
jmp 0x433156
xor eax, eax
mov esp, ebp
pop ebp
ret 0xc