| 
           
            
              
                AsmWord
              
            
           
         | 
        
          
            
              
             
            
              
             
            
              
            
            
               Represents a smallest chunk of an assembly statement. Specifically, we
 divide an assembly statement into a series of AsmWords, each of which
 represents a chunk of the assembly statement. For example, the assembly
 statement "mov eax, 1" can be divided into five AsmWords: "mov", " ", "eax",
 ", ", and "1". The first AsmWord is a mnemonic, the second is a space
 character, the third is a variable (register), the fourth is a space
 character, and the fifth is a value (immediate).
             
           
         | 
      
      
        | 
           
            
              
                AsmWordDisasmBuilder
              
            
           
         | 
        
          
            
              
             
            
              
             
            
              
            
            
               Represents a disassembly builder that accumulates .
             
           
         | 
      
      
        | 
           
            
              
                AsmWordKind
              
            
           
         | 
        
          
            
              
             
            
              
             
            
              
            
            
               Represents a kind of a assembly word.
             
           
         | 
      
      
        | 
           
            
              
                BinReader
              
            
           
         | 
        
          
            
              
             
            
              
             
            
              
            
            
               Provides a function to instantiate a binary reader that implements .
             
           
         | 
      
      
        | 
           
            
              
                ByteSpan
              
            
           
         | 
        
          
            
              
             
            
              
             
            
              
            
            
              
 Represents a read-only span for byte arrays. This is a type alias for
 ReadOnlySpan<byte>. We define this alias because B2R2 uses this
 type quite frequently.
 
             
           
         | 
      
      
        | 
           
            
              
                ConditionCodeOp
              
            
           
         | 
        
          
            
              
             
            
              
             
            
              
            
            
               Represents a lastly used opcode, which can be lazily remembered by an
 emulator to compute condition flags.
             
           
         | 
      
      
        | 
           
            
              
                ConstantFolding
              
            
           
         | 
        
          
            
              
             
            
              
             
            
              
            
            
               Provides a function that performs a constant folding optimization for the
 lifted IR statements. This function assumes that the statements are
 localized, i.e., they represent a basic block.
             
           
         | 
      
      
        | 
           
            
              
                DeadCodeElimination
              
            
           
         | 
        
          
            
              
             
            
              
             
            
              
            
            
               Provides a function that performs dead code elimination for the lifted IR
 statements. This function assumes that the statements are localized, i.e.,
 they represent a basic block.
             
           
         | 
      
      
        | 
           
            
              
                DisasmSyntax
              
            
           
         | 
        
          
            
              
             
            
              
             
            
              
            
            
               Represents the disassembly syntax.
             
           
         | 
      
      
        | 
           
            
              
                IBinReader
              
            
           
         | 
        
          
            
              
             
            
              
             
            
              
            
            
               Provides an interface for reading byte sequences from a byte array (or a
 ByteSpan). The endianness is determined by the implementation of the
 interface.
             
           
         | 
      
      
        | 
           
            
              
                IDisasmBuilder
              
            
           
         | 
        
          
            
              
             
            
              
             
            
              
            
            
               Provides an interface for producing disassembly, which is used to accumulate
 disassembly strings and to return them as a single string or an array of
 AsmWords when requested.
             
           
         | 
      
      
        | 
           
            
              
                IInstruction
              
            
           
         | 
        
          
            
              
             
            
              
             
            
              
            
            
               Represents a single machine instruction in a platform-independent manner.
 It provides useful methods for accessing useful information about the
 instruction.
             
           
         | 
      
      
        | 
           
            
              
                IInstructionParsable
              
            
           
         | 
        
          
            
              
             
            
              
             
            
              
            
            
               Provides an interface for parsing binary instructions.
             
           
         | 
      
      
        | 
           
            
              
                IIRBlockOptimizable
              
            
           
         | 
        
          
            
              
             
            
              
             
            
              
            
            
               Provides an interface for optimizing a block of IR statements.
             
           
         | 
      
      
        | 
           
            
              
                ILowUIRBuilder
              
            
           
         | 
        
          
            
              
             
            
              
             
            
              
            
            
               Provides a common functionality for building LowUIR statements from
 instructions. Some CPU architectures may extend this interface to provide
 additional functionalities, although most architectures will simply
 implement the default implementation as is.
             
           
         | 
      
      
        | 
           
            
              
                INameReadable
              
            
           
         | 
        
          
            
              
             
            
              
             
            
              
            
            
               Represents an interface for reading symbolic names in a binary.
             
           
         | 
      
      
        | 
           
            
              
                InvalidOpcodeException
              
            
           
         | 
        
          
            
              
             
            
              
             
            
              
            
            
               Raised when an invalid opcode has been encountered during parsing/lifting.
             
           
         | 
      
      
        | 
           
            
              
                InvalidOperandException
              
            
           
         | 
        
          
            
              
             
            
              
             
            
              
            
            
               Raised when an invalid operand has been encountered during parsing/lifting.
             
           
         | 
      
      
        | 
           
            
              
                InvalidOperandSizeException
              
            
           
         | 
        
          
            
              
             
            
              
             
            
              
            
            
               Raised when an invalid operand type has been encountered during
 parsing/lifting.
             
           
         | 
      
      
        | 
           
            
              
                InvalidRegisterException
              
            
           
         | 
        
          
            
              
             
            
              
             
            
              
            
            
               Raised when an invalid register has been encountered during parsing/lifting.
             
           
         | 
      
      
        | 
           
            
              
                IRegisterFactory
              
            
           
         | 
        
          
            
              
             
            
              
             
            
              
            
            
               Provides a platform-agnostic interface for accessing register information.
             
           
         | 
      
      
        | 
           
            
              
                LiftingUtils
              
            
           
         | 
        
          
            
              
             
            
              
             
            
              
            
            
               Provides several utility functions for lifting binary code to IR.
             
           
         | 
      
      
        | 
           
            
              
                LocalOptimizer
              
            
           
         | 
        
          
            
              
             
            
              
             
            
              
            
            
               Represents an intra-block local IR optimizer.
             
           
         | 
      
      
        | 
           
            
              
                LowUIRStream
              
            
           
         | 
        
          
            
              
             
            
              
             
            
              
            
            
               Provides a stream for building LowUIR statements. This will accumulate
 LowUIR statements and return them as an array when requested. It also
 maintains internal counters for temporary variables and labels to avoid
 name collisions.
             
           
         | 
      
      
        | 
           
            
              
                NotImplementedIRException
              
            
           
         | 
        
          
            
              
             
            
              
             
            
              
            
            
              
 Raised when the IR is not implemented yet.
 
             
           
         | 
      
      
        | 
           
            
              
                ParsingFailureException
              
            
           
         | 
        
          
            
              
             
            
              
             
            
              
            
            
               Raised when parsing binary code failed. This exception indicates a
 non-recoverable parsing failure.
             
           
         | 
      
      
        | 
           
            
              
                ParsingUtils
              
            
           
         | 
        
          
            
              
             
            
              
             
            
              
            
            
               Provides several utility functions to parse binary code.
             
           
         | 
      
      
        | 
           
            
              
                StringDisasmBuilder
              
            
           
         | 
        
          
            
              
             
            
              
             
            
              
            
            
               Represents a disassembly builder that simply accumulates strings without any
 type annotation.
             
           
         |