Windows API are mostly UTF-16, unlike Linux which is mostly UTF-8. So it doesn't look strange - nor it's an "horror" - just the way things need to be done (a better way would be to use UTF-16 everywhere in a Windows application, but it could be an even more complex task, depending on how the original code was written).
Also, I hope for authentication it will use Active Directory authentication - otherwise it's pretty useless under Windows, and it will mean more Windows-specific code.
Linux, OSX, AIX are all more or less *nix based systems with a common heritage. Windows is not, and has a fairly different implementation. Every cross platform application wishing to support Windows needs a fair number of #ifdef - unless you rely on even uglier layers like cygwin.
For example, the way Git is implemented under Windows is truly horrible.