function keypad_slot_20() /* entry=459 class_id=0x0A0D slot=0x20 */
{
  set_info(0x0207, *(arg_06));
  local_06 = 0;
  local_08 = 0;
  /* loop_selector local_02 in nearby_items(shape=0x0251, origin=arg_06) */
  while (!condition) {
    if (Item.getQLo(local_02) == Item.getQLo(arg_06)) {
      VALBOX.slot_20(local_02);
      local_0A = retval;
      if (local_0A <= 0x03E7) {
        return;
      }
    }
    /* loopnext  */
  }
  if ((Item.getStatus(arg_06) & 0x1000) == 0) {
    local_0C = KeypadGump.showKeypad(local_0A);
    if (local_0C == -1) {
      /* bit_not  */
      return;
    }
    else if (local_0C == local_0A) {
      spawn FREE.slot_3B(pid, 60, 0x00000000);
      suspend;
      spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06);
      suspend;
    }
    else {
      spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06);
      suspend;
      spawn FREE.slot_3B(pid, 60, 0x00000000);
      suspend;
      if (World.getAlertActive()) {
        spawn FREE.slot_44(0x00000000);
      }
    }
    /* bit_not  */
  }
  return;
}
