function lazer_slot_20() /* entry=460 class_id=0x0A0E slot=0x20 */
{
  set_info(0x0205, *(arg_06));
  set_info(0x0205, *(arg_06));
  ITEM.slot_24(0x1000, arg_06);
  /* loopscr value_u8=0x24 */
  /* loopscr value_u8=0x48 */
  /* loop current_var=0xFE string_bytes=0x12 loop_type=0x2 */
  while (!condition) {
    if (Item.getQLo(arg_06) == Item.getQLo(local_02)) {
      ITEM.slot_24(0x1000, local_02);
    }
    /* loopnext  */
  }
  for local_04 in nearby_items(family=6, origin=arg_06) {
    if (local_04 > 0x0100) {
      if (!Item.overlaps(local_04, arg_06)) {
        if (local_04 == World.getControlledNPCNum()) {
          local_06 = Actor.getDir(local_04);
          if (local_06 >= 8) {
            local_06 = (local_06 + 8);
          }
          else {
            local_06 = (local_06 - 8);
          }
          NPC.slot_2A(local_04);
          if (Actor.isDead(local_04)) {
            if (Actor.getCurrentActivityNo(local_04) == 5) {
            }
            else if (Actor.getCurrentActivityNo(local_04) == 10) {
            }
          }
        }
        else if (Item.isEntirelyOnScreen(arg_06) == 1) {
          spawn NPC.slot_2E(pid, *(arg_06), local_04);
          suspend;
        }
      }
    }
    /* loopnext  */
  }
  /* loopscr value_u8=0x24 */
  /* loopscr value_u8=0x48 */
  /* loop current_var=0xFE string_bytes=0x12 loop_type=0x2 */
  while (!condition) {
    if (Item.getQLo(arg_06) == Item.getQLo(local_02)) {
      ITEM.slot_25(0x1000, local_02);
    }
    /* loopnext  */
  }
  ITEM.slot_25(0x1000, arg_06);
  return;
}
