<?xml version="1.0"?>
<def format="2">
  <platformtype name="__int8" value="char">
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="__int16" value="short">
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="__int32" value="int">
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="__int64" value="long">
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
    <long/>
  </platformtype>
  <platformtype name="ACCESS_MASK" value="long">
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
    <unsigned/>
  </platformtype>
  <platformtype name="ATOM" value="short">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="BOOL" value="int">
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="BOOLEAN" value="char">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="BYTE" value="char">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="CCHAR" value="char">
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="CHAR" value="char">
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="COLORREF" value="long">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="DWORD" value="long">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="DWORD32" value="int">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="DWORD64" value="long">
    <unsigned/>
    <long/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="DWORD_PTR" value="long">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
  </platformtype>
  <platformtype name="DWORD_PTR" value="long">
    <unsigned/>
    <long/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="FLOAT" value="float">
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HACCEL" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HANDLE" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HAGENT" value="long">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HAGENTSESSION" value="long">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HBITMAP" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HBRUSH" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HCOLORSPACE" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HCURSOR" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HCONV" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HCONVLIST" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HDC" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HDDEDATA" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HDESK" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HDROP" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HDWP" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HENHMETAFILE" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HFILE" value="int">
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HFONT" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HGDIOBJ" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HGLOBAL" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HHOOK" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HICON" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HINSTANCE" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HKEY" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HKL" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HLOCAL" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HMENU" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HMETAFILE" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HMODULE" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HMONITOR" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HPALETTE" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HPEN" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HRESULT" value="long">
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HRGN" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HRSRC" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HWND" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HSZ" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HWINSTA" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HALF_PTR" value="short">
    <platform type="win32A"/>
    <platform type="win32W"/>
  </platformtype>
  <platformtype name="HALF_PTR" value="int">
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HCALL" value="long">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HLINE" value="long">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HLINEAPP" value="long">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HPHONE" value="long">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HPHONEAPP" value="long">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="INT" value="int">
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="INT8" value="char">
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="INT16" value="short">
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="INT32" value="int">
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="INT64" value="long">
    <long/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="INT_PTR" value="int">
    <platform type="win32A"/>
    <platform type="win32W"/>
  </platformtype>
  <platformtype name="INT_PTR" value="long">
    <long/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LANGID" value="short">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LCID" value="long">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LCTYPE" value="long">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LGRPID" value="long">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LONG" value="long">
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LONG32" value="int">
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LONG64" value="long">
    <long/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LONGLONG" value="long">
    <long/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LONG_PTR" value="long">
    <platform type="win32A"/>
    <platform type="win32W"/>
  </platformtype>
  <platformtype name="LONG_PTR" value="long">
    <long/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LPBOOL" value="int">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LPARAM" value="long">
    <platform type="win32A"/>
    <platform type="win32W"/>
  </platformtype>
  <platformtype name="LPARAM" value="long">
    <long/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LPBYTE" value="char">
    <unsigned/>
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LPCOLORREF" value="long">
    <unsigned/>
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LPCSTR" value="char">
    <const_ptr/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LPCTSTR" value="char">
    <const_ptr/>
    <platform type="win32A"/>
  </platformtype>
  <platformtype name="LPCTSTR" value="wchar_t">
    <const_ptr/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LPCVOID" value="void">
    <const_ptr/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LPCWSTR" value="wchar_t">
    <const_ptr/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LPDWORD" value="long">
    <unsigned/>
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LPINT" value="int">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LPLONG" value="long">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LPSTR" value="char">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LPTSTR" value="char">
    <pointer/>
    <platform type="win32A"/>
  </platformtype>
  <platformtype name="LPTSTR" value="wchar_t">
    <pointer/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LPVOID" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LPWORD" value="short">
    <unsigned/>
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LPWSTR" value="wchar_t">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LRESULT" value="long">
    <platform type="win32A"/>
    <platform type="win32W"/>
  </platformtype>
  <platformtype name="LRESULT" value="long">
    <long/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="MMRESULT" value="int">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="NTSTATUS" value="long">
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="PBOOL" value="int">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="PBOOLEAN" value="char">
    <unsigned/>
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="PBYTE" value="char">
    <unsigned/>
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="PCHAR" value="char">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="PCSTR" value="char">
    <const_ptr/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="PCTSTR" value="char">
    <const_ptr/>
    <platform type="win32A"/>
  </platformtype>
  <platformtype name="PCTSTR" value="wchar_t">
    <const_ptr/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="PDWORD" value="long">
    <unsigned/>
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="PHANDLE" value="void">
    <ptr_ptr/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="PINT" value="int">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="PLONG" value="long">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="PRECT" value="RECT">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="PSTR" value="char">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="PTSTR" value="char">
    <pointer/>
    <platform type="win32A"/>
  </platformtype>
  <platformtype name="PTSTR" value="wchar_t">
    <pointer/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="PUCHAR" value="char">
    <unsigned/>
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="PULONG" value="long">
    <unsigned/>
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="PUSHORT" value="short">
    <unsigned/>
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="PVOID" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="PWCHAR" value="wchar_t">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="PWORD" value="short">
    <unsigned/>
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="PWSTR" value="wchar_t">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="QWORD" value="long">
    <unsigned/>
    <long/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="SC_LOCK" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="SC_HANDLE" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="SERVICE_STATUS_HANDLE" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="SHORT" value="short">
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="SIZE_T" value="long">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
  </platformtype>
  <platformtype name="SIZE_T" value="long">
    <unsigned/>
    <long/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="SOCKET" value="int">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="SSIZE_T" value="long">
    <platform type="win32A"/>
    <platform type="win32W"/>
  </platformtype>
  <platformtype name="SSIZE_T" value="long">
    <long/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="TBYTE" value="char">
    <unsigned/>
    <platform type="win32A"/>
  </platformtype>
  <platformtype name="TBYTE" value="wchar_t">
    <unsigned/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="TCHAR" value="char">
    <platform type="win32A"/>
  </platformtype>
  <platformtype name="TCHAR" value="wchar_t">
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="UCHAR" value="char">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="UHALF_PTR" value="short">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
  </platformtype>
  <platformtype name="UHALF_PTR" value="int">
    <unsigned/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="UINT" value="int">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="UINT8" value="char">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="UINT16" value="short">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="UINT32" value="int">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="UINT64" value="long">
    <unsigned/>
    <long/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="UINT_PTR" value="int">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
  </platformtype>
  <platformtype name="UINT_PTR" value="long">
    <unsigned/>
    <long/>
    <platform type="win64"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="ULONG" value="long">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="ULONG32" value="int">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="ULONG64" value="long">
    <unsigned/>
    <long/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="ULONGLONG" value="long">
    <unsigned/>
    <long/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="ULONG_PTR" value="long">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
  </platformtype>
  <platformtype name="ULONG_PTR" value="long">
    <unsigned/>
    <long/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="USHORT" value="short">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="USN" value="long">
    <long/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="VOID" value="void">
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="WCHAR" value="wchar_t">
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="WORD" value="short">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="WPARAM" value="int">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
  </platformtype>
  <platformtype name="WPARAM" value="long">
    <unsigned/>
    <long/>
    <platform type="win64"/>
  </platformtype>
  <resource>
    <alloc init="true">CreatePen</alloc>
    <alloc init="true">CreateBrushIndirect</alloc>
    <alloc init="true">CreateDIBPatternBrush</alloc>
    <alloc init="true">CreateDIBPatternBrushPt</alloc>
    <alloc init="true">CreateHatchBrush</alloc>
    <alloc init="true">CreatePatternBrush</alloc>
    <alloc init="true">CreateSolidBrush</alloc>
    <alloc init="true">CreateFont</alloc>
    <alloc init="true">CreateFontIndirect</alloc>
    <alloc init="true">CreateFontIndirectEx</alloc>
    <alloc init="true">CreateBitmap</alloc>
    <alloc init="true">CreateBitmapIndirect</alloc>
    <alloc init="true">CreateCompatibleBitmap</alloc>
    <alloc init="true">CreateDIBitmap</alloc>
    <alloc init="true">CreateDIBSection</alloc>
    <alloc init="true">CreateDiscardableBitmap</alloc>
    <alloc init="true">CreateEllipticRgn</alloc>
    <alloc init="true">CreateEllipticRgnIndirect</alloc>
    <alloc init="true">CreatePolygonRgn</alloc>
    <alloc init="true">CreatePolyPolygonRgn</alloc>
    <alloc init="true">CreateRectRgn</alloc>
    <alloc init="true">CreateRectRgnIndirect</alloc>
    <alloc init="true">CreateRoundRectRgn</alloc>
    <alloc init="true">CreateHalftonePalette</alloc>
    <alloc init="true">CreatePalette</alloc>
    <dealloc>DeleteObject</dealloc>
  </resource>
  <resource>
    <dealloc>closesocket</dealloc>
    <alloc init="true">socket</alloc>
  </resource>
  <resource>
    <alloc init="true">CreateThread</alloc>
    <alloc init="true">CreateFile</alloc>
    <alloc init="true">OpenFile</alloc>
    <alloc init="true">CreateJobObject</alloc>
    <alloc init="true">CreateRemoteThread</alloc>
    <alloc init="true">CreateConsoleScreenBuffer</alloc>
    <alloc init="true">OpenBackupEventLog</alloc>
    <alloc init="true">OpenEventLog</alloc>
    <alloc init="true">CreateFileMapping</alloc>
    <alloc init="true">CreateFileMappingFromApp</alloc>
    <alloc init="true">CreateFileMappingNuma</alloc>
    <alloc init="true">CreateMemoryResourceNotification</alloc>
    <alloc init="true">OpenFileMapping</alloc>
    <alloc init="true">CreateNamedPipe</alloc>
    <alloc init="true">CreateEvent</alloc>
    <alloc init="true">CreateMutex</alloc>
    <alloc init="true">CreateSemaphore</alloc>
    <alloc init="true">CreateTimerQueue</alloc>
    <alloc init="true">CreateWaitableTimer</alloc>
    <alloc init="true">OpenEvent</alloc>
    <alloc init="true">OpenMutex</alloc>
    <alloc init="true">OpenSemaphore</alloc>
    <alloc init="true">OpenWaitableTimer</alloc>
    <alloc init="true">OpenJobObject</alloc>
    <alloc init="true">OpenProcess</alloc>
    <alloc init="true">OpenThread</alloc>
    <alloc init="true">CreateMailslot</alloc>
    <dealloc>CloseHandle</dealloc>
  </resource>
  <resource>
    <alloc init="true">FindFirstFile</alloc>
    <alloc init="true">FindFirstFileW</alloc>
    <alloc init="true">FindFirstFileA</alloc>
    <alloc init="true">FindFirstFileEx</alloc>
    <alloc init="true">FindFirstFileExW</alloc>
    <alloc init="true">FindFirstFileExA</alloc>
    <alloc init="true">FindFirstFileNameW</alloc>
    <alloc init="true">FindFirstFileNameTransactedW</alloc>
    <alloc init="true">FindFirstStreamTransactedW</alloc>
    <alloc init="true">FindFirstFileTransacted</alloc>
    <alloc init="true">FindFirstStreamW</alloc>
    <dealloc>FindClose</dealloc>
  </resource>
  <resource>
    <alloc init="true">OpenSCManager</alloc>
    <alloc init="true">OpenService</alloc>
    <alloc init="true">CreateService</alloc>
    <dealloc>CloseServiceHandle</dealloc>
  </resource>
  <resource>
    <alloc init="true">LockServiceDatabase</alloc>
    <dealloc>UnlockServiceDatabase</dealloc>
  </resource>
  <resource>
    <alloc init="true">HeapCreate</alloc>
    <dealloc>HeapDestroy</dealloc>
  </resource>
  <resource>
    <alloc init="true">_wfopen</alloc>
    <alloc init="true">_tfopen</alloc>
    <alloc init="true" arg="1">_wfopen_s</alloc>
    <alloc init="true" arg="1">_tfopen_s</alloc>
    <dealloc>fclose</dealloc>
    <dealloc>_fcloseall</dealloc>
  </resource>
  <resource>
    <alloc init="true">_open</alloc>
    <alloc init="true">_topen</alloc>
    <alloc init="true">_wopen</alloc>
    <dealloc>_close</dealloc>
  </resource>
  <resource>
    <alloc init="true">_popen</alloc>
    <alloc init="true">_wpopen</alloc>
    <alloc init="true">_tpopen</alloc>
    <dealloc>_pclose</dealloc>
  </resource>
  <memory>
    <alloc>ExAllocatePool</alloc>
    <alloc>ExAllocatePoolWithQuota</alloc>
    <alloc>ExAllocatePoolWithQuotaTag</alloc>
    <alloc>ExAllocatePoolWithTag</alloc>
    <alloc>ExAllocatePoolWithTagPriority</alloc>
    <dealloc>ExFreePool</dealloc>
    <dealloc>ExFreePoolWithTag</dealloc>
  </memory>
  <memory>
    <alloc>HeapAlloc</alloc>
    <alloc>HeapReAlloc</alloc>
    <dealloc arg="3">HeapFree</dealloc>
  </memory>
  <memory>
    <alloc>IoAllocateErrorLogEntry</alloc>
    <dealloc>IoWriteErrorLogEntry</dealloc>
    <dealloc>IoFreeErrorLogEntry</dealloc>
  </memory>
  <memory>
    <alloc init="true">IoAllocateIrp</alloc>
    <dealloc>IoFreeIrp</dealloc>
    <dealloc>IofCallDriver</dealloc>
    <dealloc arg="2">IoCallDriver</dealloc>
  </memory>
  <memory>
    <alloc>IoAllocateMdl</alloc>
    <dealloc>IoFreeMdl</dealloc>
  </memory>
  <memory>
    <alloc>MmAllocateContiguousMemory</alloc>
    <dealloc>MmFreeContiguousMemory</dealloc>
  </memory>
  <memory>
    <alloc>MmAllocateContiguousMemorySpecifyCache</alloc>
    <alloc>MmAllocateContiguousMemorySpecifyCacheNode</alloc>
    <dealloc>MmFreeContiguousMemorySpecifyCache</dealloc>
  </memory>
  <memory>
    <alloc>IoAllocateWorkItem</alloc>
    <dealloc>IoFreeWorkItem</dealloc>
  </memory>
  <memory>
    <alloc>RtlAllocateHeap</alloc>
    <dealloc>RtlFreeHeap</dealloc>
  </memory>
  <memory>
    <alloc>ExAllocateFromPagedLookasideList</alloc>
    <dealloc arg="2">ExFreeToPagedLookasideList</dealloc>
  </memory>
  <memory>
    <alloc>ExAllocateFromNPagedLookasideList</alloc>
    <dealloc arg="2">ExFreeToNPagedLookasideList</dealloc>
  </memory>
  <memory>
    <alloc>AllocateHeap</alloc>
    <dealloc>FreeHeap</dealloc>
  </memory>
  <memory>
    <alloc>AllocateLsaHeap</alloc>
    <dealloc>FreeLsaHeap</dealloc>
  </memory>
  <memory>
    <alloc>AllocatePrivateHeap</alloc>
    <dealloc>FreePrivateHeap</dealloc>
  </memory>
  <memory>
    <alloc>VirtualAlloc</alloc>
    <dealloc>VirtualFree</dealloc>
  </memory>
  <memory>
    <alloc>VirtualAllocEx</alloc>
    <alloc>VirtualAllocExNuma</alloc>
    <dealloc arg="2">VirtualFreeEx</dealloc>
  </memory>
  <memory>
    <alloc>LocalAlloc</alloc>
    <dealloc>LocalFree</dealloc>
  </memory>
  <memory>
    <alloc>GlobalAlloc</alloc>
    <dealloc>GlobalFree</dealloc>
    <dealloc arg="2">SetClipboardData</dealloc>
  </memory>
  <memory>
    <alloc init="true">MapViewOfFile</alloc>
    <alloc init="true">MapViewOfFileEx</alloc>
    <alloc init="true">MapViewOfFileExNuma</alloc>
    <alloc init="true">MapViewOfFileFromApp</alloc>
    <dealloc>UnmapViewOfFile</dealloc>
  </memory>
  <memory>
    <alloc init="true">RtlCreateHeap</alloc>
    <dealloc>RtlDestroyHeap</dealloc>
  </memory>
  <memory>
    <alloc init="true">wcsdup</alloc>
    <alloc init="true">_strdup</alloc>
    <alloc init="true">_wcsdup</alloc>
    <alloc init="true">_mbsdup</alloc>
    <alloc init="true">_tcsdup</alloc>
    <alloc init="true">_malloc_dbg</alloc>
    <alloc init="true">_aligned_malloc</alloc>
    <alloc init="true">_aligned_malloc_dbg</alloc>
    <alloc init="true">_aligned_offset_malloc</alloc>
    <alloc init="true">_strdup_dbg</alloc>
    <alloc init="true">_wcsdup_dbg</alloc>
    <alloc init="true">_tcsdup_dbg</alloc>
    <dealloc>free</dealloc>
  </memory>
  <memory>
    <alloc>CoTaskMemAlloc</alloc>
    <dealloc>CoTaskMemFree</dealloc>
  </memory>
  <function name="RtlCompareMemory">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <function name="RtlCopyBytes">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <function name="RtlCopyMemory">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <function name="RtlEqualMemory">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <function name="RtlFillBytes">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
    </arg>
    <arg nr="2">
      <not-bool/>
      <valid>0:</valid>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
  </function>
  <function name="RtlFillMemory">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
    </arg>
    <arg nr="2">
      <not-bool/>
      <valid>0:</valid>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
  </function>
  <function name="RtlMoveMemory">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <function name="RtlSecureZeroMemory">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
    </arg>
    <arg nr="2">
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <function name="RtlZeroBytes">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
    </arg>
    <arg nr="2">
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <function name="RtlZeroMemory">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
    </arg>
    <arg nr="2">
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- void CopyMemory(
  _In_       PVOID  Destination,
  _In_ const VOID   *Source,
  _In_       SIZE_T Length); -->
  <function name="CopyMemory">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <function name="FillMemory">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
    </arg>
    <arg nr="2">
      <not-bool/>
      <valid>0:</valid>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
  </function>
  <function name="MoveMemory">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <function name="SecureZeroMemory">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
    </arg>
    <arg nr="2">
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <function name="ZeroMemory">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
    </arg>
    <arg nr="2">
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <function name="KeBugCheck">
    <noreturn>true</noreturn>
  </function>
  <function name="KeBugCheckEx">
    <noreturn>true</noreturn>
  </function>
  <!-- void CString::Format(LPCTSTR lpszFormat, ... ); -->
  <function name="CString::Format">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <formatstr/>
    <arg nr="1">
      <formatstr/>
      <not-uninit/>
    </arg>
  </function>
  <!-- void CString::AppendFormat(LPCTSTR lpszFormat, ... ); -->
  <function name="CString::AppendFormat">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <formatstr/>
    <arg nr="1">
      <formatstr/>
      <not-uninit/>
    </arg>
  </function>
  <function name="printf_s">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <formatstr secure="true"/>
    <arg nr="1">
      <formatstr/>
      <not-uninit/>
      <not-null/>
    </arg>
  </function>
  <function name="wprintf_s">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <formatstr secure="true"/>
    <arg nr="1">
      <formatstr/>
      <not-uninit/>
      <not-null/>
    </arg>
  </function>
  <function name="fprintf_s">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <formatstr secure="true"/>
    <arg nr="2">
      <formatstr/>
      <not-uninit/>
      <not-null/>
    </arg>
  </function>
  <function name="fwprintf_s">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <formatstr secure="true"/>
    <arg nr="2">
      <formatstr/>
      <not-uninit/>
      <not-null/>
    </arg>
  </function>
  <function name="_snprintf_s">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <formatstr secure="true"/>
    <arg nr="4">
      <formatstr/>
      <not-uninit/>
      <not-null/>
    </arg>
  </function>
  <function name="_snwprintf_s">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <formatstr secure="true"/>
    <arg nr="4">
      <formatstr/>
      <not-uninit/>
      <not-null/>
    </arg>
  </function>
  <function name="DbgPrint">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <formatstr/>
      <not-uninit/>
      <not-null/>
    </arg>
  </function>
  <function name="DbgPrintEx">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="3">
      <formatstr/>
      <not-uninit/>
      <not-null/>
    </arg>
  </function>
  <function name="vDbgPrintEx">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="3">
      <formatstr/>
      <not-uninit/>
      <not-null/>
    </arg>
  </function>
  <function name="vDbgPrintExWithPrefix">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="4">
      <formatstr/>
      <not-uninit/>
      <not-null/>
    </arg>
  </function>
  <function name="scanf_s">
    <noreturn>false</noreturn>
    <formatstr scan="true" secure="true"/>
    <arg nr="1">
      <formatstr/>
      <not-uninit/>
      <not-null/>
    </arg>
  </function>
  <function name="wscanf_s">
    <noreturn>false</noreturn>
    <formatstr scan="true" secure="true"/>
    <arg nr="1">
      <formatstr/>
      <not-uninit/>
      <not-null/>
    </arg>
  </function>
  <function name="sscanf_s">
    <noreturn>false</noreturn>
    <formatstr scan="true" secure="true"/>
    <arg nr="2">
      <formatstr/>
      <not-uninit/>
      <not-null/>
    </arg>
  </function>
  <function name="fscanf_s">
    <noreturn>false</noreturn>
    <formatstr scan="true" secure="true"/>
    <arg nr="2">
      <formatstr/>
      <not-uninit/>
      <not-null/>
    </arg>
  </function>
  <function name="fwscanf_s">
    <noreturn>false</noreturn>
    <formatstr scan="true" secure="true"/>
    <arg nr="2">
      <formatstr/>
      <not-uninit/>
      <not-null/>
    </arg>
  </function>
  <function name="swscanf_s">
    <noreturn>false</noreturn>
    <formatstr scan="true" secure="true"/>
    <arg nr="2">
      <formatstr/>
      <not-uninit/>
      <not-null/>
    </arg>
  </function>
  <!-- BOOL WINAPI CloseHandle(_In_  HANDLE hObject); -->
  <function name="CloseHandle">
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <function name="OpenFile">
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
      <not-null/>
    </arg>
    <arg nr="2"/>
    <arg nr="3">
      <not-uninit/>
    </arg>
  </function>
  <!-- BOOL WINAPI BuildCommDCB(
  _In_   LPCTSTR lpDef,
  _Out_  LPDCB lpDCB); -->
  <function name="BuildCommDCB">
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2"/>
  </function>
  <!-- BOOL WINAPI BuildCommDCBAndTimeouts(
  _In_   LPCTSTR lpDef,
  _Out_  LPDCB lpDCB,
  _Out_  LPCOMMTIMEOUTS lpCommTimeouts); -->
  <function name="BuildCommDCBAndTimeouts">
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2"/>
    <arg nr="3"/>
  </function>
  <!-- BOOL WINAPI WriteFile(
  _In_         HANDLE hFile,
  _In_         LPCVOID lpBuffer,
  _In_         DWORD nNumberOfBytesToWrite,
  _Out_opt_    LPDWORD lpNumberOfBytesWritten,
  _Inout_opt_  LPOVERLAPPED lpOverlapped); -->
  <function name="WriteFile">
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
    <arg nr="4"/>
    <arg nr="5"/>
  </function>
  <!-- BOOL WINAPI ReadFile(
  _In_         HANDLE hFile,
  _Out_        LPVOID lpBuffer,
  _In_         DWORD nNumberOfBytesToRead,
  _Out_opt_    LPDWORD lpNumberOfBytesRead,
  _Inout_opt_  LPOVERLAPPED lpOverlapped); -->
  <function name="ReadFile">
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
    <arg nr="4"/>
    <arg nr="5"/>
  </function>
  <!-- HANDLE WINAPI CreateFile(
  _In_      LPCTSTR lpFileName,
  _In_      DWORD dwDesiredAccess,
  _In_      DWORD dwShareMode,
  _In_opt_  LPSECURITY_ATTRIBUTES lpSecurityAttributes,
  _In_      DWORD dwCreationDisposition,
  _In_      DWORD dwFlagsAndAttributes,
  _In_opt_  HANDLE hTemplateFile); -->
  <function name="CreateFile">
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
    <arg nr="4">
      <not-uninit/>
    </arg>
    <arg nr="5">
      <not-uninit/>
    </arg>
    <arg nr="6">
      <not-uninit/>
    </arg>
    <arg nr="7">
      <not-uninit/>
    </arg>
  </function>
  <!-- BOOL WINAPI SetCommTimeouts(
  _In_  HANDLE hFile,
  _In_  LPCOMMTIMEOUTS lpCommTimeouts); -->
  <function name="SetCommTimeouts">
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- BOOL WINAPI SetCommState(
  _In_  HANDLE hFile,
  _In_  LPDCB lpDCB);-->
  <function name="SetCommState">
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- unsigned char *_mbstok(unsigned char *strToken, const unsigned char *strDelimit);  -->
  <function name="_mbstok,_tcstok">
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- unsigned char *_mbstok(unsigned char *strToken, const unsigned char *strDelimit, _locale_t locale );  -->
  <function name="_mbstok">
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
  </function>
  <!-- char *_strtok_s_l(char *strToken, const char *strDelimit, char **context,_locale_t locale ); -->
  <!-- wchar_t *_wcstok_s_l(wchar_t *strToken, const wchar_t *strDelimit, wchar_t**context,_locale_t locale); -->
  <!-- unsigned char *_mbstok_s_l(unsigned char*strToken, const unsigned char *strDelimit, char **context,_locale_t locale); -->
  <function name="_strtok_s_l,_wcstok_s_l,_mbstok_s,_tcstok_s_l">
    <!-- strtok may modify the first argument, so using the return value is not mandatory -->
    <noreturn>false</noreturn>
    <pure/>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-null/>
    </arg>
    <arg nr="4">
      <not-uninit/>
    </arg>
  </function>
  <!-- char *strtok_s(char *strToken, const char *strDelimit, char **context); -->
  <!-- wchar_t *wcstok_s(wchar_t *strToken, const wchar_t *strDelimit, wchar_t**context); -->
  <!-- unsigned char *_mbstok_s(unsigned char*strToken, const unsigned char *strDelimit, char **context); -->
  <function name="strtok_s,wcstok_s,_mbstok_s,_tcstok_s">
    <!-- strtok may modify the first argument, so using the return value is not mandatory -->
    <noreturn>false</noreturn>
    <pure/>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-null/>
    </arg>
  </function>
  <!-- char *_getcwd(char *buffer, int maxlen); -->
  <!-- wchar_t *_wgetcwd(wchar_t *buffer, int maxlen);-->
  <function name="_getcwd,_wgetcwd">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- HRESULT SHGetFolderPath(
  _In_  HWND   hwndOwner,
  _In_  int    nFolder,
  _In_  HANDLE hToken,
  _In_  DWORD  dwFlags,
  _Out_ LPTSTR pszPath);-->
  <function name="SHGetFolderPath,SHGetFolderPathA,SHGetFolderPathW">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
    <arg nr="4">
      <not-uninit/>
    </arg>
    <arg nr="5">
      <not-null/>
    </arg>
  </function>
  <!-- LONG WINAPI RegQueryValueEx(
  _In_        HKEY    hKey,
  _In_opt_    LPCTSTR lpValueName,
  _Reserved_  LPDWORD lpReserved,
  _Out_opt_   LPDWORD lpType,
  _Out_opt_   LPBYTE  lpData,
  _Inout_opt_ LPDWORD lpcbData);-->
  <function name="RegQueryValueEx,RegQueryValueExA,RegQueryValueExW">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
    <arg nr="4">
      <not-uninit/>
    </arg>
    <arg nr="6"/>
  </function>
  <!-- LONG WINAPI RegCloseKey(_In_ HKEY hKey );-->
  <function name="RegCloseKey">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- int _stricmp_l(const char *string1, const char *string2, _locale_t locale);  -->
  <!-- int _wcsicmp_l(const wchar_t *string1, const wchar_t *string2, _locale_t locale); -->
  <!-- int _mbsicmp_l(const wchar_t *string1, const wchar_t *string2, _locale_t locale); -->
  <function name="_stricmp_l,_wcsicmp_l,_mbsicmp_l">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
      <not-null/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <not-null/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
  </function>
  <!-- int stricmp(const char *s1, const char *s2); -->
  <!-- int _stricmp(const char *s1, const char *s2); -->
  <!-- int wcsicmp(const wchar_t *s1, const wchar_t *s2); -->
  <!-- int _wcsicmp(const wchar_t *s1, const wchar_t *s2); -->
  <!-- int _mbsicmp(const unsigned char *string1, const unsigned char *string2); -->
  <function name="stricmp,_stricmp,wcsicmp,_wcsicmp,_mbsicmp,_tcsicmp">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
      <not-null/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <not-null/>
    </arg>
  </function>
  <!-- DWORD WINAPI GetFileAttributes(_In_ LPCTSTR lpFileName);-->
  <function name="GetFileAttributes,GetFileAttributesA,GetFileAttributesW">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- LONG WINAPI RegOpenKeyEx(
  _In_     HKEY    hKey,
  _In_opt_ LPCTSTR lpSubKey,
  _In_     DWORD   ulOptions,
  _In_     REGSAM  samDesired,
  _Out_    PHKEY   phkResult); -->
  <function name="RegOpenKeyEx,RegOpenKeyExA,RegOpenKeyExW">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
    <arg nr="4">
      <not-uninit/>
    </arg>
    <arg nr="5"/>
  </function>
  <!-- int __cdecl wsprintf(_Out_ LPTSTR  lpOut, _In_  LPCTSTR lpFmt, _In_ ...);-->
  <function name="wsprintf,wsprintfA,wsprintfW">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
      <minsize type="strlen" arg="2"/>
    </arg>
    <formatstr/>
    <arg nr="2">
      <formatstr/>
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- int swprintf_s(wchar_t *buffer, size_t sizeOfBuffer, const wchar_t *format, ...); -->
  <function name="swprintf_s">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <minsize type="argvalue" arg="2"/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <formatstr/>
    <arg nr="3">
      <formatstr/>
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- int _sprintf_s_l(char *buffer, size_t sizeOfBuffer, const char *format, locale_t locale, ... ); 
       int _swprintf_s_l(wchar_t *buffer, size_t sizeOfBuffer, const wchar_t *format, locale_t locale, ...);-->
  <function name="_sprintf_s_l,_swprintf_s_l">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <minsize type="argvalue" arg="2"/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <formatstr/>
    <arg nr="3">
      <formatstr/>
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="4">
      <not-uninit/>
    </arg>
  </function>
  <!-- LONG WINAPI RegEnumKeyEx(
  _In_        HKEY      hKey,
  _In_        DWORD     dwIndex,
  _Out_       LPTSTR    lpName,
  _Inout_     LPDWORD   lpcName,
  _Reserved_  LPDWORD   lpReserved,
  _Inout_     LPTSTR    lpClass,
  _Inout_opt_ LPDWORD   lpcClass,
  _Out_opt_   PFILETIME lpftLastWriteTime); -->
  <function name="RegEnumKeyEx,RegEnumKeyExA,RegEnumKeyExW">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="8"/>
  </function>
  <!-- 
HFONT CreateFont(
  _In_  int nHeight,
  _In_  int nWidth,
  _In_  int nEscapement,
  _In_  int nOrientation,
  _In_  int fnWeight,
  _In_  DWORD fdwItalic,
  _In_  DWORD fdwUnderline,
  _In_  DWORD fdwStrikeOut,
  _In_  DWORD fdwCharSet,
  _In_  DWORD fdwOutputPrecision,
  _In_  DWORD fdwClipPrecision,
  _In_  DWORD fdwQuality,
  _In_  DWORD fdwPitchAndFamily,
  _In_  LPCTSTR lpszFace
);
-->
  <function name="CreateFont">
    <noreturn>false</noreturn>
    <arg nr="any">
      <not-uninit/>
    </arg>
    <arg nr="14"/>
  </function>
  <function name="CaptureStackBackTrace">
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="4"/>
  </function>
  <!-- int _vsnprintf(char *buffer, size_t count, const char *format, va_list argptr);
       int _vsnwprintf(wchar_t *buffer, size_t count, const wchar_t *format, va_list argptr);-->
  <function name="_vsnprintf,_vsnwprintf">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
      <minsize type="argvalue" arg="2"/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="3">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="4"/>
  </function>
  <!-- int _vsnprintf_l (char *buffer   , size_t count, const char *format, locale_t locale,  va_list argptr); 
       int _vsnwprintf_l(wchar_t *buffer, size_t count, const wchar_t *format, locale_t locale, va_list argptr); 
       int _vswprintf_l(wchar_t *buffer,  size_t count, const wchar_t *format, locale_t locale, va_list argptr);-->
  <function name="_vsnprintf_l,_vsnwprintf_l,_vswprintf_l">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
      <minsize type="argvalue" arg="2"/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="3">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="4">
      <not-uninit/>
    </arg>
    <arg nr="5"/>
  </function>
  <!-- int vsnprintf_s(char *buffer, size_t sizeOfBuffer, size_t count, const char *format, va_list argptr); 
       int _vsnprintf_s( char *buffer, size_t sizeOfBuffer, size_t count, const char *format, va_list argptr);
       int _vsnwprintf_s( wchar_t *buffer, size_t sizeOfBuffer, size_t count, const wchar_t *format, va_list argptr); -->
  <function name="vsnprintf_s,_vsnprintf_s,_vsnwprintf_s">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
      <minsize type="argvalue" arg="2"/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="3">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="4">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="5"/>
  </function>
  <!-- int _vsnprintf_s_l(char *buffer, size_t sizeOfBuffer, size_t count, const char *format, locale_t locale,  va_list argptr); 
       int _vsnwprintf_s_l(wchar_t *buffer, size_t sizeOfBuffer, size_t count, const wchar_t *format, locale_t locale, va_list argptr); -->
  <function name="_vsnprintf_s_l,_vsnwprintf_s_l">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
      <minsize type="argvalue" arg="2"/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="3">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="4">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="5">
      <not-uninit/>
    </arg>
    <arg nr="6"/>
  </function>
  <!-- int _vsprintf_l(char *buffer, const char *format, locale_t locale, va_list argptr); 
      int __vswprintf_l(wchar_t *buffer, const wchar_t *format, locale_t locale, va_list argptr);-->
  <function name="_vsprintf_l,__vswprintf_l">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
    </arg>
    <arg nr="2">
      <not-null/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
    <arg nr="4"/>
  </function>
  <!-- char *_strdup(const char *strSource);
    wchar_t *_wcsdup(const wchar_t *strSource);
    unsigned char *_mbsdup(const unsigned char *strSource);-->
  <function name="_strdup,_wcsdup,_mbsdup,_tcsdup">
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- char *_strdup_dbg(const char *strSource, int blockType, const char *filename, int linenumber );  
       wchar_t *_wcsdup_dbg(const wchar_t *strSource, int blockType, const char *filename, int linenumber);-->
  <function name="_strdup_dbg,_wcsdup_dbg,_tcsdup_dbg">
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
    <arg nr="4">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- int _mbscmp(const unsigned char *string1, const unsigned char *string2); -->
  <function name="_mbscmp,_tcscmp">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- int _snprintf(char *s, size_t n, const char *format, ...); 
       int _snwprintf(wchar_t *buffer, size_t count, const wchar_t *format, ...);-->
  <function name="_snprintf,_snwprintf,_sntprintf">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <minsize type="argvalue" arg="2"/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <formatstr/>
    <arg nr="3">
      <formatstr/>
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- errno_t strcpy_s(char *strDestination, size_t numberOfElements, const char *strSource);
       errno_t wcscpy_s(wchar_t *strDestination, size_t numberOfElements, const wchar_t *strSource);
       errno_t _mbscpy_s(unsigned char *strDestination, size_t numberOfElements, const unsigned char *strSource); -->
  <function name="strcpy_s,wcscpy_s,_mbscpy_s,_tcscpy_s">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="3">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- int _CrtSetDbgFlag(int newFlag); -->
  <function name="_CrtSetDbgFlag">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- int _stat(const char *path, struct _stat *buffer);
       int _stat32(const char *path, struct __stat32 *buffer);
       int _stat64(const char *path, struct __stat64 *buffer);
       int _stati64(const char *path, struct _stati64 *buffer);
       int _stat32i64(const char *path, struct _stat32i64 *buffer);
       int _stat64i32(const char *path, struct _stat64i32 *buffer);
       int _wstat(const wchar_t *path, struct _stat *buffer);
       int _wstat32(const wchar_t *path, struct __stat32 *buffer);
       int _wstat64(const wchar_t *path, struct __stat64 *buffer);
       int _wstati64(const wchar_t *path, struct _stati64 *buffer);
       int _wstat32i64(const wchar_t *path, struct _stat32i64 *buffer);
       int _wstat64i32(const wchar_t *path, struct _stat64i32 *buffer); -->
  <function name="_stat,_tstat,_stat32,_stat64,_tstat64,_stati64,_tstati64,_stat32i64,_tstat32i64,_stat64i32,_tstat64i32,_wstat,_wstat32,_wstat64,_wstati64,_wstat32i64,_wstat64i32">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
      <not-null/>
    </arg>
    <arg nr="2">
      <not-null/>
    </arg>
  </function>
  <!-- int _fstat(int fd, struct _stat *buffer);
       int _fstat32(int fd, struct __stat32 *buffer);
       int _fstat64(int fd, struct __stat64 *buffer);
       int _fstati64(int fd, struct _stati64 *buffer);
       int _fstat32i64(int fd, struct _stat32i64 *buffer);
       int _fstat64i32(int fd, struct _stat64i32 *buffer);-->
  <function name="_fstat,_fstat32,_fstat64,_fstati64,_fstat32i64,_fstat64i32">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
    </arg>
  </function>
  <!-- int _fseeki64(FILE *stream, __int64 offset, int origin); -->
  <function name="_fseeki64">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
  </function>
  <!-- __int64 _ftelli64(FILE *stream); 
         long _ftell_nolock(FILE *stream);  
       __int64 _ftelli64_nolock(FILE *stream); -->
  <function name="_ftelli64,_ftell_nolock,_ftelli64_nolock">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <use-retval/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- FILE *_wfopen(const wchar_t *filename, const wchar_t *mode); -->
  <function name="_wfopen,_tfopen">
    <use-retval/>
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- size_t strnlen_s(const char *str, size_t numberOfElements);
       size_t wcsnlen_s(const wchar_t *str, size_t numberOfElements);
       size_t _mbsnlen(const unsigned char *str, size_t numberOfElements);
       size_t _mbstrnlen(const char *str, size_t numberOfElements);-->
  <function name="strnlen_s,wcsnlen_s,_mbsnlen,_mbstrnlen">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- size_t _mbsnlen_l(const unsigned char *str, size_t numberOfElements, _locale_t locale);
       size_t _mbstrnlen_l(const char *str, size_t numberOfElements, _locale_t locale);-->
  <function name="_mbsnlen_l,_mbstrnlen_l">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
  </function>
  <!-- int WideCharToMultiByte(
  _In_      UINT    CodePage,
  _In_      DWORD   dwFlags,
  _In_      LPCWSTR lpWideCharStr,
  _In_      int     cchWideChar,
  _Out_opt_ LPSTR   lpMultiByteStr,
  _In_      int     cbMultiByte,
  _In_opt_  LPCSTR  lpDefaultChar,
  _Out_opt_ LPBOOL  lpUsedDefaultChar
  ); -->
  <function name="WideCharToMultiByte">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
    <arg nr="4">
      <not-uninit/>
    </arg>
    <arg nr="6">
      <not-uninit/>
    </arg>
    <arg nr="7">
      <not-uninit/>
    </arg>
    <arg nr="8"/>
  </function>
  <!-- BOOL PathIsDirectory(_In_ LPCTSTR pszPath);-->
  <function name="PathIsDirectory,PathIsDirectoryA,PathIsDirectoryW">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- BOOL WINAPI SetConsoleTextAttribute(
  _In_ HANDLE hConsoleOutput,
  _In_ WORD   wAttributes); -->
  <function name="SetConsoleTextAttribute">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- errno_t _wfopen_s(FILE** pFile, const wchar_t *filename, const wchar_t *mode); -->
  <function name="_wfopen_s,_tfopen_s">
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-null/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="3">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- BOOL WINAPI DeleteFile(_In_ LPCTSTR lpFileName);-->
  <function name="DeleteFile,DeleteFileA,DeleteFileW">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- HANDLE WINAPI GetStdHandle(_In_ DWORD nStdHandle); -->
  <function name="GetStdHandle">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- BOOL WINAPI SetStdHandle(_In_ DWORD  nStdHandle, _In_ HANDLE hHandle); -->
  <function name="SetStdHandle">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- int _access(const char *path, int mode);
       int _waccess(const wchar_t *path, int mode); -->
  <function name="_access,_waccess,_taccess">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <function name="PeekMessage,PeekMessageA,PeekMessageW">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
    <arg nr="4">
      <not-uninit/>
    </arg>
    <arg nr="5">
      <not-uninit/>
    </arg>
  </function>
  <function name="GetMessage,GetMessageA,GetMessageW">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
    <arg nr="4">
      <not-uninit/>
    </arg>
  </function>
  <function name="TranslateMessage">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <function name="DispatchMessage,DispatchMessageA,DispatchMessageW">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <function name="SendMessage,SendMessageA,SendMessageW,PostMessage,PostMessageA,PostMessageW">
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
    <arg nr="4">
      <not-uninit/>
    </arg>
  </function>
  <function name="PostQuitMessage">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <function name="DefWindowProc,DefWindowProcA,DefWindowProcW">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
    <arg nr="4">
      <not-uninit/>
    </arg>
  </function>
  <function name="GetPrivateProfileInt,GetPrivateProfileIntA,GetPrivateProfileIntW">
    <noreturn>false</noreturn>
    <use-retval/>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
    <arg nr="4">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <function name="GetPrivateProfileSection,GetPrivateProfileSectionA,GetPrivateProfileSectionW">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2">
      <not-null/>
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
    <arg nr="4">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <function name="GetPrivateProfileSectionNames,GetPrivateProfileSectionNamesA,GetPrivateProfileSectionNamesW">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <minsize type="argvalue" arg="2"/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <function name="GetPrivateProfileString,GetPrivateProfileStringA,GetPrivateProfileStringW">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
    <arg nr="4">
      <not-null/>
      <minsize type="argvalue" arg="5"/>
    </arg>
    <arg nr="5">
      <not-uninit/>
    </arg>
    <arg nr="6">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <function name="GetPrivateProfileStruct,GetPrivateProfileStructA,GetPrivateProfileStructW">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="3">
      <not-null/>
      <minsize type="argvalue" arg="4"/>
    </arg>
    <arg nr="4">
      <not-uninit/>
    </arg>
    <arg nr="5">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <function name="BeginPaint">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
    </arg>
  </function>
  <function name="EndPaint">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
    </arg>
  </function>
  <function name="GetStockObject">
    <noreturn>false</noreturn>
    <pure/>
    <use-retval/>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <function name="LoadIcon,LoadIconA,LoadIconW">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <use-retval/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <function name="CreateSolidBrush">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <use-retval/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <function name="UpdateWindow">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <function name="EnableWindow">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <function name="CreateWindow,CreateWindowA,CreateWindowW">
    <noreturn>false</noreturn>
    <use-retval/>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
    <arg nr="4">
      <not-uninit/>
    </arg>
    <arg nr="5">
      <not-uninit/>
    </arg>
    <arg nr="6">
      <not-uninit/>
    </arg>
    <arg nr="7">
      <not-uninit/>
    </arg>
    <arg nr="8">
      <not-uninit/>
    </arg>
    <arg nr="9">
      <not-uninit/>
    </arg>
    <arg nr="10">
      <not-uninit/>
    </arg>
    <arg nr="11">
      <not-uninit/>
    </arg>
  </function>
  <function name="CreateWindowEx,CreateWindowExA,CreateWindowExW">
    <noreturn>false</noreturn>
    <use-retval/>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
    <arg nr="4">
      <not-uninit/>
    </arg>
    <arg nr="5">
      <not-uninit/>
    </arg>
    <arg nr="6">
      <not-uninit/>
    </arg>
    <arg nr="7">
      <not-uninit/>
    </arg>
    <arg nr="8">
      <not-uninit/>
    </arg>
    <arg nr="9">
      <not-uninit/>
    </arg>
    <arg nr="10">
      <not-uninit/>
    </arg>
    <arg nr="11">
      <not-uninit/>
    </arg>
    <arg nr="12">
      <not-uninit/>
    </arg>
  </function>
  <function name="SetWindowText,SetWindowTextA,SetWindowTextW">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <function name="GetModuleHandle,GetModuleHandleA,GetModuleHandleW">
    <noreturn>false</noreturn>
    <use-retval/>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <function name="RegisterClass,RegisterClassEx">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <function name="UnregisterClass,UnregisterClassA,UnregisterClassW">
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <function name="MessageBox,MessageBoxA,MessageBoxW">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
    <arg nr="4">
      <not-uninit/>
    </arg>
  </function>
  <function name="GlobalLock,GlobalUnlock">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
      <not-null/>
    </arg>
  </function>
  <function name="OpenClipboard">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <function name="EmptyClipboard,CloseClipboard">
    <noreturn>false</noreturn>
    <leak-ignore/>
  </function>
  <function name="SetClipboardData">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- int _rmdir(const char *dirname); 
       int _wrmdir(const wchar_t *dirname);-->
  <function name="_rmdir,_wrmdir">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- int _mkdir(const char *dirname);
       int _wmkdir(const wchar_t *dirname); -->
  <function name="_mkdir,_wmkdir">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!--__int64 _abs64( __int64 n);-->
  <function name="_abs64">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <returnValue>arg1&gt;0?arg1:-arg1</returnValue>
    <arg nr="1">
      <not-uninit/>
      <not-bool/>
    </arg>
  </function>
  <!-- HANDLE WINAPI CreateWaitableTimer(
  _In_opt_ LPSECURITY_ATTRIBUTES lpTimerAttributes,
  _In_     BOOL                  bManualReset,
  _In_opt_ LPCTSTR               lpTimerName );-->
  <function name="CreateWaitableTimer">
    <use-retval/>
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
  </function>
  <!-- BOOL WINAPI SetWaitableTimer(
  _In_           HANDLE           hTimer,
  _In_     const LARGE_INTEGER    *pDueTime,
  _In_           LONG             lPeriod,
  _In_opt_       PTIMERAPCROUTINE pfnCompletionRoutine,
  _In_opt_       LPVOID           lpArgToCompletionRoutine,
  _In_           BOOL             fResume);-->
  <function name="SetWaitableTimer">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <not-null/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
    <arg nr="4">
      <not-uninit/>
    </arg>
    <arg nr="5">
      <not-uninit/>
    </arg>
    <arg nr="6">
      <not-uninit/>
    </arg>
  </function>
  <!-- DWORD WINAPI WaitForSingleObject(
  _In_ HANDLE hHandle,
  _In_ DWORD  dwMilliseconds); -->
  <function name="WaitForSingleObject">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- int _pclose(FILE *stream); -->
  <function name="_pclose">
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- FILE *_popen( const char *command, const char *mode ); 
       FILE *_wpopen(const wchar_t *command, const wchar_t *mode);-->
  <function name="_popen,_wpopen,_tpopen">
    <noreturn>false</noreturn>
    <use-retval/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- char *_mktemp(char *template);
       wchar_t *_wmktemp(wchar_t *template); -->
  <function name="_mktemp,_wmktemp">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- HANDLE WINAPI FindFirstFileEx(
  _In_       LPCTSTR            lpFileName,
  _In_       FINDEX_INFO_LEVELS fInfoLevelId,
  _Out_      LPVOID             lpFindFileData,
  _In_       FINDEX_SEARCH_OPS  fSearchOp,
  _Reserved_ LPVOID             lpSearchFilter,
  _In_       DWORD              dwAdditionalFlags
); -->
  <function name="FindFirstFileEx,FindFirstFileExA,FindFirstFileExW">
    <use-retval/>
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-null/>
    </arg>
    <arg nr="4">
      <not-uninit/>
    </arg>
    <arg nr="6">
      <not-uninit/>
    </arg>
  </function>
  <!-- HANDLE WINAPI FindFirstFile(
  _In_  LPCTSTR           lpFileName,
  _Out_ LPWIN32_FIND_DATA lpFindFileData); -->
  <function name="FindFirstFile,FindFirstFileW,FindFirstFileA">
    <use-retval/>
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
    </arg>
  </function>
  <!-- BOOL WINAPI FindClose(_Inout_ HANDLE hFindFile); -->
  <function name="FindClose">
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- HANDLE WINAPI CreateThread(
  _In_opt_  LPSECURITY_ATTRIBUTES  lpThreadAttributes,
  _In_      SIZE_T                 dwStackSize,
  _In_      LPTHREAD_START_ROUTINE lpStartAddress,
  _In_opt_  LPVOID                 lpParameter,
  _In_      DWORD                  dwCreationFlags,
  _Out_opt_ LPDWORD                lpThreadId); -->
  <function name="CreateThread">
    <use-retval/>
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
    <arg nr="4">
      <not-uninit/>
    </arg>
    <arg nr="5">
      <not-uninit/>
    </arg>
    <arg nr="6"/>
  </function>
  <!-- BOOL WINAPI FindNextFile(
  _In_  HANDLE            hFindFile,
  _Out_ LPWIN32_FIND_DATA lpFindFileData); -->
  <function name="FindNextFile,FindNextFileW,FindNextFileA">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
    </arg>
  </function>
  <!-- BOOL WINAPI SetEnvironmentVariable(
  _In_     LPCTSTR lpName,
  _In_opt_ LPCTSTR lpValue);-->
  <function name="SetEnvironmentVariable,SetEnvironmentVariableW,SetEnvironmentVariableA">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2"/>
  </function>
  <!-- DWORD WINAPI QueryDosDevice(
  _In_opt_ LPCTSTR lpDeviceName,
  _Out_    LPTSTR  lpTargetPath,
  _In_     DWORD   ucchMax);-->
  <function name="QueryDosDevice,QueryDosDeviceW,QueryDosDeviceA">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
  </function>
  <!-- BOOL WINAPI GetDefaultCommConfig(
  _In_    LPCTSTR      lpszName,
  _Out_   LPCOMMCONFIG lpCC,
  _Inout_ LPDWORD      lpdwSize);-->
  <function name="GetDefaultCommConfig,GetDefaultCommConfigW,GetDefaultCommConfigA">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
    </arg>
    <arg nr="3"/>
  </function>
  <!-- DWORD WINAPI GetTempPath(
  _In_  DWORD  nBufferLength,
  _Out_ LPTSTR lpBuffer);-->
  <function name="GetTempPath,GetTempPathW,GetTempPathA">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <valid>0:</valid>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <minsize type="argvalue" arg="1"/>
    </arg>
  </function>
  <!-- BOOL SetupDiDestroyDeviceInfoList(_In_ HDEVINFO DeviceInfoSet);-->
  <function name="SetupDiDestroyDeviceInfoList">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- BOOL SetupDiGetDeviceInstanceId(
  _In_      HDEVINFO         DeviceInfoSet,
  _In_      PSP_DEVINFO_DATA DeviceInfoData,
  _Out_opt_ PTSTR            DeviceInstanceId,
  _In_      DWORD            DeviceInstanceIdSize,
  _Out_opt_ PDWORD           RequiredSize);-->
  <function name="SetupDiGetDeviceInstanceId">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="4">
      <not-uninit/>
    </arg>
    <arg nr="5"/>
  </function>
  <!-- BOOL SetupDiEnumDeviceInfo(
  _In_  HDEVINFO         DeviceInfoSet,
  _In_  DWORD            MemberIndex,
  _Out_ PSP_DEVINFO_DATA DeviceInfoData);-->
  <function name="SetupDiEnumDeviceInfo">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3"/>
  </function>
  <!-- HDEVINFO SetupDiGetClassDevs(
  _In_opt_ const GUID   *ClassGuid,
  _In_opt_       PCTSTR Enumerator,
  _In_opt_       HWND   hwndParent,
  _In_           DWORD  Flags ); -->
  <function name="SetupDiGetClassDevs">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
    <arg nr="4">
      <not-uninit/>
    </arg>
  </function>
  <!-- unsigned char *_mbsstr(const unsigned char *str, const unsigned char *strSearch  -->
  <function name="_mbsstr,_tcsstr">
    <use-retval/>
    <returnValue type="unsigned char *"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- unsigned char *_mbsstr_l(const unsigned char *str, const unsigned char *strSearch, _locale_t locale )-->
  <function name="_mbsstr_l">
    <returnValue type="unsigned char *"/>
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
  </function>
  <!-- void *_memccpy(void *dest, const void *src, int c, size_t n);-->
  <function name="_memccpy">
    <leak-ignore/>
    <returnValue type="void *"/>
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-null/>
      <minsize type="sizeof" arg="2"/>
      <minsize type="argvalue" arg="4"/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="4">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- int _fcloseall( void ); -->
  <function name="_fcloseall">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
  </function>
  <!-- int _open(const char *filename,  int oflag [, int pmode] );
       int _wopen(  const wchar_t *filename,  int oflag [, int pmode]); -->
  <function name="_open,_wopen,_topen">
    <use-retval/>
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
  </function>
  <!-- int _close(int fildes); -->
  <function name="_close">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- void _swab(char *src, char *dest, int n);-->
  <function name="_swab">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="3">
      <not-uninit/>
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- int _strnicmp(const char *string1, const char *string2, size_t count); -->
  <!-- int _wcsnicmp(const wchar_t *string1, const wchar_t *string2, size_t count); -->
  <!-- int _mbsnicmp(const unsigned char *string1, const unsigned char *string2, size_t count); -->
  <function name="_strnicmp,_wcsnicmp,_mbsnicmp,_tcsncicmp,_tcsnicmp">
    <use-retval/>
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="3">
      <not-uninit/>
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- int _strnicmp_l(const char *string1, const char *string2, size_t count, _locale_t locale); -->
  <!-- int _wcsnicmp_l(const wchar_t *string1, const wchar_t *string2, size_t count, _locale_t locale); -->
  <!-- int _mbsnicmp_l(const unsigned char *string1, const unsigned char *string2, size_t count,  _locale_t locale); -->
  <function name="_strnicmp_l,_wcsnicmp_l,_mbsnicmp_l,_tcsncicmp_l">
    <use-retval/>
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="3">
      <not-uninit/>
      <not-bool/>
      <valid>0:</valid>
    </arg>
    <arg nr="4">
      <not-uninit/>
    </arg>
  </function>
  <!-- void *_malloc_dbg(size_t size, int blockType, const char *filename, int linenumber); -->
  <!-- void * _aligned_malloc_dbg(size_t size, size_t alignment, const char *filename, int linenumber); -->
  <function name="_malloc_dbg,_aligned_malloc_dbg">
    <use-retval/>
    <returnValue type="void *"/>
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
    <arg nr="4">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- void * _aligned_malloc(size_t size, size_t alignment); -->
  <function name="_aligned_malloc">
    <use-retval/>
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- size_t _mbslen_l( const unsigned char *str, _locale_t locale);  -->
  <!-- size_t _mbstrlen_l( const char *str, _locale_t locale ); -->
  <function name="_mbslen_l,_mbstrlen_l,_tcsclen_l">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <returnValue type="size_t"/>
    <leak-ignore/>
    <returnValue>strlen(arg1)</returnValue>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- size_t _mbslen( const unsigned char *str );  -->
  <!-- size_t _mbstrlen( const char *str ); -->
  <function name="_mbslen,_mbstrlen,_tcslen,_tcsclen">
    <use-retval/>
    <returnValue type="size_t"/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <returnValue>strlen(arg1)</returnValue>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- unsigned char *_mbsrchr_l(const unsigned char *str, unsigned int c, _locale_t locale ); // C only  
       unsigned char *_mbsrchr_(unsigned char *str, unsigned int c, _locale_t locale ); // C++ only  
       const unsigned char *_mbsrchr_(const unsigned char *str, unsigned int c, _locale_t locale ); // C++ only-->
  <function name="_mbsrchr_l">
    <use-retval/>
    <noreturn>false</noreturn>
    <returnValue type="unsigned char *"/>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
  </function>
  <!-- unsigned char *_mbsrchr(const unsigned char *str, unsigned int c); // C only  
       unsigned char *_mbsrchr(unsigned char *str, unsigned int c); // C++ only  
       const unsigned char *_mbsrchr(const unsigned char *str, unsigned int c); // C++ only-->
  <function name="_mbsrchr,_tcsrchr">
    <use-retval/>
    <noreturn>false</noreturn>
    <returnValue type="unsigned char *"/>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- size_t _strftime_l(char *strDest, size_t maxsize, const char *format, const struct tm *timeptr, _locale_t locale); -->
  <!-- size_t _wcsftime_l(wchar_t *strDest, size_t maxsize, const wchar_t *format, const struct tm *timeptr, _locale_t locale);  -->
  <function name="_strftime_l,_wcsftime_l">
    <noreturn>false</noreturn>
    <returnValue type="size_t"/>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="3">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="4">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="5">
      <not-uninit/>
    </arg>
  </function>
  <!-- size_t _tcsftime(char *s, size_t max, const char *fmt, const struct tm *p); -->
  <function name="_tcsftime">
    <noreturn>false</noreturn>
    <returnValue type="size_t"/>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <arg nr="3">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="4">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- errno_t _wfreopen_s(FILE** pFile, const wchar_t *path, const wchar_t *mode, FILE *stream); -->
  <function name="_wfreopen_s,_tfreopen_s">
    <noreturn>false</noreturn>
    <returnValue type="errno_t"/>
    <use-retval/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="4">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- FILE *_wfreopen(const wchar_t *path, const wchar_t *mode, FILE *stream);  -->
  <function name="_wfreopen,_tfreopen">
    <returnValue type="FILE *"/>
    <noreturn>false</noreturn>
    <use-retval/>
    <arg nr="1">
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- char *_mbsncpy(unsigned char char *s, const unsigned char *ct, size_t n); -->
  <function name="_mbsncpy,_mbsnbcpy,_tcsncpy">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <!-- char *_strncpy_l(unsigned char char *s, const unsigned char *ct, size_t n, locale_t locale ); -->
  <!-- wchar_t *_wcsncpy_l(wchar_t *strDest, const wchar_t *strSource, size_t count, locale_t locale);-->
  <!-- unsigned char *_mbsncpy_l(unsigned char *strDest, const unsigned char *strSource, size_t count, _locale_t locale);-->
  <function name="_strncpy_l,_wcsncpy_l,_mbsncpy_l,_tcsncpy_l">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <minsize type="argvalue" arg="3"/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
      <not-bool/>
      <valid>0:</valid>
    </arg>
    <arg nr="4">
      <not-uninit/>
    </arg>
  </function>
  <!-- errno_t _localtime32_s( struct tm* _tm, const time32_t *time);
       errno_t _localtime64_s( struct tm* _tm, const _time64_t *time); -->
  <function name="_localtime32_s,_localtime64_s">
    <returnValue type="errno_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
    </arg>
    <arg nr="2">
      <not-null/>
    </arg>
  </function>
  <!-- BOOL WINAPI CreateDirectory(_In_ LPCTSTR lpPathName,
                                   _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes); -->
  <function name="CreateDirectory,CreateDirectoryA,CreateDirectoryW">
    <returnValue type="BOOL"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2" default="0">
      <not-uninit/>
    </arg>
  </function>
  <!-- BOOL WINAPI RemoveDirectory(_In_ LPCTSTR lpPathName); -->
  <function name="RemoveDirectory,RemoveDirectoryA,RemoveDirectoryW">
    <returnValue type="BOOL"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- int iswascii( wint_t c );-->
  <!-- int __isascii(int c); -->
  <function name="__isascii,iswascii">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- int _getch_nolock( void ); -->
  <!-- int _getchar(void); -->
  <function name="_getchar,_getch_nolock">
    <returnValue type="int"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
  </function>
  <!-- wint_t _getwch_nolock( void ); -->
  <!-- wint_t _getwch(void);-->
  <function name="_getwch,_getwch_nolock">
    <returnValue type="wint_t"/>
    <noreturn>false</noreturn>
    <leak-ignore/>
  </function>
  <!--VOID WINAPI Sleep(
      _In_ DWORD dwMilliseconds);-->
  <function name="Sleep">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
      <not-bool/>
    </arg>
  </function>
  <!--DWORD WINAPI SleepEx(
  _In_ DWORD dwMilliseconds,
  _In_ BOOL  bAlertable);-->
  <function name="SleepEx">
    <noreturn>false</noreturn>
    <returnValue type="DWORD"/>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
      <not-bool/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <podtype name="LARGE_INTEGER" sign="s" size="8"/>
  <podtype name="POINTER_SIGNED" sign="s"/>
  <podtype name="POINTER_UNSIGNED" sign="u"/>
  <podtype name="ULARGE_INTEGER" sign="u" size="8"/>
  <define name="afx_msg" value=""/>
  <define name="DEBUG_NEW" value="new"/>
  <define name="DECLARE_MESSAGE_MAP()" value=""/>
  <define name="DECLARE_DYNAMIC(x)" value=""/>
  <define name="DECLARE_DYNAMIC_CLASS(x)" value=""/>
  <define name="DECLARE_DYNCREATE(x)" value=""/>
  <define name="INVALID_HANDLE_VALUE" value="0"/>
  <define name="INVALID_SOCKET" value="0"/>
  <define name="WINAPI" value=""/>
  <define name="__pragma(x)" value=""/>
</def>