ulong Disassembleforward(uchar *copy,ulong base,ulong size,ulong ip,ulong n,uchar *decode);

Calculates address of the n-th command starting from address ip in the code block described by base and size. If copy of executable code is not supplied, function assumes memory and reads it by itself. In this case correct functionality is guaranteed only for n<=256.


(in) Pointer to the copy of the executable code that starts at address base and is at least size bytes long. If copy is NULL, function assumes that code is in the memory of the debugged process and reads it automatically. Due to the limited size of the internal buffer, correct answer in this case is guaranteed only if n does not exceed 256
(in) Base address of the memory block pointed to by copy. Note that base may be smaller than ip
(in) Size, in bytes, of the memory block pointed to by copy
(in) Address of the initial command
(in) Number of commands to skip. For example, n=1 means command that immediately follows initial command
(in) Pointer to the decoding data, USEDECODE if function must get decoding data automatically, or NULL if decoding is not necessary or unavailable. If decoding data is supplied, it must start at base and be at least size bytes long. Use decoding if you want to treat embedded data recognized by Analyser the same way as commands

Return values:

On success, returns starting address of the n-th command or base+size, whichever is smaller. On error, returns ip

See also:
Analysis, Assembler and disassembler, Disassembleback(), Dumpback(), Dumpforward()