Function at 0x45e9be
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 0x45e9e7
push 4
pop edi
test byte [ebp - 0xf0], 0x80
je 0x45e9f1
inc edi
test byte [ebp - 0xef], 0x80
je 0x45e9fc
inc edi
inc edi
test edi, edi
je case.default.0x45ea62
imul edi, edi, 0x64
mov eax, dword [ebp + 8]
push 0xa
add edi, eax
pop ecx
mov ebx, 0x5092a8
xor eax, eax
mov edx, ebx
cmp dword [edx], edi
je 0x45ea23
inc eax
add edx, 4
cmp eax, 0xa
jl 0x45ea14
jmp 0x45ea29
add eax, ecx
test eax, eax
jne 0x45ea3d
add ecx, 0xa
add ebx, 0x28
cmp ecx, 0x50
jl 0x45ea10
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 4
push 1
cmp eax, 0x2a
pop ebx
jg 0x45ec38
je 0x45ec28
cmp eax, 0x12
jg 0x45eae0
je 0x45ead5
add eax, 0xfffffff6
cmp eax, 7
ja case.default.0x45ea62
jmp dword [eax*4 + 0x45ee01]
push 0
push 0
push 0xe6
jmp 0x45eb57
push 0
push 0
push 0xd2
jmp 0x45eb57
push 0
push 0
push 0xaa
jmp 0x45eb57
push 0
push 0
push 0x96
jmp 0x45eb57
push 0
push 0
push 0xa0
jmp 0x45eb57
push 0
push 0
push 0x10e
jmp 0x45eb57
push 0
push 0
push ebx
jmp 0x45eb57
push 0
push 0
push 0xbe
jmp 0x45eb57
push 0
push 0
push 0xc8
jmp 0x45eb57
cmp eax, 0x1e
jg 0x45eb76
je 0x45eb66
sub eax, 0x13
je 0x45eb4e
dec eax
je 0x45eb33
dec eax
je 0x45eb18
dec eax
jne case.default.0x45ea62
lea ecx, [esi + 0x4ad0]
call fcn.0042b3f9
lea ecx, [esi + 0x4c68]
call fcn.004392a7
jmp 0x45edfa
lea ecx, [esi + 0x4ad0]
call fcn.0042b3f9
lea ecx, [esi + 0x4c68]
call fcn.00439250
jmp 0x45edfa
lea ecx, [esi + 0x4ad0]
call fcn.0042b3f9
lea ecx, [esi + 0x4c68]
call fcn.004392fe
jmp 0x45edfa
push 0
push 0
push 0xfa
mov ecx, 0x50ade8
call fcn.0048c758
jmp 0x45edfa
lea ecx, [esi + 0x4ad0]
call fcn.0042b489
jmp 0x45edfa
sub eax, 0x1f
je 0x45ebee
sub eax, 9
je 0x45eb97
dec eax
jne case.default.0x45ea62
lea ecx, [esi + 0x4ad0]
call fcn.0042c082
jmp 0x45edfa
mov eax, dword [0x50bef4]
sub eax, 0
je 0x45ebde
dec eax
je 0x45ebce
dec eax
je 0x45ebbe
dec eax
jne 0x45edfa
lea ecx, [esi + 0x22218]
call fcn.004388db
jmp 0x45edfa
lea ecx, [esi + 0x22218]
call fcn.0043892f
jmp 0x45edfa
lea ecx, [esi + 0x22218]
call fcn.00438913
jmp 0x45edfa
lea ecx, [esi + 0x22218]
call fcn.004388f7
jmp 0x45edfa
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, 0x508d10
call fcn.00462ce8
mov dword [esi + 0x5cf94], 4
jmp 0x45edfa
lea ecx, [esi + 0x4ad0]
call fcn.0042b686
jmp 0x45edfa
cmp eax, 0x37
jg 0x45ed2f
je 0x45ed13
cmp eax, 0x33
jg 0x45ecd6
je 0x45ecba
sub eax, 0x2b
je 0x45ec9f
dec eax
je 0x45ec8f
dec eax
je 0x45ec72
sub eax, 5
jne case.default.0x45ea62
cmp dword [esi + 0x173d8], 0
jmp 0x45ed19
cmp dword [esi + 0x5cf80], 0
jne 0x45edfa
lea ecx, [esi + 0x4ad0]
call fcn.0042b5fb
jmp 0x45edfa
lea ecx, [esi + 0x4ad0]
call fcn.0042b5a1
jmp 0x45edfa
lea ecx, [esi + 0x4ad0]
call fcn.0042b3f9
lea ecx, [esi + 0x4c68]
call fcn.00439355
jmp 0x45edfa
cmp dword [esi + 0x173d8], ebx
jne 0x45edfa
lea ecx, [esi + 0x17374]
call fcn.004206e5
jmp 0x45edfa
sub eax, 0x34
je 0x45ed0b
dec eax
je 0x45ecee
dec eax
jne case.default.0x45ea62
cmp dword [esi + 0x173d8], 2
jmp 0x45ed19
cmp dword [esi + 0x173d8], 0
jne 0x45edfa
lea ecx, [esi + 0x17374]
call fcn.00420680
jmp 0x45edfa
cmp dword [esi + 0x173d8], ebx
jmp 0x45ecf5
cmp dword [esi + 0x173d8], ebx
jne 0x45edfa
lea ecx, [esi + 0x17374]
call fcn.0042062a
jmp 0x45edfa
cmp eax, 0x3f
jg 0x45edb0
je 0x45eda3
sub eax, 0x38
je 0x45edfa
sub eax, 4
je 0x45ed86
dec eax
je 0x45ed79
dec eax
jne case.default.0x45ea62
lea edi, [esi + 0x56680]
mov ecx, edi
call fcn.00449777
neg al
sbb al, al
mov ecx, edi
inc al
push eax
call fcn.0044977e
lea ecx, [esi + 0x4ad0]
call fcn.0042bf06
jmp 0x45edfa
lea ecx, [esi + 0x4ad0]
call fcn.0042ba0f
jmp 0x45edfa
add esi, 0x565d8
mov ecx, esi
call fcn.00449777
neg al
sbb al, al
mov ecx, esi
inc al
push eax
call fcn.0044977e
jmp 0x45edfa
lea ecx, [esi + 0x19ec0]
call fcn.00443cc8
jmp 0x45edfa
sub eax, 0x46
je 0x45edee
dec eax
je 0x45edda
dec eax
jne case.default.0x45ea62
call fcn.004884a6
mov esi, eax
mov ecx, esi
call fcn.004885e2
test al, al
je 0x45edfa
mov ecx, esi
call fcn.004885b8
jmp 0x45edfa
call fcn.004884a6
mov esi, eax
mov ecx, esi
call fcn.004885e2
test al, al
jne 0x45edfa
jmp 0x45edd1
call fcn.004884a6
mov ecx, eax
call fcn.0048867b
mov eax, ebx
jmp 0x45ea36