RtlGetSetBootStatusData
NTSTATUS __stdcall RtlGetSetBootStatusData(
VOID *Handle,
UINT8 Get,
_RTL_BSD_ITEM_TYPE DataItem,
VOID *DataBuffer,
UINT64 DataBufferLength,
UINT64 *BytesReturned){
_HANDLE v8;
INT64 v9;
NTSTATUS result;
INT64 v11;
INT64 v12;
char v13[176];
v8 = (int)Handle;
memset(v13, 0i64, sizeof(v13));
if( Get )
{
v12 = (unsigned int)DataItem;
LOBYTE(v9) = 1;
return RtlpGetSetBootStatusData(v8, v9, v12);
}
if( DataItem == 15 )
return -1073741811;
LOBYTE(v9) = 1;
result = RtlpGetSetBootStatusData(v8, v9, 15i64);
if( result >= 0 )
{
LOBYTE(v11) = 1;
result = RtlpGetSetBootStatusData(v8, v11, (unsigned int)DataItem);
if( result >= 0 )
{
result = RtlpGetSetBootStatusData(v8, 0i64, (unsigned int)DataItem);
if( result >= 0 )
{
if( BytesReturned )
*(_DWORD *)BytesReturned = 0;
v9 = 0i64;
v12 = 15i64;
return RtlpGetSetBootStatusData(v8, v9, v12);
}
}
}
return result;
}Referenced by:
PopBootStatGet
PopBootStatSet