SetWinReg(hRootKey, szKey, bOverwriteKey, szName, bOverwriteName, dwType, (CONST LPBYTE)szValue, lstrlen(szValue));
SetWinReg(hRootKey, szKey, bOverwriteKey, szName, bOverwriteName, dwType, (CONST LPBYTE)szValue, lstrlen(szValue), TRUE, bDnu);
HRESULT ProcessWinReg(DWORD dwTiming, char *szSectionPrefix){  char    szBuf[MAX_BUF];  char    szKey[MAX_BUF];  char    szName[MAX_BUF];  char    szValue[MAX_BUF];  char    szDecrypt[MAX_BUF];  char    szOverwriteKey[MAX_BUF];  char    szOverwriteName[MAX_BUF];  char    szSection[MAX_BUF];  HKEY    hRootKey;  BOOL    bOverwriteKey;  BOOL    bOverwriteName;  DWORD   dwIndex;  DWORD   dwType;  DWORD   dwSize;  __int64 iiNum;  dwIndex = 0;  BuildNumberedString(dwIndex, szSectionPrefix, "Windows Registry", szSection, sizeof(szSection));  GetPrivateProfileString(szSection, "Root Key", "", szBuf, sizeof(szBuf), szFileIniConfig);  while(*szBuf != '\0')  {    if(TimingCheck(dwTiming, szSection, szFileIniConfig))    {      hRootKey = ParseRootKey(szBuf);      GetPrivateProfileString(szSection, "Key",                 "", szBuf,           sizeof(szBuf),          szFileIniConfig);      GetPrivateProfileString(szSection, "Decrypt Key",         "", szDecrypt,       sizeof(szDecrypt),      szFileIniConfig);      GetPrivateProfileString(szSection, "Overwrite Key",       "", szOverwriteKey,  sizeof(szOverwriteKey), szFileIniConfig);      if(lstrcmpi(szDecrypt, "TRUE") == 0)        DecryptString(szKey, szBuf);      else        lstrcpy(szKey, szBuf);      if(lstrcmpi(szOverwriteKey, "FALSE") == 0)        bOverwriteKey = FALSE;      else        bOverwriteKey = TRUE;      GetPrivateProfileString(szSection, "Name",                "", szBuf,           sizeof(szBuf),           szFileIniConfig);      GetPrivateProfileString(szSection, "Decrypt Name",        "", szDecrypt,       sizeof(szDecrypt),       szFileIniConfig);      GetPrivateProfileString(szSection, "Overwrite Name",      "", szOverwriteName, sizeof(szOverwriteName), szFileIniConfig);      if(lstrcmpi(szDecrypt, "TRUE") == 0)        DecryptString(szName, szBuf);      else        lstrcpy(szName, szBuf);      if(lstrcmpi(szOverwriteName, "FALSE") == 0)        bOverwriteName = FALSE;      else        bOverwriteName = TRUE;      GetPrivateProfileString(szSection, "Name Value",          "", szBuf,           sizeof(szBuf), szFileIniConfig);      GetPrivateProfileString(szSection, "Decrypt Name Value",  "", szDecrypt,       sizeof(szDecrypt), szFileIniConfig);      if(lstrcmpi(szDecrypt, "TRUE") == 0)        DecryptString(szValue, szBuf);      else        lstrcpy(szValue, szBuf);      GetPrivateProfileString(szSection, "Size",                "", szBuf,           sizeof(szBuf), szFileIniConfig);      if(*szBuf != '\0')        dwSize = atoi(szBuf);      else        dwSize = 0;      GetPrivateProfileString(szSection, "Type",                "", szBuf,           sizeof(szBuf), szFileIniConfig);      if(ParseRegType(szBuf, &dwType))      {        /* create/set windows registry key here (string value)! */        SetWinReg(hRootKey, szKey, bOverwriteKey, szName, bOverwriteName, dwType, (CONST LPBYTE)szValue, lstrlen(szValue));      }      else      {        iiNum = _atoi64(szValue);        /* create/set windows registry key here (binary/dword value)! */        SetWinReg(hRootKey, szKey, bOverwriteKey, szName, bOverwriteName, dwType, (CONST LPBYTE)&iiNum, dwSize);      }    }    ++dwIndex;    BuildNumberedString(dwIndex, szSectionPrefix, "Windows Registry", szSection, sizeof(szSection));    GetPrivateProfileString(szSection, "Root Key", "", szBuf, sizeof(szBuf), szFileIniConfig);  }  return(FO_SUCCESS);}