new_contents: #!/usr/bin/env python
  
  import sys
  try:
      import binaryninja
  except ImportError:
      sys.path.append("/Applications/Binary Ninja.app/Contents/Resources/python/")
      import binaryninja
  import time
  
  if sys.platform.lower().startswith("linux"):
  	bintype="ELF"
  elif sys.platform.lower() == "darwin":
  	bintype="Mach-O"
  else:
  	raise Exception, "%s is not supported on this plugin" % sys.platform
  
  if len(sys.argv) > 1:
  	target = sys.argv[1]
  else:
  	target = "/bin/ls"
  
  bv = binaryninja.BinaryViewType[bintype].open(target)
  bv.update_analysis()
  
  """Until update_analysis_and_wait is complete, sleep is necessary as the analysis is multi-threaded."""
  time.sleep(1)
  
  print "-------- %s --------" % target
  print "START: 0x%x" % bv.start
  print "ENTRY: 0x%x" % bv.entry_point
  print "ARCH: %s" % bv.arch.name
  print "\n-------- Function List --------"
  
  """ print all the functions, their basic blocks, and their il instructions """
  for func in bv.functions:
      print repr(func)
      for block in func.low_level_il:
          print "\t{0}".format(block)
  
          for insn in block:
              print "\t\t{0}".format(insn)
  
  
  """ print all the functions, their basic blocks, and their mc instructions """
  for func in bv.functions:
      print repr(func)
      for block in func:
          print "\t{0}".format(block)
  
          for insn in block:
              print "\t\t{0}".format(insn)
  
  
subject: Add an example that uses the interators