2

I'm decompiling some Direct3D code that makes a lot of indirect calls to __stdcall functions.

For example:

call dword ptr [edx+0xC8h]

which is really:

pD3DDevice->SetRenderState();

IDA doesn't correctly guess the stack pointer change of these calls in every case, so I have to go through and Alt+K the correct SP value manually.

But after doing this I start running into a problem where one side of a branch will have the wrong SP value

enter image description here

I can Alt-K the first instruction with the erroneous SP value but this only takes effect on the next instruction.

1
  • Can you show how it looks like in text mode (instead of graph)?
    – Igor Skochinsky
    Nov 16 '20 at 7:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.