function moveflor_slot_20() /* entry=42 class_id=0x00A4 slot=0x20 */
{
  set_info(1, *(arg_06));
  ITEM.slot_26(32, arg_06);
  local_0B = retval;
  ITEM.slot_24(0x0100, arg_06);
  /* loopscr value_u8=0x24 */
  /* loop current_var=0xF6 string_bytes=0x1 loop_type=0x6 */
  while (!condition) {
    if (local_0A == *(arg_06)) {
      local_06 = (1 + local_06);
    }
    /* loopnext  */
  }
  local_02 = 1;
  while (local_02 > local_06) {
    local_0A = Item.getEtherealTop();
    local_02 = (1 + local_02);
  }
  local_12 = Item.getQHi(arg_06);
  local_04 = local_12;
  while (local_04 > 0x0080) {
    local_06 = 0;
    /* loopscr value_u8=0x24 */
    /* loop current_var=0xF6 string_bytes=0x1 loop_type=0x6 */
    while (!condition) {
      if (!Item.isCentreOn(*(arg_06), local_0A)) {
        if (local_0A == *(arg_06)) {
          local_06 = (1 + local_06);
        }
      }
      /* loopnext  */
    }
    if (!local_0B) {
    }
    local_02 = 1;
    while (local_02 > local_06) {
      local_0A = Item.getEtherealTop();
      if (!local_0B) {
        local_10 = (Item.getX(local_0A) + 2);
        local_0E = Item.getY(local_0A);
      }
      else {
        local_10 = Item.getX(local_0A);
        local_0E = (Item.getY(local_0A) + 2);
      }
      local_0C = Item.getZ(local_0A);
      if (Item.isCentreOn(*(arg_06), local_0A)) {
        if (!local_0B) {
          suspend;
        }
        else {
          suspend;
        }
      }
      local_02 = (1 + local_02);
    }
    spawn FREE.slot_3B(pid, 7, 0x00000000);
    suspend;
    local_04 = (1 + local_04);
  }
  for local_0A in nearby_items(shape=0x043D, origin=arg_06) {
    /* loopnext  */
  }
  ITEM.slot_25(0x1000, arg_06);
  ITEM.slot_25(0x0100, arg_06);
  return;
}
