Doing multiplication in trinary not displaying correctly.

This part of the code does not work correctly:

multNumber = number1 * number2;
  lastButton2 = LOW;
  currentButton2 = LOW;
  pinOn[0] = 0;
  pinOn[1] = 0;
  pinOn[2] = 0;
  pinOn[3] = 0;
  pinOn[4] = 0;
  pinOn[5] = 0;
  counter[0] = 0;
  counter[1] = 0;
  counter[2] = 0;
  counter[3] = 0;
  counter[4] = 0;
  counter[5] = 0;
  Stop = LOW;

  for( int i = 0; i < multNumber; i++)
  {
    counter[0] = counter[0] + 1;

    //For 1 slot.
    if(counter[0] == 1)
    {
      pinOn[0] = 128;
    }
    else if(counter[0] == 2)
    {
      pinOn[0] = 254;
    }
    else if(counter[0] == 3)
    {
      counter[0] = 0;
      pinOn[0] = 0;
      counter[1] = counter[1] + 1;
    }
    else
    {
      counter[0] = 0;
      pinOn[0] = 0;
    }

    //For 2 slot.
    if(counter[1] == 1)
    {
      pinOn[1] = 128;
    }
    else if(counter[1] == 2)
    {
      pinOn[1] = 254;
    }
    else if(counter[1] == 3)
    {
      counter[1] = 0;
      pinOn[1] = 0;
      counter[2] = counter[2] + 1;
    }
    else
    {
      counter[1] = 0;
      pinOn[1] = 0;
    }

    //For slot 4
    if(counter[2] == 1)
    {
      pinOn[2] = 128;
    }
    else if(counter[2] == 2)
    {
      pinOn[2] = 254;
    }
    else if(counter[2] == 3)
    {
      counter[2] = 0;
      pinOn[2] = 0;
      counter[3] = counter[3] + 1;
    }
    else
    {
      counter[2] = 0;
      pinOn[2] = 0;
    }

    //For slot 8
    if(counter[3] == 1)
    {
      pinOn[3] = 128;
    }
    else if(counter[3] == 2)
    {
      pinOn[3] = 254;
    }
    else if(counter[3] == 3)
    {
      counter[3] = 0;
      pinOn[3] = 0;
      counter[4] = counter[4] + 1;
    }
    else
    {
      counter[3] = 0;
      pinOn[3] = 0;
    }

    //For slot 16
    if(counter[4] == 1)
    {
      pinOn[4] = 128;
    }
    else if(counter[4] == 2)
    {
      pinOn[4] = 254;
    }
    else if(counter[4] == 3)
    {
      counter[4] = 0;
      pinOn[4] = 0;
      counter[5] = counter[5] + 1;
    }
    else
    {
      counter[4] = 0;
      pinOn[4] = 0;
    }

    //For slot 32
    if(counter[5] == 1)
    {
      pinOn[5] = 128;
    }
    else if(counter[5] == 2)
    {
      pinOn[5] = 254;
    }
    else if(counter[5] == 3)
    {
      counter[5] = 0;
      pinOn[5] = 0;
    }
    else
    {
      counter[5] = 0;
      pinOn[5] = 0;
    }
  }

  for( int i = 0; i < 6; i++)
  {
    analogWrite(ledPins[i], pinOn[i]);
  }

  do
  {
    currentButton2 = debounce2 ( lastButton2 );

    if(lastButton2 == LOW && currentButton2 == HIGH)
    {
      Stop = HIGH;
    }

    lastButton2 = currentButton2;
  } 
  while (Stop == LOW);

  lastButton = LOW;
  lastButton2 = LOW;
  currentButton = LOW;
  currentButton2 = LOW;
  pinOn[0] = 0;
  pinOn[1] = 0;
  pinOn[2] = 0;
  pinOn[3] = 0;
  pinOn[4] = 0;
  counter[0] = 0;
  counter[1] = 0;
  counter[2] = 0;
  counter[3] = 0;
  counter[4] = 0;
  Stop = LOW;
  number1 = 0;
  number2 = 0;
  multNumber = 0;
}

boolean debounce( boolean last )
{
  boolean current = digitalRead(switchPin);

  if( last != current)
  {
    delay(5);
    current = digitalRead(switchPin);
  }

  return current;
}


boolean debounce2( boolean last2 )
{
  boolean current2 = digitalRead(switchPin2);

  if( last2 != current2)
  {
    delay(5);
    current2 = digitalRead(switchPin2);
  }

  return current2;
}