code: def _handle_actiondefinefunction2(self, _):
          
          obj = _make_object("ActionDefineFunction2")
          obj.FunctionName = self._get_struct_string()
          obj.NumParams = unpack_ui16(self._src)
          obj.RegisterCount = unpack_ui8(self._src)
          bc = BitConsumer(self._src)
          obj.PreloadParentFlag = bc.u_get(1)
          obj.PreloadRootFlag = bc.u_get(1)
          obj.SupressSuperFlag = bc.u_get(1)
          obj.PreloadSuperFlag = bc.u_get(1)
          obj.SupressArgumentsFlag = bc.u_get(1)
          obj.PreloadArgumentsFlag = bc.u_get(1)
          obj.SupressThisFlag = bc.u_get(1)
          obj.PreloadThisFlag = bc.u_get(1)
          obj.Reserved = bc.u_get(7)
          obj.PreloadGlobalFlag = bc.u_get(1)
          obj.Parameters = parameters = []
          for _ in range(obj.NumParams):
              parameter = _make_object("Parameter")
              parameters.append(parameter)
              parameter.Register = unpack_ui8(self._src)
              parameter.ParamName = self._get_struct_string()
          obj.CodeSize = unpack_ui16(self._src)
          yield obj
docs: Handle the ActionDefineFunction2 action.