Function at 0x5193c0
Capabilities:
Log keystrokes via polling

Disassembly:
sub esp, 8
push ebp
push esi
mov ebp, edx
mov esi, ecx
call fcn.00536900
test eax, eax
jne 0x5193df
pop esi
mov eax, 1
pop ebp
add esp, 8
ret 0x10
mov eax, dword [esp + 0x1c]
sub eax, 0
push ebx
push edi
je 0x5195c7
dec eax
je 0x5194b9
dec eax
jne 0x5198b8
cmp dword [esi + 0x700], 9
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
jne 0x519427
mov ecx, dword [esi]
push ebx
push edi
mov edx, ebp
call fcn.00519240
mov ecx, esi
call fcn.00536900
test eax, eax
je 0x5198b8
cmp edi, 0x43
jne 0x51944b
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
test ah, ah
jns 0x51949a
mov eax, dword [0x594268]
test eax, eax
je 0x51949a
cmp eax, dword [esi]
je 0x5196be
jmp 0x51949a
cmp edi, 0x46
jne 0x51947f
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
test ah, ah
jns 0x5198b8
mov eax, dword [esi]
push ebx
push edi
push 0x8040
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
pop edi
pop ebx
pop esi
mov eax, 1
pop ebp
add esp, 8
ret 0x10
cmp edi, 0x10
je 0x5198b8
cmp edi, 0x11
je 0x5198b8
cmp edi, 0x12
je 0x5198b8
mov ecx, dword [esi]
push ebx
push edi
push 0x8040
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
pop edi
pop ebx
pop esi
mov eax, 1
pop ebp
add esp, 8
ret 0x10
cmp dword [esi + 0x700], 9
mov edi, dword [esp + 0x1c]
jne 0x5194e4
mov edx, dword [esp + 0x20]
mov ecx, dword [esi]
push edx
push edi
mov edx, ebp
call fcn.00519240
mov ecx, esi
call fcn.00536900
test eax, eax
je 0x5198b8
cmp edi, 0x1b
je 0x51967a
cmp edi, 9
jne 0x519528
mov eax, dword [esi + 0x864]
test eax, eax
je 0x51950f
push eax
call dword [sym.imp.USER32.dll_SetFocus]
pop edi
pop ebx
pop esi
xor eax, eax
pop ebp
add esp, 8
ret 0x10
mov ecx, dword [esi + 0x86c]
push ecx
call dword [sym.imp.USER32.dll_SetFocus]
pop edi
pop ebx
pop esi
xor eax, eax
pop ebp
add esp, 8
ret 0x10
cmp edi, 0x2d
jne 0x519575
mov ecx, dword [esi + 0x700]
mov eax, 6
cmp ecx, eax
jne 0x5198b8
push 0
push 0x1b58
mov dword [0x589a98], eax
mov eax, dword [0x5a1b00]
mov edx, dword [esi + 0xbb4]
push 0x111
push eax
mov dword [0x599000], edx
call dword [sym.imp.USER32.dll_PostMessageA]
pop edi
pop ebx
pop esi
xor eax, eax
pop ebp
add esp, 8
ret 0x10
cmp edi, 0x2e
jne 0x5198b8
mov ecx, dword [esi + 0x700]
mov eax, 6
cmp ecx, eax
jne 0x5198b8
mov edx, dword [0x5a1b00]
push 0
push 0x1b5b
mov dword [0x589a98], eax
mov ecx, dword [esi + 0xbb4]
push 0x111
push edx
mov dword [0x599000], ecx
call dword [sym.imp.USER32.dll_PostMessageA]
pop edi
pop ebx
pop esi
xor eax, eax
pop ebp
add esp, 8
ret 0x10
cmp dword [esi + 0x700], 9
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x24], 1
jne 0x5195fe
mov eax, dword [esp + 0x20]
mov ecx, dword [esi]
push eax
push ebx
mov edx, ebp
call fcn.00519240
mov ecx, esi
mov dword [esp + 0x24], eax
call fcn.00536900
test eax, eax
je 0x5198b8
cmp ebx, 0x26
mov edi, dword [sym.imp.USER32.dll_GetKeyState]
je 0x51960e
cmp ebx, 0x28
jne 0x519628
mov eax, dword [esi + 0x898]
test eax, eax
je 0x5198c7
push 0x11
call edi
test ah, ah
js 0x5198c7
cmp ebx, 0x24
je 0x519632
cmp ebx, 0x23
jne 0x519646
push 0x10
call edi
test ah, ah
js 0x519646
push 0x11
call edi
test ah, ah
js 0x5198c7
cmp ebx, 0x21
je 0x519650
cmp ebx, 0x22
jne 0x519675
push 0x10
call edi
test ah, ah
js 0x519675
mov edx, dword [esi]
push 0
push ebx
push 0x8040
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
pop edi
pop ebx
pop esi
xor eax, eax
pop ebp
add esp, 8
ret 0x10
cmp ebx, 0x1b
jne 0x519698
mov eax, dword [esi]
push 0
push 0x1b
push 0x8040
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
pop edi
pop ebx
pop esi
xor eax, eax
pop ebp
add esp, 8
ret 0x10
cmp ebx, 0x43
jne 0x51970b
push 0x11
call edi
test ah, ah
jns 0x5198b8
mov eax, dword [0x594268]
test eax, eax
je 0x5198b8
cmp eax, dword [esi]
jne 0x5198b8
lea ecx, [esp + 0x10]
push ecx
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [esi]
lea edx, [esp + 0x10]
push edx
push eax
call dword [sym.imp.USER32.dll_ScreenToClient]
movzx edx, word [esp + 0x14]
movzx ecx, word [esp + 0x10]
shl edx, 0x10
or edx, ecx
mov ecx, dword [esi]
call fcn.004543a0
mov ecx, dword [esi]
call fcn.00453930
mov ecx, dword [0x594268]
call fcn.00454250
pop edi
pop ebx
pop esi
xor eax, eax
pop ebp
add esp, 8
ret 0x10
cmp ebx, 0x56
jne 0x519748
push 0x11
call edi
test ah, ah
jns 0x5198b8
push 0x10
call edi
test ah, ah
jns 0x5198b8
mov edx, dword [esp + 0x28]
push 0
push 0
push 0x302
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
pop edi
pop ebx
pop esi
xor eax, eax
pop ebp
add esp, 8
ret 0x10
cmp ebx, 0x2d
jne 0x519785
push 0x10
call edi
test ah, ah
jns 0x5198b8
push 0x11
call edi
test ah, ah
jns 0x5198b8
mov eax, dword [esp + 0x28]
push 0
push 0
push 0x302
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
pop edi
pop ebx
pop esi
xor eax, eax
pop ebp
add esp, 8
ret 0x10
cmp ebx, 9
jne 0x5198a4
mov ecx, dword [esi]
call fcn.0051e2e0
push 0x10
mov ebx, eax
call edi
test ah, ah
jns 0x5197a8
mov eax, dword [0x59b480]
test eax, eax
je 0x5197c9
push 0x10
call edi
test ah, ah
js 0x51987e
mov eax, dword [0x59b480]
test eax, eax
je 0x51987e
test ebx, ebx
jne 0x51987e
mov ebx, dword [esp + 0x28]
cmp ebx, dword [esi + 0x864]
mov ebp, dword [sym.imp.USER32.dll_IsWindowEnabled]
mov edi, dword [sym.imp.USER32.dll_SetFocus]
jne 0x51981e
mov eax, dword [esi + 0x868]
test eax, eax
je 0x5197fb
push eax
call ebp
test eax, eax
je 0x5197fb
mov ecx, dword [esi + 0x868]
push ecx
jmp 0x51981c
mov eax, dword [esi + 0x86c]
test eax, eax
je 0x519815
push eax
call ebp
test eax, eax
je 0x519815
mov edx, dword [esi + 0x86c]
push edx
jmp 0x51981c
mov eax, dword [esi + 0x864]
push eax
call edi
cmp ebx, dword [esi + 0x868]
jne 0x5198d8
mov eax, dword [esi + 0x86c]
test eax, eax
je 0x519850
push eax
call ebp
test eax, eax
je 0x519850
mov ecx, dword [esi + 0x86c]
push ecx
call edi
pop edi
pop ebx
pop esi
xor eax, eax
pop ebp
add esp, 8
ret 0x10
mov eax, dword [esi + 0x864]
test eax, eax
je 0x519869
push eax
call edi
pop edi
pop ebx
pop esi
xor eax, eax
pop ebp
add esp, 8
ret 0x10
mov edx, dword [esi + 0x868]
push edx
call edi
pop edi
pop ebx
pop esi
xor eax, eax
pop ebp
add esp, 8
ret 0x10
mov eax, dword [esp + 0x24]
test eax, eax
je 0x5198b8
mov eax, dword [esi]
push 0
push 9
push 0x8040
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
pop edi
pop ebx
pop esi
xor eax, eax
pop ebp
add esp, 8
ret 0x10
cmp ebx, 0xd
je 0x5198ae
cmp ebx, 0xa
jne 0x5198b8
mov eax, dword [esi + 0x898]
test eax, eax
je 0x5198d8
pop edi
pop ebx
pop esi
mov eax, 1
pop ebp
add esp, 8
ret 0x10
mov ecx, dword [esi]
push 0
push ebx
push 0x8040
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
pop edi
pop ebx
pop esi
xor eax, eax
pop ebp
add esp, 8
ret 0x10