Unicode support.
Initialize variables.
Use SecureZeromemory instead of memset.
Remove _CRT_SECURE_NO_WARNINGS and use Microsoft's secure functions instead.
Remove unused variable.