Function at 0x44db84
Capabilities:
Log keystrokes via polling

Disassembly:
push 0x7c
mov eax, 0x50fbbc
call fcn.004db767
mov ebx, ecx
call fcn.0040d33d
push eax
lea ecx, [ebp - 0x58]
call fcn.0040d16b
mov dword [ebp - 4], 1
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp + 8]
call fcn.00410cc2
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 0x44dc11
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x54bfe8]
divsd xmm0, qword [0x54bff0]
addsd xmm0, qword [0x54bfb8]
cvttsd2si esi, xmm0
cmp byte [ebp + 0xc], 0
je 0x44dc24
push 0xfffffffffffffffc
pop eax
sub eax, esi
add dword [ebp - 0x38], eax
sub dword [ebp - 0x28], esi
jmp 0x44dc2d
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 0x44defb
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.00410aa3
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 0x44dc9c
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 0x44dd27
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 0x44dd58
push dword [esi - 0xc]
lea ecx, [ebp - 0x58]
call fcn.0040d65d
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 0x44dd97
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 0x44ddb8
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 0x44ddcc
push dword [esi - 0xc]
lea ecx, [ebp - 0x58]
call fcn.0040d65d
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 0x44ddf9
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 0x44de18
push 9
call esi
test di, ax
seta cl
mov byte [ebx + 8], cl
mov al, byte [ebx + 9]
test al, al
jne 0x44de4f
push 0x26
call esi
test di, ax
ja 0x44de47
push 0x28
call esi
test di, ax
ja 0x44de47
push 0x25
call esi
test di, ax
ja 0x44de47
push 0x27
call esi
test di, ax
ja 0x44de47
xor al, al
jmp 0x44de49
mov al, 1
mov cl, byte [ebx + 8]
mov byte [ebx + 9], al
test cl, cl
jne 0x44de5b
test al, al
je 0x44deec
mov esi, dword [ebp + 8]
call dword [sym.imp.USER32.dll_GetFocus]
cmp eax, esi
jne 0x44deec
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.00410a01
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x58]
lea ecx, [ecx - 0x10]
call fcn.0040d645
call fcn.004db711
ret 0xc