private void Save(object sender, RoutedEventArgs e)
        {
            using (var writer = new Writer(buffer))
            {
                foreach (Slot slot in Slots.Where(slot => slot.SlotRead))
                {
                    int id = slot.SlotID;

                    SetStatus("Writing Slot# " + (id + 1));
                    _offset = (0x44 + (0x79400 * id));
                    try
                    {
                        //Name
                        SetStatus("Writing Name");
                        writer.Position = _offset + 4;
                        writer.WriteString(slot.Name, StringType.Ascii, 16);

                        //Money
                        SetStatus("Writing Money");
                        writer.Position = _offset + 64;
                        writer.WriteUInt32(slot.Money);

                        ////Inventory
                        //Weapons
                        if (weapons.IsChecked == true)
                        {
                            writer.Position = _offset + 107;
                            writer.WriteHexString(
                                "636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363")
                                ;
                        }
                        //Headgear
                        if (headgear.IsChecked == true)
                        {
                            writer.Position = _offset + 362;
                            writer.WriteHexString(
                                "63636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363")
                                ;
                        }

                        if (bodywear.IsChecked == true)
                        {
                            writer.Position = _offset + 411;
                            writer.WriteHexString(
                                "6363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363")
                                ;
                        }
                        if (armwear.IsChecked == true)
                        {
                            writer.Position = _offset + 473;
                            writer.WriteHexString(
                                "6363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363")
                                ;
                        }
                        if (legwear.IsChecked == true)
                        {
                            writer.Position = _offset + 535;
                            writer.WriteHexString(
                                "6363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363")
                                ;
                        }
                        if (pennon.IsChecked == true)
                        {
                            writer.Position = _offset + 597;
                            writer.WriteHexString(
                                "6363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363")
                                ;
                        }

                        //Squad Writes
                        int counter = 0;
                        foreach (Squad squad in slot.Squads)
                        {
                            SetStatus("Writing " + (Squaddies)counter);
                            writer.Position = _offset + squad.Adjust;
                            writer.WriteUInt16(squad.Level);
                            writer.Position += 4;
                            writer.WriteUInt32(squad.Points);
                            counter++;
                        }
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                        SetStatus("ERROR!");
                        return;
                    }
                    SetStatus("Saved!");
                    writer.Flush();
                }
            }
            _stfs.Replace(buffer, 0);
            //Device ID
            _stfs.HeaderData.DeviceID = DID.Text;

            //Profile ID
            _stfs.HeaderData.ProfileID = PID.Text;

            //Console ID
            _stfs.HeaderData.ConsoleID = CID.Text;
            _stfs.Finish();
            MessageBox.Show("Save Complete.\nPlease close the editor before moving the save back.");
        }