Function at 0x275aebc3
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
cmp dword [ebp + 0x10], 0
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov ecx, dword [esi]
mov dword [ebp - 4], ecx
je 0x275aecbd
test byte [esi + 0x20], 0x40
mov ebx, dword [sym.imp.USER32.dll_IsWindow]
jne 0x275dc086
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp + 0x18]
mov word [ebp - 0xc], di
mov dword [ebp - 0xa], eax
lea eax, [ebp - 0x18]
push eax
push 0xffffff65
push esi
call fcn.27582d58
test eax, eax
jne 0x275dc0f4
cmp dword [esi + 0x7c], 0
jne 0x275dc0fc
test byte [esi + 9], 0x10
jne 0x275dc124
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
test eax, eax
je 0x275aecbd
mov edi, dword [sym.imp.USER32.dll_GetKeyState]
push 0x11
call edi
xor ecx, ecx
push 0x10
test ax, ax
setl cl
mov dword [ebp + 8], ecx
call edi
nop
xor ecx, ecx
test ax, ax
setl cl
cmp dword [ebp + 0xc], 0xd
mov dword [ebp + 0x10], ecx
je 0x275dc247
cmp dword [ebp + 0xc], 0x20
je 0x275dc1fe
cmp dword [ebp + 0xc], 0x6b
je 0x275dc12f
push 0x12
call edi
test ax, ax
jl 0x275aecbd
test byte [esi + 8], 4
je 0x275dc195
xor ebx, ebx
mov dword [ebp + 8], ebx
mov dword [ebp + 0x10], ebx
push dword [ebp + 0xc]
push dword [esi + 0x54]
push esi
call fcn.275b3a7e
mov edi, eax
cmp edi, 0xffffffff
jne 0x275dc19c
push 0x2b
push 0x200
push esi
call fcn.275a3320
test eax, eax
jne 0x275dc1e7
pop edi
pop esi
pop ebx
leave
ret 0x14
mov eax, dword [esi + 0xe8]
test al, 8
je 0x275aebee
test al, 4
je 0x275aebee
mov edi, dword [ebp + 0xc]
cmp edi, 0x10
je 0x275aecbd
cmp edi, 0x11
je 0x275aecbd
cmp edi, 0x12
je 0x275aecbd
cmp edi, 0xd
je 0x275aecbd
push 0x2e
push ecx
call dword [sym.imp.USER32.dll_KillTimer]
and dword [esi + 0xe8], 0xfffffff7
lea eax, [esi + 0xec]
push eax
push 0xffffffffffffff8e
push esi
call fcn.27582d58
push dword [ebp - 4]
call ebx
test eax, eax
jne 0x275aebf1
jmp 0x275aecbd
inc dword [esi + 0x7c]
jmp 0x275aecbd
mov edi, 0x102
push 1
push edi
push edi
lea eax, [ebp - 0x34]
push dword [esi]
push eax
call dword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x275aec1c
dec dword [esi + 0x7c]
je 0x275aec1c
jmp 0x275dc101
mov eax, dword [esi + 0x15c]
jmp 0x275aec2b
mov eax, dword [esi + 8]
and eax, 3
cmp al, 1
jne 0x275aec76
push 0x11
call edi
test ax, ax
jge 0x275aec76
push 0x7f02
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
mov ebx, dword [sym.imp.USER32.dll_SetCursor]
push eax
call ebx
and dword [ebp + 0xc], 0
cmp dword [esi + 0x120], 0
lea edi, [esi + 0x120]
mov dword [ebp + 8], eax
jle 0x275dc18b
push 0xffffffffffffffff
push dword [ebp + 0xc]
push esi
call fcn.276264d9
inc dword [ebp + 0xc]
mov eax, dword [ebp + 0xc]
cmp eax, dword [edi]
jl 0x275dc176
push dword [ebp + 8]
call ebx
jmp 0x275aecbd
xor ebx, ebx
jmp 0x275aec91
cmp dword [ebp + 0x10], ebx
je 0x275dc1ca
push 1
push edi
push esi
call fcn.27619de7
push ebx
push ebx
push ebx
push edi
push esi
call fcn.275b3bfc
push ebx
push ebx
call fcn.27597367
push 0x275e61a0
call fcn.27622851
jmp 0x275aeca8
cmp dword [ebp + 8], ebx
jne 0x275dc1d2
mov dword [esi + 0x58], edi
xor eax, eax
cmp dword [ebp + 8], ebx
push ebx
sete al
push eax
xor eax, eax
cmp dword [ebp + 8], ebx
sete al
push eax
jmp 0x275dc1ad
push ebx
push dword [esi + 0x54]
push esi
call fcn.275ae881
push dword [esi]
call dword [sym.imp.USER32.dll_UpdateWindow]
jmp 0x275aecbd
cmp dword [ebp + 8], 0
je 0x275dc214
mov eax, dword [esi + 0x54]
push eax
push esi
mov dword [esi + 0x58], eax
call fcn.27619dbc
inc dword [esi + 0x7c]
cmp dword [ebp + 0x10], 0
je 0x275dc225
push 1
push dword [esi + 0x54]
push esi
call fcn.27619de7
test byte [esi + 0x20], 4
je 0x275aecbd
mov eax, dword [esi + 0x54]
cmp eax, 0xffffffff
je 0x275aecbd
push eax
push esi
call fcn.2761acec
jmp 0x275aecbd
xor edi, edi
push edi
push 0xfffffffffffffffc
push esi
call fcn.27582d58
push dword [ebp - 4]
call ebx
test eax, eax
je 0x275aecbd
mov eax, dword [esi + 0x54]
or dword [ebp - 0x28], 0xffffffff
or dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x2c], edi
call fcn.275b38da
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x48]
push eax
push 0xffffffffffffff8e
push esi
call fcn.27582d58
push dword [ebp - 4]
jmp 0x275dc18e