Function at 0x44db92
Capabilities:
Log keystrokes via polling

Disassembly:
push 0x7c
mov eax, 0x507a3d
call fcn.004d67b7
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 0x44dc1f
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x542e50]
divsd xmm0, qword [0x542e58]
addsd xmm0, qword [0x542e20]
cvttsd2si esi, xmm0
cmp byte [ebp + 0xc], 0
je 0x44dc32
push 0xfffffffffffffffc
pop eax
sub eax, esi
add dword [ebp - 0x38], eax
sub dword [ebp - 0x28], esi
jmp 0x44dc3b
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 0x44df09
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 0x44dcaa
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 0x44dd35
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 0x44dd66
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 0x44dda5
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 0x44ddc6
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 0x44ddda
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 0x44de07
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 0x44de26
push 9
call esi
test di, ax
seta cl
mov byte [ebx + 8], cl
mov al, byte [ebx + 9]
test al, al
jne 0x44de5d
push 0x26
call esi
test di, ax
ja 0x44de55
push 0x28
call esi
test di, ax
ja 0x44de55
push 0x25
call esi
test di, ax
ja 0x44de55
push 0x27
call esi
test di, ax
ja 0x44de55
xor al, al
jmp 0x44de57
mov al, 1
mov cl, byte [ebx + 8]
mov byte [ebx + 9], al
test cl, cl
jne 0x44de69
test al, al
je 0x44defa
mov esi, dword [ebp + 8]
call dword [sym.imp.USER32.dll_GetFocus]
cmp eax, esi
jne 0x44defa
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.004d6761
ret 0xc