SiGetBiosSystemPartition

NTSTATUS __stdcall SiGetBiosSystemPartition(WCHAR **SystemPartition){
  VOID **PoolWithTag; 
  NTSTATUS BiosSystemDisk; 
  WORD *v4; 
  NTSTATUS v5; 
  NTSTATUS DriveLayoutInformation; 
  _DRIVE_LAYOUT_INFORMATION_EX *v7; 
  WORD *v8; 
  __int64 v9; 
  UINT64 v10; 
  ULONG PartitionCount; 
  PARTITION_INFORMATION_EX *PartitionEntry; 
  ULONG v13; 
  WCHAR *DriveName; 
  _DRIVE_LAYOUT_INFORMATION_EX *DriveLayout; 

  DriveLayout = 0i64;
  PoolWithTag = 0i64;
  DriveName = 0i64;
  BiosSystemDisk = SiGetBiosSystemDisk(&DriveName);
  v4 = DriveName;
  v5 = BiosSystemDisk;
  if( BiosSystemDisk < 0 )
    goto LABEL_17;
  DriveLayoutInformation = SiGetDriveLayoutInformation(DriveName, &DriveLayout);
  v7 = DriveLayout;
  v5 = DriveLayoutInformation;
  if( DriveLayoutInformation >= 0 )
  {
    if( !DriveLayout->PartitionStyle )
    {
      v8 = wcsstr(v4, (INT8 *)L"\\Partition0");
      if( v8 )
        *v8 = 0;
      v9 = -1i64;
      do
        ++v9;
      while( v4[v9] );
      v10 = (unsigned int)(2 * v9 + 42);
      PoolWithTag = ExAllocatePoolWithTag(1ui64, v10, 1263556947i64);
      if( !PoolWithTag )
      {
        v5 = -1073741670;
        goto LABEL_14;
      }
      PartitionCount = v7->PartitionCount;
      PartitionEntry = v7->PartitionEntry;
      v13 = 0;
      if( PartitionCount )
      {
        while( !PartitionEntry->Gpt.BootIndicator )
        {
          ++v13;
          PartitionEntry = (PARTITION_INFORMATION_EX *)((char *)PartitionEntry + 144);
          if( v13 >= PartitionCount )
            goto LABEL_12;
        }
        swprintf_s((WCHAR *)PoolWithTag, v10 >> 1, (WCHAR *)L"%s\\Partition%lu", v4, PartitionEntry->PartitionNumber);
        *SystemPartition = (WCHAR *)PoolWithTag;
        v5 = 0;
        goto LABEL_14;
      }
    }
LABEL_12:
    v5 = -1073740718;
  }
LABEL_14:
  if( v7 )
    ExFreePoolWithTag(v7, 0);
  if( v5 < 0 && PoolWithTag )
    ExFreePoolWithTag(PoolWithTag, 0);
LABEL_17:
  if( v4 )
    ExFreePoolWithTag(v4, 0);
  return v5;
}

Referenced by:

SiGetFirmwareSystemPartition