Function at 0x43d53d
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
push ebx
push esi
push edi
mov dword [ebp - 0x34], 0
push 0
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x43d56d
xor eax, eax
jmp 0x43d8b9
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
movzx eax, ax
xor ecx, ecx
mov cl, ah
mov dword [ebp - 0x30], ecx
push 4
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x43d59f
xor eax, eax
jmp 0x43d8b9
mov eax, dword [ebp - 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 8]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x18], sym.MSOCht32.EXE_CHF_ToggleLPos
mov dword [ebp - 0xc], sym.MSOCht32.EXE_CHF_ToggleSelPos
push 0
push 0
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x18]
push eax
call fcn.00437adb
add esp, 0x10
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
push 0x52de90
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.GDI32.dll_GetWindowOrgEx]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0xe2]
mov dword [0x531140], eax
mov eax, dword [ebp + 8]
mov dword [0x531144], eax
mov dword [0x531134], 0x4388e0
mov dword [0x531138], 0x431edc
mov dword [0x53113c], 0x4347a6
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0xb6]
mov dword [0x5310dc], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x1c6]
mov dword [0x5310e0], eax
mov eax, dword [ebp - 0x28]
add eax, 0xce
push eax
push 0x67
push 0x64
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x26]
push eax
call fcn.00476c98
add esp, 0x10
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x43d68e
mov eax, 1
jmp 0x43d8b9
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0xce]
mov dword [0x5310e4], eax
mov eax, dword [ebp - 0x28]
add eax, 0xd6
push eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0xde]
push eax
push 0x65
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x26]
push eax
call fcn.00476c98
add esp, 0x10
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x43d6d2
jmp 0x43d830
mov dword [0x53109c], 0
mov dword [0x531108], 0
mov dword [0x531148], 0xffffffff
mov eax, dword [ebp - 0x28]
add eax, 0xea
mov dword [0x53111c], eax
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x32], 0
jne 0x43d716
mov eax, dword [0x53111c]
mov dword [eax + 4], 1
mov eax, dword [ebp - 0x28]
add eax, 0x16a
mov dword [0x531120], eax
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x36], 0
jne 0x43d73b
mov eax, dword [0x531120]
mov dword [eax], 1
mov eax, dword [ebp - 0x28]
test byte [eax + 0x23], 2
jne 0x43d75f
cmp dword [ebp - 0x10], 0
je 0x43d769
cmp dword [ebp - 0x10], 0x1f4
jge 0x43d769
mov dword [0x5310b4], 1
push 0
push 0
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
push ecx
push eax
mov eax, dword [ebp - 0x28]
add eax, 0x6e
mov ecx, dword [eax]
mov eax, dword [eax + 4]
push eax
push ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0xd6]
push eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x26]
push eax
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
call fcn.00438bf4
add esp, 0x2c
mov dword [ebp - 0x14], eax
mov eax, dword [0x53111c]
test byte [eax + 5], 0x40
jne 0x43d7c8
mov eax, dword [0x531120]
test byte [eax + 1], 0x40
je 0x43d7dc
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp - 0x28]
push eax
mov eax, dword [ebp + 0xc]
push eax
call fcn.0043cbb3
add esp, 0xc
mov dword [0x5310b4], 0
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0xd6]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [ebp - 0x28]
mov dword [ecx + 0x32], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
mov ecx, dword [ebp - 0x28]
mov dword [ecx + 0x36], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x36]
mov ecx, dword [ebp - 0x28]
add eax, dword [ecx + 0x32]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0xd6]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
cmp dword [ebp - 0x30], 0
jne 0x43d85c
mov eax, dword [0x531148]
mov ecx, dword [ebp - 0x28]
mov dword [ecx + 0x42], eax
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x32], 1
je 0x43d85c
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x42], 0xffffffff
cmp dword [0x531134], 0
je 0x43d869
mov dword [0x531134], 0
cmp dword [ebp - 0x18], 0
je 0x43d87d
mov dword [ebp - 0x18], 0
cmp dword [ebp - 0xc], 0
je 0x43d88e
mov dword [ebp - 0xc], 0
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0xd6]
push eax
call fcn.0047947b
add esp, 4
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov eax, dword [ebp - 0x34]
jmp 0x43d8b9
pop edi
pop esi
pop ebx
leave
ret