core: add pass/resign to MoveString()