Function at 0x478d7a
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 0x478da3
push 4
pop edi
test byte [ebp - 0xf0], 0x80
je 0x478dad
inc edi
test byte [ebp - 0xef], 0x80
je 0x478db8
inc edi
inc edi
test edi, edi
je case.default.0x478e1e
imul edi, edi, 0x64
mov eax, dword [ebp + 8]
push 0xa
add edi, eax
pop ecx
mov ebx, 0x56b4f4
xor eax, eax
mov edx, ebx
cmp dword [edx], edi
je 0x478ddf
inc eax
add edx, 4
cmp eax, 0xa
jl 0x478dd0
jmp 0x478de5
add eax, ecx
test eax, eax
jne 0x478df9
add ecx, 0xa
add ebx, 0x28
cmp ecx, 0x50
jl 0x478dcc
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 4
push 1
cmp eax, 0x2a
pop ebx
jg 0x478ff4
je 0x478fe4
cmp eax, 0x12
jg 0x478e9c
je 0x478e91
add eax, 0xfffffff6
cmp eax, 7
ja case.default.0x478e1e
jmp dword [eax*4 + 0x4791bd]
push 0
push 0
push 0xe6
jmp 0x478f13
push 0
push 0
push 0xd2
jmp 0x478f13
push 0
push 0
push 0xaa
jmp 0x478f13
push 0
push 0
push 0x96
jmp 0x478f13
push 0
push 0
push 0xa0
jmp 0x478f13
push 0
push 0
push 0x10e
jmp 0x478f13
push 0
push 0
push ebx
jmp 0x478f13
push 0
push 0
push 0xbe
jmp 0x478f13
push 0
push 0
push 0xc8
jmp 0x478f13
cmp eax, 0x1e
jg 0x478f32
je 0x478f22
sub eax, 0x13
je 0x478f0a
dec eax
je 0x478eef
dec eax
je 0x478ed4
dec eax
jne case.default.0x478e1e
lea ecx, [esi + 0x7e8]
call fcn.00436e4e
lea ecx, [esi + 0x10a78]
call fcn.00449b89
jmp 0x4791b6
lea ecx, [esi + 0x7e8]
call fcn.00436e4e
lea ecx, [esi + 0x10a78]
call fcn.00449b32
jmp 0x4791b6
lea ecx, [esi + 0x7e8]
call fcn.00436e4e
lea ecx, [esi + 0x10a78]
call fcn.00449be0
jmp 0x4791b6
push 0
push 0
push 0xfa
mov ecx, 0x56d0b0
call fcn.004a7417
jmp 0x4791b6
lea ecx, [esi + 0x7e8]
call fcn.00436edb
jmp 0x4791b6
sub eax, 0x1f
je 0x478faa
sub eax, 9
je 0x478f53
dec eax
jne case.default.0x478e1e
lea ecx, [esi + 0x7e8]
call fcn.00437cab
jmp 0x4791b6
mov eax, dword [0x56e294]
sub eax, 0
je 0x478f9a
dec eax
je 0x478f8a
dec eax
je 0x478f7a
dec eax
jne 0x4791b6
lea ecx, [esi + 0x30fb0]
call fcn.00449476
jmp 0x4791b6
lea ecx, [esi + 0x30fb0]
call fcn.004494ca
jmp 0x4791b6
lea ecx, [esi + 0x30fb0]
call fcn.004494ae
jmp 0x4791b6
lea ecx, [esi + 0x30fb0]
call fcn.00449492
jmp 0x4791b6
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, 0x56af60
call fcn.0047d1c3
mov dword [esi + 0x90140], 4
jmp 0x4791b6
lea ecx, [esi + 0x7e8]
call fcn.004371d0
jmp 0x4791b6
cmp eax, 0x37
jg 0x4790eb
je 0x4790cf
cmp eax, 0x33
jg 0x479092
je 0x479076
sub eax, 0x2b
je 0x47905b
dec eax
je 0x47904b
dec eax
je 0x47902e
sub eax, 5
jne case.default.0x478e1e
cmp dword [esi + 0x25078], 0
jmp 0x4790d5
cmp dword [esi + 0x9012c], 0
jne 0x4791b6
lea ecx, [esi + 0x7e8]
call fcn.00437109
jmp 0x4791b6
lea ecx, [esi + 0x7e8]
call fcn.0043706d
jmp 0x4791b6
lea ecx, [esi + 0x7e8]
call fcn.00436e4e
lea ecx, [esi + 0x10a78]
call fcn.00449c37
jmp 0x4791b6
cmp dword [esi + 0x25078], ebx
jne 0x4791b6
lea ecx, [esi + 0x25014]
call fcn.0042bcf6
jmp 0x4791b6
sub eax, 0x34
je 0x4790c7
dec eax
je 0x4790aa
dec eax
jne case.default.0x478e1e
cmp dword [esi + 0x25078], 2
jmp 0x4790d5
cmp dword [esi + 0x25078], 0
jne 0x4791b6
lea ecx, [esi + 0x25014]
call fcn.0042bc91
jmp 0x4791b6
cmp dword [esi + 0x25078], ebx
jmp 0x4790b1
cmp dword [esi + 0x25078], ebx
jne 0x4791b6
lea ecx, [esi + 0x25014]
call fcn.0042bc3b
jmp 0x4791b6
cmp eax, 0x3f
jg 0x47916c
je 0x47915f
sub eax, 0x38
je 0x4791b6
sub eax, 4
je 0x479142
dec eax
je 0x479135
dec eax
jne case.default.0x478e1e
lea edi, [esi + 0x6e2a0]
mov ecx, edi
call fcn.00460ba0
neg al
sbb al, al
mov ecx, edi
inc al
push eax
call fcn.00460bbf
lea ecx, [esi + 0x7e8]
call fcn.00437b2f
jmp 0x4791b6
lea ecx, [esi + 0x7e8]
call fcn.004375e5
jmp 0x4791b6
add esi, 0x6e1f8
mov ecx, esi
call fcn.00460ba0
neg al
sbb al, al
mov ecx, esi
inc al
push eax
call fcn.00460bbf
jmp 0x4791b6
lea ecx, [esi + 0x28048]
call fcn.004579e7
jmp 0x4791b6
sub eax, 0x46
je 0x4791aa
dec eax
je 0x479196
dec eax
jne case.default.0x478e1e
call fcn.004a2e5e
mov esi, eax
mov ecx, esi
call fcn.004a2fbf
test al, al
je 0x4791b6
mov ecx, esi
call fcn.004a2f95
jmp 0x4791b6
call fcn.004a2e5e
mov esi, eax
mov ecx, esi
call fcn.004a2fbf
test al, al
jne 0x4791b6
jmp 0x47918d
call fcn.004a2e5e
mov ecx, eax
call fcn.004a306a
mov eax, ebx
jmp 0x478df2