Function at 0x492e60
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x58708b
mov eax, dword fs:[0]
push eax
sub esp, 0x2b0
mov eax, dword [0x5deba8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x2b0], ecx
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x1050
call fcn.0046ade0
test eax, eax
jne 0x492fd3
mov eax, dword [ebp + 8]
mov dword [ebp - 0x234], eax
push 0xfffffffffffffff0
mov ecx, dword [ebp - 0x234]
push ecx
call dword [sym.imp.USER32.dll_GetWindowLongW]
and eax, 0x40000000
je 0x492ef5
mov edx, dword [ebp - 0x234]
push edx
call dword [sym.imp.USER32.dll_GetParent]
mov dword [ebp - 0x230], eax
cmp dword [ebp - 0x230], 0
je 0x492ef5
mov eax, dword [ebp - 0x230]
mov dword [ebp - 0x234], eax
jmp 0x492eb5
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x2a0], esp
push 0
call fcn.00416280
push 0
push 3
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x2a4], esp
push 0
call fcn.00416260
mov ecx, dword [ebp - 0x234]
push ecx
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x1050
call fcn.00434620
push 0x1f4
push 0
lea edx, [ebp - 0x22c]
push edx
call fcn.005533a0
add esp, 0xc
mov dword [ebp - 0x22c], 0x1f4
push 0
lea eax, [ebp - 0x22c]
push eax
push 0x1f4
push 0x29
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
mov dword [ebp - 0xe0], 0x190
push 1
mov ecx, dword [ebp - 0x2b0]
add ecx, 4
call fcn.00493bb0
push eax
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x1050
call fcn.00401060
push 0
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x1050
call fcn.004937c0
push 0x280
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x1050
call fcn.004937f0
push 0
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x1050
call fcn.00434670
cmp dword [ebp + 0xc], 0x200
je 0x493004
cmp dword [ebp + 0xc], 0x2a3
je 0x493004
cmp dword [ebp + 0xc], 0x202
je 0x493004
cmp dword [ebp + 0xc], 0x205
je 0x493004
cmp dword [ebp + 0xc], 0x208
jne 0x493378
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
movsx ecx, ax
test ecx, ecx
jl 0x493378
push 2
call dword [sym.imp.USER32.dll_GetKeyState]
movsx edx, ax
test edx, edx
jl 0x493378
push 4
call dword [sym.imp.USER32.dll_GetKeyState]
cwde
test eax, eax
jl 0x493378
mov dword [ebp - 0x23c], 1
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x1050
call fcn.0046ade0
test eax, eax
je 0x493090
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x1050
call fcn.00431150
test eax, eax
je 0x493090
cmp dword [ebp - 0x23c], 0
jne 0x493090
push 0
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x1050
call fcn.00434670
jmp 0x493425
push 0x30
push 0
lea ecx, [ebp - 0x298]
push ecx
call fcn.005533a0
add esp, 0xc
mov dword [ebp - 0x298], 0x30
mov dword [ebp - 0x278], 0
mov edx, dword [ebp + 8]
mov dword [ebp - 0x290], edx
mov dword [ebp - 0x294], 0
mov eax, dword [ebp - 0x2b0]
add eax, 8
mov dword [ebp - 0x274], eax
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x25c], ecx
mov edx, dword [ebp + 0x14]
mov dword [ebp - 0x258], edx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x260], eax
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x264], ecx
lea edx, [ebp - 0x250]
push edx
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [ebp - 0x274]
push eax
lea ecx, [ebp - 0x268]
call fcn.0041d9b0
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x250]
mov dword [ebp - 0x248], ecx
mov edx, dword [ebp - 0x24c]
mov dword [ebp - 0x244], edx
lea eax, [ebp - 0x248]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.USER32.dll_ScreenToClient]
mov edx, dword [ebp - 0x248]
and edx, 0xffff
movzx eax, dx
mov ecx, dword [ebp - 0x244]
and ecx, 0xffff
movzx edx, cx
shl edx, 0x10
or eax, edx
push eax
lea eax, [ebp - 0x298]
push eax
push 0x13a0
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0x238], eax
mov edx, dword [ebp - 0x2b0]
mov eax, dword [edx + 0x1060]
cmp eax, dword [ebp - 0x28c]
jne 0x4931c0
mov ecx, dword [ebp - 0x2b0]
mov edx, dword [ecx + 0x105c]
cmp edx, dword [ebp - 0x290]
jne 0x4931c0
mov dword [ebp - 0x2b4], 0
jmp 0x4931ca
mov dword [ebp - 0x2b4], 1
mov eax, dword [ebp - 0x2b4]
mov dword [ebp - 0x240], eax
cmp dword [ebp - 0x240], 0
jne 0x493213
lea ecx, [ebp - 0x288]
push ecx
lea ecx, [ebp - 0x30]
call fcn.00480ec0
push eax
mov edx, dword [ebp - 0x2b0]
add edx, 0x1064
push edx
lea ecx, [ebp - 0x20]
call fcn.00480ec0
mov ecx, eax
call fcn.00493450
test eax, eax
je 0x4932de
cmp dword [ebp - 0x240], 0
jne 0x493239
mov eax, dword [ebp - 0x2b0]
add eax, 0x1054
push eax
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x1050
call fcn.00493850
cmp dword [ebp - 0x238], 0xffffffff
je 0x49326f
lea ecx, [ebp - 0x298]
push ecx
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x1050
call fcn.00493820
push 1
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x1050
call fcn.00434670
jmp 0x493282
push 0
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x1050
call fcn.00434670
lea edx, [ebp - 0x264]
push edx
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x1050
call fcn.00434700
cmp dword [ebp - 0x240], 0
je 0x4932c0
mov eax, dword [ebp - 0x2b0]
add eax, 0x1054
push eax
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x1050
call fcn.00493850
mov edi, dword [ebp - 0x2b0]
add edi, 0x1054
mov ecx, 0xc
lea esi, [ebp - 0x298]
rep movsd dword es:[edi], dword [esi]
jmp 0x493361
cmp dword [ebp - 0x238], 0xffffffff
je 0x493361
mov ecx, dword [ebp - 0x274]
push ecx
lea ecx, [ebp - 0x2ac]
call fcn.0041d9b0
mov dword [ebp - 0x2b8], eax
mov edx, dword [ebp - 0x2b8]
push edx
lea eax, [ebp - 0x268]
push eax
call fcn.00493770
add esp, 8
mov byte [ebp - 0x2a5], al
lea ecx, [ebp - 0x2ac]
call fcn.0041dab0
movzx ecx, byte [ebp - 0x2a5]
test ecx, ecx
je 0x493349
lea edx, [ebp - 0x298]
push edx
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x1050
call fcn.00493790
lea eax, [ebp - 0x264]
push eax
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x1050
call fcn.00434700
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x268]
call fcn.0041dab0
jmp 0x493425
cmp dword [ebp + 0xc], 0x100
jb 0x49338a
cmp dword [ebp + 0xc], 0x109
jbe 0x4933a8
cmp dword [ebp + 0xc], 0x104
jb 0x49339c
cmp dword [ebp + 0xc], 0x107
jbe 0x4933a8
mov dword [ebp - 0x2bc], 0
jmp 0x4933b2
mov dword [ebp - 0x2bc], 1
mov ecx, dword [ebp - 0x2bc]
mov dword [ebp - 0x29c], ecx
cmp dword [ebp - 0x29c], 0
jne 0x4933fd
cmp dword [ebp + 0xc], 0x201
je 0x4933fd
cmp dword [ebp + 0xc], 0x203
je 0x4933fd
cmp dword [ebp + 0xc], 0x204
je 0x4933fd
cmp dword [ebp + 0xc], 0x206
je 0x4933fd
cmp dword [ebp + 0xc], 0x207
je 0x4933fd
cmp dword [ebp + 0xc], 0x209
jne 0x493425
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x1050
call fcn.0046ade0
test eax, eax
je 0x493425
push 0
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x1050
call fcn.00434670
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0055338c
mov esp, ebp
pop ebp
ret 0x10