Ich würde vorschlagen den C# Code weitestgehendes zu vergessen und nur die Funktionalität zu reproduzieren. Sprich:
- Datei in einen Stream (anstelle des `buffer` Arrays) laden
- An Stelle 0x24 den AES-IV mit einer Länge von 0x10 (16) Bytes auslesen
- Den Dateiheader(?) ansonsten ignorieren und mit Stream.Seek
zu Offset 0x38 springen
- Die restlichen im Stream befindlichen Daten entschlüsseln:
- AES (CBC, ohne Padding)
- IV = die 16 ausgelesenen Bytes von Offset 0x24
- Keysize = 0x80 Bytes
- Blocksize = 0x80 Bytes
- Die entschlüsselten Daten mit "Deflate" dekomprimieren
Wenn Wolfgang Erhardts Lib die genannten AES Parameter unterstützt, solltest du diese verwenden können. `InflateInputStream` gehört meiner Recherche nach zu
ZLib. Dafür gibt es in Delphi auch eine Lib.