RtlRestoreBootStatusDefaults

INT64 __stdcall RtlRestoreBootStatusDefaults(HANDLE FileHandle){
  const __m128i *p_a2; 
  __m128i v3; 
  __int64 v4; 
  __m128i v5; 
  __m128i v6; 
  __m128i v7; 
  __m128i v8; 
  NTSTATUS v9; 
  _OWORD *v10; 
  _OWORD *v11; 
  union _LARGE_INTEGER ByteOffset; 
  struct _IO_STATUS_BLOCK IoStatusBlock; 
  __int128 a2; 
  __int128 v16; 
  __int128 v17; 
  __int128 v18; 
  __int128 v19; 
  __int128 v20; 
  __int128 v21; 
  __int128 v22; 
  __int128 v23; 
  __int128 v24; 
  __int128 v25; 
  IoStatusBlock = 0i64;
  memset((INT64)&a2 + 4, 0i64);
  LODWORD(a2) = 176;
  RtlGetNtProductType((_NT_PRODUCT_TYPE *)&a2 + 1);
  DWORD2(v25) = 0;
  p_a2 = (const __m128i *)&a2;
  v3 = 0i64;
  *(_WORD *)((char *)&a2 + 9) = 286;
  v4 = 11i64;
  BYTE1(v18) = 1;
  BYTE11(a2) = 0;
  do
  {
    v5 = _mm_loadu_si128(p_a2++);
    v3 = _mm_sub_epi8(v3, v5);
    --v4;
  }
  while( v4 );
  ByteOffset.QuadPart = 0i64;
  v6 = _mm_add_epi8(v3, _mm_srli_si128(v3, 8));
  v7 = _mm_add_epi8(v6, _mm_srli_si128(v6, 4));
  v8 = _mm_add_epi8(v7, _mm_srli_si128(v7, 2));
  BYTE2(v18) = _mm_cvtsi128_si32(_mm_add_epi8(v8, _mm_srli_si128(v8, 1)));
  RtlpRecordBootStatusData(0, (INT64)&a2, 0i64, 176i64);
  v9 = ZwWriteFile(FileHandle, 0i64, 0i64, 0i64, &IoStatusBlock, &a2, 0xB0u, &ByteOffset, 0i64);
  if( v9 >= 0 )
  {
    if( BootStatFileHandleAcquired )
    {
      if( BootStatFileHandle == FileHandle )
      {
        v10 = BootStatDataCache;
        if( BootStatDataCache )
        {
          *(_OWORD *)BootStatDataCache = a2;
          v10[1] = v16;
          v10[2] = v17;
          v10[3] = v18;
          v10[4] = v19;
          v10[5] = v20;
          v10[6] = v21;
          v11 = v10 + 8;
          *(v11 - 1) = v22;
          *v11 = v23;
          v11[1] = v24;
          v11[2] = v25;
        }
      }
    }
  }
  return(unsigned int)v9;
}

Referenced by:

PopBootStatRestoreDefaults