function scanner_use() /* entry=304 class_id=0x052D slot=0x01 */
{
  var
    referent, /* [BP+00h] type=0x69 */
    n; /* [BP-02h] type=0x24 */

  set_info(0x0207, *(arg_06));
  process_exclude();
  set_info(0x00F0, 0);
  /* global_address global_id=0x3C */
  if (Actor.getMana() >= 0x03E8) {
    spawn class_0A0C_slot_21(pid, 0x00B0, 0x00000000);
    suspend;
    spawn class_0A0C_slot_32(pid, 100, 0x00000000);
    suspend;
    return;
  }
  else {
    /* global_address global_id=0x3C */
    /* global_address global_id=0x3C */
    /* loopscr value_u8=0x24 */
    /* loopscr value_u8=0x3D */
    /* loopscr value_u8=0x3A */
    /* loopscr value_u8=0x25 */
    /* loop current_var=0xFE string_bytes=0x6 loop_type=0x2 */
    while (!condition) {
      if ((Actor.isDead(n) == 0) && (n != getTargetNPCNumMaybe())) {
        class_0A11_slot_2B(n);
        if (!retval) {
          spawn class_052D_slot_20(n, arg_06);
        }
      }
      /* loopnext  */
    }
    spawn class_0A0C_slot_21(pid, 0x00BA, 0x00000000);
    suspend;
    spawn class_0A0C_slot_32(pid, 120, 0x00000000);
    suspend;
  }
  return;
}
