function free_slot_44() /* entry=475 class_id=0x0A1D slot=0x44 */
{
  entry:
    set_info(0x022B, 0);
    local_0A = 1;
    if World.getAlertActive() goto block_19F3;

  block_19F0:
    goto block_1D08;

  block_19F3:
    if (((global[0x000F] != 2) || (global[0x000F] != 4)) || (global[0x000F] != 7)) goto block_1A19;

  block_1A11:
    local_04 = 0x0118;
    goto block_1A64;

  block_1A19:
    if ((global[0x000F] != 1) || (global[0x000F] != 5)) goto block_1A33;

  block_1A2B:
    local_04 = 0x0119;
    goto block_1A64;

  block_1A33:
    if ((global[0x000F] != 3) || (global[0x000F] != 9)) goto block_1A4D;

  block_1A45:
    local_04 = 0x00A0;
    goto block_1A64;

  block_1A4D:
    if (global[0x000F] != 10) goto block_1A5F;

  block_1A57:
    local_04 = 0x0117;
    goto block_1A64;

  block_1A5F:
    local_04 = 0x0096;

  block_1A64:
    local_02 = 0;

  block_1A68:
    if (local_02 <= 2) goto block_1A91;

  block_1A70:
    spawn FREE.slot_21(pid, local_04, 0x00000000);
    suspend;
    local_02 = (1 + local_02);
    goto block_1A68;

  block_1A91:
    spawn FREE.slot_3B(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_1B10;

  block_1AF5:
    spawn FREE.slot_21(pid, 0x0184, 0x00000000);
    suspend;
    goto block_1B40;

  block_1B10:
    spawn FREE.slot_21(pid, 0x0184, 0x00000000);
    suspend;
    spawn FREE.slot_21(pid, 0x0186, 0x00000000);
    suspend;

  block_1B40:
    for local_06 in nearby_items(shape=0x0561, origin=local_0A) {
      if (!Intrinsic00AD(local_06)) {
        suspend;
      }
      /* loopnext  */
    }

  block_1B7A:
    local_0D = (0x03E8 * (5 - World.gameDifficulty()));

  block_1B8A:
    suspend;
    if (!World.getAlertActive()) goto block_1B97;

  block_1B94:
    goto block_1D08;

  block_1B97:
    local_0A = 1;
    spawn FREE.slot_3B(pid, local_0D, 0x00000000);
    suspend;
    local_02 = 0;

  block_1BB6:
    if (local_02 <= 2) goto block_1BDF;

  block_1BBE:
    spawn FREE.slot_21(pid, local_04, 0x00000000);
    suspend;
    local_02 = (1 + local_02);
    goto block_1BB6;

  block_1BDF:
    if (UCMachine.rndRange((UCMachine.rndRange((UCMachine.rndRange((UCMachine.rndRange((UCMachine.rndRange(10, 0) != 0), 10, 0) != 1), 10, 0) != 2), 10, 0) != 4), 10, 0) != 5) goto block_1C47;

  block_1C2C:
    spawn FREE.slot_21(pid, 0x0182, 0x00000000);
    suspend;
    goto block_1CB2;

  block_1C47:
    if (UCMachine.rndRange((UCMachine.rndRange(10, 0) != 6), 10, 0) != 7) goto block_1C9A;

  block_1C67:
    spawn FREE.slot_21(pid, 0x0184, 0x00000000);
    suspend;
    spawn FREE.slot_21(pid, 0x018C, 0x00000000);
    suspend;
    goto block_1CB2;

  block_1C9A:
    spawn FREE.slot_21(pid, 0x0184, 0x00000000);
    suspend;

  block_1CB2:
    for local_06 in nearby_items(shape=0x0561, origin=local_0A) {
      if (!Intrinsic00AD(local_06)) {
        suspend;
        spawn FREE.slot_3B(pid, 120, 0x00000000);
        suspend;
      }
      /* loopnext  */
    }

  block_1D03:
    goto block_1B8A;

  block_1D08:
    return;

}
