BCHLibx86Types
class type cfg_loops_int = object ... end
type asm_operand_kind_t =
| Flag of BCHLibTypes.eflag_t
| Reg of BCHLibTypes.cpureg_t
| FpuReg of int
| ControlReg of int
| DebugReg of int
| MmReg of int
| XmmReg of int
| SegReg of BCHLibTypes.segment_t
| IndReg of BCHLibTypes.cpureg_t * CHNumerical.numerical_t
| SegIndReg of BCHLibTypes.segment_t
* BCHLibTypes.cpureg_t
* CHNumerical.numerical_t
| ScaledIndReg of BCHLibTypes.cpureg_t option
* BCHLibTypes.cpureg_t option
* int
* CHNumerical.numerical_t
| DoubleReg of BCHLibTypes.cpureg_t * BCHLibTypes.cpureg_t
| Imm of BCHLibTypes.immediate_int
| Absolute of BCHLibTypes.doubleword_int
| FarAbsolute of int * BCHLibTypes.doubleword_int
| SegAbsolute of BCHLibTypes.segment_t * BCHLibTypes.doubleword_int
| DummyOp
class type operand_int = object ... end
type condition_code_t =
| CcOverflow
OF = 1
*)| CcNotOverflow
OF = 0
*)| CcCarry
CF = 1
*)| CcNotCarry
CF = 0
*)| CcZero
ZF = 1
*)| CcNotZero
ZF = 0
*)| CcBelowEqual
CF = 1 or ZF = 1
*)| CcAbove
CF = 0 and ZF = 0
*)| CcSign
SF = 1
*)| CcNotSign
SF = 0
*)| CcParityEven
PF = 1
*)| CcParityOdd
PF = 0
*)| CcLess
SF != OF
*)| CcGreaterEqual
SF = OF
*)| CcLessEqual
ZF = 1 or SF != OF
*)| CcGreater
ZF = 0 and SF = OF
*)type opcode_t =
| Arpl of operand_int * operand_int
| BreakPoint
| UndefinedInstruction0 of operand_int * operand_int
| UndefinedInstruction1 of operand_int * operand_int
| UndefinedInstruction2
| TerminateBranch32
| Pause
| Halt
| InterruptReturn of bool
| ConvertLongToDouble of operand_int * operand_int
| ConvertWordToDoubleword of operand_int * operand_int
| EmptyMmx
| FlushCacheLine of operand_int
| MemoryFence
| Cpuid
| LoadFlags
| StoreFlags
| PopFlags
| PushFlags
| SetALC
| Wait
| SysCall
| LinuxSystemCall of operand_int
| SysEnter
| SysExit
| SysReturn
| WriteBackInvalidateCache
| TableLookupTranslation
| Ldmxcsr of operand_int
| Stmxcsr of operand_int
| XRestore of operand_int
| XRestoreSupervisor of operand_int
| XSave of operand_int
| XSaveSupervisor of operand_int
| InvalidateTLBEntries of operand_int
| InvalidatePCID of operand_int * operand_int
| Prefetch of string * operand_int
| XGetBV
| SerializeExecution
| ReadTimeStampCounter
| ReadModelSpecificRegister
| ReadPerformanceMonitoringCounters
| WriteModelSpecificRegister
| MiscOp of string
| MultiByteNop of int
| StoreIDTR of operand_int
| StoreGDTR of operand_int
| StoreLDTR of operand_int
| LoadGDTR of operand_int
| LoadIDTR of operand_int
| LoadLDTR of operand_int
| LoadTaskRegister of operand_int
| StoreTaskRegister of operand_int
| TimedPause of operand_int
| LoadFarPointer of operand_int * operand_int * operand_int
| BitTestComplement of operand_int * operand_int
| BitTestReset of operand_int * operand_int
| BitTestAndSet of operand_int * operand_int
| BitTest of operand_int * operand_int
| BitScanForward of operand_int * operand_int
| BitScanReverse of operand_int * operand_int
| CountTrailingZeroBits of operand_int * operand_int
| Pop of int * operand_int
| Push of int * operand_int
| PushRegisters
| PopRegisters
| Add of operand_int * operand_int
| XAdd of operand_int * operand_int
| AddCarry of operand_int * operand_int
| Sub of operand_int * operand_int
| SubBorrow of operand_int * operand_int
| Div of int * operand_int * operand_int * operand_int * operand_int
| IDiv of int * operand_int * operand_int * operand_int * operand_int
| Mul of int * operand_int * operand_int * operand_int
| IMul of int * operand_int * operand_int * operand_int
| Increment of operand_int
| Decrement of operand_int
| RdRandomize of operand_int
| ReadSeed of operand_int
| DirectCall of operand_int
| IndirectCall of operand_int
| DirectJmp of operand_int
| IndirectJmp of operand_int
| DirectLoop of operand_int
| Ret of int option
| BndRet of int option
| RepzRet
| Enter of operand_int * operand_int
| Leave
| Finit of bool
| Fclex of bool
| Fbstp of operand_int
| FLoadConstant of string * string
| FLoad of bool * int * operand_int
| FLoadState of string * int * operand_int
| FStore of bool * bool * int * operand_int
| FStoreState of string * bool * int * operand_int
| FSaveState of bool * operand_int
| FRestoreState of operand_int
| FStackOp of string * string
| FXSave of operand_int
| FXRestore of operand_int
| Fadd of bool * bool * int * operand_int * operand_int
| Fsub of bool * bool * int * operand_int * operand_int
| Fsubr of bool * bool * int * operand_int * operand_int
| Fmul of bool * bool * int * operand_int * operand_int
| Fdiv of bool * bool * int * operand_int * operand_int
| Fdivr of bool * bool * int * operand_int * operand_int
| Fcom of int * bool * int * operand_int
| Fucom of int * operand_int
| Fcomi of bool * bool * operand_int
| Fxch of operand_int
| FXmmMove of string * bool * bool * operand_int * operand_int
| FXmmOp of string * bool * bool * operand_int * operand_int
| FXmmOpEx of string * bool * bool * operand_int * operand_int * operand_int
| FXmmCompare of bool * bool * operand_int * operand_int * operand_int
| FConvert of bool * string * string * operand_int * operand_int
| Jecxz of operand_int
| Jcc of condition_code_t * operand_int
| CMovcc of condition_code_t * int * operand_int * operand_int
| Cmp of operand_int * operand_int
| CmpExchange of int * operand_int * operand_int
| CmpExchange8B of operand_int * operand_int * operand_int
| Lea of operand_int * operand_int
| Mov of int * operand_int * operand_int
| Movdw of int * operand_int * operand_int
| Movzx of int * operand_int * operand_int
| Movsx of int * operand_int * operand_int
| Movnt of bool * int * operand_int * operand_int
| Movdq of bool * operand_int * operand_int
| Xchg of operand_int * operand_int
| BSwap of operand_int
| AAA
| AAD of operand_int
| AAM of operand_int
| AAS
| DAA
| DAS
| LogicalAnd of operand_int * operand_int
| LogicalOr of operand_int * operand_int
| OnesComplementNegate of operand_int
| TwosComplementNegate of operand_int
| Test of operand_int * operand_int
| Xor of operand_int * operand_int
| Sar of operand_int * operand_int
| Shr of operand_int * operand_int
| Shl of operand_int * operand_int
| Shrd of operand_int * operand_int * operand_int
| Shld of operand_int * operand_int * operand_int
| Ror of operand_int * operand_int
| Rol of operand_int * operand_int
| Rcr of operand_int * operand_int
| Rcl of operand_int * operand_int
| Cmps of int * operand_int * operand_int
| Movs of int * operand_int * operand_int * operand_int * operand_int
| Scas of int * operand_int
| Stos of int * operand_int * operand_int * operand_int * operand_int
| Lods of int * operand_int
| RepIns of int * operand_int
| RepOuts of int * operand_int
| RepLods of int * operand_int
| RepStos of int * operand_int
| RepNeStos of int * operand_int
| RepMovs of int * operand_int * operand_int
| RepNeMovs of int * operand_int * operand_int
| RepECmps of int * operand_int * operand_int
| RepNeCmps of int * operand_int * operand_int
| RepEScas of int * operand_int
| RepNeScas of int * operand_int
| PackedOp of string * int * operand_int * operand_int
| PackedAdd of bool * bool * int * operand_int * operand_int
| PackedSubtract of bool * bool * int * operand_int * operand_int
| PackedMultiply of string * operand_int * operand_int
| PackedCompare of string * int * operand_int * operand_int
| PackedCompareString of bool * bool * operand_int * operand_int * operand_int
| PackedRoundScalarDouble of operand_int * operand_int * operand_int
| PackedShift of string * int * operand_int * operand_int
| PackedShuffle of string * operand_int * operand_int * operand_int option
| PackedExtract of int * operand_int * operand_int * operand_int
| PackedInsert of int * operand_int * operand_int * operand_int
| PackedAlignRight of operand_int * operand_int * operand_int
| PackedConvert of string * operand_int * operand_int
| Unpack of string * int * operand_int * operand_int
| VZeroAll
| VMovdq of bool * operand_int * operand_int
| VPackedOp of string * int * operand_int * operand_int * operand_int
| VPackedAdd of bool * bool * int * operand_int * operand_int * operand_int
| VPackedShift of string * int * operand_int * operand_int * operand_int
| VPackedShuffle of string * operand_int * operand_int * operand_int option
| VPackedAlignRight of operand_int * operand_int * operand_int * operand_int
| ClearCF
| ComplementCF
| SetCF
| SetDF
| ClearDF
| ClearInterruptFlag
| SetInterruptFlag
| ClearTaskSwitchedFlag
| Setcc of condition_code_t * operand_int
| InputFromPort of int * operand_int * operand_int
| OutputToPort of int * operand_int * operand_int
| InputStringFromPort of int * operand_int
| OutputStringToPort of int * operand_int
| XStoreRng
| XCrypt of string
| AESDecrypt of operand_int * operand_int
| AESDecryptLast of operand_int * operand_int
| AESEncrypt of operand_int * operand_int
| AESEncryptLast of operand_int * operand_int
| AESInvMix of operand_int * operand_int
| AESKeyGenAssist of operand_int * operand_int * operand_int
| CfNop of int * string
| CfJmp of operand_int * int * string
| JumpTableEntry of operand_int
| OpInvalid
| Unknown
| InconsistentInstr of string
| NotCode of not_code_t option
class type x86dictionary_int = object ... end
class type predefined_callsemantics_int = object ... end
type patternrhs_t =
| PConstantValue of CHNumerical.numerical_t
| PRegister of BCHLibTypes.cpureg_t
| PArgument of int
| PGlobalVar of BCHLibTypes.doubleword_int
| PUnknown
type regexpattern_t = {
regex_s : Str.regexp;
regex_f : BCHLibTypes.doubleword_int ->
string ->
string ->
predefined_callsemantics_int option;
}
class type assembly_instruction_int = object ... end
class type assembly_instructions_int = object ... end
type assembly_instruction_annotation_type_t =
| LibraryCall of string
| ApplicationCall of BCHLibTypes.doubleword_int
| Call
| Assignment
| FunctionArgument
| Jump of BCHLibTypes.doubleword_int
| Return
| RepInstruction
| NotModeled
| NoAnnotation
class type assembly_instruction_annotation_int = object ... end
class type assembly_block_int = object ... end
class type assembly_function_int = object ... end
class type assembly_functions_int = object ... end
class type code_pc_int = object ... end
class type chif_system_int = object ... end
class type disassembly_metrics_int = object ... end
class type disassembly_stats_int = object ... end
class type x86_opcode_dictionary_int = object ... end
class type x86_analysis_results_int = object ... end