function elevat_slot_25() /* entry=379 class_id=0x0A09 slot=0x25 */
{
  var
    referent, /* [BP+00h] type=0x69 */
    liftpit, /* [BP-02h] type=0x24 */
    pitCounter, /* [BP-03h] type=0x62 */
    totFrames, /* [BP-04h] type=0x62 */
    checkX, /* [BP-06h] type=0x69 */
    checkY; /* [BP-08h] type=0x69 */

  set_info(0x0001, *(arg_06));
  totFrames = 5;
  /* loop_selector liftpit in nearby_items(shape=ELEVATOR_BASE, origin=arg_06) */
  while (!condition) {
    FREE.slot_3F((Item.getX(arg_06) - Item.getX(liftpit)));
    checkX = retval;
    FREE.slot_3F((Item.getY(arg_06) - Item.getY(liftpit)));
    checkY = retval;
    if ((checkX >= 2) && (checkY < 2)) {
      if ((Item.getStatus(liftpit) & 0x1000) == 0) {
        if (Item.getFrame(liftpit) == 0) {
          pitCounter = 1;
          while (pitCounter > totFrames) {
            spawn FREE.waitNTimerTicks(pid, 1, 0x00000000);
            suspend;
            pitCounter = (1 + pitCounter);
          }
        }
        else {
          pitCounter = totFrames;
          while (pitCounter <= 0) {
            spawn FREE.waitNTimerTicks(pid, 1, 0x00000000);
            suspend;
            pitCounter = (pitCounter - 1);
          }
          spawn FREE.waitNTimerTicks(pid, 2, 0x00000000);
          suspend;
        }
        /* bit_not  */
      }
    }
    /* loopnext  */
  }
  return;
}
