Is it decidable whether a Turing Machine will visit every non-end state from input x? L = {w#x | w,x ∈{0,1}∗ and Turing Machine Mw with input x visits every non-end state at least once}

I believe this problem is undecidable.

My proof would consist of me reducing L to a Halting Problem; however, the structure of these proofs seem incosistent and inconclusive. I would appreciate if I could have some constructive feedback. 

My understanding of the proof: 


Create R which decides L
Construct algorithm S, which decides Atm (which we reduce to L)
Contradiction because Atm is undecidable


This is the skeleton to most Turing Machine dicidibility related  proofs I have read on the internet.
It's undecidable because you could use it to decide halting.

Because the number of states in a Turing machine is finite you can enumerate all $2^n$ combinations of possible non-end states. Run the algorithm against all of them. 

If the algorithm returns yes for a group of states that includes an original end state then the machine halts.

Halting problem is undecidable so the algorithm cannot be executed by a Turing machine.