Function at 0x43836d
Capabilities:
Log keystrokes via polling

Disassembly:
mov eax, dword [0x459550]
mov ecx, dword [0x45954c]
push ebx
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
push ebp
push esi
or esi, 0xffffffff
cmp eax, 0x106
push edi
jg 0x4383f5
cmp eax, 0xfe
jl 0x4383f5
cmp ecx, 0xc
jg 0x4383f5
cmp ecx, 3
jl 0x4383f5
xor edi, edi
cmp dword [0x459568], esi
jne 0x4383cb
push edi
push 0x9c80
push 0x111
push dword [0x45b980]
call ebx
push edi
push esi
push esi
push esi
call fcn.004109d0
mov dword [0x459544], edi
jmp 0x4383e5
test byte [0x459580], 1
je 0x4383e8
xor eax, eax
inc eax
push eax
push esi
push esi
push esi
mov dword [0x459544], eax
call fcn.004109d0
add esp, 0x10
cmp dword [0x459568], edi
je 0x438411
jmp 0x4385c6
xor edi, edi
cmp dword [0x459544], edi
je 0x438411
push edi
push esi
push esi
push esi
mov dword [0x459544], edi
call fcn.004109d0
add esp, 0x10
mov eax, dword [0x459550]
mov ebp, dword [sym.imp.USER32.dll_GetAsyncKeyState]
cmp eax, 0xfd
jg 0x43849e
cmp eax, 0xf4
jl 0x43849e
mov eax, dword [0x45954c]
cmp eax, 0xc
jg 0x43849e
cmp eax, 3
jl 0x43849e
cmp dword [0x459568], esi
jne 0x438474
push 0x10
call ebp
and ax, 0x8000
push 6
push dword [0x45b980]
neg ax
sbb eax, eax
neg eax
mov dword [0x45abf8], eax
call dword [sym.imp.USER32.dll_ShowWindow]
push esi
push esi
push edi
push esi
call fcn.004109d0
mov dword [0x45953c], edi
jmp 0x43848e
test byte [0x459580], 1
je 0x438491
xor eax, eax
push esi
inc eax
push esi
push eax
push esi
mov dword [0x45953c], eax
call fcn.004109d0
add esp, 0x10
cmp dword [0x459568], edi
je 0x4384b8
jmp 0x4385c6
cmp dword [0x45953c], edi
je 0x4384b8
push esi
push esi
push edi
push esi
mov dword [0x45953c], edi
call fcn.004109d0
add esp, 0x10
mov eax, dword [0x459550]
cmp eax, 0x110
jg 0x43854a
cmp eax, 0x108
jl 0x43854a
mov eax, dword [0x45954c]
cmp eax, 0xc
jg 0x43854a
cmp eax, 3
jl 0x43854a
cmp dword [0x459568], esi
jne 0x438523
push esi
push edi
push esi
push esi
mov dword [0x459540], edi
call fcn.004109d0
add esp, 0x10
push 0x10
call ebp
test ah, ah
jns 0x438515
push edi
push 0x9d42
push 0x111
push dword [0x45b980]
call ebx
jmp 0x438540
push 0xdeadf00d
push 0xdeadbeef
push 0x10
jmp 0x43850b
test byte [0x459580], 1
je 0x438540
xor eax, eax
push esi
inc eax
push eax
push esi
push esi
mov dword [0x459540], eax
call fcn.004109d0
add esp, 0x10
cmp dword [0x459568], edi
je 0x438564
jmp 0x4385c6
cmp dword [0x459540], edi
je 0x438564
push esi
push edi
push esi
push esi
mov dword [0x459540], edi
call fcn.004109d0
add esp, 0x10
mov eax, dword [0x459550]
cmp eax, 0x11
jg 0x4385cb
cmp eax, 5
jl 0x4385cb
mov eax, dword [0x45954c]
cmp eax, 0xd
jg 0x4385cb
cmp eax, 3
jl 0x4385cb
test byte [0x459580], 1
je 0x4385be
cmp dword [0x459538], edi
jne 0x4385be
push edi
push 0x9b
push 0x29a
push dword [0x45b980]
call dword [sym.imp.USER32.dll_SetTimer]
xor eax, eax
push esi
inc eax
push esi
push esi
push eax
mov dword [0x459538], eax
call fcn.004109d0
add esp, 0x10
cmp dword [0x459568], edi
je 0x4385f6
xor eax, eax
inc eax
jmp 0x4385f8
cmp dword [0x459538], edi
je 0x4385f6
push 0x29a
push dword [0x45b980]
call dword [sym.imp.USER32.dll_KillTimer]
push esi
push esi
push esi
push edi
mov dword [0x459538], edi
call fcn.004109d0
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
ret