func:  CVE_2013_0799_VULN_ProcessSoftwareUpdateCommand(DWORD argc, LPWSTR *argv) if ( argc < 3 )  WCHAR installDir [ MAX_PATH ] = L '\0' if ( ! GetInstallationDir ( argc , argv , installDir ) )  BOOL isLocal = FALSE ; if ( ! IsLocalFile ( argv [ 0 ] , isLocal ) || ! isLocal )  nsAutoHandle noWriteLock ( CreateFileW ( argv [ 0 ] , GENERIC_READ , FILE_SHARE_READ , NULL , OPEN_EXISTING , 0 , NULL ) ) ; if ( INVALID_HANDLE_VALUE == noWriteLock )  WCHAR installDirUpdater [ MAX_PATH + 1 ] = L '\0' wcsncpy ( installDirUpdater , installDir , MAX_PATH ); result = FALSE; BOOL updaterIsCorrect ; if ( result && ! VerifySameFiles ( argv [ 0 ] , installDirUpdater , updaterIsCorrect ) )  result = FALSE; if ( result && ! updaterIsCorrect )  result = FALSE; if ( result )  HMODULE updaterModule = LoadLibraryEx ( argv [ 0 ] , NULL , LOAD_LIBRARY_AS_DATAFILE ) ; if ( ! updaterModule )  if ( ! LoadStringA ( updaterModule , IDS_UPDATER_IDENTITY , updaterIdentity , sizeof ( updaterIdentity ) ) )  FreeLibrary ( updaterModule ); 