Function at 0x44db7a
Capabilities:
Log keystrokes via polling

Disassembly:
push 0x7c
mov eax, 0x50fbdc
call fcn.004db787
mov ebx, ecx
call fcn.0040d32d
push eax
lea ecx, [ebp - 0x58]
call fcn.0040d156
mov dword [ebp - 4], 1
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp + 8]
call fcn.00410cb2
lea eax, [ebp - 0x40]
xorps xmm0, xmm0
push eax
push dword [ebp + 8]
movups xmmword [ebp - 0x40], xmm0
call dword [sym.imp.USER32.dll_GetClientRect]
push dword [ebp + 8]
lea esi, [ebp - 0x40]
lea edi, [ebp - 0x30]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [sym.imp.USER32.dll_GetDC]
call edi
push 0x5a
push eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push 0xd
pop esi
cmp eax, 0x60
je 0x44dc07
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x54bff8]
divsd xmm0, qword [0x54c000]
addsd xmm0, qword [0x54bfc8]
cvttsd2si esi, xmm0
cmp byte [ebp + 0xc], 0
je 0x44dc1a
push 0xfffffffffffffffc
pop eax
sub eax, esi
add dword [ebp - 0x38], eax
sub dword [ebp - 0x28], esi
jmp 0x44dc23
lea eax, [esi + 4]
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x30]
push eax
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
jne 0x44def1
lea eax, [ebp - 0x30]
push eax
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_ValidateRect]
push dword [ebp + 8]
call edi
lea ecx, [ebp - 0x30]
push ecx
push eax
lea ecx, [ebp - 0x88]
call fcn.00410a93
mov byte [ebp - 4], 3
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_GetParent]
push dword [ebp + 8]
push dword [ebp - 0x88]
push 0x135
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
cmp byte [ebx], 0
mov edi, dword [sym.imp.GDI32.dll_SetTextColor]
mov dword [ebp - 0x5c], eax
je 0x44dc92
push dword [ebx + 4]
push dword [ebp - 0x88]
call edi
and dword [ebp - 0x68], 0
lea eax, [ebp - 0x68]
and dword [ebp - 0x64], 0
push eax
push dword [ebp - 0x88]
call dword [sym.imp.GDI32.dll_GetBrushOrgEx]
mov eax, dword [ebp - 0x68]
push 0
push dword [ebp - 0x64]
sub eax, esi
push eax
push dword [ebp - 0x88]
call dword [sym.imp.GDI32.dll_SetBrushOrgEx]
push dword [ebp - 0x5c]
lea eax, [ebp - 0x30]
push eax
push dword [ebp - 0x88]
call dword [sym.imp.USER32.dll_FillRect]
push 0
push 0
push 0x31
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SendMessageW]
push eax
push dword [ebp - 0x88]
call dword [sym.imp.GDI32.dll_SelectObject]
push dword [ebp + 8]
and dword [ebp - 0x5c], 0
mov byte [ebp - 0x51], 0
call dword [sym.imp.USER32.dll_IsWindowEnabled]
test eax, eax
jne 0x44dd1d
push 0x11
call dword [sym.imp.USER32.dll_GetSysColor]
push eax
push dword [ebp - 0x88]
call edi
mov dword [ebp - 0x5c], eax
mov byte [ebp - 0x51], 1
movzx ecx, byte [ebp + 0x10]
lea esi, [ebp - 0x40]
lea edi, [ebp - 0x20]
shl ecx, 0x11
movsd dword es:[edi], dword [esi]
lea eax, [ecx + 0x10]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x60], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x58]
cmp dword [esi - 4], 1
jle 0x44dd4e
push dword [esi - 0xc]
lea ecx, [ebp - 0x58]
call fcn.0040d64d
mov esi, dword [ebp - 0x58]
mov eax, dword [ebp - 0x60]
push 0
or eax, 0x400
push eax
lea eax, [ebp - 0x20]
push eax
push 0xffffffffffffffff
push esi
push dword [ebp - 0x88]
call dword [sym.imp.USER32.dll_DrawTextExW]
mov eax, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x14]
sub eax, edi
sub eax, dword [ebp - 0x3c]
add eax, dword [ebp - 0x34]
cdq
sub eax, edx
sar eax, 1
test eax, eax
jle 0x44dd8d
mov ecx, eax
sub ecx, dword [ebp - 0x1c]
add edi, ecx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], edi
cmp byte [ebp + 0xc], 0
je 0x44ddae
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
sub edx, ecx
sub edx, dword [ebp - 0x40]
add edx, dword [ebp - 0x38]
mov eax, edx
sub eax, dword [ebp - 0x20]
add ecx, eax
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x18], ecx
cmp dword [esi - 4], 1
jle 0x44ddc2
push dword [esi - 0xc]
lea ecx, [ebp - 0x58]
call fcn.0040d64d
mov esi, dword [ebp - 0x58]
push 0
push dword [ebp - 0x60]
lea eax, [ebp - 0x20]
push eax
push 0xffffffffffffffff
push esi
push dword [ebp - 0x88]
call dword [sym.imp.USER32.dll_DrawTextExW]
cmp byte [ebp - 0x51], 0
je 0x44ddef
push dword [ebp - 0x5c]
push dword [ebp - 0x88]
call dword [sym.imp.GDI32.dll_SetTextColor]
mov cl, byte [ebx + 8]
mov edi, 0x8000
mov esi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
test cl, cl
jne 0x44de0e
push 9
call esi
test di, ax
seta cl
mov byte [ebx + 8], cl
mov al, byte [ebx + 9]
test al, al
jne 0x44de45
push 0x26
call esi
test di, ax
ja 0x44de3d
push 0x28
call esi
test di, ax
ja 0x44de3d
push 0x25
call esi
test di, ax
ja 0x44de3d
push 0x27
call esi
test di, ax
ja 0x44de3d
xor al, al
jmp 0x44de3f
mov al, 1
mov cl, byte [ebx + 8]
mov byte [ebx + 9], al
test cl, cl
jne 0x44de51
test al, al
je 0x44dee2
mov esi, dword [ebp + 8]
call dword [sym.imp.USER32.dll_GetFocus]
cmp eax, esi
jne 0x44dee2
mov edx, dword [ebp - 0x24]
lea esi, [ebp - 0x20]
mov eax, dword [ebp - 0x14]
lea edi, [ebp - 0x50]
sub eax, dword [ebp - 0x1c]
mov ecx, edx
sub ecx, dword [ebp - 0x2c]
movsd dword es:[edi], dword [esi]
cmp eax, ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ebx, dword [ebp - 0x44]
mov edi, dword [ebp - 0x50]
cmovg ebx, edx
xor eax, eax
mov esi, dword [ebp - 0x48]
sub edx, ebx
mov dword [ebp - 0x5c], ebx
test edx, edx
setg al
xor ebx, ebx
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x4c]
sub eax, dword [ebp - 0x2c]
test eax, eax
mov eax, edi
setg bl
sub eax, dword [ebp - 0x30]
xor edx, edx
test eax, eax
mov eax, dword [ebp - 0x28]
setg dl
sub eax, esi
xor ecx, ecx
test eax, eax
mov eax, dword [ebp - 0x5c]
setg cl
add eax, dword [ebp - 0x60]
sub dword [ebp - 0x4c], ebx
sub edi, edx
mov dword [ebp - 0x44], eax
add esi, ecx
lea eax, [ebp - 0x50]
mov dword [ebp - 0x50], edi
push eax
push dword [ebp - 0x88]
mov dword [ebp - 0x48], esi
call dword [sym.imp.USER32.dll_DrawFocusRect]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x88]
call fcn.004109f1
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x58]
lea ecx, [ecx - 0x10]
call fcn.0040d635
call fcn.004db731
ret 0xc