## Keyboard shortcuts

Press `←` or `→` to navigate between chapters

Press `S` or `/` to search in the book

Press `?` to show this help

Press `Esc` to hide this help

# Microsoft .NET CLI Disassembler

The IDA disassembler can disassemble a portable executable (PE) file that contains Microsoft intermediate language (MSIL) code. The Common Language Infrastructure (CLI) is the ECMA standard that describes the core of the .NET Framework world.

Assembler code

    .method private hidebysig instance void UpdateDocumentRelatedTools()
                                            // CODE XREF: Infragistics.Win.Printing.UltraPrintPreviewDialog__UltraPrintPreviewDialog_Load+F6↑p
                                            // Infragistics.Win.Printing.UltraPrintPreviewDialog__ultraPrintPreviewControl1_PropertyChanged+43↑p
      {
        .maxstack 2
        .locals init (bool V0,
                      bool V1)
        ldarg.0
        ldfld    class [Infragistics2.Win.Misc.v10.1]Infragistics.Win.Printing.UltraPrintPreviewControl Infragistics.Win.Printing.UltraPrintPreviewDialog::ultraPrintPreviewControl1
        callvirt instance class [System.Drawing]System.Drawing.Printing.PrintDocument [Infragistics2.Win.Misc.v10.1]Infragistics.Win.Printing.UltraPrintPreviewControl::get_Document()
        ldnull
        ceq
        ldc.i4.0
        ceq
        stloc.0
        ldloc.0
        brfalse.s loc_588C
        ldarg.0
        ldfld    class [Infragistics2.Win.Misc.v10.1]Infragistics.Win.Printing.UltraPrintPreviewControl Infragistics.Win.Printing.UltraPrintPreviewDialog::ultraPrintPreviewControl1
        callvirt instance class [System.Drawing]System.Drawing.Printing.PrintDocument [Infragistics2.Win.Misc.v10.1]Infragistics.Win.Printing.UltraPrintPreviewControl::get_Document()
        callvirt instance class [System.Drawing]System.Drawing.Printing.PrinterSettings [System.Drawing]System.Drawing.Printing.PrintDocument::get_PrinterSettings()
        callvirt instance bool [System.Drawing]System.Drawing.Printing.PrinterSettings::get_IsValid()
        br.s     loc_588D

    loc_588C:                               // CODE XREF: Infragistics.Win.Printing.UltraPrintPreviewDialog__UpdateDocumentRelatedTools+13↑j
        ldc.i4.0

    loc_588D:                               // CODE XREF: Infragistics.Win.Printing.UltraPrintPreviewDialog__UpdateDocumentRelatedTools+2A↑j
        stloc.1
        ldarg.0
        ldfld    class [Infragistics2.Win.UltraWinToolbars.v10.1]Infragistics.Win.UltraWinToolbars.UltraToolbarsManager Infragistics.Win.Printing.UltraPrintPreviewDialog::ultraToolbarsManager1
        callvirt instance class [Infragistics2.Win.UltraWinToolbars.v10.1]Infragistics.Win.UltraWinToolbars.RootToolsCollection [Infragistics2.Win.UltraWinToolbars.v10.1]Infragistics.Win.UltraWinToolbars.UltraToolbarsManager::get_Tools()
        ldstr    aPrint                     // "Print"
        callvirt instance class [Infragistics2.Win.UltraWinToolbars.v10.1]Infragistics.Win.UltraWinToolbars.ToolBase [Infragistics2.Win.UltraWinToolbars.v10.1]Infragistics.Win.UltraWinToolbars.ToolsCollectionBase::get_Item(string)
        callvirt instance class [Infragistics2.Win.UltraWinToolbars.v10.1]Infragistics.Win.UltraWinToolbars.SharedProps [Infragistics2.Win.UltraWinToolbars.v10.1]Infragistics.Win.UltraWinToolbars.ToolBase::get_SharedProps()