Function at 0x4a7430
Capabilities:
Log keystrokes via polling

Disassembly:
sub esp, 0xc
mov eax, dword [ecx + 0x6c]
push ebx
push ebp
push esi
test eax, eax
push edi
mov dword [esp + 0x10], ecx
jne 0x4a744e
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xc
ret 0x10
mov edi, dword [esp + 0x24]
mov ebp, dword [esp + 0x2c]
cmp edi, 0x104
ja 0x4a74f3
cmp edi, 0x104
je 0x4a775c
mov eax, edi
sub eax, 0x100
je 0x4a775c
sub eax, 2
je 0x4a775c
mov esi, dword [ecx + 0x5c]
mov ebp, dword [esp + 0x2c]
mov ebx, dword [esp + 0x28]
test esi, esi
je 0x4a74b5
mov ecx, dword [esi]
mov eax, dword [esp + 0x20]
push ebp
push ebx
mov edx, dword [ecx]
push edi
push eax
call dword [edx + 0x48]
test eax, eax
jne 0x4a7876
mov esi, dword [esi + 4]
test esi, esi
jne 0x4a7493
mov ecx, dword [esp + 0x10]
cmp edi, 0x115
ja 0x4a785b
cmp edi, 0x114
jae 0x4a783f
sub edi, 0x111
je 0x4a782e
sub edi, 2
jne 0x4a7863
mov edx, dword [ecx]
push ebp
push ebx
call dword [edx + 0x68]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 0x10
cmp edi, 0x200
jb 0x4a7484
cmp edi, 0x20d
ja 0x4a7484
mov eax, dword [ecx + 0x20]
mov ecx, dword [esp + 0x20]
cmp ecx, dword [eax + 4]
jne 0x4a7863
mov ecx, 0x68d8e0
call fcn.004a6700
test eax, eax
je 0x4a7863
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x10]
lea edx, [esp + 0x24]
lea eax, [esp + 0x2c]
push edx
lea ecx, [esp + 0x18]
push eax
push ecx
push ebp
push ebx
mov ecx, esi
call fcn.004a8340
mov ecx, 0x68d8e0
call fcn.005d5880
test eax, eax
mov ecx, 0x68d8e0
je 0x4a7561
call fcn.005d5880
mov ecx, eax
jmp 0x4a7591
call fcn.005d7760
test eax, eax
mov ecx, 0x68d8e0
je 0x4a7578
call fcn.005d7760
mov ecx, eax
jmp 0x4a7591
call fcn.005d7770
test eax, eax
je 0x4a758f
mov ecx, 0x68d8e0
call fcn.005d7770
mov ecx, eax
jmp 0x4a7591
mov ecx, esi
lea eax, [edi - 0x200]
cmp eax, 0xc
ja case.default.0x4a75a0
jmp dword [eax*4 + 0x4a7880]
mov eax, dword [esp + 0x24]
mov edx, dword [ecx]
push eax
mov eax, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x20]
push eax
call dword [edx + 0x74]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 0x10
mov eax, dword [esp + 0x24]
mov edx, dword [ecx]
push eax
mov eax, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x20]
push eax
push 1
call dword [edx + 0x70]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 0x10
mov eax, dword [esp + 0x24]
mov edx, dword [ecx]
push eax
mov eax, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x20]
push eax
push 1
call dword [edx + 0x78]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 0x10
mov eax, dword [esp + 0x24]
mov edx, dword [ecx]
push eax
mov eax, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x20]
push eax
push 1
call dword [edx + 0x7c]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 0x10
mov eax, dword [esp + 0x24]
mov edx, dword [ecx]
push eax
mov eax, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x20]
push eax
push 2
call dword [edx + 0x70]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 0x10
mov eax, dword [esp + 0x24]
mov edx, dword [ecx]
push eax
mov eax, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x20]
push eax
push 2
call dword [edx + 0x78]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 0x10
mov eax, dword [esp + 0x24]
mov edx, dword [ecx]
push eax
mov eax, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x20]
push eax
push 2
call dword [edx + 0x7c]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 0x10
mov edx, dword [ecx]
push ebp
push ebx
push edi
call dword [edx + 0x80]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 0x10
mov edx, dword [esp + 0x24]
mov eax, dword [ecx]
push edx
mov edx, dword [esp + 0x30]
push edx
mov edx, dword [esp + 0x20]
push edx
mov edx, dword [esp + 0x20]
push edx
push 3
call dword [eax + 0x70]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 0x10
mov edx, dword [esp + 0x24]
mov eax, dword [ecx]
push edx
mov edx, dword [esp + 0x30]
push edx
mov edx, dword [esp + 0x20]
push edx
mov edx, dword [esp + 0x20]
push edx
push 3
call dword [eax + 0x78]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 0x10
mov edx, dword [esp + 0x24]
mov eax, dword [ecx]
push edx
mov edx, dword [esp + 0x30]
push edx
mov edx, dword [esp + 0x20]
push edx
mov edx, dword [esp + 0x20]
push edx
push 3
call dword [eax + 0x7c]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 0x10
mov eax, dword [ecx]
push ebp
push ebx
push edi
call dword [eax + 0x88]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 0x10
mov edx, dword [ecx]
push ebp
push ebx
push edi
call dword [edx + 0x88]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 0x10
mov ecx, dword [esp + 0x10]
jmp 0x4a7760
mov ebx, dword [esp + 0x28]
mov eax, dword [ecx + 0x20]
mov ecx, dword [esp + 0x20]
cmp ecx, dword [eax + 4]
jne 0x4a7863
mov ecx, 0x68d8e0
call fcn.004a6700
test eax, eax
je 0x4a7863
mov ecx, 0x68d8e0
call fcn.005d7760
test eax, eax
mov ecx, 0x68d8e0
je 0x4a779e
call fcn.005d7760
mov esi, eax
jmp 0x4a77b9
call fcn.005d7770
test eax, eax
je 0x4a77b5
mov ecx, 0x68d8e0
call fcn.005d7770
mov esi, eax
jmp 0x4a77b9
mov esi, dword [esp + 0x10]
cmp edi, 0x100
je 0x4a77dc
cmp edi, 0x104
je 0x4a77dc
mov edx, dword [esi]
push ebp
push ebx
mov ecx, esi
call dword [edx + 0x5c]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 0x10
mov edi, dword [sym.imp.USER32.dll_GetKeyState]
push 0x12
call edi
xor ebx, ebx
push 0x11
test ax, ax
setl bl
call edi
xor ecx, ecx
push 0x10
test ax, ax
setl cl
mov dword [esp + 0x30], ecx
call edi
xor edx, edx
mov ecx, dword [esp + 0x28]
test ax, ax
setl dl
mov eax, edx
mov dword [esp + 0x24], eax
mov edx, dword [esi]
push eax
mov eax, dword [esp + 0x30]
push eax
push ebx
push ebp
push ecx
mov ecx, esi
call dword [edx + 0x58]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 0x10
mov eax, dword [ecx]
push ebp
push ebx
call dword [eax + 0x60]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 0x10
mov edx, dword [ecx]
mov eax, ebx
shr eax, 0x10
and ebx, 0xffff
push eax
push ebx
call dword [edx + 0x6c]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 0x10
cmp edi, 0x400
je 0x4a786f
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xc
ret 0x10
mov edx, dword [ecx]
push ebp
push ebx
call dword [edx + 0x64]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 0x10