Arrgh, Ghidra keeps creating thunk functions when there are none :/ This code is particularly Ghidra-unfriendly. I feel like I should switch to some old-school x86 disassembler instead of Ghidra T_T
That's it, I give up, yet another "D" press wiped half of the disassembly progress - somehow it just re-flows the program and decides that some of the calls never return, so it's okay to ignore my manually-set "this call returns, you just can't understand how" :/

@nina_kali_nina (For the future) In my limited-yet-diverse experience with ghidra, that behavior is usually because there's a function somewhere much deeper in the call chain that was incorrectly tagged as noreturn by the initial analysis pass and it's "helpfully" re-propagating that flag by re-establishing the flow overrides in the disassembled function. I've learned to not run the "non-returning functions" analyzer on older/embedded code due to that... (There's frequently a lot of "helpers" that don't match the standard ABI, which can confuse that analyzer pretty badly)

It could also help to identify the point where the problematic function does return and set a flow override there to "properly" tell the decompiler "yes, this function really does return to the caller here" even if it really wants to ignore the unset noreturn flag on the function.

@becomethewaifu thanks! This helps a lot :) I'm back to business after one hour of fiddling with settings here and there.
@nina_kali_nina oh fuckin no
@drj thanks to @becomethewaifu everything works now, we're back to business
@nina_kali_nina Probably a stupid question, but have you tried CTRL+Z to undo ?
@Guru_Meditation that'll just make it a background process (ha ha no, it just doesn't work)