Explore
/
Sign In
/
Unknown
Unknown
Fork
Star
Artifacts
function
0x400950:Code_x86_64
cfg.svg
0 lines
|
21.82 KB
<svg width="711.800049" xmlns="http://www.w3.org/2000/svg" viewbox="-143.00 -50.00 711.80 2044.50" height="2044.500000"><defs><marker orient="auto" markerWidth="8.000000" refX="8.000000" refY="4.000000" markerHeight="8.000000" id="unconditional-arrow-head"><polygon points="0, 8.000000 3.000000, 4.000000 0, 0 8.000000, 4.000000"></polygon></marker><marker orient="auto" markerWidth="8.000000" refX="8.000000" refY="4.000000" markerHeight="8.000000" id="call-arrow-head"><polygon points="0, 8.000000 3.000000, 4.000000 0, 0 8.000000, 4.000000"></polygon></marker><marker orient="auto" markerWidth="8.000000" refX="8.000000" refY="4.000000" markerHeight="8.000000" id="taken-arrow-head"><polygon points="0, 8.000000 3.000000, 4.000000 0, 0 8.000000, 4.000000"></polygon></marker><marker orient="auto" markerWidth="8.000000" refX="8.000000" refY="4.000000" markerHeight="8.000000" id="refused-arrow-head"><polygon points="0, 8.000000 3.000000, 4.000000 0, 0 8.000000, 4.000000"></polygon></marker></defs><path d="M 191.64 608.50 L 191.64 688.50" class="unconditional-edge" marker-end="url(#unconditional-arrow-head)" fill="none"></path><path d="M 196.64 792.00 L 196.64 832.00 L 210.80 832.00 L 210.80 912.00" class="refused-edge" marker-end="url(#refused-arrow-head)" fill="none"></path><path d="M 186.64 792.00 L 186.64 852.00 L 0.00 852.00 L 0.00 1562.00 L -5.00 1562.00 L -5.00 1682.00" class="taken-edge" marker-end="url(#taken-arrow-head)" fill="none"></path><path d="M 210.80 1015.50 L 210.80 1075.50 L 254.40 1075.50 L 254.40 1155.50" class="unconditional-edge" marker-end="url(#unconditional-arrow-head)" fill="none"></path><path d="M 259.40 1312.00 L 259.40 1392.00" class="unconditional-edge" marker-end="url(#unconditional-arrow-head)" fill="none"></path><path d="M 264.40 1522.00 L 264.40 1602.00 L 518.80 1602.00 L 518.80 1095.50 L 264.40 1095.50 L 264.40 1155.50" class="taken-edge" marker-end="url(#taken-arrow-head)" fill="none"></path><path d="M 254.40 1522.00 L 254.40 1582.00 L 5.00 1582.00 L 5.00 1682.00" class="refused-edge" marker-end="url(#refused-arrow-head)" fill="none"></path><path d="M 191.64 54.00 L 191.64 134.00" class="unconditional-edge" marker-end="url(#unconditional-arrow-head)" fill="none"></path><foreignObject width="445.200012" class="node-contents" x="-30.963638" y="134.000000" height="474.500000"><body xmlns="http://www.w3.org/1999/xhtml"><div data-scope="asm.basic-block"><span data-location-definition="/function/0x400950:Code_x86_64" data-token="asm.label" data-action-context-location="/function/0x400950:Code_x86_64">function_0x400950_Code_x86_64</span><span data-token="asm.label-indicator">:</span> <span data-location-definition="/instruction/0x400950:Code_x86_64/0x400950:Code_x86_64/0x400950:Code_x86_64"></span><div data-scope="asm.instruction" data-action-context-location="/instruction/0x400950:Code_x86_64/0x400950:Code_x86_64/0x400950:Code_x86_64"><div><span data-token="indentation"> </span><span data-token="asm.mnemonic">endbr64</span> </div></div><span data-location-definition="/instruction/0x400950:Code_x86_64/0x400950:Code_x86_64/0x400954:Code_x86_64"></span><div data-scope="asm.instruction" data-action-context-location="/instruction/0x400950:Code_x86_64/0x400950:Code_x86_64/0x400954:Code_x86_64"><div><span data-token="indentation"> </span><span data-token="asm.mnemonic">push</span> <span data-token="asm.register">r15</span> </div></div><span data-location-definition="/instruction/0x400950:Code_x86_64/0x400950:Code_x86_64/0x400956:Code_x86_64"></span><div data-scope="asm.instruction" data-action-context-location="/instruction/0x400950:Code_x86_64/0x400950:Code_x86_64/0x400956:Code_x86_64"><div><span data-token="indentation"> </span><span data-token="asm.mnemonic">lea</span> <span data-token="asm.register">r15</span>, <span data-token="asm.memory-operand">[</span><span data-token="asm.register">rip</span> <span data-token="asm.memory-operand">+</span> <span data-token="asm.helper">offset_to(</span><span data-token="asm.immediate-value">0x401db8</span><span data-token="asm.helper">)</span><span data-token="asm.memory-operand">]</span> </div></div><span data-location-definition="/instruction/0x400950:Code_x86_64/0x400950:Code_x86_64/0x40095d:Code_x86_64"></span><div data-scope="asm.instruction" data-action-context-location="/instruction/0x400950:Code_x86_64/0x400950:Code_x86_64/0x40095d:Code_x86_64"><div><span data-token="indentation"> </span><span data-token="asm.mnemonic">push</span> <span data-token="asm.register">r14</span> </div></div><span data-location-definition="/instruction/0x400950:Code_x86_64/0x400950:Code_x86_64/0x40095f:Code_x86_64"></span><div data-scope="asm.instruction" data-action-context-location="/instruction/0x400950:Code_x86_64/0x400950:Code_x86_64/0x40095f:Code_x86_64"><div><span data-token="indentation"> </span><span data-token="asm.mnemonic">mov</span> <span data-token="asm.register">r14</span>, <span data-token="asm.register">rdx</span> </div></div><span data-location-definition="/instruction/0x400950:Code_x86_64/0x400950:Code_x86_64/0x400962:Code_x86_64"></span><div data-scope="asm.instruction" data-action-context-location="/instruction/0x400950:Code_x86_64/0x400950:Code_x86_64/0x400962:Code_x86_64"><div><span data-token="indentation"> </span><span data-token="asm.mnemonic">push</span> <span data-token="asm.register">r13</span> </div></div><span data-location-definition="/instruction/0x400950:Code_x86_64/0x400950:Code_x86_64/0x400964:Code_x86_64"></span><div data-scope="asm.instruction" data-action-context-location="/instruction/0x400950:Code_x86_64/0x400950:Code_x86_64/0x400964:Code_x86_64"><div><span data-token="indentation"> </span><span data-token="asm.mnemonic">mov</span> <span data-token="asm.register">r13</span>, <span data-token="asm.register">rsi</span> </div></div><span data-location-definition="/instruction/0x400950:Code_x86_64/0x400950:Code_x86_64/0x400967:Code_x86_64"></span><div data-scope="asm.instruction" data-action-context-location="/instruction/0x400950:Code_x86_64/0x400950:Code_x86_64/0x400967:Code_x86_64"><div><span data-token="indentation"> </span><span data-token="asm.mnemonic">push</span> <span data-token="asm.register">r12</span> </div></div><span data-location-definition="/instruction/0x400950:Code_x86_64/0x400950:Code_x86_64/0x400969:Code_x86_64"></span><div data-scope="asm.instruction" data-action-context-location="/instruction/0x400950:Code_x86_64/0x400950:Code_x86_64/0x400969:Code_x86_64"><div><span data-token="indentation"> </span><span data-token="asm.mnemonic">mov</span> <span data-token="asm.register">r12d</span>, <span data-token="asm.register">edi</span> </div></div><span data-location-definition="/instruction/0x400950:Code_x86_64/0x400950:Code_x86_64/0x40096c:Code_x86_64"></span><div data-scope="asm.instruction" data-action-context-location="/instruction/0x400950:Code_x86_64/0x400950:Code_x86_64/0x40096c:Code_x86_64"><div><span data-token="indentation"> </span><span data-token="asm.mnemonic">push</span> <span data-token="asm.register">rbp</span> </div></div><span data-location-definition="/instruction/0x400950:Code_x86_64/0x400950:Code_x86_64/0x40096d:Code_x86_64"></span><div data-scope="asm.instruction" data-action-context-location="/instruction/0x400950:Code_x86_64/0x400950:Code_x86_64/0x40096d:Code_x86_64"><div><span data-token="indentation"> </span><span data-token="asm.mnemonic">lea</span> <span data-token="asm.register">rbp</span>, <span data-token="asm.memory-operand">[</span><span data-token="asm.register">rip</span> <span data-token="asm.memory-operand">+</span> <span data-token="asm.helper">offset_to(</span><span data-token="asm.immediate-value">0x401dc0</span><span data-token="asm.helper">)</span><span data-token="asm.memory-operand">]</span> </div></div><span data-location-definition="/instruction/0x400950:Code_x86_64/0x400950:Code_x86_64/0x400974:Code_x86_64"></span><div data-scope="asm.instruction" data-action-context-location="/instruction/0x400950:Code_x86_64/0x400950:Code_x86_64/0x400974:Code_x86_64"><div><span data-token="indentation"> </span><span data-token="asm.mnemonic">push</span> <span data-token="asm.register">rbx</span> </div></div><span data-location-definition="/instruction/0x400950:Code_x86_64/0x400950:Code_x86_64/0x400975:Code_x86_64"></span><div data-scope="asm.instruction" data-action-context-location="/instruction/0x400950:Code_x86_64/0x400950:Code_x86_64/0x400975:Code_x86_64"><div><span data-token="indentation"> </span><span data-token="asm.mnemonic">sub</span> <span data-token="asm.register">rbp</span>, <span data-token="asm.register">r15</span> </div></div><span data-location-definition="/instruction/0x400950:Code_x86_64/0x400950:Code_x86_64/0x400978:Code_x86_64"></span><div data-scope="asm.instruction" data-action-context-location="/instruction/0x400950:Code_x86_64/0x400950:Code_x86_64/0x400978:Code_x86_64"><div><span data-token="indentation"> </span><span data-token="asm.mnemonic">sub</span> <span data-token="asm.register">rsp</span>, <span data-token="asm.immediate-value">0x8</span> </div></div><span data-location-definition="/instruction/0x400950:Code_x86_64/0x400950:Code_x86_64/0x40097c:Code_x86_64"></span><div data-scope="asm.instruction" data-action-context-location="/instruction/0x400950:Code_x86_64/0x400950:Code_x86_64/0x40097c:Code_x86_64"><div><span data-token="indentation"> </span><span data-token="asm.mnemonic">sar</span> <span data-token="asm.register">rbp</span>, <span data-token="asm.immediate-value">0x3</span> </div></div><span data-location-definition="/instruction/0x400950:Code_x86_64/0x400950:Code_x86_64/0x400980:Code_x86_64"></span><div data-scope="asm.instruction" data-action-context-location="/instruction/0x400950:Code_x86_64/0x400950:Code_x86_64/0x400980:Code_x86_64" data-location-references="/function/0x400740:Code_x86_64"><div><span data-token="indentation"> </span><span data-token="asm.mnemonic">call</span> <span data-token="asm.label" data-location-references="/function/0x400740:Code_x86_64">function_0x400740_Code_x86_64</span> </div></div></div> </body></foreignObject><rect width="445.200012" class="node-body" x="-30.963638" y="134.000000" rx="5" ry="5" height="474.500000"></rect><foreignObject width="207.600006" class="node-contents" x="87.836365" y="688.500000" height="103.500000"><body xmlns="http://www.w3.org/1999/xhtml"><div data-scope="asm.basic-block"><span data-location-definition="/basic-block/0x400950:Code_x86_64/0x400985:Code_x86_64" data-token="asm.label" data-action-context-location="/basic-block/0x400950:Code_x86_64/0x400985:Code_x86_64">bb_0x400985</span><span data-token="asm.label-indicator">:</span> <span data-location-definition="/instruction/0x400950:Code_x86_64/0x400985:Code_x86_64/0x400985:Code_x86_64"></span><div data-scope="asm.instruction" data-action-context-location="/instruction/0x400950:Code_x86_64/0x400985:Code_x86_64/0x400985:Code_x86_64"><div><span data-token="indentation"> </span><span data-token="asm.mnemonic">test</span> <span data-token="asm.register">rbp</span>, <span data-token="asm.register">rbp</span> </div></div><span data-location-definition="/instruction/0x400950:Code_x86_64/0x400985:Code_x86_64/0x400988:Code_x86_64"></span><div data-scope="asm.instruction" data-action-context-location="/instruction/0x400950:Code_x86_64/0x400985:Code_x86_64/0x400988:Code_x86_64" data-location-references="/basic-block/0x400950:Code_x86_64/0x4009a6:Code_x86_64"><div><span data-token="indentation"> </span><span data-token="asm.mnemonic">j</span><span data-token="asm.mnemonic-suffix">e</span> <span data-token="asm.label" data-location-references="/basic-block/0x400950:Code_x86_64/0x4009a6:Code_x86_64">bb_0x4009a6</span> </div></div></div> </body></foreignObject><rect width="207.600006" class="node-body" x="87.836365" y="688.500000" rx="5" ry="5" height="103.500000"></rect><foreignObject width="261.600006" class="node-contents" x="80.000000" y="912.000000" height="103.500000"><body xmlns="http://www.w3.org/1999/xhtml"><div data-scope="asm.basic-block"><span data-location-definition="/basic-block/0x400950:Code_x86_64/0x40098a:Code_x86_64" data-token="asm.label" data-action-context-location="/basic-block/0x400950:Code_x86_64/0x40098a:Code_x86_64">bb_0x40098a</span><span data-token="asm.label-indicator">:</span> <span data-location-definition="/instruction/0x400950:Code_x86_64/0x40098a:Code_x86_64/0x40098a:Code_x86_64"></span><div data-scope="asm.instruction" data-action-context-location="/instruction/0x400950:Code_x86_64/0x40098a:Code_x86_64/0x40098a:Code_x86_64"><div><span data-token="indentation"> </span><span data-token="asm.mnemonic">xor</span> <span data-token="asm.register">ebx</span>, <span data-token="asm.register">ebx</span> </div></div><span data-location-definition="/instruction/0x400950:Code_x86_64/0x40098a:Code_x86_64/0x40098c:Code_x86_64"></span><div data-scope="asm.instruction" data-action-context-location="/instruction/0x400950:Code_x86_64/0x40098a:Code_x86_64/0x40098c:Code_x86_64" data-location-references="/basic-block/0x400950:Code_x86_64/0x400990:Code_x86_64"><div><span data-token="indentation"> </span><span data-token="asm.mnemonic">nop</span> dword ptr <span data-token="asm.memory-operand">[</span><span data-token="asm.register">rax</span><span data-token="asm.memory-operand">]</span> </div></div></div> </body></foreignObject><rect width="261.600006" class="node-body" x="80.000000" y="912.000000" rx="5" ry="5" height="103.500000"></rect><foreignObject width="358.800018" class="node-contents" x="80.000015" y="1155.500000" height="156.500000"><body xmlns="http://www.w3.org/1999/xhtml"><div data-scope="asm.basic-block"><span data-location-definition="/basic-block/0x400950:Code_x86_64/0x400990:Code_x86_64" data-token="asm.label" data-action-context-location="/basic-block/0x400950:Code_x86_64/0x400990:Code_x86_64">bb_0x400990</span><span data-token="asm.label-indicator">:</span> <span data-location-definition="/instruction/0x400950:Code_x86_64/0x400990:Code_x86_64/0x400990:Code_x86_64"></span><div data-scope="asm.instruction" data-action-context-location="/instruction/0x400950:Code_x86_64/0x400990:Code_x86_64/0x400990:Code_x86_64"><div><span data-token="indentation"> </span><span data-token="asm.mnemonic">mov</span> <span data-token="asm.register">rdx</span>, <span data-token="asm.register">r14</span> </div></div><span data-location-definition="/instruction/0x400950:Code_x86_64/0x400990:Code_x86_64/0x400993:Code_x86_64"></span><div data-scope="asm.instruction" data-action-context-location="/instruction/0x400950:Code_x86_64/0x400990:Code_x86_64/0x400993:Code_x86_64"><div><span data-token="indentation"> </span><span data-token="asm.mnemonic">mov</span> <span data-token="asm.register">rsi</span>, <span data-token="asm.register">r13</span> </div></div><span data-location-definition="/instruction/0x400950:Code_x86_64/0x400990:Code_x86_64/0x400996:Code_x86_64"></span><div data-scope="asm.instruction" data-action-context-location="/instruction/0x400950:Code_x86_64/0x400990:Code_x86_64/0x400996:Code_x86_64"><div><span data-token="indentation"> </span><span data-token="asm.mnemonic">mov</span> <span data-token="asm.register">edi</span>, <span data-token="asm.register">r12d</span> </div></div><span data-location-definition="/instruction/0x400950:Code_x86_64/0x400990:Code_x86_64/0x400999:Code_x86_64"></span><div data-scope="asm.instruction" data-action-context-location="/instruction/0x400950:Code_x86_64/0x400990:Code_x86_64/0x400999:Code_x86_64" data-location-references="/basic-block/0x400950:Code_x86_64/0x40099d:Code_x86_64"><div><span data-token="indentation"> </span><span data-token="asm.mnemonic">call</span> qword ptr <span data-token="asm.memory-operand">[</span><span data-token="asm.register">r15</span> <span data-token="asm.memory-operand">+</span> <span data-token="asm.memory-operand">8*</span><span data-token="asm.register">rbx</span><span data-token="asm.memory-operand">]</span> </div></div></div> </body></foreignObject><rect width="358.800018" class="node-body" x="80.000015" y="1155.500000" rx="5" ry="5" height="156.500000"></rect><foreignObject width="218.400009" class="node-contents" x="150.200012" y="1392.000000" height="130.000000"><body xmlns="http://www.w3.org/1999/xhtml"><div data-scope="asm.basic-block"><span data-location-definition="/basic-block/0x400950:Code_x86_64/0x40099d:Code_x86_64" data-token="asm.label" data-action-context-location="/basic-block/0x400950:Code_x86_64/0x40099d:Code_x86_64">bb_0x40099d</span><span data-token="asm.label-indicator">:</span> <span data-location-definition="/instruction/0x400950:Code_x86_64/0x40099d:Code_x86_64/0x40099d:Code_x86_64"></span><div data-scope="asm.instruction" data-action-context-location="/instruction/0x400950:Code_x86_64/0x40099d:Code_x86_64/0x40099d:Code_x86_64"><div><span data-token="indentation"> </span><span data-token="asm.mnemonic">add</span> <span data-token="asm.register">rbx</span>, <span data-token="asm.immediate-value">0x1</span> </div></div><span data-location-definition="/instruction/0x400950:Code_x86_64/0x40099d:Code_x86_64/0x4009a1:Code_x86_64"></span><div data-scope="asm.instruction" data-action-context-location="/instruction/0x400950:Code_x86_64/0x40099d:Code_x86_64/0x4009a1:Code_x86_64"><div><span data-token="indentation"> </span><span data-token="asm.mnemonic">cmp</span> <span data-token="asm.register">rbp</span>, <span data-token="asm.register">rbx</span> </div></div><span data-location-definition="/instruction/0x400950:Code_x86_64/0x40099d:Code_x86_64/0x4009a4:Code_x86_64"></span><div data-scope="asm.instruction" data-action-context-location="/instruction/0x400950:Code_x86_64/0x40099d:Code_x86_64/0x4009a4:Code_x86_64" data-location-references="/basic-block/0x400950:Code_x86_64/0x400990:Code_x86_64"><div><span data-token="indentation"> </span><span data-token="asm.mnemonic">j</span><span data-token="asm.mnemonic-suffix">ne</span> <span data-token="asm.label" data-location-references="/basic-block/0x400950:Code_x86_64/0x400990:Code_x86_64">bb_0x400990</span> </div></div></div> </body></foreignObject><rect width="218.400009" class="node-body" x="150.200012" y="1392.000000" rx="5" ry="5" height="130.000000"></rect><foreignObject width="186.000000" class="node-contents" x="-93.000000" y="1682.000000" height="262.500000"><body xmlns="http://www.w3.org/1999/xhtml"><div data-scope="asm.basic-block"><span data-location-definition="/basic-block/0x400950:Code_x86_64/0x4009a6:Code_x86_64" data-token="asm.label" data-action-context-location="/basic-block/0x400950:Code_x86_64/0x4009a6:Code_x86_64">bb_0x4009a6</span><span data-token="asm.label-indicator">:</span> <span data-location-definition="/instruction/0x400950:Code_x86_64/0x4009a6:Code_x86_64/0x4009a6:Code_x86_64"></span><div data-scope="asm.instruction" data-action-context-location="/instruction/0x400950:Code_x86_64/0x4009a6:Code_x86_64/0x4009a6:Code_x86_64"><div><span data-token="indentation"> </span><span data-token="asm.mnemonic">add</span> <span data-token="asm.register">rsp</span>, <span data-token="asm.immediate-value">0x8</span> </div></div><span data-location-definition="/instruction/0x400950:Code_x86_64/0x4009a6:Code_x86_64/0x4009aa:Code_x86_64"></span><div data-scope="asm.instruction" data-action-context-location="/instruction/0x400950:Code_x86_64/0x4009a6:Code_x86_64/0x4009aa:Code_x86_64"><div><span data-token="indentation"> </span><span data-token="asm.mnemonic">pop</span> <span data-token="asm.register">rbx</span> </div></div><span data-location-definition="/instruction/0x400950:Code_x86_64/0x4009a6:Code_x86_64/0x4009ab:Code_x86_64"></span><div data-scope="asm.instruction" data-action-context-location="/instruction/0x400950:Code_x86_64/0x4009a6:Code_x86_64/0x4009ab:Code_x86_64"><div><span data-token="indentation"> </span><span data-token="asm.mnemonic">pop</span> <span data-token="asm.register">rbp</span> </div></div><span data-location-definition="/instruction/0x400950:Code_x86_64/0x4009a6:Code_x86_64/0x4009ac:Code_x86_64"></span><div data-scope="asm.instruction" data-action-context-location="/instruction/0x400950:Code_x86_64/0x4009a6:Code_x86_64/0x4009ac:Code_x86_64"><div><span data-token="indentation"> </span><span data-token="asm.mnemonic">pop</span> <span data-token="asm.register">r12</span> </div></div><span data-location-definition="/instruction/0x400950:Code_x86_64/0x4009a6:Code_x86_64/0x4009ae:Code_x86_64"></span><div data-scope="asm.instruction" data-action-context-location="/instruction/0x400950:Code_x86_64/0x4009a6:Code_x86_64/0x4009ae:Code_x86_64"><div><span data-token="indentation"> </span><span data-token="asm.mnemonic">pop</span> <span data-token="asm.register">r13</span> </div></div><span data-location-definition="/instruction/0x400950:Code_x86_64/0x4009a6:Code_x86_64/0x4009b0:Code_x86_64"></span><div data-scope="asm.instruction" data-action-context-location="/instruction/0x400950:Code_x86_64/0x4009a6:Code_x86_64/0x4009b0:Code_x86_64"><div><span data-token="indentation"> </span><span data-token="asm.mnemonic">pop</span> <span data-token="asm.register">r14</span> </div></div><span data-location-definition="/instruction/0x400950:Code_x86_64/0x4009a6:Code_x86_64/0x4009b2:Code_x86_64"></span><div data-scope="asm.instruction" data-action-context-location="/instruction/0x400950:Code_x86_64/0x4009a6:Code_x86_64/0x4009b2:Code_x86_64"><div><span data-token="indentation"> </span><span data-token="asm.mnemonic">pop</span> <span data-token="asm.register">r15</span> </div></div><span data-location-definition="/instruction/0x400950:Code_x86_64/0x4009a6:Code_x86_64/0x4009b4:Code_x86_64"></span><div data-scope="asm.instruction" data-action-context-location="/instruction/0x400950:Code_x86_64/0x4009a6:Code_x86_64/0x4009b4:Code_x86_64" data-location-references=""><div><span data-token="indentation"> </span><span data-token="asm.mnemonic">ret</span> </div></div></div> </body></foreignObject><rect width="186.000000" class="node-body" x="-93.000000" y="1682.000000" rx="5" ry="5" height="262.500000"></rect><foreignObject width="54.000000" class="node-contents" x="164.636368" y="0.000000" height="54.000000"><body xmlns="http://www.w3.org/1999/xhtml"></body></foreignObject><rect width="54.000000" class="node-body" x="164.636368" y="0.000000" rx="5" ry="5" height="54.000000"></rect></svg>
Loading...