A WASM module begins with a magic number and version, then a sequence of typed sections.
00 61 73 6d 01 00 00 00
^ magic ^ version- `00 61 73 6d` spells `\0asm`, identifying a WebAssembly binary.
- The current MVP version field is `01 00 00 00`.
- Known sections include type, import, function, table, memory, global, export, start, element, code, data, and custom sections.
- Section sizes, indexes, counts, locals, immediates, and many integer values use LEB128 encodings.
- Code bodies contain opcode streams plus immediates and structured control markers.