public static void UpdatePlayerInformation(final LittleEndianAccessor slea, final MapleClient c) {
        byte mode = slea.readByte(); //01 open ui 03 save info
        if (mode == 1) {
            if (c.getPlayer().getQuestStatus(GameConstants.PLAYER_INFORMATION) > 0) {
                try {
                    String[] info = c.getPlayer().getQuest(MapleQuest.getInstance(GameConstants.PLAYER_INFORMATION)).getCustomData().split(";");
                    c.getSession().write(CWvsContext.loadInformation((byte) 2, Integer.parseInt(info[0]), Integer.parseInt(info[1]), Integer.parseInt(info[2]), Integer.parseInt(info[3]), true));
                } catch (NumberFormatException ex) {
                    c.getSession().write(CWvsContext.loadInformation((byte) 4, 0, 0, 0, 0, false));
                    System.out.println("Failed to update account information: " + ex);
                }
            }
            c.getSession().write(CWvsContext.enableActions());
            return;
        }
        if (mode != 3) {
            System.out.println("new account information mode found: " + mode);
            c.getSession().write(CWvsContext.enableActions());
            return;
        }
        int country = slea.readInt();
        int birthday = slea.readInt();
        int favoriteAction = slea.readInt(); //kind of mask
        int favoriteLocation = slea.readInt(); //kind of mask
        c.getPlayer().getQuestNAdd(MapleQuest.getInstance(GameConstants.PLAYER_INFORMATION)).setCustomData("location=" + country + ";birthday=" + birthday + ";favoriteaction=" + favoriteAction + ";favoritelocation=" + favoriteLocation);
    }