function conveyor_slot_20() /* entry=478 class_id=0x0A20 slot=0x20 */
{
  entry:
    set_info(0x0205, *(arg_06));
    set_info(0x0205, *(arg_06));
    local_02 = 0;
    local_02 = Item.getFrame(arg_06);
    if (Intrinsic0035(115, arg_06) != 0) goto block_0120;

  block_0116:

  block_0120:
    suspend;
    local_03 = 0;
    if Item.getQHi(arg_06) goto block_0159;

  block_0131:
    local_02 = (local_02 - 1);
    if (arg_0A < 0) goto block_0147;

  block_0140:
    arg_0A = (arg_0A * -1);

  block_0147:
    if (arg_0C < 0) goto block_0156;

  block_014F:
    arg_0C = (arg_0C * -1);

  block_0156:
    goto block_017E;

  block_0159:
    local_02 = (1 + local_02);
    if (arg_0A > 0) goto block_016F;

  block_0168:
    arg_0A = (arg_0A * -1);

  block_016F:
    if (arg_0C > 0) goto block_017E;

  block_0177:
    arg_0C = (arg_0C * -1);

  block_017E:
    if (local_02 > 2) goto block_018A;

  block_0186:
    local_02 = 0;

  block_018A:
    if (local_02 < 0) goto block_0196;

  block_0192:
    local_02 = 2;

  block_0196:
    /* loopscr value_u8=0x24 */
    /* loop current_var=0xFB string_bytes=0x1 loop_type=0x6 */

  block_01A3:
    if condition goto block_0262;

  block_01A6:
    local_09 = Item.getShape(local_05);
    if ((local_09 != 0x0476) && (local_09 != 0x04D0)) goto block_025E;

  block_01C1:
    local_06 = Item.isOn(*(arg_06), local_05);
    local_0E = (Item.getX(local_05) + arg_0A);
    local_0C = (Item.getY(local_05) + arg_0C);
    local_0A = Item.getZ(local_05);
    if (!Item.legalMoveToPoint(0, 1, local_0E, local_05)) goto block_0235;

  block_0212:

  block_0235:
    local_07 = Item.isOn(*(arg_06), local_05);
    local_03 = 1;
    if ((local_06 != 1) && (local_07 != 0)) goto block_025E;

  block_0256:

  block_025E:
    /* loopnext  */
    goto block_01A3;

  block_0262:
    spawn FREE.slot_3B(pid, 2, 0x00000000);
    suspend;
    if (!local_03) goto block_0298;

  block_0281:
    goto block_02C0;

  block_0298:
    if (Intrinsic0035(115, arg_06) != 0) goto block_02B3;

  block_02A9:

  block_02B3:
    goto block_0120;

  block_02C0:
    return;

}
