I really need help now, especially from 3I engineers.
For some reason, my original wallet (wallet1) only shows 2 addresses, but their balance doesn't add up. So I think maybe there are a third 'change address'. And yes, I verified by looking into the transaction information online (btsblock.com). So I decided to aggregate all balance into one of the 2 address shown.
What I did is to quit the client, move my wallet.dat file into another place (wallet1_backup), restart client, copy the new address (Addr1) in the new wallet (wallet2), then switch back to wallet1(by "cp wallet_backup wallet.dat"), transferred all my PTS (~1000) into the new address. Then I probably did something very stupid. I just "mv wallet2_backup wallet.dat" WHILE the client is still open. Then when I quit the client, I got "wallet.dat corrupt, salvage failed", and I got something like wallet.1387632779.bak.
After I restarted the client, I found I have a fresh new address Addr2 which is not the one I sent all my PTS to.
Is there a way I can restore wallet.1387632779.bak somehow? I eagerly wait for help from the community.