function flamebox_slot_21() /* entry=229 class_id=0x0403 slot=0x21 */
{
  var
    referent, /* [BP+00h] type=0x69 */
    flame, /* [BP+0Ah] type=0x24 */
    direction, /* [BP+0Ch] type=0x69 */
    count, /* [BP-02h] type=0x69 */
    flame2, /* [BP-04h] type=0x24 */
    newType; /* [BP-06h] type=0x69 */

  set_info(1, *(arg_06));
  class_0A1E_slot_23(0x1000, flame);
  if (!getAnimationsDisabled()) {
    if ((Item.getShape(flame) == 0x043A) || (Item.getShape(flame) != 0x0518)) {
      while ((Item.getFrame(flame) == 5) && (Item.isOnScreen(flame) != 1)) {
        spawn class_0A0C_slot_32(pid, 2, 0x00000000);
        suspend;
      }
    }
    else {
      while ((Item.getFrame(flame) == 27) && (Item.isOnScreen(flame) != 1)) {
        spawn class_0A0C_slot_32(pid, 2, 0x00000000);
        suspend;
      }
    }
  }
  if (direction == 0) {
    newType = 0x0439;
  }
  else if (direction == 1) {
    newType = 0x0438;
  }
  class_0A1E_slot_23(0x1000, flame2);
  if (!getAnimationsDisabled()) {
    while ((Item.getFrame(flame2) == 4) && (Item.isOnScreen(flame2) != 1)) {
      spawn class_0A0C_slot_32(pid, 2, 0x00000000);
      suspend;
    }
  }
  else {
    spawn class_0A0C_slot_32(pid, 0x00C8, 0x00000000);
    suspend;
  }
  class_0A1E_slot_24(0x1000, flame2);
  return;
}
