Code:
#!/opt/homebrew/bin/python3.11
import sys, struct, zlib, hexdump, tqdm
import crcmod

CRC32 = crcmod.mkCrcFun(0x104C11DB7, 0, 0)

data = bytearray(open(sys.argv[1], 'rb').read())

print('At 0x20000:')
header = data[0x20000:0x20020]
hexdump.hexdump(header)
print()

u32ROM_START, u32RAM_START, u32RAM_END, u32ROM_END, _, u32CRC32_SW = \
  struct.unpack('<6L', header[0:0x18])
print(f'u32ROM_START: 0x{u32ROM_START:08x}')
print(f'u32RAM_START: 0x{u32RAM_START:08x}')
print(f'u32RAM_END:   0x{u32RAM_END:08x}
...