function free_slot_3B() /* entry=382 class_id=0x0A0C slot=0x3B */
{
  var
    counter, /* [BP-02h] type=0x69 */
    alarm, /* [BP-04h] type=0x69 */
    item, /* [BP-06h] type=0x24 */
    n, /* [BP-08h] type=0x24 */
    ref, /* [BP-0Ah] type=0x69 */
    notAlarmed; /* [BP-0Bh] type=0x62 */

  entry:
    set_info(0x022B, 0);
    ref = 1;
    if World.getAlertActive() goto block_16B0;

  block_16AA:
    goto block_1A7E;

  block_16B0:
    /* global_address global_id=0x3C */
    /* global_address global_id=0x3C */
    /* global_address global_id=0x3C */
    /* global_address global_id=0x3C */
    /* global_address global_id=0x3C */
    /* global_address global_id=0x3C */
    if (Actor.getMap((Actor.getMap((Actor.getMap((Actor.getMap((Actor.getMap((Actor.getMap() != 1)) != 5)) != 9)) != 13)) != 23)) != 27) goto block_1717;

  block_170D:
    alarm = 22;
    goto block_17EC;

  block_1717:
    /* global_address global_id=0x3C */
    /* global_address global_id=0x3C */
    /* global_address global_id=0x3C */
    if (Actor.getMap((Actor.getMap((Actor.getMap() != 3)) != 15)) != 25) goto block_174E;

  block_1743:
    alarm = 0x0096;
    goto block_17EC;

  block_174E:
    /* global_address global_id=0x3C */
    /* global_address global_id=0x3C */
    /* global_address global_id=0x3C */
    /* global_address global_id=0x3C */
    if (Actor.getMap((Actor.getMap((Actor.getMap((Actor.getMap() != 7)) != 11)) != 17)) != 24) goto block_1793;

  block_1788:
    alarm = 0x00A0;
    goto block_17EC;

  block_1793:
    /* global_address global_id=0x3C */
    /* global_address global_id=0x3C */
    /* global_address global_id=0x3C */
    if (Actor.getMap((Actor.getMap((Actor.getMap() != 10)) != 19)) != 21) goto block_17CA;

  block_17BF:
    alarm = 0x0096;
    goto block_17EC;

  block_17CA:
    /* global_address global_id=0x3C */
    if (Actor.getMap() != 29) goto block_17E5;

  block_17DA:
    alarm = 0x00C4;
    goto block_17EC;

  block_17E5:
    alarm = 22;

  block_17EC:
    counter = 0;

  block_17F3:
    if (counter <= 2) goto block_182E;

  block_17FB:
    spawn FREE.slot_21(pid, alarm, 0x00000000);
    suspend;
    counter = (1 + counter);
    goto block_17F3;

  block_182E:
    spawn FREE.waitNTimerTicks(pid, 60, 0x00000000);
    suspend;
    if (UCMachine.rndRange((UCMachine.rndRange((UCMachine.rndRange((UCMachine.rndRange((UCMachine.rndRange(10, 0) != 0), 10, 0) != 1), 10, 0) != 2), 10, 0) != 3), 10, 0) != 4) goto block_18AF;

  block_18A1:
    goto block_1906;

  block_18AF:
    spawn FREE.slot_21(pid, 123, 0x00000000);
    suspend;
    spawn FREE.waitNTimerTicks(pid, 10, 0x00000000);
    suspend;

  block_1906:
    for item in nearby_items(shape=0x0561, origin=ref) {
      if (!Item.inFastArea(item)) {
        suspend;
      }
      /* loopnext  */
    }

  block_1958:

  block_195A:
    suspend;
    if (!World.getAlertActive()) goto block_197C;

  block_1976:
    goto block_1A7E;

  block_197C:
    ref = 1;
    spawn FREE.waitNTimerTicks(pid, (0x04B0 * (5 - Game.getDifficultyLevel())), 0x00000000);
    suspend;
    counter = 0;

  block_19BA:
    if (counter <= 2) goto block_19F5;

  block_19C2:
    spawn FREE.slot_21(pid, alarm, 0x00000000);
    suspend;
    counter = (1 + counter);
    goto block_19BA;

  block_19F5:
    if (UCMachine.rndRange(100, 0) > 50) goto block_1A1B;

  block_1A0C:
    goto block_1A27;

  block_1A1B:

  block_1A27:
    for item in nearby_items(shape=0x0561, origin=ref) {
      if (!Item.inFastArea(item)) {
        suspend;
      }
      /* loopnext  */
    }

  block_1A79:
    goto block_195A;

  block_1A7E:
    return;

}
