Function at 0x48e652
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 0x48e67b
push 4
pop edi
test byte [ebp - 0xf0], 0x80
je 0x48e685
inc edi
test byte [ebp - 0xef], 0x80
je 0x48e690
inc edi
inc edi
test edi, edi
je case.default.0x48e6f6
imul edi, edi, 0x64
mov eax, dword [ebp + 8]
push 0xa
add edi, eax
pop ecx
mov ebx, 0x58e514
xor eax, eax
mov edx, ebx
cmp dword [edx], edi
je 0x48e6b7
inc eax
add edx, 4
cmp eax, 0xa
jl 0x48e6a8
jmp 0x48e6bd
add eax, ecx
test eax, eax
jne 0x48e6d1
add ecx, 0xa
add ebx, 0x28
cmp ecx, 0x50
jl 0x48e6a4
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 4
push 1
cmp eax, 0x2a
pop ebx
jg 0x48e8cc
je 0x48e8bc
cmp eax, 0x12
jg 0x48e774
je 0x48e769
add eax, 0xfffffff6
cmp eax, 7
ja case.default.0x48e6f6
jmp dword [eax*4 + 0x48ea95]
push 0
push 0
push 0xe6
jmp 0x48e7eb
push 0
push 0
push 0xd2
jmp 0x48e7eb
push 0
push 0
push 0xaa
jmp 0x48e7eb
push 0
push 0
push 0x96
jmp 0x48e7eb
push 0
push 0
push 0xa0
jmp 0x48e7eb
push 0
push 0
push 0x10e
jmp 0x48e7eb
push 0
push 0
push ebx
jmp 0x48e7eb
push 0
push 0
push 0xbe
jmp 0x48e7eb
push 0
push 0
push 0xc8
jmp 0x48e7eb
cmp eax, 0x1e
jg 0x48e80a
je 0x48e7fa
sub eax, 0x13
je 0x48e7e2
dec eax
je 0x48e7c7
dec eax
je 0x48e7ac
dec eax
jne case.default.0x48e6f6
lea ecx, [esi + 0x798]
call fcn.0043b36b
lea ecx, [esi + 0x138b0]
call fcn.004546e6
jmp 0x48ea8e
lea ecx, [esi + 0x798]
call fcn.0043b36b
lea ecx, [esi + 0x138b0]
call fcn.0045468f
jmp 0x48ea8e
lea ecx, [esi + 0x798]
call fcn.0043b36b
lea ecx, [esi + 0x138b0]
call fcn.0045473d
jmp 0x48ea8e
push 0
push 0
push 0xfa
mov ecx, 0x590140
call fcn.004bd779
jmp 0x48ea8e
lea ecx, [esi + 0x798]
call fcn.0043b41a
jmp 0x48ea8e
sub eax, 0x1f
je 0x48e882
sub eax, 9
je 0x48e82b
dec eax
jne case.default.0x48e6f6
lea ecx, [esi + 0x798]
call fcn.0043c361
jmp 0x48ea8e
mov eax, dword [0x5913d4]
sub eax, 0
je 0x48e872
dec eax
je 0x48e862
dec eax
je 0x48e852
dec eax
jne 0x48ea8e
lea ecx, [esi + 0x35544]
call fcn.0044fd60
jmp 0x48ea8e
lea ecx, [esi + 0x35544]
call fcn.0044fdb4
jmp 0x48ea8e
lea ecx, [esi + 0x35544]
call fcn.0044fd98
jmp 0x48ea8e
lea ecx, [esi + 0x35544]
call fcn.0044fd7c
jmp 0x48ea8e
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, 0x58df80
call fcn.0049270e
mov dword [esi + 0xa0c68], 4
jmp 0x48ea8e
lea ecx, [esi + 0x798]
call fcn.0043b775
jmp 0x48ea8e
cmp eax, 0x37
jg 0x48e9c3
je 0x48e9a7
cmp eax, 0x33
jg 0x48e96a
je 0x48e94e
sub eax, 0x2b
je 0x48e933
dec eax
je 0x48e923
dec eax
je 0x48e906
sub eax, 5
jne case.default.0x48e6f6
cmp dword [esi + 0x29294], 0
jmp 0x48e9ad
cmp dword [esi + 0xa0c54], 0
jne 0x48ea8e
lea ecx, [esi + 0x798]
call fcn.0043b6ae
jmp 0x48ea8e
lea ecx, [esi + 0x798]
call fcn.0043b5d4
jmp 0x48ea8e
lea ecx, [esi + 0x798]
call fcn.0043b36b
lea ecx, [esi + 0x138b0]
call fcn.00454794
jmp 0x48ea8e
cmp dword [esi + 0x29294], ebx
jne 0x48ea8e
lea ecx, [esi + 0x29230]
call fcn.0042be57
jmp 0x48ea8e
sub eax, 0x34
je 0x48e99f
dec eax
je 0x48e982
dec eax
jne case.default.0x48e6f6
cmp dword [esi + 0x29294], 2
jmp 0x48e9ad
cmp dword [esi + 0x29294], 0
jne 0x48ea8e
lea ecx, [esi + 0x29230]
call fcn.0042bdf2
jmp 0x48ea8e
cmp dword [esi + 0x29294], ebx
jmp 0x48e989
cmp dword [esi + 0x29294], ebx
jne 0x48ea8e
lea ecx, [esi + 0x29230]
call fcn.0042bd9c
jmp 0x48ea8e
cmp eax, 0x3f
jg 0x48ea44
je 0x48ea37
sub eax, 0x38
je 0x48ea8e
sub eax, 4
je 0x48ea1a
dec eax
je 0x48ea0d
dec eax
jne case.default.0x48e6f6
lea edi, [esi + 0x7e0b0]
mov ecx, edi
call fcn.004715a5
neg al
sbb al, al
mov ecx, edi
inc al
push eax
call fcn.004715c4
lea ecx, [esi + 0x798]
call fcn.0043c1e5
jmp 0x48ea8e
lea ecx, [esi + 0x798]
call fcn.0043bbf2
jmp 0x48ea8e
add esi, 0x7e008
mov ecx, esi
call fcn.004715a5
neg al
sbb al, al
mov ecx, esi
inc al
push eax
call fcn.004715c4
jmp 0x48ea8e
lea ecx, [esi + 0x2c384]
call fcn.00462cf4
jmp 0x48ea8e
sub eax, 0x46
je 0x48ea82
dec eax
je 0x48ea6e
dec eax
jne case.default.0x48e6f6
call fcn.004b8bb3
mov esi, eax
mov ecx, esi
call fcn.004b8d14
test al, al
je 0x48ea8e
mov ecx, esi
call fcn.004b8cea
jmp 0x48ea8e
call fcn.004b8bb3
mov esi, eax
mov ecx, esi
call fcn.004b8d14
test al, al
jne 0x48ea8e
jmp 0x48ea65
call fcn.004b8bb3
mov ecx, eax
call fcn.004b8dbf
mov eax, ebx
jmp 0x48e6ca