One thing at a time, we can talk about the battery issue once we've solved these 0x124 BSODs.
IMO that CPU is running hot. Tmax for that CPU is 100°C and under load you've got very close to that, not just in the max temp but in the actual temps in that under load display. It's the idle display that is most concerning however, 65°C is too hot for an idling CPU - even in a laptop - and you've exceeded that even on a couple of cores.
I suggest you check the finned heat exchanger right next to the fan, this is where ALL the cooling is done, it's where the copper heat pipes end up. You need a clean laminar airflow through here for optimal cooling. The heat exchanger is a magnet for dust and fluff however, so be sure to clean this area perfectly so that no dust and fluff remains.
If, after cleaning the heat exchanger, you still see those sorts of CPU temps I would seriously consider a repaste. When you remove the CPU cooler pad take a photograph of the top of the CPU and the bottom of the cooler pad and post them here. Then give both a good clean to remove all traces of old paste and repaste again.
I can't prove it of course but CPU overheating is a very likely cause of your 0x124 BSODs.