I have very limited experience with C++ but I do have plenty of experience with Java and NodeJS.
I've decompiled and tried to make sense of a small C++ compiled file and I've come across something that I do not understand. To me this looks like a value being assigned to an expression which seems weird to me.
What is actually happening and does it even makes sense? (Considering some magic has been done by the decompilation tool to show "C++" code)
*reinterpret_cast<signed char*>(reinterpret_cast<int64_t>(rax5) + rsi7 * 4 + reinterpret_cast<int32_t>(ecx8)) = *reinterpret_cast<signed char*>(&esi10);
Formatted
*reinterpret_cast<signed char*>(
reinterpret_cast<int64_t>(rax5)
+ rsi7
* 4
+ reinterpret_cast<int32_t>(ecx8)
) = *reinterpret_cast<signed char*>(&esi10);