SiBootEntryGetNtFilePath

INT64 __fastcall SiBootEntryGetNtFilePath(INT64 a1, CHAR **a2){
  CHAR *PoolWithTag; 
  int v4; 
  int v5; 
  int v6; 
  PoolWithTag = 0i64;
  if( *(_DWORD *)(a1 + 20) )
  {
    ZwTranslateFilePath();
    v4 = v5;
    if( v5 == -1073741789 )
    {
      PoolWithTag = (CHAR *)ExAllocatePoolWithTag(PagedPool, 0i64, 0x4B505953ui64);
      if( !PoolWithTag )
        return(unsigned int)-1073741801;
      ZwTranslateFilePath();
      v4 = v6;
    }
    if( v4 >= 0 )
    {
      *a2 = PoolWithTag;
      PoolWithTag = 0i64;
    }
    if( PoolWithTag )
      ExFreePoolWithTag(PoolWithTag, 0);
  }
  else
  {
    return(unsigned int)-1073741275;
  }
  return(unsigned int)v4;
}

Referenced by:

SiGetEspFromFirmware