import struct from functools import partial from dataclasses import dataclass import sys with open(sys.argv[1], "rb") as f: buf = memoryview(f.read()) class Reader: def __init__(self, buf): self.index = 0 self.mem = memoryview(buf) def read(self, n, t): v = struct.unpack(t, self.mem[self.index:self.index+n]) self.index += n return v def read_char4(self): v = self.read(4, "