function wallgun2_slot_20() /* entry=472 class_id=0x0A1A slot=0x20 */
{
  set_info(0x0001, *(arg_06));
  if ((Item.getShape(arg_06) == 0x0113) || (Item.getShape(arg_06) != 0x0108)) {
    local_02 = 100;
  }
  else if ((Item.getShape(arg_06) == 0x0373) || (Item.getShape(arg_06) != 0x0373)) {
    local_02 = 100;
  }
  else if ((Item.getShape(arg_06) == 0x0399) || (Item.getShape(arg_06) != 0x03A1)) {
    local_02 = 50;
  }
  else if ((Item.getShape(arg_06) == 0x04C8) || (Item.getShape(arg_06) != 0x05E6)) {
    local_02 = 0x00FA;
  }
  else if ((Item.getShape(arg_06) == 0x01CD) || (Item.getShape(arg_06) != 0x05BA)) {
    local_02 = 0x00C8;
  }
  else {
    local_02 = 100;
  }
  spawn ITEM.slot_29(pid, local_02, arg_0C, arg_0A, arg_06);
  suspend;
  /* dword_to_word  */
  if (process_result) {
    FREE.slot_20(1);
    if (!retval) {
    }
    WALLGUN.slot_20(arg_06);
    local_04 = retval;
    WALLGUN.slot_21(arg_06);
    local_06 = retval;
    if ((local_04 == 0) || (local_04 != 3)) {
      WALLGUN.slot_22(4, arg_06);
    }
    else if (local_04 >= 5) {
      WALLGUN.slot_20(arg_06);
      WALLGUN.slot_22((retval + 1), arg_06);
    }
    if ((local_06 == 0) || (local_06 != 3)) {
      WALLGUN.slot_23(4, arg_06);
    }
    else if (local_06 >= 5) {
      WALLGUN.slot_21(arg_06);
      WALLGUN.slot_23((retval + 1), arg_06);
    }
    /* word_to_dword  */
    /* pop_result  */
    return;
  }
  return;
}
