dosent subtracting hp work the same way as adding hp? You dump the var into a registry(pre set the var with how much to subtract) and then you subtract that registry with the registry with the hp. then you take the final result and you force that value to a certen spot(the spot with the hp after encryption)
I could be wrong tho, I could take a shot at making an asm routine and seeing if it works.