cea-sec/miasm

View on GitHub
doc/cheatsheets/reminder_disassembler.drawio

Summary

Maintainability
Test Coverage
<mxfile modified="2023-04-15T10:15:28.799Z" host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/21.1.2 Chrome/106.0.5249.199 Electron/21.4.3 Safari/537.36" etag="qgN_X3-ZCatMDyOE7X7L" compressed="false" version="21.1.2" type="device">
  <diagram id="Ht1M8jgEwFfnCIfOTk4-" name="Page-1">
    <mxGraphModel dx="1432" dy="865" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <mxCell id="EN-Cfjzu8_hMJSnQrrUf-12" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="EN-Cfjzu8_hMJSnQrrUf-2" target="EN-Cfjzu8_hMJSnQrrUf-5" edge="1">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="EN-Cfjzu8_hMJSnQrrUf-2" value="ELF" style="verticalLabelPosition=bottom;html=1;verticalAlign=top;align=center;strokeColor=none;fillColor=#00BEF2;shape=mxgraph.azure.file;pointerEvents=1;" parent="1" vertex="1">
          <mxGeometry x="30" y="110" width="47.5" height="50" as="geometry" />
        </mxCell>
        <mxCell id="EN-Cfjzu8_hMJSnQrrUf-11" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0.063;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="EN-Cfjzu8_hMJSnQrrUf-3" target="EN-Cfjzu8_hMJSnQrrUf-5" edge="1">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="EN-Cfjzu8_hMJSnQrrUf-3" value="PE" style="verticalLabelPosition=bottom;html=1;verticalAlign=top;align=center;strokeColor=none;fillColor=#00BEF2;shape=mxgraph.azure.file_2;pointerEvents=1;" parent="1" vertex="1">
          <mxGeometry x="30" y="30" width="47.5" height="50" as="geometry" />
        </mxCell>
        <mxCell id="EN-Cfjzu8_hMJSnQrrUf-10" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="EN-Cfjzu8_hMJSnQrrUf-4" target="EN-Cfjzu8_hMJSnQrrUf-5" edge="1">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="EN-Cfjzu8_hMJSnQrrUf-4" value="Raw" style="verticalLabelPosition=bottom;html=1;verticalAlign=top;align=center;strokeColor=none;fillColor=#00BEF2;shape=mxgraph.azure.startup_task;pointerEvents=1;" parent="1" vertex="1">
          <mxGeometry x="30" y="190" width="47.5" height="50" as="geometry" />
        </mxCell>
        <mxCell id="EN-Cfjzu8_hMJSnQrrUf-15" value=".bin_stream" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Courier New;" parent="1" source="EN-Cfjzu8_hMJSnQrrUf-5" target="EN-Cfjzu8_hMJSnQrrUf-14" edge="1">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="250" y="135" />
              <mxPoint x="250" y="40" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="EN-Cfjzu8_hMJSnQrrUf-17" value=".arch&amp;nbsp;" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Courier New;" parent="1" source="EN-Cfjzu8_hMJSnQrrUf-5" edge="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="440" y="160" as="targetPoint" />
            <Array as="points">
              <mxPoint x="440" y="135" />
              <mxPoint x="440" y="160" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="EN-Cfjzu8_hMJSnQrrUf-18" value=".entry_point" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Courier New;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="EN-Cfjzu8_hMJSnQrrUf-5" target="EN-Cfjzu8_hMJSnQrrUf-19" edge="1">
          <mxGeometry x="0.466" relative="1" as="geometry">
            <mxPoint x="250" y="180.0000000000001" as="targetPoint" />
            <Array as="points">
              <mxPoint x="250" y="135" />
            </Array>
            <mxPoint as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="EN-Cfjzu8_hMJSnQrrUf-5" value="Container" style="verticalLabelPosition=top;html=1;verticalAlign=bottom;align=right;strokeColor=none;fillColor=#00BEF2;shape=mxgraph.azure.dropbox_code_source;labelPosition=left;fontFamily=Courier New;" parent="1" vertex="1">
          <mxGeometry x="170" y="111.25" width="50" height="47.5" as="geometry" />
        </mxCell>
        <mxCell id="EN-Cfjzu8_hMJSnQrrUf-25" value=".dis_engine().dis_multiblock()" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Courier New;" parent="1" source="EN-Cfjzu8_hMJSnQrrUf-7" target="EN-Cfjzu8_hMJSnQrrUf-24" edge="1">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="418" y="260" />
              <mxPoint x="200" y="260" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="EN-Cfjzu8_hMJSnQrrUf-28" value=".lifter()" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Courier New;" parent="1" edge="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="418" y="550" as="targetPoint" />
            <mxPoint x="417.98765432098764" y="240" as="sourcePoint" />
            <Array as="points">
              <mxPoint x="418" y="320" />
              <mxPoint x="418" y="320" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="EN-Cfjzu8_hMJSnQrrUf-7" value="Machine(&quot;x86_32&quot;)" style="sketch=0;outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#232F3D;strokeColor=none;dashed=0;verticalLabelPosition=top;verticalAlign=bottom;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;pointerEvents=1;shape=mxgraph.aws4.external_toolkit;labelPosition=center;fontFamily=Courier New;" parent="1" vertex="1">
          <mxGeometry x="390" y="176" width="55.79" height="64" as="geometry" />
        </mxCell>
        <mxCell id="EN-Cfjzu8_hMJSnQrrUf-14" value="&lt;blockquote&gt;&lt;font face=&quot;Courier New&quot;&gt;00000000 4d 5a 90 00 03 ...&lt;br&gt;00000010 b8 00 00 00 00 ...&amp;nbsp;&lt;/font&gt;&lt;/blockquote&gt;" style="text;html=1;strokeColor=#6c8ebf;fillColor=#dae8fc;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=1;spacing=0;fontStyle=1" parent="1" vertex="1">
          <mxGeometry x="320" y="20" width="280" height="40" as="geometry" />
        </mxCell>
        <mxCell id="EN-Cfjzu8_hMJSnQrrUf-19" value="0x11223344" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Courier New;" parent="1" vertex="1">
          <mxGeometry x="220" y="200" width="60" height="30" as="geometry" />
        </mxCell>
        <mxCell id="EN-Cfjzu8_hMJSnQrrUf-24" value="AsmCFG" style="swimlane;rounded=1;fontFamily=Courier New;" parent="1" vertex="1">
          <mxGeometry x="40" y="320" width="310" height="350" as="geometry" />
        </mxCell>
        <mxCell id="u1IDXeuR2jZR7SlRlDwS-17" value="AsmBlock" style="swimlane;horizontal=0;startSize=23;" parent="EN-Cfjzu8_hMJSnQrrUf-24" vertex="1">
          <mxGeometry x="10" y="40" width="290" height="300" as="geometry" />
        </mxCell>
        <mxCell id="u1IDXeuR2jZR7SlRlDwS-19" value="instruction_x86" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;fontFamily=Courier New;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" parent="u1IDXeuR2jZR7SlRlDwS-17" vertex="1">
          <mxGeometry x="90" y="10" width="140" height="60" as="geometry" />
        </mxCell>
        <mxCell id="u1IDXeuR2jZR7SlRlDwS-20" value="MOV    EAX, EBX" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;fontFamily=Courier New;" parent="u1IDXeuR2jZR7SlRlDwS-19" vertex="1">
          <mxGeometry y="30" width="140" height="30" as="geometry" />
        </mxCell>
        <mxCell id="u1IDXeuR2jZR7SlRlDwS-23" value=".lines" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Courier New;" parent="u1IDXeuR2jZR7SlRlDwS-17" vertex="1">
          <mxGeometry x="27.5" y="6" width="60" height="30" as="geometry" />
        </mxCell>
        <mxCell id="u1IDXeuR2jZR7SlRlDwS-24" value="instruction_x86" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;fontFamily=Courier New;fillColor=#fff2cc;strokeColor=#d6b656;" parent="u1IDXeuR2jZR7SlRlDwS-17" vertex="1">
          <mxGeometry x="89.5" y="87" width="140" height="60" as="geometry" />
        </mxCell>
        <mxCell id="u1IDXeuR2jZR7SlRlDwS-25" value="XCHG    ECX, EDX" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;fontFamily=Courier New;" parent="u1IDXeuR2jZR7SlRlDwS-24" vertex="1">
          <mxGeometry y="30" width="140" height="30" as="geometry" />
        </mxCell>
        <mxCell id="uIXO0tNmTaMb2hlezsOI-25" value="instruction_x86" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;fontFamily=Courier New;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="u1IDXeuR2jZR7SlRlDwS-17">
          <mxGeometry x="87.5" y="166" width="140" height="60" as="geometry" />
        </mxCell>
        <mxCell id="uIXO0tNmTaMb2hlezsOI-26" value="CMOVZ   EAX, EBX" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;fontFamily=Courier New;" vertex="1" parent="uIXO0tNmTaMb2hlezsOI-25">
          <mxGeometry y="30" width="140" height="30" as="geometry" />
        </mxCell>
        <mxCell id="EN-Cfjzu8_hMJSnQrrUf-26" value="IRCFG" style="swimlane;rounded=1;fontFamily=Courier New;" parent="1" vertex="1">
          <mxGeometry x="504" y="280" width="310" height="535" as="geometry" />
        </mxCell>
        <mxCell id="uIXO0tNmTaMb2hlezsOI-1" value="IRBlock" style="swimlane;horizontal=0;startSize=23;" vertex="1" parent="EN-Cfjzu8_hMJSnQrrUf-26">
          <mxGeometry x="6" y="40" width="290" height="320" as="geometry" />
        </mxCell>
        <mxCell id="uIXO0tNmTaMb2hlezsOI-27" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="uIXO0tNmTaMb2hlezsOI-1">
          <mxGeometry x="120" y="250" width="140" height="60" as="geometry" />
        </mxCell>
        <mxCell id="uIXO0tNmTaMb2hlezsOI-17" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="uIXO0tNmTaMb2hlezsOI-1">
          <mxGeometry x="120" y="149" width="140" height="60" as="geometry" />
        </mxCell>
        <mxCell id="uIXO0tNmTaMb2hlezsOI-2" value="    AssignBlock" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;fontFamily=Courier New;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" vertex="1" parent="uIXO0tNmTaMb2hlezsOI-1">
          <mxGeometry x="120" y="10" width="140" height="30" as="geometry" />
        </mxCell>
        <mxCell id="uIXO0tNmTaMb2hlezsOI-4" value=".assignblks" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Courier New;" vertex="1" parent="uIXO0tNmTaMb2hlezsOI-1">
          <mxGeometry x="37.5" y="6" width="60" height="30" as="geometry" />
        </mxCell>
        <mxCell id="uIXO0tNmTaMb2hlezsOI-15" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="uIXO0tNmTaMb2hlezsOI-1">
          <mxGeometry x="120" y="40" width="140" height="70" as="geometry" />
        </mxCell>
        <mxCell id="uIXO0tNmTaMb2hlezsOI-11" value="EAX" style="text;whiteSpace=wrap;html=1;" vertex="1" parent="uIXO0tNmTaMb2hlezsOI-1">
          <mxGeometry x="145" y="58" width="30" height="20" as="geometry" />
        </mxCell>
        <mxCell id="uIXO0tNmTaMb2hlezsOI-12" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="uIXO0tNmTaMb2hlezsOI-1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="205" y="71" as="sourcePoint" />
            <mxPoint x="175" y="71" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="uIXO0tNmTaMb2hlezsOI-13" value="EBX" style="text;whiteSpace=wrap;html=1;" vertex="1" parent="uIXO0tNmTaMb2hlezsOI-1">
          <mxGeometry x="205" y="58" width="30" height="20" as="geometry" />
        </mxCell>
        <mxCell id="uIXO0tNmTaMb2hlezsOI-16" value="    AssignBlock" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;fontFamily=Courier New;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="uIXO0tNmTaMb2hlezsOI-1">
          <mxGeometry x="120" y="119" width="140" height="30" as="geometry" />
        </mxCell>
        <mxCell id="uIXO0tNmTaMb2hlezsOI-18" value="ECX" style="text;whiteSpace=wrap;html=1;" vertex="1" parent="uIXO0tNmTaMb2hlezsOI-1">
          <mxGeometry x="145" y="153" width="30" height="20" as="geometry" />
        </mxCell>
        <mxCell id="uIXO0tNmTaMb2hlezsOI-19" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="uIXO0tNmTaMb2hlezsOI-1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="205" y="166" as="sourcePoint" />
            <mxPoint x="175" y="166" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="uIXO0tNmTaMb2hlezsOI-20" value="EDX" style="text;whiteSpace=wrap;html=1;" vertex="1" parent="uIXO0tNmTaMb2hlezsOI-1">
          <mxGeometry x="205" y="153" width="30" height="20" as="geometry" />
        </mxCell>
        <mxCell id="uIXO0tNmTaMb2hlezsOI-22" value="EDX" style="text;whiteSpace=wrap;html=1;" vertex="1" parent="uIXO0tNmTaMb2hlezsOI-1">
          <mxGeometry x="145" y="173" width="30" height="20" as="geometry" />
        </mxCell>
        <mxCell id="uIXO0tNmTaMb2hlezsOI-23" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="uIXO0tNmTaMb2hlezsOI-1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="205" y="186" as="sourcePoint" />
            <mxPoint x="175" y="186" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="uIXO0tNmTaMb2hlezsOI-24" value="ECX" style="text;whiteSpace=wrap;html=1;" vertex="1" parent="uIXO0tNmTaMb2hlezsOI-1">
          <mxGeometry x="205" y="173" width="30" height="20" as="geometry" />
        </mxCell>
        <mxCell id="uIXO0tNmTaMb2hlezsOI-28" value="    AssignBlock" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;fontFamily=Courier New;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="uIXO0tNmTaMb2hlezsOI-1">
          <mxGeometry x="120" y="220" width="140" height="30" as="geometry" />
        </mxCell>
        <mxCell id="uIXO0tNmTaMb2hlezsOI-66" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=2;" edge="1" parent="uIXO0tNmTaMb2hlezsOI-1" source="uIXO0tNmTaMb2hlezsOI-29">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="230" y="490" as="targetPoint" />
            <Array as="points">
              <mxPoint x="155" y="320" />
              <mxPoint x="230" y="320" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="uIXO0tNmTaMb2hlezsOI-29" value="IRDst" style="text;whiteSpace=wrap;html=1;" vertex="1" parent="uIXO0tNmTaMb2hlezsOI-1">
          <mxGeometry x="140" y="266" width="30" height="20" as="geometry" />
        </mxCell>
        <mxCell id="uIXO0tNmTaMb2hlezsOI-31" value="2" style="text;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;fillStyle=auto;rounded=0;glass=0;sketch=1;curveFitting=1;jiggle=2;align=center;" vertex="1" parent="uIXO0tNmTaMb2hlezsOI-1">
          <mxGeometry x="205" y="254" width="30" height="20" as="geometry" />
        </mxCell>
        <mxCell id="uIXO0tNmTaMb2hlezsOI-34" value="3" style="text;whiteSpace=wrap;html=1;align=center;fillColor=#e1d5e7;strokeColor=#9673a6;sketch=1;curveFitting=1;jiggle=2;" vertex="1" parent="uIXO0tNmTaMb2hlezsOI-1">
          <mxGeometry x="205" y="283" width="30" height="20" as="geometry" />
        </mxCell>
        <mxCell id="uIXO0tNmTaMb2hlezsOI-36" value="zf?" style="text;whiteSpace=wrap;html=1;" vertex="1" parent="uIXO0tNmTaMb2hlezsOI-1">
          <mxGeometry x="184" y="260" width="30" height="20" as="geometry" />
        </mxCell>
        <mxCell id="uIXO0tNmTaMb2hlezsOI-107" value="as dict()" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Courier New;" vertex="1" parent="uIXO0tNmTaMb2hlezsOI-1">
          <mxGeometry x="117.5" y="36" width="85" height="30" as="geometry" />
        </mxCell>
        <mxCell id="uIXO0tNmTaMb2hlezsOI-108" value=".instr" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Courier New;" vertex="1" parent="uIXO0tNmTaMb2hlezsOI-1">
          <mxGeometry x="123" y="80" width="60" height="30" as="geometry" />
        </mxCell>
        <mxCell id="uIXO0tNmTaMb2hlezsOI-39" value="IRBlock" style="swimlane;horizontal=0;startSize=23;" vertex="1" parent="EN-Cfjzu8_hMJSnQrrUf-26">
          <mxGeometry x="6" y="370" width="190" height="130" as="geometry" />
        </mxCell>
        <mxCell id="uIXO0tNmTaMb2hlezsOI-42" value="    AssignBlock" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;fontFamily=Courier New;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="uIXO0tNmTaMb2hlezsOI-39">
          <mxGeometry x="37" y="32" width="140" height="30" as="geometry" />
        </mxCell>
        <mxCell id="uIXO0tNmTaMb2hlezsOI-44" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="uIXO0tNmTaMb2hlezsOI-39">
          <mxGeometry x="37" y="62" width="140" height="60" as="geometry" />
        </mxCell>
        <mxCell id="uIXO0tNmTaMb2hlezsOI-45" value="EAX" style="text;whiteSpace=wrap;html=1;" vertex="1" parent="uIXO0tNmTaMb2hlezsOI-39">
          <mxGeometry x="62" y="66" width="30" height="20" as="geometry" />
        </mxCell>
        <mxCell id="uIXO0tNmTaMb2hlezsOI-46" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="uIXO0tNmTaMb2hlezsOI-39">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="122" y="79" as="sourcePoint" />
            <mxPoint x="92" y="79" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="uIXO0tNmTaMb2hlezsOI-47" value="EBX" style="text;whiteSpace=wrap;html=1;" vertex="1" parent="uIXO0tNmTaMb2hlezsOI-39">
          <mxGeometry x="122" y="66" width="30" height="20" as="geometry" />
        </mxCell>
        <mxCell id="uIXO0tNmTaMb2hlezsOI-67" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=2;" edge="1" parent="uIXO0tNmTaMb2hlezsOI-39" source="uIXO0tNmTaMb2hlezsOI-60">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="200" y="159" as="targetPoint" />
            <Array as="points">
              <mxPoint x="72" y="139" />
              <mxPoint x="200" y="139" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="uIXO0tNmTaMb2hlezsOI-60" value="IRDst" style="text;whiteSpace=wrap;html=1;" vertex="1" parent="uIXO0tNmTaMb2hlezsOI-39">
          <mxGeometry x="57" y="86" width="30" height="20" as="geometry" />
        </mxCell>
        <mxCell id="uIXO0tNmTaMb2hlezsOI-62" value="3" style="text;whiteSpace=wrap;html=1;align=center;verticalAlign=middle;fillColor=#e1d5e7;strokeColor=#9673a6;sketch=1;curveFitting=1;jiggle=2;" vertex="1" parent="uIXO0tNmTaMb2hlezsOI-39">
          <mxGeometry x="122" y="88" width="30" height="20" as="geometry" />
        </mxCell>
        <mxCell id="uIXO0tNmTaMb2hlezsOI-63" value=".loc_key =" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Courier New;" vertex="1" parent="uIXO0tNmTaMb2hlezsOI-39">
          <mxGeometry x="37" y="2" width="83" height="30" as="geometry" />
        </mxCell>
        <mxCell id="uIXO0tNmTaMb2hlezsOI-68" value="2" style="text;whiteSpace=wrap;html=1;align=center;fillColor=#e1d5e7;strokeColor=#9673a6;sketch=1;curveFitting=1;jiggle=2;verticalAlign=middle;" vertex="1" parent="uIXO0tNmTaMb2hlezsOI-39">
          <mxGeometry x="118" y="6" width="30" height="20" as="geometry" />
        </mxCell>
        <mxCell id="uIXO0tNmTaMb2hlezsOI-61" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="EN-Cfjzu8_hMJSnQrrUf-26">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="127" y="469" as="sourcePoint" />
            <mxPoint x="97" y="469" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="uIXO0tNmTaMb2hlezsOI-65" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeWidth=2;" edge="1" parent="EN-Cfjzu8_hMJSnQrrUf-26">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="145" y="320" as="sourcePoint" />
            <mxPoint x="88.5" y="376" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="EN-Cfjzu8_hMJSnQrrUf-27" value="" style="shape=flexArrow;endArrow=classic;html=1;rounded=0;fontFamily=Courier New;" parent="1" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="352" y="560" as="sourcePoint" />
            <mxPoint x="502" y="560" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="EN-Cfjzu8_hMJSnQrrUf-29" value="&lt;br style=&quot;font-size: 10px;&quot;&gt;&lt;span style=&quot;font-size: 10px; background-color: rgb(255, 255, 255);&quot;&gt;.new_ircfg_from_asmcfg()&lt;/span&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontFamily=Courier New;fontSize=10;" parent="1" vertex="1">
          <mxGeometry x="347" y="564" width="160" height="30" as="geometry" />
        </mxCell>
        <mxCell id="EN-Cfjzu8_hMJSnQrrUf-38" value="&lt;div style=&quot;text-align: left&quot;&gt;loc_db = LocationDB()&lt;/div&gt;&lt;div style=&quot;text-align: left&quot;&gt;cont = Container.from_stream(fdesc, loc_db)&lt;/div&gt;&lt;div style=&quot;text-align: left&quot;&gt;machine = Machine(cont.arch)&lt;/div&gt;&lt;div style=&quot;text-align: left&quot;&gt;&lt;br&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left&quot;&gt;mdis = machine.dis_engine(&lt;/div&gt;&lt;div style=&quot;text-align: left&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre&quot;&gt; &lt;/span&gt;cont.bin_stream,&lt;/div&gt;&lt;div style=&quot;text-align: left&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;span style=&quot;white-space: pre&quot;&gt; &lt;/span&gt;loc_db=cont.loc_db&lt;/div&gt;&lt;div style=&quot;text-align: left&quot;&gt;)&lt;/div&gt;&lt;div style=&quot;text-align: left&quot;&gt;&lt;br&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left&quot;&gt;addr = cont.entry_point&lt;/div&gt;&lt;div style=&quot;text-align: left&quot;&gt;asmcfg = mdis.dis_multiblock(addr)&lt;/div&gt;&lt;div style=&quot;text-align: left&quot;&gt;&lt;br&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left&quot;&gt;lifter = machine.lifter(mdis.loc_db)&lt;br&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left&quot;&gt;&lt;br&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left&quot;&gt;ircfg = lifter.new_ircfg_from_asmcfg(asmcfg)&lt;/div&gt;" style="shape=ext;double=1;rounded=0;whiteSpace=wrap;html=1;fontFamily=Courier New;fontSize=12;" parent="1" vertex="1">
          <mxGeometry x="800" y="14" width="350" height="254" as="geometry" />
        </mxCell>
        <mxCell id="u1IDXeuR2jZR7SlRlDwS-4" value="LocationDB" style="shape=table;startSize=30;container=1;collapsible=0;childLayout=tableLayout;fixedRows=1;rowLines=0;fontStyle=1;" parent="1" vertex="1">
          <mxGeometry x="550" y="100" width="180" height="130" as="geometry" />
        </mxCell>
        <mxCell id="u1IDXeuR2jZR7SlRlDwS-5" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="u1IDXeuR2jZR7SlRlDwS-4" vertex="1">
          <mxGeometry y="30" width="180" height="30" as="geometry" />
        </mxCell>
        <mxCell id="u1IDXeuR2jZR7SlRlDwS-6" value="" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;pointerEvents=1;" parent="u1IDXeuR2jZR7SlRlDwS-5" vertex="1">
          <mxGeometry width="40" height="30" as="geometry">
            <mxRectangle width="40" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="u1IDXeuR2jZR7SlRlDwS-7" value="0x112200, main" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;" parent="u1IDXeuR2jZR7SlRlDwS-5" vertex="1">
          <mxGeometry x="40" width="140" height="30" as="geometry">
            <mxRectangle width="140" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="u1IDXeuR2jZR7SlRlDwS-8" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="u1IDXeuR2jZR7SlRlDwS-4" vertex="1">
          <mxGeometry y="60" width="180" height="30" as="geometry" />
        </mxCell>
        <mxCell id="u1IDXeuR2jZR7SlRlDwS-9" value="" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;" parent="u1IDXeuR2jZR7SlRlDwS-8" vertex="1">
          <mxGeometry width="40" height="30" as="geometry">
            <mxRectangle width="40" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="u1IDXeuR2jZR7SlRlDwS-10" value="" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;" parent="u1IDXeuR2jZR7SlRlDwS-8" vertex="1">
          <mxGeometry x="40" width="140" height="30" as="geometry">
            <mxRectangle width="140" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="u1IDXeuR2jZR7SlRlDwS-11" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="u1IDXeuR2jZR7SlRlDwS-4" vertex="1">
          <mxGeometry y="90" width="180" height="30" as="geometry" />
        </mxCell>
        <mxCell id="u1IDXeuR2jZR7SlRlDwS-12" value="" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;" parent="u1IDXeuR2jZR7SlRlDwS-11" vertex="1">
          <mxGeometry width="40" height="30" as="geometry">
            <mxRectangle width="40" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="u1IDXeuR2jZR7SlRlDwS-13" value="label1, label2" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;" parent="u1IDXeuR2jZR7SlRlDwS-11" vertex="1">
          <mxGeometry x="40" width="140" height="30" as="geometry">
            <mxRectangle width="140" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="uIXO0tNmTaMb2hlezsOI-38" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="711" y="601" as="sourcePoint" />
            <mxPoint x="681" y="601" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="uIXO0tNmTaMb2hlezsOI-69" value="1" style="text;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;fillStyle=auto;rounded=0;glass=0;sketch=1;curveFitting=1;jiggle=2;align=center;verticalAlign=middle;" vertex="1" parent="1">
          <mxGeometry x="555" y="135" width="30" height="20" as="geometry" />
        </mxCell>
        <mxCell id="uIXO0tNmTaMb2hlezsOI-70" value="2" style="text;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;fillStyle=auto;rounded=0;glass=0;sketch=1;curveFitting=1;jiggle=2;align=center;verticalAlign=middle;" vertex="1" parent="1">
          <mxGeometry x="555" y="165" width="30" height="20" as="geometry" />
        </mxCell>
        <mxCell id="uIXO0tNmTaMb2hlezsOI-71" value="3" style="text;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;fillStyle=auto;rounded=0;glass=0;sketch=1;curveFitting=1;jiggle=2;align=center;verticalAlign=middle;" vertex="1" parent="1">
          <mxGeometry x="555" y="195" width="30" height="20" as="geometry" />
        </mxCell>
        <mxCell id="uIXO0tNmTaMb2hlezsOI-100" value="Expr" style="swimlane;whiteSpace=wrap;html=1;" vertex="1" parent="1">
          <mxGeometry x="900" y="281" width="190" height="289" as="geometry" />
        </mxCell>
        <mxCell id="uIXO0tNmTaMb2hlezsOI-101" value="&lt;table style=&quot;box-sizing: unset; border-collapse: collapse; border-spacing: 0px; border: none; color: rgba(0, 0, 0, 0.87); font-size: 12px; table-layout: fixed; margin-left: auto; margin-right: auto; margin-bottom: 0.5em; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;&quot;&gt;&lt;thead style=&quot;box-sizing: unset; border-bottom: var(--jp-border-width) solid var(--jp-border-color1); vertical-align: bottom;&quot;&gt;&lt;tr style=&quot;box-sizing: unset; vertical-align: middle; padding: 0.5em; line-height: normal; max-width: none; border: none;&quot;&gt;&lt;th style=&quot;box-sizing: unset; vertical-align: middle; padding: 0.5em; line-height: normal; max-width: none; border: none; font-weight: bold;&quot;&gt;Word&lt;/th&gt;&lt;th style=&quot;box-sizing: unset; vertical-align: middle; padding: 0.5em; line-height: normal; max-width: none; border: none; font-weight: bold;&quot;&gt;Meaning&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody style=&quot;box-sizing: unset;&quot;&gt;&lt;tr style=&quot;box-sizing: unset; vertical-align: middle; padding: 0.5em; line-height: normal; max-width: none; border: none; background: var(--jp-layout-color0);&quot;&gt;&lt;td style=&quot;box-sizing: unset; vertical-align: middle; padding: 0.5em; line-height: normal; max-width: none; border: none;&quot;&gt;ExprAssign&lt;/td&gt;&lt;td style=&quot;box-sizing: unset; vertical-align: middle; padding: 0.5em; line-height: normal; max-width: none; border: none;&quot;&gt;A&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;B&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;box-sizing: unset; vertical-align: middle; padding: 0.5em; line-height: normal; max-width: none; border: none; background: var(--jp-rendermime-table-row-background);&quot;&gt;&lt;td style=&quot;box-sizing: unset; vertical-align: middle; padding: 0.5em; line-height: normal; max-width: none; border: none;&quot;&gt;ExprInt&lt;/td&gt;&lt;td style=&quot;box-sizing: unset; vertical-align: middle; padding: 0.5em; line-height: normal; max-width: none; border: none;&quot;&gt;0x18&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;box-sizing: unset; vertical-align: middle; padding: 0.5em; line-height: normal; max-width: none; border: none; background: var(--jp-layout-color0);&quot;&gt;&lt;td style=&quot;box-sizing: unset; vertical-align: middle; padding: 0.5em; line-height: normal; max-width: none; border: none;&quot;&gt;ExprId&lt;/td&gt;&lt;td style=&quot;box-sizing: unset; vertical-align: middle; padding: 0.5em; line-height: normal; max-width: none; border: none;&quot;&gt;EAX&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;box-sizing: unset; vertical-align: middle; padding: 0.5em; line-height: normal; max-width: none; border: none; background: var(--jp-rendermime-table-row-background);&quot;&gt;&lt;td style=&quot;box-sizing: unset; vertical-align: middle; padding: 0.5em; line-height: normal; max-width: none; border: none;&quot;&gt;ExprLoc&lt;/td&gt;&lt;td style=&quot;box-sizing: unset; vertical-align: middle; padding: 0.5em; line-height: normal; max-width: none; border: none;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;box-sizing: unset; vertical-align: middle; padding: 0.5em; line-height: normal; max-width: none; border: none; background: var(--jp-layout-color0);&quot;&gt;&lt;td style=&quot;box-sizing: unset; vertical-align: middle; padding: 0.5em; line-height: normal; max-width: none; border: none;&quot;&gt;ExprCond&lt;/td&gt;&lt;td style=&quot;box-sizing: unset; vertical-align: middle; padding: 0.5em; line-height: normal; max-width: none; border: none;&quot;&gt;A ? B : C&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;box-sizing: unset; vertical-align: middle; padding: 0.5em; line-height: normal; max-width: none; border: none; background: var(--jp-rendermime-table-row-background);&quot;&gt;&lt;td style=&quot;box-sizing: unset; vertical-align: middle; padding: 0.5em; line-height: normal; max-width: none; border: none;&quot;&gt;ExprMem&lt;/td&gt;&lt;td style=&quot;box-sizing: unset; vertical-align: middle; padding: 0.5em; line-height: normal; max-width: none; border: none;&quot;&gt;@16[ESI]&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;box-sizing: unset; vertical-align: middle; padding: 0.5em; line-height: normal; max-width: none; border: none; background: var(--jp-layout-color0);&quot;&gt;&lt;td style=&quot;box-sizing: unset; vertical-align: middle; padding: 0.5em; line-height: normal; max-width: none; border: none;&quot;&gt;ExprOp&lt;/td&gt;&lt;td style=&quot;box-sizing: unset; vertical-align: middle; padding: 0.5em; line-height: normal; max-width: none; border: none;&quot;&gt;A + B&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;box-sizing: unset; vertical-align: middle; padding: 0.5em; line-height: normal; max-width: none; border: none; background: var(--jp-rendermime-table-row-background);&quot;&gt;&lt;td style=&quot;box-sizing: unset; vertical-align: middle; padding: 0.5em; line-height: normal; max-width: none; border: none;&quot;&gt;ExprSlice&lt;/td&gt;&lt;td style=&quot;box-sizing: unset; vertical-align: middle; padding: 0.5em; line-height: normal; max-width: none; border: none;&quot;&gt;AH = EAX[8 :16]&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;box-sizing: unset; vertical-align: middle; padding: 0.5em; line-height: normal; max-width: none; border: none; background: var(--jp-layout-color0);&quot;&gt;&lt;td style=&quot;box-sizing: unset; vertical-align: middle; padding: 0.5em; line-height: normal; max-width: none; border: none;&quot;&gt;ExprCompose&lt;/td&gt;&lt;td style=&quot;box-sizing: unset; vertical-align: middle; padding: 0.5em; line-height: normal; max-width: none; border: none;&quot;&gt;AX = AH.AL&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;" style="text;whiteSpace=wrap;html=1;" vertex="1" parent="uIXO0tNmTaMb2hlezsOI-100">
          <mxGeometry y="20" width="220" height="290" as="geometry" />
        </mxCell>
        <mxCell id="uIXO0tNmTaMb2hlezsOI-103" value="1" style="text;whiteSpace=wrap;html=1;align=center;fillColor=#e1d5e7;strokeColor=#9673a6;sketch=1;curveFitting=1;jiggle=2;verticalAlign=middle;" vertex="1" parent="uIXO0tNmTaMb2hlezsOI-100">
          <mxGeometry x="95" y="133" width="30" height="20" as="geometry" />
        </mxCell>
        <mxCell id="uIXO0tNmTaMb2hlezsOI-102" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="1036" y="347" as="sourcePoint" />
            <mxPoint x="1006" y="347" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="uIXO0tNmTaMb2hlezsOI-109" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;jumpStyle=arc;" edge="1" parent="1" source="uIXO0tNmTaMb2hlezsOI-108" target="u1IDXeuR2jZR7SlRlDwS-20">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>