OpenArchive() with OpenMode==PK_OM_LIST repeat ReadHeader() ProcessFile(...,PK_SKIP,...) until error returned CloseArchive()
OpenArchive() with OpenMode==PK_OM_EXTRACT repeat ReadHeader() if WantToExtractThisFile() ProcessFile(...,PK_EXTRACT,...) else ProcessFile(...,PK_SKIP,...) until error returned CloseArchive()