Function at 0x530738
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
push 0x1478
sub esp, 0x30
mov eax, 0
mov edx, dword [ebp + 0x14]
cmp eax, edx
jne 0x53075f
mov eax, dword [ebp + 0x10]
cmp eax, 0x3e8
jge 0x53075f
jmp 0x530763
xor eax, eax
jmp 0x530766
xor eax, eax
inc eax
cmp eax, 0
je 0x530796
mov eax, 0
mov edx, dword [0x630178]
cmp eax, edx
sete al
xor ah, ah
cwde
xor al, 1
cmp eax, 0
je 0x530796
push dword [ebp + 8]
call fcn.00538587
jmp 0x530ea4
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x34], eax
mov eax, 0
mov edx, dword [0x6302f0]
cmp eax, edx
jne 0x5307b2
call fcn.005306e0
jmp 0x5307bc
mov eax, dword [0x6302f0]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 0x10]
sar eax, 0x10
cmp eax, 0
je 0x53082b
cmp eax, 3
je 0x530a2c
cmp eax, 0x300
je 0x530aeb
cmp eax, 0x100
je 0x530b85
cmp eax, 4
je 0x530b85
cmp eax, 0x200
je 0x530c5e
cmp eax, 1
je 0x530c7d
cmp eax, 5
je 0x530ddf
cmp eax, 0
je 0x530e63
mov eax, 0
jmp 0x530e7d
push 0
push dword [0x6302f0]
call fcn.00543fcd
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
push eax
call fcn.00450934
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x34]
xchg edx, eax
mov eax, dword [0x6302f0]
mov dword [eax], edx
mov eax, dword [ebp - 0x28]
mov edx, dword [0x62f630]
cmp eax, edx
jne 0x53086f
mov eax, 9
jmp 0x5309d6
mov eax, dword [ebp - 0x28]
mov edx, dword [0x62f63c]
cmp eax, edx
jne 0x530891
push dword [0x6302f0]
call fcn.00545f31
mov eax, 0x1a
jmp 0x5309d6
mov eax, dword [ebp - 0x28]
mov edx, dword [0x62f648]
cmp eax, edx
jne 0x530947
push 0xb
push dword [0x6302f0]
call fcn.00543fcd
push eax
call fcn.0052b615
mov edx, eax
mov eax, 0x20000
and eax, edx
mov edx, eax
mov eax, 0
cmp eax, edx
je 0x530932
push 0
push 0
push 0xf0
push dword [ebp - 0x34]
mov dword [section..data], ebp
call dword [sym.imp.USER32.DLL_SendMessageW]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
cmp eax, 0
je 0x530903
cmp eax, 2
je 0x53090a
cmp eax, 1
je 0x530911
mov eax, 0
jmp 0x530916
mov eax, 1
jmp 0x530916
mov eax, 0
jmp 0x530916
mov eax, 2
mov dword [ebp - 0x2c], eax
push 0
push dword [ebp - 0x2c]
push 0xf1
push dword [ebp - 0x34]
mov dword [section..data], ebp
call dword [sym.imp.USER32.DLL_SendMessageW]
push dword [0x6302f0]
call fcn.00545f31
mov eax, 0x1a
jmp 0x5309d6
mov eax, dword [ebp - 0x28]
mov edx, dword [0x62f654]
cmp eax, edx
jne 0x53099c
push 0
push 0
push 0xf2
push dword [ebp - 0x34]
mov dword [section..data], ebp
call dword [sym.imp.USER32.DLL_SendMessageW]
mov edx, eax
mov eax, 1
and eax, edx
mov edx, eax
mov eax, 1
cmp eax, edx
je 0x53099c
push 9
mov dword [section..data], ebp
call dword [sym.imp.USER32.DLL_GetKeyState]
and eax, 0x8000
cmp eax, 0
jne 0x53099c
jmp 0x5309a0
xor eax, eax
jmp 0x5309a3
xor eax, eax
inc eax
cmp eax, 0
je 0x5309bc
push dword [0x6302f0]
call fcn.00545f31
mov eax, 9
jmp 0x5309d6
xor eax, eax
inc eax
je 0x5309c8
mov eax, 0
jmp 0x5309d6
call fcn.005309cd
push 0
push dword [0x6302f0]
call fcn.00543fcd
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov edx, dword [0x62f654]
cmp eax, edx
jne 0x530a96
mov eax, dword [ebp - 0x34]
xchg edx, eax
mov eax, dword [0x6302f0]
mov dword [eax], edx
push 0
push 0
push 0xf2
push dword [ebp - 0x34]
mov dword [section..data], ebp
call dword [sym.imp.USER32.DLL_SendMessageW]
xor edi, edi
cmp eax, 0
je 0x530a7a
inc edi
mov eax, edi
xor al, 1
cmp eax, 0
je 0x530a94
push 0x1a
push 0
push dword [0x6302f0]
call fcn.0052ff80
jmp 0x530ae6
push dword [ebp + 8]
call fcn.00543f0d
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
cmp eax, 0
je 0x530abc
mov eax, dword [ebp - 0x14]
add eax, 0xa0
push eax
push dword [ebp - 0x34]
call fcn.0052ed0d
mov eax, dword [ebp - 0x34]
xchg edx, eax
mov eax, dword [0x6302f0]
mov dword [eax], edx
push 0
push dword [0x6302f0]
call fcn.00543fcd
mov dword [ebp - 0x10], eax
push 0x11
push 0
push dword [0x6302f0]
call fcn.0052ff80
jmp 0x530e7d
mov eax, 0
mov edx, dword [0x6302f0]
cmp eax, edx
je 0x530b0f
push dword [ebp + 8]
call fcn.00543e98
xor al, 1
cmp eax, 0
jne 0x530b0f
xor eax, eax
jmp 0x530b12
xor eax, eax
inc eax
xor al, 1
cmp eax, 0
je 0x530b7b
push dword [ebp - 0x34]
call fcn.00543e98
cmp eax, 0
je 0x530b7b
mov eax, dword [ebp - 0x34]
xchg edx, eax
mov eax, dword [0x6302f0]
mov dword [eax], edx
push 0x1a
push 0xffffffffffffffff
push dword [0x6302f0]
call fcn.0052ff80
push 0
push dword [0x6302f0]
call fcn.00543fcd
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov edx, dword [0x62f66c]
cmp eax, edx
jne 0x530b7b
push 0x10
push dword [ebp - 0x34]
call fcn.005486ad
push 0
push dword [ebp - 0x34]
call fcn.00544562
mov eax, 0
jmp 0x530e7d
push dword [ebp + 8]
call fcn.00543f0d
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
cmp eax, 0
je 0x530bab
mov eax, dword [ebp - 0x14]
add eax, 0xa0
push eax
push dword [ebp - 0x34]
call fcn.0052ed0d
mov eax, dword [ebp - 0x34]
xchg edx, eax
mov eax, dword [0x6302f0]
mov dword [eax], edx
push 0
push dword [0x6302f0]
call fcn.00543fcd
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
push eax
call fcn.00450934
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov edx, dword [0x62f660]
cmp eax, edx
je 0x530bf6
mov eax, dword [ebp - 0x28]
mov edx, dword [0x62f66c]
cmp eax, edx
je 0x530bf6
xor eax, eax
jmp 0x530bf9
xor eax, eax
inc eax
cmp eax, 0
je 0x530c11
push dword [ebp - 0x34]
call fcn.00543f0d
push eax
push dword [ebp - 0x34]
call fcn.0054891c
mov eax, dword [ebp - 0x28]
mov edx, dword [0x62f6b4]
cmp eax, edx
je 0x530c2f
mov eax, dword [ebp - 0x28]
mov edx, dword [0x62f6c4]
cmp eax, edx
je 0x530c2f
xor eax, eax
jmp 0x530c32
xor eax, eax
inc eax
cmp eax, 0
je 0x530c4a
push 0x12
push 0
push dword [0x6302f0]
call fcn.0052ff80
jmp 0x530c59
push 0x11
push 0
push dword [0x6302f0]
call fcn.0052ff80
jmp 0x530e7d
mov eax, dword [ebp - 0x34]
xchg edx, eax
mov eax, dword [0x6302f0]
mov dword [eax], edx
push 0x12
push 0
push dword [0x6302f0]
call fcn.0052ff80
jmp 0x530e7d
mov eax, dword [ebp - 0x34]
xchg edx, eax
mov eax, dword [0x6302f0]
mov dword [eax], edx
push dword [ebp - 0x34]
call fcn.00543f0d
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
add eax, 0
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov edx, dword [0x62f688]
cmp eax, edx
jne 0x530cb8
mov eax, 0x188
jmp 0x530cbd
mov eax, 0x147
mov dword [ebp - 0x3c], eax
push 0
push 0
push dword [ebp - 0x3c]
push dword [ebp - 0x34]
mov dword [section..data], ebp
call dword [sym.imp.USER32.DLL_SendMessageW]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x14]
add eax, 0xa0
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
and eax, 0xff
cmp eax, 0xb
jne 0x530d0c
mov eax, dword [ebp - 0x20]
inc eax
push eax
pop edx
xchg edx, eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 8]
xchg edx, eax
cmp eax, edx
jne 0x530d0c
jmp 0x530d10
xor eax, eax
jmp 0x530d13
xor eax, eax
inc eax
cmp eax, 0
je 0x530d1f
jmp 0x530ea4
push 0x19
push dword [ebp - 0x20]
push dword [0x6302f0]
call fcn.0052ff80
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x14]
add eax, 0xf0
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
and eax, 0xff
cmp eax, 5
je 0x530d53
jmp 0x530ea4
push 0
push 0
push dword [ebp - 0x3c]
push dword [ebp - 0x34]
mov dword [section..data], ebp
call dword [sym.imp.USER32.DLL_SendMessageW]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
and eax, 0xff
cmp eax, 0xb
jne 0x530d94
mov eax, dword [ebp - 0x20]
inc eax
push eax
pop edx
xchg edx, eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 8]
xchg edx, eax
cmp eax, edx
jne 0x530d94
jmp 0x530d98
xor eax, eax
jmp 0x530d9b
xor eax, eax
inc eax
cmp eax, 0
je 0x530da7
jmp 0x530ea4
mov eax, 0xb
xchg edx, eax
mov eax, dword [ebp - 0x18]
mov dword [eax], edx
mov eax, dword [ebp - 0x20]
inc eax
mov edx, eax
mov eax, dword [ebp - 0x18]
mov dword [eax + 8], edx
mov eax, dword [ebp - 0x24]
cmp eax, 1
jne 0x530dda
push 0x1a
push 0
push dword [0x6302f0]
call fcn.0052ff80
jmp 0x530e7d
mov eax, dword [ebp - 0x34]
xchg edx, eax
mov eax, dword [0x6302f0]
mov dword [eax], edx
push 0
push dword [0x6302f0]
call fcn.00543fcd
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov edx, dword [0x62f688]
cmp eax, edx
je 0x530e24
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov edx, dword [0x62f654]
cmp eax, edx
je 0x530e24
xor eax, eax
jmp 0x530e27
xor eax, eax
inc eax
xor al, 1
cmp eax, 0
je 0x530e3f
push 0x1a
push 0xffffffffffffffff
push dword [0x6302f0]
call fcn.0052ff80
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov edx, dword [0x62f688]
cmp eax, edx
jne 0x530e61
push 0x12
push 0
push dword [0x6302f0]
call fcn.0052ff80
jmp 0x530e7d
mov eax, dword [ebp - 0x34]
xchg edx, eax
mov eax, dword [0x6302f0]
mov dword [eax], edx
push 1
push 0
push dword [0x6302f0]
call fcn.0052ff80