Function at 0x66d460
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, ecx
cmp byte [esi + 0x1db], 0
je 0x66d514
push 1
call fcn.0066f110
mov eax, dword [esi + 0x190]
cmp eax, 0x22
je 0x66d514
cmp eax, 0x23
je 0x66d514
cmp byte [esi + 0x1e1], 0
je 0x66d514
movzx eax, word [esi + 0x154]
cmp eax, 6
je 0x66d4bb
cmp eax, 2
je 0x66d4bb
cmp eax, 7
je 0x66d4bb
cmp eax, 0x14
je 0x66d4bb
cmp eax, 0x18
jne 0x66d514
push 0x53
mov dword [esi + 0x194], 0x1010000
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 8
test al, al
je 0x66d4ff
movzx eax, word [esi + 0x154]
cmp eax, 2
je 0x66d4ea
cmp eax, 7
je 0x66d4ea
cmp eax, 0x14
jne 0x66d4ff
mov eax, 0x23
mov ecx, esi
push eax
push eax
call fcn.00671100
mov al, 1
pop esi
pop ebp
ret 8
mov eax, 0x22
mov ecx, esi
push eax
push eax
call fcn.00671100
mov al, 1
pop esi
pop ebp
ret 8
cmp byte [esi + 0x196], 0
je 0x66d7eb
push 1
mov ecx, esi
call fcn.0066f110
cmp byte [esi + 0x1e0], 0
mov dword [esi + 0x174], 0
je 0x66d54b
mov ecx, esi
call fcn.00673a90
mov al, 1
pop esi
pop ebp
ret 8
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
cmp eax, 0xffffffff
jne 0x66d664
cmp ecx, 0xffffffff
jne 0x66d664
mov ecx, dword [esi + 0x190]
lea eax, [ecx - 1]
cmp eax, 0x16
ja case.0x66d57c.2
movzx eax, byte [eax + 0x66d810]
jmp dword [eax*4 + 0x66d7f4]
mov eax, 0xd
jmp 0x66d664
mov eax, 0x10
jmp 0x66d664
movzx eax, word [esi + 0x154]
cmp eax, 1
je 0x66d5bb
cmp eax, 5
je 0x66d5bb
cmp eax, 6
je 0x66d5bb
cmp eax, 0x13
je 0x66d5bb
cmp eax, 0x14
jne 0x66d7eb
cmp dword [esi + 0x18c], 0x16
jne case.0x66d57c.5
mov dword [esi + 0x18c], 0
mov eax, 0xe
jmp 0x66d664
movzx eax, word [esi + 0x154]
cmp eax, 1
je 0x66d5fc
cmp eax, 5
je 0x66d5fc
cmp eax, 6
je 0x66d5fc
cmp eax, 0x13
je 0x66d5fc
cmp eax, 0x14
jne 0x66d7eb
cmp dword [esi + 0x18c], 0x17
jne case.0x66d57c.6
mov dword [esi + 0x18c], 0
mov eax, 0xf
jmp 0x66d664
mov eax, dword [esi + 0x164]
cmp eax, 5
ja case.default.0x66d621
jmp dword [eax*4 + 0x66d828]
mov eax, 2
mov ecx, eax
jmp 0x66d664
mov eax, 0x11
mov ecx, eax
jmp 0x66d664
mov eax, 0x12
mov ecx, eax
jmp 0x66d664
mov eax, 0x13
mov ecx, eax
jmp 0x66d664
mov eax, 0x1e
mov ecx, eax
jmp 0x66d664
mov eax, 0x1f
mov ecx, eax
jmp 0x66d664
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 8]
push ecx
push eax
mov ecx, esi
call fcn.00671100
test al, al
je 0x66d7eb
mov eax, dword [esi + 0x14c]
cmp dword [esi + eax*4 + 0xf0], 0
je case.default.0x66d6dd
cmp dword [esi + 0x44], 0
je 0x66d6bb
mov ecx, dword [esi + 0x200]
push 0x15
call fcn.006780a0
mov ecx, dword [esi + 0x44]
push 0xffffffffffffffff
push ecx
test al, al
je 0x66d6af
mov dword [esp], 0x3f19999a
jmp 0x66d6b6
mov dword [esp], 0x3f99999a
call fcn.004685c0
mov eax, dword [esi + 0x14c]
push dword [esi + eax*4 + 0xf0]
call dword [0x1a4ea74]
add eax, 0xfffffffa
add esp, 4
cmp eax, 7
ja case.default.0x66d6dd
jmp dword [eax*4 + 0x66d840]
cmp dword [esi + 0x44], 0
je case.default.0x66d6dd
movzx eax, word [esi + 0x154]
cmp eax, 4
je 0x66d712
cmp eax, 0xb
je 0x66d712
cmp eax, 3
je 0x66d712
cmp eax, 9
je 0x66d712
cmp eax, 0xa
jne case.default.0x66d6dd
mov ecx, dword [esi + 0x200]
push 0x15
call fcn.006780a0
mov ecx, dword [esi + 0x44]
push 0xffffffffffffffff
push ecx
test al, al
je 0x66d7d8
mov dword [esp], 0x3f19999a
call fcn.004685c0
mov al, 1
pop esi
pop ebp
ret 8
cmp dword [esi + 0x44], 0
je case.default.0x66d6dd
movzx eax, word [esi + 0x154]
cmp eax, 2
je 0x66d712
cmp eax, 7
je 0x66d712
cmp eax, 8
je 0x66d712
cmp eax, 4
je 0x66d712
cmp eax, 0xb
je 0x66d712
cmp eax, 0xc
jmp 0x66d6fd
cmp dword [esi + 0x44], 0
je case.default.0x66d6dd
movzx eax, word [esi + 0x154]
cmp eax, 0xa
jne 0x66d7d0
mov ecx, dword [esi + 0x200]
push 0x15
call fcn.006780a0
test al, al
je 0x66d7b1
movss xmm0, dword [0x710fa8]
push 0xffffffffffffffff
push ecx
movss dword [esp], xmm0
mov ecx, dword [esi + 0x44]
call fcn.004685c0
mov al, 1
pop esi
pop ebp
ret 8
movss xmm0, dword [0x710d84]
push 0xffffffffffffffff
push ecx
movss dword [esp], xmm0
mov ecx, dword [esi + 0x44]
call fcn.004685c0
mov al, 1
pop esi
pop ebp
ret 8
cmp eax, 8
jmp 0x66d70c
mov dword [esp], 0x3f99999a
call fcn.004685c0
mov al, 1
pop esi
pop ebp
ret 8
xor al, al
pop esi
pop ebp
ret 8