BiMarkTreatAsSystemStore

INT64 __stdcall BiMarkTreatAsSystemStore(PVOID StoreHandle, UINT8 Value){
  int v4; 
  INT64 result; 
  UINT64 Length; 
  void *P[5]; 
  UINT64 v8; 
  int Buffer; 
  P[0] = 0i64;
  LODWORD(v8) = 0;
  if( (int)BiGetRegistryValue(StoreHandle, (WCHAR *)L"System", (WCHAR *)L"Description", 4ui64, P, &v8) >= 0
    && (v4 = *(_DWORD *)P[0], ExFreePoolWithTag(P[0], 0x4B444342u), v4)
    && Value )
  {
    LODWORD(Length) = 4;
    Buffer = 1;
    return BiSetRegistryValue(StoreHandle, (WCHAR *)L"TreatAsSystem", (WCHAR *)L"Description", 4ui64, &Buffer, Length);
  }
  else
  {
    result = BiDeleteRegistryValue(StoreHandle, (WCHAR *)L"TreatAsSystem", (WCHAR *)L"Description");
    if( (_DWORD)result == -1073741772 )
      return 0i64;
  }
  return result;
}

Referenced by:

BiLoadSystemStore