Fix using uninitialized pointer.

C6001 Using uninitialized memory 'ent'.
line 321: 'ent' is not initialized
line 321:'ent' is used, but may not have been initialized
Remove code for old windows versions.

Currently we support WinXP SP3+ only.
assert for nullptr.
Fix possible nullptr dereferencing.
Cleanup win32 stuff.

The official macro is _WIN32
Don't check new pointer for nullptr.

Nowadays thats the task of the OS.
Fix possible segfault.