Hello Talus,
I see at least one thing that looks wrong :
if (GetMousePosition(MouseX, MouseY)) return;
Shouldn’t it be :
if (!GetMousePosition(MouseX, MouseY)) return;
Because ‘GetMousePosition’ returns true when it was able to acquire the mouse position.
Cheers