PpLastGoodDoBootProcessing

VOID __stdcall PpLastGoodDoBootProcessing(){
  WCHAR v0; 
  WCHAR v1; 
  WCHAR v2; 
  WCHAR v3; 
  NTSTATUS v4; 
  UNICODE_STRING SourceRegPath; 
  struct _UNICODE_STRING DestinationString; 
  UNICODE_STRING DestinationRegPath; 
  UNICODE_STRING DestinationPathName; 
  DestinationString = 0i64;
  DestinationPathName = 0i64;
  SourceRegPath = 0i64;
  DestinationRegPath = 0i64;
  RtlInitUnicodeString(&DestinationString, L"\\SystemRoot\\LastGood", v0);
  RtlInitUnicodeString(&SourceRegPath, L"\\Registry\\Machine\\System\\LastKnownGoodRecovery\\LastGood", v1);
  RtlInitUnicodeString(&DestinationPathName, L"\\SystemRoot\\LastGood.Tmp", v2);
  RtlInitUnicodeString(&DestinationRegPath, L"\\Registry\\Machine\\System\\LastKnownGoodRecovery\\LastGood.Tmp", v3);
  if( CmIsLastKnownGoodBoot() )
  {
    PiLastGoodRevertLastKnownDirectory(&DestinationString, &SourceRegPath);
    PiLastGoodRevertLastKnownDirectory(&DestinationPathName, &DestinationRegPath);
  }
  else if( !InitSafeBootMode )
  {
    v4 = IopFileUtilRename(&DestinationString, &DestinationPathName, 0);
    if( (int)(v4 + 0x80000000) < 0 || v4 == -1073741772 )
      PiLastGoodCopyKeyContents(&SourceRegPath, &DestinationRegPath);
  }
}

Referenced by:

IoInitSystemPreDrivers