func: static ssize_t nic_receive(NetClientState *nc, const uint8_t * buf, size_t size) EEPRO100State * s = qemu_get_nic_opaque ( nc ) ; uint8_t min_buf [ 60 ] ; static const uint8_t broadcast_macaddr [ 6 ] = { 0xff , 0xff , 0xff , 0xff , 0xff , 0xff } ; if ( size < sizeof ( min_buf ) )  memcpy ( min_buf , buf , size ); buf = min_buf; size = sizeof ( min_buf ); if ( s -> configuration [ 8 ] & 0x80 )  if ( size < 64 && ( s -> configuration [ 7 ] & BIT ( 0 ) ) )  if ( ( size > MAX_ETH_FRAME_SIZE + 4 ) && ! ( s -> configuration [ 18 ] & BIT ( 3 ) ) )  if ( memcmp ( buf , s -> conf . macaddr . a , 6 ) == 0 )  if ( memcmp ( buf , broadcast_macaddr , 6 ) == 0 )  if ( buf [ 0 ] & 0x01 )  if ( s -> configuration [ 21 ] & BIT ( 3 ) )  unsigned mcast_idx = e100_compute_mcast_idx ( buf ) ; static unsigned e100_compute_mcast_idx(const uint8_t *ep) uint32_t crc ; int carry , i , j ; uint8_t b ; crc = 0xffffffff; for (i = 0; i < 6; i++) b = * ep ++; for (j = 0; j < 8; j++) carry = ( ( crc & 0x80000000L ) ? 1 : 0 ) ^ ( b & 0x01 ); crc <<= 1; b >>= 1; if ( carry )  crc = ( ( crc ^ POLYNOMIAL ) | carry ); return ( crc & BITS ( 7 , 2 ) ) >> 2 ; if ( s -> mult [ mcast_idx >> 3 ] & ( 1 << ( mcast_idx & 7 ) ) )  if ( s -> configuration [ 15 ] & BIT ( 0 ) )  if ( s -> configuration [ 15 ] & BIT ( 0 ) )  if ( s -> configuration [ 20 ] & BIT ( 6 ) )  unsigned mcast_idx = compute_mcast_idx ( buf ) ; if ( s -> mult [ mcast_idx >> 3 ] & ( 1 << ( mcast_idx & 7 ) ) )  if ( get_ru_state ( s ) != ru_ready )  static ru_state_t get_ru_state(EEPRO100State * s) return ( ( s -> mem [ SCBStatus ] & BITS ( 5 , 2 ) ) >> 2 ) ; s -> statistics . rx_resource_errors ++; if ( s -> configuration [ 18 ] & BIT ( 2 ) )  assert ( ! ( s -> configuration [ 17 ] & BIT ( 0 ) ) ); 