Function at 0x48e7be
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 0x48e7e7
push 4
pop edi
test byte [ebp - 0xf0], 0x80
je 0x48e7f1
inc edi
test byte [ebp - 0xef], 0x80
je 0x48e7fc
inc edi
inc edi
test edi, edi
je case.default.0x48e862
imul edi, edi, 0x64
mov eax, dword [ebp + 8]
push 0xa
add edi, eax
pop ecx
mov ebx, 0x58f3d4
xor eax, eax
mov edx, ebx
cmp dword [edx], edi
je 0x48e823
inc eax
add edx, 4
cmp eax, 0xa
jl 0x48e814
jmp 0x48e829
add eax, ecx
test eax, eax
jne 0x48e83d
add ecx, 0xa
add ebx, 0x28
cmp ecx, 0x50
jl 0x48e810
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 4
push 1
cmp eax, 0x2a
pop ebx
jg 0x48ea38
je 0x48ea28
cmp eax, 0x12
jg 0x48e8e0
je 0x48e8d5
add eax, 0xfffffff6
cmp eax, 7
ja case.default.0x48e862
jmp dword [eax*4 + 0x48ec01]
push 0
push 0
push 0xe6
jmp 0x48e957
push 0
push 0
push 0xd2
jmp 0x48e957
push 0
push 0
push 0xaa
jmp 0x48e957
push 0
push 0
push 0x96
jmp 0x48e957
push 0
push 0
push 0xa0
jmp 0x48e957
push 0
push 0
push 0x10e
jmp 0x48e957
push 0
push 0
push ebx
jmp 0x48e957
push 0
push 0
push 0xbe
jmp 0x48e957
push 0
push 0
push 0xc8
jmp 0x48e957
cmp eax, 0x1e
jg 0x48e976
je 0x48e966
sub eax, 0x13
je 0x48e94e
dec eax
je 0x48e933
dec eax
je 0x48e918
dec eax
jne case.default.0x48e862
lea ecx, [esi + 0x798]
call fcn.0043b3b0
lea ecx, [esi + 0x138b0]
call fcn.004546e5
jmp 0x48ebfa
lea ecx, [esi + 0x798]
call fcn.0043b3b0
lea ecx, [esi + 0x138b0]
call fcn.0045468e
jmp 0x48ebfa
lea ecx, [esi + 0x798]
call fcn.0043b3b0
lea ecx, [esi + 0x138b0]
call fcn.0045473c
jmp 0x48ebfa
push 0
push 0
push 0xfa
mov ecx, 0x591000
call fcn.004bd801
jmp 0x48ebfa
lea ecx, [esi + 0x798]
call fcn.0043b45f
jmp 0x48ebfa
sub eax, 0x1f
je 0x48e9ee
sub eax, 9
je 0x48e997
dec eax
jne case.default.0x48e862
lea ecx, [esi + 0x798]
call fcn.0043c3a6
jmp 0x48ebfa
mov eax, dword [0x592294]
sub eax, 0
je 0x48e9de
dec eax
je 0x48e9ce
dec eax
je 0x48e9be
dec eax
jne 0x48ebfa
lea ecx, [esi + 0x35544]
call fcn.0044fd76
jmp 0x48ebfa
lea ecx, [esi + 0x35544]
call fcn.0044fdca
jmp 0x48ebfa
lea ecx, [esi + 0x35544]
call fcn.0044fdae
jmp 0x48ebfa
lea ecx, [esi + 0x35544]
call fcn.0044fd92
jmp 0x48ebfa
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, 0x58ee40
call fcn.00492870
mov dword [esi + 0xa0c68], 4
jmp 0x48ebfa
lea ecx, [esi + 0x798]
call fcn.0043b7ba
jmp 0x48ebfa
cmp eax, 0x37
jg 0x48eb2f
je 0x48eb13
cmp eax, 0x33
jg 0x48ead6
je 0x48eaba
sub eax, 0x2b
je 0x48ea9f
dec eax
je 0x48ea8f
dec eax
je 0x48ea72
sub eax, 5
jne case.default.0x48e862
cmp dword [esi + 0x29294], 0
jmp 0x48eb19
cmp dword [esi + 0xa0c54], 0
jne 0x48ebfa
lea ecx, [esi + 0x798]
call fcn.0043b6f3
jmp 0x48ebfa
lea ecx, [esi + 0x798]
call fcn.0043b619
jmp 0x48ebfa
lea ecx, [esi + 0x798]
call fcn.0043b3b0
lea ecx, [esi + 0x138b0]
call fcn.00454793
jmp 0x48ebfa
cmp dword [esi + 0x29294], ebx
jne 0x48ebfa
lea ecx, [esi + 0x29230]
call fcn.0042bf5f
jmp 0x48ebfa
sub eax, 0x34
je 0x48eb0b
dec eax
je 0x48eaee
dec eax
jne case.default.0x48e862
cmp dword [esi + 0x29294], 2
jmp 0x48eb19
cmp dword [esi + 0x29294], 0
jne 0x48ebfa
lea ecx, [esi + 0x29230]
call fcn.0042befa
jmp 0x48ebfa
cmp dword [esi + 0x29294], ebx
jmp 0x48eaf5
cmp dword [esi + 0x29294], ebx
jne 0x48ebfa
lea ecx, [esi + 0x29230]
call fcn.0042bea4
jmp 0x48ebfa
cmp eax, 0x3f
jg 0x48ebb0
je 0x48eba3
sub eax, 0x38
je 0x48ebfa
sub eax, 4
je 0x48eb86
dec eax
je 0x48eb79
dec eax
jne case.default.0x48e862
lea edi, [esi + 0x7e0b0]
mov ecx, edi
call fcn.00471626
neg al
sbb al, al
mov ecx, edi
inc al
push eax
call fcn.00471645
lea ecx, [esi + 0x798]
call fcn.0043c22a
jmp 0x48ebfa
lea ecx, [esi + 0x798]
call fcn.0043bc37
jmp 0x48ebfa
add esi, 0x7e008
mov ecx, esi
call fcn.00471626
neg al
sbb al, al
mov ecx, esi
inc al
push eax
call fcn.00471645
jmp 0x48ebfa
lea ecx, [esi + 0x2c384]
call fcn.00462dd2
jmp 0x48ebfa
sub eax, 0x46
je 0x48ebee
dec eax
je 0x48ebda
dec eax
jne case.default.0x48e862
call fcn.004b8c62
mov esi, eax
mov ecx, esi
call fcn.004b8dc3
test al, al
je 0x48ebfa
mov ecx, esi
call fcn.004b8d99
jmp 0x48ebfa
call fcn.004b8c62
mov esi, eax
mov ecx, esi
call fcn.004b8dc3
test al, al
jne 0x48ebfa
jmp 0x48ebd1
call fcn.004b8c62
mov ecx, eax
call fcn.004b8e6e
mov eax, ebx
jmp 0x48e836