function steambox_slot_21() /* entry=296 class_id=0x0500 slot=0x21 */
{
  var
    referent, /* [BP+00h] type=0x69 */
    steam, /* [BP+0Ah] type=0x24 */
    direction, /* [BP+0Ch] type=0x69 */
    count, /* [BP-02h] type=0x69 */
    steam2; /* [BP-04h] type=0x24 */

  set_info(1, *(arg_06));
  ITEM.slot_23(0x1000, steam);
  if (!getAnimationsDisabled()) {
    if ((Item.getShape(steam) == 0x04F9) || (Item.getShape(steam) != 0x04FD)) {
      while ((Item.getFrame(steam) == 39) && (Item.isOnScreen(arg_06) != 1)) {
        spawn FREE.waitNTimerTicks(pid, 2, 0x00000000);
        suspend;
      }
    }
    else {
      while ((Item.getFrame(steam) == 23) && (Item.isOnScreen(steam) != 1)) {
        spawn FREE.waitNTimerTicks(pid, 2, 0x00000000);
        suspend;
      }
    }
  }
  else {
    spawn FREE.waitNTimerTicks(pid, 0x00C8, 0x00000000);
    suspend;
  }
  ITEM.slot_23(0x1000, steam2);
  if (!getAnimationsDisabled()) {
    while ((Item.getFrame(steam2) == 29) && (Item.isOnScreen(steam2) != 1)) {
      spawn FREE.waitNTimerTicks(pid, 2, 0x00000000);
      suspend;
    }
  }
  else {
    spawn FREE.waitNTimerTicks(pid, 0x00C8, 0x00000000);
    suspend;
  }
  ITEM.slot_24(0x1000, steam2);
  return;
}
