code_inference_postprocess
- code_in_refined_block(ea:address, block:address)
Uses:
must_fallthrough
Used by:
+disconnected4
,+disconnected5
,block_has_non_nop
,cfg_edge
,fde_instruction_block_offset
,refined_block_last_instruction
Recursive:
data_object_conflict
,labeled_data_candidate
,boundary_sym_expr
,symbolic_expr_symbol_minus_symbol
,data_object
,resolved_transfer
,function_inference.function_entry
,string_candidate
,moved_data_label
,labeled_ea
,value_reg_address_before
,code_pointer_in_data
,moved_label_candidate
,symbolic_operand_point
,discarded_jump_table_entry
,data_object_total_points
,inferred_special_symbol
,data_limit
,next_data_limit
,code_in_refined_block
,data_access_limit
,symbol_minus_symbol_from_relocation
,+disconnected3
,moved_displacement_candidate
,best_func_symbol
,main_function
,data_object_point
,data_limit_after_access
,symbolic_data
,string_candidate_refined
,preferred_data_access
,address_array
,symbolic_expr
,split_block
,refined_block
,moved_label
,moved_pc_relative_candidate
,+disconnected6
,code_in_split_block
,+disconnected2
,after_address_in_data
,address_array_aux
,next_address_in_data
,best_symexpr_symbol
,data_object_candidate
,symbolic_expr_attribute
,+disconnected1
,symbolic_operand_attribute
,symbolic_operand
,got_reference
,block_needs_splitting_at
,jump_table
,label_conflict
,symbol_minus_symbol
,block_needs_merging
,relative_jump_table_entry
,base_relative_symbolic_operand
,symbol_minus_symbol_candidate
,discarded_data_object
,symbol_score
,inferred_main_function
- refined_block(block:address)
Used by:
cfg_edge
,fde_block_addresses
,function_inference.in_function_initial
,function_inference.not_in_function_initial
,nop_block
Recursive:
data_object_conflict
,labeled_data_candidate
,boundary_sym_expr
,symbolic_expr_symbol_minus_symbol
,data_object
,resolved_transfer
,function_inference.function_entry
,string_candidate
,moved_data_label
,labeled_ea
,value_reg_address_before
,code_pointer_in_data
,moved_label_candidate
,symbolic_operand_point
,discarded_jump_table_entry
,data_object_total_points
,inferred_special_symbol
,data_limit
,next_data_limit
,code_in_refined_block
,data_access_limit
,symbol_minus_symbol_from_relocation
,+disconnected3
,moved_displacement_candidate
,best_func_symbol
,main_function
,data_object_point
,data_limit_after_access
,symbolic_data
,string_candidate_refined
,preferred_data_access
,address_array
,symbolic_expr
,split_block
,refined_block
,moved_label
,moved_pc_relative_candidate
,+disconnected6
,code_in_split_block
,+disconnected2
,after_address_in_data
,address_array_aux
,next_address_in_data
,best_symexpr_symbol
,data_object_candidate
,symbolic_expr_attribute
,+disconnected1
,symbolic_operand_attribute
,symbolic_operand
,got_reference
,block_needs_splitting_at
,jump_table
,label_conflict
,symbol_minus_symbol
,block_needs_merging
,relative_jump_table_entry
,base_relative_symbolic_operand
,symbol_minus_symbol_candidate
,discarded_data_object
,symbol_score
,inferred_main_function
- block_information(Block:address, Size:unsigned, StartAddress:address, EndAddress:address)
- refined_block_last_instruction(block:address, EA:address)
- refined_block_control_instruction(block:address, EA:address)
Used by:
cfg_edge
,cfg_edge_to_symbol
,cfg_edge_to_top
- block_needs_splitting_at(EA:address)
Uses:
cinf_ldr_add_pc
,code_in_block
,jump_table_candidate_refined
,padding_prefix_end
Recursive:
data_object_conflict
,labeled_data_candidate
,boundary_sym_expr
,symbolic_expr_symbol_minus_symbol
,data_object
,resolved_transfer
,function_inference.function_entry
,string_candidate
,moved_data_label
,labeled_ea
,value_reg_address_before
,code_pointer_in_data
,moved_label_candidate
,symbolic_operand_point
,discarded_jump_table_entry
,data_object_total_points
,inferred_special_symbol
,data_limit
,next_data_limit
,code_in_refined_block
,data_access_limit
,symbol_minus_symbol_from_relocation
,+disconnected3
,moved_displacement_candidate
,best_func_symbol
,main_function
,data_object_point
,data_limit_after_access
,symbolic_data
,string_candidate_refined
,preferred_data_access
,address_array
,symbolic_expr
,split_block
,refined_block
,moved_label
,moved_pc_relative_candidate
,+disconnected6
,code_in_split_block
,+disconnected2
,after_address_in_data
,address_array_aux
,next_address_in_data
,best_symexpr_symbol
,data_object_candidate
,symbolic_expr_attribute
,+disconnected1
,symbolic_operand_attribute
,symbolic_operand
,got_reference
,block_needs_splitting_at
,jump_table
,label_conflict
,symbol_minus_symbol
,block_needs_merging
,relative_jump_table_entry
,base_relative_symbolic_operand
,symbol_minus_symbol_candidate
,discarded_data_object
,symbol_score
,inferred_main_function
- code_in_split_block(ea:address, block:address)
Uses:
code_in_block
,next
Recursive:
data_object_conflict
,labeled_data_candidate
,boundary_sym_expr
,symbolic_expr_symbol_minus_symbol
,data_object
,resolved_transfer
,function_inference.function_entry
,string_candidate
,moved_data_label
,labeled_ea
,value_reg_address_before
,code_pointer_in_data
,moved_label_candidate
,symbolic_operand_point
,discarded_jump_table_entry
,data_object_total_points
,inferred_special_symbol
,data_limit
,next_data_limit
,code_in_refined_block
,data_access_limit
,symbol_minus_symbol_from_relocation
,+disconnected3
,moved_displacement_candidate
,best_func_symbol
,main_function
,data_object_point
,data_limit_after_access
,symbolic_data
,string_candidate_refined
,preferred_data_access
,address_array
,symbolic_expr
,split_block
,refined_block
,moved_label
,moved_pc_relative_candidate
,+disconnected6
,code_in_split_block
,+disconnected2
,after_address_in_data
,address_array_aux
,next_address_in_data
,best_symexpr_symbol
,data_object_candidate
,symbolic_expr_attribute
,+disconnected1
,symbolic_operand_attribute
,symbolic_operand
,got_reference
,block_needs_splitting_at
,jump_table
,label_conflict
,symbol_minus_symbol
,block_needs_merging
,relative_jump_table_entry
,base_relative_symbolic_operand
,symbol_minus_symbol_candidate
,discarded_data_object
,symbol_score
,inferred_main_function
- split_block(block:address)
Uses:
block
Recursive:
data_object_conflict
,labeled_data_candidate
,boundary_sym_expr
,symbolic_expr_symbol_minus_symbol
,data_object
,resolved_transfer
,function_inference.function_entry
,string_candidate
,moved_data_label
,labeled_ea
,value_reg_address_before
,code_pointer_in_data
,moved_label_candidate
,symbolic_operand_point
,discarded_jump_table_entry
,data_object_total_points
,inferred_special_symbol
,data_limit
,next_data_limit
,code_in_refined_block
,data_access_limit
,symbol_minus_symbol_from_relocation
,+disconnected3
,moved_displacement_candidate
,best_func_symbol
,main_function
,data_object_point
,data_limit_after_access
,symbolic_data
,string_candidate_refined
,preferred_data_access
,address_array
,symbolic_expr
,split_block
,refined_block
,moved_label
,moved_pc_relative_candidate
,+disconnected6
,code_in_split_block
,+disconnected2
,after_address_in_data
,address_array_aux
,next_address_in_data
,best_symexpr_symbol
,data_object_candidate
,symbolic_expr_attribute
,+disconnected1
,symbolic_operand_attribute
,symbolic_operand
,got_reference
,block_needs_splitting_at
,jump_table
,label_conflict
,symbol_minus_symbol
,block_needs_merging
,relative_jump_table_entry
,base_relative_symbolic_operand
,symbol_minus_symbol_candidate
,discarded_data_object
,symbol_score
,inferred_main_function
- block_needs_merging(block:address)
Uses:
code_in_block
,defined_symbol
,dynamic_entry
,entry_point
,fde_addresses
,function_symbol
,instruction_has_loop_prefix
,loaded_section
,must_fallthrough
Recursive:
data_object_conflict
,labeled_data_candidate
,boundary_sym_expr
,symbolic_expr_symbol_minus_symbol
,data_object
,resolved_transfer
,function_inference.function_entry
,string_candidate
,moved_data_label
,labeled_ea
,value_reg_address_before
,code_pointer_in_data
,moved_label_candidate
,symbolic_operand_point
,discarded_jump_table_entry
,data_object_total_points
,inferred_special_symbol
,data_limit
,next_data_limit
,code_in_refined_block
,data_access_limit
,symbol_minus_symbol_from_relocation
,+disconnected3
,moved_displacement_candidate
,best_func_symbol
,main_function
,data_object_point
,data_limit_after_access
,symbolic_data
,string_candidate_refined
,preferred_data_access
,address_array
,symbolic_expr
,split_block
,refined_block
,moved_label
,moved_pc_relative_candidate
,+disconnected6
,code_in_split_block
,+disconnected2
,after_address_in_data
,address_array_aux
,next_address_in_data
,best_symexpr_symbol
,data_object_candidate
,symbolic_expr_attribute
,+disconnected1
,symbolic_operand_attribute
,symbolic_operand
,got_reference
,block_needs_splitting_at
,jump_table
,label_conflict
,symbol_minus_symbol
,block_needs_merging
,relative_jump_table_entry
,base_relative_symbolic_operand
,symbol_minus_symbol_candidate
,discarded_data_object
,symbol_score
,inferred_main_function
- next_refined_block_in_byte_interval(Block:address, NextBlock:address)
Blocks are either contiguous or separated by data segments This assumes there are no remaining overlapping blocks. This is similar to next_block_in_byte_interval, but this uses the refined block information (i.e., block_information).
Uses:
block_information
,data_in_code
Used by:
function_inference.in_function
- padding(EA:address, Size:unsigned)
Uses:
after_end
,block_information
,is_padding
,next
,nop_block
- block_has_non_nop(Block:address)
Uses:
arch.is_nop
,code_in_refined_block
Used by:
nop_block
- nop_block(Block:address)
Uses:
block_has_non_nop
,refined_block
- padding_prefix(EA:address, Block:address)
Uses:
arch.is_nop
,code_in_block
,next
Used by:
padding_prefix_end
Recursive:
padding_prefix
- padding_prefix_end(EA:address, Block:address)
Uses:
arch.is_nop
,code_in_block
,next
,padding_prefix
Used by:
block_needs_splitting_at