Function at 0x44d7d7
Capabilities:
Log keystrokes via polling

Disassembly:
push 0x7c
mov eax, 0x50ee86
call fcn.004da767
mov ebx, ecx
call fcn.0040d439
push eax
lea ecx, [ebp - 0x58]
call fcn.0040d250
mov dword [ebp - 4], 1
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp + 8]
call fcn.00410dfd
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 0x44d864
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x54af58]
divsd xmm0, qword [0x54af60]
addsd xmm0, qword [0x54af28]
cvttsd2si esi, xmm0
cmp byte [ebp + 0xc], 0
je 0x44d877
push 0xfffffffffffffffc
pop eax
sub eax, esi
add dword [ebp - 0x38], eax
sub dword [ebp - 0x28], esi
jmp 0x44d880
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 0x44db4e
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.00410bda
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 0x44d8ef
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 0x44d97a
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 0x44d9ab
push dword [esi - 0xc]
lea ecx, [ebp - 0x58]
call fcn.0040d75b
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 0x44d9ea
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 0x44da0b
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 0x44da1f
push dword [esi - 0xc]
lea ecx, [ebp - 0x58]
call fcn.0040d75b
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 0x44da4c
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 0x44da6b
push 9
call esi
test di, ax
seta cl
mov byte [ebx + 8], cl
mov al, byte [ebx + 9]
test al, al
jne 0x44daa2
push 0x26
call esi
test di, ax
ja 0x44da9a
push 0x28
call esi
test di, ax
ja 0x44da9a
push 0x25
call esi
test di, ax
ja 0x44da9a
push 0x27
call esi
test di, ax
ja 0x44da9a
xor al, al
jmp 0x44da9c
mov al, 1
mov cl, byte [ebx + 8]
mov byte [ebx + 9], al
test cl, cl
jne 0x44daae
test al, al
je 0x44db3f
mov esi, dword [ebp + 8]
call dword [sym.imp.USER32.dll_GetFocus]
cmp eax, esi
jne 0x44db3f
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.00410b36
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x58]
lea ecx, [ecx - 0x10]
call fcn.0040d743
call fcn.004da711
ret 0xc