Module ida_hexrays
[frames] | no frames]

Module ida_hexrays

IDA Plugin SDK API wrapper: hexrays

Classes
  DecompilationFailure
Raised on a decompilation error.
  Hexrays_Hooks
Proxy of C++ Hexrays_Hooks class.
  array_of_bitsets
Proxy of C++ qvector< bitset_t > class.
  array_of_ivlsets
Proxy of C++ qvector< ivlset_t > class.
  bit_bound_t
Proxy of C++ bit_bound_t class.
  bitset_t
Proxy of C++ bitset_t class.
  block_chains_iterator_t
Proxy of C++ block_chains_iterator_t class.
  block_chains_t
Proxy of C++ block_chains_t class.
  block_chains_vec_t
Proxy of C++ qvector< block_chains_t > class.
  boundaries_iterator_t
Proxy of C++ boundaries_iterator_t class.
  boundaries_t
Proxy of C++ std::map< cinsn_t *,rangeset_t > class.
  carg_t
Proxy of C++ carg_t class.
  carglist_t
Proxy of C++ carglist_t class.
  casm_t
Proxy of C++ casm_t class.
  cblock_t
Proxy of C++ cblock_t class.
  ccase_t
Proxy of C++ ccase_t class.
  ccases_t
Proxy of C++ ccases_t class.
  cdg_insn_iterator_t
Proxy of C++ cdg_insn_iterator_t class.
  cdo_t
Proxy of C++ cdo_t class.
  ceinsn_t
Proxy of C++ ceinsn_t class.
  cexpr_t
Proxy of C++ cexpr_t class.
  cfor_t
Proxy of C++ cfor_t class.
  cfunc_parentee_t
Proxy of C++ cfunc_parentee_t class.
  cfunc_t
Proxy of C++ cfunc_t class.
  cfuncptr_t
Proxy of C++ qrefcnt_t< cfunc_t > class.
  cgoto_t
Proxy of C++ cgoto_t class.
  chain_keeper_t
Proxy of C++ chain_keeper_t class.
  chain_t
Proxy of C++ chain_t class.
  chain_visitor_t
Proxy of C++ chain_visitor_t class.
  cif_t
Proxy of C++ cif_t class.
  cinsn_t
Proxy of C++ cinsn_t class.
  cinsnptrvec_t
Proxy of C++ qvector< cinsn_t * > class.
  citem_cmt_t
Proxy of C++ citem_cmt_t class.
  citem_locator_t
Proxy of C++ citem_locator_t class.
  citem_t
Proxy of C++ citem_t class.
  cloop_t
Proxy of C++ cloop_t class.
  cnumber_t
Proxy of C++ cnumber_t class.
  codegen_t
Proxy of C++ codegen_t class.
  creturn_t
Proxy of C++ creturn_t class.
  cswitch_t
Proxy of C++ cswitch_t class.
  ctext_position_t
Proxy of C++ ctext_position_t class.
  ctree_anchor_t
Proxy of C++ ctree_anchor_t class.
  ctree_item_t
Proxy of C++ ctree_item_t class.
  ctree_items_t
Proxy of C++ qvector< citem_t * > class.
  ctree_parentee_t
Proxy of C++ ctree_parentee_t class.
  ctree_visitor_t
Proxy of C++ ctree_visitor_t class.
  cwhile_t
Proxy of C++ cwhile_t class.
  eamap_iterator_t
Proxy of C++ eamap_iterator_t class.
  eamap_t
Proxy of C++ std::map< ea_t,cinsnptrvec_t > class.
  fnum_array
Proxy of C++ wrapped_array_t< uint16,6 > class.
  fnumber_t
Proxy of C++ fnumber_t class.
  gco_info_t
Proxy of C++ gco_info_t class.
  graph_chains_t
Proxy of C++ graph_chains_t class.
  hexrays_failure_t
Proxy of C++ hexrays_failure_t class.
  hexwarn_t
Proxy of C++ hexwarn_t class.
  hexwarns_t
Proxy of C++ qvector< hexwarn_t > class.
  history_item_t
Proxy of C++ history_item_t class.
  history_t
Proxy of C++ qstack< history_item_t > class.
  ivl_t
Proxy of C++ ivl_t class.
  ivl_with_name_t
Proxy of C++ ivl_with_name_t class.
  ivlset_t
Proxy of C++ ivlset_t class.
  lvar_locator_t
Proxy of C++ lvar_locator_t class.
  lvar_mapping_iterator_t
Proxy of C++ lvar_mapping_iterator_t class.
  lvar_mapping_t
Proxy of C++ std::map< lvar_locator_t,lvar_locator_t > class.
  lvar_ref_t
Proxy of C++ lvar_ref_t class.
  lvar_saved_info_t
Proxy of C++ lvar_saved_info_t class.
  lvar_saved_infos_t
Proxy of C++ qvector< lvar_saved_info_t > class.
  lvar_t
Proxy of C++ lvar_t class.
  lvar_uservec_t
Proxy of C++ lvar_uservec_t class.
  lvars_t
Proxy of C++ lvars_t class.
  mba_range_iterator_t
Proxy of C++ mba_range_iterator_t class.
  mba_ranges_t
Proxy of C++ mba_ranges_t class.
  mbl_array_t
Proxy of C++ mbl_array_t class.
  mbl_graph_t
Proxy of C++ mbl_graph_t class.
  mblock_t
Proxy of C++ mblock_t class.
  mcallarg_t
Proxy of C++ mcallarg_t class.
  mcallargs_t
Proxy of C++ qvector< mcallarg_t > class.
  mcallinfo_t
Proxy of C++ mcallinfo_t class.
  mcases_t
Proxy of C++ mcases_t class.
  microcode_filter_t
Proxy of C++ microcode_filter_t class.
  minsn_t
Proxy of C++ minsn_t class.
  minsn_visitor_t
Proxy of C++ minsn_visitor_t class.
  mlist_mop_visitor_t
Proxy of C++ mlist_mop_visitor_t class.
  mlist_t
Proxy of C++ mlist_t class.
  mnumber_t
Proxy of C++ mnumber_t class.
  mop_addr_t
Proxy of C++ mop_addr_t class.
  mop_pair_t
Proxy of C++ mop_pair_t class.
  mop_t
Proxy of C++ mop_t class.
  mop_visitor_t
Proxy of C++ mop_visitor_t class.
  mopvec_t
Proxy of C++ qvector< mop_t > class.
  number_format_t
Proxy of C++ number_format_t class.
  op_parent_info_t
Proxy of C++ op_parent_info_t class.
  operand_locator_t
Proxy of C++ operand_locator_t class.
  operator_info_t
Proxy of C++ operator_info_t class.
  optblock_t
Proxy of C++ optblock_t class.
  optinsn_t
Proxy of C++ optinsn_t class.
  qlist_cinsn_t
Proxy of C++ qlist< cinsn_t > class.
  qlist_cinsn_t_iterator
Proxy of C++ qlist_cinsn_t_iterator class.
  qstring_printer_t
Proxy of C++ qstring_printer_t class.
  qvector_carg_t
Proxy of C++ qvector< carg_t > class.
  qvector_ccase_t
Proxy of C++ qvector< ccase_t > class.
  qvector_history_t
Proxy of C++ qvector< history_item_t > class.
  qvector_lvar_t
Proxy of C++ qvector< lvar_t > class.
  rlist_t
Proxy of C++ rlist_t class.
  scif_t
Proxy of C++ scif_t class.
  scif_visitor_t
Proxy of C++ scif_visitor_t class.
  simple_graph_t
Proxy of C++ simple_graph_t class.
  stkvar_ref_t
Proxy of C++ stkvar_ref_t class.
  treeloc_t
Proxy of C++ treeloc_t class.
  udc_filter_t
Proxy of C++ udc_filter_t class.
  udcall_map_iterator_t
Proxy of C++ udcall_map_iterator_t class.
  udcall_t
Proxy of C++ udcall_t class.
  ui_stroff_applicator_t
Proxy of C++ ui_stroff_applicator_t class.
  ui_stroff_op_t
Proxy of C++ ui_stroff_op_t class.
  ui_stroff_ops_t
Proxy of C++ qvector< ui_stroff_op_t > class.
  user_cmts_iterator_t
Proxy of C++ user_cmts_iterator_t class.
  user_cmts_t
Proxy of C++ std::map< treeloc_t,citem_cmt_t > class.
  user_iflags_iterator_t
Proxy of C++ user_iflags_iterator_t class.
  user_iflags_t
Proxy of C++ std::map< citem_locator_t,int32 > class.
  user_labels_iterator_t
Proxy of C++ user_labels_iterator_t class.
  user_labels_t
Proxy of C++ std::map< int,qstring > class.
  user_lvar_modifier_t
Proxy of C++ user_lvar_modifier_t class.
  user_numforms_iterator_t
Proxy of C++ user_numforms_iterator_t class.
  user_numforms_t
Proxy of C++ std::map< operand_locator_t,number_format_t > class.
  user_unions_iterator_t
Proxy of C++ user_unions_iterator_t class.
  user_unions_t
Proxy of C++ std::map< ea_t,intvec_t > class.
  uval_ivl_ivlset_t
Proxy of C++ ivlset_tpl< ivl_t,uval_t > class.
  uval_ivl_t
Proxy of C++ ivl_tpl< uval_t > class.
  valrng_t
Proxy of C++ valrng_t class.
  var_ref_t
Proxy of C++ var_ref_t class.
  vc_printer_t
Proxy of C++ vc_printer_t class.
  vd_failure_t
Proxy of C++ vd_failure_t class.
  vd_interr_t
Proxy of C++ vd_interr_t class.
  vd_printer_t
Proxy of C++ vd_printer_t class.
  vdloc_t
Proxy of C++ vdloc_t class.
  vdui_t
Proxy of C++ vdui_t class.
  vivl_t
Proxy of C++ vivl_t class.
  voff_t
Proxy of C++ voff_t class.
Functions
bool
accepts_small_udts(op)
Is the operator allowed on small structure or union?
bool
accepts_udts(op)
bool
arglocs_overlap(loc1, w1, loc2, w2)
Do two arglocs overlap?
ctype_t
asgop(cop)
Convert plain operator into assignment operator.
ctype_t
asgop_revert(cop)
Convert assignment operator into plain operator.
block_chains_iterator_t
block_chains_begin(set)
Get iterator pointing to the beginning of 'block_chains_t' .
 
block_chains_clear(set)
Clear 'block_chains_t' .
block_chains_iterator_t
block_chains_end(set)
Get iterator pointing to the end of 'block_chains_t' .
 
block_chains_erase(set, p)
Erase current element from 'block_chains_t' .
block_chains_iterator_t
block_chains_find(set, val)
Find the specified key in set 'block_chains_t' .
 
block_chains_free(set)
Delete 'block_chains_t' instance.
chain_t
block_chains_get(p)
Get reference to the current set value.
block_chains_iterator_t
block_chains_insert(set, val)
Insert new ( 'chain_t' ) into set 'block_chains_t' .
block_chains_t
block_chains_new()
Create a new 'block_chains_t' instance.
block_chains_iterator_t
block_chains_next(p)
Move to the next element.
block_chains_iterator_t
block_chains_prev(p)
Move to the previous element.
size_t
block_chains_size(set)
Get size of 'block_chains_t' .
boundaries_iterator_t
boundaries_begin(map)
Get iterator pointing to the beginning of boundaries_t.
 
boundaries_clear(map)
Clear boundaries_t.
boundaries_iterator_t
boundaries_end(map)
Get iterator pointing to the end of boundaries_t.
 
boundaries_erase(map, p)
Erase current element from boundaries_t.
boundaries_iterator_t
boundaries_find(map, key)
Find the specified key in boundaries_t.
cinsn_t
boundaries_first(p)
Get reference to the current map key.
 
boundaries_free(map)
Delete boundaries_t instance.
boundaries_iterator_t
boundaries_insert(map, key, val)
Insert new ( 'cinsn_t' *, 'rangeset_t' ) pair into boundaries_t.
boundaries_t
boundaries_new()
Create a new boundaries_t instance.
boundaries_iterator_t
boundaries_next(p)
Move to the next element.
boundaries_iterator_t
boundaries_prev(p)
Move to the previous element.
rangeset_t
boundaries_second(p)
Get reference to the current map value.
size_t
boundaries_size(map)
Get size of boundaries_t.
 
call_helper(rettype, args, *rest)
 
cblock_at(self, index)
 
cblock_find(self, item)
 
cblock_index(self, item)
qlist< cinsn_t >::iterator
cblock_insert(self, index, item)
insert(self, p) -> qlist< cinsn_t >::iterator insert(self, p, x) -> qlist_cinsn_t_iterator
 
cblock_iter(self)
 
cblock_remove(self, item)
 
cexpr_operands(self)
return a dictionary with the operands of a cexpr_t.
 
cfunc_type(self)
Get the function's return type tinfo_t object.
bool
checkout_hexrays_license(silent)
Check out a floating decompiler license.
 
cinsn_details(self)
return the details pointer for the cinsn_t object depending on the value of its op member.
bool
cinsn_t_insn_is_epilog(insn)
 
citem_to_specific_type(self)
cast the citem_t object to its more specific type, either cexpr_t or cinsn_t.
 
clear_cached_cfuncs()
Flush all cached decompilation results.
bool
close_pseudocode(f)
Close pseudocode window.
merror_t
convert_to_user_call(udc, cdg)
try to generate user-defined call for an instruction
qstring
create_field_name(type, offset=BADADDR)
 
create_helper(*args)
tinfo_t
create_typedef(name)
create_typedef(n) -> tinfo_t
 
debug_hexrays_ctree(msg)
 
decompile(ea, hf=None, flags=0)
cfuncptr_t
decompile_func(pfn, hf, flags=0)
Decompile a function.
bool
decompile_many(outfile, funcaddrs, flags)
Batch decompilation.
 
dereference(e, ptrsize, is_float=False)
char const *
dstr(tif)
Print the specified type info.
tinfo_t
dummy_ptrtype(ptrsize, isfp)
Generate a dummy pointer type
eamap_iterator_t
eamap_begin(map)
Get iterator pointing to the beginning of eamap_t.
 
eamap_clear(map)
Clear eamap_t.
eamap_iterator_t
eamap_end(map)
Get iterator pointing to the end of eamap_t.
 
eamap_erase(map, p)
Erase current element from eamap_t.
eamap_iterator_t
eamap_find(map, key)
Find the specified key in eamap_t.
ea_t const &
eamap_first(p)
Get reference to the current map key.
 
eamap_free(map)
Delete eamap_t instance.
eamap_iterator_t
eamap_insert(map, key, val)
Insert new (ea_t, cinsnptrvec_t) pair into eamap_t.
eamap_t
eamap_new()
Create a new eamap_t instance.
eamap_iterator_t
eamap_next(p)
Move to the next element.
eamap_iterator_t
eamap_prev(p)
Move to the previous element.
cinsnptrvec_t
eamap_second(p)
Get reference to the current map value.
size_t
eamap_size(map)
Get size of eamap_t.
mbl_array_t
gen_microcode(mbr, hf, retlist=None, flags=0, reqmat=MMAT_GLBOPT3)
Generate microcode of an arbitrary code snippet
char const *
get_ctype_name(op)
bool
get_current_operand(out)
Get the instruction operand under the cursor.
tinfo_t
get_float_type(width)
Get a type of a floating point value with the specified width
char const *
get_hexrays_version()
Get decompiler version.
tinfo_t
get_int_type_by_width_and_sign(srcwidth, sign)
Create a type info by width and sign.
bool
get_member_type(mptr, type)
Get type of a structure field.
str
get_merror_desc(code, mba)
Get textual description of an error code
str
get_mreg_name(reg, width, ud=None)
Get the microregister name
type_sign_t
get_op_signness(op)
Get operator sign.
mcode_t
get_signed_mcode(code)
mlist_t
get_temp_regs()
Get list of temporary registers.
bool
get_type(id, tif, guess)
Get a global type.
tinfo_t
get_unk_type(size)
Create a partial type info by width.
mcode_t
get_unsigned_mcode(code)
vdui_t
get_widget_vdui(f)
Get the 'vdui_t' instance associated to the TWidget
minsn_t
getb_reginsn(ins)
Skip assertions backward.
minsn_t
getf_reginsn(ins)
Skip assertions forward.
bool
has_cached_cfunc(ea)
Do we have a cached decompilation result for 'ea'?
void *
hexrays_alloc(size)
 
hexrays_free(ptr)
bool
init_hexrays_plugin(flags=0)
Initialize your plugin for hex-rays decompiler.
 
install_hexrays_callback(callback)
Deprecated.
 
install_microcode_filter(filter, install=True)
register/unregister non-standard microcode generator
bool
is_additive(op)
Is additive operator?
bool
is_allowed_on_small_struni(op)
Is the operator allowed on small structure or union?
bool
is_assignment(op)
Is assignment operator?
bool
is_binary(op)
Is binary operator?
bool
is_bitop(op)
Is bit related operator?
bool
is_bool_type(type)
Is a boolean type?
bool
is_break_consumer(op)
Does a break statement influence the specified statement code?
bool
is_commutative(op)
Is commutative operator?
bool
is_inplace_def(type)
Is struct/union/enum definition (not declaration)?
bool
is_kreg(r)
Is a kernel register?
bool
is_logical(op)
Is logical operator?
bool
is_loop(op)
Is loop statement code?
bool
is_lvalue(op)
Is Lvalue operator?
bool
is_may_access(maymust)
bool
is_mcode_addsub(mcode)
bool
is_mcode_call(mcode)
bool
is_mcode_commutative(mcode)
bool
is_mcode_convertible_to_jmp(mcode)
bool
is_mcode_convertible_to_set(mcode)
bool
is_mcode_divmod(op)
bool
is_mcode_fpu(mcode)
bool
is_mcode_j1(mcode)
bool
is_mcode_jcond(mcode)
bool
is_mcode_propagatable(mcode)
May opcode be propagated? Such opcodes can be used in sub-instructions (nested instructions) There is a handful of non-propagatable opcodes, like jumps, ret, nop, etc All other regular opcodes are propagatable and may appear in a nested instruction.
bool
is_mcode_set(mcode)
bool
is_mcode_set1(mcode)
bool
is_mcode_shift(mcode)
bool
is_mcode_xdsu(mcode)
bool
is_multiplicative(op)
Is multiplicative operator?
bool
is_nonbool_type(type)
Is definitely a non-boolean type?
bool
is_paf(t)
Is a pointer, array, or function type?
bool
is_prepost(op)
Is pre/post increment/decrement operator?
bool
is_ptr_or_array(t)
Is a pointer or array type?
bool
is_relational(op)
Is comparison operator?
bool
is_signed_mcode(code)
bool
is_small_struni(tif)
Is a small structure or union?
bool
is_small_udt(tif)
Is a small structure or union?
bool
is_type_correct(ptr)
Verify a type string.
bool
is_unary(op)
Is unary operator?
bool
is_unsigned_mcode(code)
mcode_t
jcnd2set(code)
int
lexcompare(a, b)
 
lnot(e)
lvar_mapping_iterator_t
lvar_mapping_begin(map)
Get iterator pointing to the beginning of lvar_mapping_t.
 
lvar_mapping_clear(map)
Clear lvar_mapping_t.
lvar_mapping_iterator_t
lvar_mapping_end(map)
Get iterator pointing to the end of lvar_mapping_t.
 
lvar_mapping_erase(map, p)
Erase current element from lvar_mapping_t.
lvar_mapping_iterator_t
lvar_mapping_find(map, key)
Find the specified key in lvar_mapping_t.
lvar_locator_t
lvar_mapping_first(p)
Get reference to the current map key.
 
lvar_mapping_free(map)
Delete lvar_mapping_t instance.
lvar_mapping_iterator_t
lvar_mapping_insert(map, key, val)
Insert new ( 'lvar_locator_t' , 'lvar_locator_t' ) pair into lvar_mapping_t.
lvar_mapping_t
lvar_mapping_new()
Create a new lvar_mapping_t instance.
lvar_mapping_iterator_t
lvar_mapping_next(p)
Move to the next element.
lvar_mapping_iterator_t
lvar_mapping_prev(p)
Move to the previous element.
lvar_locator_t
lvar_mapping_second(p)
Get reference to the current map value.
size_t
lvar_mapping_size(map)
Get size of lvar_mapping_t.
 
make_num(*args)
tinfo_t
make_pointer(type)
Create a pointer type.
 
make_ref(e)
bool
mark_cfunc_dirty(ea, close_views=False)
Flush the cached decompilation results.
mbl_array_t
mbl_array_t_deserialize(bytes)
bool
mcode_modifies_d(mcode)
bool
modify_user_lvar_info(func_ea, mli_flags, info)
Modify saved local variable settings.
bool
modify_user_lvars(entry_ea, mlv)
Modify saved local variable settings.
int
mreg2reg(reg, width)
Map a microregister to a processor register.
bool
must_mcode_close_block(mcode, including_calls)
Must an instruction with the given opcode be the last one in a block? Such opcodes are called closing opcodes.
mcode_t
negate_mcode_relation(code)
ctype_t
negated_relation(op)
Negate a comparison operator.
 
new_block()
bool
op_uses_x(op)
Does operator use the 'x' field of 'cexpr_t' ?
bool
op_uses_y(op)
Does operator use the 'y' field of 'cexpr_t' ?
bool
op_uses_z(op)
Does operator use the 'z' field of 'cexpr_t' ?
vdui_t
open_pseudocode(ea, new_window)
Open pseudocode window.
bool
parse_user_call(udc, decl, silent)
Convert function type declaration into internal structure
int
partial_type_num(type)
Calculate number of partial subtypes.
 
print_vdloc(loc, nbytes)
Print vdloc.
 
property_op_to_typename(self)
 
qswap(a, b)
mreg_t
reg2mreg(reg)
Map a processor register to a microregister.
 
remitem(e)
 
remove_hexrays_callback(callback)
Deprecated.
user_cmts_t
restore_user_cmts(func_ea)
Restore user defined comments from the database.
bool
restore_user_defined_calls(udcalls, func_ea)
Restore user defined function calls from the database.
user_iflags_t
restore_user_iflags(func_ea)
Restore user defined citem iflags from the database.
user_labels_t
restore_user_labels(func_ea)
Restore user defined labels from the database.
bool
restore_user_lvar_settings(lvinf, func_ea)
Restore user defined local variable settings in the database.
user_numforms_t
restore_user_numforms(func_ea)
Restore user defined number formats from the database.
user_unions_t
restore_user_unions(func_ea)
Restore user defined union field selections from the database.
 
save_user_cmts(func_ea, user_cmts)
Save user defined comments into the database.
 
save_user_defined_calls(func_ea, udcalls)
Save user defined local function calls into the database.
 
save_user_iflags(func_ea, iflags)
Save user defined citem iflags into the database.
 
save_user_labels(func_ea, user_labels)
Save user defined labels into the database.
 
save_user_lvar_settings(func_ea, lvinf)
Save user defined local variable settings into the database.
 
save_user_numforms(func_ea, numforms)
Save user defined number formats into the database.
 
save_user_unions(func_ea, unions)
Save user defined union field selections into the database.
int
select_udt_by_offset(udts, ops, applicator)
Select UDT
 
send_database(err, silent)
Send the database to Hex-Rays.
mcode_t
set2jcnd(code)
bool
set_type(id, tif, source, force=False)
Set a global type.
mcode_t
swap_mcode_relation(code)
ctype_t
swapped_relation(op)
Swap a comparison operator.
 
term_hexrays_plugin()
Stop working with hex-rays decompiler.
udcall_map_iterator_t
udcall_map_begin(map)
Get iterator pointing to the beginning of udcall_map_t.
 
udcall_map_clear(map)
Clear udcall_map_t.
udcall_map_iterator_t
udcall_map_end(map)
Get iterator pointing to the end of udcall_map_t.
 
udcall_map_erase(map, p)
Erase current element from udcall_map_t.
udcall_map_iterator_t
udcall_map_find(map, key)
Find the specified key in udcall_map_t.
ea_t const &
udcall_map_first(p)
Get reference to the current map key.
 
udcall_map_free(map)
Delete udcall_map_t instance.
udcall_map_iterator_t
udcall_map_insert(map, key, val)
Insert new (ea_t, 'udcall_t' ) pair into udcall_map_t.
udcall_map_t *
udcall_map_new()
Create a new udcall_map_t instance.
udcall_map_iterator_t
udcall_map_next(p)
Move to the next element.
udcall_map_iterator_t
udcall_map_prev(p)
Move to the previous element.
udcall_t
udcall_map_second(p)
Get reference to the current map value.
size_t
udcall_map_size(map)
Get size of udcall_map_t.
user_cmts_iterator_t
user_cmts_begin(map)
Get iterator pointing to the beginning of user_cmts_t.
 
user_cmts_clear(map)
Clear user_cmts_t.
user_cmts_iterator_t
user_cmts_end(map)
Get iterator pointing to the end of user_cmts_t.
 
user_cmts_erase(map, p)
Erase current element from user_cmts_t.
user_cmts_iterator_t
user_cmts_find(map, key)
Find the specified key in user_cmts_t.
treeloc_t
user_cmts_first(p)
Get reference to the current map key.
 
user_cmts_free(map)
Delete user_cmts_t instance.
user_cmts_iterator_t
user_cmts_insert(map, key, val)
Insert new ( 'treeloc_t' , 'citem_cmt_t' ) pair into user_cmts_t.
user_cmts_t
user_cmts_new()
Create a new user_cmts_t instance.
user_cmts_iterator_t
user_cmts_next(p)
Move to the next element.
user_cmts_iterator_t
user_cmts_prev(p)
Move to the previous element.
citem_cmt_t
user_cmts_second(p)
Get reference to the current map value.
size_t
user_cmts_size(map)
Get size of user_cmts_t.
user_iflags_iterator_t
user_iflags_begin(map)
Get iterator pointing to the beginning of user_iflags_t.
 
user_iflags_clear(map)
Clear user_iflags_t.
user_iflags_iterator_t
user_iflags_end(map)
Get iterator pointing to the end of user_iflags_t.
 
user_iflags_erase(map, p)
Erase current element from user_iflags_t.
user_iflags_iterator_t
user_iflags_find(map, key)
Find the specified key in user_iflags_t.
citem_locator_t
user_iflags_first(p)
Get reference to the current map key.
 
user_iflags_free(map)
Delete user_iflags_t instance.
user_iflags_iterator_t
user_iflags_insert(map, key, val)
Insert new ( 'citem_locator_t' , int32) pair into user_iflags_t.
user_iflags_t
user_iflags_new()
Create a new user_iflags_t instance.
user_iflags_iterator_t
user_iflags_next(p)
Move to the next element.
user_iflags_iterator_t
user_iflags_prev(p)
Move to the previous element.
int32 const &
user_iflags_second(p)
Get reference to the current map value.
size_t
user_iflags_size(map)
Get size of user_iflags_t.
user_labels_iterator_t
user_labels_begin(map)
Get iterator pointing to the beginning of user_labels_t.
 
user_labels_clear(map)
Clear user_labels_t.
user_labels_iterator_t
user_labels_end(map)
Get iterator pointing to the end of user_labels_t.
 
user_labels_erase(map, p)
Erase current element from user_labels_t.
user_labels_iterator_t
user_labels_find(map, key)
Find the specified key in user_labels_t.
int const &
user_labels_first(p)
Get reference to the current map key.
 
user_labels_free(map)
Delete user_labels_t instance.
user_labels_iterator_t
user_labels_insert(map, key, val)
Insert new (int, qstring) pair into user_labels_t.
user_labels_t
user_labels_new()
Create a new user_labels_t instance.
user_labels_iterator_t
user_labels_next(p)
Move to the next element.
user_labels_iterator_t
user_labels_prev(p)
Move to the previous element.
qstring &
user_labels_second(p)
Get reference to the current map value.
size_t
user_labels_size(map)
Get size of user_labels_t.
user_numforms_iterator_t
user_numforms_begin(map)
Get iterator pointing to the beginning of user_numforms_t.
 
user_numforms_clear(map)
Clear user_numforms_t.
user_numforms_iterator_t
user_numforms_end(map)
Get iterator pointing to the end of user_numforms_t.
 
user_numforms_erase(map, p)
Erase current element from user_numforms_t.
user_numforms_iterator_t
user_numforms_find(map, key)
Find the specified key in user_numforms_t.
operand_locator_t
user_numforms_first(p)
Get reference to the current map key.
 
user_numforms_free(map)
Delete user_numforms_t instance.
user_numforms_iterator_t
user_numforms_insert(map, key, val)
Insert new ( 'operand_locator_t' , 'number_format_t' ) pair into user_numforms_t.
user_numforms_t
user_numforms_new()
Create a new user_numforms_t instance.
user_numforms_iterator_t
user_numforms_next(p)
Move to the next element.
user_numforms_iterator_t
user_numforms_prev(p)
Move to the previous element.
number_format_t
user_numforms_second(p)
Get reference to the current map value.
size_t
user_numforms_size(map)
Get size of user_numforms_t.
user_unions_iterator_t
user_unions_begin(map)
Get iterator pointing to the beginning of user_unions_t.
 
user_unions_clear(map)
Clear user_unions_t.
user_unions_iterator_t
user_unions_end(map)
Get iterator pointing to the end of user_unions_t.
 
user_unions_erase(map, p)
Erase current element from user_unions_t.
user_unions_iterator_t
user_unions_find(map, key)
Find the specified key in user_unions_t.
ea_t const &
user_unions_first(p)
Get reference to the current map key.
 
user_unions_free(map)
Delete user_unions_t instance.
user_unions_iterator_t
user_unions_insert(map, key, val)
Insert new (ea_t, intvec_t) pair into user_unions_t.
user_unions_t
user_unions_new()
Create a new user_unions_t instance.
user_unions_iterator_t
user_unions_next(p)
Move to the next element.
user_unions_iterator_t
user_unions_prev(p)
Move to the previous element.
intvec_t
user_unions_second(p)
Get reference to the current map value.
size_t
user_unions_size(map)
Get size of user_unions_t.
Variables
  ACFL_BLKOPT = 2
  ACFL_GLBDEL = 8
  ACFL_GLBPROP = 4
  ACFL_GUESS = 16
  ACFL_LOCOPT = 1
  ALLOW_UNUSED_LABELS = 1
  ANCHOR_BLKCMT = 536870912
  ANCHOR_CITEM = 0
  ANCHOR_INDEX = 536870911
  ANCHOR_ITP = -2147483648
  ANCHOR_LVAR = 1073741824
  ANCHOR_MASK = -1073741824
  ANY_REGSIZE = 128
  BLT_0WAY = 2
  BLT_1WAY = 3
  BLT_2WAY = 4
  BLT_NONE = 0
  BLT_NWAY = 5
  BLT_STOP = 1
  BLT_XTRN = 6
  CALC_CURLY_BRACES = 0
  CALL_SPOILS_ONLY_ARGS = 16384
  CFL_FINAL = 1
  CFL_HELPER = 2
  CFS_BOUNDS = 1
  CFS_LVARS_HIDDEN = 4
  CFS_TEXT = 2
  CHF_FAKE = 8
  CHF_INITED = 1
  CHF_OVER = 4
  CHF_PASSTHRU = 16
  CHF_REPLACED = 2
  CHF_TERM = 32
  CIT_COLLAPSED = 1
  CMAT_BUILT = 1
  CMAT_CASTED = 7
  CMAT_CPA = 5
  CMAT_FINAL = 8
  CMAT_NICE = 3
  CMAT_TRANS1 = 2
  CMAT_TRANS2 = 4
  CMAT_TRANS3 = 6
  CMAT_ZERO = 0
  CMP_A = 4
  CMP_AE = 2
  CMP_B = 3
  CMP_BE = 5
  CMP_GE = 7
  CMP_GT = 6
  CMP_LE = 9
  CMP_LT = 8
  CMP_NZ = 0
  CMP_Z = 1
  CMT_ALL = 31
  CMT_BLOCK1 = 2
  CMT_BLOCK2 = 4
  CMT_FUNC = 16
  CMT_LVAR = 8
  CMT_NONE = 0
  CMT_TAIL = 1
  COI_FP = 4
  COI_INT = 2
  COI_LR = 1
  COI_RL = 0
  COI_SBN = 32
  COI_SGN = 16
  COI_SH = 8
  CPBLK_FAST = 0
  CPBLK_MINREF = 1
  CPBLK_OPTJMP = 2
  CV_FAST = 0
  CV_INSNS = 16
  CV_PARENTS = 2
  CV_POST = 4
  CV_PRUNE = 1
  CV_RESTART = 8
  DECOMP_ALL_BLKS = 16
  DECOMP_NO_CACHE = 2
  DECOMP_NO_FRAME = 4
  DECOMP_NO_WAIT = 1
  DECOMP_WARNINGS = 8
  DOUBLE_OPSIZE = 16
  EQ_CMPDEST = 4
  EQ_IGNCODE = 2
  EQ_IGNSIZE = 1
  EQ_OPTINSN = 8
  EXCLUDE_PASS_REGS = 128
  EXCLUDE_VOLATILE = 1024
  EXFL_ALL = 511
  EXFL_ALONE = 8
  EXFL_CPADONE = 1
  EXFL_CSTR = 16
  EXFL_FPOP = 4
  EXFL_JUMPOUT = 128
  EXFL_LVALUE = 2
  EXFL_PARTIAL = 32
  EXFL_UNDEF = 64
  EXFL_VFTABLE = 256
  FCI_DEAD = 2
  FCI_FINAL = 4
  FCI_HASCALL = 128
  FCI_HASFMT = 256
  FCI_NORET = 8
  FCI_NOSIDE = 32
  FCI_PROP = 1
  FCI_PURE = 16
  FCI_SPLOK = 64
  FD_BACKWARD = 0
  FD_DEF = 2
  FD_DIRTY = 4
  FD_FORWARD = 1
  FD_USE = 0
  FORBID_UNUSED_LABELS = 0
  FULL_XDSU = 256
  FUNC_NAME_CONTAINING_RECORD = 'CONTAINING_RECORD'
  FUNC_NAME_EMPTY = '$empty'
  FUNC_NAME_MEMCPY = 'memcpy'
  FUNC_NAME_MEMSET = 'memset'
  FUNC_NAME_MEMSET32 = 'memset32'
  FUNC_NAME_MEMSET64 = 'memset64'
  FUNC_NAME_PRESENT = '$present'
  FUNC_NAME_STRCAT = 'strcat'
  FUNC_NAME_STRCPY = 'strcpy'
  FUNC_NAME_STRLEN = 'strlen'
  FUNC_NAME_TAIL = 'tail'
  FUNC_NAME_VA_ARG = 'va_arg'
  FX_INFIX = 1
  FX_NONE = 0
  FX_POSTFIX = 3
  FX_PREFIX = 2
  FX_TERNARY = 4
  GCA_ALLOC = 4
  GCA_EMPTY = 1
  GCA_NALLOC = 8
  GCA_OFIRST = 16
  GCA_OLAST = 32
  GCA_SPEC = 2
  GCO_DEF = 4
  GCO_REG = 1
  GCO_STK = 0
  GCO_USE = 2
  GC_ASR = 1
  GC_DIRTY_ALL = 63
  GC_END = 3
  GC_REGS_AND_STKVARS = 0
  GC_XDSU = 2
  GLN_ALL = 3
  GLN_CURRENT = 1
  GLN_GOTO_TARGET = 2
  GUESSED_DATA = 3
  GUESSED_FUNC = 2
  GUESSED_NONE = 0
  GUESSED_WEAK = 1
  HEXRAYS_API_MAGIC = 62699504545038339
  INCLUDE_DEAD_RETREGS = 4096
  INCLUDE_RESTRICTED = 8192
  INCLUDE_SPOILED_REGS = 64
  INCLUDE_UNUSED_SRC = 2048
  IPROP_ASSERT = 128
  IPROP_CLNPOP = 8
  IPROP_COMBINED = 2048
  IPROP_DONT_COMB = 262144
  IPROP_DONT_PROP = 131072
  IPROP_EXTSTX = 4096
  IPROP_FARCALL = 32
  IPROP_FPINSN = 16
  IPROP_IGNLOWSRC = 8192
  IPROP_INV_JX = 16384
  IPROP_MBARRIER = 524288
  IPROP_MULTI_MOV = 65536
  IPROP_OPTIONAL = 1
  IPROP_PERSIST = 2
  IPROP_SPLIT = 1792
  IPROP_SPLIT1 = 256
  IPROP_SPLIT2 = 512
  IPROP_SPLIT4 = 768
  IPROP_SPLIT8 = 1024
  IPROP_TAILCALL = 64
  IPROP_WAS_NORET = 32768
  IPROP_WILDMATCH = 4
  ITP_ARG1 = 1
  ITP_ARG64 = 64
  ITP_ASM = 66
  ITP_BLOCK1 = 74
  ITP_BLOCK2 = 75
  ITP_BRACE1 = 65
  ITP_BRACE2 = 72
  ITP_CASE = 1073741824
  ITP_COLON = 73
  ITP_CURLY1 = 70
  ITP_CURLY2 = 71
  ITP_DO = 68
  ITP_ELSE = 67
  ITP_EMPTY = 0
  ITP_INNER_LAST = 65
  ITP_SEMI = 69
  ITP_SIGN = 536870912
  LOCOPT_ALL = 1
  LOCOPT_REFINE = 2
  LOCOPT_REFINE2 = 4
  LVINF_FORCE = 2
  LVINF_KEEP = 1
  LVINF_NOMAP = 8
  LVINF_NOPTR = 4
  MAX_OPSIZE = 8
  MAX_SUPPORTED_STACK_SIZE = 1048576
  MAX_SVALUE = 9223372036854775807
  MAX_VALUE = 18446744073709551615
  MAX_VLR_SIZE = 8
  MAYMUST_ACCESS_MASK = 1
  MAY_ACCESS = 1
  MBA2_ALL_FLAGS = 1023
  MBA2_ARGIDX_OK = 64
  MBA2_INITIAL_FLAGS = 3
  MBA2_IS_CTR = 16
  MBA2_IS_DTR = 32
  MBA2_LVARNAMES_OK = 1
  MBA2_LVARS_RENAMED = 2
  MBA2_NO_DUP_CALLS = 128
  MBA2_NO_DUP_LVARS = 256
  MBA2_OVER_CHAINS = 4
  MBA2_UNDEF_RETVAR = 512
  MBA2_VALRNG_DONE = 8
  MBA_ASRPROP = 8192
  MBA_ASRTOK = 2048
  MBA_CALLS = 4096
  MBA_CHVARS = 2097152
  MBA_CMBBLK = 1024
  MBA_CMNSTK = 256
  MBA_COLGDL = 8388608
  MBA_DELPAIRS = 1048576
  MBA_GLBOPT = 65536
  MBA_INITIAL_FLAGS = 1459618817
  MBA_INSGDL = 16777216
  MBA_LOADED = 8
  MBA_LVARS0 = 262144
  MBA_LVARS1 = 524288
  MBA_NICE = 33554432
  MBA_NOFUNC = 2
  MBA_NUMADDR = 536870912
  MBA_PASSREGS = 64
  MBA_PATTERN = 4
  MBA_PRCDEFS = 1
  MBA_PREOPT = 512
  MBA_REFINE = 67108864
  MBA_RETFP = 16
  MBA_RETREF = 32768
  MBA_SAVRST = 16384
  MBA_SHORT = 4194304
  MBA_SPLINFO = 32
  MBA_THUNK = 128
  MBA_VALNUM = 1073741824
  MBA_WINGR32 = 268435456
  MBL_BACKPROP = 4096
  MBL_CALL = 2048
  MBL_COMB = 64
  MBL_DEAD = 256
  MBL_DMT64 = 32
  MBL_DSLOT = 16384
  MBL_FAKE = 2
  MBL_GOTO = 4
  MBL_INCONST = 1024
  MBL_LIST = 512
  MBL_NONFAKE = 0
  MBL_NORET = 8192
  MBL_PRIV = 1
  MBL_PROP = 128
  MBL_PUSH = 16
  MBL_TCAL = 8
  MBL_VALRANGES = 32768
  MERR_BADBLK = -4
  MERR_BADCALL = -12
  MERR_BADFRAME = -13
  MERR_BADIDB = -15
  MERR_BADRANGES = -30
  MERR_BADSP = -5
  MERR_BITNESS = -11
  MERR_BLOCK = 1
  MERR_BUSY = -26
  MERR_CANCELED = -18
  MERR_COMPLEX = -22
  MERR_EXCEPTION = -8
  MERR_EXTERN = -28
  MERR_FARPTR = -27
  MERR_FUNCSIZE = -29
  MERR_HUGESTACK = -9
  MERR_INSN = -2
  MERR_INTERR = -1
  MERR_LICENSE = -23
  MERR_LOOP = -32
  MERR_LVARS = -10
  MERR_MAX_ERR = 31
  MERR_MEM = -3
  MERR_OK = 0
  MERR_ONLY32 = -24
  MERR_ONLY64 = -25
  MERR_OVERLAP = -20
  MERR_PARTINIT = -21
  MERR_PROLOG = -6
  MERR_RECDEPTH = -19
  MERR_REDO = -17
  MERR_SIZEOF = -16
  MERR_STOP = -31
  MERR_SWITCH = -7
  MERR_UNKTYPE = -14
  MIN_SVALUE = -9223372036854775808
  MLI_CLR_FLAGS = 16
  MLI_CMT = 4
  MLI_NAME = 1
  MLI_SET_FLAGS = 8
  MLI_TYPE = 2
  MMAT_CALLS = 4
  MMAT_GENERATED = 1
  MMAT_GLBOPT1 = 5
  MMAT_GLBOPT2 = 6
  MMAT_GLBOPT3 = 7
  MMAT_LOCOPT = 3
  MMAT_LVARS = 8
  MMAT_PREOPTIMIZED = 2
  MMAT_ZERO = 0
  MMIDX_ARGS = 4
  MMIDX_GLBHIGH = 5
  MMIDX_GLBLOW = 0
  MMIDX_LVARS = 1
  MMIDX_RETADDR = 2
  MMIDX_SHADOW = 3
  MUST_ACCESS = 0
  NALT_VD = 2
  NF_BINVDONE = 4
  NF_BITNOT = 16
  NF_FIXED = 1
  NF_NEGATE = 8
  NF_NEGDONE = 2
  NF_STROFF = 32
  NOSIZE = -1
  NO_ACCESS = 0
  NO_CURLY_BRACES = 1
  NO_SIDEFF = 0
  ONE_ACCESS_TYPE = 32
  ONLY_SIDEFF = 2
  OPROP_CCFLAGS = 8
  OPROP_FLOAT = 4
  OPROP_IMPDONE = 1
  OPROP_UDEFVAL = 16
  OPROP_UDT = 2
  OPTI_ADDREXPRS = 1
  OPTI_COMBINSNS = 4
  OPTI_MINSTKREF = 2
  OPTI_NO_LDXOPT = 8
  READ_ACCESS = 2
  RETRIEVE_ALWAYS = 1
  RETRIEVE_ONCE = 0
  ROLE_ABS = 31
  ROLE_ALLOCA = 11
  ROLE_BITTEST = 19
  ROLE_BITTESTANDCOMPLEMENT = 22
  ROLE_BITTESTANDRESET = 21
  ROLE_BITTESTANDSET = 20
  ROLE_BSWAP = 12
  ROLE_BUG = 10
  ROLE_CFSUB3 = 29
  ROLE_CONTAINING_RECORD = 14
  ROLE_EMPTY = 1
  ROLE_FASTFAIL = 15
  ROLE_IS_MUL_OK = 17
  ROLE_MEMCPY = 5
  ROLE_MEMSET = 2
  ROLE_MEMSET32 = 3
  ROLE_MEMSET64 = 4
  ROLE_OFSUB3 = 30
  ROLE_PRESENT = 13
  ROLE_READFLAGS = 16
  ROLE_ROL = 27
  ROLE_ROR = 28
  ROLE_SATURATED_MUL = 18
  ROLE_STRCAT = 8
  ROLE_STRCPY = 6
  ROLE_STRLEN = 7
  ROLE_TAIL = 9
  ROLE_UNK = 0
  ROLE_VA_ARG = 23
  ROLE_VA_COPY = 24
  ROLE_VA_END = 26
  ROLE_VA_START = 25
  RW_ACCESS = 3
  SHINS_LDXEA = 8
  SHINS_NUMADDR = 1
  SHINS_SHORT = 4
  SHINS_VALNUM = 2
  SIZEOF_BLOCK_CHAINS = 56
  SVW_FLOAT = 1
  SVW_INT = 0
  SVW_SOFT = 2
  SWIG_PYTHON_LEGACY_BOOL = 1
  TS_DONTREF = 33554432
  TS_MASK = 234881024
  TS_NOELL = 134217728
  TS_SHRINK = 67108864
  ULV_PRECISE_DEFEA = 1
  USE_CURLY_BRACES = 2
  USE_KEYBOARD = 0
  USE_MOUSE = 1
  VDI_EXPR = 1
  VDI_FUNC = 3
  VDI_LVAR = 2
  VDI_NONE = 0
  VDI_TAIL = 4
  VDRUN_APPEND = 1
  VDRUN_CMDLINE = 32
  VDRUN_LUMINA = 128
  VDRUN_MAYSTOP = 16
  VDRUN_NEWFILE = 0
  VDRUN_ONLYNEW = 2
  VDRUN_SENDIDB = 8
  VDRUN_SILENT = 4
  VDRUN_STATS = 64
  VDUI_LOCKED = 4
  VDUI_VALID = 2
  VDUI_VISIBLE = 1
  VR_AT_END = 1
  VR_AT_START = 0
  VR_EXACT = 2
  WARN_ADDR_OUTARGS = 6
  WARN_ARRAY_INARG = 21
  WARN_BAD_CALL_SP = 38
  WARN_BAD_FIELD_TYPE = 23
  WARN_BAD_PURGED = 12
  WARN_BAD_RETVAR = 25
  WARN_BAD_SHADOW = 45
  WARN_BAD_SP = 40
  WARN_BAD_STD_TYPE = 37
  WARN_BAD_STKPNT = 41
  WARN_BAD_STROFF = 33
  WARN_BAD_VALRNG = 44
  WARN_BAD_VARSIZE = 34
  WARN_CBUILD_LOOPS = 13
  WARN_CR_BADOFF = 32
  WARN_CR_NOFIELD = 31
  WARN_DEP_UNK_CALLS = 7
  WARN_EXP_LINVAR = 10
  WARN_FIXED_MACRO = 29
  WARN_FRAG_LVAR = 26
  WARN_GUESSED_TYPE = 9
  WARN_HUGE_STKOFF = 27
  WARN_ILL_ELLIPSIS = 8
  WARN_ILL_FPU_STACK = 18
  WARN_ILL_FUNCTYPE = 2
  WARN_ILL_PURGED = 1
  WARN_JUMPOUT = 43
  WARN_MAX = 48
  WARN_MAX_ARGS = 22
  WARN_MISSED_SWITCH = 39
  WARN_MUST_RET_FP = 17
  WARN_NO_SAVE_REST = 14
  WARN_ODD_ADDR_USE = 16
  WARN_ODD_INPUT_REG = 15
  WARN_OPT_VALRNG = 46
  WARN_RET_LOCREF = 47
  WARN_SELFREF_PROP = 19
  WARN_UNALIGNED_ARG = 36
  WARN_UNDEF_LVAR = 42
  WARN_UNINITED_REG = 28
  WARN_UNSUPP_REG = 35
  WARN_VARARG_MANY = 5
  WARN_VARARG_NOSTK = 4
  WARN_VARARG_REGS = 0
  WARN_VARARG_TCAL = 3
  WARN_WIDEN_CHAINS = 11
  WARN_WOULD_OVERLAP = 20
  WARN_WRITE_CONST = 24
  WARN_WRONG_VA_OFF = 30
  WITH_ASSERTS = 512
  WITH_SIDEFF = 1
  WRITE_ACCESS = 1
  __package__ = None
  bitset_align = 63
  bitset_shift = 6
  bitset_width = 64
  cc_count = 5
  cit_asm = 82
  cit_block = 71
  cit_break = 78
  cit_continue = 79
  cit_do = 76
  cit_empty = 70
  cit_end = 83
  cit_expr = 72
  cit_for = 74
  cit_goto = 81
  cit_if = 73
  cit_return = 80
  cit_switch = 77
  cit_while = 75
  cot_add = 35
  cot_asg = 2
  cot_asgadd = 6
  cot_asgband = 5
  cot_asgbor = 3
  cot_asgmul = 8
  cot_asgsdiv = 12
  cot_asgshl = 11
  cot_asgsmod = 14
  cot_asgsshr = 9
  cot_asgsub = 7
  cot_asgudiv = 13
  cot_asgumod = 15
  cot_asgushr = 10
  cot_asgxor = 4
  cot_band = 21
  cot_bnot = 50
  cot_bor = 19
  cot_call = 57
  cot_cast = 48
  cot_comma = 1
  cot_empty = 0
  cot_eq = 22
  cot_fadd = 42
  cot_fdiv = 45
  cot_fmul = 44
  cot_fneg = 46
  cot_fnum = 62
  cot_fsub = 43
  cot_helper = 68
  cot_idx = 58
  cot_insn = 66
  cot_land = 18
  cot_last = 69
  cot_lnot = 49
  cot_lor = 17
  cot_memptr = 60
  cot_memref = 59
  cot_mul = 37
  cot_ne = 23
  cot_neg = 47
  cot_num = 61
  cot_obj = 64
  cot_postdec = 54
  cot_postinc = 53
  cot_predec = 56
  cot_preinc = 55
  cot_ptr = 51
  cot_ref = 52
  cot_sdiv = 38
  cot_sge = 24
  cot_sgt = 28
  cot_shl = 34
  cot_sizeof = 67
  cot_sle = 26
  cot_slt = 30
  cot_smod = 40
  cot_sshr = 32
  cot_str = 63
  cot_sub = 36
  cot_tern = 16
  cot_type = 69
  cot_udiv = 39
  cot_uge = 25
  cot_ugt = 29
  cot_ule = 27
  cot_ult = 31
  cot_umod = 41
  cot_ushr = 33
  cot_var = 65
  cot_xor = 20
  cvar = ??
  hx_arglocs_overlap = 181
  hx_asgop = 403
  hx_asgop_revert = 404
  hx_bitset_t_add = 205
  hx_bitset_t_add_ = 206
  hx_bitset_t_add__ = 207
  hx_bitset_t_bitset_t = 203
  hx_bitset_t_compare = 225
  hx_bitset_t_copy = 204
  hx_bitset_t_count = 218
  hx_bitset_t_count_ = 219
  hx_bitset_t_cut_at = 211
  hx_bitset_t_dstr = 216
  hx_bitset_t_empty = 217
  hx_bitset_t_fill_with_ones = 221
  hx_bitset_t_goup = 226
  hx_bitset_t_has = 213
  hx_bitset_t_has_all = 214
  hx_bitset_t_has_any = 215
  hx_bitset_t_has_common = 222
  hx_bitset_t_intersect = 223
  hx_bitset_t_is_subset_of = 224
  hx_bitset_t_last = 220
  hx_bitset_t_shift_down = 212
  hx_bitset_t_sub = 208
  hx_bitset_t_sub_ = 209
  hx_bitset_t_sub__ = 210
  hx_block_chains_begin = 117
  hx_block_chains_clear = 125
  hx_block_chains_end = 118
  hx_block_chains_erase = 124
  hx_block_chains_find = 122
  hx_block_chains_free = 127
  hx_block_chains_get = 121
  hx_block_chains_insert = 123
  hx_block_chains_new = 128
  hx_block_chains_next = 119
  hx_block_chains_prev = 120
  hx_block_chains_size = 126
  hx_block_chains_t_dstr = 310
  hx_block_chains_t_get_chain = 308
  hx_block_chains_t_print = 309
  hx_boundaries_begin = 104
  hx_boundaries_clear = 113
  hx_boundaries_end = 105
  hx_boundaries_erase = 112
  hx_boundaries_find = 110
  hx_boundaries_first = 108
  hx_boundaries_free = 115
  hx_boundaries_insert = 111
  hx_boundaries_new = 116
  hx_boundaries_next = 106
  hx_boundaries_prev = 107
  hx_boundaries_second = 109
  hx_boundaries_size = 114
  hx_carglist_t_compare = 455
  hx_casm_t_compare = 441
  hx_cblock_t_compare = 454
  hx_ccase_t_compare = 456
  hx_ccases_t_compare = 457
  hx_cdg_insn_iterator_t_next = 563
  hx_cdo_t_compare = 438
  hx_cexpr_t_assign = 419
  hx_cexpr_t_calc_type = 425
  hx_cexpr_t_cleanup = 422
  hx_cexpr_t_compare = 420
  hx_cexpr_t_contains_operator = 428
  hx_cexpr_t_equal_effect = 426
  hx_cexpr_t_get_high_nbit_bound = 429
  hx_cexpr_t_get_low_nbit_bound = 430
  hx_cexpr_t_has_side_effects = 432
  hx_cexpr_t_is_child_of = 427
  hx_cexpr_t_print1 = 424
  hx_cexpr_t_put_number = 423
  hx_cexpr_t_replace_by = 421
  hx_cexpr_t_requires_lvalue = 431
  hx_cfor_t_compare = 436
  hx_cfunc_parentee_t_calc_rvalue_type = 413
  hx_cfunc_t_build_c_tree = 480
  hx_cfunc_t_cleanup = 504
  hx_cfunc_t_del_orphan_cmts = 494
  hx_cfunc_t_find_item_coords = 503
  hx_cfunc_t_find_label = 487
  hx_cfunc_t_gather_derefs = 502
  hx_cfunc_t_get_boundaries = 500
  hx_cfunc_t_get_eamap = 499
  hx_cfunc_t_get_func_type = 484
  hx_cfunc_t_get_line_item = 497
  hx_cfunc_t_get_lvars = 485
  hx_cfunc_t_get_pseudocode = 501
  hx_cfunc_t_get_stkoff_delta = 486
  hx_cfunc_t_get_user_cmt = 489
  hx_cfunc_t_get_user_iflags = 491
  hx_cfunc_t_get_user_union_selection = 495
  hx_cfunc_t_get_warnings = 498
  hx_cfunc_t_has_orphan_cmts = 493
  hx_cfunc_t_print_dcl = 482
  hx_cfunc_t_print_func = 483
  hx_cfunc_t_refresh_func_ctext = 557
  hx_cfunc_t_remove_unused_labels = 488
  hx_cfunc_t_set_user_cmt = 490
  hx_cfunc_t_set_user_iflags = 492
  hx_cfunc_t_set_user_union_selection = 496
  hx_cfunc_t_verify = 481
  hx_cgoto_t_compare = 440
  hx_chain_t_append_list = 307
  hx_chain_t_dstr = 306
  hx_chain_t_print = 305
  hx_checkout_hexrays_license = 558
  hx_cif_t_assign = 433
  hx_cif_t_compare = 434
  hx_cinsn_t_assign = 442
  hx_cinsn_t_cleanup = 445
  hx_cinsn_t_collect_free_breaks = 452
  hx_cinsn_t_collect_free_continues = 453
  hx_cinsn_t_compare = 443
  hx_cinsn_t_contains_insn = 451
  hx_cinsn_t_create_if = 447
  hx_cinsn_t_is_ordinary_flow = 450
  hx_cinsn_t_new_insn = 446
  hx_cinsn_t_print = 448
  hx_cinsn_t_print1 = 449
  hx_cinsn_t_replace_by = 444
  hx_citem_locator_t_compare = 414
  hx_citem_t_contains_expr = 415
  hx_citem_t_contains_label = 416
  hx_citem_t_find_closest_addr = 418
  hx_citem_t_find_parent_of = 417
  hx_clear_cached_cfuncs = 508
  hx_cloop_t_assign = 435
  hx_close_pseudocode = 392
  hx_cnumber_t_assign = 407
  hx_cnumber_t_compare = 408
  hx_cnumber_t_print = 405
  hx_cnumber_t_value = 406
  hx_codegen_t_emit = 386
  hx_codegen_t_emit_ = 387
  hx_convert_to_user_call = 199
  hx_create_field_name = 511
  hx_create_typedef = 174
  hx_creturn_t_compare = 439
  hx_cswitch_t_compare = 458
  hx_ctree_item_t_get_ea = 461
  hx_ctree_item_t_get_label_num = 462
  hx_ctree_item_t_get_lvar = 460
  hx_ctree_item_t_get_memptr = 459
  hx_ctree_parentee_t_recalc_parent_types = 412
  hx_ctree_visitor_t_apply_to = 410
  hx_ctree_visitor_t_apply_to_exprs = 411
  hx_cwhile_t_compare = 437
  hx_decompile = 505
  hx_decompile_many = 394
  hx_dereference = 469
  hx_dstr = 162
  hx_dummy_ptrtype = 171
  hx_eamap_begin = 91
  hx_eamap_clear = 100
  hx_eamap_end = 92
  hx_eamap_erase = 99
  hx_eamap_find = 97
  hx_eamap_first = 95
  hx_eamap_free = 102
  hx_eamap_insert = 98
  hx_eamap_new = 103
  hx_eamap_next = 93
  hx_eamap_prev = 94
  hx_eamap_second = 96
  hx_eamap_size = 101
  hx_file_printer_t_print = 160
  hx_fnumber_t_dstr = 255
  hx_fnumber_t_print = 254
  hx_gco_info_t_append_to_list = 397
  hx_gen_microcode = 506
  hx_get_ctype_name = 510
  hx_get_current_operand = 398
  hx_get_float_type = 168
  hx_get_hexrays_version = 390
  hx_get_int_type_by_width_and_sign = 169
  hx_get_member_type = 172
  hx_get_merror_desc = 144
  hx_get_mreg_name = 243
  hx_get_op_signness = 402
  hx_get_signed_mcode = 155
  hx_get_temp_regs = 389
  hx_get_type = 175
  hx_get_unk_type = 170
  hx_get_unsigned_mcode = 156
  hx_get_widget_vdui = 393
  hx_getb_reginsn = 336
  hx_getf_reginsn = 335
  hx_graph_chains_t_for_all_chains = 311
  hx_graph_chains_t_release = 312
  hx_has_cached_cfunc = 509
  hx_hexrays_alloc = 552
  hx_hexrays_failure_t_desc = 395
  hx_hexrays_free = 553
  hx_install_hexrays_callback = 512
  hx_install_microcode_filter = 200
  hx_install_optblock_handler = 149
  hx_install_optinsn_handler = 147
  hx_is_bool_type = 166
  hx_is_kreg = 388
  hx_is_mcode_propagatable = 152
  hx_is_nonbool_type = 165
  hx_is_small_udt = 164
  hx_is_type_correct = 163
  hx_ivl_t_compare = 228
  hx_ivl_t_dstr = 227
  hx_ivlset_t_add = 229
  hx_ivlset_t_add_ = 230
  hx_ivlset_t_addmasked = 231
  hx_ivlset_t_compare = 242
  hx_ivlset_t_contains = 239
  hx_ivlset_t_count = 237
  hx_ivlset_t_dstr = 236
  hx_ivlset_t_has_common = 234
  hx_ivlset_t_has_common_ = 238
  hx_ivlset_t_includes = 240
  hx_ivlset_t_intersect = 241
  hx_ivlset_t_print = 235
  hx_ivlset_t_sub = 232
  hx_ivlset_t_sub_ = 233
  hx_lnot = 463
  hx_lvar_locator_t_compare = 182
  hx_lvar_locator_t_dstr = 183
  hx_lvar_mapping_begin = 13
  hx_lvar_mapping_clear = 22
  hx_lvar_mapping_end = 14
  hx_lvar_mapping_erase = 21
  hx_lvar_mapping_find = 19
  hx_lvar_mapping_first = 17
  hx_lvar_mapping_free = 24
  hx_lvar_mapping_insert = 20
  hx_lvar_mapping_new = 25
  hx_lvar_mapping_next = 15
  hx_lvar_mapping_prev = 16
  hx_lvar_mapping_second = 18
  hx_lvar_mapping_size = 23
  hx_lvar_ref_t_compare = 250
  hx_lvar_ref_t_var = 251
  hx_lvar_t_accepts_type = 186
  hx_lvar_t_append_list = 189
  hx_lvar_t_dstr = 184
  hx_lvar_t_is_promoted_arg = 185
  hx_lvar_t_set_lvar_type = 187
  hx_lvar_t_set_width = 188
  hx_lvars_t_find = 191
  hx_lvars_t_find_lvar = 192
  hx_lvars_t_find_stkvar = 190
  hx_make_num = 467
  hx_make_pointer = 173
  hx_make_ref = 468
  hx_mark_cfunc_dirty = 507
  hx_mbl_array_t_alloc_lvars = 366
  hx_mbl_array_t_analyze_calls = 364
  hx_mbl_array_t_arg = 380
  hx_mbl_array_t_build_graph = 362
  hx_mbl_array_t_combine_blocks = 375
  hx_mbl_array_t_copy_block = 559
  hx_mbl_array_t_deserialize = 382
  hx_mbl_array_t_dump = 367
  hx_mbl_array_t_find_mop = 379
  hx_mbl_array_t_for_all_insns = 377
  hx_mbl_array_t_for_all_ops = 376
  hx_mbl_array_t_for_all_topinsns = 378
  hx_mbl_array_t_get_graph = 363
  hx_mbl_array_t_idaloc2vd = 358
  hx_mbl_array_t_insert_block = 372
  hx_mbl_array_t_mark_chains_dirty = 371
  hx_mbl_array_t_optimize_global = 365
  hx_mbl_array_t_optimize_local = 361
  hx_mbl_array_t_print = 369
  hx_mbl_array_t_remove_block = 373
  hx_mbl_array_t_remove_empty_blocks = 374
  hx_mbl_array_t_serialize = 381
  hx_mbl_array_t_term = 360
  hx_mbl_array_t_vd2idaloc = 359
  hx_mbl_array_t_vdump_mba = 368
  hx_mbl_array_t_verify = 370
  hx_mbl_graph_t_get_du = 385
  hx_mbl_graph_t_get_ud = 384
  hx_mbl_graph_t_is_accessed_globally = 383
  hx_mblock_t_append_def_list = 350
  hx_mblock_t_append_use_list = 349
  hx_mblock_t_build_def_list = 352
  hx_mblock_t_build_lists = 348
  hx_mblock_t_build_use_list = 351
  hx_mblock_t_dump = 339
  hx_mblock_t_find_access = 356
  hx_mblock_t_find_first_use = 353
  hx_mblock_t_find_redefinition = 354
  hx_mblock_t_for_all_insns = 343
  hx_mblock_t_for_all_ops = 344
  hx_mblock_t_for_all_uses = 345
  hx_mblock_t_get_reginsn_qty = 561
  hx_mblock_t_get_valranges = 357
  hx_mblock_t_get_valranges_ = 556
  hx_mblock_t_init = 337
  hx_mblock_t_insert_into_block = 341
  hx_mblock_t_is_rhs_redefined = 355
  hx_mblock_t_optimize_block = 347
  hx_mblock_t_optimize_insn = 346
  hx_mblock_t_optimize_useless_jump = 560
  hx_mblock_t_print = 338
  hx_mblock_t_remove_from_block = 342
  hx_mblock_t_vdump_block = 340
  hx_mcallarg_t_dstr = 291
  hx_mcallarg_t_print = 290
  hx_mcallarg_t_set_regarg = 292
  hx_mcallinfo_t_dstr = 297
  hx_mcallinfo_t_get_type = 295
  hx_mcallinfo_t_lexcompare = 293
  hx_mcallinfo_t_print = 296
  hx_mcallinfo_t_set_type = 294
  hx_mcases_t_compare = 298
  hx_mcases_t_dstr = 300
  hx_mcases_t_print = 299
  hx_mcode_modifies_d = 157
  hx_minsn_t__make_nop = 322
  hx_minsn_t_copy = 314
  hx_minsn_t_dstr = 317
  hx_minsn_t_equal_insns = 323
  hx_minsn_t_find_call = 327
  hx_minsn_t_find_ins_op = 330
  hx_minsn_t_find_num_op = 331
  hx_minsn_t_find_opcode = 329
  hx_minsn_t_for_all_insns = 321
  hx_minsn_t_for_all_ops = 320
  hx_minsn_t_has_side_effects = 328
  hx_minsn_t_init = 313
  hx_minsn_t_is_between = 333
  hx_minsn_t_is_helper = 326
  hx_minsn_t_is_noret_call = 325
  hx_minsn_t_lexcompare = 324
  hx_minsn_t_may_use_aliased_memory = 334
  hx_minsn_t_modifes_d = 332
  hx_minsn_t_optimize_subtree = 319
  hx_minsn_t_print = 316
  hx_minsn_t_setaddr = 318
  hx_minsn_t_swap = 315
  hx_mlist_t_addmem = 246
  hx_mlist_t_compare = 249
  hx_mlist_t_dstr = 248
  hx_mlist_t_print = 247
  hx_modify_user_lvar_info = 562
  hx_modify_user_lvars = 195
  hx_mop_t_apply_ld_mcode = 289
  hx_mop_t_assign = 257
  hx_mop_t_change_size = 287
  hx_mop_t_copy = 256
  hx_mop_t_create_from_insn = 266
  hx_mop_t_create_from_ivlset = 263
  hx_mop_t_create_from_mlist = 262
  hx_mop_t_create_from_scattered_vdloc = 265
  hx_mop_t_create_from_vdloc = 264
  hx_mop_t_dstr = 261
  hx_mop_t_equal_mops = 276
  hx_mop_t_erase = 259
  hx_mop_t_for_all_ops = 278
  hx_mop_t_for_all_scattered_submops = 279
  hx_mop_t_get_stkoff = 281
  hx_mop_t_is01 = 273
  hx_mop_t_is_bit_reg = 271
  hx_mop_t_is_constant = 280
  hx_mop_t_is_sign_extended_from = 274
  hx_mop_t_is_zero_extended_from = 275
  hx_mop_t_lexcompare = 277
  hx_mop_t_make_first_half = 284
  hx_mop_t_make_fpnum = 268
  hx_mop_t_make_helper = 270
  hx_mop_t_make_high_half = 283
  hx_mop_t_make_low_half = 282
  hx_mop_t_make_number = 267
  hx_mop_t_make_reg_pair = 269
  hx_mop_t_make_second_half = 285
  hx_mop_t_may_use_aliased_memory = 272
  hx_mop_t_preserve_side_effects = 288
  hx_mop_t_print = 260
  hx_mop_t_shift_mop = 286
  hx_mop_t_swap = 258
  hx_mreg2reg = 146
  hx_must_mcode_close_block = 151
  hx_negate_mcode_relation = 153
  hx_negated_relation = 400
  hx_new_block = 464
  hx_open_pseudocode = 391
  hx_operand_locator_t_compare = 158
  hx_parse_user_call = 198
  hx_partial_type_num = 167
  hx_print_vdloc = 180
  hx_qstring_printer_t_print = 161
  hx_reg2mreg = 145
  hx_remitem = 399
  hx_remove_hexrays_callback = 513
  hx_remove_optblock_handler = 150
  hx_remove_optinsn_handler = 148
  hx_restore_user_cmts = 476
  hx_restore_user_defined_calls = 196
  hx_restore_user_iflags = 478
  hx_restore_user_labels = 475
  hx_restore_user_lvar_settings = 193
  hx_restore_user_numforms = 477
  hx_restore_user_unions = 479
  hx_rlist_t_dstr = 245
  hx_rlist_t_print = 244
  hx_save_user_cmts = 471
  hx_save_user_defined_calls = 197
  hx_save_user_iflags = 473
  hx_save_user_labels = 470
  hx_save_user_lvar_settings = 194
  hx_save_user_numforms = 472
  hx_save_user_unions = 474
  hx_select_udt_by_offset = 555
  hx_send_database = 396
  hx_set_type = 176
  hx_stkvar_ref_t_compare = 252
  hx_stkvar_ref_t_get_stkvar = 253
  hx_swap_mcode_relation = 154
  hx_swapped_relation = 401
  hx_udc_filter_t_apply = 202
  hx_udc_filter_t_init = 201
  hx_udcall_map_begin = 26
  hx_udcall_map_clear = 35
  hx_udcall_map_end = 27
  hx_udcall_map_erase = 34
  hx_udcall_map_find = 32
  hx_udcall_map_first = 30
  hx_udcall_map_free = 37
  hx_udcall_map_insert = 33
  hx_udcall_map_new = 38
  hx_udcall_map_next = 28
  hx_udcall_map_prev = 29
  hx_udcall_map_second = 31
  hx_udcall_map_size = 36
  hx_user_cmts_begin = 39
  hx_user_cmts_clear = 48
  hx_user_cmts_end = 40
  hx_user_cmts_erase = 47
  hx_user_cmts_find = 45
  hx_user_cmts_first = 43
  hx_user_cmts_free = 50
  hx_user_cmts_insert = 46
  hx_user_cmts_new = 51
  hx_user_cmts_next = 41
  hx_user_cmts_prev = 42
  hx_user_cmts_second = 44
  hx_user_cmts_size = 49
  hx_user_iflags_begin = 52
  hx_user_iflags_clear = 61
  hx_user_iflags_end = 53
  hx_user_iflags_erase = 60
  hx_user_iflags_find = 58
  hx_user_iflags_first = 56
  hx_user_iflags_free = 63
  hx_user_iflags_insert = 59
  hx_user_iflags_new = 64
  hx_user_iflags_next = 54
  hx_user_iflags_prev = 55
  hx_user_iflags_second = 57
  hx_user_iflags_size = 62
  hx_user_labels_begin = 78
  hx_user_labels_clear = 87
  hx_user_labels_end = 79
  hx_user_labels_erase = 86
  hx_user_labels_find = 84
  hx_user_labels_first = 82
  hx_user_labels_free = 89
  hx_user_labels_insert = 85
  hx_user_labels_new = 90
  hx_user_labels_next = 80
  hx_user_labels_prev = 81
  hx_user_labels_second = 83
  hx_user_labels_size = 88
  hx_user_numforms_begin = 0
  hx_user_numforms_clear = 9
  hx_user_numforms_end = 1
  hx_user_numforms_erase = 8
  hx_user_numforms_find = 6
  hx_user_numforms_first = 4
  hx_user_numforms_free = 11
  hx_user_numforms_insert = 7
  hx_user_numforms_new = 12
  hx_user_numforms_next = 2
  hx_user_numforms_prev = 3
  hx_user_numforms_second = 5
  hx_user_numforms_size = 10
  hx_user_unions_begin = 65
  hx_user_unions_clear = 74
  hx_user_unions_end = 66
  hx_user_unions_erase = 73
  hx_user_unions_find = 71
  hx_user_unions_first = 69
  hx_user_unions_free = 76
  hx_user_unions_insert = 72
  hx_user_unions_new = 77
  hx_user_unions_next = 67
  hx_user_unions_prev = 68
  hx_user_unions_second = 70
  hx_user_unions_size = 75
  hx_valrng_t_assign = 131
  hx_valrng_t_clear = 129
  hx_valrng_t_compare = 132
  hx_valrng_t_copy = 130
  hx_valrng_t_cvt_to_cmp = 143
  hx_valrng_t_cvt_to_single_value = 142
  hx_valrng_t_dstr = 141
  hx_valrng_t_has = 139
  hx_valrng_t_intersect_with = 136
  hx_valrng_t_inverse = 138
  hx_valrng_t_print = 140
  hx_valrng_t_reduce_size = 135
  hx_valrng_t_set_cmp = 134
  hx_valrng_t_set_eq = 133
  hx_valrng_t_unite_with = 137
  hx_var_ref_t_compare = 409
  hx_vcall_helper = 466
  hx_vcreate_helper = 465
  hx_vd_printer_t_print = 159
  hx_vdloc_t_compare = 178
  hx_vdloc_t_dstr = 177
  hx_vdloc_t_is_aliasable = 179
  hx_vdui_t_calc_cmt_type = 540
  hx_vdui_t_clear = 520
  hx_vdui_t_collapse_item = 549
  hx_vdui_t_collapse_lvars = 550
  hx_vdui_t_ctree_to_disasm = 539
  hx_vdui_t_del_orphan_cmts = 543
  hx_vdui_t_edit_cmt = 541
  hx_vdui_t_edit_func_cmt = 542
  hx_vdui_t_get_current_item = 522
  hx_vdui_t_get_current_label = 519
  hx_vdui_t_get_number = 518
  hx_vdui_t_invert_bits = 548
  hx_vdui_t_invert_sign = 547
  hx_vdui_t_jump_enter = 538
  hx_vdui_t_map_lvar = 532
  hx_vdui_t_refresh_cpos = 521
  hx_vdui_t_refresh_ctext = 516
  hx_vdui_t_refresh_view = 515
  hx_vdui_t_rename_global = 536
  hx_vdui_t_rename_label = 537
  hx_vdui_t_rename_lvar = 524
  hx_vdui_t_rename_strmem = 534
  hx_vdui_t_set_global_type = 535
  hx_vdui_t_set_locked = 514
  hx_vdui_t_set_lvar_cmt = 529
  hx_vdui_t_set_lvar_type = 527
  hx_vdui_t_set_noptr_lvar = 554
  hx_vdui_t_set_num_enum = 545
  hx_vdui_t_set_num_radix = 544
  hx_vdui_t_set_num_stroff = 546
  hx_vdui_t_set_strmem_type = 533
  hx_vdui_t_split_item = 551
  hx_vdui_t_switch_to = 517
  hx_vdui_t_ui_edit_lvar_cmt = 528
  hx_vdui_t_ui_map_lvar = 530
  hx_vdui_t_ui_rename_lvar = 523
  hx_vdui_t_ui_set_call_type = 525
  hx_vdui_t_ui_set_lvar_type = 526
  hx_vdui_t_ui_unmap_lvar = 531
  hx_vivl_t_dstr = 304
  hx_vivl_t_extend_to_cover = 301
  hx_vivl_t_intersect = 302
  hx_vivl_t_print = 303
  hxe_close_pseudocode = 103
  hxe_cmt_changed = 115
  hxe_combine = 11
  hxe_create_hint = 108
  hxe_curpos = 107
  hxe_double_click = 106
  hxe_flowchart = 0
  hxe_func_printed = 13
  hxe_glbopt = 7
  hxe_interr = 10
  hxe_keyboard = 104
  hxe_locopt = 5
  hxe_maturity = 9
  hxe_microcode = 3
  hxe_open_pseudocode = 100
  hxe_populating_popup = 110
  hxe_prealloc = 6
  hxe_preoptimized = 4
  hxe_print_func = 12
  hxe_prolog = 2
  hxe_refresh_pseudocode = 102
  hxe_resolve_stkaddrs = 14
  hxe_right_click = 105
  hxe_stkpnts = 1
  hxe_structural = 8
  hxe_switch_pseudocode = 101
  hxe_text_ready = 109
  k = 'voff_t_undef'
  lxe_lvar_cmt_changed = 113
  lxe_lvar_mapping_changed = 114
  lxe_lvar_name_changed = 111
  lxe_lvar_type_changed = 112
  m_add = 12
  m_and = 20
  m_bnot = 7
  m_call = 56
  m_cfadd = 25
  m_cfshl = 27
  m_cfshr = 28
  m_ext = 62
  m_f2f = 67
  m_f2i = 63
  m_f2u = 64
  m_fadd = 69
  m_fdiv = 72
  m_fmul = 71
  m_fneg = 68
  m_fsub = 70
  m_goto = 55
  m_high = 11
  m_i2f = 65
  m_icall = 57
  m_ijmp = 54
  m_ja = 47
  m_jae = 45
  m_jb = 46
  m_jbe = 48
  m_jcnd = 42
  m_jg = 49
  m_jge = 50
  m_jl = 51
  m_jle = 52
  m_jnz = 43
  m_jtbl = 53
  m_jz = 44
  m_ldc = 3
  m_ldx = 2
  m_lnot = 6
  m_low = 10
  m_mov = 4
  m_mul = 14
  m_neg = 5
  m_nop = 0
  m_ofadd = 26
  m_or = 19
  m_pop = 60
  m_push = 59
  m_ret = 58
  m_sar = 24
  m_sdiv = 16
  m_seta = 36
  m_setae = 34
  m_setb = 35
  m_setbe = 37
  m_setg = 38
  m_setge = 39
  m_setl = 40
  m_setle = 41
  m_setnz = 32
  m_seto = 30
  m_setp = 31
  m_sets = 29
  m_setz = 33
  m_shl = 22
  m_shr = 23
  m_smod = 18
  m_stx = 1
  m_sub = 13
  m_u2f = 66
  m_udiv = 15
  m_umod = 17
  m_und = 61
  m_xds = 8
  m_xdu = 9
  m_xor = 21
  mop_S = 5
  mop_a = 10
  mop_b = 7
  mop_c = 12
  mop_d = 4
  mop_f = 8
  mop_fn = 13
  mop_h = 11
  mop_l = 9
  mop_n = 2
  mop_p = 14
  mop_r = 1
  mop_sc = 15
  mop_str = 3
  mop_v = 6
  mop_z = 0
  mr_cc = 5
  mr_cf = 0
  mr_first = 8
  mr_none = -1
  mr_of = 3
  mr_pf = 4
  mr_sf = 2
  mr_zf = 1
Function Details

accepts_small_udts(op)

 

Is the operator allowed on small structure or union?

Parameters:
  • op, (C++ - ctype_t)
Returns: bool

arglocs_overlap(loc1, w1, loc2, w2)

 

Do two arglocs overlap?

Parameters:
  • loc1, (C++ - const vdloc_t &)
  • w1, (C++ - size_t)
  • loc2, (C++ - const vdloc_t &)
  • w2, (C++ - size_t)
Returns: bool

asgop(cop)

 

Convert plain operator into assignment operator. For example, cot_add returns cot_asgadd.

Parameters:
  • cop, (C++ - ctype_t)
Returns: ctype_t

asgop_revert(cop)

 

Convert assignment operator into plain operator. For example, cot_asgadd returns cot_add

Parameters:
  • cop, (C++ - ctype_t)
Returns: ctype_t
cot_empty is the input operator is not an assignment operator.

block_chains_begin(set)

 

Get iterator pointing to the beginning of 'block_chains_t' .

Parameters:
  • set, (C++ - const block_chains_t *)
Returns: block_chains_iterator_t

block_chains_clear(set)

 

Clear 'block_chains_t' .

Parameters:
  • set, (C++ - block_chains_t *)

block_chains_end(set)

 

Get iterator pointing to the end of 'block_chains_t' .

Parameters:
  • set, (C++ - const block_chains_t *)
Returns: block_chains_iterator_t

block_chains_erase(set, p)

 

Erase current element from 'block_chains_t' .

Parameters:
  • set, (C++ - block_chains_t *)
  • p, (C++ - block_chains_iterator_t)

block_chains_find(set, val)

 

Find the specified key in set 'block_chains_t' .

Parameters:
  • set, (C++ - const block_chains_t *)
  • val, (C++ - const chain_t &)
Returns: block_chains_iterator_t

block_chains_free(set)

 

Delete 'block_chains_t' instance.

Parameters:
  • set, (C++ - block_chains_t *)

block_chains_get(p)

 

Get reference to the current set value.

Parameters:
  • p, (C++ - block_chains_iterator_t)
Returns: chain_t

block_chains_insert(set, val)

 

Insert new ( 'chain_t' ) into set 'block_chains_t' .

Parameters:
  • set, (C++ - block_chains_t *)
  • val, (C++ - const chain_t &)
Returns: block_chains_iterator_t

block_chains_next(p)

 

Move to the next element.

Parameters:
  • p, (C++ - block_chains_iterator_t)
Returns: block_chains_iterator_t

block_chains_prev(p)

 

Move to the previous element.

Parameters:
  • p, (C++ - block_chains_iterator_t)
Returns: block_chains_iterator_t

block_chains_size(set)

 

Get size of 'block_chains_t' .

Parameters:
  • set, (C++ - block_chains_t *)
Returns: size_t

boundaries_begin(map)

 

Get iterator pointing to the beginning of boundaries_t.

Parameters:
  • map, (C++ - const boundaries_t *)
Returns: boundaries_iterator_t

boundaries_clear(map)

 

Clear boundaries_t.

Parameters:
  • map, (C++ - boundaries_t *)

boundaries_end(map)

 

Get iterator pointing to the end of boundaries_t.

Parameters:
  • map, (C++ - const boundaries_t *)
Returns: boundaries_iterator_t

boundaries_erase(map, p)

 

Erase current element from boundaries_t.

Parameters:
  • map, (C++ - boundaries_t *)
  • p, (C++ - boundaries_iterator_t)

boundaries_find(map, key)

 

Find the specified key in boundaries_t.

Parameters:
  • map, (C++ - const boundaries_t *)
  • key, (C++ - const cinsn_t *&)
Returns: boundaries_iterator_t

boundaries_first(p)

 

Get reference to the current map key.

Parameters:
  • p, (C++ - boundaries_iterator_t)
Returns: cinsn_t

boundaries_free(map)

 

Delete boundaries_t instance.

Parameters:
  • map, (C++ - boundaries_t *)

boundaries_insert(map, key, val)

 

Insert new ( 'cinsn_t' *, 'rangeset_t' ) pair into boundaries_t.

Parameters:
  • map, (C++ - boundaries_t *)
  • key, (C++ - const cinsn_t *&)
  • val, (C++ - const rangeset_t &)
Returns: boundaries_iterator_t

boundaries_next(p)

 

Move to the next element.

Parameters:
  • p, (C++ - boundaries_iterator_t)
Returns: boundaries_iterator_t

boundaries_prev(p)

 

Move to the previous element.

Parameters:
  • p, (C++ - boundaries_iterator_t)
Returns: boundaries_iterator_t

boundaries_second(p)

 

Get reference to the current map value.

Parameters:
  • p, (C++ - boundaries_iterator_t)
Returns: rangeset_t

boundaries_size(map)

 

Get size of boundaries_t.

Parameters:
  • map, (C++ - boundaries_t *)
Returns: size_t

checkout_hexrays_license(silent)

 

Check out a floating decompiler license. This function will display a dialog box if the license is not available. For non-floating licenses this function is effectively no-op. It is not necessary to call this function before decompiling. If the license was not checked out, the decompiler will automatically do it. This function can be used to check out a license in advance and ensure that a license is available.

Parameters:
  • silent - silently fail if the license can not be checked out. (C++: bool)
Returns: bool
false if failed

cinsn_details(self)

 

return the details pointer for the cinsn_t object depending on the value of its op member. this is one of the cblock_t, cif_t, etc. objects.

close_pseudocode(f)

 

Close pseudocode window.

Parameters:
  • f - pointer to window (C++: TWidget *)
Returns: bool
false if failed

convert_to_user_call(udc, cdg)

 

try to generate user-defined call for an instruction

Parameters:
  • udc, (C++ - const udcall_t &)
  • cdg, (C++ - codegen_t &)
Returns: merror_t
Microcode error codes code: MERR_OK - user-defined call generated else - error (MERR_INSN == inacceptable udc.tif)

create_typedef(name)

 

create_typedef(n) -> tinfo_t

Create a reference to a named type.

Parameters:
  • name - type name (C++: const char *)
Returns: tinfo_t
type which refers to the specified name. For example, if name is "DWORD", the type info which refers to "DWORD" is created.

decompile_func(pfn, hf, flags=0)

 

Decompile a function. Multiple decompilations of the same function return the same object.

Parameters:
  • pfn - pointer to function to decompile (C++: func_t *)
  • hf - extended error information (if failed) (C++: hexrays_failure_t *)
  • flags - bitwise combination of decompile() flags ... bits (C++: int)
Returns: cfuncptr_t
pointer to the decompilation result (a reference counted pointer). NULL if failed.

decompile_many(outfile, funcaddrs, flags)

 

Batch decompilation. Decompile all or the specified functions

Parameters:
  • outfile - name of the output file (C++: const char *)
  • funcaddrs - list of functions to decompile. If NULL or empty, then decompile all nonlib functions (C++: const eavec_t *)
  • flags - Batch decompilation bits (C++: int)
Returns: bool
true if no internal error occurred and the user has not cancelled decompilation

dstr(tif)

 

Print the specified type info. This function can be used from a debugger by typing "tif->dstr()"

Parameters:
  • tif, (C++ - const tinfo_t *)
Returns: char const *

dummy_ptrtype(ptrsize, isfp)

 

Generate a dummy pointer type

Parameters:
  • ptrsize - size of pointed object (C++: int)
  • isfp - is floating point object? (C++: bool)
Returns: tinfo_t

eamap_begin(map)

 

Get iterator pointing to the beginning of eamap_t.

Parameters:
  • map, (C++ - const eamap_t *)
Returns: eamap_iterator_t

eamap_clear(map)

 

Clear eamap_t.

Parameters:
  • map, (C++ - eamap_t *)

eamap_end(map)

 

Get iterator pointing to the end of eamap_t.

Parameters:
  • map, (C++ - const eamap_t *)
Returns: eamap_iterator_t

eamap_erase(map, p)

 

Erase current element from eamap_t.

Parameters:
  • map, (C++ - eamap_t *)
  • p, (C++ - eamap_iterator_t)

eamap_find(map, key)

 

Find the specified key in eamap_t.

Parameters:
  • map, (C++ - const eamap_t *)
  • key, (C++ - const ea_t &)
Returns: eamap_iterator_t

eamap_first(p)

 

Get reference to the current map key.

Parameters:
  • p, (C++ - eamap_iterator_t)
Returns: ea_t const &

eamap_free(map)

 

Delete eamap_t instance.

Parameters:
  • map, (C++ - eamap_t *)

eamap_insert(map, key, val)

 

Insert new (ea_t, cinsnptrvec_t) pair into eamap_t.

Parameters:
  • map, (C++ - eamap_t *)
  • key, (C++ - const ea_t &)
  • val, (C++ - const cinsnptrvec_t &)
Returns: eamap_iterator_t

eamap_next(p)

 

Move to the next element.

Parameters:
  • p, (C++ - eamap_iterator_t)
Returns: eamap_iterator_t

eamap_prev(p)

 

Move to the previous element.

Parameters:
  • p, (C++ - eamap_iterator_t)
Returns: eamap_iterator_t

eamap_second(p)

 

Get reference to the current map value.

Parameters:
  • p, (C++ - eamap_iterator_t)
Returns: cinsnptrvec_t

eamap_size(map)

 

Get size of eamap_t.

Parameters:
  • map, (C++ - eamap_t *)
Returns: size_t

gen_microcode(mbr, hf, retlist=None, flags=0, reqmat=MMAT_GLBOPT3)

 

Generate microcode of an arbitrary code snippet

Parameters:
  • mbr - snippet ranges (C++: const mba_ranges_t &)
  • hf - extended error information (if failed) (C++: hexrays_failure_t *)
  • retlist - list of registers the snippet returns (C++: const mlist_t *)
  • flags - bitwise combination of decompile() flags ... bits (C++: int)
  • reqmat - required microcode maturity (C++: mba_maturity_t)
Returns: mbl_array_t
pointer to the microcode, NULL if failed.

get_current_operand(out)

 

Get the instruction operand under the cursor. This function determines the operand that is under the cursor in the active disassembly listing. If the operand refers to a register or stack variable, it return true.

Parameters:
  • out, (C++ - gco_info_t *)
Returns: bool

get_float_type(width)

 

Get a type of a floating point value with the specified width

Parameters:
  • width - width of the desired type (C++: int)
Returns: tinfo_t
type info object

get_hexrays_version()

 

Get decompiler version. The returned string is of the form <major>.<minor>.<revision>.<build-date>

Returns: char const *
pointer to version string. For example: "2.0.0.140605"

get_int_type_by_width_and_sign(srcwidth, sign)

 

Create a type info by width and sign. Returns a simple type (examples: int, short) with the given width and sign.

Parameters:
  • srcwidth - size of the type in bytes (C++: int)
  • sign - sign of the type (C++: type_sign_t)
Returns: tinfo_t

get_member_type(mptr, type)

 

Get type of a structure field. This function performs validity checks of the field type. Wrong types are rejected.

Parameters:
  • mptr - structure field (C++: const member_t *)
  • type - pointer to the variable where the type is returned. This parameter can be NULL. (C++: tinfo_t *)
Returns: bool
false if failed

get_merror_desc(code, mba)

 

Get textual description of an error code

Parameters:
  • code - Microcode error codes (C++: merror_t)
  • mba - the microcode array (C++: mbl_array_t *)
Returns: str
the error address

get_mreg_name(reg, width, ud=None)

 

Get the microregister name

Parameters:
  • reg, (C++ - mreg_t)
  • width - size of microregister in bytes. may be bigger than the real register size. (C++: int)
  • ud - reserved, must be nullptr (C++: void *)
Returns: str
width of the printed register. this value may be less than the WIDTH argument.

get_op_signness(op)

 

Get operator sign. Meaningful for sign-dependent operators, like cot_sdiv.

Parameters:
  • op, (C++ - ctype_t)
Returns: type_sign_t

get_temp_regs()

 

Get list of temporary registers. Tempregs are temporary registers that are used during code generation. They do not map to regular processor registers. They are used only to store temporary values during execution of one instruction. Tempregs may not be used to pass a value from one block to another. In other words, at the end of a block all tempregs must be dead.

Returns: mlist_t

get_type(id, tif, guess)

 

Get a global type. Global types are types of addressable objects and struct/union/enum types

Parameters:
  • id - address or id of the object (C++: uval_t)
  • tif - buffer for the answer (C++: tinfo_t *)
  • guess - what kind of types to consider (C++: type_source_t)
Returns: bool
success

get_unk_type(size)

 

Create a partial type info by width. Returns a partially defined type (examples: _DWORD, _BYTE) with the given width.

Parameters:
  • size - size of the type in bytes (C++: int)
Returns: tinfo_t

get_widget_vdui(f)

 

Get the 'vdui_t' instance associated to the TWidget

Parameters:
  • f - pointer to window (C++: TWidget *)
Returns: vdui_t
a vdui_t *, or NULL

getb_reginsn(ins)

 

Skip assertions backward.

Parameters:
  • ins, (C++ - const minsn_t *)
Returns: minsn_t

getf_reginsn(ins)

 

Skip assertions forward.

Parameters:
  • ins, (C++ - const minsn_t *)
Returns: minsn_t

has_cached_cfunc(ea)

 

Do we have a cached decompilation result for 'ea'?

Parameters:
  • ea, (C++ - ea_t)
Returns: bool

init_hexrays_plugin(flags=0)

 

Initialize your plugin for hex-rays decompiler. This function must be called before calling any other decompiler function. It initializes the pointer to the dispatcher.

Parameters:
  • flags - reserved, must be 0 (C++: int)
Returns: bool
true if the decompiler exists and the dispatcher pointer is ready to use.

install_hexrays_callback(callback)

 

Deprecated. Please use Hexrays_Hooks instead

install_microcode_filter(filter, install=True)

 

register/unregister non-standard microcode generator

Parameters:
  • filter - - microcode generator object (C++: microcode_filter_t *)
  • install - - TRUE - register the object, FALSE - unregister (C++: bool)

is_additive(op)

 

Is additive operator?

Parameters:
  • op, (C++ - ctype_t)
Returns: bool

is_allowed_on_small_struni(op)

 

Is the operator allowed on small structure or union?

Parameters:
  • op, (C++ - ctype_t)
Returns: bool

is_assignment(op)

 

Is assignment operator?

Parameters:
  • op, (C++ - ctype_t)
Returns: bool

is_binary(op)

 

Is binary operator?

Parameters:
  • op, (C++ - ctype_t)
Returns: bool

is_bitop(op)

 

Is bit related operator?

Parameters:
  • op, (C++ - ctype_t)
Returns: bool

is_bool_type(type)

 

Is a boolean type?

Parameters:
  • type, (C++ - const tinfo_t &)
Returns: bool
true if the type is a boolean type

is_break_consumer(op)

 

Does a break statement influence the specified statement code?

Parameters:
  • op, (C++ - ctype_t)
Returns: bool

is_commutative(op)

 

Is commutative operator?

Parameters:
  • op, (C++ - ctype_t)
Returns: bool

is_inplace_def(type)

 

Is struct/union/enum definition (not declaration)?

Parameters:
  • type, (C++ - const tinfo_t &)
Returns: bool

is_kreg(r)

 

Is a kernel register?

Parameters:
  • r, (C++ - mreg_t)
Returns: bool

is_logical(op)

 

Is logical operator?

Parameters:
  • op, (C++ - ctype_t)
Returns: bool

is_loop(op)

 

Is loop statement code?

Parameters:
  • op, (C++ - ctype_t)
Returns: bool

is_lvalue(op)

 

Is Lvalue operator?

Parameters:
  • op, (C++ - ctype_t)
Returns: bool

is_mcode_propagatable(mcode)

 

May opcode be propagated? Such opcodes can be used in sub-instructions (nested instructions) There is a handful of non-propagatable opcodes, like jumps, ret, nop, etc All other regular opcodes are propagatable and may appear in a nested instruction.

Parameters:
  • mcode, (C++ - mcode_t)
Returns: bool

is_multiplicative(op)

 

Is multiplicative operator?

Parameters:
  • op, (C++ - ctype_t)
Returns: bool

is_nonbool_type(type)

 

Is definitely a non-boolean type?

Parameters:
  • type, (C++ - const tinfo_t &)
Returns: bool
true if the type is a non-boolean type (non bool and well defined)

is_paf(t)

 

Is a pointer, array, or function type?

Parameters:
  • t, (C++ - type_t)
Returns: bool

is_prepost(op)

 

Is pre/post increment/decrement operator?

Parameters:
  • op, (C++ - ctype_t)
Returns: bool

is_ptr_or_array(t)

 

Is a pointer or array type?

Parameters:
  • t, (C++ - type_t)
Returns: bool

is_relational(op)

 

Is comparison operator?

Parameters:
  • op, (C++ - ctype_t)
Returns: bool

is_small_struni(tif)

 

Is a small structure or union?

Parameters:
  • tif, (C++ - const tinfo_t &)
Returns: bool
true if the type is a small UDT (user defined type). Small UDTs fit into a register (or pair or registers) as a rule.

is_small_udt(tif)

 

Is a small structure or union?

Parameters:
  • tif, (C++ - const tinfo_t &)
Returns: bool
true if the type is a small UDT (user defined type). Small UDTs fit into a register (or pair or registers) as a rule.

is_type_correct(ptr)

 

Verify a type string.

Parameters:
  • ptr, (C++ - const type_t *)
Returns: bool
true if type string is correct

is_unary(op)

 

Is unary operator?

Parameters:
  • op, (C++ - ctype_t)
Returns: bool

lvar_mapping_begin(map)

 

Get iterator pointing to the beginning of lvar_mapping_t.

Parameters:
  • map, (C++ - const lvar_mapping_t *)
Returns: lvar_mapping_iterator_t

lvar_mapping_clear(map)

 

Clear lvar_mapping_t.

Parameters:
  • map, (C++ - lvar_mapping_t *)

lvar_mapping_end(map)

 

Get iterator pointing to the end of lvar_mapping_t.

Parameters:
  • map, (C++ - const lvar_mapping_t *)
Returns: lvar_mapping_iterator_t

lvar_mapping_erase(map, p)

 

Erase current element from lvar_mapping_t.

Parameters:
  • map, (C++ - lvar_mapping_t *)
  • p, (C++ - lvar_mapping_iterator_t)

lvar_mapping_find(map, key)

 

Find the specified key in lvar_mapping_t.

Parameters:
  • map, (C++ - const lvar_mapping_t *)
  • key, (C++ - const lvar_locator_t &)
Returns: lvar_mapping_iterator_t

lvar_mapping_first(p)

 

Get reference to the current map key.

Parameters:
  • p, (C++ - lvar_mapping_iterator_t)
Returns: lvar_locator_t

lvar_mapping_free(map)

 

Delete lvar_mapping_t instance.

Parameters:
  • map, (C++ - lvar_mapping_t *)

lvar_mapping_insert(map, key, val)

 

Insert new ( 'lvar_locator_t' , 'lvar_locator_t' ) pair into lvar_mapping_t.

Parameters:
  • map, (C++ - lvar_mapping_t *)
  • key, (C++ - const lvar_locator_t &)
  • val, (C++ - const lvar_locator_t &)
Returns: lvar_mapping_iterator_t

lvar_mapping_next(p)

 

Move to the next element.

Parameters:
  • p, (C++ - lvar_mapping_iterator_t)
Returns: lvar_mapping_iterator_t

lvar_mapping_prev(p)

 

Move to the previous element.

Parameters:
  • p, (C++ - lvar_mapping_iterator_t)
Returns: lvar_mapping_iterator_t

lvar_mapping_second(p)

 

Get reference to the current map value.

Parameters:
  • p, (C++ - lvar_mapping_iterator_t)
Returns: lvar_locator_t

lvar_mapping_size(map)

 

Get size of lvar_mapping_t.

Parameters:
  • map, (C++ - lvar_mapping_t *)
Returns: size_t

make_pointer(type)

 

Create a pointer type. This function performs the following conversion: "type" -> "type*"

Parameters:
  • type - object type. (C++: const tinfo_t &)
Returns: tinfo_t
"type*". for example, if 'char' is passed as the argument,

mark_cfunc_dirty(ea, close_views=False)

 

Flush the cached decompilation results. Erases a cache entry for the specified function.

Parameters:
  • ea - function to erase from the cache (C++: ea_t)
  • close_views - close pseudocode windows that show the function (C++: bool)
Returns: bool
if a cache entry existed.

modify_user_lvar_info(func_ea, mli_flags, info)

 

Modify saved local variable settings.

Parameters:
  • func_ea, (C++ - ea_t)
  • mli_flags - bits that specify which attrs defined by INFO are to be set (C++: uint)
  • info - local variable info attrs (C++: const lvar_saved_info_t &)
Returns: bool
true if modified, false if invalid MLI_FLAGS passed

modify_user_lvars(entry_ea, mlv)

 

Modify saved local variable settings.

Parameters:
  • entry_ea - function start address (C++: ea_t)
  • mlv - local variable modifier (C++: user_lvar_modifier_t &)
Returns: bool
true if modified variables

mreg2reg(reg, width)

 

Map a microregister to a processor register.

Parameters:
  • reg - microregister number (C++: mreg_t)
  • width - size of microregister in bytes (C++: int)
Returns: int
processor register id or -1

must_mcode_close_block(mcode, including_calls)

 

Must an instruction with the given opcode be the last one in a block? Such opcodes are called closing opcodes.

Parameters:
  • mcode - instruction opcode (C++: mcode_t)
  • including_calls - should m_call/m_icall be considered as the closing opcodes? If this function returns true, the opcode cannot appear in the middle of a block. Calls are a special case because before MMAT_CALLS they are closing opcodes. Afteer MMAT_CALLS that are not considered as closing opcodes. (C++: bool)
Returns: bool

negated_relation(op)

 

Negate a comparison operator. For example, cot_sge becomes cot_slt.

Parameters:
  • op, (C++ - ctype_t)
Returns: ctype_t

op_uses_x(op)

 

Does operator use the 'x' field of 'cexpr_t' ?

Parameters:
  • op, (C++ - ctype_t)
Returns: bool

op_uses_y(op)

 

Does operator use the 'y' field of 'cexpr_t' ?

Parameters:
  • op, (C++ - ctype_t)
Returns: bool

op_uses_z(op)

 

Does operator use the 'z' field of 'cexpr_t' ?

Parameters:
  • op, (C++ - ctype_t)
Returns: bool

open_pseudocode(ea, new_window)

 

Open pseudocode window. The specified function is decompiled and the pseudocode window is opened.

Parameters:
  • ea - function to decompile (C++: ea_t)
  • new_window - 0:reuse existing window; 1:open new window; -1: reuse existing window if the current view is pseudocode (C++: int)
Returns: vdui_t
false if failed

parse_user_call(udc, decl, silent)

 

Convert function type declaration into internal structure

Parameters:
  • udc - - pointer to output structure (C++: udcall_t *)
  • decl - - function type declaration (C++: const char *)
  • silent - - if TRUE: do not show warning in case of incorrect type (C++: bool)
Returns: bool
success

partial_type_num(type)

 

Calculate number of partial subtypes.

Parameters:
  • type, (C++ - const tinfo_t &)
Returns: int
number of partial subtypes. The bigger is this number, the uglier is the type.

print_vdloc(loc, nbytes)

 

Print vdloc. Since vdloc does not always carry the size info, we pass it as NBYTES..

Parameters:
  • loc, (C++ - const vdloc_t &)
  • nbytes, (C++ - int)

reg2mreg(reg)

 

Map a processor register to a microregister.

Parameters:
  • reg - processor register number (C++: int)
Returns: mreg_t
microregister register id or mr_none

remove_hexrays_callback(callback)

 

Deprecated. Please use Hexrays_Hooks instead

restore_user_cmts(func_ea)

 

Restore user defined comments from the database.

Parameters:
  • func_ea - the entry address of the function (C++: ea_t)
Returns: user_cmts_t
collection of user defined comments. The returned object must be deleted by the caller using delete_user_cmts()

restore_user_defined_calls(udcalls, func_ea)

 

Restore user defined function calls from the database.

Parameters:
  • udcalls - ptr to output buffer (C++: udcall_map_t *)
  • func_ea - entry address of the function (C++: ea_t)
Returns: bool
success

restore_user_iflags(func_ea)

 

Restore user defined citem iflags from the database.

Parameters:
  • func_ea - the entry address of the function (C++: ea_t)
Returns: user_iflags_t
collection of user defined iflags. The returned object must be deleted by the caller using delete_user_iflags()

restore_user_labels(func_ea)

 

Restore user defined labels from the database.

Parameters:
  • func_ea - the entry address of the function (C++: ea_t)
Returns: user_labels_t
collection of user defined labels. The returned object must be deleted by the caller using delete_user_labels()

restore_user_lvar_settings(lvinf, func_ea)

 

Restore user defined local variable settings in the database.

Parameters:
  • lvinf - ptr to output buffer (C++: lvar_uservec_t *)
  • func_ea - entry address of the function (C++: ea_t)
Returns: bool
success

restore_user_numforms(func_ea)

 

Restore user defined number formats from the database.

Parameters:
  • func_ea - the entry address of the function (C++: ea_t)
Returns: user_numforms_t
collection of user defined number formats. The returned object must be deleted by the caller using delete_user_numforms()

restore_user_unions(func_ea)

 

Restore user defined union field selections from the database.

Parameters:
  • func_ea - the entry address of the function (C++: ea_t)
Returns: user_unions_t
collection of union field selections The returned object must be deleted by the caller using delete_user_unions()

save_user_cmts(func_ea, user_cmts)

 

Save user defined comments into the database.

Parameters:
  • func_ea - the entry address of the function (C++: ea_t)
  • user_cmts - collection of user defined comments (C++: const user_cmts_t *)

save_user_defined_calls(func_ea, udcalls)

 

Save user defined local function calls into the database.

Parameters:
  • func_ea - entry address of the function (C++: ea_t)
  • udcalls - user-specified info about user defined function calls (C++: const udcall_map_t &)

save_user_iflags(func_ea, iflags)

 

Save user defined citem iflags into the database.

Parameters:
  • func_ea - the entry address of the function (C++: ea_t)
  • iflags - collection of user defined citem iflags (C++: const user_iflags_t *)

save_user_labels(func_ea, user_labels)

 

Save user defined labels into the database.

Parameters:
  • func_ea - the entry address of the function (C++: ea_t)
  • user_labels - collection of user defined labels (C++: const user_labels_t *)

save_user_lvar_settings(func_ea, lvinf)

 

Save user defined local variable settings into the database.

Parameters:
  • func_ea - entry address of the function (C++: ea_t)
  • lvinf - user-specified info about local variables (C++: const lvar_uservec_t &)

save_user_numforms(func_ea, numforms)

 

Save user defined number formats into the database.

Parameters:
  • func_ea - the entry address of the function (C++: ea_t)
  • numforms - collection of user defined comments (C++: const user_numforms_t *)

save_user_unions(func_ea, unions)

 

Save user defined union field selections into the database.

Parameters:
  • func_ea - the entry address of the function (C++: ea_t)
  • unions - collection of union field selections (C++: const user_unions_t *)

select_udt_by_offset(udts, ops, applicator)

 

Select UDT

Parameters:
  • udts - list of UDT tinfo_t for the selection, if NULL or empty then UDTs from the "Local types" will be used (C++: const qvector < tinfo_t > *)
  • ops - operands (C++: const ui_stroff_ops_t &)
  • applicator, (C++ - ui_stroff_applicator_t &)
Returns: int

send_database(err, silent)

 

Send the database to Hex-Rays. This function sends the current database to the Hex-Rays server. The database is sent in the compressed form over an encrypted (SSL) connection.

Parameters:
  • err - failure description object. Empty hexrays_failure_t object can be used if error information is not available. (C++: const hexrays_failure_t &)
  • silent - if false, a dialog box will be displayed before sending the database. (C++: bool)

set_type(id, tif, source, force=False)

 

Set a global type.

Parameters:
  • id - address or id of the object (C++: uval_t)
  • tif - new type info (C++: const tinfo_t &)
  • source - where the type comes from (C++: type_source_t)
  • force - true means to set the type as is, false means to merge the new type with the possibly existing old type info. (C++: bool)
Returns: bool
success

swapped_relation(op)

 

Swap a comparison operator. For example, cot_sge becomes cot_sle.

Parameters:
  • op, (C++ - ctype_t)
Returns: ctype_t

udcall_map_begin(map)

 

Get iterator pointing to the beginning of udcall_map_t.

Parameters:
  • map, (C++ - const udcall_map_t *)
Returns: udcall_map_iterator_t

udcall_map_clear(map)

 

Clear udcall_map_t.

Parameters:
  • map, (C++ - udcall_map_t *)

udcall_map_end(map)

 

Get iterator pointing to the end of udcall_map_t.

Parameters:
  • map, (C++ - const udcall_map_t *)
Returns: udcall_map_iterator_t

udcall_map_erase(map, p)

 

Erase current element from udcall_map_t.

Parameters:
  • map, (C++ - udcall_map_t *)
  • p, (C++ - udcall_map_iterator_t)

udcall_map_find(map, key)

 

Find the specified key in udcall_map_t.

Parameters:
  • map, (C++ - const udcall_map_t *)
  • key, (C++ - const ea_t &)
Returns: udcall_map_iterator_t

udcall_map_first(p)

 

Get reference to the current map key.

Parameters:
  • p, (C++ - udcall_map_iterator_t)
Returns: ea_t const &

udcall_map_free(map)

 

Delete udcall_map_t instance.

Parameters:
  • map, (C++ - udcall_map_t *)

udcall_map_insert(map, key, val)

 

Insert new (ea_t, 'udcall_t' ) pair into udcall_map_t.

Parameters:
  • map, (C++ - udcall_map_t *)
  • key, (C++ - const ea_t &)
  • val, (C++ - const udcall_t &)
Returns: udcall_map_iterator_t

udcall_map_next(p)

 

Move to the next element.

Parameters:
  • p, (C++ - udcall_map_iterator_t)
Returns: udcall_map_iterator_t

udcall_map_prev(p)

 

Move to the previous element.

Parameters:
  • p, (C++ - udcall_map_iterator_t)
Returns: udcall_map_iterator_t

udcall_map_second(p)

 

Get reference to the current map value.

Parameters:
  • p, (C++ - udcall_map_iterator_t)
Returns: udcall_t

udcall_map_size(map)

 

Get size of udcall_map_t.

Parameters:
  • map, (C++ - udcall_map_t *)
Returns: size_t

user_cmts_begin(map)

 

Get iterator pointing to the beginning of user_cmts_t.

Parameters:
  • map, (C++ - const user_cmts_t *)
Returns: user_cmts_iterator_t

user_cmts_clear(map)

 

Clear user_cmts_t.

Parameters:
  • map, (C++ - user_cmts_t *)

user_cmts_end(map)

 

Get iterator pointing to the end of user_cmts_t.

Parameters:
  • map, (C++ - const user_cmts_t *)
Returns: user_cmts_iterator_t

user_cmts_erase(map, p)

 

Erase current element from user_cmts_t.

Parameters:
  • map, (C++ - user_cmts_t *)
  • p, (C++ - user_cmts_iterator_t)

user_cmts_find(map, key)

 

Find the specified key in user_cmts_t.

Parameters:
  • map, (C++ - const user_cmts_t *)
  • key, (C++ - const treeloc_t &)
Returns: user_cmts_iterator_t

user_cmts_first(p)

 

Get reference to the current map key.

Parameters:
  • p, (C++ - user_cmts_iterator_t)
Returns: treeloc_t

user_cmts_free(map)

 

Delete user_cmts_t instance.

Parameters:
  • map, (C++ - user_cmts_t *)

user_cmts_insert(map, key, val)

 

Insert new ( 'treeloc_t' , 'citem_cmt_t' ) pair into user_cmts_t.

Parameters:
  • map, (C++ - user_cmts_t *)
  • key, (C++ - const treeloc_t &)
  • val, (C++ - const citem_cmt_t &)
Returns: user_cmts_iterator_t

user_cmts_next(p)

 

Move to the next element.

Parameters:
  • p, (C++ - user_cmts_iterator_t)
Returns: user_cmts_iterator_t

user_cmts_prev(p)

 

Move to the previous element.

Parameters:
  • p, (C++ - user_cmts_iterator_t)
Returns: user_cmts_iterator_t

user_cmts_second(p)

 

Get reference to the current map value.

Parameters:
  • p, (C++ - user_cmts_iterator_t)
Returns: citem_cmt_t

user_cmts_size(map)

 

Get size of user_cmts_t.

Parameters:
  • map, (C++ - user_cmts_t *)
Returns: size_t

user_iflags_begin(map)

 

Get iterator pointing to the beginning of user_iflags_t.

Parameters:
  • map, (C++ - const user_iflags_t *)
Returns: user_iflags_iterator_t

user_iflags_clear(map)

 

Clear user_iflags_t.

Parameters:
  • map, (C++ - user_iflags_t *)

user_iflags_end(map)

 

Get iterator pointing to the end of user_iflags_t.

Parameters:
  • map, (C++ - const user_iflags_t *)
Returns: user_iflags_iterator_t

user_iflags_erase(map, p)

 

Erase current element from user_iflags_t.

Parameters:
  • map, (C++ - user_iflags_t *)
  • p, (C++ - user_iflags_iterator_t)

user_iflags_find(map, key)

 

Find the specified key in user_iflags_t.

Parameters:
  • map, (C++ - const user_iflags_t *)
  • key, (C++ - const citem_locator_t &)
Returns: user_iflags_iterator_t

user_iflags_first(p)

 

Get reference to the current map key.

Parameters:
  • p, (C++ - user_iflags_iterator_t)
Returns: citem_locator_t

user_iflags_free(map)

 

Delete user_iflags_t instance.

Parameters:
  • map, (C++ - user_iflags_t *)

user_iflags_insert(map, key, val)

 

Insert new ( 'citem_locator_t' , int32) pair into user_iflags_t.

Parameters:
  • map, (C++ - user_iflags_t *)
  • key, (C++ - const citem_locator_t &)
  • val, (C++ - const int32 &)
Returns: user_iflags_iterator_t

user_iflags_next(p)

 

Move to the next element.

Parameters:
  • p, (C++ - user_iflags_iterator_t)
Returns: user_iflags_iterator_t

user_iflags_prev(p)

 

Move to the previous element.

Parameters:
  • p, (C++ - user_iflags_iterator_t)
Returns: user_iflags_iterator_t

user_iflags_second(p)

 

Get reference to the current map value.

Parameters:
  • p, (C++ - user_iflags_iterator_t)
Returns: int32 const &

user_iflags_size(map)

 

Get size of user_iflags_t.

Parameters:
  • map, (C++ - user_iflags_t *)
Returns: size_t

user_labels_begin(map)

 

Get iterator pointing to the beginning of user_labels_t.

Parameters:
  • map, (C++ - const user_labels_t *)
Returns: user_labels_iterator_t

user_labels_clear(map)

 

Clear user_labels_t.

Parameters:
  • map, (C++ - user_labels_t *)

user_labels_end(map)

 

Get iterator pointing to the end of user_labels_t.

Parameters:
  • map, (C++ - const user_labels_t *)
Returns: user_labels_iterator_t

user_labels_erase(map, p)

 

Erase current element from user_labels_t.

Parameters:
  • map, (C++ - user_labels_t *)
  • p, (C++ - user_labels_iterator_t)

user_labels_find(map, key)

 

Find the specified key in user_labels_t.

Parameters:
  • map, (C++ - const user_labels_t *)
  • key, (C++ - const int &)
Returns: user_labels_iterator_t

user_labels_first(p)

 

Get reference to the current map key.

Parameters:
  • p, (C++ - user_labels_iterator_t)
Returns: int const &

user_labels_free(map)

 

Delete user_labels_t instance.

Parameters:
  • map, (C++ - user_labels_t *)

user_labels_insert(map, key, val)

 

Insert new (int, qstring) pair into user_labels_t.

Parameters:
  • map, (C++ - user_labels_t *)
  • key, (C++ - const int &)
  • val, (C++ - const qstring &)
Returns: user_labels_iterator_t

user_labels_next(p)

 

Move to the next element.

Parameters:
  • p, (C++ - user_labels_iterator_t)
Returns: user_labels_iterator_t

user_labels_prev(p)

 

Move to the previous element.

Parameters:
  • p, (C++ - user_labels_iterator_t)
Returns: user_labels_iterator_t

user_labels_second(p)

 

Get reference to the current map value.

Parameters:
  • p, (C++ - user_labels_iterator_t)
Returns: qstring &

user_labels_size(map)

 

Get size of user_labels_t.

Parameters:
  • map, (C++ - user_labels_t *)
Returns: size_t

user_numforms_begin(map)

 

Get iterator pointing to the beginning of user_numforms_t.

Parameters:
  • map, (C++ - const user_numforms_t *)
Returns: user_numforms_iterator_t

user_numforms_clear(map)

 

Clear user_numforms_t.

Parameters:
  • map, (C++ - user_numforms_t *)

user_numforms_end(map)

 

Get iterator pointing to the end of user_numforms_t.

Parameters:
  • map, (C++ - const user_numforms_t *)
Returns: user_numforms_iterator_t

user_numforms_erase(map, p)

 

Erase current element from user_numforms_t.

Parameters:
  • map, (C++ - user_numforms_t *)
  • p, (C++ - user_numforms_iterator_t)

user_numforms_find(map, key)

 

Find the specified key in user_numforms_t.

Parameters:
  • map, (C++ - const user_numforms_t *)
  • key, (C++ - const operand_locator_t &)
Returns: user_numforms_iterator_t

user_numforms_first(p)

 

Get reference to the current map key.

Parameters:
  • p, (C++ - user_numforms_iterator_t)
Returns: operand_locator_t

user_numforms_free(map)

 

Delete user_numforms_t instance.

Parameters:
  • map, (C++ - user_numforms_t *)

user_numforms_insert(map, key, val)

 

Insert new ( 'operand_locator_t' , 'number_format_t' ) pair into user_numforms_t.

Parameters:
  • map, (C++ - user_numforms_t *)
  • key, (C++ - const operand_locator_t &)
  • val, (C++ - const number_format_t &)
Returns: user_numforms_iterator_t

user_numforms_next(p)

 

Move to the next element.

Parameters:
  • p, (C++ - user_numforms_iterator_t)
Returns: user_numforms_iterator_t

user_numforms_prev(p)

 

Move to the previous element.

Parameters:
  • p, (C++ - user_numforms_iterator_t)
Returns: user_numforms_iterator_t

user_numforms_second(p)

 

Get reference to the current map value.

Parameters:
  • p, (C++ - user_numforms_iterator_t)
Returns: number_format_t

user_numforms_size(map)

 

Get size of user_numforms_t.

Parameters:
  • map, (C++ - user_numforms_t *)
Returns: size_t

user_unions_begin(map)

 

Get iterator pointing to the beginning of user_unions_t.

Parameters:
  • map, (C++ - const user_unions_t *)
Returns: user_unions_iterator_t

user_unions_clear(map)

 

Clear user_unions_t.

Parameters:
  • map, (C++ - user_unions_t *)

user_unions_end(map)

 

Get iterator pointing to the end of user_unions_t.

Parameters:
  • map, (C++ - const user_unions_t *)
Returns: user_unions_iterator_t

user_unions_erase(map, p)

 

Erase current element from user_unions_t.

Parameters:
  • map, (C++ - user_unions_t *)
  • p, (C++ - user_unions_iterator_t)

user_unions_find(map, key)

 

Find the specified key in user_unions_t.

Parameters:
  • map, (C++ - const user_unions_t *)
  • key, (C++ - const ea_t &)
Returns: user_unions_iterator_t

user_unions_first(p)

 

Get reference to the current map key.

Parameters:
  • p, (C++ - user_unions_iterator_t)
Returns: ea_t const &

user_unions_free(map)

 

Delete user_unions_t instance.

Parameters:
  • map, (C++ - user_unions_t *)

user_unions_insert(map, key, val)

 

Insert new (ea_t, intvec_t) pair into user_unions_t.

Parameters:
  • map, (C++ - user_unions_t *)
  • key, (C++ - const ea_t &)
  • val, (C++ - const intvec_t &)
Returns: user_unions_iterator_t

user_unions_next(p)

 

Move to the next element.

Parameters:
  • p, (C++ - user_unions_iterator_t)
Returns: user_unions_iterator_t

user_unions_prev(p)

 

Move to the previous element.

Parameters:
  • p, (C++ - user_unions_iterator_t)
Returns: user_unions_iterator_t

user_unions_second(p)

 

Get reference to the current map value.

Parameters:
  • p, (C++ - user_unions_iterator_t)
Returns: intvec_t

user_unions_size(map)

 

Get size of user_unions_t.

Parameters:
  • map, (C++ - user_unions_t *)
Returns: size_t