Function at 0x496b74
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x100
push ebx
push esi
lea eax, [ebp - 0x100]
push edi
mov esi, ecx
push eax
xor edi, edi
call dword [sym.imp.USER32.dll_GetKeyboardState]
test byte [ebp - 0xee], 0x80
je 0x496b9d
push 4
pop edi
test byte [ebp - 0xf0], 0x80
je 0x496ba7
inc edi
test byte [ebp - 0xef], 0x80
je 0x496bb2
inc edi
inc edi
test edi, edi
je case.default.0x496c18
imul edi, edi, 0x64
mov eax, dword [ebp + 8]
push 0xa
add edi, eax
pop ecx
mov ebx, 0x5d8f54
xor eax, eax
mov edx, ebx
cmp dword [edx], edi
je 0x496bd9
inc eax
add edx, 4
cmp eax, 0xa
jl 0x496bca
jmp 0x496bdf
add eax, ecx
test eax, eax
jne 0x496bf3
add ecx, 0xa
add ebx, 0x28
cmp ecx, 0x50
jl 0x496bc6
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 4
push 1
cmp eax, 0x2a
pop ebx
jg 0x496dee
je 0x496dde
cmp eax, 0x12
jg 0x496c96
je 0x496c8b
add eax, 0xfffffff6
cmp eax, 7
ja case.default.0x496c18
jmp dword [eax*4 + 0x496fb7]
push 0
push 0
push 0xe6
jmp 0x496d0d
push 0
push 0
push 0xd2
jmp 0x496d0d
push 0
push 0
push 0xaa
jmp 0x496d0d
push 0
push 0
push 0x96
jmp 0x496d0d
push 0
push 0
push 0xa0
jmp 0x496d0d
push 0
push 0
push 0x10e
jmp 0x496d0d
push 0
push 0
push ebx
jmp 0x496d0d
push 0
push 0
push 0xbe
jmp 0x496d0d
push 0
push 0
push 0xc8
jmp 0x496d0d
cmp eax, 0x1e
jg 0x496d2c
je 0x496d1c
sub eax, 0x13
je 0x496d04
dec eax
je 0x496ce9
dec eax
je 0x496cce
dec eax
jne case.default.0x496c18
lea ecx, [esi + 0x790]
call fcn.0043d586
lea ecx, [esi + 0x138b4]
call fcn.00456781
jmp 0x496fb0
lea ecx, [esi + 0x790]
call fcn.0043d586
lea ecx, [esi + 0x138b4]
call fcn.0045672a
jmp 0x496fb0
lea ecx, [esi + 0x790]
call fcn.0043d586
lea ecx, [esi + 0x138b4]
call fcn.004567d8
jmp 0x496fb0
push 0
push 0
push 0xfa
mov ecx, 0x5dabc0
call fcn.004c7c69
jmp 0x496fb0
lea ecx, [esi + 0x790]
call fcn.0043d635
jmp 0x496fb0
sub eax, 0x1f
je 0x496da4
sub eax, 9
je 0x496d4d
dec eax
jne case.default.0x496c18
lea ecx, [esi + 0x790]
call fcn.0043e58c
jmp 0x496fb0
mov eax, dword [0x5dbbc4]
sub eax, 0
je 0x496d94
dec eax
je 0x496d84
dec eax
je 0x496d74
dec eax
jne 0x496fb0
lea ecx, [esi + 0x3ef28]
call fcn.00451dd0
jmp 0x496fb0
lea ecx, [esi + 0x3ef28]
call fcn.00451e24
jmp 0x496fb0
lea ecx, [esi + 0x3ef28]
call fcn.00451e08
jmp 0x496fb0
lea ecx, [esi + 0x3ef28]
call fcn.00451dec
jmp 0x496fb0
call dword [sym.imp.GraphicData.dll_GameDataSetQuery]
mov edx, dword [eax]
push 0
push 0
push 0xff0000
push 0x7d5
push 0x2869
mov ecx, eax
call dword [edx + 0x3c]
push eax
mov ecx, 0x5d85a0
call fcn.0049ac45
mov dword [esi + 0xaf410], 4
jmp 0x496fb0
lea ecx, [esi + 0x790]
call fcn.0043d9a0
jmp 0x496fb0
cmp eax, 0x37
jg 0x496ee5
je 0x496ec9
cmp eax, 0x33
jg 0x496e8c
je 0x496e70
sub eax, 0x2b
je 0x496e55
dec eax
je 0x496e45
dec eax
je 0x496e28
sub eax, 5
jne case.default.0x496c18
cmp dword [esi + 0x32c74], 0
jmp 0x496ecf
cmp dword [esi + 0xaf3fc], 0
jne 0x496fb0
lea ecx, [esi + 0x790]
call fcn.0043d8d9
jmp 0x496fb0
lea ecx, [esi + 0x790]
call fcn.0043d7ef
jmp 0x496fb0
lea ecx, [esi + 0x790]
call fcn.0043d586
lea ecx, [esi + 0x138b4]
call fcn.0045682f
jmp 0x496fb0
cmp dword [esi + 0x32c74], ebx
jne 0x496fb0
lea ecx, [esi + 0x32c10]
call fcn.0042e3ac
jmp 0x496fb0
sub eax, 0x34
je 0x496ec1
dec eax
je 0x496ea4
dec eax
jne case.default.0x496c18
cmp dword [esi + 0x32c74], 2
jmp 0x496ecf
cmp dword [esi + 0x32c74], 0
jne 0x496fb0
lea ecx, [esi + 0x32c10]
call fcn.0042e347
jmp 0x496fb0
cmp dword [esi + 0x32c74], ebx
jmp 0x496eab
cmp dword [esi + 0x32c74], ebx
jne 0x496fb0
lea ecx, [esi + 0x32c10]
call fcn.0042e2f1
jmp 0x496fb0
cmp eax, 0x3f
jg 0x496f66
je 0x496f59
sub eax, 0x38
je 0x496fb0
sub eax, 4
je 0x496f3c
dec eax
je 0x496f2f
dec eax
jne case.default.0x496c18
lea edi, [esi + 0x8c858]
mov ecx, edi
call fcn.00478d32
neg al
sbb al, al
mov ecx, edi
inc al
push eax
call fcn.00478d51
lea ecx, [esi + 0x790]
call fcn.0043e410
jmp 0x496fb0
lea ecx, [esi + 0x790]
call fcn.0043de1d
jmp 0x496fb0
add esi, 0x8c7b0
mov ecx, esi
call fcn.00478d32
neg al
sbb al, al
mov ecx, esi
inc al
push eax
call fcn.00478d51
jmp 0x496fb0
lea ecx, [esi + 0x35d64]
call fcn.0046a0ef
jmp 0x496fb0
sub eax, 0x46
je 0x496fa4
dec eax
je 0x496f90
dec eax
jne case.default.0x496c18
call fcn.004c226c
mov esi, eax
mov ecx, esi
call fcn.004c23cd
test al, al
je 0x496fb0
mov ecx, esi
call fcn.004c23a3
jmp 0x496fb0
call fcn.004c226c
mov esi, eax
mov ecx, esi
call fcn.004c23cd
test al, al
jne 0x496fb0
jmp 0x496f87
call fcn.004c226c
mov ecx, eax
call fcn.004c2478
mov eax, ebx
jmp 0x496bec