IopFreeReqAlternative

VOID __stdcall IopFreeReqAlternative(_REQ_ALTERNATIVE *ReqAlternative){
  __int64 i; 
  _QWORD *v3; 
  void *v4; 
  void *v5; 

  if( ReqAlternative )
  {
    for( i = 0i64; (unsigned int)i < ReqAlternative[5]; i = (unsigned int)(i + 1) )
    {
      v3 = *(_QWORD **)(*(_QWORD *)&ReqAlternative[2 * i + 6] + 32i64);
      while( v3 && !v3[2] )
      {
        v4 = (void *)v3[8];
        if( v4 )
        {
          ExFreePoolWithTag(v4, 0);
          v3[8] = 0i64;
        }
        v5 = v3;
        v3 = (_QWORD *)v3[4];
        ExFreePoolWithTag(v5, 0);
      }
    }
  }
}

Referenced by:

IopFreeReqList
IopResourceRequirementsListToReqList