[Sprint Samsung Galaxy S III] Mr. Struck:
Hello all, hopefully this will help give some clarification for users, especially ones who have a newer SGS3, who are experiencing issues trying to flash certain ROM's and are getting errors due to assert/bootloader checks.

There is a specific part of a ROM .zip file called the updater-script which contains a security feature known as the assert lines. These parts of the script look for a bootloader match prior to flashing to ensure the ROM is compatible with the phone. This is used when there are multiple variants of one phone, such as the SGS3, which is available from Sprint, AT&T, T-Mobile, and some international variants. Flashing a ROM meant for a different carrier can have disastrous consequences, so developers include this bootloader check as a CYA measure. Here is where a lot of newer users are running into trouble and are choosing a "fix" which is incorrect. If your phone has MK3 (Sprint) or MK5 (Virgin Mobile/Boost) as the bootloader (not the modem, will address that later), then you have a bootloader which is not recognized for 4.3.x or earlier builds of CyanogenMod or custom ROM's based on AOSP. The CM 11 builds do recognize MK3, so will flash fine with no modification needed for rooted users. More importantly though, if MK3 or MK5 is your bootloader, then you have Knox as well, and Knox will fight any attempt to replace it with another bootloader, as in it will brick your phone badly. Therefore, MK3 and MK5 users who think their flash has failed because they need a different bootloader and then proceed to change their firmware, either with a "return to stock" .tar file via Odin or a flashable .zip designed to change the firmware have just inadvertently bricked their phone.

Here are some rules of thumb:

1. Know what is on your phone! Be aware of what bootloader you have, specifically you need to know if you have Knox or are Knox-free. If you are Knox-free, congratulations, if you have Knox, my condolences. In the Knoxed-up situation NEVER EVER try to push, via Odin a .tar file designed to "return to stock" if the bootloader associated with that file is MD4 or earlier (Sprint users) or MG2 or earlier (VM/Boost). Sprint users also have .zip files available designed to do the same thing, avoid these as well if you have Knox. Flashing a ROM with an earlier Android build is just fine, there is no bootloader included in a custom ROM based on AOSP, contrary to what some people are posting. You can "downgrade" to an earlier build of Android if you wish, you absolutely CANNOT downgrade your bootloader if you already have Knox on your phone.

2. If you get an "assert failed" message, you just need to modify or delete the asserts to match your bootloader, you do not need to change the bootloader itself. DO NOT assume that changing your bootloader is a fix for anything without knowing what you are doing first.

3. Modem does not equal bootloader. We use the same nomenclature (MD4, MK3, etc.), which can be confusing, but modems are interchangeable, and there are .zip files available so that you can easily flash from one to another. Additionally, anybody who has an SPH-L710 can use any modem designed for Sprint, VM, or Boost. A lot of Sprint users actually achieved great signal/data results with the MG2 modem from VM/Boost, and I have used MK3 modem just fine myself (I am on VM). ROM .zip files don't care about your modem, only your bootloader.

I hope this helps, I am seeing way too many users asking why they bricked their phones when this information would have helped them in advance had they not just forged ahead and assumed the bootloader was the problem. If anyone would like to know how to safely modify or delete the assert lines please let me know via posting or PM.