code: def is_good_file(p):
      if not os.path.isfile(p):
          return False
  
      if os.path.getsize(p) < 300:
          return False
  
      asm_pattern = re.compile(r"asm(\.\w+)?\.obj$")
      if asm_pattern.search(p):
          pass
      elif p.endswith(".obj"):
          with open(p, "rb") as f:
              prefix = f.read(200)
  
              if ord(prefix[0]) != 0:
                  return False
  
              if ord(prefix[1]) != 0:
                  return False
  
              if ord(prefix[2]) != 0xFF:
                  return False
  
              if ord(prefix[3]) != 0xFF:
                  return False
  
              if calc_zero_cnt(prefix) > 195:
                  return False
  
              f.seek(-100, os.SEEK_END)
              last = f.read(100)
  
              if calc_zero_cnt(last) > 95:
                  return False
  
              if last[-1] != chr(0):
                  return False
      elif p.endswith(".lib"):
          with open(p, "rb") as f:
              if f.read(7) != "!<arch>":
                  return False
  
      return True
  
imports: import sys
  import os
  import re
  import subprocess
  import signal
  import time
  import json
  import argparse
  import errno
  import process_command_files
  import process_whole_archive_option
label_desc: Use image node_id 12 for calling a global function with example usage: is_good_file(p) and returns: True, False, False, False, False, False, False, False, False, False, False