CmpFreeSectionList

void __fastcall CmpFreeSectionList(PVOID P){
  PVOID v1; 
  void *v2; 
  void *v3; 
  if( P )
  {
    v1 = P;
    do
    {
      v2 = *(void **)v1;
      if( *((_BYTE *)v1 + 24) )
      {
        v3 = (void *)*((_QWORD *)v1 + 1);
        if( v3 )
          ExFreePoolWithTag(v3, 0);
      }
      CmpFreeLineList(*((PVOID *)v1 + 2));
      ExFreePoolWithTag(v1, 0);
      v1 = v2;
    }
    while( v2 );
  }
}

Referenced by:

EmpParseInfDatabase