Function at 0x4618a0
Capabilities:
Log keystrokes via polling

Disassembly:
push ecx
push esi
mov esi, dword [esp + 0x10]
push esi
call fcn.00502a60
add esp, 4
test eax, eax
je 0x461c6f
mov eax, dword [esi]
push eax
call fcn.005827d0
add esp, 4
test eax, eax
je 0x461c6f
mov eax, dword [esi + 0x14]
test eax, eax
mov ecx, dword [esi + 0x43c]
mov dword [esp + 4], ecx
je 0x461932
test al, 1
je 0x4618ea
push esi
push 0
call fcn.004608d0
add esp, 8
test byte [esi + 0x14], 2
je 0x4618f9
push esi
call fcn.00541fd0
add esp, 4
test byte [esi + 0x14], 4
je 0x46190a
push 0
push esi
call fcn.00540670
add esp, 8
test byte [esi + 0x14], 8
je 0x46192b
mov eax, dword [0x609d98]
test eax, eax
je 0x46192b
mov eax, dword [0x609da8]
test eax, eax
je 0x46192b
push esi
call fcn.00540da0
add esp, 4
mov dword [esi + 0x14], 0
mov eax, dword [esp + 0xc]
test eax, eax
push ebx
push ebp
push edi
jne 0x461977
mov eax, dword [esi + 0xc]
test eax, eax
jne 0x46194d
push esi
call fcn.00540da0
add esp, 4
mov edi, dword [sym.imp.USER32.dll_GetKeyState]
push 0x11
call edi
test ah, ah
jns 0x461964
push esi
call fcn.00541fd0
add esp, 4
push 0x10
call edi
test ah, ah
js 0x461977
push 0
push esi
call fcn.00540670
add esp, 8
push esi
push 0
call fcn.00460c90
mov al, byte [esi + 0xd34]
add esp, 8
test al, al
je 0x461c32
mov al, byte [esi + 0xd98]
test al, al
je 0x461c32
mov al, byte [esi + 0xdfc]
test al, al
lea edi, [esi + 0xdfc]
je 0x461c32
mov al, byte [esi + 0xf30]
test al, al
lea ebx, [esi + 0xf30]
je 0x461c32
mov al, byte [esi + 0x10c0]
test al, al
lea ebp, [esi + 0x10c0]
je 0x461c32
mov eax, dword [0x63e0c0]
test eax, eax
je 0x461a18
push edi
lea edx, [esi + 0xec4]
push 0x64
push edx
mov dword [esi + 0xf28], 2
call fcn.00423900
mov eax, dword [esi + 0xf28]
imul eax, eax, 0x64
push edi
lea ecx, [eax + esi + 0x1250]
push 0x64
push ecx
call fcn.00423900
add esp, 0x18
mov eax, dword [esp + 0x10]
test eax, eax
je 0x461aaf
mov ecx, dword [esi + 0x434]
mov eax, 2
cmp ecx, eax
mov dword [esi + 0x438], 1
jge 0x461a43
mov dword [esi + 0x434], eax
mov edx, dword [esi + 0x434]
push ebp
push ebx
dec edx
push edx
push 0
push 0x5e0
call fcn.00421db0
add esp, 8
push eax
push 0x63b6f0
call dword [sym.imp.USER32.dll_wsprintfA]
mov eax, dword [esi + 0x10]
add esp, 0x14
test eax, eax
je 0x461b14
mov eax, 0x63b6f0
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x461a80
sub eax, edx
push 0
push 0x5e3
mov edi, eax
call fcn.00421db0
push eax
lea eax, [edi + 0x63b6f0]
push 0x5e6e4c
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
jmp 0x461b14
push ebp
push ebx
mov eax, 1
push 0
push 0x5df
mov dword [esi + 0x434], eax
mov dword [esi + 0x438], eax
call fcn.00421db0
add esp, 8
push eax
push 0x63b6f0
call dword [sym.imp.USER32.dll_wsprintfA]
mov eax, dword [esi + 0xd1c]
add esp, 0x10
test eax, eax
je 0x461af9
push 0x2e
push ebx
call fcn.005cbf10
add esp, 8
test eax, eax
jne 0x461b14
mov eax, dword [0x609d98]
test eax, eax
je 0x461b14
mov eax, dword [0x609da8]
test eax, eax
je 0x461b14
push esi
call fcn.00540da0
add esp, 4
push ebx
lea ecx, [esi + 0x1124]
push 0x64
push ecx
call fcn.00423900
mov edx, dword [0x61369c]
mov eax, dword [esi]
push edx
push eax
call fcn.00526700
mov ecx, dword [0x61369c]
push ecx
xor edi, edi
mov ebx, 1
mov dword [0x63f7ac], edi
mov dword [0x63f7bc], ebx
mov edx, dword [esi]
push 0x63b6f0
push edx
call fcn.00526870
mov eax, dword [0x61369c]
mov ecx, dword [esi]
push eax
push ecx
call fcn.00526700
mov al, byte [ebp]
add esp, 0x28
cmp al, 0x2b
jne 0x461b79
mov dword [esi + 0x2690], ebx
jmp 0x461b7f
mov dword [esi + 0x2690], edi
cmp dword [esi + 0x2690], edi
je 0x461bdd
cmp dword [0x643108], edi
jne 0x461bdd
mov edx, dword [0x61369c]
push edx
push edi
push 0x1425
mov dword [0x63f7ac], edi
mov dword [0x63f7bc], ebx
call fcn.00421db0
add esp, 8
push eax
mov eax, dword [esi]
push eax
call fcn.005275f0
push 0x63b6f0
push 0x5e2
call fcn.00421db0
push esi
push ebx
push 0x63b6f0
call fcn.00460b70
add esp, 0x20
pop edi
pop ebp
pop ebx
pop esi
pop ecx
ret
push esi
call fcn.004da3d0
push esi
call fcn.004aa430
push ebx
call fcn.00502f60
mov eax, dword [0x609d8c]
add esp, 0xc
cmp eax, edi
je 0x461c04
push esi
call fcn.005410d0
add esp, 4
cmp dword [esi + 0x904], edi
jne 0x461c23
cmp dword [0x609d84], edi
jne 0x461c23
push esi
call fcn.0058bc90
add esp, 4
pop edi
pop ebp
pop ebx
pop esi
pop ecx
ret
push esi
call fcn.0058d070
add esp, 4
pop edi
pop ebp
pop ebx
pop esi
pop ecx
ret
push esi
push 1
push 0x5e6c98
call fcn.00460b70
push 0
call fcn.00421c80
mov ecx, dword [0x645324]
add esp, 0x10
push 2
push 0x9f
push 0x111
push ecx
mov dword [0x63e940], 1
call dword [sym.imp.USER32.dll_PostMessageA]
pop edi
pop ebp
pop ebx
pop esi
pop ecx
ret