function keypadns_use() /* entry=242 class_id=0x044B slot=0x01 */
{
  var
    referent, /* [BP+00h] type=0x69 */
    alreadyPassed; /* [BP-01h] type=0x62 */

  set_info(0x0207, *(arg_06));
  process_exclude();
  if (Item.getMapArray(arg_06) == 0) {
    alreadyPassed = (Item.getStatus(arg_06) & 4);
    if (alreadyPassed == 0) {
      if (!World.getAlertActive()) {
        while (!AudioProcess.isSFXPlayingForObject(123, arg_06)) {
          spawn class_0A0C_slot_32(pid, 2, 0x00000000);
          suspend;
        }
        return;
      }
      spawn class_0A0E_slot_20(pid, arg_06);
      suspend;
    }
    else {
      spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06);
      suspend;
    }
    return;
  }
  return;
}
