Some times the psuedo code generated by IDA is baffling
v8 = (signed int)&loc_100010; //ida v8 = 0x100010; //actual code
This is not so bad when it is just one value but sometimes the offset for member variables are also distorted this way
v2 = a1 + (_DWORD)&loc_2043B90 - 33831600); //ida v2 = a1 + 224; //actual offset
This makes for horrible readability and it is even worse for arrays. Is there a way to fix this?
This happens a lot with floating point numbers
v63 = **(float **)((char *)&loc_15D9503 + 33831601)
I should add this is a MACH-O x86 binary (if that matters)