Function at 0x55afa0
Capabilities:
Log keystrokes via polling

Disassembly:
sub esp, 8
push esi
mov esi, dword [esp + 0x10]
push esi
call fcn.0058ed20
add esp, 4
test eax, eax
jne 0x55afbf
mov eax, 1
pop esi
add esp, 8
ret
mov eax, dword [esp + 0x20]
sub eax, 0
push ebx
push ebp
push edi
je 0x55b1ce
dec eax
je 0x55b09c
dec eax
jne 0x55b500
cmp dword [esi + 0x1314], 9
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
jne 0x55b00e
mov eax, dword [esp + 0x20]
mov ecx, dword [esi]
push ebx
push edi
push eax
push ecx
call fcn.0055ae10
push esi
call fcn.0058ed20
add esp, 0x14
test eax, eax
je 0x55b500
cmp edi, 0x43
jne 0x55b032
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
test ah, ah
jns 0x55b07f
mov eax, dword [0x63ce18]
test eax, eax
je 0x55b07f
cmp eax, dword [esi]
je 0x55b370
jmp 0x55b07f
cmp edi, 0x46
jne 0x55b064
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
test ah, ah
jns 0x55b500
mov edx, dword [esi]
push ebx
push edi
push 0x8040
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 8
ret
cmp edi, 0x10
je 0x55b500
cmp edi, 0x11
je 0x55b500
cmp edi, 0x12
je 0x55b500
mov eax, dword [esi]
push ebx
push edi
push 0x8040
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 8
ret
cmp dword [esi + 0x1314], 9
mov edi, dword [esp + 0x24]
jne 0x55b0cd
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
mov eax, dword [esi]
push ecx
push edi
push edx
push eax
call fcn.0055ae10
push esi
call fcn.0058ed20
add esp, 0x14
test eax, eax
je 0x55b500
cmp edi, 0x1b
je 0x55b341
cmp edi, 9
jne 0x55b118
mov eax, dword [esi + 0x1480]
test eax, eax
je 0x55b101
push eax
call dword [sym.imp.USER32.dll_SetFocus]
push 4
push esi
call fcn.0050d090
add esp, 8
pop edi
pop ebp
pop ebx
xor eax, eax
pop esi
add esp, 8
ret
mov edx, dword [esi + 0x1488]
push edx
call dword [sym.imp.USER32.dll_SetFocus]
pop edi
pop ebp
pop ebx
xor eax, eax
pop esi
add esp, 8
ret
cmp edi, 0x2d
jne 0x55b171
mov ecx, dword [esi + 0x1314]
mov eax, 6
cmp ecx, eax
jne 0x55b500
mov dword [0x61a20c], eax
mov eax, dword [esi]
push 0x676d10
mov dword [0x676d10], eax
call fcn.00508c40
mov ecx, dword [0x6a0f40]
add esp, 4
push 0
push 0x1b58
push 0x111
push ecx
mov dword [0x676d14], eax
call dword [sym.imp.USER32.dll_PostMessageA]
pop edi
pop ebp
pop ebx
xor eax, eax
pop esi
add esp, 8
ret
cmp edi, 0x2e
jne 0x55b500
mov ecx, dword [esi + 0x1314]
mov eax, 6
cmp ecx, eax
jne 0x55b500
mov dword [0x61a20c], eax
mov edx, dword [esi]
push 0x676d10
mov dword [0x676d10], edx
call fcn.00508c40
add esp, 4
push 0
push 0x1b5b
mov dword [0x676d14], eax
mov eax, dword [0x6a0f40]
push 0x111
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
pop edi
pop ebp
pop ebx
xor eax, eax
pop esi
add esp, 8
ret
cmp dword [esi + 0x1314], 9
mov ebx, dword [esp + 0x24]
mov ebp, 1
jne 0x55b206
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
mov eax, dword [esi]
push ecx
push ebx
push edx
push eax
call fcn.0055ae10
push esi
mov ebp, eax
call fcn.0058ed20
add esp, 0x14
test eax, eax
je 0x55b500
cmp ebx, 0x26
mov edi, dword [sym.imp.USER32.dll_GetKeyState]
je 0x55b216
cmp ebx, 0x28
jne 0x55b25a
push 0x10
call edi
test ah, ah
js 0x55b25a
mov eax, dword [esi + 0x14b0]
cmp eax, 1
je 0x55b237
cmp eax, 2
jne 0x55b23f
cmp dword [esi + 0x14b4], 1
jle 0x55b23f
push 0x11
call edi
test ah, ah
jns 0x55b25a
push 0
push ebx
mov ecx, dword [esi]
push 0x8040
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
pop edi
pop ebp
pop ebx
xor eax, eax
pop esi
add esp, 8
ret
cmp ebx, 0x24
je 0x55b268
cmp ebx, 0x23
jne 0x55b30f
push 0x10
call edi
test ah, ah
js 0x55b30f
push 0x11
call edi
test ah, ah
jns 0x55b30f
mov eax, dword [esi + 0x14b0]
cmp eax, 1
je 0x55b299
cmp eax, 2
jne 0x55b2f4
cmp dword [esi + 0x14b4], 1
jle 0x55b2f4
mov eax, dword [esi + 0x1480]
test eax, eax
mov ebp, dword [sym.imp.USER32.dll_GetFocus]
je 0x55b2b1
mov edi, eax
call ebp
cmp edi, eax
je 0x55b2c3
mov eax, dword [esi + 0x1484]
test eax, eax
je 0x55b2f4
mov edi, eax
call ebp
cmp edi, eax
jne 0x55b2f4
mov eax, edi
test eax, eax
je 0x55b2f4
mov ecx, dword [esi + 0x14ac]
push 0
lea edx, [esp + 0x14]
push edx
push ecx
push eax
mov dword [esp + 0x20], 0
call fcn.00489ba0
mov eax, dword [esp + 0x20]
add esp, 0x10
test eax, eax
jg 0x55b500
mov edx, dword [esi]
push 0
push ebx
push 0x8040
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
pop edi
pop ebp
pop ebx
xor eax, eax
pop esi
add esp, 8
ret
cmp ebx, 0x21
je 0x55b319
cmp ebx, 0x22
jne 0x55b33c
push 0x10
call edi
test ah, ah
js 0x55b33c
mov eax, dword [esi]
push 0
push ebx
push 0x8040
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
pop edi
pop ebp
pop ebx
xor eax, eax
pop esi
add esp, 8
ret
cmp ebx, 0x1b
jne 0x55b34a
push 0
push 0x1b
jmp 0x55b242
cmp ebx, 0x43
jne 0x55b3c1
push 0x11
call edi
test ah, ah
jns 0x55b500
mov eax, dword [0x63ce18]
test eax, eax
je 0x55b500
cmp eax, dword [esi]
jne 0x55b500
lea edx, [esp + 0x10]
push edx
call dword [sym.imp.USER32.dll_GetCursorPos]
mov ecx, dword [esi]
lea eax, [esp + 0x10]
push eax
push ecx
call dword [sym.imp.USER32.dll_ScreenToClient]
movzx edx, word [esp + 0x14]
movzx eax, word [esp + 0x10]
mov ecx, dword [esi]
shl edx, 0x10
or edx, eax
push edx
push ecx
call fcn.00463cf0
mov edx, dword [esi]
push edx
call fcn.00462e00
mov eax, dword [0x63ce18]
push eax
call fcn.00463bf0
add esp, 0x10
pop edi
pop ebp
pop ebx
xor eax, eax
pop esi
add esp, 8
ret
cmp ebx, 9
jne 0x55b4ee
mov ecx, dword [esi]
push ecx
call fcn.00560b90
add esp, 4
push 0x10
mov ebx, eax
call edi
test ah, ah
jns 0x55b3e8
mov eax, dword [0x680f40]
test eax, eax
je 0x55b409
push 0x10
call edi
test ah, ah
js 0x55b4e1
mov eax, dword [0x680f40]
test eax, eax
je 0x55b4e1
test ebx, ebx
jne 0x55b4e1
mov ebx, dword [esp + 0x30]
cmp ebx, dword [esi + 0x1480]
mov ebp, dword [sym.imp.USER32.dll_IsWindowEnabled]
mov edi, dword [sym.imp.USER32.dll_SetFocus]
jne 0x55b47a
mov eax, dword [esi + 0x1484]
test eax, eax
je 0x55b43b
push eax
call ebp
test eax, eax
je 0x55b43b
mov edx, dword [esi + 0x1484]
push edx
jmp 0x55b46d
mov eax, dword [esi + 0x1488]
test eax, eax
je 0x55b466
push eax
call ebp
test eax, eax
jne 0x55b45b
push 3
push esi
call fcn.0050d090
add esp, 8
test eax, eax
je 0x55b466
mov eax, dword [esi + 0x1488]
push eax
call edi
jmp 0x55b47a
mov ecx, dword [esi + 0x1480]
push ecx
call edi
push 4
push esi
call fcn.0050d090
add esp, 8
cmp ebx, dword [esi + 0x1484]
jne 0x55b250
mov eax, dword [esi + 0x1488]
test eax, eax
je 0x55b4b9
push eax
call ebp
test eax, eax
jne 0x55b4a6
push 3
push esi
call fcn.0050d090
add esp, 8
test eax, eax
je 0x55b4b9
mov edx, dword [esi + 0x1488]
push edx
call edi
pop edi
pop ebp
pop ebx
xor eax, eax
pop esi
add esp, 8
ret
mov eax, dword [esi + 0x1480]
test eax, eax
jne 0x55b4c9
mov eax, dword [esi + 0x1484]
push eax
call edi
push 4
push esi
call fcn.0050d090
add esp, 8
pop edi
pop ebp
pop ebx
xor eax, eax
pop esi
add esp, 8
ret
test ebp, ebp
je 0x55b500
push 0
push 9
jmp 0x55b242
cmp ebx, 0xd
je 0x55b250
cmp ebx, 0xa
je 0x55b250
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 8
ret