Function at 0x471720
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
mov esi, ecx
xor ebx, ebx
mov ecx, dword [ebp + 8]
mov eax, ecx
push edi
sub eax, 0x501
je 0x471a64
sub eax, 0x10
je 0x471a2a
sub eax, 0x54
je 0x47175f
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ecx
mov ecx, esi
call fcn.0041cda0
pop edi
mov ebx, eax
pop esi
pop ebx
pop ebp
ret 0xc
mov edi, dword [ebp + 0xc]
lea eax, [esi + 0x4540]
cmp edi, eax
jne 0x471787
cmp dword [0x5509e0], ebx
jne 0x471787
push 0
call fcn.00470620
add esp, 4
mov eax, ebx
pop edi
pop esi
pop ebx
pop ebp
ret 0xc
lea eax, [esi + 0x4284]
cmp edi, eax
jne 0x4717a7
push str.Open___items___
call fcn.004250a0
add esp, 4
mov eax, ebx
pop edi
pop esi
pop ebx
pop ebp
ret 0xc
lea eax, [esi + 0x5908]
cmp edi, eax
jne 0x4717dc
mov ecx, dword [0x54d3c4]
push 0
push 0
push 0xd
mov eax, dword [ecx]
call dword [eax + 0x6c]
xor ecx, ecx
test eax, eax
setne cl
inc ecx
push ecx
call fcn.0043a8a0
add esp, 4
mov eax, ebx
pop edi
pop esi
pop ebx
pop ebp
ret 0xc
lea eax, [esi + 0x51d8]
cmp edi, eax
jne 0x471817
mov ecx, dword [0x54d3c4]
push 0
push 0
mov eax, dword [ecx]
call dword [eax + 0xec]
test eax, eax
jne 0x471817
mov eax, dword [0x5509e0]
test eax, eax
je 0x471813
cmp eax, 8
je 0x471813
cmp eax, 7
jne 0x47185a
push 0
jmp 0x471850
push 7
jmp 0x471850
lea eax, [esi + 0x5494]
cmp edi, eax
jne 0x47187a
mov ecx, dword [0x54d3c4]
push 0
push 0
mov eax, dword [ecx]
call dword [eax + 0xec]
test eax, eax
jne 0x47187a
mov eax, dword [0x5509e0]
test eax, eax
je 0x47184e
cmp eax, 7
je 0x47184e
cmp eax, 8
jne 0x47185a
push 0
jmp 0x471850
push 8
mov ecx, 0x5509c0
call fcn.00428e20
call fcn.0044dc90
test eax, eax
jne 0x471ac0
push 1
call fcn.0044e6b0
add esp, 4
mov eax, ebx
pop edi
pop esi
pop ebx
pop ebp
ret 0xc
lea ecx, [esi + 0x47fc]
cmp edi, ecx
jne 0x47189a
call fcn.0040f170
push eax
mov ecx, esi
call fcn.00471180
pop edi
pop esi
mov eax, ebx
pop ebx
pop ebp
ret 0xc
lea eax, [esi + 0x4c60]
cmp edi, eax
jne 0x4718be
mov ecx, dword [0x54d3c4]
push 0
push 0
push 0x33
mov eax, dword [ecx]
call dword [eax + 4]
pop edi
pop esi
mov eax, ebx
pop ebx
pop ebp
ret 0xc
lea eax, [esi + 0x4f1c]
cmp edi, eax
jne 0x47191a
mov ecx, dword [0x54d3c4]
mov eax, dword [ecx]
call dword [eax + 0xd8]
test eax, eax
je 0x471900
push 0x10
push 1
push 0
push 0
push esi
push 0x51f5b1
push 0x5262f4
push 2
call fcn.00449ef0
add esp, 0x20
mov eax, ebx
pop edi
pop esi
pop ebx
pop ebp
ret 0xc
mov ecx, dword [0x54d3c4]
push 0
push 0
push 0x2b
mov eax, dword [ecx]
call dword [eax + 4]
pop edi
pop esi
mov eax, ebx
pop ebx
pop ebp
ret 0xc
cmp dword [esi + 0xb08], ebx
jle 0x471ac0
lea eax, [esi + 0x12b4]
cmp edi, eax
jne 0x47195f
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x47194b
push 0x10
push 0
push dword [esi + 0xb08]
push 0
jmp 0x4719bb
push 1
push 0
mov ecx, esi
call fcn.00471680
pop edi
pop esi
mov eax, ebx
pop ebx
pop ebp
ret 0xc
lea eax, [esi + 0x1570]
cmp edi, eax
jne 0x471998
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x471984
push 0x10
push 0
push dword [esi + 0xb08]
push 1
jmp 0x4719bb
push 1
push 1
mov ecx, esi
call fcn.00471680
pop edi
pop esi
mov eax, ebx
pop ebx
pop ebp
ret 0xc
lea eax, [esi + 0x182c]
cmp edi, eax
jne 0x4719ed
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x4719d9
push 0x10
push 0
push dword [esi + 0xb08]
push 2
push esi
push 0x51f5b1
push 0x52730c
push 0
call fcn.00449ef0
add esp, 0x20
mov eax, ebx
pop edi
pop esi
pop ebx
pop ebp
ret 0xc
push 1
push 2
mov ecx, esi
call fcn.00471680
pop edi
pop esi
mov eax, ebx
pop ebx
pop ebp
ret 0xc
lea eax, [esi + 0x1ae8]
cmp edi, eax
jne 0x471ac0
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x471a16
push 0x10
push 0
push dword [esi + 0xb08]
push 3
jmp 0x4719bb
push 1
push 3
mov ecx, esi
call fcn.00471680
pop edi
pop esi
mov eax, ebx
pop ebx
pop ebp
ret 0xc
push 0
mov ecx, 0x5509c0
call fcn.00428380
test eax, eax
jne 0x471a4e
mov eax, dword [0x5509e0]
cmp eax, 5
je 0x471a4e
cmp eax, 7
je 0x471a4e
cmp eax, 8
jne 0x471ac0
push dword [ebp + 0x10]
mov ecx, esi
push dword [ebp + 0xc]
call fcn.00470ef0
pop edi
pop esi
mov eax, ebx
pop ebx
pop ebp
ret 0xc
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x471ac0
mov ecx, dword [ebp + 0xc]
test ecx, ecx
jne 0x471a84
push eax
push ecx
mov ecx, esi
call fcn.00471680
pop edi
pop esi
mov eax, ebx
pop ebx
pop ebp
ret 0xc
cmp ecx, 1
jne 0x471a9b
push eax
push ecx
mov ecx, esi
call fcn.00471680
pop edi
pop esi
mov eax, ebx
pop ebx
pop ebp
ret 0xc
cmp ecx, 2
jne 0x471ab2
push eax
push ecx
mov ecx, esi
call fcn.00471680
pop edi
pop esi
mov eax, ebx
pop ebx
pop ebp
ret 0xc
cmp ecx, 3
jne 0x471ac0
push eax
push ecx
mov ecx, esi
call fcn.00471680
pop edi
pop esi
mov eax, ebx
pop ebx
pop ebp
ret 0xc