def METHOD_NAME(self, inpath: Path, outdir: Path):
    outpath = outdir.joinpath(f"{inpath.name}.decrypted")
    with File.from_path(inpath) as file:
        file.seek(-FOOTER_LEN, io.SEEK_END)
        header = self._struct_parser.parse("qnap_header_t", file, Endian.LITTLE)
        eof = file.tell()
        cryptor = Cryptor(SECRET + header.file_version.decode("utf-8")[0])
        with outpath.open("wb") as outfile:
            for chunk in iterate_file(file, 0, header.encrypted_len, 1024):
                outfile.write(cryptor.decrypt_chunk(chunk))
            for chunk in iterate_file(
                file,
                header.encrypted_len,
                eof - FOOTER_LEN - header.encrypted_len,
                1024,
            ):
                outfile.write(chunk)