69 xed_operand_values_t *vals)
71 int offset = xed_operand_values_get_branch_displacement_int32(vals);
73 void *end_of_call_inst = ins + xed_decoded_inst_get_length(xptr);
74 void *target = end_of_call_inst + offset;
82 const xed_inst_t *xi = xed_decoded_inst_inst(xptr);
83 const xed_operand_t *op0 = xed_inst_operand(xi, 0);
84 xed_operand_enum_t op0_name = xed_operand_name(op0);
85 xed_operand_type_enum_t op0_type = xed_operand_type(op0);
87 if (op0_name == XED_OPERAND_RELBR &&
88 op0_type == XED_OPERAND_TYPE_IMM_CONST) {
89 xed_operand_values_t *vals = xed_decoded_inst_operands(xptr);
91 if (xed_operand_values_has_branch_displacement(vals)) {
static void * actual_get_branch_target(void *ins, xed_decoded_inst_t *xptr, xed_operand_values_t *vals)
void * x86_get_branch_target(void *ins, xed_decoded_inst_t *xptr)