import struct


def unpack_u32(b):
    """ Deserializes a 32-bit integer from bytes.

    Args:
        b (bytes): At least 4 bytes containing the serialized integer.

    Returns:
        (i, b) (tuple): A tuple containing the deserialized integer and the
        remainder of the byte stream.
    """
    u32 = struct.unpack('<I', b[0:4])
    return (u32[0], b[4:])