GNIDA.mediana.apply_disasm_options C# (CSharp) Method

apply_disasm_options() static private method

static private apply_disasm_options ( INSTRUCTION &instr, UInt32 len, DISASM_INOUT_PARAMS param ) : void
instr INSTRUCTION
len UInt32
param DISASM_INOUT_PARAMS
return void
        static void apply_disasm_options(ref INSTRUCTION instr, UInt32 len, DISASM_INOUT_PARAMS param)
        {
            for (int i = 0; i < 3; i++)
            {
            if ((param.options & DISASM_OPTION_APPLY_REL)!=0)
            {
            if ((instr.ops[i].flags & OPERAND_FLAG_REL)!=0)
            {
                instr.ops[i].value.imm.imm64 += len + param.bas;
            }
            }

            if ((param.options & DISASM_OPTION_OPTIMIZE_DISP)!=0)
            {
            if (((instr.ops[i].flags & (byte)OP_TYPE.OPERAND_TYPE_MEM)!=0) && (instr.ops[i].value.addr.mod != ADDR_MOD_DISP))
            {
                if (instr.disp.value.d64 == 0x0)
                    instr.ops[i].value.addr.mod &= (byte)(~(uint)ADDR_MOD_DISP);
            }
            }
            }
        }