HLIL does not use array access
In the following code, 0x6021d0 is a data variable whose type is set to char input[0x100], and r15 is set to uint64_t. I believe the HLIL should simplify the code to input[r15]
The binary is from https://www.root-me.org/en/Challenges/Cracking/Voracious-Nanomites, which is not yet publicly available. A user shared the file in private. V35 folks should search for "concealed zantiot metabolize laughful backed" to find the file
The binary shared here has a similar problem. https://github.com/Vector35/binaryninja-api/issues/5074
This might be a duplicate of: #4251
So from what I've been able to tell from a little while debugging. The problem is that when an array reference is duplicated for the sake of condition duplication during control flow structuring the duplicates don't have the type information propagated to them.
This particular case is because it isn't being recognized as a pointer at all. Converting the address to a pointer by pressing 'O' on it resolves this automatically.
This file is an ELF that is not relocatable, and the address is being set directly as a constant with no way for us to know directly what is a pointer and what is not. This is running into heuristics and borderline undecidable problems (even if this case could be decided, it still has to be done heuristically). There is no obvious solution to this issue, other than pressing 'O' on the pointer.